«Глубокое приложение» Последний прогресс и направление развития распознавания лиц

искусственный интеллект глубокое обучение

 

Последний прогресс и направление развития распознавания лиц

 

▌Один,распознавание лицаВведение

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

 

Кроме того, что, если вы хотите выполнить поиск людей? Например, у нас есть база данных лиц размером N, и есть изображение, которое нужно получить, давайте оценим, появлялся ли этот человек в этой базе данных лиц. В этом случае необходимо ответить на N вопросов, а именно: является ли эта грань гранью 1 в библиотеке, является ли она гранью 2, пока не станет гранью N. Если на эти N вопросов все ответы «Нет», это означает, что человека нет в базе данных лиц. Отсутствие в базе данных лиц — сложный вопрос, а это означает, что нужно правильно ответить на все N вопросов, прежде чем можно будет действительно подтвердить, что его нет в базе данных лиц.

На практике это, как правило, статический поиск, например, есть полицейский общественной безопасности, который находит целевого человека по видео или картинке, кадрирует его лицо, а затем отправляет его в систему для поиска в библиотеке. Затем система вернет, например, Top K, K — это вообще число порядка десятков или 100, и эти лица будут отсортированы по сходству, а затем вручную проверены, какие из них правильные. Если верный топ 1, то он лучший.Как правило, если он может попасть в топ 10, это хороший результат, но после 100 этот результат трудно помочь людям, которые его используют. Если TopK разрешен, эту базовую библиотеку можно сделать относительно большой, потому что ее не требуется помещать в Top 1.

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

Для примера ниже фото звезды, которое я нашел в интернете, в реальной сцене качество запроса похоже на это, а иногда немного сложнее, чем на этих. Когда основной алгоритм лица решает эту проблему, когда базовая база данных составляет порядка десятков миллионов, скорость отзыва top1 по-прежнему очень высока, а проблема 80–90% не очень велика или даже выше.

人脸识别是什么?浅谈人脸识别最新进展及发展方向

Конечно, в безопасности или других прикладных сценариях есть более сложная задача — поиск лиц N: N. В этом случае у нас будет большое количество камер, каждая из которых снимает фотографии в реальном времени, и есть много людей, которые должны быть подтверждены.лицо, и библиотека также относительно большая. Например, в сфере безопасности предположим, что у нас есть 100 камер, и каждая камера фиксирует 10 000 человек в день, тогда общее количество поисков равно 1 миллиону. Предположим, что в этот день камера зафиксировала 10 подозреваемых, и предположим, что нам нужно найти их в базовой библиотеке размером в 100 000 человек. У нас есть алгоритм, который звонит в полицию 100 раз в день, и полиция подтверждает каждого из них.В итоге пойманы 9 подозреваемых.Это вроде бы неплохо, ведь всего появилось 10 человек и 9 поймали. Уровень отзыва составляет 90%. Затем давайте посмотрим на частоту ложных срабатываний, 100 срабатываний, 9 раз верно, 91 раз неправильно, частота ложных срабатываний равна 91, разделенному на 1 миллион × 100 000, что составляет примерно 0,91/1 миллиард, примерно 1 миллиард 1 из 1 ложных. положительная ставка.

人脸识别是什么?浅谈人脸识别最新进展及发展方向

Этот показатель относительно хорош в нынешнем алгоритме распознавания лиц, но не так идеален в глазах полиции общественной безопасности, потому что они вызывали полицию 100 раз и поймали только 9 человек.Они действительно хотели позвонить в полицию 10 раз и поймал человек 9. Лично стоимость будет намного ниже. Итак, давайте посмотрим на количество ложных срабатываний 9 человек, пойманных на 10 звонках в полицию? Вроде бы на порядок меньше, но на самом деле процент ложных срабатываний требуется увеличить на два порядка, потому что количество ложных срабатываний в это время всего 1, а 1 разделить на 1 миллион × 100 000 уже 1 на 100 миллиардов, этого очень трудно добиться. Даже если существует алгоритм «один к 100 миллиардам», он может удовлетворить потребности только камер 100. Во многих городах легко насчитываются десятки тысяч камер или даже сотни тысяч. Следовательно, алгоритм должен снизить частоту ложных срабатываний на N порядков или потребовать от нас более разумного его использования, и остается еще много места для исследований.

