Оценка повышения достоверности распознавания лиц людей в DLIB за счет зашумления эталонного образа

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

- детектирование  области лица на изображении;

- определение (расчет) признаков данного образа лица. В данной библиотеке вектор признаков состоит из 128 вещественных чисел, определяемых глубокой нейронной сетью;

- сравнение признаков эталонных и распознаваемого образов по критерию минимального расстояния между ними.

Таким образом, процесс распознавания сводится к поиску эталонного образа с минимальной метрикой расстояния от исходного образа, которая меньше определенного порогового значения (оценка порогового значения обычно составляет значение меньше 0.5).

Данный подход работает хорошо, если  параметры изображения в эталонном и распознаваемом образе получены при схожих условиях. При отклонениях данных параметров возможны ошибки распознавания. Например, на  рисунке 1 представлены 3 варианта фотографий одного человека, в которых метрики отличаются достаточно значительно:  метрики отклонения между вариантам а) - б)  и а)-в) составляют соответственно 0.145 и 0.33.

                                        а)                                                   б)                                                в)

Рисунок 1 – Варианты образов одного человека

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

- использование в качестве эталонов сразу M изображений лица человека, снятых в различных условиях и принятия решения на основе средних значений;

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

Недостатком первого подхода является увеличение вычислительной нагрузки на распознавание лица. В частности, при хранении в базе данных  информации   о людях в количестве N, то потребуется вычислить M*N векторов признаков образов и найти среди них минимальную метрику с исходным. Второй подход позволяет уменьшить количество вычислений на этапе распознавания.

В данной работе производится оценка эффективности повышения достоверности распознавания лица за счет зашумления исходного образа.

В качестве критерия используется следующая формула:

где K- количество рассматриваемых людей;

      davg.n.i – средняя оценка метрики расстояния различных фотографий i-го человека от зашумленного эталона;

                  davg.n.i – средняя оценка метрики расстояния различных фотографий i-го человека от исходного эталона.

Для получения зашумленных образов используется функция jitter_images, представленная в примере библиотеки dlib(http://dlib.net/dnn_face_recognition_ex.cpp.html):

 

std::vector<matrix<rgb_pixel>> jitter_imagesconst matrix<rgb_pixel>& img )

{

       thread_local dlib::rand rnd;

       std::vector<matrix<rgb_pixel>> crops;

       for (int i = 0; i < 100; ++i)

           crops.push_back(jitter_image(img,rnd)); 

       return crops;

}

 

         На вход функция подается исходное изображение лица, а на выходе формируется вектор искаженных изображений. Для создания эффекта «дрожания» используется функция jitter_image библиотеки dlib, которая вносит небольшие изменения угла, масштаба или смещения. На рисунке 2 представлены 4 результата выполнения данной функции над одним и тем же изображением.

Рисунок 2 – Результаты зашумления изображения

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

 

matrix<float,0,1> face_descriptor = mean(mat(net(jitter_image(faces[0]))));

 

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

- для каждого человека рассматривается средняя оценки метрики расстояния эталонной фотографии с 4 другими его вариантами;

- для каждого человека рассматривается средняя оценки метрики расстояния зашумленного эталона  с 4 другими его вариантами.

Изображения взяты из общедоступного набора данных, состоящим из 450 фотографий различных людей (http://www.vision.caltech.edu/Image_Datasets/faces/faces.tar).  В работе рассматривались фотографии 19 людей из следующего набора. В таблице 1 представлены результаты экспериментов.

 

Таблица 1 – Результаты вычислительного эксперимента

Результаты эксперимента показывают повышение оценки достоверности распознавания приблизительно на 2%.

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