如何在不更改模型在图像平面上的 3D 姿势投影的情况下更改相机矩阵(只是焦距不同)?



我有一个三维姿势,用特定的相机矩阵可以很好地投影在2D图像平面上。然而,摄像机矩阵不是真实的(变换矩阵是从CNN网络中找到的(。我想传播到真实的相机矩阵(只有焦距不同(,考虑到最终的3d姿势应该投影在2d平面中的相同点上,真实的旋转和平移将如何?

我在想这个方程式

[R|t]_real = K_real^{-1}*K_temp*[R|t]_temp

其中[R|t]_real和K_real是实变换矩阵和相机矩阵,而K_temp和[R|t]_temp是在2D图像平面上投影良好的临时矩阵。

从上面的方程中可以看出,平移X、Y将发生变化,而Z将保持不变。

三维点X及其图像x的一般针孔相机投影方程为:

x = s * K * [R|t] * X

对于给定的摄影机姿态[R|t]和给定的摄影机矩阵K,您只剩下一个自由度:场景的全局比例s,它无法从单目视图中恢复。

所以,选择你的毒药:如果你想改变相机矩阵,保持相机姿势和场景投影不变,你唯一的选择就是对相机矩阵应用比例s',它与世界场景的倒数:

x = s * (s' * K) * (X / s')

最新更新