УДК 004

Автоматическое распознавание лиц: математические методы и технологии

Шелковских Иван Сергеевич – студент Санкт-Петербургского государственного университета гражданской авиации имени А. А. Новикова.

Комбаров Владислав Денисович – студент Санкт-Петербургского государственного университета гражданской авиации имени А. А. Новикова.

Михайлов Андрей Вячеславович – студент Санкт-Петербургского государственного университета гражданской авиации имени А. А. Новикова.

Научный руководитель Лозница Стефан Юрьевич – старший преподаватель кафедры Высшей математики Санкт-Петербургского государственного университета гражданской авиации имени А. А. Новикова.

Аннотация: Распознавание лиц – это биометрический метод, который восходит к 1960-м годам и включает в себя сравнение лица с лицами из базы данных. Люди изучали черты лица с глубокой древности в попытке выяснить, какие аспекты помогают нам в выполнении основных задач идентификации: распознавание человека, определение его возраста, пола, оценка выражения лица и даже привлекательности. Когда мы говорим о системах распознавания лиц, первое, что они должны уметь - обработка изменений, как самого лица, так и окружающей среды. Все эти сложности делают математическое моделирование совсем непростым. Очевидно, что о простых инвариантных теориях, таких как инварианты групп Ли, не может быть и речи, и нам потребуется более специализированное оборудование для выполнения работы. Далее приведены наиболее распространенные методы, используемые для решения подобных задач. При анализе изображения алгоритм стремится найти участки кожи, во-первых, потому что она покрывает большую часть лица, а во-вторых ее цвет является ключевым фактором при определении конкретного человека. Цвет кожи может использоваться для идентификации его лица как на фото, так и на видео. Определение области кожи на цифровых изображениях более легкое в выполнении с вычислительной точки зрения. Кроме того, распределение цветов кожи между этническими группами соответствует гауссовой закономерности. Цвета кожи изучаются в трех цветовых пространствах (RBG, HSB и YCCB) и представлены в нашем исследовании в виде гистограмм и распределений цветов кожи.

Ключевые слова: распознавание лиц, компьютерное зрение, собственные лица, обработка изображений.

1. Введение

Распознавание лиц - распространенное направление в области компьютерного зрения. Основная идея заключается в сопоставлении обнаруженного лица с записью пользователя в тренировочной базе. Процесс распознавания лиц реализуется с помощью алгоритмов, которые обнаруживают лицевую область, обрабатывают полученное изображение, а затем производят извлечение лицевых признаков. Здесь мы получаем основную информацию о чертах и внутренних характеристиках каждого лица (глаза, нос, подбородок, брови, рот и т.д.), что создает уникальный биометрический образ для каждого человека. Эти алгоритмы имеют различные показатели точности в различных условиях, таких как освещение, расстояние, движение, качество камеры, фон и контраст. Обычно для распознавания лиц используются алгоритмы PCA (анализ главных компонентов) и Eigenfaces. Комбинация этих методов позволяет распознать неизвестное тестовое изображение, сравнить его с тренировочными изображениями, хранящимися в базе данных, и получить информацию о распознанном человеке. Обнаружение и распознавание человеческих лиц играют важную роль в таких областях, как видеонаблюдение, безопасность и управление данными о лицах. Системы распознавания лиц и подобные биометрические системы (3D сканирование лица, геометрический анализ лица и т.д.) представляют схожую методологию. Процесс начинается с обнаружения лица, где определяется область лица. На втором этапе изучаются и извлекаются внутренние характеристики лица; акцент делается на тех признаках, которые позволяют выделить лицо человека на фоне набора изображений. Наконец, производится верификация личности.

Рисунок 1. Алгоритм распознавания.

Обнаружение и распознавание лиц включают процесс нахождения одного или нескольких лиц на изображениях или видео. Для этого используется алгоритм обнаружения лиц, который ищет прямоугольные области внутри изображения или, при отсутствии таковых, области, содержащие объекты, подобные объектам из ранее установленного набора данных обучения. Эта функция сканирует изображение на разных масштабах с целью распознавания лиц разных размеров. Распознавание лиц является очень важной областью исследований в компьютерном зрении, основа которой заключается в сопоставлении обнаруженного лица с записью пользователя в обучающей базе. Для выполнения распознавания лиц существует множество алгоритмов; в настоящем исследовании были реализованы методы, основанные на линейном внешнем виде, как показано на схеме:

