0

私は現在、カメラの位置を固定して、異なる日にシーンの複数の写真を撮るという実験に取り組んでいます。問題は、現実世界ではカメラを完全に固定しておくことが難しいことです。

私が必要とするのは、自動的に得られた小さな差異を修正することです。私が行った調査では、カメラの姿勢推定、ホモグラフィ推定など、より複雑な仮定を考慮した方法が返されました。私にとっては、x と y を返す画像平面での動きを発見するだけで十分です。完璧な解決策は、次のような関数です。

関数 [movx movy] = detectMotion(im1,im2)。

私がすでに行った解決策は、ハリスやヘシアンなどのいくつかの画像特徴を計算し、それらを一致させ、手動で最良のものを選択し、それらの位置の違いをカメラの変位推定として使用することでした。これで十分かどうかはわかりませんが、自動で作成された方がよいでしょう。

4

1 に答える 1

3

特徴点の周囲の特徴記述子を抽出して、特徴マッチングを自動的に行うことができます。SURF と FLANN を使用して特徴マッチングを実行する方法については、この OpenCV チュートリアルをご覧ください。特徴が一致したら、RANSAC または最小二乗法を実行して、x オフセットと y オフセットに最適なものを見つけます。これにより、カメラの動きを適切に推定できます。

もう 1 つのオプションは、2 つのフレーム間で検出された関心点でスパース オプティカル フローを計算し、その後、上記のように RANSAC または最小二乗手順を実行して、最適な x および y オフセットを計算することです。高密度のオプティカル フローはより正確になる可能性がありますが、同時にやり過ぎになる可能性もあります。

于 2013-07-25T11:06:31.983 に答える