一种对光强不敏感的斜面近邻传播立体匹配方法与流程

文档序号:17744818发布日期:2019-05-24 20:33阅读:211来源:国知局
一种对光强不敏感的斜面近邻传播立体匹配方法与流程

本发明涉及计算机视觉和数字图像处理技术领域,具体涉及一种对光强不敏感的斜面近邻传播立体匹配方法。



背景技术:

立体匹配作为图像深度推断、三维重建等技术的关键步骤,它通过寻找两幅或者多幅图像中对应同一空间物理点的像素来获取深度信息,广泛应用于定位、流水线控制、汽车自动驾驶、遥感图像分析等方面。但由于场景的复杂性,立体匹配领域仍然有许多尚未解决的技术难题,该技术一直以来都是计算机视觉领域广泛关注的难点和热点。

通常立体匹配算法难以处理的一个问题便是匹配图像在不同光照条件下拍摄,致使同一空间物理点在不同图像中具有不同的颜色。还有通常的匹配算法都假设匹配块内像素处于同一平面,且与相机成像图面平行,这种假设在很多情况下是错误的。所以本发明针对上面所述问题提出一个完善有效的方案,可以得到适用于广泛场景的高精度立体匹配结果。



技术实现要素:

本发明的目的是为了解决现有技术中的上述缺陷,提供一种对光强不敏感的斜面近邻传播立体匹配方法,该方法从像素特征方面提取对光照条件不敏感的像素特征,反映图像块的深层结构信息,解决不同光照条件的图片的匹配问题;同时改进了常规的斜面近邻传播算法,让聚合窗口的选取和映射更为合理,使得方法更适用于实际场景。

本发明的目的可以通过采取如下技术方案达到:

一种对光强不敏感的斜面近邻传播立体匹配方法,对光强不敏感是指以上匹配方法对两张待匹配图像的拍摄的漫射光条件不同不敏感,所述的方法包括:

特征提取步骤,对左右两张已校正的待匹配图像上的每一个像素p,以其为中心取正方形特征窗口pfw,根据窗口内的像素灰度值范围prange和分段数m得到该窗口的分段区间大小;对于窗口内除像素p外的其他像素,计算它们的灰度值和p的灰度值之差,然后计算灰度值之差与分段区间大小的比值,把各像素按照扫描顺序做计算得到的结果组成一个整数数组,作为像素p的对光照变化不敏感的多维像素特征ηp

其中,待匹配图像为从左右两个不同角度对同一场景拍摄的两张图片,已校正图片是指利用极线约束消除畸变后,匹配点对必然具有相同的图像行号。

单像素匹配代价计算步骤,对于左图中的每一个像素p,和其在右图中的任一可能匹配像素q,像素p和像素q的特征分别为ηp和ηq,计算这两个特征间的不相似性作为像素p、q的单像素匹配代价;

空间模型建立步骤,定义像素p在视差空间中所处的平面模型fp,并为左图中的每一个像素随机初始化平面参数;

匹配步骤,包括初步传播子步骤和二次传播子步骤,根据斜面近邻传播算法找到左图中每个像素p的近似平面,使得与根据该平面映射到右图上的像素q的聚合匹配代价尽可能小;

其中,初次传播子步骤,对于左图中的每一个像素p,以其为中心取k×k大小的正方形聚合窗口paw,在匹配像素p时认为窗口内的像素都处于平面fp上,根据fp平面方程把窗口映射到右图,得到窗口内各个像素在右图上的对应像素,计算聚合匹配代价;并以得到更低的聚合匹配代价为条件进行近邻平面参数传播;

其中,二次传播子步骤,利用初次传播步骤得到的左图中每个像素的平面模型作为初步信息,对聚合窗口映射方法进行调整:将像素p原本的k×k大小的聚合窗口paw等分为9个大小形状相等、不重叠的正方形小块,每个块以其块内中心像素为代表,把小块的中心像素法向量与p的法向量角度差别大于阈值块舍弃掉,其他保留下来构成新的聚合窗口;窗口映射时,窗口内像素根据各自所处块的中心像素的平面方程进行映射,进行斜面近邻传播;

视差图获取步骤,根据最终得到的像素平面方程,转化得到左图对应的视差图,完成匹配目的。

