本发明涉及一种基于双目视觉的立体匹配方法,采用的是一种基于多特征信息融合的最小生成树的立体匹配算法,改进的最小生成树算法可以将无向图构造出更为准确的树结构,使图中像素点之间关系更为清晰,降低了双目视觉立体匹配的误匹配率,在代价计算前区分出纹理区域,并在不同纹理区域构造对应的代价函数,增强其在不同环境下的适应性,在弱纹理、无纹理区域,本发明提出的方法相较于原方法有较好的匹配效果,引入改进的rank变换,解决了实际工程中因光照以及噪声等影响导致匹配精度降低的问题。
背景技术:
1、随着人工智能的快速发展,人们对计算机视觉的研究也随着热浪达到了高潮。其中,双目立体视觉作为计算机视觉的一个重要分支引起了广大学者的探究,其广泛应用于三维重建、三维测量、无人机避障、目标跟踪等方面,双目立体视觉主要包括相机标定、极线校正、图像预处理、立体匹配、三维重建,其中立体匹配是双目立体视觉的重点,立体匹配的匹配率直接影响三维重建的准确性,传统的立体匹配方法分为全局算法和局部算法,其中全局算法虽然通过二维相邻像素视差之间的约束(如平滑性约束)而得到更好的匹配效果,但是对内存的占用量大,速度慢,很难运用到实际工程中;而局部算法虽然计算量小,但是所基于的局部窗口视差相同的假设在很多情况下并不成立导致匹配效果较差,受弱纹理等影响无法完成较精确的三维重建。
技术实现思路
1、针对传统算法在复杂环境的适应性不高,另外还没有一种匹配方法能够同时适用于不同纹理区域,本发明为了增强算法的强健性,提出一种自适应区域的多特征融合立体匹配方法。在代价计算阶段,首先区分强纹理区域,弱纹理区域和无纹理区域,针对强纹理区域,采用像素值截断的绝对强度差,在弱纹理区域,则采用像素值截断的绝对强度差与图像梯度相结合的代价方法,根据先前实验证明该方法在像素点细小变换的区域有着很好的效果,最后在无纹理区域,采用对弱纹理区域引入了改进的rank变换参数方法,在很大程度上解决了因曝光等因素使图像产生无纹理区域而导致匹配精度下降等问题。在代价聚合阶段,采用最小生成树算法,将图像构造一个最小生成树,但传统的最小生成树算法仅仅采用像素值绝对强度差三通道最大值作为叶节点边权值进行计算,没有考虑其他两通道对最终边权值的影响,可能导致相似颜色处的像素点错误连接,在此基础上本发明提出一种基于多特征融合的最小生成树算法,将颜色内相关信息与叶节点间三通道颜色信息相结合,弥补了原始边权值采用颜色分量作为单一分量的不稳定性这一问题,从而减少了误匹配的概率。
2、本发明的技术方案如下:
3、自适应区域的多特征融合立体匹配算法,包括以下步骤:
4、步骤一:数据预处理,对输入的左右图像进行极线矫正;
5、步骤二:区分图像的纹理区域,对不同区域设定不同代价函数,并且引入改进的rank变换参数,进行代价计算;
6、步骤三:进行代价聚合,将改进的多特征融合信息作为边权值对输入图像像素点构建最小生成树,之后从根节点到叶节点、叶节点到根节点进行两次代价聚合,计算聚合值并存储在根节点中;
7、步骤四:采用wta(赢家通吃策略)计算视差,左右一致性检测优化视差,最终结合双目相机标定参数计算深度值,生成深度图。
8、所述步骤一中的具体过程如下:
9、(1)为了将相机极点变换到无穷远使得极线水平对准,创建一个旋转矩阵,首先是x轴的旋转,将x轴旋转到与基线相同的方向即旋转后新x轴就是ol-or,其中ol为左相机像素中心,or为右相机像素中心,旋转向量公式如下:
10、
11、其中t为视差,|t|为视差的模;
12、(2)确定旋转后的新y轴,只需满足与e1正交即可,选择与主光轴和e1相交的方向,公式如下:
13、e2=e1(rl[0,0,1]t+tl)
14、其中rl,tl为左相机外参,新的z轴与e1,e2垂直且满足右手定则即e3=e2×e1;
15、(3)最终得到旋转矩阵:
16、rnew=[e1,e2,e3]
17、即左图像新的旋转矩阵为:
18、
19、右图像新的旋转矩阵为:
20、
21、其中rr为相机的标定参数。
22、所述步骤二中的具体情况如下:
23、(1)对数据集构建改进的rank变换图像:
24、改进的rank变换方法:本发明提出通过选取子邻域最小像素灰度值与灰度值均值的平方差之和的像素灰度值均值来代替中心像素灰度值的方法,在一定范围内提高了传统rank变换的降噪性,并且尽可能多的保持边缘和角点特征。对于以(u,v)为中心的rank变换窗口,分别计算(u,v)左上角子邻域,右上角子邻域,左下角子邻域,右下角子邻域的灰度分布均匀度v,取最小灰度分布均匀度对应区域的均值作为参考值进行变换,其表达式为:
25、v=∑[f(i,j)-f′(i,j)]2
26、式中:f(i,j)为子邻域像素灰度值,f’(i,j)为子邻域像素灰度值的平均值;
27、(2)在代价计算阶段首先需要区分出图像的强纹理、弱纹理和无纹理区域,将任意像素点周围n个像素值进行相加并取平均值,常见的n可设置为四方向或者八方向,考虑到算法的实时性,本发明采用四方向,即代匹配像素点的上、下、左、右四个像素点三通道颜色值进行相加并取平均值与中心像素值进行比较,之后设置判断阈值τ,计算公式如下:
28、
29、式中q为中心像素点三通道均值,纹理区域评判标准:
30、①若为弱纹理区域;
31、②若为无纹理区域;
32、③若为强纹理区域;
33、(3)纹理区域区分之后,在不同区域采用不同代价计算匹配基元,计算公式如下:
34、①在强纹理区域采用像素值截断的绝对强度差进行代价计算,公式如下所示:
35、
36、式中il(p,q)为左图像单个像素数值,ir(p,q)为右图像待匹配点的像素值,θ为像素值截断阈值,c(p,q)为代价计算结果;
37、②在弱纹理区域采用像素值截断的绝对强度差与图像梯度信息结合,公式如下:
38、
39、其中:
40、式(1)中cgad(p,q)代表图像梯度信息,α为预定义参数,主要权衡像素值强度差与梯度信息在代价计算中所起的作用。式(2)中的代表像素值梯度值,il(p,q)代表左图像的像素灰度值,ir(p,q)代表右图像的像素灰度值,β代表图像梯度信息阈值;
41、③在无纹理区域引入改进的rank变换参数来增强抗噪性。
42、所述步骤三中的具体情况如下:
43、传统的基于最小生成树的立体匹配算法在构建最小生成树时,边的权值定义为图像中两个像素点灰度值之差的三通道的最大值,但这种方法可能导致若纹理区域像素点连接错误,且忽略了其他两个通道的边权值对最终边权值的影响。在此基础上本发明提出一种rgb三通道互相关信息与颜色信息结合的多特征融合方法来计算边权值,使得获得的色彩信息可以更准确获取内部颜色结构特性,可以弥补原始边权值单一分量的不稳定性这一问题。
44、(1)改进的边权值,公式如下:
45、iln=[irg,irb,igb] (3)
46、
47、式(3)中iln代表rgb三通道互相关信息,其中irg=|ir-ig|,irb=|ir-ib|,igb=|ig-ib|,式(4)中∈代表权衡rgb三通道互相关性与颜色信息在边权重的计算中引入的预定义参数。在获取到边权值的大小后,利用克鲁斯卡尔算法将权值较大的边进行逐一去除,进行最小生成树的构建;
48、(2)在最小生成树构建之后,将代价值沿着树结构进行两次遍历,从而完成代价聚合,第一次聚合如下,在最小生成树(mst)中,将像素之间的距离作为两个图像像素之间相似性的评判标准,使d(p,q)代表像素之间的距离,将叶节点的原始代价自下而上聚合到根节点,其公式加下:
49、
50、式中的代表节点v的代价聚合值,当节点v作为叶子节点没有子节点时,s(v,vc)代表像素之间的相似性,其公式如下:
51、
52、δ是一个常量,用来调整两个节点之间的相似性;
53、(3)将根节点的原始代价自上而下的聚合到叶节点,其公式表达式如下:
54、
55、由于在mst中的根节点因此第二步将根节点原始代价值向着叶节点聚合并将代价聚合值存储在根节点中,式中代表最终代价聚合值。
56、所述步骤四中的具体情况如下:
57、(1)视差计算:
58、本发明中的视差计算采用wta(赢家通吃)策略计算每个像素点的最小代价,从而获得视差值,其公式如下:
59、
60、其中disp代表p点的视差,d代表可能出现的视察范围,将每个像素位置在所有视差范围内找到一个代价值最小值,其所在位置的视差值就是该像素的最终视差,从而得到整个图像的初始视差图;
61、(2)视差优化:
62、采用非局部视差精化法作为优化初始视差图的方式,具体过程是依次以左图像和右图像作为参考图像来运行非局部成本聚合方法,以获得两个对应的视差图,将所有像素划分为稳定或不稳定的像素,公式如下:
63、dl(x,y)=dr[x-max(dl,0),y]
64、式中dl和dr为左右初始视差图,满足该式的为稳定点,否则为异常点;
65、(3)使用左右一致性检测重新计算新的匹配代价值,计算公式如下:
66、
67、式中d(p)表示左视差图,并且对于稳定像素,针对每个视差水平d的每个像素p计算新的匹配代价值,对于所有不稳定像素,匹配代价值为零。最后采用代价聚合的方法重新聚合新的匹配代价值,进而得到最终高质量视差图。