Print

发布时间: 2020-05-16
摘要点击次数:
全文下载次数:
DOI: 10.11834/jig.190303
2020 | Volume 25 | Number 5




    图像理解和计算机视觉    




  <<上一篇 




  下一篇>> 





高效检测复杂场景的快速金字塔网络SPNet
expand article info 李鑫泽, 张轩雄, 陈胜
上海理工大学光电信息与计算机工程学院, 上海 200093

摘要

目的 针对现今主流one-stage网络框架在检测高帧率视频中的复杂目标场景时,无法兼顾检测精度和检测效率的问题,本文改进one-stage网络架构,并使用光流跟踪特征图,提出一种高效检测复杂场景的快速金字塔网络(snap pyramid network,SPNet)。方法 调查特征提取网络以及金字塔网络内部,实现特征矩阵及卷积结构完全可视化,找到one-stage网络模型有效提升检测小目标以及密集目标的关键因素;构建复杂场景检测网络SPNet,由骨干网络(MainNet)内置子网络跟踪器(TrackNet)。在MainNet部分,设计特征权重控制(feature weight control,FWC)模块,改进基本单元(basic block),并设计MainNet的核心网络(BackBone)与特征金字塔网络(feature pyramid network,FPN)架构结合的多尺度金字塔结构,有效提升视频关键帧中存在的小而密集目标的检测精度和鲁棒性;在TrackNet部分,内置光流跟踪器到BackBone,使用高精度的光流矢量映射BackBone卷积出的特征图,代替传统的特征全卷积网络架构,有效提升检测效率。结果 SPNet能够兼顾小目标、密集目标的检测性能,在目标检测数据集MS COCO(Microsoft common objects in context)和PASCAL VOC上的平均精度为52.8%和75.96%,在MS COCO上的小目标平均精度为13.9%;在目标跟踪数据集VOT(visual object tracking)上的平均精度为42.1%,检测速度提高到5070帧/s。结论 本文快速金字塔结构目标检测框架,重构了one-stage检测网络的结构,利用光流充分复用卷积特征信息,侧重于复杂场景的检测能力与视频流的检测效率,实现了精度与速度的良好平衡。

关键词

计算机视觉; 深度学习; 复杂目标检测; one-stage网络; 光流法

Snap pyramid network: real-time complex scene detecting system
expand article info Li Xinze, Zhang Xuanxiong, Chen Sheng
School of Optical Electrical and Computer Engineering, University of Shanghai for Science and Technology, Shanghai 200093, China
Supported by: National Natural Science Foundation of China (81101116)

Abstract

Objective With the great breakthrough of deep convolutional neural networks (CNNs), tremendous state-of-the-art networks have been created to significantly improve image classification and utilize modern CNN-based object detectors. Image classification and detection research has matured and entered the industrial stage. However, detecting objects in complex samples and high frame rate videos remains a challenging task in the field of computer vision, especially considering that samples and videos are filled with huge numbers of small and dense instances in each frame. The issues of state-of-the-art networks do not make a tradeoff between accuracy and efficiency for detecting small dense targets as the priority consideration. Thus, in this study, we propose a deep hybrid network, namely, snap pyramid network (SPNet). Method Our model is incorporated with dense optical flow technique in the enhanced one-stage architecture. First, the complete inner visualization of feature-extract net and pyramid net is built to mine out the critical factors of small dense objects. Through this method, the contextual information is found to be a significant key and should thus be fully utilized in the feature extraction. Moreover, sharing the context in multiple convolutional templates of the network is essential for the high semantic information from the deep templates, which help the shallow templates precisely predict the target location. Accordingly, our proposed hybrid net called SPNet is presented. It is composed of two parts, namely, MainNet and TrackNet. For the MainNet, the inception and feature weight control (FWC) modules are designed to modify the conventional network architecture. The whole MainNet consists of the BackBone network (the core of MainNet, which can efficiently extract feature information) and the feature pyramid network (FPN) network to predict classification and candidate box position. Inception greatly reduces the parameter quantity. FWC can raise the weight of essential features that help detect prospective targets while suppressing the features of non-target and other disturbances. To further accelerate the training speed, swish activation and group normalization are also employed to enhance SPNet. The training speed and validation accuracy of MainNet is better than YOLO (you only look once) and SSD (single shot multibox detector). As a result, the performance and robustness for small dense object detection can be substantially improved in key frames of the video. For the TrackNet, dense optical flow field technique is applied in the adjacent frame to obtain the FlowMap. Next, to substantially improve the detection efficiency, FlowMap is mapped with the FeatureMap through a pyramid structure instead of the traditional fully convolutional net. This method markedly shortens the time because optical flow calculation on GPU(graphics processing unit) is much faster than the feature extraction of convolutional network. Then, in the adjacent frame, only FPN, a light-type network, needs to be calculated. Result The model is trained and validated thoroughly by MS COCO(Microsoft common objects in context). Trained results demonstrate that the proposed SPNet can make a tradeoff between accuracy and efficiency for detecting small dense objects in a video stream, obtaining 52.8% accuracy on MS COCO, 75.96% on PASCAL VOC, and speeding up to 70 frame/s. Conclusion Experimental results show that SPNet can effectively detect small and tough targets with complexity. Multiplexing optical flow technology also greatly improves the detection efficiency and obtains good detection results. The investigation shows that improving the network performance is crucial to the research on the internal structure of the network and the exploration of its internal process. The performance is remarkably improved by the complete visualization of the network structure and the overall optimization of the network architecture.

Key words

computer vision; deep learning; complex target detection; one-stage network; optical flow

0 引言

图像与视频的目标检测网络是当今的热门课题,近年来获得了快速发展。现实生活中,视频及录像中许多帧的场景较为复杂,充满了微小目标与密集目标,如大面积的人群、高密度的羊群等,以稀疏、单一的大目标为主的场景则不多见,这对目标检测技术的检测能力及鲁棒性提出了很高要求。同时,现今高帧率的视频流在各领域随处可见,BiliBili网站视频流的帧率为60帧/s、足球赛事的鹰眼系统和F1赛事高速摄像达到60~120帧/s,体现了数字时代的巨大进步。对复杂视频实现又好又快的检测具有重要意义,应针对性地提出解决方案及对应的目标检测网络框架。

传统方案由于采用一些特定特征的提取,对繁杂多变的视频检测面临瓶颈。深度神经网络(Sharma和Singh,2017)异军突起,深度卷积目标检测网络不断改良与突破,鲁棒性很强,能够更好地对样本完成深度特征提取、类别预测与空间定位。

深度目标检测网络虽然已经显著地改善了检测精度或检测速度,但是如何有效检测小而密集的复杂目标及高帧率的实时视频流仍然是具有挑战性的研究工作。首先,精度较高的网络往往检测速度不能达到预期,而检测速度较高的网络则在精度上做出相当的妥协。其次,针对高帧率(视频帧率>检测速度)视频的检测主要采用跳帧,即固定抽取帧进行检测,这是YOLO(you only look once)(Redmon等,2016)等网络普遍使用的实时检测方法。对于超过60帧甚至达到120帧且可能场景变化大而频繁的视频,产生的误差与延迟往往不可接受。虽然可以通过纯粹地堆积硬件性能来提高检测效率,但成本的提高将限制应用前景。针对综合性的大量存在小目标、密集目标,且场景变化大、帧率超高等较多困难情况的视频检测,目前还缺乏一种比较良好的、平衡的解法。

本文提出快速金字塔网络(snap pyramid network,SPNet),综合考虑目标视频的特点,具有针对小而密集目标的强检测能力和高帧率实时检测能力,有效改善了one-stage网络检测微小目标和密集目标的性能,具有60帧/s以上的视频流检测速度,与其他one-stage网络相比,更加适合检测复杂样本的高帧率视频。

