我正在尝试写一个脸对齐器作为预处理步骤,然后再把我的脸输入神经网络。我(使用Python)通过dlib
实现了Vahid Kazemi和Josephine Sullivan回归树集合来预测人脸地标性估计,发现了人脸的地标。我尝试了几种不同的转换,但都没有用。这是我的基本管道:
get_landmark_points
返回一个68x2
数组
地标= get_landmark_points(pose_landmarks,N_LANDMARKS,dlib_point=False)src
和dst
点:
top_of_nose = landmarks27 left_eye = landmarks36 right_eye = landmarks45 bottom_lip = landmarks57 src = top_of_nose,left_eye,right_eye,bottom_lip dst = [np.int(0.5 * w),np.int(h/3),\ np.int(0.3 * w),np.int(h / 3),\ np.int(0.7 * w),np.int(h / 3),np.int(h/3),\ np.int(0.5 * w),np.int(h * (2.0/3))]以下是2幅图像的输入和输出:
虽然它是一种工作,但并不完美,因为虽然眼睛和嘴唇是相同的高度在这两张图像,他们的x
位置是不同的。我想知道是否有什么方法来改进它,还是我使用了错误的技术?如果有人给我指明正确的方向,那会很有帮助的,谢谢!
发布于 2020-09-08 07:54:05
deepface封装了dlib和许多其他面部检测器,并提供了开箱即用的功能。只需调用检测面部功能。
#!pip install deepface
from deepface import DeepFace
import matplotlib.pyplot as plt
backend = 'dlib' opencv, ssd, dlib or mtcnn
img = DeepFace.detectFace("img.jpg", detector_backend = backend)
plt.imshow(img); plt.show()
https://stackoverflow.com/questions/42941079
复制相似问题