python - 是否有使用伪 3d 面部标志的面部对齐方法?
问题描述
有几种方法可以使用 2d 关键点对 2d 图像执行面部对齐。想象有两个框架,一个有正确的脸,称之为“原始”。还有一个是稍有变化,比如头部有一点转动,或者瞳孔有一点移动,就叫做“转动”。通常的对齐管道是
- 检测人脸并得到矩形(例如
dlib.get_frontal_face_detector()
) cv2.AKAZE_create().detectAndCompute()
在“原始”和“旋转”上查找关键点(例如)- 匹配他们。
- 对“旋转”图像执行
cv2.warpAffine()
或cv2.warpPerspective()
转换以将其调整为“原始”
我需要这样对齐才能稳定视频。给定两个差异很小的框架,我需要快速且良好地对齐它们。
由于面不是平面的,这种方法无法实现所需的变换。头部可能被放置在同一个地方,但它仍然是旋转的。我想知道有没有办法使用伪 3d 面部标志来代替?
解决方案
推荐阅读
- python - 根据重复列表在 Pandas 中添加行和重复值
- firebase - 授予对 Firebase 远程配置的只读访问权限的最小权限集?
- javascript - 使用 OpenLayers 和 Vue.js 在地图上添加新控件时出现问题
- swift - 如何在 Mac OS Mojave Swift Playground 中访问相机
- r - R regex - 提取以@符号开头的单词
- python - Python Pandas 融化了一个稀疏的数据框
- powershell - 防止脚本中参数值的交互式提示
- c# - VS Inline 临时变量建议会破坏异步函数
- scala - 在 Spark Scala 中将 DateTime 转换为 Date
- java - 使用 Angular 7 作为前端,后端作为 Java 遇到 CORS 错误