11

2つの画像があると仮定します。1つには、小さなアイコン(300X300ピクセル未満など)があります。2つ目は非常に大きいもので、アイコンの1つ(または複数)の小さいインスタンスがあります(もちろん、異なるスケール、回転で)。

手元のタスクは、大きな画像でアイコンのインスタンスを見つけることです。どうやってこれにアプローチしますか?

OpenCVライブラリを使用して、機能ベースのオブジェクト検出を使用しようとしましたが、混雑した大きな画像(多くの機能ポイントを含む)の場合、マッチングは決定的ではありません。私は、BRUTE/FLANマッチングアルゴリズムを使用してSURF/OBJ機能抽出機能を試しました。

私の経験から、マッチングは2つの画像の特徴点間の幾何学的関係を考慮していないようです。視覚化の助けとして、2つのサンプル画像の特徴点のインスタンスを添付しました。ここに画像の説明を入力してください

そして、これがタスクのより難しいインスタンスです。大きな画像でアイコンを強調表示しました。ここに画像の説明を入力してください

4

2 に答える 2

7

限られた経験に基づいて、このタイプの問題に遭遇した他の人のために3つの推奨事項があります。

1)MathieuLabbéによるFindObjectの実験

これは非常に優れたツールであり、機能の検出/説明のための設定の適切な組み合わせを見つけるためにすばやく実験するのに役立ちました。アイコンをオブジェクトとしてロードし、サンプルの大きな画像をシーンとしてロードするだけです。次に、アプリケーションで信頼できる結果が得られるまで微調整します。ボーナスとして、彼は最近、BRISKおよびFREAKの特許に抵触しない機能の検出/記述方法を追加しました。

2)現実的な解像度を得る

解像度は、検索している大きなシーンのアイコンオブジェクトと実際のアイコンで大きく異なります。私の理解では、これらのメソッドのスケール不変性は実際にはかなり制限されています。IevgenKhvedcheniaによって行われた優れた比較をチェックしてください。画像のサイズを予想する範囲の中央に変更すると、より良い結果が得られる場合があります。

3)アイコンのサンプル画像をよりリアルにします(たとえば、ぼやけた)

#2に関連して、より現実的なシーンで検索するときに非常に鮮明なサンプル画像を使用してもうまく機能しないことがわかりました。シャープなサンプルにガウス関数を適用して、期待するものに近づけます。以下に例があります。奇妙な式は、カーネルの次元が必要に応じて奇数であることを保証するだけです。

def proportional_gaussian(image):
    kernel_proportion = 0.005
    kernel_w = int(2.0 * round((image.shape[1]*kernel_proportion +1)/2.0)-1)
    kernel_h = int(2.0 * round((image.shape[0]kernel_proportion +1)/2.0)-1)
    return cv2.GaussianBlur(image, (kernel_w, kernel_h), 0)

それが誰かを助けることを願っています。

于 2013-02-12T13:10:04.307 に答える
3

機能マッチングのアプローチは問題ありません。色を使用できる場合は、前処理を使用してヒストグラムの逆投影などの関心領域を見つけ、続いてブロブ抽出といくつかの形状分析を行います。

大きな画像から小さな画像まで、すべての特徴を一致させる必要があります。これにより、インライアがほとんどない多くの一致が発生します。

アイコンは平面であるため、マッチの幾何学的な制約としてホモグラフィを使用できます。1行のコードを記述せずに、OpenCVソースのsamplesディレクトリにあるOpenCVサンプル「descriptor_extractor_matcher」を試すことができます。

./descriptor_extractor_matcher SURF SURF BruteForce NoneFilter icon.jpg image.jpg 3

詳細については、descriptor_extractor_matcherのヘルプ出力を参照してください。

画像の順序を変えてみてください。どちらがトレーニング画像で、どちらがクエリ画像か覚えていません。

この種の物体検出に関する論文は、DavidLoweによる「スケール不変キーポイントからの特徴的な画像の特徴」です。この論文のセクション7.3で、彼は非常に低いインライア/アウトライア比を処理する彼のアプローチについて説明しています。これはあなたの場合のようです。

幸運を!

于 2012-07-24T09:40:46.923 に答える