![]() |
Выбор начальных центроидов K-средних Добрый день. Подскажите, пожалуйста, как лучше всего выбрать начальные центроиды для алгоритма K-средних? Задача такая. Есть картинка - фотография аэрофотосъемки. На ней может быть лес, дорога, речка, городские постройки и прочее. С целью сегментации я применяют к картинке алгоритм K-средних. В качестве данных могут быть цветовые характеристики пикселя из цветовой схемы HSV и некоторые текстурные признаки (например, энергия по гистограмме, энтропия и прочее). Пока я сделал чтобы начальные центроиды выбирались случайным образом. но при этом, если одну и ту-же картинку обработать повторно, то она сегментируется по разному, так как в следующий раз начальные значения центроидов уже другие. |
Я думаю, мало кто тут знает вообще что это за алгоритм |
[quote=SIMATIC;42805465]Я думаю, мало кто тут знает вообще что это за алгоритм[/quote] Он мгновенно ищется в инете. Остаётся только прочитать определение. К сожалению зачинщик совершенно ничего не сообщает, а что является элементами, каковые будут объединяться, какова цель. [quote=megabax;42804623]Подскажите, пожалуйста, как лучше всего выбрать начальные центроиды для алгоритма K-средних? [/quote][quote=megabax;42804623]Пока я сделал чтобы начальные центроиды выбирались случайным образом. но при этом, если одну и ту-же картинку обработать повторно, то она сегментируется по разному, так как в следующий раз начальные значения центроидов уже другие. [/quote] Это совершенно странно. Данные те же, а результат другой?[quote=megabax;42804623]Пока я сделал чтобы начальные центроиды выбирались случайным образом. [/quote] В определении алгоритма в начале выбирается пара ближайших точек. Так что он детерминирован, но сам процесс вычлинения кластеров отсутствуется. |
Ну да, другие, каждый раз в зависимость где начать. При большой выборке конечно, как на фото. Потому что принимается в расчет только среднее. И наперед заданное количество кластеров. Алгоритм предполагает что начальные центроиду блуждают в каждой итерации. а так как выборка большая и "равномерная" то решение множественное. Главное что будет сохняться средняя в кластере. Но может вам не то надо? Я просто не знаю что такое сегментация в вашем случае. Можен вам надо чтобы центроиды оставались где ткнули вначале, а менялся контур кластера именно вокруг этих фиксированных центроидов. Тогда это другой аглоритм. |
Правда тогда это уже не центроиды. |
2-x0577216 >[quote=x0577216;42811437]К сожалению зачинщик совершенно ничего не сообщает, а что является элементами, каковые будут объединяться, какова цель. [/quote] Цель сегментации - выделение контура. Контур нужен для того, чтобы по нему сопоставить две разные фотографии, сделанные через некоторый небольшой промежуток времени с беспилотника, чтобы определить, в какую сторону сместился онный. Это тема моей магистерской диссертации. Я полагаю, что выделение контуров посредством текстурно-тонвой сегментации (по фотометрическим признакам типа цвета и яркости и текстурным признакам типа различных статистических характеристик картинки) выделение контура будет более качественным, чем, допустим, если использовать алгоритм Кэнни и ему подобные. Основная проблема подобных алгоритмов - контур одного и того же объекта на следующей фотографии иногда довольно ощутимо отличается от первой. Планирую решить данную проблему. |
Сейчас я попробовал в качестве центроидов использовать экстремумы гистограммы распределения характеристик. Но пять же, K-средних для данной задачи выбирается 4 или 5, но экстремумов может быть и меньше. |
Вам сюда. [url]https://applitools.com[/url] вы им еще не конкурент, но можете быть. Тему выбрали на ура. |
Так это ж - экстримимумымы - зависят от данных, распределения. А количество вам требуемых кластеров разве не сами выбираете? Если напишете точнее что надо на емаил решаемо. |
[quote=megabax;42818928]Цель сегментации - выделение контура.[/quote] Контуров! [quote=megabax;42818928]Контур нужен для того, чтобы по нему сопоставить две разные фотографии, [/quote] Такое делается через корреляцию. Для ускорения обычно делают через БПФ. |
Текущее время: 01:06. Часовой пояс GMT +3. |