估计----2D射影变换

讲怎么求平面射影变换H

直接线性变换(DLT)算法

  • 利用xi×Hxi=0hiTH的第i行。一般选择前2行

    [0TwixiTyixiTwixiT0TxixiTyixiTxixiT0T][h1h2h3]=0

  • 求解H,解是A的最小奇异值的单位奇异矢量

    min ||Ah||, s.t. ||h||=1

不同的代价函数

  • 代数距离,DLT的解在次代价函数下取得最优解

    dalg(xi,Hxi)2=||εi||2=||[0TwixiTyixiTwixiT0TxixiT]h||2

  • 几何距离

    id(xi,Hx¯i)2

    id(xi,H1xi)2+d(xi,Hxi)2

  • 重投影误差

    id(xi,x^i)2+d(xi,x^i)2    s.t x^i=H^x^i

  • 几何距离和代数距离的比较,考虑单图像误差

    (x^i,y^i,z^i)=Hx¯

    Aih=εi=(yiw^iwiy^iwix^ixiw^i)

    dalg(xi,x^i)=(yiw^iwiy^i)2+(wix^ixiw^i)2

    d(xi,x^i)=dalg(xi,x^i)/w^iwi

  • 重投影的几何解释,νH是满足(x,y,1)=H(x,y,1)的4维空间的代数簇

    ||XiX^i||2=(xix^i)2+(yiy^i)2+(xix^i)2+(yiy^i)2=d(xi,x^i)2+d(xi,x^i)2

    通过一系列点(xi.yi,xi,yi),拟合出代数簇

  • Sampson误差,在νH上的点X满足Ah=0,记为ζH(X)=(0,0)T

    ζH(X+δx)=ζH(X)+δζHδXδx

    求在满足Jδx=ε条件下使||δx||取最小值的矢量δx,最小化
    δxTδx2λT(Jδx+ε)

    2δx2λTJ=0Tδx=JTλ

    JJTλ=ελ=(JJT)1εδx=JT(JJT)1ε

    X^=X+δx,   ||δx||2=εT(JJT)1ε

       iεiT(JJT)1εi

    这里有2处近似:1. J,点X并未在簇上。2. 泰勒一阶展开

变换不变性

  • DLT算法的非不变性,xixi由DLT算法得到H。相似变换下,x~i=Txix~i=Tx~i由DLT算法会得到H~=THT1吗?
    回答是:不一定能,所以DLT算法不具有不变性,会因为坐标选择而出现映射的不同

  • 几何误差具有相似不变性

  • 归一化变换,数据的归一化在一些算法中是必须得,特别是对一些不太良定的问题,例如:基本矩阵的计算以及三焦张量的DLT算法。
    1.对点进行平移,让这些点的图心(Centroid)移到原点
    2.进行尺度缩放,让这些点的到原点的平均距离为2

    T=s[10u¯01v¯001/s]   ,s=2ni[(xiu¯)2+(yiv¯)2]1/2

    估计----2D射影变换

迭代最小化方法

   f:h91(Hx1,Hx2,...,Hxn)2n1

   f:h91(H1x1,...,H1x1n,Hx1,Hx2,...,Hxn)4n1

   f:hx^1,...,x^n(9+2n)1(x^1,x^1,...,x^n,x^n)4n1

  • 有牛顿迭代和LM迭代

鲁棒估计

  • 距离阈值:根据概率来选择,利用χ2分布
  • 采样多少次:ε=1w是野值比率,,选择s个点,p是采样点中没有野值的概率,(1ws)N=1p
  • 算法步骤
    (1)角点检测
    (2)角点匹配
    (3)RANSAC鲁棒估计
    (4)最优估计:由划分为内点的对应点重新估计H,利用LM迭代
    (5)引导匹配:
    (6)最后2步可以重复进行直到对应的数目稳定