在给定内在、外在和 Y=0 约束的情况下估计 2D 像素的深度

Estimate depth of a 2D pixel given intrinsic, extrinsic, and a constraint of Y=0

我在距地面一定高度 (h) 处有一个单视摄像头。通过校准,我获得了内在参数 K、旋转矩阵和平移矢量 [R|t],并且因为我可以完全访问相机和环境,所以我可以测量任何我想要的东西。 我的目标是估计相机上像素 [u,v] 的深度,因为我知道像素在地板上(因此它相对于相机位于 y=-h 处)。 鉴于此限制,我执行了以下操作(但没有成功):

不幸的是,它看起来不对!我现在已经解决这个问题 2 周了,所以从社区获得一些帮助真的很棒。我确定我错过了一些显而易见的事情。

再次感谢

齐次图像坐标为P1 = [u,v,1],或[f*u,f*v,f]

与相机矩阵的逆相乘得到一条射线,3D 点沿该射线定位。 P2 ~= K⁻¹ * P1 (~= is equality up to a scale factor)

假设相机位于 C(相机坐标系中的 (0,0,0,1)),向量 P2 的形式为 [x,y,z,0]。 (末尾的零使其平移不变!)

那么你要找的3D点位于C + k*P2,你必须求解变量k。

P3 = Rt⁻¹ * (C + k*P2)
P4 = C2  + k * P3   

C2 是世界坐标中的相机位置。 P3 是世界坐标中的向量。 P4 是你在 Y=-h

的观点

最后,插入约束 Y=-h 并使用 y 分量计算 k

k = (-h - C2_y) / P3_y