Форум на Kuban.ru (http://forums.kuban.ru/)
-   Наука и техника (http://forums.kuban.ru/f1048/)
-   -   Выбор начальных центроидов K-средних (http://forums.kuban.ru/f1048/vybor_nachal-nyh_centroidov_k-srednih-7982348.html)

megabax 27.08.2016 13:01

Выбор начальных центроидов K-средних
 
Добрый день.
Подскажите, пожалуйста, как лучше всего выбрать начальные центроиды для алгоритма K-средних? Задача такая. Есть картинка - фотография аэрофотосъемки. На ней может быть лес, дорога, речка, городские постройки и прочее. С целью сегментации я применяют к картинке алгоритм K-средних. В качестве данных могут быть цветовые характеристики пикселя из цветовой схемы HSV и некоторые текстурные признаки (например, энергия по гистограмме, энтропия и прочее).
Пока я сделал чтобы начальные центроиды выбирались случайным образом. но при этом, если одну и ту-же картинку обработать повторно, то она сегментируется по разному, так как в следующий раз начальные значения центроидов уже другие.

simatic 27.08.2016 16:19

Я думаю, мало кто тут знает вообще что это за алгоритм

x0577216 29.08.2016 05:08

[quote=SIMATIC;42805465]Я думаю, мало кто тут знает вообще что это за алгоритм[/quote]
Он мгновенно ищется в инете. Остаётся только прочитать определение.

К сожалению зачинщик совершенно ничего не сообщает, а что является элементами, каковые будут объединяться, какова цель.
[quote=megabax;42804623]Подскажите, пожалуйста, как лучше всего выбрать начальные центроиды для алгоритма K-средних? [/quote][quote=megabax;42804623]Пока я сделал чтобы начальные центроиды выбирались случайным образом. но при этом, если одну и ту-же картинку обработать повторно, то она сегментируется по разному, так как в следующий раз начальные значения центроидов уже другие. [/quote]
Это совершенно странно. Данные те же, а результат другой?[quote=megabax;42804623]Пока я сделал чтобы начальные центроиды выбирались случайным образом. [/quote]
В определении алгоритма в начале выбирается пара ближайших точек. Так что он детерминирован, но сам процесс вычлинения кластеров отсутствуется.

Ekibastuz 30.08.2016 00:16

Ну да, другие, каждый раз в зависимость где начать. При большой выборке конечно, как на фото. Потому что принимается в расчет только среднее. И наперед заданное количество кластеров. Алгоритм предполагает что начальные центроиду блуждают в каждой итерации. а так как выборка большая и "равномерная" то решение множественное. Главное что будет сохняться средняя в кластере. Но может вам не то надо? Я просто не знаю что такое сегментация в вашем случае. Можен вам надо чтобы центроиды оставались где ткнули вначале, а менялся контур кластера именно вокруг этих фиксированных центроидов. Тогда это другой аглоритм.

Ekibastuz 30.08.2016 00:28

Правда тогда это уже не центроиды.

megabax 30.08.2016 11:27

2-x0577216 >[quote=x0577216;42811437]К сожалению зачинщик совершенно ничего не сообщает, а что является элементами, каковые будут объединяться, какова цель. [/quote]
Цель сегментации - выделение контура. Контур нужен для того, чтобы по нему сопоставить две разные фотографии, сделанные через некоторый небольшой промежуток времени с беспилотника, чтобы определить, в какую сторону сместился онный. Это тема моей магистерской диссертации.
Я полагаю, что выделение контуров посредством текстурно-тонвой сегментации (по фотометрическим признакам типа цвета и яркости и текстурным признакам типа различных статистических характеристик картинки) выделение контура будет более качественным, чем, допустим, если использовать алгоритм Кэнни и ему подобные. Основная проблема подобных алгоритмов - контур одного и того же объекта на следующей фотографии иногда довольно ощутимо отличается от первой. Планирую решить данную проблему.

megabax 30.08.2016 11:30

Сейчас я попробовал в качестве центроидов использовать экстремумы гистограммы распределения характеристик. Но пять же, K-средних для данной задачи выбирается 4 или 5, но экстремумов может быть и меньше.

Ekibastuz 30.08.2016 13:40

Вам сюда. [url]https://applitools.com[/url] вы им еще не конкурент, но можете быть. Тему выбрали на ура.

Ekibastuz 30.08.2016 14:34

Так это ж - экстримимумымы - зависят от данных, распределения. А количество вам требуемых кластеров разве не сами выбираете? Если напишете точнее что надо на емаил решаемо.

x0577216 30.08.2016 16:53

[quote=megabax;42818928]Цель сегментации - выделение контура.[/quote]
Контуров!
[quote=megabax;42818928]Контур нужен для того, чтобы по нему сопоставить две разные фотографии, [/quote]
Такое делается через корреляцию. Для ускорения обычно делают через БПФ.


Текущее время: 07:27. Часовой пояс GMT +3.