CN115714855A - 一种基于立体视觉与tof融合的三维视觉感知方法及系统 - Google Patents
一种基于立体视觉与tof融合的三维视觉感知方法及系统 Download PDFInfo
- Publication number
- CN115714855A CN115714855A CN202211240792.0A CN202211240792A CN115714855A CN 115714855 A CN115714855 A CN 115714855A CN 202211240792 A CN202211240792 A CN 202211240792A CN 115714855 A CN115714855 A CN 115714855A
- Authority
- CN
- China
- Prior art keywords
- tof
- pixel
- stereoscopic vision
- depth
- path
- 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
Images
Landscapes
- Image Processing (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
Abstract
本发明属于机器人数字图像采集与处理领域,具体涉及一种基于立体视觉与TOF融合的三维视觉感知方法及系统,包括:采用两路视觉成像单元,采集两路RGB图像;采用TOF成像设备,采集TOF深度图像;采用FPGA板卡和高速图像采集处理模块,对任一路RGB图像进行立体视觉计算,得到该路RGB图像对应的立体视觉深度图;采用GPU板卡以及基于CUDA的深度融合模块,对立体视觉深度图和TOF深度图进行融合处理,得到融合后的深度图;将两路RGB图像、立体视觉深度图和融合后的深度图作为三维视觉感知的结果,完成三维视觉感知。本发明研制了一种基于立体视觉与TOF融合的高速高精视觉系统,充分发挥两种传感器优势,改善输出深度图质量,具有高速高鲁棒高精度的特点。
Description
技术领域
本发明属于机器人数字图像采集与处理领域,更具体地,涉及一种基于立体视觉与TOF融合的三维视觉感知方法及系统。
背景技术
随着信息时代技术的飞速发展以及各种机器人设备在当今社会生产生活中扮演愈加重要的角色,关于机器人的研究变得越来越重要。而机器视觉是机器人方向发展的重要组成部分。
立体视觉技术是机器视觉的一种重要形式,其原理是基于视差利用成像设备从不同的方向和角度获取被测物体的多幅图像,通过计算对应像素点间的位置偏差,利用映射或者三维重建技术还原物体三维几何信息的方法。立体视觉系统具有成本低,适应性好的特点,且能适应室内和室外环境的图像采集应用。但立体视觉也有其缺点,原因为其视差估计需基于两幅图像的对应特征关系,具体局限性表现如下:
1)对环境光照敏感。环境光照角度与强度发生的变化会导致立体匹配算法效果急剧下降。
2)不适用于单调并且缺乏纹理信息的场景。因为双目立体视觉系统根据视觉特征进行图像匹配,所以缺乏视觉特征的场景会造成匹配困难的问题。
3)算法复杂度高。立体匹配需要逐像素进行计算,且受限于基线、测量范围、拍摄环境等因素影响,计算量较大,计算用时较长。
TOF是一种主动式测距方法,可直接获得目标的三维坐标信息。相比于立体匹配,TOF精度更高,且在弱纹理区域和深度突变等情况下仍可获得正确测量结果,但存在分辨率不足且量程有限的问题。
因此,目前亟需一种高速、高鲁棒性的视觉感知方法。
发明内容
针对现有技术的缺陷和改进需求,本发明提供了一种基于立体视觉与TOF融合的三维视觉感知方法及系统,其目的在于充分发挥立体视觉传感器和TOF传感器优势,改善输出深度图质量,实现高速、鲁棒、高精度的三维视觉感知。
为实现上述目的,按照本发明的一个方面,提供了一种基于立体视觉与TOF融合的三维视觉感知方法,包括:
采用两路视觉成像单元,采集两路RGB图像;
采用TOF成像设备,采集TOF深度图像;
采用FPGA板卡和高速图像采集处理模块,基于所述两路RGB图像,对任一路RGB图像进行立体视觉计算,得到该路RGB图像对应的立体视觉深度图;
采用GPU板卡以及基于CUDA的深度融合模块,对所述立体视觉深度图和TOF深度图进行融合处理,得到融合后的深度图;
将所述两路RGB图像、所述立体视觉深度图和所述融合后的深度图作为三维视觉感知的结果,完成三维视觉感知。
进一步,采用适于FPGA实现的Fast-SGM算法,对任一路RGB图像进行立体视觉深度图计算,实现方式为:
(a)对所述两路RGB图像进行数据同步;
(b)分别计算每路图像的初始代价;
(c)采用所述初始代价,分别计算每路图像的聚合代价;
(d)采用聚合代价,进行亚像素插值计算,得到最终立体视觉视差图;
(e)基于所述最终视差以及所述两路视觉成像单元的标定参数,得到立体视觉深度图。
进一步,为高效实现所述立体视觉计算中的步骤(b),所述高速图像采集处理模块在所述FPGA板卡上的固件设计方法为:
采用5×5的滑动窗口,计算每个像素点的用于所述初始代价计算的灰度值与梯度值,配置4个行缓存与一个5×5的窗口缓存;对中间3×3窗口的数据使用sobel梯度模板获取当前像素点的x和y方向梯度值,同时对5×5窗口进行16点固定模式采样,通过对所有采样点进行加和并右移四位获取平均灰度值,作为当前像素点的灰度值;由于初始代价计算需要对每个像素点计算0-dmax视差范围内的初始代价,使用dmax个移位寄存器进行左右两路图像灰度值与梯度值的缓冲,计算每个像素点在视差范围内对应的所有初始代价。
进一步,为高效实现所述立体视觉计算中的步骤(c),所述高速图像采集处理模块在所述FPGA板卡上的固件设计方法为:
采用RAM资源,缓存当前像素的各条路径上一个像素的路径代价,以用于计算当前像素的各条路径代价,具体的:对于用于当前像素的左上方路径、上方路径、右上方路径的路径代价计算,缓存当前像素的上一行全部的路径代价;对于用于当前像素的左方路径的路径代价计算,不需要进行行缓存,只需要缓存当前像素上一个像素计算出的路径代价;对于用于当前像素的右方路径的路径代价计算,使用乒乓缓存反向右方路径的路径代价;最后将五条路径的路径代价累加得到最终的聚合代价。
进一步,为高效实现所述立体视觉计算中的步骤(d),所述高速图像采集处理模块在所述FPGA板卡上的固件设计方法为:
将亚像素插值计算公式的分子左移3位,即扩大8倍的方式,并采用除法器对其进行除法商计算;对当前像素最小聚合代价对应的整数视差扩大8倍;将除法器所得商与同样扩大8倍的所述整数视差进行相加或相减,分子为正时相加,分子为负时相减,得到扩大8倍的视差图;在GPU端对FPGA传输过来的扩大8倍的视差图进行相同倍数的除法,得到经过近似亚像素插值后的立体视觉视差图。
进一步,对任一路RGB图像进行立体视觉计算,则所述立体视觉计算还包括:
计算另一路RGB图像的视差图,并对比两路立体匹配视差图中对应点的视差是否一致来标记“坏点”。
进一步,对所述立体视觉深度图和TOF深度图像进行融合处理的实现方式为:
(1)将TOF深度图像根据标定参数投影到RGB左相机坐标系中并转化为TOF视差图;对所述TOF视差图进行上采样,得到分辨率与所述两路RGB图像相同的TOF视差图;
(2)计算双目视觉置信度和TOF置信度,其中,所述立体视觉深度图中每个像素处的双目立体视觉置信度为:
式中,V(p)表示每个像素点p处的局部方差,Nr(p)表示像素点p的半径为r的矩形邻域区域,|Nr(p)|为邻域区域的像素点个数,dj表示像素点p的视差值,表示点p的邻域Nr(p)内所有像素点的视差值的平均,PS(p)表示每个像素处的双目立体视觉置信度;
(3)TOF深度图像中每个像素处的TOF置信度为:
PT=PTAPTD;
式中,PTA表示TOF幅值置信度,PTD表示TOF视差置信度,A表示TOF幅值图,Amin、Amax分别为最小和最大阈值,D(p)表示TOF视差图中每个像素的局部方差,N(p)表示像素点p的邻域区域,|N(p)|为邻域区域的像素点个数,di表示像素点p的视差值,dj表示点p的邻域N(p)内像素点的视差值,T表示设置的最大有效阈值;
(4)采用局部一致性视差算法,基于双目立体视觉置信度和TOF置信度,对所述立体视觉视差图和所述TOF视差图进行融合。
本发明还提供一种基于立体视觉与TOF融合的三维视觉感知系统,包括:两路立体视觉成像设备,TOF成像设备,异构高速图像处理系统,以及异构深度融合系统;
其中,所述异构高速图像处理系统包括FPGA板卡以及设置在所述FPGA板卡上的高速图像采集处理模块,所述高速图像采集处理模块的固件设计与算法步骤根据如上所述的一种基于立体视觉与TOF融合的三维视觉感知方法确定;所述异构深度融合系统包括GPU板卡以及设置在所述GPU板卡上的基于CUDA的深度融合模块,所述深度融合模块用于执行如上所述的一种基于立体视觉与TOF融合的三维视觉感知方法中的融合处理步骤。
总体而言,通过本发明所构思的以上技术方案,能够取得以下有益效果:
本发明将双目深度图和TOF深度图相结合,充分发挥了两种深度估计方法的优势,可以输出高速高精度的融合深度图。采用融合后的深度图具有较高鲁棒性,因为在弱光照、弱纹理等双目立体视觉失效的场景以及强光照、远距离等TOF失效的场景均能够稳定进行三维视觉感知;在FPGA板卡和高速图像采集处理模块计算资源限制下,能够输出分辨率为1024╳1024,帧率为120帧/s的高速两路RGB图像与立体视觉深度图;在GPU板卡以及基于CUDA的深度融合模块计算资源限制下,能够输出分辨率为1024╳1024,帧率为60帧/s的鲁棒融合深度图。
附图说明
图1为本发明实施例提供的一种基于立体视觉与TOF融合的三维视觉感知方法流程框图;
图2为本发明实施例提供的Fast-SGM算法代价聚合路径示意图;
图3为本发明实施例提供的Fast-SGM算法初始代价计算固件实现示意图;
图4为本发明实施例提供的面向FPGA平台开发的Fast-SGM算法固件实现框架图;
图5为本发明实施例提供的Fast-SGM算法亚像素插值固件实现示意图;
图6为本发明实施例提供的基于CUDA实现的深度融合算法流程图;
图7为本发明实施例提供的基于立体视觉与TOF融合的微小型高速高精视觉系统实物样机图;
图8为本发明实施例提供的基于立体视觉与TOF融合的微小型高速高精视觉系统示意图;
图9为本发明实施例提供的异构高速图像处理系统的FPGA板卡硬件示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
实施例一
一种基于立体视觉与TOF融合的三维视觉感知方法,如图1所示,包括:
采用两路视觉成像单元,采集两路RGB图像;
采用TOF成像设备,采集TOF深度图像;
采用FPGA板卡和高速图像采集处理模块,基于两路RGB图像,对任一路RGB图像进行立体视觉计算,得到该路RGB图像对应的立体视觉深度图;
采用GPU板卡以及基于CUDA的深度融合模块,对立体视觉深度图和TOF深度图进行融合处理,得到融合后的深度图;
将两路RGB图像、立体视觉深度图和融合后的深度图作为三维视觉感知的结果,完成三维视觉感知。
需要说明的是,所谓立体视觉是采用两路RGB图像,根据立体匹配算法,计算得到立体视觉深度图的一种技术。
本实施例融合后的深度图具有较高鲁棒性,因为在弱光照、弱纹理等双目立体视觉失效的场景以及强光照、远距离等TOF失效的场景均能够稳定进行三维视觉感知;在FPGA板卡和高速图像采集处理模块计算资源限制下,能够输出分辨率为1024╳1024,帧率为120帧/s的高速两路RGB图像与立体视觉深度图;在GPU板卡以及基于CUDA的深度融合模块计算资源限制下,能够输出分辨率为1024╳1024,帧率为60帧/s的鲁棒融合深度图。
本实施例基于现有立体视觉系统的不足,结合实际需求,提出了一种基于立体视觉与TOF融合的微小型高速高精视觉系统,充分发挥两种传感器优势,改善输出深度图质量,具有高速鲁棒高精度的特点。
优选地,采用Fast-SGM算法,对任一路RGB图像进行立体视觉计算,如图4所示,实现方式为:
(a)对两路RGB图像进行数据同步;
对由于在图像采集与预处理过程中,左右两路图像分开计算,即使左右相机同步曝光,也可能出现两路图像到来不完全同步的问题,因此需要进行数据对齐以便后续精确计算。具体地,对两路RGB图像进行数据同步预处理,之后,采用两个深度为m的FIFO与一个用于表征各路FIFO处于等待数据状态或数据输出状态的状态机,对两路数据进行对齐,当两路图像的帧起始信号都到来时进行FIFO的两路数据同步输出,若只有左图的帧起始信号或右图的帧起始信号到来,则等待另一张图的帧起始信号到来。其中,m取值为大于两路图像之间的像素延迟,如m取值为512。
(b)分别计算每路图像的初始代价;
具体地,初始代价使用基于像素点的阈值截断AD代价和Sobel梯度代价。两种代价在点(x,y)处视差d上的代价可以分别写作下式:
Cost(x,y,d)=min{M(x,y,d),Tgray}+min{G(x,y,d),Tgrad};
式中,Cost(x,y,d)表示在点(x,y)处视差d上的初始代价,是一个矩阵,M(x,y,d)表示在点(x,y)处视差d上的灰度代价,是一个矩阵。
M(x,y,d)=|IL(x,y)-IR(x-d,y)|;
式中,IL(x,y)表示左图在点(x,y)处灰度值,IR(x-d,y)表示左图点(x,y)处对应右图点(x-d,y)处的灰度值;G(x,y,d)表示在点(x,y)处视差d上的梯度代价,是一个矩阵。
式中,表示左图在点(x,y)处水平方向的梯度值,表示右图在点(x,y)处水平方向的梯度值,表示左图在点(x,y)处竖直方向的梯度值,表示右图在点(x,y)处竖直方向的梯度值;Tgray和Tgrad分别为像素强度阈值和梯度阈值。
基于像素点的灰度代价可大大降低算法复杂度,同时便于在FPGA中使用基础逻辑单元实现,以实现加速运算,而纹理特征在图像匹配领域已被证明是最重要的特征之一,Sobel梯度代价可以表征图像中的纹理信息,以较小的计算代价对物体边界等不连续区域和表面纹理丰富的区域进行较好的描述,有助于克服立体匹配算法在边界性能不佳的问题。
(c)采用所述初始代价,分别计算每路图像的聚合代价;
Fast-SGM总体沿用半全局代价聚合框架,将全局匹配的二维聚合问题转化为沿固定路径的一维聚合问题,如下式所示:
为了减少计算量,同时FPGA流水线固有特性导致某些路径难以实现或需要大量存储资源缓存,Fast-SGM算法将八条搜索路径改为五条,聚合路径如图2所示,最终总代价如下式所示,为五条路径代价的聚合:
式中,Lr(p,d)表示像素点p在视差d上的在路径r代价;S(p,d)表示像素点p在视差d上的聚合代价;Cost(p,d)表示在点p处视差d上的初始代价,P1、P2表示惩罚系数,Lr(p-r,k)表示在路径r上的上一个像素点在视差为k时的路径代价。
(d)采用聚合代价,进行亚像素插值计算,得到最终立体匹配视差图;
通常来说,SGM算法会使用每个像素最小代价的视差作为最终视差,但由于获得的视差是离散的、量化的,存在精度损失,因此,需要使用亚像素插值来对原有的像素级精度进行提升。通过最小化周围视差的代价进行曲线拟合,从而计算出亚像素精度的视差,各像素处视差的插值公式如下所示:
其中,Sd代表当前像素的最小代价,d代表最小代价对应的视差。
(e)基于所述最终视差以及所述两路视觉成像单元的标定参数,得到立体视觉深度图,以对原有的像素级精度进行提升。
优选地,基于像素点的灰度代价容易受噪声影响,并且FPGA难以处理除法运算,因此Fast-SGM算法设计了一种16点采样模式对像素点周围5×5的区域进行平滑来得到计算初始代价的灰度值,可通过寄存器对采样的16个像素值加和并右移4位,实现加速运算,采样模式如图3所示。同时,Fast-SGM算法采用阈值截断操作,将超过阈值的代价统一截断为最大阈值,从而减少噪声对算法精度的影响。
具体的,如图3所示,为实现上述立体视觉计算中的步骤(b),高速图像采集处理模块在所述FPGA板卡上的固件设计方法为:
采用5×5的滑动窗口,计算每个像素点的用于所述初始代价计算的灰度值与梯度值,配置4个行缓存与一个5×5的窗口缓存;对中间3×3窗口的数据使用sobel梯度模板获取当前像素点的x和y方向梯度值,同时对5×5窗口进行16点采样,通过对所有采样点进行加和并右移四位获取平均灰度值,作为当前像素点的灰度值;由于初始代价计算需要对每个像素点计算0-dmax视差范围内的初始代价,使用dmax个移位寄存器进行左右两路图像灰度值与梯度值的缓冲,计算每个像素点在视差范围内对应的所有初始代价。
优选地,为实现所述立体视觉计算中的步骤(c),高速图像采集处理模块在所述FPGA板卡上的固件设计方法为:
采用RAM资源,缓存当前像素的各条路径上一个像素的路径代价,以用于计算当前像素的各条路径代价,具体的:对于用于当前像素的左上方路径、上方路径、右上方路径(如图2所示)的路径代价计算,缓存当前像素的上一行全部的路径代价;对于用于当前像素的左方路径(如图2所示)的路径代价计算,不需要进行行缓存,只需要缓存当前像素上一个像素计算出的路径代价;对于用于当前像素的右方路径(如图2所示)的路径代价计算,由于计算方向与图像数据流输入的方向相反,因此需要使用乒乓缓存在反向它的路径结果;最后将五条路径的路径代价累加得到最终的聚合代价。
优选的,为实现立体视觉计算中的步骤(d),高速图像采集处理模块在所述FPGA板卡上的固件设计方法为:
在FPGA实现中,由于FPGA无法处理浮点数,设计除法器只能得到整数商和余数,因此Fast-SGM算法采用将亚像素插值计算公式的分子左移3位,即扩大8倍的方式,并采用除法器对其进行除法商计算;对当前像素最小聚合代价对应的整数视差扩大8倍;将除法器所得商与同样扩大8倍的所述整数视差进行相加或相减,分子为正时相加,分子为负时相减,得到扩大8倍的视差图;在GPU端对FPGA传输过来的扩大8倍的视差图进行相同倍数的除法(除以8),得到经过近似亚像素插值后的视差图,亚像素插值固件实现框图如图5所示。
优选的,对任一路RGB图像进行立体视觉计算,则立体视觉计算还包括:
计算另一路RGB图像的视差图,并对比两路立体匹配视差图中对应点的视差是否一致来找出“坏点”,以检验视差计算的正确性。
可以排除一部分遮挡和误匹配的区域,因此同样需要使用移位寄存器缓存0-dmax范围内的视差,若根据左图像素的视差对应的右图像素视差不一致,则认为当前像素无效,赋值为0。
优选的,如图6所示,本实施例提出的基于CUDA实现的深度融合算法,作为优选实施例,主要包括TOF投影及上采样、TOF和双目立体匹配深度图置信度计算、深度融合三大部分,具体的,主要包括以下步骤:
(1)由于原始TOF深度图与双目深度图不在同一个坐标系,无法在后续的融合操作中进行融合,因此需要先将TOF深度数据根据标定参数投影到RGB左相机坐标系中并转化为视差图。同时,由于TOF深度图相对RGB图像分辨率较低,导致投影至RGB左相机坐标系下的TOF数据呈现稀疏的属性,不利于后续的深度图融合,需要通过上采样算法获得高分辨率的TOF深度图和视差图。
对图像I(x,y)中像素点(x,y)进行开窗,则空间权重核灰度权重分别如下式所示:
其中,i、j分别为窗口中相对于中心像素(x,y)的位移,σs、σc分别为空间权重和灰度权重的高斯核标准差。因此,对于每一个像素点(x,y),其窗口内的(i,j)的权重为:w(i,j)=ws(i,j)wc(i,j)。
在实际上采样使用时,由于部分像素点存在无效视差,因此当前像素(x,y)的深度取所有有效像素的加权平均,如下式所示:
其中,Z(x,y)表示深度图像,W表示窗口区域。
(2)计算双目视觉置信度和TOF置信度,其中,所述立体视觉深度图中每个像素处的双目立体视觉置信度为:
式中,V(p)表示每个像素点p处的局部方差,Nr(p)表示像素点p的半径为r的矩形邻域区域,|Nr(p)|为邻域区域的像素点个数,dj表示像素点p的视差值,表示点p的邻域Nr(p)内所有像素点的视差值的平均,PS(p)表示每个像素处的双目立体视觉置信度;
具体地,由于双目视觉主要依赖视觉信息和场景中深度连续的先验信息进行计算,因此双目视觉置信度计算主要基于视觉特征匹配特性和视差连续性假设进行,算法采用视差图的局部方差作为双目视觉的置信度,对于Fast-SGM算法计算出的立体匹配视差图,每个像素处的局部方差如下式所示:其中,Nr(p)表示像素点p的半径为r的矩形邻域区域,|Nr(p)|为邻域区域的像素点个数,dj表示像素点p的视差值,表示点p的邻域Nr(p)内所有像素点的视差值的平均,由于方差越大局部视差变化程度越大,则置信度越低,因此需要取方差的相反数作为指标,并归一化到[0,1]内。
另外,TOF的置信度的依据主要来自于两种部分:TOF的误差产生模型和场景中深度连续的先验,而TOF的误差来源主要与传感器接收的场景中的反射光的强度相关,受制于场景中的不确定因素,例如低反射率的黑色区域、反射角度的镜面反射面等,因此所研融合算法采用TOF反射光幅值与局部视差共同构成TOF置信度。
对于TOF幅值图A,采用分段线性函数对置信度进行建模:
其中,Amin、Amax分别为最小和最大阈值。
当一个像素点及其邻域的视差值变化较大时,例如接近不连续点时,得到的估计深度测量值则为不同深度值的凸组合。因此,算法对邻域视差变化较大的像素点赋予较低的置信度,邻域视差变化计算公式如下:
其中,N(p)表示像素点p的邻域区域,|N(p)|为邻域区域的像素点个数,di表示像素点p的视差值,dj表示点p的邻域N(p)内像素点的视差值。为了进一步计算置信度,融合算法通过设置一个最大有效绝对差阈值T=0.3将邻域变化D归一化到[0,1],TOF数据置信度PTD计算公式如下:
最终,TOF置信度由两部分组成,如下式所示:PT=PTAPTD。
(3)采用局部一致性视差技术(Locally consistent,LC)对两种视差数据进行融合,核心思想为:给定一个Fast-SGM视差图DS和一个TOF视差图DT,则每个像素点p包含一个立体视觉视差和一个TOF视差即每个像素点存在两种假设视差值。对于每一种假设视差值,融合算法通过考虑空间一致性和颜色一致性对相应的假设视差值进行可靠性度量,并选择可靠性更高的假设视差值作为该像素点最终的估计视差值dp。立体视觉和TOF在像素点p的假设视差值的可靠性度量公式如下所示:
其中,M∈{S,T}表示数据源,S为立体视觉数据,T为TOF数据,为像素点p的置信度,N(p)表示像素点p的临界区域,m为点p邻域区域内的邻域点,为像素点p在其视差为时在右相机像素坐标系中对应的像素点坐标,为点q邻域区域内的邻域点,r(p,q,m,n)为邻域可靠性函数:
实施例二
一种基于立体视觉与TOF融合的三维视觉感知系统,如图7所示,包括:两路立体视觉成像设备,TOF成像设备,异构高速图像处理系统,以及异构深度融合系统;
其中,异构高速图像处理系统包括FPGA板卡以及设置在FPGA板卡上的高速图像采集处理模块,高速图像采集处理模块的算法步骤与固件设计根据如上实施例一所述的一种基于立体视觉与TOF融合的三维视觉感知方法得到;异构深度融合系统包括GPU板卡以及设置在GPU板卡上的基于CUDA的深度融合模块,深度融合模块用于执行如上实施例一所述的一种基于立体视觉与TOF融合的三维视觉感知方法中的融合处理步骤。
如图8和图9所示,上述的两路立体视觉成像设备可采用如下设计:立体视觉成像设备包括两个用于光电转换的CMOS相机、镜头、滤光片、用于测量三轴姿态的IMU姿态传感器。该成像设备中两个CMOS相机和IMU传感器的同步信号相连,通过外部触发信号对CMOS和IMU进行同步触发,分别采集同一时间的左右两幅图像和IMU姿态数据,通过LVDS信号线传入FPGA板卡上的FPGA图像采集模块中。
也就是,立体视觉成像设备包括两个镜头以及两个图像采集板,图像采集板包括CMOS图像传感器模块、IMU三轴姿态传感器模块以及电源模块,CMOS图像传感器产生高质量高帧率的图像,与IMU三轴姿态传感器产生的角度、加速度数据一起输送至异构高速图像处理系统。
立体视觉成像设备提供一种左右CMOS相机和IMU严格硬件同步的图像采集系统,其中,CMOS传感器使用了全局快门,可以减少相机拍摄时产生的运动畸变,保证了高速采集过程中图像和传感器信号的同步和保真。
具体的,本实施例中,立体视觉成像设备的CMOS传感器选用美国安森美半导体公司的PYTHON5000高性能CMOS高速视觉传感器,快门模式为全局快门,最高可实现2592pixels×2048pixels@100fps的低噪声高分辨率高帧率海量彩色图像数据流输出,1920pixels×1080pixels分辨率下最高帧率可达255fps。立体视觉成像设备的IMU姿态传感器选用荷兰XSENS公司的MTi1系列作为微小型视觉单元的惯性测量单元,体积小,功耗低,核心部件采用高精度MEMS加速度计、陀螺、磁力计,可稳定输出高精度横滚、俯仰和航向等信息。立体视觉成像设备与FPGA板卡之间通过FPC排线进行通信,CMOS传感器与IMU姿态传感器的同步信号相连,由FPGA板卡同步控制传感器图像采集与IMU数据采集,确保图像曝光与三轴姿态数据严格同步。
上述的TOF成像设备通过飞行时间测距原理进行场景的深度测量,能够实时输出高精度的深度数据,TOF成像设备可采用如下设计:TOF成像设备包括多个TOF模组和分时控制模块,TOF模组主要用于采集来自TOF传感器的场景深度数据,分时控制模块通过外部触发的形式,在不同时间分别触发不同的TOF模组,保证每个时刻都有TOF模组工作,然后将多路TOF模组数据进行集成,实现整体TOF成像设备相对于单一TOF模组帧率的提升。
例如,TOF成像设备包括四个TOF传感器,每个TOF传感器可稳定向异构高速图像处理系统输出30fps的深度图像,由异构深度融合系统进行分时采集,共可生成120fps的TOF深度图像。
TOF成像设备提供一种提高TOF模组帧率的方法,解决了高速成像系统中单一模组TOF帧率过低的问题,使低帧率的TOF传感器满足高速系统的需求。
具体的,本实施例中,TOF成像设备选用国产OPNOUS公司的OPNM8808CTOF模组,该模组包括激光发射器、激光接收器以及数据处理板,能够稳定输出分辨率为320pixel×240pixel、帧率为30fps的TOF深度图像。TOF成像设备预留接口与GPU板卡相连,由GPU板卡对四个成像设备进行分时控制,来达到120fps高速深度图采集的目的。
上述的异构高速图像处理系统可采用如下设计:异构高速图像处理系统包括FPGA板卡和高速图像采集处理模块,由图像输入单元,图像处理单元,图像输出单元组成,图像输入单元可采集立体视觉成像设备输出的两路RGB图像,图像处理单元对两路RGB图像进行高速实时预处理与深度计算,图像输出单元将高帧率的RGB图像与深度图像输出,并与GPU板卡进行通信。即异构高速图像处理系统用于高速高帧率的图像采集、预处理、双目深度估计,并将处理完毕的双路图像和深度图数据通过PCIe发送到GPU上。
高速图像采集处理模块包括图像处理ISP子模块、深度估计算法子模块和图像输出子模块,其中图像处理ISP子模块包括图像采集固件、图像预处理固件、自动曝光、白平衡固件、图像校正固件以及图像输出固件,用于高速图像采集和预处理;深度估计算法子模块包括图像校正固件和面向FPGA平台开发的Fast-SGM算法固件,用于估计深度,通过双目图像进行高速立体匹配,生成场景的深度图;图像输出子模块,用于将高速图像和深度图分发到USB和PCIe输出接口,分别发送到上位机和GPU板卡。
也就是,异构高速图像处理系统具体为FPGA板卡及高速图像处理固件,用于采集两路RGB图像进行预处理以及立体匹配深度图像计算,发送至上位机显示视频流,同时传输至GPU板卡进行基于CUDA实现的深度融合。
面向FPGA平台开发的Fast-SGM算法针对于高速高精的需求对SGM算法的多步骤进行了优化,并设计了固件实现框架,同时采用多种并行加速策略提高算法运行效率,最终能够实现1024pixels×1024pixels@120fps的实时高精深度图计算。算法步骤包括预处理、代价计算、代价聚合、后处理四部分,其中代价计算部分使用基于像素点的阈值截断AD代价和Sobel梯度代价,能够增强算法的精度和鲁棒性;代价聚合部分在SGBM框架基础上增加了可变的惩罚系数和自适应的代价权重,能够提高不连续区域精度,同时,将全局的8条搜索路径改为4条,便于FPGA平台采用流水线设计思想加速计算。也就是,面向FPGA平台开发的Fast-SGBM立体匹配算法完全使用FPGA逻辑进行立体匹配算法的计算处理,提高立体匹配算法的计算速度和整个双目视觉系统的实时性。
具体的,如图9所示,异构高速图像处理系统中的FPGA板卡以FPGA芯片为核心,还包括两个FPC接口、四个USB3.0接口,PCIE接口、时钟模块、电源模块与存储模块。其中,主芯片选用赛灵思(Xilinx)公司的xczu19eg-ffvc1760-2-i芯片作为处理芯片,该芯片属于异构SoC,是实现差异化、分析和控制功能的创新型+FPGA架构,内含视频编码解码器单元、高级动态功耗管理单元以及DDR4内存接口支持等功能单元与模块,可满足实时高速图像的处理需求,同时保证系统低功耗微型化高处理效率;FPC接口用于接收CMOS相机拍摄的图像,最高可实现5.4Gbps传输速率;USB3.0接口用于向上位机传输经过预处理的两路RGB图像以及通过立体匹配算法计算出的深度图像,最高可实现5Gbps传输速率;PCIE接口用于和GPU板卡进行通信与数据传输,最高可实现4GB/s传输速率;时钟模块用于产生各器件需要的时钟,保证正常工作;电源模块用于给不同器件提供不同的电压,为整个板卡提供稳定的电源;存储模块由两块512MB的DDR4组成,在FPGA芯片中DDR存储空间不够时,用来存储或缓冲图像。
上述的异构深度融合系统可采用如下设计:异构深度融合系统包括GPU板卡与基于CUDA的深度融合算法,GPU板卡由图像输入单元、图像处理单元、图像输出单元组成,图像输入单元采集FPGA板卡输出的深度图像以及TOF成像设备输出的深度图像,图像处理单元对深度图像进行融合,使得获得的最终深度图测量精度更高,鲁棒性更强,图像输出单元可无线传输融合后的深度图;基于CUDA的深度融合算法实现高帧率高精度的双目立体视觉深度图与TOF深度图融合,可以输出高速高精的深度图。即异构深度融合系统用于采集立体视觉成像设备的数据,并通过图像处理单元实时进行高速图像预处理以及计算立体视觉深度图。
根据实施例一所述,基于CUDA实现的深度融合算法设计了一种并行深度融合算法架构,大大提升了深度融合算法在GPU上的运行效率,同时将双目深度图和TOF深度图相结合,充分发挥了两种深度估计方法的优势,可以输出高速高精度的融合深度图。具体算法步骤如实施例一所述,包括TOF投影及上采样、TOF和双目立体匹配深度图置信度计算、深度融合三部分,其中TOF投影及上采样用于将TOF深度图数据投影至双目深度图上,使两种数据在图像对齐,为后续计算打下基础;TOF和双目立体匹配深度图置信度计算计算用于根据双目图像的深度图和TOF深度图计算每个点的深度估计置信度,作为后续融合算法的指导;深度融合用于通过两种数据的深度图置信度进行深度融合,最终得到融合后的深度图。
也就是,异构深度融合系统具体为GPU板卡及基于CUDA实现的深度融合算法,用于采集TOF成像设备输出的深度图并与异构高速图像处理系统输出的立体匹配深度图进行融合,输出高速高精的深度图。
具体的,本实施例中,异构高速图像融合系统中的GPU板卡选用NVIDIA Jetson-AGX-Xavier开发套件,该套件搭载Tensor Core的512核Volta GPU以及8核ARM v8.2 64位CPU,拥有充足的计算资源与外设接口,能够保证双目视觉的深度数据与TOF数据的实时高精度融合。此外,该套件拥有充足的模块接口,包括PCIE接口、以太网接口、USB接口、M.2接口、HDMI接口等,方便与FPGA板卡或上位机进行数据传输。
本实施例采用上述的微小型高速高精视觉系统进行图像采集和处理,结合实施例一方法,FPGA板卡接收到立体视觉成像设备的两路Bayer彩色图像后,就存到FPGA芯片的DDR4中,之后对图像进行预处理操作,包括拜耳阵列插值、高斯滤波、自动白平衡、自动增益以及图像校正等(目的是使得图像效果在多种环境下都比较好)。经过预处理后的两路RGB图像根据立体匹配算法计算深度图,为达到高速高精的目的,该系统提出了面向FPGA平台开发的Fast-SGM算法,对SGM算法的代价计算及聚合进行优化,进一步提高了算法性能,同时采用多种并行加速策略提高算法运行效率,最终能够实现1024pixels×1024pixels@120fps的实时高精深度图计算。
随后,FPGA板卡将两路RGB图像以及立体匹配深度图像通过四路USB3.0接口传输至上位机显示视频流,同时,立体匹配深度图通过PCIE接口传输至GPU板卡以进行深度图融合。随后,GPU板卡通过分时控制采集四路TOF成像设备采集的深度图,并使用基于CUDA实现的深度融合算法进行融合,通过USB3.0接口将高精度高鲁棒的融合深度图传输至上位机显示。
需要说明的是,实施例一和实施例二的说明互相有效,不再赘述。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种基于立体视觉与TOF融合的三维视觉感知方法,其特征在于,包括:
采用两路视觉成像单元,采集两路RGB图像;
采用TOF成像设备,采集TOF深度图像;
采用FPGA板卡和高速图像采集处理模块,基于所述两路RGB图像,对任一路RGB图像进行立体视觉计算,得到该路RGB图像对应的立体视觉深度图;
采用GPU板卡以及基于CUDA的深度融合模块,对所述立体视觉深度图和TOF深度图进行融合处理,得到融合后的深度图;
将所述两路RGB图像、所述立体视觉深度图和所述融合后的深度图作为三维视觉感知的结果,完成三维视觉感知。
2.根据权利要求1所述的三维视觉感知方法,其特征在于,采用适于FPGA实现的Fast-SGM算法,对任一路RGB图像进行立体视觉深度图计算,实现方式为:
(a)对所述两路RGB图像进行数据同步;
(b)分别计算每路图像的初始代价;
(c)采用所述初始代价,分别计算每路图像的聚合代价;
(d)采用聚合代价,进行亚像素插值计算,得到最终立体视觉视差图;
(e)基于所述最终视差以及所述两路视觉成像单元的标定参数,得到立体视觉深度图。
3.根据权利要求2所述的三维视觉感知方法,其特征在于,为高效实现所述立体视觉计算中的步骤(b),所述高速图像采集处理模块在所述FPGA板卡上的固件设计方法为:
采用5×5的滑动窗口,计算每个像素点的用于所述初始代价计算的灰度值与梯度值,配置4个行缓存与一个5×5的窗口缓存;对中间3×3窗口的数据使用sobel梯度模板获取当前像素点的x和y方向梯度值,同时对5×5窗口进行16点固定模式采样,通过对所有采样点进行加和并右移四位获取平均灰度值,作为当前像素点的灰度值;由于初始代价计算需要对每个像素点计算0-dmax视差范围内的初始代价,使用dmax个移位寄存器进行左右两路图像灰度值与梯度值的缓冲,计算每个像素点在视差范围内对应的所有初始代价。
4.根据权利要求2所述的三维视觉感知方法,其特征在于,为高效实现所述立体视觉计算中的步骤(c),所述高速图像采集处理模块在所述FPGA板卡上的固件设计方法为:
采用RAM资源,缓存当前像素的各条路径上一个像素的路径代价,以用于计算当前像素的各条路径代价,具体的:对于用于当前像素的左上方路径、上方路径、右上方路径的路径代价计算,缓存当前像素的上一行全部的路径代价;对于用于当前像素的左方路径的路径代价计算,不需要进行行缓存,只需要缓存当前像素上一个像素计算出的路径代价;对于用于当前像素的右方路径的路径代价计算,使用乒乓缓存反向右方路径的路径代价;最后将五条路径的路径代价累加得到最终的聚合代价。
5.根据权利要求2所述的三维视觉感知方法,其特征在于,为高效实现所述立体视觉计算中的步骤(d),所述高速图像采集处理模块在所述FPGA板卡上的固件设计方法为:
将亚像素插值计算公式的分子左移3位,即扩大8倍的方式,并采用除法器对其进行除法商计算;对当前像素最小聚合代价对应的整数视差扩大8倍;将除法器所得商与同样扩大8倍的所述整数视差进行相加或相减,分子为正时相加,分子为负时相减,得到扩大8倍的视差图;在GPU端对FPGA传输过来的扩大8倍的视差图进行相同倍数的除法,得到经过近似亚像素插值后的立体视觉视差图。
6.根据权利要求2所述的三维视觉感知方法,其特征在于,对任一路RGB图像进行立体视觉计算,则所述立体视觉计算还包括:
计算另一路RGB图像的视差图,并对比两路立体匹配视差图中对应点的视差是否一致来标记“坏点”。
7.根据权利要求2所述的三维视觉感知方法,其特征在于,对所述立体视觉深度图和TOF深度图像进行融合处理的实现方式为:
(1)将TOF深度图像根据标定参数投影到RGB左相机坐标系中并转化为TOF视差图;对所述TOF视差图进行上采样,得到分辨率与所述两路RGB图像相同的TOF视差图;
(2)计算双目视觉置信度和TOF置信度,其中,所述立体视觉深度图中每个像素处的双目立体视觉置信度为:
式中,V(p)表示每个像素点p处的局部方差,Nr(p)表示像素点p的半径为r的矩形邻域区域,|Nr(p)|为邻域区域的像素点个数,dj表示像素点p的视差值,表示点p的邻域Nr(p)内所有像素点的视差值的平均,PS(p)表示每个像素处的双目立体视觉置信度;
(3)TOF深度图像中每个像素处的TOF置信度为:
PT=PTAPTD;
式中,PTA表示TOF幅值置信度,PTD表示TOF视差置信度,A表示TOF幅值图,Amin、Amax分别为最小和最大阈值,D(p)表示TOF视差图中每个像素的局部方差,N(p)表示像素点p的邻域区域,|N(p)|为邻域区域的像素点个数,di表示像素点p的视差值,dj表示点p的邻域N(p)内像素点的视差值,T表示设置的最大有效阈值;
(4)采用局部一致性视差算法,基于双目立体视觉置信度和TOF置信度,对所述立体视觉视差图和所述TOF视差图进行融合。
8.一种基于立体视觉与TOF融合的三维视觉感知系统,其特征在于,包括:两路立体视觉成像设备,TOF成像设备,异构高速图像处理系统,以及异构深度融合系统;
其中,所述异构高速图像处理系统包括FPGA板卡以及设置在所述FPGA板卡上的高速图像采集处理模块,所述高速图像采集处理模块的固件设计与算法步骤根据如权利要求1至7任一项所述的一种基于立体视觉与TOF融合的三维视觉感知方法确定;所述异构深度融合系统包括GPU板卡以及设置在所述GPU板卡上的基于CUDA的深度融合模块,所述深度融合模块用于执行如权利要求1至7任一项所述的一种基于立体视觉与TOF融合的三维视觉感知方法中的融合处理步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211240792.0A CN115714855A (zh) | 2022-10-11 | 2022-10-11 | 一种基于立体视觉与tof融合的三维视觉感知方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211240792.0A CN115714855A (zh) | 2022-10-11 | 2022-10-11 | 一种基于立体视觉与tof融合的三维视觉感知方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115714855A true CN115714855A (zh) | 2023-02-24 |
Family
ID=85230973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211240792.0A Pending CN115714855A (zh) | 2022-10-11 | 2022-10-11 | 一种基于立体视觉与tof融合的三维视觉感知方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115714855A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115994937A (zh) * | 2023-03-22 | 2023-04-21 | 科大讯飞股份有限公司 | 深度估计方法、装置及机器人 |
CN116563087A (zh) * | 2023-05-12 | 2023-08-08 | 深圳聚源视芯科技有限公司 | 一种梯度计算、缓存装置和节约资源的代价计算方法 |
CN117315003A (zh) * | 2023-12-01 | 2023-12-29 | 常州微亿智造科技有限公司 | 基于双目光栅投影的三维测量方法、系统、设备及其介质 |
CN116563087B (zh) * | 2023-05-12 | 2024-05-14 | 深圳聚源视芯科技有限公司 | 一种梯度计算、缓存装置和节约资源的代价计算方法 |
-
2022
- 2022-10-11 CN CN202211240792.0A patent/CN115714855A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115994937A (zh) * | 2023-03-22 | 2023-04-21 | 科大讯飞股份有限公司 | 深度估计方法、装置及机器人 |
CN116563087A (zh) * | 2023-05-12 | 2023-08-08 | 深圳聚源视芯科技有限公司 | 一种梯度计算、缓存装置和节约资源的代价计算方法 |
CN116563087B (zh) * | 2023-05-12 | 2024-05-14 | 深圳聚源视芯科技有限公司 | 一种梯度计算、缓存装置和节约资源的代价计算方法 |
CN117315003A (zh) * | 2023-12-01 | 2023-12-29 | 常州微亿智造科技有限公司 | 基于双目光栅投影的三维测量方法、系统、设备及其介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018086348A1 (zh) | 双目立体视觉系统及深度测量方法 | |
JP6552729B2 (ja) | 異なる分解能を有するセンサーの出力を融合するシステム及び方法 | |
US10089750B2 (en) | Method and system of automatic object dimension measurement by using image processing | |
EP3248374B1 (en) | Method and apparatus for multiple technology depth map acquisition and fusion | |
US9443350B2 (en) | Real-time 3D reconstruction with power efficient depth sensor usage | |
CN115714855A (zh) | 一种基于立体视觉与tof融合的三维视觉感知方法及系统 | |
US20110249117A1 (en) | Imaging device, distance measuring method, and non-transitory computer-readable recording medium storing a program | |
US8456524B2 (en) | Egomotion speed estimation on a mobile device using a single imager | |
CN110070598B (zh) | 用于3d扫描重建的移动终端及其进行3d扫描重建方法 | |
EP3135033B1 (en) | Structured stereo | |
WO2020119467A1 (zh) | 高精度稠密深度图像的生成方法和装置 | |
US20120050464A1 (en) | Method and system for enhancing 3d effects for 3d video rendering | |
CN114494388B (zh) | 一种大视场环境下图像三维重建方法、装置、设备及介质 | |
Mahdy et al. | Projector calibration using passive stereo and triangulation | |
US20220148143A1 (en) | Image fusion method based on gradient domain mapping | |
CN110728745B (zh) | 一种基于多层折射图像模型的水下双目立体视觉三维重建方法 | |
US10540809B2 (en) | Methods and apparatus for tracking a light source in an environment surrounding a device | |
CN111524177A (zh) | 一种机器人微小型高速双目立体视觉系统 | |
CN114757985A (zh) | 基于zynq改进算法的双目深度感知装置及图像处理方法 | |
CN116797713A (zh) | 一种三维重建方法和终端设备 | |
CN107845108A (zh) | 一种光流值计算方法、装置及电子设备 | |
Ren et al. | Self-calibration method of gyroscope and camera in video stabilization | |
CN111637837A (zh) | 一种单目摄像头测量物体尺寸及距离的方法和系统 | |
CN117635849B (zh) | 一种动态实时高精度三维成像系统 | |
WO2018161322A1 (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 |