Rambler's Top100
 
Статьи
Сергей ОРЛОВ  13 мая 2019

Искусственный интеллект в видеоаналитике

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

Анализ видеоданных «умнеет»

Некогда одной из самых полезных функций в системах видеонаблюдения был детектор движения (Video Motion Detector, VMD). Его основные недостатки – невозможность сложного анализа видео и высокий уровень ложных тревог, хотя часто такие решения были лучше, чем пассивные инфракрасные детекторы движения, поскольку позволяли увидеть причину тревоги, да и анализировалось в этом случае именно то, что «наблюдает» камера. Со временем появились более совершенные реализации VMD, позволяющие различать движения человека, игнорируя дождь, снег или ветер и даже принимая во внимание перспективу.

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

Сегодня технические возможности позволяют записывать цифровое видео с качеством HD или 4K с сотен камер в течение недель, месяцев или даже лет. Но как найти кадры события или инцидента, если неизвестны в точности дата/время и камера? Просматривать весь отснятый материал или наблюдать за десятками видеоэкранов в реальном времени непрактично и неэффективно. Чтобы «найти иголку в стоге сена», нужны умные помощники.

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

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

Сейчас видеоаналитика получает все более широкое распространение. Помогли ей в этом платформы искусственного интеллекта и глубокого обучения. Глубокое обучение и сверхточные нейронные сети (Convolutional Neural Network, CNN), нацеленные на эффективное распознавание изображений, позволяют разработчикам перейти на следующий уровень, который сменит традиционную видеоаналитику. В обозримом будущем можно ожидать дальнейшего усложнения анализа изображений на основе метаданных.

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

Пришло время цифрового видео высокой четкости и быстрой интеллектуальной обработки видеоконтента. Уровень ошибок снизился с 25 до 16%, а затем и до менее 5%. Вычисления с использованием графических процессоров (GPU) ускорили процесс обучения нейронной сети с дней до минут.


Процент ошибок при классификации изображений в системах видеоанализа

Пользователи поверили в видеоаналитику. Это подтверждает рост отдельных сегментов рынка. Так, по данным J’son & Partners Consulting, в России активно расширяется использование технологии распознавания лиц. В 2015–2018 гг. она увеличила свою долю в общем объеме российского биометрического рынка почти до 50%, продемонстрировав рост на 106,7%.

Системы видеонаблюдения и глубокое обучение

Искусственный интеллект – способность машины имитировать интеллектуальное поведение человека – постепенно становился реальностью. Сегодня данное направление развивается экспоненциальными темпами и охватывает широкий спектр областей – распознавание речи, музыки (Shazam), «умные» помощники (Siri, Алиса и Google), самоуправляемые автомобили, идентификация лица (паспортный контроль, контроль доступа в смартфонах, банкоматах и т. д.), «умные» дома (Amazon Ring). Движущей силой такого развития стал прогресс в программировании и компьютерных технологиях, в частности, использование методов глубокого обучения.

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

При использовании глубокого обучения необработанные изображения передаются непосредственно программе, которая изучает их с помощью алгоритмов сверхточной нейронной сети. Вместо того, чтобы задействовать сотни настраиваемых параметров и различные справочные таблицы, аналитические алгоритмы учатся подобно тому, как учится человеческий мозг. Так же, как ребенок учится правильно идентифицировать и классифицировать различные фигуры и в итоге может их самостоятельно узнавать, система на основе CNN обучается распознавать и классифицировать объекты, а также учитывать контекст в форме метаданных. Благодаря постоянному обучению программа постепенно становится «умнее» и дает все более точные результаты. Для достижения наилучших результатов часто требуются сотни тысяч изображений и значительные вычислительные мощности.

Традиционное машинное обучение и глубокое обучение

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

Чем больше уровней, тем глубже сеть, тем лучше результат обучения

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

На борту, или «на берегу», или в облаке

Система видеоаналитики может быть реализована по-разному. Прежде всего, она может быть аппаратной, т.е. выполняться специализированным процессором FPGA (Field Programmable Gate Array), разработанным именно для анализа видео, или программной. При этом требования к производительности компьютеров могут сильно различаться, но функциональность такой системы легко обновляется.

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

Если анализ видеоданных выполняется на сервере, то для этой задачи нужно будет выделить весомую часть вычислительных ресурсов серверной системы. Максимальное количество потоковых каналов, которое сможет записывать сервер системы видеонаблюдения, будет меньше. Альтернатива – реализация в облаке, на рабочей станции-клиенте или на борту камеры.

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

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

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

Целесообразность и способ применения аналитики, встроенной в камеру, нужно оценивать для каждого конкретного случая, задачи или объекта, исходя из того, что могут предложить производители самих камер, разработчики средств видеоаналитики и ПО VMS (Video Management System).

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

На практике и в теории

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

С точки зрения правильности обнаружения возможны четыре ситуации:
  • True positive – объект обнаружен, тревога активирована;
  • True negative – объект не обнаружен, тревога не активирована;
  • False positive – объект отсутствует, но обнаружен, активирована ложная тревога;
  • False negative – объект присутствует, но не обнаружен, тревога не активирована.
Видеоанализ должен давать в основном результаты True positive. При слишком большом количестве ложных срабатываний сигналы тревоги в конце концов игнорируются. Важно также, насколько быстро событие или появление объекта обнаруживаются, особенно при анализе видео в реальном времени. Если учесть, что видеоаналитика работает с 25 или 30 кадрами в секунду, то теоретически самое малое время отклика составляет 40 мс (1/25 с). Среднее время реакции человека («глаз – мозг») – 200 мс. Максимальная задержка обнаружения события или объекта в системе видеонаблюдения с оператором не должна превышать 1–2 с. В разрабатываемом сейчас проекте стандарта IEC 62676-6 предполагается, что максимальное время обнаружения события в реальном времени должно составлять 1 с.

Независимо от того, какой объект наблюдается, общее эмпирическое правило состоит в следующем: чтобы можно было распознать детали объекта(ов), размер картинки должен быть не менее 30–50 пикселей. Например, для распознавания номера автомобиля высота изображения номерного знака должна быть не менее 30 пикселей, для идентификации лица требуемая высота изображения головы – 80–90 пикселей.

Сфера анализа видеоданных быстро развивается, но стандарты для нее уже существуют, в частности в Великобритании, Китае и Корее. Международная электротехническая комиссия (International Electrotechnical Commission, IEC) ведет работу над тем, чтобы свести эти стандарты воедино и добавить современные данные, которые будут приняты всеми в качестве международного стандарта. Таким стандартом должен стать IEC 62676-6 Video surveillance systems for use in security applications – Video content analytics – Performance testing and grading («Системы видеонаблюдения для использования в приложениях безопасности – Анализ видеоконтента – Тестирование и оценка производительности»). Пока остается немало ключевых моментов, которые предстоит согласовать, и для получения ощутимых результатов может потребоваться еще пара лет. Одна из целей -- обеспечить объективное и независимое тестирование производительности и эффективности систем анализа видеоконтента. Важно также иметь возможность передавать полученные результаты в другую часть системы видеонаблюдения с помощью совместимых протоколов на основе XML.

* * *

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

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

Сергей Орлов, независимый эксперт
Поделиться:
Заметили неточность или опечатку в тексте? Выделите её мышкой и нажмите: Ctrl + Enter. Спасибо!