Python 人臉檢測、面部五官關鍵點檢測等


模塊:face_recognition

import face_recognitio
官方描述:

face_recognition是一個強大、簡單、易上手的人臉識別開源項目,並且配備了完整的開發文檔和應用案例,特別是兼容樹莓派系統。
本項目是世界上最簡潔的人臉識別庫,你可以使用Python和命令行工具提取、識別、操作人臉。
本項目的人臉識別是基於業內領先的C++開源庫 dlib中的深度學習模型,用Labeled Faces in the Wild人臉數據集進行測試,有高達99.38%的准確率。
但對小孩和亞洲人臉的識別准確率尚待提升。

 依賴項

1. pip install cmake

2. pip install boost

3. pip install dlib

 

簡單用法:

import face_recognition
import cv2

# 讀取圖像數據
image = face_recognition.load_image_file(‘。。。’)

# 獲取圖像中所有人臉的五官坐標
face_locations = face_recognition.face_landmarks(image)
print('face_locations', face_locations)

# 人臉檢測
face_locations = face_recognition.face_locations(image, model="cnn")
y_min, x_max, y_max, x_min = face_locations[0]
cv2.rectangle(image, (x_min, y_min), (x_max, y_max), (0, 0, 255), 2)

# 攝像頭五官檢測
names = ['left_eyebrow', 'right_eyebrow', 'nose_bridge', 'nose_tip', 'top_lip', 'bottom_lip', 'left_eye', 'right_eye']

cap = cv2.VideoCapture(0)

while True:
    ret, frame = cap.read()
    # 獲取圖像中所有人臉的五官坐標
    face_locations = face_recognition.face_landmarks(frame)
    
    points = face_locations[0]
    for name in names:
        for point in points[name]:
            cv2.circle(frame, point, 1, (0, 0, 255), -1)

    if cv2.waitKey(1) == 27:
        break
    cv2.imshow('Test camera', frame)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM