Рубрики
Без рубрики

Распознавание лиц С помощью OpenCV и Python

Привет, мир, Вот учебник о том, как сделать распознавание лиц с помощью простого кода Python с помощью OpenCV. Это одна из самых передовых методик МЛ……

Автор оригинала: Team Python Pool.

Распознавание лиц С помощью OpenCV и Python

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

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

  • OpenCV
  • Питон
  • Глубокое обучение/Машинное обучение

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

Чтобы узнать больше о распознавании лиц с помощью Python и глубоком обучении, просто продолжайте читать!

OpenCV

OpenCV
OpenCV

OpenCV

Модуль href=”https://docs.opencv.org/2.4/modules/contrib/doc/facerec/facerec_tutorial.html”>OpenCV href=”https://docs.opencv.org/2.4/modules/contrib/doc/facerec/facerec_tutorial.html”> (Open source computer vision) – это href=”https://en.wikipedia.org/wiki/Library_(computing)”>библиотека программных функций в основном нацелена на работу в реальном времени href=”https://en.wikipedia.org/wiki/Computer_vision”>компьютерное зрение. С его помощью можно использовать несколько методов IoT и машинного обучения. Это одно из самых мощных средств компьютерного зрения. href=”https://docs.opencv.org/2.4/modules/contrib/doc/facerec/facerec_tutorial.html”>OpenCV href=”https://docs.opencv.org/2.4/modules/contrib/doc/facerec/facerec_tutorial.html”> (Open source computer vision) – это href=”https://en.wikipedia.org/wiki/Library_(computing)”>библиотека программных функций в основном нацелена на работу в реальном времени href=”https://en.wikipedia.org/wiki/Computer_vision”>компьютерное зрение. С его помощью можно использовать несколько методов IoT и машинного обучения. Это одно из самых мощных средств компьютерного зрения. href=”https://en.wikipedia.org/wiki/Library_(computing)”>библиотека программных функций в основном нацелена на работу в реальном времени href=”https://en.wikipedia.org/wiki/Computer_vision”>компьютерное зрение. С его помощью можно использовать несколько методов IoT и машинного обучения. Это одно из самых мощных средств компьютерного зрения. href=”https://en.wikipedia.org/wiki/Computer_vision”>компьютерное зрение. С его помощью можно использовать несколько методов IoT и машинного обучения. Это одно из самых мощных средств компьютерного зрения.

Это самая популярная библиотека для компьютерного зрения. Первоначально написанный на C/C++, он теперь предоставляет привязки для Python. Он использует алгоритмы машинного обучения для поиска лиц на изображении.

Во-первых, вам нужно установить OpenCV для вашего Python. Это делается с помощью установщика-pip в командной строке.

pip install opencv

Как только вы установите его на свой компьютер, он может быть импортирован в код Python командой-import cv2.

Ниже приведен код для распознавания лиц:

import cv2
 
# create a new cam object.VideoCapture(0)
# initialize the face recognizer (default face haar cascade).CascadeClassifier("cascades/haarcascade_fontalface_default.xml")
while True:
    # read the image from the cam
    _,.read()
    # converting to grayscale
   .cvtColor(image, cv2.COLOR_BGR2GRAY)
    # detect all the faces in the image
   .detectMultiScale(image_gray, 1.3, 5)
    # for every face, draw a blue rectangle
    for x, y, width, height in faces:
        cv2.rectangle(image, (x, y), (x + width, y + height), color=(255, 0, 0),)
    cv2.imshow("image", image)
    if cv2.waitKey(1)("q"):
        break
cap.release()
cv2.destroyAllWindows()

Распознавание лиц:

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

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

библиотека face_recognition в Python может выполнять большое количество задач:

  • Найдите все лица на заданном изображении
  • Находите и манипулируйте чертами лица на изображении
  • Идентификация лиц на изображениях
  • Распознавание лиц в реальном времени

После обнаружения лиц лица также могут быть распознаны, и имя объекта/человека может быть сообщено выше . Ниже приведены шаги, чтобы сделать это.

Понимание кода Python:

Теперь давайте пройдемся по коду, чтобы понять, как он работает:

# import the libraries
import os
import face_recognition

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

# make a list of all the available images.listdir('images')

Этот простой код помогает нам определить путь всех изображений в корпусе. Как только эта строка будет выполнена, мы будем иметь:

images = ['img.jpg', 'img1.jpg', 'img2.jpg', 'img3.jpg', 'img4.jpg', 'img5.jpg', 'img6.jpg']

Теперь код ниже загружает изображение новой знаменитости:

# load your image.load_image_file('my_image.jpg')

Чтобы убедиться, что алгоритмы способны интерпретировать изображение, мы преобразуем его в вектор признаков:

# encoded the loaded image into a feature vector
.face_encodings(image_to_be_matched)[0]

Остальная часть кода теперь довольно проста, которая импортирует и обрабатывает данные:

Вот мы и пришли:

Весь код дан здесь. Загрузите соответствующие изображения для работы над ним.

# import the libraries
import os
import face_recognition

# make a list of all the available images.listdir('images')

# load your image.load_image_file('my_image.jpg')

# encoded the loaded image into a feature vector.face_encodings(
    image_to_be_matched)[0]

# iterate over each image
for image in images:
    # load the image
   .load_image_file("images/" + image)
    # encode the loaded image into a feature vector
   .face_encodings(current_image)[0]
    # match your image with the image and check if it matches
   .compare_faces(
        [image_to_be_matched_encoded], current_image_encoded)
    # check if it was a match
    if result[0]:
        print "Matched: " + image
    else:
        print "Not matched: " + image

Выход:

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

распознавание лиц

распознавание лиц

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

Должен Читать

Изучение функции numpy.ones в Python | np.ones8 Примеров реализации ОС.listdir() в PythonPython getpass Объяснен Примерами