РАЗРАБОТКА МОДУЛЯ ОТСЛЕЖИВАНИЯ ЛЮДЕЙ В ВИДЕОПОТОКЕ ДЛЯ СИСТЕМЫ ВИДЕОАНАЛИТИКИ
|
Введение 3
1 Разработка алгоритма отслеживания 5
1.1 Обзор существующих подходов к задаче отслеживания 5
1.2 Анализ требований 7
1.3 Модель выделения признаков 8
1.4 Алгоритм внутрикамерного отслеживания 15
1.5 Алгоритм межкамерного отслеживания 21
1.6 Измерение качества алгоритма 22
2 Разработка модуля обработки видео источника 28
2.1 Анализ требований 28
2.2 Модель предметной области 29
2.3 Технологии, инструменты 30
2.4 Проектирование и разработка приложения 36
2.5 Итог. Полный поток обработки 41
Заключение 46
Список использованной литературы 48
1 Разработка алгоритма отслеживания 5
1.1 Обзор существующих подходов к задаче отслеживания 5
1.2 Анализ требований 7
1.3 Модель выделения признаков 8
1.4 Алгоритм внутрикамерного отслеживания 15
1.5 Алгоритм межкамерного отслеживания 21
1.6 Измерение качества алгоритма 22
2 Разработка модуля обработки видео источника 28
2.1 Анализ требований 28
2.2 Модель предметной области 29
2.3 Технологии, инструменты 30
2.4 Проектирование и разработка приложения 36
2.5 Итог. Полный поток обработки 41
Заключение 46
Список использованной литературы 48
Многие проблемы и вызовы современного мира могут получить свои решения из сферы интеллектуального видео наблюдения. Примером могут быть и такие классические проблемы как контроль доступа на территорию, мониторинг производственных процессов, контроль соблюдения техники безопасности, подсчет посетителей и измерение конверсии в торговых залах, и вызовы, возникшие в последнее время: контроль за использованием индивидуальных средств защиты и соблюдения безопасной социальной дистанции.
Согласно данным, агрегированным порталом Techportal.ru[1], среднегодовой рост рынка видеонаблюдения до 2025 года может составить около 15%, а общая оценка этого рынка к 2025 году может достигнуть 87,3 млрд. долларов США. Подобный рост определяет востребованность решений на основе интеллектуальной видеоаналитики.
Одной из ключевых проблем, появляющихся при обработке и анализе видео от систем наблюдения для ситуаций, связанных с поведением людей (например, подсчет уникальных посетителей, оценка длины очереди на кассе, расчёт тепловой карты интенсивности движения), является отслеживание перемещения людей, как в границах кадра одной камеры, так и в контексте некоторого набора камер из одной системы наблюдения. Сложность этой проблемы связана со значительными различиями в облике людей в типичной сцене: изменения в освещении, ракурсе, фоне, степени заслоненности или обрезанности силуэта, гибкие деформации, а также различные позы - всё это затрудняет успешное отслеживание. Любой продукт, нацеленный на решение таких бизнес-ситуаций, требует разработки эффективного подхода к внутри- и межкамерному трекингу людей.
Данная работа написана на основе работы автора над разработкой такого подхода в контексте прохождения практики в компании «Битворкс». Компания «Битворкс» разрабатывает продукт, предоставляющий видеоаналитику ориентировочно для ситуаций, встречающихся в розничной торговле, под названием «Motion Insights» (далее MI). Система MI имеет возможность извлекать из предоставленных видеоданных полезную для управления торговой точкой информацию, с возможностью адаптации под схожие цели и ситуации, за счёт того, что специфичные для конкретной ситуации высокоуровневые события в системе - такие, например, как «вход вернувшегося посетителя» - создаются на основе базовой универсально применимой информации, каковой являются траектории людей из видеофрагментов.
Таким образом, целью данной работы стала разработка алгоритма внутрикамерного трекинга людей, предназначенному для использования в модуле извлечения первичной информации из видео системы MI, разработка модуля, имплементирующего алгоритм отслеживания в контексте системы MI, а также работа над подходом к межкамерному трекингу людей, который будет использоваться в модуле обработки первичной информации системы MI.
Для достижения этих целей потребуется выполнить следующие задачи:
1) сделать обзор существующих в публикациях подходов к отслеживанию;
2) выбрать подход к отслеживанию и разработать алгоритм;
3) определить тестовые метрики и данные, измерить эффективность алгоритма;
4) спроектировать и разработать модуль для системы MI.
Согласно данным, агрегированным порталом Techportal.ru[1], среднегодовой рост рынка видеонаблюдения до 2025 года может составить около 15%, а общая оценка этого рынка к 2025 году может достигнуть 87,3 млрд. долларов США. Подобный рост определяет востребованность решений на основе интеллектуальной видеоаналитики.
Одной из ключевых проблем, появляющихся при обработке и анализе видео от систем наблюдения для ситуаций, связанных с поведением людей (например, подсчет уникальных посетителей, оценка длины очереди на кассе, расчёт тепловой карты интенсивности движения), является отслеживание перемещения людей, как в границах кадра одной камеры, так и в контексте некоторого набора камер из одной системы наблюдения. Сложность этой проблемы связана со значительными различиями в облике людей в типичной сцене: изменения в освещении, ракурсе, фоне, степени заслоненности или обрезанности силуэта, гибкие деформации, а также различные позы - всё это затрудняет успешное отслеживание. Любой продукт, нацеленный на решение таких бизнес-ситуаций, требует разработки эффективного подхода к внутри- и межкамерному трекингу людей.
Данная работа написана на основе работы автора над разработкой такого подхода в контексте прохождения практики в компании «Битворкс». Компания «Битворкс» разрабатывает продукт, предоставляющий видеоаналитику ориентировочно для ситуаций, встречающихся в розничной торговле, под названием «Motion Insights» (далее MI). Система MI имеет возможность извлекать из предоставленных видеоданных полезную для управления торговой точкой информацию, с возможностью адаптации под схожие цели и ситуации, за счёт того, что специфичные для конкретной ситуации высокоуровневые события в системе - такие, например, как «вход вернувшегося посетителя» - создаются на основе базовой универсально применимой информации, каковой являются траектории людей из видеофрагментов.
Таким образом, целью данной работы стала разработка алгоритма внутрикамерного трекинга людей, предназначенному для использования в модуле извлечения первичной информации из видео системы MI, разработка модуля, имплементирующего алгоритм отслеживания в контексте системы MI, а также работа над подходом к межкамерному трекингу людей, который будет использоваться в модуле обработки первичной информации системы MI.
Для достижения этих целей потребуется выполнить следующие задачи:
1) сделать обзор существующих в публикациях подходов к отслеживанию;
2) выбрать подход к отслеживанию и разработать алгоритм;
3) определить тестовые метрики и данные, измерить эффективность алгоритма;
4) спроектировать и разработать модуль для системы MI.
В рамках данной работы был проведен обзор опубликованных методов отслеживания людей в многокамерных системах наблюдения, сделан выбор относительно того, каким методом пользоваться и разработан свой алгоритм отслеживания, опирающийся в работе на реидентификацию.
Как следствие выбранного подхода к отслеживанию, появилась потребность в подготовке модели реидентификации людей и поставлена дополнительная задача по обучению своей версии модели.
Для решения дополнительной задачи были собраны тренировочные и тестовые данные, определены целевые метрики, проведена серия экспериментов. В результате обученная модель реидентификации имеет высокие показатели целевых метрик и полностью выполняет свою роль в алгоритме отслеживания.
Эффективность разработанного алгоритма отслеживания была измерена на тестовых данных и сравнена с опубликованными аналогами. В результате разработанный алгоритм показал кратно более сильные значения целевых метрик.
Был разработан модуль, обрабатывающий видео данные, получая для них в потоковом режиме вывод каскада моделей свёрточных нейросетей. На основе извлеченной информации модулем формируются сообщения, представляющие собой первичную информацию о людях, появлявшихся в кадре. Эти сообщения передаются на бэкэнд системы MI через стриминговую платформу Kafka.
Для реализации полного функционала модуля были выбраны модели обнаружения людей, лиц, ключевых точек лиц, классификации людей по полу и возрасту.
Компонентная архитектура разработанного модуля позволяет достаточно легко вводить, изменять и выводить из работы все элементы потока обработки, что позволяет гибко подстраиваться под нужды конкретного бизнес-кейса.
Таким образом, поставленная цель достигнута и все задачи выполнены.
Модуль с упрощенным потоком обработки в данный момент используется для решения бизнес-кейса по определению времени нахождения рабочих фабрики на своих рабочих местах.
Будущие направления работы по улучшению модуля включают в себя подготовку и обучение своих версий для всех моделей, используемых в модуле.
Дальнейшее развитие набора обучающих данных для реидентификации позволит обучить модель ещё большей обобщающей способностью. за счет добавления изображений с разнообразными условиями съемки. Кроме того, в экспериментах показало свою эффективность использование синтетических данных, поэтому возможна работа над своей системой генерации искусственных наборов данных под наши задачи.
Одной из трудностей применения разработанного алгоритма отслеживания заключается в зависимости его эффективности от значительного количества параметров. Для целей данной работы величины этих параметров были определены ручным образом, но будущее применение алгоритма в различных условиях выиграло бы от подготовки процедуры автоматического подбора наилучших значений всех используемых параметров.
Как следствие выбранного подхода к отслеживанию, появилась потребность в подготовке модели реидентификации людей и поставлена дополнительная задача по обучению своей версии модели.
Для решения дополнительной задачи были собраны тренировочные и тестовые данные, определены целевые метрики, проведена серия экспериментов. В результате обученная модель реидентификации имеет высокие показатели целевых метрик и полностью выполняет свою роль в алгоритме отслеживания.
Эффективность разработанного алгоритма отслеживания была измерена на тестовых данных и сравнена с опубликованными аналогами. В результате разработанный алгоритм показал кратно более сильные значения целевых метрик.
Был разработан модуль, обрабатывающий видео данные, получая для них в потоковом режиме вывод каскада моделей свёрточных нейросетей. На основе извлеченной информации модулем формируются сообщения, представляющие собой первичную информацию о людях, появлявшихся в кадре. Эти сообщения передаются на бэкэнд системы MI через стриминговую платформу Kafka.
Для реализации полного функционала модуля были выбраны модели обнаружения людей, лиц, ключевых точек лиц, классификации людей по полу и возрасту.
Компонентная архитектура разработанного модуля позволяет достаточно легко вводить, изменять и выводить из работы все элементы потока обработки, что позволяет гибко подстраиваться под нужды конкретного бизнес-кейса.
Таким образом, поставленная цель достигнута и все задачи выполнены.
Модуль с упрощенным потоком обработки в данный момент используется для решения бизнес-кейса по определению времени нахождения рабочих фабрики на своих рабочих местах.
Будущие направления работы по улучшению модуля включают в себя подготовку и обучение своих версий для всех моделей, используемых в модуле.
Дальнейшее развитие набора обучающих данных для реидентификации позволит обучить модель ещё большей обобщающей способностью. за счет добавления изображений с разнообразными условиями съемки. Кроме того, в экспериментах показало свою эффективность использование синтетических данных, поэтому возможна работа над своей системой генерации искусственных наборов данных под наши задачи.
Одной из трудностей применения разработанного алгоритма отслеживания заключается в зависимости его эффективности от значительного количества параметров. Для целей данной работы величины этих параметров были определены ручным образом, но будущее применение алгоритма в различных условиях выиграло бы от подготовки процедуры автоматического подбора наилучших значений всех используемых параметров.



