在已经识别人脸的基础上,不同的人显示一样的动作的幅度是不同的。这个幅度是基于他们没有任何面部表情到展示一样的表情。这个幅度就是同一个人的两个不同面部表情的差异值。
参考:https://blog.csdn.net/hongbin_xu/article/details/78390982
输入:
来自一个人的两个面部表情的视频。
Person A: A_E0 (没有表情), A_E1(微笑)
Person B: B_E0 (没有表情), B_E1(微笑)
输出:
Person A: A_E0 和 A_E1 的 差异值
Person B: B_E0 和 B_E1 的 差异值
从视频中是别人脸。得到68个特征值。转换为128维向量空间。在之前的博客中有具体描述。
def getPersonData(vpath):
# initialize dlib's face detector (HOG-based) and then create
# the facial landmark predictor
detector = dlib.get_frontal_face_detector()
predictor_path = "68_face_landmark\shape_predictor_68_face_landmarks.dat"
predictor = dlib.shape_predictor(predictor_path)
recognizer_path = "dlib_face_recognition_resnet_model_v1\dlib_face_recognition_resnet_model_v1.dat"
recognizer = dlib.face_recognition_model_v1(recognizer_path)
desarray = np.zeros( (1,128) )
print('Processing file:'+ vpath)
cap = cv2.VideoCapture(vpath)
<