Первоисточник:zhuanlan.zhihu.com/FaceRec
содержание
В этой серии колонок будут проанализированы ключевые документы, связанные с распознаванием лиц на основе глубокого обучения, начиная с DeepFace в 2014 году и заканчивая новейшими алгоритмами. Также представлены функции потерь для распознавания лиц: функции потерь, основанные на евклидовом расстоянии (контрастные потери, тройные потери, центральные потери); функции потерь, основанные на угловой границе (L-Softmax Loss, A-Softmax Loss, COCO Loss, CosFace Loss, ArcFace). убыток) и др. История развития распознавания лиц на основе глубокого обучения
- В 2014 году серии DeepFace и DeepID в основном обучают фреймворк распознавания лиц с несколькими классификаторами Softmax; затем извлекают слой объектов, а затем используют функции для обучения другой нейронной сети, двойной сети или фреймворка проверки лиц, такого как комбинированный Байес. Чтобы иметь как системы проверки лиц, так и системы распознавания лиц, вам нужно обучать две нейронные сети по отдельности. Но размер матрицы линейного преобразования W увеличивается линейно с увеличением числа тождеств n.
- Фреймворки DeepFace и DeepID — это CNN+Softmax, и сеть формирует очень различимые черты лица на первом уровне FC для распознавания лиц.
- DeepID2, DeepID2+ и DeepID3 используют CNN+Softmax+Contrastive Loss, чтобы расстояние L2 для объектов одного типа было как можно меньше, а расстояние L2 для разных типов объектов было больше определенного интервала.
- В 2015 году FaceNet предложила унифицированную структуру решения для большинства проблем с лицами, непосредственное изучение встроенных функций, а затем распознавание лиц, проверку лиц и кластеризацию лиц, основанные на этой функции. На основе DeepID2 FaceNet отказалась от слоя классификации, а затем улучшила Contrastive Loss до Triplet Loss, чтобы получить внутриклассовую компактность и межклассовые различия. Однако количество троек граней резко увеличилось, особенно для больших наборов данных, что привело к значительному увеличению количества итераций; стратегия извлечения выборки затруднила эффективное обучение модели.
- В 2017 году «В защиту тройной потери для повторной идентификации человека» была предложена формула потери с мягкой маржой для замены исходного выражения тройной потери и введена пакетная жесткая выборка.
- В 2017 году Ву, С. и др. объяснили, почему неквадратичное расстояние лучше, чем квадратное расстояние с точки зрения производной функции, и предложили маржинальные потери на основе этого понимания. Кроме того, они также предложили выборку, взвешенную по расстоянию. В статье считается, что полужесткая выборка в FaceNet, случайная жесткая и пакетная жесткая в глубоком распознавании лиц не могут быть легко приняты и будут генерировать большие градиенты (большие потери, то есть триплеты, которые полезны для обучения модели).
- В 2015 году, чтобы ускорить обучение Triplet Loss, VGGNet сначала использовала традиционный softmax для обучения модели распознавания лиц.Из-за сильных характеристик контроля сигнала классификации модель быстро подходила; затем слой классификации был удален, и Triplet Loss использовался для выполнения векторного слоя на модели.
- В 2016 году Center Loss изучает центр для каждой категории и стягивает все векторы признаков каждой категории в соответствующий центр категории, а также получает внутриклассовую компактность в соответствии с евклидовым расстоянием между каждым вектором признаков и его центром категории. дисперсия класса гарантируется совместным штрафом в виде потери Softmax. Тем не менее, обновление фактических центров занятий во время обучения очень затруднено, потому что количество классов, доступных для обучения, в последнее время резко увеличилось.
- В 2017 году COCO Loss нормализовала вес c, нормализовала функцию f и умножила масштабный коэффициент, достигнув 99,86% на LFW;
- В 2017 году SphereFace предложил A-Softmax, который является усовершенствованием L-Softmax.Он предложил штраф за угловой интервал и нормализовал вес W, так что обучение было больше сосредоточено на оптимизации карты признаков глубины и угла вектора признаков, а также количество семплов уменьшено Несбалансированная проблема.
- «Обучение минимальной гиперсферической энергии» также говорит о том, что его функция потерь требует для расчета ряда приближений, что приводит к нестабильному обучению сети. Чтобы стабилизировать обучение, они предлагают гибридную потерю Softmax, которая эмпирически доминирует в процессе обучения, потому что основанный на целых числах мультипликативный угловой интервал делает целевую логистическую кривую очень крутой, препятствуя сходимости.
- В 2018 году CosFace напрямую добавил штраф за косинусный интервал к целевой логистической регрессии, используя аддитивный косинусный интервал, cos(θ)-m, нормализованные собственные векторы и веса. По сравнению со SphereFace он обеспечивает более высокую производительность, его проще реализовать и он снижает потребность в совместном контроле с потерями softmax.
- В 2018 году ArcFace предложила аддитивную потерю углового разделения, θ+m, которая также нормализовала собственные векторы и веса геометрически с постоянным запасом по линейному углу. Напрямую оптимизируйте радианы.Для стабильной работы ArcFace не нужно реализовывать совместный контроль с другими функциями потерь.
- 2018 MobileFaceNets, MobileNetV2+ArcFace Loss, облегченная модель.
Содержание Обзор распознавания лиц Машинное обучение Классические функции потери Функция потери распознавания лиц (вверху) на основе евклидова расстояния Функция потери распознавания лиц (внизу) на основе углового поля 1 DeepFace 2 DeepID 3 DeepID2 4 DeepID2+ 5 DeepID3 6 FaceNet 7 VGGFace 8 SphereFace 9 CosFace 10 ArcFace
Обзор
Задача FR, структура системы, разработка функций, разработка функции потерь, разработка магистральной сети, разработка набора данных и примеры набора данных для обучения, двойная сеть, функция потери распознавания лиц 1. Задача FR, структура, разработка функций, разработка функции потерь, разработка магистральной сети. классификация задач распознавания (FR, Face Recognition) (1) 1:1 (верификация лица)
- 1:1 обычно называют задачей проверки лица, которая представляет собой бинарную классификацию (например, сравнение одного лица с другим).
- Face Verification (проверка лица; подтверждение лица; проверка лица) = подтвердить, что вы — это вы? (совпадение 1:1)
- Он используется в Интернете для покупки авиабилетов, билетов на поезд, регистрации в больницах, государственных проектов на благо людей, а также для открытия различных счетов ценных бумаг, открытия телекоммуникационных счетов и открытия финансовых счетов в Интернете.
(2) 1:N (распознавание лиц)
- 1:n обычно называется задачей идентификации лица, которая является множественной классификацией (например, поиск лица в базе данных многих лиц).
- Идентификация лица = Узнайте, кто вы? (совпадение 1:n)
- Самая большая разница по сравнению с двумя фотографиями 1: 1 A / B - это A / BA / CA / D ... несколько вычислений 1: 1, самая большая проблема заключается в том, что когда общее количество BCD больше, скорость вычислений ниже. , и Если сумма превышает 200 000, будет несколько похожих результатов (большое количество 200 000 приведет к тому, что многие люди будут похожи друг на друга), и потребуется ручное позиционирование.
- Он в основном используется для поиска лиц, расследования подозреваемых в совершении преступлений, поиска по полной базе данных пропавших без вести и повторного расследования одного человека с несколькими сертификатами.Соответствующие результаты перечислены на основе сходства, что может значительно повысить эффективность расследования.
- Фактический сценарий использования 1:1 более ограничен и одинок, в то время как реальный сценарий использования 1:n более дикий и неуправляемый. Таким образом, для достижения высокой доступности 1:1 проще, а 1:n сложнее.
(3) Н:Н
- N:N Этот алгоритм фактически основан на алгоритме 1:N с множественными входными результатами. Например, используется для покадровой обработки видеопотоков, что предъявляет жесткие требования к вычислительной среде сервера.
(4) скопление граней
- Ищете похожих людей?
Задача распознавания лиц
- Внутриличностная вариация
- Межличностная вариация
Система глубокого распознавания лиц
- Во-первых, для обнаружения лиц используется детектор лиц. Затем лицо выравнивается по нормализованным каноническим координатам. Наконец, модуль FR выполняет распознавание лиц.
- Антиспуфинг лица модуля FR может определить, является ли лицо действительным или вводящим в заблуждение, обработка лиц справляется с трудностями идентификации перед обучением и тестированием;
- Во время обучения используются различные архитектуры и функции потерь для извлечения отличительных глубоких признаков; когда извлекаются глубокие признаки тестовых данных, для классификации признаков используются методы сопоставления лиц.
- На следующем рисунке перечислены некоторые важные методы обработки данных, проектирования конструкции, функции потерь и сопоставления лиц.
- Deep Face Recognition: A Survey. Mei Wang,Weihong Deng. 201804
Разработка представлений признаков FR
- Целостный подход доминировал в FR в 1990-х и начале 2000-х годов.
- В начале 2000-х и 2010-х последовательно появлялись локальные дескрипторы на основе локальных признаков и локальные дескрипторы на основе обучения.
- В 2014 году DeepFace и DeepID достигли высочайшей точности, а фокус исследований сместился на методы, основанные на глубоком обучении.
Разработка функции потерь FR
- Deepface и DeepID в 2014 году ознаменовали рождение FR на основе глубокого обучения с использованием потерь Softmax.
- После 2015 года потери на основе евклидова расстояния всегда играли важную роль в функциях потерь, таких как контрастные потери, триплетные потери, центральные потери.
- В 2017 году нормализация характеристик и веса также начала демонстрировать отличную производительность, что привело к исследованию вариантов softmax, таких как softmax L2.
- В 2016 и 2017 годах потеря большой маржи еще больше способствовала развитию изучения функций с большой маржой, таких как L-softmax, A-softmax, Cosface, Arcface.
Красный, зеленый, синий и желтый представляют метод глубины на основе softmax, метод потерь на основе евклидова расстояния, метод на основе вариантов softmax и метод интервальных потерь на основе угла/косинуса соответственно.
Развитие магистральной сети FR
- Архитектура глубокой FR всегда соответствует сетевой структуре глубокой классификации объектов, эволюционировавшей от AlexNet до SENet.
2. Наборы данных FR Эволюция наборов данных FR
- До 2007 года ранние работы в области FR были сосредоточены на ограниченных и мелкомасштабных наборах данных.
- Внедрение набора данных LFW в 2007 г. ознаменовало начало FR в неограниченных условиях. С тех пор было разработано больше тестовых баз данных с различными задачами и сценариями.
- CASIA-Webface в 2014 году предоставил первый широко используемый крупномасштабный общедоступный набор данных для обучения.
- Красные прямоугольники представляют обучающие наборы данных, другие цветные прямоугольники представляют тестовые наборы данных с различными задачами и сценариями.
Для обучения часто используемых наборов данных FR
Общие наборы данных FR для тестирования
Список наборов данных Набор данных распознавания лиц LFW
- Неограниченный набор данных распознавания лиц в естественных условиях, который состоит из 13 323 изображений лиц интернет-знаменитостей в естественных сценах (разные ориентации, выражения и условия освещения). Есть 5749 знаменитостей, из которых 1680 имеют 2 или более изображений лиц, только 85 имеют более 15 изображений, а 4069 имеют только 1 изображение. Каждое изображение лица имеет уникальный идентификатор имени и серийный номер, чтобы его можно было отличить.
- Набор данных LFW в основном проверяет точность распознавания лиц. База данных случайным образом выбирает 6000 пар лиц для формирования пар изображений распознавания лиц, из которых 3000 пар принадлежат одному и тому же человеку с 2 фотографиями лица, а 3000 пар принадлежат разным людям с 1 фотографией лица для каждого человека.
- vis-www.cs.umass.edu/lfw/
Набор данных обнаружения лиц FDDB
- Неограниченный набор данных для обнаружения лиц в естественных сценах, который содержит 5171 лицо на 2845 изображениях, снятых с различных природных сцен. Каждая грань имеет заданное координатное положение.
- Набор данных FDDB в основном проверяет точность распознавания лиц. Алгоритм распознавания лиц должен выполнять обнаружение лиц на каждом изображении в наборе данных и выполнять калибровку положения обнаруженного лица. Затем, согласно правильному ответу, данному самим набором данных, вычисляется количество правильно обнаруженных лиц и количество ошибочно обнаруженных лиц, чтобы судить о качестве алгоритма обнаружения лиц.
- vis-www.cs.umass.edu/fddb/
Набор данных распознавания лиц CelebA (CelebFaces, CelebFaces+)
- Крупномасштабный набор данных о лицах знаменитостей (CelebA) представляет собой крупномасштабный набор данных распознавания лиц, опубликованный лабораторией профессора Тан Сяоу из Китайского университета Гонконга, который в основном используется для распознавания атрибутов лица. 202 599 изображений лиц, 10 177 удостоверений личности и 5 местоположений ориентиров, каждое с 40 аннотациями бинарных атрибутов.
Лица YouTube (YTF)
- YouTube Video Faces используется для проверки лица. В этом наборе данных алгоритм должен определить, принадлежат ли два видео одному и тому же человеку. Есть довольно много методов, которые работают на фотографиях, но не обязательно эффективны на видео, где качество видеоизображения плохое. Набор данных содержит 1595 человек в 3425 видеороликах. Продолжительность самого короткого сегмента составила 48 кадров, самого длинного сегмента — 6070 кадров, а средняя длина видеофрагментов — 181,3 кадра.
CASIA-WebFace
- Китайская академия наук (CASIA), первый широко используемый крупномасштабный общедоступный обучающий набор данных для FR. 490 000 фотографий, 10 000 человек.
Набор данных IJB-A
- Набор данных IJB-A (IARPA Janus Benchmark A) включает не только неподвижные изображения объектов, но и видеоклипы объектов. Из-за этой особенности вводится понятие шаблона: он относится к коллекции всех интересных лицевых медиа, собранных в неограниченных условиях. Медиа-коллекция включает в себя не только неподвижные изображения предмета, но и видеоклипы.
- Все носители в наборе данных были получены в полностью неограниченной среде. У многих объектов резко меняются позы лица, резкие изменения освещения и разное разрешение изображения.
- Недостатком является небольшой размер набора данных, данные IJB-A содержат только 5396 неподвижных изображений и 20412 кадров видеоданных от 500 объектов.
Набор данных MegaFace
- Набор данных MegaFace с данными о лицах на уровне миллионов, выпущенный Вашингтонским университетом в США, включает 690 572 объекта и около 4,7 миллиона изображений, что поднимает масштаб данных о лицах на более высокий уровень.
- Этот набор данных имеет другой параметр политики, и его содержимое состоит из фотографий десятков интернет-знаменитостей плюс 1 миллион фотографий обычных людей в качестве шумовых данных. По сравнению с распознаванием лиц, оно более склонно к верификации лица при большом шуме, а распределение данных также несбалансировано, в среднем всего 7 изображений на объект, а изменение данных лица в пределах одного объекта невелико.
Набор данных MS-Celeb-1M
- Выпущенный Microsoft Research Asia набор данных содержит 100 000 объектов и около 10 миллионов изображений. На данный момент это самый большой набор данных для распознавания лиц.Хотя масштаб велик, распределение данных несбалансировано, данные о лицах с крупными позами составляют небольшой объем, а данных о шуме много.
- Из 1 миллиона знаменитостей выберите 100 тысяч в зависимости от их популярности. Затем используйте поисковую систему для поиска около 100 изображений для 100 тысяч человек каждое. Всего 100K×100=10M изображений. Тестовый набор включает 1000 знаменитостей, которые выбираются случайным образом из 1 млн звезд. И это отмечено Microsoft. Есть около 20 фотографий каждой знаменитости, которых нет в сети.
- MSR IRC в настоящее время является одним из крупнейших и самых высокоуровневых соревнований по распознаванию изображений в мире, инициированным Чжан Леем, главой исследовательской группы MSRA (Microsoft Research Asia) по анализу изображений и интеллектуальному анализу больших данных, и проводится регулярно каждый год.
3. Сиамская сетевая архитектура
- Сиамская сеть — это сиамская нейронная сеть, а сиамская архитектура — это фреймворк, «сиамский» нейронной сети достигается за счет разделения весов. Сиамский относится к двум сиамским сиамским близнецам. Сиамские нейронные сети используются для обработки ситуаций, когда два входа «сравнительно похожи», например, для вычисления семантического сходства двух предложений или слов.
- Веса левой и правой нейронных сетей абсолютно одинаковы, и даже одну и ту же сеть можно реализовать в коде, а другую реализовывать нет необходимости, потому что веса одинаковые, и обе стороны могут быть лстм или снн.
- Псевдосиамская сеть (псевдосиамская сеть): Если левая и правая стороны имеют не общие веса, а две разные нейронные сети, то есть . Обе его стороны могут быть разными нейронными сетями (например, одна — lstm, другая — cnn), или это может быть нейронная сеть одного типа. Нейронная сеть с псевдоблизнецами подходит для обработки двух входных данных с «определенными различиями», например, для проверки согласованности описания заголовка и тела (длина заголовка и тела сильно различается) или текста. описывает картинку (одна картинка, другая текст).
- Цель сиамской нейронной сети — измерить, насколько похожи два входа. Подайте два входа в левую и правую нейронные сети.Эти две нейронные сети сопоставляют входные данные с вектором в новом пространстве и оценивают косинусное расстояние, функцию exp, евклидово расстояние и т. д. в новом пространстве, чтобы получить два входа. сходство. Благодаря тренировке Loss сходство D похожих изображений становится меньше, а сходство D разнородных изображений становится больше.
- Традиционная сиамская сеть использует Contrastive Loss. Конечно, есть и другие варианты функции потерь, Softmax, конечно, хороший выбор, но не обязательно оптимальный выбор, даже в задачах классификации. На следующем рисунке показано использование потери контраста:
- Чтобы продукты соседей были далеко друг от друга, платите в квадрате
- Чтобы сделать выпуск несоседей меньше, чем маржа m, заплатите прямо. Когда D больше m, берется 0, и чем больше разнородное D.
- Есть много приложений как в полях nlp, так и в cv:
- В 1993 году Янн ЛеКун использовал сиамскую нейронную сеть для верификации подписи, то есть для проверки соответствия подписи на чеке подписи, зарезервированной банком. NIPS 1993 «Проверка подписи с использованием« сиамской »нейронной сети с временной задержкой»
- В 2010 году Хинтон использовал его для верификации лиц, и эффект был очень хорошим, то есть скармливать два лица сверточной нейронной сети, а выводить одинаковые или разные, что относится ко второй категории. ICML 2010《Выпрямленные линейные единицы улучшают ограниченные машины Больцмана》
- распознавание почерка
- Алгоритм визуального отслеживания на основе сиамской сети также стал популярной точкой, 2016 г. «Полностью сверточные сиамские сети для отслеживания объектов».
- Анализ семантического подобия лексики, сопоставление вопроса и ответа в QA
- Соревнование Quora по паре вопросов на kaggle, то есть для того, чтобы определить, являются ли два вопроса одним и тем же вопросом, команда-чемпион использует несколько функций n + сиамская сеть. Ссылка:Ссылка 1
4. Функция потерь FR
- Прогнозирование меток (последний полносвязный слой) похоже на линейный классификатор, и функции глубокого обучения должны быть легко разделены. В настоящее время потеря softmax может напрямую решить проблему классификации.
- Но для задач распознавания лиц функции глубокого обучения должны быть не только разделяемыми, но и дискриминационными. Может обобщать, чтобы идентифицировать невидимые классы без прогнозов меток.
Функции потерь, основанные на евклидовом расстоянии. Контрастные потери, тройные потери, центральные потери. Функции потерь, основанные на угловом поле.