dlib 人脸检测基础
dlib 是一个开源的 C++ 工具库,提供了机器学习算法和工具,广泛应用于计算机视觉任务。其内置的人脸检测器基于 HOG(方向梯度直方图)特征和线性分类器实现,具有较高的检测精度和实时性。
安装 dlib 库可以通过 pip 命令完成:
pip install dlib
加载预训练的 HOG 人脸检测器:
import dlib
detector = dlib.get_frontal_face_detector()
检测图像中的人脸并绘制结果:
import cv2
image = cv2.imread("test.jpg")
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
faces = detector(gray, 1)
for face in faces:
x, y, w, h = face.left(), face.top(), face.width(), face.height()
cv2.rectangle(image, (x, y), (x+w, y+h), (0, 255, 0), 2)
cv2.imshow("Faces", image)
cv2.waitKey(0)
人脸关键点定位技术
dlib 提供了 68 点人脸关键点检测模型,能够精确定位面部特征点。这些关键点包括眼睛、眉毛、鼻子、嘴巴等部位,为后续的疲劳检测提供基础数据。
下载并加载预训练的关键点检测器:
predictor = dlib.shape_predictor("shape_predictor_68_face_landmarks.dat")
检测关键点并可视化:
for face in faces:
landmarks = predictor(gray, face)
for n in range(68):
x = landmarks.part(n).x
y = landmarks.part(n).y
cv2.circle(image, (x, y), 2, (0, 0, 255), -1)
1463

被折叠的 条评论
为什么被折叠?