为实现复杂目标的检测,首先深入探索网络内部,实现完全可视化,寻找深度网络框架,检测小目标与密集目标的关键因素,准确弥补one-stage网络检测精度的不足;其次,提出SPNet,重新设计网络架构,引入一系列新技术,并内置TrackNet子网络,利用精确的光流运动矢量来跟踪并映射特征图,在检测精度维持在较高水平的情况下,显著提高检测速度。

1 相关工作

深度目标检测网络的设计主要基于two-stage和one-stage两种基本架构。其中,faster R-CNN(region-based convolutional neural networks) (Ren等,2015)和refineDet(Zhang等,2018)架构属于two-stage架构,YOLOv3 (Redmon等,2016)、SSD(single shot multibox detector)(Liu等,2016)、基于SSD的改进版DSSD(deconvolution SSD)(Li等,2017)与retinaNet(Lin等,2018)等为one-stage架构。two-stage生成的候选框(anchor box)会映射到特征图区域,再将该区域输入到全连接层进行分类和回归,每个候选框映射的区域都进行同样的分类与回归,相当耗时。如refineDet算法借鉴faster R-CNN的区域生成网络(region proposal network, RPN)思想对SSD进行改进,是two-stage重型网络的集大成者,实时性较差,但在PASCAL VOC、MS COCO(Microsoft common objects in context)数据集上均有55%以上的检测精度。one-stage网络结构同时回归候选框的定位与目标的置信度,它的候选框是一个逻辑结构,取代了RPN,形成完整的点对点框架。如SSD算法在样本上高密度地重复采集候选框的定位、尺度以及比例信息,运算效率很高,使得检测速度成为one-stage网络的最大优势,但在MS COCO数据集上的精度一般低于55%,表现为候选框定位不准确、对复杂样本检出能力较弱。

上述目标检测网络对视频流的检测方案都是逐帧检测,将单帧作为输入,输出卷积结果,因为框架设计之初,优先考虑的是目标检测数据集PASCAL VOC和MS COCO的样本,并将视频流作为连续单帧的组合进行处理。

本文选取one-stage架构作为基底进行重构,首先one-stage作为新兴网络有待进一步发展,有较大改进空间;其次,虽然相较two-stage可能精度稍低,但计算效率及检测速度显著提高,更适用于实时视频检测。因此,首先克服这种架构固有的小目标和密集目标的检测问题;然后根据上述理论,并充分利用视频本身的信息,设计了针对视频的SPNet实时检测框架。SPNet由轻型骨干网络MainNet与内置的光流追踪网络TrackNet组成,能够在提高小目标及密集目标的检测性能与高帧率检测之间取得良好的平衡。

本文旨在有效检测视频充满小目标和存在大量密集目标的场景,并解决视频帧率较高的难题,通过上下文信息、特征权重控制(feature weight control, FWC)模块和TrackNet等3个改进点改善3个问题,汇总提出完整的网络方案。

1) 上下文信息。在检测充满小目标场景的视频时,网络的深度会将小目标的特征卷积损失殆尽,但足够深的网络才能保证大目标的精度,由此形成了矛盾。本文通过实现残差网络ResNet(He等,2016)与特征金字塔网络(feature pyramid network, FPN)(Lin等,2017)的不同深度卷积层及其特征图的可视化,证明上下文传递的金字塔结构能够有效避免上述矛盾。实现上下文信息在金字塔层内部的充分传递,能够叠加ResNet提取的特征,对不同等级的语义信息予以分级,将深层模板的上下文信息赋给浅层模板,传递的这部分信息往往是待检测目标的周边环境特征信息,使得浅层能够做出更准确的检测。

2) FWC模块。在检测存在大量密集目标场景的视频时,one-stage网络对密集目标往往表现不佳,网络结构需要改良,本文设计特征权重控制(FWC)模块,使网络在前期训练时遵循更好的优化路线,提升密集目标的精度。

3) TrackNet。目前在GTX1080显卡下运行的faster R-CNN和refineDet约5~10帧/s、轻型的YOLO和SSD约30~40帧/s,距60~120帧/s的目标相差甚远。为解决视频帧率较高的问题,在SPNet内置TrackNet光流跟踪器,复用MainNet卷积出来的特征图像金字塔直接进入FPN获取预测框。实验结果表明该方法非常有效,因为邻帧仅需运行FPN框架,几乎不花费任何时间,同时在保证感受野充足的情况下大幅降低光流采样密度,使得每帧光流的计算用时远小于关键帧主网络的计算用时,且通过高精度运动矢量估算方式获取的空间定位也足够准确。利用上述方法,能够在充分保证准确率的前提下,将检测速率提高到50~70帧/s。

SPNet由MainNet与内置的TrackNet组成,MainNet预测关键帧,TrackNet内置于MainNet的核心(BackBone)预测邻帧。MainNet结合了上述3个重要改进点,整体结构由BackBone与FPN构成。得益于本文可以提取网络内部所有的特征数据流动,TrackNet能够以MainNet卷积出的特征图作为输入,以光流跟踪并映射特征图,计算邻帧的卷积特征图。

2 小而密集目标的有效检测

本文实现了网络内部的完全可视化,提取了网络内部传递的特征信息及每一层卷积层的卷积核参数,并利用提取的数据论证网络检测性能的关键因素,通过传递上下文信息、设计结构更好的基本网络单元(basic block)提升小目标检测性能。

2.1 基于上下文信息的小目标检测

给定样本中存在大目标,经过网络的多层卷积后可以提取高度抽象的特征图,输出准确的预测结果;若给定样本中存在的主要是含有较多细粒度信息的小目标,反复卷积与池化会逐层筛掉这些特征,导致在足够深层的特征图中细粒度信息基本不存在。

多尺度架构FPN(Lin等,2017)结构替换了传统的全连接层,通过提取ResNet各层模板的特征,进行清晰的语义等级分割,并使用贯穿层进行特征信息的传递。多尺度网络框架finding tiny faces(Hu和Ramanan,2017)、pyramid box(唐聪等,2018)和pedestrian detection(Park等,2010)均具有出色的检测性能,都充分利用了上下文信息。finding tiny faces(Hu和Ramanan,2017)和pyramid box(唐聪等,2018)为人脸检测神经网络,通过深层次的周边信息(肩膀、上半身特征等)辅助完成人脸的定位及检测;pedestrian detection为行人检测,同样利用深层的周边信息(地面材质特征等)辅助完成行人的定位及检测。上述框架利用上下文信息显著提高了小目标的检测精度。

本文对特征提取残差架构ResNet(He等,2016)以及传递上下文信息的金字塔架构的不同深度的卷积层及卷积出的特征图可视化,证明在深度网络各层内部传递上下文信息的有效性。给定小目标为主的样本:沙滩上的微小人群,近景有两个较大的人作比较。图 1(a)为8倍降采样层特征图,小目标的细粒度特征得到充分保留与表征,大目标的特征也很丰富,但是相比图 1(c)的32倍降采样特征图,缺乏足够高的抽象语义信息,也残留大量非目标细粒度特征,抽象信息匮乏,难以获得足够好的预测结果;图 1(b)为16倍降采样特征图,小目标的表征下降;图 1(c)是最深的卷积层,近景较大的目标特征获得良好表征,但是小目标特征损失殆尽。

图 1 ResNet101特征图可视化
Fig. 1 ResNet101 feature map visualization((a) 8 times down-sample; (b) 16 times down-sample; (c) 32 times down-sample)

图 1可以看出,ResNet的输出结果不理想。使用金字塔结构能够改善此问题,对金字塔网络的3个模板进行可视化,如图 2所示,分别提取第5、90、175通道,在这些可视化通道中,特征图的特征信息在空间位置上与对应的预测类别紧密相关。图 2中,第1行是8倍模板,小目标的表征和语义信息非常清晰,得益于上下文信息的传递,几乎预测出了所有样本中存在的小目标,定位精确,且筛除了大部分干扰信息;第2行是16倍模板,大目标信息逐渐显现;第3行是32倍模板,主要留存的是大目标的高度语义信息。通过上述分割结果可见,检测性能有了显著提升。1)清晰完成了特征信息等级分割,细粒度与粗粒度信息分别分布在对应的尺度上;2)浅层网络层不但具有丰富的细粒度特征,而且在深层网络层更广阔的感受野帮助下,能够利用小目标周围的上下文信息提高小目标的检测精度。

图 2 3个模板对应的类别预测特征图
Fig. 2 Three predict templates of feature map

2.2 密集目标检测

多视窗SSD(唐聪等,2018)认为,以one-stage为基底的检测网络应对密集目标不足的原因是大量小目标集中于一个单元格(grid cell)内,用于标定密集目标的候选框数量不足,而且在非极大抑制(non-maximum suppression,NMS)(Bodla等,2017)的作用下,大部分候选框被筛去,导致检测结果不理想。本文认为:1)感受野密度针对大部分情况下的密集目标是足够的,以608 × 608的one-stage网络为例,3个模板由深到浅分别生成507,2 028,8 112个候选框以及361,1 444,5 776个感受野,共10 647个候选框和7 581个感受野,其中8 112个候选框和5 776个感受野用于定位小目标及密集目标,样本中的目标一般不会产生接近该密度的极端情况,显然集中于一个单元格内并非密集目标检测性能不足的主要原因。2)NMS在目标密集的情况下可能排除部分标定正确的候选框,但NMS不属于网络内部的策略,仅负责对网络输出结果进行处理,训练网络时也不需要NMS。因此本文认为,问题的原因是网络在训练期间的优化策略上可能发生了偏转,最终在较为复杂的密集目标检测中无能为力。

2.2.1 调整训练类别的分布

引入焦点损失(focal loss,FL)(Lin等,2018)函数调整训练类别的分布情况,解决one-stage网络面临的分类不均问题,允许训练者能够在现有样本集下充分训练网络,避免大量易分类负样本影响损失的计算。损失函数具体计算式为

$ FL\left({{p_t}, y} \right) = - \alpha {\left({1 - {p_t}} \right)^\gamma }\log \left({{p_t}} \right) $ (1)

式中,${p_t}$表示目标类别预测概率,$γ$表示焦点参数且$\gamma>0$$\left(1-p_{t}\right)^{\gamma}$为调制系数。显然,如果样本被错误分类或置信度很低,则${p_t}$很小,$\left(1-p_{t}\right)^{\gamma}$趋于1,损失与传统的交叉熵(cross entropy,CE)函数的损失基本相同,对网络优化将提供关键的权重;如果样本分类正确也易分类,则调制系数归0,损失趋于0,对网络优化将降低权重影响。若$\gamma=0$,则$FL$的值即为CE的值,随着$γ$的增大,调制系数亦会增大。随着调制系数的不断增加,对易分类样本的控制也愈加严格。在SPNet的训练过程中,选定$\gamma=1$,将易分类的样本限定在相对较低的分布范围。

2.2.2 权重控制模块

本文以易于学习深度特征的方式重构卷积神经网络的架构,检测精度较常规的ResNet提高1%,提高了困难复杂的目标检测性能。

首先,设计基本单元(basic block)作为MainNet的基底,MainNet的BackBone部分将连续堆叠27个基本单元模块,卷积出关键的目标特征信息,抑制非目标信息,提升抗扰动性能。基本单元模块由降维模块、特征提取模块和特征权重控制(FWC)模块3部分构成,如图 3所示。

图 3 SPNet采用的基本单元模块
Fig. 3 Basic blocks used by SPNet

首先,降维模块利用inception(Szegedy等,2016)降维以减少参数计算量,inception已经证明1 × 1卷积核在特征图滑动过程中的计算代价远小于3 × 3卷积核,1 × 1卷积层沿着通道维度,同一位置相邻不同通道的值做归一化,既能跨通道组织信息,提高网络的表达能力,又可以对输出进行降维,在不损失模型特征表示能力的前提下,减少卷积核的数量,达到降低模型复杂度的目的。因此,本文的基本单元均在3 × 3卷积核之前增加1 × 1降维卷积模块,1 × 1降维卷积的参数设定如下:

定义特征图的输入通道数(channels_in,CI)和输出通道数(channels_out,CO),若CI为64、128、256、512、1 024,则CO相应为32、64、128、256、512。

由于是1 × 1滑动卷积,降维卷积模块不会修改特征图尺度,而是在所有通道同一位置进行归一化处理。以输入256个通道特征图为例,使用128个1 × 1卷积核卷积,输出128个通道特征图,3 × 3卷积核需要卷积的通道数减少1/2,参数量获得有效抑制。经测算,以基本单元的特征数据输入时,平均浮点运算次数(float operations,FLOPS)为360 M,1 × 1卷积核降维后平均FLOPS为304 M,减少了15.5%,降维卷积的引入使本文设计的基本单元更深也更稀疏。

其次,增设权重特征控制(FWC)模块(Hu等,2018),对该网络骨干架构的所有滤波通道进行加权,建立滤波通道之间的权重关系,显著提升网络的特征表达能力,如图 4所示。FWC模块由1个平均池化层、2个全连接层和2个激活函数组成,可以等效为一个完整的加权模块灵活地嵌入网络的各个位置,其中平均池化层的池化核尺寸即输入样本的大小,输入3维通道将被压缩为2维,通过全连接层抛弃大部分参数,输出C个参数,用于为原始的C个W×H通道对应加权,此时这些通道传递的特征权重并非均等,这将增强那些有助于检测前景目标的特征的传递,抑制对检测造成扰动的非前景目标的特征的传递。

图 4 FWC模块对原先均等的通道进行加权
Fig. 4 Weighting for the originally equal channels by FWC module

在基本单元的每个3×3卷积核之后的输出增加1个FWC权重模块,定义特征图的CI、CO和平均池化卷积核尺度(kernel size,KS),则基本单元各层FWC的池化参数如下:若CI为64、128、256、512、1 024,则KS相应为224、112、56、28、14。

两个全连接层的输入输出通道数压缩比为16,故全连接层的输入、输出参数设定如下:

1) FC layer1: CO= CI/16

2) FC layer2: CO= CI×16

综上,MainNet将嵌入27个基本单元模块,即27个FWC模块,这些模块能有效增强目标特征信息的传递。

3 SPNet网络总体框架

3.1 SPNet总体框架

根据上下文信息、改良的基本单元模块和TrackNet等改进点,本文设计了完整的SPNet检测框架。SPNet由MainNet内置的TrackNet组成,SPNet的总体算法流程如图 5所示,在视频流连续帧中,SPNet跨接连续两帧作为输入,关键帧$\boldsymbol{F}_{\tau}$是MainNet的第$τ$帧输入,$\boldsymbol{F}_{\tau}$与邻帧$\boldsymbol{F}_{\tau+1}$生成的光流场作为TrackNet的输入,TrackNet嵌入MainNet的BackBone部分,代替BackBone输入到FPN。

图 5 MainNet和TrackNet算法流程
Fig. 5 Algorithm process of MainNet and TrackNet

TrackNet充分利用了卷积网络内部的特征信息数据,本文在特征图可视化与特征数据提取过程中,解决了特征数据可读性的问题,使得TrackNet能够嵌入到MainNet的BackBone部分,以MainNet卷积出的特征图作为输入,以光流跟踪器映射BackBone的特征图,计算邻帧的卷积特征图。

3.2 MainNet网络结构

MainNet隶属于one-stage框架。

1) 网络结构设计的基本架构为特征提取网络与金字塔网络(FPN)叠加而成。BackBone的6个模块分别有1、2、8、8、4、4共27个基本单元模块。BackBone有59层卷积层,每个基本单元模块均含有1个降维卷积模块与1个FWC模块,在每个卷积层之后都采用Swish(Ramachandran等,2018)激活单元取代ReLU(Glorot等,2011)。BackBone的6个基本单元的计算量分别为4.040 BFLOPS(billion flops)、5.366 BFLOPS、16.468 BFLOPS、16.468 BFLOPS、9.570 BFLOPS和9.570 BFLOPS。FPN充分利用多尺度融合传递上下文信息,有8、16、32、64倍降采样4个层级,其中最深层的64倍降采样层不提取出来做预测,而是作为上下文信息辅助32倍降采样层进行更精准的定位,辅助更浅的模板获取更好的预测结果。

2) 训练损失函数采用focal loss平衡训练样本的分布,使网络走更好的优化路线,优化策略在训练前期采用Adam(Kingma和Ba,2015),训练后期采用随机梯度下降法(stochastic gradient descent,SGD)(Bottou,2012),利用Adam快速收敛特点在前期加速训练,利用SGD收敛稳定而精确的特点在后期进行回归。

3) 每层Swish激活函数之后均设置组归一化(group normalization,GN)(Wu和He,2018),取代批归一化(batch normalization,BN)(Ioffe和Szegedy,2015; Santurkar等,2018),GN是基于通道数量进行分组的归一化函数,避免因显存不足限制batch-size数量导致累积误差上升。

上述方法提升了MainNet的检测性能,MainNet的完整步骤如下:

输入:关键帧

1) 3通道图像进入堆叠的6个基本单元,共27个模块,有效提取目标特征信息,卷积出3个不同深度的原始特征图。

2) 图 5蓝色特征金字塔网络区域卷积3个原始特征图,充分传递上下文信息,卷积出完成等级分割的特征图。

3) 等级分割完毕的特征图输入图 6中的红色输出模块,进行类别和定位预测,输出候选框anchor box。

图 6 关键帧的MainNet框架总体框架
Fig. 6 MainNet brief framework of key frame

输出:候选框(anchor box)

MainNet的总体框架如图 6所示,该网络为点对点架构,输入3通道关键帧,输出候选框的定位、置信度与各类别的预测。若输入608 × 608像素的样本图像,则可以得到76 × 76、38 × 38,19 × 19大小的3个尺度,分别预测不同大小的目标。

3.3 TrackNet跟踪网络

目前,已有研究将光流嵌入深度网络框架,例如Feichtenhofer等人(2017)提出的视频目标检测跟踪(detect to track, D & T)、Held等人(2016)提出的GOTURN以及Zhu等人(2017)提出的视频检测分割(deep feature flow,DFF)等。

D & T算法设计了一种双流结构网络,将两帧的物体特征信息借助光流关联起来,完成物体跟踪。通过较为复杂的结构与统一的联合训练方法,显著提升模糊、遮挡物体的预测精度,但在GTX1080显卡下检测速度仅为17.6帧/s。

GOTURN将上一帧的跟踪结果边界框为中心的2倍大小的区域作为下一帧跟踪器的输入,跟踪速度能达到100帧/s,但该方法在候选框区域内部计算运动矢量来预测候选框,意味着下一帧被预测的候选框的生成并不来自于卷积网络,而是基于图像像素进行直接推算,同时忽略频繁变化的场景,没有利用特征图的特征信息,鲁棒性不佳。

DFF是语义分割网络,仅在稀疏的关键帧上运行计算量极大的卷积子网络,并通过流场将深度特征图传输到其他帧。由于光流场的计算方法相对特征提取较快,算法得到了明显加速。

D & T算法的缓慢主要源自于复杂的网络框架,但充分利用了特征图蕴含的特征信息,证明了光流可以跟踪特征图。DFF虽属于语义分割领域,但与D & T有异曲同工之处。同时,DFF证明了光流的计算量远小于特征提取网络,第2节提取特征图实验也验证了特征图的特征信息和图像的目标定位信息在空间上是紧密对应的,从而证明了光流跟踪特征图的有效性。

3.3.1 TrackNet总体结构

图 7是MainNet内置TrackNet的结构示意图。关键帧的网络由完整的BackBone与FPN组成,邻帧无需架设计算代价高昂的BackBone,而是根据上一帧的BackBone与TrackNet的光流跟踪器映射出邻帧的卷积特征图。图 8为TrackNet的算法流程图,TrackNet将光流跟踪器置于MainNet的BackBone部分,以BackBone的特征图为输入,跟踪器计算出光流图,映射邻帧的特征图,传输到MainNet的FPN,输出邻帧的最终候选框结果,步骤如下:

图 7 MainNet和TrackNet金字塔映射示意图
Fig. 7 MainNet and TrackNet pyramid diagram
图 8 MainNet和TrackNet算法流程图
Fig. 8 MainNet and TrackNet algorithm process

1) 提取MainNet中卷积的3层金字塔特征图,并以200×200的采样密度计算两帧之间的光流,获取特征信息的流动矢量。

2) 将特征图的信息与跟踪器进行映射得到邻帧的特征图,代替最耗时的特征提取部分MainNet,如图 9所示,其中绿色区域是以该点为中心的矩形邻域。

图 9 光流图映射特征图
Fig. 9 Feature map reflected with optical flow map

3) 将邻帧的特征图作为FPN类别预测网络的输入,快速卷积出候选框结果。

因此,TrackNet与GOTURN、DFF有所不同,候选框的定位并非来自于光流的预测,也没有设计复杂的滤波系统。TrackNet让光流跟踪器映射特征图,在200×200的密度下计算关键帧的全局特征信息的流动,计算出邻帧的特征图,作为FPN网络的输入,卷积得到最终的候选框结果。

3.3.2 TrackNet详细算法

在关键帧$\boldsymbol{F}_{\tau}$与邻帧$\boldsymbol{F}_{\tau+1}$之上架设TrackNet,TrackNet是SPNet位于$\boldsymbol{F}_{\tau+1}$的子网络。

首先,在$\boldsymbol{F}_{\tau-1}$$\boldsymbol{F}_{\tau}$之间抽取BackBone的特征图,利用稠密光流法计算金字塔光流矩阵$\boldsymbol{L}$,求取$\boldsymbol{L}$的运动矢量的伪代码如下:

  if    Hr then

  store    ${\bf{L}} \cdot {\bf{at}}\langle i, j\rangle .x$

  store    ${\bf{L}} \cdot {\bf{at}}\langle i, j\rangle .y$

其中,Hr为帧间Harris角点匹配函数,能够快速准确计算帧间近似场景的空间变换。通过Hr可以确定帧间的场景未发生较大变动(例如场景切换),当且仅当帧间的空间变换满足Hr,算法执行下一步。store为数据的读取与存储,$i$$j$是光流矩阵在空间上的定位,$i \in (0, \mathit{\boldsymbol{L}}.{\rm{ }}cols{\rm{ }})$$j \in (0, \mathit{\boldsymbol{L}}.{\rm{ }}rows{\rm{ }})$colsrows分别为矩阵的宽和高,xy分别为(i, j)处垂直与水平方向上的运动标量,ati, j〉为矩阵在(i, j)处的运动矢量(下同)。

关键帧特征图$\boldsymbol{E}$与光流图$\boldsymbol{L}$映射获取目标特征图$\boldsymbol{E}^{*}$(上标*表示该变量是本文算法的计算结果)。在8、16、32倍降采样中,平均每单元特征数据分别对应625、156、40单位光流感受野,因此可以完成精确的匹配及映射。为此,需先求取光流图$\boldsymbol{L}$的3个层级的矩阵$\boldsymbol{L}_{l}(l \in(0, 1, 2))$,首先定义两个矩阵变量$\boldsymbol{L}_{l}$$\boldsymbol{D}$,具体计算为

$ \boldsymbol{I}_{l}=\left\{\begin{array}{ll} {[1, 0, 0]^{\mathrm{T}}} & l=0 \\ {[0, 1, 0]^{\mathrm{T}}} & l=1 \\ {[0, 0, 1]^{\mathrm{T}}} & l=2 \end{array}\right. $ (2)

$ \boldsymbol{L}_{l}=\left[\begin{array}{l} \boldsymbol{\Phi}_{0} \\ \boldsymbol{\Phi}_{1} \\ \boldsymbol{\Phi}_{2} \end{array}\right]^{\mathrm{T}} \cdot \boldsymbol{I}_{l} $ (3)

$ \boldsymbol{D}=\frac{\boldsymbol{F}_{\tau} \cdot w}{\boldsymbol{L} \cdot w} $ (4)

式中,${\mathit{\boldsymbol{I}}_l}$为降维向量;式(3)中,${\mathit{\boldsymbol{ \boldsymbol{\varPhi} }}_l}(l \in (0, 1, 2))$是金字塔光流图$\mathit{\boldsymbol{L}}$的3个通道的矩阵,$l$是BackBone网络内部的3个模板层级,式(3)通过${\mathit{\boldsymbol{I}}_l}$${\mathit{\boldsymbol{ \boldsymbol{\varPhi} }}_0}, {\mathit{\boldsymbol{ \boldsymbol{\varPhi} }}_1}, {\mathit{\boldsymbol{ \boldsymbol{\varPhi} }}_2}$定义为一个金字塔光流矩阵${\mathit{\boldsymbol{L}}_l}$;式(4)中$\mathit{\boldsymbol{D}}$是感受野(field),即特征图与光流的感受野区域,$w$为帧的宽度。根据上述两个变量,${\mathit{\boldsymbol{L}}_l}$运动矢量的计算式为

$ {\mathit{\boldsymbol{L}}_l}(i,j) = \frac{{\sum\limits_{r = i - \mathit{\boldsymbol{D}}.w}^{i + \mathit{\boldsymbol{D}}.w} {\sum\limits_{s = j - \mathit{\boldsymbol{D}}.w}^{j + \mathit{\boldsymbol{D}}.w} \mathit{\boldsymbol{L}} } (r,s)}}{{{{(\mathit{\boldsymbol{D}}.w)}^2}}} $ (5)

式中,$r$$s$为光流矩阵$\mathit{\boldsymbol{L}}$的空间定位,且$r \in (0, \mathit{\boldsymbol{L}}{\rm{. }}cols)$$s \in (0, \mathit{\boldsymbol{L}}{\rm{. }}rows)$$\boldsymbol{D} . w$为感受野的宽度。式(5)计算$\boldsymbol{L}$在空间位置$(r, s)$邻域范围内运动矢量的均值,得到$\boldsymbol{L}_{l}$在空间位置$(i, j)$处的运动矢量。

TrackNet的输入是从MainNet的特征提取网络函数$T$输出的3个模板特征张量$\boldsymbol{\theta}_{0}, \boldsymbol{\theta}_{1}, \boldsymbol{\theta}_{2}$,即

$ \left[\begin{array}{c} \boldsymbol{\theta}_{0} \\ \boldsymbol{\theta}_{1} \\ \boldsymbol{\theta}_{2} \end{array}\right]^{\mathrm{T}}=T\left(\boldsymbol{F}_{\tau}\right) $ (6)

式中,$\boldsymbol{\theta}_{0}, \boldsymbol{\theta}_{1}, \boldsymbol{\theta}_{2}$为8、16、32倍降采样特征矩阵,分别有256、512、1 024个通道,$\boldsymbol{F}_{\tau}$仍为视频流的第$τ$个关键帧。

矩阵$\boldsymbol{E}_{l}(l \in(0, 1, 2))$与矩阵$\boldsymbol{L}$的映射方式如图 9所示,代入特征矩阵传播函数$P$,计算方法的伪代码为

input $\boldsymbol{E}_{l}$

if   $\boldsymbol{L} \cdot \boldsymbol{a t}\langle i, j\rangle \neq 0$ then

   ($\Delta x = \left[ {\left. {{{\bf{L}}_l} \cdot {\bf{at}}\langle i, j\rangle .x} \right)} \right], \Delta y = \left[ {{{\bf{L}}_l} \cdot {\bf{at}}\langle i, j\rangle .y} \right]$)

   $\boldsymbol{E}_{l}^{*} \cdot \boldsymbol{a t}\langle i+\Delta x, j+\Delta y\rangle=\boldsymbol{E}_{l}(i, j)$

   ${\boldsymbol{E}}_l^* \cdot {\boldsymbol{at}}\langle i, j\rangle = \sum\limits_{r = i - 2}^{i + 2} {\sum\limits_{s = j - 2}^{j + 2} {\boldsymbol{E}} } (r, s)$

if   $\boldsymbol{L} \cdot \boldsymbol{a t}\langle i, j\rangle \neq 0$ then

   $\boldsymbol{E}_{l}^{*} \cdot \boldsymbol{a t}\langle i, j\rangle=\boldsymbol{E}_{l}(i, j)$

output $\boldsymbol{E}_{l}^{*}$

其中,$i$$j$为矩阵$\boldsymbol{E}_{l}$的空间定位,$r$$s$为矩阵$\boldsymbol{E}$的空间定位,$\boldsymbol{a t}\langle i, j\rangle$为矩阵$\boldsymbol{E}_{l}$$\boldsymbol{E}_{l}^{*}$$(i, j)$处的运动矢量,$\Delta x$$\Delta y$是运动矢量在垂直与水平的分量上分别通过高斯取整函数得到的值。

最后,$\boldsymbol{E}_{l}$代入传播函数$P$,得到目标特征图$\boldsymbol{E}_{l}^{*}$,输入金字塔网络,得到目标卷积输出矩阵$\boldsymbol{M}_{l}^{*}$

因此,TrackNet的总体算法为:

输入:关键帧${\mathit{\boldsymbol{F}}_\tau }$,邻帧${\mathit{\boldsymbol{F}}_{\tau + 1}}$

1) 输入${\mathit{\boldsymbol{F}}_\tau }$${\mathit{\boldsymbol{F}}_{\tau + 1}}$,计算$Hr$,若满足,以200×200采样密度计算光流,得到金字塔光流图$\boldsymbol{L}$

2) 从SPNet骨干网络的特征提取网络$T$提取关键帧卷积特征图$\boldsymbol{E}_{l}$,即

$ {\left[ {\begin{array}{*{20}{c}} {{\mathit{\boldsymbol{\theta }}_0}}\\ {{\mathit{\boldsymbol{\theta }}_1}}\\ {{\mathit{\boldsymbol{\theta }}_2}} \end{array}} \right]^{\rm{T}}} = T\left({{\mathit{\boldsymbol{F}}_\tau }} \right) $

3) $\boldsymbol{E}_{l}$代入传播函数$P$,以光流图$\mathit{\boldsymbol{L}}$映射$\boldsymbol{E}_{l}$得到目标特征图$\boldsymbol{E}_{l}^{*}$,即$\mathit{\boldsymbol{E}}_l^* = P\left( {{\mathit{\boldsymbol{E}}_l}} \right)$

4) 目标特征图$\boldsymbol{E}_{l}^{*}$代替特征网络卷积结果输入FPN金字塔结构网络$PN$,得到目标卷积矩阵$\boldsymbol{M}_{l}^{*}$,即

$ \left[\begin{array}{c} \boldsymbol{M}_{0}^{*} \\ \boldsymbol{M}_{1}^{*} \\ \boldsymbol{M}_{2}^{*} \end{array}\right]^{\mathrm{T}}=P N\left(\left[\begin{array}{c} \boldsymbol{\theta}_{0}^{*} \\ \boldsymbol{\theta}_{1}^{*} \\ \boldsymbol{\theta}_{2}^{*} \end{array}\right]^{\mathrm{T}}\right) $

输出:邻帧$\boldsymbol{F}_{\tau+1}$的目标卷积结果$\boldsymbol{M}_{l}^{*}$

以连续两帧的检测为例,对SPNet各阶段的耗时进行计算,结果如表 1所示。可以看出,在卷积特征提取阶段,即表中BackBone,是整个one-stage网络计算代价最高昂的部分,对每张样本均需在59层卷积层中层层卷积,平均消耗时间达到6.98 ms,计算量为61 BFLOPS,但在FPN和光流场计算阶段,时间消耗平均为1.994 8 ms和1.349 1ms,计算量为18.86 BFLOPS和4.26 BFLOPS,BackBone的耗时约为FPN和Optical Flow的3.5和5.17倍。显然,本文在BackBone内置TrackNet的方法可以有效节约检测视频的时间。

表 1 检测网络各阶段平均耗时
Table 1 Average consumption time of each stage

下载CSV
阶段 平均消耗时间
/ms
参数
/BFLOPS
分辨率
/像素
BackBone 6.981 1 61.48 416 × 416
FPN 1.994 8 18.86 416 × 416
光流(on GPU) 1.033 4 4.26 200 × 200
光流(on CPU) 1.349 1 4.26 200 × 200

TrackNet的光流追踪器的采样计算及MainNet和TrackNet的检测结果如图 10所示,可以看出,本文的采样方式涵盖了所有产生运动的区域,MainNet和TrackNet均取得了良好的检测结果。

图 10 MainNet和TrackNet检测结果
Fig. 10 Detection result of MainNet and TrackNet((a) dense flow-estimation matrix; (b) MainNet predict result; (c) TrackNet predict result)

4 实验

SPNet由MainNet及内置的TrackNet构成,对于MainNet的精度检测,本文采用目标检测数据集PASCAL VOC 2007、PASCAL VOC 2012及MS COCO 2014作为实验数据集,其中VOC数据集包括20个类别,以大目标为主,COCO数据集包含64个类别,具有更多的微小密集目标的样本,两种数据集均有完整的训练集与测试集。训练以及测试期间,输入样本的尺度为416 × 416像素与448 × 448像素,训练不同结构的网络模型,判断各模块的嵌入带来的性能变化。此外,在视频跟踪数据集VOT(visual object tracking)以及其他复杂场景的高帧率视频流中对SPNet进行测试,分别在使用以及未使用TrackNet的情况下,严格限定硬件性能为单幅民用级GPU(graphics processing unit),通过120帧/s的高帧率视频流对本文网络模型及其他主流网络的检测效率进行对比。测试结果表明,SPNet的MainNet部分在面对复杂样本时有较好的性能,TrackNet部分检测视频流时有显著的效率提升。

4.1 若干网络结构性能分析

实验在PASCAL VOC 2012和MS COCO 2014数据集上进行,引入Swish激活函数和组归一化函数对不同结构的SPNet的MainNet部分重复3次训练及测试,取平均值作为实验结果,如表 2表 3所示。模型1是本文改进的Swish + GN版本网络,模型2是传统的LReLU(He等,2015) + BN版本网络,两种模型均嵌入权重控制模块(FWC)。训练时,模型2的批数量(batch-size)参数选择8,属于目前主流训练方案中的偏小取值,一般选择16~32,批数量参数较小对使用BN的模型2有一定影响,因为BN是基于batch-size的批归一化函数,较小的值会导致训练误差逐渐累积,劣化网络最终的训练结果。其他训练参数均为默认。

表 2 模型1和模型2在PASCAL VOC 2012数据集上性能对比
Table 2 Comparison of performance between model 1 and model 2 on PASCAL VOC 2012 dataset

下载CSV
训练次数 模型1 模型2
Top-1准确率/% IoU/% Top-1准确率/% IoU/%
3 000 62.39 51.10 50.32 42.61
9 600 74.79 53.04 68.89 51.08
11 600 75.32 53.35 71.22 55.01
13 700 75.68 54.71 72.37 54.20
15 800 75.96 56.95 72.60 55.73

表 3 模型1和模型2在MS COCO 2014数据集上性能对比
Table 3 Comparison of performance between model 1 and model 2 on MS COCO 2014 dataset

下载CSV
训练次数 模型1 模型2
Top-1准确率/% IoU/% Top-1准确率/% IoU/%
9 600 33.70 51.08 31.50 49.51
16 200 38.01 52.04 36.50 46.17
26 800 43.20 51.40 41.05 51.96
28 100 43.84 56.36 41.73 53.28
34 900 46.34 57.83 42.81 53.96
46 300 47.84 58.54 43.74 54.75

在完成3 000、9 600、11 600、13 700、15 800次训练时,使用测试集计算检测精度,即Top-1准确率和交并比(intersection over union,IoU)等参数。从表 2表 3可以看出,在迭代次数相同的情况下,在PASCAL VOC 2012和MS COCO 2014数据集上,本文模型1都拥有更快的训练收敛速度、更高的召回率和更好的检测精度。在PASCAL VOC 2012数据集上,训练在15 800次迭代时,模型1的平均召回率和Top-1准确率分别增加1.22%和3.36%;在MS COCO 2014数据集上,训练在46 300次迭代时,模型1的平均召回率和平均Top-1准确率分别增加3.79%和4.1%,说明SPNet使用激活函数Swish和组归一化函数GN能够更快更好地完成训练。

权重模块(FWC)对性能的影响如表 4所示,模型1引入了FWC,模型2没有引入。由于MS COCO 2014数据集的样本检测类别比PASCAL VOC 2012数据集的样本更多,检测目标更小更密集,因此选用前者对两种模型测试,测试重复3次并取均值,两种模型均使用相同的激活函数和归一化函数,采用相同的训练参数。在训练完成10 000、15 000、25 000、30 000、40 000、45 000迭代时,在MS COCO 2014数据集上测试校验精度,指标参数为Top-1准确率和IoU。从表 4可以看出,在同等迭代次数下,使用FWC的模型1有更快的训练收敛速度和更高的检测精度,训练在45 000次迭代时,模型1的平均Top-1准确率和平均IoU分别比模型2增加1.01%和3.64%,充分证明FWC模块增强特征的传递方式,使SPNet在较为复杂的MS COCO 2014数据集上的检测精度有显著提升。

表 4 FWC网络在MS COCO 2014数据集上性能对比
Table 4 Comparison of performance of FWC net on MS COCO 2014 dataset

下载CSV
训练次数 模型1 模型2
Top-1准确率/% IoU/% Top-1准确率/% IoU/%
10 000 34.11 51.01 32.89 51.32
15 000 38.45 53.12 37.91 51.61
25 000 44.73 54.27 43.37 52.30
30 000 45.99 56.04 44.16 55.29
35 000 47.93 58.47 45.74 56.19
45 000 49.28 59.84 46.27 56.20

4.2 TrackNet性能分析

为验证SPNet在性能受限情况下的工作状况,在常规配置下进行实验,CPU为Intel(R) i7 8700 @4.3 GHz,GPU为NVIDIA GTX1080 8 GB,内存为32 GB DDR4 2 666 MHz,系统采用Ubuntu 16.04。目前主流one-stage网络及本文SPNet在使用和不使用TrackNet情况下,随视频流输入尺度的检测速率如图 11所示,红线为视频流的帧率,在使用TrackNet情况下,SPNet明显具有更高的检测速度,在不使用TrackNet的情况下,SPNet的检测速度仍然高于SSD和retinaNet等one-stage网络。

图 11 不同尺度下one-stage网络的检测帧率比较
Fig. 11 Comparison of detecting speed among different networks

若给定检测网络必须为点对点的框架,则不使用TrackNet,仅使用SPNet的MainNet部分进行视频流的检测。由于SPNet具有比YOLO更复杂的网络结构和更深的卷积层,以448 × 448像素作为输入尺度为例,MainNet、YOLO和SSD的平均检测速率分别为34帧/s、37帧/s和26帧/s,即MainNet部分的检测效率比YOLO略低,但高于SSD等网络。

在使用TrackNet的情况下,SPNet会选中Harris匹配成功时选中的帧,在GPU上使用光流计算代替MainNet计算量较大的特征全卷积网络,显著提升检测效率。在500×500像素以下的输入尺度,特征卷积主网络的消耗时间小于0.05 s,TrackNet消耗时间小于0.02 s,总体检测速度维持在65~80帧/s左右;当输入尺度大于500×500像素,虽然检测精度略有提升,但主网络的消耗时间显著增加,每增加更多的像素都会带来更高昂的计算代价,检测速度也迅速降到60帧/s以下。因此,为平衡精度与帧率,网络输入尺度416 × 416像素、448 × 448像素是性价比最理想的选择。一些主流one-stage网络与本文SPNet在默认的最佳尺度下的检测速度对比如表 5所示,可以看出,SPNet448得益于采用完整的追踪网络TrackNet,充分复用了卷积特征图与稠密光流复合的结构,网络的检测速度获得了显著提升。表 6是一些主流视频跟踪网络与本文TrackNet在目标跟踪数据集VOT上的性能对比,可以看出,由于TrackNet内置于one-stage网络,且总体结构简单有效,跟踪速率具有显著优势,达到69.51帧/s,比D & T和SiamFC分别高66.41帧/s和15.81帧/s,比GOTURN低17.19帧/s。但跟踪精度与其他网络相比略有不及,精度和期望平均重合率(expected average overlap,EAO)均比跟踪网络框架T-RCN(tracking based on region convolution neural network)(吴进等,2018)、SumShift(Li等,2016)与SiamFC(Bertinetto等,2016)等算法低,主要是因为SPNet框架并非专门的跟踪网络,TrackNet的主要目标是利用D & T和DFF算法的跟踪思想,使用稠密光流跟踪特征图代替全卷积网络,有效降低计算代价,加强one-stage网络对视频流的检测能力。

表 5 检测速率对比
Table 5 Comparison of detecting speed

下载CSV
one-stage网络 检测速率/(帧/s) 输入尺度/像素
retinaNet500 16.51 500 × 500
SSD321 19.20 321 × 321
DSSD321 14.57 321 × 321
DSSD513 9.23 513 × 513
YOLOv3-608 22.42 608 × 608
YOLOv3-416 37.30 416 × 416
SPNet-448(不使用TrackNet) 35.04 448 × 448
SPNet-448(使用TrackNet) 69.51 448 × 448
注:加粗字体表示最优结果。

表 6 在VOT数据集上视频检测网络的性能对比
Table 6 Comparison of performance of video detection networks on VOT dataset

下载CSV
检测网络 跟踪速率/(帧/s) 精度 EAO
D & T(Santurkar等,2018) 3.1 - -
GOTURN(Held等,2016) 86.7 - -
T-RCN(吴进等,2018) 43.7 47.8 0.276
SumShift(Li等,2016) 12.3 48.9 0.223
SiamFC(Bertinetto等,2016) 53.7 52.4 0.274
SPNet-448(使用TrackNet) 69.5 42.1 0.210
注:加粗字体表示最优结果, “-”为缺省值。

总体而言,TrackNet内置到one-stage网络中,以跟踪特征图的方式显著加强了one-stage网络对视频检测的适应性。

4.3 MainNet数据集检测性能

表 7是在MS COCO测试集上,一些主流的性能优秀的two-stage和one-stage算法在不同标准下的检测精度,包括mAP(mean average precision)> 0.5和mAP > 0.75两种情况及小目标与大目标的mAP。本文采用SPNet的主网络MainNet进行测试。可以看出,SPNet在one-stage网络中拥有比SSD、YOLOv2更好的检测精度,mAP大于0.5和大于0.75的情况达到52.8%和34.7%,比SSD分别提高了2.4%和1.4%,与mAP精度最佳的one-stage网络DSSD相比,两种情况都低了0.5%,虽然比retinaNet与DSSD检测精度稍低,但检测速度明显更快,retinaNet500和DSSD513分别为16.5帧/s和9帧/s,而SPNet在不使用TrackNet情况下为35帧/s,接近YOLOv3。此外,本文的SPNet对小目标的mAP精度良好,达到了13.9%,比DSSD高0.9%,比retinaNet低0.8%。鉴于本文网络相当侧重于集中了小而密集的复杂视频流场景的检测,实验得到的精度与速率的平衡符合本文预期。SPNet针对图像(主要来自MS COCO 2014数据集)与视频(以截图形式展现)的检测结果如图 12图 13所示,可以看出,检测密集目标和微小目标的效果很好。虽然对一些大目标的定位不够准确,出现了类别预测错误的情况,但在密集微小目标的场景与复杂场景视频流的检测上取得了显著进步。

表 7 在MS COCO 2014数据集上的检测精度对比
Table 7 Comparison of performance on MS COCO 2014 dataset

下载CSV
one-stage和two-stage网络 mAP>0.5情况/% mAP>0.75情况/% 尺度/像素 小目标mAP/% 大目标mAP/%
Faster R-CNN(Incept-Res-V2) 55.5 36.7 1 000 × 600 13.5 52
RefineDet320(ResNet-101) 51.4 34.2 320 × 320 10.5 50.4
RefineDet512(ResNet-101) 57.5 35.5 512 × 512 16.6 51.4
SSD513 50.4 33.3 513 × 513 9 41.9
DSSD513 53.3 35.2 513 × 513 13 51.1
retinaNet500 53.1 42.3 500 × 500 14.7 49.1
YOLOV2-416 44 19.2 416 × 416 5 35.5
SPNet416(MainNet) 51.9 34.2 416 × 416 13.4 47.8
SPNet448(MainNet) 52.8 34.7 448 × 448 13.9 48.1
注:加粗字体表示最优结果。
图 12 SPNet对图像的检测结果
Fig. 12 Detect results of images by SPNet
图 13 SPNet对视频的检测结果
Fig. 13 Detect results of videos by SPNet

5 结论

本文针对现阶段检测存在大量复杂场景的高帧率视频,增强了one-stage网络的上下文传递能力,改良了该型网络的基本单元,设计了TrackNet,并提出了一个平衡的网络框架快速金字塔网络SPNet。实验结果表明,SPNet的MainNet部分能够有效检测出微小及复杂目标,TrackNet置于MainNet的核心网络BackBone,以光流跟踪器映射卷积特征图代替全卷积网络,显著提升了检测效率。研究显示,深入研究网络内部结构,探索内部原因是提升网络性能的关键。通过对网络结构的完全可视化,引入或设计若干升级模块,全面优化网络架构,从中获取了显著的性能提升。

若进一步提升SPNet的MainNet的网络性能和TrackNet的利用效率,可从两方面开展研究。1)继续从网络结构入手,考虑采用DenseNet结构。更多参数可以直接由浅层传递到深层,使得训练速度更快,亦更能对抗因网络过深带来的问题。2)可以考虑动态地设计光流采样密度与区域,例如在目标区域设置更高的采样密度,在非目标区域降低采样密度,或仅使用稀疏光流法,有效降低TrackNet的检测时间。

参考文献

  • Bertinetto L, Valmadre J, Golodetz S, Miksik O and Torr P H S. 2016. Staple: complementary learners for real-time tracking//Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR2016). Las Vegas, NV, USA: IEEE: 1401-1409[DOI: 10.1109/CVPR.2016.156]
  • Bodla N, Singh B, Chellappa R and Davis L S. 2017. Soft-NMS-Improving object detection with one line of code//Proceedings of 2017 International Conference on Computer Vision (ICCV 2017). Venice, Italy: IEEE: 5562-5570[DOI: 10.1109/ICCV.2017.593]
  • Bottou L. 2012. Stochastic gradient descent tricks//Montavon G, Orr G B and Müller K R, eds. Neural Networks: Tricks of the Trade. Berlin, Heidelberg: Springer: 421-436[DOI: 10.1007/978-3-642-35289-8_25]
  • Feichtenhofer C, Pinz A and Zisserman A. 2017. Detect to track and track to detect//Proceedings of 2017 International Conference on Computer Vision (ICCV 2017). Venice, Italy: IEEE: 3057-3065[DOI: 10.1109/ICCV.2017.330]
  • Glorot X, Bordes A and Bengio Y. 2011. Deep sparse rectifier neural networks//Proceedings of the 14th International Conference on Artificial Intelligence and Statistics.[s.l.]: PMLR: 315-323
  • He K M, Zhang X Y, Ren S Q and Sun J. 2015. Delving deep into rectifiers: surpassing human-level performance on ImageNet classification//Proceedings of 2015 International Conference on Computer Vision (ICCV 2015). Santiago, Chile: IEEE: 1026-1034[DOI: 10.1109/ICCV.2015.123]
  • He K M, Zhang X Y, Ren S Q and Sun J. 2016. Deep residual learning for image recognition//Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR 2016). Las Vegas, NV, USA: IEEE: 770-778[DOI: 10.1109/CVPR.2016.90]
  • Held D, Thrun S and Savarese S. 2016. Learning to track at 100 FPS with deep regression networks//Proceedings of 14th European Conference on Computer Vision (ECCV 2016). Amsterdam, Netherlands: ECCV: 749-765[DOI: 10.1007/978-3-319-46448-0_45]
  • Hu J, Shen L and Sun G. 2018. Squeeze-and-excitation networks//Proceedings of the 31st IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Salt Lake City, USA: IEEE: 7132-7141[DOI: 10.1109/CVPR.2018.00745]
  • Hu P Y and Ramanan D. 2017. Finding tiny faces//Proceedings of 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR 2017). Honolulu, Hawaii, USA: IEEE: 1522-1530[DOI: 10.1109/CVPR.2017.166]
  • Ioffe S and Szegedy C. 2015. Batch normalization: accelerating deep network training by reducing internal covariate shift//Proceedings of the 32nd International Conference on Machine Learning (ICML 2015). Lille, France: JMLR: 448-456
  • Kingma D P and Ba J. 2015. Adam: a method for stochastic optimization[EB/OL].[2019-06-18].https://arxiv.org/pdf/1412.698009.pdf
  • Li A N, Lin M, Wu Y, Yang M H, Yan S C. 2016. NUS-PRO:a new visual tracking challenge. IEEE Transactions on Pattern Analysis and Machine Intelligence, 38(2): 335-349 [DOI:10.1109/TPAMI.2015.2417577]
  • Li D J, Li J, Nie B L and Sun S Q. 2017. Deconvolution single shot multibox detector for supermarket commodity detection and classification//Proceedings of SPIE 10420, Ninth International Conference on Digital Image Processing (ICDIP 2017). Hong Kong, China: SPIE: 10420[DOI: 10.1117/12.2281740]
  • Lin T Y, Dollár P, Girshick R, He K M, Hariharan B and Belongie S. 2017. Feature pyramid networks for object detection//Proceedings of 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR 2017). Honolulu, Hawaii, USA: IEEE: 936-944[DOI: 10.1109/CVPR.2017.106]
  • Lin T Y, Goyal P, Girshick R, He K M, Dollar P. 2018. Focal loss for dense object detection. IEEE Transactions on Pattern Analysis and Machine Intelligence, 42(2): 318-327 [DOI:10.1109/TPAMI.2018.2858826]
  • Liu W, Anguelov D, Erhan D, Szegedy C, Reed S, Fu C Y and Berg A C. 2016. SSD: single shot multibox detector//Proceedings of the 14th European Conference on Computer Vision (ECCV). Amsterdam, Netherlands: Springer: 21-37[DOI: 10.1007/978-3-319-46448-0_2]
  • Park D, Ramanan D and Fowlkes C. 2010. Multiresolution models for object detection//Proceedings of the 11th European Conference on Computer Vision (ECCV). Heraklion, Greece: Springer: 241-254[DOI: 10.1007/978-3-642-15561-1_18]
  • Ramachandran P, Zoph B and Le Q V. 2018. Searching for activation functions[EB/OL].[2019-06-18]. https://arxiv.org/pdf/1710.05941v2.pdf
  • Redmon J, Divvala S, Girshick R and Farhadi A. 2016. You only look once: unified, real-time object detection//Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR 2016). Las Vegas, NV, USA: IEEE: 779-788[DOI: 10.1109/CVPR.2016.91]
  • Ren S Q, He K M, Girshick R, Sun J. 2015. Faster R-CNN:towards real-time object detection with region proposal networks. IEEE Transactions on Pattern Analysis and Machine Intelligence, 39(6): 1137-1149 [DOI:10.1109/TPAMI.2016.2577031]
  • Santurkar S, Tsipras D, Ilyas A and Madry A. 2018. How does batch normalization help optimization?//Proceedings of the 32nd International Conference on Neural Information Processing Systems (NIPS 2018). Montreal, Canada: IEEE: 2488-2498
  • Sharma P and Singh A. 2017. Era of deep neural networks: a review//Proceedings of the 8th International Conference on Computing, Communication and Networking Technologies (ICCNT 2017). Delhi, India: IEEE: 1-5[DOI: 10.1109/ICCCNT.2017.8203938]
  • Szegedy C, Ioffe S and Vanhoucke V. 2016. Inception-V4, Inception-ResNet and the impact of residual connections on learning//Proceedings of the 31st AAAI Conference on Artificial Intelligence (AAAI). Phoenix, Arizona, USA: AAAI: 4278-4284
  • Tang C, Ling Y S, Zheng K D, Yang X, Zheng C, Yang H, Jin W. 2018. Object detection method of multi-view SSD based on deep learning. Infrared and Laser Engineering, 47(1): 0126003 (唐聪, 凌永顺, 郑科栋, 杨星, 郑超, 杨华, 金伟. 2018. 基于深度学习的多视窗SSD目标检测方法. 红外与激光工程, 47(1): #0126003) [DOI:10.3788/IRLA201847.0126003]
  • Tang X, Du D K, He Z Q and Liu J T. 2018. PyramidBox: a context-assisted single shot face detector//Proceedings of 2018 European Conference on Computer Vision (ECCV). Munich, Germany: Springer: 812-828
  • Wu J, Dong G H, Li Q S. 2018. Object tracking based on region convolution neural network and optical flow method. Telecommunication Engineering, 58(1): 6-12 (吴进, 董国豪, 李乔深. 2018. 基于区域卷积神经网络和光流法的目标跟踪. 电讯技术, 58(1): 6-12) [DOI:10.3969/j.issn.1001-893x.2018.01.002]
  • Wu Y X, He K M. 2018. Group normalization. International Journal of Computer Vision, 128: 742-755 [DOI:10.1007/978-3-030-01261-8_1]
  • Zhang S F, Wen L Y, Bian X, Lei Z and Li S T. 2018. Single-shot refinement neural network for object detection//Proceedings of the 31st IEEE Conference on Computer Vision and Pattern Recognition (CVPR 2018). Salt Lake City, USA: IEEE: 4203-4212[DOI: 10.1109/CVPR.2018.00442]
  • Zhu X Z, Xiong Y W, Dai J F, Yuan L and Wei Y C. 2017. Deep feature flow for video recognition//Proceedings of 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR 2017). Honolulu, Hawaii, USA: IEEE: 41-50[DOI: 10.1109/CVPR.2017.441]