例如,对于6-dof相机状态,两个相机具有12状态参数和12*12协方差矩阵(假设高斯分布)。当6-dof刚体运动应用于相机时,这种协方差如何变化?
如果6-dof也是高斯分布呢?
发布于 2018-03-09 07:25:34
你可以使用“正向传播”定理(你可以在Hartley和Zisserman的多视图几何书,第5章,第139页中找到它)。
基本上,如果您有一个具有平均x_m和协方差C的随机变量x,以及一个应用于x的可区分函数f,则f(x)的平均值将为f(x_m),其协方差C_f将近似为JCJ^t,其中D9表示转置,J是x_m计算的f的雅可比矩阵。
现在让我们分别考虑摄像机位置和摄像机方向的协方差传播问题。
首先看看在你的例子中相机的平移参数发生了什么变化,让我们用x_t.In来表示它们,f是一个刚性变换,这意味着
f( x_t )=Rx_t+T //R是旋转,T是平移,x_t是相机的位置
现在关于x_t的f的雅可比矩阵就是R,所以协方差由下式给出
C_f=RCR^T
这是一个有趣的结果:它表明协方差的变化只取决于旋转。这是有道理的,因为直观地说,平移(位置)数据实际上不会改变它改变的轴(关于主成分分析)。
还要注意,如果C是各向同性的,即对角矩阵lambda*Identity,那么C_f=lambda*Identity,这也是有意义的,因为直觉上我们不期望各向同性协方差随着旋转而变化。
SO(3)群的李代数。在这种情况下,yaw, pitch, scale系数将被参数化为v=[alpha_1, alpha_2, alpha_3]^t (它们基本上是李代数系数)。在下面,我们将使用从李代数so(3)到群SO(3)的指数和对数映射。我们可以把我们的函数写成f(v)=log(R*exp(v))
在上面的代码中,exp(v)是摄影机的旋转矩阵,R是刚性变换的旋转矩阵。请注意,平移不会影响方向参数。计算f相对于v的雅可比矩阵在数学上是有意义的。我怀疑你可以使用伴随或李代数来做,或者你可以使用Baker-Campbell-Hausdorff formula来做,但是,你必须限制精度。这里,我们将走一条捷径,并使用this question中给出的结果。
jacobian_f_with_respect_to_v=R*inverse(R*exp(v)) =R*exp(v)^t*R^t
因此,我们的协方差将是
R* exp(v) ^t*R^t * Cov(v) * (R*exp(v)^t* R^t )^t =R*exp(v)^t*R^t * Cov(v) *R*exp(V)*R^t
我们再一次观察到同样的事情:如果Cov(v)是各向同性的,那么f.的协方差也是各向同性的
注释编辑:对您在中提出的问题的回答
翻译/方向参数之间的条件独立性在许多作品中经常被假设(特别是在姿势图中,例如参见Hauke Strasdat's thesis),我总是发现在实践中,这种方法效果要好得多(我知道这不是一个非常令人信服的论点)。然而,我承认我在写这个答案的时候并没有太多的思考(如果有的话),因为我的主要观点是“使用前向传播定理”。您可以将其联合应用于方向/位置,所有这些更改都是您的雅可比矩阵将如下所示
J=J_R J_T//J_R雅可比w.r.t方向,J_T雅可比w.r.t位置
然后,协方差矩阵的“致密化”将作为传播的结果,如J^T*C*J。
SO(3)而不是SE(3)?你自己说的,我把平移参数和方向分开了。SE(3)是刚性变换的空间,其中包括平移。使用它对我来说是没有意义的,因为我已经处理了位置参数。,
我认为我们仍然可以应用同样的定理。现在的不同之处在于,您的刚性变换将是12参数的函数M(x_1,x_2),而您的雅可比矩阵将看起来像[J_R_1 J_R_2 J_T_1 J_T2]。正如您所知,这些数据的计算可能会很繁琐,所以如果您可以尝试数字或自动differentiation.
https://stackoverflow.com/questions/49142339
复制相似问题