APP下载

基于CB-CenterNet的自动驾驶遮挡目标检测

2022-07-18时义贾世杰

大连交通大学学报 2022年3期
关键词:高斯卷积注意力

时义,贾世杰

(大连交通大学 计算机与通信工程学院,辽宁 大连 116028)

在自动驾驶场景下,车辆前方物体的检测会受多种因素的影响,例如:光照、角度、形变、遮挡等,而其中遮挡目标检测问题在自动驾驶中亟待解决.根据检测物体的被遮挡程度,将遮挡分为三个等级:0为无遮挡;1%~45%为部分遮挡;大于等于45%为严重遮挡;为解决自动驾驶场景下的遮挡检测问题,目前普遍采用基于深度学习的目标检测方法,其中可以按训练过程是否预先设定锚点分为Anchor-based和Anchor-free的方法.在Anchor-based方法中,Wang等人[1]在Faster R-CNN[2]的基础上提出Repulsion Loss,使预测框和真实框的距离缩短,与周围其他目标框的距离加大.相比于Anchor-based方法,Anchor-free方法在检测精度和运行速度上都有很大的提升,其中CenterNet[3]是基于关键点估计的端到端Anchor-free目标检测算法.姜建勇等[4]基于CenterNet算法设计具有注意力机制的特征融合模块,提高算法模型的检测精度.

尽管以上方法针对遮挡问题取得了一定效果,但Anchor-based检测方法的网络模型较大,超参数的选择较为复杂,不满足自动驾驶场景对算法性能的要求,并且由于自动驾驶场景的复杂性,上述方法不能很好地解决严重遮挡目标的检测问题.CenterNet是端到端可微分的Anchor-free检测算法,其模型体积较小,无须事先设置锚点,避免了复杂的超参数选择问题,同时免去了后处理过程,防止因该过程中非极大值抑制而导致目标漏检的情况,并且算法的整体检测速度较快,实现了检测精度和速度的平衡,满足自动驾驶场景对检测算法的要求.本文提出一种基于改进CenterNet(CB-CenterNet)的无锚点端到端检测算法,以实现自动驾驶场景中被遮挡物体的检测.

1 CB-CenterNet检测网络

1.1 网络结构的设计

CB-CenterNet网络由四部分组成,分别是:输入部分、特征提取部分、检测头部分和输出部分.输入为经过裁剪处理后大小为512×512×3的图片.网络的特征提取部分首先在CenterNet的特征提取骨干网络DLA34-Backbone的基础上,通过借鉴CBNet[5]差级级联结构,设计了具有增强复合连接模块的CBDLA34-Backbone差级级联特征融合结构;其次对CBAM(Convolutional Block Attention Module)注意力模块[6]进行扩展,在CBDLA34-Backbone每个HDA模块的残差块中添加了Fusion-CBAM注意力模块.网络的检测头部分将CenterNet三个检测支路改变为两个检测支路,并在两个支路中都添加改进的高斯采样模块.输出部分图片大小为512×512×3.改进的CB-CenterNet检测网络如图1所示.

图1 CB-CenterNet检测网络结构图

1.1.1 增强复合连接模块

在CBNet中,通过复合连接模块将分支网络与主干网络进行连接,复合连接模块由1×1卷积和批量归一化层组成,在分支网络的浅层特征输出中,包含更多的内容描述、位置和细节特征信息,但1×1卷积的感受野较小,不能充分利用浅层的特征输出,影响网络的特征融合.

为增强检测网络对遮挡目标的特征提取和特征融合能力,在CBDLA34-Backbone中设计了增强复合连接模块(Enhanced Composite Connection Module,ECCM),将支路DLA34-Backbone高层输出的小尺寸特征图在ECCM中进行多尺度的特征提取和上采样后,再与主干网络DLA34-Backbone低层输入的大尺寸特征图进行特征融合.ECCM由1×1普通卷积、3×3的深度可分离卷积、批量归一化和最近邻插值上采样组成,增强复合连接模块如图2所示.

图2 增强复合连接模块

其中,深度可分离卷积由逐通道卷积和逐点卷积组成,逐通道卷积中,对输入层的每个通道独立进行卷积运算.逐点卷积中,卷积运算会将逐通道卷积的输出在特征通道方向上进行加权操作,生成新的特征图,相比于1×1卷积,3×3的深度可分离卷积不仅具有更大的感受野,而且参数量和运算成本也较低.

在ECCM中添加不同大小的卷积核可以获得图像中不同大小的感受野信息,有利于网络提取不同程度遮挡目标的特征,发掘不同大小的感受野对不同程度遮挡目标的感知能力,获得更丰富的语义信息.

1.1.2 Fusion-CBAM注意力模块

在CBAM通道注意力模块中,对输入特征向量进行通道注意力权值的计算时,使用全局平均池化和全局最大池化将特征向量分解为每个特征通道上只有一个像素,这会导致特征向量的空间信息缺失,破坏了通道维度和空间维度的交互.为此本文针对自动驾驶场景中严重遮挡目标的检测问题,通过扩展CBAM中的通道注意力模块,提出Fusion-CBAM注意力模块.

Fusion-CBAM注意力模块由融合通道注意力模块(Fusion Channel Attention,FCA)和空间注意力模块(Spatial Attention,SA)组成,其中FCA由三个负责跨维度交互的注意力模块组成,分别是:①负责捕获通道维度C与空间维度H跨维度交互的CHA(Channel High Attention)注意力模块;②负责捕获通道维度C和空间维度W跨维度交互的CWA(Channel Width Attention)注意力模块;③负责捕获不同通道间的跨通道维度交互的GPEA(Global Pooling Efficient Attention)注意力模块.Fusion-CBAM注意力模块如图3所示.

图3 Fusion-CBAM注意力模块

Fusion-CBAM的输入特征向量为χ∈C×H×W,融合通道注意力模块可以表示为:

(1)

(2)

(3)

(4)

其中,AvgPool和MaxPool为分别沿着各自维度的平均池化和最大池化,GAvgPoolC和GMaxPoolC表示沿着通道维度的全局平均池化和全局最大池化,Cat为特征拼接操作,ψ7×7为卷积核大小为7×7的卷积层,C1d为一维卷积操作,将经过σ激活函数的特征映射到输入特征向量并将每个通道注意力模块的输出取平均构成Fsuion-CBAM的FCA输出AC(χ)∈C×H×W.

Fusion-CBAM的空间注意力模块可以表示为:

AS(AC(χ))=AC(χ)Sa

(5)

其中,AC(χ)为输入向量,Sa为空间注意力加权分支,AS(AC(χ))为完整的Fusion-CBAM注意力模块的输出.其中Sa可以表示为:

(6)

将输入特征沿着特征通道维度做平均池化和最大池化,再经过一个卷积核大小为7×7的卷积层,最后将得到的注意力特征图经过σ激活函数得到具有权重激活值的注意力加权分支Sa.

1.1.3 改进高斯采样模块

通过借鉴TTFNet[7]编码更多的训练样本加快网络训练速度的思想,在检测头部分的分类分支和回归分支中分别加入改进的高斯采样模块(Improved Gaussian Sampling Module,IGSM),IGSM使用的二维高斯核公式如式(7)所示:

(7)

其中,Km为二维高斯核,(x0,y0)为目标物体的中心位置,σx和σy为对象尺寸自适应标准差,其中α为超参数,(h,w)为目标物体边界框的大小.高斯热图Hm由Km产生,(H,W)为输入图像的高度和宽度,输出步长r为4.

在CB-CenterNet的分类和回归支路中使用IGSM生成高质量的训练样本,这样既可以贴近真实物体的大小比例,使目标分类更准确,又能增强检测网络对遮挡目标的检测能力,加快模型训练速度,改进前后训练样本采样方式对比如图4所示.

图4 改进前后样本采样方式对比

1.2 损失函数

CB-CenterNet的总体损失L如式(8)所示:

L=ωlocLloc+ωregLreg

(8)

式中:Lloc为定位损失;Lreg为回归损失;ωloc和ωreg为超参数,定位损失采用改进的Focal-Loss,公式如式(9)所示:

(9)

回归损失采用GIoULoss,如式(10)所示:

(10)

(11)

式中:Gm(i,j)为高斯核采样在高斯热图的(i,j)点产生的高斯概率;Am为高斯采样的范围;am为第m个边界框的面积.

2 实验

2.1 实验设置

实验所使用的操作系统为Ubuntu 16.04,编程语言为Python,使用随机梯度下降法优化损失函数,初始学习率设为6×10-4,最大迭代次数为120个epoch,权重衰减值为4×10-4,批量大小设为6.其他参数设置如下:改进高斯采样模块中的超参数α设为0.54,总体损失L中的超参数ωloc和ωreg分别设为1和5,分类损失中的超参数αf和βf都设为2.

使用的数据集是从公共自动驾驶数据集BDD100K[8]中筛选出的白天场景下18 430张图片,图片尺寸为1 280×720,将数据集按7∶2∶1的比例随机划分为训练集、验证集和测试集.

实验采用平均精确率均值(mAP)、训练时间(TrainTime,TT)和每秒传输帧数(FPS)作为算法性能定量评价的标准,其中训练时间的计时单位为小时(h).平均精确率均值mAP的计算公式如式(12)所示:

(12)

其中,AP(Average Precision)是每类目标的平均正确率,N是总的类别数量.

2.2 实验结果分析

为验证本文设计的遮挡目标检测算法的有效性,将CB-CenterNet分别与SSD、YOLOv3、CornerNet和CenterNet算法进行对比,结果如表1所示.

表1 CB-CenterNet与其他主流算法测试结果对比

从表1可以看出,CB-CenterNet的mAP比CenterNet提高4.9%,训练时间比CenterNet缩短15.9 h,FPS比CenterNet降低17.8.与其他主流算法相比,随着使用更严格的IOU阈值进行计算,CB-CenterNet的mAP50提高4.5%~15.5%,mAP75提高4.5%~20.8%.说明CB-CenterNet能达到更高的检测精度,且模型的采样效率也得到提升,训练速度更快.

图5是CB-CenterNet与其他主流算法针对不同程度遮挡目标的检测结果对比,从上到下依次是无遮挡目标检测对比、部分遮挡目标检测对比和严重遮挡目标检测对比.从图中可与看出,随着目标被遮挡面积的增加,SSD和YOLOv3出现漏检的现象,CornerNet和CenterNet检测精度大幅下降,但CB-CenterNet算法仍能保持较高的检测精度.原因是CB-CenterNet中的差级级联特征融合结构可以加强检测网络对遮挡目标的特征提取和特征融合能力,对于严重遮挡目标,Fusion-CBAM注意力模块仍能利用被遮挡目标的可视区域,提取目标可视区域的特征进行目标检测.

(a) YOLOv3 (b) SSD (c) CornerNet (d) CenterNet (e) CB-CenterNet图5 不同检测算法针对目标的不同程度遮挡检测效果对比

为了验证具有增强复合连接模块的差级级联特征融合结构、Fusion-CBAM注意力模块和改进的高斯采样模块在解决遮挡问题中的有效性,将CenterNet目标检测网络作为测试基准(Baseline),按2.1实验设置分别进行训练,测试结果如表2所示.

表2 模型消融实验测试结果

从表2中可以看出:

(1)与基准模型相比,在CBNet的基础上添加ECCM之后,mAP比Baseline提升3.1%,比CBNet提升1.2%,说明在复合连接中设计的具有不同感受野大小的卷积核可以更有效地提取特征,且整个模块也能够产生更好的特征融合效果,提升检测模型的检测能力;

(2)添加Fusion-CBAM注意力模块之后,mAP比Baseline提升1.9%,比CBAM提升0.7%,说明在FCA中进行通道和空间的跨维度交互,相比CBAM在通道注意力中只做特征通道间的交互,能充分利用网络模型提取出有效特征信息,提高模型的检测精度;

(3)与基准模型相比,在添加IGSM之后,训练时间缩短25 h,mAP提升0.9%,原因是IGSM不仅能充分利用带注释的边界框产生更多信息,加快网络的训练速度,还能学习到被遮挡目标可视部分的更多特征,提升检测性能.

3 结论

针对自动驾驶场景下的遮挡目标检测问题,本文提出CB-CenterNet遮挡检测模型,通过优化网络的特征提取和特征融合过程,引导模型关注遮挡目标.在BDD100K数据集上的实验结果表明,相比目前主流检测算法CB-CenterNet有更高的检测精度,但是测试速度比CenterNet有所下降,今后将对网络进行一定的轻量化处理,在保证检测速度的前提下提高网络对遮挡目标的检测能力.

猜你喜欢

高斯卷积注意力
基于全卷积神经网络的猪背膘厚快速准确测定
基于图像处理与卷积神经网络的零件识别
让注意力“飞”回来
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
数学王子高斯
A Beautiful Way Of Looking At Things
从自卑到自信 瑞恩·高斯林
阅读理解两则