Статья опубликована в рамках: CLIV Международной научно-практической конференции «Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ» (Россия, г. Новосибирск, 06 октября 2025 г.)
Наука: Информационные технологии
Скачать книгу(-и): Сборник статей конференции
дипломов
ЭФФЕКТИВНОСТЬ ФРОНТАЛЬНЫХ КАСКАДОВ ХААРА ПРИ РАСПОЗНАВАНИИ ЛИЦ C ПРИМЕНЕНИЕМ БИБЛИОТЕКИ «КОМПЬЮТЕРНОГО ЗРЕНИЯ» OPENCV
THE EFFECTIVENESS OF HAAR FRONTAL CASCADES IN FACE RECOGNITION USING THE OPENCV COMPUTER VISION LIBRARY
Alexander Noyanov
Student, Specialty «Information systems and programming», Tver Chemical Technology College,
Russia, Tver
Anna Pirogova
Scientific supervisor, teacher, Tver Chemical Technology College,
Russia, Tver
АННОТАЦИЯ
В работе проведено сравнение эффективности четырех фронтальных каскадов Хаара при распознавании на фото человеческих лиц и определении их количества с применением библиотеки OpenCV и языка программирования Python. Максимальный результат показали каскады alt2 и alt, использующие средневзвешенный алгоритм расчета. Для каскадов alt_tree и default выявлены проблемы («потеря» лиц, ложное срабатывание). Проанализированы ограничения по применению данных каскадов в распознавании лиц.
ABSTRACT
The paper compares the effectiveness of four frontal Haar cascades in recognizing human faces in photos and determining their number using the OpenCV library and the Python programming language. The alt2 and alt cascades using a weighted average calculation algorithm showed the maximum result. Problems were identified for the alt_tree and default cascades («loss» of faces, false alarms). The limitations on the use of these cascades in face recognition are analyzed.
Ключевые слова: лицо; распознавание; компьютерное зрение; каскад Хаара; библиотека OpenCV.
Keywords: face; recognition; computer vision; Haar cascade; OpenCV library.
Технологии распознавания лиц на фотографиях широко применяются в различных сферах, включая безопасность, здравоохранение, торговлю и образование. На основе анализа лицевых характеристик данные технологии позволяют идентифицировать личность человека, используя алгоритмы машинного обучения [1].
Выбор максимально эффективного алгоритма распознавания лиц на фото и видео является актуальной проблемой. Одним из направлений ее решения выступает технология «компьютерного зрения», реализованная в наборе методов библиотеки OpenCV. Для обнаружения лиц на фото данная библиотека использует метод машинного обучения, получивший название «каскад Хаара» в честь венгерского математика Альфреда Хаара (1885-1933), исследователя геометрических структур, на которых построен данный алгоритм.
Целью данной работы являлось сравнение эффективности фронтальных каскадов Хаара при установлении наличия на фото человеческих лиц и определении их количества с применением библиотеки OpenCV и языка программирования Python.
Идея алгоритма распознавания лиц, основанного на каскадах Хаара, была предложена Полом Виолой и Майклом Джонсом в 2001 г. В основе метода Виолы-Джонса лежат примитивы – варианты разбивки заданной прямоугольной области на наборы разнотипных прямоугольных подобластей (рисунок 1).
Рисунок 1. Примитивы Хаара
Функция Хаара равна средневзвешенной сумме яркостей пикселей разнотипных подобластей. Превышение этой суммой установленного порога указывает на присутствие объекта. Примитивы разных размеров и форм фиксируют его особенности: форму, контуры, расстояние до других объектов и т.д. При распознавании лиц фото «прогоняется» через многоуровневую систему фильтров, каждый из которых обучен искать определенную деталь (подбородок, глаза, брови, нос, рот и т.д.). В результате каскадной фильтрации все обнаруженные на фото объекты будут разделены на «лица» и «не лица» (рисунок 2) [4].
Рисунок 2. Алгоритм каскадной фильтрации
В 1999 г. компания Intel создала библиотеку OpenCV с открытым исходным кодом для работы с алгоритмами «компьютерного зрения», машинного обучения и обработки изображений. Файлы каскадов мы скачивали с сервиса GitHub [2]. Алгоритм распознавания лиц был реализован в виде программы «Faces» на языке Python [3]. С помощью программы мы проверили на тестовых наборах фотографий работу четырех фронтальных каскадов Хаара (frontalface), различающихся по структуре.
На первом этапе мы выяснили, насколько корректно исследуемые каскады работают при различной численности людей на фото (данный параметр изменялся от 0 до 10). Результаты тестирования – на рисунке 3.
Рисунок 3. Результаты тестирования № 1
На втором этапе мы проверили работу каскадов при различном уровне сложности объектов, представленных на фото. Результаты – на рисунке 4.
Рисунок 4. Результаты тестирования № 2
Эффективность каскада оценивалась как отношение количества правильных распознаваний к суммарному количеству лиц на тестовых фотографиях. Результаты приведены в таблице 1.
Таблица 1
Сравнительная эффективность фронтальных каскадов Хаара
Фронтальный каскад Хаара |
Эффективность, % |
||
распознавания лиц |
игнорирования посторонних объектов |
определения количества лиц |
|
alt2 |
97 |
100 |
97 |
alt |
97 |
97 |
94 |
alt_tree |
70 |
100 |
70 |
default |
99 |
48 |
46 |
Анализ полученных данных позволяет сделать следующие выводы.
1. При распознавании лиц анфас методом «компьютерного зрения» с применением каскадов Хаара наиболее эффективны фронтальные каскады alt2 и alt, использующие средневзвешенный алгоритм расчета. «Мягкая» фильтрация AdaBoost в каскаде alt2 (средняя эффективность 97%) незначительно повышает его эффективность по сравнению с alt (94%).
2. Каскад alt_tree, использующий дерево классификаторов, наименее эффективен при распознавании лиц, однако с высокой точностью отфильтровывает посторонние объекты, показывая в итоге среднюю эффективность 70%.
3. Основной проблемой каскада default является большой процент ложных срабатываний при достаточно высокой эффективности распознавания настоящих лиц. В результате данный каскад оказался на последнем месте среди исследованных (средняя эффективность 46%).
4. Применение фронтальных каскадов Хаара в распознавании лиц имеет определенные ограничения:
- наличие на фото текстур или объектов, имеющих схожую с человеческим лицом структуру;
- неполная видимость лица или наличие препятствий, мешающих распознаванию (маска, пластический грим, преграда между лицом и объективом фотоаппарата, даже прозрачная);
- поворот лица более чем на 30-45° в плоскости, параллельной плоскости изображения.
Тем не менее, выбрав оптимальный каскад и соблюдая указанные ограничения, можно добиться высокой эффективности распознавания лиц с применением библиотеки «компьютерного зрения» OpenCV.
Список литературы:
- Джат Ю. Как работает система распознавания лиц и где применяется технология // Ростелеком. Простые технологии: рассказываем просто о сложном. URL: https://blog.rt.ru/b2c/kak-rabotaet-sistema-raspoznavaniya-lic-i-gde-primenyaetsya-tekhnologiya.htm (дата обращения: 15.09.2025).
- Каскады Хаара на сервисе GitHub. URL: https://github.com/austinjoyal/haar-cascade-files (дата обращения: 15.09.2025).
- Компьютерное зрение OpenCV: где применяется и как работает в Python // Skillbox Media: официальный сайт. URL: https://skillbox.ru/media/code/kompyuternoe-zrenie-opencv-gde-primenyaetsya-i-kak-rabotaet-v-python/ (дата обращения: 15.09.2025).
- Работа каскада Хаара в OpenCV: теория и практика // Система тематических электронных блогов «Хабр». URL: https://habr.com/ru/companies/recognitor/articles/228195/ (дата обращения: 15.09.2025).
дипломов
Оставить комментарий