我正在使用API来分析Matlab中的面部,在这里我为每张图片获得面部方向的3X3旋转矩阵,指出头部朝向哪个方向。 我正在尝试根据该矩阵对图像进行归一化,这样它就会被扭曲以获得面部平面的图像。这类似于“撤消'面部投影到相机平面。例如,如果头部向左稍微指向,它将拉伸左侧(或多或少)保持面部的原始比例。
尝试使用' affine2d'和' projective2d'与' imwarp',但它没有实现这个目标
答案 0 :(得分:1)
使用像仿射变换这样的简单工具来实现你的目标对我来说似乎是不可能的,因为一张脸几乎不是一个平坦的表面。一个极端的例子:想象一下相机记录某人头部的轮廓视图。你将如何重建失踪的一半脸?
已经成功尝试更改图像和实时视频中的面部方向,但使用的方法非常复杂:
[我们]提出一种只需要a的注视校正方法 单个网络摄像头。我们应用最近的形状变形技术 生成与用户脸部相匹配的3D脸部模型。我们 然后渲染这个面部模型的凝视校正版本 将其无缝插入原始图像。
(Giger等,https://graphics.ethz.ch/Downloads/Publications/Papers/2014/Gig14a/Gig14a.pdf)