Вадим П.
182 повідомлення
#16 років тому
Попробую объяснить задачу.
Есть фотография с изображением одного или нескольких людей в Битмапе.
Задача в том чтобы определить положение глаз человека (ну а потом уже подбородка и носа).
Понятное дело, сначала разбиваем весь битмап на пикселы, ну а потом как? находим одинаковые пикселы лежащие друг от друга на одном и том же расстоянии?
Может легче в ч/б переделать и найти положение глаз по более темным небольшим участкам лежащих поблизости друг от друга?

Подобное видел уже давно на myheritage.com (там загружается фотография пользователя, определяется с очень хорошей точностью глаза и другие части лица, и после ищутся похожие люди)

Прошу совета, кто как предполагает как это делается. Для меня важным остается определение глаз человека, дальше уже легче будет определить все остальное.
Максим Б.
2206 повідомлень
#16 років тому
Наврядли кто вам приведет готовый алгоритм. Советую гуглить на тему Flash photo recognition. Вот что нашел с первой же попытки
Максим Ф.
3195 повідомлень
#16 років тому
Один знаковый делал такую задачу. Основная идея у него была - перевод в ч/б и определение пятен.

ps: когда это начало работать... много мы чего определили... подсовывая фотографии деревьев, стен... забавно было
Тут М.
626 повідомлень
#16 років тому
Могу лишь посоветовать
Сам эту тему только изучаю.

PS. Если что - по теме есть еще книги.
Вадим П.
182 повідомлення
#16 років тому
Цитата ("Pixorama"):
Наврядли кто вам приведет готовый алгоритм

мне готовый алгоритм и не нужен, мне интересней его самому писать

Цитата ("AlekartRu"):
Один знаковый делал такую задачу. Основная идея у него была - перевод в ч/б и определение пятен.

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

Цитата ("Demiurh"):
Могу лишь посоветовать ]http://torrents.ru/forum/viewtopic.php?t=450131

спасибо большое, будем читать, этого хватит
Максим В.
289 повідомлень
#16 років тому
Сам в свое время занимался чем-то подобным довольно плотно.
Задача, действительно, непростая, и конкретного 100-процентного алгоритма никто не покажет.

Советую обратить внимание на методы определения характерных точек.
Если вкратце, то после прохода картинки каждая точка получает свой коэффициент, который зависит от ее "соседей" (например, зависимость от переходов яркости, цвета и т.п.) и вычисляется на основе некоторого функционала (есть готовые, но можно придумать самому).
Как правило, характерные точки типа глаз, носа, рта и т.п. сильно отличаются от остальных.
Из выбранных точек уже выбираются нужные.
Вадим П.
182 повідомлення
#16 років тому
Цитата ("pinions"):
Советую обратить внимание на методы определения характерных точек.
Если вкратце, то после прохода картинки каждая точка получает свой коэффициент, который зависит от ее "соседей" (например, зависимость от переходов яркости, цвета и т.п.) и вычисляется на основе некоторого функционала (есть готовые, но можно придумать самому).
Как правило, характерные точки типа глаз, носа, рта и т.п. сильно отличаются от остальных.
Из выбранных точек уже выбираются нужные.


Попробовал, сделал как вы посоветовали, столкнулся с такой проблемой, что попадаются фотографии разной яркости, в которых этот коэффициент нужно прибавлять либо убавлять... Только вот как определить яркость Битмапа...
вот что получилось, добавил в качестве теста самые разные фотки
С фотографией №5 думаю вообще проблем не будет, определим положение головы, затем ее наклон, потом ориентировочно положение глаз.
А вот в остальных либо яркость слишком большая, либо наоборот
Максим Б.
2206 повідомлень
#16 років тому
Ну ясное дело, что не любую фотку можно распознать. Для этого в подобных программах, есть "ручной" режим, когда пользователю дается возможность расставить маркеры для глаз и прочего самому.

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