Wolfram 언어

확장된 확률 및 통계 기능

가우스 혼합 모델에 의한 이미지 분할

이미지는 픽셀의 배열로 표현됩니다. 화소는 강도 (또는 색상)를 나타내는 스칼라 (또는 벡터)입니다. 가우스 혼합 모델은 화소를 유사한 섹션으로 분할하여 추가적 분석을 위해 사용할 수 있습니다.

In[1]:=
Click for copyable input
pic = ExampleData[{"TestImage", "Aerial"}]
Out[1]=
In[2]:=
Click for copyable input
pixels = Flatten[ImageData[pic]];

화소값의 분포를 시각화합니다.

전체 Wolfram 언어 입력 표시하기
In[3]:=
Click for copyable input
Histogram[pixels, ImageSize -> Medium, PlotTheme -> "Detailed"]
Out[3]=

화소값을 세가지 요소의 가우스 혼합 모델에 맞춥니다.

In[4]:=
Click for copyable input
gmm = Quiet@ EstimatedDistribution[pixels, MixtureDistribution[{p1, p2, p3}, {NormalDistribution[a1, a2], NormalDistribution[b1, b2], NormalDistribution[c1, c2]}]];

가장 가능성이 있는 요소를 가진 각 화소에 최대 사후 확률 (MAP) 추정치의 라벨을 붙입니다.

In[5]:=
Click for copyable input
pxi = Table[PDF[dist, pixels], {dist, Last[gmm]}]; pxi = Transpose[pxi]/Total[pxi First[gmm]]; labels = ArrayReshape[Ordering[#, -1] & /@ pxi, ImageDimensions[pic]];

분할된 이미지를 시각화하고 그것을 원래의 이미지와 비교합니다.

전체 Wolfram 언어 입력 표시하기
In[6]:=
Click for copyable input
GraphicsRow[{Image[0.5 (labels - 1)], pic}, ImageSize -> Large]
Out[6]=

관련 예제

de en es fr ja pt-br ru zh