Видеокамеры умеют считать
Дата публикации: 29.03.2012

Арифметика от Спецлаб.

podschet.jpg


Один из вопросов пользователей по модулю Статистики GOALcity недавно обсуждался на нашем форуме, мы посчитали эту тему полезной и для других, т.к. она исходит из души самих пользователей. Публикуем с отбросом «приветственных» текстов:


AstudS: Поподробнее, пожалуйста, о подсчете лиц.


Admin: Все довольно просто: система подсчитывает количество лиц, прошедших мимо видеокамеры.


AlexTer: Система лучше аналогичных счетчиков, так как лучше подсчитывает групповой вход. В обычных системах с камерой наверху групповой вход просчитывается как единичный из-за слишком близкого расположения людей.


AstudS: Не вникну в сам процесс. Например: захват лица происходит 10 кадров в секунду, сколько раз будет подсчитано одно и то же лицо?

Какая погрешность?

Какие сравнения с аналогиями?

Какие сравнения с конкурентами?

...


Admin:

1. Спецлабовский детектор лиц имеет локальную идентификацию. Это значит, что пока человеческое лицо в зоне камеры, он хранит его один уникальный ID и соответственно подсчитывает его только один раз. Т.е. за один проход перед камерой длительностью от 0 до 120 секунд (задается пользователем) один и тот же человек будет посчитан только один раз.

2. Погрешность зависит от установки камеры и геометрии прохода. Из нашей практики при большой толпе надо ставить как можно шире угол камеры. Хотя многие считают наоборот, и тут, в том числе, были споры. Но в узком проходе один человек заслоняет другого. Важнее отлавливать людей сразу после прохода. Чем шире угол камеры, тем меньше погрешность! - проверено.

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

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


AstudS: Спасибо! Но яснее не становится. Можно я клещами потяну?

1. Что будет, если человек еще не прошел площадь камеры, но пару раз успел обернуться? Я, так поняв, у вас можно 120 секунд идти? Сколько раз его посчитают при оборачивании, поднесении руки к лицу и ...?

2. Сколько лиц одновременно в кадре обслуживаются одновременно?

3. Что будет, если одно лицо соприкасается с другим? Сколько лиц посчитается?

Thanks!


Admin:

1. Спецлабовский детектор лиц имеет адаптивную локальную идентификацию, т.е. это по сути распознавание лиц. Он может отличить одно лицо от другого. Если человек отвернулся и снова повернулся, то SL-Face распознает его уже присвоенный ему идентификатор. В общем, один и тот же человек за время гуляния в зоне камеры до 120 секунд будет иметь уникальный ID, даже если его лицо будет периодически пропадать из видимости.

2. Количество одновременно обрабатываемых лиц в кадре не ограничивается. Сколько будет найдено, столько и посчитается.

3. Соприкосновение лиц малосущественно, т.к. глаза, рот и нос все равно остаются у обоих видимыми. Допустимо даже закрытие одного из элементов. Т.е. детекция может работать при небольшом перекрытии лиц, например одно идет сзади.


AstudS: Хорошо, такой случай...

Человек вышел из кадра и снова зашел, а ваш период в 120 сек еще не вышел. Вы его уже не посчитаете?


Admin: Я, кажется понял, о чем речь. Если не то, поправьте. 120 сек. - это период хранения истории, и только.

За учет лиц отвечает совершенно другой алгоритм, который следит, в какой части кадра прошло пропадание, на какое время, и засекает другие специфические параметры. И вне зависимости от времени в кадре, этот алгоритм отвечает за повтор. Он настроен исходя из практических испытаний и довольно точно работает в проходах.

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

Но для проходов типа того, что указан на видеоролике, он работает очень точно. Это обычные двери, рамки металлодетекторов, СКД - вертушки и прочие места, где люди долго не стоят. А, если и стоят, то надолго не отворачиваются. Кроме того, в таких местах детекция лиц обычно заканчивается у обочины кадра - что верный признак завершения подсчета.

Естественно, погрешность может быть, но она ниже статистической. Тут надо изощриться, чтобы обмануть программу. А один «изощренец» погоды не сделает.


AstudS: Смешно! я насчет турникетов. Убойный вариант! Зачем только там считать людей? Надеюсь, другие ваши алгоритмы не настолько смешные.

Меня больше интересует, можно ли ограничивать историю ID по времени - меньше двух минут? Чтобы подстроится под мой конкретный вход в здание. Пожалуй, последний вопрос.


Admin: Да ничего смешного, уважаемый AstudS! С турникетов мы и начали. Для них и делались первые алгоритмы подсчета лиц. Если учет - субстанция статистическая, то контроль доступа - вполне проблемная и даже, не побоюсь этого слова, криминальная.

Клиентам в России бывает важно, чтобы по одной карточке или ключу не проходило двое. GOALcity умеет вычислять такие моменты двойных проходов путем подсчета реальных лиц в кадре.

Время отслеживания можно ограничить до 1. У вас есть выбор от 1 до 120 секунд.

Спасибо за шутку юмора!


AstudS: Хитро! Самый последний вопрос. Куда всё это выходит, где получать данные о прошедшем количестве лиц?

Или, может быть, может еще и машин?


Admin: Выходит всё на панель "Внимание!", уважаемый AstudS.

Начинает считать или с момента ее включения или с момента очистки. Вид окна подсчета может варьироваться.

И, Вы задали совершенно верный вопрос по поводу автомобилей. Нашей системе статистики нет разницы, чего считать. Хоть лица с помощью детектора лиц, хоть автомобили с помощью системы обнаружения и распознавания номера SL-Traffic, хоть с других прикладных видов детекторов.

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

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

Можно подсчитать все крупногабаритные цели или множественные.

Да, вообще, всё, что есть в спецлабовской видеоаналитике - всё можно посчитать.

Спасибо за продолжение темы!


AstudS: 30-й век!

Только я не понял все же, как получать данные. Пример: мне нужно считать людей с 11 до 14 каждый рабочий день и с 14 до 18 каждый выходной. Надо, чтобы каждый день кто-то подходил к вашей системе и обнулял счет? А в конце снова подходил и записывал данные? Не совсем удобно как-то! Не правда ли?


AlexTer: Ну да, хорошо бы иметь возможность построить что-то типа SQL запроса с критериями к базе, чтобы вывести в формат, типа CVS, результаты по количествам сработок детекторов в интересующие периоды.


Admin: Вы, как всегда, очень проницательны, уважаемый AlexTer! Именно так и сделано!

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

Вы можете строить в Excel любые таблицы и графики.

Спасибо за проницательность!

Надо к этому диалогу добавить, что вне зависимости от того, что показал числовой счетчик, каждый момент подсчета выводится как отдельный кадр на панель «Внимание!». Поэтому всегда можно и сверить точность статистики и безболезненно найти ее огрехи, если такие имеются. Исходя из сюжета в «неправильном» кадре легко сделать вывод, как подогнать настройки. Таким образом, статистика в GOALcity – это не что-то непредсказуемое, а вполне понятное и  объясняемое. За каждой цифрой стоит конкретный кадр видеозаписи!


Сколько в нашей стране своих да наших?
Теперь можно подсчитать!
Тестируем жесткую видеоаналитику.
Фирма «Элвис» представляет алгоритмы Orwell 2K.