1

以前に追跡したポイントで OpenCV calcOpticalFlowPyrLK 関数を使用してオプティカル フロー (OF) を計算しています。これは正常に機能します。ここで、相対的な深さ Z を取得しようとします。

このために、u と v に次の 2 つの式を使用しようとしました。

     (Tz*x - Tx*f)           (Tz*y - Ty*f)
u =  ______________      v = _____________
            Z                     Z

純粋な平行移動があると仮定しているため、方程式の回転部分を省略しました。Z について上記の両方の方程式を解き、前の OF 計算ステップから取得した値 (座標) i を使用して Z を計算しようとしました。

  • vars x,yi には、image1 の画像座標を使用しました。
  • u と vi については、OF 計算から取得したポイント i を使用しました -> image2 の追跡ポイント。
  • たとえば、x = 413、y = 210、u = 415、v = 210、Tx = -0.9、Ty = -0.176、Tz = -0.3846、f = 640 とします。

私の問題は、結果として 2 つの異なる Z 値を取得することです。私の意見では、深さは両方で等しくなければなりませんか?

問題を解決する方法についてさらに情報を検索し、パフォーマンス分析でFarnbackとLKを混合したと思われることを除いて、良い論文を見つけました。方程式 (4、ページ 4) の背後にある数学を理解する限り、行列表現のみで上記の方程式と同じです。上記の値でも解決しようとしましたが、結果として2x2マトリックスが得られました。4 つの Z 値をどうすればいいのかわからない?!

OFから正しいZ値(深さ)を取得できるように、誰かが間違っていることを説明し、正しい方向に案内してくれることを願っています。ありがとう!

4

0 に答える 0