roboforum.ru

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


Прослеживание людей в кадре – вопросы и ответы

Прослеживание людей в кадре – вопросы и ответы

Сообщение EDV » 26 авг 2011, 22:40

Доброе утро.

Мне хотелось бы узнать на сколько реально сделать вот такую вещь с помощью OpenCV



При разрешение например 1024х768 и 25-30 fps.
Это возможно сделать без тормозов и лагов с помощью OpenCV.
И как с технологической точки зрения вы оцените такой проект по трудозатратам?
И приблизительное время разработки, если есть знания C#, C++...

C уважением,
Андрей

Начну по порядку:

Извлечение из картинки местоположения людей

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

Нашел следующее видео автора ролика, и я, похоже, был прав.
Это алгоритм из семейства “Foreground extraction”:



Прослеживание

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

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

>> И как с технологической точки зрения вы оцените такой проект по трудозатратам?

Сложно сказать, зависит от условий, в которых должен работать алгоритм
(исходная картинка с людьми - контраст, текстуры, освещение, угол съёмки).

>> И приблизительное время разработки, если есть знания C#, C++...

Нужно иметь достаточно солидный опыт работы с алгоритмами видеообработки,
что бы решить эту задачу (а не только знания C#, C++).

А возможно например сделать так:

Каждые 30 минут запрашивать новый фон, если в течение 2-5 секунд не меняется фон значит
это новая картинка для сравнения и если объект остается в объективе камеры больше 3 минут
в одном положение, то считать его фоном и сделать новый фон.

Ещё раз напомню, что всё зависит от начальных условий работы алгоритма.

Вас то, наверное, интересует автоматическая система видеонаблюдения
с прослеживанием людей гуляющих по улице. А тогда как можно в таких
условиях получить изображение фона? Попросить всех разойтись ненадолго?

Да и вообще, с фоном не всё так просто. Даже если в кадре ничего не происходит,
то изображение все равно от кадра к кадру изменяется (шум камеры, изменение освещённости).

Получается человека например в зеленой одежде в лесу будет невозможно распознать?

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

Соответственно для компьютера это практически невозможно, ну если конечно
компьютер не через тепловизионную камеру изображение просматривает (другие условия).

==========================================================================================================
Ну а теперь небольшое лирическое отступление
Посмотрел тут ещё видео о прослеживании людей, понравилось вот это, с “термоядерным синтезом” на спине :wink:



Похоже, у товарища в трусах источник быстрых нейтронов, совсем о здоровье не заботится :ROFL:

Аватара пользователя
EDV
 
Сообщения: 1016
Зарегистрирован: 06 июн 2007, 15:19
Откуда: Украина, Лисичанск
ФИО: Дмитрий Еремеев

Re: Прослеживание людей в кадре – вопросы и ответы

Сообщение avr123.nm.ru » 26 авг 2011, 22:48

Готовые проги есть ? Нужно чтоб координаты рамок или их центров выводила в COM порт.
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: Прослеживание людей в кадре – вопросы и ответы

Сообщение EDV » 26 авг 2011, 22:56

Готовые проги для чего?

Я же тут предыдущему товарищу пытался объяснить, что всё зависит от исходных условий
использования алгоритма (исходная картинка с людьми - контраст, текстуры, освещение, угол съёмки).

Такое пойдёт?

Аватара пользователя
EDV
 
Сообщения: 1016
Зарегистрирован: 06 июн 2007, 15:19
Откуда: Украина, Лисичанск
ФИО: Дмитрий Еремеев

Re: Прослеживание людей в кадре – вопросы и ответы

Сообщение avr123.nm.ru » 26 авг 2011, 23:12

Пойдет но мне нужны данные в COM чтобы внешнее устройство работало по ним.
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: Прослеживание людей в кадре – вопросы и ответы

Сообщение EDV » 26 авг 2011, 23:16

А какое устройство, если не секрет, пулемёт что ли? :crazy:
Аватара пользователя
EDV
 
Сообщения: 1016
Зарегистрирован: 06 июн 2007, 15:19
Откуда: Украина, Лисичанск
ФИО: Дмитрий Еремеев

Re: Прослеживание людей в кадре – вопросы и ответы

Сообщение avr123.nm.ru » 27 авг 2011, 08:01

Фотик.
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: Прослеживание людей в кадре – вопросы и ответы

Сообщение EDV » 27 авг 2011, 10:46

Допустим, программа найдёт в текущем кадре десять двигающихся объектов и передаст их координаты твоему фотику, и что ты делать будешь? Наверное, будешь «мгновенно» перемещать фотоаппаратом и фотографировать их всех по очереди? Если тебе сервер видеонаблюдения нужен, так он уже есть готовый, вот один из вариантов: «DVR Server plugin for RoboRealm».

Детекторы, которые в ролике выше продемонстрированы, я как раз для новой версии готовил, вот новый вариант документации.
:oops:
Аватара пользователя
EDV
 
Сообщения: 1016
Зарегистрирован: 06 июн 2007, 15:19
Откуда: Украина, Лисичанск
ФИО: Дмитрий Еремеев

Re: Прослеживание людей в кадре – вопросы и ответы

Сообщение Michael_K » 27 авг 2011, 11:13

Первому ролику сильно не хватает музыки из шоу Бенни Хилла :)
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Прослеживание людей в кадре – вопросы и ответы

Сообщение avr123.nm.ru » 27 авг 2011, 16:38

EDV писал(а):Допустим, программа найдёт в текущем кадре десять двигающихся объектов и передаст их координаты твоему фотику, и что ты делать будешь? Наверное, будешь «мгновенно» перемещать фотоаппаратом и фотографировать их всех по очереди?
Да по очереди в случайном порядке, а если будут выводится и площади (или "вес" ) рамок то ранжирую очередь по размерам.

Вы можете мне посоветовать ПО с детектором движения или людей или лиц и выводом координат в COM ?

ПО которое раздается на известном сайте с турелью стрелялкой я запустить не смог ни на ПК ни на ноуте. У меня оно просто не запускается. Не просит каких либо библ или установок.
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: Прослеживание людей в кадре – вопросы и ответы

Сообщение EDV » 27 авг 2011, 20:00

avr123.nm.ru писал(а):Вы можете мне посоветовать ПО с детектором движения или людей или лиц и выводом координат в COM ?

Может такой вариант устроит:



Лицо можно отслеживать с помощью «AVM Navigator plugin for RoboRealm» и передавать координаты в COM порт через модуль «Serial Communication».

Более подробно можно посмотреть в теме «Using of AVM plugin in RoboRealm».
Аватара пользователя
EDV
 
Сообщения: 1016
Зарегистрирован: 06 июн 2007, 15:19
Откуда: Украина, Лисичанск
ФИО: Дмитрий Еремеев

Re: Прослеживание людей в кадре – вопросы и ответы

Сообщение avr123.nm.ru » 27 авг 2011, 20:30

Огромное спасибо. Попробую разобраться.

А есть что-то без необходимости тренировки? Как я людей заставлю тренироваться? Они же мимо идут. Достаточно детектор движущихся объектов, не обязательно лица.
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: Прослеживание людей в кадре – вопросы и ответы

Сообщение EDV » 27 авг 2011, 21:15

Слушай, ну тебе же важно отработать сам принцип – наведение турели, захват цели, снимок. А для этого можно поэкспериментировать в начале с захватом изображения лица или другого заранее известного объекта.

Тут у меня уже товарищ Ben интересовался схожей задачей:
Is it possible to have the missile launcher track an object, and when centered on the object fire a shot?

Ben

Полностью статью можно здесь почитать: «Using of AVM plugin in RoboRealm».

Если с английским языком туго, то можешь у меня в этой теме спрашивать, я разъясню. Если с деньгами сложность за лицензионную копию RoboRealm, то пиши в личку, и участвуй в программе бета-тестинга модуля «AVM Navigator», к примеру как Scorpio с проектом Vanessa.
Аватара пользователя
EDV
 
Сообщения: 1016
Зарегистрирован: 06 июн 2007, 15:19
Откуда: Украина, Лисичанск
ФИО: Дмитрий Еремеев

Re: Прослеживание людей в кадре – вопросы и ответы

Сообщение avr123.nm.ru » 28 авг 2011, 00:16

Я в этом деле нуб, пытаюсь разобраться. Англ. отлично.

Если у вас будет вариант с выводом координат центров рамок распознавания БЕЗ ТРЕНИРОВКИ в COM то поделитесь пожалуйста тут или опубликуйте у себя на страничке. ИМХО это популярная и востребованная тема. Желательно чтобы был архив всего для инсталляции.

Добавка: а вот это видео с лицом - это прямо готовое ПО для самонаведения ракеты :D оператор наводчик обучает на мишень и запускает. :good:
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8


Вернуться в Алгоритмы

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6