背景技术
立体匹配是计算机视觉中的一个经典问题。立体匹配技术用于从立体图像获得三维(3D)图像。立体图像是指,对同一个对象,根据在同一直线上的不同位置拍摄的一对二维(2D)图像。
例如,如果立体图像是由对象前方的两个摄像机拍摄的同一场景的一对二维图像,左图像和右图像,对所述对象在空间中相同的点,在左图像和右图像中的坐标差称为视差。根据立体匹配技术从立体图像获取的视差构造三维图像。
下面对现有技术一中的立体匹配技术作以介绍。现有技术一中的立体匹配技术采用的技术方案,如图1所示,主要包括的步骤有:步骤101、把图像分割成多个区域;步骤102、计算各区域图像像素的初始视差值;步骤103、对各区域进行视差平面拟合,获得各区域的初始视差参数;步骤104、优化各区域的视差参数;步骤105、根据优化的视差参数获得各区域的视差。下面主要对现有技术一中步骤102、103和104进行说明。
步骤102、计算各区域图像像素的初始视差值。
预先设定初始视差范围[dmin,dmax]和视差步长d′。选择正在处理的当前图像区域,即当前区域,在此区域中选择第一个图像像素,设置此像素视差d为dmin,按公式(r1)计算匹配残差c(x,y,d):
其中,(x,y)为图象坐标值,d为视差
按照视差步长d′,不断增大视差d,并计算c(x,y,d),保存最小的c(x,y,d)及对应的d,直到d≥dmax,则最小的c(x,y,d)对应的d,即为此像素初始视差。
步骤103、对各区域进行视差平面拟合,获得各区域的初始视差参数。
首先根据各区域的初始视差值拟合各区域的初始视差平面。现有技术一确定各区域的初始视差平面的方法为:首先按照下述方法判断各像素点是否为局外点:按照参考图象像素(x,y)的初始视差
得到对应图像像素(x′,y′),计算(x′,y′)相对参考图像的初始视差
如果
则像素(x,y)为局外点。确定初始视差平面的过程中,将所述局外点排除在外,用以加强算法的鲁棒性。
然后,选择当前处理的图像区域,判断此区域中包括的像素数是否大于一个设定的阈值,现有技术一只处理像素数大于所述阈值的图像区域。如果当前处理的图像区域中的像素数不大于该阈值,则选择下一个图像区域,采用同样的方法进行判断;如果当前处理的图像区域中的像素数大于该阈值,在该区域中选择第一个图像像素点,开始进行初始视差平面拟合。
按照下述视差平面模型公式(r2),建模所述各区域的视差平面:
d=c1x+c2y+c3(r2)
其中,(x,y)为图像像素的坐标值,d为该图像像素对应的初始视差,(c1,c2,c3)为视差平面系数向量,即视差参数。
如果该像素点是局外点,则选择下一个像素点。如果该像素点不是局外点,则将该像素信息加入到公式(r3)的线性系统矩阵中。
当该区域所有的点都处理完后,按照公式(r3),可以求出[c1,c2,c3]T,得到该区域的初始视差平面:
对各区域用上述同样的方法拟合初始视差平面,各区域的初始视差平面的集合组成一个视差平面集,根据该视差平面集得到各区域的视差参数。
步骤104、优化各区域的视差参数。
现有技术一优化各区域的视差参数的方法主要包括三个步骤。
第一步骤、根据得到初始视差平面,使用循环优化视差平面。
循环优化视差平面的方法是:设置新平面与老平面均为初始视差平面,设置循环记数为1,选择当前处理区域中第一个像素,判断该像素是否为遮挡像素。如为遮挡像素,则选择下一个像素;如不是遮挡像素,为了加强算法的鲁棒性,采用加权最小平方技术,按照公式(r4)计算加权系数,并将该像素加权后信息加入到公式(r3)的线性系统矩阵中:
其中,
当该区域所有的点都处理完后,按照公式r5,可以求出[c1,c2,c3]T,得到新的视差平面:
其中,wi为像素(xi,yi)的加权系数w(βi)。
判断新的视差平面与老的视差平面的差异幅度是否小于一个预先给定的阈值,如果不小于,则循环记数递增,并更新老的视差平面系数为新的视差平面系数,选择该区域中第一个像素,重复上面的处理,直到新的视差平面与老的视差平面的差异幅度小于该阈值。如果小于,判断新的视差平面是否已在视差平面集中,如果不在,则将此新的视差平面加入到视差平面集中。选择下一区域循环上述处理,直到所有区域都处理完,于是就得到了一个新的视差平面集。
第二步骤、将获取的各区域的新的视差平面进行聚类分层。
从平面集中选择第一个平面,在该平面中选择第一个区域,从该区域的非遮挡像素中确定满足公式(r6)的对该平面的支持像素数:
βi<阈值(r6)
判断该区域中像素数是否大于一给定阈值,例如40,如果不大于该阈值,则按照公式(r7)计算匹配代价:
其中,S为图像区域,P为视差平面,d=c1 Px+c2 Py+c3 P,c1 P、c2 P、c3 P为P的参数。
如果大于该阈值,则按照公式(r8)计算匹配代价:
其中,O为区域S中的遮挡部分,n为区域S中的非遮挡像素数,s为区域S中对平面P的支持像素数。
设置最小匹配代价为一个大数,判断计算出的匹配代价是否小于该最小匹配代价,如果小于,则将该计算出的匹配代价作为最小匹配代价。选择下一个视差平面,重复上面的处理,直到所有的视差平面都处理完。选择下一个区域,重复上面的处理,直到所有的区域都处理完。
判断是否有相邻区域视差平面一样的联合区域,如果有,将联合区域作为最后的一个区域,重复上面确定每个区域的初始视差平面集及后续的处理,直到不再有联合区域。
第三步骤、通过设置标签,进一步优化各区域的视差平面,根据该视差平面获得视差参数。
现有技术一获得每个区域到优化的视差平面的标签的方法为:按照上面计算得到的各区域及对应的视差平面作为各区域初始标签,选择最优视差平面,按公式(r9)计算标签效率函数:
E(f)=Edata(f)+Esmooth(f)(r9)
其中,f为一个标签,赋予每一个区域S∈R一个对应的视差平面f(S)∈D,R为参考图像的区域集,D为估计的视差平面集。Edata按公式(r10)计算:
Esmooth按公式(r11)计算:
其中,S、S′为相邻区域,uS,S′正比于区域S与S′之间公共边界的长度。当f(S)≠f(S′)时,δ(f(S)≠f(S′))为1;当f(S)=f(S′)时,δ(f(S)≠f(S′))为0。
从f′中找到使标签效率函数E(f′)最小的标签记为f″,判断是否是E(f″)≤E(f)。如果是,设置f=f″,回到选择最优视差平面,循环处理;如果不是,将最优标签设置为f,处理结束。根据获取的最优标签获得视差参数。
在实现本发明的过程中,发明人发现现有技术中至少存在如下问题:现有技术中在对各区域的视差参数进行优化时,只根据正在处理的区域自身的能量信息优化该区域的视差参数,而一个区域的视差参数发生变化时,会对其相邻区域的能量也造成影响,现有技术孤立考虑各区域的视差优化,不能获得较准确视差;并且一旦遮挡像素点的选取不准确,会导致聚类分层不准确,以致获取的最佳标签也不准确,从而造成获取的视差误差也较大。
具体实施方式
为了解决现有技术中,获取视差时,只根据所处理的当前区域自身孤立的能量信息,优化后获取的视差误差较大的问题,本发明实施例提供了一种视差获取方法和装置,能够获得更准确的视差。
为了更清楚地说明本发明实施例的技术方案,下面将结合附图对本发明的实施例进行详细的介绍,下面的描述仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些实施例获得本发明的其他的实施方式。
如图2所示,一种视差获取方法,该方法包括:
步骤201、根据初始的视差参数获取被匹配图像中各区域的匹配能量,所述被匹配图像包括至少两个所述区域;
步骤202、在所述各区域中,为当前区域确定至少一个操作区域,所述当前区域为所述各区域中正在处理的区域;
步骤203、根据所述当前区域和所述各操作区域的匹配能量,获取当前区域的优化视差参数;
步骤204、根据所述当前区域的优化视差参数获取当前区域的视差。
在本发明实施例中,获取被匹配图像中各区域的视差时,采用所述各区域的匹配能量作为准则函数,对当前区域获得的初始视差进行优化时,不但根据述当前区域的匹配能量,还根据所述各操作区域的匹配能量,由于通过不同区域之间匹配能量的互相依存,互相影响,获取的所述当前区域的优化视差参数比较准确,从而,本发明实施例根据所述优化视差参数,能够获得更准确的视差。
如图3所示,本发明实施例提供的技术方案,在步骤201根据初始的视差参数获取被匹配图像中各区域的匹配能量,所述被匹配图像包括至少两个所述区域之前还包括:
步骤201a、获取所述各区域中像素点的初始视差;
步骤201b、根据所述初始视差获取所述各区域初始的视差参数。下面对各步骤进行详细说明。
本发明实施例采用的立体图对,为使用标准配置的两台摄像机在同一场景对同一对象拍摄的左图像和右图像,在本发明实施例中,被匹配图像为左图像,参考图像为右图像。
本发明实施例采用均值漂移算法(Mean-Shift)将被匹配图像分割为至少两个区域。
步骤201a、获取所述各区域中像素点的初始视差。
获取各区域中像素点的初始视差的方法很多,本发明实施例可采用背景技术中描述的方法获取各区域中像素点的初始视差,也可以采用自适应相关窗算法获取所述各区域中像素点的初始视差,在此不作限定。所述自适应相关窗算法为现有技术,熟悉该技术的本领域技术人员可通过现有技术中公开的相关内容获得步骤201a的结果。
本发明实施例中针对标准配置的两台摄像机所拍摄的左右立体图对进行说明。如图4所示,图4给出了本发明实施例对Tsukuba立体图像对进行处理的结果,其中,图4(a)、(b)分别是对应左图像的分割图像和初始视差图。
步骤201b、根据所述初始视差获取所述各区域初始的视差参数。
本发明实施例采用一种鲁棒的基于投票的视差平面拟合方法,获取所述各区域初始的视差参数。获取的初始视差,经常会具有一定的误差,所述基于投票的视差平面拟合方法能有效去除误差点,即离群数据,使拟合结果更准确,从而,进一步保证了能获得更准确地视差,如图5所示,给出了分别采用RANSAC方法和投票方法平面拟合结果的比较图,其中,横线表示投票方法的拟合错误率,折线表示RANSAC方法的拟合错误率,可以看出,所提出的投票方法不仅拟合的错误率低,而且结果非常稳定,而RANSAC方法虽然拟合的错误率也较低,但性能不稳定。如图6所示,为基于投票的视差平面拟合后得到的视差图。实验结果表明,初始视差图中的噪声可得到有效的抑制。下面对步骤201b进行详细介绍。
根据视差平面模型公式d=c1x+c2y+c3,建模所述各区域的视差平面,其中,c1,c2,c3为视差平面参数,c1为第一参数,c2为第二参数,c3为第三参数。
获取所述各区域初始的视差参数的步骤包括:
S1、获取所述第一参数c1,该步骤具体包括:
S11、在所述各区域中,在每一个相同像素行中任选至少一个行像素点对;
所述一个行像素点对的选取可以是相邻的一对点,也可以是相隔的一对点。
S12、在所述各区域中,根据各所述行像素点对的坐标值和初始视差获得各候选第一参数;
对所述选取的行像素点对进行相关计算,对任一个行像素点对进行相关计算的方法为:计算这一个行像素点对的视差之差和坐标值之差的比,Δd/Δx,得到平面参数c1的一个所述候选第一参数,对选取的所有行像素点对进行上述同样的计算,得到第一参数c1的所述各候选第一参数;
S13、根据所述各候选第一参数投票获取所述各区域的第一参数;
将所述各候选第一参数,在一维的第一参数c1的参数空间进行投票,生成频数相对于c1的直方图,并对所述直方图进行滤波处理。本发明实施例采用高斯平滑滤波,将高斯平滑滤波的峰值点,即投票中得票数最多的点,所对应的c1的值,作为第一参数c1。
S2、获取所述第二参数c2,该步骤具体包括:
S21、在所述各区域中,在每一个相同像素列中任选至少一个列像素点对;
所述一个列像素点对的选取可以是相邻的一对点,也可以是相隔的一对点。
S22、在所述各区域中,根据各所述列像素点对的坐标值和初始视差获得各候选第二参数;
对所述选取的列像素点对进行相关计算,对任一个列像素点对进行相关计算的方法为:计算这一个列像素点对的视差之差和坐标值之差的比,Δd/Δy,得到平面参数c2的一个所述候选第二参数,对选取的所有列像素点对进行上述同样的计算,得到第二参数c2的所述各候选第二参数。
S23、在所述各区域中,根据所述各候选第二参数投票获取所述第二参数;
将所述各候选第二参数,在一维的第二参数c2的参数空间进行投票,生成频数相对于c2的直方图,并对所述直方图进行滤波处理。本发明实施例采用高斯平滑滤波,将高斯平滑滤波的峰值点,即投票中得票数最多的点所对应的c2的值,作为第二参数c2。
S3、获取所述第三参数c3,该步骤具体包括:
S31、根据所述各区域中的各候选第一参数和相应的各候选第二参数用视差平面拟合出相应的各候选第三参数;
将所述各候选第一参数、相应的各候选第二参数、及像素坐标与视差,分别代入视差平面模型公式d=c1x+c2y+c3,得到相应的各候选第三参数。
S32、根据所述各候选第三参数投票获取所述各区域的第三参数。
将所述各候选第三参数,在一维的第三参数的参数空间进行投票,生成频数相对于c3的直方图,并对所述直方图进行滤波处理。本发明实施例采用高斯平滑滤波,将高斯平滑滤波的峰值点,即投票中得票数最多的点所对应的c3的值,作为第三参数c3。
步骤201、根据初始的视差参数获取被匹配图像中各区域的匹配能量,所述被匹配图像包括至少两个所述区域。
所述匹配能量包括数据能量、遮挡能量和平滑能量。进行视差优化时获取的匹配能量包括所述数据能量,和所述遮挡能量与平滑能量中的至少一种的组合。
本发明实施例获取的匹配能量包括所述数据能量、遮挡能量和平滑能量三种,即任一图像区域的匹配能量为Ei=Edata+Eocclude+Esmooth,其中,Ei为区域i的匹配能量,下标i表示第i个图像区域,Edata为数据能量,Eocclude为遮挡能量,Esmooth为平滑能量。
本发明实施例提供的获取所述各区域的匹配能量的具体方法为:
T1、获取所述各区域的数据能量。
对数据能量Edata,由下式(r12)计算:
其中,Vl和Vr分别表示当前区域在左右图像上的可见像素集,p∈Vl、q∈Vr为左右图像上相匹配的两个对应像素,r、g、b表示相应像素的RGB颜色值。各像素的RGB颜色值如下得到:根据所估计的当前区域的视差平面参数计算与被匹配图像(左图像)上的像素p对应的参考图像(右图像)上的像素q,并获取其RGB颜色值。由于计算得到的视差是浮点型的,所以像素q一般并不正好处于整数像素位置上,故其RGB颜色值一般不能直接从图像中获得。在本发明实施例中,其值由参考图像上q的四个近邻像素的RGB颜色值经过插值得到。计算数据能量时考虑了可视性准则,即要求用来计算数据能量的像素在左右图像对中都是可见的。
本发明实施例技术方案提供的计算所述数据能量的公式并不仅限于公式(r12),所有基于公式(r12)做近似变化的公式都属于本发明实施例提供的技术方案,比如,使用两个像素各颜色分量差的绝对值的和,或使用两个像素各颜色分量差的平方和。
T2、获取所述各区域的遮挡能量。
为了便于理解先对图像遮挡作简单的介绍。遮挡分为左遮挡和右遮挡两种情况。如图7所示,考虑被匹配图像(左图像)上的两个相邻区域A和B,A在B的右边。当A区域在相邻边界处的视差大于其左邻域B的视差时,那么根据当前的视差计算结果将A和B映射到参考图像(右图像)时,B′的一部分(图中的D区域)将被A′所遮挡(左遮挡),而当A区域在相邻边界处的视差小于其左邻域B的视差时,映射到右图像后的两个区域A′和B′之间将会出现空隙(图中的C区域),相当于右图像上A′区域有一部分在左图像上被B遮挡了(右遮挡)。在本发明实施例中,如下设置遮挡能量:当左遮挡发生时,左遮挡能量加到相应的左遮挡区域;当右遮挡发生时,右遮挡能量加到相应的右遮挡区域。实际中,被遮挡区域的检测可如下进行:首先根据当前的视差计算结果将左图像上相关的各区域映射到右图像,然后在右图像上检查映射情况;如果某个像素被重复映射,则将该像素记为左遮挡,并加上左遮挡能量;如果某个像素未被映射,则将该像素记为右遮挡,并加上右遮挡能量。
综上所述,根据下述公式(r13),可以得到遮挡能量Eocclude为:
Eocclude=(|OccL|+|OccR|)λocc (r13)
其中,OccL、OccR分别表示左遮挡和右遮挡像素的个数,而λocc表示所设置的遮挡惩罚常量。
本发明实施例技术方案提供的计算所述遮挡能量的公式并不仅限于公式(r13),所有基于公式(r13)做近似变化的公式都属于本发明实施例提供的技术方案,比如对左遮挡和右遮挡设置不同的遮挡惩罚常量,或者只处理左遮挡,或者只处理右遮挡。
T3、获取所述各区域的平滑能量。
可以根据下述公式(r14),得到平滑能量Esmooth为:
这里,BC表示被匹配图像上当前区域的边界点集,N表示和BC近邻的其它区域上的边界点集,p∈BC、q∈N为四连通意义上的两个近邻像素点,d(p)、d(q)为像素p、q的视差,而λs为所设置的平滑惩罚量,可以是一个常量,也可以是所述两个像素颜色的差值的函数,如差值较小时,设为2倍的差值,差值较大时,设为1倍的差值。其中差值计算可以是两个像素各颜色分量差的绝对值中的最大值,或两个像素各颜色分量差的绝对值的和,或使用两个像素各颜色分量差的平方和。其中的判别式|d(p)-d(q)|≥阈值1用于判断当前区域上一个边界点是否为视差不连续的的点。阈值1可以取大于0的数,如0.5或1。作为附加条件,要求p不是一个遮挡边界点。公式(r14)给出了对当前区域上具有不连续视差且不属于遮挡边界的边界点所施加的平滑惩罚能量之和。
步骤202、在所述各区域中,为当前区域确定至少一个操作区域,所述当前区域为所述各区域中正在处理的区域。
所述当前区域的操作区域可以为与当前区域相邻的图像区域,也可以为与当前区域不相邻的图像区域,选取的所述操作区域的个数考虑到计算量和优化效果,应适当。
步骤203、根据所述当前区域的匹配能量和所述各操作区域的匹配能量获取所述当前区域的优化视差参数,该步骤具体包括:
U1、将所述各操作区域的视差参数,或所述各操作区域的视差参数与当前区域的视差参数的加权组合生成的视差参数,作为所述当前区域新的视差参数,根据所述新的视差参数获取相应的所述当前区域的各待选匹配能量;
本发明实施例取与当前区域(匹配为能量Ei(x),i表示第i个区域)相邻的图像区域作为最佳的所述操作区域。以对各相邻区域与当前区域的处理为例对U1进行说明。
将当前区域的各相邻区域的视差参数,或所述各相邻区域的视差参数与当前区域的视差参数的加权组合生成的新的视差参数,作为当前区域的视差参数。并且,根据新的视差参数,重新获取所述当前区域及各操作区域的数据点,遮挡点和平滑点像素,根据所述像素点更新当前区域的匹配能量,得到更新后的匹配能量Ei′(x),即所述当前区域的各待选匹配能量。
U2、根据所述新的视差参数获取所述各操作区域的更新的匹配能量;
根据新的视差参数,重新获取所述当前区域及各操作区域的数据点,遮挡点和平滑点像素,根据所述像素点更新所述各操作区域的匹配能量,得到更新后的匹配能量E′j(x),j为选取的相邻区域的标号。
U3、获取所述各待选匹配能量与相应的所述各操作区域的更新匹配能量的各协同优化能量
本发明实施例设置加权系数λk,wij,0≤λk≤1,0≤wij≤1来构造所述协同优化能量。所述的各协同优化能量为:
U4、根据所述各协同优化能量获取所述当前区域的优化视差参数。
协同优化能量越小,该协同优化能量对应的视差参数越合理。本发明实施例在所述各协同优化能量中选取最小值,根据获得该最小协同优化能量时当前区域采用的视差参数,作为所述当前区域的优化视差参数。
步骤204、根据所述当前区域的优化视差参数获取当前区域的视差。
根据所述当前区域的优化视差参数由视差平面模型公式,获取当前区域的视差。
在步骤203中,介绍了对当前一个区域的处理方法,本发明实施例按照同样的方法对一幅图像中的所有区域采用协同优化的方法逐次进行了迭代处理,完成对整幅图像的处理,并且可以按照同样的方法对整幅图像重复多次迭代处理,以获得较好的视差结果。本发明实施例进行了四次迭代,如图8所示,对Tsukuba图像经过四次协同优化后修正了视差,其中,(a)~(b)是第一到第四次迭代得到的视差图,图中的e为整个图像各区域协同能量的和。
本发明实施例以对Tsukuba图像的处理为例进行了说明,但本发明实施例并不仅限于只适用于某一具体图像,如图9所示,为采用本发明实施例提供的方法对标准图像Tsukuba、Venus、Teddy、Cones的处理结果,利用本发明实施例提供的方法得到的结果与真实视差很接近,能够获得理想的视差结果。
在本发明实施例中,获取被匹配图像中各区域的视差时,采用所述各区域的匹配能量作为准则函数,对当前区域获得的初始视差进行优化时,不但根据述当前区域的匹配能量,还根据所述各操作区域的匹配能量,由于通过不同区域之间匹配能量的互相依存,互相影响,获取的所述当前区域的优化视差参数比较准确,从而,本发明实施例根据所述优化视差参数,能够获得更准确的视差。
本发明实施例还提供了一种视差获取装置,能够获得更准确的视差,如图10所示,该装置包括:
匹配能量获取单元,用于根据初始的视差参数获取被匹配图像中各区域的匹配能量,所述被匹配图像包括至少两个所述区域;
操作区域确定单元,用于在所述各区域中,为当前区域确定至少一个操作区域,所述当前区域为所述各区域中正在处理的区域;
优化视差参数获取单元,用于根据所述当前区域和由所述操作区域确定单元确定的各操作区域的匹配能量,获取优化视差参数;
视差值获取单元,用于根据所述优化视差参数获取单元获取的优化视差参数,获取当前区域的视差。
在本发明实施例中,获取被匹配图像中各区域的视差时,采用所述各区域的匹配能量作为准则函数,对当前区域获得的初始视差进行优化时,不但根据所述当前区域的匹配能量,还根据所述各操作区域的匹配能量,由于通过不同区域之间匹配能量的互相依存,互相影响,获取的所述当前区域的优化视差参数比较准确,从而,本发明实施例根据所述优化视差参数,能够获得更准确的视差。
如图11所示,本发明实施例提供的装置还包括:
初始视差获取单元,用于获取所述各区域中像素点的初始视差;
视差参数获取单元,用于根据所述初始视差获取单元获取的初始视差,获取所述各区域的所述的初始的视差参数。
所述视差参数包括第一参数、第二参数和第三参数,所述视差参数获取单元包括:
第一参数获取模块,用于首先在所述各区域中,在每一个相同像素行中任选至少一个行像素点对;然后在所述各区域中,根据各所述行像素点对的像素值和初始视差获得各候选第一参数;最后根据所述各候选第一参数投票获取所述各区域的第一参数;
第二参数获取模块,用于首先在所述各区域中,在每一个相同像素列中任选至少一个列像素点对;然后在所述各区域中,根据各所述列像素点对的坐标值和初始视差获得各候选第二参数;最后根据所述各候选第二参数投票获取所述各区域的第二参数;
第三参数获取模块,用于根据由所述第一参数获取模块得到的各候选第一参数,和所述第二参数获取模块得到的相应的各候选第二参数,用视差平面拟合出相应的各候选第三参数,根据所述各候选第三参数投票获取所述各区域的第三参数。
本发明实施例通过所述视差参数获取单元,采用一种鲁棒的基于投票的视差平面拟合方法,获取所述各区域初始的视差参数。由于获取的初始视差,经常会具有一定的误差,所述视差参数获取单元通过所述基于投票的视差平面拟合方法能有效去除误差点,即离群数据,使拟合结果更准确,从而,进一步保证了能获得更准确地视差,
所述优化视差参数获取单元包括:
匹配能量处理模块,用于将所述各操作区域的视差参数,或所述各操作区域的视差参数与当前区域的视差参数的加权组合生成的视差参数,作为所述当前区域新的视差参数,根据所述新的视差参数获取相应的所述当前区域的各待选匹配能量,
操作区域能量更新模块,用于根据所述新的视差参数获取所述各操作区域的更新的匹配能量;
协同优化能量获取模块,用于根据预设的加权系数,计算所述各待选匹配能量与相应的所述各操作区域的匹配能量的各协同优化能量;
优化视差参数获取模块,用于根据所述各协同优化能量获取所述当前区域的优化视差参数。
本发明实施例利用优化视差参数获取单元,对一幅图像中的所有区域采用协同优化的方法逐次进行了迭代处理,完成对整幅图像的处理,并且可以按照同样的方法对整幅图像重复多次迭代处理,从而,能够获得较好的视差结果。
本发明实施例中匹配能量包括数据能量、遮挡能量和平滑能量。进行视差优化时获取的匹配能量包括所述数据能量,和遮挡能量与平滑能量中至少一种的组合,所述匹配能量获取单元有三种情况:
第一种情况、当所述匹配能量包括数据能量和遮挡能量,所述匹配能量获取单元包括:
第一像素点获取模块,用于获取所述各区域中的数据点像素和遮挡点像素;
数据能量获取模块,用于根据所述第一像素点获取模块获取的数据点像素获取所述数据能量;
遮挡能量获取模块,用于根据所述第一像素点获取模块获取的遮挡点像素获取遮挡能量。
第二种情况、当所述匹配能量包括数据能量和平滑能量,所述匹配能量获取单元包括:
第二像素点获取模块,用于获取所述各区域中的数据点像素和平滑点像素;
数据能量获取模块,用于根据所述第二像素点获取模块获取的数据点像素获取数据能量;
平滑能量获取模块,用于根据所述第二像素点获取模块获取的平滑点像素获取平滑能量。
第三种情况、当所述匹配能量包括数据能量、遮挡能量和平滑能量,所述匹配能量获取单元包括:
第三像素点获取模块,用于获取所述各区域中的数据点像素、遮挡点像素和平滑点像素;
数据能量获取模块,用于根据所述第三像素点获取模块获取的数据点像素获取所述数据能量;
遮挡能量获取模块,用于根据所述第三像素点获取模块获取的遮挡点像素获取所述遮挡能量;
平滑能量获取模块,用于根据所述第三像素点获取模块获取的平滑点像素获取所述平滑能量。
本发明实施例中采用第三种情况,所述匹配能量包括数据能量、遮挡能量和平滑能量,进行视差优化时获取的视差更加准确。
本发明装置实施例中各个单元和模块的具体工作方法,可参照本发明的方法实施例,此处不再赘述。
在本发明实施例中,获取被匹配图像中各区域的视差时,采用所述各区域的匹配能量作为准则函数,对当前区域获得的初始视差进行优化时,不但根据所述当前区域的匹配能量,还根据所述各操作区域的匹配能量,由于通过不同区域之间匹配能量的互相依存,互相影响,获取的所述当前区域的优化视差参数比较准确,从而,本发明实施例根据所述优化视差参数,能够获得更准确的视差。
本领域普通技术人员可以理解实现上述实施例中的全部或部分步骤,可以通过程序指令相关硬件完成。所述实施例对应的软件可以存储在一个计算机可存储读取的介质中。
当然,本发明的实施例还可有很多种,在不背离本发明的实施例精神及其实质的情况下,本领域技术人员当可根据本发明的实施例做出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明的实施例所附的权利要求的保护范围。