• 机器人学 —— 机器人视觉(拟合)


      上回说到从场景中提取特征点,并且对不同角度中的特征点进行匹配。这次要先介绍一个工具 —— 拟合。拟合本质上是一个优化问题,对于优化问题,最基本的是线性最小二乘法。换言之,我们需要保证拟合误差最小。

    1、最小二乘法拟合

      基本的最小二乘法拟合解决的是 点 --- 模型 的拟合问题。以点到直线的拟合为例,按照拟合误差的建模,该问题可以分为两类。

      

      第一类以 因变量 误差作为优化目标,该类问题往往是自变量---因变量模式,xy的单位不同。

      第二类以 距离 作为优化目标,该类问题xy的单位往往相同,直线不代表趋势,而是一种几何模型。

      由于优化目标不同,故建模方式与解均不同,但是解法思路是一样的,都是讲求和化作向量的模。而向量又是矩阵的运算结果,最终化为奇异值分解问题。

    2、RASAC拟合

      此问题之前已经详细论述过,见博客

    3、非线性拟合

      线性最小二乘法已经有了很好的解释。但是生活总是如此不易。。。能化成上述标准矩阵形式的问题毕竟还是少数,大部分情况下,我们面对的不是min(||Ax - b||),而是 min(||f(x)-b||) !!!

      

      在三维重建中,如果我们有2个以上视角,那么三条线很可能是不交于一点的。原因是我们选择的旋转矩阵有精度表达问题,位姿估计也存在误差。使用奇异值分解的方法是求得到三条线距离最小的点,还有一种合适的估计,是使得该点在三个相机上的重复投影误差最小。同时,R,T,P(X,Y,Z)进行估计,最终保证Reprojection err 最小的方法————the state of the art BUNDLE ADJUST.

      先回到最原始的问题,如何求解非线性最小二乘法。

        

      由线性最小二乘法,我们可以得到非线性最小二乘法矩阵表达形式。如果要求得其局部最小值,则对 x 求导后,导数应为 0。

       

      然而,这个东西并不好解,我们考虑使用梯度下降迭代的方式。这里使用的是单纯的梯度。

      这里有个非常不好理解的地方,其假设detaX非常小,故表示成上述形式,以保证 f(x + deta_X)<f(x) , 只要依次迭代 x 就能保证每次都向着f(x)减小的方向移动。实际上,这个解应该由HESSIAN矩阵给出。

      

      

     

      以信标定位为例。讲道理,两个信标为圆心画圆应该给出位置的两个解析解。但是如果有很多信标,那么信标就会画出一块区域........这是SLAM里的经典问题了,后面会有博客专门讲BUNDLE ADJUST.

  • 相关阅读:
    基于http实现网络yum源搭建
    基于长轮询简易版聊天室
    放大镜案例
    弹出登录框
    拖拽案例
    js入门之DOM动态创建数据
    heoi2020游记
    省选模拟6&7
    省选模拟5
    后缀自动机总结
  • 原文地址:https://www.cnblogs.com/ironstark/p/5467186.html
Copyright © 2020-2023  润新知