2D点群における円(楕円)の検出


14

すなわちポイント(2D)のセットを考えると、点群(PC)は、質問はについてですrobustaccurateそしてcomputing-friendlyこの方法は、(高度なバージョンまたは楕円)の円を見つけること。

直感的なアイデアは、可能な限りすべてのポイント(中心として){無限!}および半径(再び無限!)でブルートフォース検索を使用することです。これは非常に遅く、非効率的です。

以下に示すように、各適合円はnn、しきい値より短い距離で円周上に配置されたポイントの数()に基づいてランク付けされます(t)。したがってderr、平均距離を提示する必要があります。

高度な形式では、楕円が適合します。

アイデア、ブレインストーミング、経験、コメントはありますか? ここに画像の説明を入力してください


良い質問。その図を生成するためにどのプログラムを使用しましたか?
ジェイソンR

@JasonRいつものように、Python + MatPlotLib
開発者

回答:


14

この問題を正確に解決しようとする最良のアイデアは、ハフ変換です。

基本的に、ハフ空間の信号はr, x, y座標になります。ここr は半径をx,y表し、中心を表します。すべてのポイントは、1つまたは複数の円に属します。したがって、ハフ平面では、このポイントが属する可能性のあるすべての円を通過し、+ 1を行うだけです。これは検索ではなく、単なるコレクションです。

現在、実際の円が存在する場合、非常に多くのポイントが追加され、そのようなスコアはr, x, y他のすべてのスコアよりもはるかに高くなります。このような点を選択すると、正しい円を選択できます。

ここに、この概念を発明した1971年(私が生まれる前に!)に遡る古典的な論文があります。

  1. 画像内の線と曲線を検出するための高度な変形の使用By:Richard O. Duda、Peter E. Hart Tech report Artificial Intelligence Cente April 1971。

チュートリアルについては、以下の参照をお勧めします。

  1. HIPR2-リンク
  2. アモス・ストーキー
  3. IDLリファレンス

特に円の検出については、以下を参照できます。

  1. AIシャック
  2. シカゴ大学からの技術レポート
  3. ロチェスター研究所からの講義ノート

これらの方法は非常に効率的で、非常にコンピューターに優しいです。


1
AI Shackの記事を保証できます。他の場所で読むより厳密な数学を理解するのに役立ちます。
Ivo Flipse

1
いい答えです。私はすでにハフ変換(HT)に精通しています。私が使用したのは、線の検出用でした。線分を決定するのは少し困難でした。確率的ハフ変換(PHT)を使用することが推奨されました。拡張機能について明確なアイデアが得られませんでした。私はそれが円のためにとても複雑であるか、または他の困難に見えるかもしれないと思った。私の経験に関して、HTは良いですが完璧ではありません。HTを3Dに拡張する方法も心配です。提供されたリンクを確認します。あなたの答えは、答えとして候補になるのはかなり良いです。
開発者

リンクが死んでいるChicacoからAIシャック、および技術レポート
メフディ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.