Охрана


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

Распознавание  лица c помощью OpenCV и Raspberry Pi


Как работает ситема обнаружения лиц на видео?

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

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

Основные преимущества системы

1) Методы не являются узконаправленными, а ориентированы на распознавание любого лица.

2) Локализирует и сегментирует области лиц из захламленных изображений, полученных из видео или из изображения.

3) Проста и недорога в эксплуатации.

Метод главных компонент

Весь процесс распознавания включает в себя два шаги:

  1. Процесс инициализации
  2. Процесс признания

Процесс инициализации включает в себя следующие операции:

  1. Получите начальный набор изображений лица, называемый тренировочным набором.
  2. Рассчитайте Eigenfaces из тренировочного набора, сохраняя только самые высокие собственные значения. Эти М образы определяют пространство лица. Поскольку новые лица испытываются, собственные лица можно обновить или пересчитать.

Преобразования обучающего набора лиц в одну  общую матрицу X

Рисунок 1. Преобразования обучающего набора лиц в одну общую матрицу X

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

Для создания базы данных лиц мы пригласили десять человек и сделали по десять черно-белых снимков каждого из них с помощью вебкамеры (USB2.0 VGA UVC WebCam) в разных ракурсах: с поворотом и наклоном головы. С помощью алгоритма Виолы-Джонса обнаружили лица людей на этих фотографиях и привели их к одинаковому размеру (112 х 92). Затем преобразовали каждое изображение в вектор-столбец (10304 х 1) и объединили их в матрицу (базу данных) размерности (10304 х 100).

МГК-Алгоритм

Шаг 1: получить изображения лиц I1, I2, ..., IM (обучение лиц)


Шаг 2: представлять каждое изображение Ii как вектор Γi


вычислить средний вектор лица


Шаг 3: вычислить средний вектор лица Ψ:

вычесть среднее лицо


Шаг 4: вычесть среднее лицо:

вычислить ковариационную матрицу C


Шаг 5: вычислить ковариационную матрицу C:

where A = [Φ1 Φ2 ...ΦM] (N2xM matrix)


Шаг 6.1: рассмотрим матрицу AT A (матрица M x M)

Шаг 6.2: вычислить собственные векторы vi AT A

AT Avi =µ ivi

AT Avi =µ ivi=> AA TAvi =µ i Avi =>

CAvi=µiAvi or Cui =µiui where ui = Avi

Шаг 6.3: вычислить M лучших собственных векторов AAT: ui = Avi

Пример первых десяти  собственных векторов (собственных лиц), полученных на обучаемом наборе лиц

Рисунок 2. Пример первых десяти собственных векторов (собственных лиц), полученных на обучаемом наборе лиц

Шаг 7: оставить только K собственных векторов (соответствующих K наибольшим собственным значениям)


Пример реализации МГК

Чтобы проверить, необходимо использовать следующие устройства:

  1. Raspberry PI 3
  2. A Webcam
  3. PIR sensor
  4. Ultrasonic sensor

Требуемые знания:

  1. Python
  2. Open CV
  3. dilib

Подключите ИК-датчик к Raspberry PI, и веб-камера обращена к входной двери. ИК-датчик начнет обнаруживать, как только дверь откроется, и человек начнет входить. В тот момент, когда ИК-датчик обнаруживает любые движения, камера начинает снимать кадры в течение 10 секунд. В то же время «Каскады Хаара» в OpenCV начнут обнаруживать лица, а «68-точечная система распознавания лиц» в dlib сопоставит обнаруженные ориентиры лица с сохраненными, чтобы проверить, является ли это нарушителем или нет?

Используя OpenCV, мы можем захватывать кадры из веб-камеры и конвертировать каждый кадр в массив с фрагментами. Здесь мы записываем кадры со скоростью 320х240. Мы также можем записывать кадры в формате Full HD, но на Raspberry PI выполнение распознавания лиц займет много времени. Затем, после использования модели «haarcascade_frontalface_alt2.xml», мы обнаруживаем лица в данном кадре. Как только мы идентифицируем все лица, мы сохраним их в одном списке, чтобы сравнить каждое из них с сохраненными лицами.

Охрана

Используйте dlib для сравнения лиц. Обнаружение ориентира лица 68 точек dlib даст ориентиры для данного лица. У меня есть некоторые известные ориентиры лица, хранящиеся в отдельных файлах, которые мы будем загружать перед сравнением. Как только у нас будут все ориентиры, мы найдем расстояние между этими ориентирами. Мы используем 0,6 в качестве порога. Ориентир лица, который дает вам наименьшее расстояние ниже порога, является известным человеком, входящим в комнату. Если значение не ниже порогового значения, значит, нарушитель!

Охрана



Видео




Как купить

Заказать детали для сборки системы охраны на Raspberry по выгодной цене, вы сможете в нашем интернет-магазине Controller4study. Мы предоставляем гарантию качества и оперативную доставку по всей стране. Если у вас возникли вопросы по заказу — позвоните нам по указанному на сайте номеру телефона. Наши опытные консультанты с радостью помогут вам.




Напишите нам

60

120

180

Нажимая на кнопку "Отправить", вы даете согласие на обработку своих персональных данных в соответствии с законом № 152-ФЗ "О персональный данных" от 27.07.2006

Отмена