Особенности формы от canny edge detection
Я пытаюсь реализовать обнаружение Канни-края, найденное здесь Канни-края, чтобы дифференцировать объекты на основе их форм. Я хотел бы знать, каковы эти особенности? Мне нужно найти оценку / метрику, чтобы я мог определить вероятность из такой информации, как среднее значение фигуры. Цель состоит в том, чтобы различать объекты различной формы. Итак, предположим, что средняя форма(x) Объекта 1 и Объекта 2 равна x1,x2,а стандартное отклонение (s) - s1, s2 соответственно. От чего я это делаю вычислите эту информацию и как мне найти эту информацию?
1 ответ:
Алгоритм Кэнни-это детектор ребер. Он ищет высокие частоты в изображении, вычисляя величину производных в направлении x и Y. В конце у вас есть контуры объектов. То, что вы пытаетесь сделать, - это классифицировать объекты, и использование Canny не кажется правильным способом сделать это, я не говорю, что вы не можете построить объекты из ребер, но это может плохо работать.
Чтобы достичь желаемого, вам нужно сначала определить, какие функции важны для тебя. Вы упомянули форму, но является ли Цвет хорошей характеристикой для класса объектов, которые вы пытаетесь найти? Ваши фотографии показывают очень красочные объекты. Вы только пытаетесь отличить один объект от другого (учитывая, что изображения отображают только объект интереса) или вы хотите найти их на экране? Содержит ли изображение только один объект или несколько?
Я дам вам некоторые указания относительно моделирования объектов.
После того, как вы определитесь с важными признаками и смоделируете их, вы можете перейти к классификации (которая будет определять, какой объект вы видите с учетом определенного признака).
Если цвет-это надежная информация для ваших объектов, вы можете смоделировать свои объекты, используя информацию гистограммы, вычислить n ячеек для всех объектов и сохранить распределение ячеек в виде вектора объектов. Вы можете использовать HOG .
Другим возможным (наивным) решением является вычисление всех цветов патчей (например, 7x7), принадлежащих каждому объекту, а затем вычисление гистограммы по патчам вместо отдельных пикселей.
Если вы не удовлетворены информацией о цвете и вы хотели бы дифференцировать объекты, сравнивая информацию в их окрестности, вы можете использоватьлокальные бинарные паттерны , которых может быть достаточно для типа информации, которой вы обладаете.
Вероятностная структура пытается оценить заднюю часть вероятность P (X|C), то есть какова вероятность быть объектом X, учитывая, что мы наблюдали C (C может быть вашей особенностью), и это очень сильно. Вы можете прочитать о оценке максимального правдоподобия и максимальной апостериорной. Кроме того, наивный классификатор Байеса-это простой готовый алгоритм, доступный на Opencv, который вы можете использовать.
Вы можете использовать множество других алгоритмов, таких как SVM, Boost, деревья решений, нейронные сети и так далее. сумка визуальных слов также является хорошей альтернативой.
Если вам интересно, как отделить интересующий вас объект от фона, о котором вы говорите, вы можете посмотреть на методы K-Means или более мощно Graph Cuts. Конечно, вы всегда можете сначала сегментировать, а затем классифицировать сегментированные капли.
Самуэль