Vol. 15. No. 6-2023 H&ES RESEARCH
INFORMATICS, COMPUTER ENGINEERING AND CONTROL doi: 10.36724/2409-5419-2023-15-6-19-25
ИДЕНТИФИКАЦИЯ ЛИЦ ЛЮДЕЙ ПРИ МЕШАЮЩИХ ФАКТОРАХ С ИСПОЛЬЗОВАНИЕМ ИСКУССТВЕННЫХ НЕЙРОННЫХ СЕТЕЙ
ЗВЕЖИНСКИЙ Станислав Сигизмундович1
НИЖНИК
Илья Кириллович2
АННОТАЦИЯ
Введение: Рассмотрена идентификация лиц людей с использованием искусственной нейронной сети (ИНС) в условиях воздействия разнообразных мешающих факторов. Цель исследования: повышение точности идентификация лиц людей при мешающих факторах. Результаты: При анализе вариантов реализации специального программного обеспечения (СПО) предпочтение отдано архитектуре LightCNN, - "облегченной" компактной сверточной нейронной сети для быстрого обучения на больших наборах данных. Разработанное СПО включает ИНС, программные модули и подключаемые библиотеки, которые в совокупности обеспечивают распознавание изображений. Архитектура разработанной ИНС представляет собой чередующиеся слои сверточные, батч-нормализации и пулинга, заканчивающиеся полносвязными слоями с функцией активации ReLU. Для минимизации переобучения применялся метод прореживания, функцией потерь выступала перекрёстная энтропия. Для экспериментальной проверки был собран собственный датасет по фотографиям знаменитых людей из интернет-ресурса "Labeled Faces in the Wild" с добавлением изображений с мешающими факторами. Практическая значимость: Использование архитектуры Light CNN позволяет достичь высокой точности распознавания лиц не менее 0,96 даже при наличии мешающих факторов. Оптимизация параметров СПО, включая размер батча и скорость обучения, дополнительно увеличивает точность и стабильность обучения.
Сведения об авторах:
1 д.т.н., профессор, профессор МТУСИ, Москва, Россия, [email protected]
2 магистр МТУСИ, Москва, Россия, КЛЮЧЕВЫЕ СЛОВА: идентификация лиц, сверточные нейронные сети, [email protected] точность, обучение сети, специальное программное обеспечение.
Для цитирования: Звежинский С.С., Нижник И.К. Идентификация лиц людей при мешающих факторах с использованием искусственных нейронных сетей // Наукоемкие технологии в космических исследованиях Земли. 2023. Т. 15. № 6. С. 19-25. doi: 10.36724/2409-5419-2023-15-6-19-25
Введение
Идентификация личности с помощью искусственных нейронных сетей (ИНС), и прежде всего, на основе глубокого обучения, является важной задачей искусственного интеллекта [1-3]. Ее решение дает широкий спектр практических применений, таких как городские системы безопасности, биометрическая идентификация, социальные сети и др. Как показывают данные компании Google, в условно «хороших» условиях сцены (открытые лица, отсутствие помех и пр.) распознавание лиц людей, осуществляется достаточно надежно, с точностью не менее 98% [4]. Однако при действии мешающих факторов («размытая» фотография, недостаточное освещение, наличие масок и аксессуаров (очки) у людей, неудобный ракурс головы, возрастные изменения и пр.) точность идентификации лиц людей резко снижается [5]. Это удостоверила пандемия COVID-2019, распространившаяся по планете.
В связи с этим задача достижения устойчивого и надежного распознавания лиц людей с помощью современных программ на основе ИНС является актуальной, особенно при действии помех антропогенного характера. Выбор подходящей ИНС зависит от решаемой задачи, требований к точности, скорости, имеющимся ресурсам. Для распознавания видео образов большинство разработчиков используют свер-точные нейронные сети (Convolutional Neural Networks, CNN) [1,6].
Целью статьи является повышение качества идентификация лиц людей в условиях воздействия мешающих факторов с использованием сверточных ИНС. В контексте поставленной задачи, основной интерес представляют динамические адаптивные многослойные CNN с учителем.
Сверточные нейронные сети для распознавания лиц
CNN была разработана для автоматического и адаптивного построения пространственных иерархий объектов высокоуровневых паттернов [7-9]. Типичная CNN представляет собой структуру, включающую 3 типа слоев (или строительных блоков): 1) сверточных; 2) пулинговых; 3) полносвязанных. Первые два типа слоев выполняют роль извлечения признаков, в то время как 3-й слой отображает признаки на выходные данные, осуществляя, например, классификацию образов. Сверточные слои реализуются из набора математических линейных (иногда нелинейных) операций.
В цифровых изображениях значения пикселей обычно представлены в виде двумерной (2D) сетки или массива чисел, а «малая» сетка параметров, называемая яфсш, и служит для извлечения признаков изображения. Выделенные признаки иерархически и постепенно усложняются при передаче выходных данных с одного слоя на другой. Обучение ИНС -это, по сути, процесс оптимизации параметров сети (прежде всего, ядра).
Как правило, для распознавания лиц на основе ИНС предусматривается 4 этапа работы типового специального программного обеспечения (СПО)'.
1. Предварительная обработка входных данных. Его цель - улучшение качества изображения и максимальное
устранение (подавление) мешающих факторов для улучшения работы алгоритма. Типовые методы предобработки: фильтрация шума, гистограммное выравнивание, повышение контраста.
2. Выделение признаков лица, которые могут быть использованы для последующего распознавания. CNN хорошо подходят для выделения признаков из изображений, поскольку способны выявлять иерархические представления признаков на различных уровнях абстракции.
3. Распознавание (идентификация, классификация) лиц, (например, на основе биометрических данных), определение принадлежности к определенной группе (например, тендер), сопоставление лиц с БД.
4. Оценка функциональной надежности и улучшение алгоритма на тестовом наборе данных и оценивание, насколько надежно ИНС справляется с распознаванием лиц. Для этого используются такие типовые метрики, как: точность, полнота, FV-мера [10,11].
Если надежность ИНС не соответствует предъявленным требованиям, осуществляется улучшение алгоритма, в том числе путем регуляризации и аугментации (augmentation, «раздутие») данных, а также поиском более сложной архитектуры сети. После того, как ИНС (модель) обучена, оценена и оптимизирована, она реализуется посредством СПО и интегрируется в реальные программно-аппаратные комплексы (ПАК), которые используется для распознавания лиц в режиме реального времени.
Анализ существующего СПО для обработки изображений
Известные архитектуры CNN предназначены, как правило, для работы с двумерными изображениями. Однако имеются перспективные технологии, применяемые к трехмерным изображениям [12]. В настоящее время разрабатываются лидарные методы классификации и реконструкции ЗО-объек-тов. В процессе их реализации возникают некоторые проблемы (в частности, возможная потеря данных), - для их решения используют процедуры сортировки данных, симметричной функции для компиляции информации [13]. 3D-CBep-точные нейронные сети расширяют концепцию 20-сетей при работе с трехмерными данными, такими как объемные сетки или видео. В 3D-CNNсвертки применяются в 3-х измерениях, что позволяет изучать особенности ЗО-объектов.
СПО PointNet [14-16] применяется для обработки 3-х мерных изображений, содержит три ключевых модуля. Первичная информация о точках (x, y, z) передается непосредственно в глубокую ИНС, действие которой подобно многослойному персептрону. В результате создается вектор (глобальный образ входных данных), который передается на каждую точку, интегрируя глобальные характеристики с функциями отдельных точек. PointNet применяет преобразование T-net к входным координатам.
Пока еще нет единого мнения, какой формат лучше подходит для обработки данных в 3-D мерных сценах [17]. Облака точек обычно обрабатываются с помощью воксельной сетки - способа внедрения ЗО-объектов в решетку, чтобы далее представлять в виде пиксельных изображений.
Решетка вычисляется на основе облака точек, создавая массив, который в начальном состоянии заполняется нулями. Далее определяются точки внутри каждого вокселя и проводится масштабирование. После этого вокселю присваивается доминирующий цвет.
СПО PointNet++ - это улучшенная версия PointNet, позволяющая извлекать локальные и глобальные особенности из облака точек с большей точностью. ИНС делает это, выполняя иерархическую обработку и учитывая соседство точек на разных масштабах.
VoxNet: - это архитектура, использующая объемные сетки для представления 3-х мерных объектов. Сеть преобразует облака точек в регулярную трехмерную сетку (или воксели), которая затем обрабатывается с использованием ЗБ-сверток и пулинга. Это позволяет определить пространственные отношения между объектами.
OctNet: архитектура сети для работы с разреженными 3-х мерными данными. Сеть разбивает пространство на октаты (куб, разделенный на 8 равных частей) и представляет только занятые части. Это позволяет сократить объем вычислений.
Mesh R-CNN: Архитектура расширяет популярную модель обнаружения объектов R-CNNдля работы с 3-х мерными данными. Используется сверточные нейронные сети для обработки изображений и для предсказания ЗО-формы объекта в виде треугольных сеток. Это позволяет модели совмещать 2D- и ЗО-особенности для более точного распознавания и сегментации.
DeepSDF: ИНС, которая учится представлять форму 3D-объектов через «подписанные» расстояния до поверхности объекта. Такое представление позволяет модели генерировать и редактировать сложные ЗО-формы с высоким уровнем детализации.
3D U-Net: Расширение популярной архитектуры U-Net для работы с 3-х мерными данными (например, медицинские изображения). Здесь используются ЗО-свертки и пулинг для выявления локальных и глобальных особенностей объектов, а также для выполнения сегментации.
PointConv: Сверточная сеть, которая обобщает свертки для работы с неструктурированными облаками точек. Учитывается плотность распределения точек, используется взвешенное сглаживание для преобразования облака точек в формат, который обрабатывается с помощью традиционных сверточных слоев.
Dynamic Graph CNN: Архитектура, которая строит динамический граф на основе метода ближайших соседей в облаке точек, применяя свертки для выявления локальных геометрических особенностей и контекста.
KPConv: Адаптивная свертка для облаков точек, учитывающая изменчивость плотности и неоднородность данных. Для свертки используются наборы ключевых точек и связанные с ними ядра, что позволяет приспосабливаться к различным масштабам и структурам данных.
СПО LightCNN представляет собой «облегченную» и компактную архитектуру сверточной нейронной сети, разработанную для быстрого обучения на больших наборах данных [18]. Основным преимуществом этой архитектуры является использование небольших сверток (1x1, 3x3), что позволяет уменьшить количество параметров и повысить
быстродействие. Поэтому LightCNN зачастую является наиболее рациональным решением для стационарных и даже мобильных систем распознавания лиц. LightCNN успешно применяется в различных приложениях компьютерного зрения, включая классификацию изображений, показывает аналогичные результаты в сравнение с более «тяжеловесными архитектурами», такими как VGGNet или ResNet, при меньшем числе параметров и вычислительных затратах.
Для дальнейшей практической реализации выбор был сделан в пользу LightCNN.
СПО распознавания лиц на основе LightCNN
Анализ функционирования ИНС при распознавании лиц проводится с использованием стандартной методологии моделирования бизнес-процессов IDEF0. На рисунке 1 показана контекстная диаграмма работы СПО с включением пользователя и выбранной среды программирования Python. На вход подключаются обучающая и проверочная выборки, а также необходимые динамические библиотеки, на выходе получается распознанное изображение.
Рис. 1. Контекстная диаграмма функционирования СПО
Первоначально в системе происходит подготовка данных: загружаются обучающая и валидационная выборки, производится подключение динамических библиотек. После этого формируется ИНС. Далее выполняется запуск. Финальный этап - распознавание лиц и оценка эффективности. При подготовке данных подключается источник данных, динамические библиотеки, после чего данные подготавливаются к обработке. При запуске происходит загрузка и обучение СПО на основании ранее созданной ИНС.
Работа и оценка модели осуществляется в следующем порядке. Сначала происходит оценка точности на 2-х выборках - обучающей и валидационной, а затем алгоритм оценивается по другим выбранным метрикам, и данные выводятся пользователю.
Состав разработанного СПО '.
• исходный набор изображений (БД);
• основной компонент (Light CNN, распознавание данных);
• модуль обучения;
• модуль оценки результатов;
• подключаемые стандартные модули.
ИНС Light CNN создается с помощью библиотеки PyTorch [19]. Используется последовательная модель ('nnSequentiaT), позволяющая легко комбинировать различные слои. Конкретизируем каждый слой сети:
1. **nn.Conv2d(in_channels=3, out_channels=32, kernel_size=5)**\ сверточный слой сЗ-я входными каналами (для RGB изображений), 32-я выходными каналами (или картами признаков) и размером ядра 5x5.
2. **nn.BatchNorm2d(32)**: слой батч-нормализации, который нормализует входные данные на протяжении мини-батчей, улучшая стабильность обучения и ускоряя сходимость.
3. **nn.ReLU()**: функция активации ReLU (rectified linear unit), преобразует отрицательные значения в 0 и сохраняет положительные значения без изменений.
4. **nn.MaxPool2d(2, 2)**: слой пулинга с размером ядра 2x2 и шагом 2, который уменьшает пространственные размеры входных карт признаков.
5-8. **Следующие 4 слоя** повторяют сверточный слой, слой батч-нормализации, функцию активации ReLU и слой пулинга, но в этот раз с 32 входными и 32 выходными каналами.
9-12. **Следующие 4 слоя** также повторяют сверточный слой, слой батч-нормализации, функцию активации ReLU и слой пулинга, но на этот раз с 32 входными и 64 выходными каналами.
13-16. **Следующие 4 слоя** также повторяют сверточный слой, слой батч-нормализации, функцию активации ReLU и слой пулинга, но на этот раз с 64 входными и 64 выходными каналами.
17-20. **Следующие 4 слоя** также повторяют сверточный слой, слой батч-нормализации, функцию активации ReLU и слой пулинга, но на этот раз с 64 входными и 128 выходными каналами.
21. **nn.Flatten()**\ слой, который преобразует многомерный тензор в одномерный тензор, подготавливая данные для полносвязного слоя.
22. **nn.Linear(8 *8*128, 256)**'. полносвязный слой, принимающий на вход данные размером 8* 8*128 и преобразующий их в выходные данные размером 256.
23. **nn.ReLU()**\ функция активации ReLU (rectified linear unit), преобразует отрицательные значения в 0, сохраняя положительные значения без изменений.
24. **nn.Dropout()**\ слой dropout, который случайным образом «выключает» некоторые нейроны во время обучения, предотвращая переобучение.
25. **nn.Linear(256, 6)**\ полносвязный слой, принимающий на вход данные размером 256 и преобразующий их в выходные данные размером 6 (число классов).
Таким образом, структура разработанной глубокой CNN имеет чередующиеся сверточные слои, слои батч-нормализации и пулинга, заканчивающихся полносвязными слоями и функцией активации ReLU. Признаки извлекаются с помощью 5-и сверточных слоев, затем последняя карта признаков преобразовывается в вектор и подается на скрытый полносвязный слой с 6-ю нейронами (классами).
Для минимизации эффекта переобучения применялась батч-нормализация и метод прореживания (dropout). В качестве функции активации выбрана ReLU, которая наиболее популярна в текущее время. В качестве функции потерь использовалась перекрёстная энтропия.
Работы алгоритма СПО осуществляется в соответствии поэтапно:
1) Подключение необходимых библиотек.
2) Загрузка исходного набора изображений в СПО и подготовка их для обработки ИНС.
3) Обучение сети (на подготовленных данных) или загрузка уже обученной модели (если она имеется).
4) Проверка качества работы ИНС, - определение точности и других метрик на тестовых данных.
5) Оценка функциональной надежности СПО на случайно выбранных изображениях, подтверждение её способности работать с новыми данными.
Таким образом, разработанное СПО включает ИНС, программные модули и подключаемые библиотеки, которые в совокупности обеспечивают распознавание данных.
Обучение разработанной ИНС
При обучении ИНС Light CNN последовательно предъявляются образы из обучающего набора, производится сравнение полученного ответа с желаемым выходом. Найденная ошибка распространяется в обратном направлении на все связанные нейроны. Обучение ИНС сводится к минимизации ошибки путем корректировки весовых коэффициентов си-наптических связей между нейронами [10,11].
Первым этапом обучения является инициализация сети. На втором этапе сети предъявляется обучающая выборка и рассчитываются значения весов нейронов. На третьем этапе веса изменяются так, чтобы минимизировать целевую функцию Е:
E = -2(!l^=1y(xi)-di)2, (1)
где y(Xi) - предсказанное значение ИНС для обучающего примера - реальное значение.
На каждом шаге обучения веса изменяются в соответствии с (2):
wtj(t + 1) = wtj (t) - aYjF' (Sj)yi, (2)
где а - коэффициент обучения; t и t+1 - моменты времени до и после изменения весов и порогов соответственно; индексы i nj - соответственно нейроны 1-го и 2-го слоев; Yj - разница между выходом сети и эталоном; F - функция активации. Пороги Г сети изменяются по формуле:
Ti(t + l) = Ti(t) + aYjF'(Sj), (3)
где Тj (t + 1) - обновленное пороговое значение для j-ro нейрона на следующем шаге (t+1); а - скорость обучения; Yj - разница ме^ду выходом сети и эталоном; F' (S;) - производная функции активации.
Ошибка у для скрытого слоя с индексом i вычисляется через ошибку уj следующего за нимj-ro слоя следующим образом:
Yi = T.iYiF'{Sj)wlj> (4)
где wtj - вес связи между i-м нейроном на скрытом слое и j-м нейроном на следующем слое. Процесс обучения продолжается, пока число итераций не достигнет установленной границы.
Результаты функционирования специального программного обеспечения и направления дальнейших исследований
Для экспериментальной проверки разработанного СПО был собран собственный датасет по фотографиям лиц из Интернета, путем добавления изображений с различным мешающими факторами. В качестве доменной области выбраны шесть лиц знаменитых людей с ресурса «Labeled Faces in the Wild» [20]. Все фотографии имели видимые дефекты - повороты головы, частичное закрытие масками и ладонями, плохое качество и пр.
В результате был сформирована выборка, состоящая из 758 только «проблемных» изображений, и она была разбит на две части: тренировочная 70%, валидационная 30%. Распределение данных по классам показано на рисунке 2.
При обучении, после оптимизации, были выставлены следующие параметры: скорость обучения 0.001; размер батча 32; максимальное количество исследуемых эпох 40. В процессе обучения отслеживалась прежде всего такая метрика, как точность {accuracy). Для прекращения тренировки модели при отсутствии улучшения функции потерь на валида-ционной части выборки использовалась обратная связь.
Таким образом, модель обучалась вплоть до «ранней» остановки на 33 эпохе. В результате удалось добиться точности 89% на обучающей выборке данных и 90% на валидаци-онной (рис.3). Для шести лиц людей (6-и классов) значения других метрик находились в диапазоне: Precision = 0,86...0,90; Recall = 0,82...0,90; F1-Mepa = 0,85...0,90,
которые характеризуют невысокое качество СПО при распознавании лиц с мешающими факторами.
ТОЧНОСТЬ
О 5 10 IS J0 25 30 15 40
Эпохи
Рис. 3. Изменения точности распознавания в процессе обучения
Чтобы улучшить качество распознавания, на следующем этапе по выбранным 6-и классам (субъектам) был образован новый датасет, включающий 473 фотографии без деления их на «проблемные» и «нормальные». Число фотографий для каждого субъекта составляло отЗЗдо 108.
Для оценки качества работы СПО использовались те же метрики, что и в первом случае; при этом оценки эффективности были явно выше, чем ранее:
Precision: 0,96...0,998; Recall: 0,91...0,997; F1-score: 0.95^0,997.
Таким образом, использование архитектуры Light CNN позволяет достичь относительно высокой точности распознавания лиц даже при наличии мешающих факторов. Оптимизация параметров модели, включая размер батча и скорость обучения, позволяет дополнительно увеличить точность и стабильность обучения.
Рис. 2. Распределение данных для обучающей и валидационной выборки по лицам
Анализ полученных результатов показывает, что для дальнейшего улучшения качества работы СПО следует:
1. Расширять объем БД с множеством видов мешающих факторов.
2. Провести аугментацию (создание новых на основе существующих) данных, что возможно улучшит устойчивость СПО к изменениям внешних условий и обучению на более разнообразных примерах, что, в свою очередь, улучшает точ-ностьраспознавания [21].
3. Исследовать возможность комбинирования Light CNN с другими архитектурами или методами обработки изображений.
4. Исследовать возможность самообучения сети (без учителя). Это позволит «самостоятельно» справляться с новыми мешающими факторами и возможно лучше адаптироваться к изменяющимся условиям.
Выводы
В ходе исследования задачи распознавания лиц в условиях мешающих факторов проанализирована технология в виде сверточной нейронной сети LightCNN с использованием языка программирования Phyton и фреймворка yTorch. Обучение нейронной сети проводилось в течение до 40 эпох с применением ранней остановки при достижении оптимума.
По результатам работы ИНС показатели метрик precision, recall и FJ-мера оказались вполне удовлетворительными. Ва-лидационная точность оказалась выше обучающей, что указывает на отсутствие переобучения и устойчивость алгоритма. В целом невысокие показатели по отдельным метрикам были обусловлены «плохими» условиями сцены при ограниченной базе данных.
Поскольку ИНС обучалась на ограниченном наборе данных, реальное применение СПО в более сложных ситуациях потребует новой верификации. Дополнительному исследованию подлежит влияние таких факторов, как освещение, ракурс съемки, частичная закрытость лиц и др.
Литература
1. Парфенович Д. Нейронные сети - от теории к практике. MQL5. 2012. https:// www.mql5.com/ru/articles/497.
2. Бабаев A.M. Нейросетевые технологии распознавания трехмерных объектов II Межд. журнал гуманитарных и естественных наук. 2019. № 12 (39). С.74-76.
3. Goodfellow I., Bengio Y., Courville A. Deep Learning. MIT Press, 2016.
4. Abadi M. et al. TensorFlow: A System for Large-Scale Machine Learning. In 12th USENIX Symposium on Operating Systems Design andlmplementation. 2016, pp. 265-283.
5. Wen Y. et al. A Discriminative Feature Learning Approach for Deep Face Recognition II European conference on Computer Vision. Springer, 2016, pp. 499-515.
6. Bishop C.M. Pattern recognition and machine learning. Springer, 2006.
7. Слои нейронной сети: BaseGroup Labs. 2018. https:// ba-segroup.ru/community/glossary/layer.
8. Liu Z., Zhang C., Tian Y. 3D-based deep convolutional neural network for action recognition with depth sequences. 2016. https://www.sci-encedirect.com.
9. Bernstein M., Berg A., Fei-Fei L. ImageNet large scale visual recognition challenge //Int. Jour, of Computer Vision. 2015. 115(3), pp. 211-252.
10. Шелухин О.И., Ерохин С.Д., Полковников M.B. Технологии машинного обучения в сетевой безопасности. М.: Еорячая линия-Телеком», 2021. 360 с.
11. Мэрфи К.П. Вероятностное машинное обучение: Введение. М.: ДМК Пресс, 2022. 940 с.
12. Bulat A., Tzimiropoulos G. How Far Are We From Solving the 2D & 3D Face Alignment Problem? II Proc. of the IEEE Int. conf. on Computer Vision. 2017,pp. 1021-1030.
13. Cao X. et al. Face Alignment by Explicit Shape Regression. Int. Jour, of Computer Vision. 2014. Vol. 107. No. 2, pp. 177-190.
14. Feng Z.H. et al. Wing Loss for Robust Facial Landmark Localization with Convolutional Neural Networks II Proc. of the IEEE conf. on Computer Vision and Pattern Recognition. 2018, pp. 2235-2245.
15. Zafeiriou S. et al. The Menpo Facial Landmark Localisation Challenge: A Step Towards the Solution II Proc. of the IEEE conf. on Computer Vision and Pattern Recognition. 2017, pp. 170-179.
16. Deng J. et al. ArcFace: Additive Angular Margin Loss for Deep Face Recognition II Proc. of the IEEE conf. on Computer Vision and Pattern Recognition. 2019, pp. 4690-4699.
17. Liu W. et al. SphereFace: Deep Hypersphere Embedding for Face Recognition II Proc. of the IEEE conf. on Computer Vision and Pattern Recognition. 2017, pp. 212-220.
18. Guo Y. et al. MS-Celeb-lM: A Dataset and Benchmark for Large-Scale Face Recognition II Proc. of the European conf. on Computer Vision. Springer, 2016, pp. 87-102.
19. Paszke A. et al. PyTorch: An Imperative Style, High-Performance Deep Learning Library II Advances in Neural Information Processing Systems. 2019, pp. 8024-8035.
20. Huang G.B. et al. Labeled Faces in the Wild: A Database for Studying Face Recognition in Unconstrained Environments. Technical Report 07-49/ Univ. of Massachusetts. Amherst, October 2007. 230 p.
21. Brock A., Donahue J., Simonyan K. Large Scale GAN Training for High Fidelity Natural Image Synthesis II Proc. of the Int. conf. on Learning Representations. 2019, pp. 213-226.
PEOPLE INTERFERING FACTORS FACES IDENTIFICATION USING ARTIFICIAL NEURAL NETWORKS
STANISLAW S. ZWIERZYNSKI,
Moscow, Russia
ILYA K. NIZHNIK, KEYWORDS: face identification, convolutional neural networks,
Moscow, Russia accuracy, network training, special software.
ABSTRACT
Introduction: The study observes artificial neural network (ANN) identification of human faces under various interfering factors influence. Purpose of the study: increasing people faces identifying accuracy in the presence of interfering factors. Results: When analyzing for implementing special software, preference was given to the LightCNN architecture, a "lightweight" compact convolutional neural network for fast training on large data sets. The developed software includes an ANN, software modules and plug-in libraries, which together provide image recognition. Developed ANN architecture consists of alternating layers of convolutional, batch normalization
and pooling, ending with fully connected layers with ReLU activation function. To minimizing retraining, the thinning method was used; cross entropy was the loss function. For experimental testing, own dataset was collected using photographs of famous people from Internet resource "Labeled Faces in the Wild", with addition of interfering factors images. Practical significance: Light CNN architecture makes it possible to achieve high face recognition accuracy at least 0.96, even in presence of interfering factors. Software parameters optimizing, including batch size and learning speed, further increases the accuracy and stability of training.
REFERENCES
1. D. Parfenovich. Neural networks - from theory to practice. MQL5. 2012. https:// www.mql5.com/ru/articles/497.
2. A.M. Babaev. Neural network technologies for recognizing three-dimensional objects. Int. Jour. of Humanities and Sciences. 2019. No. 12 (39), pp. 74-76.
3. I. Goodfellow, Y. Bengio, A. Courville. Deep Learning. MIT Press. 2016.
4. M. Abadi et al. TensorFlow: A System for Large-Scale Machine Learning. 12th USENIX Symp. on Operating Systems Design and Implementation. 2016, pp. 265-283.
5. Y. Wen et al. A Discriminative Feature Learning Approach for Deep Face Recognition. European conference on Computer Vision. 2016, pp. 499-515.
6. C.M. Bishop. Pattern recognition and machine learning. Springer. 2006.
7. Neural network layers. BaseGroup Labs. 2018. https:// basegroup.ru/community/glossary/layer.
8. Z. Liu, C. Zhang, Y. Tian. 3D-based deep convolutional neural network for action recognition with depth sequences. 2016. https:// www.sciencedirect.com.
9. M. Bernstein, A. Berg, L. Fei-Fei. ImageNet large scale visual recognition challenge. Int. Jour. of Computer Vision. 2015, no. 115(3), pp. 211-252.
10. O.I. Shelukhin, S.D. Erokhin, M.V. Polkovnikov. Machine learning technologies in network security. Moscow: Hotline-Telecom. 2021. 360 p.
11. K.P. Murphy. Probabilistic machine learning: An introduction. M.: DMK Press. 2022. 940 p.
12. A. Bulat, G. Tzimiropoulos. How Far Are We From Solving the 2D & 3D Face Alignment Problem? Proc. of the IEEE Int. conference on Computer Vision. 2017, pp. 1021-1030.
13. X. Cao et al. Face Alignment by Explicit Shape Regression. Int. Jour. of Computer Vision. 2014. Vol. 107. No. 2, pp. 177-190.
14. X. Feng Z.H. et al. Wing Loss for Robust Facial Landmark Localization with Convolutional Neural Networks. Proc. of the IEEE conf. on Computer Vision and Pattern Recognition. 2018, pp. 22352245.
15. S. Zafeiriou et al. The Menpo Facial Landmark Localization Challenge: A Step Towards the Solution. Proc. of the IEEE conf. on Computer Vision and Pattern Recognition. 2017, pp. 170-179.
16. J. Deng et al. ArcFace: Additive Angular Margin Loss for Deep Face Recognition. Proc. of the IEEE conf. on Computer Vision and Pattern Recognition. 2019, pp. 4690-4699.
17. W. Liu et al. SphereFace: Deep Hypersphere Embedding for Face Recognition. Proc. of the IEEE conf. on Computer Vision and Pattern Recognition. 2017, pp. 212-220.
18. Y. Guo et al. MS-Celeb-1M: A Dataset and Benchmark for Large-Scale Face Recognition. Proc. of the European conf. on Computer Vision. 2016, pp. 87-102.
19. A. Paszke et al. PyTorch: An Imperative Style, HighPerformance Deep Learning Library. Advances in Neural Information Processing Systems. 2019, pp. 8024-8035.
20. G.B. Huang et al. Labeled Faces in the Wild: A Database for Studying Face Recognition in Unconstrained Environments. Technical Report 07-49. Univ. of Massachusetts. Amherst. 2007. 230 p.
21. A. Brock, J. Donahue, K. Simonyan. Large Scale GAN Training for High Fidelity Natural Image Synthesis. Proc. of the Int. conf. on Learning Representations. 2019, pp. 213-226.
INFORMATION ABOUT AUTHORS:
Stanislaw S. Zwierzynski, PhD, Full Professor, Professor Moscow Technical University of Communications and Informatics, Moscow, Russia Ilya K. Nizhnik, Master degree Moscow Technical University of Communications and Informatics, Moscow, Russia
For citation: Zwierzynski S.S., Nizhnik I.K. People interfering factors faces identification using artificial neural networks. H&ES Reserch. 2023. Vol. 15. No. 6. P. 19-25. doi: 10.36724/2409-5419-2023-15-6-19-25 (In Rus)