Как работают системы распознавания лиц

Carder

Professional
Messages
2,616
Reaction score
2,025
Points
113
Любой, кто видел ТВ-шоу «Лас - Вегас» видел лица программное обеспечение распознавания в действии. В каждом конкретном эпизоде отдел безопасности вымышленного отеля и казино Montecito использует свою систему видеонаблюдения, чтобы получить изображение счетчика карт, вора или человека, занесенного в черный список. Затем он запускает это изображение в базе данных, чтобы найти совпадение и идентифицировать человека. К концу часа всех плохих парней вывозят из казино или бросают в тюрьму. Но то, что так легко выглядит на телевидении, не всегда хорошо транслируется в реальном мире.

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

Бостонский аэропорт Логан также провел два отдельных теста систем распознавания лиц на контрольно-пропускных пунктах с участием добровольцев. За трехмесячный период результаты были неутешительными. По данным Электронного информационного центра конфиденциальности, точность системы составила всего 61,4 процента, что побудило должностных лиц аэропорта искать другие варианты обеспечения безопасности.

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

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

СОДЕРЖАНИЕ
  1. Технология распознавания лиц
  2. Распознавание лиц в 3D
  3. Биометрическое распознавание лиц
  4. Использование систем распознавания лиц

Технология распознавания лиц​

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

Компания Identix®, базирующаяся в Миннесоте, является одним из многих разработчиков технологии распознавания лиц. Его программное обеспечение FaceIt® может выделить чье-то лицо из толпы, выделить лицо из остальной части сцены и сравнить его с базой данных сохраненных изображений. Чтобы это программное обеспечение работало, оно должно уметь отличать основное лицо от остального фона. Программное обеспечение для распознавания лиц основано на способности распознавать лицо, а затем измерять различные черты лица.
На каждом лице есть множество отличительных ориентиров, разные вершины и впадины, составляющие черты лица. FaceIt определяет эти ориентиры как узловые точки. Каждое человеческое лицо имеет примерно 80 узловых точек. Вот некоторые из них, измеренные программным обеспечением:
  • Расстояние между глазами
  • Ширина носа
  • Глубина глазниц
  • Форма скул
  • Длина линии челюсти

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

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

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

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

Камера Vision 3D + 2D ICAO используется для регистрации, проверки и идентификации 3D и 2D изображений лица.

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

Используя глубину и ось измерения, на которые не влияет освещение, 3D-распознавание лиц можно использовать даже в темноте и имеет возможность распознавать объект под разными углами обзора с возможностью распознавания до 90 градусов (лицо в профиль).

Используя программное обеспечение 3D, система выполняет ряд шагов для проверки личности человека.

Обнаружение
Получение изображения может быть выполнено путем цифрового сканирования существующей фотографии (2D) или с помощью видеоизображения для получения живого изображения объекта (3D).

Выравнивание
После обнаружения лица система определяет положение, размер и позу головы. Как указывалось ранее, объект может быть распознан под углом до 90 градусов, в то время как в режиме 2D голова должна быть повернута к камере как минимум на 35 градусов .

Измерение
Затем система измеряет изгибы лица в субмиллиметровом (или микроволновом) масштабе и создает шаблон.

Представление
Система переводит шаблон в уникальный код. Это кодирование дает каждому шаблону набор чисел для обозначения черт лица объекта.

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

Проверка или идентификация
При проверке изображение сопоставляется только с одним изображением в базе данных (1: 1). Например, полученное изображение объекта можно сопоставить с изображением в базе данных Департамента транспортных средств, чтобы убедиться, что объект является тем, кем он себя называет. Если целью является идентификация, то изображение сравнивается со всеми изображениями в базе данных, в результате чего получается оценка для каждого потенциального совпадения (1: N). В этом случае вы можете взять изображение и сравнить его с базой данных снимков, чтобы определить, кто является объектом.
Далее мы рассмотрим, как биометрические данные кожи могут помочь в проверке совпадений.

Биометрическое распознавание лиц​

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

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

Процесс, называемый анализом текстуры поверхности, работает так же, как и распознавание лиц. Делается снимок участка кожи, называемого отпечатком кожи. Затем этот патч разбивается на более мелкие блоки. Используя алгоритмы, превращающие пластырь в математически измеримое пространство, система затем распознает любые линии, поры и фактическую текстуру кожи. Он может идентифицировать различия между однояйцевыми близнецами, что пока невозможно с использованием только программного обеспечения для распознавания лиц. Согласно Identix, за счет объединения распознавания лиц с анализом текстуры поверхности точная идентификация может повыситься на 20-25 процентов.

В настоящее время FaceIt использует три различных шаблона для подтверждения или идентификации объекта: вектор, анализ локальных особенностей и анализ текстуры поверхности.
  • Вектор шаблон очень мал и используется для быстрого поиска по всей базе данных , прежде всего , для одного ко многим поиска.
  • Локальный анализ функции шаблон (МАФ) выполняет поиск вторичного упорядоченных матчей следующего шаблона вектора.
  • Анализ текстуры поверхности (STA) - самый крупный из трех. Он выполняет последний проход после поиска по шаблону LFA, полагаясь на особенности скина на изображении, которое содержит наиболее подробную информацию.

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

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

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

Identix - не единственная компания, предлагающая системы распознавания лиц. Хотя большинство из них работает так же, как FaceIt, есть несколько вариаций. Например, компания под названием Animetrix, Inc. имеет продукт под названием FACEngine ID® SetLight, который может корректировать условия освещения, которые обычно не могут использоваться, снижая риск ложных совпадений. У Sensible Vision, Inc. есть продукт, который может защитить компьютер с помощью распознавания лиц. Компьютер будет включаться и оставаться доступным только до тех пор, пока нужный пользователь находится перед экраном. Как только пользователь уходит из зоны прямой видимости, компьютер автоматически защищается от других пользователей.

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

Использование систем распознавания лиц​

В прошлом основными пользователями программного обеспечения для распознавания лиц были правоохранительные органы, которые использовали систему для захвата случайных лиц в толпе. Некоторые правительственные агентства также использовали эти системы для обеспечения безопасности и предотвращения мошенничества с избирателями. Правительство США недавно начало программу под названием US-VISIT. (Технология индикатора статуса посетителя и иммигранта США), предназначенная для иностранных путешественников, получающих въезд в Соединенные Штаты. Когда иностранный путешественник получает визу, он сдает отпечатки пальцев и фотографируется. Отпечатки пальцев и фотографии проверяются по базе данных известных преступников и подозреваемых в терроризме. Когда путешественник прибывает в Соединенные Штаты в порт въезда, те же отпечатки пальцев и фотографии будут использоваться для подтверждения того, что лицо, получившее визу, является тем же лицом, которое пытается получить въезд.

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

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

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

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

Отслеживание времени
A4Vision, создатель программного обеспечения для распознавания лиц, в настоящее время продает систему, которая будет отслеживать время и посещаемость сотрудников. На их веб-сайте указано, что это запретит «напарничество», что снизит риски безопасности и снизит производительность.
 
Last edited by a moderator:
Давайте глубоко и подробно разберем тему систем распознавания лиц, от фундаментальных принципов до передовых технологий, этических споров и взгляда в будущее.

Введение: От интуиции к алгоритмам​

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

Детальное описание рабочего процесса​

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

1. Обнаружение лица (Face Detection)​

Цель: Ответить на вопрос "Где здесь лицо?".
Задача: Найти и локализовать все лица на изображении или в видеопотоке, независимо от размера, позы, освещения и наличия помех.

Методы:
  • Классические (до глубокого обучения):
    • Метод Виолы-Джонса (Haar Cascades): Использует признаки Хаара (прямоугольные шаблоны, похожие на края и линии), которые быстро вычисляются с помощью интегрального изображения. Алгоритм обучается на тысячах положительных (лица) и отрицательных (не лица) примеров и создает каскад "слабых классификаторов", которые последовательно применяются к области изображения. Если область проходит все каскады — это лицо.
    • HOG (Histogram of Oriented Gradients): Вычисляет градиенты (направления и силу изменений яркости) в небольших ячейках изображения. Комбинируя эти гистограммы, метод создает "силуэт" объекта, эффективный для отделения лица от фона.
  • Современные (на основе глубокого обучения):
    • Сверточные нейронные сети (CNN / Convolutional Neural Networks): Это золотой стандарт. Сети, такие как Single Shot Multibox Detector (SSD) или Region-Based CNN (R-CNN), обучаются на миллионах изображений. Они учатся не только находить лица, но и предсказывать ключевые точки (ландмарки). Они гораздо точнее работают с сложными ракурсами, частичными перекрытиями и разнообразными условиями.

Результат этапа: Координаты ограничивающих прямоугольников (bounding boxes) для каждого обнаруженного лица.

2. Предобработка и нормализация (Preprocessing & Normalization)​

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

Процессы:
  • Выравнивание (Alignment): На основе обнаруженных ландмарков (обычно 5-68 точек: уголки глаз, кончик носа, уголки рта) система применяет аффинное преобразование, чтобы повернуть и масштабировать лицо. Цель — сделать так, чтобы глаза всегда находились на одной горизонтальной линии на фиксированной позиции.
  • Нормализация освещенности: Компенсирует неравномерное освещение. Методы включают:
    • Histogram Equalization: Повышает контрастность изображения.
    • Gamma Correction: Корректирует яркость.
    • Моделирование освещения: Алгоритмы пытаются "прикинуть", как бы выглядело это лицо при стандартном освещении.
  • Обрезка (Cropping) и изменение размера (Resizing): Изображение кадрируется по ограничивающему прямоугольнику и изменяется до стандартного размера (например, 112x112 или 160x160 пикселей).
  • Повышение резкости и фильтрация шума: Удаление артефактов сжатия и мелких помех.

Результат этапа: Стандартизированное, готовое к анализу изображение лица.

3. Извлечение признаков (Feature Extraction)​

Цель: Преобразовать изображение, состоящее из пикселей, в компактный и уникальный числовой "отпечаток" — вектор признаков (feature vector) или эмбеддинг (embedding).

Эволюция методов:
  • Традиционные методы ( "Инженерия признаков" ):
    • Eigenfaces: Использует Principal Component Analysis (PCA) для нахождения основных компонент ("собственных лиц") в наборе данных лиц. Любое новое лицо представляется как линейная комбинация этих основных компонент. Коэффициенты этой комбинации и есть вектор признаков.
    • Fisherfaces: Улучшение Eigenfaces, использующее Linear Discriminant Analysis (LDA). Оно не только снижает размерность, но и максимизирует различие между классами (разными людьми) и минимизирует разброс внутри класса (изображения одного человека).
    • LBP (Local Binary Patterns): Анализирует текстуру изображения, сравнивая каждый пиксель с его соседями и создавая бинарный шаблон. Гистограммы этих шаблонов по небольшим областям лица объединяются в общий дескриптор.
  • Современные методы (Глубокое обучение):
    • Сверточные нейронные сети (CNN) — основа современных систем. Архитектуры, такие как VGGFace, ResNet, Inception, специально дорабатываются для задач распознавания лиц (например, ArcFace, CosFace, SphereFace).
    • Как это работает:
      1. Сверточные слои: Выступают в роли "детекторов признаков". Первые слои учатся распознавать простые элементы (края, углы), средние — комбинируют их в более сложные (глаза, нос, губы), а глубокие — выделяют высокоуровневые, абстрактные признаки, которые уже не интерпретируемы человеком, но крайне эффективны для машины.
      2. Вектор признаков: В конце сети находится слой (обычно называемый "bottleneck" или "embedding layer"), который выдает вектор фиксированной длины (например, 128, 256, 512 чисел). Этот вектор и есть "цифровое представление" лица.
    • Ключевая идея обучения: Сеть обучается так, чтобы расстояние между векторами одного человека (в разных условиях) было минимальным, а расстояние между векторами разных людей — максимальным. Для этого используются специальные функции потерь (loss functions), такие как Triplet Loss или ArcFace Loss, которые явно "приближают" вектора одного человека и "отталкивают" вектора разных людей в многомерном пространстве.

Результат этапа: Вектор из 128-512 чисел, уникально описывающий данное лицо.

4. Сравнение и классификация (Comparison & Classification)​

Цель: Сравнить полученный вектор с базой данных и принять решение.

