У вас в телефоне наверняка уже есть технология распознавания лиц. Ещё она есть в городских камерах наблюдения, на заводах и военных объектах, в лабораториях и даже в автомобилях. Посмотрим, как они устроены.
Из чего состоит распознавание лиц
Чтобы машина узнала лицо с помощью камеры, нужны такие компоненты:
- Оптическая камера или лидар, чтобы получить изображение или объёмную карту лица.
- База данных с заранее проанализированными лицами.
- Алгоритм, который находит в кадре лицо.
- Алгоритм приведения лица к какому-то набору векторов.
- Алгоритм сравнения векторов с эталонами.
Теперь посмотрим детали.
Получаем изображение с камеры
Это самая простая часть, которая может даже не зависеть от алгоритма распознавания лиц. Задача компьютера — взять видеопоток с камеры, в реальном времени нарезать его на несколько кадров и эти кадры отправить в алгоритм.
Некоторые алгоритмы используют плоское изображение с камеры. Другие используют лидары — это когда лазерная пушка быстро-быстро стреляет лазером во все стороны и измеряет скорость возвращения лучей. Получается не слишком точная, но в некоторой степени объёмная картинка. Часто её совмещают с изображением основной камеры, чтобы убедиться, что перед нами действительно человек, а не его фотография.
Как работает РАСПОЗНАВАНИЕ ЛИЦ? | РАЗБОР
Иногда алгоритм настроен так, чтобы получать только подвижные изображения с меняющейся мимикой — чтобы не сканировали спящих людей или маски.
Некоторые алгоритмы вычисляют трёхмерную модель на основании поворота головы. Прямо говорят: посмотрите налево, посмотрите направо, приблизьтесь, отдалитесь. Так они пытаются построить более точную объёмную модель лица. Всё это — для безопасности.
Находим лицо в кадре
Перед тем как алгоритм приступит к распознаванию, ему нужно найти лицо на картинке. Для этого он использует метод Виолы — Джонса и специальные чёрно-белые прямоугольники (примитивы Хаара), которые выглядят примерно так:
С помощью этих прямоугольников алгоритм пытается найти на картинке похожие переходы между светлыми и тёмными областями. Если в одном месте программа находит много таких совпадений, то, скорее всего, это лицо человека. Например, вот как с помощью этих примитивов алгоритм находит нос и глаза:
Все примитивы специально подобраны так, чтобы с их помощью можно было найти границы лица и отсечь всё остальное. Поэтому, как только алгоритм находит место скопления таких совпадений, он для проверки сравнивает там остальные прямоугольники:
Знай! / Как работают системы распознавания лиц?
Если их набирается достаточное количество — это точно лицо. Обычно алгоритмы поиска лиц для контроля обводят рамкой найденную область — она помогает разработчикам понять, всё ли в порядке с логикой программы:
Строим модель по ключевым точкам
После того как алгоритм нашёл лицо, он строит его цифровую модель. Для этого он:
- Расставляет точки в ключевых местах: нос, рот, глаза, брови и так далее.
- Считает расстояние между точками.
- По этим расстояниям строит цифровую карту или вектор. Про векторы поговорим ниже.
От того, как будут расставлены эти точки, зависит точность распознавания, поэтому каждая коммерческая компания держит свой метод в секрете. Чем больше точек — тем выше точность, но минимально нужно проставить 68 точек. Если точек будет меньше, алгоритм может не сработать.
Считаем вектор и сравниваем с базой
Когда все точки найдены, алгоритм считает вектор — математический результат обработки свойств этих точек. Например, он находит расстояние между глазами, форму носа, толщину губ, форму бровей, расстояния между ними и ещё массу других параметров. В результате получается набор чисел, который называется вектором.
Если алгоритм работает в режиме «выучить новое лицо», то он записывает полученный вектор в базу данных с каким-то именем или идентификатором. Условно говоря, в базе это выглядит так:
«Вот здоровенный вектор из 900 чисел — я назову его Мишей»
Другой режим работы алгоритма — сопоставление с эталоном. В базе данных уже есть один или несколько векторов, а задача алгоритма — сравнить их с новым вектором, который посчитали только что по картинке с камеры. Тогда алгоритм считает, насколько новый вектор отличается от тех, которые уже лежат в базе данных. Если этот вектор отличается достаточно мало, считаем, что мы распознали лицо.
На картинке видно, что синий неизвестный вектор, который мы хотим распознать, ближе всех находится к Мише. Если расстояние между векторами будет достаточно маленьким, алгоритм скажет, что человек в кадре — это Миша.
У каждого алгоритма свои коэффициенты совпадения: где-то допустимо совпадение только на 98% и выше — тогда алгоритм не будет вас узнавать, если вы в маске или вокруг плохое освещение. Есть алгоритмы, где совпадение может быть меньше — тогда это менее безопасно, но лучше работает. Есть алгоритмы, которые в одном месте требуют точного совпадения, а в других — менее точного (например, глаза должны совпасть точно, а рот может двигаться). Это уже нюансы настройки и подкрутки конкретного алгоритма.
Уточнение векторов и самообучение
Есть алгоритмы, которые уточняются и узнают вас всё лучше со временем. При каждом распознавании лица они видят, что в вас изменилось с прошлого раза, и уточняют свою модель. Например, вы занесли себя в базу данных с бодуна, а на следующий день пришли огурцом. Алгоритм запомнил вас в обоих состояниях.
Что дальше
Теперь, когда мы знаем, как работает эта технология, попробуем повторить это сами — сделаем систему распознавания лиц на Python.
Апскиллинг, как говорится
Апскиллинг — это, например, переход с уровня junior на уровень middle, а потом — senior. У «Яндекс Практикума» есть курсы ровно для этого: от алгоритмов и типов данных до модных фреймворков.
Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Источник: thecode.media
Как работает распознавание лиц? Разбор
Среднестатистический человек может идентифицировать знакомое лицо в толпе с точностью 97,53%. Вы скажете, это немало и будете правы. Но это ничто по сравнению с современными алгоритмами, которые добились точности 99,8% еще в 2014 году. А в последние несколько лет они достигли практически совершенства! Современный алгоритм, использующийся в камерах видеонаблюдения в Москве способен обрабатывать 1 миллиард изображений менее чем за полсекунды с точностью близкой к 100%.
Этот алгоритм насколько крут, что уже в этом году в Московском Метро планируют ввести систему прохода по лицу — FacePay. При этом нам обещают, что система будет работать даже если человек в медицинской маске.
Как вы понимаете, жизнь уже не будет прежней. Поэтому давайте разберемся:
- Как работают алгоритмы распознавания лиц?
- Страшны ли эти алгоритмы на самом деле и где их применяют во благо?
- А также поговорим какого будущего нам ждать.
Причины
- Появились действительно мощные компьютеры, способные справиться с задачей. За это спасибо закону Мура.
- Появились базы данных с нашими с вами фотографиями. За что спасибо социальным сетям.
- Ну и конечно, произошел прорыв в области нейросетей.
Этап 1. Обнаружение
В первую очередь, для того, чтобы лицо распознать, надо его сначала обнаружить. Задача на самом деле не тривиальная. Для этого мы бы могли использовать натренированные нейросети, но это слишком долго, дорого и ресурсоемко. Поэтому для обнаружения лица используется очень простой метод Виолы — Джонса, разработанный еще в 2001 году.
Как эта штука работает?
Этот алгоритм просто сканирует изображение при помощи вот таких прямоугольников, они называются примитивами Хаара:
И еще вот таких прямоугольников:
Задача этих объектов — находить более светлые и темные области на изображении, характерных конкретно для человеческих лиц.
Например, если усреднить значения яркости область глаз будет темнее щек или лба, а переносица будет светлее бровей.
В общем таких характерных признаков много и естественно не только у человеческих лиц могут быть подобные паттерны. Поэтому алгоритм работает в несколько этапов:
Сначала находится первый признак, система понимает: «В этой области может быть лицо». Тогда она начинает там же искать второй признак, а потом третий. И если в одной области найдено 3 признака, уже можно уверенно сказать — да, это лицо! После чего система получает область изображения, в котором есть только лицо.
Этап 2. Антропометрические точки
Получив область для анализа, дальше в дело вступает главный секрет каждой системы распознавания — биометрический алгоритм.
Он расставляет на лице антропометрические точки, по которым впоследствии и будут вычисляться индивидуальные характеристики человека: разрез глаз, форма носа, подбородка, расстояние между ними и прочее. Таких признаков может быть много, вплоть до нескольких тысяч. Но в целом, таких точек должно быть как минимум 68.
Этап 3. Исправление искажений
А дальше начинается настоящая магия. В идеале нам нужно лицо, которое смотрит анфас, то есть прямо в камеру. Но такая удача бывает редко, особенно если речь идет о распознавании человека в толпе.
Поэтому система производит дополнительное преобразование изображения: устранятся поворот и наклон головы. А также проводится 3D-реконструкция лица из 2D-изображения. Таким образом, даже если человек на изображении смотрел вбок, мы всё равно можем получить четкий фронтальный снимок, что существенно повышает качество распознавания.
Этап 4. Вектор лица
Ну а дальше происходит самое главное. В бой вступает нейросеть, которая присваивает каждому лицу вектор признаков. Что это такое?
По сути, это просто какое-то число, которое складывается из суммы характеристик лица: расстояний между опорными точками, текстуры определенных областей на лице и прочее. Таких характеристик может быть множество. Основное правило: они должны описывать лицо независимо от посторонних факторов: макияжа, прически, возрастных изменений.
Этап 5. Идентификация
Ну а дальше остаётся сравнить полученный вектор с базой других векторов. И готово. Система вас идентифицировала.
Где и как используется?
Помимо очевидных кейсов применения, помимо обнаружения правонарушителей в общественных пространствах и оплаты билетов в метро. Где и как могут применяться эти технологии?
Во-первых, системы могут быть настроены не на идентификацию а на анализ поведения или настроения. В такси можно можно быстро вычислять неадекватных водителей или пассажиров. В магазинах, можно находить грустных покупателей и повышать уровень сервиса.
Ритейлеры одежды или продуктовые магазины используют камеры для анализа поведения покупателя, чтобы проанализировать настроение покупателя на кассе. Или например в школах, можно искать скучающих детей и корректировать программу обучения. Так, кстати уже делают в Китае. Вот такой мир будущего, и мы уже в нём живём не зная этого.
Что будет в будущем?
Чего же нам ждать в будущем? Распознавание лиц для разблокировки iPhone, входа в Windows или во время конференций — это прекрасная, удобная технология, упрощающая жизнь и мы уже ей пользуемся. Но вот повсеместные камеры наблюдения в городах рисуют в воображении самые мрачные картины в духе Джорджа Оруэлла.
Отсюда возникает вопрос — можно ли защитить себя от систем видеонаблюдения? Конечно, с развитием технологий развиваются и средства обхода этих технологий.
Люди придумывают макияж и украшения, которые сбивают с толку алгоритм обнаружения лиц, тот самый из 2001 года, создают инфракрасные очки, засвечивающие сенсоры камер, а также делают всякую криповую одежду и маски.
Но по большому счету такой лук скорее больше привлечет внимания, а алгоритмы подстроятся под обманки. Поэтому единственный способ защиты — это закон. Бизнес активно не внедряет системы распознавания лиц только потому, что это несет большие юридические издержки. В ЕС активно разрабатывается новый закон, который уже прозвали GDPR 2: он будет строго регулировать системы распознавания лиц и прочие системы искусственного интеллекта, вызывающие законные опасения.
В России с этим пока что не так хорошо. Тем не менее отечественные компании, которые присутствуют на международном рынке также будут вынуждены соблюдать новые правила игры, как произошло с первым GDPR.
То есть, как вы поняли, есть светлая сторона технологии, которая упрощает нам жизнь и темная, что приближает нас к миру большого брата.
- Блог компании Droider.Ru
- Поисковые технологии
- Алгоритмы
- Софт
- Фототехника
Источник: habr.com
Распознавание лиц системой видеонаблюдения — необходимость, а не роскошь
Функции современных систем видеонаблюдения уже давно не исчерпываются только контролем доступа на объект и отслеживанием перемещений посетителей. По мере расширения технических возможностей системы слежения получили возможность распознавать и идентифицировать лица даже в плотном потоке людей, при затрудненных условиях съемки.
Функции современных систем видеонаблюдения уже давно не исчерпываются только контролем доступа на объект и отслеживанием перемещений посетителей. По мере расширения технических возможностей системы слежения получили возможность распознавать и идентифицировать лица даже в плотном потоке людей, при затрудненных условиях съемки. Такая аналитика требуется в следующих системах:
- система контроля управления доступом — видеонаблюдение считается частью системы безопасности и управляет турникетами на проходной. Главная ее функция — снижение количества аварий и происшествий благодаря исключению человеческого фактора и улучшению трудовой дисциплины,
- системы безопасности и противодействия краж в супермаркетах и других торговых помещениях — кражи в магазинах не всегда спонтанны. Часто их совершают систематически одни и те же люди, и отслеживание их появления еще на входе помогает предотвратить очередное хищение,
- фейс-контроль в развлекательных заведениях — информация от входа может передаваться прямо на мобильное устройство владельца, что поможет установить дополнительный контроль за действиями охранников.
Задачи распознавания лиц
Перед современной системой распознавания лиц стоит несколько задач:
- организовать систему управления доступом,
- найти на территории незнакомцев, которых нет в базе,
- сканирование пешеходного потока в поисках нужного лица, занесенного в базу,
- поиск человека в так называемой чистой зоне, например проходной — когда человек сам хочет, чтобы система опознала его и впустила.
Как работает система распознавания лиц
Принцип работы распознавания лиц прост, независимо от выбранного алгоритма: система получает отсканированное изображение лица гостя и сравнивает его с эталонными картинками, которые уже хранятся в базе. Учитываются косметические изменения во внешности: макияж, борода, очки, стрижка. Важна и скорость реакции системы: на сканирование лица, поиск аналогий и получение отклика от базы данных должен пройти период времени, примерно равный времени, за который человек пройдет от двери к пропускной системе.
Специалисты используют три популярные схемы для подключения системы распознавания:
- самая популярная — IP-камера снимает поток людей на видео и передает картинку на сервер, где происходит обработка информации, сравнение отсканированных лиц с имеющимися в базе и формирование аналитического отчета для оператора. Недостаток такой системы — ограниченность сервера, число камер, подключенных к нему, не безгранично. Больших затрат потребует покупка серверного оборудования и поддержание его в рабочем состоянии.
- IP-камера сама анализирует поток, а на сервер передаются уже обработанные данные. К серверу предъявляются гораздо меньшие требования, чем в предыдущем варианте, зато возрастает список технических параметров, которым должна соответствовать камера. Цена таких камер значительно выше, чем у моделей более низкого класса.
- обычная видеокамера встраивается в устройство контроля доступом, которое сканирует видеопоток, распознает лица и кроме этого, управляет доступом на объект — открывает и закрывает дверь или турникет. Такие устройства эффективно работают только в помещениях, но зато имеют сравнительно невысокую стоимость.
Три главных параметра, от которых зависит эффективность функционирования системы распознавания лиц: быстрый отклик система, точность алгоритма распознавания, широта базы данных с эталонами.
Алгоритмы распознавания
Системы безопасности используют разные методы распознавания человеческой внешности, причем идеального пока не найдено — у каждого есть свои плюсы и минусы.
Нейронные сети — популярный метод, позволяющий получить качественное распознавание в течение короткого времени. Сканирование лица имеет много слоев, благодаря этому система быстро находит соответствие в своей базе данных. Есть и недостатки:
- новый эталон добавить в базу очень сложно, это потребует переобучения всей сети,
- внесение изменений параметров может длиться до нескольких дней,
- функции распознания нуждаются в выстраивании, так как параметры алгоритма распознавания до конца не формализованы.
Скрытые Марковские модели. В их основе лежит статистическое сравнение полученных изображений с эталонами. У этого метода есть несколько существенных недостатков, что снижает его популярность:
- имеет большое время отклика — вызвано тем, что система подбирает дополнительную модель для сравнения,
- система легко может спутать похожих людей, так как имеет низкую способность к различению,
- долгий и несовершенный алгоритм обучения,
- время на перебор моделей в базе данных нельзя сократить.
Гибкое сравнение на графах. Этот метод использует в качестве вспомогательного способа 2D-моделирование. Система составляет графы — двухмерные модели лиц, которые выглядят как сетка с индивидуальным расположением ребер и вершин. Эталонный граф, который демонстрирует главный параметр распознавания, остается неизменным, а другие меняются в структуре лица.
При этом учитываются основные антропометрические точки, которые в течение жизни не меняются: расстояние между ушами и глазами, ширина носа или губ. Подробные модели с большим количеством точек позволяют распознать лицо как можно точнее, но в этом случае увеличится и время отклика системы.
Сложность процесса распознавания привела к необходимости для работы такой системы мощных компьютеров. Как и при других алгоритмах, внедрение новых эталонов в базу требует сил и времени, а чем обширнее база эталонов, тем дольше обрабатывает их система.
Основа системы распознавания лиц — умные камеры
IP-камеры отвечают за сканирование лица нового посетителя, обработку полученной модели и отклика от системы. Специфические характеристики камер делят их на несколько видов в зависимости от функции, которую они выполняют в системе:
- обнаружение объекта — выступают своего рода “сторожами” подконтрольной территории. Они не распознают лица, а лишь наводят на объект умные видеокамеры с более совершенными техническими характеристиками, которые и сканируют биометрические параметры гостя. Их устанавливают при входе на территорию для фиксации посетителей, используют для общей видеосъемки. Технические их характеристики далеки от совершенства: фокусное расстояние до 1 мм, разрешение от 1 Мрх, но этого для обнаружения проникновения на объект вполне достаточно.
- опознание — берут за основу 3-4 основных биометрических параметра, по которому и осуществляется сканирование. Фокусное расстояние доходит до 6 мм, разрешение стартует от 2 Мрх.
- Идентификация — такие камеры делают детальное сканирование лица по нескольким параметрам, чтобы полученное изображение высокого качества могло использоваться в более совершенной системе распознавания лиц. Фокусное расстояние колеблется от 8 до 12 мм, а разрешение – от 5 Мрх.
Кроме фокусного расстояния и разрешения, на качество распознавания влияют количество источников света, адаптация камеры к плохому освещению, место ее установки, угол обзора и средства защиты от негативных проявлений окружающей среды.
Обычно камеры размещаются на проходной или в дверях производственного или коммерческого помещения. Оптимальное место — на уровне лица посетителя или под небольшим углом. Так можно обеспечить лучший угол обзора и качество распознавания.
Распространенные программы для систем распознавания
Разработкой систем распознавания лиц занимаются многие компании — эта сфера стала востребованной не только в связи с возможностью предотвращения коммерческих убытков, злоупотреблений персонала и банальных краж, но и в свете участившихся преступлений в общественных местах. С помощью программ распознавания можно вычислить потенциального преступника еще на подходе к зданию с большим количеством людей.
Компания Синезис, Face Director
В линейке этой компании множество разных систем видеонаблюдения и программ бизнес-аналитики на их основе. Эта программа “ловит” и идентифицирует лицо, изображение которого совпало с эталоном в ее базе данных, и сопровождает его на протяжении всего пути объекта. Ее преимущества обусловили широкую распространенность программы:
- подача тревожного сигнала, если объект пытается прикрыть лицо,
- высокое качество идентификации — до 99%,
- широкий выбор углов обзора позволяет сканировать и идентифицировать лицо с любой точки.
Компания House Control, Face Интеллект
Специализируется на промышленных системах безопасности и идентификации лиц. Использует популярный алгоритм с открытым кодом, написанный еще несколько лет назад. Программа универсальна и адаптируется к большинству моделей аналоговых и цифровых видеокамер.
Для качественного распознавания потребуется статичность объекта хотя бы на несколько секунд, поэтому важно правильно установить видеокамеру. Оптимальное место — позади турникета. Здесь программа показывает наиболее качественное распознавание.
Компания VOCORD, VOCORD FaceControl
Компания работает уже 20 лет, специализируясь на программах и системах безопасности с нестандартными параметрами. Эта программа — уникальна, так как является собственной разработкой фирмы. От других программ со схожими задачами она отличается широкими возможностями, которые предлагает оператору:
- камера выхватывает лица, имеющиеся в базе, из пешеходного потока высокой плотности,
- идентифицирует пол и возраст объекта,
- выводит оператору предупреждения на экран, причем делит их на разные категории в зависимости от типа объекта, которого ему присвоила система,
- процесс распознавания идет в режиме реального времени,
- предлагает оператору составить аналитический отчет по проделанной работе,
- осуществляет поиск по базе лиц и в архиве.
Нужна помощь специалиста?
Свяжитесь с нами! Эксперты TERATEK всегда готовы ответить на интересующие
вас вопросы и предоставить развернутую консультацию!
- Системы видеонаблюдения
- Камеры видеонаблюдения
- Комплекты видеонаблюдения
- Объективы
- Видеорегистраторы
- Мониторы
- Пульты управления
- Софт для видеонаблюдения
- Устройства для передачи и обработки аудио/видео
- Аксессуары для видеонаблюдения
- Сетевое оборудование
- Накопители
- Цифровые системы записи на базе ПК
- Аксессуары для сетевого оборудования
- Системы контроля доступа
- Принтеры для карт и расходники
- Досмотровое оборудование
- Парковочные системы
- Считыватели
- Домофонная система
- Шлагбаумы и автоматика для ворот
- Контроллеры для СКУД
- Турникеты
- Карточки и другие идентификаторы
- Исполнительные устройства
- Аксессуары для контроля доступа
- Софт для СКУД
- Комплекты ОПС и оповещения
- Умные реле и пульты
- Извещатели
- Оповещатели
- Приемно-контрольные приборы
- Другие устройства для ОПС и оповещения
- Программное обеспечение для ОПС
- Аксессуары для ОПС и оповещения
- Кабель, СКС, ИБП, и комплектующие
- Альтернативные источники энергий
- Блоки питания и аксессуары
- Кабели
- Шкафы и комплектующие
- Инструменты
- Монтажные изделия
- Контрольно-измерительные устройства
- Индивидуальные средства защиты
- Системы регенерации
- Средства связи
- Другие гаджеты
- Специализированные камеры
- Информационная безопасность
Источник: securtv.ru