立体匹配算法--总结-20200420

关于立体匹配的全局算法一些常用的算法的收集总结,晚上看了很多文章,下面给出的链接是几个比较具有代表性的,转载要填写原文链接,但是这了有多个,纯属收集整理,就发表原创了。

动态规划:
1.传统的动态规划

Cox, Ingemar J., Sunita L. Hingorani, Satish B. Rao, and Bruce M. Maggs. “A maximum likelihood stereo algorithm.” Computer vision and image understanding 63, no. 3 (1996): 542-567.

1.建立左右图的行对应关系表[col*col],以遮挡惩罚系数,初始化第一行第一列。
2.从第二行第二列作为第一个元素开始,计算匹配代价,匹配代价更新公式如下:

temp = (I_1(row,i)-I_2(row,j))^2;
min1 = C(i-1,j-1)+temp;
min2 = C(i-1,j)+occ;
min3 = C(i,j-1)+occ;
cmin = min([min1,min2,min3]);

经过计算,会生成两个矩阵,一个是cost矩阵,一个是标记矩阵M,表示当前位置的最小值属于哪一类。
3.得出视差值

 switch M(i,j)
  case 1
   displeft(row,i) = abs(i-j); % Disparity Image in Left Image coordinates
   dispright(row,j) = abs(j-i); % Disparity Image in Right Image coordinates
   i = i-1;
   j = j-1;
  case 2
   displeft(row,i) = NaN;
   i = i-1;
  case 3
   dispright(row,j) = NaN;
   j = j-1;

动态规划大佬讲解

2.SGM半全局算法

Stereo Processing by Semiglobal Matching and Mutual Information[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2008.

经典的半全局算法,其可以理解为多个单一方向的动态规划,其详细理解,上大佬的文章:
经典算法Semi-Global Matching(SGM)之碉堡的动态规划~
经典算法Semi-Global Matching(SGM)之神奇的HMI代价计算~

图割法:
图割法调研下来,发现其主要是对图像中关心的区域进行立体匹配,比如人物虚化之类的应用,其会对图像进行预处理,用过标记前景和背景不同的颜色,分离出前景,只针对前景物体进行匹配。这种应用在前景和背景差异较大的情况下比较好。
基于GraphCuts图割算法的图像分割

置信度传播:

浅谈置信度传播算法(Belief-Propagation)在立体匹配中的应用~

随机游走:

一些典型的立体匹配算法总结:
几种典型的立体匹配算法
Cross-Scale Cost Aggregation for Stereo Matching立体匹配算法介绍

你可能感兴趣的:(立体匹配)