/ / Пошук подовжених кластерів за допомогою MATLAB - MATLAB, обробка зображень, машинного навчання, кластерний аналіз, сегментація зображень

Пошук довгастих кластерів за допомогою MATLAB - MATLAB, обробка зображень, машинного навчання, кластерний аналіз, сегментація зображень

Дозвольте мені пояснити, що я намагаюся зробити. У мене є сюжет зображення точок / пікселів у просторі RGB. Те, що я намагаюся зробити, це знайти видовжені кластери в цьому просторі. Я зовсім новий для кластеризації техніки, і, можливо, я не правильно займаюсь, я намагаюся скомпонувати, використовуючи вбудовані кластерні k-tools MATLAB, але це виглядає так, якби це не найкращий підхід у цьому випадку.

Що мені потрібно зробити, це знайти "кольорові кластери".

Це те, що я отримую після застосування K-засобів на зображенні. введіть опис зображення тут

Ось як виглядає так:

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

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

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

Чи може хто-небудь сказати мені, де я помиляюся, і що я можу зробити, щоб поліпшити свої результати?


Примітка. Вибачте за зображення з низькою роздільною здатністю, це найкраще, що у мене є.

Відповіді:

1 для відповіді № 1

k-means в основному передбачає кластериприблизно сферичний. У вашому випадку вони, безумовно, НЕ. Спробуйте підібрати гауссові для кожного кластера з несферичної матрицею коваріації. В принципі, ви будете дотримуватися тих самих кроків, що й максимізація очікування (EM), як у k-засобі, з єдиним винятком, що ви будете моделювати та встановлювати матрицю коваріації.

Ось схема для алгоритму

  1. init: призначте кожну точку довільно одному з k кластери
  2. Для кожної кластерної оцінки середня та коваріація
  3. Для кожної точки оцінити його ймовірність належати до кожного кластеру
    Зауважте, що така вірогідність базується не тільки на відстані до центру (середня), але також і від форми кластера, оскільки вона закодована матрицею коваріації
  4. повторюйте етапи 2 та 3 до сходження або до перевищення заданої кількості ітерацій

2 для відповіді № 2

Ви намагаєтесь повторити результати цього документа? Я б сказав, просто робити те, що вони зробили.

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

1) Так, ваші кластери не сферичні, а це єробиться припущення k-means. DBSCAN та MeanShift - це ще два поширені способи обробки таких даних, оскільки вони можуть обробляти не сферичні дані. Проте у ваших даних, як видається, є один великий центральний скупчення, який поширюється назовні у кількох кінцевих напрямках.

Для DBSCAN це означає, що все поставитьв один кластер, або все це власний кластер. Оскільки DBSCAN має припущення про рівномірну щільність і вимагає, щоб кластери були розділені деякою маржею.

MeanShift, ймовірно, буде труднощі, тому щовсе, здається, йде з одного центрального вузла, так що це буде область найвищої щільності, до якої точки перемістяться, і сходяться до одного великого кластера.

Моя порада полягає у зміні кольорових простору. У RGB є проблеми, і це припущення більшості алгоритмів роблятьймовірно, не затримається добре під цим. Який алгоритм кластеризації, який ви маєте використовувати, тоді, швидше за все, зміниться в різних функціональних просторах, але, сподіваюсь, це полегшить роботу.


1 для відповіді № 3

Подивись на щільність алгоритми кластеризації, такі як DBSCAN та MeanShift. Якщо ви робите це для сегментації, ви можете додати піксельні координати до своїх векторів.