一种半全局实时立体匹配方法组成比例

技术编号:22263149 阅读:45 留言:0更新日期:2019-10-10 15:23
本发明专利技术公开了一种半全局实时立体匹配方法,涉及计算机视觉的立体视觉的技术领域,所述方法包括:Census转换步骤;对比代价确定步骤;路径代价确定步骤;WTA步骤;其中,在所述Census转换步骤中,利用开放运算语言OpenCL的用于Census转换的工作组,将所述左右图像从全局内存复制到所述用于Census转换的工作组的局部内存之后,所述用于Census转换的工作组中的每个工作项根据每个像素点与其周围若干个像素点的灰度值的比较结果,将所述每个像素点的灰度值转换为字符串,并保存至所述全局内存。本发明专利技术实施例使半全局立体匹配的运算速度大幅度提升,能够得到实时的视差结果图,并且适用在各个平台。

A Semi-global Real-time Stereo Matching Method

【技术实现步骤摘要】
一种半全局实时立体匹配方法
本专利技术涉及计算机视觉的立体视觉的
,特别涉及一种半全局实时立体匹配方法。
技术介绍
受人类视觉的影响,计算机想要感知真实世界,必须从外界获得感知信息,因此计算机也需要有“双眼”,这也是双目视觉的目的,通过左右两个焦距一致的摄像机,同时采集一系列的左右图像,在对相机的标定和图片极线对齐后,可以通过对两张图片进行相似度匹配,得到视差信息,从而还原真实的三维世界。立体匹配是其中重要的组成部分,障碍物识别、三维地图重建等关键技术都无法脱离立体匹配提供的视差深度信息,只有提供准确的三维信息,才能感知还原出准确的道路场景,这也是辅助驾驶的安全性保障。已有的立体匹配算法主要分为局部,半全局,全局和基于深度学习几种算法。其中,基于局部的匹配算法一般是基于特征匹配,速度快,精度很低,并且生成的是稀疏的视差图。基于全局的算法,比如置信度传播算法,图割算法等精度较高,但速度慢。基于深度学习的算法需要大量的训练数据,对于配置要求高,精度较高,速度慢。可见,已有技术无法兼顾精度,输出实时的视差图。
技术实现思路
本专利技术实施例提供的一种半全局实时立体匹配方法,解决已有技术无法兼顾精度,输出实时的视差图的问题。根据本专利技术实施例提供的一种半全局实时立体匹配方法,包括:Census转换步骤,用于将左右图像的每个像素点的灰度值转换为字符串;对比代价确定步骤,用于根据所述左右图像的所述每个像素点的字符串确定左图像或右图像的每个像素点的对比代价;路径代价确定步骤,用于根据所述每个像素点的对比代价,确定所述每个像素点在多个方向路径的路径代价;WTA步骤,用于将所述多个方向路径的路径代价进行聚合,并确定聚合结果中的最小值对应的视差值;其中,在所述Census转换步骤中,利用开放运算语言OpenCL的用于Census转换的工作组,将所述左右图像从全局内存复制到所述用于Census转换的工作组的局部内存之后,所述用于Census转换的工作组中的每个工作项根据每个像素点与其周围若干个像素点的灰度值的比较结果,将所述每个像素点的灰度值转换为字符串,并保存至所述全局内存。优选地,在所述对比代价确定步骤中,利用OpenCL的用于确定对比代价的工作组,将所述每个像素点的字符串从全局内存复制到所述用于确定对比代价的工作组的局部内存之后,所述用于确定对比代价的工作组中的每个工作项在设定的视差搜索范围内对所述左右图像的对应像素点的字符串进行异或操作,得到汉明码作为对比代价,并保存至全局内存。优选地,在所述路径代价确定步骤中,利用OpenCL的用于确定路径代价的工作组,将所述每个像素点的对比代价从全局内存复制到所述用于确定路径代价的工作组的局部内存之后,所述用于确定路径代价的工作组根据相应像素点的对比代价,确定多个方向路径的路径代价,并保存至全局内存。优选地,所述用于确定路径代价的工作组包括分别对应于不同方向路径的多个工作组,所述多个工作组按照串行方式确定各自对应方向路径的路径代价,每个工作组中的每个工作项按照并行方式确定每个像素点的路径代价。优选地,在所述WTA步骤中,利用OpenCL的用于确定视差的工作组,将所述每个像素点的多个方向路径的路径代价从全局内存复制到所述用于确定视差的工作组的局部内存之后,所述用于确定视差的工作组中的每个工作项将相应像素点的多个方向路径的路径代价相加,得到能量函数值,在所述视差搜索范围内对所述能量函数值进行比较,得到最小值对应的视差值。优选地,在所述WTA步骤之后,还包括:中值滤波步骤,用于将所述每个像素点的视差值进行中值滤波。优选地,在所述中值滤波步骤中,利用OpenCL的用于中值滤波的工作组,将所述每个像素点的视差值从全局内存复制到所述用于中值滤波的工作组的局部内存之后,所述用于中值滤波的工作组中的每个工作项将相应像素点及其周围若干个像素点的视差值进行排序,并将排序后的中间值作为所述像素点的新视差值,并保存至所述全局内存。优选地,在所述中值滤波步骤之后,还包括:LRC检查步骤,用于对所述左右图像进行遮挡检查,并根据检查结果,调整中值滤波后得到的视差值。优选地,在所述LRC检查步骤中,利用OpenCL的用于LRC检查的工作组,将所述每个像素点的中值滤波后的视差值从全局内存复制到所述用于LRC检查的工作组的局部内存之后,所述用于LRC检查的工作组中的每个工作项对所述左右图像进行遮挡检查,若检查出某一像素点为遮挡点,则将所述像素点的视差值设置为0,并保存至全局内存。优选地,所述Census转换步骤、所述对比代价确定步骤、所述路径代价确定步骤、所述WTA步骤、所述中值滤波步骤和所述LRC检查步骤中的至少一个运行于GPU或DSP或FPGA。本专利技术实施例提供的技术方案具有如下有益效果:本专利技术实施例采用半全局立体匹配算法,在匹配的速度和精度上达到基本平衡,并通过OpenCL,使半全局立体匹配的运算速度大幅度提升,能够得到实时的视差结果图,并且适用在各个平台。附图说明图1是本专利技术实施例提供的半全局实时立体匹配流程图;图2是本专利技术实施例提供的整套算法的流程图;图3是本专利技术实施例提供的基于OpenCL的路径聚合内核函数的设计和线程分配示意图;图4是本专利技术实施例提供的基于OpenCL的最终生成的视差图;图5是本专利技术实施例提供的CPU和GPU端的时间对比图;图6是本专利技术实施例提供的跨平台的GPU时间对比。具体实施方式以下结合附图对本专利技术的优选实施例进行详细说明,应当理解,以下所说明的优选实施例仅用于说明和解释本专利技术,并不用于限定本专利技术。图1是本专利技术实施例提供的半全局实时立体匹配流程图,如图1所示,步骤包括:步骤S101:Census转换步骤,用于将左右图像的每个像素点的灰度值转换为字符串。本专利技术实施例采用OpenCL实现步骤S101的并行化设计,加快处理速度。具体地说,利用OpenCL的用于Census转换的工作组,将所述左右图像(例如大小为width*height)从全局内存复制到所述用于Census转换的工作组的局部内存之后,所述用于Census转换的工作组中的每个工作项根据每个像素点与其周围若干个像素点的灰度值的比较结果,将所述每个像素点的灰度值转换为字符串,并保存至所述全局内存。例如,在OpenCL方面,选择16*16大小的工作组,每个像素对应所述工作组中的一个工作项进行census转换,使并行的占用率最大化。其中,Census转换是指将一个像素点转换成字符串,字符串长短与选择的像素块有关,例如,选择3*3的像素块,将中间像素点的灰度值与其周围8个像素点的灰度值进行比较,若中间像素点的灰度值大于其周围像素点的灰度值,则记为0,反之记为1,按照预定顺序将比较结果进行排序,得到8位字符串。本专利技术实施例的所述用于Census转换的工作组内的每个工作项同步,均执行同一条指令,合并访问全局内存中连续的单元,提高了带宽利用率,并利用所述用于Census转换的工作组的局部内存提高数据读取速度。步骤S102:对比代价确定步骤,用于根据所述左右图像的所述每个像素点的字符串确定左图像或右图像的每个像素点的对比代价。本专利技术实施例采用OpenCL实现步骤S102的并行化设计,加快处理速度。具体地说,利用OpenCL的用于确定对本文档来自技高网...

