[解決済み] 平均シフトを用いた画像分割の説明
質問
Mean Shiftセグメンテーションが実際にどのように機能するのか、どなたか教えていただけませんか?
私が作成した8x8の行列です。
103 103 103 103 103 103 106 104
103 147 147 153 147 156 153 104
107 153 153 153 153 153 153 107
103 153 147 96 98 153 153 104
107 156 153 97 96 147 153 107
103 153 153 147 156 153 153 101
103 156 153 147 147 153 153 104
103 103 107 104 103 106 103 107
上のマトリックスを使って、Mean Shiftセグメンテーションがどのように3つの異なるレベルの数字を分離するかを説明することは可能でしょうか?
どのように解決するのですか?
まず基本的なこと。
平均シフトセグメンテーションは、局所的なオブジェクトのシェーディングまたはトーンの違いを減衰させるために非常に有用な局所的な均質化技術です。 多くの言葉を並べるよりも、例を挙げる方がよいでしょう。
アクション は、各ピクセルを、距離d以内の近傍範囲にあるピクセルの平均値で置き換えます。
Mean Shiftは通常3つの入力を必要とします。
- ピクセル間の距離を測定するための距離関数。通常はユークリッド距離ですが、他のよく定義された距離関数も使用できます。また マンハッタン 距離 は、時には別の便利な選択肢です。
- 半径を指定します。この半径内のすべてのピクセル(上記の距離に従って測定)が計算に含まれます。
- 値の差。半径 r 内のすべてのピクセルから、値がこの差の範囲内にあるものだけを取り出して平均値を計算します。
このアルゴリズムは境界でうまく定義されていないため、実装によって異なる結果が得られることに注意してください。
数学的な詳細については、StackOverflowにない適切な数学的表記法なしでは示すことができないため、ここでは説明しませんし、また、以下のサイトで見つけることができるためです。 の良いソースから見つけることができます。 .
行列の中心を見てみましょう。
153 153 153 153
147 96 98 153
153 97 96 147
153 153 147 156
半径と距離を適切に選択すると、4つの中心画素は97(平均)の値を取り、隣接する画素とは異なるものになります。
で計算してみましょう。 Mathematica . 実際の数値を表示するのではなく,色分けして表示するので,何が起こっているのかがわかりやすくなります.
あなたの行列の色分けは
次に、合理的なMean Shiftをとります。
MeanShiftFilter[a, 3, 3]
そして、得られます。
すべてのセンターエレメントが等しいところ(ちなみに97まで)。
より均質なカラーリングを得るために、Mean Shiftで数回反復することができます。数回の繰り返しの後、安定した非等方的な構成に到達します。
この時点で、Mean Shift を適用した後に得られる "colors" の数を選択できないことが明らかになったはずです。そこで、質問の2番目の部分である、それを行う方法を示しましょう。
出力クラスタの数をあらかじめ設定できるようにするために必要なのは、次のようなものです。 Kmeansクラスタリング .
行列に対してこのように実行されます。
b = ClusteringComponents[a, 3]
{{1, 1, 1, 1, 1, 1, 1, 1},
{1, 2, 2, 3, 2, 3, 3, 1},
{1, 3, 3, 3, 3, 3, 3, 1},
{1, 3, 2, 1, 1, 3, 3, 1},
{1, 3, 3, 1, 1, 2, 3, 1},
{1, 3, 3, 2, 3, 3, 3, 1},
{1, 3, 3, 2, 2, 3, 3, 1},
{1, 1, 1, 1, 1, 1, 1, 1}}
または
これは以前の結果と非常によく似ていますが、ご覧の通り、現在は3つの出力レベルしかありません。
HTH!
関連
-
[解決済み] アルゴリズム設計マニュアル』の解答はどこにあるのですか?[終了しました]
-
[解決済み] グラフにおいて最小容量が最大となる経路の探索
-
[解決済み] O(log n)とは具体的にどのような意味ですか?
-
[解決済み] div' コンテナに合わせて画像を自動リサイズするにはどうしたらいいですか?
-
[解決済み] div 内の画像を縦に並べる方法
-
[解決済み] Markdownで画像サイズを変更する
-
[解決済み] Bitmapオブジェクトに画像を読み込む際にOutOfMemoryが発生する問題
-
[解決済み】画像処理。コカ・コーラ缶」認識のためのアルゴリズム改良
-
[解決済み] 並べ換え→数→並べ換えの高速マッピングアルゴリズム
-
[解決済み] スペルチェッカーで候補を出すアルゴリズムとは?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】whileループの時間複雑性とは?
-
[解決済み] 最小スパニングツリーは負の重みを恐れているのか?
-
[解決済み] グラフにおいて最小容量が最大となる経路の探索
-
[解決済み] 定数時間や対数時間よりも、nやnlog(n)の方が良いのでしょうか?
-
[解決済み] このHeld-Karp TSP Pseudocodeの説明をお願いします。
-
[解決済み] ビッグシータ記法の証明
-
[解決済み] CLRSの相対的漸近成長に関する問題(表)の解き方について教えてください。
-
[解決済み] グラフの隣接リスト表現の空間複雑性
-
[解決済み] あるアルゴリズムの計算量がO(log log n)になる原因は何でしょうか?
-
[解決済み] クロスワードを生成するアルゴリズム[クローズド]について