基于特征融合的物体跟踪系统设计与实现
摘要
物体的检测与跟踪目前在计算机视觉领域是十分前沿的研究方向,其可广泛应用于重要会议安保,军事防御,区域警戒等多种应用场景。目前,在物体检测与跟踪领域最具发展前景的研究热点是基于深度特征的检测与跟踪模型的设计,因此本设计基于深度特征和传统特征相融合的方式,对单目标场景下,改进相关算法,并实现了具有物体检测、目标跟踪、兼具性能测试和关键测试结果文件保存功能的物体检测与跟踪系统。并最终通过跟踪数据集对相关算法进行评测。
关键词:目标检测,目标跟踪,图像处理,特征融合;
1.1 课题研究前言与背景
目标跟踪在计算机视觉领域,有着重要的地位,是一项多学科交叉技术,融合了机器学习,计算机视觉,模式识别等学科的技术,并在很多领域得到广泛应用,包括自动驾驶、智能视频监控、人机的交互等。除此之外,目标跟踪在一些新兴领域,如智能交通系统、精确制导系统、智能医学诊疗等,有着十分重要的应用价值,尤其是在视频监控领域与军事领域应用最为广泛,这些场景下都需要对特定目标物体进行建模跟踪,分析其行为轨迹、制定解决方案等。
一个物体检测与跟踪系统, 给出视频或摄像头视频输入,系统能检测到视频中出现的物体,给出检测框和类别,并能够根据初始检测框进行连续的物体跟踪。跟踪结束后保存系统运行过程中产生的有用信息。同时系统应当能够连续使用,即在不重启系统的情况下继续进行处理其他输入,以保障良好的人机交互性。
1.2 目标跟踪算法概述
目标跟踪领域近年来在持续发展,算法的性能也在逐渐提升。目标跟踪的任务是,在给定视频序列第一帧中目标物体的初始状态后,对后续视频帧中目标的位置进行预测,然而一些固有因素依然会影响跟踪的效果,如遮挡、尺度变化、光照变化、背景干扰等。
图1-1中列出了几种影响跟踪效果的因素,这就要求跟踪器具有较高的辨别能力。过去几十年,目标跟踪算法的研究在计算机视觉领域十分活跃,从最早的粒子滤波框架过渡到相关滤波,跟踪算法的性能逐渐提升,随着近年来机器学习算法的引入,跟踪算法呈现百花齐放的姿态,性能和鲁棒性都获得显著提升。深度学习技术的引用,使得算法精度提升到新的高度。2015年至今,是深度学习技术高速发展的时期,深度学习技术也被应用到计算机视觉的各个领域。深度学习在目标跟踪领域的应用,最初形式是将深度神经网络提取到的特征替换人工提取特征,应用到相关滤波的跟踪框架中,如deepSDRCT、C-COT、ECO等算法,逐步加深了对深度特征的应用。深度网络提取出的目标特征,要优于传统的手工提取的如HOG或SIFT等特征,但是也带来了计算量的增加。但是深度特征包含更多的语义信息,浅层特征包含更多的边缘信息,所以采用将深层,浅层特征相融合的深度学习框架进行算法设计,使得算法效果有较大的提升。
1.3 目标检测算法概述
目标检测传统方法方面主要是基于滑动窗口的,其主要的思路为:针对输入的图片,设计不同尺度的滑动窗口,对整个图片进行暴力搜索,由此得出若干个候选区域,对每一个候选区域进行特征提取交付到分类器中,分类器一般采用SVM、AdaBoost和Decision Tree等;最终得到物体分类结果和物体在图像中所处位置坐标。
目前基于深度学习的物体检测方法主要可以分成两类:即一阶段方法和两阶段方法,顾名思义,一阶段的主要思想是在需要进行检测处理的图片上设置一系列的基本框,随后直接将这些基本框输入到神经网络中进行检测和分类得到最终结果。而两阶段是在一阶段第一次检测和分类并得到候选框的基础上,对候选框进行特征提取后再次进行分类和检测,得到最终结果。其中一阶段检测算法有SSD,YOLO算法族;二阶段检测算法有R-CNN,Fast R-CNN,Faster R-CNN等。一阶段算法相对于二阶段算法速度更快,但二阶段多了再检测和分类的步骤,因而精度更高。
2.1基于特征融合的跟踪算法设计
2.1.1跟踪算法主体框架设计
目标跟踪研究任务中,先验信息只有第一帧目标物体真实的bounding box,即对于整个跟踪序列来说,算法的输入只有一个四元组(x, y, w, h),其中,x, y是物体在图片中的坐标值,w, h是目标物体的宽度与高度。算法的目的是根据此元组对后续视频帧中的目标物体位置进行估算预测。本系统基于MDNet提出一种深度学习框架,如图所示。
当前视频帧接受上一帧中目标物体的位置作为输入,记为P,在P周围一定范围内进行样本的采集即采用模拟高斯分布和区域提议策略进行采样,采样一定数量且在一定范围内坐标、尺度呈高斯分布的图像块。将采集的图像样本输入模型得到置信分数,输出结果表示各个图像块的得分即与目标相似的置信度,取其中具有最高置信度的图像块位置P*作为候选的预测目标位置。将P*的得分与设定算法阈值η比较,若score>η,则可认为P*即为当前帧中目标的位置,将P*作为下一视频帧的输入,迭代进行;若score<η,即表明采样的图像中不包含目标物体、模型预测失败,将启动检测算法进行修正。
跟踪过程中要对模型进行自适应更新。采用一定方法将网络模型参数初始化后,可以接受第一帧的输入对后续帧中目标物体进行预测定位,然而,跟踪过程中目标物体不断在变化,会经历形变等情况,导致目标物体与初始状态相差越来越大,最开始的模型对目标物体特征的拟合能力下降,如果不根据目标物体最新状态采样来更新模型,会导致目标转移或丢失的情况。在跟踪控制中,采用长短时更新的策略,并相应的维护两个样本空间,分别是长样本空间与短样本空间。长样本空间中,存储前200帧采集到的正样本与负样本,短样本空间存储前50帧提取的正负样本。长样本空间每隔一段时间启动一次,间隔一定周期,经过实验选定更新周期为20帧一更新。短时更新只发生在跟踪失败的情况下,即网络输出的最高正得分小于设定阈值时,实验过程中设为0.4。
2.1.2多特征融合跟踪算法设计
在目标跟踪算法中,目标特征的选取最为重要,能否选择到合适的目标特征,直接影响到跟踪效果。算法理想的特征不仅能够对物体表观进行建模,而且需要具有较强的判别力,对目标发生的形变、遮挡预计跟踪背景发生的变化具有较强的鲁棒性。传统的目标跟踪提取的特征大多为手工设计的特征。
颜色特征
自然图像都包含丰富的颜色信息,早期的目标跟踪算法也充分应用了目标颜色的特征。RGB颜色空间具有直观性、易计算性,广泛被应用到目标颜色的表示中,其中颜色直方图是最为常用的颜色特征,采用颜色直方图,可以计算每种颜色在图像颜色空间中所占的比例,从而代替各颜色在图像中的位置,通过统计颜色的分布作为目标特征,然而,采用颜色分布来代替颜色位置的统计会丢失部分空间信息,对于具有较清晰轮廓的目标物体来说描述性不强。
轮廓特征
关于底层的视觉研究表明,人类视觉对物体的锁定与跟踪,是先锁定物体的轮廓或边缘,再对物体内部细节进行理解,边缘信息或轮廓信息对于物体的识别等也是非常重要的特征,通过轮廓信息可以对目标物体进行定位,在跟踪过程中,可以通过边缘检测的方法预测出物体边缘的变化信息,而且轮廓特征的产生依靠的是目标物体与背景产生的运动边缘,不依赖于人的主观认识,相比于颜色特征,具有更高的简单性和准确定。
纹理特征
纹理特征对于图像来说是比较抽象且泛化的特征,但是纹理特征可以用来判断图像密度的变化,同一张图像中的不同物体,其纹理特征有很大不同。纹理特征对图像的平滑度以及规律性进行了量化,不仅对图像上的颜色信息,而且对光强信息、轮廓信息等进行了描述。纹理特征通常不是直接提取,而是通过对图像的预处理得到。常用的纹理特征包括:LBP[38]特征、SIFT特征、小波特征等,并且具有光照不变性,在目标场景中发生较强的光照变化使算法具有较强的鲁棒性。
结构特征
随着机器学习和深度学习技术的发展,结构化特征逐渐被运用到目标跟踪算法中。结构化特征可以认为是由深度神经网络提取出的目标特征,是一种从简单到复杂、具有结构性的特征。深度神经网络与人的视觉皮层具有相似结构,对于视觉信息的处理是分级的,从底层的某些网络对图像的小部分进行理解,提取轮廓、颜色等表观特征,随着网络逐渐加深,对于特征的抽象层次越来越高、范围越来越大、内容也越来越丰富,最后提取出整个目标的特征,是一个由底层到高层的结构性抽象过程。由深度网络提取出的特征丰富且精确,能大幅提高跟踪性能,不足之处在于计算量庞大,跟踪速率降低,。跟踪过程中,卷积网络底层提取的表观信息、如轮廓信息、颜色信息、纹理信息等,可以反映目标物体的形变、遮挡的等情况。课题对网络模型的第二种优化方法是将浅层卷积提取的表观特征与深层卷积提取的语义特征进行融合,来对目标物体和背景进行判别。
将每层卷积特征拉伸平铺成一个全连接向量,最后将各个层的向量拼接成总的一维特征向量作为全连接网络的第一层输入。融合前,全连接层的输入大小为4608,若直接将各个卷积层拉伸之后拼接,由网络结构参数可得全连接输入的大小为258280,是基本模型输入的60倍。论文对第一层与第二层卷积下采样之后的特征图进行连接操作,全连接层输入大小为38752,相比于直接对卷积层特征操作减少了6倍的参数量。
2.1.3多特征融合跟踪算法自适应框改进
对于MDNet缺少可根据跟踪目标相对帧的大小形态变化而自适应的跟踪框。
主要流程可以描述如下:接收到传回的当前框信息后先进行修正边界操作,这是考虑到可能当前跟踪框已经发生严重漂移现象,如果跟踪框右边界坐标小于零说明跟踪框从帧左侧漂移出帧,则应将跟踪框进行向右调整;如果跟踪框上边界小于零则说明跟踪框从帧下侧漂移出帧,应当进行跟踪框向上调整处理。同时如果发现跟踪框大小已经接近帧的大小,则减小跟踪框大小。随后进行跟踪框大小的具体调整,设计了大小两种模板,首先对当前帧进行峰值检测,如果对峰值做增益超过原峰值,则使用较小模板,如果对峰值做减益也超过峰值则更倾向于使用较大的模板。同时进行新的峰值计算。由于跟踪框大小可能已经发生了改变,所以再次进行边界调整,获得到当前最新的框,使用该框进行重新训练样本,返回检测框信息作为跟踪结果
另外对于同一数据集,也测试了两版算法的相关数据性能,如图3.5和3.6所示是OTB100-DOG上进行测试得到的IOU跟踪框交并比的对比结果。可以看见IOU性能发生极大提高。
2.2检测算法主体框架设计
YOLO算法是一阶段物体检测算法,即直接将图像输入到卷积神经网络中,得到检测结果。其具体检测过程可描述如下:首先,将图片归一化到统一大小,输入到卷积神经网络中,神经网络先划分成S*S个网格,其中每个网格负责预测B个框和P个置信分数,这里需要说明的一点是:框包含五个参数,分别为(x,y,w,h,c),其中参数(x,y)代表框中心坐标,(w,h)代表框的长和宽,而C代表这个框存在的置信度,实际上可以将C描述为IOU,即预测框与实际框的交并比。在此基础上,只有当预测的框中心落到了某个网格中,该网格才会对这个框的后续处理负。在检测过程中,对于每一张图片会输出S*S*[B*5+P]=7*7*[2*5+20]个张量,张量经过编码后经卷积神经网络输出得到暂时结果后,经过非极大值抑制(NMS)的方法,确定最终得分最高的检测框和分类结果。
用于计算预测边界框长高损失的函数如下:
用于计算框的置信度得分损失函数如下所示。其中C是置信度得分, 是预测和真实框的交并比,当IObjij=1时说明,网格中存在目标,Inoobjij代表完全相反的情况。
最终用于计算目标分类损失的函数如下所示。
Yolov3的特征提取网络采用了前20个卷积层,1个avgpooling层和一个全连接层。但是一个方格只能预测一个物体,对小物体很难检测,相对于FastRCNN存在着更多的位置错误。
3.1跟踪算法性能对比
OTB数据集是学者吴毅在2013首次发表的集成视频数据集,统一了目标跟踪领域的评价标准,OTB-2013整合了2012年以及之前的顶级跟踪算法,并包含50个不同场景的视频,涵盖了遮挡、光照变化与尺度变化等情况。到2015年OTB数据集进行进一步扩充并且新增许多帧数较多的长视频,适合持续对算法的跟踪性能进行测试。但是OTB-2015包含25%的灰度视频序列。
VOT数据库以竞赛为主,与ImageNet相似,VOT-2016维护60个彩色视频序列。并且VOT评价标准与OTB不同,VOT-2016以短视频为主,并且每一帧都是精细标注,以第一帧初始化算法运行,在跟踪失败时,会运行平台给出的目标检测算法检测出目标物体再次运行算法。OTB-2015从随机帧开始,或矩形框加随机干扰来初始化跟踪算法,更加符合实际情况。具体评价指标有如下:
(1) Precision plot:算法估计的目标位置中心点与人工标注的目标中心点,当两者的距离小于给定阈值,计数器加一,最后统计百分比。不同的阈值,得到的百分比不一样,因此可以获得一条曲线。黄色代表算法估计目标位置,绿色代表人工标注目标位置,黄色中心与绿色中心的距离为红色线,根据距离大小表示跟踪效果。
(2) Success Plot:算法估计的目标位置记为a,人工标注的目标位置记为b,重合比例记为:
(3) 标志重叠像素比例,设定一个阈值,当像素重叠比例高于阈值,计数器加一,统计计数器占总视频帧数的比例,根据不同阈值,可以画出一条曲线。黄色代表算法估计目标位置,绿色代表人工标注目标位置,黑色区域代表两者之间的重叠部分,根据重叠比例大小表示跟踪效果。
(4) TRE: 在一个视频序列中,每个跟踪算法从不同的帧作为起始帧,进行追踪,比如分别从第一帧开始进行跟踪,从第十帧开始进行跟踪,从第二十帧开始进行跟踪等,初始化采用对应帧标注的ground-truth,分别求得到平均值。
(5) SRE: 某些算法对初始位置是比较敏感的,采用人工标注的位置进行跟踪,为评估算法对人工标注位置的敏感程度,将初始框进行轻微平移和尺度缩放,进而评估。
(6) OPER:算法在工作期间,容易出现跟踪失败的情况,此时对下一帧目标进行初始化,其余与OPE一致。
(7) 对于VOT benchmark来说,accuracy (A), robustness (R) and expected average overlap (EAO)是VOT的评价指标。一个好的跟踪算法,要求有较高的A值,较低的R值和较高的EAO值。
(8) OPE评价方法包括Precision plot和Success Plot,是比较简单直观的两种评价方式,但存在对初始位置比较敏感和没有重新初始化机制的问题。TRE评价指标通过设置不同起始帧完成对算法是否对初始位置敏感的考察,SRE评价指标通过将初始框进行平移和缩放考察是否对初始位置敏感。当算法出现跟踪失败的情况下,OPER评价指标在下一帧重新初始化再跟踪,解决了算法失败的问题的考察。我们将基于特征融合的跟踪算法在相应数据集上进行毕竟和测评。
在OTB-2015平台上将这两种优化方法与其他顶级跟踪算法的性能作对比,作为补充实验,实验结果如图3-3所示。
4.1系统整体设计与实现
基于系统需求和功能分析的结果,系统应当包括五个主要模块,分别为:前端交互模块、中央控制模块、物体检测模块、目标跟踪模块和系统复位模块。
整体的系统功能模块图及数据流动如图4.1所示。
前端模块用于实时地接受用户指令并展示物体检测和目标跟踪过程的状态和性能信息,为用户留出交互接口,具有良好的人机交互性和逻辑正确性,用户指令转发给中央控制模块。前端原型设计图如图4-2所示。采用功能按钮区和展示功能区分别集中布置的布局思路,保证界面的简洁美观。
中央控制模块用于根据前端发回的指令控制系统运行和停止,并实时性的分析系统当前运行的性能、记录和保存相关数据结果用于算法和系统性能测试。物体检测模块用于检测视频帧当中出现的物体并给出检测框位置、物体分类信息以及置信率,并将相关信息交付给目标检测模块。目标检测模块中嵌入基于检测的多种跟踪算法,将检测算法结果作为输入,在视频帧流不断前进的过程中实现实时的跟踪,并将跟踪的情况在反馈给中央控制模块,最终将图片跟踪结果和系统跟踪性能数据展示在前端界面。系统复位模块能够清除系统运行过程中产生的垃圾数据,保障相邻两次系统运行流程间互不干扰。
如图4-3所示点击执行初帧检测,经过运算展示初帧图像中物体检测框位置和物体类别信息。
如图4-4所示,点击执行跟踪按钮,系统开始运行跟踪算法,跟踪框漂移情况和算法fps、IOU性能分别给予不同形式的展示。
如图4-5所示,点击保存跟踪视频处理结果,弹出对话框,用户选择处理视频文件保存位置。视频自动保存。如图4-6所示是保存的视频播放结果。
如图4-7和图4-8所示分别是保存fps和IOU性能结果在系统中运行的操作截图。图4-9和图4-10分别是保存的fps和IOU性能结果图内容。
5.1结论
本课题实现了广泛调研了物体检测、目标跟踪和系统构建的算法和理论。首先对目前性能较好的基于深度学习框架的MDNet算法进行改进,主要是融合多层特征以及自适应框的改进,将改进算法在OTB等多个数据集上进行了测试并取得了较好的效果。基于算法完成了基于深度特征的物体检测和目标跟踪系统,系统集物体检测与分类、目标实时性跟踪、算法性能与系统性能检测评估、相关数据保存等功能。系统是分模块实现的,其中物体检测模块主要是基于YOLOv3实现,目标跟踪模块嵌入了改进的MDNet算法,可供用户自行选择对比。总体来说,系统交互逻辑可靠、人机交互性尚可、功能复杂而完备。
分享让更多人看到
推荐阅读
相关新闻
- 评论
- 关注