【技术保护点】
1.一种半全局实时立体匹配方法,包括:Census转换步骤,用于将左右图像的每个像素点的灰度值转换为字符串;对比代价确定步骤,用于根据所述左右图像的所述每个像素点的字符串确定左图像或右图像的每个像素点的对比代价;路径代价确定步骤,用于根据所述每个像素点的对比代价,确定所述每个像素点在多个方向路径的路径代价;WTA步骤,用于将所述多个方向路径的路径代价进行聚合,并确定聚合结果中的最小值对应的视差值;其特征在于,在所述Census转换步骤中,利用开放运算语言OpenCL的用于Census转换的工作组,将所述左右图像从全局内存复制到所述用于Census转换的工作组的局部内存之后,所述用于Census转换的工作组中的每个工作项根据每个像素点与其周围若干个像素点的灰度值的比较结果,将所述每个像素点的灰度值转换为字符串,并保存至所述全局内存。

【技术特征摘要】
1.一种半全局实时立体匹配方法,包括:Census转换步骤,用于将左右图像的每个像素点的灰度值转换为字符串;对比代价确定步骤,用于根据所述左右图像的所述每个像素点的字符串确定左图像或右图像的每个像素点的对比代价;路径代价确定步骤,用于根据所述每个像素点的对比代价,确定所述每个像素点在多个方向路径的路径代价;WTA步骤,用于将所述多个方向路径的路径代价进行聚合,并确定聚合结果中的最小值对应的视差值;其特征在于,在所述Census转换步骤中,利用开放运算语言OpenCL的用于Census转换的工作组,将所述左右图像从全局内存复制到所述用于Census转换的工作组的局部内存之后,所述用于Census转换的工作组中的每个工作项根据每个像素点与其周围若干个像素点的灰度值的比较结果,将所述每个像素点的灰度值转换为字符串,并保存至所述全局内存。2.根据权利要求1所述的方法,其特征在于,在所述对比代价确定步骤中,利用OpenCL的用于确定对比代价的工作组,将所述每个像素点的字符串从全局内存复制到所述用于确定对比代价的工作组的局部内存之后,所述用于确定对比代价的工作组中的每个工作项在设定的视差搜索范围内对所述左右图像的对应像素点的字符串进行异或操作,得到汉明码作为对比代价,并保存至全局内存。3.根据权利要求2所述的方法,其特征在于,在所述路径代价确定步骤中,利用OpenCL的用于确定路径代价的工作组,将所述每个像素点的对比代价从全局内存复制到所述用于确定路径代价的工作组的局部内存之后,所述用于确定路径代价的工作组根据相应像素点的对比代价,确定多个方向路径的路径代价,并保存至全局内存。4.根据权利要求3所述的方法,其特征在于,所述用于确定路径代价的工作组包括分别对应于不同方向路径的多个工作组,所述多个工作组按照串行方式确定各自对应方向路径的路径代价,每个工作组中的每个工作项按照并行方式确...

【专利技术属性】
技术研发人员:栾学晨谢国栋
申请(专利权)人:广东瑞图万方科技股份有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1