Другим типом приложения является кластеризация виртуальных идентификаторов лица. Виртуальный идентификатор заключается в том, что мы не знаем информацию об идентификаторе каждого, а имеем только большое количество результатов захвата камеры. Информация кластеризуется, поэтому траектория движения пользователя и его поведенческие привычки можно добывать. Эта информация очень полезна во многих сценариях.Самым простым является кластеризация альбомов лиц.Это приложение очень простое, потому что вам нужно сделать кластеризацию только в альбоме одного человека, а библиотека очень маленькая. Однако в сценариях безопасности, розничной торговли и других сценариях это данные на уровне города.Если это сделано правильно, это может принести ценную информацию, например, кто с кем часто бывает и что есть из пункта А в пункт Б в пункт С к пункту D Аномалии, такие как ненормальный поток людей, вызывают серьезную озабоченность во многих местах, особенно в Синьцзяне и Тибете.

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

人脸识别是什么?浅谈人脸识别最新进展及发展方向

▌2. Введение в передовые алгоритмы распознавания лиц

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

人脸识别是什么?浅谈人脸识别最新进展及发展方向

Baseline

人脸识别是什么?浅谈人脸识别最新进展及发展方向

Первый — это Baseline, который может выполнять классификацию на основе CNN уже в конце 1980-х годов. Если вы хотите использовать этот набор на человеческом лице, вам нужно всего лишь сделать простую замену.персонажВвод заменяется вводом выпрямленного лица. LeNet5 можно заменить на ResNet и различные последующие улучшения. Далее следует классификация: лицо можно разделить на столько категорий, сколько существует идентификаторов. Затем у нас есть признаки после обучения сети.Например, вывод окончательного FC можно использовать в качестве признака лица.

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

DeepID

人脸识别是什么?浅谈人脸识别最新进展及发展方向

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

DeepID2

人脸识别是什么?浅谈人脸识别最新进展及发展方向

DeepID2 более детализирован, он хочет, чтобы черты одного и того же человека были как можно ближе, а черты разных людей могли быть дальше. В качестве входных данных используются два изображения, каждое из которых использует CNN для извлечения признаков.Две сети CNN имеют общие параметры, и эта сиамская сеть используется для определения того, являются ли они одним и тем же человеком. Если это один человек, мы требуем, чтобы евклидово расстояние между признаками было относительно небольшим.Если это разные лица, мы надеемся, что евклидово расстояние между ними по крайней мере больше или равно m. Из этой потери видно, что если она меньше m, то она будет наказана, и она безопасна только тогда, когда больше m. Есть надежда, что этот подход сделает представление признаков более ясным. Этот метод не должен полагаться на особенно большой слой FC, независимо от того, сколько идентификаторов у ваших реальных людей, вы делаете что-то похожее на двоичную классификацию. В то же время его также можно использовать с softmax в предыдущем DeepID1, который будет иметь некоторые улучшения.

DeepID2+

人脸识别是什么?浅谈人脸识别最新进展及发展方向

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

DeepFace

Особых нововведений в алгоритме DeepFace нет, его улучшение заключается в тонкой настройке предыдущего выравнивания препроцессинга лица, результаты показывают, что это будет полезно, но есть и некоторые сомнения, т. к. вы хотите использовать 3D Alignment (выравнивание), может выйти из строя во многих случаях, особенно крайних. Алгоритм распознавания лиц развивается очень быстро, и существует много разных идей и практик, но может ли он действительно хорошо работать в разных типах приложений, его нужно попробовать, прежде чем можно будет сделать вывод, и он может не применяться повсеместно.

DeepID3

DeepID3 был работой 2015 года, когда вышли GoogLeNet и VGG, поэтому автор добавил относительно глубокий модуль сверточной сети, и произошли некоторые улучшения.

FaceNet

人脸识别是什么?浅谈人脸识别最新进展及发展方向

FaceNet от Google отличается: он использует Triplet Loss, что напрямую связано с его собственным объемом данных.Предыдущие статьи основаны на общедоступных данных, а количество идентификаторов лиц составляет около 10 000. Но у Google очень много интернет-данных, в его крупнейшем эксперименте использовалось 260 миллионов данных о лицах, а общее количество идентификаторов составляет около 8 миллионов. Так что в то время Google с самого начала использовал Triplet Loss, что означало, что у него были пары из трех сэмплов, один из которых назывался Anchor, а другой — Nega.tive, один называется Положительным. Положительный означает, что он того же типа, что и Anchor, а если он не того же типа, что и Anchor, то он отрицательный.

