Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Синтез структуры и алгоритмов функционирования кросс-доменной системы распознавания лиц для условий низкой освещенности Найнг Мин Тун

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Найнг Мин Тун. Синтез структуры и алгоритмов функционирования кросс-доменной системы распознавания лиц для условий низкой освещенности: диссертация ... кандидата Технических наук: 05.13.01.- Москва, 2021.- 130 с.

Содержание к диссертации

Введение

Глава 1. Подходы к построению систем распознавания лиц по изображению в условиях слабой освещенности 14

1.1. Биометрическая система распознавания лиц 15

1.2. Проблемы, возникающие в процессе распознавания лиц 20

1.3. Анализ источников, обеспечивающих спектральные системы визуализации 22

1.4. Методы, обеспечивающие распознавание лиц с использованием ближнего инфракрасного источника 26

1.4.1. Гетерогенная биометрия лица 26

1.4.2. Анализ методов и алгоритмов, используемых в задаче гетерогенного распознавания лиц 1.5. Методы, обеспечивающие шумоподавление с использованием нейронных сетей 31

1.6. Формализация задачи системы распознавания лиц 35

1.7. Выводы по главе 1 37

Глава 2. Разработка методов и алгоритмов решения задач гетерогенного распознавания лиц 39

2.1. Архитектура системы распознавания лиц 39

2.2. Методология построения предлагаемой гетерогенной системы распознавания лиц 40

2.2.1. Что такое глубокое обучение? 40

2.2.2. Искусственная нейронная сеть 41

2.2.3. Функция активации 43

2.2.4. Свёрточный слой 44

2.2.5. Пулинговый слой 45

2.2.6. Полностью соединенные слои 46

2.2.7. Нормализация 47

2.2.8. Функция потерь 48

2.2.9. Методы регуляризации 49

2.2.10. Градиент и обратное распространение 50

2.2.11. Оптимизационные методы 51

2.3. Модель шумоподавления на основе автоэнкодера 52

2.4. Обнаружение лиц 55

2.4.1. Проблемы в области обнаружения лиц 55

2.4.2. Алгоритм на основе каскада Хаара 56

2.4.3. Алгоритм гистограммы направленных градиентов (HOG) 62

2.4.4. DNN детектор лица 63

2.5. Построение кросс-доменной модели на основе базовой модели ЦГСС 64

2.6. Детектирование признаков 72

2.7. Классификация признаков 75

2.7.1. Теория SVM 75

2.7.2. Алгоритм классификации SVM 76

2.7.3. Алгоритм «один-против-покоя» (One-against-rest) 76

2.7.4. Алгоритм «один-против-одного» (One-against-one) 78

2.8. Выводы по главе 2 79

Глава 3. Реализация разработанных алгоритмов в системе гетерогенного распознавания лиц 80

3.1 Выбор средств разработки 80

3.1.1. Средства для разработки программного обеспечения 80

3.1.2. Аппаратные средства для разработки 82

3.2. Реализация разработанных алгоритмов с помощью ПО и использование необходимых предварительно обученных моделей 84

3.2.1. Реализация разработанных алгоритмов 84

3.2.2. Реализация пред-обученных моделей 97

3.3. Выводы по главе 3 104

Глава 4. Результаты исследования и оценки экспериментов 105

4.1. Планирование эксперимента 105

4.2. База данных 106

4.2.1. CASIA NIR-VIS 2.0 Face Database 106

4.2.2. Собственная база данных 107

4.3. Блок-схема алгоритма функционирования гетерогенной системы распознавания лиц 107

4.4. Методы оценки распознавания лиц 109

4.4.1. Общая Точность (Accuracy) 109

4.4.2. Частота ошибок (Error rate) 109

4.4.3. Точность (Precision) 110

4.4.4. Полнота (Recall) 110

4.4.5. F-мера (F-measure) 110

4.5. Результаты экспериментов 111

4.4. Выводы по главе 4 116

Общие выводы и заключение 117

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

Биометрическая система распознавания лиц

Распознавание лиц является одной из функций биометрических систем и представляет собой процесс автоматической идентификации или верификации человека путем сравнения и анализа параметров лица определенного человека с имеющимися в базе данных образцами [1, 2]. Существует два типа распознавания лиц: идентификация и верификация. Ключевое различие между идентификацией и верификацией заключается в следующем:

В процессе идентификации система пытается найти, кому принадлежит определенный образец, сравнивая образец с базой данных для того, чтобы найти совпадение (также этот процесс называют сравнением одного со многими). Идентификационная система спрашивает: «Вы кто?». В случае идентификации необходима центральная база данных биометрической информации, с которой будет сравниваться конкретный образец. Верификация – сравнение, при котором биометрическая система пытается верифицировать личность человека. В данном случае новый биометрический образец сравнивается с ранее сохраненным образцом. Сравнивая эти два образца, система подтверждает, что данный человек действительно тот, за кого он себя выдает.

Если в процессе идентификации система сравнивает один образец со многими, то в процессе верификации система сравнивает «один с одним». Верификационная система спрашивает: «Вы действительно тот, за кого себя выдаете?». Во данном случае биометрические данные человека проверяются на сходство с электронными данными, которые содержатся, к примеру, на смарт-карте смартфона. Верификация является более приемлемым в социальном аспекте вариантом, так как информация о биометрических данных человека содержится не в основной базе данных, а лишь на носителе, который относится к конкретному индивиду.

Итак, верификация позволяет управлять доступом и безопасностью на основе биометрии. Независимо от того, развертывается ли биометрия в мобильном банковском приложении или настраивается биометрическая многофакторная система аутентификации для доступа к защищенному серверу, пользователь будет претендовать на личность кого-то уже известного системе. В биометрии это называется сопоставлением «один к одному».

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

Функционирование системы распознавания лиц начинается с построения шаблона лица на основе существующих биометрических образцов, причем в качестве образцов используются двумерные изображения – чаще всего используются фотографии, кадры из видеоряда. Однако в последнее время стали использоваться и трёхмерные модели, что стало возможно благодаря добавлению матрицы глубины D к RGB массиву.

Схема процедуры регистрации нового шаблона в биометрической системе изображена на Рисунке 1.1.

Процедура регистрации шаблонов, оперирующая индивидуальными и биометрическими данными, позволяет формировать новые шаблоны или дополнять уже существующие шаблоны в центральной биометрической базе данных. Процесс создания новых шаблонов определяется задачами, которые поставлены перед программой, методов, используемых в процессе распознавания лиц, видов исходных данных, или проблем, решаемых биометрической системой. Можно определить наиболее общие этапы формирования нового биометрического шаблона для системы распознавания лиц (см. Рисунок. 1.2).

Итак, процедура создания шаблонов для системы распознавания лиц состоит из следующих этапов:

1. На первом этапе осуществляется процесс предобработки, который включает в себя детектирование лиц и приведение детектируемых областей лиц к определенным форматам: масштабирование, преобразование каналов изображения, выравнивание и т. п.

2. На втором этапе проводится определение ключевых точек и локализация пространственных признаков образца. На данном этапе определяются особенности и признаки определенного лица, способные выделить именно его из общей массы шаблонов лиц;

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

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

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

Алгоритм на основе каскада Хаара

Детектор лица на основе каскада Хаара был самым современным в области обнаружения лиц в течение многих лет, начиная с 2001 года, когда он был представлен Виолой и Джонсом. Этот алгоритм является одним из подходов, основанных на признаках. Алгоритм Виолы-Джонса - самый известный алгоритм для обнаружения лиц. Это фреймворк, который используется в режиме реального времени, и скорость обучения очень высока. В методе обнаружения лиц Виолы-Джонса есть три основные идеи: интегральное изображение, обучение классификатору AdaBoost и, наконец, каскадная структура внимания.

Прямоугольные характеристики: вместо пикселей алгоритм Виолы-Джонса использует прямоугольники. Конечное количество обучающих данных недостаточно для кодирования специальных знаний предметной области. Прямоугольные объекты могут решить эту проблему [89].

На Рисунке 2.4.2 представлена функция «два прямоугольника», которая означает разницу между суммированием пикселей внутри двух прямоугольных зон.

Функция трех прямоугольников означает суммирование двух внешних прямоугольных областей, вычитаемых из суммирования в центральном прямоугольнике. Разница между диагональными парами прямоугольников обозначается функцией четырехугольника [90].

