Как работают технологии распознавания лиц

Статья о том, как работают технологии распознавания лиц

Три кита систем распознавания лиц
Прежде чем говорить о распознавании лиц (face recognition), нужно определить, что имеется в виду. Когда мы говорим «распознать человека», это означает, что у нас есть база фотографий определенного количества людей и изображения, видео или 3D-скан с тем человеком, которого мы ищем. Когда мы указываем, что этот человек в нашей базе под номером таким-то, тогда мы распознаем его. Если нет базы данных, то о распознавании речи быть не может. Есть такие системы распознавания, база которых состоит из одного человека. Тогда речь идет о верификации этого человека. Задача такой системы — определить, изображения отвечает конкретному человеку. Суть этой системы распознавания — придумать такой способ, который с максимальной точностью укажет допустимые пределы вариативности входного изображения, когда входное изображение будет соответствовать изображению человека в базе. То есть несмотря на мимику, угол наклона лица и различные вариации освещения, системе все еще нужна лицо. Если это будет лицо другого похожего человека в освещении, с подобными чертами лица, с бородой и усами, например, то система распознать это изображение как ложное.

Получив входную фотографию, нейросеть превращает пиксели изображения набор цифр — числовой вектор. Результат такого процесса называется эмбеддингом (embedding). Это процесс проекции изображения в определенное многомерное пространство. Как правило, это 512- или 1024-измеримое пространство. В трехмерном пространстве точка имеет три координаты однозначно ее локализуют (x, y, z). Соответственно, в четырехмерном — четыре. Уникальные черты лица мы параметризуемо 512 или больше координатами. И, несмотря на то, что представить себе, как выглядит такое многомерное пространство, достаточно трудно, математика работает одинаково в двух-, трех- или 512-мерном пространстве. В любом случае мы можем посчитать угол между векторами. Когда угол между векторами двух изображений — минимальный, то это лицо принадлежит одному человеку. Если угол будет больше чем определенное критическое значение, то мы будем иметь дело с изображениями двух разных людей. Нейросети тренируются на датасетах — наборах данных. Датасеты для систем распознавания лица содержат по несколько сотен или тысяч фотографий на одного человека в разных условиях: дневного или ночного освещения, различные углы наклона головы, макияж, мимика, аксессуары вроде очков. Изображения могут собираться из интернета, систем видеонаблюдения, верификации. На такой базе фото нейросеть учится проектировать числовые векторы в многомерное пространство и определять по углу между векторами, которые фотографии принадлежит одному человеку, а какие — разным людям.

Как работают технологии распознавания лиц
Как работают технологии распознавания лиц

Распознавание лица на пальцах
Чтобы объяснить, как работает система распознавания лиц, можно привести пример. Допустим, у нас есть университетская база фотографий трех тысяч студентов. Мы хотим, чтобы на входе в университет благодаря камере видеонаблюдения система распознавания автоматически определяла студента и его номер в базе данных. Тогда нам нужно пройти несколько этапов. Во-первых, натренировать нейросеть на большой базе данных, необязательно только студентов. Главное, чтобы датасет был вариативным. Чем больше в нем будет изображений людей разной расы, пола, возраста, при различных условиях освещения, тем больше вероятность того, что система правильно распознает студентов. Несмотря на стремительное развитие, «предвзятые» данные (biased databiased data — массивы данных, которые не учитывают людей с разным цветом кожи, национальностью, гендером и т.п.) — актуальная проблема. Часто системы распознавания лиц достаточно точно определяют белых мужчин, а вот женщин, еще и чернокожих, — хуже. Все зависит от качества и вариативности датасета. На втором этапе, когда камера видеонаблюдения определяет студента, сначала происходит face detection — обнаружение лица, поскольку камера фиксирует картинку вокруг: в кадре может быть несколько человек, кто может ходить, кто-то возвращаться. Поэтому система «Детектив» квадрат вокруг лица и говорит: «Вот здесь есть какое-то лицо». После этого по всему кадру вырезается и частица, где зафиксировано нужное лицо.

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

