輪郭の一致-輪郭の変位を見つける


16

同じオブジェクトの2つの画像で輪郭を見つけ、このオブジェクトの変位と回転を見つけたいです。私はこの輪郭の回転した境界ボックスとその角度と中心点を試しましたが、境界ボックスの回転は、角度a + 0、a + 90、a + 180などで同じであるため、輪郭の回転を正しく認識しません度。輪郭の回転と変位を見つける他の良い方法はありますか?たぶん凸包、凸欠陥のいくつかの使用?等高線のマッチングについてOpenCvの学習で読みましたが、助けにはなりませんでした。誰かが例を挙げることができますか?

例:

1 2 3 4

たとえば、ピンクの四角や、2番目のケースのペンを検出したい。他の例は、いくつかの穴や星などのある正方形です。私が言ったように、私はいくつかの普遍的なものを作りたいです。可能な限り多くのメソッドをテストしたいので、提案はありがたいです。


絵はここに役立つだろう
mirror2image

普遍的な機能を作りたいです。テスト画像は何でも構いません。長方形のような単純な形状の要素、またはもう少し複雑な形状。
krzych

2
さて、すべてのケースに単一の方法を適合させることはできません。実用的な方法は、コントラスト範囲、ノイズ推定、背景、形状自体に依存します-それは滑らかさ、トポロジなどです。だからこそ、画像が役立つでしょう。
mirror2image

回答:


4

輪郭間のスケールの違いを心配する必要がありますか?そうでない場合は、単純に各輪郭の重心を見つけ、一方を他方から減算することにより変位を計算できます。次に、等高線の主軸を計算し、それらの間の回転角度を見つけることができます。

スケーリングが関係する場合、対応する主軸の比率を取得することにより、スケール係数を計算できます。


はい、スケールも異なる場合があります。また、opencvのフリーマンチェーンに似たものを考えて、各輪郭のフリーマンチェーンを作成し、それらを比較して何らかの方法でトランスラトンを見つけようとしましたが、そのための良いアルゴリズムを見つけることはできません。
krzych

最小の回転境界ボックスを作成し、その回転と変位を取得するのと同じです。このアプローチを試みましたが、結果は満足のいくものではありません。したがって、この方法はまったく良くないと思います。
krzych

それがうまくいかなかった理由をもっと具体的に教えてください。輪郭は平行移動、回転、スケーリングによってのみ関連付けられていますか、それとも他の方法で変形できますか?いくつかの写真は本当に役立ちます。非アフィン変換またはランダムノイズを処理する必要がある場合は、シェイプコンテキストを試してください。お知らせください。いくつかの論文を紹介できます。
ディマ

それらは平行移動、回転、スケーリングによってのみ関係し、変形は異なる写真の小さな異なる輪郭検出に関連しています。コンテキストを形作りますか?これを拡大してもらえますか?
krzych

1
@kzychここでの最大の問題は、エッジ検出のノイズのようです。どのように最小回転ボックスを見つけるのですか?なぜそれがうまくいかないのか、私はまだはっきりしていません。形状コンテキストは、輪郭を表す方法です。詳細はこちら:en.wikipedia.org/wiki/Shape_context
Dima

2

スケールや射影の歪みを心配する必要がない場合は、チェーンコードが役立つことがあります。同じスケールでほぼ同じ形状のチェーンコードがある場合は、1次元FFT位相相関を使用した翻訳を見つけることができます http://en.wikipedia.org/wiki/Phase_correlation

射影の歪みを考慮する必要がある場合は、輪郭の代わりに特徴点(角など)を使用する可能性を検討することもできます。


良いチェーンコードを構築する方法について何かアドバイスはありますか?OpenCvから何かがあります(私が知る限り、フリーマンチェーンしかありません)?今のところ、各コンターポイントを使用してチェーンコードを構築し、隣接ポイントのx軸に対する角度を計算していますが、おそらくもっと良いアイデアがありますか?チェーンに関する優れた論文を参照している場合は、それを歓迎します。
krzych

2

あなたが言う質問で

私が言ったように、私はいくつかの普遍的なものを作りたいです

しかし、問題の「普遍的な」解決策を見つけることは非常に難しいと思います。

市販のパターンロケーターソフトウェアを購入してアプリケーションに統合することができます。通常は、幅広いアプリケーションで非常に優れたパフォーマンスを発揮します。あなたにアイデアを与えるために、これはそのような製品のリファレンスマニュアルですhttp://www.lmi3d.com/sites/default/files/support/4.2.0.70-hexsight_user_guide.pdf

また、特定のケース(画像内のペンなど)に応じたアドホックソリューションを開発できます。

それ以外の場合は、計算幾何学(http://www.cs.sunysb.edu/~algorith/files/shape-similarity.shtml)に根ざした非常に基本的な基礎から始めて、「輪郭」と呼ばれる問題を詳しく調べることができます「ポリゴン」、次のようなものを読む:

M. de Berg、O。Devillers、M。Kreveld、O。Schwarzkopf、およびM. Teillaud。 平行移動下の2つの凸多角形の最大オーバーラップを計算します。 理論的コンピューターサイエンス、31:613–628、1998

そして

H. Ahn、O。Cheong、C。Park、C。Shin、およびA. Vigneron。 剛体運動下での2つの平面凸セットの重なりを最大化する。計算幾何学:理論と応用、37:3–15、2007。

終わるマルクスウルリッヒによる「画像における化合物オブジェクトの階層リアルタイム認識」とのコラボレーションMVTec、物体認識ソフトウェアツールを販売する他のソフトハウス。

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