Magnus Fragor

Главная » Статьи » Технологии

Система распознавания лиц

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

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

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

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

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

Помимо 3D-моделей ученые развивают и другие направления. Например, компания Identix создала высокоточную биометрическую технологию распознавания лиц, анализирующую текстуру кожи – поры, линии и шрамы. По словам разработчиков, использование их технологии вместе с традиционной системой распознавания лиц увеличит точность работы на 25%.

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

Что говорить, если в одной только Москве уже работает сеть из более 150 000 камер наружного видеонаблюдения. От них никуда не скрыться, и это заставляет людей задумываться, но масштабы «слежки» не настолько велики. Сеть использует мощную систему распознавания лиц, но для ее работы необходимо много энергии, поэтому в режиме реального времени работают всего 2-4 тысячи камер. Массовым слежением за населением пока только пугают, поэтому стоит сосредоточиться на реальных плюсах работы данной технологии. Но обо всем по порядку.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1. Найти

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

Шаг 1. Убираем цвет и превращаем изображение в матрицу яркости.

Шаг 2. Накладываем на нее одну из квадратных масок – они называются признаками Хаара. Проходимся с ней по всему изображению, меняя положение и размер.

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

Шаг 4. Повторяем с шага 2 уже с новой маской – но только в той области изображения, которая прошла первое испытание.

2. Упростить

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

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

Шаг 2. Сдвигаем маску на фиксированный шаг, снова перемножаем и снова записываем среднее в карту признаков.

Шаг 3. Пройдясь по всему изображению с одной маской, повторяем с другой – получаем новую карту признаков.

Шаг 4. Уменьшаем размер наших карт: берем несколько соседних пикселей (например, квадрат 2x2 или 3x3) и переносим на следующий уровень только одно максимальное значение. То же самое проводим для карт, полученных со всеми другими масками.

Шаг 5, 6. В целях математической гигиены заменяем все отрицательные значения нулями. Повторяем с шага 2 столько раз, сколько мы хотим получить слоев в нейросети.

Шаг 7, 8. Из последней карты признаков собираем не сверточную, а полносвязную нейросеть: превращаем все ячейки последнего уровня в нейроны, которые с определенным весом влияют на нейроны следующего слоя. Последний шаг. В сетях, обученных классифицировать объекты (отличать на фото кошек от собак и пр.), здесь находится выходной слой, то есть список вероятностей обнаружения того или иного ответа. В случае с лицами вместо конкретного ответа мы получаем короткий набор самых важных особенностей лица. Например, в Google FaceNet это 128 абстрактных числовых параметров.

3. Опознать

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

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

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

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

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

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

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

Новая система построена на основе глубокого машинного обучения, а значит способна самосовершенствоваться в будущем. Сам же алгоритм использует динамические способы разрушения алгоритмов распознавания. Для разработки системы противодействия ученые использовали два ИИ, которые боролись друг с другом. Один работал для идентификации лиц, а другой пытался ее нарушить. Результатом этой «войны» стало создание особого фильтра (пока только для фотографий), который заменяет определенные пиксели на изображениях таким образом, что человеческий глаз не может увидеть разницы, а вот система распознавания лиц дает сбой. Как заявил автор работы профессор Пархам Аараби, «Сейчас алгоритмы нейронных сетей постоянно совершенствуются и по одному изображению могут узнать очень многое о человеке. И из-за этого конфиденциальность – реальная проблема».

Профессор Аараби протестировал свое изобретение на фотографиях 600 людей различной этнической и гендерной принадлежности. В итоге выяснилось, что система способна снижать долю распознанных лиц со 100% до 0,5%. Но это еще не все. В ходе исследования был обнаружен довольно приятный бонус: система не просто мешает алгоритму распознавать лица, но и не дает считывать цвет кожи, этническую принадлежность, пол, мимику и так далее, делая фото «просто картинкой» для алгоритма распознавания.

За всеми нами следят. И это вовсе не какой-нибудь очередной параноидальный бред, а вполне реальная ситуация для мира высоких технологий. Через несколько лет чуть ли не на каждой улице будут установлены видеокамеры, вещающие обстановку в прямом эфире 24 часа, семь дней в неделю. Каждый обладатель iOS-гаджета заранее осведомлен о том, что данные о его местоположении может получить практически любой, кто завладеет его аккаунтом Apple ID. И это лишь малая часть конкретных примеров, которые можно привести.

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

Категория: Технологии | Добавил: laf2304 (02.08.2019)
Просмотров: 336 | Рейтинг: 0.0/0
Всего комментариев: 0
avatar
[ Категории раздела ]
Космос [286]
Природа [296]
Общество [299]
Технологии [286]
Загадки Вселенной [330]
Разное [247]

[ Поиск ]

[ Вход на сайт ]

[ Статистика ]

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Copyright ARA © 2025
uCoz