项目总结(2.双目相机及立体匹配)

1.立体匹配:

原理:

2.立体匹配常用的方法:

1.特征点匹配:

                    ORB特征=Orendted FAST 关键点+Rotated BRIEF描述子

                     BRIEF角点:1.以p为中心,统计像素差值大于某一阈值的像素点的个数2.找到后非极大值抑制3.实现方向不变得原理:找到几何中心和质心的夹角 4.尺度不变性高斯金字塔。

根据匹配点估计相机的姿态:

根据相关约束可得出以下结论:

a.对极约束

   相机1的主心O1和相机1的主心O2,以及外景点P共面;一个点在另一个相机的成像平面对应点,一定再极线上。

b.要求解的是相机的R和T,也是求本质矩阵:

     E=T^R;

    X2T* E * X1=0;

 E的特点:

 1.E存在于对极约束中,乘以任意常数,对极约束仍然满足。

 2.E的奇异值必是(p,p,0);

 3.T+R 等于6个自由度,去除尺度等价性,则有5个自由度

当相机只发生纯旋转或者特征点都在一个平面的时候,会发生退化,这个时候需要加上限制条件,求出单应性矩阵,比较重投影误差来选择最终的估计

如何求解E

按理说只需要5对点来求解E,但是不是工程上常用的方法,常用8点法:

8对点,E有9个未知数,E=((e1,e2,e3),(e4,e5,e5),(e7,e8,e9));

8对点求得是E有一个自由度,是一条线,满足尺度性

另外求出的E的特征值不一定满足(p,p,0),比如,E=U diag(p1,p2,p3)VT,则 ===》 U diag([p1+p2]/2,[p1+p2]/2,0)VT

 tips:

1.如何理解奇异值:

 从数学上来理解,矩阵A可以看作一个变化,A=U diag VT;当U*Ai=diag[i]*V,从一个坐标变为它正交的坐标了;

 有什么用呢?降维和去噪,奇异值代表了主要信息

vi具有15个元素,ui 具有25个元素,σi 对应不同的奇异值。如上图所示,我们就可以用123个元素来表示具有375个元素的图像数据了。

 PCA

   D是种变化,一种编码规则,C码=D*A(源数据),求D使得 min || A-DTDA || ,则D是AAT的特征向量

 2.SGBM

   非常好的链接:http://blog.csdn.net/chuhang_zhqr/article/details/52586793

   SGBM 假如只是在行方向上做动态规划,那么它的横轴就是左图的横坐标,右轴是视差的范围,每个坐标是视差的大小,更新的公式是:

  

其中的C(p,d)包括两项:一个是窗口内的像素差的和,另一个是行sobel算子处理后的图像的SAD。

3.《Cross-Scale Cost Aggregation for Stereo Matching》

原文地址:https://www.cnblogs.com/chenbaoliang/p/7455906.html