Кластеризация изображений с помощью неконтролируемого машинного обучения - PullRequest
0 голосов
/ 09 октября 2018

У меня есть база данных изображений, которая содержит удостоверения личности, счета и паспорта.
Я хочу классифицировать эти изображения по различным группам (то есть удостоверения личности, счета и паспорта).
Как я читал об этом, одинодним из способов выполнения этой задачи является кластеризация (поскольку она будет оставаться без присмотра).
Идея для меня заключается в следующем: кластеризация будет основываться на сходстве между изображениями (т. е. изображения, имеющие сходные функции, будут сгруппированывместе).
Я также знаю, что этот процесс может быть выполнен с помощью k-средних.
Так что проблема для меня заключается в функциях и использовании изображений с помощью K-средних.
Если кто-то делал это раньше,или у вас есть подсказка, пожалуйста, порекомендуйте несколько ссылок для начала или предложите какие-либо функции, которые могут быть полезны.

Ответы [ 2 ]

0 голосов
/ 10 октября 2018

Обозначьте несколько примеров и используйте классификацию.

Кластеризация с большой вероятностью даст вам кластеры "изображения с голубоватым оттенком", "сканирования в оттенках серого" и "теплую цветовую температуру".Это разумный способ кластеризации таких изображений.

Кроме того, k-means очень чувствителен к выбросам.И у вас, вероятно, есть некоторые из них.

Поскольку вы хотите , ваши кластеры соответствуют определенным человеческим понятиям, вам нужно использовать классификацию.

0 голосов
/ 09 октября 2018

Самый простой способ получить хорошие результаты - разбить проблему на две части:

  1. Получение функций из изображений : использование необработанных пикселей в качестве функцийдать вам плохие результаты.Передайте изображения через предварительно обученный CNN (вы можете получить несколько из них онлайн).Затем используйте последний слой CNN (непосредственно перед полностью подключенным) в качестве элементов изображения.
  2. Кластеризация объектов : получив богатые функции для каждого изображения, вы можете выполнять кластеризацию на них (как K-означает).

Я бы порекомендовал реализовать (используя уже реализованные) 1, 2 в Keras и Sklearn соответственно.

...