模塊: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)
