Андрей Смирнов
Время чтения: ~22 мин.
Просмотров: 0

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

Испытания СРЛ решено начать со школ.

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

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

Для устранения этого, наряду с системой распознавани лиц, в школах будут введены дополнительные уроки патриотического воспитания и уважения к закону. Уже с 1 сентября 2020 года в школах добавится новый предмет, который будет разъяснять школьникам как надо правильно любить Родину и уважать законы РФ.

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

Учителя на крючке

До 2024 года министерство просвещения планирует оснастить системами безопасности более 43 тысяч общеобразовательных учреждений в рамках федерального проекта «Цифровая образовательная среда», входящего в нацпроект «Образование».  «Умные» камеры создают «материальную базу» для формирования комплексной цифровой среды в российских школах и расширяют возможности дистанционного обучения, — сказал заместитель Председателя Правления УК «РОСНАНО» Дмитрий Пимкин. 

Мы уже не раз слышим про дистанционное обучение. Настойчиво, со всех сторон на граждан валится информация о грандиозных переменах, грядущих в образовании на основании цифровой революции. Третий человек в государстве — спикер Совета Федерации Валентина Матвиенко прямо говорит, что: «Надо понимать, что дистанционное обучение теперь уже не будет практиковаться как резервный, временный способ только в чрезвычайных ситуациях вроде нынешней».

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

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

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

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

Одним словом, система разпознавания лиц это не просто очередное «видеонаблюдение» — это основа-основ возможности тотального контроля за любым человеком.

На систему распознавания лиц планируется потратить, по самым скромным подсчетам, свыше 2 млрд. руб.! Такая сумма позволила бы отремонтировать большое количество старых школ, построить новые и повысить зарплату учителям. Однако установку СРЛ посчитали гораздо важнее.

Есть только одно «НО». По закону родители должны дать письменное согласие на цифровую обработку данных своего ребенка. Без этого занести его в базу данных нельзя. Но будет ли это работать на практике — большой вопрос!

VFRS — первый шаг в распознавании лиц

Японская компания Omron, ведущий мировой производитель электронных компонентов и систем, в настоящее время активно проводит разработки в данном направлении. Разработки новых технологий для биометрических систем, и в частности, распознавания на изображении тел человека, анализ движения и идентификации лица человека начались еще в начале 2000-х гг. Возможности новой технологии распознавания лиц в кадрах изображения, полученных с видеосенсоров мобильных устройств, впервые были продемонстрированы компанией Omron на выставке «Безопасность Японии» в 2005 г. Тогда был представлен датчик с программным обеспечением (ПО) Vision Face Recognition Sensor (VFRS). До этого времени на рынке были слабо представлены коммерческие продукты данного направления.

Новая технология Omron ориентирована в основном на сектор мобильных устройств, например для реализации в сотовых телефонах со встроенными камерами. Применение биометрического метода распознавания владельца устройства по лицу является хорошей альтернативой таким методам безопасности и защиты от несанкционированного доступа посторонних лиц к компьютерам или объектам, как пароли и системы распознавания отпечатков пальца. Основное достоинство технологии в том, что она не требует дополнительных аппаратных устройств и работает по биометрическому принципу. Система распознает лица на фоне других фоновых объектов, классифицирует особенности лица по форме глаз, носа и рта. VFRS позволяет выделить до 89 характерных параметров, которые могут сличаться при идентификации личности. Длительность процедуры — 1–2 с.

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

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

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

Искусственный интеллект интернета. Как нас заставляют лайкать, кликать и покупать

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

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

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

Как обезопасить себя от распознавания лица?

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

Я согласен, что остановить способность Facebook и Google распознавать ваше лицо само по себе недостаточно, но это по крайней мере на шаг ближе к чему-то, чем сидеть и ничего не делать.

Из фейсбука

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

  1. Откройте в браузере
  2. Нажмите стрелку вниз в правом верхнем углу страницы
  3. Нажмите « Настройки »
  4. Выберите « Распознавание лиц » с левой стороны.
  5. Рядом с « Хотите ли вы, чтобы Facebook мог вас узнавать по фотографиям и видео ?» выберите номер

От Google

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

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

  1. Откройте photos.google.com на своем компьютере
  2. Нажмите « Меню » в левом верхнем углу страницы.
  3. Выберите « Настройки »
  4. Рядом с « похожими лицами группы » нажмите стрелку вниз
  5. Отключите « Помогите контактам распознать ваше лицо »

Камера

Я выбрал недорогую, но при этом функциональную камеру Intel RealSense SR305, которая может снимать и цветное изображение, и глубинное изображение в разрешении 640 на 480 пикселей с частотой до 60 кадров в секунду.

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

Так выглядит камера, установленная на треногу

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

В комплекте с камерой идет провод USB и инструкция со ссылкой на официальный SDK в репозитории на GitHub.

ореховая скорлупа

Все, что мы обсуждали, – это способ сделать более совершенные системы безопасности более безопасными для нас. Тем не менее, ничто из этого не является надежным.

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

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

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

Перспективы применения OKAO Vision

ПО ОКАO не требует установки дополнительного оборудования, поэтому эта технология может стать самой доступной системой снятия биометрических данных из всех ныне существующих. Компания Omron разработала алгоритм, позволяющий фиксировать особенности глаз, носаи рта (всего 80 особенностей лица). Создание этого ПО стало возможно благодаря разработанной Omron технологии OKAO Vision, которая позволила серьезно уменьшить размер рабочих файлов. Таким образом удалось решить проблему ограниченных возможностей сотовых телефонов. Новая программа полностью совместима с самыми распространенными операционными системами для сотовых телефонов — Symbian, BREW, Linux и ITRON.

Размер фото при работе сенсора не превышает 1,5 кбайт, минимальны и требования к памяти: ПЗУ — 450 кбайт, ОЗУ — 370 кбайт. На MSM 6500 весь процесс займет примерно 1 с.

Принцип работы системы идентификации доступа довольно прост. Пользователь снимает свое лицо с помощью встроенной камеры, затем технология OKAO Vision преобразует картинку в набор биометрических данных, для хранения которых требуется всего 1,5 кбайт. Чтобы провести процесс идентификации, необходимо снова сфотографироваться. При этом OKAO не требует никаких особых настроек камеры — лицо будет распознано в любом случае, если оно поместилось на фотографии. Предполагаемый объем рынка мобильных устройств, в которых может быть использовано ПО ОКАO, по предварительным оценкам составляет 500 млн устройств.

Как устроено видеонаблюдение в Москве

Считается, что современная система видеонаблюдения в рамках программы «Безопасный город» в Москве появилась в 2011-2012 году. До этого она была довольно архаичной, использовалась неэффективно, многие камеры просто не работали. В 2016 году директор департамента дополнительных услуг «Ростелекома» Илья Лисовский говорил изданию The Village, что в Москве установлено 140 тысяч видеокамер нового поколения.

С тех пор, судя по сообщениям разных СМИ, количество видеокамер увеличивалось примерно на 7-10 тысяч в год. В мае 2019-го Сергей Собянин сказал, что в Москве их 167 тысяч. Мэр добавил, что видеозаписи оттуда используются при расследовании 70% всех совершенных преступлений.

  • Распознавание лиц: можно ли спрятаться от «Большого Брата»?
  • Распознавание лиц: укрыться от полиции будет все сложнее

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

«Комсомольская правда» приводила статистику: чаще всего записи с видеокамер используются для расследования вандализма или краж (в 52% случаев) и для разбора ДТП (в 40% случаев).

В ходе следствия, а потом суда по «болотному делу» о беспорядках на Болотной площади Москвы 6 мая 2012 года стало понятно, что в основу обвинительных материалов легли записи с камер уличного наблюдения. Новые задержания проводились по мере поступления все новых видеозаписей, эти же кадры использовались в суде как доказательства вины демонстрантов.

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

В июле 2016 года «Медуза» впервые рассказала о технологии FaceТ и приложении FindFace. Это они лежат в основе современного биометрического наблюдения, позволяют распознать лицо прохожего и идентифицировать его по правоохранительным базам данных. Именно об этих видеокамерах и говорил Сергей Собянин.

  • Распознавание лиц: почему в Китае не скрыться даже в 60-тысячной толпе
  • Распознавание эмоций и лиц: помощь полиции или путь в антиутопию?

Технологией сразу же заинтересовались власти Москвы и других российских городов. И, главное, правоохранительные органы.

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

Image caption

Впервые технологию распознавания лиц в Москве опробовали во время чемпионата мира по футболу

Официальных данных, сколько человек и за что арестовали в России после опознания видеокамерой, нет.

На практике в октябре 2018-го с системой столкнулся активист леворадикальной организации «Другая Россия» Михаил Аксель. Он рассказал изданию «Медиазона», что его остановили полицейские на станции метро «Спортивная».

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

После разбирательства Акселя отпустили. Он утверждал, что его данные в базу занесли сотрудники антиэкстремистского центра «Э». На вопрос молодого человека, как убрать его данные из базы, раз он официально ни в чем не обвиняется, сотрудник полиции ответил: «Никак».

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

В августе 2018 года Сергей Собянин сказал, что власти Москвы, развивая город, во многом ориентируются на китайские мегаполисы.

Китай — мировой лидер по технологиям наблюдения за своими гражданами. К 2020 году там планируется установить 600 миллионов видеокамер. У полицейских есть специальные очки-дисплеи, которые могут выдать информацию о прохожем — достаточно просто на него посмотреть. В апреле 2017 года на востоке Китая задержали находящегося в розыске мужчину. Полиция с помощью видеонаблюдения нашла его на стадионе во время концерта, где было 70 тысяч человек.

Тонкая грань между безопасностью и катастрофой

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

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

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

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

Например, MasterCard и Google просят пользователей моргнуть – простое действие, которое мешает мошенникам обмануть систему с помощью лица, напечатанного методом 3D, или обычной фотографии. К сожалению, продукт Google подводит – некоторым людям удаётся обойти защиту с помощью простой анимации.

Алгоритмы распознавания лиц на изображении

Стоит отметить, что коммерциализация продуктов данного сектора стала возможна в первую очередь благодаря появлению на рынке дешевых, компактных датчиков изображения высокого разрешения, а также появлению дешевой элементной базы для цифровой обработки изображения: процессоров с высокой производительностью и большой памятью, дешевой КМОП-ОЗУ, flash-памяти для хранения больших объемов графической информации. Наличие на рынке данных компонентов позволило перейти от чисто исследовательских работ к выпуску массовых и доступных для широкого применения устройств. На рис. 1 показана структура реализации алгоритма распознавания лица человека.

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

Что такое распознавание лица?

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

Рынок распознавания лиц , как ожидается , вырастет до $ 7,7 млрд к 2022 году , так как она имеет все виды коммерческих приложений. От использования для маркетинга продуктов до проведения надзора, данные могут использоваться для всего, что помогает расширить наши процессы.

Сегодня есть компании, которые охотно собирают миллионы изображений для этой цели. Например, Clearview AI может идентифицировать человека на изображении, которое кто-то загружает в его сервис, так как у него более 3 миллиардов изображений , скопированных с таких сайтов, как Facebook, YouTube, Venmo, Google и т.д.

Как видят машины

К нам подходит Александр Ханин, директор VisionLabs.

Расскажите о компьютерном зрении?

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

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

Задача распознавания лиц решена?

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

Зато человек анализирует не отдельные параметры, а лицо и даже ситуацию в целом. Мы понимаем контекст, в котором лицо собеседника принимает то или иное выражение. Как машина со всем этим справляется?

Александр Ханин: Сочетая лучшие методики компьютерного зрения и машинного обучения. Взять, например, метод глубокого обучения — его особенность в том, что человек не задает параметры лица для распознавания.

Как освоить самую нужную профессию настоящего и ближайшего будущего

Нейросеть программирует сама себя?

Александр Ханин: Нейросети появились еще в 1970-х, а революция в этой области началась примерно в 2013-2014-м. Потому что только к этому времени удалось накопить достаточно большие объемы данных, чтобы учить нейросети, а вычислительные мощности стали относительно дешевыми. Продолжать разрабатывать детерминированные методы распознавания — указывать, какие части лица как сравнивать, — стало бессмысленно.

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

Вы именно так обучали свою систему?

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

Где же вы взяли эти миллионы пар фотографий?

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

Поддерживаемые режимы работы

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

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

  • «жестким»: после идентификации по основному признаку система производит сравнение изображения, полученного с камеры с фотографией сотрудника. В системе генерируется событие «Ожидание лица». В случае, если лицо не распознано или сотрудник не появился в кадре в течение 5 сек, система запрещает доступ.
  • «мягким»: система предоставляет доступ в любом случае, однако если лицо так и не было распознано, будет выведено соответствующее событие в интерфейсе наблюдения.

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

  • определенных точек прохода и направления («на вход» и «на выход»)
  • определенных групп сотрудников

Процесс обработки видеоизображения

Техническое, или машинное, зрение реализует сложный процесс выделения, идентификации и преобразования видеоинформации, который содержит шесть основных этапов:

  • получение (восприятие) информации с датчика;
  • предварительная обработка изображения;
  • сегментация;
  • описание;
  • распознавание;
  • интерпретация.

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

Реализация

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

В реализации мы будем использовать 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  0.52:
        return None
    else:
        return identity

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

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

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

 if min_dist > 0.52: 
     return None 
 else:
     return identity

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

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

Где применяется технологии распознавания лиц?

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

По данным британской Comparitech, среди 50 стран, где правительство и частные структуры обширно и агрессивно собирают и хранят биометрические данные граждан, пятёрку возглавили Китай, Пакистан, Малайзия, США и Индия. По мнению исследователей, в топ-5 стран, где сбор данных наиболее эффективно регулируется правительством, вошли Ирландия, Португалия, Великобритания, Кипр и Румыния.

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

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

В США противники системы распознавания лиц пошли дальше. С начала 2020 года в Сан-Диего (штат Калифорния) вступил в силу трёхлетний мораторий на использование систем распознавания лиц. Временный запрет стал результатом длительной общественной кампании против использования в штате системы тактической идентификации (Tactical Identification System, TACIDS). В неё входит база данных для распознавания лиц, используемая местными, штатными и федеральными агентствами.

С 2016 по 2018 год полицейские провели через систему более 65 000 проверок с помощью смартфонов и планшетов. Главные аргументы правозащитников против технологии заключались в недопустимости вмешательства в частную жизнь граждан и предвзятости полиции к этническим меньшинствам.

Рейтинг автора
5
Материал подготовил
Максим Иванов
Наш эксперт
Написано статей
129
Ссылка на основную публикацию
Похожие публикации