16 апреля, 2019, BIS Journal №1(32)/2019

Россияне победили на чемпионате мира по… идентификации!


Смирнов Евгений

научный сотрудник (ООО “ЦРТ-Инновации”)

Мельников Александр

кандидат физико-математических наук, научный сотрудник (ООО “ЦРТ-Инновации”)

Крылова Екатерина

кандидат филологических наук, технический писатель (ООО “ЦРТ-Инновации”)

Лучшие системы распознавания лиц различали двойников и опознавали замаскированные лица

Некоторые биометрические системы распознавания лиц уже демонстрируют уровень точности распознавания, сопоставимый с человеческим [1]. Причем речь идет о результатах работы не только в контролируемых условиях (когда степень освещенности, положение лица перед камерой и прочее контролирует сборщик базы данных), но и в неконтролируемых. Неконтролируемыми условиями называются ситуации, близкие к реальной практике применения: когда непредсказуемо меняется уровень освещенности, количество и местоположение людей в кадре, система распознавания используется в скрытом режиме.

Среди неконтролируемых условий бывают ситуации, существенно затрудняющие распознавание лиц. Их принято называть сложными условиями. Алгоритмы распознавания лиц восприимчивы к следующим из них: позе, освещению, выражению лица, возрастным особенностям и т.д. Некоторые из этих явлений хорошо изучены, другим до сих пор уделялось недостаточно внимания. В частности, на распознавании двойников и замаскированных лиц до недавнего времени внимание международного научного сообщества не фокусировалось. Эксперименты проводились некоторыми группами ученых [2, 3, 4, 5], но опыт разных коллективов до 2018 года недостаточно обсуждался на мировом уровне.

Прошедший в 2018 году международный научный конкурс Disguised Faces in the Wild (DFW), организованный в рамках конференции по компьютерному зрению CVPR 2018, продемонстрировал успехи ученых из разных стран в этой области. Успехи российской команды внушительные: модель AEFRL, разработанная учеными из Университета ИТМО и компании “ЦРТ-инновации”, заняла первое место по одному протоколу и два вторых по остальным.

Всего в конкурсе приняли участие 11 команд из разных стран, предложив биометрические системы, основанные на нейронных сетях, для участия в трех протоколах проверки:

- протокол №1 Impersonation имитировал попытки выдать двойника за конкретного человека,

- протокол №2 Obfuscation имитировал попытки замаскировать лицо,

- протокол №3 Overall Performance предполагал подсчет точности распознавания на всей базе данных.

СЕЛЕБРИТИ, САМОЗВАНЦЫ И ДВОЙНИКИ

Для конкурса DFW была собрана одноименная база данных, включающая изображения 1 000 человек, всего более 11 000 изображений. Изображения 400 человек использовались для обучения нейронных сетей, изображения 600 человек - для тестирования готовых систем.

Рисунок 1. Примеры изображений, вошедших в базу данных DFW. Каждый ряд соответствует одному человеку.

Как видно на рисунке 1, в базе данных фотографии представлены несколькими датасетами:

normal face image (выделены серым) - нормальные изображения лица анфас для каждого человека,
validation face image (выделены желтым) - изображения незамаскированного лица для 903 человек,
disguised face image (выделены зеленым) - 1-12 изображений замаскированного лица человека,
impersonator face image (выделены голубым) - 1-21 изображение двойников, то есть людей, которые очень похожи на того или иного человека из базы данных, либо имитируют его внешность.

ЭТАПЫ КОНКУРСА DFW И РЕЗУЛЬТАТЫ

Протокол №1 Impersonation

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

При этом пары изображений одного человека из наборов normal face image и validation face image признавались позитивными (правильными), а пары, составленные из фотографий impersonator face image и одного из других наборов (normal, validation, disguised face image) - признавались негативными (неправильными).

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

Результаты конкурса по первому протоколу представлены в таблице 1.

Результаты по двум другим протоколам определяются аналогично.

Протокол №2 Obfuscation

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

normal face image + disguised face image,

validation face image + disguised face image,

disguise face image1+ disguised face image2 (под disguised face image1, disguised face image2 подразумевались два разных изображения замаскированного лица одного и того же человека).

