基于图像分割的深度不连续区域立体匹配算法
技术领域
本发明涉及一种图像处理与模式识别领域中的立体匹配技术范畴。
背景技术
在立体匹配领域中,立体图像由在不同位置不同视角的两摄像机对同一场景拍摄得到。通过在两图像中查找的任意点对位置信息得到点对的视差估计,进而可以根据视差获取深度信息。寻找任意点对是立体匹配技术的关键步骤。目前立体匹配技术主要分为全局匹配算法和局部匹配算法。全局匹配算法包括:基于图割理论的匹配算法、置信传播算法、SGBM等,主要通过构建能量函数E(d),最小化E(d)寻找点坐标。局部匹配算法主要通过各种相容性在点坐标的局部邻域寻找相似性最高的点局部邻域,局部邻域的中心点即为匹配点坐标。
目前立体匹配中的局部匹配算法中主要通过邻域内像素信息寻找最佳匹配点。其中邻域大小、形状的选取对最终匹配结果有很大影响。对于三维中平坦区域,邻域窗口大小越大,则包含的周围信息越多,越有利于匹配的完成;然而对于遮挡区域,存在深度差异较大的多个物体区域时,邻域窗口大小越小,越能减小周围信息对边缘的平滑效应,越利于匹配的完成。同时邻域窗口选用固定窗口形状(一般选择矩形窗口),将无法有效描述点周围结构信息。
发明内容
本发明的主要目的在于,基于图像分割的立体匹配算法,有效解决邻域窗口选取的问题,从而更加适于实用,且具有产业上的利用价值。
本发明的目的及解决其技术问题是采用以下技术方案来实现的。依据本发明提出的一种基于图像分割的立体匹配算法,该方法包括如下步骤:
1)读取模板图像;
2)读取待匹配图像;
3)鼠标点选目标点:在模板图像中选择需要匹配的点坐标;
4)获取搜索路径;
5)邻域矩形窗口内图像分割;
6)逐步选取搜索路径上一点;
7)判断目标点位置;
8)获取分割区域邻域窗口;
9)自适应权重NCC匹配;
10)选择最佳匹配点;
11)分割区域合并;
12)选择合并后区域内一点,点到最近距离大于2像素,
13)分别计算两最佳匹配点深度,利用已知的摄像机参数计算两最佳匹配点三维深度;
14)选择深度较小的点作为目标点在待匹配图像中的匹配点。
具体的,前述的基于图像分割的立体匹配算法,所述模板图像和待匹配图像由摄像机在不同角度拍摄同一场景得到。
具体的,前述的基于图像分割的立体匹配算法,所述步骤4)根据对极几何原理,利用SIFT匹配点对计算不同视角拍摄的模板图像和待匹配图像间的基本矩阵,进而获得目标点在待匹配图像中的极线,确定搜索路径。
具体的,前述的基于图像分割的立体匹配算法,所述步骤5)确定目标点周围矩形窗口,在窗口内进行图像分割,设置最小分割区域为50个像素。
具体的,前述的基于图像分割的立体匹配算法,所述步骤6)中,在待匹配图像搜索路径上,以步阶为1像素逐步搜索待匹配点坐标,存入集合中。
具体的,前述的基于图像分割的立体匹配算法,判断目标点是否在分割区域内部,其中基于分割误差,当目标点与最近边界距离超过2个像素时,认为该目标点在分割区域内部。
具体的,前述的基于图像分割的立体匹配算法,当所述目标点位于分割区域内部时,获取目标点所在的分割区域,作为其分割区域邻域窗口。
具体的,前述的基于图像分割的立体匹配算法,根据公式
计算匹配值;
式中:其中p′c为候选点,Wr为模板图像中目标点邻域的矩形窗口,Wt为待匹配图像中候选点邻域的矩形窗口,pi相对于pc的位置关系与p′c相对于p′c的位置关系完全相同,γ1,γ2为参数。
具体的,前述的基于图像分割的立体匹配算法,计算每个候选区域目标点间的匹配值,选取匹配值最大的点作为最佳匹配点。
具体的,前述的基于图像分割的立体匹配算法,选择与目标点相邻的一个区域;与窗口中剩余各分割区域进行稠密直方图匹配,选择匹配最好的且匹配值大于某一阈值的区域,将与目标点相邻区域与阀值区域合并为新区域;重复上述操作直到当最好的匹配值小于某一阈值或剩余0个区域时,直方图匹配结束;将剩余各区域合并为新窗口,至此,合并结束并分为新区域和新窗口。
借由上述技术方案,本发明基于图像分割的深度不连续区域立体匹配算法至少具有下列优点:
本方法利用图像分割算法主要解决深度不连续区域的立体匹配问题,当点处于分割区域内部时,选择点所在的分割区域作为其邻域窗口,利用自适应权重NCC匹配计算最佳匹配点,当点处于分割边缘上时,将周围的分割区域分为两类,分别表示深度小的区域和深度大的区域,作为邻域窗口分别进行匹配,计算深度,最后选取深度小的点为最佳匹配点,匹配效果好。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,并可依照说明书的内容予以实施,以下以本发明的较佳实施例详细说明如后。
附图说明
图1为本发明基于图像分割的深度不连续区域立体匹配算法流程图。
具体实施方式
为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,对依据本发明提出的基于图像分割的深度不连续区域立体匹配算法其具体实施方式、特征及其功效,详细说明如后。
实施例1
本发明的基于图像分割的深度不连续区域立体匹配算法包括如下步骤:
1.读取模板图像。
2.读取待匹配图像,模板图像和待匹配图像由摄像机在不同角度拍摄同一场景得到。
3.鼠标点选目标点,在模板图像中选择需要匹配的点坐标P。
4.获取搜索路径,根据对极几何原理,利用SIFT匹配点对计算不同视角拍摄的模板图像和待匹配图像间的基本矩阵,进而可获得目标点在待匹配图像中的极线,确定搜索路径。
5.邻域矩形窗口内图像分割:确定目标点周围矩形窗口W,选择大小为50*50的矩形窗口,窗口W内利用Meanshift进行图像分割,设置最小分割区域为50个像素。
6.逐步选取搜索路径上一点,在待匹配图像搜索路径上,以步阶为1像素,逐步搜索待匹配点坐标,存入集合Points中。
7.判断目标点是否在分割区域内部,由于分割误差,当目标点与最近边界距离超过2个像素时,认为该目标点在分割区域内部。
8.获取分割区域邻域窗口:目标点在分割区域内部时,获取目标点所在的分割区域,作为其邻域窗口。
9.自适应权重NCC匹配,根据原理说明中公式1计算匹配值,
10.WTA选择最佳匹配点:利用自适应权重NCC匹配方法,计算每个候选点域目标点间的匹配值,选取匹配值最大的点作为最佳匹配点。
11.分割区域合并分类:选择与目标点相邻的一个区域w1;与窗口W中剩余各分割区域进行稠密直方图匹配,选择匹配最好的且匹配值大于某一阈值的区域w2,将w1与w2合并为新的w1;重复上述操作直到当最好的匹配值小于某一阈值或剩余0个区域时,直方图匹配结束;将剩余各区域合并为窗口w3,至此,合并结束并分为两窗口w1和w3。
12.选择每个区域内一点:对于合并后的区域w1和w3,选择每个区域内一点,且点到最近距离大于2。
13.分别计算两最佳匹配点深度:利用已知或自己计算得出的摄像机参数计算两最佳匹配点三维深度。
14.深度较小点为最终匹配点:选择深度较小的点作为目标点在待匹配图像中的匹配点。
原理说明
基于图像分割的立体匹配算法主要结合场景的实际结构,自适应选取邻域窗口的大小和形状,可应用于任何场景的立体匹配算法中。
步骤9中自适应权重NCC匹配算法如下所示:
设pc为分割区域内一目标点,Sc为该分割区域,pi为窗口W中任一点,
则pi对pc的贡献率(权重)为:
其中dc(x,y)表示x与y间的欧式距离,则上述指数函数参数里的分子部分表示pi与pc的颜色距离(一般选择CIELAB颜色空间)。
根据上述权重计算公式,可分别计算模板图像分割区域内各点的贡献权重,wr表示模板图像中点的权重,wt表示待匹配图像中点的权重。则某候选点与目标点间NCC匹配值计算方式如下所示为:
其中p′c为候选点,Wr为模板图像中目标点邻域的矩形窗口,Wt为待匹配图像中候选点邻域的矩形窗口,pi相对于pc的位置关系与p′c相对于p′c的位置关系完全相同。根据经验,参数γ1,γ2可均选为5,也可选为不同值。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。