进一步地,特征提取步骤中对左右两张已校正的待匹配图像上的每一个像素,构造对光强不敏感的多维匹配特征ηp。依据是图像在不同散射光强度下窗口中像素灰度值大小关系不变的原理,可用模糊编码方式进行特征构建。模糊编码的原理是:由于光照条件的变化,两个像素灰度值大小关系虽然不变,但是灰度差会变化,可以把一个合理范围内的灰度差值视为相等,关键在于合理范围的取法。具体的做法是:

a)取定块内像素灰度值的分段数m大小,其对左右图像的每一个块取值相同,根据实际光照条件进行设置,影响上面提到的合理范围的大小;

b)对左右两张图上的每一个像素p,都以其为中心取一个d×d大小的正方形特征窗口pfw,然后遍历窗口pfw内的所有像素的灰度值,找出它们间的灰度最大值pmax和最小值pmin,得到窗口内的像素灰度值的分布范围prange=pmax-pmin。接着根据公式计算得到每一个分段的区间大小pt:

计算得到该pfw内的分段区间大小pt,根据pt在不同像素的特征窗口中得到的值不同,表示考虑到该图像窗口的实际光照条件,把窗口内与某个像素的灰度差小于pt的其他像素的像素灰度值视为相等。

c)对窗口pfw内除中心像素p外的任一像素k,计算它与中心像素的差别:

通过上式计算像素k和像素p的相对大小关系,其中ik、ip分别为像素k、p的灰度值,为向下取整符号。把按照扫描顺序得到的d×d-1个diff构成一个整数数组,构成像素p的对光强变化不敏感的多维像素特征ηp。该特征反映了不同散射光条件下像素间的相对大小关系不变的原理,并考虑到图像的实际光照条件,在使用模糊编码的基础上保留了比census算法更多的原值信息,处理了pfw内所有可能灰度值的编码,更适用于光强变化剧烈的情况,对光强度变化具有较高的鲁棒性。

进一步地,所述的单像素匹配代价计算步骤中,对于左图像素p,其坐标为(px,py),像素p在右图中可能的匹配像素q,其坐标为(qx,qy),存在约束关系:qy=py,qx=px-d,d∈0,1,2,…,dmax,其中dmax为最大允许视差,只需要计算像素p与右图此最大允许视差范围内的像素之间的单像素匹配代价。

进一步地,所述的单像素匹配代价计算步骤中,对左图的每一个像素p,和其在右图中任一可能匹配像素q,计算这两个特征间的不相似性作为像素p、q的单像素匹配代价的计算公式为:

其中d为像素p与像素q的横坐标差,p-d表示根据像素p的坐标和视差d找到右图中的对应像素q,ηp、ηq分别为像素p、像素q的对光强不敏感特征,表示特征ηp、ηq的第i位。

该公式需要对所有可能的q都执行计算。具体的,对于左图像素p(坐标为(px,py)),它可能的匹配像素q(坐标为(qx,qy))只会出现在与像素p同一水平线上(因为待匹配图像已校正),即qy=py,并且横坐标差通常只考虑一定的视差范围[0,dmax],dmax为最大允许视差,所以qx=px-d(d∈0,1,2,…,dmax)。对于左图像素p,每一个d的取值与右图上的一个像素q一一对应,所以寻找匹配像素q与寻找视差d等价。

进一步地,所述的空间模型建立步骤中,在视差空间中为左图的每一个像素p构建三维平面,视差空间是指以左图的左下角像素为原点,左图的水平方向为x轴,左图的竖直方向为y轴,垂直于左图的方向为z轴的三维空间。像素p的平面方程为:

afp*px+bfp*py+cfp=dfp

afp、bfp、cfp、dfp为三维空间平面的四个平面参数,px、py为像素p的坐标。平面参数与平面单位法向量以及像素p在此平面下的视差dp的关系为:

dp=dfp

其中nx、ny、nz为法向量的坐标。该平面经过(px,py,dp)点,把像素p的坐标代入fp平面方程可得到视差dp,像素、平面方程、视差都是一一对应关系。后续步骤根据这几个公式进行平面参数与法向量、视差的相互转换。

定义完模型后为左图中的每一个像素p随机初始化平面参数,方法为:随机选取一个单位法向量和一个视差值,然后转换为相应平面参数。

进一步地,所述的聚合匹配代价的计算公式如下:

其中,m(p,fp)表示像素p为平面方程为fp时的聚合匹配代价,o为以像素p为中心的k×k正方形聚合窗口paw内的像素,把像素o认为是和像素p处于同一平面fp上,o-afp*ox+bfp*oy+cfp表示根据平面方程fp,像素o映射到右图上的对应像素,c(o,o-afp*ox+bfp*oy+cfp)计算像素o和它在右图对应像素的单像素匹配代价,w(o,p)是像素o的单像素匹配代价对像素p聚合匹配代价的加权系数,io、ip为像素o、像素p的灰度值,λ为超参数。

进一步地,匹配步骤包含的初步传播步骤和二次传播步骤进行的相同操作包括传播和细化两个子步骤:

传播步骤:在奇数次的传播中,按照扫描顺序遍历左图上的像素,偶数次的传播则按照反方向遍历,对于左图上的一个像素p,首先计算它在当前的平面方程fp时的聚合匹配代价m(p,fp),然后把像素p的邻居像素p′的平面参数用于像素p,计算聚合代价m(p,fp′),如果m(p,fp′)<m(p,fp),则更新像素p的平面方程fp的平面参数为平面方程fp′的平面参数;

细化步骤:按照扫描顺序对传播后像素p的平面方程fp进行细化调整:允许fp的法向量和视差dp有一个变化区间,分别为在区间内随机取一个值,然后平面方程fp的平面参数加上调整值得到新的平面方程fp″,计算聚合代价m(p,fp″),如果m(p,fp″)<m(p,fp),则更新像素p的平面方程fp的平面参数为平面方程fp″的平面参数,然后把缩小一半重复上述过程,直到时停止。

完整执行一次传播步骤和细化步骤作为一次循环,初次传播子步骤和二次传播子步骤都分别需要执行两次循环。

二次传播步骤后,左图上的每一个像素都有正确的平面,根据平面方程与视差的一一对应关系,转化得到左图对应的视差图。得到左图对应的视差图是匹配的最终目的。

本发明相对于现有技术具有如下的优点及效果:

1、本发明通过新的方法提取对光强不敏感的像素特征用于匹配,适用于拍摄时散射光强变化剧烈的情况;

2、本发明通过模拟推断实际像素所处的三维平面模型方式,使得匹配过程合理化;

3、本发明通过特征窗口的裁剪和窗口映射方式的修改,改正传统斜面近邻传播算法的缺点,使得匹配结果更为精确。

附图说明

图1是本发明公开的对光强不敏感的斜面近邻传播立体匹配方法的流程图;

图2是本发明中光照不敏感特征提取方法流程图;

图3是本发明中聚合窗口裁剪方法流程图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

实施例

本实施例公开了一种对光强不敏感的斜面近邻传播立体匹配方法,从左右两个不同角度对同一场景进行拍摄得到左右两张待匹配的输入图像,实现双目立体匹配。

该方法具体包括如下步骤:

步骤一:取定块内像素值分段数m大小(m通常取15);如图2,对左右两张图上的每一个像素p,都以其为中心取一个d×d大小的正方形特征窗口pfw,然后遍历窗口pfw内的所有像素的灰度值,找出灰度最大值pmax和最小值pmin,得到窗口内的像素灰度值的分布范围prange=pmax-pmin。接着根据公式

计算得到该pfw内的分段区间大小pt。然后对pfw内除像素点p外的其它像素k,按照扫描顺序逐个与中心像素进行比较,通过公式

计算像素k和像素p的相对大小关系,其中ik、ip分别为像素k、p的灰度值,为向下取整符号。把按照扫描顺序得到的d×d-1个diff构成一个整数数组,构成像素p的对光强变化不敏感的多维像素特征ηp

该特征反映了不同散射光条件下像素的相对大小关系不变的原理,考虑了图像的实际光照条件,在使用模糊编码的基础上保留了比census算法更多的原值信息,处理了所有可取灰度值的情况,对光强度变化具有较高的鲁棒性。

步骤二:对于左图中的每一个像素p(坐标为(px,py)),考虑视差范围内所有视差d(d∈0,1,2,…,dmax;dmax为最大允许视差),找到像素p在右图上的对应像素q(坐标为(qx,qy),其中qx=px-d,qy=py),将像素p和q的对光强不敏感特征ηp和ηq之间的不相似性作为像素p、q的匹配代价,计算公式为:

其中分别为对光强不敏感特征ηp、ηq的第i位。该公式需要对所有可能的像素q都执行计算。

步骤三:为左图中的每一个像素p建立视差空间三维平面模型:

afp*px+bfp*py+cfp=dfp

afp、bfp、cfp、dfp为三维空间平面的四个平面参数,px、py为像素p的坐标。平面参数与平面单位法向量以及像素p在此平面下的视差dp的关系为:

dp=dfp

其中nx、ny、nz为法向量的坐标。该平面经过(px,py,dp)点,把像素p的坐标代入fp平面方程可得到视差dp,像素、平面方程、视差都是一一对应关系。后续步骤根据这几个公式进行平面参数与法向量、视差的相互转换。

定义完模型后为左图中的每一个像素p随机初始化平面参数,方法为:随机选取一个单位法向量和一个视差值,然后根据上面公式转换为相应平面参数。

步骤四:初步斜面传播步骤包括以下子步骤:

a)传播步骤:在奇数次的传播中,按照扫描顺序遍历左图上的像素,偶数次的传播则按照反方向遍历,对于左图上的一个像素p,首先计算它在当前的平面方程fp时的聚合匹配代价m(p,fp),然后把像素p的邻居像素p′的平面参数用于像素p,计算聚合代价m(p,fp′),如果m(p,fp′)<m(p,fp),则更新像素p的平面方程fp的平面参数为平面方程fp′的平面参数;

b)细化步骤:按照扫描顺序对传播后像素p的平面方程fp进行细化调整:允许fp的法向量和视差dp有一个变化区间,分别为在区间内随机取一个值,然后平面方程fp的平面参数加上调整值得到新的平面方程fp″,计算聚合代价m(p,fp″),如果m(p,fp″)<m(p,fp),则更新像素p的平面方程fp的平面参数为平面方程fp″的平面参数,然后把缩小一半重复上述过程,直到时停止;

c)重复步骤a)和b)两次。

其中聚合匹配代价计算公式为:

其中,m(p,fp)表示像素p为平面方程为fp时的聚合匹配代价,o为以像素p为中心的k×k正方形聚合窗口paw内的像素,把像素o认为是和像素p处于同一平面fp上,o-afp*ox+bfp*oy+cfp表示根据平面方程fp,像素o映射到右图上的对应像素,c(o,o-afp*ox+bfp*oy+cfp)计算像素o和它在右图对应像素的单像素匹配代价;w(o,p)是像素o的单像素匹配代价对像素p聚合匹配代价的加权系数,io、ip为像素o、像素p的灰度值,λ为超参数。

步骤五:如图3,对聚合窗口进行裁剪。把步骤四中k×k聚合窗口切分成大小形状相同、不重叠的9个正方形块(包括1个中心块和8个边界块),每个小块以各自的中心像素作为块的代表。然后计算边界块的中心像素r的法向量与像素p的法向量的角度差,计算公式为:

其中分别像素p、像素r所在平面的法向量,分别表示的模。只保留θ小于阈值α的边界小块(α通常取20°),其它小块剔除,构成新的聚合窗口。

步骤六:二次传播步骤,执行与步骤四中相同的步骤,只是把聚合窗口替换为步骤五裁剪后的窗口。并且不再以p的平面代表整个聚合窗口的平面,而是各个小块中的像素,以自己所在的块的中心像素平面独立映射。

步骤七:获取匹配结果步骤,根据步骤六得到的平面模型,转化得到每个像素的视差,构成左图的视差图。

通过上述技术方案的描述,可以看到本发明通过提取像素点对光照条件不敏感的特征,适用于两幅待匹配图像在不同散射光条件下拍摄的情况,并通过完善方案模拟推断每个像素实际视差空间三维平面,抛弃正平行平面的错误假设,更符合现实,使得算法适用于广泛的实际场景。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其它的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1