CN109801325A - 一种双目立体视觉系统获取视差图的方法及装置 - Google Patents
一种双目立体视觉系统获取视差图的方法及装置 Download PDFInfo
- Publication number
- CN109801325A CN109801325A CN201910028220.8A CN201910028220A CN109801325A CN 109801325 A CN109801325 A CN 109801325A CN 201910028220 A CN201910028220 A CN 201910028220A CN 109801325 A CN109801325 A CN 109801325A
- Authority
- CN
- China
- Prior art keywords
- pixel
- sub
- value
- image
- left image
- 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.)
- Pending
Links
Landscapes
- Image Processing (AREA)
Abstract
本申请公开了一种双目立体视觉系统获取视差图的方法及装置,该方法包括:获取同一场景平行拍摄的左图像和右图像,基于预设窗口以及滑动步长,分别以所述左图像以及所述右图像中每个像素为中心,建立多个与所述预设窗口形状以及大小相同的子区域,确定各个所述子区域中心的第一像素,并基于预设的采样步长分别对各个所述子区域的像素进行采样,得到多个第二像素,以所述第一像素为对称中心,比较各个所述子区域中每一对关于所述对称中心对称的所述第二像素的灰度值,得到所述各个子区域对应的census序列,基于预设的视差范围以及所述各个子区域对应的census序列获得视差图。解决了现有技术中获取视差图的效率较低的技术问题。
Description
技术领域
本申请涉及机器视觉技术领域,尤其涉及一种双目立体视觉系统获取视差图的方法及装置。
背景技术
随着视觉神经学、计算机技术、图像处理技术以及人工智能技术的迅速发展,使得机器人模仿人的视觉系统成为可能,为了使得机器人能够构建三维场景,一般通过双目立体视觉系统,来获取三维场景的深度信息。双目立体视觉系统融合人眼处理视觉景物的方式,通过双目摄像头获取被测物体不同位置的两幅图像,服务器通过将图像预处理、图像分割、立体匹配以及三维重建等图像处理,真实再现三维场景的几何信息。
在获取三维场景的深度信息的过程中,通过立体匹配算法获取不同位置两幅图像的视差图,并基于所述视差图确定三维场景的深度信息。立体匹配算法的类型有多种,例如,绝对差异之和(Sum of absolute differences,SAD)、归一化互相关(NormalizedCross Correlation,NCC)或census变换等算法。
目前,常用的立体匹配算法为census变换。census变换是一种非参数的局部变换,具体的census变换过程为:将变换窗口内中心点的像素作为参考像素,该变换窗口区域内除中心像素之外的所有像素分别与中心像素的灰度值进行比较,进而将变换图像的灰度值变换成census序列,并基于census序列获得视差图。但是,由于census变换获取视差图的过程中,需要将变换窗口中的每一像素灰度值分别与中心像素的灰度值进行比较,计算工作量较大,获取视差图过程的耗时较长,导致获取视差图的效率较低。
发明内容
本申请提供一种双目立体视觉系统获取视差图的方法及装置,用以解决现有技术中获取视差图的效率较低的技术问题。
第一方面,本申请提供一种双目立体视觉系统获取视差图的方法,该方法包括:服务器获取同一场景平行拍摄的左图像和右图像,其中,所述左图像和所述右图像包括多个像素;
基于预设窗口以及滑动步长,分别以所述左图像以及所述右图像中每个像素为中心,建立多个与所述预设窗口形状以及大小相同的子区域;
确定各个所述子区域中心的第一像素,并基于预设的采样步长分别对各个所述子区域的像素进行采样,得到多个第二像素;
以所述第一像素为对称中心,比较各个所述子区域中每一对关于所述对称中心对称的所述第二像素的灰度值,得到所述各个子区域对应的census序列;
基于预设的视差范围以及所述各个子区域对应的census序列获得视差图。
本申请实施例提供的方案中,服务器基于预设窗口,将左图像和右图像进行分块得到多个子区域之后,通过预设的采样步长对各个子区域中的像素进行采样,得到第二像素,并以各个子区域中心的第一像素为对称中心,比较各个子区域中每一对关于第一像素对称的第二像素的灰度值,得到各个子区域对应的census序列。因此,服务器在计算各个子区域对应的census序列的过程中,不仅通过采样减少了计算的像素的数量,还通过中心对称方式的比较像素灰度值减少了比较的次数,进而降低了获取视差图的耗时,提高了获取视差图的效率。
结合第一方面,在第一种可能的实现方式中,所述预设窗口为M*M的正方形,其中,所述M为大于1的奇数。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,基于预设的采样步长分别对各个所述子区域的像素进行采样,包括:
获取所述各个子区域所包含的像素的行列数;
基于所述预设的采样步长以及所述行列数,分别在行和列两个方向上对所述各个子区域的像素进行采样。
结合第一方面,在第三种可能的实现方式中,比较各个所述子区域中每一对关于所述对称中心对称的所述第二像素的灰度值,得到所述各个子区域对应的census序列,包括:
基于所述对称中心,将各个所述子区域中每一对关于所述对称中心对称的所述第二像素的灰度值进行比较,得到多个二进制码元;
基于各个所述子区域中所述第二像素所处的位置,将所述多个二进制码元进行合并,得到所述各个子区域对应的census序列。
本申请实施例提供的方案中,服务器在获取census序列的过程中,基于对称中心,比较每一对关于对称中心对称的第二像素的灰度值,得到多个二进制码元,并基于各个所述子区域中所述第二像素所处的位置,将所述多个二进制码元进行合并,得到所述各个子区域对应的census序列。因此,降低对称中心像素的灰度值的依赖性,减小了对称中心像素对匹配结果的影响,提高了立体匹配的准确度。
结合第一方面,或者第一方面的第一种可能的实现方式至第一方面的第三种可能的实现方式中的任一种可能实现的方式,在第四种可能的实现方式中,基于预设的视差范围以及所述各个子区域对应的census序列获得视差图,包括:
基于所述预设的视差范围以及所述各个子区域对应的census序列进行匹配代价计算,获得以所述左图像为参考图像的第一匹配代价矩阵,以及以所述右图像为参考图像的第二匹配代价矩阵;
通过局部代价聚合的方法,分别对所述第一匹配代价矩阵以及所述第二匹配代价矩阵进行匹配代价聚合计算,得到以所述左图像为参考图像的第一匹配代价聚合矩阵,以及以所述右图像为参考图像的第二匹配代价聚合矩阵,其中,所述第一匹配代价矩阵以及所述第二匹配代价聚合矩阵包括多个代价聚合值;
基于胜者全得WTA策略以及所述代价聚合值,分别得到所述左图像以及所述右图像中各个所述像素的初始视差值;
基于所述左图像以及所述右图像中各个所述初始视差值,通过亚像素处理以及左右一致性验证,获得所述视差图。
结合第一方面第四种可能的实现方式,在第五种可能的实现方式中,基于所述左图像以及所述右图像中各个所述初始视差值,通过亚像素处理以及左右一致性验证,获得所述视差图,包括:
分别获取所述左图像以及所述右图像中各个所述初始视差值对应的第一代价聚合值,并对各个所述初始视差值进行线性插值计算,得到每一个所述初始视差值相邻的视差值对应第二代价聚合值;
基于各个所述初始视差值、所述第一代价聚合值以及第二代价聚合值,计算得到各个所述像素对应的亚像素级别的视差值;
判断所述左图像和所述右图像中是否存在任一同名点的像素对应的亚像素级别的视差值之差的绝对值大于预设的阈值,所述同名点是指所述场景中任一点在所述左图像和所述右图像中的像点;
若不存在,则基于所述左图像以及所述右图像各个所述亚像素级别的视差值,得到所述视差图。
第二方面,本申请提供一种双目立体视觉系统获取视差图的装置,该装置,包括:
获取模块,用于获取同一场景平行拍摄的左图像和右图像,其中,所述左图像和所述右图像包括多个像素;
分块模块,用于基于预设窗口以及滑动步长,分别以所述左图像以及所述右图像中每个像素为中心,建立多个与所述预设窗口形状以及大小相同的子区域;
采样模块,用于确定各个所述子区域中心的第一像素,并基于预设的采样步长分别对各个所述子区域的像素进行采样,得到多个第二像素;
处理模块,用于以所述第一像素为对称中心,比较各个所述子区域中每一对关于所述对称中心对称的所述第二像素的灰度值,得到所述各个子区域对应的census序列;
所述处理模块,还用于基于预设的视差范围以及所述各个子区域对应的census序列获得视差图。
结合第二方面,在第一种可能的实现方式中,所述预设窗口为M*M的正方形,其中,所述M为大于1的奇数。
结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述获取模块,还用于获取所述各个子区域所包含的像素的行列数;
所述采样模块,还用于基于所述预设的采样步长以及所述行列数,分别在行和列两个方向上对所述各个子区域的像素进行采样。
结合第二方面,在第三种可能的实现方式中,所述处理模块,具体用于:
基于所述对称中心,将各个所述子区域中每一对关于所述对称中心对称的所述第二像素的灰度值进行比较,得到多个二进制码元;
基于各个所述子区域中所述第二像素所处的位置,将所述多个二进制码元进行合并,得到所述各个子区域对应的census序列。
结合第二方面,或者第二方面的第一种可能的实现方式至第二方面的第三种可能的实现方式中的任一种可能实现的方式,在第四种可能的实现方式中,所述处理模块,还具体用于:
基于所述预设的视差范围以及所述各个子区域对应的census序列进行匹配代价计算,获得以所述左图像为参考图像的第一匹配代价矩阵,以及以所述右图像为参考图像的第二匹配代价矩阵;
通过局部代价聚合的方法,分别对所述第一匹配代价矩阵以及所述第二匹配代价矩阵进行匹配代价聚合计算,得到以所述左图像为参考图像的第一匹配代价聚合矩阵,以及以所述右图像为参考图像的第二匹配代价聚合矩阵,其中,所述第一匹配代价矩阵以及所述第二匹配代价聚合矩阵包括多个代价聚合值;
基于胜者全得WTA策略以及所述代价聚合值,分别得到所述左图像以及所述右图像中各个所述像素的初始视差值;
基于所述左图像以及所述右图像中各个所述初始视差值,通过亚像素处理以及左右一致性验证,获得所述视差图。
结合第二方面第四种可能的实现方式,在第五种可能的实现方式中,所述处理模块,还具体用于:
分别获取所述左图像以及所述右图像中各个所述初始视差值对应的第一代价聚合值,并对各个所述初始视差值进行线性插值计算,得到每一个所述初始视差值相邻的视差值对应第二代价聚合值;
基于各个所述初始视差值、所述第一代价聚合值以及第二代价聚合值,计算得到各个所述像素对应的亚像素级别的视差值;
判断所述左图像和所述右图像中是否存在任一同名点的像素对应的亚像素级别的视差值之差的绝对值大于预设的阈值,所述同名点是指所述场景中任一点在所述左图像和所述右图像中的像点;
若不存在,则基于所述左图像以及所述右图像各个所述亚像素级别的视差值,得到所述视差图。
第三方面,本申请提供一种服务器,该服务器,包括:
存储器,用于存储至少一个处理器所执行的指令;
处理器,用于执行存储器中存储的指令执行第一方面所述的方法。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行第一方面所述的方法。
附图说明
图1为本申请实施例所提供的一种双目立体视觉系统的结构示意图;
图2为本申请实施例所提供的一种双目立体视觉的原理图;
图3为本申请实施例所提供的一种双目立体视觉系统获取视差图的方法的流程图;
图4为本申请实施例所提供的一种采样后的子区域的结构示意图;
图5为本申请实施例所提供的一种子区域像素灰度值比较结果的示意图;
图6为本申请实施例所提供的一种双目立体视觉系统获取视差图的装置的结构示意图;
图7为本申请实施例所提供的一种服务器的结构示意图。
具体实施方式
本发明实施例中的服务器获取同一场景平行拍摄的左图像和右图像,并基于预设窗口分别将所述左图像以及所述右图像进行分块,得到多个与所述预设窗口形状以及大小相同的子区域,然后,确定各个所述子区域中心的第一像素,并基于预设的采样步长分别对各个所述子区域的像素进行采样,得到多个第二像素,以所述第一像素为对称中心,比较各个所述子区域中每一对关于所述对称中心对称的所述第二像素的灰度值,得到所述各个子区域对应的census序列,基于预设的视差范围以及所述各个子区域对应的census序列获得所述左图像和所述右图像对应的视差图。因此,不仅通过采样减少了计算的像素的数量,还通过中心对称方式比较像素灰度值减少了比较的次数,进而降低了获取视差图的耗时,提高了获取视差图的效率。
本申请实施例提供的方案中,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
为了更好的理解上述技术方案,下面通过附图以及具体实施例对本申请技术方案做详细的说明,应当理解本申请实施例以及实施例中的具体特征是对本申请技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本申请实施例以及实施例中的技术特征可以相互组合。
在说明立体匹配的过程之前,先对双目立体视觉系统进行简单的介绍。参见图1,双目立体视觉系统100包括两个平行设置的摄像机101以及服务器102(如计算机、),摄像机101用于同时拍摄同一场景的左右两幅图像,并将左右两幅图像发送给服务器102,服务器102用于将接收到的左右两幅图像进行校正,然后利用立体匹配算法得到视差图。下述以拍摄场景中一个物理点为例,说明双目立体视觉系统计算视差值的具体过程。
例如,如图2所示,X为拍摄场景中的一物理点,QR、QL分别为左右相机的焦点,X1、X2分别为物理点X在左图像R和右图像L中的投影点,f为左右图像的焦距,B为左右相机焦点之间的距离,Z为焦点与物理点P之间的距离,即物理点X的深度,由于X1和X2位于同一条线上,即两点只存在水平距离差,X1和X2的水平距离差X1-X2,即为物理点X对应的视差值,基于同样的方法计算该拍摄场景多个物理点对应的视差值,基于所述视差值得到视差图。
实施例一
以下结合说明书附图对本申请实施例所提供的一种双目立体视觉系统获取视差图的方法做进一步详细的说明,该方法具体实现方式可以包括以下步骤(方法流程如图3所示):
步骤301,服务器获取同一场景平行拍摄的左图像和右图像,其中,所述左图像和所述右图像包括多个像素。
步骤302,服务器基于预设窗口以及滑动步长,分别以所述左图像以及所述右图像中每个像素为中心,建立多个与所述预设窗口形状以及大小相同的子区域。
具体的,服务器的数据库中预先存储着预设窗口模板,所述预设窗口模板中包括多种形状和尺寸的窗口,例如,矩形或正方形窗口,优选的,所述预设窗口为M*M的正方形,M为大于1的奇数。服务器在获取同一场景平行拍摄的左图像和右图像之后,分别以左图像和右图像为参考图像,获取左图像和右图像中像素的数量,基于所述像素的数量与窗口大小之间的预设关系,确定出预设窗口,并基于预设的滑动步长,例如,所述预设的滑动步长为1个像素,在所述左图像和所述右图像中,以各个像素为中心,基于所述预设的滑动步长依次在行和列两个方向上滑动所述预设窗口,建立多个与所述预设窗口形状以及大小相同的子区域。
为了便于理解,上述服务器基于预设窗口以及滑动步长,分别以所述左图像以及所述右图像中每个像素为中心,建立多个与所述预设窗口形状以及大小相同的子区域的过程,下面以左图像和右图像任一幅图像为例进行说明。
例如,预设窗口为5*5的正方形窗口,任一幅图像的像素数量为100*100,即该图像的像素为100行×100列,以该图像中第一行第一列的像素为中心,建立一个包含5*5个像素的正方形子区域,然后,以1个像素的滑动步长,分别在该图像行和列两个方向上滑动预设窗口,得到10000个5*5的子区域,即每个像素都对应一个子区域,每个子区域包括25个像素。
步骤303,服务器确定各个所述子区域中心的第一像素,并基于预设的采样步长分别对各个所述子区域的像素进行采样,得到多个第二像素。
具体的,服务器将左图像以及右图像划分为多个具有相同形状和尺寸的子区域之后,确定各个子区域中心的第一像素,其中,所述第一像素是指位于所述子区域中心位置的像素,并基于预设的采样步长分别对各个子区域中的像素进行采样,其中,所述预设的采样步长可以是任意的正整数,一般采样步长的大小可基于实际的需求进行选取,例如,为了提高精确度,可以选取较小的采样步长。
服务器基于预设的采样步长分别对各个所述子区域的像素进行采样的具体实现方式包括多种,以下提供一种最优化实施例作为说明:
服务器获取所述各个子区域所包含的像素的行列数;基于所述预设的采样步长以及所述行列数,分别在行和列两个方向上对所述各个子区域的像素进行采样。
例如,如图4所示,任一子区域的大小为7*7,预设采样步长为2个像素,即该子区域包含的像素为7行×7列,采样间隔为1个像素,逐行将该子区域中的所有像素进行编号,如图4所示分别为P1~P49,从P1开始,基于2个像素的采样步长,分别在行和列两个方向上对该子区域的像素进行采样,得到第二像素点(如图4所示的灰色的像素)。
步骤304,服务器以所述第一像素为对称中心,比较各个所述子区域中每一对关于所述对称中心对称的所述第二像素的灰度值,得到所述各个子区域对应的census序列。
具体的,服务器基于预设采样步长对各个子区域的像素进行采样之后,通过稀疏型中心对称census变换(Sparse Center Symmetric Census Transform,SCS-CT)求取各个子区域的census序列,所述SCS-CT变换具体的过程为:在任一子区域中,服务器将第一像素作为对称中心,将各个所述子区域中每一对关于所述对称中心对称的所述第二像素的灰度值进行比较,得到多个二进制码元,然后,基于各个所述子区域中所述第二像素所处的位置,将所述多个二进制码元进行合并,得到所述各个子区域对应的census序列。
比较任一对像素的灰度值,并将比较结果转换为二进制码元的方法有多种,一般常通过下式来将像素的灰度值转化为二进制码元:
其中,x1、x2表示任一两个像素的灰度值。
为了便于理解,上述服务器求取各个子区域的census序列的过程,下面以一个子区域为了进行说明。
例如,如图4所示,P25为该子区域的中心像素,将P25作为对称中心,基于ξ(x1,x2)函数分别比较P1与P49,P3与P47,P5与P45,P7与P43,P15与P35,P17与P33,P19与P31,P21与P29的灰度值,得到如图5所示的结果,ξ(P1,P49)=0,ξ(P3,P47)=1,ξ(P5,P45)=0,ξ(P7,P43)=0,ξ(P15,P35)=1,ξ(P17,P33)=0,ξ(P19,P31)=0,ξ(P21,P29)=0,然后,将所述结果进行合并,得到该子区域对应的census序列为01001000。
步骤305,服务器基于预设的视差范围以及所述各个子区域对应的census序列获得视差图。
服务器在求取各个子区域对应的census序列之后,基于各个子区域所处的图像,分别求取左图像对应的左编码图,以及右图像对应的右编码图。具体的通过下式分别求取左编码图和右编码图:
其中,Lscs-ct为左编码图,Rscs-ct为右编码图,L为左图像,R为右图像,i为图像中像素的行,j为图像中像素的列,M为正方形预设窗口的长度,n=m={1,2,3,……,M}。
然后,服务器基于预设的视差范围以及所述各个子区域对应的census序列获得视差图,包括:
基于所述预设的视差范围以及所述各个子区域对应的census序列进行匹配代价计算,获得以所述左图像为参考图像的第一匹配代价矩阵,以及以所述右图像为参考图像的第二匹配代价矩阵;
通过局部代价聚合的方法,分别对所述第一匹配代价矩阵以及所述第二匹配代价矩阵进行匹配代价聚合计算,得到以所述左图像为参考图像的第一匹配代价聚合矩阵,以及以所述右图像为参考图像的第二匹配代价聚合矩阵,其中,所述第一匹配代价矩阵以及所述第二匹配代价聚合矩阵包括多个代价聚合值;
基于胜者全得WTA策略以及所述代价聚合值,分别得到所述左图像以及所述右图像中各个所述像素的初始视差值;
基于所述左图像以及所述右图像中各个所述初始视差值,通过亚像素处理以及左右一致性验证,获得所述视差图。
具体的,服务器分别以左图像和右图像为参考图像,在预设的视差范围内,遍历所述视差范围内的视差值,求取以所述左图像为参考图像,所述左图像和所述右图像中各个同名点像素之间的汉明距,并将求得的汉明距作为初始匹配代价,获得以左图像为参考图像的第一匹配代价矩阵,以及以右图像为参考图像的第二匹配代价矩阵。本申请实施例提供的方案中,具体的通过下面两个公式分别求取第一匹配代价矩阵以及第二匹配代价矩阵:
CostL(i,j,d)=Hamming(Lscs-ct(i,j),Rscs-ct(i,j-d))
CostR(i,j,d)=Hamming(Lscs-ct(i,j+d),Rscs-ct(i,j))
其中,CostL(i,j,d)为第一匹配代价矩阵,CostR(i,j,d)为第二匹配代价矩阵,DSR为预设的视差范围的最大值,d={1,2,3……,DSR},d为视差值。
进一步,服务器在求取第一匹配代价矩阵以及第二匹配代价矩阵之后,通过N*N的滑动窗口,以及采样滑动步长为N,分别将第一匹配代价矩阵以及第二匹配代价矩阵划分为多个N*N的区域,其中,N为大于1的正整数,然后,基于代价聚合计算,将N*N的区域中的所有的数据相加求和,得到各个像素对应的代价聚合值,并基于各个代价聚合值,获取以左图像为参考图像的第一匹配代价聚合矩阵,以及以右图像为参考图像的第二匹配代价聚合矩阵。本申请实施例提供的方案中,具体的通过下面两个公式分别求取第一匹配代价聚合矩阵以及第二匹配代价聚合矩阵:
其中,CostAggr_L第一匹配代价聚合矩阵,CostAggr_R第二匹配代价聚合矩阵。
然后,服务器通过胜者全得WTA策略,在d={1,2,3……,DSR}范围内,求取各个像素对应的代价聚合值最小时所对应的视差值dmin,将所述dmin作为该像素对应的初始视差值。
进一步,服务器在求取第一匹配代价聚合矩阵以及第二匹配代价聚合矩阵各个像素对应的初始视差值之后,对基于所述左图像以及所述右图像中各个所述初始视差值,通过亚像素处理以及左右一致性验证,获得所述视差图,包括:
分别获取所述左图像以及所述右图像中各个所述初始视差值对应的第一代价聚合值,并对各个所述初始视差值进行线性插值计算,得到每一个所述初始视差值相邻的视差值对应第二代价聚合值;
基于各个所述初始视差值、所述第一代价聚合值以及第二代价聚合值,计算得到各个所述像素对应的亚像素级别的视差值;
判断所述左图像和所述右图像中是否存在任一同名点的像素对应的亚像素级别的视差值之差的绝对值大于预设的阈值,所述同名点是指所述场景中任一点在所述左图像和所述右图像中的像点;
若不存在,则基于所述左图像以及所述右图像各个所述亚像素级别的视差值,得到所述视差图。
具体的,服务器基于左、右图像中任一像素对应初始视差值,得到一点的坐标(dmin,CostAggr(i,j,dmin)),确定满足该点坐标的函数,例如,一次函数、二次函数以及指数函数等,并将该函数作为插值函数,求取dmin-1对应的costAggr(i,j,dmin+1)的值,以及dmin,+1对应的ostAggr(i,j,dmin-1)的值,得到(dmin-1,costAggr(i,j,dmin+1))和(dmin+1,costAggr(i,j,dmin+1))两点的坐标,并通过下式求取任一像素对应的亚像素级别的视差值:
其中,dfianl为任一像素对应的亚像素级别的视差值。
进一步,服务器在求取左图像以及右图像中各个像素对应的亚像素级别的视差值之后,判断所述左图像和所述右图像中是否存在任一同名点的像素对应的亚像素级别的视差值之差的绝对值大于预设的阈值的方式有多种,下面以一种最优的方式为例进行说明:
具体的,服务器比较左图像以及右图像中,任一同名点的像素对应的亚像素级别的视差值,若所述左图像与所述右图像中存在同名点像素对应的亚像素级别的视差值之差的绝对值大于预设的阈值,则将该像素对应的亚像素级别的视差值去除,基于左图像以及右图像中其他像素的视差值得到所述视差图。
本申请实施例提供的方案中,服务器在计算各个子区域对应的census序列的过程中,基于预设窗口,将左图像和右图像进行分块得到多个子区域之后,通过预设的采样步长对各个子区域中的像素进行采样,得到第二像素,并以各个子区域中心的第一像素为对称中心,比较各个子区域中每一对关于第一像素对称的第二像素的灰度值,得到各个子区域对应的census序列。因此,不仅通过采样减少了计算的像素的数量,还通过中心对称的方式比较像素灰度值减少了比较的次数,进而降低了获取视差图的耗时,提高了获取视差图的效率。
实施例二
基于同一发明构思,本申请提供一种双目立体视觉系统获取视差图的装置,参见图6,该装置,包括:
获取模块601,用于获取同一场景平行拍摄的左图像和右图像,其中,所述左图像和所述右图像包括多个像素。
分块模块602,用于基于预设窗口以及滑动步长,分别以所述左图像以及所述右图像中每个像素为中心,建立多个与所述预设窗口形状以及大小相同的子区域;
采样模块603,用于确定各个所述子区域中心的第一像素,并基于预设的采样步长分别对各个所述子区域的像素进行采样,得到多个第二像素;
处理模块604,用于以所述第一像素为对称中心,比较各个所述子区域中每一对关于所述对称中心对称的所述第二像素的灰度值,得到所述各个子区域对应的census序列;
所述处理模块604,还用于基于预设的视差范围以及所述各个子区域对应的census序列获得视差图。
可选地,所述预设窗口为M*M的正方形,其中,所述M为大于1的奇数。
可选地,所述获取模块601,还用于获取所述各个子区域所包含的像素的行列数;
所述采样模块603,还用于基于所述预设的采样步长以及所述行列数,分别在行和列两个方向上对所述各个子区域的像素进行采样。
可选地,所述处理模块604,具体用于:
基于所述对称中心,将各个所述子区域中每一对关于所述对称中心对称的所述第二像素的灰度值进行比较,得到多个二进制码元;
基于各个所述子区域中所述第二像素所处的位置,将所述多个二进制码元进行合并,得到所述各个子区域对应的census序列。
可选地,所述处理模块604,还具体用于:
基于所述预设的视差范围以及所述各个子区域对应的census序列进行匹配代价计算,获得以所述左图像为参考图像的第一匹配代价矩阵,以及以所述右图像为参考图像的第二匹配代价矩阵;
通过局部代价聚合的方法,分别对所述第一匹配代价矩阵以及所述第二匹配代价矩阵进行匹配代价聚合计算,得到以所述左图像为参考图像的第一匹配代价聚合矩阵,以及以所述右图像为参考图像的第二匹配代价聚合矩阵,其中,所述第一匹配代价矩阵以及所述第二匹配代价聚合矩阵包括多个代价聚合值;
基于胜者全得WTA策略以及所述代价聚合值,分别得到所述左图像以及所述右图像中各个所述像素的初始视差值;
基于所述左图像以及所述右图像中各个所述初始视差值,通过亚像素处理以及左右一致性验证,获得所述视差图。
可选地,所述处理模块604,还具体用于:
分别获取所述左图像以及所述右图像中各个所述初始视差值对应的第一代价聚合值,并对各个所述初始视差值进行线性插值计算,得到每一个所述初始视差值相邻的视差值对应第二代价聚合值;
基于各个所述初始视差值、所述第一代价聚合值以及第二代价聚合值,计算得到各个所述像素对应的亚像素级别的视差值;
判断所述左图像和所述右图像中是否存在任一同名点的像素对应的亚像素级别的视差值之差的绝对值大于预设的阈值,所述同名点是指所述场景中任一点在所述左图像和所述右图像中的像点;
若不存在,则基于所述左图像以及所述右图像各个所述亚像素级别的视差值,得到所述视差图。
实施例三
本申请提供一种服务器,参见图7,该服务器,包括:
存储器701,用于存储至少一个处理器所执行的指令;
处理器702,用于执行存储器中存储的指令执行实施例一所述的方法。
实施例四
本申请提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行实施例一所述的方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (14)
1.一种双目立体视觉系统获取视差图的方法,其特征在于,包括
获取同一场景平行拍摄的左图像和右图像,其中,所述左图像和所述右图像包括多个像素;
基于预设窗口以及滑动步长,分别以所述左图像以及所述右图像中每个像素为中心,建立多个与所述预设窗口形状以及大小相同的子区域;
确定各个所述子区域中心的第一像素,并基于预设的采样步长分别对各个所述子区域的像素进行采样,得到多个第二像素;
以所述第一像素为对称中心,比较各个所述子区域中每一对关于所述对称中心对称的所述第二像素的灰度值,得到所述各个子区域对应的census序列;
基于预设的视差范围以及所述各个子区域对应的census序列获得视差图。
2.如权利要求1所述的方法,其特征在于,所述预设窗口为M*M的正方形,其中,所述M为大于1的奇数。
3.如权利要求2所述的方法,其特征在于,基于预设的采样步长分别对各个所述子区域的像素进行采样,包括:
获取所述各个子区域所包含的像素的行列数;
基于所述预设的采样步长以及所述行列数,分别在行和列两个方向上对所述各个子区域的像素进行采样。
4.如权利要求1所述的方法,其特征在于,比较各个所述子区域中每一对关于所述对称中心对称的所述第二像素的灰度值,得到所述各个子区域对应的census序列,包括:
基于所述对称中心,将各个所述子区域中每一对关于所述对称中心对称的所述第二像素的灰度值进行比较,得到多个二进制码元;
基于各个所述子区域中所述第二像素所处的位置,将所述多个二进制码元进行合并,得到所述各个子区域对应的census序列。
5.如权利要求1-4任一所述的方法,其特征在于,基于预设的视差范围以及所述各个子区域对应的census序列获得视差图,包括:
基于所述预设的视差范围以及所述各个子区域对应的census序列进行匹配代价计算,获得以所述左图像为参考图像的第一匹配代价矩阵,以及以所述右图像为参考图像的第二匹配代价矩阵;
通过局部代价聚合的方法,分别对所述第一匹配代价矩阵以及所述第二匹配代价矩阵进行匹配代价聚合计算,得到以所述左图像为参考图像的第一匹配代价聚合矩阵,以及以所述右图像为参考图像的第二匹配代价聚合矩阵,其中,所述第一匹配代价矩阵以及所述第二匹配代价聚合矩阵包括多个代价聚合值;
基于胜者全得WTA策略以及所述代价聚合值,分别得到所述左图像以及所述右图像中各个所述像素的初始视差值;
基于所述左图像以及所述右图像中各个所述初始视差值,通过亚像素处理以及左右一致性验证,获得所述视差图。
6.如权利要求5所述的方法,其特征在于,基于所述左图像以及所述右图像中各个所述初始视差值,通过亚像素处理以及左右一致性验证,获得所述视差图,包括:
分别获取所述左图像以及所述右图像中各个所述初始视差值对应的第一代价聚合值,并对各个所述初始视差值进行线性插值计算,得到每一个所述初始视差值相邻的视差值对应第二代价聚合值;
基于各个所述初始视差值、所述第一代价聚合值以及第二代价聚合值,计算得到各个所述像素对应的亚像素级别的视差值;
判断所述左图像和所述右图像中是否存在任一同名点的像素对应的亚像素级别的视差值之差的绝对值大于预设的阈值,所述同名点是指所述场景中任一点在所述左图像和所述右图像中的像点;
若不存在,则基于所述左图像以及所述右图像各个所述亚像素级别的视差值,得到所述视差图。
7.一种双目立体视觉系统获取视差图的装置,其特征在于,包括
获取模块,用于获取同一场景平行拍摄的左图像和右图像,其中,所述左图像和所述右图像包括多个像素;
分块模块,用于基于预设窗口以及滑动步长,分别以所述左图像以及所述右图像中每个像素为中心,建立多个与所述预设窗口形状以及大小相同的子区域;
采样模块,用于确定各个所述子区域中心的第一像素,并基于预设的采样步长分别对各个所述子区域的像素进行采样,得到多个第二像素;
处理模块,用于以所述第一像素为对称中心,比较各个所述子区域中每一对关于所述对称中心对称的所述第二像素的灰度值,得到所述各个子区域对应的census序列;
所述处理模块,还用于基于预设的视差范围以及所述各个子区域对应的census序列获得视差图。
8.如权利要求7所述的装置,其特征在于,所述预设窗口为M*M的正方形,其中,所述M为大于1的奇数。
9.如权利要求8所述的装置,其特征在于,所述获取模块,还用于获取所述各个子区域所包含的像素的行列数;
所述采样模块,还用于基于所述预设的采样步长以及所述行列数,分别在行和列两个方向上对所述各个子区域的像素进行采样。
10.如权利要求7所述的装置,其特征在于,所述处理模块,具体用于:
基于所述对称中心,将各个所述子区域中每一对关于所述对称中心对称的所述第二像素的灰度值进行比较,得到多个二进制码元;
基于各个所述子区域中所述第二像素所处的位置,将所述多个二进制码元进行合并,得到所述各个子区域对应的census序列。
11.如权利要求7-10任一所述的装置,其特征在于,所述处理模块,还具体用于:
基于所述预设的视差范围以及所述各个子区域对应的census编码进行匹配代价计算,获得以所述左图像为参考图像的第一匹配代价矩阵,以及以所述右图像为参考图像的第二匹配代价矩阵;
通过局部代价聚合的方法,分别对所述第一匹配代价矩阵以及所述第二匹配代价矩阵进行匹配代价聚合计算,得到以所述左图像为参考图像的第一匹配代价聚合矩阵,以及以所述右图像为参考图像的第二匹配代价聚合矩阵,其中,所述第一匹配代价矩阵以及所述第二匹配代价聚合矩阵包括多个代价聚合值;
基于胜者全得WTA策略以及所述代价聚合值,分别得到所述左图像以及所述右图像中各个所述像素的初始视差值;
基于所述左图像以及所述右图像中各个所述初始视差值,通过亚像素处理以及左右一致性验证,获得所述视差图。
12.如权利要求11所述的装置,其特征在于,所述处理模块,还具体用于:
分别获取所述左图像以及所述右图像中各个所述初始视差值对应的第一代价聚合值,并对各个所述初始视差值进行线性插值计算,得到每一个所述初始视差值相邻的视差值对应第二代价聚合值;
基于各个所述初始视差值、所述第一代价聚合值以及第二代价聚合值,计算得到各个所述像素对应的亚像素级别的视差值;
判断所述左图像和所述右图像中是否存在任一同名点的像素对应的亚像素级别的视差值之差的绝对值大于预设的阈值,所述同名点是指所述场景中任一点在所述左图像和所述右图像中的像点;
若不存在,则基于所述左图像以及所述右图像各个所述亚像素级别的视差值,得到所述视差图。
13.一种服务器,其特征在于,包括:
存储器,用于存储处理器所执行的指令;
处理器,用于执行存储器中存储的指令执行权利要求1-6中任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910028220.8A CN109801325A (zh) | 2019-01-11 | 2019-01-11 | 一种双目立体视觉系统获取视差图的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910028220.8A CN109801325A (zh) | 2019-01-11 | 2019-01-11 | 一种双目立体视觉系统获取视差图的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109801325A true CN109801325A (zh) | 2019-05-24 |
Family
ID=66558700
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910028220.8A Pending CN109801325A (zh) | 2019-01-11 | 2019-01-11 | 一种双目立体视觉系统获取视差图的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109801325A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110838138A (zh) * | 2019-09-26 | 2020-02-25 | 北京迈格威科技有限公司 | 重复纹理检测方法、装置、计算机设备和存储介质 |
CN110853086A (zh) * | 2019-10-21 | 2020-02-28 | 北京清微智能科技有限公司 | 基于散斑投影的深度图像生成方法及系统 |
CN111210481A (zh) * | 2020-01-10 | 2020-05-29 | 大连理工大学 | 多波段立体相机的深度估计加速方法 |
CN111739083A (zh) * | 2020-07-02 | 2020-10-02 | 深兰人工智能芯片研究院(江苏)有限公司 | 一种匹配方法及装置 |
CN111784756A (zh) * | 2020-06-01 | 2020-10-16 | 安徽奇点智能新能源汽车有限公司 | 视差置信度的估计方法、装置、电子设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080037862A1 (en) * | 2006-06-29 | 2008-02-14 | Sungkyunkwan University Foundation For Corporate Collaboration | Extensible system and method for stereo matching in real-time |
US20160048970A1 (en) * | 2014-08-15 | 2016-02-18 | Maziar Loghman | Multi-resolution depth estimation using modified census transform for advanced driver assistance systems |
CN106340036A (zh) * | 2016-08-08 | 2017-01-18 | 东南大学 | 一种基于双目立体视觉的立体匹配方法 |
CN108205658A (zh) * | 2017-11-30 | 2018-06-26 | 中原智慧城市设计研究院有限公司 | 基于单双目视觉融合的障碍物检测预警系统 |
-
2019
- 2019-01-11 CN CN201910028220.8A patent/CN109801325A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080037862A1 (en) * | 2006-06-29 | 2008-02-14 | Sungkyunkwan University Foundation For Corporate Collaboration | Extensible system and method for stereo matching in real-time |
US20160048970A1 (en) * | 2014-08-15 | 2016-02-18 | Maziar Loghman | Multi-resolution depth estimation using modified census transform for advanced driver assistance systems |
CN106340036A (zh) * | 2016-08-08 | 2017-01-18 | 东南大学 | 一种基于双目立体视觉的立体匹配方法 |
CN108205658A (zh) * | 2017-11-30 | 2018-06-26 | 中原智慧城市设计研究院有限公司 | 基于单双目视觉融合的障碍物检测预警系统 |
Non-Patent Citations (2)
Title |
---|
WADE S. FIFE ET AL.: ""Improved Census Transforms for Resource-Optimized Stereo Vision", 《IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY》 * |
张晗玥: "基于Census变换的区域立体匹配算法研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110838138A (zh) * | 2019-09-26 | 2020-02-25 | 北京迈格威科技有限公司 | 重复纹理检测方法、装置、计算机设备和存储介质 |
CN110853086A (zh) * | 2019-10-21 | 2020-02-28 | 北京清微智能科技有限公司 | 基于散斑投影的深度图像生成方法及系统 |
CN111210481A (zh) * | 2020-01-10 | 2020-05-29 | 大连理工大学 | 多波段立体相机的深度估计加速方法 |
WO2021138989A1 (zh) * | 2020-01-10 | 2021-07-15 | 大连理工大学 | 多波段立体相机的深度估计加速方法 |
US11908152B2 (en) | 2020-01-10 | 2024-02-20 | Dalian University Of Technology | Acceleration method of depth estimation for multiband stereo cameras |
CN111784756A (zh) * | 2020-06-01 | 2020-10-16 | 安徽奇点智能新能源汽车有限公司 | 视差置信度的估计方法、装置、电子设备及介质 |
CN111739083A (zh) * | 2020-07-02 | 2020-10-02 | 深兰人工智能芯片研究院(江苏)有限公司 | 一种匹配方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109801325A (zh) | 一种双目立体视觉系统获取视差图的方法及装置 | |
US10559090B2 (en) | Method and apparatus for calculating dual-camera relative position, and device | |
CN104867135B (zh) | 一种基于指导图像引导的高精度立体匹配方法 | |
CN100485720C (zh) | 一种基于序列静态图像的360°环视全景生成方法 | |
CN103345736B (zh) | 一种虚拟视点绘制方法 | |
CN102831386B (zh) | 物体识别方法及识别装置 | |
US9600714B2 (en) | Apparatus and method for calculating three dimensional (3D) positions of feature points | |
CN108335322A (zh) | 深度估计方法和装置、电子设备、程序和介质 | |
CN110220493A (zh) | 一种双目测距方法及其装置 | |
CN106155299B (zh) | 一种对智能设备进行手势控制的方法及装置 | |
CN113689503B (zh) | 目标对象的姿态检测方法、装置、设备及存储介质 | |
CN111476835B (zh) | 多视角图像一致性的无监督深度预测方法、系统、装置 | |
WO2020237492A1 (zh) | 三维重建方法、装置、设备及存储介质 | |
da Silveira et al. | Dense 3D scene reconstruction from multiple spherical images for 3-DoF+ VR applications | |
CN111563952A (zh) | 基于相位信息与空间纹理特征实现立体匹配方法及系统 | |
CN106096516A (zh) | 一种三维目标跟踪的方法及装置 | |
CN111325828B (zh) | 一种基于三目相机的三维人脸采集方法及装置 | |
US10791321B2 (en) | Constructing a user's face model using particle filters | |
CN116579962A (zh) | 一种基于鱼眼相机的全景感知方法、装置、设备及介质 | |
CN110188630A (zh) | 一种人脸识别方法和相机 | |
CN109859313B (zh) | 3d点云数据获取方法、装置、3d数据生成方法及系统 | |
Gava et al. | Dense scene reconstruction from spherical light fields | |
CN109978928B (zh) | 一种基于加权投票的双目视觉立体匹配方法及其系统 | |
CN115578260B (zh) | 针对图像超分辨率的方向解耦的注意力方法和系统 | |
CN115272404A (zh) | 一种基于核空间和隐式空间特征对齐的多目标跟踪方法 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190524 |
|
RJ01 | Rejection of invention patent application after publication |