krinkin / geology_deeplearning_osll

0 stars 0 forks source link

Разобраться с задачей кластеризации #14

Closed owlengineer closed 4 years ago

owlengineer commented 4 years ago

Задача

Необходимо сделать ревью известных алгоритмов и оценить, какой из них:

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

Что есть почитать сейчас: Хабр-Статья на базовое понимание кластерного анализа Блиц по самоорганизующимся картам Кохонена Блиц по самоорганизующимся картам Кохонена 2 (англ) Курс лекций mail.ru - в этом курсе много всего, но там есть лекции по анализу данных, в которых кластеризация тоже рассматривается

owlengineer commented 4 years ago

Разобраться с задачей кластеризации

didges commented 4 years ago

Просматривая документацию sklearn я нашел результаты многих алгоритмов на разных выборках. sphx_glr_plot_cluster_comparison_001 Самыми адекватными по-моему мнению являются:

Что еще можно почитать: Иерархическая кластеризация Статья на хабре про иерархическую кластеризацию Подробнее про DBSCAN Реализация алгоритма k-means (k-средних) на примере работы с пикселями(на C++)

SuperSolik commented 4 years ago

В библиотеке PyTorch имеются готовые модели для сегментации изображений, примеры их использования. Из этих моделей особенно интересует DeepLabV3 - модель от Google, вот обзорная статья. Модель можно обучить на своем датасете. Репозиторий со скриптами для обучения - в README есть ссылка на статью о том как это использовать, + в примерах модель обучается различать трещины на асфальте, что довольно схоже с тем что нам в теории надо будет делать.

Картинка работы модели из приведенного репозитория: sadsadasd

Оригинальная статья, если вдруг кому интересно

Имеются еще две архитектуры - U-Net и FusionNet, разработанные для медицины, но вполне могут использоваться для любых изображений. Репозиторий с реализованными архитектурами и пример использования.

Начальное изображение: image Полученное: image

Обзорная статья про U-Net, в конце статьи полезные ссылки.

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

NikulinNikitaDev commented 4 years ago