6

在此处输入图像描述

红点 = 左眼中心 (L)、右眼中心 (R)、嘴中心 (M)

紫线 = 线 LR

红线 = 与 L 和 R 中点相交的水平线

黄线 = 在 Mx 处与 LR 相交的垂直线

蓝线 = LM 和 RM

绿线 = L 和 R 的 X 坐标之间的距离

给定这些数据,是否可以确定脸部的偏航、俯仰和滚动?

到目前为止,我只有卷:

Roll = 左右眼的角度差

知道 L、R 和 M 都相对移动,应该可以计算 2D 空间中的 yaw 和 pitch 吧?

我的第一个想法是偏航可以计算为 M 的 X 坐标相对于 LR 的 x 坐标的距离的比率(绿线)

有什么想法吗?

注意:我正在使用 opencv

4

3 回答 3

3

有一个名为solvePnP的函数,它可以从相机坐标系计算物体的平移和旋转。您需要所述对象的3D模型,即对象上点的3D位置,并在图片上找到这些点。

于 2013-03-30T10:19:15.207 回答
2

没有面部轮廓,不知道眼睛或嘴巴的大小,就会有许多重复的方向。它似乎应该起作用,因为我们的大脑很容易使用这些额外的指标来识别和解释面部运动和手势。

无聊可以试试看!将干擦记号笔带入浴室。以一些奇怪的组合定位你的脸,并在镜子上标记你的眼睛和嘴巴中心。现在将您的脸移动到其他曲折中,使您的眼睛和嘴巴保持在同一位置。

一种快速的方法是将头部向左旋转 45 度。标记你的眼睛/嘴巴的位置,然后将你的头旋转到向右 45 度的位置,但将你的整个头向左移动半个头。你应该可以在那里划线。

于 2013-04-05T05:05:43.027 回答
1

Face++ API返回图像中每个人脸的滚动、偏航和俯仰。

还可以尝试在网络上搜索“头部姿势估计”

于 2015-07-27T21:56:15.603 回答