基于卷积神经网络检测的单镜头多目标跟踪算法∗

2018-01-04 01:33闵召阳赵文杰
舰船电子工程 2017年12期
关键词:卷积神经网络样本

闵召阳 赵文杰

1 引言

随着电子、通信和多媒体等技术的发展以及计算机硬件性能的不断提升,计算机视觉所取得的进步越来越明显,因而作为人工智能,模式识别等领域的关键技术,其地位正在变得愈发重要。和单目标跟踪一样,多目标跟踪也是计算机视觉领域一个重要的研究热点,多目标跟踪分为单镜头和多镜头两大类[1],本文主要研究在单镜头条件下的多目标跟踪。数据关联和随机集理论是目前解决多目标跟踪问题的两种主流思想[2~6]。数据关联要求在跟踪的多个采样周期内关联数据,以便为建立目标航迹提供初始信息,而这需要观测数据的融合和测量,然后进行关联以确定航迹的生存周期[7~9]。这种算法的关键技术就是找到测量信息和实际目标信息有效的对应关系,即数据关联,其缺点显而易见,一旦数据关联有误,估计的结果就会产生偏差并且随着视频帧的推进会造成误差积累导致跟踪偏移。随机集理论主要指的是有限集统计(FISST),是信息融合与多目标跟踪领域的关注热点,这种跟踪方法主要是对随机集中的一些实用性较强的定理和公式进行扩展和改进,以求更好的在工程实践中得以应用[10~12]。这类跟踪算法要求的数学基础比较复杂,如拓扑学、泛函数分析、逻辑代数等等。虽然随机集理论在多目标跟踪领域的受关注程度更高,但是依然有一系列的问题需要解决,比如随机集的理论实现,随机集表示的系统不确定性、随机集的信息不确定性等等。

近几年,电脑硬件的水平不断得到提升,尤其是GPU并行计算能力的进步明显,而深度学习的网络结构也在不断优化,使得网络的检测准确率和帧速率等都有显著提高,得益于此,深度学习在计算机视觉领域的应用条件也变得愈发成熟。卷积神经网络作为深度学习的一个分支是应用于计算机视觉的热点,其结构也经历了多次的变化改进,检测速率的提升使得网络模型结构越来越能满足多目标跟踪的实时性需求。

结合目前卷积神经网络的发展现状,本文避开了传统的数据关联和随机集理论,尝试先对SSD模型进行线下训练,然后进行全视频帧检测的方式解决多目标跟踪任务,并取得了不错的跟踪效果。这种方式避免了误差积累造成跟踪框偏移的现象,跟踪的鲁棒性和长时跟踪能力都有较为明显的提升。

2 Fast R-CNN原理结构

Fast R-CNN算法是R-CNN的改进版本,由Ross B.Girshick提出[13]。为了提高检测效率,Fast R-CNN避开了RCNN对目标的位置坐标和响应得分分别进行输出的方式,转而采用将两者一同输出的方法。在原理构造上更加紧凑,目标训练和检测时间较前者有大幅度提高。目标检测的实现大体上分为四步:

1)确定图像中的候选框个数;

2)使用卷积神经网络模型提取候选框中的图像特征;

3)利用分类器判断该特征是否属于某类特定目标;

4)用回归器对该特征所属目标进行跟踪框的微调。

所有训练图像在输入时都会进行归一化处理,归一化的大小为244*244,之后直接送入网络模型,和其它所有卷积神经网络模型一样不需要对输入图像进行预处理。Fast R-CNN模型有很多版本,规模大小各不相同,不同之处主要体现在卷积和降采样的层数设置,图1是Fast-RCNN的其中一个模型结构图。

如图1所示,前几个阶段是conv+ReLUs+pool的方式进行特征提取的,conv代表卷积操作,Re-LUs代表激活函数,pool代表降采样操作,fc代表全连接层,score为检测得分,box为结果坐标。其中ReLUs(Rectified Linear Units)层使用的激活函数公式为

这种公式与sigmoid函数相比运算复杂度有所降低,可以加快网络模型的训练速度,同时避免像sigmoid之类的函数在输入量过大或过小时出现的梯度消失现象[14]。

Fast R-CNN网络结构中,在卷积和降采样之后有一个 RoI(Region of Intrastion)层,即感兴趣区域。这层操作可以将大小各异的输入特征图映射成统一尺度的特征向量,以便统一进行后续操作。特征向量尺寸的计算公式为

其中,a1,a2,b1,b2为 RoI的区域坐标。pool_height和pool_width为池化的输出尺寸。

Fast R-CNN的输出分为两个部分,其中score部分用Softmax方法进行类型识别得到预测概率p=(p0,p1,p2,…,pm),Box部分由窗口回归法得到预测结果tm=(txm,tym,twm,thm),m表示类别属性的编号。假定在m类图片中某一个正样本标注的结果为t'=(tx',ty',tw',th'),预测结果为 t=(tx,ty,tw,th),原则上预测值与标注值越接近说明预测结果越准确。窗口回归损失函数为

这里,smooth(x)对应的表达式为

式中的x=tl-t'l,即对应的坐标之差,其目的是提高模型应对异常数据时的容忍度。

3 基于卷积神经网络的多目标跟踪

3.1 算法框架

在GPU并行计算能力的支持下,Caffe、Tensor-Flow、Torch、Theano等一批深度学习基础框架迅速发展起来,这其中以在Caffe框架支持下的Fast R-CNN为代表的一系列神经网络模型具有较高的影响力。随着卷积神经网络模型的不断优化,模型训练和单帧图像的目标检出所用时间不断缩减,目前最新的卷积神经网络模型在GPU环境下运行时,检测的帧速率可以达到每秒78帧左右,基本上达到了实时检测的能力[15]。

本文算法以Fast R-CNN网络模型为基础,设计出一种简单的多目标跟踪框架,并利用实验验证了算法的可行性,该方法与传统的多目标跟踪算法相比,在进行长时跟踪时有相当明显的优势。

本文算法包括训练和跟踪两大部分,鉴于卷积神经网络在模型训练时耗时较长,利用样本反馈在线更新网络模型难度大,且实时性效果差,因而本文的做法为提前对网络模型进行线下训练,不组织在线更新。模型训练完成后,直接将其嵌入到多目标跟踪的程序框架中,以检测的方式完成对每一帧里的目标的定位和跟踪。模型检测的结果会计算出目标的预测位置和相似度得分,由这两方面的信息确定目标的最终状态。本文程序将满足相似度要求的目标直接用矩形框标定出来,不显示其余信息。

3.2 参数设置及模型训练

本文实验对象为车辆,选取的样本分为正负样本两类,正样本为车辆目标,样本数量为10000,负样本为背景信息,样本数量为20000,另外收集测试样本数量为500。样本信息采集自ImageNet数据库,UIUC Image Database和PASCAL VOC的汽车数据库。卷积神经网络模型选用MatConvNet 24.0,模型的训练及目标识别均采用GPU加速,因而在参数设置上,opts.gpus=1,,学习速率参数设定opts.learningRate=0.001。本实验中只有两类样本,卷积神经网络模型只需判定候选区域中是否包含目标以及目标的相似度,因而类别数参数nCls设定为2。利用准备好的正负样本进行模型训练,设定迭代次数opts.numEpochs=10000。

4 实验结果及分析

实验环境:

硬 件 :Intel Core i5-4210M 2.60GHz CPU,NVIDIA GTX 950M 独 显 +Intel(R)HD Graphics 4600集显。

软件:Windows 7 X64操作系统,VS 2013,MATLAB R2016a,CUDA 7.5.18,cudnn-v4.0,Mat-Convnet 24.0。

为检验这种算法的实际性能,利用多个测试集进行实验验证,统计评价指标为模型识别准确率,本文所用的测试视频是标准的多目标检测视频,名称分别叫做egtest03和egtest04,多目标跟踪准确率的计算方式与单目标有相似之处,利用所有视频帧中出现的目标数和正确标定的目标个数之间的比值进行衡量。准确率计算公式为

其中,TO表示所有视频帧中正确标出的目标数,CO表示所有视频帧中的目标总数。通过对测试视频的实验统计,得到表1数据。

表1 测试视频跟踪准确率

本文实验所用的两个测试视频是截取的完整视频的一部分,因此视频帧数较短,egtest03比egtest04的跟踪难度稍低一些,因为后者存在一段时间的遮挡,对跟踪算法提出了一定的挑战。从表1中的数据也可以很容易看出,egtest03的准确率略高。

实验视频帧的部分运行结果如图3所示。

两个视频在测试过程中有时会出现虚警和漏跟的情况,这两种情况的结果在图3中有所体现,egtest03中第24帧和392帧都出现了虚警,该视频中在最尾端的车辆并非汽车而是摩托车,卷积神经网络模型的训练样本中并没有针对摩托车的训练,因而在整个测试过程中只有前面几帧将摩托车标定了出来,这是因为由于拍摄角度的原因,造成摩托车与汽车的图像特征比较相似。第392帧出现虚警的情况与前几帧将摩托车标定出来原因类似,因为本文算法使用全图搜索的方式进行多目标的跟踪,所以在视频帧的任何一个区域只要有符合车辆特征的候选区都会被标定出来。

在测试视频egtest04的280帧和400帧之间,两个汽车进入遮挡区,在295帧326帧等多处出现目标被严重遮挡导致跟踪框丢失的现象,但是在车辆重新出现时,算法依旧可以将目标标定出来,这和算法本身采用检测而不是传统的跟踪方式有必然的联系。传统跟踪算法在目标遭遇严重遮挡时大都会导致跟踪框漂移,并且很难再将目标找回,而本文算法则不需要考虑这一点。从这个实验中可以看出,本文算法在目标从遮挡物中重新出现时,依旧可以将目标标注出来。

5 结语

本文所提的是一种基于卷积神经网络检测的多目标跟踪算法,检测模型在所有视频帧中进行全图检测,通过在多个视频测试集上的实验证明,该方法对目标的旋转和形变都具有较高的容忍度,同时这种算法相较于传统多目标跟踪算法有一个明显的优点,就是在长时跟踪中表现出了较强的鲁棒性,避免了传统跟踪算法随着跟踪时间的拉长而导致误差积累最终造成跟踪失败的情况。本文所提的多目标跟踪算法构造比较简单,暴露出的一些缺点和不足是未来一段时间需要研究的重点:1)本文算法只是针对某一类目标进行模型训练而没有对跟踪部分进行深入设计,因而在跟踪时所有属于此类目标的候选区域都会被标注出来;2)视频帧中有时会出现虚警和漏标的情况。下一阶段将会研究如何将轨迹预测和多目标跟踪相结合,同时研究选取正负样本的及设置训练迭代的参数对训练结果的影响。

[1]吴静静.基于随机有限集的视频目标跟踪算法研究[D].上海:上海交通大学,2012:5-9.

[2]孟凡彬.基于随机集理论的多目标跟踪技术研究[D].哈尔滨:哈尔滨工程大学,2010:6-9.

[3]张锐,李文秀.多传感器跟踪型数据滤波融合算法[J].哈尔滨工程大学学报,2002,23(4):106-109.

[4]Hall,David L.Handbook of multisensor data fusion[M].Florida:CRC Press,2001:15-16.

[5]Mahler R P S.Statistical Multisource-Multitarget Information Fusion[M].Artech House,Inc.2007:2-6.

[6]李良群.信息融合系统中的目标跟踪及数据关联技术研究[D].西安:西安电子科技大学,2007:5-13.

[7]汤义,刘伟铭,柏柯嘉.基于数据关联矩阵的多目标跟踪算法[J].计算机工程,2010,36(23):158-161.

[8]Tang Y,Liu W M,Xiong L.Improving Robustness and Accuracy in Moving Object Detection Using Section-Distribution Background Model[C]//International Confer-ence on Natural Computation.IEEE,2008:167-174.

[9]Li L,Huang W,Gu I Y H,et al.Principal color representation for tracking persons[C]//IEEE International Conference on Systems,Man and Cybernetics.IEEE,2003:1007-1012 vol.1.

[10]瑚成祥.基于随机集理论的多目标跟踪方法[D].西安:西安电子科技大学,2014:27-31.

[11]Kingman J F C.Review:G.Matheron,Random sets and integral geometry[J].Bulletin of the American Mathematical Society,1975,81(1975):844-847.Mahler R P S.Multitarget Bayes filtering via first-order multitarget moments[J].IEEE Transactions on Aerospace&Electronic Systems,2004,39(4):1152-1178.

[12]Girshick R.Fast R-CNN[C]//IEEE International Conference on Computer Vision.IEEE Computer Society,2015:1440-1448.

[13]李彦冬,郝宗波,雷航.卷积神经网络研究综述[J].计算机应用,2016,36(9):2508-2515.

[14]Liu W,Anguelov D,Erhan D,et al.SSD:Single Shot MultiBox Detector[J].2015:21-37.

猜你喜欢
卷积神经网络样本
基于神经网络的船舶电力系统故障诊断方法
基于递归模糊神经网络的风电平滑控制策略
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
用样本估计总体复习点拨
从滤波器理解卷积
基于神经网络的中小学生情感分析
规划·样本
基于傅里叶域卷积表示的目标跟踪算法
基于Q-Learning算法和神经网络的飞艇控制