2017-01-16 12 views
0

私は部屋の写真を2枚撮る必要があるアプリケーションを持っており、最初の写真のオブジェクトの1つが2枚目の写真に欠落しているかどうかを検出します。 OpenCVやその他のツールを使ってどうやったらできるのですか?画像比較を使用して欠けているオブジェクトを検出する

+0

これはあなたの考えるよりも難しいです。 – sascha

+1

両方の画像に同じPOVがありますか?あなたが探しているオブジェクトのテンプレートがありますか?オブジェクトの向きは常に同じですか?または、欠落しているオブジェクトをすべて探していますか? より完全な答えが必要な場合は、問題について詳しく説明しなければならないと思います。 – Soltius

+1

カメラ位置とイルミネーションが同じであれば、2つのフレームの差分を計算します。後で輪郭を見つけて欠けているオブジェクトの位置を取得するために使用できるバイナリマスクが得られます – ZdaR

答えて

1

対象オブジェクトがよく知られている構造、つまり拡張現実マーカである場合、このタスクは十分に記述されており、実装するのは簡単ではありません。欠落しているオブジェクトに関する先験的な知識がない場合は、2枚の写真を比較することができます。つまり、SIFTまたはSURFで行うことができるパノラマステッチングのようなものです(これらについてさらにお読みください)。オブジェクトがより複雑で、両方の画像が類似の視野で撮影されていて、欠けているオブジェクトのモデルが先験的に(すなわち、目的のオブジェクトの写真を持っていて、それだけを)知っている場合、SIFTまたはSURFは、先験的モデル画像と入力画像(欠けているオブジェクトを探したい場所)の両方でフィーチャを検出し、フィーチャマッチングを実行し、一致するフィーチャの最も密集したクラスタを探す(すなわち、粒子群最適化アルゴリズムを使用する)。あなたはこれがあらゆる場合にうまく機能せず、かなりの誤認を与えるかもしれないことに気づく必要があります。あらゆる側面から見えるオブジェクト、照明の違い、部分的なオクルージョンなどの外乱は、このモデルを簡単に破ります。 SIFTはスケール、平行移動、回転不変であるため、このアプローチでは画像のデワルピングを必要としません。

ディープラーニング(オブジェクト検出に関する科学論文を探す)を含む、より堅牢な方法がたくさんありますが、機能の一致を持つものが最初に試してみるのが最も簡単なようです。

関連する問題