Люди, подсчитывающие использование OpenCV

Я начинаю поиск для внедрения системы, которая должна учитывать поток людей в каком-либо месте.  Окончательная идея - иметь что-то вроде http://www.youtube.com/watch?v=u7N1MCBRdl0. Я работаю с OpenCv, чтобы начать его создавать, я читаю и изучаю. Но я хотел бы знать, может ли кто-нибудь дать мне некоторые подсказки для примеров кода, статей и всего, что может помочь мне быстрее справиться с моей сделкой.

Я начал с образца blobtrack.exe для изучения, но у меня были неплохие результаты.

Tks в совете.

Ответ 1

Обнаружение BLOB - это правильный способ сделать это, пока вы выбираете хорошие пороговые значения, и ваше освещение является четным и последовательным; но настоящая проблема здесь заключается в написании алгоритма отслеживания, который может отслеживать несколько блоков, устойчивых к отброшенным кадрам. В основном вы хотите назначить постоянные идентификаторы каждому блоку по нескольким кадрам, имея в виду, что из-за меняющихся условий освещения и из-за того, что люди идут очень близко друг к другу и/или пересекают пути, капли могут выпадать на несколько кадров, разбивать, и/или слияние.

Чтобы сделать это "правильно", вам нужен алгоритм определения нечетких идентификаторов, который устойчив к отброшенным кадрам (т.е. идентификатор blob остается и идеально предсказывает движение, если blob выпадает для кадра или двух). Вероятно, вы также захотите сохранить историю слияния и разбиения идентификаторов, так что, если два идентификатора сливаются в один, а затем один делится на два, вы можете повторно назначить отдельные объединенные идентификаторы к полученным двум блокам.

По моему опыту, хороший исходный пример openFrameworks openCv является хорошей отправной точкой.

Ответ 2

Я не буду считать это правильным ответом.

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

Ограничения:

  • Он не ведет себя хорошо на envirionaments, которые так сильно меняют фона.
  • Он должен быть настроен для каждого местоположения, которое вы будете использовать.

Преимущества:

  • Это быстро!

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

Вы можете проверить это на документе

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