FACE RECOGNITION PROGRAM DEVELOPMENT
- Authors: Akhmetzyanov K.R1, Sazonov V.I1, Lipin Y.N1, Yuzhakov A.A1
- Affiliations:
- Perm National Research Polytechnic University
- Issue: No 23 (2017)
- Pages: 33-44
- Section: Articles
- URL: https://ered.pstu.ru/index.php/elinf/article/view/2632
- DOI: https://doi.org/10.15593/вестник%20пермского%20национального%20исследовательского%20политехнического%20университета.%20электротехника,%20информационные%20технологии,%20системы%20управления.v0i23.2632
- Cite item
Abstract
This article shows the steps to improve the previously developed face recognition algorithm. At each step, the results of the conducted experiments are shown, and also the description of the conducted experiments is given. The face recognition program discussed in this article uses functions from OpenCV and dlib libraries. The development of the face recognition program consists of six steps. At the first step, the face recognition program consists of an algorithm based on flexible paths. Face recognition, based on the algorithm of flexible paths, takes into account only the geometry of the face. Therefore, in the subsequent steps of the development of the face recognition program, a fast Fourier transform was added, which takes into account the complexion. In order to replace the parameters calculated with the flexible path algorithm, the parameters calculated with the Fast Fourier Transform algorithm were used to determine the areas of the image that best characterize the face and which will be used to calculate the parameters with Using a fast Fourier transform, determining the number of parameters to be replaced, and determining the order of significance of the parameters calculated using the flexible path algorithm. In the second step, the parameters of the flexible paths are replaced by parameters calculated with the help of the fast Fourier transform, by the first method, in the third step by the second and third methods. In the fourth and fifth steps, weights were added based on the number of coincidences between the parameters of the vectors. In the sixth step, combined weights were added, calculated by summing the coefficients obtained in the previous steps of the development of the face recognition program. As a result, among all versions of the face recognition program obtained at six steps of its development, the highest percentage of correctly recognized ones is given by the program obtained in the fourth step.
Full Text
Проблема информационной безопасности является актуальной. Традиционно для решения проблем информационной безопасности используют системы распознавания образов, в частности системы распознавания лиц [1-6]. Описанные в этой статье этапы разработки программы распознавания лиц являются результатом совершенствования алгоритма, который был описан в [7-9]. Для разработки программы распознавания лиц, рассмотренной в этой статье, использовались функции из библиотеки OpenCV [10] и dlib [11]. Для экспериментального тестирования всех версий алгоритмов распознавания лиц на каждом этапе использовалась база лиц The Facial Recognition Technology (FERET) Database [12]. База состоит из 1600 лиц по 2 фотографии на каждого человека. Для эксперимента были составлены две выборки: - для базы людей, входящих в состав «своих», были взяты 20 фотографий лиц; - для входного потока были взяты 40 фотографий лиц: 20 фотографий тех же людей, что и в базе, и 20 фотографий, не находящихся в базе («чужих»). Также для тестирования была создана вторая база лиц, включающая 40 фотографий одного человека и 8 фотографий другого, съемка проводилась утром и вечером в течение 4 дней, по 5 фотографий для первого человека и по 1 - для второго человека. Тестирование проходит в соответствии со следующими пунктами: - фотографии людей, выбранных как «своих», заносятся в базу; - на основании фотографий создаются математические модели (векторы), используемые в дальнейшим для сравнения с приходящими на пункт контроля; - на вход программе распознавания лиц подаются фотографии, состоящие из определенного числа «своих» и «чужих»; - на выходе программа распознавания лиц выдает список, состоящий из двух фотографий (фотография человека, найденного в кадре, и фотография человека - с наиболее похожим лицом из базы «своих») и процент совпадения лиц; - при изменении порога отбирается процент правильно распознанных лиц «свой» и «чужой». Разработка программы распознавания лиц состоит из шести этапов. Первым этапом разработки программы распознавания лиц является алгоритм, основанный на гибких контурах [13]. Вычисляются все 10 параметров векторов для каждого лица по следующему алгоритму: 1) поиск лица на изображении; 2) поиск 68 ключевых точек на найденном лице; 3) вычисление с помощью гибких контуров и на основе найденных ключевых точек десяти параметров векторов (параметр - это значение, являющиеся частью вектора); 4) вычисленный вектор записывается в базу. Распознавание лиц осуществляется по следующему алгоритму: - выполняются пункты с 1 по 4, описанные выше; - поочередно читаются векторы из базы, и по всем 10 параметрам каждого вектора из базы выполняется деление наименьшего значения параметра из базы и входного вектора на наибольшее значение параметра из базы и входного вектора, все 10 отношений суммируются, и полученная сумма нормируется делением на 10; - выполняется поиск наибольшего значения нормированной суммы отношений; - наибольшее значение сравнивается с порогом, и если больше, то входной вектор распознался как найденный вектор из базы; если меньше, то входной вектор не найден в базе. Вычисление первого, второго и третьего параметров вектора выполняется по следующему алгоритму: - с помощью метода наименьших квадратов (МНК) [14] выполняется вычисление , , для функции вида: , (1) где - параметры функции ; - аргумент функции ; - определяются доверительные интервалы для вычисленных , , ; - вычисляется среднее арифметическое от суммы с левой границей параметров и с правой границей параметров, где . Для параметров вектора с 4 по 10 вычисляется площадь многоугольника по формуле [15]: , (2) где - значения координат ключевых точек лица по оси х; - значения координат ключевых точек лица по оси у. После проведения эксперимента на первом этапе разработки программы распознавания лиц процент правильного распознавания для базы FERET на 50 лиц равен 53 %. Распознавание лиц, основанное на алгоритме гибких контуров, учитывает только геометрию лица. Поэтому в алгоритмы последующих этапов разработки программы распознавания лиц было добавлено быстрое преобразование Фурье [15-20], которое учитывает цвет лица. Для того чтобы произвести замену параметров, вычисленных с помощью алгоритма гибких контуров, на параметры, вычисленные с помощью алгоритма быстрого преобразования Фурье, необходимо определить количество заменяемых параметров, а также области лица, которые лучше всего характеризуют лицо и которые будут использоваться для вычисления параметров с помощью быстрого преобразования Фурье, и определить порядок значимости параметров, вычисленных с помощью алгоритма гибких контуров. Было проведено исследование для определения необходимого числа заменяемых параметров. В результате этого исследования было установлено, что необходимое число заменяемых параметров на параметры, вычисленные с помощью быстрого преобразования Фурье, равно 5. Было проведено исследования с целью определения областей лица, которые лучше всего характеризуют лицо. В результате этого исследования было установлено, что области левого глаза, между глазами, правого глаза, носа и области подбородка лучше всего характеризуют лицо. Были проведены исследования для определения порядка значимости параметров. Порядок значимости устанавливается тремя способами: определялись количество равных значений параметров, значимость параметров, основанная на разности процентов совпадений между своими и другими своими, и значимость параметров, основанная на усиленной разности процентов совпадений между своими и другими своими. На последующих этапах векторы состоят из 5 параметров, вычисленных с помощью алгоритма гибких контуров, и 5 параметров, вычисленных с помощью быстрого преобразования Фурье, описанного в [7]. Вычисление параметров с помощью быстрого преобразования Фурье производится от области левого глаза, между глазами, правого глаза, носа и области подбородка. Вторым этапом разработки программы распознавания лиц является замена параметров, вычисленных на основе алгоритма гибких контуров, на параметры, вычисленные с помощью быстрого преобразования Фурье, основанная на количестве равных значений параметров векторов. После проведения эксперимента на втором этапе разработки программы распознавания лиц правильное распознавание для базы FERET на 50 лиц равно 73 %. И поскольку это самый высокий процент, то дальнейшее изменение программы будет производиться для алгоритма, полученного на этом этапе. Третьим этапом разработки программы распознавания лиц является замена параметров, вычисленных на основе алгоритма гибких контуров, на параметры, вычисленные с помощью быстрого преобразования Фурье, основанная на разности и усиленной разности процентов совпадений своих и других своих. После проведения эксперимента на третьем этапе разработки программы распознавания лиц после замены, основанной на разности процентов совпадений своих и других своих, процент правильного распознавания для базы FERET на 50 лиц равен 73 %. После замены, основанной на усиленной разности процентов совпадений своих и других своих, процент правильного распознавания для базы FERET на 50 лиц равен 65 %. На последующих этапах разработки программы распознавания лиц будут введены весовые коэффициенты для параметров векторов. Четвертым этапом разработки программы распознавания лиц является добавление весовых коэффициентов, полученных путем возведения в положительные и отрицательные показатели степени количества совпадений между параметрами векторов. Суть метода вычисления коэффициентов путем возведения в положительные показатели степени заключается в том, что есть функция, зависящая от количества совпадений параметров векторов и от показателя степени (показатель степени может принимать значения от 1 до плюс бесконечности). Если количество равных значений векторов одинаково, то одинаковы и коэффициенты, при увеличении показателя степени коэффициенты увеличиваются у тех параметров, у которых количества равных значений равно 0, и уменьшаются для остальных параметров векторов. Коэффициенты, полученные путем возведения в положительные показатели степени, вычисляются не для бесконечного числа показателей степени, а до тех пор, пока процент правильно распознанных для базы FERET на 20 лиц и базы FERET на 50 лиц не начнет уменьшаться. После добавления коэффициентов, вычисленных для , процент правильно распознанных достигает максимума для положительных показателей степеней, и для базы FERET на 50 лиц равен 78 %. На дальнейших этапах разработки программы распознавания лиц будут использоваться коэффициенты для для вычисления комбинированных коэффициентов. Суть метода вычисления коэффициентов путем возведения в отрицательные показатели степени заключается в том, что есть функция, зависящая от количества совпадений параметров векторов и от показателя степени (показатель степени может принимать значения от минус бесконечности до -1). Чем меньше количество равных значений, тем быстрее уменьшаются коэффициенты при уменьшении показателя степени, и чем больше количество равных значений, тем быстрее увеличиваются коэффициенты при уменьшении показателя степени. Коэффициенты, полученные путем возведения в отрицательные показатели степени, вычисляются не для бесконечного числа показателей степени, а до тех пор, пока процент правильно распознанных для базы FERET на 20 лиц и базы FERET на 50 лиц не начнет уменьшаться. После добавления коэффициентов, вычисленных для , процент правильно распознанных достигает максимума для отрицательных показателей степеней и для базы FERET на 50 лиц равен 74 %. Также для процент сходства между своими достигает максимального значения и равен 97,79 %. На дальнейших этапах разработки программы распознавания лиц будут использоваться коэффициенты для для вычисления комбинированных коэффициентов. Пятым этапом разработки программы распознавания лиц является добавление весовых коэффициентов, основанных на разности и усиленной разности процентов совпадений своих и других своих. После добавления коэффициентов, основанных на разности процентов совпадений своих и других своих, процент правильно распознанных для базы FERET на 50 лиц равен 74 %. Процент сходства между чужими равен 84,63 %. На дальнейших этапах разработки программы распознавания лиц будут использоваться коэффициенты, основанные на разности процентов совпадений своих и других своих, для вычисления комбинированных коэффициентов. После добавления коэффициентов, основанных на усиленной разности процентов совпадений своих и других своих, процент правильно распознанных для базы FERET на 50 лиц составляет 77 %. Шестым этапом разработки программы распознавания лиц является добавление комбинированных весовых коэффициентов. Комбинированные коэффициенты вычисляются путем суммирования коэффициентов, полученных на предыдущих этапах разработки программы распознавания лиц. Выполняется суммирование четырех групп коэффициентов: 1. Коэффициенты, вычисленные путем возведения в положительные показатели степени, для и коэффициенты, вычисленные путем возведения в отрицательные показатели степени, для . 2. Коэффициенты, вычисленные путем возведения в отрицательные показатели степени, для и коэффициенты, основанные на разности процентов совпадений своих и других своих. 3. Коэффициенты, вычисленные путем возведения в положительные показатели степени, для и коэффициенты, основанные на разности процентов совпадений своих и других своих. 4. Коэффициенты, вычисленные путем возведения в положительные показатели степени, для , коэффициенты, вычисленные путем возведения в отрицательные показатели степени, для и коэффициенты, основанные на разности процентов совпадений своих и других своих. В результате проведенных экспериментов для первой группы комбинированных коэффициентов процент правильно распознанных для базы FERET на 50 лиц равен 75, для второй группы равен 76, для третьей группы равен 77, для четвертой группы равен 77. Среди всех версий программы распознавания лиц, описанных на шести этапах ее разработки, самый высокий процент правильно распознанных для базы FERET (50 лиц в базе и 100 в потоке) дает программа, полученная на четвертом этапе после добавления весовых коэффициентов путем возведения в положительные показатели степени для , что составляет 78 %.About the authors
K. R Akhmetzyanov
Perm National Research Polytechnic University
V. I Sazonov
Perm National Research Polytechnic University
Yu. N Lipin
Perm National Research Polytechnic University
A. A Yuzhakov
Perm National Research Polytechnic University
References
- Распознавание лиц. Новые технологии [Электронный ресурс]. - URL: http://tsb-company.ru/raspoznavanie-lic-novye-texnologii/ (дата обращения: 22.06.2017).
- Биометрия по лицу. Критерии выбора программного продукта [Электронный ресурс]. - URL: http://www.algoritm.org/arch/arch. php?id=86&a=2099 (дата обращения: 22.06.2017).
- Система распознавания лиц для безопасности Сочи [Электронный ресурс]. - URL: https://www.osp.ru/bvideo/2017/02/13051425.html (дата обращения: 22.06.2017).
- Распознавание лиц при помощи видеонаблюдения - автоматизированная безопасность [Электронный ресурс]. - URL: http://arze.ru/ videocontrol/raspoznavanie-lic-cherez-sistemy-videonablyudeniya.html (дата обращения: 22.06.2017).
- Распознавание лиц - технология нашего века [Электронный ресурс]. - URL: http://www.itv.ru/experience_the_next_magazine/articles/2250/ (дата обращения: 22.06.2017).
- способов использовать технологию распознавания лиц [Электронный ресурс]. - URL: http://ibusiness.ru/blog/future/42164 (дата обращения: 22.06.2017).
- Козлов П.В., Липин Ю.Н., Южаков А.А. Алгоритм распознавания лица человека // Вопросы защиты информации. - 2011. - Вып. 1. - С. 52-57.
- Козлов П.В., Липин Ю.Н., Южаков А.А. Оценка алгоритма распознавания лица человека // Вопросы защиты информации. - 2013. - Вып. 3. - С. 29-32.
- Козлов П.В., Липин Ю.Н., Южаков А.А. Распознавание лица человека // Информационные технологии в науке, образовании, телекоммуникации, бизнесе IT + SE`11: материалы XXXVIII Междунар. конф. и дискуссионного науч. клуба; Украина, Крым, Ялта-Гурзуф, 1-10 октября 2011. - М., 2011.
- Face Recognition with OpenCV [Электронный ресурс]. - URL: http://docs.opencv.org/2.4/modules/contrib/doc/facerec/facerec_tutorial.html (дата обращения: 22.06.2017).
- Dlib C++ Library [Электронный ресурс]. - URL: dlib.net (дата обращения: 22.06.2017).
- Face Recognition Technology (FERET) [Электронный ресурс]. - URL: https://www.nist.gov/programs-projects/face-recognition-technology-feret (дата обращения: 22.06.2017).
- Выделение и распознавание лиц [Электронный ресурс]. - URL: http://wiki.technicalvision.ru/index.php/Выделение_и_распознавание_лиц (дата обращения: 22.06.2017).
- Сборник задач по математике для втузов. Специальные курсы / под. ред. А.В. Ефимова. - М.: Наука, 1984. - 608 с.
- Бронштейн И.Н., Семендяев К.А. Справочник по математике для инженеров и учащихся втузов. - М.: Наука, 1980. - 976 с.
- Быстрое преобразование Фурье [Электронный ресурс]. - URL: http://ru.bmstu.wiki/Быстрое_преобразование_Фурье (дата обращения: 22.06.2017).
- Быстрое преобразование Фурье за O (N log N). Применение к умножению двух полиномов или длинных чисел [Электронный ресурс]. - URL: http://e-maxx.ru/algo/fft_multiply (дата обращения: 22.06.2017).
- Быстрое дискретное преобразование Фурье (БПФ) [Электронный ресурс]. - URL: https://algowiki-project.org/ru/Быстрое_дискретное_преобразование_Фурье_(БПФ) (дата обращения: 22.06.2017).
- Быстрое преобразование Фурье [Электронный ресурс]. - URL: https://neerc.ifmo.ru/wiki/index.php?title=Быстрое_преобразование_Фурье (дата обращения: 22.06.2017).
- Быстрое преобразование Фурье. Принцип построения [Электронный ресурс]. - URL: http://ru.dsplib.org/content/fft_introduction.html (дата обращения: 22.06.2017).
Statistics
Views
Abstract - 53
PDF (Russian) - 25
Refbacks
- There are currently no refbacks.