基于时序信息的轻量级视频车辆目标检测方法

2024-01-05 12:05符广刘彦隆刘建霞
电子设计工程 2024年1期
关键词:关键帧时序特征提取

符广,刘彦隆,刘建霞

(太原理工大学信息与计算机学院,山西晋中 030600)

目标检测具有广泛的应用潜力,是深度学习的核心领域[1],而车辆检测是目标检测的重要应用,其检测的速度与准确度对智能交通、无人驾驶等领域的发展至关重要。基于深度学习的目标检测算法,目前可分为双阶段和单阶段[2]。双阶段算法的特点为精度较高,但速度慢。单阶段算法速度较快,但精度损失较大,该文采用的SSD网络[3]属于单阶段算法。

为提高视频车辆目标检测在嵌入式设备上的运行速度,该文所做的工作有:1)对SSD 网络进行轻量化改造;2)提出注意力机制卷积GRU,并将其与SSD网络结合,促进时序信息融合;3)提出关键帧检测网络控制的GRU 跳跃连接,实现时序信息从关键帧传播到非关键帧;4)采用量化对模型进行优化。

1 基于时序信息的轻量级视频车辆目标检测模型

该文提出的基于时序信息的轻量级视频车辆目标检测模型如图1 所示。It表示t时刻输入的图像,输入的图像首先经过由MobileNetV3-Small[4]组成的主干特征提取网络进行特征提取,生成低层特征图,该特征图将送入关键帧检测网络以及第一层卷积GRU 中。关键帧检测网络依据当前帧与前一关键帧的特征相似度,进行关键帧判断并控制卷积GRU。卷积GRU 将输入的特征图与时序信息进行融合,输出的特征图将被送入检测网络及下一级特征提取网络。经过主干特征提取网络、额外特征提取层以及六层卷积GRU,将生成6 个尺度大小不一的特征图,用于检测不同大小的目标。

图1 基于时序信息的视频车辆目标检测模型结构图

图1 中ConvGRU*为第一层卷积GRU,该文在其中增加了注意力机制以及跳跃机制,其余5 个卷积GRU 只增加了跳跃机制,关键帧检测网络将对所有卷积GRU 的跳跃机制进行控制。关键帧检测网络使用主干特征提取网络输出的低层特征图进行关键帧判断,若判断为关键帧,则送入卷积GRU 模块,在此融合存储在GRU 状态中的历史关键帧信息,增强特征图的时空信息,输出精确的、具有时间感知的特征图,同时更新GRU 状态,即更新GRU 中存储的上下文信息,以便后续时刻输入图像特征图使用;若判断为非关键帧,则在进入卷积GRU 之后不更新GRU 状态,直接融合之前帧的信息,并复制前一GRU 状态到当前GRU 状态。第一层卷积GRU 输出的特征图将送入检测网络中以及后续网络继续进行特征提取。其余5 个卷积GRU 也将生成5 个特征图送入检测网络中,每张特征图的每个特征图小格都会生成4~6 个先验框,在先验框的基础之上进行回归与分类。

2 算法设计

2.1 基于MobileNetV3的SSD

文献[3]提出的SSD 网络是一种简单快速的目标检测方法,在检测精度与速度上均有较高的性能。为提高模型在嵌入式设备上进行视频车辆目标检测的速度,该文引入MobileNetV3-Small[4],替换经典模型VGG-16 作为主体特征提取部分,同时将SSD框架中其他标准卷积替换为深度可分离卷积[5],MobileNetV3-Small-SSDlite 主体框架如表1 所示。

表1 MobileNetV3-Small-SSDlite主体框架

表1 中Bneck[4]为MobileNetV3 的基本模块,将SE注意力机制[6]和残差连接结合,增强了模型的效率。为进一步减少计算量,该文将SSD 框架中用于生成特征图的第15、16、17、18 卷积块中第二层3×3 标准卷积层,替换为由3×3 逐通道卷积[5]和1×1 逐点卷积[5]组成的深度可分离卷积,生成新的卷积块,即表1 中的DConv。