Рисунок 2. Расширенный алгоритм верификации личности.

2. Методы основанные на линейном внешнем виде

2.1. Хаар каскадной определение лица

Процесс обнаружения людей реализован изначально в библиотеке OpenCV для свободного использования. Библиотека OpenCV предоставляет различные классификаторы для обнаружения областей тела в ее расширении [13,14], подробно описанных в Таблице 1.

Таблица 1. Хаар каскадное определение частей тела.

Определение области

Имя классификации

Тело

“haarcascade_fullbody”

Нос

“haarcascade_mcs_nose”

Рот

“haarcascade_mcs_mouth”

Глаза

“haarcascade_eye_tree_eyeglasses”

Лицо

“haarcascade_frontalface_alt_tree”

“haarcascade_frontalface_alt”

“haarcascade_frontalface_alt_tree”

“haarcascade_frontalface_alt”

“haarcascade_frontalface_alt_tree”

“haarcascade_frontalface_alt”

 “haarcascade_frontalface_alt_tree”

“haarcascade_frontalface_alt”

“haarcascade_frontalface_alt_tree”

“haarcascade_frontalface_alt”

“haarcascade_frontalface_alt_tree”, “haarcascade_frontalface_alt”

Эта система использует файл "haarcascade_frontalface_default.xml" для процесса обнаружения лиц. Этот классификатор является фундаментальным на начальном этапе процесса обнаружения, установленного в обучающей машине. Функция каскада обучается на наборе действительных и недействительных фотографий тестовых объектов, обнаруживая необходимые области, в случае нашей системы - лица.

2.2. Алгоритм бинарных шаблонов

Алгоритм локальных бинарных шаблонов (LBP) реализует процесс, при котором лицо разделяется на сетку из 7x7 ячеек равного размера для инициации процесса извлечения характеристик лица. Следующим шагом является извлечение гистограммы из каждой из ячеек и присвоение каждой своего локального значения; угловые ячейки, например, содержат меньше информации о лице, чем центральные ячейки (где находятся глаза, нос, губы и т.д.). Распознавание лица на основе геометрических особенностей лица - самый интуитивно понятный подход к распознаванию лиц.

Первая система распознавания лиц была описана Паркером в обозначении точек, таких как положение глаз, ушей, носа, рта и т.д. Затем строятся векторы, содержащие расстояние между двумя точками. Распознавание осуществляется путем расчета евклидового расстояния между векторами и сравнения результата с исходными изображениями. У этого первого метода есть большой недостаток: точная регистрация опорных точек затруднена, даже на сегодняшний день. Используется вектор характеристик размерностью в 22 измерения, посредством которого определяется, что геометрические характеристики лица, по себе, не содержат достаточно информации для распознавания лица. На схеме 3 показаны фазы, составляющие процесс извлечения характеристик лица. Процесс начинается с изменения размера полученного изображения, последующего извлечения характеристик лица, заканчивая выбором и дискриминацией определяющих значений.

Рисунок 3. Процесс извлечения лицевых характеристик.

  • Обнаружение лиц: Захватывается изображение лица студента для идентификации среди набора пользователей.
  • Сокращение размерности изображения: Здесь начинаются процессы, такие как: адаптация изображения лица к оттенкам серого и получение области интереса.
  • Извлечение характеристик лица: Получается информация о лицевых чертах и внутренних характеристиках каждого лица (глаза, нос, подбородок, брови, рот и т. д.), что генерирует уникальный биометрический шаблон для каждого человека.
  • Выбор лицевой характеристики: Полученная информация сравнивается с набором данных. Полученные результаты отражают процент сходства студента, который нужно идентифицировать.

где:

(Xc, Yc) – это центральный пиксель окрестности

ic – интенсивность пикселя в оттенках серого

ip – интенсивность соседнего пикселя в оттенках серого

Функция S, определенная как:

S(x) – это детали лица.

Этот алгоритм позволяет захватывать множество деталей на изображениях, создает гистограмму изображения в оттенках серого и получает информацию наиболее эффективным образом. Гистограмму можно рассматривать как дескриптор текстуры. На рисунке 4 показано, как уменьшить матрицу (3 х 3) пикселей. Процесс начинается с определения центрального пикселя, затем вычисляется значение интенсивности этого пикселя; наконец, анализируются соседние пиксели в матрице для определения порога через двоичные значения. После конкатенации получается двоичный результат, который определит метку исходной матрицы.