Center Loss

人脸识别是什么?浅谈人脸识别最新进展及发展方向

Center Loss немного более прямолинеен.Когда он делает Softmax, он не только для объединения, но и надеется, что каждая категория будет более компактной и прямой. Его функция Loss относительно проста, эквивалентна xi — признаку каждого изображения, yi — его метке, а Cyi — центру для определенного класса, что эквивалентно изучению признаков каждого изображения, а затем центру класса каждого класса в то же время я также узнаю, что характеристики этих образцов, принадлежащих к одному и тому же классу, должны быть относительно близки к центрам их собственных классов. Это сочетается с softmax для создания новой потери, чтобы изученные функции могли лучше выражать отношение сходства между разными лицами на евклидовом расстоянии.

Первые несколько алгоритмов относительно традиционны и устарели, и в текущей системе распознавания лиц их использует меньше людей. В общем, большинство из них улучшают дизайн Loss, а затем сотрудничают с softmax. Но Google является исключением. Затем следующие методы, которые кажутся более эффективными, в основном основаны на softmax для дальнейшего изучения.

L-softmax

人脸识别是什么?浅谈人脸识别最新进展及发展方向

Первая относительно важная работа с относительно большими изменениями — это L-softmax (Large-Margin Softmax), а это значит, что когда я занимаюсь классификацией, я надеюсь, что разные классы можно будет более дифференцировать, а один и тот же класс — сжать. , но имеет определенное сходство с предыдущей идеей, но не делает это через дополнительные ограничения, глубоко анализирует форму softmax loss, напрямую вносит в эту форму мелкие изменения, меняет в ней cosθ, становится cosmθ, что приводит к увеличению маржи. Здесь все еще есть некоторые детали обработки, такие как переопределение, когда mθ превышает определенный диапазон, и т. д., но основную идею легче понять.

A-softmax

人脸识别是什么?浅谈人脸识别最新进展及发展方向

A-softmax — это небольшая модификация L-softmax. Хотя это две бумаги, все остальное точно такое же, как у L-softmax. A-softmax состоит в том, чтобы добавить два ограничения, учитывая, что m умножает запас θ. Первое — это норма W. Если это фиксированное значение, мы фиксируем его значение на 1, а затем устанавливаем B непосредственно на 0, потому что он имеет только одно измерение по сравнению с W, он не чувствует, что это сильно повлияет на выразительную силу этой сети, а также может сделать интерпретацию очень естественной, так что в этом случае предсказание модели зависит только от угол между W и X. Но на самом деле, если вы действительно попробуете этот алгоритм, вы обнаружите, что запас очень сильный.Например, когда θ равно 30, то есть когда образец находится всего в 30 градусах от центра своего класса, при m, когда =2 , он будет консервативно полагать, что образец все еще находится на расстоянии 60 градусов от центра класса, поэтому это ограничение очень сильное, и его трудно оптимизировать. Когда он на самом деле используется, это оптимизация A-softmax softmax+α раз.α в начале около 0, что означает, что softmax оптимизируется в начале.Эффект полей.

NormFace/CocoLoss

人脸识别是什么?浅谈人脸识别最新进展及发展方向

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

Есть две работы, которые видели это одновременно, то есть, не считая маржи, просто учитывайте ограничения этих двух Норм, что звучит как очень простая идея, просто две работы тоже тяжелые, и они почти То же самое Опубликовано в то же время, содержание почти точно такое же. Но здесь я решил представить NormFace, его бумажный анализ выглядит более глубоким и говорит о некоторых связях между normface и тройным проигрышем (когда вместо центра класса используется агент). Еще один момент, начиная отсюда, сравнение признаков распознавания лиц больше не использует расстояние L2, а в основном обращается к расстоянию cos. Потому что в этом случае расстояния L2 и cos фактически совпадают.

Это на самом деле очень важно Мы видим, что в ранней версии FaceNet Google также выполняла нормализацию этой функции, что означает, что она обнаружила это давно, и эта нормализация функции поможет. Но если вы хотите глубже понять, почему вам нужно нормализовать функции, зачем добавлять маржу в softmax? На самом деле, есть некоторые теоретические вещи для анализа, я могу представить вам две простые идеи.

