【问题标题】:opencv face detection 2d to 3dopencv人脸检测2d到3d
【发布时间】:2013-02-04 20:02:31
【问题描述】:

我想将检测到的人脸矩形转换为 3D 坐标。我有网络摄像头的内在参数和头部尺寸,如何使用投影方程确定深度 Z?

x = fx X / Z + u

y = fy Y / Z + v

我知道 fx fy 和 u v 是内在参数,并且 X Y 由我的头部尺寸给出,x y 由检测到的面部矩形给出。似乎只有一个方程就足以确定 Z。如何使用它们?还是我错了?

【问题讨论】:

    标签: opencv coordinates augmented-reality


    【解决方案1】:

    您是正确的,您并不严格需要它们来计算深度。但是,您可能希望同时使用这两种方法来提高准确性。

    要记住的另一件事是,如果您的相机没有垂直观察您测量的平面对象(例如面部),则其中一个或两个测量值可能对计算深度没有用处。例如,如果您的相机正在向上看一个矩形,那么只有宽度才能很好地衡量深度,因为高度会被视角压缩。不过,我认为这对您的面部检测器并不重要,因为无论如何都假定面部的比例是固定的?

    【讨论】:

    • 是的,它是固定的,因为如果面部不朝向相机,则无法检测到。我进一步的问题是如何使用这个深度 Z 来定位 OpenGL 3d 坐标中的面部矩形?我使用solvePnP 来获取平移矩阵,并在MODELVIEW 中使用它。但这并不完全是我想要的,尽管当我移动我的头时,轴也在移动。还有其他方法吗?
    猜你喜欢
    • 2012-02-04
    • 2013-05-24
    • 1970-01-01
    • 1970-01-01
    • 2014-01-31
    • 2012-04-15
    • 2012-03-08
    • 2019-12-01
    • 2016-05-05
    相关资源
    最近更新 更多