Система распознавания лиц: как она работает и чего стоит опасаться?

Помощь в узнавании лиц

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

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

Как работает поиск по лицам

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

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

Google Images

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

  • переходим к сервису google.ru;
  • далее в поисковой строке, щелкаем по иконке с изображением фотоаппарата;
  • затем откроется окно выбора загрузки, где потребуется загрузить картинку или указать на нее ссылку;
  • затем откроется страница выдачи поискового запроса. Под основным изображением будут даны ключевые запросы, по которым осуществлялся поиск, и далее представлен список ресурсов, где есть похожие фотографии;
  • щелкаем «Похожие изображения» и ищем нужную картинку.
  • Для того, чтобы перейти к источнику, требуется нажать на картинку и кнопку «Перейти» расположенную рядом с объектом;
  • если похожий объект не обнаружен, возвращаемся на страницу выдачи результата и переходим к блоку «Страницы с подходящими изображениями». Это набор сайтов, где могут встречаться похожие картинки.

Реализация

Переходим к практике.

В реализации мы будем использовать Keras и Tensorflow. Кроме того, мы используем два файла утилиты из репозитория deeplayning.ai, чтобы абстрагироваться от взаимодействий с сетью FaceNet.

  • fr_utils.py содержит функции для подачи изображений в сеть и получения кодирования изображений;
  • inception_blocks_v2.py содержит функции для подготовки и компиляции сети FaceNet.

Компиляция сети FaceNet

Первое, что нам нужно сделать, это собрать сеть FaceNet для нашей системы распознавания лиц.

import os
import glob
import numpy as np
import cv2
import tensorflow as tf
from fr_utils import *
from inception_blocks_v2 import *
from keras import backend as K
K.set_image_data_format('channels_first')
FRmodel = (input_shape=(3, 96, 96))
def triplet_loss(y_true, y_pred, alpha = 0.3):
    anchor, positive, negative = y_pred, y_pred, y_pred

    pos_dist = tf.reduce_sum(tf.square(tf.subtract(anchor,
               positive)), axis=-1)
    neg_dist = tf.reduce_sum(tf.square(tf.subtract(anchor, 
               negative)), axis=-1)
    basic_loss = tf.add(tf.subtract(pos_dist, neg_dist), alpha)
    loss = tf.reduce_sum(tf.maximum(basic_loss, 0.0))
   
    return loss
FRmodel.compile(optimizer = 'adam', loss = triplet_loss, metrics = )
load_weights_from_FaceNet(FRmodel)

Мы начнем инициализпцию нашей сети со входа размерности (3, 96, 96). Это означает, что картинка передается в виде трех каналов RGB и размерности 96×96 пикселей.

Теперь давайте определим Triplet Loss функцию. Функция в сниппете кода выше удовлетворяет уравнению Triplet Loss, которое мы определили в предыдущей секции.

Если вы не знакомы с фреймворком TensorFlow, ознакомьтесь с документацией.

Сразу после того, как мы определили функцию потерь, мы можем скомпилировать нашу систему распознавания лиц с помощью Keras. Мы будем использовать для минимизации потерь, подсчитанных с помощью функции Triplet Loss.

Подготовка базы данных

Теперь когда мы скомпилировали FaceNet, нужно подготовить базу данных личностей, которых сеть будет распознавать. Мы будем использовать все изображения, которые лежат в директории images.

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

def prepare_database():
    database = {}
    for file in glob.glob("images/*"):
        identity = os.path.splitext(os.path.basename(file))
        database = (file, FRmodel)
    return database

Для каждого изображения мы преобразуем данные изображения в 128 float чисел. Этим занимается функция img_path_to_encoding. Функция принимает на вход путь до изображения и «скармливает» изображение нашей распознающей сети, после чего возвращают результаты работы сети.

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

Распознавание лиц

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

def who_is_it(image, database, model):
    encoding = (image, model)
    
    min_dist = 100
    identity = None
    
    # Loop over the database dictionary's names and encodings.
    for (name, db_enc) in database.items():
        dist = np.linalg.norm(db_enc - encoding)
        print('distance for %s is %s' %(name, dist))
        if dist < min_dist:
            min_dist = dist
            identity = name
    
    if min_dist > 0.52:
        return None
    else:
        return identity

Загружаем новое изображение в функцию img_to_encoding. Функция обрабатывает изображения, используя FaceNet и возвращает закодированное изображение. Теперь мы можем сделать предположение о наиболее вероятной личности этого человека.

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

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

 if min_dist > 0.52: 
     return None 
 else:
     return identity

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