Как работают технологии распознавания лиц
Как работают технологии распознавания лиц

Нефть XXI века
Минимальная выборка для тренировки алгоритмов зависит от того, в какой сфере будет применена система распознавания лица. Одно дело, если мы делаем систему распознавания лиц за фото на документах, где все лица стандартизированы. Совсем другой случай, когда система распознавания должна качественно работать при различных погодных условиях, дневного и ночного освещения, с камерами видеонаблюдения низкого качества. К тому же нейросеть нужно тренировать. Это лучше всего делать на датасетах, которые будет максимально приближенными к данным, с которыми система будет работать в будущем. Если мы возьмем каталог фотографий людей на паспорт, а потом натренированную нейросеть попробуем применить на данных камеры видеонаблюдения, то мы не получим адекватных результатов. В машинном обучении 80% успеха обеспечивают не алгоритмы, не нейросети, не гениальные решения, а качество данных. Идеальные датасеты случаются редко. Некоторые инициативные группы годами вычищают наборы данных для научных исследований. Некоторые закрытые датасеты разрабатываются внутри крупных корпораций, на них тратят миллионы долларов и их защищают, как невероятную ценность. На качественном датасете можно сделать любой алгоритм. На рынке существует много стартапов по сбору и чистых данных. Это нефть XXI века. Чтобы собрать большой датасет, нужно много времени. Корпорации или крупные сети начинают собирать данные еще за пять лет до того, как они возьмутся реализовывать их. В частности, крупные сети супермаркетов собирают кучу данных с камер видеонаблюдения за несколько лет. Эти компании могут легко получить выгоду от владения таким количеством данных: разработать и тренировать свои алгоритмы или продать их. Есть много компаний и стартапов, которые «голодные» к данным, так купить датасет — дорого, а на тот, который может быть в свободном доступе, часто не имеют прав для коммерческого использования. Бывает и такое, что наборы данных одной компании не подходят для другой. Так, данные американских супермаркетов могут не работать на нашем рынке.

Пожинаем плоды
В зависимости от того, где используется система распознавания лиц, последовательность и количество операций (pipelines) может отличаться. Когда нужно верифицировать владельца компьютера, то задача системы — не максимально точно распознать конкретного человека среди миллиона других, а не разрешить предоставление доступа не собственнику компьютера. То есть цепочка процессов, которые выполняет алгоритм, подчиняется задаче, которую решает технология. Например, нам нужно распознать опасного преступника. Тогда задача системы — максимально точно подобрать в базе данных людей, которые могут быть этим преступником. Ведь разумнее дать системе команду искать людей, максимально похожих на подозреваемого, а не требовать от алгоритма 100% совпадений. Их просто может не быть. Системы распознавания лиц используются в различных сферах: от полиции и систем верификации в аэропортах и розничной продажи. Еще лет пять назад анализ поведенческих моделей покупателей в магазинах благодаря данным камер видеонаблюдения был инновацией. Сегодня это отдельный рынок.

Сейчас рынок технологии распознавания лиц стоит миллиарды долларов. В течение 2019-2029 годов прогнозируют еще 24% роста. Эта сфера настолько гигантская, что сложно назвать основных игроков на рынке. Но точно можно сказать, что на мировом рынке первенство имеет Китай. Китайцы вкладывают миллиарды в технологии распознавания и не только лиц, но и по походку, темп голоса, даже за покупками в супермаркете. В зависимости от сферы применения будут разные лидеры. Компании достигают очень крутых результатов в узкой сфере. Почти невозможно быть экспертом одновременно во всех отраслях. Есть и такие, которые создают гениальные решения, которые затем принимают сотни подобных компаний, однако о самых «изобретателей» часто ничего не знают.

 

Приобрести оборудование с функцией распознавания лиц вы можете в нашем интернет-магазине https://camera.spb.ru/store