FeatureIncay

人脸识别是什么?浅谈人脸识别最新进展及发展方向

В документе FeatureIncay упоминаются два момента:

Во-первых, зачем нормализовать функции?

Есть свойство, если хорошенько вдуматься, вам покажется очень интересным, то есть когда образец уже находится в парном состоянии, то есть уже наиболее близок к Wi собственного центра класса, затем последуют сами потери softmax.Он уменьшается с длиной по модулю этой функции, то есть, если вы уже правильно отсортировали его, softmax продолжит оптимизацию в сторону увеличения ваших модулей, но это не поможет окончательный эффект, потому что он только по модулю Длина меняется, и угол с центром класса не изменился, но с точки зрения softmax его потери упали, а это означает, что мы не можем свободно изучать характеристики каждого образца. Надеемся, что на его характеристики повлияют некоторые ограничения. Нормировать признак, то есть длина модуля признака ограничена, то есть норма равна 1 или равна константе.

Во-вторых, зачем добавлять маржу?

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

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

AMSoftmax/CosFace

人脸识别是什么?浅谈人脸识别最新进展及发展方向

О марже я только что говорил об одной, то есть Asoftmax. На самом деле есть несколько других форм, первая - AMSoftmax, а другая называется CosFace, у этих двух одна и та же идея, и содержание в основном одинаковое. Поля означает, что между поверхностями классификации должен быть интервал, аналогичный таковым в SVM, и два класса разделяются путем максимального увеличения этого интервала. В AMSoftmax расстояние между xi и центром класса равно cosθ. Будь то ASoftmax или AMSoftmax, мы хотим уменьшить это число. Чтобы достичь желаемого значения, установите для него более сильное ограничение и более высокие требования к нему, поэтому он уменьшает m, что эквивалентно тому, что эта вещь становится меньше, и вероятность того, что xi принадлежит к классу, который должен быть в этом классе, труднее достичь 99% или 1, этот угол тета должен быть меньше, эта вероятность может быть ближе к 1, чтобы достичь желаемого стандарта. Правая часть тоже такая же. Обе формулы почти одинаковые. В то же время все просят, чтобы норма W была фиксированной, и норма x должна быть фиксированной. Нас интересует только расстояние cos .

InsightFace/ArcFace

人脸识别是什么?浅谈人脸识别最新进展及发展方向

Третий очень похож на два предыдущих, называется InsightFace, также называется ArcFace, хотя у него два разных имени, на самом деле это бумага. Все эти три метода уменьшают cosθ: первый — умножение θ на m, второй — уменьшение cosθ на m, а третий — добавление θ к m, чтобы уменьшить cosθ. Поскольку функция cos монотонно убывает для θ, поэтому, чтобы сделать эту функцию меньше, во-первых, нужно вычесть значение из cos, а во-вторых, увеличить θ внутри. Есть несколько способов увеличить его, один из них — умножение на m добавляется m, на самом деле эти три метода можно объединить.

В статье автор упомянул, что по сравнению с CosineFace ArcFace имеет относительно большое расстояние между отсчетами каждого класса и его центром класса в начале обучения, по мере обучения они становятся все более компактными, и ArcFace может быть более компактный

В то же время эти три метода можно объединить в одну формулу, вы можете умножить m на θ, затем добавить m2, и после расчета cos можно вычесть m3 Эти три параметра, независимо от того, какая настройка, может сделать функцию больше, чем оригинал, установить меньше, что означает добавление более сильного поля в softmax. Некоторые экспериментальные результаты показывают, что настройка каждого из них по отдельности не обязательно оптимальна, и они могут давать лучшие результаты в сочетании. Однако конкретное явление в геометрии описать сложнее, и могут потребоваться дополнительные исследования.

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

人脸识别是什么?浅谈人脸识别最新进展及发展方向

▌3. Обучение распределенному распознаванию лиц

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

人脸识别是什么?浅谈人脸识别最新进展及发展方向

Первый — параллелизм данных Предположим, у нас есть N вычислительных узлов, N машин, и каждая машина имеет M карт. Сначала мы разделяем большой пакет на каждую карту равномерно посредством параллелизма данных, а затем запускаем сеть CNN с одинаковыми параметрами на каждой карте, чтобы получить особенности той части данных, а затем делаем многоуровневую и многокарточную агрегацию. из этих функций. , общая характеристика данных во всех пакетах равна X. Зачем агрегировать функции? В основном потому, что последние модели распараллелены.

