Введение 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
Многие проблемы и вызовы современного мира могут получить свои решения из сферы интеллектуального видео наблюдения. Примером могут быть и такие классические проблемы как контроль доступа на территорию, мониторинг производственных процессов, контроль соблюдения техники безопасности, подсчет посетителей и измерение конверсии в торговых залах, и вызовы, возникшие в последнее время: контроль за использованием индивидуальных средств защиты и соблюдения безопасной социальной дистанции.
Согласно данным, агрегированным порталом Techportal.ru[1], среднегодовой рост рынка видеонаблюдения до 2025 года может составить около 15%, а общая оценка этого рынка к 2025 году может достигнуть 87,3 млрд. долларов США. Подобный рост определяет востребованность решений на основе интеллектуальной видеоаналитики.
Одной из ключевых проблем, появляющихся при обработке и анализе видео от систем наблюдения для ситуаций, связанных с поведением людей (например, подсчет уникальных посетителей, оценка длины очереди на кассе, расчёт тепловой карты интенсивности движения), является отслеживание перемещения людей, как в границах кадра одной камеры, так и в контексте некоторого набора камер из одной системы наблюдения. Сложность этой проблемы связана со значительными различиями в облике людей в типичной сцене: изменения в освещении, ракурсе, фоне, степени заслоненности или обрезанности силуэта, гибкие деформации, а также различные позы - всё это затрудняет успешное отслеживание. Любой продукт, нацеленный на решение таких бизнес-ситуаций, требует разработки эффективного подхода к внутри- и межкамерному трекингу людей.
Данная работа написана на основе работы автора над разработкой такого подхода в контексте прохождения практики в компании «Битворкс». Компания «Битворкс» разрабатывает продукт, предоставляющий видеоаналитику ориентировочно для ситуаций, встречающихся в розничной торговле, под названием «Motion Insights» (далее MI). Система MI имеет возможность извлекать из предоставленных видеоданных полезную для управления торговой точкой информацию, с возможностью адаптации под схожие цели и ситуации, за счёт того, что специфичные для конкретной ситуации высокоуровневые события в системе - такие, например, как «вход вернувшегося посетителя» - создаются на основе базовой универсально применимой информации, каковой являются траектории людей из видеофрагментов.
Таким образом, целью данной работы стала разработка алгоритма внутрикамерного трекинга людей, предназначенному для использования в модуле извлечения первичной информации из видео системы MI, разработка модуля, имплементирующего алгоритм отслеживания в контексте системы MI, а также работа над подходом к межкамерному трекингу людей, который будет использоваться в модуле обработки первичной информации системы MI.
Для достижения этих целей потребуется выполнить следующие задачи:
1) сделать обзор существующих в публикациях подходов к отслеживанию;
2) выбрать подход к отслеживанию и разработать алгоритм;
3) определить тестовые метрики и данные, измерить эффективность алгоритма;
4) спроектировать и разработать модуль для системы MI.
В рамках данной работы был проведен обзор опубликованных методов отслеживания людей в многокамерных системах наблюдения, сделан выбор относительно того, каким методом пользоваться и разработан свой алгоритм отслеживания, опирающийся в работе на реидентификацию.
Как следствие выбранного подхода к отслеживанию, появилась потребность в подготовке модели реидентификации людей и поставлена дополнительная задача по обучению своей версии модели.
Для решения дополнительной задачи были собраны тренировочные и тестовые данные, определены целевые метрики, проведена серия экспериментов. В результате обученная модель реидентификации имеет высокие показатели целевых метрик и полностью выполняет свою роль в алгоритме отслеживания.
Эффективность разработанного алгоритма отслеживания была измерена на тестовых данных и сравнена с опубликованными аналогами. В результате разработанный алгоритм показал кратно более сильные значения целевых метрик.
Был разработан модуль, обрабатывающий видео данные, получая для них в потоковом режиме вывод каскада моделей свёрточных нейросетей. На основе извлеченной информации модулем формируются сообщения, представляющие собой первичную информацию о людях, появлявшихся в кадре. Эти сообщения передаются на бэкэнд системы MI через стриминговую платформу Kafka.
Для реализации полного функционала модуля были выбраны модели обнаружения людей, лиц, ключевых точек лиц, классификации людей по полу и возрасту.
Компонентная архитектура разработанного модуля позволяет достаточно легко вводить, изменять и выводить из работы все элементы потока обработки, что позволяет гибко подстраиваться под нужды конкретного бизнес-кейса.
Таким образом, поставленная цель достигнута и все задачи выполнены.
Модуль с упрощенным потоком обработки в данный момент используется для решения бизнес-кейса по определению времени нахождения рабочих фабрики на своих рабочих местах.
Будущие направления работы по улучшению модуля включают в себя подготовку и обучение своих версий для всех моделей, используемых в модуле.
Дальнейшее развитие набора обучающих данных для реидентификации позволит обучить модель ещё большей обобщающей способностью. за счет добавления изображений с разнообразными условиями съемки. Кроме того, в экспериментах показало свою эффективность использование синтетических данных, поэтому возможна работа над своей системой генерации искусственных наборов данных под наши задачи.
Одной из трудностей применения разработанного алгоритма отслеживания заключается в зависимости его эффективности от значительного количества параметров. Для целей данной работы величины этих параметров были определены ручным образом, но будущее применение алгоритма в различных условиях выиграло бы от подготовки процедуры автоматического подбора наилучших значений всех используемых параметров.
1. Российский и мировой рынки видеонаблюдения. Цифры, прогнозы и тренды // Techportal.ru. - 2020. - URL: http://www.techportal.ru/security/video/rossiyskiy-i-mirovoy- rynki-videonablyudeniya-tsifry-prognozy-i-trendy/(дата обращения: 20.01.2021).
2. Human tracking over camera networks: a review / Hou L., Wan W., Hwang J.N., Muhammad R., Yang M., Han K. // EURASIP Journal on Advances in Signal Processing. - 2017. - Vol. 2017, is. 1. - P. 43.
3. People tracking in multi-camera systems: a review / Iguernaissi R., Merad D., Aziz K., Drap P. // Multimedia Tools and Applications. - 2019. - Vol. 78, is. 8. - P. 10773-10793.
4. Kim K., Davis L.S., Leonardis A., Bischof H., Pinz A. Multi-camera Tracking and Segmentation of Occluded People on Ground Plane Using Search-Guided Particle Filtering // Computer Vision - ECCV 2006. - 2006. - P. 98-109.
5. Hofmann M., Wolf D., Rigoll G. Hypergraphs for Joint Multi-View Reconstruction and Multi-Object Tracking // 2013 IEEE Conference on Computer Vision and Pattern Recognition. - 2013.
- P. 3650-3657.
6. Visual Re-Identification Across Large, Distributed Camera Networks / Kenk V.S., Mandeljc R., Kovacic S., Kristan M., Hajdinjak M., Pers J. // Image and Vision Computing. - 2015. - Vol. 34
- P. 11-26.
7. Prosser B., Zheng W.S., Gong S., Xiang T. Person Re-Identification by Support Vector Ranking // British Machine Vision Conference. - 2010. - Vol. 2. - P. 1-11.
8. Zhou K., Yang Y., Cavallaro A., Xiang T. Omni-Scale Feature Learning for Person Re-Identification // arXiv.org. - 2019. - URL: https://arxiv.org/abs/1905.00953(дата обращения: 20.01.2021).
9. Chu C.T., Hwang J.N., Wang S.Z., Chen Y.Y. Human tracking by adaptive Kalman filtering and multiple kernels tracking with projected gradients // 2011 5th ACM/IEEE International Conference on Distributed Smart Cameras, ICDSC 2011. - 2011. - P. 1-6.
10. Bewley A., Ge Z., Ott L., Ramos F., Upcroft B. Simple online and realtime tracking // 2016 IEEE International Conference on Image Processing (ICIP). - 2016. - P. 3464-3468.
11. Wojke N., Bewley A., Paulus D. Simple Online and Realtime Tracking with a Deep Association Metric // 2017 IEEE International Conference on Image Processing (ICIP). - 2017. - P. 3645¬3649.
12. Possegger , Sternig , Mauthner , Roth M., Bischof. Robust Real-Time Tracking of Multiple Objects by Volumetric Mass Densities // Proc. IEEE Conference on Computer Vision and Pattern Recognition (CVPR). - 2013.
13. Kumar A., Yaghoubi E., Das A., Harish B.S., Proenga H. The P-DESTRE: A Fully Annotated Dataset for Pedestrian Detection, Tracking, Re-Identificationand Search from Aerial Devices // arXiv.org. - 2020. - URL: https://arxiv.org/abs/2004.02782(дата обращения: 02.03.2021).
14. Xiao T., Li S., Wang B., Lin L., Wang X. Joint Detection and Identification Feature Learning for Person Search // arXiv.org. - 2016. - URL: https://arxiv.org/abs/1604.01850(дата обращения: 07.04.2021).
15. Liang Z., Shen L., Tian L., Wang S., Wang J., Tian Q. Scalable Person Re-identification: A Benchmark // 2015 IEEE International Conference on Computer Vision (ICCV). - 2015. - P. 1116-1124.
16. Wei L., Zhang S., Gao W., Tian Q. Person Transfer GAN to Bridge Domain Gap for Person Re¬Identification // IEEE International Conference on Computer Vision and Pattern Recognition. - 2018.
17. Torchreid // github.com. - 2021. - URL: https://github.com/KaiyangZhou/deep-person-reid(дата обращения: 20.01.2021).
18. OpenVINO™ Re-Identification Models // github.com. - 2020. - URL: https://github.com/ openvinotoolkit/training_extensions/tree/develop/misc/pytorch_toolkit/object_reidentification/ person_reidentification (дата обращения: 02.03.2021).
19. Sovrasov V., Sidnev D. Building Computationally Efficient and Well-Generalizing Person Re¬Identification Models with Metric Learning // arXiv.org. - 2020. - URL: https://arxiv.org/abs/ 2003.07618 (дата обращения: 02.03.2021).
20. Cubuk E., Zoph B., Mane D., Vasudevan V., Le Q. AutoAugment: Learning Augmentation Strategies from Data // 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). - 2019. - P. 113-123.
21. Li W., Zhao R., Xiao T., Xiaogang W. Deepreid: Deep filter pairing neural network for person re-identification // In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. - 2014. - P. 152-159.
22. Wang T., Gong S., Zhu X., Wang S. Person re-identification by video ranking // European Conference on Computer Vision. - 2014. - P. 688-703.
23. Song G., Leng B., Liu Y., Hetang C., Cai S. Region-based Quality Estimation Network for Large-Scale Person Re-identification // 2018 AAAI Conference on Artificial Intelligence (AAAI). - 2018.
24. Ma L., Liu H., Hu L., Wang C., Sun Q. Orientation Driven Bag of Appearances for Person Re-identification // arXiv.org. - 2016. - URL: https://arxiv.org/abs/1605.02464(дата обращения: 03.02.2021).
25. Hirzer M., Beleznai C., Roth P.M., Bischof H. Person re-identification by descriptive and discriminative classification // Scandinavian Conference on Image Analysis. - 2011.
26. Das A., Chakraborty A., Roy-Chowdhury A.K. Consistent Re-identification in a Camera Network // European Conference on Computer Vision. - 2014. - P. 330-345.
27. Zheng M., Karanam S., Radke R.J. RPIField: A New Datasef for Temporally Evaluating Person Re-Identification // IEEE Conference on Computer Vision and Pattern Recognition Workshops. - 2018.
28. Bialkowski A., Denman S., Lucey P., Sridharan S., Fookes C.B. A database for person re-identification in multi-camera surveillance networks // In Proceedings of the 2012 International Conference on Digital Image Computing Techniques and Applications (DICTA 12). - 2012. - P. 1-8.
29. Kawanishi Y., Wu Y., Mukunoki M., Minoh M. Shinpuhkan2014: A multi-camera pedestrian dataset for tracking people across multiple cameras. // In 20th Korea-Japan Joint Workshop on Frontiers of Computer Vision. - 2014. - Vol. 5. - P. 6.
30. Baltieri D., Vezzani R., Cucchiara R. 3DPeS: 3D People Dataset for Surveillance and Forensics // In Proceedings of the 2011 joint ACM workshop on Human gesture and behavior understanding. - 2011. - P. 59-64.
31. Wang S., Lewandowski M., Annesley J., Orwell J. Re-identification of pedestrians with variable occlusion and scale. // IEEE International Conference on Computer Vision (ICCV). - 2011.
32. Martinel N., Micheloni C. Re-identify people in wide area camera network // In 2012 IEEE computer society conference on computer vision and pattern recognition workshops. - 2012. - P. 31-36.
33. Zhang T., Xie L., Wei L., Zhuang Z., Zhang Y., Li B., Tian Q. UnrealPerson: An Adaptive Pipeline towards Costless Person Re-identification // The IEEE Conference on Computer Vision and Pattern Recognition (CVPR). - 2021.
34. Evaluating multiple object tracking performance: The CLEAR MOT metrics / Bernardin , Stiefelhagen R. // EURASIP Journal on Image and Video Processing. - 2008. - Vol. 2008, is. 1. - P. 246309.
35. Ristani E., Solera F., Zou R.S., Cucchiara R., Tomasi C., Hua G., Jegou H. Performance Measures and a Data Set for Multi-Target, Multi-Camera Tracking // Computer Vision - ECCV 2016 Workshops. - 2016. - P. 17-35.
36. MOTChallenge: The Multiple Object Tracking Benchmark - 2021. - URL: https://
motchallenge.net/(дата обращения: 02.03.2021).
37. NVIDIA TensorRT // NVIDIA Developer. - 2020. - URL: https://developer.nvidia.com/tensorrt(дата обращения: 10.06.2020).
38. DeepStream SDK // NVIDIA Developer. - 2020. - URL: https://developer.nvidia.com/ deepstream-sdk (дата обращения: 10.06.2020).
39. Gstreamer: open source multimedia framework - 2020. - URL: https://
gstreamer.freedesktop.org/(дата обращения: 10.6.2020).
40. Open Neural Network Exchange - 2020. - URL: https://onnx.ai/(дата обращения: 10.06.2020).
41. Redmon J., Farhadi A. YOLOv3: An Incremental Improvement // arXiv.org. - 2018. - URL: https://arxiv.org/abs/1804.02767(дата обращения: 10.06.2020).
42. COCO: Common Objects in Context - 2020. - URL: https://cocodataset.org(дата обращения: 10.06.2020).
43. Pytorch_Retinaface // github.com. - 2020. - URL: https://github.com/biubug6/
Pytorch_Retinaface (дата обращения: 10.06.2020).
44. Sandler M., Howard A., Zhu M., Zhmoginov A., Chen L.C. MobileNetV2: Inverted Residuals and Linear Bottlenecks // 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. - 2018. - P. 4510-4520.