APP下载

地面箭头标识线检测的改进M2Det算法*

2022-06-23霍爱清

计算机工程与科学 2022年6期
关键词:箭头特征提取卷积

霍爱清,李 易

(西安石油大学电子工程学院,陕西 西安 710065)

1 引言

地面箭头标识线[1]检测是无人驾驶汽车[2]安全辅助系统中的关键技术之一。传统的检测方法通过车载传感器和数学知识进行建模,检测速度与检测精度均不理想。文献[3]提出的支持向量机与图匹配相结合的检测方法不适用于其它地面箭头标识线,仅对直行箭头标识线具有良好的检测效果。文献[4]介绍了一种基于“十”字形模型匹配的检测方法,检测精度仅为78.74%。随着科技的进步,国内外研究人员提出了一系列基于深度学习[5 - 7]的地面箭头标识线检测方法。文献[8]提出了一种基于主成分分析网络的箭头标识线检测方法,其需要提前将图像中的各类标识线通过二值化梯度特征方法进行定位,因此该检测方法较为复杂。Lee等人[9]利用VPGNet(Vanishing Point Guide Network)实现各类箭头标识线的检测,通过端到端的卷积神经网络对大量图像进行训练,从而获得地面箭头标识线的准确位置,但其检测速度仅有20 fps。文献[10]提出的MobileNet v1网络将卷积操作分为深度卷积操作和逐点卷积操作,因此大幅度减少了网络的参数量。Zhao等人[11]于2019年提出了一种单阶段目标检测算法M2Det,该算法构造了一种更有效的特征金字塔网络MLFPN(Multi Level Feature Pyramid Network)用来检测不同大小的物体,但该算法参数量较大。

本文在M2Det算法的基础上进行改进,以实现地面箭头标识线的端到端检测,在减少参数量的同时提高检测准确率。具体内容包括:

(1)利用轻量级网络MobileNet v1替代原始M2Det算法中的VGG特征提取网络,以减少参数量,提高检测速度;

(2)采用Mish激活函数替代深度卷积与分离卷积中的ReLU激活函数,以提高主干特征提取网络的泛化能力与训练的稳定性;

(3)针对网络参数量减少导致检测精度受损的现象,将BasicRFB(Basic Receptive Field Block)模块添加在MobileNet v1网络中,用以提高检测准确率;

(4)采用Mosaic数据增强方法对实验数据进行扩充,解决数据集不足问题。

2 改进M2Det算法

2.1 改进M2Det算法整体框架

改进M2Det算法主要包括以下3个部分:首先,利用主干特征提取网络(Backbone Network)对输入的原始图像进行粗略的特征提取;然后,将其输入MLFPN模块构建更有效的特征金字塔,生成置信度高低不均的边界框和类别分数;最后,通过非极大抑制NMS(Non-Maximum Suppression)预测网络对置信度较低的边界框进行剔除,从而获得与目标物体最为接近的预测结果。改进M2Det算法框架如图1所示。

Figure 1 Overall framework of improved M2det algorithm图1 改进M2det算法整体框架

下面阐述对主干特征提取网络和MLFPN模块的具体改进。

2.2 主干特征提取网络

VGG(Visual Geometry Group)[12]网络是M2Det算法的主干特征提取网络,由于其比较耗费计算资源,且占用较多内存空间,一般的轻量级网络虽然提高了检测速度,但检测精度也随之受影响。因此,本文为得到更适合检测各类地面箭头标识线的主干特征提取网络,提高各类小目标物体在丰富背景下的检测精度与检测速度,选用MobileNet v1轻量级网络替换VGG网络;并添加BasicRFB[13]模块,以增大感受野的方式提高检测精度,避免发生因网络参数量减小而出现精度受损的现象;另外,为提高主干特征网络的泛化能力与训练效果,用Mish[14]激活函数替代深度卷积与逐点卷积中的ReLU(Rectified Linear Units)激活函数。主干特征提取网络结构如图2所示。

由图2中的虚线框可知,MobileNet v1网络由一个标准卷积块(Conv2d)和一连串深度可分离卷积(Depthwise Conv)[10]组成。首先将输入图像统一调整成320×320×3大小,经过一系列卷积操作得到Conv1~Conv5 5个特征层,对Conv4进行上采样操作后与Conv3堆叠,随后添加BasicRFB模块,与Conv5添加BasicRFB模块后的特征层合并输入到FFM1模块中,进行初步的特征融合。

Figure 2 Structure of backbone feature extraction network 图2 主干特征提取网络结构

2.2.1 MobileNet v1网络

MobileNet v1网络的基本单元是深度可分离卷积,可细化成3×3深度卷积与1×1逐点卷积。先使用深度卷积对每一个输入通道单独进行处理,再通过1×1逐点卷积对深度卷积的输出进行组合,以此来减少计算量。另外,深度卷积与逐点卷积中均包含归一化单元BN(Batch Normalization)和非线性激活函数ReLU。改进M2Det算法用Mish激活函数代替ReLU激活函数,Mish激活函数无边界,可以避免出现因为封顶而产生的梯度饱和问题;同时,Mish激活函数非单调,有助于稳定网络梯度流,具有较好的泛化能力。改进深度可分离卷积结构如图3所示。综上所述,改进的MobileNet v1网络可以提高地面箭头标识线的检测准确性与检测实时性。

Figure 3 Structure of improved depth separable convolution 图3 改进深度可分离卷积结构

标准卷积计算量如式(1)所示:

(1)

其中,DK表示卷积核的大小,M表示输入通道数,N表示卷积核个数,DF表示输入特征的宽。

MobileNet v1网络计算量如式(2)所示:

(2)

2.2.2 BasicRFB模块

BasicRFB模块与Inception[15]网络结构相似,是一个借鉴了空洞卷积[16]思想的多分支卷积模块。以40×40×512这一特征层为例的BasicRFB结构如图4所示。具体而言,首先,在每个分支中引入瓶颈(bottleneck)结构,用1×1和3×3的卷积层来减少特征图中的通道数,加深网络深度;同时参考ResNet[17]网络中的直连(Short Cut)结构,避免出现因为网络深度的增加导致梯度发散的现象,从而影响检测效果。此外,BasicRFB模块中还利用1×7和7×1的卷积层替换7×7卷积层来减少网络的参数量,提高模型的训练速度。空洞卷积是在传统卷积中引入空洞,允许卷积核与扩张率为r的像素点进行乘积运算,在参数量不变的情况下,生成更高分辨率的特征图,便于检测各类地面箭头标识线,本文中的r分别为1,3,5,7。

Figure 4 Structure of BasicRFB 图4 BasicRFB结构

2.3 MLFPN模块

M2Det算法提出的MLFPN网络继承了SSD(Single Shot multibox Detector)[18]型和FPN(Feature Pyramid Network)[19]型特征提取网络的优点,细化了目标物体的尺寸。MLFPN由特征融合模块FFM(Feature Fusion Module)、细化的U型模块TUM(Thinned U-shape Module)和尺度特征融合模块SFAM(Scaled-wise Feature Aggregation Module)3个部分组成,其结构如图5所示。首先,FFM1将主干网络提取的特征聚合成语义信息更为丰富的基础特征(Base Feature),随后经过交替连接的TUM和FFM2实现特征的深度提取,生成多层次多尺度特征。其中,前面的TUM1生成浅层(Shallow)特征,中间的TUM2和TUM3生成中层(Medium)特征,后面的TUM4生成深层(Deep)特征。最后,SFAM将TUM中获得的多层特征按照不同维度进行堆叠,并施加自适应注意力机制,形成多级特征金字塔,最大程度地强化网络的特征提取能力。

Figure 5 Structure of MLFPN module 图5 MLFPN模块结构

在MLFPN模块中,由于每一个TUM参数量较大,为保证训练精度的同时还能提高训练速度,本文将默认配置中的8个TUM修改成4个TUM。由图5可知,除TUM1之外,其它TUM均可从前一个TUM和基础特征中同时进行学习。下面对特征融合模块、细化U型模块和尺度特征融合模块进行具体介绍。

2.3.1 FFM模块

FFM是MLFPN网络中的特征融合模块,包含FFM1与FFM2 2个子模块。其中,FFM1结构如图6所示,其主要目的是将主干网络提取到的不同深度与尺寸的特征进行融合,得到一个统一尺寸的基础特征层。由图6可知,1×1卷积用来压缩特征通道数,由于浅层特征的长与宽较小,需进行上采样操作,使其可以与深层特征进行融合。FFM2结构如图7所示,其主要目的是将前一个TUM模块输出的最大特征层与基础特征层进行融合,输入下一个TUM模块,不断进行特征的深度提取。

Figure 6 Structure of FFM1 图6 FFM1结构

Figure 7 Structure of FFM2 图7 FFM2结构

Figure 8 Structure of TUM 图8 TUM结构

2.3.2 TUM模块

TUM是一个细化的U型模块,其编码器是一系列步长为2、卷积核大小为3×3的卷积层,解码器将这些卷积层的输出作为接下来求和操作的输入。另外,在解码器分支的每一个上采样和求和操作后,均添加了一个1×1卷积层来增强网络的学习能力。TUM结构如图8所示,图中⊕代表上采样和求和操作,每一个TUM均生成6种尺度的特征,堆叠起来的TUM便可生成多层次的多尺度特征,为SFAM模块提供输入。

2.3.3 SFAM模块

SFAM的作用是将TUM产生的6种不同尺度的特征进行聚合,得到多级特征金字塔。其主要结构分为2个部分:第1部分是将TUM产生的浅层特征、中层特征和深层特征按照通道维度进行堆叠,如图9中①所示;第2部分以自适应方式聚合特征,利用2个全连接层给有效特征层的通道添加注意力机制[20],以此来更好地聚合特征,提高神经网络的训练效果,如图9中②所示。

Figure 9 Structure of SFAM 图9 SFAM结构

本文算法选用4个TUM进行训练,SFAM结构如图9所示。第2部分中不同特征层施加注意力机制的方式与10×10×512特征层一致。

3 实验与分析

3.1 实验设置

实验硬件环境为Intel i5-8500 CPU@3 GHz× 6处理器,在Ubuntu16.04操作系统下以python作为开发语言,搭建Keras深度学习框架进行训练与测试。为缩短训练时间,使用NVIDIA GeForce GTX 1060 6 GB显卡、CUDA9.0和CUDNN7.05调用GUP,提高计算速度。

3.2 地面箭头标识线数据集

实验中的数据集来源于行车记录仪拍摄的市区道路视频,本文对包含各类地面箭头标识线的图像进行人工标注,共包括2 504幅图像。其中标注类别分为直走(straight-line)、左转(left-turn)、右转(right-turn)、直走左转(straight-left-line)和直走右转(straight-right-line)5类。

数据集标签制作流程如下:第1步,将所有图像整理成PASCAL VOC2007数据集格式,并依照9∶1比例将其随机分为训练数据与测试数据,其中,测试数据中的251幅图像仅在验证中使用。第2步,使用Labelimg工具对训练数据进行人工标注,得到XML格式的文件。第3步,将XML格式文件中的目标框位置信息通过Python语言进行处理,得到所需的txt格式的标签。

另外,本文还使用Mosaic数据增强方式对训练数据进行扩充,以此来丰富检测物体的背景,避免过拟合现象的发生。Mosaic数据增强是一种改进版的CutMix[21]数据增强方法,其增强结果如图10所示。

Figure 10 Mosaic data enhancement图10 Mosaic数据增强

3.3 实验结果分析

实验中设置批处理大小为4,使用阶层性下降方式的学习率,初始学习率设置为0.001,共训练100个周期。本文主要进行了不同检测算法的对比实验、可视化实验和模块消融实验,下面对具体的实验结果进行分析。

3.3.1 不同检测算法对比实验

M2Det算法是单阶段目标检测算法SSD的改进版,针对原始M2Det算法参数量大、检测精度不高等问题,本文对M2Det算法的主干特征提取网络和MLFPN网络进行改进,并引用Mosaic数据增强方法对训练数据进行扩充。本文所提算法与其它检测算法在mAP值、参数量和FPS值上的实验结果如表1所示。

Table 1 Comparative experiment of different algorithms

实验结果表明,SSD算法的参数量较小,但mAP值仅为77.54%;MobileNet v1_SSD算法将SSD算法中的基础网络替换成MobileNet v1轻量级网络,提高了FPS值,减少了参数量,但mAP值也随之降低;RFBNet算法在SSD算法中添加了RFB模块,提高了mAP值但增加了参数量;YOLOv3算法也是一种典型的单阶段目标检测算法,FPS值因其参数量较大而较低;相较于其它算法,M2Det算法的检测精度仅次于YOLOv3算法;改进M2Det算法因其特有的MLFPN网络有助于检测不同尺寸目标这一优点,获得了最高的检测精度,较少的参数量,FPS值也达到了23 fps。

3.3.2 可视化对比实验

在测试数据中,改进M2Det算法和M2Det算法的可视化实验结果如图11所示。其中,测试数据包括地面箭头标识线被磨损、被遮盖等情况。

Figure 11 Comparison of visualization results图11 可视化结果对比

由图11可知,与M2Det算法相比,改进M2Det算法可以检测出更多被遮盖的、被磨损的地面箭头标识线,与此同时还提高了分类置信度,再次验证了本文所提算法的有效性。

3.3.3 模块消融实验

本文利用模块消融实验分析对比每个改进点在本文所提算法中的作用。模块a表示未改进的M2Det算法,模块b表示添加了MobileNet v1轻量级网络,其它以此类推,实验结果如表2所示。

Table 2 Module ablation experiment

由表2可知,未改进M2Det算法的检测精度为84.83%;模块b引入了轻量级网络MobileNet v1,降低了mAP值;在模块b的基础上,将深度可分离卷积中的激活函数进行替换,mAP值提升至85.70%;继续添加BasicRFB模块,提高主干网络的特征提取能力,使得mAP值提升了2.01个百分点;最后,使用Mosaic数据增强方式提高了算法的鲁棒性,进一步将mAP提升至88.72%。

4 结束语

本文在M2Det算法的基础上提出了一种改进M2Det算法,该算法利用MobileNet v1网络替换M2Det算法中的主干网络VGG,引入Mish激活函数替换深度卷积与分离卷积中的ReLU激活函数,同时在主干网络中使用BasicRFB模块实现特征的加强提取。另外,通过Mosaic数据增强方式丰富训练图像的背景,扩充训练数据,实现地面箭头标识线的检测。实验结果表明,本文所提算法完成了地面箭头标识线的有效检测,与未改进的M2Det算法相比,检测精度提升了3.9个百分点,检测速度也大幅度提高,可视化实验进一步验证了改进M2Det算法对小目标物体检测的有效性。

猜你喜欢

箭头特征提取卷积
基于3D-Winograd的快速卷积算法设计及FPGA实现
卷积神经网络的分析与设计
空间目标的ISAR成像及轮廓特征提取
基于Gazebo仿真环境的ORB特征提取与比对的研究
基于特征提取的绘本阅读机器人设计方案
从滤波器理解卷积
基于Daubechies(dbN)的飞行器音频特征提取
基于傅里叶域卷积表示的目标跟踪算法
运载火箭
寻宝历险记(6)