Модель разбивает матрицу параметра W на исходной карточке параллельно на несколько карточек.Например, теперь пусть первая карточка отвечает за предсказание вероятности того, что каждый образец принадлежит к классу 0-100 000, а вторая карточка предсказывает вероятность принадлежащих к 100 000-200 000 категорий.Например, если одна карточка отвечает за 100 000 категорий, а всего у нас 100 карт, мы можем сделать 10 миллионов категорий классификации. После разделения параметров вероятность того, что каждый образец относится к каждому классу, можно вычислить на каждой карточке, но это место нуждается в связи, потому что если вы хотите вычислить класс, вам нужно сделать индексную операцию, а затем получить сумму индексов всех карт, а потом удалить, чтобы знать. Но преимущество в том, что объем связи очень мал, каждой карточке нужно только отвечать за расчет своей части суммы, а потом синхронизировать эту сумму с другимиGPUВот и все, а сумма - это только число (конечно здесь есть некоторые детали, если учитывать стабильность расчета и необходимость синхронизации информации типа максимального значения, но стоимость связи очень маленькая).

Как только вычислена вероятность того, что каждый образец на каждой карте принадлежит к этой части категории, остальное сделать легко, потому что мы видим формулу в частных производных на рисунке ниже, которая зависит только от этой Pk Вероятности, после того как мы получим это Вероятность Pk, мы можем напрямую записать, какова производная целевой функции по отношению к вычисленной fk, что эквивалентно получению производной функции потерь по W и производной от X одновременно. Однако функция потерь разделена на несколько разных карт, поэтому производная X должна быть агрегирована на нескольких машинах и нескольких картах, чтобы получить производную от общей функции. Для производной параметра W каждая карта независима и не влияет друг на друга, поэтому каждая карта может обновляться сама по себе, и передача данных не осуществляется. Трафик суммирования градиентов всех Х невелик.После получения производной Х можно идти по пути предыдущего прямого распространения, достаточно и обратного распространения мультимашины и мультикарты.

人脸识别是什么?浅谈人脸识别最新进展及发展方向

Параллелизм данных - очень зрелая технология. Например, до этого было много отчетов о том, что многие люди могут обучать наборы данных ImageNet в многоуровневой и многокарточной среде. Кажется, что обучение можно завершить примерно за час. Мы также добавили часть параллелизма модели. Модельный параллелизм не так уж и сложен, в основном с учетом того, что объем связи между машинами можно контролировать. Поэтому такая идея относительно проста в реализации и может равномерно распределять использование памяти модели и объем вычислений для каждого графического процессора для достижения линейного ускорения без добавления дополнительной пропускной способности связи, и даже это уменьшает пропускную способность градиентного обновления слоя FC. Получается, что когда матрица W не разделена, градиент W нужно синхронизировать между несколькими картами.После разделения W на каждую карту градиент не нужно синхронизировать.

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

人脸识别是什么?浅谈人脸识别最新进展及发展方向

Ниже приведена демонстрация эффекта простого алгоритма.Основываясь на этой идее, без других модификаций, легко достичь коэффициента ложного распознавания одного на 100 миллионов и коэффициента отзыва около 90%, если объем данных приемлемо Да Интернет-продукты могут быть немного выше. Но, как я уже говорил ранее, с увеличением количества баз данных лиц и увеличением количества снимков с камер все равно будет много ложных срабатываний при скорости распознавания 1/100 000 000, что требует постоянного улучшения.

人脸识别是什么?浅谈人脸识别最新进展及发展方向

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

人脸识别是什么?浅谈人脸识别最新进展及发展方向

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

▌4. Внедрение масштабной платформы для оценки лиц

Для этого есть несколько причин:

Во-первых, раньше в академических кругах было много очень известных наборов тестов, например, LFW имеет 6000 пар аутентификации по лицу 1:1. Но теперь есть много алгоритмов, которые могут достигать хороших результатов более 99% или даже 99,8%, поэтому этот эффект больше не может быть хорошей мерой качества алгоритма.Может быть, два алгоритма, которые также достигают 99,8% на LFW, меняются набор данных Результаты будут намного хуже.

