Macroscop 15.03.2014

Поиск в архиве становится проще

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

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

Лицо - самый точный, индивидуальный критерий для поиска, позволяющий однозначно найти нужного человека. Однако для корректной работы модулей распознавания лиц предъявляются высокие требования к качеству записанного видео и условиям съемки: на степень распознавания влияет разрешение, частота кадров,  наклон камеры, освещенность и т.п.

Зачастую оператору известны приметы интересуемого человека – одежда, в которую он был одет; примерный рост или даже фотография (в случае, если человек уже попадал в поле зрения камеры). В связи с этим разработчики программного обеспечения и производители IP-камер с встроенным интеллектом предлагают инструмент поиска, позволяющий использовать известные данные – поиск по приметам человека: по  цветам одежды, образцу и росту.

Поиск по цвету и образцу

Первый вариант поиска по приметам: поиск в архиве по заданным цветам, фотографии или образу из записанного видеоархива.

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

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

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

Чтобы запустить поиск по цветам, оператору необходимо раскрасить шаблон человечка в соответствующие цвета.

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

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

 

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

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

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

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

Выделение примет объекта

Кадр с IP-камеры приходит на сервер в сжатом виде. Индексированию подвергается не каждый кадр, а лишь те, на которых присутствует движение. Далее происходит выделение маски -- области движущегося объекта. Возможны два варианта реализации механизма выделения цвета.

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

Аналогично для образца (фотографии или кадра из архива), по которому производится поиск, осуществляется кластеризация, присваиваются индексы. Далее идет их сравнение с индексами, содержащимися в базе. Объекты, чьи индексы совпадают, выдаются оператору.

Вариант 2. Программа не проводит классификацию, а просто ищет маски, соответствующие объекту "человек". Затем выделяется нижняя и верхняя часть маски (ноги и туловище), определяется один или несколько основных оттенков для частей, данные записываются. При поисковом запросе анализируются эти данные - если совпадает хотя бы один оттенок соответствующих частей, объект выдается в результаты.

Рис. 3. Программа ищет маски, соответствующие объекту "человек". Далее выделяется нижняя и верхняя часть маски (ноги и туловище)

Рис. 3. Программа ищет маски, соответствующие объекту "человек". 
Далее выделяется нижняя и верхняя часть маски (ноги и туловище)

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

Для образца, по которому осуществляется поиск, также производится деление на две части, затем выделение основных оттенков, сопоставление с данными объектов из архива.

Образцом для поиска может служить фотография или кадр из архива. Основное требование - четкое изображение человека, по которому будет осуществляться поиск. Дополнительно в программе можно удалить фон вокруг объекта (воспользоваться ластиком).

Адаптация под условия съемки

При обработке данных, поступающих с IP-видеокамеры, приходится учитывать влияние условий, в которых проводится съемка. Качество съемки зависит от степени освещенности, а также качества самой IP-камеры - нередко встречаются камеры, искажающие цвета. Для решения этих проблем программным обеспечением проводится постоянный динамический анализ видеопотока. Интеллектуальная система сама определяет ту или иную проблему и подстраивается под неидеальные условия - программе необходима всего пара минут для анализа состояния видео, приходящего с камеры, после чего в зависимости от проблемы производятся корректировки.

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

Сложности

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

1. Меняется освещенность, появляются цветные узоры, изображения на одежде, складки, тени, заломы ткани. Человек воспринимает цвет независимо от его освещенности или затенения. Однако реальные значения цвета в RGB могут в этом случае заметно отличаться.

2. Одежда человека или ее часть совпадает с фоном или приближена к нему по цвету.

3. Человек попадает в кадр частично или принимает нехарактерную позу - тяжело провести корректное распознавание и выделение объекта.

4. Человек отбрасывает тень - сложно корректно выделить маску, а значит, классифицировать объект и точно определить его оттенки.

Функции поиска по цвету также реализованы производителями IP-оборудования и встроены в интеллектуальные IP-камеры. Для осуществления поиска такой "умной" камерой пользователю необходимо задать в процентном соотношении содержание того или иного цвета. Цвет может служить как самостоятельным инструментом поиска, так и фильтром.