На GitHub есть демо работы полученной сети, с входом от простой вебкамеры.

Архитектура решения

Так как вся внутренняя инфраструктура ОК построена на Java, то и все компоненты мы завернем в Java. Inference на detector и recognizer работает под управлением TensorFlow через Java API. Detector работает на CPU так как удовлетворяет нашим требованиям и работает на уже имеющемся оборудовании. Для Recognizer-а мы установили 72 GPU карты, так как запуск Inception-ResNet не целесообразен на CPU с точки зрения ресурсов.

В качестве базы данных для хранения векторов пользователя используем Cassandra.
Так как суммарный объем векторов всех пользователей портала ~300Gb, то для быстрого доступа к векторам добавляем кэш. Кэш реализован в off-heap, детали можно прочитать в статье Андрея Паньгина: «Использование разделяемой памяти в Java и off-heap кеширование».

Построенная архитектура выдерживает нагрузку до 1 млрд фото в сутки при итерации по пользовательским профилям, при этом параллельно продолжается обработка новых заливаемых фотографий ~20 млн фото в сутки.

Рисунок 6. Архитектура решения

FindFace — программа от российского разработчика

Своим выходом в свет сервис FindFace обязан российским разработчикам. Принцип его действия заключен в сравнении имеющегося у пользователя фото с профилями ВКонтакте и поиске похожих людей . Фотография человека загружается в специальную форму и сервис ищет совпадения. FindFace вызвал шумиху сразу после появления, так как с его помощью некоторые “продвинутые” пользователи нашли девушек, которые снимаются в видео для взрослых, и начали писать их близким и знакомым в целях разоблачения. Благодаря широкому скандалу сервис стал очень популярным.

Итак, чтобы найти человека (если у него есть аккаунт ВКонтакте), переходим на FindFace.

Главная страница FindFace

Главная страница очень простая – ничего лишнего, только форма, в которой уже стоит галочка в окошке, означающая согласие юзера с пользовательским соглашением (ссылка на него кликабельна и можно сразу же с ним ознакомиться). Без этого согласия пользоваться поиском FindFace не получится . Приложение доступно как в веб-версии, так и на устройствах с ОС Andro >Найди одинаковых! ” и разрешаем сайту получить доступ к нашему профилю ВКонтакте (который и будет аккаунтом на FindFace).

Последний представлен в трех вариантах:

Статус Особенности
Бесплатный 30 бесплатных запросов
Premium 75 запросов в месяц
VIP 300 запросов в месяц

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

Дальнейший порядок действий:

  1. Загружаем или перетаскиваем фотографию в специальное поле (весом не больше 5 Мб и в форматах JPG или PNG).

Работаем в FindFace

Поиск осуществлен, и мы видим, что ВКонтакте найден 51 человек, у которых на фотографии изображен Владимир Владимирович Путин.
С этой страницы можно просмотреть профиль пользователя (5 раз на бесплатном аккаунте FindFace, неограниченное количество раз – на Premium и VIP), задать параметры либо начать новый поиск.

Задаем параметры поиска

Ошибка версии FindFace для Twitter

Сервис Яндекс.Картинки

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

Вот несколько компаний, которые реализуют программы для распознавания лиц в видеонаблюдении:

  • Findface;
  • Hikvision;
  • Verilook Standard SDK.

Средняя цена за стартовый пакет софта – от 450 долларов. Как видите, профессиональные продукты вряд ли заинтересуют стандартного пользователя.

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

  • Зайдите на сайт https://yandex.kz/images/;
  • Нажмите на значок фотоаппарата справа от поисковой строки;
  • Добавьте исходную картинку;
  • Нажмите «Поиск»;

Плюсы

  • Анализирует не только базу данных Вконтакте, но, вообще, весь Рунет;
  • Больше шансов разыскать нужного человека;

Минусы

  • Яндекс выдаст все сайты, на которых загружено это или похожее фото;
  • Очень много одинаковых картинок, что затруднит анализ результатов и займет гораздо больше времени;

Перечисленные выше сервисы позволяют распознавать лица как с компьютера, так и с телефона. Однако, с компа работать гораздо удобнее. Далее мы приведем программу для распознавания лиц по фото для Андроида, которую легко установить на смартфон.

Топ 10 Лучших программ для распознавания

