PNP深度不确定性导致的拟合轨迹误差影响测定


PNP深度不确定性对大符轨迹拟合的影响

问题提出

在拟合大符三维运动轨迹的过程之中,需要利用到PNP计算的z轴信息,但是,由于图像处理的不稳定性,装甲板在图像中的位置可能会和真实值偏离1个像素左右,这导致了击打大符的过程z轴距离计算误差特别大(由小孔成像原理)

以下为使用8mm镜头的计算,具体参考能量机关任务参考

因为步兵离装甲板中心的x轴距离只有大概0.7m(大符半径),y轴距离也就是1.多米,这是深度的$\frac{1}{8}$,故定位误差大概是2cm以内,这是可以接受的。

故问题的核心在于PNP的深度误差会对三维圆拟合产生多大的影响,且主要是考察x,y轴的预测(主要要对准位置,高度不对的话可以利用补偿来解决)

模拟误差测定

  • 首先构造离散点,对x,y轴数据不作噪声处理,z轴数据在8m基础上加上10cm的高斯噪声,以此为基础拟合三维圆

  • 参数设置:

    1. 使用多少个数据拟合
    2. 使用多长的数据进行拟合(一个圆的半周或者是$\frac{1}{4}$周)

在此基础上绘制构造的离散点以及拟合的圆

Actual Curve
radius 0.7 0.688017
center (0,0,8.0) (0.00747922, 0.000957649, 7.99978)
x_axis (0,1,0) (-0, 0.99999, 0.00450011)
y_axis (-1,0,0) (-0.9988,0.000435318,-0.0489809 )

利用半周来对圆进行拟合,圆半径设定为0.7m,设定z轴8m为均值,10cm为标准差的高斯噪声

从结果中发现,对z轴加上噪声之后,所拟合出来的圆形是能够符合基本的精度要求的,这说明了即使PNP精度不够,只要数据足够多,误差分布比较均匀的话,拟合并不会因为此产生很大的偏差,因此初步认为该方案在实际中测试也应该能满足要求。

问题:如果数据量较少,或者使用的圆转动小于半周的话,拟合出来的圆误差十分大。需要满足精度要求的话就必须加大数据量,这样的话会对拟合速度产生致命的影响

实际测试过程

使用80帧对实际PNP数据进行拟合,拟合得到的结果如图

切换视图

可以看到,拟合实际上比较准确地得到了圆的法向量,但是,由于有一个轴的测量误差抖动过大,导致数据过于离散,实际上很难找到一个合适的轨迹圆

以下是完整的轨迹与拟合的对比

  • 可能的解决方案

    1. 直接使用这个拟合圆来处理,由于所得到的法向量实际上是比较正确的,实际击打的方向也应该是正确的,也有可能能够正确击打中目标,不过击打的精度不能够保证

    2. 换用识别R来进行轨迹预测,利用中心R的好处是能够实时更新轨迹,不至于因为错误的轨迹导致击打失败

    3. 由于得到了比较正确的法向量,可以将空间中的点投影到与法向量垂直的平面上进行圆拟合,难点是不知道该平面的具体位置(平面的方向已经确定)


文章作者: 闲梦溪
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 闲梦溪 !