文献[4]中MobileNetV3-Small 的激活函数为ReLU 与h-swish,但h-swish 函数引入的非线性计算在计算量有限的设备中会造成一定的延迟。考虑到h-swish 函数对精度的提升影响较小且会增加大量计算,该文将网络中的激活函数都设置为ReLU函数。

SSD 计算目标检测的边界框损失时,采用的SmoothL1 损失函数,独立求出边界框4 个值的损失,与衡量框检测准确率使用的IoU 并不等价,多个边界框可能有相同大小的损失,但IoU 差距可能很大,为提升SSD 检测的准确性,该文采用CIoU 损失函数[7]作为边界框回归损失函数。CIoU 充分考虑到边界框和目标框之间的重叠面积大小、中心点距离以及宽高比的一致性,能有效提升检测精度。CIoU 损失函数为:

2.2 GRU融合时序信息

GRU 在文献[8]用于融合多个视频序列图像的信息,利用历史帧的信息加强当前帧目标的检测,取得了较高的检测精度。受其启发,该文在SSD 中直接插入卷积GRU[9],融合历史帧的时序信息。但GRU 本身的参数量对于嵌入式设备而言仍是较大的。为提升模型在嵌入式设备上的运行速度,该文对标准GRU 进行以下四处改进,如图2 所示。首先,使用卷积GRU 替代传统GRU,为进一步减少计算量,将卷积GRU 中的标准卷积替换为深度可分离卷积;增加注意力机制;在输入与输出之间增加连接;增加跳跃机制。

图2 卷积GRU结构图

图2 中Concat 为通道数相加,E-channel 为单通道特征图分别与多通道特征图的每个通道对应元素相乘,E-wise 表示哈达玛积,即元素乘积,矩阵对应元素相乘。

该文使用第8 层输出的低层特征图识别小目标,因其富含细节信息且感受野较小。而小目标相关特征远小于背景,为抑制背景提高检测准确率,该文在与网络第8 层连接的卷积GRU 层中增加注意力机制。注意力模块的输入为当前特征图xt和之前的GRU 状态ht-1通道数相加之后生成的新特征图。新特征图通过三层卷积以及Sigmoid 激活函数之后,生成一个元素值在0~1 之间的单通道注意特征图。之后单通道注意力特征图将与多通道特征图xt逐通道对应元素相乘生成注意力感知特征图,代替当前特征图xt作为卷积GRU 输入的一极,另一极仍为前一隐藏状态ht-1。SSD 剩余5 个特征图连接的卷积GRU 中不增加注意力模块,则输入为特征图xt和前一帧状态ht-1。

该文还在xt、ht-1通道相加之后与输出之间增加一条连接,可使输出中包含时间相关性较小的特征,而无需存储在内存中,减轻了内存的负担。

由于视频相邻帧一般存在较强的相似性,特征图的变化可能较小,为了减少计算量并加快模型训练时的收敛速度,该文在卷积GRU 中引入跳跃机制[10],由二进制门st控制,st的值为0 或者1。当st=1 时,GRU 更新神经元状态,st=0 时,则不更新。该文使用自适应关键帧检测网络来确定二进制门st。

2.3 基于自适应关键帧的跳跃连接

视频帧的特征相似性是关键帧检测网络的基础,相邻视频帧往往信息冗余度较高,若逐帧处理将会导致计算量和处理时间的增加,因此一个效率较高的关键帧检测策略对于提升模型检测效率至关重要。与高层语义特征图相比,低层细节特征图可以更好地反映视频帧的变化。该文从低层细节特征相似性的角度出发,提出一种基于自适应关键帧决策方法控制的GRU 跳跃连接。

关键帧检测网络以当前视频帧特征图fi作为输入,输出为特征相似度。首先将网络第8 层卷积块输出的特征图经过一个1×1 卷积核,将多通道特征图转化为单通道特征图,再将其展开为特征向量vt,通过计算上一关键帧特征向量vk和vt的余弦相似度来衡量两帧图像的相似度。

通过式(4)求出两向量的余弦相似度,式(5)为st判断标准,当余弦相似度不大于阈值时,说明两帧差距较大,当前视频帧可判断为关键帧,令卷积GRU的二进制门st=1,控制所有卷积GRU 状态更新,卷积GRU 的输出为更新之后的状态ht和特征图yt;而当余弦相似度大于阈值时,表明当前帧与上一关键帧差异较小,判断当前帧为非关键帧,并令st=0,控制所有卷积GRU 复制之前状态。经过实验验证,该文选取阈值α=0.95。

2.4 量 化

深度神经网络大多因高昂的计算和存储成本,阻碍了其在计算力和存储资源有限的情况下部署,对神经网络进行量化可以极大提高其效率[11]。量化即使用缩小宽度的数据类型替换原数据类型。若采用先训练后量化的方法,对于该文所使用的小模型会导致显著的精度下降,因此该文采用量化感知训练,在训练的过程中对网络进行8 位伪量化,减少量化带来的模型精度损失,主要使用pytorch 库BREVITAS 中的均匀对称量化。

3 实验及结果分析

3.1 实验配置

该文数据集采用UA-DETRAC[12],该数据集包括100 个视频,其中包含了140 131 帧真实交通场景,训练集为83 791 帧,测试集为56 340 帧。这些视频帧标记了121 万个车辆边界框以及其他属性,如场景照明情况、车辆类型等。

该文使用SGD 在pytorch 上训练模型,输入分辨率为320×320,学习率设置为0.003,训练设备为一台配备GTX 1660Ti GPU 和Intel Core i7 CPU 的计算机,性能测试环境为Intel Core i7 CPU 和一块树莓派4B,CPU 为Broadcom BCM2711。

训练时首先训练以MobileNetV3-Small 为主干特征提取网络的SSD 模型,训练完成之后冻结基础网络中的所有权重,在模型中增加卷积GRU 层继续进行训练。

3.2 检测精度与速度分析

该文比较了所提出的基于时序信息的轻量级视频车辆目标检测方法与其他先进的视频目标检测方法在UA-DETRAC 数据集上的检测精度与速度,结果如表2 所示,其中LAFS[13]和该文由于均使用了关键帧策略,在测试检测速度时使用的是平均单帧图像检测时间。

表2 UA-DETRAC数据集测试结果

该文提出的视频车辆目标检测方法在典型嵌入式设备树莓派4B 上检测准确率达到了78.81%,在该数据集上取得了较好的效果。虽然与FFAVOD 和SpotNet 的精度存在较大的差距,但在检测速度方面由于该文所采取的轻量化模型设计及利用量化优化模型,所以优势明显,且能够部署在低计算能力的树莓派4B 上。相较于TT-YOLO 有明显的速度优势,而与LFAS 相比,平均单帧图像的检测时间缩短了151 ms,同时有0.69%的精度优势。

3.3 模型分解实验

为证明该文所采用的各种设计方法的有效性,该文进行了模型分解实验。首先对该文轻量化改造SSD的有效性进行实验,在UA-DETRAC 数据集上分别对基于VGG-16 的SSD、基于MobileNetV3-Small 的SSD 以及MobileNetV3-Small-SSDlite 进行实验,并在树莓派4B上测试检测精度与速度,结果如表3所示。

表3 不同SSD模型对比

从表3 可以看出,该文将SSD 特征提取模块和标准卷积层替换为MobileNetV3-Small,虽然导致准确率下降了2.34%,但单帧图像处理速度获得显著提高。而在MobileNetV3-Small-SSD 基础之上,使用深度可分离卷积、更换激活函数及边界框损失函数,检测速度进一步提升,准确率也有小幅提升。

为对比不同RNN 融合时序信息的效果,该文分别将卷积LSTM[9]、瓶颈LSTM[13]、标准卷积GRU[9]以及该文提出的改进卷积GRU 注入到基于MobileNetV3-Small-SSDlite 网络中,结果如表4 所示,其中该文方法1 为注意力机制卷积GRU,该文方法2 为基于关键帧检测网络的跳跃连接卷积GRU,该文方法3 为结合注意力机制与跳跃连接的卷积GRU,三种方法均使用深度可分离卷积,表4 中该文方法2 与该文方法3 的检测时间均为平均单帧检测时间。

表4 网络注入不同RNN对比

从表4 中可以看出,相较于使用其他RNN 进行时序信息融合,该文提出的改进卷积GRU 在准确率及检测速度上均有较大的优势。相较于卷积GRU,在其中增加注意力机制可以有效提升检测准确率,虽会增加一定的计算量,但对检测时间的上升影响较小。关键帧检测网络控制的跳跃机制对减少计算量和检测时间的效果明显,而对准确率的影响比较小,该文同时增加注意力机制与关键帧控制的跳跃机制对于准确率与检测速度的提升都有较好的效果。

关键帧检测网络的阈值α十分重要,它决定了关键帧的密度,影响检测精度与速度。该文对阈值α的选择进行实验,结果如图3 所示,当阈值α处于0.95~1.00 之间时,随着α的减小检测精度略微下降,但平均单帧检测时间明显减少;当α小于0.95 时,检测时间虽随着α的继续减少而继续减小,但检测精度随之大幅降低。基于以上分析,该文选择0.95 作为关键帧检测网络的阈值,当关键帧检测网络输出的特征相似度不大于0.95 时,则判断当前帧为关键帧,该网络控制所有卷积GRU 更新状态,若特征相似度大于0.95,则卷积GRU 复制此前状态。阈值为0.95 的关键帧检测网络使模型的平均单帧检测时间缩短了223 ms,精度只下降了0.72%。

图3 关键帧阈值选择

该文所使用的量化感知训练,对模型最终能够在树莓派4B 上以较快的速度运行,起到了决定性作用,量化之后模型大小从17.2 MB 减少至4.3 MB,缩小了4 倍,平均每帧运行时间达到了最终的134 ms,准确率为78.81%,损失为1.03%。

图4 为该文方法在UA-DETRAC 数据集上的检测结果。

图4 UA-DETRAC检测结果

4 结束语

该文提出了基于时序信息的轻量级视频车辆目标检测方法,在CPU 上单帧检测时间减少至18 ms,且支持部署在树莓派等嵌入式设备上。该方法主体为SSD 网络,以MobileNetV3-Small 为主干特征提取网络,在其后增加关键帧检测网络与卷积GRU 层,关键帧检测网络控制卷积GRU 状态是否更新,卷积GRU 层则进行时序信息融合,并通过增加注意力机制与跳跃连接提升检测精度与速度。该文还使用量化感知训练,极大地提升了检测速度。在UA-DETRAC数据集上的实验结果表明,该文所提出的方法在树莓派等嵌入式设备上能够取得较好的检测精度与速度。今后的研究工作在此基础上,将尝试如何在不明显增加计算量的前提下提高模型的检测准确度。

猜你喜欢
关键帧时序特征提取
基于Sentinel-2时序NDVI的麦冬识别研究
基于Daubechies(dbN)的飞行器音频特征提取
基于FPGA 的时序信号光纤传输系统
基于改进关键帧选择的RGB-D SLAM算法
Bagging RCSP脑电特征提取算法
一种毫米波放大器时序直流电源的设计
基于相关系数的道路监控视频关键帧提取算法
基于聚散熵及运动目标检测的监控视频关键帧提取
基于MED和循环域解调的多故障特征提取
DPBUS时序及其设定方法