利用Dlib库与opencv+泊松融合实现faceswap
第一步:
检测人脸,使用 dlib.get_frontal_face_detector()检测器
第二步:
提取人脸特征点,使用dlib.shape_predictor(self.predictor_path)特征提取器,可以使用68 or 5点模型。
shape_predictor_68_face_landmarks.dat
shape_predictor_5_face_landmarks.dat
第三步:
根据特征点使用SVD获取转换矩阵M,再利用仿射变换,实现脸部对齐,获取脸部的变形及换脸。
第四步:
采用泊松融合,解决脸部色差及修补粘贴痕迹。