1

Я знаю, что Gaussian mixture model является обобщением K-means и поэтому должен быть более точным.K-означает более точную, чем модель гауссовой смеси в определенных областях изображения

Но я не могу сказать, на кластерном изображение ниже, почему результаты, полученные с помощью K-means более точны в некоторых регионах (например, шум спекла, показанном в виде светло-голубых точек, сохраняющиеся в реке в Gaussian Mixture Model результатах, но не в K-means результатах) ,

Ниже matlab код для обоих методов:

% kmeans 
L1 = kmeans(X, 2, 'Replicates', 5); 
kmeansClusters = reshape(L1, [numRows numCols]); 
figure('name', 'Kmeans clustering') 
imshow(label2rgb(kmeansClusters)) 

% gaussian mixture model 
gmm = fitgmdist(X, 2); 
L2 = cluster(gmm, X); 
gmmClusters = reshape(L2, [numRows numCols]); 
figure('name', 'GMM clustering') 
imshow(label2rgb(gmmClusters)) 

И в следующем показаны исходное изображение, а также кластерные результаты:

Исходное изображение:

Original image

K-средства:

K-means clusters

гауссовой смеси Модель:

Gaussian Mixture Model

P.S: Я кластеризацию, используя информацию интенсивности в одиночку, а число кластеров 2 (т.е. воды и земли).

ответ

4

Я думаю, что это интересный вопрос/проблема, поэтому я немного поиграл.

Во-первых, предположение о том, что модель смеси Гаусса должна быть более точной, чем k-означает, не обязательно верна. У них разные предположения, и, хотя GMM более гибкий, нет правила, в котором говорится, что он всегда должен быть лучше, особенно с чем-то настолько субъективным, как класс изображения.

С кластером k-mean вы пытаетесь присвоить пиксели одному из двух ведер, чисто основанному на расстоянии от среднего или центра тяжести этого ковша. Если я посмотрю на спекл-шум в реке, значения будут находиться между двумя центроидами. Построение гистограммы изображения и накладывая позицию центроиды и спекл шума, я получаю это:

K-Means Centroids

Вы можете видеть, что спекл шум ближе к центроиду темного вещества (вода) , поэтому он присваивается водному ковшу. Это в основном то же самое, что и модель гауссовой смеси с равной дисперсией и равным весом.

Одним из преимуществ GMM является способность учитывать дисперсию двух категорий. Вместо того, чтобы просто находить две центроиды и рисовать линию между ними для разделения ваших категорий, GMM находит двух гауссиан, которые лучше всего подходят для ваших данных. Это действительно хороший пример, потому что вы можете четко видеть две доминирующие формы: ту, которая высокая и тощая, а одна короткая и широкая.Алгоритм GMM видит данные, как это:

Gaussian Mixture Model

Здесь вы можете увидеть, что спекл шум явно падает в широкой дисперсии земли PDF.

Другое отличие между k-средствами и GMM заключается в том, как пиксели группируются. В GMM два распределения используются для присвоения значения вероятности каждому пикселю, поэтому он нечеткий - он не говорит, что «этот пиксель определенно является землей», он говорит (например) «этот пиксель имеет 30% вероятность быть водой и 70% шансов быть землей », поэтому он назначает его как землю. В этом конкретном примере гистограмма воды очень плотная, поэтому она (неправильно в этом случае) решает, что очень маловероятно, чтобы этот спекл-шум фактически был водой.

+0

GMM более точно представляет данные, которые, как считается, априори имеют определенную форму, в то время как kmeans - это еще одна кластеризация. Нечеткая зона поставляется с точностью; в сочетании с приличным марковским случайным полем он обеспечивает превосходную кластеризацию. Это, конечно, если предположение верно. Ответ хороший ответ. – mainactual

+0

У меня есть небольшой технический вопрос («matlab- или связанный с вероятностью») о том, как вы это сделали, чтобы построить выделенные гауссовские дистрибутивы. Я знаю, что 'gmm.mu' и' gmm.Sigma' используются для получения «средней» и «матрицы ковариации» («дисперсии» каждого дистрибутива являются лишь его элементами). Предполагается, что нормальное распределение должно принимать значения между '[0, 1]' (как и каждый PDF), как вы растянули его график по оси y (умножается ли оно на максимальное значение гистограммы)? – h4k1m

+0

@Charbucks Еще один вопрос: как вы указали точное положение пятнышки на гистограмме? он расположен визуально по пикселям? – h4k1m