Интегральное изображение: в точке x, y интегральное изображение содержит сумму пикселей выше и слева от x, y включительно: где i(x ,y ) - яркость пикселя исходного изображения, и(х,у) - сумму пикселей в прямоугольнике от (0,0) до (x, y). Вычисление интегральных изображений может быть выполнено за один проход по исходному изображению с использованием следующей пары повторений: где, six,у) означает совокупную сумму строк.

В прямоугольнике D с четырьмя ссылками на массив можно вычислить сумму пикселей: суммирование пикселей в прямоугольнике, обозначенном как А, присваивается в качестве значения интегрального изображения в точке 1. A+B — это значение в точке 2. Значение в точке 3 равно A+C, а A+B+C+D считается значением в точке 4.

Вычисление суммы внутри D производится следующим образом 4+1-(2+3). Для любого масштаба шесть ссылок на массив используются для вычисления признака с двумя прямоугольниками [90].

Обучение классификационным функциям: вариант AdaBoost используется для выбора признаков и обучения классификаторов [91]. Он объединяет группу слабых классификационных функций и формирует более сильный классификатор [92].

Приведены примеры изображений х{ и меток yi = {0,1}, инициализированы веса по следующему уравнению: где т и / означают количество отрицательных и положительных моментов соответственно. Для t = 1,...,T, Нормализация веса:

Выбирается самый слабый классификатор по отношению к взвешенной ошибке: et = min/

После этого выбирается классификатор минимальной погрешности ht, где ft, pt, 6t — минимизаторы et.

Если JC. классифицируется неправильно, то его вес не изменяется. В противном случае его вес необходимо регулировать в соответствии со следующим уравнением:

Окончательный (сильный) классификатор: слабые классификаторы линейно объединяются, и эта комбинация образует окончательный классификатор. Производительность каждого классификатора используется для его взвешивания:

Заметим, что при et = 0.5 классификатор t не участвует в комбинации.

Первые две особенности легко интерпретировать при обнаружения лица. Область глаз — это первая особенность, выбранная AdaBoost. Эта область обычно темнее, чем область щек и носа. Вторая особенность — это глаза, которые часто темнее по сравнению с переносицей [90].

Каскад внимания: каскадный классификатор более эффективен, потому что он меньше. Такой классификатор отклоняет большинство отрицательных подокон и обнаруживает большинство положительных. Для того чтобы отбросить большую часть подокон, используются более простые классификаторы. Более сложные классификаторы используются для получения низких ложноположительных показателей.

Алгоритм каскадного обучения выглядит следующим образом. В то время как глобальная скорость ложного срабатывания (false positive - FP) не выполняется, n принимает значение 0. Значение n увеличивается на 1, так что оно равно п+1. Затем классификатор обучается из n объектов с помощью AdaBoost и оценивается по набору валидации. После этого порог классификатора уменьшается до тех пор, пока частота обнаружения станет не менее d. затем снова значение п увеличивается до тех пор, пока не будет найден классификатор со скоростью FP меньше f. Наконец, классификатор добавляется в каскад, и будущие классификаторы обучаются на ложных срабатываниях.

Заключительная тренировка: при окончательном обучении по методу Виолы-Джонса для обучения двух, пяти и первых двадцати классификаторов признаков было использовано обучение AdaBoost 4916 лиц вместе с 10 000 не-лицевые подокна. Не-лицевые подокна были собраны из изображений, которые не содержали лиц. Это было выбрано подокнами случайным образом из набора 9500 изображений. Для обучения различных классификаторов было использовано несколько различных наборов не-лицевых подокон, чтобы убедиться в их независимости. Еще одна причина сделать это – убедиться, что они не использовали одни и те же признаки [90].

В нескольких местах и масштабах по всему изображению сканируется конечный детектор. Вместо масштабирования изображения масштабируется сам детектор. Сдвиг окна на некоторое количество пикселей позволяет сканировать детектор. Во время обучения, чтобы свести к минимуму различные эффекты условий освещения, подокна были дисперсионно нормализованы. Такая же мера принимается и при обнаружении. Чтобы получить единое обнаружение путем объединения всех перекрывающихся обнаружений, обнаруженные подокна подвергаются постобработке [93].

Реализация пред-обученных моделей

В данном разделе рассматриваются пред-обученные модели, используемые для обнаружения лиц, встраивания признаков и классификации.

3.2.2.1. Обнаружение лиц

В рамках написания 2-й главы были проанализированы принципы трех методов обнаружения лиц, таких как Haar cascade, HOG и DNN. Далее рассмотрим вопросы применения этих методов в локальной вычислительной машине с использованием предварительно обученных моделей, а также опишем преимущества и недостатки этих моделей на основе полученных результатов.

3.2.2.1.1. Каскадный детектор Haar

Данный детектор был самым используемым в течение многих лет, начиная с 2001 года, когда он был представлен Виолой и Джонсом. OpenCV имеет много моделей, основанных на Haar. Сущность этой модели представлена в листинге 3.2.1 в виде программного кода Python.

Листинг 3.2.1. Сущность модели Каскадного детектора Haar

faceCascade = cv2.CascadeClassifier( ./haarcascade_frontalface_default.xml ) faces = faceCascade.detectMultiScale(frameGray) for face in faces:

x1, y1, w, h = face

x2 = x1 + w

y2 = y1 + h

3.2.2.1.2. DNN детектор лиц в OpenCV

Модель DNN детектора лиц была включена в OpenCV с версии 3.3. Детектор основан на детекторе Single-Shot-Multibox и использует архитектуру ResNet-10 в качестве основы. Модель была обучена с использованием изображений, доступных в интернете, однако источник не раскрывается. OpenCV предоставляет 2 модели для детектора изображений лиц.

- Версия с плавающей запятой 16 оригинальной реализации Caffe (5,4 МБ)

- 8-битная квантованная версия с использованием Tensorflow (2,7 МБ) Мы включили обе модели вместе с кодом, как показано в листинге

3.2.2. Листинг

3.2.2. Сущность модели DNN

DNN = "TF"

if DNN == "CAFFE":

modelFile = "res10_300x300_ssd_iter_140000_fp16.caffemodel"

configFile = "deploy.prototxt"

net = cv2.dnn.readNetFromCaffe(configFile, modelFile) else:

modelFile = "opencv_face_detector_uint8.pb"

configFile = "opencv_face_detector.pbtxt"

net = cv2.dnn.readNetFromTensorflow(modelFile, configFile)

blob = cv2.dnn.blobFromImage(frameOpencvDnn, 1.0, (300, 300), [104, 117, 123], False, False)

net.setInput(blob)

detections = net.forward()

bboxes = []

for i in range(detections.shape[2]):

confidence = detections[0, 0, i, 2] if confidence conf_threshold:

x1 = int(detections[0, 0, i, 3] frameWidth)

y1 = int(detections[0, 0, i, 4] frameHeight)

x2 = int(detections[0, 0, i, 5] frameWidth)

y2 = int(detections [0, 0, i, 6] frameHeight)

3.2.2.1.3. Детектор лиц HOG в Dlib

Это широко используемая модель обнаружения лиц, основанная на функциях HoG и SVM. Модель построена из 5 фильтров HOG-переднего вида, левого вида, правого вида, переднего вида, повернутого влево, и переднего вида, повернутого вправо. Модель встроена в заголовочный файл.

Набор данных, используемый для обучения, состоит из 2825 изображений, которые получены из набора данных LFW и вручную аннотированы Дэвисом Кингом, автором Dlib. В листинге 3.2.3 показана сущность этого детектора в виде кода.

Листинг 3.2.3. Сущность модели HOG

hogFaceDetector dlib.get frontal face detector()

faceRects = hogFaceDetector(frameDlibHogSmall, 0)

for faceRect in faceRects: xl = faceRect.left() yl = faceRect.topO x2 = faceRect.right() y2 = faceRect.bottom() 99

3.2.2.1.4. Сравнение методов обнаружения лиц

Для сравнения указанных выше алгоритмов обнаружения лиц мы использовали различные условия. Экспериментальная установка использует Windows OS, процессор Intel Core i5 3230m, оперативную память 16gb, графику NVIDIA Geforce 710M 2gb и язык программирования Python. Эксперименты проводились с использованием видео с одним и тем же человеком, которое включало различные ракурсы, окклюзию, условия освещения и скорость. Результаты сравнения указанных алгоритмов распознавания лиц представлены на следующих Рисунках:

Лица с окклюзией: а) надета медицинская маска б) надета шапка в) надеты солнцезащитные очки г) надеты и маска, и солнцезащитные очки д) надеты солнцезащитные очки и шапка е) надеты кепка, маска и солнцезащитные очки г) лицо прикрыто одной рукой з) лицо прикрыто двумя руками.