Поиск по росту

Поиск по росту человека или размеру объекта - на первый взгляд довольно однозначная задача в отличие от поиска по цвету. Если один и тот же оттенок разные люди воспринимают по-разному, то с ростом все однозначно: цифра есть цифра. При каком освещении не смотри, 1 м 70 см - это всегда 1 м 70 см. Но все сложнее, чем кажется.

Для корректной работы поиска систему необходимо откалибровать. Пользователь должен ввести параметры установки камеры: высоту установки, боковой и вертикальный углы наклона; внести соответствия между размерами изображений в кадре и в реальности. Эти параметры надо задать для нескольких объектов в кадре. Процедуру калибровки следует проводить для каждой камеры в системе, а также повторять даже при малейшем изменении расположения IP-камеры.

Для определения размера программа также обрабатывает маску движущегося объекта.

Сложности

В настоящий момент поиск по росту или размеру дает значительную погрешность результатов. Это обусловлено рядом сложностей:

1. Тщательная калибровка IP-камер системы - довольно сложная процедура, зачастую точную калибровку тяжело провести даже опытному специалисту.

2. Если человек в кадре отбрасывает тень или при ходьбе меняет позу, программа не всегда может точно определить его рост.

3. Тень человека, его поза, прическа, окружающий фон влияют на точность маски.

Функция поиска по росту (размеру) также реализована в IP-камерах. Эти параметры могут выступать как самостоятельным критерием поиска, так и фильтром. Для корректного определения размеров камеру необходимо откалибровать. Стоимость интеллектуальной IP-камеры варьируется от десятков до нескольких сотен тысяч рублей.

Обработка данных на GPU

Операции обработки поступающих видеоданных и дальнейшего поиска в архиве требуют значительных вычислительных мощностей. До настоящего времени для выполнения этих операций использовались ресурсы центрального процессора (CPU), но программистам пришла идея переноса части вычислений на графический процессор (GPU).

В последние годы произошел существенный технологический скачок в развитии графических процессоров. Использование в GPU параллельных технологий обработки данных и вычислений приближают его по возможностям к полноценному вычислительному устройству. Графический процессор устроен так, что большую его часть составляют вычислительные блоки, используемые для обработки данных, тогда как в центральном процессоре они занимают гораздо меньшую долю. Постоянное технологическая модернизация графических процессоров привела к тому, что GPU сначала сравнялся по вычислительной мощности с CPU, а затем опередил его. Поэтому у программистов, работающих над ПО для видеонаблюдения, родилась идея частичного переноса вычислительных операций с CPU на GPU.

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

Но при этом центральный процессор имеет значительное преимущество в работе с памятью (скорость обращения, произвольный доступ), поэтому простой перенос вычислений на GPU далеко не всегда дает преимущество в скорости. Так, обмен данными с GPU занимает значительное время. Таким образом, распределение работы между графическим и центральным процессором является нетривиальной задачей, требующей тщательной проработки.

Прогнозы и цели

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

  •  различие вариантов расположения объектов в кадре;
  •  многообразие фактур и цветовых оттенков
  •  влияние условий съемки.

Все это снижает эффективность поисковых программ.

В настоящее время рынок IP-видеонаблюдения предлагает решения поиска по приметам.

1. Поиск по цвету - инновационное предложение, позволяющее найти объект по цвету одежды, фотографии или загруженному из архива образцу. Решение представлено в программных продуктах и IP-камерах.

2. Поиск по росту - интеллектуальное решение для поиска объектов по росту и размеру. Решение представлено в программных продуктах и IP-камерах.

Уверенные шаги в создании и развитии программ поиска по приметам позволяют ставить разработчикам амбициозную цель - научить видеосистемы понимать человека. Искать объекты не по образцу, а по словесному описанию, визуальным особенностям (прическа человека, материал или фасон одежды, шрамы, родинки или татуировки), фотороботу преступника. Научить систему находить единственно нужного среди сотни похожих.

 

Коробков Александр Владимирович, директор по разработкам MACROSCOP