Идея о распознавании элементов на изображении

Просто сырая мысль без опоры на существующие методы.

Основная идея: если взять изображение и получить на нем все контуры и их расположения, то можно распознать все элементы, содержащие контуры.

Обычное изображение содержит миллионы пикселей, анализировать которые очень не так уж и просто. Поэтому необходимо как-то объединять небольшие наборы пикселей в определенные группы.
Как мне кажется, одна из интересных групп для объединения — это контур.
Контур — это граница между слияниями не очень похожих цветов изображения.

Пример получения контура из изображения.

1010069[1]

После объединения пикселей в контуры необходимо подвергнуть их анализу. Для начала я бы собрал все плавные линии.
Самые большие плавные линии образуют общий контур объекта (-ов) (рис. 2).

 

 

 

(Рис. 1)

cont_titled-1

(Рис. 2)

Чтобы распознать фигуру на изображении по контуру, необходимо знать расположение каждого контура относительно друг друга.
Например это изображение можно описать как: контур 1 находится левее контура 2. Оба контура соединяются или стремятся к соединению в верхней и нижней частях изображения. Оба контура похожи по длине. Правее контура два находится контур 3, которые так же стремится к соединению в верхней части изображения.

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

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

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

Теперь очертание лица будет находиться с большей вероятностью.

Описав множество изображений с помощью контуров, можно находить эти объекты на изображении.

В качестве алгоритма поиска можно использовать такой метод:

-Все описания помещаются в дерево описаний. Т.е. нужно сгруппировать похожие описания.

-Затем, находя относительное расположение контуров нужно постоянно уточнять расположение элементов поблизости.

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

Описывая какой-то объект можно включать в относительные отношения не только контуры, но и другие объекты.

Так, можно отдельно описать рот, глаза, нос и в первом описании просто ссылаться на описание этих объектов. Этот способ позволяет уточнять детали отдельных объектов, тем самым повышая качество распознавания других объектов.

1 comment for “Идея о распознавании элементов на изображении

  1. Михаил
    27.03.2013 at 12:15 дп

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

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *