roboforum.ru

Технический форум по робототехнике.

Распознавание людей по лицам и одежде

Распознавание людей по лицам и одежде

ilya.petrov.m » 18 янв 2016, 01:11

Добрый вечер! Я интересуюсь распознаванием людей в видео. (Именно распознаванием, а не детекцией. Программа должна определять кто конкретно находится в кадре).

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

Планирую использовать OpenCV. В частности, насколько я понимаю, каскады Хаара и метод Виолы-Джонса может мне помочь в распознавании лиц. Про распознавание одежды видел пару статей.

Вы не могли бы подсказать, где можно найти готовые программы, распознающие лица или программы распознающие одежду?

Re: Распознавание людей по лицам и одежде

metric » 18 янв 2016, 01:34

например в исходниках opencv/samples/python/facedetect.py

Re: Распознавание людей по лицам и одежде

ilya.petrov.m » 19 янв 2016, 01:56

metric писал(а):например в исходниках opencv/samples/python/facedetect.py

Видимо, я не очень хорошо объяснил. Для меня существует две различные задачи: детекция (detection) и распознавание (recognition).
При детекции объекта 1 программа ищет 1 тип объекта в изображении. При распознавании 1 программа ищет сразу несколько типов объектов в изображении и умеет их различать.

Мне знакома программа facedetect.cpp из примеров OpenCV, но она только лишь определяет есть лицо в изображении или нет, а мне нужно именно находить разные лица и уметь их различать.

Re: Распознавание людей по лицам и одежде

metric » 19 янв 2016, 03:47

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

Re: Распознавание людей по лицам и одежде

ilya.petrov.m » 19 янв 2016, 11:23

Условия следующие: ориентировочное количество распознаваемых человек 2000.
Распознавание ведётся в любительских видеозаписях (качество картинки - 480p. лицо в среднем имеет размер в кадре: 15x15px).
Освещённость самая различная - от контровой съёмки до обычной. Требуется распознать хотябы 80% людей в видео.
К примеру (размер картинок не соответствует реальному разрешению видео):
http://img.youtube.com/vi/4nBk2M2bKJY/default.jpg
http://img.youtube.com/vi/MUp9rwJIHH8/default.jpg
http://img.youtube.com/vi/mYAJCiPPMzg/default.jpg

Re: Распознавание людей по лицам и одежде

Angel71 » 19 янв 2016, 11:55

15*15 пикселей, вы прикалываетесь? при таких размерах максимум определяется, что это человек/лицо/... или вы чудного бреда начитались про алгоритмы восстановления громадной картинки из пары пикселей?

Re: Распознавание людей по лицам и одежде

metric » 19 янв 2016, 12:08

в случае https://www.youtube.com/watch?v=4nBk2M2bKJY одни тени, можно выделить отдельные контуры людей, но распознать кто из них кто скорее - нет, при движении связь будет постоянно теряться.
https://www.youtube.com/watch?v=MUp9rwJIHH8 чуть лучше, можно трекать перемещения, но качество никакое.
https://www.youtube.com/watch?v=mYAJCiPPMzg тут можно поработать.

в целом 80% при таких записях это не реально, слишком плохое качество. можно сделать очень приблизительную разбивку по прическе/очкам/полу/росту/возрасту/одежде,пытаться трекать каждый объект, но дальше все равно вручную сортировать и проверять. объем небольшой, проще будет посадить студентов и вручную всех отсортировать, это будет быстрее :)

после просмотра роликов непонятен смысл в таком распознавании. какой результат хотите получить? возможно есть более простые решения...

Re: Распознавание людей по лицам и одежде

Angel71 » 19 янв 2016, 12:21

насколько я понял, это что-то на подобии вспомогательного софта, допустим для расследований. где можно распознать, распознаётся, а дальше по возможности трекинг, объединение информации с разных камер, коррекция информации о времени. допустим для нескольких (меньше 10) записей, длительностью до 1-2 часов и с участием нескольких сот человек вручную легко может затянуть на месяцы работы. пока нет или почти нет даже софта для объединения данных с различных камер, привязке к карте, построения сцены событий, проигрывания с отображением маркеров и пути движения объектов,... так что полностью ручная обработка не лучше, таки есть смысл пытаться софт пилить.
Последний раз редактировалось Angel71 19 янв 2016, 12:37, всего редактировалось 1 раз.

Re: Распознавание людей по лицам и одежде

metric » 19 янв 2016, 12:37

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

Re: Распознавание людей по лицам и одежде

Angel71 » 19 янв 2016, 12:47

в одиночку или нет, то такое. смотря что планируется создать. про расследования это предположение, может угадал, может нет. допустим угадал, тогда реально и одному пилить. не обязательно же прям всё и сразу. постепенно + может кто и подтянется. можно сначала что-то попроще для избавления от рутины, допустим просто привязка к карте, синхронизация видео от камер, возможность воспроизведения с одновременным выводом нескольких изображений,... потом, к примеру автоматический поиск подсказок, допустим кучу видео залито и по ним попытаться отследить перемещение человека в синей куртке. уже очень полезная софтина будет.

Re: Распознавание людей по лицам и одежде

ilya.petrov.m » 19 янв 2016, 12:51

metric писал(а):в случае https://www.youtube.com/watch?v=4nBk2M2bKJY одни тени, можно выделить отдельные контуры людей, но распознать кто из них кто скорее - нет, при движении связь будет постоянно теряться.
https://www.youtube.com/watch?v=MUp9rwJIHH8 чуть лучше, можно трекать перемещения, но качество никакое.
https://www.youtube.com/watch?v=mYAJCiPPMzg тут можно поработать.

в целом 80% при таких записях это не реально, слишком плохое качество. можно сделать очень приблизительную разбивку по прическе/очкам/полу/росту/возрасту/одежде,пытаться трекать каждый объект, но дальше все равно вручную сортировать и проверять. объем небольшой, проще будет посадить студентов и вручную всех отсортировать, это будет быстрее :)

после просмотра роликов непонятен смысл в таком распознавании. какой результат хотите получить? возможно есть более простые решения...

Распознавать я собираюсь для школьного видеоархива. Записей куча, а кто и где был записан довольно сложно искать.
Наверное, 80% людей во всех видео не удастся действительно распознать.
Но нужно обязательно детектировать людей, а затем программа как на Фейсбуке будет предлагать пользователям подписать найденных людей. Распознавание нужно для того чтобы предложить пользователю вариант подписи (как в том же Фейсбуке или в Пикасе).

Re: Распознавание людей по лицам и одежде

metric » 19 янв 2016, 13:20

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


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

Re: Распознавание людей по лицам и одежде

Angel71 » 19 янв 2016, 13:37

metric, когда будет, тогда и посмотрим, что получилось. код морально устаревает? это же не телефоны, которые выкидывают из-за потёртостей или из-за глупых "фи, какое у тебя старьё". ладно, не важно, ilya.petrov.m уточнил задачу и у неё в некоторых моментах значительные отличия.

Re: Распознавание людей по лицам и одежде

metric » 19 янв 2016, 13:46

ilya.petrov.m писал(а):Распознавать я собираюсь для школьного видеоархива. Записей куча, а кто и где был записан довольно сложно искать.
Наверное, 80% людей во всех видео не удастся действительно распознать.
Но нужно обязательно детектировать людей, а затем программа как на Фейсбуке будет предлагать пользователям подписать найденных людей. Распознавание нужно для того чтобы предложить пользователю вариант подписи (как в том же Фейсбуке или в Пикасе).


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

Добавлено спустя 3 минуты 57 секунд:
Angel71 писал(а):metric, когда будет, тогда и посмотрим, что получилось. код морально устаревает? это же не телефоны, которые выкидывают из-за потёртостей или из-за глупых "фи, какое у тебя старьё". ладно, не важно, ilya.petrov.m уточнил задачу и у неё в некоторых моментах значительные отличия.


код устаревает, и очень быстро. меняются api, либы, интерфейсы, платформы, появляются новые алгоритмы, мощности, конкуренты...

Re: Распознавание людей по лицам и одежде

ilya.petrov.m » 19 янв 2016, 13:58

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

Я правильно вас понял, что вы предлагаете сделать интерфейс, который будет как-то связываться с Пикассой? Я не представляю как сделать такой интерфейс.

metric писал(а):с видео вам помимо распознавания пришлось бы делать модуль перекодирования/дорисовки (не все же сразу заполнят данные)

Поясните, что вы имели в виду? Что именно мне бы пришлось дорисовывать?


cron
Rambler\'s Top100 Mail.ru counter