Почему обнаружение и распознавание лиц становятся все более популярными? Подробное объяснение принципа работы

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

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

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

为什么人脸检测识别越来越普及了?其背后的技术是什么?

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

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

Он используется для обнаружения лиц в режиме реального времени для наблюдения и отслеживания людей или объектов. Он широко используется в камерах для идентификации многократного появления в камерах Ex-Mobile и кадрах цифровых зеркальных фотокамер. Facebook также использует алгоритмы распознавания лиц для обнаружения и идентификации лиц на изображениях.

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

为什么人脸检测识别越来越普及了?其背后的技术是什么?

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

Ян, Кригман и Ахуджа предложили классификацию методов обнаружения лиц. Эти методы делятся на четыре категории, а алгоритмы обнаружения лиц могут принадлежать к двум или более группам. Эти категории следующие:

1. На основе знаний

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

2. На основе функций

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

3. Сопоставление шаблонов

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

4. По внешнему виду

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

为什么人脸检测识别越来越普及了?其背后的技术是什么?

Модели, основанные на внешнем виде, далее делятся на подметоды обнаружения лиц следующим образом:

  • Основанный на собственном лице

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

  • на основе распределения

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

  • Нейронные сети

Нейронные сети успешно решили многие проблемы обнаружения, такие как обнаружение объектов, обнаружение лиц, обнаружение эмоций и распознавание лиц.

  • Опорные векторные машины

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

  • Разреженная сеть для Winnows

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

  • Наивные байесовские классификаторы

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

  • Скрытая марковская модель (HMM)

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

为什么人脸检测识别越来越普及了?其背后的技术是什么?

  • Информационно-теоретический подход

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

  • Индуктивное обучение

Этот метод использовался для обнаружения человеческих лиц. Для этой цели используются такие алгоритмы, как C4.5 Куинлана или FIND-S Митчелла.

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

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

1) Сначала импортируйте изображение, указав его местоположение.Затем преобразуйте изображение из RGB в оттенки серого, так как в оттенках серого легко распознавать лица.

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

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

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

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

为什么人脸检测识别越来越普及了?其背后的技术是什么?

5) Следующий шаг — указать координаты x, y, w, h, это образует прямоугольную рамку на картинке, чтобы показать положение лица., или мы можем сказать показать интересующую область на изображении. После этого он может сделать прямоугольную рамку в интересующей области, где обнаружено лицо. Существует множество других методов обнаружения, используемых вместе для обнаружения, таких как обнаружение улыбки, обнаружение глаз, обнаружение моргания и т. д.

Как запустить детектор лиц (на основе веб-камеры) в режиме реального времени

Требования для запуска кода — Python, OpenCV, веб-камера, Numpy.

#import libraries
import cv2
import numpy as np
#import classifier for face and eye detection
face_classifier = cv2.CascadeClassifier(‘Haarcascades/haarcascade_frontalface_default.xml’)
# Import Classifier for Face and Eye Detection
face_classifier = cv2.CascadeClassifier(‘Haarcascades/haarcascade_frontalface_default.xml’)
eye_classifier = cv2.CascadeClassifier (‘Haarcascades/haarcascade_eye.xml’)
def face_detector (img, size=0.5):
# Convert Image to Grayscale
gray = cv2.cvtColor (img, cv2.COLOR_BGR2GRAY)
faces = face_classifier.detectMultiScale (gray, 1.3, 5)
If faces is ():
return img
# Given coordinates to detect face and eyes location from ROI
for (x, y, w, h) in faces
x = x — 100
w = w + 100
y = y — 100
h = h + 100
cv2.rectangle (img, (x, y), (x+w, y+h), (255, 0, 0), 2)
roi_gray = gray[y: y+h, x: x+w]
roi_color = img[y: y+h, x: x+w]
eyes = eye_classifier.detectMultiScale (roi_gray)
for (ex, ey, ew, eh) in eyes:
cv2.rectangle(roi_color,(ex,ey),(ex+ew,ey+eh),(0,0,255),2)
roi_color = cv2.flip (roi_color, 1)
return roi_color
# Webcam setup for Face Detection
cap = cv2.VideoCapture (0)
while True:
ret, frame = cap.read ()
cv2.imshow (‘Our Face Extractor’, face_detector (frame))
if cv2.waitKey (1) == 13: #13 is the Enter Key
break
# When everything done, release the capture
cap.release ()
cv2.destroyAllWindows ()

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

为什么人脸检测识别越来越普及了?其背后的技术是什么?

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

В мониторинге безопасности распознавание лиц также имеет большое значение, например, при обеспечении безопасности общественных мест (станций метро, ​​вокзалов, улиц, гостиниц и т. д.) и преследовании подозреваемых Министерством общественной безопасности. На основе камер видеонаблюдения в общественных местах путем захвата лиц и загрузки результатов в сеть Министерства общественной безопасности они сравниваются с лицами подозреваемых, чтобы помочь сотрудникам общественной безопасности в их правоохранительной деятельности. TSINGSEE Qingxi Video также сосредоточится на технологии интеллектуального обнаружения и распознавания ИИ, продолжит разработку интеллектуальных бизнес-систем и платформ в нескольких сценариях и углубится в область ИИ, такую ​​​​как EasyCVR, которая имеет обнаружение лиц ИИ, распознавание лиц, номерной знак распознавание, голос. Возможности домофона, управления PTZ, звуковой и световой сигнализации, анализа видео наблюдения и агрегации данных реализованы во многих проектах, таких как обнаружение пешеходов в живописных местах, анализ пассажиропотока и другие сценарии.