我在 numpy 中有超过 2000 个像素尺寸为 96x96 的灰度图像。我有 (x,y) 面部关键点坐标,例如 left_eye_center、right_eye_center、nose_center、mouth_left、mouth_right 等。
数据集中的许多面部都向左、向右、向上或向下倾斜。所以我想找出朝向相机的面部方向角度。
有没有库可以检测到这一点?我研究了 opencv,但它似乎只进行面部检测而不进行定向。
最佳答案
来吧,这只是简单的数学:
double eyeXdis = eye_r.x - eye_l.x;
double eyeYdis = eye_r.y - eye_l.y;
double angle = atan(eyeYdis/eyeXdis);
double degree = angle*180/CV_PI;
[编辑:]
看来,您正在寻找的实际上是“头部姿势估计”(或“位置”)
您需要一个(原始)3d 头部模型,一次获取地标的相应 3d 点,然后为每个图像找到图像中的 2d 地标,并从 solvPnP() 获取旋转/平移向量.
关于opencv - 如何检测面部角度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28530102/