基于双目立体视觉匹配的视差图像生成方法及系统
技术领域
本发明属于图像处理领域,更具体的,涉及一种基于双目立体视觉匹配的视差图像生成方法、系统、电子设备及可读介质。
背景技术
深度传感器的快速发展为计算机视觉领域带来了新的变革,深度估计信息被充分应用于自动驾驶、3D重建、行为识别和活体检测相关难题解决方案中。目前主流深度传感器主要包含4种技术类型:飞行时间(time of flight,ToF)、激光雷达、结构光与双目立体视觉。
双目立体视觉技术步骤包括:摄像头标定获取相机参数;极线矫正使左右两相机极线水平;矫正后图像像素点匹配获取视差图;由深度计算公式获取深度信息。技术难点集中于矫正后图像像素点匹配获取视差图,即双目视觉立体匹配方法。典型立体匹配方法包括匹配方法选择和后处理(matchig cost and post-processing)两个环节。常见传统匹配方法为基于灰度区域匹配,如局部算法(Window-based algorithm)。随着深度学习技术在计算机视觉领域的成功应用,CNN网络近几年也被应用到了双目立体匹配中,可研究者只是利用CNN,例如MC-CNN方法,评估像素间的匹配度。因此目前的双目立体匹配方法存在以下不足:基于CNN的匹配方法虽然提升了匹配速度和精度,但没有解决双目立体匹配的本质问题,在遮挡区域、重复模式区域、缺少纹理区域和表面反光区域,无法准确找到匹配点,需要立体匹配的后处理步骤,如亚像素增强、滤波降噪、精细化等操作,过程繁琐。
发明内容
为了解决目前双目立体视觉技术存在的上述问题的至少一个,本发明提供一种基于双目立体视觉匹配的视差图像生成方法、系统、电子设备及可读介质,通过将一对散斑图像作为输入,经过双目视觉立体匹配网络(深度学习神经网络)处理直接输出视差图,实现了视差图的端到端计算和端到端的网络设计框架,消除了立体匹配的后处理步骤,如亚像素增强、滤波降噪、精细化等操作,极大减小了运算开销。
本发明第一方面提供一种基于双目立体视觉匹配的视差图像生成方法,包括:
获取一对散斑图像;所述一对散斑图像是物体在设定光束照射下经一对双目标定后的摄像头捕获的散斑的图像;
将所述一对散斑图像输入预设的深度学习神经网络,生成对应的视差图像;其中,所述深度学习神经网络通过多对散斑图像训练得到。
在某些实施例中,所述方法还包括:
提供多对散斑图像;
建立所述深度学习神经网络;
应用提供的所述多对散斑图像,训练所述深度学习神经网络。
在某些实施例中,所述深度学习神经网络包括:卷积层网络单元、池化层网络单元、视差代价卷网络单元以及正则化视差代价卷计算网络单元;所述建立所述深度学习神经网络,包括:
设置卷积层网络单元、池化层网络单元、视差代价卷网络单元以及正则化视差代价卷计算网络单元;
其中,所述卷积层网络单元的输入为一对散斑图像,输出为对应每个散斑图像的若干第一特征图像;
所述池化层网络单元的输入为所述卷积层网络单元的输出,输出为对应每个散斑图像的相同特征尺度并且相互级联的若干第二特征图像;
所述视差代价卷网络单元的输入为所述池化层网络单元的输出,输出为对应每个散斑图像的在每个视差级下的四维视差代价卷;
所述正则化视差代价卷计算网络单元的输入为所述视差代价卷网络单元的输出,输出为所述一对散斑图像的视差图像。
在某些实施例中,设置卷积层网络单元,包括:
设置第一卷积层;
设置第一残差结构单元,所述第一残差结构单元包括若干层第二卷积层;
其中,所述第一卷积层的输出作为第一层第二卷积层的输入;
在所述若干层第二卷积层中,上一层的输入与输出共同作为相邻下一层的输入,最后一层输出所述若干第一特征图像。
在某些实施例中,所述第一卷积层中卷积核的尺寸大于所述第二卷积层中卷积核的尺寸。
在某些实施例中,设置池化层网络单元,包括:
设置一层池化层,所述池化层中设置有若干池化模块,每个所述池化模块具有多种池化尺度;
设置第一特征尺度归一层,将通过所述池化层得到的不同特征尺度的特征图像通过插值上采样处理至相同特征尺度;
设置第一级联层,使处理至相同特征尺度的多个特征图像中各自对应的特征相互级联,进而生成所述若干第二特征图像。
在某些实施例中,设置视差代价卷网络单元,包括:
设置第二级联层,将所述若干第二特征图像中处于相同视差级的特征图像相互级联;
设置封装层,将同一视差级下的所有第二特征图像封装为一个四维的视差代价卷。
在某些实施例中,设置正则化视差代价卷计算网络单元,包括:
设置至少一级编解码结构单元,第一级编解码结构单元的输入为四维的视差代价卷,上一级编解码结构单元的输入与输出共同作为相邻下一级编解码结构单元的输入,每级编解码结构单元的输出为分别对应其中一个散斑图的两个第三特征图像;
设置第二特征尺度归一层,将通过每个编解码结构单元输出的两个第三特征图像通过插值上采样处理至与所述一对散斑图像相同的特征尺度;
设置视差回归层,所述视差回归层的输入为所述第二特征尺度归一层的输出,所述视差回归层输出所述一对散斑图像的视差图像。
在某些实施例中,设置任意一级编解码结构单元,包括:
设置至少一层三维卷积层和与三维卷积层层数相同的三维反卷积层;
其中,第一层三维卷积层的输入为四维视差代价卷;
上一层三维卷积层的输出作为相邻下一层三维卷积层输入,最后一层三维卷积层的输出作为第一层三维反卷积层的输入;
上一层三维反卷积层的输出作为相邻下一层三维反卷积层的输入,最后一层反卷积层输出分别对应其中一个散斑图的第三特征图像。
本发明第二方面提供一种基于双目立体视觉匹配的视差图像生成系统,包括:
散斑图像获取模块,获取一对散斑图像;所述一对散斑图像是物体在设定光束照射下经一对双目标定后的摄像头捕获的散斑的图像;
视差图像生成模块,将所述一对散斑图像输入预设的深度学习神经网络,生成对应的视差图像;其中,所述深度学习神经网络根据多对散斑图像训练得到。
在某些实施例中,所述系统还包括:
散斑图像提供模块,提供多对散斑图像;
深度学习神经网络建立模块,建立所述深度学习神经网络;
训练模块,应用提供的所述多对散斑图像,训练所述深度学习神经网络。
在某些实施例中,所述深度学习神经网络,包括:卷积层网络单元、池化层网络单元、视差代价卷网络单元以及正则化视差代价卷计算网络单元;
其中,所述卷积层网络单元的输入为一对散斑图像,输出为对应每个散斑图像的若干第一特征图像;
所述池化层网络单元的输入为所述卷积层网络单元的输出,输出为对应每个散斑图像的相同特征尺度并且相互级联的若干第二特征图像;
所述视差代价卷网络单元的输入为所述池化层网络单元的输出,输出为对应每个散斑图像的在每个视差级下的四维视差代价卷;
所述正则化视差代价卷计算网络单元的输入为所述视差代价卷网络单元的输出,输出为所述一对散斑图像的视差图像。
在某些实施例中,所述卷积层网络单元,包括:
第一卷积层;
第一残差结构单元,所述第一残差结构单元包括若干层第二卷积层;
其中,所述第一卷积层的输出作为第一层第二卷积层的输入;
在所述若干层第二卷积层中,上一层的输入与输出共同作为相邻下一层的输入,最后一层输出所述若干第一特征图像。
在某些实施例中,所述第一卷积层中卷积核的尺寸大于所述第二卷积层中卷积核的尺寸。
在某些实施例中,所述池化层网络单元,包括:
一层池化层,所述池化层中设置有若干池化模块,每个所述池化模块具有多种池化尺度;
第一特征尺度归一层,将通过所述池化层得到的不同特征尺度的特征图像通过插值上采样处理至相同特征尺度;
设置第一级联层,使处理至相同特征尺度的多个特征图像中各自对应的特征相互级联,进而生成所述若干第二特征图像。
在某些实施例中,所述视差代价卷网络单元,包括:
第二级联层,将所述若干第二特征图像中处于相同视差级的特征图像相互级联;
封装层,将同一视差级下的所有第二特征图像封装为一个四维的视差代价卷。
在某些实施例中,所述正则化视差代价卷计算网络单元,包括:
至少一级编解码结构单元,第一级编解码结构单元的输入为四维的视差代价卷,上一级编解码结构单元的输入与输出共同作为相邻下一级编解码结构单元的输入,每级编解码结构单元的输出为分别对应其中一个散斑图的两个第三特征图像;
第二特征尺度归一层,将通过每个编解码结构单元输出的两个第三特征图像通过插值上采样处理至与所述一对散斑图像相同的特征尺度;
视差回归层,所述视差回归层的输入为所述第二特征尺度归一层的输出,所述视差回归层输出所述一对散斑图像的视差图像。
在某些实施例中,任意一级编解码结构单元,包括:
至少一层三维卷积层和与三维卷积层层数相同的三维反卷积层;
其中,第一层三维卷积层的输入为四维视差代价卷;
上一层三维卷积层的输出作为相邻下一层三维卷积层输入,最后一层三维卷积层的输出作为第一层三维反卷积层的输入;
上一层三维反卷积层的输出作为相邻下一层三维反卷积层的输入,最后一层反卷积层输出分别对应其中一个散斑图的第三特征图像。
本发明第三方面实施例提供一种基于深度学习神经网络的端到端双目深度感知系统,包括:
设定光束发出模块,用于向被感知物体照射设定光束,所述设定光束是照射所述物体时可采集物体散斑信息的光束;
图像采集模块,通过设于其上的双目摄像头采集物体被设定光束照射的一对散斑图像;
数据传输模块,用于传输所述一对散斑图像;以及
服务器,接收所述一对散斑图像,并将所述一对散斑图像输入预设的深度学习神经网络,生成对应的视差图像;其中,所述深度学习神经网络根据多对散斑图像训练得到。
本发明第五方面实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法的步骤。
本发明第六方面实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上方法的步骤。
本发明的有益效果如下:
本发明提供一种基于双目立体视觉匹配的视差图像、深度图像生成方法、系统,通过将一对散斑图像作为输入,经过双目视觉立体匹配网络(深度学习神经网络)处理直接输出视差图,实现了视差图的端到端计算和端到端的网络设计框架,消除了立体匹配的后处理步骤,如亚像素增强、滤波降噪、精细化等操作,极大减小了运算开销。
在优选的实施例中,深度学习神经网络包括设置卷积层网络单元、池化层网络单元、视差代价卷网络单元以及正则化视差代价卷计算网络单元,充分考虑了图像的全局信息和局部信息,构建出图像上下文信息,有效解决了遮挡和缺少纹理区域难匹配问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a示出本发明实施例中一种基于深度学习神经网络的端到端双目深度感知系统结构示意图之一。
图1b示出本发明实施例中一种基于深度学习神经网络的端到端双目深度感知系统结构示意图之二。
图1c示出本发明实施例中一种基于深度学习神经网络的端到端双目深度感知系统结构示意图之三。
图1d示出本发明实施例中一种基于深度学习神经网络的端到端双目深度感知系统结构示意图之四。
图2示出本发明实施例中深度学习神经网络的结构示意图。
图3示出本发明具体实施例方式中正则化视差代价卷计算单元的结构示意图。
图4示出本发明实施例中一种基于双目立体匹配的视差图像生成方法的流程示意图。
图5示出本发明实施例中一种基于双目立体匹配的视差图像生成方法进一步包括的方法流程示意图。
图6示出图5的步骤S002的具体流程示意图。
图7示出图6中步骤S002a的具体流程示意图。
图8示出图6中步骤S002b的具体流程示意图。
图9示出图6中步骤S002c的具体流程示意图。
图10示出图6中步骤S002d的具体流程示意图。
图11示出本发明实施例中一种基于双目立体匹配的视差图像生成系统的结构示意图之一。
图12示出本发明实施例中一种基于双目立体匹配的视差图像生成系统的结构示意图之二。
图13示出本发明实施例中深度学习神经网络中的卷积层网络单元002a的具体结构示意图。
图14示出本发明实施例中深度学习神经网络中的池化层网络单元002b的具体结构示意图。
图15示出本发明实施例中深度学习神经网络中的视差代价卷网络单元002c的具体结构示意图。
图16示出本发明实施例中深度学习神经网络中的正则化视差代价卷计算网络单元002d的具体结构示意图。
图17示出图16中编解码结构单元的具体结构示意图。
图18示出本发明实施例中一种基于双目立体匹配的深度图像生成方法的流程示意图。
图19示出本发明实施例中一种基于双目立体匹配的深度图像生成系统的结构示意图。
图20示出适于用来实现本申请实施例的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前基于CNN的匹配方法虽然提升了匹配速度和精度,但没有解决双目立体匹配的本质问题,在遮挡区域、重复模式区域、缺少纹理区域和表面反光区域,无法准确找到匹配点,需要立体匹配的后处理步骤,如亚像素增强、滤波降噪、精细化等操作,过程繁琐。
基于此,本申请实施例通过将一对散斑图像作为输入,经过双目视觉立体匹配网络(深度学习神经网络)处理直接输出视差图,深度学习神经网络是经过历史输入的散斑图像训练形成的,相较于目前的匹配方法,实现了视差图的端到端计算和端到端的网络设计框架,消除了立体匹配的后处理步骤,如亚像素增强、滤波降噪、精细化等操作,极大减小了运算开销。
为此,本申请实施例中提供了一种基于深度学习神经网络的端到端双目深度感知系统,参见图1a,该深度感知系统包括:图像采集模块101,设定光束发出模块102,服务器103。
在实际应用中,设定光束发出模块102可以发出设定光束,设定光束是可在所述物体上形成散斑的光束,一般为红外光或者激光,即设定光束发出模块102可以是红外光发射器或者激光发射器等。
图像采集模块101包括有通过一对经双目标定的摄像头,通过一对摄像头可采集对应左摄像头和对应右摄像头的一对图像,并且在本系统中,摄像头是与设定光束发出模块102相匹配的摄像头,例如当设定光束为红外光时,摄像头可以采集红外光照射到物体上所形成的图像,当设定光束为激光时,摄像头可以采集激光照射到物体上所形成的图像,通过图像采集模块101可以获取一对散斑图像,即左散斑图像和右散斑图像。
在一个优选的实施例中,可以对左散斑图像和右散斑图像进行极线矫正,避免图像本身带来的不利影响。
一般地,一对摄像头在采集图像前,需要进行相机标定等常规消除畸变、噪音的措施,本申请不限于此。
在一些实施例中,一对摄像头可以是双目摄像头中的两个摄像头,也可以是两个独立存在的摄像头,本申请不限于此,只要该一对摄像头经过双目标定即可,当然,在双目标定之前,还可以对单个摄像头进行标定。但需要理解,经双目标定的两个摄像头需要处于于同一水平线上,并且中轴线互相平行。
在实际应用中,本系统还包括数据传输模块104,例如蓝牙、无线信号发射器等,将双目摄像头采集的一对散斑图传输至服务器103中,然后服务器将其获取的一对散斑图输入深度学习神经网络,生成对应的视差图像。
服务器103可以离线执行深度学习神经网络的建立过程,即服务器103可以从历史多对散斑图像数据库中获取训练集数据,这些作为训练集的多对散斑图像各自均附加有对应的输出结果标签,而后,所述服务器103用训练集中的多对散斑图像训练深度学习神经网络,网络模型稳定后,深度学习神经网络训练形成了所述深度学习神经网络。
而后,数据传输模块104将待生成视差图的一对散斑图像发送至服务器103,所述服务器103在线接收图像数据,部署有深度学习框架的所述服务器103在线或者离线将获取的一对散斑图像输入至训练完成的深度学习神经网络中,然后输出对应该一对散斑图的视差图。然后服务器103将该视差图发送给需要的设备,例如客户端设备,或者服务器103将视差图输入深度计算模型得到深度图,深度计算模型基于深度计算公式建立,其输入是视差图像,输出是深度图像。
在实际应用中,如图1b,服务器103可以替代为客户端设备105,进行深度学习神经网络的建立和视差图输出的部分可以至少部分在客户端设备105执行,具体可以根据客户端设备105的处理能力,以及用户使用场景的限制等进行选择。例如用户可以在线进行网络模型的创建,也可以离线进行网络模型的创建,本申请不做限制。
在具有客户端设备105的实施例中,客户端设备105可以是手机、平板电脑、可穿戴设备、台式电脑、一体机等等,本申请对客户端设备105的具体形式不予限制。
为了提高视差图输出的效率和整合性,客户端设备105上可以集成双目摄像头,即图像采集模块101集成在客户端设备105上,用户可以通过操作客户端设备105在目标场地对目标物进行图像拍摄,然后直接应用该客户端设备105对采集的一对散斑图进行处理,输出视差图,如图1c;或者应用该客户端设备105将采集到的一对散斑图发送至服务器103,并接收服务器回传的视差图,如图1d,即客户端设备105集成了图像采集模块101、数据传输模块104的功能。
在本申请的一个或多个实施例中,深度学习神经网络的结构如图2所示,可以依次包括:卷积层网络单元002a、池化层网络单元002b、视差代价卷网络单元002c以及正则化视差代价卷计算网络单元002d。
卷积层网络单元是基于二维卷积神经网络运算的局部特征提取,其输入为一对散斑图像(左散斑图像和右散斑图像),输出为对应每个散斑图像的若干第一特征图像,具体的,卷积层(Convolution Layer)用于对输入数据进行特征提取,其内部包含多个卷积核,组成卷积核的每个元素都对应一个权重系数和一个偏差量(bias vector),且卷积层的激活函数使用的是pRelu(Parametric Rectified Linear Unit)。
在一个具体的实施例中,输入一对散斑图像(图像高度h,图像宽度l),经过卷积层网络单元中的卷积层(本实施例称为第一卷积层)的7*7的卷积核以及步长为2的运算单元,将图像下采样到(图像高度h/2,图像宽度l/2)大小。
在卷积层网络单元中,经过卷积层输出的特征提取图像(上述的下采样图像)输入残差结构单元(本实施例称为第一残差结构单元),残差结构单元包括若干层卷积层(本实施例称之为第二卷积层),并在卷积操作上进行批量归一化(batch norm),进而加快训练速度,且卷积层的激活函数使用的是pRelu(Parametric Rectified Linear Unit)。
在一个实施例中,残差结构单元中包括有10层卷积层,每层卷积层的卷积核均为3*3,步长为1,并在每层卷积层上进行批量归一化和非线性激活操作(设置批量归一化层和非线性激活层)。
由于该卷积层网络单元先由一层7*7的卷积核(作为示例,也可以为8*8、9*9等)进行特征提取,再由大量3*3的卷积核(作为示例,也可以为2*2、4*4等,小于第一卷积层中的卷积核即可)进行特征提取,可以很好地表征图像的局部特征,即局部上下文信息,并且左右散斑图像在该部分共享网络特征权重,减小了存储空间和运算复杂度。
由于输入左散斑图像和右散斑图像,卷积网络单元输出的是左矫正图的局部特征(对应左散斑图像的若干第一特征图像)和右矫正图的局部特征(对应右散斑图像的若干第一特征图像)。
池化层网络单元是对图像通过卷积的方式进行下采样提取特征,达到降维、去除冗余信息、对特征进行压缩、简化网络复杂度、减小计算量、减小内存消耗等目的,常见的池化层(Pooling Layer)执行池化操作有以下几种:平均池化(Average Pooling),计算图像区域的平均值作为该区域池化后的值;最大池化(Max Pooling),选图像区域的最大值作为该区域池化后的值;重叠池化(Overlapping Pooling),重叠池化就是,相邻池化窗口之间有重叠区域,此时一般sizeX>stride;空金字塔池化(Spatial Pyramid Pooling),进行多次卷积操作,并输出相同维度的特征图。
在具体实施例中,池化层网络单元基于空间金字塔池化运算,该网络单元的池化层中设置了若干池化模块(例如最大池化模块SPP),每个所述池化模块具有多种池化尺度:128*128,64*64,32*32,16*16,8*8。通过不同池化尺度的池化模块后能够获得维度不同的特征图像。
池化层网络单元中还设置了特征尺度归一层(本实施例为第一特征尺度归一层,特征尺度归一层将通过池化层得到的不同特征尺度的特征图像通过插值上采样处理至相同特征尺度。
在一个实施例中,采用双线性插值上采用处理,将特征图像放大到(图像高度h/2,图像宽度l/2)。这样经过卷积层网络单元输出至池化层网络单元后,能够获得相同维度的特征图像。
在池化层网络单元中设置级联层(本实施例为第一级联层),使处理至相同特征尺度的多个特征图像中各自对应的特征相互级联,进而生成所述若干级联起来的特征图像(第二特征图像)。这样可以充分反映输入图像全局和局部上下文信息(通过级联的特征反映)。局部特征和全局特征的融合特征可以很好地消除遮挡和缺少纹理区域难匹配问题,同时,左散斑图像和右散斑图像同样在该部分共享网络特征权重,减小了存储空间和运算复杂度。
视差代价卷网络单元的目的是利用左右一对散斑图像借助于上面的卷积层网络单元和池化层网络单元提取的级联特征构建保留立体匹配几何信息的匹配代价卷,视差代价卷就是视差代价立体单元,首先视差代价卷网络单元中设置的级联层(第二级联层)其将左散斑图像的每个特征通道与其对应右散斑图像的每个特征通道在同一视差级下的所有特征级联起来,通过设置的封装层形成(封装)为一个四维的视差代价卷,该视差代价卷的维度(最大视差+1,特征高度,特征宽度,特征通道)为四维,从而实现了三维的左右散斑图像的网络抽象特征到立体匹配几何信息的匹配建模,并且区别于传统距离度量降低特征维度的确定,该视差代价卷很好地保留了左右一对散斑图的绝对特征,视差代价卷网络单元具有特征语义信息能力,原始信息损失少。
正则化视差代价卷计算网络单元是基于编解码的三维卷积神经网络单元,其作用为聚合视差信息和空间信息,对视差代价卷输出信息进行视差图回归。其中设置了至少一级编解码结构单元,每级编解码结构单元包括相同层数的三维卷积层和三维反卷积层,三维卷积层中的卷积核为三维卷积核,例如3*3*3的三维卷积核,将该三维卷积核作用于视差代价卷。同样的,每一级编解码结构单元均具有深度残差结构,即还在卷积和反卷积操作上进行批量归一化(batch norm),进而加快训练速度,且三维卷积层和三维反卷积层的激活函数使用的是pRelu(Parametric Rectified Linear Unit),并且相邻的上一级的输入和输出共同作为下一级的输入,在此不再详述。
在一些实施例中,如图3所示,可以采用多级沙漏式编解码结构单元,并且选用两级沙漏编解码结构单元(图中虚线表示)拥有最佳回归效果。采用多级沙漏式编解码结构单元进行多级回归,可以有效的加速视差图回归,且可监督回归效果。该实施例中,每级沙漏编解码结构单元输出分别对应其中一个散斑图的两个特征图像(最大视差+1,图像高度h/2,图像宽度l/2)(本实施例称为第三特征图像),然后经过正则化视差代价卷计算网络单元中设置的特征尺度归一层(本实施例称为第二特征尺度归一层),将通过每个编解码结构单元输出的两个第三特征图像通过插值上采样处理至与所述一对散斑图像相同的特征尺度(最大视差+1,图像高度,图像宽度),在还原图像尺寸大小后的视差结构后,通过该网络单元中的视差回归层,利用视差回归公式进行视差回归,获得对应输入的左右一对散斑图的视差图像。当生成视差图后,可以带入深度计算公式中,对应产生一个深度图。
虽然本申请提供了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者部分合并后更少的操作步骤或模块单元。在逻辑性上不存在必要因果关系的步骤或结构中,这些步骤的执行顺序或装置的模块结构不限于本申请实施例或附图所示的执行顺序或模块结构。所述的方法或模块结构的在实际中的装置、服务器或终端产品应用时,可以按照实施例或者附图所示的方法或模块结构进行顺序执行或者并行执行(例如并行处理器或者多线程处理的环境、甚至包括分布式处理、服务器集群的实施环境)。
对于客户端设备或服务器而言,为了解决双目立体匹配的本质问题,在遮挡区域、重复模式区域、缺少纹理区域和表面反光区域准确找到匹配点,并减少立体匹配的后处理步骤,如亚像素增强、滤波降噪、精细化等操作,过程繁琐。参见图4,本申请第一方面提供一种基于双目立体匹配的视差图像生成方法,具体包括:
S100:获取一对散斑图像;所述一对散斑图像是物体在设定光束照射下经一对双目标定后的摄像头捕获的散斑的图像;
S200:将所述一对散斑图像输入预设的深度学习神经网络,生成对应的视差图像;其中,所述深度学习神经网络根据多对散斑图像训练得到。
从上述描述可以知晓,本方面通过将一对散斑图像作为输入,经过双目视觉立体匹配网络(深度学习神经网络)处理直接输出视差图,实现了视差图的端到端计算和端到端的网络设计框架,消除了立体匹配的后处理步骤,如亚像素增强、滤波降噪、精细化等操作,极大减小了运算开销。
为了能够充分考虑了图像的全局信息和局部信息,构建出图像上下文信息,有效解决了遮挡和缺少纹理区域难匹配问题。参见图5,提供一种深度学习神经网络的构建过程,可以包括如下步骤:
S001:提供多对散斑图像。
可以理解的是,散斑图像的对数根据实际训练需要进行设置,本申请不做限定。
S002:建立所述深度学习神经网络。
S003:应用提供的所述多对散斑图像,训练所述深度学习神经网络。
从上述描述可以知晓,训练稳定后的深度学习神经网络充分考虑了图像的全局信息和局部信息,构建出图像上下文信息,有效解决了遮挡和缺少纹理区域难匹配问题。
为了能够充分考虑了图像的全局信息和局部信息,构建出图像上下文信息,有效解决了遮挡和缺少纹理区域难匹配问题,本申请对深度学习神经网络的网络结构进行了改进,基于卷积神经网络,利用每个网络单元的前后关系,建立了卷积层网络单元、池化层网络单元、视差代价卷网络单元以及正则化视差代价卷计算网络单元。
具体的,如图6所示,步骤S002具体包括:
S002-a:设置卷积层网络单元。
在一些实施例中,为了能够很好地表征图像的局部特征,即局部上下文信息,并且左右散斑图像在该部分共享网络特征权重,减小了存储空间和运算复杂度,如图7所示,S002-a具体包括:
S002-a1:设置第一卷积层。
S002-a2:设置第一残差结构单元,所述第一残差结构单元包括若干层第二卷积层。
步骤S002-a2中,所述第一卷积层的输出作为第一层第二卷积层的输入,在所述若干层第二卷积层中,上一层的输入与输出共同作为相邻下一层的输入,最后一层输出所述若干第一特征图像。
在一些实施例中,所述第一卷积层中卷积核的尺寸大于所述第二卷积层中卷积核的尺寸。
S002-b:设置池化层网络单元。
具体的,为了能够充分反映输入图像全局和局部上下文信息,消除遮挡和缺少纹理区域难匹配问题,如图8所示,S002-b包括:
S002-b1:设置一层池化层,所述池化层中设置有若干池化模块,每个所述池化模块具有多种池化尺度;
S002-b2:设置第一特征尺度归一层,将通过所述池化层得到的不同特征尺度的特征图像通过插值上采样处理至相同特征尺度;
S002-b3:设置第一级联层,使处理至相同特征尺度的多个特征图像中各自对应的特征相互级联,进而生成所述若干第二特征图像。
S002-c:设置视差代价卷网络单元。
具体的,为了实现了三维的左右散斑图像的网络抽象特征到立体匹配几何信息的匹配建模,并且区别于传统距离度量降低特征维度的确定,很好地保留了左右一对散斑图的绝对特征,需要视差代价卷网络单元具有特征语义信息能力,原始信息损失少。如图9所示,S002-c具体包括:
S002-c1:设置第二级联层,将所述若干第二特征图像中处于相同视差级的特征图像相互级联;
S002-c2:设置封装层,将同一视差级下的所有第二特征图像封装为一个四维的视差代价卷。
S002-d:设置正则化视差代价卷计算网络单元。
具体的,为了能够获得较好的回归效果,如图10,S002-d包括:
S002-d1:设置至少一级编解码结构单元,第一级编解码结构单元的输入为四维的视差代价卷,上一级编解码结构单元的输入与输出共同作为相邻下一级编解码结构单元的输入,每级编解码结构单元的输出为分别对应其中一个散斑图的两个第三特征图像。
S002-d2:设置第二特征尺度归一层,将通过每个编解码结构单元输出的两个第三特征图像通过插值上采样处理至与所述一对散斑图像相同的特征尺度;
S002-d3:设置视差回归层,所述视差回归层的输入为所述第二特征尺度归一层的输出,所述视差回归层输出所述一对散斑图像的视差图像。
具体的,S002-d1具体包括:
设置至少一层三维卷积层和与三维卷积层层数相同的三维反卷积层;
其中,第一层三维卷积层的输入为四维视差代价卷;
上一层三维卷积层的输出作为相邻下一层三维卷积层输入,最后一层三维卷积层的输出作为第一层三维反卷积层的输入;
上一层三维反卷积层的输出作为相邻下一层三维反卷积层的输入,最后一层反卷积层输出分别对应其中一个散斑图的第三特征图像。
在软件层面,本发明第二方面提供一种基于双目立体视觉匹配的视差图像生成系统,如图11所示,包括:
散斑图像获取模块100,获取一对散斑图像;所述一对散斑图像是物体在设定光束照射下经一对双目标定后的摄像头捕获的散斑的图像;
视差图像生成模块200,将所述一对散斑图像输入预设的深度学习神经网络,生成对应的视差图像;其中,所述深度学习神经网络根据多对散斑图像训练得到。
从上述描述可以知晓,本方面通过将一对散斑图像作为输入,经过双目视觉立体匹配网络(深度学习神经网络)处理直接输出视差图,实现了视差图的端到端计算和端到端的网络设计框架,消除了立体匹配的后处理步骤,如亚像素增强、滤波降噪、精细化等操作,极大减小了运算开销。
为了能够充分考虑了图像的全局信息和局部信息,构建出图像上下文信息,有效解决了遮挡和缺少纹理区域难匹配问题。参见图12,所述系统还包括:
散斑图像提供模块001,提供多对散斑图像;
深度学习神经网络建立模块002,建立所述深度学习神经网络;
训练模块003,应用提供的所述多对散斑图像,训练所述深度学习神经网络。
为了能够充分考虑了图像的全局信息和局部信息,构建出图像上下文信息,有效解决了遮挡和缺少纹理区域难匹配问题,本申请对深度学习神经网络的网络结构进行了改进,基于卷积神经网络,利用每个网络单元的前后关系,所述深度学习神经网络,如图2所示,包括:卷积层网络单元002a、池化层网络单元002b、视差代价卷网络单元002c以及正则化视差代价卷计算网络单元002d;其中,所述卷积层网络单元002a的输入为一对散斑图像,输出为对应每个散斑图像的若干第一特征图像;所述池化层网络单元002b的输入为所述卷积层网络单元002a的输出,输出为对应每个散斑图像的相同特征尺度并且相互级联的若干第二特征图像;所述视差代价卷网络单元002c的输入为所述池化层网络单元002b的输出,输出为对应每个散斑图像的在每个视差级下的四维视差代价卷;所述正则化视差代价卷计算网络单元002d的输入为所述视差代价卷网络单元002c的输出,输出为所述一对散斑图像的视差图像。
在一些实施例中,为了能够很好地表征图像的局部特征,即局部上下文信息,并且左右散斑图像在该部分共享网络特征权重,减小了存储空间和运算复杂度,所述卷积层网络单元002a,如图13所示,包括:
第一卷积层002a-1;
第一残差结构单元002a-2,所述第一残差结构单元包括若干层第二卷积层;
其中,所述第一卷积层的输出作为第一层第二卷积层的输入;
在所述若干层第二卷积层中,上一层的输入与输出共同作为相邻下一层的输入,最后一层输出所述若干第一特征图像。
在一些实施例中,所述第一卷积层中卷积核的尺寸大于所述第二卷积层中卷积核的尺寸。
为了能够充分反映输入图像全局和局部上下文信息,消除遮挡和缺少纹理区域难匹配问题,所述池化层网络单元002b,如图14所示,包括:
一层池化层002b-1,所述池化层中设置有若干池化模块,每个所述池化模块具有多种池化尺度;
第一特征尺度归一层002b-2,将通过所述池化层得到的不同特征尺度的特征图像通过插值上采样处理至相同特征尺度;
设置第一级联层002b-3,使处理至相同特征尺度的多个特征图像中各自对应的特征相互级联,进而生成所述若干第二特征图像。
为了实现了三维的左右散斑图像的网络抽象特征到立体匹配几何信息的匹配建模,并且区别于传统距离度量降低特征维度的确定,该很好地保留了左右一对散斑图的绝对特征,需要视差代价卷网络单元具有特征语义信息能力,原始信息损失少,所述视差代价卷网络单元002c,如图15所示,包括:
第二级联层002c-1,将所述若干第二特征图像中处于相同视差级的特征图像相互级联;
封装层002c-2,将同一视差级下的所有第二特征图像封装为一个四维的视差代价卷。
具体的,为了能够获得较好的回归效果,如图16所示,所述正则化视差代价卷计算网络单元002d,包括:
至少一级编解码结构单元002d-1,第一级编解码结构单元的输入为四维的视差代价卷,上一级编解码结构单元的输入与输出共同作为相邻下一级编解码结构单元的输入,每级编解码结构单元的输出为分别对应其中一个散斑图的两个第三特征图像;
第二特征尺度归一层002d-2,将通过每个编解码结构单元输出的两个第三特征图像通过插值上采样处理至与所述一对散斑图像相同的特征尺度;
视差回归层002d-3,所述视差回归层的输入为所述第二特征尺度归一层的输出,所述视差回归层输出所述一对散斑图像的视差图像。
任意一级编解码结构单元002d-1,如图17,包括:
至少一层三维卷积层002d-11和与三维卷积层层数相同的三维反卷积层002d-12;
其中,第一层三维卷积层的输入为四维视差代价卷;
上一层三维卷积层的输出作为相邻下一层三维卷积层输入,最后一层三维卷积层的输出作为第一层三维反卷积层的输入;
上一层三维反卷积层的输出作为相邻下一层三维反卷积层的输入,最后一层反卷积层输出分别对应其中一个散斑图的第三特征图像。
此外,本申请第三方面提供一种基于双目立体视觉匹配的深度图像生成方法,如图18所示,具体包括:
S100:获取一对散斑图像;所述一对散斑图像是物体在设定光束照射下经一对双目标定后的摄像头捕获的散斑的图像;
S200:将所述一对散斑图像输入预设的深度学习神经网络,生成对应的视差图像;其中,所述深度学习神经网络根据多对散斑图像训练得到;
S300:将所述视差图像输入深度计算模型,生成对应的深度图。
深度计算模型即为现有的深度计算公式,输入视差图,通过深度计算公式可以计算生成深度图。
与本发明第一方面提供的视差图生成方法相不同的,本方面还包括S300,即转化为深度图的步骤,基于与本申请第一方面的描述,本方面通过将一对散斑图像作为输入,经过双目视觉立体匹配网络(深度学习神经网络)处理直接输出视差图,实现了视差图的端到端计算和端到端的网络设计框架,消除了立体匹配的后处理步骤,如亚像素增强、滤波降噪、精细化等操作,极大减小了运算开销。并且充分考虑了图像的全局信息和局部信息,构建出图像上下文信息,有效解决了遮挡和缺少纹理区域难匹配问题。
本发明第四方面提供一种基于双目立体视觉匹配的深度图像生成系统,如图19所示,包括如下:
散斑图像获取模块100,获取一对散斑图像;所述一对散斑图像是物体在设定光束照射下经一对双目标定后的摄像头捕获的散斑的图像;
视差图像生成模块200,将所述一对散斑图像输入预设的深度学习神经网络,生成对应的视差图像;其中,所述深度学习神经网络根据多对散斑图像训练得到;
深度图生成模块300,将所述视差图像输入深度计算模型,生成对应的深度图。
与本发明第二方面提供的视差图生成系统相不同的,本方面还包括深度图生成模块300,即转化为深度图的步骤,基于与本申请第二方面的描述,本方面通过将一对散斑图像作为输入,经过双目视觉立体匹配网络(深度学习神经网络)处理直接输出视差图,实现了视差图的端到端计算和端到端的网络设计框架,消除了立体匹配的后处理步骤,如亚像素增强、滤波降噪、精细化等操作,极大减小了运算开销。并且充分考虑了图像的全局信息和局部信息,构建出图像上下文信息,有效解决了遮挡和缺少纹理区域难匹配问题。
此外,本申请第五方面还提供一种基于深度学习神经网络的端到端双目深度感知系统,如图1a所示,具体包括:图像采集模块101,设定光束发出模块102,服务器103、数据传输模块104。
设定光束发出模块102发出设定光束(红外光或激光),图像采集模块101上的双目摄像头采集一对散斑图像,通过数据传输模块104传输至服务器103,进而由服务器103生成视差图,其中服务器103中部署有上述的深度学习神经网络。
从上述描述可以知晓,本方面通过将一对散斑图像作为输入,经过双目视觉立体匹配网络(深度学习神经网络)处理直接输出视差图,实现了视差图的端到端计算和端到端的网络设计框架,消除了立体匹配的后处理步骤,如亚像素增强、滤波降噪、精细化等操作,极大减小了运算开销。并且能够充分考虑了图像的全局信息和局部信息,构建出图像上下文信息,有效解决了遮挡和缺少纹理区域难匹配问题。
本申请的实施例还提供能够实现上述实施例中的方法中全部步骤的一种电子设备的具体实施方式,参见图20,所述电子设备具体包括如下内容:
处理器(processor)601、存储器(memory)602、通信接口(CommunicationsInterface)603和总线604;
其中,所述处理器601、存储器602、通信接口603通过所述总线604完成相互间的通信;
所述处理器601用于调用所述存储器602中的计算机程序,所述处理器执行所述计算机程序时实现上述实施例中的方法中的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
S100:获取一对散斑图像;所述一对散斑图像是物体在设定光束照射下经一对双目标定后的摄像头捕获的散斑的图像;
S200:将所述一对散斑图像输入预设的深度学习神经网络,生成对应的视差图像;其中,所述深度学习神经网络根据多对散斑图像训练得到。
从上述描述可知,本申请提供的电子设备,通过将一对散斑图像作为输入,经过双目视觉立体匹配网络(深度学习神经网络)处理直接输出视差图,实现了视差图的端到端计算和端到端的网络设计框架,消除了立体匹配的后处理步骤,如亚像素增强、滤波降噪、精细化等操作,极大减小了运算开销。并且能够充分考虑了图像的全局信息和局部信息,构建出图像上下文信息,有效解决了遮挡和缺少纹理区域难匹配问题。
本申请的实施例还提供能够实现上述实施例中的方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
S100:获取一对散斑图像;所述一对散斑图像是物体在设定光束照射下经一对双目标定后的摄像头捕获的散斑的图像;
S200:将所述一对散斑图像输入预设的深度学习神经网络,生成对应的视差图像;其中,所述深度学习神经网络根据多对散斑图像训练得到。
从上述描述可知,本申请提供的计算机可读存储介质,实现了视差图的端到端计算和端到端的网络设计框架,消除了立体匹配的后处理步骤,如亚像素增强、滤波降噪、精细化等操作,极大减小了运算开销。并且能够充分考虑了图像的全局信息和局部信息,构建出图像上下文信息,有效解决了遮挡和缺少纹理区域难匹配问题。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件+程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。虽然本说明书实施例提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。以上所述仅为本说明书实施例的实施例而已,并不用于限制本说明书实施例。对于本领域技术人员来说,本说明书实施例可以有各种更改和变化。凡在本说明书实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书实施例的权利要求范围之内。