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

Одной из наиболее значимых инноваций в исследовательском мире за последнее десятилетие стало внедрение технологий распознавания. С середины прошлого века проблема распознавания объектов считалась наиболее сложной задачей в области компьютерного зрения.

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

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

Лежащие в основе нейронных механизмов процессы восприятия изучались специалистами вычислительной нейрофизиологии в течение многих десятилетий. Одним из самых известных первопроходцев в области изучения работы нервных клеток можно считать Сантьяго Рамона-и-Кахаля, который впервые досконально (насколько это было возможно в 19 веке) изучил, изобразил и описал основные типы нервных клеток человеческого мозга. Его прекрасные рисунки можно посмотреть здесь.

Примерно с 50-х годов прошлого века учёные попытались смоделировать работу мозга с помощью вначале аналоговых[1], а затем и цифровых нейронных сетей. Понятие искусственной нейронной сети было введено Уорреном Маккалоком и Уолтером Питтсом в 1943 году[2]. Принципы обучения нейронных сетей были взяты первоначально из основ работы мозга и правил построения синапсов — связей между физическими нейронами[3]. В результате было предложено иерархическое представление зрительной системы человека, основанное на слоях сложных и простых клеток, расположенных в зрительных зонах мозга. Во второй половине прошлого века эта концепция иерархий в потоке визуальной обработки впервые была использована учёными в области компьютерного зрения для построения первой теоретической иерархической модели распознавания объектов[4]. Будучи биологически правдоподобными моделями, эти нейронные сети были использованы в области компьютерного зрения в течение последующих десятилетий. Однако до недавнего времени вычислительная сложность такого типа архитектуры не позволяла исследователям создавать и обучать сложную многоуровневую модель, основанную на данной теоретической структуре. Первые модели такого рода стали появляться лишь недавно. Из-за сложной многослойной структуры эти архитектуры были названы «глубокими», или «глубинными».

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

Трудности распознавания лица

По сравнению с задачами распознавания обычных предметов, распознавание человеческих лиц является более сложной задачей, так как требует более точных инструментов для обнаружения лица и его идентификации. С этим связано много проблем. Помимо обычных трудностей, как то: наличие загораживающих лицо предметов (волосы, очки, медицинская маска, борода); повороты головы, возрастные изменения и т. д., существует ещё ряд специфичных для распознавания лиц проблем, например:

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

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

Описание технологии

Существует много систем компьютерного зрения, служащих для анализа и распознавания образов. Многие методы распознавания были использованы ранее, такие как SIFT (scale-invariant feature transform)[6], алгоритм для выявления и описания локальных признаков в изображениях, или же гистограмма направленных градиентов (HOG)[7], дескрипторы особых точек, которые используются в компьютерном зрении для обработки изображений с целью обнаружения и распознавания объекта. Традиционные подходы к распознаванию изображений обычно сочетали один из этих алгоритмов с классификатором, таким как метод опорных векторов (SVM)[8], чтобы выполнить задачу по распознаванию объекта. Тем не менее, нейросетевой подход в значительной степени превосходит традиционные подходы.

С 2010 года эффективность различных методов распознавания образов начала измеряться в ходе ежегодного соревнования по широкомасштабному распознаванию образов ImageNet, массивной базе данных изображений (ILSVCR), крупнейшем конкурсе, в котором различные исследовательские группы соревновались в классификации и распознавании объектов и сцен. В 2012 году глубокая свёрточная нейронная сеть достигла максимальной в истории точности, превзойдя конкурентов на 16%. С тех пор свёрточные нейронные сети при наличии достаточного количества данных значительно превосходят другие методы во всех подобных состязаниях.

К началу 2015 года, основываясь на примерах выполнения некоторых задач ILSVCR, специалисты сообщили, что компьютер превысил человеческие возможности распознавания (об этом, в частности, см. здесь и здесь). Интересно, что в этом году состоится последний ILSVCR: исследователи переключаются на более трудные задачи, одной из которых является как раз распознавание лиц.

Аналогичный конкурс, но для распознавания лиц, был запущен в 2015 году (MegaFace challenge). Набор данных для этой задачи включал один миллион фотографий более чем 690 тысяч разных людей. Алгоритмы лицевой биометрии, созданные на основе нейронных сетей, превзошли все традиционные методы и выиграли конкурс 2015 и 2016 годов[9].

В декабре 2015 года именно алгоритм компании NtechLab победил в конкурсе MegaFace, обойдя программы таких серьёзных конкурентов, как Google.

О том, что такое нейронная сеть, о типах нейронных сетей расскажем подробнее в одном из следующих постов. Не переключайтесь!

ПРИМЕЧАНИЯ

[1] Rosenblatt, Frank (1957), The Perceptron—a perceiving and recognizing automaton. Report 85−460−1, Cornell Aeronautical Laboratory.

[2] A logical calculus of the ideas immanent in nervous activity // Bulletin of Mathematical Biology. — New York: Springer New York, 1943. — Т. 5, № 4. — С. 115—133.

[3] Donald Olding Hebb. The Organization of Behavior: A Neuropsychological Theory. — Wiley, 1949. — 335 p

[4] Fukushima К., Miyake S., Takayuki I. Neocognitron: A neural network model for a mechanism of visual pattern recognition. IEEE Transaction on Systems, Man and Cybernetics SMC-13(5):826−34. — 1983.

[5] Fukushima К., Miyake S., Takayuki I. Neocognitron: A neural network model for a mechanism of visual pattern recognition. IEEE Transaction on Systems, Man and Cybernetics SMC-13(5):826−34. — 1983.

[6] Lowe D. (1999). «Object recognition from local scale-invariant features» (PDF). Proceedings of the International Conference on Computer Vision. 2. pp. 1150−1157.

[7] Dalal N., Triggs B.(2005) Histograms of Oriented Gradients for Human Detection. In proc. Of CVPR conference.

[8] Vapnik, Vladimir N.; The Nature of Statistical Learning Theory, Springer-Verlag, 1995. ISBN 0−387−98780−0

[9] «The MegaFace Benchmark: 1 Million Faces for Recognition at Scale», Ira Kemelmacher-Shlizerman, Steve Seitz, Daniel Miller, Evan Brossard, IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2016