联系我们
- 地 址:北京市海淀区北四环西路9号 ,主 营:人脸识别,活体检测,身份证识别,银行卡识别,名片识别,车牌识别,OCR识别等及智能识别技术。
- 电 话:13146317170 廖经理
- 传 真:
- 邮 箱:398017534@qq.com
深度学习在目标跟踪中的应用
深度学习在目标跟踪中的应用
深度学习大讲堂是高质量原创内容的平台,约请学术界、工业界一线专家撰稿,努力于推送人工智能与深度学习最新技术、产品和活动信息!
开端本文之前,我们首先看上方给出的3张图片,它们分别是同一个视频的第1,40,80帧。在第1帧给出一个跑步者的边框(bounding-box)之后,后续的第40帧,80帧,bounding-box依然准确圈出了同一个跑步者。以上展示的其实就是目的跟踪(visual object tracking)的过程。目的跟踪(特指单目的跟踪)是指:给出目的在跟踪视频第一帧中的初始状态(如位置,尺寸),自动估量目的物体在后续帧中的状态。
人眼可以比较轻松的在一段时间内跟住某个特定目的。但是对机器而言,这一任务并不简单,特别是跟踪过程中会呈现目的发作猛烈形变、被其他目的遮挡或呈现相似物体干扰等等各种复杂的情况。过去几十年以来,目的跟踪的研讨取得了长足的展开,特别是各种机器学习算法被引入以来,目的跟踪算法呈现百花齐放的态势。2013年以来,深度学习方法开端在目的跟踪范畴展露头脚,并逐渐在性能上超越传统方法,取得庞大的突破。本文首先扼要引见主流的传统目的跟踪方法,之后对基于深度学习的目的跟踪算法中止引见,最后对深度学习在目的跟踪范畴的应用中止总结和展望。
经典目的跟踪方法
目前跟踪算法可以被分为产生式(generative model)和判别式(discriminative model)两大类别。
产生式方法运用生成模型描画目的的表观特征,之后经过搜索候选目的来最小化重构误差。比较有代表性的算法有稠密编码(sparse coding),在线密度估量(online density estimation)和主成分分析(PCA)等。产生式方法着眼于对目的本身的描写,忽略背景信息,在目的自身变化猛烈或者被遮挡时容易产生漂移。
与之相对的,判别式方法经过锻炼分类器来区分目的和背景。这种方法也常被称为tracking-by-detection。近年来,各种机器学习算法被应用在判别式方法上,其中比较有代表性的有多示例学习方法(multiple instance learning), boosting和结构SVM(structured SVM)等。判别式方法由于显著区分背景和前景的信息,表现更为鲁棒,逐渐在目的跟踪范畴占领主流位置。值得一提的是,目前大部分深度学习目的跟踪方法也归属于判别式框架。
近年来,基于相关滤波(correlation filter)的跟踪方法由于速度快,效果好吸收了众多研讨者的目光。相关滤波器经过将输入特征回归为目的高斯分布来锻炼 filters。并在后续跟踪中寻觅预测分布中的响应峰值来定位目的的位置。相关滤波器在运算中巧妙应用快速傅立叶变换获得了大幅度速度提升。目前基于相关滤波的拓展方法也有很多,包括核化相关滤波器(kernelized correlation filter, KCF), 加尺度估量的相关滤波器(DSST)等。
基于深度学习的目的跟踪方法
不同于检测、识别等视觉范畴深度学习一统天下的趋向,深度学习在目的跟踪范畴的应用并非好事多磨。其主要问题在于锻炼数据的缺失:深度模型的魔力之一来自于对大量标注锻炼数据的有效学习,而目的跟踪仅仅提供第一帧的bounding-box作为锻炼数据。这种情况下,在跟踪开端针对当前目的从头锻炼一个深度模型困难重重。目前基于深度学习的目的跟踪算法采用了几种思绪来处置这个问题,下面将依据思绪的不同展开引见,并在最后引见目前跟踪范畴呈现的运用递归神经网络(recurrent neural network)处置目的跟踪问题的新思绪。
应用辅助图片数据预锻炼深度模型,在线跟踪时微调
在目的跟踪的锻炼数据非常有限的情况下,运用辅助的非跟踪锻炼数据中止预锻炼,获取对物体特征的通用表示(general representation ),在理论跟踪时,经过应用当前跟踪目的的有限样本信息对预锻炼模型微调(fine-tune), 使模型对当前跟踪目的有更强的分类性能,这种迁移学习的思绪极大的减少了对跟踪目的锻炼样本的需求,也进步了跟踪算法的性能。
这个方面代表性的作品有DLT和SO-DLT,都出自香港科技大学王乃岩博士。
DLT(NIPS2013)Learning a Deep Compact Image Representation for Visual TrackingDLT是第一个把深度模型运用在单目的跟踪任务上的跟踪算法。它的主体思绪如上图所示:
(1) 先运用栈式降噪自编码器(stacked denoising autoencoder,SDAE)在Tiny Images dataset这样的大范围自然图像数据集上中止无监视的离线预锻炼来获得通用的物体表征才干。预锻炼的网络结构如上图(b)所示,一共堆叠了4个降噪自编码器, 降噪自编码器对输入参与噪声,经过重构出无噪声的原图来获得更鲁棒的特征表达才干。SDAE1024-2560-1024-512-256这样的瓶颈式结构设计也使获得的特征愈加compact。(2) 之后的在线跟踪部分结构如上图(c)所示,取离线SDAE的encoding部分叠加sigmoid分类层组成了分类网络。此时的网络并没有获取对当前被跟踪物体的特定表达才干。此时应用第一帧获取正负样本,对分类网络中止fine-tune获得对当前跟踪目的和背景更有针对性的分类网络。在跟踪过程中,对当前帧采用粒子滤波(particle filter)的方式提取一批候选的patch(相当于detection中的proposal),这些patch输入分类网络中,置信度最高的成为最终的预测目的。(3) 在目的跟踪非常重要的模型更新战略上,该论文采取限定阈值的方式,即当一切粒子中最高的confidence低于阈值时,以为目的曾经发作了比较大的表观变化,当前的分类网络曾经无法顺应,需求中止更新。
小结:DLT作为第一个将深度网络运用于单目的跟踪的跟踪算法,首先提出了“离线预锻炼+在线微调”的思绪,很大程度的处置了跟踪中锻炼样本缺乏的问题,在CVPR2013提出的OTB50数据集上的29个跟踪器中排名第5。
但是DLT本身也存在一些缺乏:
(1) 离线预锻炼采用的数据集Tiny Images dataset只包含32*32大小的图片,分辨率明显低于主要的跟踪序列,因此SDAE很难学到足够强的特征表示。(2) 离线阶段的锻炼目的为图片重构,这与在线跟踪需求区分目的和背景的目的相差甚大。(3) SDAE全衔接的网络结构使其对目的的特征描写才干不够优秀,固然运用了4层的深度模型,但效果仍低于一些运用人工特征的传统跟踪方法如Struck等。
SO-DLT(arXiv2015)Transferring Rich Feature Hierarchies for Robust Visual Tracking
SO-DLT持续了DLT应用非跟踪数据预锻炼加在线微调的战略,来处置跟踪过程中锻炼数据缺乏的问题,同时也对DLT存在的问题做了很大的改进。
(1) 运用CNN作为获取特征和分类的网络模型。如上图所示,SO-DLT运用了的类似AlexNet的网络结构,但是有几大特性:一、针对跟踪候选区域的大小将输入减少为100*100,而不是普通分类或检测任务中的224*224。 二、网络的输出为50*50大小,值在0-1之间的概率图(probability map),每个输出像素对应原图2*2的区域,输出值越高则该点在目的bounding-box中的概率也越高。这样的做法应用了图片本身的结构化信息,便当直接从概率图肯定最终的bounding-box,避免向网络输入数以百计的proposal,这也是SO-DLT structured output得名的由来。三、在卷积层和全衔接层中间采用SPP-NET中的空间金字塔采样(spatial pyramid pooling)来进步最终的定位准确度。(2) 在离线锻炼中运用ImageNet 2014的detection数据集使CNN获得区分object和非object(背景)的才干。SO-DLT在线跟踪的pipeline如上图所示:
(1) 处置第t帧时,首先以第t-1帧的的预测位置为中心,从小到大以不同尺度crop区域放入CNN当中,当CNN输出的probability map的总和高于一定阈值时,中止crop, 以当前尺度作为最佳的搜索区域大小。(2) 选定第t帧的最佳搜索区域后,在该区域输出的probability map上采取一系列战略肯定最终的bounding-box中心位置和大小。(3) 在模型更新方面,为了解决运用不准确结果fine-tune招致的drift问题,运用了long-term 和short-term两个CNN,即CNNS和CNNL。CNNS更新频繁,使其对目的的表观变化及时响应。CNNL更新较少,使其对错误结果愈加鲁棒。二者别离,取最confident的结果作为输出。从而在adaptation和drift之间抵达一个均衡。
小结:SO-DLT作为large-scale CNN网络在目的跟踪范畴的一次成功应用,取得了非常优秀的表现:在CVPR2013提出的OTB50数据集上OPE准确度绘图(precision plot)抵达了0.819, OPE成功率绘图(success plot)抵达了0.602。远超当时其它的state of the art。
SO-DLT有几点值得自创:
(1) 针对tracking问题设计了有针对性的网络结构。(2) 应用CNNS和CNNL用ensemble的思绪处置update 的敏理性,特定参数取多值做平滑,处置参数取值的敏理性。这些措施目前已成为跟踪算法进步评分的杀手锏。
但是SO-DLT离线预锻炼依然运用的是大量无关联图片,作者以为运用更贴合跟踪实质的时序关联数据是一个更好的选择。
应用现有大范围分类数据集预锻炼的CNN分类网络提取特征
2015年以来,在目的跟踪范畴应用深度学习兴起了一股新的潮流。即直接运用ImageNet这样的大范围分类数据库上锻炼出的CNN网络如VGG-Net获得目的的特征表示,之后再用观测模型(observation model)中止分类获得跟踪结果。这种做法既避开了跟踪时直接锻炼large-scale CNN样本缺乏的困境,也充分应用了深度特征强大的表征才干。这样的工作在ICML15,ICCV15,CVPR16均有呈现。下面引见两篇发表于ICCV15的工作。
FCNT(ICCV15)Visual Tracking with Fully Convolutional Networks
作为应用CNN特征于物体跟踪的代表作品,FCNT的亮点之一在于对ImageNet上预锻炼得到的CNN特征在目的跟踪任务上的性能做了深化的分析,并根据分析结果设计了后续的网络结构。
FCNT主要对VGG-16的Conv4-3和Conv5-3层输出的特征图谱(feature map)做了分析,并得出以下结论:
(1) CNN 的feature map可以用来做跟踪目的的定位。(2) CNN 的许多feature map存在噪声或者和物体跟踪区分目的和背景的任务关联较小。(3) CNN不同层的特征特性不一。高层(Conv5-3)特征擅长区分不同类别的物体,对目的的形变和遮挡非常鲁棒,但是对类内物体的区分才干非常差。低层(Conv4-3)特征更关注目标的局部细节,可以用来区分背景中相似的distractor,但是对目的的猛烈形变非常不鲁棒。依据以上分析,FCNT最终构成了如上图所示的框架结构:
(1) 关于Conv4-3和Conv5-3特征分别构建特征选择网络sel-CNN(1层dropout加1层卷积),选出和当前跟踪目的最相关的feature map channel。(2) 对选择出的Conv5-3和Conv4-3特征分别构建捕捉类别信息的GNet和区分distractor(背景相似物体)的SNet(都是两层卷积结构)。(3) 在第一帧中运用给出的bounding-box生成热度图(heat map)回归锻炼sel-CNN, GNet和SNet。(4) 关于每一帧,以上一帧预测结果为中心crop出一块区域,之后分别输入GNet和SNet,得到两个预测的heatmap,并根据能否有distractor决议运用哪个heatmap 生成最终的跟踪结果。
小结:FCNT根据对CNN不同层特征的分析,构建特征选择网络和两个互补的heat-map预测网络。抵达有效抑止distractor防止跟踪器漂移,同时对目的本身的形变卦加鲁棒的效果,也是ensemble思绪的又一成功完成。在CVPR2013提出的OTB50数据集上OPE准确度绘图(precision plot)抵达了0.856,OPE成功率绘图(success plot)抵达了0.599,准确度绘图有较大进步。理论测试中FCNT的对遮挡的表现不是很鲁棒,现有的更新战略还有进步空间。
Hierarchical Convolutional Features for Visual Tracking(ICCV15)
这篇是作者在2015年度看到的最简约有效的应用深度特征做跟踪的论文。其主要思绪是提取深度特征,之后应用相关滤波器肯定最终的bounding-box。
这篇论文扼要分析了VGG-19特征( Conv3_4, Conv4_4, Conv5_4 )在目的跟踪上的特性,得出的结论和FCNT有异曲同工之处,即:
(1) 高层特征主要反映目的的语义特性,对目的的表观变化比较鲁棒。(2) 低层特征保管了更多细粒度的空间特性,对跟踪目的的精确定位更有效。基于以上结论,作者给出了一个粗粒度到细粒度(coarse-to-fine)的跟踪算法即:
(1) 第一帧时,应用Conv3_4,Conv4_4,Conv5_4特征的插值分别锻炼得到3个相关滤波器。(2) 之后的每帧,以上一帧的预测结果为中心crop出一块区域,获取三个卷积层的特征,做插值,并经过每层的相关滤波器预测二维的confidence score。(3) 从Conv5_4开端算出confidence score上最大的响应点,作为预测的bounding-box的中心位置,之后以这个位置约束下一层的搜索范围,逐层向下做更细粒度的位置预测,以最低层的预测结果作为最后输出。细致公式如下:(4) 应用当前跟踪结果对每一层的相关滤波器做更新。
小结:这篇文章针对VGG-19各层特征的特性,由粗粒度到细粒度最终准确定位目的的中心点。在CVPR2013提出的OTB50数据集上OPE准确度绘图抵达了0.891,OPE成功率绘图抵达了0.605,相较于FCNT和SO-DLT都有进步,理论测试时性能也相当稳定,显现出深度特征别离相关滤波器的庞大优势。但是这篇文章中的相关滤波器并没有对尺度中止处置,在整个跟踪序列中都假定目的尺度不变。在一些尺度变化非常猛烈的测试序列上如CarScale上最终预测出的bounding-box尺寸大小和目的本身大小相差较大。
以上两篇文章均是应用预锻炼的CNN网络提取特征进步跟踪性能的成功案例,说明应用这种思绪处置锻炼数据缺失和进步性能具有很高的可行性。但是分类任务预锻炼的CNN网络本身更关注区分类间物体,忽略类内差别。目的跟踪时只关注一个物体,重点区分该物体和背景信息,明显抑止背景中的同类物体,但是还需求对目的本身的变化鲁棒。分类任务以相似的一众物体为一类,跟踪任务以同一个物体的不同表观为一类,使得这两个任务存在很大差别,这也是两篇文章融合多层特征来做跟踪以抵达较理想效果的动机所在。
应用跟踪序列预锻炼,在线跟踪时微调
1和2中引见的处置锻炼数据缺乏的战略和目的跟踪的任务本身存在一定偏离。有没有更好的办法呢?VOT2015冠军MDNet给出了一个示范。该方法在OTB50上也取得了OPE准确度绘图0.942,OPE成功率绘图0.702的惊人得分。
MDNet(CVPR2016)Learning Multi-Domain Convolutional Neural Networks for Visual Tracking
认识到图像分类任务和跟踪之间存在庞大差别,MDNet提出直接用跟踪视频预锻炼CNN获得general的目的表示才干的方法。但是序列锻炼也存在问题,即不同跟踪序列跟踪目的完好不一样,某类物体在一个序列中是跟踪目的,在另外一个序列中可能只是背景。不同序列中目的本身的表观和运动方式、环境中光照、遮挡等情形相差甚大。这种情况下,想要用同一个CNN完成一切锻炼序列中前景和背景区分的任务,困难重重。最终MDNet提出Multi-Domain的锻炼思绪和如上图所示的Multi-Domain Network。该网络分为共享层和domain-specific层两部分。即:将每个锻炼序列当成一个单独的domain,每个domain都有一个针对它的二分类层(fc6),用于区分当前序列的前景和背景,而网络之前的一切层都是序列共享的。这样共享层抵达了学习跟踪序列中目的general的特征表达的目的,而domain-specific层又处置了不同锻炼序列分类目的不分歧的问题。
细致锻炼时,MDNet的每个mini-batch只由一个特定序列的锻炼数据构成,只更新共享层和针对当前序列的特定fc6层。这样共享层中获得了对序列共有特征的表达才干,如对光照、形变等的鲁棒性。MDNet的锻炼数据也非常有意义,即测试OTB100数据集时,应用VOT2013-2015的不重合的58个序列来做预锻炼。测试VOT2014数据集时,应用OTB100上不重合的89个序列做预锻炼。这种交替应用的思绪也是第一次在跟踪论文中呈现。
在线跟踪阶段针对每个跟踪序列,MDNet主要有以下几步:
(1) 随机初始化一个新的fc6层。(2) 运用第一帧的数据来锻炼该序列的bounding box回归模型。(3) 用第一帧提取正样本和负样本,更新fc4, fc5和fc6层的权重。(4) 之后产生256个候选样本,并从中选择置信度最高的,之后做bounding-box regression得到最终结果。(5) 当前帧最终结果置信度较高时,采样更新样本库,否则根据情况对模型做短期或者长期更新。
MDNet有两点值得自创之处:
(1) MDNet应用了更为贴合跟踪实质的视频数据来做锻炼,并提出了创新的Multi-domain锻炼方法和锻炼数据交叉运用的思绪。(2) 此外MDNet从检测任务中自创了不少行之有效的战略,如难例开掘(hard negative mining),bounding box回归等。特别是难例回归经过重点关注背景中的难点样本(如相似物体等)显著减轻了跟踪器漂移的问题。这些战略也辅佐MDNet在TPAMI2015 OTB100数据集上OPE准确度绘图从一开端的0.825提升到0.908, OPE成功率绘图从一开端的0.589提升到0.673。
但是也可以发现MDNet的总体思绪和RCNN比较类似,需求前向传送上百个proposal,固然网络结构较小,速度仍较慢。且boundingbox回归也需求单独锻炼,因此MDNet还有进一步提升的空间。
运用递归神经网络中止目的跟踪的新思绪
近年来RNN特别是带有门结构的LSTM,GRU等在时序任务上显现出了突出的性能。不少研讨者开端探求如何应用RNN来做处置现有跟踪任务中存在的问题,以下扼要引见两篇在这方面比较有代表性的探求文章。
RTT(CVPR16)Recurrently Target-Attending Tracking
这篇文章的动身点比较有意义,即应用多方向递归神经网络(multi-directional recurrent neural network)来建模和开掘对整体跟踪有用的可靠目的部分(reliable part),理论上是二维平面上的RNN建模,最终处置预测误差累积和传播招致的跟踪漂移问题。其本身也是对part-based跟踪方法和相关滤波(correlation filter)方法的改进和探求。RTT的整体框架如上图所示:
(1) 首先对每一帧的候选区域中止网状分块,对每个分块提取HOG特征,最终相连获得基于块的特征(2) 得到分块特征以后,RTT应用前5帧锻炼多方向RNN来学习分块之间大范围的空间关联。
经过在4个方向上的前向推进,RNN计算出每个分块的置信度,最终每个块的预测值组成了整个候选区域的置信图(confidence map)。受益于RNN的recurrent结构,每个分块的输出值都遭到其他关联分块的影响,相比于仅仅思索当前块的准确度更高,避免单个方向上遮挡等的影响,增加可靠目的部分在整体置信图中的影响。(3) 由RNN得出置信图之后,RTT执行了另外一条pipeline。即锻炼相关滤波器来获得最终的跟踪结果。值得留意的是,在锻炼过程中RNN的置信图对不同块的filter做了加权,抵达抑止背景中的相似物体,增强可靠部分的效果。(4) RTT提出了一个判别当前跟踪物体能否被遮挡的战略,用其判别能否更新。即计算目的区域的置信度和,并与历史置信度和的移动平均数(moving average)做一个对比,低于一定比例,则以为遭到遮挡,中止模型更新,防止引入噪声。
小结:RTT是第一个应用RNN来建模part-based跟踪任务中复杂的大范围关联关系的跟踪算法。在CVPR2013提出的OTB50数据集上OPE准确度绘图为0.827,OPE成功率绘图抵达了0.588。相比于其他基于传统特征的相关滤波器算法有较大的提升,说明RNN对关联关系的开掘和对滤波器的约束确实有效。RTT受制于参数数目的影响,只选用了参数较少的普通RNN结构(采用HOG特征其实也是降低参数的另外一种折中战略)。别离之前引见的处置锻炼数据缺失的措施,RTT可以运用更好的特征和RNN结构,效果还有提升空间。
DeepTracking: Seeing Beyond Seeing Using Recurrent Neural Networks(AAAI16)
这篇文章的应用场景是机器人视觉,目的是将传感器获得的有遮挡的环境信息恢复为真实的无遮挡的环境信息。严厉来说这篇文章仅输出恢复后的图片,没有明白预测目的的位置和尺寸等状态信息,和之前引见的一切文章的做法都不一样,无妨称为一种新的跟踪任务。
在模型方面,不同于RTT用RNN建模二维平面关联,DeepTracking应用RNN来做序列关联的建模,并最终完成了端到端的跟踪算法。
传统的贝叶斯跟踪方法普通采用高斯分布(卡尔曼滤波Kalman filter)或者离散的采样点权重(粒子滤波particle filter)来近似需求求解的后验概率 P(yt|x1:t) (yt 为需求预测的机器人周围的真实场景, xt 为传感器直接获得的场景信息),其表达才干有限。DeepTracking拓展了传统的贝叶斯跟踪框架,并应用RNN强大的表征才干来建模后验概率。
细致而言DeepTracking引入了一个具有马尔可夫性质的隐变量 ht ,以为其反映了真实环境的全部信息。最终需求预测的 yt 包含了 ht,包含了 ht 的部分信息,可由 ht 得到。假定 Bt 为关于 ht的自信心(belief),对应于后验概率:Bel(ht) = P(yt|ht) 。之后经典贝叶斯跟踪框架中由 P(yt-1|x1:t-1) 到P(yt|x1:t) 到的时序更新在这里转化为:Bt = F(Bt-1,xt)和 P(ty|x1:t) = P(yt|Bt)。给出方式表达之后的关键是,如何将其对应到RNN的框架中去。DeepTracking的中心机绪是用应用两个权重 WF 和 WP 来分别建模 F(Bt-1, xt)和P(yt|Bt ),将Bt 定义为RNN时序之间传送的memory 信息。此时,如上图所示RNN的各个状态和推进流程就和跟踪任务圆满的对接上了。实验部分,DeepTracking采用模拟的2维传感器数据和如上图所示的3层RNN的网络结构,Bt 对应于第三层的网络输出。经过无监视的预测 xt+n 的任务来使网络获得预测 yt 的潜在才干。
上一条:H5身份证OCR辨认技术
下一条:深度学习在OCR文本分类中的应用