基于深度学习与圆检测的实时双目测距算法研究*

2021-09-29 08:32范林坤陈涛李旭川郭丛帅
汽车技术 2021年9期
关键词:实时性测距卷积

范林坤 陈涛 李旭川 郭丛帅

(长安大学,西安 710065)

主题词:双目测距 深度学习 实时性 移动终端 圆检测 智能驾驶

1 前言

基于超声波、雷达、红外的测距方式很早便应用在移动机器人领域,虽然可以达到不错的测距精度,但其成本居高不下,阻碍了产品的商业化[1-2]。视觉传感器采集到的信息丰富,不但满足测距需求,而且可以基于视觉信息进行车辆、行人的识别。视觉方案是同时考虑成本、稳定性、精度和使用复杂度时的最佳方案。

传统的双目测距算法得到目标点的视差后利用三角测量原理得到目标点的距离。而计算视差的前提是两幅图像像素的匹配,在光照恶劣的情况下很难做到点与点间的精确匹配,并且场景中出现若干相似物体时,很容易出现误匹配,从而造成较大误差[3-4]。另外,这种测量方法的误差会随着测量距离的增加而增加。另一种思路是首先根据双目图像恢复场景的视差图,在视差图上选取目标点得到该点的视差,从而避免了双目图像匹配的问题,可达到更高的精度,获得更好的鲁棒性。如何基于双目图像得到视差图一直是计算机视觉领域的研究热点,近年来,很多学者将深度学习引入该领域。

Mayer 等人[5]引入神经网络层间的关联函数定义损失函数,通过训练2个卷积神经网络来预测双目图像间的视差,但是该网络参数量巨大,难以部署在算力较低的移动终端上。很多工作旨在提高算法的实时性,其中多数算法是基于决策树的[6-9],此类算法容易过拟合,从而降低模型的泛化能力。也有基于神经网络的方法:Grubb 等人[10]利用3D 模型的重投影误差来尽量简化损失函数,以提高模型的运行速度,但模型精度显著下降;Laina等人[11]基于ResNet-50创建了一个单网络结构,可以在深度预测的同时进行语义分割;Godard等人[12]提出的AnyNet 网络使用U-net 特征提取器得到4 个尺寸的特征图,特征图尺寸越小,模型的速度越快,但精度越差。现有工作虽然可以提高模型的实时性,但往往大幅降低模型的精度,如何在模型的实时性和精度间进行取舍是一个亟待解决的问题。针对这一问题,本文结合在AnyNet中使用U-net网络进行特征提取的思想对Loop-Net[13]进行改进,提出一个新的模型,可以在保证精度的前提下提高模型的实时性。

2 模型搭建

2.1 模型结构

采用编码-解码架构进行卷积网络的模型搭建,受AnyNet 的启发[13],首先将矫正后的双目图片送入U-Net特征提取网络,得到2 张原图像尺寸1∕4 大小的特征图之后,经过3D卷积层再输入到视差回归网络,以降低送入模型的数据维度。之后,在Loop-Net 网络的基础上进行迁移学习,删除原网络中的最后一个全连接层,这样便可以去除大多数网络参数。除此之外,为了进一步减少模型处理的数据量,应当尽量降低图像的分辨率,但由于低分辨率特征图包含的边界信息较少,会使预测精度下降,因此使用扩张卷积来扩大感受野,使得最后得到的视差图可以包含足够多的边界信息。同时,为了保证模型精度,选择Chen 提出的上投影模块作为上采样层,以防止在训练过程中出现过拟合,增加网络深度,该模块包括由1 个解池层和2 个卷积层构成的残差单元。此外,在模型的解码过程中同样使用了上采样层,以增加特征图分辨率。整体网络结构如图1 所示。其中,3DConvn,s表示大小为n×n×n、步长为s的3D 卷积核,Convn,s表示大小为n×n,步长为s的2D 卷积核,Pooln,s表示k=n、步长为s的池化层,Res表示由2个大小为3×3的卷积核组成的残差网络,Up表示上采样层。

图1 网络结构示意

2.2 U-Net特征提取模型

U-Net网络是一种改进的全卷积神经网络,该网络没有全连接层,可以实现任意尺寸图像的检测,由于其可以捕捉足够的特征信息以获得最终的视差图,同时相对于其他特征提取网络具有更少的参数,因此,其运行速率相对较高,更适合应用在移动端。

U-Net网络的网络结构由搜索路径和扩展路径2个部分组成。搜索路径主要用于捕捉图片中的上下文信息,对输入的影像进行卷积和池化操作,得到高维的特征金字塔。扩展路径对图片中所需提取的特征部分进行定位。对输入图片反复进行卷积和上采样∕下采样,最后可以得到图片的视差特征。为了缩小视差回归网络处理的特征维度的尺寸,在U-Net 特征提取网络上进行改进,使网络最终输出原图像1∕4 大小的特征图。U-Net 网络同时应用于左、右目图像,首先对原始输入图像进行卷积操作,然后通过下采样和上采样得到不同尺寸的特征图,最后通过拼接融合2种不同尺寸特征图的特征,得到2张1∕4尺寸的特征图。U-Net网络结构如图2所示,图中Max pooln,s表示最大池化采样。

图2 U-Net特征提取网络结构

2.3 损失函数

通过卷积神经网络预测图像视差的传统模型的损失函数使用一个固定的衰减权重代替噪声参数σ,但这种方式并未考虑模型输出的不确定性变化。为了更好地学习模型的不确定性,首先对RGB 图像的输入噪声进行概率量化,认为不同的输入应该对应不同的噪声参数。不同的纹理场景会给视差估计带来不同的不确定性,在无纹理场景中不确定性较大,而在纹理丰富的场景中不确定性较小。因此,模型的损失函数L主要包含残差退化项和正则化项:

3 基于标定圆的目标定位算法

得到视差图后,需要在左、右目图像中定位被测物体的位置,常用的是基于神经网络的方法,但该方法计算量较大,难以满足算法实时性的需求。为了快速定位测距目标,本文提出基于圆匹配的方法,与其他形状相比,圆形具有很好的几何性质,对旋转和缩放均不敏感,而且几何描述特征简单,可以快速地完成匹配。首先检测左、右目图像中的特征圆,利用式(2)给出的相似度函数对左、右目图像中的圆进行匹配,将成功匹配的2 个圆的圆心作为目标物体在左、右目图像中的位置:

式中,yLi、yRj分别为左目检测的第i个圆和右目检测的第j个圆的圆心纵坐标;rLi、rRj分别为左目检测的第i个圆和右目检测的第j个圆的半径。

在进行圆检测时,检测阈值的选取是圆匹配策略的关键,如果检测阈值设定过高,将会无法检测到圆,而阈值过低会导致误检,增大测量误差。由于背景的动态变化,背景中会出现不同数量和相似度的圆的相似物,为了在保证可以检测到目标圆的同时尽可能降低误检率,检测阈值应小于且尽量靠近目标圆得分。因此,检测阈值的大小应为:

式中,c为目标圆得分;Δε为阈值松弛量。

ε越小,检测条件越苛刻,则误检率越低,但同时可能出现无法检测到目标圆的问题,反之,该值较大时能够保证检测到目标圆,但会提高误检率。通过试验比较了各种阈值松弛量的效果,发现将Δε大小设定为0.05s可以达到较好的效果[14],因此本文设Δε=0.05s。阈值确定后,根据圆的相似度对检测出的圆进行匹配,将匹配得分最高的一对圆的位置作为目标物在左、右目图像中的位置,具体算法流程如图3所示。

图3 目标匹配算法流程

得到目标物在图像中的位置和对应的视差值后,计算目标物与相机的距离dis:

式中,b为双目相机2 个光心间的距离;f为相机焦距;d为视差值。

4 试验及结果分析

为验证算法的有效性,设计试验对比本文算法与AnyNet、PSMNet 算法的精度和实时性。模型使用Middlebury Stereo 数据集进行训练,试验平台为JNIndustriPi(见图4),采用板载ARM5708,最高主频为1 000 MHz,内核为Coretex-A15,支持DSP 加速,其尺寸为9 cm×6 cm×2 cm,为小型移动终端。相机为CTLO200 双目相机,单个相机分辨率为720×480。被测物体为标注有大小不同的同心圆的纸盒,便于在近场和远场条件下检测,如图5所示。测量距离为同心圆圆心与2个相机光心连线的距离,如图6所示。

图4 JN-IndustriPi

图5 被检测物体

图6 测量距离

准备好硬件环境后,在真实距离为20~150 cm 的范围内,通过测量目标物体与相机间的距离,得到3种算法的精度和运行速度。搭建的试验环境如图7所示。

图7 试验环境

此外,为了评估被测物体出现在图像不同位置时的精度,测试了3 种不同方位角时的测量精度,包括被测物体位于中心轴线、轴线偏15°及15°方位角。图8展示了真实距离为50 cm 时3 种不同的测量方位角和测量结果。

图8 试验环境及测试结果

在真实距离为20~150 cm时不同方位角下3种算法的测距误差如表1所示。

由表1可以看出,当被测物体出现在相机中心线上时,3种算法的测量精度为98%左右,当被测物体出现在偏离相机中心线的位置时,3 种算法的精度均有所下降。对比发现,本文算法的精度与其他2种方法的精度相当。

表1 3种算法的误差 cm

为了验证所提出算法的实时性,分别测试3种算法的运行帧率,结果如表2 所示。可以看出,本文模型实时性相较于其他算法提升了约15%。

表2 3种算法的实时性

5 结束语

针对基于深度学习的双目测距算法的实时性问题,本文在Loop-Net的基础上进行改进,引入U-Net特征提取网络,设计了双目测距模型,同时提出了基于圆检测的物体定位算法对目标物进行定位。以移动终端JNIndustriPi 为试验平台对比了本文方法与AnyNet 和PSMNet的精度与实时性,结果表明,本文所提出的模型在保证测距精度的同时提高了测距的实时性。

猜你喜欢
实时性测距卷积
基于全卷积神经网络的猪背膘厚快速准确测定
基于RSSI测距的最大似然估计的节点定位算法
基于图像处理与卷积神经网络的零件识别
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
计算机控制系统实时性的提高策略
可编程控制器的实时处理器的研究
220 kV电网行波测距系统组网运行实践探讨
基于B/S的实时用户行为检测管理系统设计与实现