Негативные пары были составлены из изображений разных субъектов в подборках изображений normal, validation и disguised. То есть портреты из этих подборок одного человека ставились в пару к normal, validation и disguised-изображениям другого человека (в сочетании, например, normal-normal, validation-disguised, normal-validation и т.п., изображения из категории impersonator не включались в такие подборки).

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

Российская команда заняла второе место с моделью AEFRL.

Протокол №3 Overall Performance

Протокол №3 предполагал оценку предложенных алгоритмов для всей базы данных. В качестве негативных и позитивных пар использовались все пары, перечисленные выше в протоколах 1 и 2.

Результаты конкурса по третьему протоколу представлены в таблице 3.

Российская команда с моделью AEFRL заняла второе место.

СЕКРЕТ УСПЕХА РОССИЙСКОЙ КОМАНДЫ

Модель AEFRL (Auxiliary Embeddings Face Representation Learning, т. е. Вспомогательные векторы признаков для обучения представлений лиц) [6], подготовленная научными сотрудниками Университета ИТМО и компании ЦРТ-инновации, вошла в число лидеров во всех трех этапах конкурса, ни разу не опустившись ниже 2 места.

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

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

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

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

НОВЫЙ МЕТОД

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

Рисунок 2. Примеры изображений людей с похожими внешними признаками

Как получить вспомогательные векторы признаков для обучающей базы? Российская команда предложила два способа для решения этой задачи. Во-первых, получить их с помощью нейронной сети, обученной задаче классификации внешних атрибутов лица - возраста, пола, расы, цвета волос, наличия очков или бороды. Такая нейронная сеть на предпоследнем слое формирует векторы признаков, которые затем используются для решения задачи классификации внешних атрибутов. Эти же векторы признаков могут выступать в качестве вспомогательных векторов признаков для поиска сложных примеров. На рисунке 2 изображены пары людей, обладающие близкими векторами признаков, полученными с помощью нейросети, отвечающей за классификацию внешних атрибутов лиц. Использование подобных пар изображений в процессе обучения помогает нейронной сети обращать меньше внимания на особенности внешнего вида, больше концентрироваться на тех чертах, которые относятся непосредственно к личностям обладателей этих лиц.

Во-вторых, вспомогательные векторы признаков могут быть получены в рамках многоступенчатого процесса обучения [7]. В такой ситуации вспомогательные признаки на первой стадии обучения нейронной сети не используются. После окончания первого этапа полученная нейронная сеть вычисляет векторное представление для всех лиц в обучающей базе. Оно и используется на следующем этапе обучения в качестве вспомогательного вектора признаков для поиска сложных примеров. Нейронная сеть продолжает свое обучение с промежуточного состояния, но теперь она имеет информацию о том, какие пары лиц для нее являлись сложными на момент окончания первого этапа обучения, благодаря чему может формировать более сложные пары примеров. Описанный процесс повторяется после каждого этапа обучения.

МИНИ-БАТЧИ

Обучение нейронных сетей для конкурса DFW 2018 проходило следующим образом: на каждой итерации обучения в нейронную сеть подавались мини-батчи - небольшие порции обучающих данных, состоящие из 80 фотографий лиц, по 4 фотографии для одного человека. Строились эти мини-батчи так: в первую очередь, определялось, изображения каких людей попадут в очередной мини-батч. Первые несколько человек выбирались случайно, а последующие - по методу поиска двойников, подробно описанному в [8]. Этот метод предполагает поиск для каждого человека в обучающей базе его двойника - наиболее похожего на него другого человека. Выдаваемые нейронной сетью векторные представления лиц таких пар людей обычно располагаются близко в векторном пространстве, что помогает в поиске сложных пар примеров.

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

Рисунок 3. Первый этап формирования обучающего мини-батча для нейронной сети: выбор людей

ВТОРОЙ ЭТАП

Второй этап формирования обучающего мини-батча заключался в том, чтобы выбрать фотографии, которые будут использованы в обучении. Для каждого из добавленных в мини-батч людей последовательно выбиралось по несколько фотографий (в решении команды из России - по четыре фотографии на человека). Снимки выбирались одним из следующих способов:

1) случайный выбор из всех изображений конкретного человека, имеющихся в обучающей базе (см. рисунок 4),

