首页 > 解决方案 > 是否有使用伪 3d 面部标志的面部对齐方法?

问题描述

有几种方法可以使用 2d 关键点对 2d 图像执行面部对齐。想象有两个框架,一个有正确的脸,称之为“原始”。还有一个是稍有变化,比如头部有一点转动,或者瞳孔有一点移动,就叫做“转动”。通常的对齐管道是

  1. 检测人脸并得到矩形(例如dlib.get_frontal_face_detector()
  2. cv2.AKAZE_create().detectAndCompute()在“原始”和“旋转”上查找关键点(例如)
  3. 匹配他们。
  4. 对“旋转”图像执行cv2.warpAffine()cv2.warpPerspective()转换以将其调整为“原始”

我需要这样对齐才能稳定视频。给定两个差异很小的框架,我需要快速且良好地对齐它们。

由于面不是平面的,这种方法无法实现所需的变换。头部可能被放置在同一个地方,但它仍然是旋转的。我想知道有没有办法使用伪 3d 面部标志来代替?

标签: pythonopencvface-alignment

解决方案


推荐阅读