Математика сравнения:
Вычисляется мера сходства между двумя векторами:
  • Евклидово расстояние: Прямое "расстояние" между двумя точками в пространстве. Чем меньше расстояние, тем более похожи лица.
  • Косинусное сходство (Cosine Similarity): Измеряет косинус угла между двумя векторами. Не зависит от длины вектора, только от его направления. Чем ближе значение к 1, тем более похожи векторы.
  • Метрическое обучение (Metric Learning): Современные системы часто используют ту же функцию, на которой они обучались (например, пространство, настроенное ArcFace), для прямого сравнения.

Сценарии применения:
  • Верификация (Verification) - "1:1" (Это тот, за кого он себя выдает?):
    • Сравнивается один вектор с одним конкретным вектором в базе (например, с вектором владельца телефона).
    • Процесс: if distance(face_vector, stored_vector) < threshold then "ДА" else "НЕТ".
    • Пример: Разблокировка телефона, вход в банковское приложение.
  • Идентификация (Identification) - "1:N" (Кто этот человек?):
    • Сравнивается один вектор со всей или частью базы данных (например, с базой фотографий сотрудников или разыскиваемых лиц).
    • Процесс: Система находит K ближайших соседей (K-Nearest Neighbors) или просто самый близкий вектор в базе.
    • Результат: "Это Иван Иванов" (если сходство выше порога) или "Неизвестный".
    • Пример: Поиск преступника, идентификация на проходной.

Пороговое значение (Threshold): Это настроенный параметр, который балансирует между двумя типами ошибок:
  • False Acceptance Rate (FAR): Система ошибочно принимает чужое лицо за нужное.
  • False Rejection Rate (FRR): Система ошибочно отвергает правильное лицо.
    Высокий порог снижает FAR (строже), но увеличивает FRR. Низкий порог — наоборот.

Передовые технологии и методы​

  • 3D-распознавание лиц: Использует датчики глубины (как в iPhone's TrueDepth camera) для построения 3D-карты лица. Это решает проблемы с освещением, ракурсом и даже позволяет распознавать лицо с закрытыми глазами (так как анализируется геометрия, а не текстура).
  • Инфракрасное распознавание: Работает в ИК-спектре, что делает его нечувствительным к внешнему освещению. Активно используется вместе с 3D в смартфонах.
  • Анализ текстуры кожи (Skin Texture Analysis): Рассматривает уникальные линии, морщины и поры на коже. Это добавляет еще один уровень биометрических данных, повышая точность.
  • "Живость" (Liveness Detection): Критически важная функция для противодействия спуфингу (атакам с использованием фото или маски). Методы:
    • Пассивные: Анализируют текстуру кожи, отражения света, микродвижения без участия пользователя.
    • Активные: Просят пользователя выполнить действие (моргнуть, повернуть голову).

Проблемы, ограничения и этические дебаты​

Технические вызовы:
  • Демографические смещения (Bias): Алгоритмы, обученные преимущественно на данных с людьми одного пола и расы, показывают значительно более низкую точность для других групп (например, для темнокожих женщин). Это проблема качества и сбалансированности наборов данных для обучения.
  • Изменения во времени: Лицо человека стареет, меняется вес, появляются шрамы, борода.
  • Атаки: Использование масок, глубоких фейков (DeepFakes), специального макияжа для обмана системы.

Этические и правовые проблемы:
  • Массовая слежка: Возможность правительств и корпораций отслеживать перемещения людей в реальном времени без их согласия, создавая детальные профили поведения.
  • Отсутствие информированного согласия: Часто люди не знают, что их лицо сканируется и сохраняется.
  • Дискриминация и предвзятость: Использование неоткалиброванных систем в правоохранительных органах может привести к ложным обвинениям.
  • Прозрачность и контроль: У людей практически нет возможности узнать, где хранится их "цифровой отпечаток" лица и как он используется.

Области применения​

  • Безопасность и контроль доступа: Смартфоны, ноутбуки, проходные в офисы, банки.
  • Правоохранительная деятельность: Идентификация преступников по камерам видеонаблюдения, поиск пропавших детей.
  • Ритейл и маркетинг: Анализ демографии и поведения покупателей в магазинах, персонализированная реклама.
  • Транспорт: Биометрический паспортный контроль в аэропортах (e-gates).
  • Здравоохранение: Диагностика некоторых генетических заболеваний по чертам лица.

Заключение​

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