画像でやってみた

画像から特徴点を見つけて、画像間で特徴点同士の対応づけを行ってみました。
特徴点はハリスオペレータで対応付けはテンプレートマッチングというオーソドックスな方法です。
最初にUSBカメラで曲がった紙の動画を撮って復元を試しましたが、うまくいきませんでした。
画像処理の部分がまだ適当すぎるのと、カメラのレンズ補正などの内部調整をやっていないのが大きな原因ぽいです。

実写画像で試すのはまだ無謀すぎた、ということでCGでポリゴンにテクスチャを貼り付けた画像を何枚か作って、それで試すことにしました。

こんな感じで、少し曲がったCGでテストします。


赤い点がハリスオペレータで検出した特徴点(色の変化が大きな箇所です)で、2枚の画像間の特徴点の対応付けは、特徴点を中心としたテンプレートマッチングで行います。

特徴点の追跡結果です。赤い点が最初のフレームでの特徴点です。対応付けのエラー処理など一切行っていないので、明らかに変な方向に追跡しているものがあります。

この結果をもとに因子分解法で復元した結果です。赤い点が復元した特徴点の3次元座標です。
緑点は特徴点を2次曲面でフィットさせた結果です。


横からみた結果。なんとなく合っているような気がしなくもない。

復元結果の明らかにおかしい、おおきく飛び出た点は、おそらく対応付けが失敗した点の部分ぽいです。
画像処理部分をもうちょっとしっかり作らないと駄目なようです。
また、特徴点の位置もピクセル単位ではなくて、補間を使ってサブピクセル精度で出すと良くなるかもしれません。
今回は、特徴点が出やすいようなテクスチャ画像だったけど、あまりテクスチャがない画像の場合には特徴点自体が抽出されないので大変そうだ。