Программы для распознавания так плотно вошли в нашу повседневную жизнь, что уже сложно представить время, когда их не было. Буквально все – от младших школьников до офисных работников и солидных ученых – используют их регулярно: для поиска музыки, расшифровки текстов, считывания штрих-кодов. Мы предлагаем вашему вниманию топ 10 самых популярных программ. 1 Распознавание текста: ABBYY Fine Reader

Абсолютный чемпион в своем роде, лучший друг студентов и всех людей, чья деятельность так или иначе связана с печатным словом. Вы загружаете в нее графическое изображение текста – с ПК, сканера или даже телефонной камеры – и получаете электронный текст! Быстро, просто и удобно. Среди кириллических сервисов у FineReader нет конкурентов – он работает со всеми форматами и практически не допускает ошибок.

2 Распознавание музыки: Shazam

Как часто, сидя в баре, вы слышали отличную песню и страстно мечтали узнать ее название, чтобы потом слушать снова и снова? Что ж, у этой проблемы есть гениально простое решение – «Шазам». Просто установите его на свой андроид, и он с легкостью распознает любую музыкальную композицию. Программа интегрирована с магазинами музыкального контента Google Play и Amazon, что делает ее лидером среди сервисов такого рода.

3 Распознавание речи: Dragon Naturally Speaking

Англоязычная утилита, которую, к сожалению, невозможно «обучить» великому и могучему. Однако в том, что касается английского, она настоящий ас: распознает до 95% слов, запоминает тембр и темп вашей речи и с легкостью расшифровывает самые длинные и сложные фразы. Кстати, с ее помощью можно неплохо подтянуть произношение: чтобы программа вас поняла, говорить следует предельно четко.

4 Распознавание лиц: VeriLook Standard SDK

Основана на надежных технологиях, гарантирует 100%-ное определение лица со скоростью 100 000 лиц в секунду. Функционирует в режимах 1:1 и 1:N, может работать с большинством камер на Windows, Linux и Mac OS X.

Настоящая находка для тех, кто хочет «читать» своего собеседника в Интернете, как открытую книгу. С легкостью интерпретирует огромное количество выражений лица – от недовольного и испуганного до радостного и нейтрального. Средний процент распознавания – около 98%, что, согласитесь, немало. Также способна распознавать пол и этническую принадлежность.

6 Распознавание возраста: How-Old.net

Кстати о лицах: существуют утилиты, определяющие не только эмоции человека, но и его возраст. Сервис How-Old.net был запущен компанией Microsoft относительно недавно и сразу завоевал всеобщую любовь. Ведь это так просто и в то же время интересно: загружаете на сайт свое фото и узнаете, на сколько лет, по мнению компьютера, вы выглядите.

7 Распознавание изображений: Google Goggles

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

8 Распознавание шрифтов: What The Font

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

9 Распознавание штрих-кодов: i-Nigma

10 Распознавание пароля, скрытого под «звездочками»: Eureka!

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

FindFace[править | править код]

Система распознавания лиц FindFace от компании NtechLab. Ее успешно опробовали на Чемпионате мира по футболу в России в 2018 году. Эта же система работает на входах в офисы некоторых компаний. Она же ищет подозреваемых на улицах Москвы и в общественном транспорте. Кроме того, ее можно применять для анализа реакций людей на товары и услуги или для входа в банковские приложения по лицу. Иными словами, она имеет разные применения, но «под капотом» используется одни и те же алгоритмы.

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

Способы обхода системы[править | править код]

Специальные очкиправить | править код

Американские очки, делающие владельца невидимым для камер, распознающих лица, собрали 41 тысячу долларов на краудфандинговой платформе Kickstarter в 2016 году. И с тех пор продаются по тысяче долларов за штуку. Правда, покупатели жалуются, что они скрывают лицо лишь под определенным углом к объективу.

Пластиковые маскиправить | править код

ем, кто хочет сохранить приватность, американский художник Лео Сельвахио предлагает носить на улице маску с его лицом. По мнению художника, это не привлечет внимания прохожих и точно обманет камеры безопасности. Пластиковое лицо Сельвахио продает на официальном сайте за 200 долларов. Те, кто не готовы тратиться, могут бесплатно скачать и распечатать бумажный вариант.

Бейсболка Justice Capправить | править код

В 2014 году в продаже появилась бейсболка Justice Cap, оснащенная светодиодами, которые засвечивали лицо для фото- и видеокамер. Это оказалось очень простым и эффективным способом скрыться от видеонаблюдения. Стоила такая кепка всего $ 15.

Маскировочный макияжправить | править код

Вариантов маскировочного макияжа предлагали много, но пока ни один из них не смог скрыть человека от камер абсолютно надежно. Например, в 2010 году свои эскизы предложил другой американский художник Адам Харви. Он утверждал, что не придумал их, а подобрал, ориентируясь на погрешности популярных программ распознавания лиц — использовал библиотеки OpenCV и скрипты на Java и Processing.

Специальные принтыправить | править код

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

Этот пример стал хрестоматийным для научных исследований и показал «темную сторону» генеративно-состязательных нейронных сетей, которые, кстати, тоже придумал Гудфелоу.

Годом позже исследователи из Университета Карнеги-Меллона (США) продолжили развивать идеи Гудфелоу и предложили с помощью нейросетей генерировать специальный принт для оправы очков. Цель была та же — обойти системы распознавания лиц. Разработанная нейронная сеть позволила подбирать специальные принты, которые «превращают» человека в любую выбранную знаменитость, или другого человека. Например, один из исследователей, надев такие очки, стал для фотобиометрической системы Милой Йовович.

Множество способовправить | править код

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

Дипфейкиправить | править код

В случае идентификации по видеоиспользуют дипфейки — маски, созданные специальными программами, которые просто накладывают на реальное изображение чужое лицо. Несколько лет назад угловатость и комичность, с которой технология «оживляла» изображение, стала основой для нескольких интернет-мемов. Тогда Сильвестра Сталлоне заставили «исполнить» главную роль в «Один дома», а Арнольда Шварценеггера — все роли во «Властелине колец». Но если те подделки детекторы дипфейков (специальные программы, которые раскручивают созданную иллюзию в обратную сторону, выявляя критические несоответствия между теми самыми 80 ключевыми точками) определяли почти в 100 процентах случаев, то теперь этот показатель стал ниже.

Определение слова «Идентификация» по БСЭ:

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

В следственной, экспертной и судебной практике важное значение имеют приёмы И. личности по почерку (см

Почерковедение судебное), по чертам внешности, по следам рук, ног, зубов (см. Трассология). отождествление печатей, штампов, пишущих машин по их оттискам. оружия по стреляным пулям и гильзам (см. Баллистика судебная). обуви по её следам. инструментов и орудий взлома — по следам взлома. транспортных средств — по следам протектора, колёс. целого — по совмещению его частей (например, частей разбитой автомобильной фары, разорванного документа и др.). Итоги криминалистической И. должны быть выражены в процессуальных актах, в противном случае они не будут иметь доказательственного значения. Такими актами являются предъявление для опознания и экспертиза (см. также Криминалистика, Экспертиза судебная). Лит.: Терзиев Н. В., Идентификация и определение родовой (групповой) принадлежности, М., 1961: Белкин Р. С., Винберг А. И., Криминалистика и доказывание, М., 1969. Колдин В. Я., Идентификация и её роль в установлении истины по уголовным делам, М., 1969. А. И. Винберг. В психологии и социологии процесс эмоционального и иного самоотождествления личности с другим человеком, группой, образцом. формирование и обнаружение собственной идентичности (индивидуальности). Первоначально термин «И.» был введён З. Фрейдом. В психоаналитической литературе в качестве моделей И. обычно фигурирует И. ребёнка с родителем того или другого пола. В социологической и социально-психологической литературе термин приобрёл более широкое значение, обозначая, с одной стороны, имитацию, подражательное поведение, а с другой — особенно в исследованиях личности — эмоциональное слияние с объектом, глубокую интериоризацию (освоение) нормы или образца. И. широко применяется в математике, технике и др., например в алгоритмических языках используют символы-идентификаторы операций, в кассовых автоматах осуществляется И. монет по их массе и форме и др. К основным задачам И. относятся: распознавание образов, образование аналогий, обобщений и их классификация, анализ знаковых систем и др. И. устанавливает соответствие распознаваемого предмета своему образу — предмету, называемому идентификатором. Идентификаторы, как правило, являются знаками взаимосоответствующих предметов. идентичные предметы считают равнозначными, то есть имеющими одинаковый смысл и значение. Лит.: Зиновьев А. А., Основы логической теории научных знаний, М., 1967. Бонгард М. М., Проблемы узнавания, М., 1967. В химии определение состава и строения неизвестного соединения путём сопоставления результатов анализа, а также физических и химических свойств этого соединения с соответствующими характеристиками известного. По тождественности всех показателей устанавливают идентичность исследуемого неизвестного соединения известному. Лит.: Вайбель С., Идентификация органических соединений, пер, с англ., М., 1957. Юинг Г. В., Инструментальные методы химического анализа, пер. с англ., М., 1963.

Аналоги findface

Поиск происходит в следующих соц. сетях:

  • Vkontakte;
  • Instagram;
  • Tinder;
  • Badoo;
  • Mamba;
  • Topface;
  • и др. сайты знакомств.

Поиск продолжается в онлайн-режиме за пару минут. Главным плюсом Lovereportявляется анонимность. Человек, которого ищут, никогда не узнает, что его кто-то пытался найти через сайт. Для доступа к функциям сайта необходимо зарегистрироваться и оплатить один из тарифов. Оплата происходит через защищенный шлюз по банковской карте. Существует 2 тарифа: доступ на 2 дня или на месяц. Функционал подписок одинаков.

Стоимость

  • Тариф «Пробный» на 2 дня: 49 р.
  • Тариф «Месячный» на 30 дней: 1499 р.

Search4faces

Search4facesтак же, как и findface.ruиспользует нейронные сети и машинное обучение для поиска человека по фото. В отличие от findface, search4facesне утверждает, что точно найдет человека, изображенного на фото. Возможен поиск похожих людей.

Результат выдается за несколько секунд. Результатом является ссылка в Vkили Одноклассниках на аккаунт человека. В базе фотографий находятся фотографии с главной страницы во Вконтакте, Одноклассниках и аватары в TikTokи ClubHouse. Поиск происходит не одновременно. Если пользователь не найден в одной базе фотографий, то следует осуществить поиск по другой базе. Дополнительно к фотографии можно указать пол, диапазон возраста, страну и город.

PimEyes

Польский сервис PimEyes ищет фотографии человека в интернете. Единственной функцией сайта является поиск других фотографий пользователя по загруженной на сайт фотографии. Зачем искать свои же фотографии в интернете? Чтобы защитить себя от воровства данных и присвоения вашей личности. Сервис соблюдает политику конфиденциальности.

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

Российская программа распознавания лиц по фото

Создателями приложения являются 26-летний Артем Кухаренко и 29-летний Александр Кабаков.

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

Приложение дает наиболее подходящее соответствие с лицом на фотографии наряду с 10-ю людьми, на которых оно может быть похоже.

Артем Кабаков считает, что это приложение может совершить прорыв в сфере знакомств: “Если вы увидите понравившегося вам человека, вы можете его сфотографировать, найти его личность и отправить запрос на добавление в друзья“.

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

Фотограф из Санкт-Петербурга Евгений Цветков недавно провел фотопроект “Your Face Is Big Data” (“Ваше лицо – это большая база данных”), сфотографировав 100 случайных людей, которые сидели с ним рядом в метро. Затем с помощью приложение Findface он попытался найти их в социальной сети ВКонтакте.

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

Создатели FindFace считают, что такая программа кроме всего прочего поможет в расследовании преступлений, выявляя преступников на улице.

Ключи, кошелек, балаклава

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

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

Фото: Alexander Baumann/Shutterstock

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

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

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

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

Остальные технологические компании не так избирательны. Amazon и Microsoft предоставляют свои облачные сервисы для алгоритмов распознавания; тесно сотрудничать с ними планирует Facebook.

Правительства не станут отказываться от новых заманчивых возможностей. Грядут перемены, и встретить их нужно лицом к лицу.

Материалы по теме:

Как работает распознавание лиц: метод Виолы-Джонса

Один из способов распознать образ — найти контур объекта и исследовать его свойства. По этому принципу работает метод Виолы-Джонса с использованием признаков Хаара, который придумал венгерский математик Альфред Хаар.

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

Маски (признаки Хаара) накладываются на фотографии и «находят» на них лица. Источник

В алгоритме Виолы-Джонса маски накладываются на разные части кадра, а программа определяет, может ли в них находиться объект. Работает это так:

  1. Классификатор (алгоритм, который будет искать объект в кадре) обучают на фотографиях лиц и получают пороговое значение — его превышение будет сигнализировать о том, что в кадре есть лицо.
  2. В классификатор загружают изображение, на котором будут искать лицо.
  3. Классификатор накладывает на него маски и отдельно складывает яркость пикселей, попавших в белую часть маски, и яркость пикселей, попавших в черную часть маски. Потом из первого значения он вычитает второе.

Результат сравнивается с пороговой величиной.

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

Так происходит классификация: подобласть изображения, которая успешно проходит через весь каскад классификаторов f1, …, fn, классифицируется как лицо

На практике маски находят лицо на фотографии так:

Как маски «находят» лицо на картинке