Введение.В эпоху стремительной цифровизации бизнеса и повсеместной автоматизации процессов человеческие ресурсы становятся важнейшим активом любой организации. Эффективность управления персоналом напрямую зависит от точности и объективности данных о его деятельности, а основой для этого служит достоверный учет рабочего времени. Традиционные методы учета, такие как бумажные журналы или электронные таблицы с ручным вводом данных, а также простые системы на основе пропускных карт, не справляются с вызовами современного быстроразвивающегося предприятия. Они подвержены ошибкам, «припискам», «дружескому» учету времени коллегами («buddy punching»), требуют много времени на администрирование и не обеспечивают необходимого уровня достоверности и аналитики.
В этой связи разработка автоматизированной системы учета рабочего времени, основанной на биометрической идентификации сотрудников с использованием технологий компьютерного зрения, представляется исключительно актуальной и востребованной задачей.
Биометрическая идентификация по лицу — это метод, который, в отличие от пропускной карты, брелока или PIN-кода, невозможно передать, потерять, украсть или подделать без использования сложных высокотехнологичных средств. Это позволяет полностью устранить проблему «buddy punching», когда один сотрудник отмечает приход или уход за другого.
Внедрение такой системы обеспочит справедливые и равные для всех условия учета для всех сотрудников, минимизирует риски внутреннего мошенничества и повышает общий уровень корпоративной безопасности, ограничивая доступ в помещения только авторизованным сотрудникам.
Детекция лиц (Face Detection) является основополагающий и критически важный этап в разработке приложения для учёта рабочего времени сотрудников. Задача алгоритма — автоматическое обнаружение и локализация лиц на изображении или в видеопотоке. Эффективность и точность всей системы распознавания напрямую зависят от качества выполнения этого начального этапа.
Цель исследования– изучить алгоритмы распознавания лиц и провести их сравнительный анализ для создания программного обеспечения, которое будет учитывать рабочее время сотрудников.
Материал и методы исследования
В процессе исследования были проанализированы научные публикации и техническая документация, которые раскрывают принципы работы, архитектуру, а также преимущества и недостатки трёх основных классов алгоритмов, предназначенных для обнаружения лиц. Анализ носил сравнительный и аналитический характер. В ходе исследования были систематизированы и оценены следующие методы:
Алгоритм Виолы-Джонса (каскады Хаара). Были подробно изучены ключевые составляющие данного алгоритма: признаки Хаара для выявления контрастных особенностей, интегральное изображение для ускорения вычислений и каскадная структура классификаторов для быстрого отбраковки негативных регионов. В качестве практической реализации рассмотрена предобученная модель haarcascade_frontalface_default.xml из библиотеки OpenCV.
Метод HOG (Histogram of Oriented Gradients) склассификатором SVM.В этом методе для распознавания объектов используется дескриптор, который строится на основе гистограмм направлений градиентов яркости в локальных областях изображения. Затем дескриптор нормализуется внутри блоков. Для принятия решений применяется линейный классификатор опорных векторов. В качестве примера реализации этого метода можно привести детектор из библиотеки Dlib.
Методы на основе глубоких нейронных сетей (DNN). Исследованы две основные архитектурные парадигмы: двухэтапные детекторы (например, Faster R-CNN) и одноэтапные детекторы (такие как SSD и YOLO). Особое внимание уделено оптимизированным для работы в реальном времени моделям (например, MobileNet-SSD). В качестве основного инструмента для применения данного класса методов рассмотрен DNN-модуль библиотеки OpenCV (cv2.dnn), который поддерживает загрузку предобученных моделей из фреймворков Caffe, TensorFlow и других. Конкретным примером является легковесная модель opencv_face_detector.caffemodel.
Для сравнительного анализа были выбраны следующие критерии:
Точность распознавания в различных условиях, включая освещение, ракурс и наличие препятствий.
Скорость работы алгоритма.
Требования к вычислительным ресурсам, таким как CPU и GPU.
Легкость интеграции в уже существующие программные продукты.
Результаты исследования и их обсуждение
Детекция лиц (Face Detection) представляет ключевую задачу компьютерного зрения, заключающаяся в автоматическом обнаружении и локализации лиц на цифровых изображениях или в видеопотоке. Качество и эффективность этого этапа напрямую влияют на точность всей системы распознавания. В настоящее время для решения этой задачи широко применяются три класса алгоритмов: методы на основе признаков (каскады Хаара), на основе гистограмм ориентированных градиентов и на основе глубоких нейронных сетей. Сравнительный анализ их характеристик является основой для обоснованного выбора технологии для проекта.
1. Алгоритм Виолы-Джонса (каскады Хаара – Haar Cascades).Данный алгоритм, предложенный в 2001 году, стал первым эффективным методом для детекции объектов в реальном времени [1]. Его работа основывается на трёх ключевых идеях (рис.1):
Рисунок 1 –АлгоритмВиолы-Джонса (каскадыХаара – Haar Cascades) [7]
Признаки Хаара (Haar-like Features) – это простые прямоугольные шаблоны, которые вычисляют разность сумм интенсивностей пикселей в белой и чёрной областях. Эти признаки позволяют эффективно выявлять контрастные особенности лица, такие как область глаз (тёмная) относительно переносицы (светлая) или вертикальные границы носа [2, c. 154].
Интегральное изображение (Integral Image) – это техника, позволяющая вычислять суммы интенсивностей в прямоугольных областях изображения за константное время, что обеспечивает высокую скорость расчёта большого количества признаков [1].
Каскадный классификатор (Cascade of Classifiers) – это алгоритм, основанный на последовательном применении простых классификаторов. Если область изображения не проходит через каждый этап, она сразу исключается из дальнейшего рассмотрения. Благодаря этому основное время тратится только на обработку областей-кандидатов, что обеспечивает высокую скорость работы [1].
Преимущества метода включают высокую скорость работы на CPU, простоту реализации и наличие предобученных моделей во многих библиотеках, включая OpenCV (haarcascade_frontalface_default.xml). Основные недостатки — низкая устойчивость к изменениям ракурса (оптимизирован для фронтальных лиц), чувствительность к сложному фону и освещению, а также более низкая точность по сравнению с современными методами на основе глубокого обучения.
2.Метод гистограммы ориентированных градиентов (HOG – Histogram of Oriented Gradients). HOG был первоначально разработан для детекции пешеходов, но успешно адаптирован для лиц в комбинации с классификатором опорных векторов [3, c. 101]. Алгоритм не использует непосредственно интенсивность пикселей, а анализирует структуру объекта (рис. 2).
Рисунок 2 – Метод гистограммы ориентированных градиентов [8]
Принцип работыHOG заключается в следующем: изображение делится на небольшие ячейки, и для каждой из них строится гистограмма направлений градиентов яркости, также известных как ориентации краев. Эти локальные гистограммы затем нормализуются внутри более крупных блоков для компенсации изменений освещённости. Полученный дескриптор HOG описывает форму и контуры объекта [3, c. 103].
Полученныйвектор признаков подаётся на вход линейного классификатора SVM, который обучается отличать лицо от не-лица. В сравнении с каскадами Хаара, HOG обычно демонстрирует более высокую точностьилучшую устойчивость к изменению освещения благодаря нормализации градиентов. Однако этот метод, как правило, требует больше вычислительных ресурсов и работает медленнее, чем каскады Хаара, особенно при работе с большими изображениями. Реализация HOG для детекции лиц доступна, например, в библиотеке Dlib.
3. Методы на основе глубоких нейронных сетей (DNN – Deep Neural Networks).Современный этап развития детекции лиц связан с применением сверточных нейронных сетей (Convolutional Neural Networks, CNN) и более сложных архитектур [4, c. 17]. Эти методы можно разделить на две основные категории: двухэтапные (two-stage) и одноэтапные (one-stage) детекторы (рис.3).
Рисунок 3 – DeepNeuralNetworks (Глубокие нейронные сети) [9]
Двухэтапные детекторы, такие как Faster R-CNN, работают в два этапа: сначала они выделяют области, которые могут содержать объекты (Region Proposal Network), а затем классифицируют каждый регион и уточняют его границы. Этот подход обеспечивает высокую точность, но требует больше времени для обработки изображений [5, c. 123].
Одноэтапные детекторы (например, SSD – Single Shot MultiBox Detector, YOLO – You Only Look Once): Они прогнозируют координаты ограничивающих рамок (bounding boxes) и вероятности классов непосредственно за один проход по сети. Эти детекторы обеспечивают оптимальный баланс между скоростью и точностью и наиболее пригодны для работы в реальном времени [5, c. 125].
Преимущества DNN-методов неоспоримы: они обеспечивают наивысшую точность детекции, высокую устойчивость к окклюзиям частичному перекрытию лица (окклюзиям), изменениям ракурса, масштаба и освещённости. Современные сети обучаются на огромных наборах данных таких как WIDER FACE, что позволяет им обобщать сложные закономерности. Главный недостаток — высокие требования к вычислительным ресурсам. Для обеспечения скорости, приемлемой для реального времени, часто требуется использование графических процессоров (GPU). Тем не менее, существуют оптимизированные легковесные модели такие как MobileNet-SSD, способные работать и на CPU.
При выборе алгоритма распознавания для конкретной системы необходимо учитывать три ключевых параметра: точностью, скоростью и ресурсоёмкостью. Для разрабатываемой системы учёта рабочего времени, где приоритетом является надёжная фиксация событий, наиболее предпочтительным является использование современных методов на основе глубоких нейронных сетей (DNN). Несмотря на повышенные требования к вычислительным ресурсам, ключевые преимущества DNN — высочайшая точность и устойчивость к изменениям ракурса, освещения и наличию аксессуаров — критически важны для обеспечения надёжности системы в реальных, неидеальных условиях офисной среды [4, c. 17].
Использование DNN-модуля библиотеки OpenCV (cv2.dnn) предоставляет уникальную возможность объединить передовую точность нейросетевых моделей, таких как MobileNet-SSD или OpenPose и удобство интеграции в в выбранный технологический стек. Данный модуль поддерживает загрузку предобученных моделей из популярных фреймворков, включая TensorFlow, Caffe, PyTorch, PyCharm, что избавляет от необходимости их сложного обучения с нуля [6]. Для нивелирования повышенной вычислительной нагрузки можно выбрать оптимизированную, легковесную модель например, opencv_face_detector.caffemodel, которая поставляется с OpenCV и специально разработанна для баланса скорости и качества на CPU. Таким образом, выбор в пользу DNN-детектора в OpenCV является разумным решением для создания надежной и технологически современной системы, отвечающей строгим требованиям к точности. При условии правильного выбора конкретной архитектуры нейронной сети, DNN-детектор в OpenCV станет основой для создания высокоточного и современного решения.
Выводы. Проведённый сравнительный анализ алгоритмов распознавания лиц наглядно демонстрирует, что методы на основе глубоких нейронных сетей значительно превосходят классические подходы, такие как Haar Cascades, HOG, по ключевому для нашего проекта параметру — точности распознавания в разнообразных условиях. Хотя DNN-методы предъявляют более высокие требования к вычислительным ресурсам, использование оптимизированных предобученных моделей через DNN-модуль OpenCV позволяет успешно применять их на стандартном CPU, что подтверждается практикой внедрения. Таким образом, выбор в пользу DNN-детектора, является стратегическим решением, направленным на обеспечение максимальной надёжности и устойчивости системы биометрического учёта к внешним факторам, таким как освещение, ракурс. Это напрямую влияет на выполнение нефункционального требования по низкому проценту ложных отказов. Классические алгоритмы, как Haar Cascades сохраняют свою актуальность благодаря своей скорости и простоте, однако для решения поставленной задачи с высокими требованиями к достоверности приоритет отдаётся передовой нейросетевой методологии.
Списоклитературы
Viola, P., Jones, M. Rapid Object Detection using a Boosted Cascade of Simple Features // Proceedings of the 2001 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR). – 2001. – Vol. 1. – [Электронныйресурс]. – Режимдоступа: https://ieeexplore.ieee.org/document/990517.
Брэдски, Г. Освой самостоятельно компьютерное зрение на языке Python за 24 часа / Г. Брадски, Дж. Келер, Э. Бэхук ; пер. с англ. – Москва : Вильямс, 2022. – 432 с.
Павлов, С. С. Методы и алгоритмы детектирования лиц в видеопотоке в реальном времени / С. С. Павлов, А. И. Федоров // Известия ЮФУ. Технические науки. – 2021. – № 5 (214). – С. 98–110.
Бобина, М. А. Сравнительный анализ алгоритмов распознавания лиц в условиях неидеального освещения / М. А. Бобина, С. К. Волков // Информационные технологии и вычислительные системы. – 2023. – № 2. – С. 12–24.
Шаров, В. И. Применение библиотеки OpenCV для задач компьютерного зрения в образовательных проектах / В. И. Шаров, Т. П. Новикова // Современные информационные технологии и ИТ-образование. – 2022. – Т. 18, № 1. – С. 120–129.
Документация библиотеки OpenCV. – [Электронный ресурс]. – Режим доступа: https://docs.opencv.org/4.x/.
25 Object Detection with HAAR Cascade Classifiers: [сайт]. –
URL:https://www.youtube.com/watch?v=kThRJyQCW-8
Continuous Human Action Recognition Using Depth-MHI-HOG and a Spotter Model: [сайт]. - URL: https://www.mdpi.com/1424-8220/15/3/5197
Deep Learning Vs Machine Learning: [сайт]. – URL: https://k21academy.com/ai-ml/dl-vs-ml/