Рисунок 4. Оригинальный процесс локальных бинарных шаблонов

  • Набор данных: Этот прототип предоставляет примерно 75% фотографий в качестве обучающих данных для алгоритма, а оставшиеся 25% данных позволяют оценить распознавание лиц.
  • Оттенки серого: Позволяет вычислить LBP для каждого канала или преобразовать изображение в оттенки серого.
  • Центральный пиксель: Этот пиксель будет объектом анализа; дополнительно необходимо установить порядок сравнения. Смотрите (3).

(3)

2.3. Метод Eigenfaces

Этот алгоритм реализует набор собственных векторов для распознавания человеческого лица и был разработан Сировичем и Кирби. Слово "eigen" означает набор собственных векторов. Важно отметить, что алгоритм Eigenfaces может быть применен к другой области, кроме распознавания лиц (он может быть применен к любому набору данных или объектам того же типа, которые необходимо сравнить). Для эффективного распознавания лиц требуется множество изображений каждого человека.

Этапы метода Eigenfaces

На рисунке 6 синтезируются четыре этапа, составляющие процесс алгоритма.

Рисунок 5. Процесс алгоритма Eigenfaces.

Процесс алгоритма Eigenfaces

В процессе идентификации предложено использовать евклидово расстояние между двумя изображениями, представленными алгоритмом Eigenfaces, как показано в Таблице 2.

Таблица 2. Евклидово расстояние между двумя изображениями.

 

Идентификация с помощью алгоритма Eigenface

Алгоритм идентификации осуществляет линейную проекцию пространства изображений в пространство признаков меньших размерностей. Это происходит на основе векторов, полученных в результате применения уравнения.

Где:

  • QF – это искомое лицо
  • Eigenface1 - это лицо (1)
  • Eigenface2 - это лицо (2)
  • Eigenfacen - это лицо (n) (Схема 7)

Top of Form

Рисунок 6. Первые семь лиц были получены путем применения алгоритма Eigenfaces с использованием изображений из расширенной базы данных Yale Face.

3. Методология

3.1. Набор данных объектов для идентификации

Подробные характеристики прототипа системы:

  • У субъектов разные детали лица (с усами или без, в очках или без).
  • Изображения имеют 256 уровней оттенков серого для каждого пикселя.
  • Все фотографии в наборе данных содержат только изображение лица.
  • Изображения лиц имеют разнообразную мимику.
  • Улучшения в разделе графического интерфейса пользователя: более интуитивно понятные окна и интерфейсы.
  • Улучшения в процессе распознавания лиц субъектов с меньшим количеством ошибок и более надежным и стабильным программным обеспечением.
  • Каждая фотография имеет стандартное разрешение 100*100 пикселей, плотность 96 пикселей на дюйм (Таблица 3).

Таблица 3. Уровень распознавания лиц.

Обнаружение и распознавание лиц включают в себя обнаружение одного или нескольких лиц на изображениях или видео. В этом смысле важно искать прямоугольные области внутри изображения или, в противном случае, области, которые содержат объекты, аналогичные объектам из набора обучающих данных. Эта функция выполняет процесс сканирования изображения в разных масштабах с целью распознавания лиц разных размеров.

3.2. Системный регистр

На рис. 8 показан пользовательский интерфейс. Это позволяет захватывать и сохранять изображения пользователей, которые необходимо идентифицировать.

Рисунок 7. Этап захвата изображений.

3.3. Этап обучения и распознавания

На первом этапе необходимо зарегистрировать всех пользователей. Далее следует этап распознавания с использованием веб-камеры или заранее созданного и сохраненного на компьютере видео. Система сравнивает все записи, хранящиеся в наборе данных, затем система связывает пользователей со схожими характеристиками, отбрасывая пользователей, не соответствующих сходству; Наконец, система уже представляет ответ конечному пользователю с указанием личности субъекта. См. рис. 10. Для этой реализации требуются параметры объекта EigenObjectRec-опознаватель, который выполняет сравнение между этими параметрами для определения личности субъекта (рис. 9).

Рисунок 8. Распознавание лиц студентов: Альма (80%) и Мануэль (93%).

Рисунок 9. Тестовый этап

