画像特徴の検出とマッチングの目的


8

私は画像処理とコンピュータービジョンの新人なので、この質問はあなたには馬鹿げているかもしれません。

Harris、Hessian、SIFT、SURFなど、いくつかの特徴検出および記述アルゴリズムを学びました。画像を処理してそれらのキーポイントを見つけ、それぞれの記述子を計算します。記述子は、特徴照合に使用されます。

私はSIFTとSURFを試してみましたが、2つの画像(1つは回転して少しアフィンされている)の場合、それらは機能によく一致せず、ほぼ100の特徴点のうち10マッチは良いです。

だから私は思う

  1. これらの特徴検出アルゴリズムを実際に何に使用できますか?特徴の検出とマッチングのためのより堅牢なアルゴリズムはありますか?または、SIFTとSURFは既に良好ですが、さらに使用するために調整する必要がありますか?

  2. もう1つの問題は、これらのアルゴリズムは(マルチコアの実装を考慮せずに)リアルタイムアプリケーションには適していないと思いましたが、リアルタイムで機能し応答する商用製品(Kinectなど)があることです。これらの製品も、見たものから機能を検出して照合すると思いますが、SIFTなどのアルゴリズムを使用していますか?どのようにして機能をうまく検出できるでしょうか?

  3. 知識が限られているため、2つの画像で同じオブジェクトを見つけたり、ホモグラフィを推定したりするために機能マッチングを使用できることはわかっていますが、機能マッチングの他の目的はありますか?


おい!SIFT / SURFの実装に問題があると思います。どちらも10/100よりもはるかにうまく機能するはずです。画像や一致する結果をアップロードしてもよろしいですか?
ペネロペ2013年

@penelope、実際にはOpenCVのSIFT / SURFを使用しています。また、10/100よりもうまく機能するはずだと思います。多分、機能照合部分をより注意深く処理する必要があります;-)。
アボカド2013年

@penelope、ところで、それらはアフィンされた画像でうまく機能しますか?
アボカド2013年

そうそう。このペーパーをご覧ください。これは、いくつかの検出器の比較であり、アフィン変化、ぼやけ、照明、および他の多くのものに対する堅牢性を示しています。実際にはSIFTはありませんが、SIFTはこれらのどれと比較しても悪くないはずです。本日後半に、より詳細な回答を入力します。今度は時間がありません
ペネロペ2013年

回答:


9

画像キーポイントは、産業用および学術用の多くの画像およびビデオ処理ソフトウェアの重要な機能です。背後にある原則は常に同じです:

  • 一部の画像で意味のある点を検出します。
  • [オプション]各キーポイントを囲む画像部分の安定した説明を計算します。
  • 画像(テンプレート)のキーポイントを別の画像(クエリ)に一致させます。

では、もう少し詳しく説明します。

なぜポイントを検出するのですか?基本的に、ポイントは2つの線の交点であるためです。そのため、ラインまたはその他のフィーチャ(エリアなど)としてより正確に(そしてより安定した方法で)検出されます。これはコンピュータビジョンの常識であり、後にMikolajczykの論文で証明されました。これは、どの点検出器にも深く根付いています。たとえば、ハリス点検出器は、ヘッセ行列に依存して、2つの交差線があることを確認します。

説明部分がオプションなのはなぜですか?基本的な点検出器(Harris、SUSAN、Moravec、FAST)には記述子が付属していません。それらを照合するプロセスは、純粋にロケーションベースです。したがって、それらは主にビデオ処理に使用されます。直感の背後には、多くのポイントがあり、その後、ロバストな推定プロセス(たとえば、RANSAC)があるということです。ただし、最近のキーポイント(SIFTおよびその後のキーポイント)は、より複雑な状況(オブジェクト検出、大きなベースラインマッチングなど)で使用することを目的としているため、画像パッチ記述子を埋め込みます。

Harris / HessianとSIFT / SURFの違いは何ですか?記述子の一部のほか、SIFT / SURFはまた、ローカライズが含まスケールを。したがって、SIFT / SURFポイントを検出した場合は、画像がズームイン/ズームアウトされている場合などでも、そのポイントが再び見つかるはずです。

SIFとSURFの違いは何ですか?まあ、SURFは実際にはほとんどSIFTの近似バージョンであり、(積分画像を使用することによる)高速計算により適しています。その結果、SURFは、アフィン変換のもとでのSIFTほど安定ではありません(「良い」ほど)が、計算コストの1/10程度です。

リアルタイムソフトウェアに適していますか?はい、ハリスにとっては確かです。SURFは高速になるように設計されているため、適切な実装も高速である必要があります。SIFTは速度を考慮して設計されていませんが、GPU実装を見つけることができます。しかし、ローエンドのデバイスでも高速になりたい場合は、FAST(検出器)、BRIEF、ORB、BRISK、FREAK(バイナリ記述子)などの最近のポイントを確認する必要があります。

それらで何ができますか?まあ、多くのもの。ビデオ内のポイントを追跡することにより、それらを安定化し、オブジェクトでそれらを補強し、オブジェクトを追跡できます。カメラ間でポイントを一致させることにより、3D再構築パイプラインのキャリブレーションプロセスを自動化できます。オブジェクトのパーツ上のポイントを一致させることにより、オブジェクトを検出できます。そしておそらくはるかに...


この詳細な回答をありがとうございました。あなたが述べたように、直感の背後には、あなたは多くの多くのポイントを持つことができるということです、そしてロバスト推定法(例えば、RANSACが)、私は(例えばホモグラフィなど)ロバスト推定を行うことを考えて、機能記述子があるため、私の限られた知識から、不可欠です、推定には、特徴の一致に特徴記述子を必要とする特徴の対応が含まれます。または、特徴のマッチングなしの他の推定はありますか?
アボカド2013年

ビデオ処理では、たとえば25fpsがあり、これは2つのフレーム間の40ミリ秒を意味します。キーポイントはあまり移動せず、マッチングプロセスは空間的に最も近い隣のプロセスになります。ポイントが現れたり消えたりした場合は、RANSACがそれを処理することを期待します(これは、50%の良好なマッチングがある限り当てはまります)。また、記述子を追加しても、最近傍マッチングは終了しますが、空間空間ではなくフィーチャ空間で終了することにも注意してください。
sansuiso 2013年

いい答えだ。オブジェクトが剛体であり、基本的に2D(x、y、回転)+スケーリングで3自由度に制限されている場合、商用ソフトウェアパッケージには、特定のアプリケーションで非常にうまく機能する、いくつかの優れた「堅牢なパターンマッチング」アルゴリズムがあります。例には、Cognex、Hexavision、DALSA、およびMvTecのHalconのソフトウェアが含まれます。これらのアルゴリズムは、元の投稿者が望むほど一般化されていない可能性がありますが、剛体オブジェクトの場合は非常に堅牢です。
2013年

たぶんOCRも?
FindOutIslamNow 2018

2

まあ、それは@sansuisoのすばらしい回答です。そこで、検出されたキーポイントのさまざまな可能な使用法に集中し、いくつかの例を説明します。確かにもっと多くの用途があります、リストされているものは私が今までに連絡を取ったものに基づいています。

コンテンツベースの画像検索(CBIR)特徴(検出された点に特徴記述子を適用した後に得られる特徴ベクトル)を視覚的な単語として扱います。これらの視覚的な単語には、テキスト検索のために最初に導入されたバッグオブワード技術を適用します(Googleを考えてください)。私はここでそれについて非常に詳細な答えを出しまし(その中の参考文献も見てください)。これにより、次のことが可能になります。

  • データベースで類似の画像を見つける
  • データベースの画像全体で特定のオブジェクトの存在を検出する
  • 「クラスター化」し、データベースを自動的に編成する

( "粗い")画像ペアのホモグラフィ推定特徴を検出し、マッチングを行い、最もロバストな一致を選択し、それらの一致に基づいてホモグラフィを推定します。パフォーマンスを向上させるいくつかの手法があります。単に記述子を照合するだけでなく、空間情報も使用できます(たとえば、画像Aの近傍が画像Bの同じ近傍で一致しない場合、照合を拒否できます-手法の例この記事の最後に使用できる例:

  • 画像の合成 -たとえば、複数の「パノラマ画像」を1つの画像に接続する
  • 粗いポーズの推定 -これを、人間のナビゲーションに基づいて記録されたコースを介してロボット車を自動的にナビゲートしなければならないプロジェクトで使用しました。私たちが持っていた唯一の情報は、パスに沿って特定の距離で撮影された「重要な」画像でした。最初にCBIRを使用して最も近いキー画像を見つけ、次に現在のビューとデータベース画像の間の画像マッチングに基づいて初期の位置特定と位置決めを行いました。
  • ビデオの安定化 -ヘリコプターからカメラを吊り下げた状態で横断歩道の映像を撮影した非常に素晴らしい例を見ました。アイデアは、カメラの揺れを「無力化」することでした-そして最終的な結果は、非常に素晴らしく安定したビデオでした。

機能追跡自分ではあまり追跡していなかったため、これがどのように行われるかについてはあまり説明できませんが、これが役立つ場合の例をいくつか挙げることができます。目的は、関心のあるポイントをいくつか選択し、ビデオ内のフレーム間の位置を追跡することです。例(私が見た):

  • 次の交通標識:運転の助けになる可能性があります。たとえば、前方の道路の景色があり、ドライバーが処理済みの画像を取得できる場合、表示されている交通標識の位置を検出、マーク、追跡することは有用です。ドライバーの正面(標識の場所/距離、および意味をドライバーに警告している可能性があります)
  • 細かい位置確認と位置決め:上記のロボットカーの自動ナビゲーションと同じように、追跡された機能に基づいて細かい位置確認を行う方がはるかに正確でした。現在の位置を更新し、さらに動きを指示するために、特定の特徴がフレーム内で追跡され(マッチングは不要)、それらの特徴に基づいてホモグラフィが推定されました。

あなたがリンクされ、これらのアプリケーションをありがとう、そしてまた紙をして投稿してください。
アボカド

1

クエリに関する多くの情報を提供するWebサイトがあります。http//www.robots.ox.ac.uk/~vgg/research/affine/

これには、特徴検出器と記述子、それらの現在のパフォーマンス、およびどのシナリオでどれが最適かに関する情報が含まれています。

この分野にはまだ多くの課題があります。

たとえば、ステレオ再構成を行う場合、これらのアルゴリズムは通常、多視点画像の場合に失敗します。あなたはそれの何かを試すことができます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.