CN104867135B - 一种基于指导图像引导的高精度立体匹配方法 - Google Patents
一种基于指导图像引导的高精度立体匹配方法 Download PDFInfo
- Publication number
- CN104867135B CN104867135B CN201510225381.8A CN201510225381A CN104867135B CN 104867135 B CN104867135 B CN 104867135B CN 201510225381 A CN201510225381 A CN 201510225381A CN 104867135 B CN104867135 B CN 104867135B
- Authority
- CN
- China
- Prior art keywords
- point
- image
- calculated
- power flow
- pixel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Image Processing (AREA)
Abstract
本发明涉及一种基于指导图像引导的高精度立体匹配方法,包括以下步骤:计算指导图像;计算复合梯度;计算复合匹配代价;匹配代价的聚合;视差计算;视差求精。本发明可以搭建一种可以应对常见匹配场景的高效的匹配方法,为双目立体测量技术的设计应用提供重要的依据,同时该方法也可为其他的立体匹配方法的设计提供一定的参考。
Description
技术领域
本发明涉及立体视觉、三维图像处理技术领域,特别是涉及一种基于指导图像引导的高精度立体匹配方法。
背景技术
基于三维图像处理的立体匹配技术是一种新兴的图像处理技术,隶属于立体视觉范畴,主要是通过对多幅二维平面图像处理,从而恢复出被拍摄物体的三维坐标,得到深度信息,其中基于两幅图像的双目立体匹配技术则是其中的一个研究热点,也是计算机视觉中的一个重要分支。通过双摄像头拍摄实际场景中的物体,然后还原得到该物体的三维空间的坐标信息,这些三维空间信息可以应用在无人驾驶、无人导航、3D扫描、3D跟踪、3D重建等技术场景中,为计算机视觉带来全新的业务,也可以进一步开发在军事侦察、公共安全、智能工业、智能家居、智能交通、精准农业、智慧城市、医疗卫生等领域的应用,这些应用具有巨大的应用价值,将为社会建设和经济发展提供强大助力。
在具体的应用环境中布设双目摄像头采集得到同步的双摄像头图片,然后进行计算得到物体的三维空间坐标,其中恢复还原得到三维坐标最重要的部分是立体匹配过程。但是在传统算法中,当场景中存在大片弱纹理区、重复纹理区、光照不均匀等现象时,会造成误匹配区域比较多、视差图不平滑、边缘不清晰等,匹配结果比较差,影响后续的应用,同时部分算法的运算时间比较长,实用性较低,所以有必要开展更加深入的研究,提出性能更好的算法。
依据综述论文(D.Scharstein and R.Szeliski于2002年提出“Ataxonomy andevaluation of dense two-frame stereo correspondence algorithms”)对立体匹配算法进行的分类,立体匹配的算法主要分全局算法和局部算法。全局算法主要依靠全局的能量、平滑性等全局约束来计算视差图,而局部算法主要应用局部信息计算视差图。本发明属于局部立体匹配算法,同时依据算法的先后步骤划分成了预处理、匹配代价计算、匹配代价聚合、视差图计算和视差图求精等几个主要步骤。在预处理阶段,传统的算法主要是采用普通的中值滤波器进行滤波处理,没有做过多的其他处理。早期的论文(如M.A.Gennert于1988年曾在预处理阶段对图片进行直方图均衡化处理,I.J.Cox,S.Roy和S.L.曾于1995年在预处理阶段主要做了图片的偏置调节,调节光照亮度等,A.Ansar,A.Castano,和L.Matthies于2004年曾在预处理阶段对图片做了一定的增强,主要是补偿光照辐射差异)曾做过一定的研究,但是不多,而且这些研究没有形成整套的应用体系,而本发明则弥补了以上算法在该部分的不足,在预处理阶段提出了指导图像模型,该指导图像可以从输入的图像中提取特定的强化信息,这些强化的信息具有一定的鲁棒性,可以用于引导后续的整个匹配过程,提高匹配过程的导向性,提高匹配有效性,而这个研究是其他算法没有做过的。
在匹配代价计算方面,过去的研究已经提出了非常多的匹配代价度量算子,在早期的算法中,度量算子有计算绝对差、互相关、平方差等,涉及的局部信息有图像颜色、图像的梯度、拉普拉斯变换等等,后续新出现的一些非参数的算法,如R.Zabih和J.Woodfill于1994年提出的census变换和rank变换,H.Hirschmuller于2008年提出的互信息,V.D.Nguyen和D.D.Nguyen等于2014年提出的局部二元模型等等,这些非参数算法相比于传统算法有一定的性能提升,但是也存在一些的缺陷,比如难以处理大块弱纹理区、计算复杂度大等缺点,所以后续提出了很多的改进算法。然而单个的度量算子还是存在一些不可避免的缺陷,所以后续陆续提出了复合式的匹配代价度量算子,比如A.Klaus和M.Sormann等于2006年采用了颜色信息的绝对和(SAD)与图像梯度信息来度量匹配代价,X.Mei和X.Sun等也于2011年提出了使用颜色信息和census变换算子来度量匹配代价,这些算法验证了使用复合式的匹配代价度量算子的计算效果比单个的匹配代价度量算子效果要好,所以本发明也采用这种复合式的匹配代价计算方法,但是本发明与这些存在的发明不同的是,新提出的复合式匹配代价算子既提高了匹配代价的鲁棒性,又在一定程度上降低了计算量。这个新提出来的复合式匹配代价算子主要包括了图像颜色信息、新的复合式梯度信息以及轻量级的census变换,其中新的复合式梯度模型融合了原始图片的梯度和指导图像的梯度,从而使得新的梯度比传统梯度具有更全面的梯度信息,另外本算法还采用了鲁棒性能较好的census变换,但是census变换的尺寸却很小,属于轻量级的计算,该census变换算子配合图像颜色信息和新的复合式梯度信息,可以使得新的复合式匹配代价度量算子的整体鲁棒性很好且计算量较小,这是其他发明没有涉及的。
匹配代价聚合主要是对计算出来的匹配代价进行聚合,从而减低误差等的影响,提高匹配代价的有效性。传统的算法主要是基于二维窗函数的聚合法,如K.-J.Yoon和I.S.Kweon于2006年提出的自适应支持权重计算法,还有基于滤波器滤波式的聚合,如C.Rhemann和A.Hosni等于2011年提出的匹配代价空间快速滤波聚合的方法,以及基于分割、分段结构的聚合,如Q.Yang于2012年提出的非局部聚合法等。这些算法中的大部分算法的计算过程是基于二维空间计算的,因而计算的复杂度都比较大,所以后续提出了一些一维空间的聚合方法,如W.Yu和T.Chen等于2009年提出的指数步骤聚合法等,这些方法大大降低了计算的复杂度,有利于应用在实际场景中。本发明的聚合算法也采用了指数步骤的聚合方法,但我们在此结构的基础上做了一定的改进,改进了其中自适应权重的计算方法,提高了算法的有效性,改善了聚合的效果。同时,本聚合过程还被用在视差图求精的过程中,改善视差图的性能,这也是与其他算法不同的。
匹配代价计算采用的是简单的“胜者为王”的计算方法,该计算方法比较简单有效。在视差图求精方面,采用的是左右一致性检测检测视差图中的异常点,而在异常点纠正方面,X.Sun和X.Mei等于2011年提出了使用水平方向传播的填充法,X.Mei和X.Sun等于2011年提出的区域投票填充法,C.Rhemann和A.Hosni于2011年提出了使用滤波器进行滤波纠正的方法等。我们提出了一套多步骤异常点纠正的方法,包含了异常点分类、四方向信息收集传播填充内部异常点、左侧异常点填充、指数步骤滤波器滤波等,这一整套的求精算法是首次提出并采用,算法效果良好。
发明内容
本发明所要解决的技术问题是提供一种基于指导图像引导的高精度立体匹配方法,可以搭建一种可以应对常见匹配场景的高效的匹配方法,为双目立体测量技术的设计应用提供重要的依据,同时该方法也可为其他的立体匹配方法的设计提供一定的参考。
本发明解决其技术问题所采用的技术方案是:提供一种基于指导图像引导的高精度立体匹配方法,包括以下步骤:
(1)计算指导图像:在获得矫正好的立体匹配图像对之后,进行指导图像计算;
(2)计算复合梯度:采用逐通道计算的方法,对输入的立体匹配图片分别计算每个通道的x方向和y方向的梯度,并对指导图像也计算相应的x方向和y方向的梯度信息,然后将两个图片计算得到的梯度信息逐通道加权融合形成一个新的多通道复合梯度;
(3)计算复合匹配代价:匹配代价是对两幅图像上的匹配点对之间的相似性程度的度量,其中,度量算子采用了输入图片的颜色信息,多通道复合梯度信息以及轻量级census变换法;
(4)匹配代价的聚合:采用的是水平和垂直方向分步迭代聚合,聚合权重采用自适应的权重计算方法,考虑颜色和空间信息,自适应变化;聚合步长按照指数化跳跃;迭代过程中,两端聚合点的匹配代价采用加权求平均的方式聚合,然后与中心点的匹配代价融合;
(5)视差计算:视差计算采用“胜者为王”的视差计算方法计算视差;
(6)视差求精:先采用左右一致性检测方法检测出异常点,然后根据其所处的空间位置对异常点进行分类,分成左侧异常点和内部异常点;采用动态自适应颜色和空间阈值对异常点进行支持区域计算,支持区域包括水平和垂直方向的四个支持臂;最后在支持区域基础上进行多步纠正异常点的方法,包括四方向信息收集填充法、左侧异常点填充法以及基于代价聚合函数的视差图滤波法。
所述步骤(1)具体包括以下子步骤:
(11)假定输入的图像I,指导图设定的计算窗为M,半径为RGM,颜色权重阈值为δc,空间距离权重为δd,对于图像I中的每一点进行滤波,并计算在窗口M内的各个点的加权平均,计算结果作为当前窗口中心点滤波结果;
(12)假定窗M中心像素为p(i,j),如果为彩色图像,则颜色值为<pr,pg,pb>,如果为灰度图像,则只有一个通道值p_gray,窗M内的一个邻居点为q(k,l),如果为彩色图像,则颜色值为<qr,qg,qb>,如果为灰度图像,则只有一个通道值q_gray,则两个像素之间的颜色欧几里得距离为Δcpq和距离欧几里得距离Δgpq为: 然后采用指数计算该点与中心点之间的权重:
(13)计算每一个像素点滤波后的值,从而得到滤波后的图像,即指导图G。
所述步骤(2)包括以下子步骤:
(21)图像梯度计算定义为:
(22)计算输入图片I的每个颜色通道的x方向和y方向的梯度,即求x方向和y方向的偏微分dx和dy;如果是彩色三通道图片则为和如果是灰度图则为和
(23)计算指导图G的每个颜色通道的x和y方向的梯度,即求x和y方向的偏微分dx和dy。如果是彩色三通道图片则为和如果是灰度图则为和
(24)计算加权复合梯度图,将分别计算得到的图片I和图片G的偏微分按照方向进行加权融合成一个多通道复合梯度,如果是彩色空间的,则表达式为:
如果是灰度空间的,则表达式为:其中,其中w1和w2是权重,GAx表示x方向的梯度融合,GAy表示y方向的梯度融合;
(25)依据以上计算步骤计算图像I和指导图像G每一点的梯度,然后进行融合得到新的复合梯度模型。
步骤(3)中左图像素点位置为p(x,y),则在右图像上偏移量为d的像素点位置为q(x-d,y),该水平方向的偏移量d即视差,范围为dmin~dmax;匹配代价需要计算每个像素点在视差范围dmin~dmax内相似性,具体包括以下子步骤:
(31)基于图片的颜色信息的相似性度量是采用计算像素p和q之间的颜色绝对差进行度量,如果是多通道的图像,则计算各个通道的颜色绝对差的平均值;
(32)采用复合梯度进行相似性度量的时候,则计算的是像素p和q之间的复合梯度向量的绝对差求和,然后根据图像的颜色空间通道数ch求平均值;
(33)Census变换法采用的是先将计算窗win内的每点像素值与中心像素对比,比中心像素高的置为1,其他置为0,再将win窗内的所有二进制数据进行串接得到编码cen,然后将左图像像素p和右图像像素q相应的计算窗win内的像素按照同样的方法求取cen(p)和cen(q),最后对它们求取异或计算,统计异或运算后的1的个数用来度量像素p和q的相似性;
(34)复合匹配代价综合了以上三个度量算子,将它们组合成了一个新的三维匹配代价空间;
(35)依据以上的计算步骤计算每一点的匹配代价,分别计算得到度量算子计算的匹配代价,然后按照三维匹配代价空间进行组合。
所述步骤(4)具体包括以下子步骤:
(41)聚合结构:采用水平方向和垂直方向分开迭代聚合;
(42)每次聚合涉及的像素:在选定的方向上聚合时,每次对当前像素点p(x,y)在视差d上聚合C(x,y,d)时只涉及3个像素点的匹配代价,包括中心像素点的C(x,y,d)以及两端的2个像素点的(C(x-N,y,d)和C(x+N,y,d),其中,N是间隔步长,聚合的像素间隔差N的大小按照指数化跳跃;
(43)每次聚合的聚合权重:聚合权重考虑的是端点与中心像素点之间的权重,选择的是自适应权重,主要考虑颜色相似性和空间距离,采用指导图为参考图进行计算,则得到权重采用指数计算表达式w(p,q)=exp(-Δcpq/λc-Δgpq/λd),其中,其中颜色权重阈值为λc,空间距离权重为λd;
(44)聚合迭代过程:聚合匹配代价一次迭代过程如下:Cagg(x,y,d)=C(x,y,d)+(w(p,q1)C(x-N,y,d)+w(p,q2)C(x+N,y,d))/s,其中,s是一个平均算子;每个像素在视差范围[dmin,dmax]内都按照以上的方式进行迭代;每次迭代都使用上次迭代的结果进行迭代计算。
所述步骤(6)中四向填充法填充内部异常点具体包括:
(61)在每个异常点p的四只支持臂内寻找最近的有效点,假设水平方向两个有效点为dl和dr,dlr定义为min(dl,dr),垂直方向两个有效点为du和dd,dud定义为min(du,dd),那么填充当前异常点的规则为:如果dlr和dud都不存在,则不填充,继续到下一次迭代填充;如果只有dlr存在,则使用dlr填充;如果只有dud存在,则使用dud填充;如果dlr和dud都存在,且两者差不超过2,那么使用(dlr+dud)/2填充;否则继续至下一次迭代;
(62)完成步骤(61)的迭代之后填充剩下异常点的方法为,寻找异常点p的有效邻居点不限制只在四个支持臂内寻找,而是沿着四个臂搜索直至找到为止或者碰到边缘,同样设定找到的值为dlr和dud,则填充的规则为:如果dlr和dud都不存在,则不填充;如果仅dlr存在,则用dlr填充;如果仅dud存在,则用dud填充;如果dlr和dud存在,则使用min(dlr,dud)填充。
所述步骤(6)中左侧异常点填充法具体包括:
(71)对于视差图上的每行左侧异常点,先从视差图内部正常点往左检测最靠近左侧的异常点p,然后沿着该异常点p的右侧支持臂查看有效点的视差值的变化趋势,直至视差值变化超过某阈值THd或者颜色突变,该趋势作为左侧待填充区域的视差的变化趋势;
(72)左侧异常点填充过程:如果异常点p的右侧有效点的视差变化趋势是保持不变,则直接用异常点p右侧最近的一个有效点的视差值d0向左传播填充;如果异常点p的右侧视差变化趋势是向左逐渐增大的,那么对当前异常点p的左侧支持臂进行视差值填充时须用d0增加一个增量d+后填充,完成填充后向左跳跃到异常点p的最近左侧异常点,对该点的左侧臂填充时须继续增加一个增量d+,然后按照此方法继续向左跳跃填充,直至左侧异常点被填充完毕;如果异常点p的右侧视差变化趋势是向左逐渐减小的,那么当前异常点p的左侧支持臂视差值被填充的时候须用d0减去一个减量d-后填充,然后跳跃至下一个最近的左侧的异常点,继续减去一个减量d-后填充左侧支持臂,然后按照此方法继续向左跳跃填充,直至填充至最左侧。
所述步骤(6)中的基于代价聚合函数的视差图滤波法具体包括:
先将视差图生成相应的新的匹配代价,然后进行匹配代价聚合,聚合后再计算出新的视差图;步骤如下:假设聚合后的视差图为DLnew,则新的匹配代价为:Cnew(x,y,d)=min(μdmax,|d-DLnew(x,y)|),其中u是一个阈值,使用步骤(4)的聚合函数进行聚合,然后使用“胜者为王”的方法计算出新视差,最后增加一个3*3的中值滤波器将视差再次平滑处理。
有益效果
由于采用了上述的技术方案,本发明与现有技术相比,具有以下的优点和积极效果:本发明从获取的图像中提取了一定的强化信息,这些信息用于引导整个匹配计算过程,提高匹配精度,同时本发明还提出了一种新的复合梯度信息模型,该模型融合了原始图片的梯度和指导图像的梯度,具有更全面的梯度信息。基于以上两个新提出的模型,本发明提出一套完整的、具有鲁棒性的立体匹配算法,包括新的复合匹配代价计算、自适应权重的指数聚合函数、视差图多步求精算法等。新提出的算法能够处理一些传统算法难以处理的问题,得到较好的匹配结果,同时计算的复杂度较低,因而本发明可以为基于双目立体视觉的测量、跟踪、导航、三维重建、三维扫描等系统提供良好的匹配结果,进一步为基于双目立体视觉的测量、跟踪、导航、三维重建、三维扫描等技术实用化提供技术支持。
附图说明
图1是本发明的流程图;
图2是本发明的复合梯度效果图,其中,图2A和图2B分别是原始图片x方向和y方向的梯度图;图2C和图2D分别是指导图x方向和y方向的梯度图;
图3是本发明使用复合匹配代价测量算子带来的效果改善示意图,其中,图3A为原始Tsukuba图片,图3B为真实视差图,图3C为采用图像颜色信息作为匹配代价度量算子计算出来的视差图,图3D为采用轻量的census变换作为匹配代价度量算子计算出来的视差图,图3E为采用复合梯度信息作为匹配代价度量算子计算出来的视差图,图3F为采用复合匹配代价算子,融合图像颜色信息、复合梯度信息、轻量级的census变换作为匹配代价度量算子计算出来的视差图;
图4是本发明的指数步骤聚合过程图示意图;
图5是本发明的像素点有效支持区域示意图;
图6是本发明的多步求精的误差改善过程效果图;
图7是本发明在Middlebury标准测试平台上的测试后效果图;
图8是本发明在Middlebury测试平台上30个数据集部分测试效果图;
图9是本发明在KITTI测试平台上的测试结果图。
具体实施方式
下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。
本发明的实施方式涉及一种基于图像指导的立体匹配方法,如图1所示,主要包括以下步骤:
步骤一,计算指导图像:在获得矫正好的立体匹配图像对之后,首先进行指导图计算。本方法中的指导图使用在立体匹配算法的相关步骤中(复合梯度计算、匹配代价计算、匹配代价聚合和视差图求精优化),为相关的步骤计算提供输入图片的强化信息(如更清晰的边缘信息、更平滑的区域等),引导算法后续相关步骤计算。指导图采用的是新提出来的模板滤波器对输入图片进行滤波得到,该滤波器考虑到了图像的颜色信息和空间距离信息。输入图片经过滤波之后,可以达到强化图片中的大边缘、滤除小边缘和小区域、平滑大块的区域、消除噪声等;
步骤二,计算复合梯度:采用逐通道计算的方法,对输入的立体匹配图片分别计算每个通道的x和y方向的梯度,同理对指导图像也计算相应的x和y通道的梯度信息,然后将两个图片计算得到的梯度信息逐通道加权融合形成一个新的多通道复合梯度。该复合通道的梯度具有原始图片的局部细节信息,也有指导图像的全局重要的骨干信息,从而使得梯度信息更加的全面,具备更好的鲁棒性;
步骤三,计算复合匹配代价:本方法中采用了复合匹配代价算法,主要考虑梯度、颜色和局部块信息,因为梯度信息对于光照等变化不敏感同时又富含结构信息,图像色彩信息可以在一定程度上降低局部重复纹理带来的影响,而census非参数变换包含了局部的编码信息因而具有局部鲁棒性,所以复合的匹配代价计算主要包含了上文的复合梯度信息、初始图像的色彩信息和轻量级的census变换三种算子。其中复合梯度信息和图像的色彩信息度量采用的是简单的绝对误差计算方法,轻量级的census变换度量则将计算窗口选的很小,这样即可以保证鲁棒性,又降低计算量。这种组合式的匹配代价计算算子吸收了每种算子的优点,同时相互制约了缺点,因而比单独的算子更具有广泛适用性;
步骤四,匹配代价的聚合:匹配代价聚合采用的是水平和垂直方向分步迭代聚合,属于一维空间的聚合,降低了计算复杂度;聚合权重采用自适应的权重计算方法,考虑颜色和空间信息,自适应变化;聚合步长采取指数跳级跃步长,步长可以为N=3^(i-1),其中i为迭代次数;迭代过程中,两端聚合点的匹配代价采用加权求平均的方式聚合,然后与中心点的匹配代价融合。该方法的聚合区域可以很大,但是计算复杂度比传统方法小很多。
步骤五,视差计算:视差计算采用“胜者为王”(winner-take-all)的视差计算方法计算视差;
步骤六,视差求精:先采用左右一致性检测方法检测出异常点,然后根据其所处的空间位置对异常点进行分类,分成左侧异常点和内部异常点;采用动态自适应颜色和空间阈值对异常点进行支持区域计算,支持区域包括水平和垂直方向的四个支持臂,仅计算异常点的支持区域,所以计算量小;最后在此支持区域基础上提出了一套多步纠正异常点的方法,包括四方向信息收集填充法(主要用来填充内部异常点)、左侧异常点填充法以及基于代价聚合函数的视差图滤波法,用来进一步消除填充带来的误差,平滑视差图。具体如下:
1)计算指导图像:
a)假定输入的图片为I,指导图设定的计算窗为M,半径为RGM,,颜色权重阈值为δc,空间距离权重为δd,对于图像I中的每一点,滤波过程和其他滤波器一样,主要是计算在窗口M内的各个点的加权平均,计算结果作为当前窗口中心点滤波结果;
b)假定窗M中心像素为p(i,j),如果为彩色图像,则颜色值为<pr,pg,pb>,如果为灰度图像,则只有一个通道值p_gray,窗M内的一个邻居点为q(k,l),如果为彩色图像,则颜色值为<qr,qg,qb>,如果为灰度图像,则只有一个通道值q_gray,则两个像素之间的颜色欧几里得(Euclidian)距离为Δcpq和距离欧几里得(Euclidian)距离Δgpq(其他颜色空间类似计算):
然后采用指数计算该点与中心点之间的权重:
窗M内的点都按照此方法计算权重,最后将窗M内所有点的权重乘以该点的颜色值再进行加权平均,得到当前窗口的中心点滤波后的结果。我们可以通过调节颜色权重阈值为δc和空间距离权重为δd从而调整滤波的效果。这两个阈值设置的过大,会造成图像滤波效果过于严重,如果阈值过小,则滤波效果不明显,所以需要根据实际实验情况选取合理的阈值;
c)按照以上的步骤,计算每一个像素点滤波后的值,从而得到滤波后的图像,即指导图像G;
d)在后续算法体系中,指导图像用在了构建复合梯度模型,从而构造复合匹配代价计算;用在了作为匹配代价聚合过程的指导图像,提供聚合过程的自适应权重,最后还用在了视差图多步求精过程中。
2)计算复合梯度信息:
a)图像梯度计算定义为:
b)计算输入图片I的每个颜色通道的x和y方向的梯度,即求x和y方向的偏微分dx和dy。如果是彩色三通道图片则为和如果是灰度图则为和其他颜色空间类似计算;
c)计算指导图G的每个颜色通道的x和y方向的梯度,即求x和y方向的偏微分dx和dy。如果是彩色三通道图片则为和 如果是灰度图则为和其他颜色空间类似计算;
d)计算加权复合梯度图,将分别计算得到的图片I和图片G的偏微分按照方向进行加权融合成一个多通道复合梯度,其中彩色空间的表示如下所示:
如果是灰度空间的,则表达式为其中w1和w2是权重,GAx表示x方向的梯度融合,GAy表示y方向的梯度融合。其他颜色空间的计算类似。
e)GAx和GAy是分别得到的两个新的复合梯度,可分别用在本方案中。其中权重w1和w2会控制该复合梯度的整体效果。w1主要控制的是图片I的梯度,该梯度富含较多的局部梯度信息和细节;w2主要控制的是指导图G的梯度,该梯度富含较多的全局梯度信息,所以需要根据实验需求合理控制这两个参数。另外也可以根据实验需要,选择其他多通道图片进行计算,计算方法与上文类似。图2所示的是采用复合梯度计算彩色Teddy图片得到的不同通道的梯度效果图。图2A和2B是原始图片的梯度图,图2C和2D是指导图的梯度图,其中图2A和2C是x方向梯度图,图2B和2D是y方向的梯度图。
3)计算复合匹配代价:
匹配代价是对两幅图像上的匹配点对之间的相似性程度的度量,本方案采用复合代价进行度量,度量算子采用了输入图片的颜色信息,新提出来的复合梯度信息以及本算法中提出来的轻量级census变换法。假设左图像素点位置为p(x,y),则在右图像上偏移量为d的像素点位置为q(x-d,y),该水平方向的偏移量d即视差,范围为dmin~dmax。匹配代价需要计算每个像素点在视差范围dmin~dmax内相似性,主要包括以下几个步骤:
a)基于图片的颜色信息的相似性度量是采用计算像素p和q之间的颜色绝对差进行度量,如果是多通道的图像,则计算各个通道的颜色绝对差的平均值。按照此方法,以彩色图像为例,对图片I内像素点每点计算在视差范围的颜色相似性得到颜色相似性的度量CADc如公式6所示,其他像素点同样计算三维匹配代价空间:
b)同理,采用复合梯度进行相似性度量的时候,则计算的是像素p和q之间的复合梯度向量的绝对差求和,然后根据图像的颜色空间通道数ch求平均值。按照此方法,对图片I内像素点每点计算在视差范围内的x和y方向复合梯度相似性得到梯度相似性度量CADgx和CADgy:
c)本方案还使用轻量级的census变换法计算像素p和q之间的相似性,相比于传统算法的9*7或者7*7或者35*35的大计算窗win,本方案采用更小的计算窗口来实现,比如5*7,相比于传统算法,降低了计算量。Census变换法采用的是先将窗win内的每点像素值与中心像素对比,比中心像素高的置为1,其他置为0,即二进制表示B(p,a),再对win窗内的二进制B(p,a)进行串接编码形成cen(p),然后将左图像像素p和右图像像素q窗口win内的像素按照同样的方法分别求取cen(p)和cen(q),最后对它们求取异或计算,统计异或运算后的1的个数用来度量像素p和q的相似性。该算法计算的像素p和q局部区域内的结构信息的相似性,具有较好的鲁棒性。按照此方法,对图片I内像素点每点计算在视差范围内的census变换得到census变换度量Ccen:
d)本发明的复合匹配代价综合了以上三个度量算子,将它们组合成了一个新的三维匹配代价空间C(x,y,d)如式11所示:
C=(c1*min(CADc,Th1)+c2*min(CADgx,Th2)+c3*min(CADgy,Th3)+c4*min(Ccen,Th4))/csum,(11)其中min(a,b)是一个求取a和b中最小值的函数,Th1,Th2,Th3,Th4是截断阈值,防止某个算子过度影响最后结果,c1,c2,c3,c4为各个度量算子的权重,每个权重的范围都一样,都是[0,1]范围,但是不能同时为0,csum=(c1+c2+c3+c4)是对权重的求和,用于归一化匹配代价。图3给出了复合匹配代价测量算子的效果改善示意图,图3A是原始Tsukuba图片,图3B是真实视差图,图3C是仅采用图像颜色信息作为匹配代价度量算子计算出来的视差图,图3D:采用轻量的census变换作为匹配代价度量算子计算出来的视差图,图3E:采用复合梯度信息作为匹配代价度量算子计算出来的视差图,图3F:采用复合匹配代价算子,融合图像颜色信息、复合梯度信息、轻量级的census变换作为匹配代价度量算子计算出来的视差图。其中从黄色边框中可以看到复合匹配代价度量算子带来的改善。
4)匹配代价聚合:
本步骤主要对上文计算得到的匹配代价C进行聚合,从而消除噪声,提高匹配代价的鲁棒性,使得匹配的结果更加准确,本方法采用的匹配代价聚合方法主要包括以下几个步骤:
a)聚合结构:本算法采用水平方向和垂直方向分开迭代聚合,可以先水平方向聚合再垂直方向聚合,或者先垂直方向聚合再水平方向聚合,采用迭代的方式进行,而不是像传统方法那样直接进行二维空间的聚合。水平方向的聚合结构图如图4所示。
b)每次聚合涉及的像素:在选定的方向上聚合时(逐行或者逐列聚合),每次对当前像素点p(x,y)在视差d上聚合C(x,y,d)时只涉及3个像素点的匹配代价,包括中心像素点的C(x,y,d)以及两端的2个像素点的(C(x-N,y,d)和C(x+N,y,d),N是间隔步长),按照指数变化,比如N=3^(i-1),其中i为迭代的次数,N按照指数变化;
c)每次聚合的聚合权重:聚合权重考虑的是端点与中心像素点之间的权重,本方法选择的是自适应权重,主要考虑颜色相似性和空间距离,类似于指导图权重的计算,其中中心点与端点之间的颜色欧几里得(Euclidian)距离Δcpq和距离欧几里得(Euclidian)距离Δgpq可以按照公式(1)和(2)进行计算,关键点在于采用指导图像为参考图进行计算。则得到权重采用指数计算表达式如式(12)所示,p(x,y)为当前聚合点,q表示两个端点q1(x-N,y)和q2(x+N,y):
w(p,q)=exp(-Δcpq/λc-Δgpq/λd) (12)
其中颜色权重阈值为λc,空间距离权重为λd;
d)聚合迭代过程:按照前面的介绍,聚合匹配代价一次迭代过程如下所示:
Cagg(x,y,d)=C(x,y,d)+(w(p,q1)C(x-N,y,d)+w(p,q2)C(x+N,y,d))/s (13)
其中s是一个平均算子。每个像素在视差范围[dmin,dmax]内都按照以上的方式进行迭代。每次迭代都使用上一次迭代的结果进行迭代计算。迭代可以先水平逐行迭代聚合整个匹配代价空间,再垂直逐列迭代聚合整个匹配代价空间,也可以反过来先进行逐列迭代聚合整个匹配代价空间,再逐行聚合整个匹配代价空间。迭代的次数可以根据需要进行控制增删。图4所示的是本聚合函数的聚合过程示意图,图中示意了三步聚合的计算过程。
e)相比于传统的算法,该算法首先将两维空间的聚合降低到了一维的计算,计算复杂度大大降低;另外还采用了指数步骤进行计算,聚合的支持区域可以大,但是计算复杂度很低,聚合N个点的计算复杂度仅为O(logN);最后由于聚类算法采用了指导图像作为指导,而且计算的权重是自适应的,采用平均算子s,所以聚合效果比较好。
5)视差值计算
视差计算采用“胜者为王”(winner-take-all)的方法进行计算。对前文得到的聚合匹配代价结果Cagg(x,y,d)进行计算得到结果,如(14)式所示:
即针对每个像素,在其聚合代价空间Cagg(x,y,d)(d范围dmin~dmax)中选择值最小的匹配代价所对应的系数d作为当前点的视差D(x,y)。所有点都按照这个方法计算视差,可以得到左图像的视差图DL和右图像的视差图DR。
6)视差值求精
按照上文求取的视差误差比较多,比如噪声带来的,误匹配带来的等等,所以本方案还提出了一套异常点纠正的方法,主要包括如下几个步骤:
a)异常点确认
本方案采用广泛使用的左右一致性检测的方法对异常点进行检测,依据的原理是,匹配点像素点应该是同时在左右图中出现的,所以按照这个思想,在左视差图上的p点,其匹配点q在右视差图上的视差应该与左视差图上p点的视差一致,如果不一致,那么则是误匹配点。假设左视差图为DL,右视差图为DR,那么按照以上规则,匹配点应该满足
DL(x,y)=DR(x-max(DL(x,y),0),y), (15)
其中max(DL(x,y),0)表示选择值不小于0的数值,否则就是误匹配点,标记出来;
b)异常点分类
本发明根据误匹配所处的位置将异常点分成了三类:左侧异常点、内部异常点和右侧异常点。由于左侧异常点是由于右图像左侧部分信息缺失造成的,所以单独标记为左侧点,而内部异常点和右侧异常点都是误匹配或者闭塞原因造成的,所以单独标记成一类,记为内部异常点。后文将针对这两类异常点分别提出相应的纠正方法进行纠正。
c)异常点纠正
1.异常点支持区域计算
本步骤主要计算每个异常点的支持区域(本算法中只计算异常点的支持区域,且只计算四个支持臂用于纠正异常点,而传统方法要计算所有点的支持区域,且每个点的支持区域更大,主要用于匹配代价的聚合),采用的是动态自适应延伸法来确定。每个异常点主要包括水平和垂直两个方向的共4只支持臂如图5所示,这些支持臂构成了异常点的有效支持区域。计算方法为:每个异常点p向四个方向臂进行延伸,假设某延伸点为q,如果同时满足空间距离Lmax限制和自适应颜色阈值THc限制,则继续延伸,否则终止延伸。假设最大延伸距离为Lmax,最大颜色差异THmax。本方法采用自适应颜色阈值THc,该阈值随着延伸长度Lpq的变化为:
THc=THmax(Lmax-Lpq)/Lmax. (16)
当外延伸点q与中心点p的距离Lpq小于Lmax且颜色欧几里得(Euclidian)距离Δcpq小于THc,则继续向外延伸,否则中断延伸,当前延伸区域即支持区域,其他的支持臂可以同样获得。如图5所示的是像素点p的有效支持区域示意图,包含了水平和垂直两个方向的四个支持臂。
2.四向填充法填充内部异常点
该方法采用提取有效的邻居点视差值来填充当前异常点,传统的方法直接提取水平方向的两侧有效点来填充,而本方法分两步来分别提取四个方向的信息来填充,信息更加的充分。本发明提出的方法主要分成两步走,分别用来填充普通异常点和孤立异常点:
a)第一步:沿着每个异常点p的四只支持臂寻找最近的有效点,假设水平方向两个有效点为dl,dr,dlr定义为min(dl,dr),垂直方向两个有效点为du,dd,dud定义为min(du,dd),那么填充当前异常点的规则为:如果dlr和dud都不存在,则不填充,继续到下一次迭代填充;如果只有dlr存在,则使用dlr填充;如果只有dud存在,则使用dud填充;如果dlr和dud都存在,且两者差不超过2,那么使用(dlr+dud)/2填充;否则继续至下一次迭代,如公式(17)所示:
本步骤可以迭代两次至普通离散异常点被充分填充;
b)第二步:上一步可能会存在一些孤立点,从而一直无法填充。这里更改寻找规则,寻找异常点p的有效点邻居点不限制只在支持区域的四个臂内寻找,可以突破限制,继续沿着支持臂向外界延伸寻找,直至找到为止或者碰到边缘,同样设定找到的值为dlr和dud,则填充的规则为:如果dlr和dud都不存在,则不填充;如果仅dlr存在,则用dlr填充;如果仅dud存在,则用dud填充;如果dlr和dud存在,则使用min(dlr,dud)填充,如公式(18)所示:
该步骤迭代2次,直至异常点被充分填充。至此,内部异常点被纠正填充完毕。
3.左侧填充法填充左侧异常点
左侧异常点是由于原始的右侧图像拍摄过程中左侧部分信息丢失所致。对于该部分视差图的纠正,在传统方法中是靠提取右侧有效点并向左侧传播进行填充纠正。对于被拍摄物体和拍摄相机光轴线平行的情况,这样是适用的,因为相同水平线上局部区域视差基本一致,但是在实际情况中可能会存在被拍摄的物体是倾斜的情况,所以这样直接传播延伸填充就不那么准确了,本文提出的根据视差变化趋势进行填充的方法可以弥补这个不足,具体实现如下:
先从内部正常点往左检测最靠近左侧的异常点p,然后沿着异常点p的右侧支持臂查看视差值的变化情况(直至视差值变化超过某阈值THd或者颜色突变),确定视差的变化趋势:保持不变、逐渐增大、逐渐减小,我们把该变化趋势当作左侧待填充区域的视差变化趋势;
根据上一步检测出来的变化趋势向左延伸填充每行左侧异常点:如果异常点p的右侧的有效视差值变化趋势保持不变,则采取和传统方法一样的方法,直接用右侧有效点的视差值d0向左传播填充;如果异常点p的右侧有效视差值变化趋势是向左逐渐增大的,那么对当前异常点p的左侧支持臂填充时须用d0增加一个增量d+后填充,完成填充后向左跳跃到异常点p的最近左侧异常点,对该点的左侧臂填充时须继续增加一个增量d+,然后按照此方法继续向左跳跃填充,直至左侧异常点被填充完毕;如果异常点p的右侧视差变化趋势是向左逐渐减小的,那么当前异常点p的左侧支撑臂视差值被填充的时候须用d0减去一个减量d-后填充,然后跳跃至下一个最近的左侧的异常点,继续减去一个减量d-后填充左侧支撑臂,然后按照此方法继续向左跳跃填充,直至填充至最左侧。
使用以上的方法,迭代两次,直至每个异常点向左填充至最左侧点。
4.指数步骤滤波器修正整个视差图
以上方法修正了内部异常点和左侧异常点,但是直接修复会带来一些噪声或者是小区域内的起伏,所以这里再增加一个滤波器,用来对视差图进行滤波,提升视差图平滑性能和边缘性能。这里的滤波器选择的是聚合匹配代价中的聚合函数进行滤波,采用的是先将视差图生成相应的新的匹配代价,然后进行匹配代价聚合,再计算出新的视差图。假设聚合后的视差图为DLnew,则新的匹配代价为:
Cnew(x,y,d)=min(μdmax,|d-DLnew(x,y)|), (19)
其中u是一个阈值,用来控制匹配代价的值不要过大,同样使用上文提到的聚合函数(12)进行聚合,然后使用“胜者为王”(winner-take-all)的方法(13)计算出新视差,该新视差即是本方法得到的视差,最后还可以增加一个3*3的中值滤波进行再次平滑处理。
如图6所示的是各个求精算子作用在初始视差图上之后三个测量区域的平均测量误差的变化,包含在all、disc、nonocc三个区域的平均误差变化情况。
客观实验效果分析:
a)本算法已经在Matlab2012以及VS2010上实现验证,附图以及表1、表2、表3所示的计算结果就是在Matlab2012上使用相同参数计算出来的结果,其他场景可以根据需求对算法参数和计算步骤进行调节。
b)Middlebury测试平台(网址为:http://vision.middlebury.edu/stereo)的4组图片的客观实验结果和评价如表1所示,相应的测量结果图片如图7所示。表1中的各个数据是在相应的区域内的百分比误差,误差限设定为1个像素误差,其中右下角的数据是在相应区域内的排名。从表中可以看到,本发明算法的综合排名第一,且计算精度很高,平均误差低至3.79%。表格中与最新的性能最好的五个算法进行了对比,包括LCU[1]、TSGO[2]、JSOSP+GCP[3]、ADCensus[4]以及AdaptingBP[5],具体的算法列在表1后面。这几个算法分别采用了不同的匹配方法达到的效果,有全局算法,也有局部算法。我们的发明算法和这些最新的优秀算法比起来综合性能更好。
另外如图7所示的计算视差图结果对比可以看到,从上到下四组图片集分别为:Teddy、Cones、Venus、Tsukuba。第一列是四组测试的图片的左图,第二列:左图对应的真实视差图,第三列:我们算法计算得到的左图视差图,第四列:计算视差图和真实视差图相比的误差,其中白色区域是正确匹配的区域,灰色和黑色区域分别代表遮挡区域和无遮挡区域的误匹配点。
表1. Middlebury测试平台标准图片客观测量结果
表中的各个参考算法为:
[1].the anonymous paper“Using local cues to improve dense stereomatching,”which was submitted to CVPR 2015.
[2].M.Mozerov and J.van Weijer,“Accurate stereo matching by two stepglobal optimization”,which was proposed and submitted to IEEE Trans.ImageProcess.in 2014
[3]J.Liu,C.Li,F.Mei,and Z.Wang,“3d entity-based stereo matching withground control points and joint second-order smoothness prior,”Vis.Comput.,pp.1–17,2014.
[4]X.Mei,X.Sun,M.Zhou,H.Wang,X.Zhang et al.,“On building an accuratestereo matching system on graphics hardware,”in Proc.Workshop GPUsComput.Vis.IEEE,Nov 2011,pp.467–474.
[5]A.Klaus,M.Sormann,and K.Karner,“Segment-based stereo matchingusing belief propagation and a self-adapting dissimilarity measure,”inProc.18th IEEE Conf.ICPR 2006,vol.3.IEEE,2006,pp.15–18.
c)本算法在Middlebury测试平台上30个数据集的测试结果和部分效果图
为了验证本算法的有效性,本发明的方法还测试了其他的Middlebury的数据集,总共测试了30个数据集,测试误差的阈值为1个像素,表中的各个数据是在非闭塞区域内的误差百分比数据,具体数据如表2所示,其中的两个图集的测试效果和对比如图8所示。
表2. Middlebury测试平台上30个数据集在非闭塞区域的测量结果
本表格中的几个算法如下所示:
[1].X.Mei,X.Sun,W.Dong,H.Wang,and X.Zhang,“Segment-tree based costaggregation for stereo matching,”in Proc.IEEE Conf.CVPR 2013.IEEE,2013,pp.313–320.[code]Available:
http://www.cs.albany.edu/~xmei/resource/page/segment-tree.html
[2].K.Zhang,Y.Fang,D.Min,L.Sun,S.Yang,S.Yan,and Q.Tian,“Cross-scalecost aggregation for stereo matching,”in Proc.IEEE Conf.CVPR 2014.IEEE,June2014,pp.1590–1597.[codes]
https://github.com/rookiepig/CrossScaleStereo#cross-scalecost-aggregation-for-stereo-matching-cv pr-2014.
[3].B.Ham,D.Min,C.Oh,M.Do,and K.Sohn,“Probability-based rendering forview synthesis,”IEEE Trans.Image Process.,vol.23,no.2,pp.870–884,Feb 2014.[code].Available:
http://www.di.ens.fr/~bham/pbr/index.html
[4].C.Rhemann,A.Hosni,M.Bleyer,C.Rother,and M.Gelautz,“Fast cost-volume filtering for visual correspondence and beyond,”in Proc.IEEEConf.CVPR2011.IEEE,2011,pp.3017–3024.[code]Available:https://www.ims.tuwien.ac.at/publications/tuw-202088
表中的这四个对比算法采用的是以上四篇文章提供的算法以及推荐的参数所得到的结果,这四篇文章所介绍的算法是近三年比较新的算法。几种算法对比,本发明的算法综合性能比较好,平均的匹配误差相对于其他四个算法最低,低至4.99%,说明本算法具有很好的鲁棒性。
图8所示的是其中两个图集的测试效果示意图,第一行是Baby3的测试效果图,第二行是Cloth3的测试效果图;图a对应于左图原图,图b对应于本发明算法计算的效果图,图c对应于CostFilter算法计算的效果图,图d对应于SSMP算法计算的效果图,图e对应于SegmentTree算法计算的效果图,图f对应于CrossScale算法计算的效果图。其中图片中暗灰色斑点所示的是误匹配部分。
d)本算法的在KITTI测试平台上的测试结果图
为了验证本发明算法的鲁棒性,还特别采用室外真实场景的KITTI数据集(网址为:http://www.cvlibs.net/datasets/kitti/)进行验证,如图9所示的是6组图片集上的测试效果图。图a显示的是6组原始图片,编号为#000008,#000009,#000017,#000023,#000024,#000050的原始左图,图b:第一列:对应于左图的真实视差图,第二列对应于本发明算法计算的视差图,第三列:CostFilter算法计算的视差图,第三列:SSMP算法计算的视差图,第四列:SegmentTree算法计算的视差图,第五列:CrossScale算法计算的视差图。由于在室外的环境,所以测试图片中存在大块的弱纹理区,比如天空和接到地面,但是我们的算法对这些区块进行了很好的还原,计算得到的视差比较平滑,不存在大块的黑色误匹配区块,说明算法具备很好的鲁棒性,也具有很好的适用性,可以适应多种场合场景。
e)本算法采用不同的滤波器得到的指导图计算出来的测试结果对比
表3中采用了不同的滤波对初始输入图片进行了滤波获得相应的指导图,然后将这些指导图代入了本发明的算法体系中验证算法系统的适应性。从表中可以看到,使用指导图的系统比没有使用指导图的系统性能要提升很多,并且各个使用滤波器获得的指导图像计算的结果都较好,说明了本发明体系可以比较友好的使用其他滤波器获得指导图进行计算,这样可以根据需求选取合适的指导图像用来进行指导计算。
表3. 不同滤波器获得的指导图(GM)用于计算的结果
表中的几个文献为:
[1].原始输入图片当做指导图像GM
[2].普通的中值滤波器的计算结果作为指导图像GM
[3].K.He,J.Sun,and X.Tang,“Guided image filtering,”inProc.Int.Eur.Conf.Comput.Vis.2010.Springer,2010,pp.1–14.[Online].Available:
http://research.microsoft.com/en-us/um/people/kahe/eccv10/index.html
[4].Z.Ma,K.He,Y.Wei,J.Sun,and E.Wu,“Constant time weighted medianfiltering for stereo matching and beyond,”in Proc.IEEE Conf.ICCV 2013.IEEE,2013,pp.49–56,code:
http://research.microsoft.com/enus/um/people/kahe/.
[5].E.S.Gastal and M.M.Oliveira,“Domain transform for edge-awareimage and video processing,”in ACM Trans.Graph.,vol.30,no.4.ACM,2011,p.69.[Online].Available:http:
//inf.ufrgs.br/~eslgastal/DomainTransform/
[6].Z.Farbman,R.Fattal,D.Lischinski,and R.Szeliski,“Edge-preservingdecompositions for multi-scale tone and detail manipulation,”in ACMTrans.Graph.,vol.27,no.3.ACM,2008,p.67.[Online].Available:http://www.cs.huji.ac.il/~danix/epd/
不难发现,本发明采用的方法计算精度很高,在国际测试平台Middlebury测试平台中(网址:http://vision.middlebury.edu/stereo,该平台是学术界公认的测试平台,主要包含了4组标准的彩色测试图片:Tsukuba、venus、Teddy、Cones以及相应的视差图),采用4幅标准图像进行测试对比误差,主要统计all region(简称all)、discontinuity region(简称disc)、non-occlusion(简称nonocc)三个区域内的误差变化情况来度量算法的性能。本发明算法计算出来的视差图平均精度在提交的158个算法中排名第一,误差低至3.79%;另外还采用了其他26个Middlebury数据图集(加上之前的4个数据图集,共30个)进行测试,测试结果数据如表2所示,部分测试结果如图8所示,从测试结果可以看到本算法的性能稳定;
本发明应对不同的算法库时,算法的适应性很好,同样的算法在KITTI测试平台中(网址:http://www.cvlibs.net/datasets/kitti/,该平台的数据库是在真实环境中拍摄的街道画面数据),计算得到的视差图整体效果很好,如图9所示的其中6张测试图片的测试结果,从测试的结果可以看到本发明的算法可以很好的处理大块弱纹理区,计算得到的视差图也很平滑,说明本算法在真实环境中具备应用价值;
本发明在图像的大块弱纹理区、边缘不连续区域、非闭塞区域的处理效果都很好,相比于传统方法,这两个地方都有改善,比如在图7所示的Middlebury四个测试图中,边缘不连续区域都得到了很好的保持,非闭塞区域得到了填充还原;在图9所示的KITTI的实际环境计算视差图中,背景中的大块弱纹理区以及街道的路面都得到了比较好的还原,而且很平滑。
本发明提出的复合式的匹配代价计算方法,相比于传统的方法,由于采用了轻量级的census变换,所以计算量有很大的下降;提出的多步求精的算法,想比于传统的算法,由于采用了先将异常点分类,然后采取相应的矫正算法,所以对异常点的矫正的效果更好,如图6所示,可以看到视差图的性能逐步得到了改善,平均的误差百分比在下降。本发明中的指导图可以根据需要更换别的滤波器来获取相应的指导图像,并用于系统中,系统的整体效果仍然较好。这说明本系统对不同的指导图像具有适应性,可以根据需要采取不同的指导图像进行应用。如表3所示是采取不同的滤波器得到不同的指导图用于本系统中的效果,可以看到性能都较好。
Claims (5)
1.一种基于指导图像引导的高精度立体匹配方法,其特征在于,包括以下步骤:
(1)计算指导图像:在获得矫正好的立体匹配图像对之后,进行指导图像计算;
(2)计算复合梯度:采用逐通道计算的方法,对输入的立体匹配图像分别计算每个通道的x方向和y方向的梯度,并对指导图像也计算相应的x方向和y方向的梯度信息,然后将指导图像和立体匹配图像计算得到的梯度信息逐通道加权融合形成一个新的多通道复合梯度;
(3)计算复合匹配代价:匹配代价是对两幅图像上的匹配点对之间的相似性程度的度量,其中,度量算子采用了输入图像的颜色信息,多通道复合梯度信息以及轻量级Census变换法;
(4)匹配代价的聚合:采用的是水平和垂直方向分步迭代聚合,聚合权重采用自适应的权重计算方法,考虑颜色和空间信息,自适应变化;聚合步长按照指数化跳跃;迭代过程中,两端聚合点的匹配代价采用加权求平均的方式聚合,然后与中心像素点的匹配代价融合;
(5)视差计算:视差计算采用“胜者为王”的视差计算方法计算视差;
(6)视差求精:先采用左右一致性检测方法检测出异常点,然后根据其所处的空间位置对异常点进行分类,分成左侧异常点和内部异常点;采用动态自适应颜色和空间阈值对异常点进行支持区域计算,支持区域包括水平和垂直方向的四个支持臂;最后在支持区域基础上进行多步纠正异常点的方法,包括四方向信息收集填充法、左侧异常点填充法以及基于代价聚合函数的视差图滤波法;其中,四方向信息收集填充法填充内部异常点具体包括两个步骤:(61)在每个异常点p的四只支持臂内寻找最近的有效点,假设水平方向两个有效点为dl和dr,dlr定义为min(dl,dr),垂直方向两个有效点为du和dd,dud定义为min(du,dd),那么填充当前异常点的规则为:如果dlr和dud都不存在,则不填充,继续到下一次迭代填充;如果只有dlr存在,则使用dlr填充;如果只有dud存在,则使用dud填充;如果dlr和dud都存在,且两者差不超过2,那么使用(dlr+dud)/2填充;否则继续至下一次迭代;(62)完成步骤(61)的迭代之后填充剩下异常点的方法为,首先寻找异常点p的有效邻居点不限制只在四个支持臂内寻找,而是沿着四个支持臂搜索直至找到为止或者碰到边缘;同样设定找到的值为dlr和dud,则填充的规则为:如果dlr和dud都不存在,则不填充;如果仅dlr存在,则用dlr填充;如果仅dud存在,则用dud填充;如果dlr和dud存在,则使用min(dlr,dud)填充;左侧异常点填充法具体包括:(71)对于视差图上的每行左侧异常点,先从视差图内部正常点往左检测最靠近左侧的异常点p,然后沿着该异常点p的右侧支持臂查看有效点的视差值的变化趋势,直至视差值变化超过某阈值THd或者颜色突变,该趋势作为左侧待填充区域的视差的变化趋势;(72)左侧异常点填充过程:如果异常点p的右侧有效点的视差变化趋势是保持不变,则直接用异常点p右侧最近的一个有效点的视差值d0向左传播填充;如果异常点p的右侧视差变化趋势是向左逐渐增大的,那么对当前异常点p的左侧支持臂进行视差值填充时须用d0增加一个增量d+后填充,完成填充后向左跳跃到异常点p的最近左侧异常点,对该点的左侧臂填充时须继续增加一个增量d+,然后按照此方法继续向左跳跃填充,直至左侧异常点被填充完毕;如果异常点p的右侧视差变化趋势是向左逐渐减小的,那么当前异常点p的左侧支持臂视差值被填充的时候须用d0减去一个减量d-后填充,然后跳跃至下一个最近的左侧的异常点,继续减去一个减量d-后填充左侧支持臂,然后按照此方法继续向左跳跃填充,直至填充至最左侧;基于代价聚合函数的视差图滤波法具体包括:先将视差图生成相应的新的匹配代价,然后进行匹配代价聚合,聚合后再计算出新的视差图;步骤如下:假设聚合后的视差图为DLnew,则新的匹配代价为:Cnew(x,y,d)=min(μdmax,|d-DLnew(x,y)|),其中u是一个阈值,使用步骤(4)的聚合函数进行聚合,然后使用“胜者为王”的方法计算出新视差,最后增加一个3*3的中值滤波器将视差再次平滑处理。
2.根据权利要求1所述的基于指导图像引导的高精度立体匹配方法,其特征在于,所述步骤(1)具体包括以下子步骤:
(11)假定输入的图像I,指导图像设定的计算窗为M,半径为RGM,颜色权重阈值为δc,空间距离权重为δd,对于图像I中的每一点进行滤波,并计算在窗口M内的各个点的加权平均,计算结果作为当前窗口中心点滤波结果;
(12)假定窗M中心像素为p(i,j),如果为彩色图像,则颜色值为<pr,pg,pb>,如果为灰度图像,则只有一个通道值p_gray,窗M内的一个邻居点为q(k,l),如果为彩色图像,则颜色值为<qr,qg,qb>,如果为灰度图像,则只有一个通道值q_gray,则两个像素之间的颜色欧几里得距离为Δcpq和距离欧几里得距离Δgpq为: 然后采用指数计算窗M内的一个邻居点与窗M中心点之间的权重:
(13)计算每一个像素点滤波后的值,从而得到滤波后的图像,即指导图像G。
3.根据权利要求2所述的基于指导图像引导的高精度立体匹配方法,其特征在于,所述步骤(2)包括以下子步骤:
(21)图像梯度计算定义为:
(22)计算输入图像I的每个颜色通道的x方向和y方向的梯度,即求x方向和y方向的偏微分dx和dy;如果是彩色三通道图像则为和如果是灰度图则为和
(23)计算指导图像G的每个颜色通道的x和y方向的梯度,即求x和y方向的偏微分dx和dy,如果是彩色三通道图像则为和如果是灰度图则为和
(24)计算加权复合梯度图,将分别计算得到的图像I和指导图像G的偏微分按照方向进行加权融合成一个多通道复合梯度,如果是彩色空间的,则表达式为:
如果是灰度空间的,则表达式为:其中,其中w1和w2是权重,GAx表示x方向的梯度融合,GAy表示y方向的梯度融合;
(25)依据以上计算步骤计算图像I和指导图像G每一点的梯度,然后进行融合得到新的复合梯度模型。
4.根据权利要求3所述的基于指导图像引导的高精度立体匹配方法,其特征在于,所述步骤(3)中左图像素点位置为p(x,y),则在右图像上偏移量为d的像素点位置为q(x-d,y),该水平方向的偏移量d即视差,范围为dmin~dmax;匹配代价需要计算每个像素点在视差范围dmin~dmax内相似性,具体包括以下子步骤:
(31)基于图像的颜色信息的相似性度量是采用计算像素p和q之间的颜色绝对差进行度量,如果是多通道的图像,则计算各个通道的颜色绝对差的平均值;
(32)采用复合梯度进行相似性度量的时候,则计算的是像素p和q之间的复合梯度向量的绝对差求和,然后根据图像的颜色空间通道数ch求平均值;
(33)Census变换法采用的是先将计算窗win内的每点像素值与中心像素值对比,比中心像素高的置为1,其他置为0,再将win窗内的所有二进制数据进行串接得到编码cen,然后将左图像像素p和右图像像素q相应的计算窗win内的像素按照同样的方法求取cen(p)和cen(q),最后对它们求取异或计算,统计异或运算后的1的个数用来度量像素p和q的相似性;
(34)复合匹配代价综合了图像的颜色信息,多通道复合梯度信息以及轻量级Census变换法,将它们组合成了一个新的三维匹配代价空间;
(35)依据以上的计算步骤计算每一点的匹配代价,分别计算得到度量算子计算的匹配代价,然后按照三维匹配代价空间进行组合。
5.根据权利要求4所述的基于指导图像引导的高精度立体匹配方法,其特征在于,所述步骤(4)具体包括以下子步骤:
(41)聚合结构:采用水平方向和垂直方向分开迭代聚合;
(42)每次聚合涉及的像素:在选定的方向上聚合时,每次对当前像素点p(x,y)在视差d上聚合C(x,y,d)时只涉及3个像素点的匹配代价,包括中心像素点的C(x,y,d)以及两端的2个像素点的(C(x-N,y,d)和C(x+N,y,d),其中,N是间隔步长,聚合的像素间隔差N的大小按照指数化跳跃;
(43)每次聚合的聚合权重:聚合权重考虑的是端点与中心像素点之间的权重,选择的是自适应权重,考虑颜色相似性和空间距离,采用指导图像为参考图进行计算,则得到权重采用指数计算表达式w(p,q)=exp(-Δcpq/λc-Δgpq/λd),其中,其中颜色权重阈值为λc,空间距离权重为λd;
(44)聚合迭代过程:聚合匹配代价一次迭代过程如下:Cagg(x,y,d)=C(x,y,d)+(w(p,q1)C(x-N,y,d)+w(p,q2)C(x+N,y,d))/s,其中,s是一个平均算子;每个像素在视差范围[dmin,dmax]内都按照以上的方式进行迭代;每次迭代都使用上次迭代的结果进行迭代计算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510225381.8A CN104867135B (zh) | 2015-05-04 | 2015-05-04 | 一种基于指导图像引导的高精度立体匹配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510225381.8A CN104867135B (zh) | 2015-05-04 | 2015-05-04 | 一种基于指导图像引导的高精度立体匹配方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104867135A CN104867135A (zh) | 2015-08-26 |
CN104867135B true CN104867135B (zh) | 2017-08-25 |
Family
ID=53912950
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510225381.8A Active CN104867135B (zh) | 2015-05-04 | 2015-05-04 | 一种基于指导图像引导的高精度立体匹配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104867135B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105354838B (zh) * | 2015-10-20 | 2018-04-10 | 努比亚技术有限公司 | 图像中弱纹理区域的深度信息获取方法及终端 |
CN105654493B (zh) * | 2015-12-30 | 2018-11-02 | 哈尔滨工业大学 | 一种改进的光学仿射不变双目立体匹配代价与视差优化方法 |
CN105631887B (zh) * | 2016-01-18 | 2019-10-25 | 武汉理工大学 | 基于自适应支持权重匹配算法的两步视差改良方法及系统 |
CN105719290B (zh) * | 2016-01-20 | 2019-02-05 | 天津师范大学 | 一种使用时域视觉传感器的双目立体深度匹配方法 |
CN106570894B (zh) * | 2016-10-17 | 2020-04-14 | 大连理工大学 | 基于g-w距离的3d图形匹配方法 |
CN106504276B (zh) * | 2016-10-25 | 2019-02-19 | 桂林电子科技大学 | 非局部立体匹配方法 |
CN108460792B (zh) * | 2016-12-12 | 2021-09-21 | 南京理工大学 | 一种基于图像分割的高效聚焦立体匹配方法 |
CN106846290B (zh) * | 2017-01-19 | 2019-10-11 | 西安电子科技大学 | 基于抗纹理十字和权值十字的立体视差优化方法 |
CN107564045B (zh) * | 2017-07-14 | 2020-06-16 | 天津大学 | 基于梯度域引导滤波的立体匹配方法 |
CN108876841B (zh) * | 2017-07-25 | 2023-04-28 | 成都通甲优博科技有限责任公司 | 一种视差图视差求精中插值的方法及系统 |
CN107818574B (zh) * | 2017-09-21 | 2021-08-27 | 楚雄师范学院 | 基于骨架分析的鱼群三维跟踪方法 |
CN108154529B (zh) * | 2018-01-04 | 2021-11-23 | 北京大学深圳研究生院 | 一种双目图像的立体匹配方法及系统 |
CN108682026B (zh) * | 2018-03-22 | 2021-08-06 | 江大白 | 一种基于多匹配基元融合的双目视觉立体匹配方法 |
CN110060283B (zh) * | 2019-04-17 | 2020-10-30 | 武汉大学 | 一种多测度半全局密集匹配方法 |
CN110148181A (zh) * | 2019-04-25 | 2019-08-20 | 青岛康特网络科技有限公司 | 一种通用双目立体匹配方法 |
CN110443186B (zh) * | 2019-07-31 | 2022-04-15 | 深圳市道通智能航空技术股份有限公司 | 立体匹配方法、图像处理芯片及移动载具 |
CN112308897A (zh) * | 2020-10-30 | 2021-02-02 | 江苏大学 | 一种基于邻域信息约束与自适应窗口的立体匹配方法 |
CN113421210B (zh) * | 2021-07-21 | 2024-04-12 | 长春工业大学 | 一种基于双目立体视觉的表面点云重建方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102136136A (zh) * | 2011-03-17 | 2011-07-27 | 南京航空航天大学 | 基于自适应Census变换的光度不敏感立体匹配方法 |
CN103177451A (zh) * | 2013-04-17 | 2013-06-26 | 南京理工大学 | 基于图像边缘的自适应窗口和权重的立体匹配算法 |
CN103971366A (zh) * | 2014-04-18 | 2014-08-06 | 天津大学 | 一种基于双权重聚合的立体匹配方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103366354B (zh) * | 2012-03-27 | 2016-09-07 | 富士通株式会社 | 用于立体匹配的方法和系统 |
-
2015
- 2015-05-04 CN CN201510225381.8A patent/CN104867135B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102136136A (zh) * | 2011-03-17 | 2011-07-27 | 南京航空航天大学 | 基于自适应Census变换的光度不敏感立体匹配方法 |
CN103177451A (zh) * | 2013-04-17 | 2013-06-26 | 南京理工大学 | 基于图像边缘的自适应窗口和权重的立体匹配算法 |
CN103971366A (zh) * | 2014-04-18 | 2014-08-06 | 天津大学 | 一种基于双权重聚合的立体匹配方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104867135A (zh) | 2015-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104867135B (zh) | 一种基于指导图像引导的高精度立体匹配方法 | |
Hartmann et al. | Learned multi-patch similarity | |
Zhan et al. | Accurate image-guided stereo matching with efficient matching cost and disparity refinement | |
CN105654492B (zh) | 基于消费级摄像头的鲁棒实时三维重建方法 | |
CN108537871B (zh) | 信息处理设备和信息处理方法 | |
CN110310320B (zh) | 一种双目视觉匹配代价聚合优化方法 | |
CN114782691B (zh) | 基于深度学习的机器人目标识别与运动检测方法、存储介质及设备 | |
Wu et al. | Stereo matching with fusing adaptive support weights | |
Nalpantidis et al. | Biologically and psychophysically inspired adaptive support weights algorithm for stereo correspondence | |
CN107301664A (zh) | 基于相似性测度函数的改进局部立体匹配方法 | |
CN102982334B (zh) | 基于目标边缘特征与灰度相似性的稀疏视差获取方法 | |
CN113763269B (zh) | 一种用于双目图像的立体匹配方法 | |
CN104680510A (zh) | Radar视差图优化方法、立体匹配视差图优化方法及系统 | |
CN103996202A (zh) | 一种基于混合匹配代价和自适应窗口的立体匹配方法 | |
CN110827312B (zh) | 一种基于协同视觉注意力神经网络的学习方法 | |
CN108592822A (zh) | 一种基于双目相机及结构光编解码的测量系统及方法 | |
CN108592823A (zh) | 一种基于双目视觉彩色条纹编码的解码方法 | |
CN110853027A (zh) | 一种基于局部变动和全局变化的三维合成图像无参考质量评价方法 | |
CN108388901B (zh) | 基于空间-语义通道的协同显著目标检测方法 | |
CN110033483A (zh) | 基于dcnn深度图生成方法及系统 | |
CN111325778B (zh) | 基于窗口互相关信息的改进Census立体匹配算法 | |
Kallwies et al. | Triple-SGM: stereo processing using semi-global matching with cost fusion | |
CN114996814A (zh) | 一种基于深度学习与三维重建的家具设计系统 | |
CN113705796B (zh) | 基于epi特征强化的光场深度获取卷积神经网络 | |
CN113744324A (zh) | 一种多相似性测度结合的立体匹配方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |