我有一个三维姿势,用特定的相机矩阵可以很好地投影在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')