CN108564604B - 基于平面约束和三角剖分的双目视觉立体匹配方法及装置 - Google Patents
基于平面约束和三角剖分的双目视觉立体匹配方法及装置 Download PDFInfo
- Publication number
- CN108564604B CN108564604B CN201810252302.6A CN201810252302A CN108564604B CN 108564604 B CN108564604 B CN 108564604B CN 201810252302 A CN201810252302 A CN 201810252302A CN 108564604 B CN108564604 B CN 108564604B
- Authority
- CN
- China
- Prior art keywords
- type
- point
- parallax
- area
- plane
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/136—Segmentation; Edge detection involving thresholding
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
- G06T2207/10012—Stereo images
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
本发明实施例提供了一种基于平面约束和三角剖分的双目视觉立体匹配方法及装置。该方法包括:获取两个摄像机采集的左右图像,将任一幅作为参考图像;确定参考图像的支持点并计算视差;按预设方式分割参考图像;将各分割区域分为第一类和/或第二类分割区域;将每个第一类分割区域二次分割;根据每个子分割区域的支持点及视差,确定该区域内非支持点的视差;将每个第二类分割区域三角剖分;根据每个三角形区域的顶点及视差确定该区域内非支持点的视差搜索范围;将该范围对应的待匹配点与非支持点逐像素匹配,确定非支持点的视差。本发明能够对遮挡区域及大面积无纹理区域更准确地匹配。且缩小了小面积分割区域的视差搜索范围,提高了匹配效率。
Description
技术领域
本发明涉及计算机视觉技术领域,特别是涉及一种基于平面约束和三角剖分的双目视觉立体匹配方法及装置。
背景技术
双目立体视觉主要包括四个步骤:双目摄像机标定、获取二维图像对、图像校正、双目视觉立体匹配。其中,双目视觉立体匹配包括:首先用双目摄像机或两个平行放置的摄像机同时拍摄同一物理场景,得到左右图像;然后找到场景中同一目标在左右图像中的投影点,称其为对应点;最后根据对应点的视差,即对应点在像素坐标系u轴方向的偏移量生成视差图。根据所生成的视差图以及相似三角形原理可进一步计算出所拍摄物理场景中所述目标与摄像机的实际距离,该过程也称为立体视觉深度计算。立体视觉深度计算被广泛应用在三维场景重建、移动机器人自主导航等实际应用中,同时在医学成像、工业检测等领域中的应用也越来也广泛。
目前常用的双目视觉立体匹配算法有:基于支持窗口的局部算法、基于图像切割或动态规划的全局算法、基于最小生成树的非局部匹配算法等。
由于所述左右图像从是从不同拍摄角度获得的,不可避免会有遮挡区域或大面积无纹理区域的存在。其中,遮挡区域是指只在一幅图像中可见,在另一幅图像中没有对应像素信息的区域,通常是由于拍摄角度不同而造成的。大面积无纹理区域通常是指那些没有明显特征点的区域,例如室内区域中的白色墙壁等。而上述立体匹配算法都是逐像素进行匹配的,因而对于遮挡区域的像素信息的缺失以及大面积无纹理区域在匹配时的二义性,上述立体匹配算法均不能很好地解决遮挡区域或大面积无纹理区域的匹配,会造成匹配错误率较高以及匹配效率较低。
发明内容
本发明实施例的目的在于提供一种基于平面约束和三角剖分的双目视觉立体匹配方法及装置,以降低双目视觉立体匹配的匹配错误率,并提高匹配效率。具体技术方案如下:
为达到上述目的,第一方面,本发明实施提供了一种基于平面约束和三角剖分的双目视觉立体匹配方法,该方法包括:
获取两个平行放置的摄像机在同一时间分别采集的同一拍摄场景的左图像和右图像,并将其中任一幅作为参考图像,另一幅作为待匹配图像;
确定所述参考图像中的支持点,并计算各所述支持点的视差;其中,所述支持点为所述参考图像中的、在所述待匹配图像中有唯一且正确匹配点的像素点;
按照预设的图像分割方式,对所述参考图像进行分割,得到多个分割区域;将各所述分割区域划分为分割面积大于第一阈值的第一类分割区域,和/或分割面积不大于所述第一阈值的第二类分割区域;
针对每个第一类分割区域,执行:对该第一类分割区域进行第二次分割,将该第一类分割区域划分为多个第一类子分割区域;根据每个第一类子分割区域内的支持点和支持点的视差,拟合该第一类子分割区域的第一平面方程;根据所述第一平面方程,确定该第一类子分割区域内非支持点的视差;其中,所述多个第一类子分割区域分别对应于所述拍摄场景中不同的物理平面;
针对每个第二类分割区域,执行:对该第二类分割区域进行三角剖分,将该第二类分割区域划分为多个三角形区域;针对每个三角形区域内的每个非支持点,根据该三角形区域的各顶点和各顶点的视差确定该非支持点对应的第一视差搜索范围;将所述第一视差搜索范围内各视差对应的待匹配点与该非支持点进行逐像素匹配,确定该非支持点的视差;其中,所述各顶点均为支持点。
可选地,所述确定所述参考图像中的支持点,包括:
以所述参考图像的左上角像素点作为起点,沿所述参考图像对应的像素坐标系的u轴和v轴,在所述参考图像中构建步长为预设步长的网格;将所述网格中的、除了位于所述参考图像边缘处的交点作为候选支持点;其中,u轴向右,v轴向下;
针对每个候选支持点,计算预先设置的该候选支持点对应的第二视差搜索范围内各视差对应的待匹配点的向量与该候选支持点的向量的距离;若计算得到的所述距离中小于第二阈值的各距离中,最小的距离的个数为1,则将该候选支持点作为支持点;其中,所述第二视差搜索范围内各视差对应的待匹配点的向量,以及所述该候选支持点的向量均根据预设尺寸的sobel算子计算得到。
可选地,所述按照预设的图像分割方式,对所述参考图像进行分割,得到多个分割区域,包括:
按照均值偏移Meanshift图像分割方式,对所述参考图像进行分割,得到至少一个分割区域。
可选地,所述对该第一类分割区域进行第二次分割,将该第一类分割区域划分为多个第一类子分割区域,包括:
按照预设的平面拟合规则,拟合该第一类分割区域内的多个支持点子集对应的物理平面的平面方程;其中,所述多个支持点子集分别对应于所述拍摄场景中不同的物理平面;
在拟合得到的各所述物理平面中,若其中多个物理平面满足预设合并条件,则根据所述多个物理平面内的支持点和支持点的视差,拟合得到合并后物理平面的平面方程;根据合并后物理平面的平面方程和未被合并的物理平面的平面方程,计算各合并后物理平面、未被合并的物理平面间的交线,确定出所述多个第一类子分割区域;其中,所述预设合并条件为:所述多个物理平面中,任一物理平面与至少一个其他物理平面的距离小于第三阈值;
在拟合得到的各所述物理平面中,若其中任意两个物理平面不满足所述预设合并条件,则根据各所述物理平面的平面方程,计算各所述物理平面间的交线,确定出所述多个第一类子分割区域。
可选地,所述按照预设的平面拟合规则,拟合该第一类分割区域内的多个支持点子集对应的物理平面的平面方程,包括:
S1、基于随机抽样一致性RANSAC算法,从该第一类分割区域内的当前支持点集Y中选取目标支持点子集O;其中,所述O为所述Y中、支持点个数最多的支持点子集;
S2、根据所述O的支持点和支持点的视差,拟合所述O对应的物理平面的平面方程;
S3、判断当前未拟合支持点子集Y-O的支持点个数是否少于预设比例的该第一类分割区域内的支持点个数;
若所述Y-O的支持点个数不少于预设比例的该第一类分割区域内的支持点个数,则将所述Y-O作为该第一类分割区域内的当前支持点集,返回执行步骤S1;
若所述Y-O的支持点个数少于预设比例的该第一类分割区域内的支持点个数,则将当前已拟合的物理平面的平面方程作为最终的拟合结果。
可选地,所述根据每个第一类子分割区域内的支持点和支持点的视差,拟合该第一类子分割区域的第一平面方程,包括:
设定第一类子分割区域的第一平面方程为:
d(u,v)=au+bv+c
其中,d(u,v)表示第一类子分割区域内像素点(u,v)的视差,a,b,c为所述第一平面方程的待求解参数,通过以下公式求解所述a,b,c:
其中,ui表示第一类子分割区域内第i个支持点在所述参考图像对应的像素坐标系的u轴的坐标,vi表示第一类子分割区域内第i个支持点在所述参考图像对应的像素坐标系的v轴的坐标,u轴向右,v轴向下,i=1,...,m,m表示第一类子分割区域内的支持点个数,di表示第一类子分割区域内第i个支持点的视差。
可选地,所述针对每个三角形区域内的每个非支持点,根据该三角形区域的各顶点和各顶点的视差确定该非支持点对应的第一视差搜索范围,包括:
针对每个三角形区域,根据该三角形区域内的各顶点和各顶点的视差,确定该三角形区域所在平面的第二平面方程;
根据所述第二平面方程确定该非支持点的视差估计值;
所述第一视差搜索范围包括:所述各顶点的视差、将所述各顶点的视差加和减预设值后的视差、所述视差估计值以及该非支持点所述的预设邻域内的目标支持点的视差;其中,所述目标支持点的视差与根据所述第二平面方程确定的该目标支持点的视差估计值之差的绝对值不超过第四阈值。
可选地,所述将所述第一视差搜索范围内各视差对应的待匹配点与该非支持点进行逐像素匹配,确定该非支持点的视差,包括:
其中,为该非支持点的视差,dn表示所述该非支持点的视差估计值,表示所述第一视差搜索范围内的各视差,N表示所述第一视差搜索范围内的视差数,S表示所述参考图像的支持点集;表示的后验概率,通过以下公式计算:
第二方面,本发明实施例提供了一种基于平面约束和三角剖分的双目视觉立体匹配装置,该装置包括:
获取模块,用于获取两个平行放置的摄像机在同一时间分别采集的同一拍摄场景的左图像和右图像,并将其中任一幅作为参考图像,另一幅作为待匹配图像;
确定模块,用于确定所述参考图像中的支持点,并计算各所述支持点的视差;其中,所述支持点为所述参考图像中的、在所述待匹配图像中有唯一且正确匹配点的像素点;
分割模块,用于按照预设的图像分割方式,对所述参考图像进行分割,得到多个分割区域;将各所述分割区域划分为分割面积大于第一阈值的第一类分割区域,和/或分割面积不大于所述第一阈值的第二类分割区域;
第一执行模块,用于针对每个第一类分割区域,执行:对该第一类分割区域进行第二次分割,将该第一类分割区域划分为多个第一类子分割区域;根据每个第一类子分割区域内的支持点和支持点的视差,拟合该第一类子分割区域的第一平面方程;根据所述第一平面方程,确定该第一类子分割区域内非支持点的视差;其中,所述多个第一类子分割区域分别对应于所述拍摄场景中不同的物理平面;
第二执行模块,用于针对每个第二类分割区域,执行:对该第二类分割区域进行三角剖分,将该第二类分割区域划分为多个三角形区域;针对每个三角形区域内的每个非支持点,根据该三角形区域的各顶点和各顶点的视差确定该非支持点对应的第一视差搜索范围;将所述第一视差搜索范围内各视差对应的待匹配点与该非支持点进行逐像素匹配,确定该非支持点的视差;其中,所述各顶点均为支持点。
第三方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现如上第一方面所述的基于平面约束和三角剖分的双目视觉立体匹配的方法步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如上第一方面所述的基于平面约束和三角剖分的双目视觉立体匹配的方法步骤。
第五方面,本发明实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如上第一方面所述的基于平面约束和三角剖分的双目视觉立体匹配的方法步骤。
本发明实施例提供的基于平面约束和三角剖分的双目视觉立体匹配方法及装置,将参考图像分割后,对面积较大的分割区域进行第二次分割,以确定出对应于不同物理平面的子分割区域;进一步根据子分割区域的支持点和支持点的视差拟合子分割区域的平面方程,并根据该平面方程确定子分割区域内非支持点的视差。同时,对面积较小的分割区域进行三角剖分,划分为多个三角形;进一步根据三角形的顶点和顶点的视差确定三角形内非支持点的第一视差搜索范围,并将该范围内各视差对应的待匹配点与该非支持点进行逐像素匹配,从而确定出该非支持点的视差。
可见,本发明实施例,针对面积较大的分割区域的各子分割区域,基于平面约束的思想,通过各子分割区域的平面方程确定各子分割区域内所有非支持点的视差,能够实现对缺失像素信息的遮挡区域以及存在匹配二义性的大面积无纹理区域更为准确地且鲁棒性更好地匹配,从而降低了匹配错误率。并且本发明实施例,针对面积较小的分割区域进行三角剖分,根据三角形的顶点和顶点视差确定三角形内非支持点的视差搜索范围,极大缩小了非支持点的视差搜索范围,提高了匹配效率。
当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例提供的基于平面约束和三角剖分的双目视觉立体匹配方法的流程图;
图2为图1所示实施例的步骤S104中实现对该第一类分割区域进行第二次分割,将该第一类分割区域划分为多个第一类子分割区域的一种具体流程图;
图3为图2所示实施例中步骤S201的一种具体流程图;
图4为本发明实施例提供的仿真实验结果图;
图5为本发明实施例提供的基于平面约束和三角剖分的双目视觉立体匹配装置的结构图;
图6为本发明实施例提供的一种电子设备的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在双目视觉立体匹配时,为了降低遮挡区域和大面积无纹理区域的匹配错误率,并提高匹配效率,如图1所示,本发明提供了一种基于平面约束和三角剖分的双目视觉立体匹配方法,该方法包括:
S101,获取两个平行放置的摄像机在同一时间分别采集的同一拍摄场景的左图像和右图像,并将其中任一幅作为参考图像,另一幅作为待匹配图像。
为了模仿人的双眼在观看场景时产生的三维立体视觉,在计算机视觉中,可以获取两个平行放置的摄像机在同一时间分别采集的同一拍摄场景的左图像和右图像,以进一步找到该拍摄场景中的目标在左右图像中的投影点,也称为对应点,从而生成视差图。然后,通过相似三角形原理可以将视差图转换为包含摄像机与拍摄场景中各目标的深度信息,即摄像机与拍摄场景中各目标的实际距离的深度图,以进一步进行三维重建。
本实施例中,也可以通过一个双目摄像机的两个摄像单元同时采集一拍摄场景的左右图像。
摄像机所采集的左图像或右图像均可以作为参考图像,若将其中一幅作为参考图像,那么另一幅就是待匹配图像。例如,将左图像作为参考图像,则本发明的目的就是确定出左图像中每个像素点的视差,生成左图像的视差图。在本实施例中,示例性地,将左图像作为参考图像,来详细描述各步骤。
S102,确定所述参考图像中的支持点,并计算各所述支持点的视差;其中,所述支持点为所述参考图像中的、在所述待匹配图像中有唯一且正确匹配点的像素点。
本发明基于这样的观察:实际场景中的某个点通常不是孤立的,而是与其它一些点共存于同一个物理平面,对应地,参考图像中的某个像素点通常不是孤立的,而是与其它一些像素点共同对应于拍摄场景中的同一个物理平面。那么,基于平面约束的思想,如果能够准确地确定参考图像中每个像素点所对应的物理平面,就可以以平面为最小计算单元进行视差值填充,即可以根据像素点对应的物理平面的平面方程来确定该像素点的视差。因而,对于遮挡区域和大面积无纹理区域内的像素点的视差确定具有鲁棒性。
基于上述观察,从另一角度来看,参考图像必然对应了拍摄场景中的至少一个物理平面。为了确定参考图像对应的物理平面的平面方程,本实施例中,可以预先确定出参考图像中的一些支持点,这些支持点是在待匹配图像中有唯一且正确匹配点的像素点,其视差值具有较好的鲁棒性,可以在后续计算中,用来拟合平面方程。
可以理解的是,参考图像中必然存在很多在待匹配图像中有唯一且正确匹配点的像素点,但本实施例中,并不需要将所有的这种像素点都确定出来,而是可以选择性地将这种像素点中的一部分确定为支持点。
在一种实现方式中,确定所述参考图像中的支持点,可以包括以下步骤:
S11,以所述参考图像的左上角像素点作为起点,沿所述参考图像对应的像素坐标系的u轴和v轴,在所述参考图像中构建步长为预设步长的网格;将所述网格中的、除了位于所述参考图像边缘处的交点作为候选支持点;其中,u轴向右,v轴向下。
可以理解,通过在参考图像中构建网格,将网格中的、除了位于参考图像边缘处的交点作为候选支持点,并进一步从候选支持点中确定出支持点的方式可以使支持点均匀地分布在参考图像中。当通过支持点和支持点的视差拟合平面方程时,每个平面内的支持点的分布比较均匀,且不同平面的支持点的密度比较相近,从而可以使拟合得到的平面方程更为准确。
例如,参考图像的尺寸为256×256,左上角像素点为(0,0),预设步长为5个像素,沿参考图像对应的像素坐标系的u轴和v轴,构建网格,则网格中交点处的像素点包括:网格第一行:(0,0),(0,5),(0,10),…,(0,255),网格第二行:(5,0),(5,5),(5,10),…,(5,255),…,网格最后一行:(255,0),(255,5),(255,10),…,(255,255)。在上述交点中,去除参考图像边缘处的交点后,其余交点处的像素点为候选支持点:网格第二行:(5,5),(5,10),…,(5,255),网格第三行:(10,5),(10,10),…,(10,255),…,网格最后一行:(255,5),(255,10),…,(255,255)。
预设步长可以根据实际需要,或经验确定。
S12,针对每个候选支持点,计算预先设置的该候选支持点对应的第二视差搜索范围内各视差对应的待匹配点的向量与该候选支持点的向量的距离;若计算得到的所述距离中小于第二阈值的各距离中,最小的距离的个数为1,则将该候选支持点作为支持点;其中,所述第二视差搜索范围内各视差对应的待匹配点的向量,以及所述该候选支持点的向量均根据预设尺寸的sobel算子计算得到。
视差是拍摄场景中的目标在左右图像上的两个投影点的横坐标的差值,例如,目标在左图像的投影点xl为(5,10),在右图像的投影点xr为(5,8),则xl的视差d(xl)=2。
第二视差搜索范围包括了多个视差值,对于一个候选支持点来说,其对应的第二视差搜索范围内的每个视差值都与待匹配图像中的一个待匹配像素点(简称为待匹配点)对应。例如,对于候选支持点(5,255),其对应的第二视差搜索范围内的一个视差为2,则该视差2对应的待匹配点为(5,253)。
本实施例中,第二视差搜索范围的最小值可以为0,最大值可以根据需要设定,如设定为参考图像的宽度的一半。例如,参考图像的宽度为256,则可以设定第二视差搜索范围为0~128。那么对于候选支持点(5,255)来说,其对应的第二视差搜索范围内各视差对应的待匹配点为:待匹配图像中的像素点(5,137),…,(5,255)。当然,可以理解的是,不同的候选支持点对应的第二视差搜索范围的最大值可以不同。
sobel算子的预设尺寸可以根据实际需要设定,例如设定为3×3。第二阈值也可以根据经验设定,如设定为2。在步骤S12中,通过sobel算子计算得到候选支持点的向量和各待匹配点的向量之后,可以通过计算候选支持点的向量与各待匹配点的向量的距离,确定出候选支持点和各待匹配点之间的距离,如该距离可以是0、1、2等。距离越小,表示候选支持点与待匹配点越相似。进一步地,若计算出的各距离中最小的距离的个数为1,则说明候选支持点有唯一的正确匹配点,那么可以将该候选支持点作为支持点。反之,若计算出的各距离中最小的距离的个数大于1,则说明有多个待匹配点与候选支持点相似,即对候选支持点的匹配出现了二义性,那么该候选支持点不会被作为支持点。
例如:候选支持点L1,其对应的待匹配点有5个,分别为R1-R5,第二阈值为2。如果候选支持点L1与待匹配点R1-R5的距离的分别为:0,1,3,2,1,则在小于第二阈值的各距离中(依次为0,1,1),最小的距离0的个数为1,那么候选支持点L1有唯一的正确匹配点R1,可以将候选支持点作为支持点。如果候选支持点L1与待匹配点R1-R5的距离的分别为:1,1,2,2,2,则在小于第二阈值的各距离中(依次为1,1),最小的距离1的个数为2,那么候选支持点L1的匹配出现了二义性,该候选支持点不会被作为支持点。
若将一个候选支持点作为支持点,则该支持点的视差就是该候选支持点的横坐标与其匹配点的横坐标的差值。
S103,按照预设的图像分割方式,对所述参考图像进行分割,得到多个分割区域;将各所述分割区域划分为分割面积大于第一阈值的第一类分割区域,和/或分割面积不大于所述第一阈值的第二类分割区域。
对参考图像分割的目的在于,尽可能准确地分割出参考图像中对应不同物理平面的分割区域。在一种实现方式中,可以按照均值偏移Meanshift图像分割方式,对所述参考图像进行分割,得到多个分割区域。具体的,在分割过程中,可以针对参考图像的大小,和/或图像的其他属性,根据经验调整Meanshift分割中的颜色半径和空间半径,以使得分割结果尽可能准确。通常情况下,在针对图像大小这个属性调整颜色半径和空间半径时,如果图像相对较大,则颜色半径相对较小,空间半径相对较大。例如,针对大小为450×375的图像,可以将颜色半径设定为30,将空间半径设定为30;针对大小为128×128的图像,可以将颜色半径设定为40,将空间半径设定为20。
但是在实际的分割中,也可能会出现分割错误的情况,即不对应于拍摄场景中的同一平面的不同像素点可能被分割到同一分割区域中。分割区域的面积越大,出现这种错误的可能性越大。因而,本实施例中,可以根据经验设定一个第一阈值,以将面积大于第一阈值的第一类分割区域进行二次分割,并认为面积不大于第一阈值的第二类分割区域内的像素点都对应于同一平面。具体的,采用Meanshift分割参考图像时,第一阈值的设定与Meanshift分割中的颜色半径和空间半径有关。以上述例子为例:在图像大小为450×375,颜色半径为30且空间半径设定为30时,可以将第一阈值设定为800个像素点,即一个分割区域内的像素点个数若超过800个,则该分割区域为第一类分割区域。
通常情况下,空间半径不变时,若颜色半径相对较大,则第一阈值相对较小;颜色半径不变时,若空间半径相对较大,则第一阈值相对较大。
本实施例中,也可以采用其他图像分割方法对参考图像进行分割,本发明对此并不限定。
S104,针对每个第一类分割区域,执行:对该第一类分割区域进行第二次分割,将该第一类分割区域划分为多个第一类子分割区域;根据每个第一类子分割区域内的支持点和支持点的视差,拟合该第一类子分割区域的第一平面方程;根据所述第一平面方程,确定该第一类子分割区域内非支持点的视差;其中,所述多个第一类子分割区域分别对应于所述拍摄场景中不同的物理平面。
由于设定第一类分割区域存在分割错误,即将对应于多个平面的不同分割区域都分割到了同一个第一类分割区域。因而可以对第一类分割区域进行第二次分割,得到多个第一类子分割区域,使每个第一类子分割区域内的像素点都对应于同一平面。
在一种实现方式中,步骤S104中的根据每个第一类子分割区域内的支持点和支持点的视差,拟合该第一类子分割区域的第一平面方程,可以包括:
设定第一类子分割区域的第一平面方程为:
d(u,v)=au+bv+c
其中,d(u,v)表示第一类子分割区域内像素点(u,v)的视差,a,b,c为所述第一平面方程的待求解参数,通过以下公式求解所述a,b,c:
其中,ui表示第一类子分割区域内第i个支持点在所述参考图像对应的像素坐标系的u轴的坐标,vi表示第一类子分割区域内第i个支持点在所述参考图像对应的像素坐标系的v轴的坐标,u轴向右,v轴向下,i=1,...,m,m表示第一类子分割区域内的支持点个数,di表示第一类子分割区域内第i个支持点的视差。
基于每个第一类子分割区域的第一平面方程,可以确定出该第一类子分割区域内非支持点的视差。这里的非支持点是与支持点相对的概念,具体是指待确定视差的像素点。
S105,针对每个第二类分割区域,执行:对该第二类分割区域进行三角剖分,将该第二类分割区域划分为多个三角形区域;针对每个三角形区域内的每个非支持点,根据该三角形区域的各顶点和各顶点的视差确定该非支持点对应的第一视差搜索范围;将所述第一视差搜索范围内各视差对应的待匹配点与该非支持点进行逐像素匹配,确定该非支持点的视差;其中,所述各顶点均为支持点。
本实施例中,虽然认为面积不大于第一阈值的第二类分割区域内的像素点都对应于同一平面。但由于第二类分割区域的面积较小,其包含的支持点个数较少,甚至于有可能没有足够的支持点进行平面拟合。因而,对于第二类分割区域,本发明采用了三角剖分的方法进行视差计算。
三角剖分,即构建Delaunay三角形,是代数拓扑学里的基本研究方法。对一图像区域进行三角剖分后,任意两个三角形或者不相交,或者恰好相交于一条边。本实施例中,由于三角形的各顶点均为支持点,所以三角形内的像素点的视差与三角形各顶点的视差较为相似。而且三角形内的像素点的视差与周围一定范围的支持点的视差也较为相似。将与一个像素点的视差较为相似的视差所对应的待匹配点与该像素点进行逐像素匹配,可以极大地缩小该像素点的视差搜索范围,在保证匹配准确性的基础上,提高了匹配效率,在具体的计算机实现过程中,实现了更快速地匹配计算。
在图1所示实施例的一种实现方式中,如图2所示,步骤S104中的对该第一类分割区域进行第二次分割,将该第一类分割区域划分为多个第一类子分割区域,可以包括:
S201,按照预设的平面拟合规则,拟合该第一类分割区域内的多个支持点子集对应的物理平面的平面方程;其中,所述多个支持点子集分别对应于所述拍摄场景中不同的物理平面。
S202,在拟合得到的各所述物理平面中,若其中多个物理平面满足预设合并条件,则根据所述多个物理平面内的支持点和支持点的视差,拟合得到合并后物理平面的平面方程;根据合并后物理平面的平面方程和未被合并的物理平面的平面方程,计算各合并后物理平面、未被合并的物理平面间的交线,确定出所述多个第一类子分割区域;其中,所述预设合并条件为:所述多个物理平面中,任一物理平面与至少一个其他物理平面的距离小于第三阈值;
本实施例中,针对步骤S201得到的第一类分割区域的多个平面,若其中的两个平面的距离较小,则可以将这两个平面进行合并,看作是一个平面。可以理解,合并后平面的支持点个数要多于未合并的单个平面的支持点个数,那么通过合并后平面的支持点来拟合平面方程,要比单个平面的平面方程更为准确。上述第三阈值可根据经验设定,如设定为2。
具体的,计算两个平面间的距离,可通过以下方式实现:
设定平面1的平面方程为:A1*x+B1*y+C1*d+D1=0,其中心点为(x1,y1,d1),平面2的平面方程为:A2*x+B2*y+C2*d+D2=0,其中心点为(x2,y2,d2),则平面1和平面2间的距离D=dis1+dis2,其中,
具体的,步骤S202中的“根据所述多个物理平面内的支持点和支持点的视差,拟合得到合并后物理平面的平面方程”的实现过程可以参考步骤S104中的“根据每个第一类子分割区域内的支持点和支持点的视差,拟合该第一类子分割区域的第一平面方程”这一步骤的实现过程。
在各合并后的平面、各未合并的平面中,相邻两个平面间的交线上的像素点满足该相邻两个平面各自的平面方程。在确定出所有相邻平面间的交线后,也就确定出了第一类分割区域的多个第一类子分割区域。
S203,在拟合得到的各所述物理平面中,若其中任意两个物理平面不满足所述预设合并条件,则根据各所述物理平面的平面方程,计算各所述物理平面间的交线,确定出所述多个第一类子分割区域。
经过上述步骤S201-S203实现了对第一类分割区域进行二次分割,所得到的每个第一类子分割区域对应了拍摄场景中不同的物理平面。因而本实施例中,可以基于确定出的第一类子分割区域中的支持点拟合该第一类子分割区域的平面方程。
在图2所示实现方式的一种具体实现方式中,如图3所示,步骤S201中的按照预设的平面拟合规则,拟合该第一类分割区域内的多个支持点子集对应的物理平面的平面方程,可以包括:
S301,基于随机抽样一致性RANSAC算法,从该第一类分割区域内的当前支持点集Y中选取目标支持点子集O;其中,所述O为所述Y中、支持点个数最多的支持点子集;
RANSAC算法可以比较准确地将图像中对应于同一平面的像素点选取出来。由于本发明具体是通过对应于一个平面的支持点和支持点的视差拟合该平面的方程。所以本实施例中,只需要通过RANSAC算法将第一类分割区域内的对应于各平面的支持点选取出来即可。具体的,可以按照支持点子集中支持点个数由多到少的顺序,逐一拟合每个支持点子集对应的平面的平面方程。
S302,根据所述O的支持点和支持点的视差,拟合所述O对应的物理平面的平面方程;
具体的,步骤S302的实现过程可以参考步骤S104中的“根据每个第一类子分割区域内的支持点和支持点的视差,拟合该第一类子分割区域的第一平面方程”这一步骤的实现过程。
S303,判断当前未拟合支持点子集Y-O的支持点个数是否少于预设比例的该第一类分割区域内的支持点个数;
可以理解,若当前未拟合支持点子集Y-O的支持点个数太少,甚至当前未拟合支持点子集Y-O已没有足够的支持点进行平面拟合,那么在这种情况下,就不能根据当前未拟合支持点子集Y-O的支持点来拟合其平面方程。具体的,上述预设比例可以根据经验设定,如设定为10%。
S304,若所述Y-O的支持点个数不少于预设比例的该第一类分割区域内的支持点个数,则将所述Y-O作为该第一类分割区域内的当前支持点集,返回执行步骤S301;
S305,若所述Y-O的支持点个数少于预设比例的该第一类分割区域内的支持点个数,则将当前已拟合的物理平面的平面方程作为最终的拟合结果。
对于剩余的未拟合的支持点子集Y-O的支持点,会在图2所示实施方式中的步骤S202或步骤S203中确定平面交线的过程中,被包含在某个第一类子分割区域内。具体的,这些未拟合的支持点可能会被包含在不同的第一类子分割区域,或者可能会被包含在相同的第一类子分割区域。
经过上述步骤S301-S305的迭代,可以得到第一类分割区域内多个不同平面的平面方程。而且在具体的计算机实现过程中,可以同时对多个第一类分割区域进行上述步骤S301-S305的迭代处理,因此提高了匹配效率。
在图1所示实施例的一种实现方式中,步骤S105中的针对每个三角形区域内的每个非支持点,根据该三角形区域的各顶点和各顶点的视差确定该非支持点对应的第一视差搜索范围,可以包括:
针对每个三角形区域,根据该三角形区域内的各顶点和各顶点的视差,确定该三角形区域所在平面的第二平面方程;
根据所述第二平面方程确定该非支持点的视差估计值;
所述第一视差搜索范围包括:所述各顶点的视差、将所述各顶点的视差加和减预设值后的视差、所述视差估计值以及该非支持点所属的预设邻域内的目标支持点的视差;其中,所述目标支持点的视差与根据所述第二平面方程确定的该目标支持点的视差估计值之差的绝对值不超过第四阈值。
在上述实现方式中,“针对每个三角形区域,根据该三角形区域内的各顶点和各顶点的视差,确定该三角形区域所在平面的第二平面方程”的实现过程可以参考步骤S104中的“根据每个第一类子分割区域内的支持点和支持点的视差,拟合该第一类子分割区域的第一平面方程”这一步骤的实现过程。
上述预设值可以为一个值或多个值,如果为一个值,则可以为1,如果为多个值,则可以为1、2等。例如:三角形一个顶点的视差值为2,预设值为1,则将顶点视差加和减预设值后的视差为:1和3。
上述该非支持点所属的预设邻域可以是:将参考图像划分为多个预设大小的矩形区域后,根据该非支持点的坐标确定出其所属的矩形区域。更为具体地,可以对每个矩形区域进行位置标记,根据该非支持点的坐标确定其所属的矩形区域的位置标记,也就确定出该非支持点所述的矩形区域是哪个矩形区域。例如:参考图像为40×40的图像,将其划分为4个20×20的小区域,将这4个矩形区域分别标记为(0,0)、(0,1)、(1,0)、(1,1)。一个非支持点的坐标为(3,5),则3/20=0,5/20=0,所以它属于(0,0)这个区域;另一个非支持点的坐标为(35,2),同理35/20=1,2/20=0,则它属于(1,0)这个矩形区域。上述预设大小可根据经验设定,如设定为20×20。同样,上述第四阈值也可以根据经验设定,如设定为2。
确定出三角形内一个非支持点的第一视差搜索范围后,可以将该第一视差搜索范围的各视差对应的各待匹配点与该非支持点进行逐一匹配,以从各待匹配点中确定出该支持点的匹配点。
在图1所示实施例的一种实现方式中,步骤S105中的将所述第一视差搜索范围内各视差对应的待匹配点与该非支持点进行逐像素匹配,确定该非支持点的视差,可以包括:
其中,为该非支持点的视差,dn表示所述该非支持点的视差估计值,表示所述第一视差搜索范围内的各视差,N表示所述第一视差搜索范围内的视差数,S表示所述参考图像的支持点集;表示的后验概率,通过以下公式计算:
上述以及是一种概率化的表示。具体的,本实施例中,可以计算非支持点与各待匹配点的相似度,该相似度可以用非支持点的像素值与待匹配点的像素值之差的绝对值表示。如果一个待匹配点的像素值与非支持点的像素值之差的绝对值越小,表示这个待匹配点与非支持点越相似,则这个待匹配点是非支持点的正确匹配点的概率就越大。
本发明实施例提供的基于平面约束和三角剖分的双目视觉立体匹配方法,针对面积较大的分割区域的各子分割区域,基于平面约束的思想,通过各子分割区域的平面方程确定各子分割区域内所有非支持点的视差,能够实现对缺失像素信息的遮挡区域以及存在匹配二义性的大面积无纹理区域更为准确地且鲁棒性更好地匹配,从而降低了匹配错误率。并且本发明实施例,针对面积较小的分割区域进行三角剖分,根据三角形的顶点和顶点视差确定三角形内非支持点的视差搜索范围,极大缩小了非支持点的视差搜索范围,提高了匹配效率。
为了验证本发明实施例提供的基于平面约束和三角剖分的双目视觉立体匹配方法的有益效果,本发明通过仿真实验进行了具体的验证,如图4所示。其中,(a)是Cones测试集中的左图;(b)是Cones测试集中的右图;(c)是Middlebury平台提供的以(a)为参考图像的真实视差图;(d)是对(a)进行Meanshift分割后的结果图;(e)中黑色框表示Meanshift分割结果图中分割错误的第一类分割区域;(f)是从(e)中提取的待进行二次分割的某一第一类分割区域的轮廓;(g)是将(f)中的第一类分割区域进行RANSAC平面拟合后得到的二次分割结果图;(h)是对(a)进行三角剖分得到的三角形;(i)是基于本发明提出的匹配方法得到的视差图;(j)是用基于最小生成树的非局部方法得到的视差图;(k)是基于LIBELAS(Library for Efficient Large-scale Stereo Matching)算法得到的视差图;(1)是基于支持窗口的局部方法得到的视差图。
在仿真实验中,为了提高匹配效率,利用现有的计算资源对参考图像同时进行两路运算,一路对参考图像进行Meanshift分割,另一路直接对整幅参考图像进行三角剖分,如(h)所示。
通过图4的仿真结果可以看出,基于本发明提出的基于平面约束和三角剖分的双目视觉立体匹配方法得到的视差图的效果要明显优于基于其他三种方法得到的视差图。
为了进一步验证发明实施例提供的基于平面约束和三角剖分的双目视觉立体匹配方法的有益效果,如表1所示,本发明针对来自Middlebury平台提供的四组标准测试图,具体为:Venus、Cones、Tsukuba和Teddy,比较了本申请提供的基于平面约束和三角剖分的双目视觉立体匹配方法与其它三种立体匹配算法在匹配每一组标准测试图时的匹配错误率。具体地,针对每一组标准测试图,比较了三种具体情况下的匹配错误率。其中,其他三种立体匹配算法包括:导向滤波(Guided filter,简称GF)算法;非局部平均(Non-Local,简称NL)算法;LIBELAS算法。三种具体情况包括:Nonocc:不考虑存在遮挡区域的情况;All:包含全图所有区域的情况;Disc:只考虑深度不连续区域的情况。
表1本发明方法与其他三种立体匹配算法的匹配错误率
从表1中可以看出,在大多数情况下,本发明提出的基于平面约束和三角剖分的双目视觉立体匹配方法的匹配错误率要低于其他三种立体匹配算法的匹配错误率。因此,本发明方法的立体匹配效果要优于其他三种立体匹配算法。
图5为本发明实施例提供的一种基于平面约束和三角剖分的双目视觉立体匹配装置的结构图,该装置包括:
获取模块501,用于获取两个平行放置的摄像机在同一时间分别采集的同一拍摄场景的左图像和右图像,并将其中任一幅作为参考图像,另一幅作为待匹配图像;
确定模块502,用于确定所述参考图像中的支持点,并计算各所述支持点的视差;其中,所述支持点为所述参考图像中的、在所述待匹配图像中有唯一且正确匹配点的像素点;
分割模块503,用于按照预设的图像分割方式,对所述参考图像进行分割,得到多个分割区域;将各所述分割区域划分为分割面积大于第一阈值的第一类分割区域,和/或分割面积不大于所述第一阈值的第二类分割区域;
第一执行模块504,用于针对每个第一类分割区域,执行:对该第一类分割区域进行第二次分割,将该第一类分割区域划分为多个第一类子分割区域;根据每个第一类子分割区域内的支持点和支持点的视差,拟合该第一类子分割区域的第一平面方程;根据所述第一平面方程,确定该第一类子分割区域内非支持点的视差;其中,所述多个第一类子分割区域分别对应于所述拍摄场景中不同的物理平面;
第二执行模块505,用于针对每个第二类分割区域,执行:对该第二类分割区域进行三角剖分,将该第二类分割区域划分为多个三角形区域;针对每个三角形区域内的每个非支持点,根据该三角形区域的各顶点和各顶点的视差确定该非支持点对应的第一视差搜索范围;将所述第一视差搜索范围内各视差对应的待匹配点与该非支持点进行逐像素匹配,确定该非支持点的视差;其中,所述各顶点均为支持点。
本发明实施例提供的基于平面约束和三角剖分的双目视觉立体匹配装置的有益效果与方法实施例的有益效果相同。该装置针对面积较大的分割区域的各子分割区域,基于平面约束的思想,通过各子分割区域的平面方程确定各子分割区域内所有非支持点的视差,能够实现对缺失像素信息的遮挡区域以及存在匹配二义性的大面积无纹理区域更为准确地且鲁棒性更好地匹配,从而降低了匹配错误率。并且本发明实例,针对面积较小的分割区域进行三角剖分,根据三角形的顶点和顶点视差确定三角形内非支持点的视差搜索范围,极大缩小了非支持点的视差搜索范围,提高了匹配效率。
可选地,所述确定模块502包括:网格构建子模块、确定子模块。
网格构建子模块,用于以所述参考图像的左上角像素点作为起点,沿所述参考图像对应的像素坐标系的u轴和v轴,在所述参考图像中构建步长为预设步长的网格;将所述网格中的、除了位于所述参考图像边缘处的交点作为候选支持点;其中,u轴向右,v轴向下。
第一确定子模块,用于针对每个候选支持点,计算预先设置的该候选支持点对应的第二视差搜索范围内各视差对应的待匹配点的向量与该候选支持点的向量的距离;若计算得到的所述距离中小于第二阈值的各距离中,最小的距离的个数为1,则将该候选支持点作为支持点;其中,所述第二视差搜索范围内各视差对应的待匹配点的向量,以及所述该候选支持点的向量均根据预设尺寸的sobel算子计算得到。
可选地,所述分割模块503,具体用于按照均值偏移Meanshift图像分割方式,对所述参考图像进行分割,得到至少一个分割区域。
可选地,所述第一执行模块504包括:第一拟合子模块、第二拟合子模块、第二确定子模块和第三确定子模块。
第一拟合子模块,用于按照预设的平面拟合规则,拟合该第一类分割区域内的多个支持点子集对应的物理平面的平面方程;其中,所述多个支持点子集分别对应于所述拍摄场景中不同的物理平面;在拟合得到的各所述物理平面中,若其中多个物理平面满足预设合并条件,则触发第二拟合子模块;在拟合得到的各所述物理平面中,若其中任意两个物理平面不满足所述预设合并条件,则触发第三确定子模块;其中,所述预设合并条件为:所述多个物理平面中,任一物理平面与至少一个其他物理平面的距离小于第三阈值。
第二拟合子模块,用于根据所述多个物理平面内的支持点和支持点的视差,拟合得到合并后物理平面的平面方程,触发第二确定子模块;
第二确定子模块,用于根据合并后物理平面的平面方程和未被合并的物理平面的平面方程,计算各合并后物理平面、未被合并的物理平面间的交线,确定出所述多个第一类子分割区域。
第三确定子模块,用于根据各所述物理平面的平面方程,计算各所述物理平面间的交线,确定出所述多个第一类子分割区域。
可选地,第一拟合子模块包括:选取子单元、拟合子单元和判断子单元。
选取子单元,用于基于随机抽样一致性RANSAC算法,从该第一类分割区域内的当前支持点集Y中选取目标支持点子集O;其中,所述O为所述Y中、支持点个数最多的支持点子集。
拟合子单元,用于根据所述O的支持点和支持点的视差,拟合所述O对应的物理平面的平面方程。
判断子单元,用于判断当前未拟合支持点子集Y-O的支持点个数是否少于预设比例的该第一类分割区域内的支持点个数;若所述Y-O的支持点个数不少于预设比例的该第一类分割区域内的支持点个数,则将所述Y-O作为该第一类分割区域内的当前支持点集,触发选取子单元;若所述Y-O的支持点个数少于预设比例的该第一类分割区域内的支持点个数,则将当前已拟合的物理平面的平面方程作为最终的拟合结果。
可选地,所述第一执行模块504,具体用于设定第一类子分割区域的第一平面方程为:
d(u,v)=au+bv+c
其中,d(u,v)表示第一类子分割区域内像素点(u,v)的视差,a,b,c为所述第一平面方程的待求解参数,通过以下公式求解所述a,b,c:
其中,ui表示第一类子分割区域内第i个支持点在所述参考图像对应的像素坐标系的u轴的坐标,vi表示第一类子分割区域内第i个支持点在所述参考图像对应的像素坐标系的v轴的坐标,u轴向右,v轴向下,i=1,...,m,m表示第一类子分割区域内的支持点个数,di表示第一类子分割区域内第i个支持点的视差。
可选地,第二执行模块505,包括:第四确定子模块、第五确定子模块。
第四确定子模块,用于针对每个三角形区域,根据该三角形区域内的各顶点和各顶点的视差,确定该三角形区域所在平面的第二平面方程。
第五确定子模块,用于根据所述第二平面方程确定该非支持点的视差估计值。
所述第一视差搜索范围包括:所述各顶点的视差、将所述各顶点的视差加和减预设值后的视差、第五确定子模块确定的所述视差估计值以及以该非支持点为中心的预设邻域内的目标支持点的视差;其中,所述目标支持点的视差与根据所述第二平面方程确定的该目标支持点的视差估计值之差的绝对值不超过第四阈值。
其中,为该非支持点的视差,dn表示所述该非支持点的视差估计值,表示所述第一视差搜索范围内的各视差,N表示所述第一视差搜索范围内的视差数,S表示所述参考图像的支持点集;表示的后验概率,通过以下公式计算:
本发明实施例还提供了一种电子设备,如图6所示,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信,
存储器603,用于存放计算机程序;
处理器601,用于执行存储器603上所存放的程序时,实现如下步骤:
获取两个平行放置的摄像机在同一时间分别采集的同一拍摄场景的左图像和右图像,并将其中任一幅作为参考图像,另一幅作为待匹配图像;
确定所述参考图像中的支持点,并计算各所述支持点的视差;其中,所述支持点为所述参考图像中的、在所述待匹配图像中有唯一且正确匹配点的像素点;
按照预设的图像分割方式,对所述参考图像进行分割,得到多个分割区域;将各所述分割区域划分为分割面积大于第一阈值的第一类分割区域,和/或分割面积不大于所述第一阈值的第二类分割区域;
针对每个第一类分割区域,执行:对该第一类分割区域进行第二次分割,将该第一类分割区域划分为多个第一类子分割区域;根据每个第一类子分割区域内的支持点和支持点的视差,拟合该第一类子分割区域的第一平面方程;根据所述第一平面方程,确定该第一类子分割区域内非支持点的视差;其中,所述多个第一类子分割区域分别对应于所述拍摄场景中不同的物理平面;
针对每个第二类分割区域,执行:对该第二类分割区域进行三角剖分,将该第二类分割区域划分为多个三角形区域;针对每个三角形区域内的每个非支持点,根据该三角形区域的各顶点和各顶点的视差确定该非支持点对应的第一视差搜索范围;将所述第一视差搜索范围内各视差对应的待匹配点与该非支持点进行逐像素匹配,确定该非支持点的视差;其中,所述各顶点均为支持点。
本发明实施例提供的电子设备,处理器通过执行存储器上所存放的程序时,针对面积较大的分割区域的各子分割区域,基于平面约束的思想,通过各子分割区域的平面方程确定各子分割区域内所有非支持点的视差,能够实现对缺失像素信息的遮挡区域以及存在匹配二义性的大面积无纹理区域更为准确地且鲁棒性更好地匹配,从而降低了匹配错误率。并且本发明实例,针对面积较小的分割区域进行三角剖分,根据三角形的顶点和顶点视差确定三角形内非支持点的视差搜索范围,极大缩小了非支持点的视差搜索范围,提高了匹配效率。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一的基于平面约束和三角剖分的双目视觉立体匹配方法。
本发明实施例提供的计算机可读存储介质内存储的指令,当其在计算机上运行时,针对面积较大的分割区域的各子分割区域,基于平面约束的思想,通过各子分割区域的平面方程确定各子分割区域内所有非支持点的视差,能够实现对缺失像素信息的遮挡区域以及存在匹配二义性的大面积无纹理区域更为准确地且鲁棒性更好地匹配,从而降低了匹配错误率。并且本发明实例,针对面积较小的分割区域进行三角剖分,根据三角形的顶点和顶点视差确定三角形内非支持点的视差搜索范围,极大缩小了非支持点的视差搜索范围,提高了匹配效率。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一的基于平面约束和三角剖分的双目视觉立体匹配方法。
本发明实施例提供的包含指令的计算程序产品,当其在计算机上运行时,针对面积较大的分割区域的各子分割区域,基于平面约束的思想,通过各子分割区域的平面方程确定各子分割区域内所有非支持点的视差,能够实现对缺失像素信息的遮挡区域以及存在匹配二义性的大面积无纹理区域更为准确地且鲁棒性更好地匹配,从而降低了匹配错误率。并且本发明实例,针对面积较小的分割区域进行三角剖分,根据三角形的顶点和顶点视差确定三角形内非支持点的视差搜索范围,极大缩小了非支持点的视差搜索范围,提高了匹配效率。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本发明实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置/电子设备/存储介质/计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (9)
1.一种基于平面约束和三角剖分的双目视觉立体匹配方法,其特征在于,包括:
获取两个平行放置的摄像机在同一时间分别采集的同一拍摄场景的左图像和右图像,并将其中任一幅作为参考图像,另一幅作为待匹配图像;
确定所述参考图像中的支持点,并计算各所述支持点的视差;其中,所述支持点为所述参考图像中的、在所述待匹配图像中有唯一且正确匹配点的像素点;
按照预设的图像分割方式,对所述参考图像进行分割,得到多个分割区域;将各所述分割区域划分为分割面积大于第一阈值的第一类分割区域,和分割面积不大于所述第一阈值的第二类分割区域;
针对每个第一类分割区域,执行:对该第一类分割区域进行第二次分割,将该第一类分割区域划分为多个第一类子分割区域;根据每个第一类子分割区域内的支持点和支持点的视差,拟合该第一类子分割区域的第一平面方程;根据所述第一平面方程,确定该第一类子分割区域内非支持点的视差;其中,所述多个第一类子分割区域分别对应于所述拍摄场景中不同的物理平面;
针对每个第二类分割区域,执行:对该第二类分割区域进行三角剖分,将该第二类分割区域划分为多个三角形区域;针对每个三角形区域内的每个非支持点,根据该三角形区域的各顶点和各顶点的视差确定该非支持点对应的第一视差搜索范围;将所述第一视差搜索范围内各视差对应的待匹配点与该非支持点进行逐像素匹配,确定该非支持点的视差;其中,所述各顶点均为支持点;
其中,所述对该第一类分割区域进行第二次分割,将该第一类分割区域划分为多个第一类子分割区域,包括:
按照预设的平面拟合规则,拟合该第一类分割区域内的多个支持点子集对应的物理平面的平面方程;其中,所述多个支持点子集分别对应于所述拍摄场景中不同的物理平面;
在拟合得到的各所述物理平面中,若其中多个物理平面满足预设合并条件,则根据所述多个物理平面内的支持点和支持点的视差,拟合得到合并后物理平面的平面方程;根据合并后物理平面的平面方程和未被合并的物理平面的平面方程,计算各合并后物理平面、未被合并的物理平面间的交线,确定出所述多个第一类子分割区域;其中,所述预设合并条件为:所述多个物理平面中,任一物理平面与至少一个其他物理平面的距离小于第三阈值;
在拟合得到的各所述物理平面中,若其中任意两个物理平面不满足所述预设合并条件,则根据各所述物理平面的平面方程,计算各所述物理平面间的交线,确定出所述多个第一类子分割区域。
2.根据权利要求1所述的方法,其特征在于,所述确定所述参考图像中的支持点,包括:
以所述参考图像的左上角像素点作为起点,沿所述参考图像对应的像素坐标系的u轴和v轴,在所述参考图像中构建步长为预设步长的网格;将所述网格中的、除了位于所述参考图像边缘处的交点作为候选支持点;其中,u轴向右,v轴向下;
针对每个候选支持点,计算预先设置的该候选支持点对应的第二视差搜索范围内各视差对应的待匹配点的向量与该候选支持点的向量的距离;若计算得到的所述距离中小于第二阈值的各距离中,最小的距离的个数为1,则将该候选支持点作为支持点;其中,所述第二视差搜索范围内各视差对应的待匹配点的向量,以及所述该候选支持点的向量均根据预设尺寸的sobel算子计算得到。
3.根据权利要求1所述的方法,其特征在于,所述按照预设的图像分割方式,对所述参考图像进行分割,得到多个分割区域,包括:
按照均值偏移Meanshift图像分割方式,对所述参考图像进行分割,得到多个分割区域。
4.根据权利要求1所述的方法,所述按照预设的平面拟合规则,拟合该第一类分割区域内的多个支持点子集对应的物理平面的平面方程,包括:
S1、基于随机抽样一致性RANSAC算法,从该第一类分割区域内的当前支持点集Y中选取目标支持点子集O;其中,所述O为所述Y中、支持点个数最多的支持点子集;
S2、根据所述O的支持点和支持点的视差,拟合所述O对应的物理平面的平面方程;
S3、判断当前未拟合支持点子集Y-O的支持点个数是否少于预设比例的该第一类分割区域内的支持点个数;
若所述Y-O的支持点个数不少于预设比例的该第一类分割区域内的支持点个数,则将所述Y-O作为该第一类分割区域内的当前支持点集,返回执行步骤S1;
若所述Y-O的支持点个数少于预设比例的该第一类分割区域内的支持点个数,则将当前已拟合的物理平面的平面方程作为最终的拟合结果。
5.根据权利要求1所述的方法,其特征在于,所述根据每个第一类子分割区域内的支持点和支持点的视差,拟合该第一类子分割区域的第一平面方程,包括:
设定第一类子分割区域的第一平面方程为:
d(u,v)=au+bv+c
其中,d(u,v)表示第一类子分割区域内像素点(u,v)的视差,a,b,c为所述第一平面方程的待求解参数,通过以下公式求解所述a,b,c:
其中,ui表示第一类子分割区域内第i个支持点在所述参考图像对应的像素坐标系的u轴的坐标,vi表示第一类子分割区域内第i个支持点在所述参考图像对应的像素坐标系的v轴的坐标,u轴向右,v轴向下,i=1,...,m,m表示第一类子分割区域内的支持点个数,di表示第一类子分割区域内第i个支持点的视差。
6.根据权利要求1所述的方法,其特征在于,所述针对每个三角形区域内的每个非支持点,根据该三角形区域的各顶点和各顶点的视差确定该非支持点对应的第一视差搜索范围,包括:
针对每个三角形区域,根据该三角形区域内的各顶点和各顶点的视差,确定该三角形区域所在平面的第二平面方程;
根据所述第二平面方程确定该非支持点的视差估计值;
所述第一视差搜索范围包括:所述各顶点的视差、将所述各顶点的视差加和减预设值后的视差、所述视差估计值以及该非支持点所属的预设邻域内的目标支持点的视差;其中,所述目标支持点的视差与根据所述第二平面方程确定的该目标支持点的视差估计值之差的绝对值不超过第四阈值。
8.一种基于平面约束和三角剖分的双目视觉立体匹配装置,其特征在于,包括:
获取模块,用于获取两个平行放置的摄像机在同一时间分别采集的同一拍摄场景的左图像和右图像,并将其中任一幅作为参考图像,另一幅作为待匹配图像;
确定模块,用于确定所述参考图像中的支持点,并计算各所述支持点的视差;其中,所述支持点为所述参考图像中的、在所述待匹配图像中有唯一且正确匹配点的像素点;
分割模块,用于按照预设的图像分割方式,对所述参考图像进行分割,得到多个分割区域;将各所述分割区域划分为分割面积大于第一阈值的第一类分割区域,和分割面积不大于所述第一阈值的第二类分割区域;
第一执行模块,用于针对每个第一类分割区域,执行:对该第一类分割区域进行第二次分割,将该第一类分割区域划分为多个第一类子分割区域;根据每个第一类子分割区域内的支持点和支持点的视差,拟合该第一类子分割区域的第一平面方程;根据所述第一平面方程,确定该第一类子分割区域内非支持点的视差;其中,所述多个第一类子分割区域分别对应于所述拍摄场景中不同的物理平面;
第二执行模块,用于针对每个第二类分割区域,执行:对该第二类分割区域进行三角剖分,将该第二类分割区域划分为多个三角形区域;针对每个三角形区域内的每个非支持点,根据该三角形区域的各顶点和各顶点的视差确定该非支持点对应的第一视差搜索范围;将所述第一视差搜索范围内各视差对应的待匹配点与该非支持点进行逐像素匹配,确定该非支持点的视差;其中,所述各顶点均为支持点;
其中,所述第一执行模块包括:第一拟合子模块、第二拟合子模块、第二确定子模块和第三确定子模块;
所述第一拟合子模块,用于按照预设的平面拟合规则,拟合该第一类分割区域内的多个支持点子集对应的物理平面的平面方程;其中,所述多个支持点子集分别对应于所述拍摄场景中不同的物理平面;在拟合得到的各所述物理平面中,若其中多个物理平面满足预设合并条件,则触发所述第二拟合子模块;在拟合得到的各所述物理平面中,若其中任意两个物理平面不满足所述预设合并条件,则触发所述第三确定子模块;其中,所述预设合并条件为:所述多个物理平面中,任一物理平面与至少一个其他物理平面的距离小于第三阈值;
所述第二拟合子模块,用于根据所述多个物理平面内的支持点和支持点的视差,拟合得到合并后物理平面的平面方程,触发所述第二确定子模块;
所述第二确定子模块,用于根据合并后物理平面的平面方程和未被合并的物理平面的平面方程,计算各合并后物理平面、未被合并的物理平面间的交线,确定出所述多个第一类子分割区域;
所述第三确定子模块,用于根据各所述物理平面的平面方程,计算各所述物理平面间的交线,确定出所述多个第一类子分割区域。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-7任一所述的方法步骤。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201810252302.6A CN108564604B (zh) | 2018-03-26 | 2018-03-26 | 基于平面约束和三角剖分的双目视觉立体匹配方法及装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201810252302.6A CN108564604B (zh) | 2018-03-26 | 2018-03-26 | 基于平面约束和三角剖分的双目视觉立体匹配方法及装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN108564604A CN108564604A (zh) | 2018-09-21 |
| CN108564604B true CN108564604B (zh) | 2020-07-03 |
Family
ID=63533162
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201810252302.6A Expired - Fee Related CN108564604B (zh) | 2018-03-26 | 2018-03-26 | 基于平面约束和三角剖分的双目视觉立体匹配方法及装置 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN108564604B (zh) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113141495B (zh) * | 2020-01-16 | 2023-03-24 | 纳恩博(北京)科技有限公司 | 图像处理方法及装置、存储介质、电子装置 |
| CN112116639B (zh) * | 2020-09-08 | 2022-06-07 | 苏州浪潮智能科技有限公司 | 一种图像配准方法、装置及电子设备和存储介质 |
| CN112102504A (zh) * | 2020-09-16 | 2020-12-18 | 成都威爱新经济技术研究院有限公司 | 一种基于混合现实的三维场景和二维图像混合方法 |
| CN112308896B9 (zh) * | 2020-11-06 | 2025-04-18 | 上海肇观电子科技有限公司 | 图像处理方法、芯片电路、装置、电子设备及存储介质 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101312539A (zh) * | 2008-07-03 | 2008-11-26 | 浙江大学 | 用于三维电视的分级图像深度提取方法 |
| CN102982560A (zh) * | 2011-11-02 | 2013-03-20 | 微软公司 | 根据rgb和深度图像的表面分割 |
| CN106709948A (zh) * | 2016-12-21 | 2017-05-24 | 浙江大学 | 一种基于超像素分割的快速双目立体匹配方法 |
| CN107016698A (zh) * | 2017-03-20 | 2017-08-04 | 深圳格兰泰克汽车电子有限公司 | 基于斜平面平滑的双目立体匹配方法及装置 |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101887589B (zh) * | 2010-06-13 | 2012-05-02 | 东南大学 | 一种基于立体视觉的实拍低纹理图像重建方法 |
| US9672609B1 (en) * | 2011-11-11 | 2017-06-06 | Edge 3 Technologies, Inc. | Method and apparatus for improved depth-map estimation |
-
2018
- 2018-03-26 CN CN201810252302.6A patent/CN108564604B/zh not_active Expired - Fee Related
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101312539A (zh) * | 2008-07-03 | 2008-11-26 | 浙江大学 | 用于三维电视的分级图像深度提取方法 |
| CN102982560A (zh) * | 2011-11-02 | 2013-03-20 | 微软公司 | 根据rgb和深度图像的表面分割 |
| CN106709948A (zh) * | 2016-12-21 | 2017-05-24 | 浙江大学 | 一种基于超像素分割的快速双目立体匹配方法 |
| CN107016698A (zh) * | 2017-03-20 | 2017-08-04 | 深圳格兰泰克汽车电子有限公司 | 基于斜平面平滑的双目立体匹配方法及装置 |
Non-Patent Citations (3)
| Title |
|---|
| "Constrained Relative Attitude Determination for Two-Vehicle Formations";Richard Linares et al.;《https://arc.aiaa.org/doi/pdf/10.2514/1.50053》;20120523;全文 * |
| "Efficient High-Resolution Stereo Matching Using Local Plane Sweeps";Sudipta Narayan Sinha et al.;《2014 IEEE Conference on Computer Vision and Pattern Recognition》;20140628;全文 * |
| "Efficient Large-Scale Stereo Matching";Andreas Geiger et al.;《https://www.researchgate.net/publication/220745081》;20101231;第3节 * |
Also Published As
| Publication number | Publication date |
|---|---|
| CN108564604A (zh) | 2018-09-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8199977B2 (en) | System and method for extraction of features from a 3-D point cloud | |
| US8447099B2 (en) | Forming 3D models using two images | |
| US8452081B2 (en) | Forming 3D models using multiple images | |
| CN110276829B (zh) | 通过多尺度体素哈希处理的三维表示 | |
| KR102318023B1 (ko) | 에지를 이용한 3차원 모델 생성 | |
| WO2020119684A1 (zh) | 一种3d导航语义地图更新方法、装置及设备 | |
| CN106033621B (zh) | 一种三维建模的方法及装置 | |
| CN115063550B (zh) | 一种语义点云地图构建方法、系统及智能机器人 | |
| US8463024B1 (en) | Combining narrow-baseline and wide-baseline stereo for three-dimensional modeling | |
| WO2015135323A1 (zh) | 一种摄像机跟踪方法及装置 | |
| CN108564604B (zh) | 基于平面约束和三角剖分的双目视觉立体匹配方法及装置 | |
| WO2022052582A1 (zh) | 一种图像配准方法、装置及电子设备和存储介质 | |
| WO2025156819A1 (zh) | 基于局部加权曲率和两点法的三维点云分割方法及装置 | |
| CN103503033B (zh) | 基于置信分值来合并三维模型 | |
| Zhou et al. | Three-dimensional (3D) reconstruction of structures and landscapes: a new point-and-line fusion method | |
| CN113379826A (zh) | 物流件的体积测量方法以及装置 | |
| CN113052954A (zh) | 基于线段匹配的三维重建方法、装置、终端及存储介质 | |
| EP4246452A1 (en) | Three-dimensional point cloud densification device, three-dimensional point cloud densification method, and program | |
| CN109658497B (zh) | 一种三维模型重建方法及装置 | |
| CN113052880A (zh) | 一种sfm稀疏重建方法、系统及应用 | |
| CN113920275A (zh) | 三角网格构建方法、装置、电子设备及可读存储介质 | |
| WO2023165220A1 (zh) | 一种目标物体的检测方法和装置 | |
| US11087536B2 (en) | Methods, devices and computer program products for generation of mesh in constructed 3D images | |
| CN115131507B (zh) | 图像处理方法、图像处理设备和元宇宙三维重建方法 | |
| US20240355067A1 (en) | Fully automated estimation of scene parameters |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant | ||
| CF01 | Termination of patent right due to non-payment of annual fee | ||
| CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200703 |




























































