0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Пора узнать

Пора узнать. Как работает распознавание лиц на самом деле?

Юбилейный iPhone X получил одну из самых неординарных фишек среди конкурентов. Флагман умеет распознавать лицо владельца, а вместо Touch ID и кнопки «Домой» инженеры интегрировали камеру TrueDepth и функцию Face ID.

Быстро, моментально и без необходимости вводить пароли. Так можно разблокировать iPhone X уже сегодня.

Apple известна тем, что всегда смотрит в технологическое будущее намного раньше, чем очередная функция становится стандартом. В случае с iPhone X и сканером лица компания уверена, что за распознаванием лиц будущее.

Разберемся, заблуждается ли Apple или наши лица – это верный пропуск в цифровое будущее.

? Рубрика «Технологии» выходит каждую неделю при поддержке re:Store.

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

1. Найти

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

Статья в тему:  Что такое HTML5? Какие преимущества имеет HTML5

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

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

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

Статья в тему:  Как зайти в свой icloud. Как зайти в iCloud с Андроида

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

2. Упростить

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

Статья в тему:  Увеличение шрифта на экране компьютера

Стоит ли переживать о программах, распознающих лица?

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

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

Говоря о программном обеспечении, все они работают по-разному, но в основе своей используют похожие методы и нейросети. У каждого лица есть множество отличительных признаков (в мире невозможно найти два идентичных лица, а ведь сколько их было за всю историю человечества!). К примеру, программное обеспечение FaceIt определяет эти признаки как узловые точки. Каждое лицо содержит примерно 80 узловых точек, схожих с теми, что мы упоминали прежде: расстояние между глазами, ширина носа, глубина глазных впадин, форма подбородка, длина челюсти. Эти точки измеряются и создают числовой код — «отпечаток лица» — который затем попадает в базу данных.

Статья в тему:  Безопасное хранение паролей. Где и как хранить свои пароли

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

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

На смену 2D пришло 3D-распознавание. Эта недавно появившаяся тенденция в программном обеспечении использует 3D-модель, обеспечивающую высокую точность распознавания лица. Запечатлевая трехмерное изображение поверхности лица человека в реальном времени, ПО выделяет отличительные черты — где больше всего выдаются жесткие ткани и кость, например, кривые глазного гнезда, носа и подбородка — для идентификации субъекта. Эти области уникальны и не меняются со временем.

Построение 3D-модели лица

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

  • Обнаружение: получение снимка при помощи цифрового сканирования существующей фотографии (2D) или видео для получения живой картинки субъекта (3D).
  • Центровка: определив лицо, система отмечает положение головы, размер и позу.
  • Измерение: система измеряет кривые на лице с точностью до миллиметра и создает шаблон.
  • Репрезентация: система переводит шаблон в уникальный код. Этот код задает каждому шаблону набор чисел, представляющих особенности и черты лица.
  • Сопоставление: если снимок в 3D и база данных содержит трехмерные изображения, сопоставление пройдет без изменений снимка. Но если же база данных состоит из двумерных снимков, трехмерное изображение раскладывается на разные составляющие (словно сделанные под разными углами двумерные снимки одних и тех же черт лица), и они конвертируются в 2D-изображения. И затем находится соответствие в базе данных.
  • Верификация или идентификация: в процессе верификации снимок сравнивается только с одним снимков в базе данных (1:1). Если целью же стоит идентификация, снимок сравнивается со всеми снимками в базе данных, что приводит к ряду возможных совпадений (1:N). Применяется тот или иной другой метод по необходимости.
Статья в тему:  Темы для вк без регистрации. Как поменять тему ВКонтакте

Как это работает?

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

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

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

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

Статья в тему:  Безопасный и быстрый браузер. Сравнение браузеров

Тренды и риски

Опасения, что система распознавания лиц будет работать не только на поддержание безопасной городской среды, но и для вычисления участников несанкционированных митингов или слежки за оппозиционно настроенными активистами, могут быть оправданы. Авторы журналистского расследования The Wall Street Journal рассказывали о том, как специалисты Huawei помогали правительствам Уганды и Замбии следить за оппозицией. Но на повестке остаются и другие актуальные вопросы: например, как защитить базы данных от утечки информации, что делать, если система ошиблась, признав в невинном человеке разыскиваемого преступника, или как не стать жертвой кибербуллинга.

В 2018 году компания NtechLab закрыла проект FindFace.ru – первый в мире сервис для поиска людей по фотографии в российской социальной сети «ВКонтакте». Инструмент с алгоритмами машинного обучения, опередивший Google, позволял найти профиль незнакомого человека по его фотографиям в интернете. С одной стороны, сервис значительно упрощал поиск, с другой, стал инструментом для травли работников порноиндустрии. Инициаторы «облавы» рассылали компромат на порноактрис их друзьям и знакомым, а также публиковали находки в специальной группе в VK. Позже её заблокировала администрация VK.

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

Статья в тему:  Unity web player игры. Как обновить плагин Unity Web Player

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

Зная, какие магазины и заведения посещают потенциальные клиенты, маркетологи смогут точнее определять целевую аудиторию и выбирать стратегию продаж. Выиграет ли от этого пользователь – другой вопрос. Хотя не исключено, что в каких-то случаях так будет проще и быстрее находить нужные товары и услуги. Так, например, крупнейший ритейлер Walmart с помощью распознавания лиц анализирует эмоции клиентов. Система сканирует мимику посетителей, определяя, кто ушёл довольным покупкой, а кто нет. Также записанные эмоции можно сопоставить с историей транзакций, чтобы проследить изменения в покупательских привычках клиента.

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

Ссылка на основную публикацию
Статьи c упоминанием слов:
Adblock
detector