Введение 3
Постановка задачи 4
Обзор литературы 6
Глава 1. Подготовка базы изображений 11
1.1 База изображений «CelebA» 11
1.2 База видео «ChokePoint» 11
1.3 База изображений «MaskTheFace» 12
1.4 База изображений «WIDER Face Training Images» 13
Глава 2. Тестирование методов распознавания лиц 14
Глава 3. Тестирование методов детектирования лиц 17
Глава 4. Определение качества изображения 20
Глава 5. Тестирование методов трекинга 21
Глава 6. Объединение методов 23
Выводы 26
Заключение 27
Список использованной литературы 28
В настоящее время широко распространено внедрение технологий идентификации и трекинга лиц. Системы распознавания лиц используются для борьбы с преступностью, усиления безопасности на объектах, ускорения пропускного контроля. Кроме того, в настоящее время происходит внедрение системы распознавания лиц для оплаты проезда в общественном транспорте.
Данная область активно развивается и появляются новые методы. Применение наиболее эффективной комбинации методов детектирования, распознавания и трекинга при построении единой целостной системы позволит реализовать процесс идентификации людей в реальном времени и применять построенную систему для решения большого круга задач.
Постановка задачи
Дана последовательность кадров видеопотока sl,i = 1,2,... фиксированного размера, не менее чем 160x160.
Требуется обнаружить лица на изображениях, выделить их прямоугольной областью и осуществить распознавание лиц.
Необходимо реализовать трекинг лиц, что может позволить минимизировать вычислительные затраты, так как не потребуется повторно осуществлять распознавание лиц. Для каждого найденного лица на изображении должен быть поставлен в соответствие идентификатор трекинга отслеживаемого лица. Для каждого нового кадра найденные ограничивающие лица прямоугольники должны быть поставлены в соответствие уже существующим идентификаторам трекинга или должны быть созданы новые идентификаторы для отслеживания новых целей.
Предварительно необходимо получить и сохранить векторы признаков vJ',j = 1,2,... для всех шаблонных изображений. Распознавание должно быть
осуществлено путем выделения вектора признаков v*, последующего сравнения и* с помощью евклидовой метрики расстояния с векторами uJ ,j = 1,2,..., хранящимися в базе. Если наименьшее из расстояний d* = min(d7') = Хк|^**-ц^|2] /
найденный объект должен считаться соответствующим вектору и1. Если d* будет более заданного порога, то вектор и* следует считать соответствующим «самозванцу».
Для улучшения качества распознавания лиц возможно проводить распознавание только на тех кадрах sl, где лицо приближено к расположению анфас. Для этого могут быть вычислены углы Эйлера для поворота головы. Кадр потока следует считать допустимым, если угол поворота не превосходит заранее заданного допустимого угла. Допустимым углом Эйлера при этом можно считать 15 градусов относительно положения анфас.
Поставленная задача может быть разделена на следующие этапы.
1. Подготовка базы изображений.
2. Исследование и тестирование методов распознавания лиц.
3. Исследование и тестирование методов детектирования лиц.
4. Добавление функциональности для определения угла поворота головы и прекращения обработки изображения до выполнения распознавания лица при повороте головы более чем на 15 градусов относительно положения анфас.
5. Исследование и тестирование методов трекинга лиц.
6. Выбор методов детектирования, распознавания и трекинга лиц.
7. Реализация системы распознавания и трекинга лиц.
В результате выпускной квалификационной работы:
• подготовлена база изображений для тестирования методов, которая содержит как статические изображения, так и поток кадров;
• рассмотрены существующие методы детектирования, распознавания и трекинга лиц;
• подготовлена тестовая среда с использованием языка программирования Python 3;
• проведено тестирование двух библиотек распознавания лиц на базе изображений и выбрана библиотека facenet-pytorch, использование которой помогло достигнуть более качественных результатов;
• проведено сравнение качества детектирования для двух методов: SSD в реализации библиотеки OpenCV и MTCNN в реализации библиотеки facenet-pytorch и по результатам тестирования на 1000 изображениях из базы «WIDER Face Training Images» для дальнейшего рассмотрения выбрана нейронная сеть MTCNN;
• написана программа на языке программирования Python 3 для определения угла поворота лица;
• проведено тестирование методов трекинга SORT и ByteTrack на потоке кадров и метод ByteTrack был выбран для дальнейшего применения в рамках системы трекинга и распознавания лиц;
• выбранные методы объединены в общую систему и измерено среднее время обработки потока кадров при использовании метода трекинга и без его использования.
1. Liu W., Anguelov D., Erhan D., Szegedy C., Reed S., Fu C.-Y. , Berg A. C. SSD: Single Shot Multibox Detector // European conference on computer vision. 2016. P. 21-37.
2. Howard A. G., Zhu M., Chen B., Kalenichenko D., Wang W., Weyand T., Andreetto M., Adam H. MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications // arXiv: 1704.04861. 2017. P. 1-9.
3. Zhang Z., Li Z., Qiao Y. Joint Face Detection and Alignment Using Multitask Cascaded Convolutional Networks //IEEE Signal Processing Letters. Vol. 23, No 10. 2016. P. 1499-15032016. doi: 10.1109/LSP.2016.2603342.
4. Viola P., Jones M. J. Robust real-time face detection // International Journal of Computer Vision. 2004. Vol. 57. No 2. P. 137-154.
5. Zhu Q., Yeh M.-C., Cheng K.-T., Avidan S. Fast Human Detection Using a Cascade of Histograms of Oriented Gradients // 2006 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'06). 2006. P. 1491-1498.
6. Репозиторий библиотеки facenet-pytorch [Электронный ресурс]: URL: https://github.com/timesler/facenet-pytorch(дата обращения: 20.05.2022).
7. Szegedy C., Liu W., Jia Y., Sermanet P., Reed S., Anguelov D., Erhan D., Vanhoucke V., Rabinovich A. Going deeper with convolutions // CoRR, abs/1409.4842. 2014.
8. Schroff F., Kalenichenko D., Philbin J. FaceNet: A Unified Embedding for Face Recognition and Clustering // arXiv: 503.03832. 2015. P. 1-10.
9. Техническая документация библиотеки face_recognition [Электронный ресурс]: URL:https://face-recognition.readthedocs.io/en/latest/face recognition.html(дата обращения: 20.05.2022).
10. Техническая документация библиотеки Dlib [Электронный ресурс]: URL:http://dlib.net/(дата обращения: 20.05.2022).
11. He K., Zhang X., Ren S., Sun J. Deep Residual Learning for Image
Recognition // 2016 IEEE Conference on Computer Vision and Pattern
Recognition (CVPR). 2016. P. 770-778.
12. Bradski G. R. Computer Vision Face Tracking for Use in a Perceptual User Interface // Intel Technology Journal, 2nd Quarter. 1998.
13. Fukunaga K. Introduction to Statistical Pattern Recognition // Academic Press, Boston. 1990.
14. Y. Zhang, C. Wang, X. Wang, W. Zeng, and W. Liu. Fairmot: On the fairness of detection and re-identification in multiple object tracking. // arXiv: 2004.01888. 2020.
15. Bewley A., Ge Z., Ott L., Ramos F., Upcroft B. Simple online and realtime tracking // 2016 IEEE international conference on image processing (ICIP), IEEE. 2016. P. 3464- 3468.
16. Wojke N., Bewley A., Paulus D. Simple online and realtime tracking with a deep association metric // 2017 IEEE international conference on image processing (ICIP), IEEE, 2017. P. 3645-3649.
17. Zhang Y., Sun P., Jiang Y., Yu D., Yuan Z., Luo P., Liu W., Wang X. ByteTrack: Multi-Object Tracking by Associating Every Detection Box // arXiv: 2110.06864. 2021.
18. Nagendra Shruthi, Baskaran R., Abirami S. Video-Based Face Recognition and Face-Tracking using Sparse Representation Based Categorization // Procedia Computer Science. 2015. Vol. 54. P. 746-755.
19. Hatimi H., M. Fakir M., Chabi M. Face Recognition Using a Fuzzy
Approach and a Multi-agent System from Video Sequences // 2016 13th
International Conference on Computer Graphics, Imaging and Visualization (CGiV). 2016. P. 442-447.
20. Eiamsaard, K., Bamrungthai P., Jitpakdeebodin S. Smart Inventory Access Monitoring System (SIAMS) using Embedded System with Face Recognition // 2021 18th International Joint Conference on Computer Science and Software Engineering (JCSSE). 2021. P. 1-4.
21. Cheong W. L., Char C. M., Lim Y. C., Lim S., Khor S. W. Building a computation savings real-time face detection and recognition system // 2010 2nd International Conference on Signal Processing Systems. 2010. Vol. 1. P. 815-819.
22. Freund Y., Schapire R. E. A decision-theoretic generalization of on-line learning and an application to boosting // Computational Learning Theory: Eurocolt’95. 1995. P. 23-37.
23. Liu, Ziwei and Luo, Ping and Wang, Xiaogang and Tang, Xiaoou. Deep Learning Face Attributes in the Wild // Proceeding of International Conference on Computer Vision. 2015.
24. Wong Y., Chen S., Mau S., Sanderson C., Lovell B.C. Patch-based Probabilistic Image Quality Assessment for Face Selection and Improved Video-based Face Recognition // IEEE Biometrics Workshop, Computer Vision and Pattern Recognition (CVPR) Workshops. 2011. P. 81-88.
25. Gallagher A. C., Chen T. Understanding images of groups of people // 2009 IEEE Conference on Computer Vision and Pattern Recognition. 2009. P. 256-263.
26. Yang S., Luo P., Loy C. C., Tang X. WIDER FACE: A Face Detection Benchmark // 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). 2016. P. 5525-5533.
27. Репозиторий с исходным кодом программ [Электронный
ресурс]: URL: https://github.com/vsister/Tracking-and-Recognition(дата
обращения: 25.05.2022).
28. Техническая документация библиотеки OpenCV [Электронный ресурс]: URL:https://opencv.org/(дата обращения: 20.05.2022).