СИСТЕМА НАБЛЮДЕНИЯ И РАСПОЗНАВАНИЯ ЛИЧНОСТЕЙ В ВИДЕОПОТОКЕ
Научная статья
Ахматов И.1, *, Кондратов И.В.2
1 ORCID: 0000-0002-1601-2116;
2 ORCID: 0000-0002-6343-7168;
1, 2 Санкт-Петербургский государственный университет,
* Корреспондирующий автор (st040180[at]student.spbu.ru)
Аннотация
В работе рассматривались практические аспекты построения систем идентификации и верификации лиц в видеопотоке.
Практическая часть представляет собой прототип системы наблюдения и распознавания лиц в видеопотоке, с возможностью его оперативного введения в эксплуатацию и масштабирования. Для ее реализации были использованы передовые (так называемые “state of the art”) алгоритмы машинного обучения, а для создания необходимой инфраструктуры прототипа – способные к масштабированию и распределенным вычислениям средства контейнеризации и хранения данных.
Ключевые слова: распознавание, наблюдение, видеопоток, сверточная нейронная сеть.
VIDEOSTREAM SURVEILLANCE AND FACE RECOGNITION SYSTEM
Research article
Akhmatov I.1, *, Kondratov I. V.2
1 ORCID: 0000-0002-1601-2116;
2 ORCID: 0000-0002-6343-7168;
1, 2 Saint Petersburg State University,
* Corresponding author (st040180[at]student.spbu.ru)
Abstract
The article looks into the practical aspects of developing a system of face identification and verification in a videostream. The practical part of this paper is made up of the pilot surveillance system capable of videostream face recognition, and the possibilities of scaling and putting it in operation quickly. For its implementation, advanced (so-termed “state of the art”) machine-learning algorithms were used; and for the creation of the necessary pilot framework, the authors used containerization and data storage tools capable of scaling and grid computing.
Keywords: recognition, surveillance, videostream, convolutional neural net.
Введение
Контроль доступа к режимным объектам, средствам производства, ресурсам и информации – важнейшая для обеспечения безопасности задача. С развитием науки и техники, широкое распространение получили биометрические системы аутентификации. Появившиеся в середине 60-х годов, первые образцы представляли собой сканеры отпечатков пальцев; параллельно с их введением началась разработка систем идентификации по геометрии ладони, почерку, термограмме лица [1].
Сейчас же популярными являются методы с использованием голоса как средства подтверждения личности, зачастую применяемые в банковской сфере как дополнительное средство авторизации при телефонном звонке в банк. Метод основывается на анализе комбинации таких факторов как тембр, тон, интонация.
Прогресс в области разработки нейронных сетей позволил вывести биометрические системы аутентификации на новый уровень – использование deep learning моделей помогло повысить точность и скорость распознавания личности как с точки зрения анализа голоса, так и лица, позволяя разворачивать такие системы с меньшими затратами ресурсов [2].
С точки зрения обеспечения безопасности населения в местах массового скопления людей проблема распознавания лиц и определения личности становится жизненно важной в современном мире.
В рамках данной проблемы возникает задача идентификации человека не по статическому изображению, но в видеопотоке, где может присутствовать множество людей и качество данных может быть далеким от идеала. Подобные системы уже показали свою эффективность при контроле карантинного режима в Китае [3]. Результатом проделанной работы стал прототип полноценной системы идентификации лиц на основе видео, готовый к введению в эксплуатацию и совместимый с популярными серверными решениями.
Основная часть
Для реализации была выбрана архитектура ResNET. Это было сделано в силу нескольких причин:
- Данная сеть хорошо зарекомендовала себя в идентификации и верификации лиц, что показано в предыдущем разделе
- Обилие документации и примеров использования в исследовательских и коммерческих проектах
- Легко реализуемая масштабируемость в силу использования быстрых соединений, позволяющих информации пропускать некоторые слои
- ResNET имеет реализацию на трех основных фреймворках, применяемых в машинном обучении – TensorFlow, PyTorch и Caffe
ResNET вводит понятие быстрых соединений [4] – способа пропуска слоёв нейронной сети, что помогает бороться с проблемой затухающего градиента. Обычно используют пропуски одного, двух или трех слоёв. Использование дополнительной матрицы весов для пропуска применяют в вариации данной сети под названием HighwayNet.
При реализации практической части работы использовалась версия архитектуры нейронной сети ResNet-50. Наличие быстрых соединений позволяет снизить добиться более оптимальной производительности при достаточно большом числе слоев. Помимо этого, ResNet-50 и всё семейство ResNet в целом хорошо показали себя при работе на различных наборах данных с точки зрения как точности, так и производительности, что показано в работах [5], [6].
Для выделения области нахождения лица по интенсивности пикселей изображения на переведенном в черно-белый формат изображения, применяется классификатор вместе с методом HOG (Histogram of Oriented Gradients) [7]. Алгоритм строит на изображении сеть из ячеек фиксированного размера, для каждой из которых подсчитывается градиент, указывающий направление уменьшения интенсивности между ячейками (от более темных к более светлым). Путем вариации интенсивности алгоритм пытается достичь дискретизации областей освещенности, чтобы небольшие изменения интенсивности оказывали меньшее воздействие на значение градиента. Потом полученные карты изображения классифицируются, тем самым получая местоположение лица на кадре. В приложении используется комбинация из 5 перетренированных HOG-фильтров [8], [9], каждый из них для разной ориентации лица: спереди, слева, справа, а также спереди с поворотом влево и вправо. Это позволяет детектировать лица с различных ракурсов, тем самым повышая точность кодировок, подающихся на вход нейросети.
В процессе работы программы дополнительно применяется алгоритм ShapePredictor-68 Landmarks для определения положения лица в пространстве, основанный на ансамбле алгоритмов машинного обучения, а именно деревьев решений. Данный подход, наряду с нейронными сетями широко применяется для предсказания позиции лица в пространстве. Идея использования ансамблей заключается в том, что большое число достаточно “слабых” моделей, при усреднении их предсказаний дают весьма точный результат, что и было продемонстрировано в работе [10]. Определение положения лица в пространстве является важным шагом для идентифицирования личности по изображению, этот вопрос освещается в статье [6], где на наборе данных VGGFace2 показано, как различается точность при различном положении лица в кадре: профиль, анфас и 3/4.
Весь алгоритм работы системы можно разделить на пять основных шагов:
- Инициализация
- Загрузка данных
- Подготовка к обработке
- Обработка
- Показ результатов
- Завершение работы
На рисунках, представленных ниже, основные этапы обозначены различными цветами: белый, оранжевый, зеленый, фиолетовый, желтый, серый соответственно. На рисунке 1 представлен алгоритм запуска приложения из командной строки и первичная загрузка данных и сам процесс обработки. На рисунке 2 представлен алгоритм идентифицирования лиц, а на рисунке 3 – алгоритм их выделения из видео.
Рис. 1 – Инициализация, загрузка данных и подготовка к обработке
Рис. 2 – Процесс инициализации приложения
Рис. 3 – Инициализация, загрузка данных и подготовка к обработке
Результаты тестового запуска программы представлены в таблице 1.
Таблица 1 – Скорость обработки видеозаписи на различных устройствах
Видеозапись 1, кадр/с | Видеозапись 2, кадр/с | |
Устройство 1 | 11.74 | 10.31 |
Устройство 2 | 9.33 | 8.394 |
Приложение было запущено на двух различных устройствах. Устройство 1 представляет собой среднестатистический ноутбук с характеристиками: процессор: Intel Core i5-7267U, 3.1 ГГц, двухъядерный, кэш 4 мегабайта; видеокарта: Intel Iris Plus Graphics 650; оперативная память: 8 гигабайт LPDDR3 с частотой 2.13 МГц. Устройство 2 представляет собой стационарный компьютер: процессор: Intel Core i7-8700B, 3.2 ГГц, шестиядерный, кэш 12 мегабайт; видеокарта: Intel UHD Graphics 630;
оперативная память: 32 гигабайта DDR4 с частотой 2.6 МГц.
Видеозапись 1 длится 1 минуту 20 секунд, содержит 2356 кадров и имеет разрешение 800 × 600 Видеозапись 2 длится 44 секунды, содержит 1321 кадр и имеет разрешение 800 × 600.
Матрица неточностей (рисунок 4), полученная при обработке 1000 случайно выбранных изображения из набора данных VGGFace2 таким образом, что 90% изображений содержат лица, а оставшаяся часть – нет.
Рис. 4 – Матрица неточностей
Были получены следующие показатели: точность – 0,987000; полнота – 0,9871357; F-мера – 0,987067. Результат оценивался по нескольким показателям:
- Точность – отношение количества изображений, истинно принадлежащих классу к размеру всей выборки
- Полнота системы – доля найденных классификатором изображений, принадлежащих к классу относительно всех изображений этого класса в тестовой выборке
Заключение
На основе анализа предметной области был сделан выбор в пользу наиболее подходящих с практической точки зрения инструментов. Была реализована полноценная система слежения и идентификации лиц в видеопотоке с применением зарекомендовавших себя практик при создании приложений. Построенная система выполняет свою задачу, а также обладает потенциалом к быстрому развертыванию на большинстве широко используемых систем и масштабированию.
Конфликт интересов
Не указан. |
Conflict of Interest
None declared. |
Список литературы / References
- Mayhew S. History of Biometrics // 2020, [Electronic resource] URL: https://biometricupdate.com/201802/history-of-biometrics-2 (accessed: 16.07.2020)
- Sundararajan K. Deep Learning for Biometrics: A Survey / K. Sundararajan, Woodard K. Damon. // ACM Computing Surveys (51), 2018, pp. 1-34.
- Jakhar P. Coronavirus: China’s tech fights back / P. Jakhar // BBC Monitoring 2020, [Electronic resource] URL: https://bbc.com/news/technology-51717164 (accessed: 16.07.2020)
- He K. Identity Mappings in Deep Residual Networks / He, K., Zhang, X., Ren, S., Sun, J. // ArXiv, 2016, abs/1603.05027.
- Shepley A.J. Deep Learning For Face Recognition: A Critical Analysis / A.J. Shepley // ArXiv, 2019, abs/1907.12739.
- Wang Q. Benchmarking deep learning techniques for face recognition / Q. Wang, G. Guo // Journal of Visual Communication and Image Representation, Vol. 65, 2019.
- Jia Y. Caffe: Convolutional Architecture for Fast Feature Embedding / Jia Y. et al. // ArXiv, 2014, abs/1408.5093.
- Cai Lei,. HOG-assisted deep feature learning for pedestrian gender recognition / Cai, Lei, Jianqing Zhu, Huanqiang Zeng, Jing Chen, Canhui Cai and Kai-Kuang Ma. // J. Frankl. Inst. 355 (2018): 1991-2008.
- Wang Xiaoyu An HOG-LBP human detector with partial occlusion handling / Wang, Xiaoyu, Tony X. Han and Shuicheng Yan. 2009 IEEE 12th International Conference on Computer Vision (2009): 32-39.
- Kazemi, V. One millisecond face alignment with an ensemble of regression trees. One millisecond face alignment with an ensemble of regression trees / V. Kazemi, J. Sullivan // IEEE Conference on Computer Vision and Pattern Recognition, 2014, 1867- 1874.