ガウス混合モデルによる画像分割
画像は画素の配列として表わされる.画素は,強度(または色)を示すスカラー(またはベクトル)である.ガウス混合モデルは,画素を同じような切片に分割してさらに解析を行うために使われる.
In[1]:=

pic = ExampleData[{"TestImage", "Aerial"}]
Out[1]=

In[2]:=

pixels = Flatten[ImageData[pic]];
画素値の分布を可視化する.
完全なWolfram言語入力を表示する
Out[3]=

画素値を3要素のガウス混合モデルにフィットする.
In[4]:=

gmm = Quiet@
EstimatedDistribution[pixels,
MixtureDistribution[{p1, p2, p3}, {NormalDistribution[a1, a2],
NormalDistribution[b1, b2], NormalDistribution[c1, c2]}]];
最も可能性のある要素を持つ各画素に最大事後確率(MAP)の推定値のラベルを付ける.
In[5]:=

pxi = Table[PDF[dist, pixels], {dist, Last[gmm]}];
pxi = Transpose[pxi]/Total[pxi First[gmm]];
labels = ArrayReshape[Ordering[#, -1] & /@ pxi, ImageDimensions[pic]];
分割された画像を可視化し,それをもとの画像と比べる.
完全なWolfram言語入力を表示する
Out[6]=
