Взгляд с высоты птичьего полета на процесс распознавания лица выглядит следующим образом:
Обнаружение лица и представление лица : найдите лицо(лица) на фотографии и создайте представление (также известное как подпись лица). Обучение модели: преобразование нескольких примеров лица человека в одну модель) Распознавание: сравните изображение лица новой фотографии с моделями списка кандидатов.
Распознавание лиц
Многие путают это с распознаванием лиц, обнаружение-это процесс нахождения лица, распознавание-это процесс нахождения того, кому принадлежит лицо.
Распознавание лиц включает в себя прохождение скользящего окна различных размеров по всему изображению, каждый раз пытаясь ответить на вопрос "есть ли лицо такого размера в этом положении".
Это дорогостоящая операция и, как правило, доминирует в стоимости процессора систем распознавания лиц.
Этот шаг может включать начальный этап быстрой фильтрации, который приведет к довольно большому количеству лиц кандидатов, и следующий шаг, который будет выполнять более сложный тест на каждом лице кандидата, чтобы подтвердить, что это лицо.
Обнаружение лица считается решенной проблемой, есть очень хорошие детекторы для распознавания лица и они доступны.
Как только лицо обнаружено, нам нужно извлечь подпись лица. Лучшие системы распознавания выравнивание граней перед извлечением подписи лица, поскольку это делает подпись лица намного лучше.
Выравнивание-это процесс вращения и масштабирования лица, чтобы принести все ключевые особенности в одни и те же места (глаза, нос, рот и т. д.).
Это важно, потому что это позволяет функции, генерирующей сигнатуру лица, работать на гораздо более чистых входных данных и делает распознавание работает гораздо лучше.
Представление лица, вероятно, является самым важным шагом в распознавании лиц.
Обычно грань представлена в виде вектора чисел с плавающей запятой, где значение каждого числа зависит от самого представления.
Многие люди думают, что распознавание лиц работает, глядя на расстояние между глазами, отношение размера рта к нему и так далее.
Мы действительно можем изобразить такое лицо (скажем, первое число-это расстояние между глазами, второе число-соотношение между этим расстоянием и размером рта и так далее).
В реальности-классические системы распознавания лиц ничего подобного не делают.
Вместо того чтобы пытаться спроектировать объекты, они запускают дескриптор низкого уровня, такой как LBP, который кодирует направление градиента вокруг каждого пикселя.
Есть и другие дескрипторы, но LBP были одним из наиболее успешных в течение некоторого времени.
Около года назад с публикацией статьи DeepFace стало ясно, что лучшее представление может быть сгенерировано с помощью нейронной сети.
Типовое обучение
Проще говоря, модельное обучение-это процесс принятия нескольких представлений Лица, принадлежащих одному и тому же человеку, и создания классификатора, который может распознавать больше примеров представления лица от одного и того же человека. Наиболее популярным подходом является использование линейного SVM.
Узнавание:
Учитывая новое представление лица и список идентичностей кандидатов, распознавание будет "сравнивать" модели лиц идентичностей с новым представлением лица и генерировать оценку для каждого из них. Оценка при прохождении определенного порога является показателем признания.
Это очень быстрая работа, и в зависимости от размера представительства - современные системы могут получать баллы для миллионов кандидатов в секунду.
Насколько хороши оценки для распознавания, зависит от качества всех предыдущих шагов, и особенно от качества функции представления.
Спасибо за внимание, а теперь подпишитесь на канал и поставьте лайк в качестве благодарности за эту статью!