Как можно заметить, детектор лица DNN имеет удовлетворительное качество алгоритмов обнаружения лица. В особенности, он может обнаружить лицевую область в различных положениях головы. Также можно сделать вывод, что хорошее качество по результатам эксперимента имеет и детектор, реализованный с помощью алгоритма HOG.

Каскадный детектор Haar находится между двумя вышеперечисленными методами обнаружения лиц по качеству интерпретации избражения лиц. Преимущества и недостатки этих трех методов показаны в Таблице 11:

Результаты экспериментов

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

- Исследование в условии достаточного освещения,

- Исследование в условии недостаточного освещения до применения предложенной кросс-доменной модели,

- Исследование в условии недостаточного освещения после применения предложенной кросс-доменной модели.

Для оценки эффективности распознавания лиц на статических изображениях использована база данных CASIA NIR-VIS 2.0. Полученные результаты были проверены с использованием кривых полнота-точность, показанных на Рисунке 4.4 для ситуации отсутствия шумов и тоже представлены в текстовом виде по точности в Таблице 13.

В Таблице 14 приведены результаты распознавания в базе данных CASIA NIR-VIS 2.0. Сравниваются недавно предложенные современные методы HFR, включая шесть традиционных методов и девять методов глубокого обучения. Традиционные методы включают обучение сопряженным пространствам признаков (LCFS) [105], DSIFT [106], обучение сопряженным Дискриминантным признакам (CDFL) [107], Gabor+RBM [108], H2 (LBP3) [109], общий дискриминант признаков кодирования (CEFD) [110].

