コンピュータビジョンアプリケーション:円をハフ変換の使用と最適化

より転載http://www.opencv.org.cn/forum.php?mod=viewthread&tid=34096

ラウンドアルゴリズム((HoughCircles)の概要と最適化を探し


    ノイズに対するHoughCircle点はあまり敏感であり、図中の同一の複数を識別することができる。利点:理論をハフ変換に基づくアルゴリズムを見つけるための円の内部に設けられたOpenCVのは、HoughCircle一般サークルフィッティングアルゴリズムが比較され、利点を有します。ラウンド;一方、フィッティング円アルゴリズム、簡単なフィッティング結果を簡単にノイズポイントの影響を受け、そしてより見つけることが円の中に入力をサポートしていません
短所:元ハフラウンド探し変換、計算コストが高いが、一見ラウンド場合半径制御されていないが、これは計算の膨大な量であるが、正確さを欠いている、ケース入力点で多くのノイズ、効果は、円を見つけることを見つけるはるかに嵌合する円であり、円はフィッティングに比べて、精度を向上させるために見つけるために、より多くの必要性より厳格な制御パラメータの要件も、貧しい全体的な安定性のためのパラメータ
    OpenCVのハフ変換でHoughCircles速度を向上させるために、いくつかの最適化を行うために、ラウンド探しに基づいて変換、それはもはやのためのパラメータ空間で完璧な円を描くではありません投票が、唯一の輪郭点における勾配ベクトルを算出し、検索の半径R Rにおける輪郭点の距離の各辺の傾斜方向から投与 。で最後の、模式的に示す図投票結果に応じて、中心位置
<ignore_js_op>  図1は、理想的な状況、1-6点7であった輪郭点の勾配方向である、従って、7ポイントの投票を与え同時に、8〜12ポイントも投票パラメータ空間の中心部に基づいて投票方法を決定するために見ることができますが、投票は、ほとんど全体の投票結果緩すぎる、ポイント7最高得点は、我々は、中心探しているものです干渉は、その天然の抗ジャミング能力のように、合法的に良いと一致する
が、2に示すように、この思考の最適化では、致命的な欠陥があります:
<ignore_js_op>  

現実は実際のポイントの勾配方向は、常に計算された誤差があるということです、図2不正確勾配方向は、実質的に無投票7時00分ではなくとして良い点ABC;時には画像上の理由または構造上の理由から、30度以上の偶数偏差からです。したがって、実際の使用の効果は、多くの場合、以下の通りであるとして、理想的なHoughCircleは想像もつかないです。
(図3における議決輪郭点への参加は、右、ノイズが非常に大きいあなたが自分自身を見つけるしたいプロファイルよりも、しかし、断続的で、この状況は明らかにNAフィッティングされた)
1を、半径制限が良くない、など図3に示すように、円ははるかにクラッタと見つけることができる
<ignore_js_op> <ignore_js_op>  
2を、この場合には、円の出力のみ(OpenCVの上にデフォルトHoughCircleは、投票結果の累積値に従ってソート)場合、これは最高の円であります、でもそんなに悪いこと
<ignore_js_op>  

3、私たちは、半径が制限され、半径の下で、今、私たちは少しの変化を知っている何か(+ 8%)を発見することを想定しています。これは、円の最前列をご覧ください。デフォルトで最高のラウンドを見てください。
<ignore_js_op> <ignore_js_op>  半径がほとんどない、または良いピットの父ああを閉じるように見えました。

この機能を使用する場合、ほぼ一致する円を見つけるすぎを回避するために、最小距離を見つける円は(そのような半径のより大きい1/5のような)適切な値に設けられている4.従来、見て複数のそのようラウンド時、あなたはあまりにも多くのラウンド重なって見つけることができません。しかし、ここで私は、以下の最小距離を制限しないようにしよう、いくつかの並べ替えの下で左のデフォルトのトップスコアのラウンドは:
<ignore_js_op> <ignore_js_op>  ほとんどのデフォルトのように見えます良いラウンドとで改善なし

    にこれを参照するには、関数の最初の使用の多くは、おそらくそれは効果をHoughCirclesがたではありません。私は、このアルゴリズムを使用して開始もOpenCVのは、あまりにも不安定提供を感じ、それだけで実行するのか分からない円を見つけるために、1つのグラフ、グラフまたは単にパラメータの変更1のために少し良く相対的な効果を思い出すことができますどこへ行く、とそんなに変わっします
    注意深い観察は、左の円のステップ4で、すでに恥ずかしがり屋の多くを見つけるために、前回よりも数多くの特定され、見ることができる、そしてので、より多くの丸い円がなければならない円は、私が検索したいものです、ただ従いますソート、スコアの下に大きな偏差の最高のラウンドを投票。
    右のサークルが、その最適化アルゴリズム自体、勾配プロファイルの位置決め精度は、センターの外に会員から評価されていた円の性質を知るために、(図2)低いたくさん間違っているだろうが、避けられないを見つけるために輪郭点が十分であればまた存在するが、得票数に応じてに依存することが多くなり評価するための方法をソートした後、それはまたに登場し、ちょうどここで少し最適化、評価方法の下の変更、最適化のソート結果に非常に近いことが
    < ignore_js_op>  これは最高のラウンドは方法を見つけることによってソート最適化である
    ため、我々はHoughCirclesによって同様のラウンドの数を見つけることができます。私たちは丸い探しているものを実際のプロファイルは、一般的には最高の円の円と一致を見つけるために(ステップ4)、円を描画し、それよりも実際のプロファイル、ソートを一致画素の実際の総数は、上記の図の結果として円上の最高得点!HoughCirclesは、それはまだ強制することです最適化!

おすすめ

転載: www.cnblogs.com/dmzxxmeng/p/11068897.html