冒睿瑞,江 波
(中国电子科技集团公司第三十二研究所,上海 201808)
近年来,随着嵌入式设备智能化的发展,基于战场末端智能设备需求量不断增加,对其性能要求也愈加严格。其中,战场智能感知作为军事智能化的关键一环,在各种军事行动如侦察、打击、决策以及毁伤评测中承担重要使命。在现代战争的复杂场景中,微小目标跟踪检测识别技术更贴近现实场景应用需求,相比普通目标识别,一直是目标感知领域中的技术难点[1]。微小目标在整张图像中所占比重极小,像素点信息少[2],当目标背景为复杂的环境时,对于提取微小目标的特征信息存在巨大挑战,其颜色、边缘轮廓等都较为模糊。
面对微小目标检测跟踪的挑战,国内外科研人员基于不同理论开展研究,并提出多种方法。CHEN 等[3]利用上下文模型和小区域提议生成器提出了最新的区域卷积神经网络算法,以提高微小目标检测性能;LI 等[4]提出一种新的感知生成对抗网络模型,该模型通过减少微小目标与正常尺寸目标之间的表示差异来提升微小目标的检测性能;吴言枫等[5]提出一种动态背景下“低小慢”目标自适应实时检测技术,根据图像的亮度对比度获得显著性图,提取显著性特征的方法为通过形态学梯度,依据图像中目标所在占比的变化,以及质心距离、宽高比等信息筛选真实目标,从而进行微小目标检测。
在面向战场军事需求时,相比于运行高性能人工智能服务器,微小目标跟踪检测技术无法较好地运行在嵌入式设备上,其实际效果不能满足战场实时需求。现有的目标检测管道通常通过学习多个尺度上所有对象的特征表示来跟踪检测微小目标。但是,这种临时架构的性能增益通常仅限于偿还计算成本。当前,基于高性能人工智能服务器的主流移动目标跟踪检测系统仅对视频进行采集、存储和回看,考虑到战场实时性的要求,基于高性能AI 服务器的移动目标跟踪检测方法已经不再适用直接移植至嵌入式平台,嵌入式平台的算力无法与高性能服务器相比,但其具有高可靠性和高实时性的优势,这使得面向嵌入式设备的目标跟踪检测技术在军事领域具有广阔的应用发展空间。
针对上述问题,本文提出一种面向嵌入式设备的高实时微小目标跟踪检测方法。该方法利用轻量级卷积神经网络,并融合相关滤波算法,以提升微小目标跟踪检测的精度和速度。
目标跟踪检测是机器视觉领域的一个重要研究课题,在战场感知领域有重要应用。近年来,目标跟踪检测的研究已经取得较大进步,但在实际过程中目标可能发生形变、剧烈运动、被遮挡等情况,从而导致目标丢失、跟踪失败[6],因此,目标跟踪的研究仍具有较大挑战性。文献[7]提出一种基于快速多尺度估计的重新检测目标跟踪算法,在相关滤波算法的基础上构建一个新的自适应检测指标,该检测指标可以更加准确地检测出当前帧是否出现跟踪失败的情况。与其他指标不同,新的检测指标减少对最大响应值的依赖。当检测到目标丢失时,通过重新检测的方法寻回目标,恢复跟踪。若当前帧需要进行重新检测,则当前帧的模型拒绝更新,仍采用前一帧的模型。文献[8]通过最小输出误差平方和(Minimum Output Sum of Squared Error,MOOSE)滤波器进行目标跟踪,当使用单帧图像进行初始化时,产生稳定的相关滤波器,在高速运动跟踪中对光照强弱、尺寸比例、目标姿态和非刚性变形的变化具有鲁棒性。
深度学习模型的训练和推断耗费大量的计算资源,其中包括内存、人工智能处理器等。当需要执行实时模型推断或在计算资源有限设备端运行模型训练时,造成计算瓶颈。
解决以上问题的有效方法是提高运算效率。模型剪枝优化加速是深度学习领域的一种有效模型压缩方法,可以有效提高推断效率,模型剪枝优化加速可以提高内存使用效率、降低能耗、缩小规模等。文献[9]提出一种基于稀疏卷积神经网络的模型剪枝方法,利用L1 正则化在模型训练中的稀疏化作用,对模型的卷积层和批规范化(BN)层参数进行稀疏正则化训练,获得权值稀疏的神经网络模型,再根据滤波器的稀疏性和BN 层的特征缩放系数对两者的重要性进行判断,最后用结构化剪枝方法对稀疏滤波器及对应的连接进行剪枝。文献[10]提出一种基于层融合特征系数的动态网络结构化剪枝方法,保证网络的结构性,使剪枝后的网络能结合现有的深度学习库和硬件装置加速方法,并且考虑层与层之间对改变特征图的综合影响,将卷积层和BN 层操作表达为全连接形式,提取由滤波器参数、BN 层缩放系数及特征图方差多个动态参数组成的层融合特征系数,通过层融合特征系数判定卷积网络每层中滤波器的重要性,结合动态剪枝策略,搜索最优的剪枝网络。
神经网络轻量化与优化的另一种方式是对算法进行针对性的改进,提高计算效率[11]。例如,文献[12]提出一种基于ShuffleNet 和集成随机权向量函数连接网络分类器的人脸识别方法,该方法克服了深度神经网络复杂结构的缺陷,在提高人脸识别准确度的同时,降低深度神经网络训练的复杂度,形成轻量级深层网络人脸识别模型。
由于微小目标的成像尺寸较小,因此只有少量的目标纹理信息,容易受到快速运动、背景、噪声、拖尾等因素的干扰,对检测算法的精度与鲁棒性要求很高[13]。传统主流方法适用于算力与内存资源充分的高性能AI 服务器,然而由于军事武器装备平台的特殊性,战场端的计算平台受空间、供电、散热等限制,只能使用体积小、功耗低、发热小的计算性能有限的嵌入式平台,因此算法的计算速度至关重要。
本文将基于嵌入式设备改进的CSPdarkNet53检测算法与基于相关滤波理论的目标跟踪算法相融合,并对整体神经网络进行轻量化改造,提出面向嵌入式设备的高实时目标检测跟踪方法。
当前主流的基于实时视频的目标检测方法是将实时视频进行分帧处理,形成一系列连续的图像[14],针对这些图像单独进行目标检测,最终将检测结果进行合成形成目标检测识别视频。但此类方法对于计算资源的要求高,不适于嵌入式装备有限的计算能力。
视觉目标跟踪是计算机视觉中一个基本问题,根据是否使用帧间关系,有两种解决思路:一种是利用单帧图像信息进行判决,常见方法是使用深度学习卷积神经网络;另一种是通常使用滤波算法与帧间前后关系进行统计运算[15]。使用深度学习算法能够提取物体关键信息,精度高但运算量也较高。滤波算法计算相较于深度学习开销较小,因而处理速度快,但易受图像质量波动的影响。
本文对于实时视频分帧后形成的一系列图像[16],按连续若干张形成一组,第1 张图像采用面向嵌入式设备改进的CSPDarkNet53 算法进行目标检测,之后若干张图像采用相关滤波目标跟踪算法对目标进行跟踪识别,相关滤波目标跟踪算法相比CSPDarkNet53 算法具有优异的性能及良好的实时性,对于计算资源的开销较小,适用于嵌入式设备的高实时目标检测。
相关滤波目标跟踪算法的相关性是指不同事物之间的相关性。它通常用于描述各种事物之间的相似程度,是一种度量。根据共振原理,将相关性引入目标跟踪过程中,通过相关性与目标跟踪算法的结合,使得目标的跟踪通过计算目标模型和候选区域的相关性来达到跟踪目标的目的,所得到的相关性最大位置就是当前帧下目标的位置[17]。
相关滤波是直接且有效的滤波方法,其在目标跟踪中的最早应用是在MOSSE 滤波器中,如图1 所示,2 个目标越相关,相关值越大,即视频帧序列与初始目标越相似,所对应的值也就越大[8]。
图1 相关滤波算法Fig.1 Correlation filtering algorithm
由于在时间域进行卷积操作,计算量大且时间较长,因此将其转化成在频率域上的计算可以大幅减少计算量[18]:
其中:G表示输出图像;F表示输入图像;M*表示滤波器。为在后续帧内找到最相似的目标图像,通过输出的平方误差最小得到最佳的滤波器,目标函数如下:
通过式(2),可求得滤波器M*的闭合解如下:
其中:M为当前帧的模型;Fi表示输入图像表示期望响应的共轭。当前滤波器的模型仅适应于当前帧的模型,为使滤波器具有较强鲁棒性,滤波器的模型需要根据需求进行更新,从而找到最优滤波模型,方法如下:
Ai更新如下:
其中:μ是学习率,即当前帧内的滤波器与上个滤波器模型的比值。根据应用需求进行模型的更新,以确保跟踪精度,从而匹配最优的滤波模板。
基于嵌入式设备的微小目标检测对模型的精度和速度都有较高的要求,本文基于CSPDarkNet53 网络模型进行改进,在提高算法速度的同时保证目标识别准确率。
网络的第1 次下采样对于微小目标的识别极为重要,如果采用简单的池化或单纯的卷积进行下采样,则无法保证很好地提取出微小目标的特征,导致后面的特征提取丢失微小目标[19]。传统的下采样一般采用卷积、特征提取的组合,但是这在第1 次下采样中带来大量的计算量。因此,本文采用亚像素卷积的逆过程来实现下采样,极大地减少了计算量和内存消耗,同时保持一定的特征提取性能。原始亚像素卷积如图2 所示。
图2 亚像素卷积Fig.2 Sub-pixel convolution
亚像素卷积可以将(C×r×r)×H×W的输入转为C×(r×H)×(r×W),利用这一原理,本文采用其逆过程实现下采样,如图3 所示。
图3 下采样过程Fig.3 Downsampling process
图3 所示的亚像素卷积可以将C×H×W的输入转化为(C×2×2)×(H/2)×(W/2),从而达到下采样的目的。该下采样方法不仅节省大量的计算量,同时也给后面的特征提取保留丰富的细节信息,有利于小目标的特征提取。
骨干(Backbone)网络一般用于下采样后的进一步特征提取,在丰富特征语义信息的同时防止网络过深带来的梯度消失、梯度爆炸等问题。网络模型主要采取CSPDarkNet53 骨干网络,该网络模型深达161 层,参数以及计算量大,不适用于嵌入式设备上的目标识别。虽然DarkNet19 网络大幅缩减模型层数和参数量,但是对于微小目标的识别效果不是特别理想。本文提出轻量化网络模型,对骨干网络CSPDarkNet53 进行深度裁剪,轻量化CPSResNet 模块,满足本文中嵌入式设备微小目标识别的需求,同时CSP(Cross Stage Partial)可以兼顾网络轻量化与模型检测的准确性,增强卷积网络的学习能力,降低计算瓶颈以及内存成本。其次,本文采用改进的PANet 网络,通过多次融合高低层特征提升微小目标检测的效果。
2.3.1 轻量化CSPResNet 骨干网络
本文基于CSPDarkNet53 提出一种轻量化的骨干网络,该骨干网络能够减少网络中的模块数量及每个模块中残差单元的数量,其次,减少卷积核参数,提高微小目标的识别时间,适用于嵌入式设备。具体的网络结构如图4 所示。其中网络输入图片尺寸为1 024×1 024×3。
图4 骨干网络结构Fig.4 Backbone network structure
如图4 所示,虚线框中为轻量型骨干网络,首先相比于原来的CSPDarkNet53 网络,本文极大地减少了CSP 模块的数量,其次降低CSP 模块中残差模块的数量,最后削减模块中卷积核的数量,降低网络主干网的参数。
主干网络中共包含4 个CSP 模块,这4 个模块结构相同,如图5(a)所示,其中卷积2、3、4 部分为残差模块。输入特征进入CSP_block 模块后,分成两路进行处理,组成CSP 结构,在左边处理流程中,卷积2、3、4 部分为残差模块。不同模块中的卷积核参数如图5(b)所示。同时,本文将下采样后的底层特征图连接到接下来的每一层CSP 模块后,可以增强底层特征信息的传输,避免丢失微小目标的少量特征。
图5 CSP_block 模块Fig.5 CSP_block module
2.3.2 轻量化路径聚合网络
路径聚合网络(PANet)通过增强自底向上的路径,充分融合浅层与高层之间的特征信息,从而将特征信息中的有用部分传递给子网络,缩短高层特征与底层特征的距离,以适用于小目标检测识别[20]。但是由于创建多个路径通道,网络计算量较大,不适合部署在嵌入式设备上。本文提出了轻量化的PANet,通过减少原来CSPDarkNet53 网络中的Neck部分,将主干网直接通过PANet 与CSPDarkNet53 head 相连接,极大地降低了网络层数和计算量,同时高低层特征通过多种路径相连接,强化了小目标检测效果,具体的轻量化PANet 结构如图6 所示。
图6 轻量化PANet 结构Fig.6 Lightweight PANet structure
2.3.3 剪枝优化
由于神经网络模型计算量较大,在嵌入式设备上运行速率较低[21],因此通过采用模型剪枝的方式,对模型中不必要的计算进行删除,从而简化模型来提高运行速度。对于裁剪网络的方式,其主要是判断每个卷积核对整个网络的贡献程度,本文主要利用深度神经网络中的批量标准化(BN)层中的参数γ,确定剪枝参数,以决定每一层中剪除的具体通道[22]。BN 层的相关参数加上L1 正则化惩罚来训练模型,其新的损失函数如下:
利用小批量统计的方式规范化BN 层内部激活函数,BN 层转换如下:
分析基准网络的每一层权重,采用基于判断权重值的大小判定其重要性来进行裁剪,对于过滤器,将其所有权重的绝对值求和,作为评价该过滤器的指标,将值低的过滤器裁掉,保留值较高的过滤器,以达到降低模型复杂度的目的;在裁剪的过程中,同时考虑每一层卷积核对剪枝的敏感度,对于裁剪比较敏感的卷积层,对其裁剪程度适当减小;当删除部分的卷积核后,输出层的通道数发生变换,删除其对应的通道;在进行剪枝操作后,与原模型对比精准度,通过采用较小的学习率微调剪枝后的模型以回升精度,具体模型剪枝步骤如图7所示。
图7 模型剪枝步骤Fig.7 Model pruning steps
本文对整个网络进行排序,然后自行确定剪枝比例,去除参数值较小的通道,最后进行微调,重复操作,以到达最优的剪枝效果。
本文实验硬件环境为Jetson AGX Xavier开发套件板,同时使用JetPack SDK4.3 软件套件,主要软件环境为L4T32.2、CUDA10.0、CUDNN7.6、OPENCV4.4。本文推理程序主要使用C/C++编写,采用多种图像预读及处理多线程方法来提高程序执行效率,且使用平台最大电源功耗模式来考验嵌入式平台下极限推理性能。
本文实验数据采用三维物体场景渲染器自建军事场景进行图像采集,通过场景渲染器修改渲染大小来模拟现实场景目标,实验选用5 种尺度目标大小考验算法的识别能力,如图8 所示。数据集图像中分别包含100 像素、400 像素、900 像素、2 500 像素和10 000 像素的待测目标。
图8 微小目标数据集示意图Fig.8 Schematic diagram of tiny target dataset
训练集内含1 024 像素×1 024 像素分辨率的图片10 000 张,验证集内含图片2 000 张。本文算法主要考验对单类微小目标的识别和跟踪能力,因而采用目标检测中不同的交并比(IoU)阈值下的精确度AP 作为准确度评价指标,AP25、AP50 和AP75 表示在IoU 阈值25、50 和75 下的检测成功率,采用推理速度FPS,即推理时间倒数作为性能评价指标。
模型训练及前期预处理使用高性能服务器,搭载4 块NVIDIA Tesla P100 加速卡。所有的网络模型将其动量设为0.9,学习率设为0.002 6,权重衰减设为0.000 5,并进行10 000 次迭代,得到最终的训练结果。通过设定不同的稀疏策略进行训练,选出综合最优的精度和稀疏度,然后利用通道剪枝以及层剪枝分别压缩模型的宽度和深度,最后微调剪枝后的模型以回升精度,从而达到最优的模型剪枝效果。
本次实验对比多个主流的目标检测网络,包含若干个单步法快速检测网络,如DarkNet53、DarkNet19、CSP改进的DarkNet53 和ResNeXt50+CSP。并且,本文将所提模型与剪枝后的模型分开进行对比,能够进一步验证剪枝优化的效果。
第1 组实验使用图像像素尺寸为1 024 像素×1 024 像素,对比5 种不同像素尺度的微小目标检测准确率,基准为本文所提的轻量化检测网络,基准裁剪为裁剪优化过后的网络。
本文首先使用所提轻量网络训练一个基准模型,如图9(a)所示,从图中可以看出基准模型的γ值大致服从期望为1 的正态分布;然后使用稀疏训练出基准裁剪的模型,如图9(b)所示,可以明显看出,经过稀疏过程,BN 层的γ值大部分逐渐被压到接近0,而接近0 的通道其输出值近似于常量,因而可以进行后续剪枝操作。
图9 剪枝前后BN 层γ 值稀疏分布变化Fig.9 The sparse distribution of γ values in BN layer before and after pruning
利用层剪枝以及通道剪枝策略,模型大小从23.4M 压缩到2.6M,在900 像素目标 下,AP 值减少0.23,通过反复微调,AP 值回升到80.05,基准裁剪的模型大幅压缩减少资源占用,提高了运行速度。
如表1 所示,在极小目标情况下(100 像素),传统的快速单步法检测网络基本无法正常工作,改进后的DarkNet53+CSP 依然表现很差,而本文所提卷积网络具有一定概率能够成功识别;在稍大一些的目标400 像素~2 500 像素下,能够看出本文所提模型在识别能力上均领先对照模型,而改进的DarkNet53和ResNeXt50+CSP 也比基础的算法有明显优势;但在很大目标识别上,由于DarkNet53 和DarkNet19 均缺乏多尺度特征提取的能力,预测精度变得很差,而本文的模型保证了很高的识别成功率。
表1 多种算法的小目标检测精度对比Table 1 Comparison of tiny target detection accuracy of multiple algorithms
如表2 所示,本文测试了算法在多种图像输入尺寸下嵌入式平台的实时推理性能。在模型输入尺寸较大的情况下,推理延迟普遍较高,难以满足高实时高负载应用场景的性能需求,而本文所提轻量化模型经过裁剪有27.8 frame/s 的速度,大幅领先对比算法。当卷积网络规模变小时,推理速度普遍提高,且本文模型均保持性能较优。
表2 多种图像输入尺寸下推理性能比较Table 2 Comparison of inference performance under various image input sizes (frame·s-1)
针对特定现实场景应用,如在中高分辨率尺寸场景下,若在嵌入式平台进行多路图像处理,因其运算量成倍提高,则目前算法推理性能均难以满足高实时要求。本文采用的滤波跟踪补帧方法能够大幅提升等效推理性能。如表3 所示的实验验证了基准裁剪算法在608 像素×608 像素输入下,帧间隔对推理速度和精度的影响:推理帧间隔为0 时为原始算法性能,而当补帧间隔为2 时,能够达到性能与精度的最佳平衡。
表3 推理帧间隔对性能和精度的影响Table 3 The effect of inference frame interval on performance and accuracy
针对嵌入式平台的算力瓶颈导致微小目标跟踪检测算法的指标性能不能满足现实战场需求的问题,本文提出一种面向嵌入式的高实时微小目标跟踪检测方法。将卷积神经网络进行轻量化改进,对模型进行剪枝优化,并深度融合相关滤波跟踪算法,以提高基于嵌入式平台的微小目标检测速度和精度。实验结果表明,该方法在Nvidia Jetson AGX Xavier 嵌入式平台的微小目标跟踪检测中,检测精度和检测速度都优于目前主流目标检测算法。