Результаты LCFS и CDFL взяты из из опубликованных работ [107]. Для методов глубокого обучения мы сравниваем недавно предложенные TRIVET [111], HFR-CNNs [112], IDNet [113], инвариантное глубокое представление (IDR) [114] и состязательное Дискриминантное обучение признаков (ADFL) [115]. Кроме того, обсуждаются результаты трех методов VIS CNN, включая VGG [116], SeetaFace [117] и CenterLoss [118]. Результаты сравниваемых методов взяты из их опубликованных работ.

Итак, в ходе проведенного исследования, было выявлено, что методы глубокого обучения значительно превосходят традиционные методы HFR. Однако некоторые методы глубокого обучения (включая VGG, SeetaFace и HFR-CNNs) даже хуже, чем традиционный метод Gabor+RBM с точки зрения точности ранга-1. Это может быть связано с тем, что разрыв в восприятии и проблема чрезмерной подгонки на маломасштабных наборах данных делают HFR сложной задачей для методов глубокого обучения. В соответствии с кривой «полнота-точность» предложенный подход является более точным, чем текущий наилучший метод, на 0,5%.

При наличии шумов в обрабатываемых изображениях система распознавания лиц не могла распознать человеческие лица, поэтому в качестве предварительного этапа обработки необходимо было использовать модель шумоподавления. В эксперименте использовались зашумленные изображения со значением коэффициента шума = 1. Изображения, полученные после шумоподавления, отличается от тех же оригинальных изображений. Эксперименты проводились с использованием предложенной гетерогенной системы распознавания лиц с моделью шумоподавления при наличии шума в изображениях. Результаты показаны с помощью кривой «полнота-точность» на Рисунке 4.6 при разных условиях освещенности.

При тестировании предлагаемой гетерогенной системы распознавания лиц на видеопоследовательности анализируется эффективность модели преобразования домена изображения. Собственная БД используется с обучающей целью, подробно представленной в разделе 4.2. При выполнении тестирования программы используется одна и та же видеопоследовательность, в котором человек перемещает свое лицо в разные стороны. Локальная вычислительная машина с процессором Core i5 и графической картой NVIDIA Geforce 710M 2 гб используется для тестирования видеопоследовательности в режиме реального времени. Скорость обработки составляет 3-4 кадр в секунду. Скорость обработки должна варьироваться в зависимости от вычислительной мощности. Примеры результатов для распознавания лиц на видеопоследовательности представлены на Рисунке 4.7.