Во-вторых, MegaFace также очень известен в академических кругах. Его тестовое условие — найти целевое лицо среди 1 миллиона отвлекающих факторов.Вначале все думали, что это сложная задача, но за несколько лет исследований в академических кругах первое место в списке превысило 98,9%. иметь определенную тенденцию насыщения. Сначала в нем был некоторый шум, но после того, как некоторые исследователи обнаружили его и очистили, они обнаружили, что этот тестовый набор не так сложен, как предполагалось. Кроме того, пары лиц положительного образца, которые он предоставляет, относительно ограничены, а изменения каждого человека в положительном образце не особенно велики, что может привести к тому, что эта проблема может быть не такой сложной, как все ожидали в начале.

Поэтому мы нашли способ расширить и создать более масштабный обучающий набор, надеясь провести более объективную оценку, чтобы помочь коллегам, занимающимся исследованиями человеческих лиц, иметь тестовую платформу, которую можно продолжать использовать в исследованиях. следующие несколько лет. Мы сделали две вещи: во-первых, создали относительно большой тренировочный набор лиц, а во-вторых, сделали относительно большой тестовый набор лиц. В обучающей выборке около 180 000 человек, всего около 6,8 млн изображений, а в тестовой — около 1,87 млн ​​лиц.

人脸识别是什么?浅谈人脸识别最新进展及发展方向

Ниже приводится краткое введение в процесс производства и очистки этих обучающих наборов.Часть обучающего набора основана на общедоступном MS-Celeb для очистки, удаления повторяющихся знаменитостей, а затем сбора базы данных азиатских знаменитостей, которая также содержит около 100 000 идентификаторов, а затем объединить их вместе для дедупликации и, наконец, объединить данные. В наборе данных MS есть два вида шума, один из них — это шум внутри класса, то есть каждый класс не содержит только одного человека. Другой случай — шум между классами: один и тот же актер появляется в разных фильмах или имеет несколько разных имен и делится на два разных класса.

人脸识别是什么?浅谈人脸识别最新进展及发展方向

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

Во-вторых, чтобы уменьшить ошибки между классами, например, два класса — это один и тот же человек, но один — это имя персонажа фильма, а другой — его собственное имя. Когда набор данных M s-celeb был организован, он был сгруппирован с изображениями и текстовой информацией вокруг него, поэтому было неизбежно, что в этом отношении будет определенный процент ошибок. Когда мы делаем очистку, сначала для каждого класса мы получаем его основной кластер, затем для двух разных классов, если мы идем сравнивать минимальное расстояние между любыми двумя графами в двух классах, если они оказываются меньше некоторого порога, указывая, что два класса могут быть объединены, а затем пусть аннотатор пометит это, и если это действительно один и тот же человек, он будет помечен вместе Таким образом, ошибки между классами сведены к минимуму.

Есть также наборы данных азиатских знаменитостей.Поскольку в предыдущем MS было больше европейцев и американцев, мы поднялись на данные около 100 000 азиатских знаменитостей.После аналогичного процесса очистки мы, наконец, получили 100 000 идентификаторов и более 2 миллионов идентификаторов человека. лицо. В целом набор данных азиатских знаменитостей будет более несбалансированным, чем исходный MS.miПроблема ан оставлена ​​исследователям для изучения.

Для тестового набора используется аналогичная производственная логика, но мы тратим больше усилий на тестовый набор, потому что тестовый набор требует более высокой точности. В предыдущем тренировочном наборе все эти 5000 знаменитостей в LFW были исключены, чтобы наш тестовый набор можно было выполнить на основе LFW, и все запросы тестового набора были получены от этих знаменитостей в LFW, а затем мы просканировали на основе этой знаменитости. list Больше ежедневных фотографий знаменитостей, затем просканировали 1,6 миллиона дистракторов, а затем дедуплицировали друг друга и, наконец, превратили в большой TestSet.

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

Критерии оценки показаны на следующем рисунке:

人脸识别是什么?浅谈人脸识别最新进展及发展方向

Это соревнование более сложное.Мы получили алгоритм InsightFace по результатам RESNet50 для оценки и обнаружили, что его показатель отзыва составляет около 50%, когда уровень инцидентов составляет всего 50%.Нет, есть большие возможности для улучшения.