2) выбор фотографии, составляющей сложную позитивную пару с одной из уже помещенных в мини-батч фотографий того же человека,

3) выбор фотографии, составляющей сложную негативную пару с одной из уже помещенных в мини-батч фотографий какого-то другого человека (например, двойника).

Рисунок 4. Второй этап формирования обучающего мини-батча для нейронной сети: случайный выбор снимков

Для выбора сложных позитивных и негативных пар использовались вспомогательные векторы признаков. Чтобы найти и добавить в мини-батч сложную позитивную пару, выбиралось одно из уже помещенных в мини-батч изображений какого-либо человека. Затем подсчитанный для него вектор вспомогательных признаков сравнивался по метрике косинусного сходства с такими же векторами для случайного множества снимков того же человека, находящихся в обучающей базе. Тот снимок, вектор вспомогательных признаков для которого оказывался дальше всех, добавлялся в мини-батч в качестве сложной позитивной пары к уже имеющемуся там изображению (см. рисунок 5).

Чтобы найти и добавить в мини-батч сложную негативную пару, выбирался один из уже помещенных в мини-батч портретов какого-либо человека, брался рассчитанный для него вектор вспомогательных признаков, а затем сравнивался по косинусной метрике близости с векторами вспомогательных признаков для случайного множества снимков, но теперь уже другого человека из обучающей базы. Тот снимок, вектор вспомогательных признаков для которого оказывался ближе остальных, добавлялся в мини-батч в качестве сложной негативной пары к уже имеющемуся там изображению (см. рисунок 5).

Рисунок 5. Второй этап формирования обучающего мини-батча для нейронной сети: формирование сложных позитивных и сложных негативных пар

В результате, с помощью вышеуказанных алгоритмов формируются такие обучающие мини-батчи, в которых содержится достаточное количество как сложных позитивных, так и сложных негативных пар (см. рисунок 6).

Рисунок 6 - Структура обучающего мини-батча

Например, первая фотография в мини-батче на рисунке 6 составляет со второй фотографией сложную позитивную пару (две фотографии одного человека, непохожие друг на друга) и сложную негативную пару с пятой фотографией (две фотографии разных людей, похожие друг на друга). Третья фотография также имеет свои сложные пары: негативную (седьмое фото) и позитивную (четвертое фото) и т.д.

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

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

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

1.    Taigman, Y., Yang, M., Ranzato, M. ’aurelio & Wolf, L. DeepFace: Closing the Gap to Human-Level Performance in Face Verification. in 2014 IEEE Conference on Computer Vision and Pattern Recognition (2014). doi:10.1109/cvpr.2014.220

2.    Dhamecha, T. I., Singh, R., Vatsa, M. & Kumar, A. Recognizing Disguised Faces: Human and Machine Evaluation. PLoS One 9, e99212 (2014).

3.    Ramanathan, N., Chellappa, R. & Chowdhury, A. K. R. Facial similarity across age disguise illumination and pose. in 2004 International Conference on Image Processing, 2004. ICIP ’04. doi:10.1109/icip.2004.1421474

4.    Righi, G., Peissig, J. J. & Tarr, M. J. Recognizing disguised faces. Vis. cogn. 20, 143–169 (2012).

5.    Singh, R., Vatsa, M. & Noore, A. Face recognition with disguise and single gallery images. Image Vis. Comput. 27, 245–257 (2009).

6.    Evgeny Smirnov, Aleksandr Melnikov, Andrei Oleinik, Elizaveta Ivanova, Ilya Kalinovskiy, Eugene Luckyanets. Hard Example Mining with Auxiliary Embeddings. Computer Vision and Pattern Recognition Workshops (CVPRW), 2018 IEEE Conference on 37–46 (2018).

7.    I. Loshchilov, F. H. Sgdr: stochastic gradient descent with restarts. ICLR (2017).

8.    Smirnov, E., Melnikov, A., Novoselov, S., Luckyanets, E. & Lavrentyeva, G. Doppelganger Mining for Face Representation Learning. in 2017 IEEE International Conference on Computer Vision Workshops (ICCVW) (2017). doi:10.1109/iccvw.2017.226

 

Смотрите также

Ключ к паутине

11 апреля, 2019

AI, ML и ИБ

31 декабря, 2018
Подпишись на новости!
Подписаться