9

ピクセル値に基づいてグレーレベル画像を分離しようとしています。1つのビンで0〜60、別のビンで60〜120、120〜180などのピクセルを255まで想定します。この場合、範囲はほぼ等間隔になります。場合。ただし、K-meansクラスタリングを使用することで、ピクセル値の範囲をより現実的に測定することができますか?ピクセルの集中度が低い場所でビンを無駄にせずに、同様のピクセルを一緒に取得しようとしています。

編集(得られた結果を含めるため): ここに画像の説明を入力してください ここに画像の説明を入力してください

k-クラスターがない場合の平均法=5

4

2 に答える 2

11

もちろん、K-Meansは色の量子化に使用できます。そのために非常に便利です。

Mathematicaの例を見てみましょう:

グレースケール(150x150)画像から始めます。

ここに画像の説明を入力してください

画像を8ビットで表すときにグレーレベルがいくつあるか見てみましょう。

ac = ImageData[ImageTake[i, All, All], "Byte"];
First@Dimensions@Tally@Flatten@ac
-> 234

Ok。それらの234レベルを減らしましょう。最初の試みは、アルゴリズムだけを使用して、デフォルト構成でクラスターがいくつあるかを判別することです。

ic = ClusteringComponents[Image@ac];
First@Dimensions@Tally@Flatten@ic 
-> 3

3つのクラスターを選択し、対応する画像は次のとおりです。

ここに画像の説明を入力してください

さて、それで問題ない場合、またはより多くのクラスターが必要な場合は、あなた次第です。

よりきめの細かい色分解が必要であると判断したとします。3つではなく6つのクラスターを求めましょう。

ic2 = ClusteringComponents[Image@ac, 6];
Image@ic2 // ImageAdjust  

結果:

ここに画像の説明を入力してください

各ビンで使用されるピクセル範囲は次のとおりです。

Table[{Min@#, Max@#} &@(Take[orig, {#[[1]]}, {#[[2]]}] & /@ 
    Position[clus, n]), {n, 1, 6}]
-> {{0, 11}, {12, 30}, {31, 52}, {53, 85}, {86, 134}, {135, 241}}

および各ビンのピクセル数:

Table[Count[Flatten@clus, i], {i, 6}]
-> {8906, 4400, 4261, 2850, 1363, 720}

したがって、答えは「はい」であり、それは簡単です。

編集

おそらくこれは、新しい例で何が間違っているのかを理解するのに役立ちます。

カラー画像をクラスター化し、クラスター番号を使用して明るさを表すと、次のようになります。

ここに画像の説明を入力してください

これは、クラスターが明るさの昇順で番号付けされていないためです。

しかし、各クラスターの平均輝度値を計算し、それを使用してクラスター値を表すと、次のようになります。

ここに画像の説明を入力してください

私の前の例では、それは必要ありませんでしたが、それは運が良かったです:D(つまり、クラスターは明るさの昇順で見つかりました)

于 2011-03-24T03:36:44.050 に答える
2

k-meansは問題に適用できます。私の場合、最初に決定木から借用した基本的なアプローチを試してみます(ただし、「より単純」は正確なクラスタリングアルゴリズムに依存します!)

1つのビンが存在すると仮定し、ピクセル強度をビンに詰め込み始めます。ビンが「十分にいっぱい」になったら、ビン(またはノード)の平均と標準偏差を計算します。標準偏差があるしきい値よりも大きい場合は、ノードを半分に分割します。すべての強度が完了するまでこのプロセスを続けると、より効率的なヒストグラムが得られます。

もちろん、この方法は追加の詳細で改善できます。

  1. 分割基準として尖度を使用することを検討してください。
  2. 歪度は、分割が発生する場所を判別するために使用される場合があります
  3. デシジョンツリーの土地に完全に侵入し、Jiniインデックスを借りて分割をガイドする場合があります(一部の分割手法は、tテストなどのより「エキゾチックな」統計に依存しています)。
  4. 最後に、最後の統合パスを実行して、人口がまばらなノードを折りたたむことができます。

もちろん、上記の「改善」をすべて適用した場合は、基本的にk-meansクラスタリングアルゴリズムの1つのバリエーションを実装したことになります;-)

注:上記のコメントには同意しません。説明する問題は、ヒストグラム均等化と密接に関連しているようには見えません。

于 2011-03-24T03:18:10.620 に答える