В Таблице 4 показана точность на этапе испытаний. В таблице 5 показаны «ложноположительные результаты» на этапе тестирования.

Таблица 4. Точность и время распознавания лиц.

Eigenfaces

Лица LBP

Лица Фишера

Точность (%)

Время (мс)

Точность

(%)

Время (мс)

Точность (%)

Время (мс)

97

187.15

87

648.10

94

257.23

Таблица 5. Ложноположительный тест.

Название алгоритма

Изображения для студентов

 

Этап 1

Этап2

Этап 3

Лица LBP

4

0-4%

35%

47%

10

0-4%

9%

21%

Eigenfaces

4

0-4%

23%

27%

10

0-4%

11%

16%

4. Обсуждение

Анализируемые алгоритмы Eigenfaces, LBP лица являются традиционными алгоритмами, которые позволяют достаточно быстро анализировать изображения при обнаружении лиц. Методика обнаружения лиц с помощью алгоритма собственных лиц с его этапами обучения и классификации имеет высокую точность 97% и время обработки 187,15 мс. Однако изображения должны быть фронтальными и с хорошим освещением, поэтому иногда лицо не распознается правильно. Алгоритм LBP лица имеет хорошую точность — 87%, но время — 648,10 мс. В процессе распознавания это высший из анализируемых алгоритмов. Также можно убедиться, что при использовании большего количества изображений при обучении алгоритмов для последующего сравнения можно использовать более высокие характеристики.

5. Выводы

Распознавание пользователя происходит мгновенно и рассматривается как время отклика в режиме реального времени, при этом чем больше изображений учащихся необходимо анализировать, тем больше вычислительное время требуется для сравнения. В этой статье предлагается и анализируется метод обнаружения людей с использованием традиционных алгоритмов, таких как лица LBP, Eigenfaces. Было проведено множество экспериментов на основе этой системы, и результаты показывают, что алгоритм Eigenfaces был быстрее и эффективнее при разработке обучающих тестов набора данных, что оправдывает его внедрение в качестве стандартного метода обнаружения для разработки системы, и этот метод влечет за собой более высокие вычислительные затраты. Алгоритм Eigenfaces обеспечивает лучшую производительность для изображений с изменением как освещения, так и положения лица учащегося (см. Таблицу 5). Использование большего количества фотографий для набора данных распознавания приводит к повышению производительности алгоритма при измерении производительности с помощью метрики отзыва (ложных срабатываний). Данные системы можно применять в качестве контрольно- пропускной способности в аэропортах, так как не раз происходили случаи в надобности обнаружения лиц. Также распознавание лиц можно ввести, как систему безопасности в самолете, пилот будет заходить в кабину проходить, верификацию лица, и только после этого, он сможет приступить к управлению воздушного судна, это позволит увеличить безопасность на борту, так как никто другой не сможет попасть в кабину.

Список литературы

  1. Распознавание лиц для чайников / Хабр [Электронный ресурс]. – URL: https://habr.com/ru/articles/745512.
  2. Лукьянчиков А. И., Русаков А. М., Филатов В. В., Долженков С. С. Принцип работы систем распознавания лиц и особенности их применения при обработке видеопотока в реальном времени. – URL: https://www.researchgate.net/publication/374889736_princip_raboty_sistem_raspoznavania_lic_i_osobennosti_ih_primenenia_pri_obrabotke_videopotoka_v_realnom_vremeni.
  3. Технология распознавания лиц: принцип работы и актуальность [Электронный ресурс]. – URL: https://faceter.cam/ru/blog/tehnologiya-raspoznavaniya-lits-printsip-raboty-i-aktualnost.
  4. Что такое распознавание лиц – определение и описание // Kaspersky [Электронный ресурс]. – URL: https://www.kaspersky.ru/resource-center/definitions/what-is-facial-recognition.
  5. Face Recognition [Электронный ресурс]. – URL: https://github.com/ageitgey/face_recognition.
  6. Xia Miao, Ziyao Yu, Ming Liu Using Partial Differential Equation Face Recognition Model to Evaluate Students’ Attention in a College Chinese Classroom [Электронный ресурс]. – URL: https://www.hindawi.com/journals/amp/2021/3950445.
  7. Understanding facial recognition algorithms [Электронный ресурс]. – URL: https://recfaces.com/articles/facial-recognition-algorithms.

Интересная статья? Поделись ей с другими: