法律状态公告日
法律状态信息
法律状态
2022-07-29
公开
发明专利申请公布
技术领域
本发明提出一种基于全二值卷积的极少计算量的端到端双目立体匹配网络,用于深度估计任务,属于计算机视觉立体匹配领域。
背景技术
在自动驾驶、增强现实、机器人导航等复杂计算机视觉任务中,正确获取图像的深度信息是技术的关键所在,而双目立体匹配凭借其精度高、成本低的特点,一直是人们研究的重点。目前许多利用深度学习进行双目立体匹配的方案大大提高了数据处理的精度,但与此同时,这些方案参数越来越多,计算量需求越来越大,网络结构越来越深,而往往部署深度估计的应用通常运行在移动设备和嵌入式平台上,包括无人机、车辆、智能手机等,这些运算资源受限的设备往往有低功耗、小内存占用的要求。因此,需要一种能大大减少计算次数的轻量化双目立体匹配方案。
发明内容
发明目的:为解决现有立体匹配方案计算量过大的问题,提出一种基于全二值卷积的轻量级端到端双目立体匹配网络。
技术方案:
一种立体匹配专用二值卷积模块,包括二值2D卷积和二值3D卷积两种类型,所述卷积模块的构建方法包括如下步骤:
当输入和输出特征图是3维数据时:
步骤A1:对输入特征图的二值化操作:输入特征图会经过RSign2D符号函数处理,在通道维度上加上各自对应的偏置值以后被二值化为-1/+1;
步骤A2:对权重的二值化操作:通道维度上先求出权重的均值作为通道缩放因子,再用Sign符号函数将权重二值化为-1/+1;
步骤A3:二值卷积操作:将步骤A1得到的二值输入特征图与步骤A2得到的二值权重进行卷积操作,再在通道维度上乘以步骤A2中求得的通道缩放因子,得到二值卷积的输出;
步骤A4:对步骤A3的二值卷积输出进行2D批归一化处理;
步骤A5:对步骤A4的输出使用RPRelu2D激活函数激活,通过可学习偏置的激活函数调整输出的分布情况,得到该二值2D卷积模块的最终输出。
当输入和输出特征图是4维数据时:
步骤B1:对输入特征图的二值化操作:输入特征图会经过RSign3D符号函数处理,在通道维度上加上各自对应的偏置值以后被二值化为-1/+1;
步骤B2:对权重的二值化操作:通道维度上先求出权重的均值作为通道缩放因子,再用Sign符号函数将权重二值化为-1/+1;
步骤B3:二值卷积操作:将步骤B1得到的二值输入特征图与步骤B2得到的二值权重进行卷积操作,再在通道维度上乘以步骤B2中求得的通道缩放因子,得到二值卷积的输出;
步骤B4:对步骤B3的二值卷积输出进行3D批归一化处理;
步骤B5:对步骤B4的输出使用RPRelu3D激活函数激活,通过可学习偏置的激活函数调整输出的分布情况,得到该二值3D卷积模块的最终输出。
一种立体匹配专用的信息保护二值上采样模块,包括二值2D上采样和二值3D上采样两种类型,所述的上采样方法包括如下步骤:
当输入特征图和输出特征图是3维数据时:
步骤C1:使用双线性插值将输入的特征图分辨率先提升1倍,对齐方式选择按像素角点对齐;
步骤C2:对步骤C1的插值结果采用所述二值2D卷积模块进行运算,得到一个通道数与输入特征图相同的张量。
步骤C3:将步骤C2得到的结果与输入特征图级联到一起,从而有效地结合网络浅层特征和深层特征,同时可以利用更多的特征通道去缓解特征同质化的问题。
步骤C4:对步骤C3的级联结果采用所述二值2D卷积模块再次进行处理,将输出通道转化为网络模型中的设定值。
当输入特征图和输出特征图是4维数据时:
步骤D1:使用双线性插值将输入的特征图分辨率先提升1倍,对齐方式选择按像素角点对齐;
步骤D2:对步骤D1的插值结果采用所述二值3D卷积模块进行运算,得到一个通道数与输入特征图相同的张量。
步骤D3:将输入特征图作为残差路径与步骤B2得到的结果相加,用以补充信息损失。
一种针对输入层的二值编码方法,所述的二值编码方法包括如下步骤:
步骤E1:采用8位二进制编码的方式对输入激活值(0-255)进行编码,从而有效扩张输入层的通道数目,提高输入层二值化以后的表征能力;
步骤E2:对权重的二值化操作:用Sign符号函数将权重二值化为-1/+1;
步骤E3:二值卷积操作:将步骤E1得到的二值编码输入与步骤E2得到的二值权重进行卷积操作;
步骤E4:对步骤E3的二值卷积输出结果逐通道进行加权求和,第i个通道的加权因子对应为2
步骤E5:对步骤E4的加权求和结果进行2D批归一化处理;
步骤E6:对步骤E5的输出使用RPRelu激活函数激活,通过可学习偏置的激活函数调整输出的分布情况,得到该二值编码方法的最终输出。
一种基于全二值卷积的轻量级端到端双目立体匹配网络,输入为双目摄像头拍摄的左、右两张图像,所述立体匹配网络执行步骤包括:
步骤1:采用所述二值编码方法完成对输入卷积层的二值化;
步骤2:采用所述二值2D卷积模块和二值2D上采样模块构建的孪生特征提取网络,提取左、右两张图像的特征结构,得到对应的左、右两张特征图;
步骤3:将步骤2得到的左、右特征图按照组相关性构建成本量;
步骤4:采用所述二值3D卷积模块和二值3D上采样模块构建的成本量聚合网络,将步骤3得到的成本量进行聚合,得到初始视差;
步骤5:采用所述二值2D卷积模块和二值2D上采样模块构建的视差优化网络,对步骤4得到的初始视差进行精细的视差修正,得到最终输出。
进一步的,所述步骤2具体为:原始输入图像在经过6个卷积步长为2的卷积层后,会被快速下采样到原尺寸的1/64;然后,再经过3个二值2D上采样模块恢复到原尺寸的1/8;在此过程中,尺寸为原尺寸1/8的所有特征图都会被级联到一起构成一个384通道的特征图,用以构建成本量。
进一步的,所述步骤4具体为:成本量聚合网络为类U-net式结构,成本量先通过6层二值3D卷积得到低分辨率下的初始聚合特征,再通过3个二值3D上采样模块上采样恢复,最后经过SoftMax函数进行加权视差回归,得到初始视差估计。
进一步的,所述步骤5具体为:在原输入图像的1/2分辨率尺度上,将右输入图像与初步视差进行融合,生成出一张新的左输入图像。再计算原始左输入图像与新生成输入图像之间的差,利用这个差值通过7层二值2D卷积和4个二值2D上采样模块得到需要弥补的视差信息。
有益效果:本发明的二值上采样模块有效改善了特征质量,避免了因二值反卷积过程中填0而导致的有效信息被稀疏的现象。此外,通过合理设计输入层的二值编码方法,在保持精度的情况下解决了输入层依赖浮点卷积的问题。基于以上模块设计,PBCStereo中的所有卷积运算都可以被替换为二值操作,大大减少了模型计算的开销,相比于全精度的方法,可以达到计算量10倍以上的节省。同时,在公开数据集SceneFlow上的端点误差为1.84,KITTI 2012上的三像素点误差百分比为4.46%,KITTI 2015上的三像素点误差百分比为4.73%,满足了算法精度的需求。
附图说明
图1为二值卷积模块示意图:
其中,C、H、W分别表示输入特征图的通道数、高度以及宽度,D表示视差维度取值。图(a)为输入特征图是3维数据时对应的二值2D卷积模块示意图,图(b)为输入特征图是4维数据时对应的二值3D卷积模块示意图;
图2为二值上采样模块示意图:
其中,C、H、W分别表示输入特征图的通道数、高度以及宽度,D表示视差维度取值,下标N+1指的是网络已完成下采样N+1次,特征图的维度转换皆在图中标示出。图(a)为输入特征图是3维数据时对应的二值2D上采样模块示意图,图(b)为输入特征图是4维数据时对应的二值3D上采样模块示意图;;
图3为针对输入层的二值编码方法;
图4为PBCStereo二值特征提取网络示意图;
图5为PBCStereo二值成本聚合网络示意图;
图6为PBCStereo二值视差优化网络示意图。
具体实施方式
下面结合附图对本发明做更进一步的解释。
一种立体匹配专用的二值2D卷积模块,如图1(a)所示,当输入和输出特征图是3维数据时:
步骤A1:对输入特征图的二值化操作:输入特征图会经过RSign2D符号函数处理,在通道维度上加上各自对应的偏置值以后被二值化为-1/+1;
步骤A2:对权重的二值化操作:通道维度上先求出权重的均值作为通道缩放因子,再用Sign符号函数将权重二值化为-1/+1;
步骤A3:二值卷积操作:将步骤A1得到的二值输入特征图与步骤A2得到的二值权重进行卷积操作,再在通道维度上乘以步骤A2中求得的通道缩放因子,得到二值卷积的输出;
步骤A4:对步骤A3的二值卷积输出进行2D批归一化处理;
步骤A5:对步骤A4的输出使用RPRelu2D激活函数激活,通过可学习偏置的激活函数调整输出的分布情况,得到该二值2D卷积模块的最终输出。
如图1(b)所示,当输入和输出特征图是4维数据时:
步骤B1:对输入特征图的二值化操作:输入特征图会经过RSign3D符号函数处理,在通道维度上加上各自对应的偏置值以后被二值化为-1/+1;
步骤B2:对权重的二值化操作:通道维度上先求出权重的均值作为通道缩放因子,再用Sign符号函数将权重二值化为-1/+1;
步骤B3:二值卷积操作:将步骤B1得到的二值输入特征图与步骤B2得到的二值权重进行卷积操作,再在通道维度上乘以步骤B2中求得的通道缩放因子,得到二值卷积的输出;
步骤B4:对步骤B3的二值卷积输出进行3D批归一化处理;
步骤B5:对步骤B4的输出使用RPRelu3D激活函数激活,通过可学习偏置的激活函数调整输出的分布情况,得到该二值3D卷积模块的最终输出。
一种立体匹配专用的信息保护二值上采样模块,如图2(a)所示,当输入特征图和输出特征图是3维数据时:
步骤C1:使用双线性插值将输入的特征图分辨率先提升1倍,对齐方式选择按像素角点对齐;
步骤C2:对步骤C1的插值结果采用所述二值2D卷积模块进行运算,得到一个通道数与输入特征图相同的张量。
步骤C3:将步骤C2得到的结果与输入特征图级联到一起,从而有效地结合网络浅层特征和深层特征,同时可以利用更多的特征通道去缓解特征同质化的问题。
步骤C4:对步骤C3的级联结果采用所述二值2D卷积模块再次进行处理,将输出通道转化为网络模型中的设定值。
如图2(b)所示,当输入特征图和输出特征图是4维数据时:
步骤D1:使用双线性插值将输入的特征图分辨率先提升1倍,对齐方式选择按像素角点对齐;
步骤D2:对步骤D1的插值结果采用所述二值3D卷积模块进行运算,得到一个通道数与输入特征图相同的张量。
步骤D3:将输入特征图作为残差路径与步骤D2得到的结果相加,用以补充信息损失。
如图3所示,一种针对输入层的二值编码方法,所述的二值编码方法包括:
步骤E1:采用8位二进制编码的方式对输入激活值(0-255)进行编码,从而有效扩张输入层的通道数目,提高输入层二值化以后的表征能力;
步骤E2:对权重的二值化操作:用Sign符号函数将权重二值化为-1/+1;
步骤E3:二值卷积操作:将步骤E1得到的二值编码输入与步骤E2得到的二值权重进行卷积操作;
步骤E4:对步骤E3的二值卷积输出结果逐通道进行加权求和,第i个通道的加权因子对应为2
步骤E5:对步骤E4的加权求和结果进行2D批归一化处理;
步骤E6:对步骤E5的输出使用RPRelu激活函数激活,通过可学习偏置的激活函数调整输出的分布情况,得到该二值编码方法的最终输出。
一种基于全二值卷积的轻量级端到端双目立体匹配网络,输入为双目摄像头拍摄的左、右两张图像,所述立体匹配网络执行步骤包括:
步骤1:采用图3所述二值编码方法完成对输入卷积层的二值化;
步骤2:采用图1所述二值卷积模块和图2所述二值上采样模块构建的孪生特征提取网络。特征提取网络结构如图4示,提取左、右两张图像的特征结构,原始输入图像在经过6个卷积步长为2的卷积层后,会被快速下采样到原尺寸的1/64;然后,再经过3个二值2D上采样模块恢复到原尺寸的1/8;在此过程中,尺寸为原尺寸1/8的所有特征图都会被级联到一起构成一个384通道的特征图,用以构建成本量;
步骤3:将步骤2得到的左、右特征图按照组相关性构建成本量;
步骤4:采用图1所述二值卷积模块和图2所述二值上采样模块构建的成本量聚合网络。成本量聚合网络结构如图5示,为类U-net式结构,成本量先通过6层二值3D卷积得到低分辨率下的初始聚合特征,再通过3个二值3D上采样模块模块上采样恢复,最后经过SoftMax函数进行加权视差回归,得到初始视差估计;
步骤5:采用图1所述二值卷积模块和图2所述二值上采样模块构建的视差优化网络。视差优化网络结构如图6示,在原输入图像的1/2分辨率尺度上,将右输入图像与初步视差进行融合,生成出一张新的左输入图像。再计算原始左输入图像与新生成输入图像之间的差,利用这个差值通过7层二值2D卷积和4个二值2D上采样模块得到需要弥补的视差信息对步骤4得到的初始视差进行精细的视差修正,得到最终输出。
本发明在SceneFlow与KITTI数据集上进行了公开测试,与DispNet、StereoNet、MABNet_tiny、SGM-Net、StereoBit等方案的测试结果比较汇总如表1所示。从表1可以发现,PBCStereo以非常小的计算代价获得了可观的性能表现。
表1基于SceneFlow与KITTI数据集的双目匹配网络性能评估比较
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
机译: 在网络客户端和交换消息的第二部分之间向用户提供消息的方法;客户端网络的第一用户与第二部分消息交换方法之间的管理消息的方法;在网络客户端的第一用户与客户端网络中的第二用户之间的S消息;处理系统操作员消息,以处理客户端网络的用户与消息交换的第二部分之间的消息。
机译: 利用值矩阵及时变换数据尺度和FFT及逆FFT序列的方法,其中时间为decima u00e7 u00e3o并具有decima u00e7 u00e3o频率值矩阵和Radix-2,用于计算FFT和FFT逆矩阵值矩阵的方法,用于计算卷积和离散时间数据值向量序列的线性和线性相关性的卷积方法,用于计算卷积矩阵和计算线性数组a的卷积的方法数据序列,baa所有值矩阵,用于处理带有值向量符号的序列,以及通信系统以及用于图像的编码和解码,以及数字音乐
机译: 用于改进软件客户端应用程序之间的通信的方法 - 加载到客户端计算设备上或安装在客户端计算设备上 - 以及用于改进软件客户端应用程序和应用程序网络后端,程序和计算机之间的通信的应用网络后端,客户端计算设备和系统 - 可读介质