32

OpenCV リファレンス マニュアル (2.4.x) には、MSER を初期化するコンストラクターには次のパラメーターが必要であると記載されています。

delta、min_area、max_area、max_variation、min_diversity、max_evolution、area_threshold、min_margin、edge_blur_size。

グレースケール画像を扱っています。パラメータ「delta」、「max_variation」、「min_diversity」の用途は何ですか? これらのパラメーターが制御に役立つ MSER のプロパティはどれですか?

私はこれに対する正確な答えを見つけるために多くのことを試みましたが、次のページでほんの少しの情報しか見つけることができませんでした (これらの 3 つのパラメーターが何を制御するのかを正確に説明するのに特に役立つ情報はありませんでした): 1. OpenCV wiki 2.ウィキペディアMSER の説明 3. STackOverflow に関する MSER の質問

助けてください!

4

4 に答える 4

51

MSER 特徴検出の仕組みの基本を知っていることを前提としています (そうでない場合は、ウィキペディアと短い要約が続きます)。

正と負の 2 種類の MSER 領域があります。

最初のタイプでは、すべての強度でしきい値処理を行います (グレースケール イメージの場合は0まで255)。たとえば、しきい値の場合T = 100、強度を持つすべてのピクセルには または< 100が割り当てられ、すべてのピクセルの強度はまたはに割り当てられます。blackforeground>= 100whitebackground

ここで、特定のピクセルを観察していると想像してくださいp。あるしきい値で、それを と呼びましょう。T1フォアグラウンドに属し始め、 までそのままになりT=255ます。ピクセルはT1コンポーネントに属しますCC_T1(p)5グレー レベルは後でコンポーネントに属しますCC_(T1+5)(p)

すべてのしきい値について得られたこれらの連結成分はすべて、MSER の潜在的な候補です。black/foreground(しきい値設定のために myとwhite/background割り当てを逆にすると、他のタイプのコンポーネントが取得されます)。

パラメータは、潜在的な候補が実際に最大に安定しているかどうかを判断するのに役立ちます。

  • デルタ

    すべての地域について、変動が測定されます。

    V_T = (size(CC_T(p))-size(CC_{T-delta}(p)))/size(CC_{T-delta}(p))

    可能なすべてのしきい値に対してTi。ピクセルのこの変動が変動の局所的最小値、つまり である場合V_T < V_{T-1}V_T < V_{T+1}その領域は最大安定です。

    パラメータdeltaは、領域が最大に安定していると見なされるためには、領域が安定している必要がある異なるグレー レベルの数を示します。デルタが大きいほど、得られるリージョンは少なくなります

    注: MSER 領域を紹介する元の論文では、実際の式は次のとおりです。

    V_T = (size(CC_{T+delta}(p))-size(CC_{T-delta}(p)))/size(CC_T(p))

    OpenCV の実装では、わずかに異なる式を使用して特徴抽出を高速化しています。

  • 最小面積最大面積

    領域が最大限に安定している場合でも、 minAreaピクセル未満または maxArea ピクセルを超える場合は拒否できます。

  • 最大変動

    ポイント 1 からの変動に戻ります (デルタと同じ関数): 領域が最大限に安定している場合でも、領域の変動がmaxVariationよりも大きい場合は拒否できます。

    つまり、リージョンが「比較的」安定している (隣接するリージョンよりも安定している) 場合でも、「絶対に」十分に安定しているとは限りません。maxVariationが小さいほど、得られる領域が少なくなります

  • 最小多様性

    このパラメーターは、類似しすぎる領域 (たとえば、数ピクセルのみが異なる) を削除するために存在します。

    最大限に安定している領域CC_T1(p)についてCC_T2(p)、「親の最大限に安定した領域」である領域を見つけます。つまりT2 > T1CC_T2(p)は最大安定領域であり、最大安定領域は存在しませT2 > Tx > T1CC_Tx(p)。ここで、親がどれだけ大きいかを比較します。

    diversity = (size(CC_T2(p)) - size(CC_T1(p))) / size(CC_T1(p))

    これdiversitymaxDiversityより小さい場合は、領域を削除します。多様性が大きいほど、得られる地域は少なくなりますCC_T1(p)

    (このパラメーターの正確な式については、プログラム コードを掘り下げる必要がありました)

于 2013-09-04T12:57:31.073 に答える
12
  • デルタデルタ、コードでは、比較し (size_{i}-size_{i-delta})/size_{i-delta}ます。デフォルト 5。
    • MinAreaは、minArea より小さい領域を切り取ります。デフォルトは 60 です。
    • MaxAreaは maxArea より大きい領域を切り取ります。デフォルトは 14400 です。
    • MaxVariationは、領域をその子と同様のサイズにします。デフォルト 0.25
    • MinDiversityは、ダイバーシティ < min_diversity で mser を遮断するためにトレース バックします。デフォルトは 0.2 です。
    • カラー画像のMaxEvolution、進化のステップ。デフォルトは 200 です。
    • AreaThreshold再初期化を引き起こす領域のしきい値。デフォルトは 1.01 です。
    • MinMarginは小さすぎる余白を無視します。デフォルトは 0.003 です。
    • EdgeBlurSizeは、エッジ ブラーのアパーチャ サイズです。デフォルト 5。
    • マスク特徴を検出する必要がある領域をマークするオプションの入力マスク
于 2013-07-15T19:33:27.257 に答える
3

Matlab にはほぼ同じ機能の MSER があります。私の意見では、 Mathworksでは、これらのパラメーターの目的が非常によく説明されています。

あなたが求める 2 つの入力定義をコピーします (Matlab には、カラー画像用のオプションはありません)。

  • _delta . 強度しきい値レベル間のステップ サイズ。 'ThresholdDelta' と範囲内の数値 (0,100] で構成されるコンマ区切りのペアとして指定します。この値は、テスト中に極値領域を選択する際に使用される入力データ型範囲のパーセンテージとして表されます。安定性のために. この値を減らすと、より多くの領域が返されます. 通常の値の範囲は 0.8 から 4 です.

  • _max_variation . さまざまな強度しきい値における極値領域間の最大面積変動。 'MaxAreaVariation' と正のスカラー値で構成されるコンマ区切りのペアとして指定します。この値を大きくすると、より多くの領域が返されますが、安定性が低下する可能性があります。安定した領域は、さまざまな強度しきい値にわたってサイズが非常に似ています。一般的な値の範囲は 0.1 ~ 1.0 です。

ただし、ペネロペが言うように、元の論文はプロセス全体をより深く理解するのに非常に役立ちます。また、よく知られている特徴検出器間の非常に興味深い比較について、このリファレンスを提供します。

于 2016-09-25T16:25:19.550 に答える