Извлечение определенных областей в изображение для дальнейшей классификации - PullRequest
0 голосов
/ 10 февраля 2012

У меня есть ряд изображений (а также исходные источники данных), которые демонстрируют определенные особенности. Некоторые из них имеют четкие вертикальные / горизонтальные области, как показано на следующем рисунке, или просто «капли» / концентрации точек в очень специфических регионах.

enter image description here

Эти изображения связаны с определенными метками / классами, например, метка «А» демонстрирует очень характерные горизонтальные линии (подобные отмеченным на рисунке) при y = 700 и y = 150. Те изображения, которые принадлежат классу «B» ", показывать вертикальные линии при x = 200, 260 и 370, класс" C "... и т. д.

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

Моя цель - использовать эти известные классы для обучения некоторому алгоритму ML, чтобы в дальнейшем использовать его для классификации тех изображений, которые не имеют каких-либо меток. Я понимаю, что мне нужно как-то извлечь эти особенности (вертикальные / горизонтальные линии, пятна высокой плотности, которые обычно встречаются в верхнем правом углу изображения или в области (x, y) (250-400, 800). -1500) и тд). Затем мне нужно обучить некоторый алгоритм ML этим функциям, и только потом использовать обученную систему для классификации.

Я искал и играл с некоторыми инструментами в течение 3-4 дней (например, PIL, с различными методами размытия, сглаживания и обнаружения контуров, или гауссовыми классификаторами MDP и многими постами в стеке потока). Проблема в том, что я не могу получить четкую комбинацию «процесс решения + соответствующие инструменты».

Я был бы очень признателен, если бы кто-нибудь смог мне немного больше рассказать о методах извлечения этих очень специфических / странных функций из изображений (или даже оригинальных наборов данных) и / или используемых инструментах.

1 Ответ

0 голосов
/ 29 октября 2012

Я понимаю, что у вас есть векторы функций для ваших образцов (тренировочные данные).

Если это так, и вы ищете только реализацию алгоритма машинного обучения, я бы предложил вам использовать SVM со вспомогательной векторной машиной.Популярная реализация под названием SVM-light доступна бесплатно для вашего использования.http://svmlight.joachims.org/ Обратите внимание, что на вышеуказанном сайте реализована 2-классная реализация.Если вам нужен мультиклассовый SVM, вы можете получить его из http://svmlight.joachims.org/svm_multiclass.html

Еще несколько популярных классификаторов:

  • Классификатор ближайшего соседа
  • C4.5Деревья
  • Нейронные сети
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...