6

我已经看到了几个类似的问题,并且对我可能会尝试什么有一些想法,但我不记得看到任何关于传播的东西。

所以:我正在研究一个测量系统,最终基于计算机视觉。

我进行 N 个捕获,并使用一个库处理它们,该库以 4x4 平移和旋转仿射变换矩阵的形式输出姿态估计。

这些姿势估计中有一些噪音。每个旋转轴的欧拉角标准偏差小于 2.5 度,因此所有方向都非常接近(对于所有欧拉角都接近 0 或 180 的情况)。小于 0.25 度的标准误差对我来说很重要。但是我已经遇到了欧拉角特有的问题。

我想对所有这些非常接近的姿势估计进行平均,以获得一个最终的姿势估计。而且我还想找到一些传播度量,以便我可以估计准确性。

我知道“平均”实际上并没有很好地定义旋转。

(作为记录,我的代码是使用 Numpy-heavy Python 编写的。)

我也可能想加权这个平均值,因为已知某些捕获(和某些轴)比其他捕获更准确。

我的印象是,我可以只取平移向量的平均值和标准差,对于旋转,我可以转换为四元数,取平均值,并以 OK 的精度重新归一化,因为这些四元数非常接近。

我还听说过所有四元数中的最小二乘法,但我对如何实现这一点的大部分研究都失败了。

这可行吗?在这种情况下,是否有一个合理定义的传播衡量标准?

4

2 回答 2

3

如果没有有关您的几何设置的更多信息,很难回答。无论如何,对于旋转,我会:

  1. 创建 3 个单位向量

    x=(1,0,0),y=(0,1,0),z=(0,0,1)
    

    并对它们应用旋转并调用输出

    x(i),y(i),z(i)
    

    它只是应用matrix(i)with 位置(0,0,0)

  2. 对您拥有的所有测量值执行此操作

  3. 现在平均所有向量

    X=avg(x(1),x(2),...x(n))
    Y=avg(y(1),y(2),...y(n))
    Z=avg(z(1),z(2),...z(n))
    
  4. 更正向量值

    所以再次制作每个X,Y,Z单位向量,并以最接近旋转轴的轴为主轴。它将保持原样并重新计算剩余的两个轴作为主轴和另一个向量的叉积,以确保正交性。注意乘法顺序(错误的操作数顺序会否定输出)

  5. 构造平均变换矩阵

    变换矩阵解剖视为原点,您可以使用测量矩阵的平均原点

于 2015-07-12T07:32:04.313 回答
1

Moakher 写了一篇论文,解释了基本上有两种方法可以取旋转矩阵的平均值。第一个是加权平均值,然后是使用 SVD 投影回 SO(3)。第二个是黎曼质心。那是一个更接近几何平均值的概念,并且计算起来更复杂。

于 2017-04-10T22:04:38.783 回答