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

Теперь, используя OpenCV, мы можем определенно идентифицировать черты лица, но если мы хотим идентифицировать конкретные черты лица, наша библиотека goto - это Dlib. Итак, Dlib поможет нам определить основные ориентиры нашего лица, такие как брови, глаза, линия подбородка и т. Д. Он в основном состоит из предварительно обученной модели и помогает нам идентифицировать эти особенности.

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



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

Различные точки на схеме представляют различные особенности лица, и они используются для построения модели или проекта, который я пытаюсь создать. Эти точки в основном представляют собой очертания всех основных черт лица, таких как губы, брови и т. Д. В проекте, который я создаю, мы собираемся работать с глазами. Модель в основном определяет 68 различных точек.

В качестве предварительного условия вам может потребоваться выполнить следующие команды с помощью pip для установки некоторых библиотек в вашу среду:

pip install cmake
pip install dlib
pip install cv2

Если вам интересно, cmake - это библиотека, необходимая для установки библиотеки dlib, которую мы используем для модели, а cv2 используется как библиотека компьютерного зрения. Поэтому я добавил комментарии к своему коду, чтобы упростить его понимание и чтобы мне не приходилось объяснять каждую строчку. Я добавлю жирные линии, чтобы их было легче понять.

#Importing the main libraries
import cv2
import dlib
#Initializing the variable to capture video
cap = cv2.VideoCapture(0)
#Calling the dlib library to read and understand faces
hog_face_detector = dlib.get_frontal_face_detector()
#Importing our pretrained model
dlib_facelandmark = dlib.shape_predictor("shape_predictor_68_face_landmarks.dat")
#Main Execution code
while True:
    _, frame = cap.read()
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
faces = hog_face_detector(gray)
    for face in faces:
face_landmarks = dlib_facelandmark(gray, face)
for n in range(0, 68):
            x = face_landmarks.part(n).x
            y = face_landmarks.part(n).y
            cv2.circle(frame, (x, y), 1, (0, 255, 255), 1)
cv2.imshow("Face Landmarks", frame)
key = cv2.waitKey(1)
    if key == 27:
        break
cap.release()
cv2.destroyAllWindows()

Некоторые из ключевых элементов кода, которые вам следует знать из основного кода выполнения:
- cap.read (): используется для просмотра видеопотока с веб-камеры
- cv2.cvtColor (frame, cv2.COLOR_BGR2GRAY): Используется для преобразования цветного видеопотока в оттенки серого, потому что он обеспечивает более высокую точность, и это делается с помощью OpenCV
- faces = hog_face_detector (серый): использование библиотеки dlib для идентификации лиц в данном кадре, и мы можем иметь несколько лиц в кадре, которые будут частью цикла, и он все равно будет вычислять, просто если вы Если у вас слишком много лиц, общее время сокращается.
- dlib_facelandmark: Это в основном идентифицирует все ориентиры от лица, полученного из списка лиц.
- Цикл for предназначен для вызова всех 68 функций, которые инициализируются как часть модели.

Основной исполняемый код в основном запускает бесконечный цикл и продолжает проверять лица, указывает на лицо и закрывает веб-камеру каждый раз, когда вы нажимаете клавишу ‘s’.

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

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

Вы можете скачать модель и исходный код по указанной ниже ссылке:



Спасибо за чтение. Продолжай учиться.

Ваше здоровье.