Алгоритмы распознавания лиц понемногу превращаются во всевидящее око

Популярная механикаHi-Tech

На лице написано

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

Текст: Александр Ершов, Роман Фишман

0:00 /
786.027

Алгоритмы (технологии)

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

Найти

Попытки научить компьютер находить лицо на фотографиях проводились еще с начала 1970-х годов. Было испробовано множество подходов, но важнейший прорыв произошел существенно позднее – с созданием в 2001 году Полом Виолой и Майклом Джонсом метода каскадного бустинга, то есть цепочки слабых классификаторов. Хотя сейчас есть и более хитрые алгоритмы, можно поспорить, что и в вашем сотовом телефоне, и в фотоаппарате работает именно старый добрый Виола – Джонс. Все дело в замечательной быстроте и надежности: даже в далеком 2001 году средний компьютер с помощью этого метода мог обрабатывать по 15 снимков в секунду. Сегодня эффективность алгоритма удовлетворяет всем разумным требованиям. Главное, что нужно знать об этом методе, – он устроен удивительно просто. Вы даже не поверите насколько.

Алгоритмы распознают образы

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

Шаг 1. Убираем цвет и превращаем изображение в матрицу яркости.
Шаг 2. Накладываем на нее одну из квадратных масок – они называются признаками Хаара. Проходимся с ней по всему изображению, меняя положение и размер.
Шаг 3. Складываем цифровые значения яркости из тех ячеек матрицы, которые попали под белую часть маски, и вычитаем из них те значения, что попали под черную часть. Если хотя бы в одном из случаев разность белых и черных областей оказалась выше определенного порога, берем эту область изображения в дальнейшую работу. Если нет – забываем про нее, здесь лица нет.
Шаг 4. Повторяем с шага 2 уже с новой маской – но только в той области изображения, которая прошла первое испытание.

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

Как собрать каскад? Хотя каждый этап наложения маски дает очень большую ошибку (реальная точность ненамного превышает 50%), сила алгоритма – в каскадной организации процесса. Это позволяет быстро выкидывать из анализа области, где лица точно нет, и тратить усилия только на те области, которые могут дать результат. Такой принцип сборки слабых классификаторов в последовательности называется бустингом (подробнее о нем можно прочитать в октябрьском номере «ПМ»). Общий принцип такой: даже большие ошибки, будучи перемножены друг на друга, станут невелики.

Упростить

Найти особенности лица, которые позволили бы идентифицировать его владельца, означает свести реальность к формуле. Речь идет об упрощении, причем весьма радикальном. Например, различных комбинаций пикселей даже на миниатюрном фото 64 × 64 пикселя может быть огромное количество – (28)64 × 64 = 232768 штук. При этом для того, чтобы пронумеровать каждого из 7,6 млрд людей на Земле, хватило бы всего 33 бита. Переходя от одной цифры к другой, нужно выкинуть весь посторонний шум, но сохранить важнейшие индивидуальные особенности. Специалисты по статистике, хорошо знакомые с такими задачами, разработали множество инструментов упрощения данных. Например, метод главных компонент, который и заложил основу идентификации лиц. Впрочем, в последнее время сверточные нейросети оставили старые методы далеко позади. Их строение довольно своеобразно, но, по сути, это тоже метод упрощения: его задача – свести конкретное изображение к набору особенностей.

Шаг 1. Накладываем на изображение маску фиксированного размера (правильно она называется ядром свертки), перемножаем яркость каждого пикселя изображения на значения яркости в маске. Находим среднее значение для всех пикселей в «окошке» и записываем его в одну ячейку следующего уровня.

Авторизуйтесь, чтобы продолжить чтение. Это быстро и бесплатно.

Регистрируясь, я принимаю условия использования

Рекомендуемые статьи

24 часа наедине с мужчиной 24 часа наедине с мужчиной

Всякий уважающий себя самец должен круглые сутки быть на высоте

Playboy
Ирина Антонова Ирина Антонова

Правила жизни искусствоведа Ирины Антоновой

Esquire
Полет бумеранга Полет бумеранга

Гибрид самолета, вертолета, конвертоплана и автожира

Популярная механика
Вирусный маркетинг Вирусный маркетинг

Тактика и стратегия в борьбе с ОРВИ

Glamour
Лыжники с небес Лыжники с небес

Самолеты на лыжах, пожалуй, еще большая экзотика, чем гидросамолеты

Популярная механика
Поколение на горошине Поколение на горошине

Такие ранимые и вместе с тем такие агрессивные

Maxim
Сверх человек: бета-версия Сверх человек: бета-версия

Биохакеры пытаются редактировать гены при помощи собственных изобретений

Esquire
Банковское дело Банковское дело

Медицинские банки возвращаются

Psychologies
Летающий автомобиль Атаманова Летающий автомобиль Атаманова

Пятиместный автомобиль, первый полет которого планируется уже в сентябре

Популярная механика
Когда работа в радость Когда работа в радость

Кто получает больше удовольствия от работы – секретарь или топ-менеджер?

Cosmopolitan
7 знаменитых врачей Античности и Средневековья 7 знаменитых врачей Античности и Средневековья

Знаменитые врачи, спасавшие пациентов во времена Античности и Средневековья

Дилетант
Porsche 718 Cayman S Porsche 718 Cayman S

Гимн удовольствию от вождения, динамика в движении и эксклюзивные технологии

Quattroruote
Женщина на грани Женщина на грани

Актриса Юлия Пересильд согласилась остаться без формы

Esquire
Lamborghini Aventador S Lamborghini Aventador S

Сорок дополнительных «лошадок» и полноуправляемое шасси определяют характер

Quattroruote
20 способов держать мозг в тонусе 20 способов держать мозг в тонусе

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

Psychologies
Маргарита Симоньян: Высокие отношения Маргарита Симоньян: Высокие отношения

Однажды прочитала в "Фейсбуке": "Здравствуйте, Маргарита! Это Тигран Кеосаян"

Караван историй
Охота на лидера Охота на лидера

Hyundai Sonata – Toyota Camry

АвтоМир
Криптобанкиры Криптобанкиры

Мир буквально загипнотизирован блокчейном и криптовалютами

Forbes
Чемоданное настроение Чемоданное настроение

Куда поехать на зимние каникулы?

Psychologies
25 стильных пар 25 стильных пар

GQ выбрал 25 самых стильных пар России

GQ
Промотур в городе света Промотур в городе света

Рассказ Тома Хэнкса из дебютного сборника актера

Esquire
Вера Филенко: Вершки-корешки Вера Филенко: Вершки-корешки

История об офисном рабстве, семейном долге, дачной повинности

СНОБ
Кто в доме главный? Кто в доме главный?

О чем мы спорим с партнером на самом деле?

Psychologies
Спать меньше, успевать больше Спать меньше, успевать больше

Как высыпаться и чувствовать себя бодрой за 5–6 часов сна

Лиза
Легче обнять Легче обнять

Интервью с Ксенией Раппопорт

Домашний Очаг
Тайная связь Тайная связь

Как решали проблему сохранения важных сообщений в тайне от посторонних глаз

Дилетант
Теннисистка Светлана Кузнецова: Я командный игрок и могла бы отлично играть в футбол Теннисистка Светлана Кузнецова: Я командный игрок и могла бы отлично играть в футбол

Светлана Кузнецова — о том, какие кошмары снятся спортсменам

СНОБ
Павленский не зажег Павленский не зажег

Зачем поджигать здание Банка Франции на площади Бастилии?

СНОБ
Теория малых дел Теория малых дел

Не слишком ли сильно стараются родители, стараясь занять ребенка?

Добрые советы
Зачем нужны дорогие лекарства Зачем нужны дорогие лекарства

Цена на препарат сама по себе способна исцелить больного

СНОБ
Открыть в приложении