Поиск вытянутых кластеров с помощью MATLAB

Позвольте мне объяснить, что я пытаюсь сделать. У меня есть график точек/пикселей изображения в пространстве RGB. Что я пытаюсь сделать, так это найти удлиненные кластеры в этом пространстве. Я новичок в методах кластеризации и, возможно, я делаю что-то неправильно, я пытаюсь выполнить кластеризацию, используя встроенную кластеризацию k-средних в MATLAB, но кажется, что в данном случае это не лучший подход.

Что мне нужно сделать, так это найти «цветовые кластеры».

Это то, что я получаю после применения K-средних к изображению. введите здесь описание изображения

Вот как это должно выглядеть:

введите здесь описание изображения

для такого изображения:

введите здесь описание изображения

Может ли кто-нибудь сказать мне, где я ошибаюсь, и что я могу сделать, чтобы улучшить свои результаты?


Примечание. Извините за изображения с низким разрешением, это лучшее, что у меня есть.


person ffledgling    schedule 16.11.2013    source источник
comment
Если это поможет, я могу сослаться на слайды и код Matlab о различных методах кластеризации в Matlab.   -  person GilLevi    schedule 17.11.2013
comment
Конечно, я возьму то, что могу получить.   -  person ffledgling    schedule 17.11.2013
comment
Хорошо, пожалуйста, напишите мне: gil.levi100 на gmail.com, и я верну вам то, что у меня есть.   -  person GilLevi    schedule 17.11.2013


Ответы (3)


k-means в основном предполагает, что кластеры имеют приблизительно сферическую форму. В вашем случае точно НЕТ. Попробуйте подогнать гауссиану к каждому кластеру с несферической ковариационной матрицей. По сути, вы будете следовать тем же шагам максимизации ожидания (EM), что и в k-средних, за исключением того, что вы также будете моделировать и подбирать ковариационную матрицу.

Вот набросок алгоритма

  1. init: случайным образом назначить каждую точку одному из k кластеров.
  2. Для каждой кластерной оценки среднее значение и ковариация
  3. Для каждой точки оцените вероятность ее принадлежности к каждому кластеру
    обратите внимание, что эта вероятность основана не только на расстоянии до центра (среднее значение), но и на форме кластера, закодированной ковариационной матрицей.
  4. повторять этапы 2 и 3 до сходимости или до превышения заданного количества итераций
person Shai    schedule 16.11.2013

Вы пытаетесь воспроизвести результаты этой статьи? Я бы сказал, просто делайте то же, что и они.

Однако я добавлю, так как есть некоторые проблемы с текущими ответами.

1) Да, ваши кластеры не сферические - это предположение, которое делает k-средство. DBSCAN и MeanShift — еще два распространенных метода обработки таких данных, поскольку они могут обрабатывать несферические данные. Однако ваши данные, похоже, имеют один большой центральный сгусток, который распространяется наружу в нескольких конечных направлениях.

Для DBSCAN это означает, что он поместит все в один кластер или все будет в своем собственном кластере. Поскольку DBSCAN предполагает однородную плотность и требует, чтобы кластеры были разделены некоторым запасом.

У MeanShift, вероятно, возникнут трудности, потому что кажется, что все исходит из одного центрального куска, так что это будет область с наибольшей плотностью, к которой точки будут смещаться и сходятся в один большой кластер.

Мой совет - изменить цветовые пространства. У RGB есть проблемы, и предположения, которые делает большинство алгоритмов, вероятно, не будут работать при этом. Какой алгоритм кластеризации вы должны использовать, вероятно, изменится в другом пространстве функций, но, надеюсь, это облегчит решение проблемы.

person Raff.Edward    schedule 16.11.2013
comment
Это эта статья, которую я пытаюсь реализовать как часть другой статьи, но у меня серьезные трудности с пониманием того, что делают авторы. - person ffledgling; 17.11.2013
comment
То, что вы спросили, не то же самое, что написано в этой статье. Если у вас есть вопросы или части, которые вы не понимаете в документе, это будет другой набор вопросов. Знание предыстории также помогает, но статья довольно прямолинейна. Хотя точные значения используемых параметров не указаны, они дают пошаговую схему в разделе 3. - person Raff.Edward; 17.11.2013
comment
Кажется, тогда я неправильно истолковал статью, я думал, что раздел 3 был применен после получения ортогональных кластеров. - person ffledgling; 17.11.2013
comment
Вам следует поговорить с вашим консультантом, вам нужна помощь в обучении чтению документов и понимании необходимых знаний. В этой статье ничего не говорится об ортогональности, и ни один шаг нельзя описать как нахождение каких-либо компонентов, ортогональных друг другу. - person Raff.Edward; 17.11.2013
comment
1. Уточнение по поводу ортогональных кластеров, я имел в виду кластеры примерно ортогональные сферическим оболочкам. (Рис. 7.) 2. Мой консультант посоветовал мне использовать некоторую форму кластеризации K-средних для поиска удлиненных кластеров. :-/ - person ffledgling; 17.11.2013
comment
Ищите нового советника. Я ответил на вопрос, который вы задали. Если вы не понимаете, что происходит в газете, вам нужно больше, чем просто получить вопрос или два ответа. Если ваш консультант думал, что k-means собирается воспроизвести результаты статьи, то он либо 1) не читал ее, 2) ему все равно, либо 3) не знает, о чем говорит. - person Raff.Edward; 17.11.2013
comment
Верно. Спасибо за всю информацию. - person ffledgling; 17.11.2013
comment
@ Raff.Edward Я думаю, что ты слишком суров с начальником этого парня, хотя на самом деле у тебя не было с ним никаких контактов. Жестко так говорить о человеке, который так мало знает о деталях своего надзора. - person Shai; 17.11.2013
comment
@Шай Наверное. Я знаю только половину информации (даже не очень). Если принять его заявления за чистую монету - то есть проблема. Если его версия неверна, то это другая проблема. - person Raff.Edward; 17.11.2013
comment
@Raff.Edward если его версия верна... Это очень большое если, когда вы знаете максимум половину истории. Как бы вы себя чувствовали, если бы были начальником этого парня? Я действительно считаю, что ему нужно провести более тщательные обсуждения со своим профессором, но я бы отдал должное его профессору. - person Shai; 17.11.2013
comment
@ Рафф. Эдвард и Шай, вы оба немного резки, позвольте мне уточнить, машинное обучение и искусственный интеллект не являются областью специализации моего советника и не являются моей. У меня были обсуждения с моим консультантом, и он направлял меня, как мог. Если бы решить проблему, с которой я столкнулся, было так же просто, как поговорить с моим консультантом, поверьте мне, я бы сделал это давным-давно. - person ffledgling; 17.11.2013

Взгляните на алгоритмы кластеризации на основе плотности, такие как DBSCAN и MeanShift. Если вы делаете это для сегментации, вы можете добавить координаты пикселей к своим векторам.

person Don Reba    schedule 16.11.2013