摘 要
基数庞大且增势迅猛的摄像头为我们带来了海量的监控视频数据,如何处理好、利用好如此庞大的视频数据资源也成为了难题。传统人工方式处理监控视频数据费时费力且效果不佳,利用计算机与摄像头进行目标跟踪相比传统人工监视的方式可以有效节约人力物力并提高处理效率。
传统目标跟踪方法的准确性较低,且面对遮挡,旋转,非刚性体形变的鲁棒性较低,基于相关滤波与深度学习的方法有效提高了鲁棒性,但计算量大也导致了算法的实时性不佳。本文在实现算法选择上,需要针对实时性与鲁棒性进行折中,得到具有一定实时性与准确性的模型。
目前市面上的摄影机有部分可以支持云台,能通过旋转调整摄影机的角度,获得更多的视野,可以利用其可旋转的特点为跟踪器模型设计外围程序,通过目标跟踪控制摄像头跟随目标旋转。
本文将先选择合适的目标跟踪算法,调试得到跟踪器模型后对比将性能较好的模型与云台摄像头连接,编写外围程序使跟踪器模型驱动云台摄像头跟随目标转动。
关键词: 目标跟踪、相关滤波、深度学习、云台监视器
- I -
中国石油大学(北京)本科毕业设计
第 1 章 文献综述
1.1 研究目的及意义
据行业调查公司 IHS Markit 在 2017 年得到的数据显示,中国在公共和私人领域(包括机场、火车站和街道)共装有约 1.76 亿个监控摄像头,而同一时刻,在美国只安装了约 5000 万个摄像头。预计到 2020 年中国安装摄像头的数量会增加到 6.26 亿个。
基数庞大且增势迅猛的摄像头为我们带来了海量的监控视频数据,如何处理好、利用好如此庞大的视频数据资源也成为了难题。在通过传统闭路电视进行监控的方式下,人们只能通过监视器看到摄像头正在拍摄的场景,这种监控方式十分依赖人的处理来对既定场景中发生事务的监测、判断与响应。而这样的操作方式存在着一定的弊端:
(1)工作人员长时间进行实时监控工作后,会发生眼睛疲劳,注意力下降等问题,直接导致监控工作的效率降低,产生更多的误差或遗漏。
(2)在需要查看历史监控数据的情况下,由于系统内可能连接了大量的摄像头,依靠人工来处理大量的监控视频,对视频内容进行辨认、搜索或者跟踪目标等工作将变得极为困难且浪费人力物力。
而随着基于计算机视觉的视频处理系统的出现,利用图像处理技术进行视频跟踪与视频分析的技术,在降低成本,节约人力,提高监视系统的准确性与监控范围上有极好的前景,也催生出了基于视频的目标跟踪这一研究方向。
基于视频的目标跟踪(又称视觉跟踪)一直以来都是计算机视觉领域内的一个重要课题与研究热点,其应用前景十分广阔,包括但不限于智能视频监控、现代化军事武器研发、基于视频的人机交互、智能交通系统、智能视觉导航、三维重建、医疗诊断、虚拟现实、增强现实等。
目标跟踪的任务是在一个给定的连续视频帧序列中,不断发现被跟踪的目标物体的位置并建立目标物体的关系,得到其完整的轨迹。这与安防领域的视频监控所要达到的目的十分接近。
在安防领域中,目标跟踪技术最重要的应用有两点:一方面,需要对监控摄像头得到的视频中的特定目标进行跟踪或搜索,来获得对可疑物品或人员更多的外形信息以及位置或动向信息,这要求所使用的目标跟踪算法有着较高的准确性;另一方面,存在部分情况需要对监控摄像头传来的图像进行实时跟踪,第一时间掌握可疑目标的动向,此时高实时性成为了主要要求之一。而对于高准确性(鲁
- 3 -
第 4 章 实际资料处理分析
棒性)与高实时性的取舍,也是实现过程中需要考虑的问题。
而云台监控摄影机的广泛使用,带来了更广的监视范围,此时除了对目标跟踪算法的实时性有要求之外,还要求程序能针对所跟踪的目标调整云台摄影机的拍摄角度,以保证被跟踪的目标尽量位于监视器正中,获得更多关于目标的信息。
1.2 国内外研究现状
图 1 目标跟踪的基本框架
目标跟踪是计算机视觉领域内非常重要的问题,其基本框架如图 1 所示。初始化跟踪器后,跟踪器通过运动模型及上一阵目标的位置预测当前帧目标可能出现的区域,之后对这些区域的特征进行提取,利用外观模型比对提取出的特征与目标特征预测区域被跟踪的可能性,取可能性最大的作为目标图像区域,并基于被判定的目标图像区域提取特征,进行外观模型更新,用于下一帧的跟踪。
在如视频监控、人机交互等诸多场景下,目标跟踪有着广泛的应用。根据外观模型的不同,目标跟踪的方法被分为生成模型方法与判别模型方法两类。
生成模型方法通过在当前帧进行建模,并在下一帧中搜索与模型最为相似的区域作为预测位置,完成定位。此类方法仅考虑了目标的信息,背景数据中的大量信息被浪费。具有代表的传统生成类方法包括卡尔曼滤波、粒子滤波以及均值偏移(mean-shift)等。
判别模型方法将目标跟踪任务视为一个二元分类问题,将当前帧中的目标区域作为正样本,其余的背景区域作为负样本,利用机器学习的方法分别训练分类
- 4 -
中国石油大学(北京)本科毕业设计
器,在下一帧中将目标从背景中分离出来。此类方法与生成模型类方法最大的区别是在训练分类器的过程中使用了背景信息,这使得分类器能集中于区分目标与背景,得到的效果普遍比生成模型类好。[1,2]此类方法中较有代表性的有 Struck[3]、TLD(tracking-by-detection)[4].
生成模型类方法的思想是计算目标和样本的联合概率,找到目标最相近的样本作为当前目标的估计,而判别模型类方法的思想是计算条件概率,直接判断是否为目标。两类方法的优缺点对比如表 1 所示。
|
表 1 生成模型方法与判别模型方法的优缺点对比[5]
|
|
|
|
|
生成模型方法
|
判别模型方法
|
|
|
|
优点
|
1)实际上包含的信息比判别模
|
1)能清晰的分辨出多类或某一类
|
|
型丰富
|
与其他类之间的差异特征
|
|
|
|
|
2)研究单类问题比判别模型灵
|
2)充分利用目标和背景信息,跟
|
|
活性强
|
踪准确率更高
|
|
|
|
|
3)能用于数据不完整的情况
|
|
|
|
|
|
4)处理视角变化、部分遮挡和
|
|
|
目标尺度变化效果较好
|
|
|
|
|
缺点
|
1)不能充分利用目标背景信息
|
1)不能反映训练数据本身的特征
|
|
|
|
|
2)鲁棒性不高
|
2)计算量大,难以满足跟踪中实
|
|
|
时性的要求
|
|
|
|
在上述传统算法中,TLD 算法与其他算法相比,有着在长期跟踪上的鲁棒性。多数传统算法在跟踪过程中会不断积累误差,如果目标从监视器视野中消失,将有极大概率跟踪失败;在只使用检测算法是需要事前进行训练,且训练得到的原型无法对未知目标进行检测。TLD 的算法的框架如图2 所示,将目标输入跟踪器,同时将视频帧输入跟踪器,检测器和学习器,得到的跟踪结果由混合器结合跟踪器与检测器的结果生成,之后学习器根据跟踪器、检测器以及混合器的结果学习目标模型,并对跟踪器和检测器进行更新。其核心是将跟踪算法与检测算法进行结合,跟踪器向训练器提供数据以进行训练;检测器可以在跟踪失败的情况下初始化跟踪器,减少跟踪失败的情况,以此实现鲁棒性较高的长时间跟踪。但对目标遮挡、比例变化的鲁棒性不足。
- 5 -
第 4 章 实际资料处理分析
图 2 TLD 算法的框架
近十年来,在目标跟踪领域发展较好方法的主要是相关滤波类(correlation filter)方法和深度学习类方法。
起初的相关滤波器在设计时,目的是得到一个对视频场景中感兴趣的目标产生峰值响应,而对场景中背景部分产生低响应值的滤波器来用于检测,这类滤波器在定位中比较有效,但训练过程所需要的样本数量较大,不适用于目标跟踪。
直至 2010 年,Bolme 等人提出了最小平方误差输出总和滤波器(MOOSE),改善了这种状况,实现了实时有效的目标跟踪。此方法采用自适应相关滤波器对目标外观进行建模,并通过卷积进行跟踪,能对光照变化、比例变化以及非刚性体的形变有很强的鲁棒性。成为了相关滤波算法在目标跟踪领域首次较为成功的应用。
自此相关滤波在目标跟踪领域逐步得到发展。有学者针对特征部分对算法进行改进,如 Henriques 等人提出了将 RGB 颜色空间扩展为他们提出的 11 位 CN 颜色空间来提升跟踪精度[6]的方式,在保持相关滤波类方法较高的实时性上,进一步提升鲁棒性。还有学者将多核方法应用于相关滤波中[7](CSK、KCF 等方法),利用核函数将线性空间内不可分的样本映射到高维空间,以增加样本的可分性。
得益于循环矩阵的特殊性质,相关滤波算法可以将运算转换到频域进行简化,提高运算性能,在方法改进上为提高精度留下了很大空间。由此发展而来的算法也凭借较高的精度与较高的性能得以广泛应用。但还存在一些有待解决的问题。由于算法是取一定面积的搜索区域进行图像滤波操作,如果区域过小,在目标快速移动时会检测不到;如果区域过大,又会引入过多背景信息,一旦背景复杂,容易造成跟踪漂移。另外,跟踪器的负样本来自于中心样本的循环位移,其局限性不能保证分类器判别性能。
深度学习是机器学习研究中的一个新的领域,其动机在于建立、模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如图像,声音和文本。
- 6 -
中国石油大学(北京)本科毕业设计
近年来,深度学习方法以其强大的特征表达能力在图像和语音识别方面取得了令人惊异的成果。这两年涌现了大量的基于深度学习的目标跟踪算法。尤其是
在 2015 年以来的顶级国际会议 ICCV,CVPR,ECCV 等,越来越多基于深度学习的跟踪算法取得了超越传统跟踪算法的性能。目前在在基础测试数据库(OTB,VOT等)上,准确度排名靠前的算法都是基于深度学习的目标跟踪算法。采用粒子滤波的深度目标跟踪算法一般需要上百个粒子训练分类器或匹配器,每个粒子都要经过复杂的卷积层以提取特征,增加算法复杂度,限制算法速度的提升。为了同时保证算法精度与速度,很多算法结合深度学习方法与相关滤波算法,取得不错效果。
深度学习的另一大优势是端到端的输出。例如目前已经集成在 OpenCV 3.2.0
的开发版本中的 GOTURN 方法[8]。GOTURN 方法利用 ALOV300+视频序列集和
ImageNet 检测数据集训练了一个基于图像对输入的卷积网络,输出在搜索区域内相对于上一帧位置的变化,从而得到目标在当前帧上的位置。为了得到网络训练所需的大数据集,不仅利用了视频序列集中的随机连续帧对图,而且利用了更多的单张图片集进行数据增强。对于数据的扰动分布,作者也做了大量的实验,使得跟踪的位置变化更加平滑。
图 3 GOTURN 的网络结构图
从图 3 的网络结构中可以看出,GOTURN 先从输入的图像对中分别提取前一帧和当前帧中区域的图像,送入卷积层中获得卷积特征,再送入三个全连接层,最后得到预测的位置变化。其中卷积层是通过 ImageNet 预训练得到,并且在跟踪网络训练中固定这部分参数(防止过拟合),学习全连接层的参数。本质上说, GOTURN 也利用了深度学习强大的特征表达能力。虽然与目前顶尖的利用深度学
- 7 -
第 4 章 实际资料处理分析
习进行目标跟踪的方法相比在准确性上明显不足,但是,它建立了第一个基于深度学习的端到端输出的跟踪框架,而且在 GPU GTX680 上跟踪速度在能达到100fps。
目前准确率顶尖的算法基本上是使用了相关滤波类算法结合深度学习进行训练,这也是深度学习在特征提取、外观建模上的优势。但这些算法需要大量的样本进行训练,不切合视频跟踪仅提供第一帧的样本,且大规模的深度网络需要的计算量大,实时性较差。
1.3 小 结
课题研究内容将围绕视频帧中的目标跟踪,利用深度学习方法对跟踪器进行训练以提升训练器的准确度展开,最后将训练器原型部署在云台监视摄影机系统中,实现对单个摄影机对目标的跟踪。
第一章主要对目标跟踪的各种方法进行了简介。
第一节介绍了目标跟踪的研究目的以及在安防等实际领域的意义;
第二节介绍了目标跟踪方向的研究现状,包括目标跟踪方法的分类以及各个分类中有特点的方法。
- 8 -
中国石油大学(北京)本科毕业设计
第 2 章 开题报告
2.1 主要研究内容
本次毕业设计首先要完成一个实现目标跟踪算法的模型,之后将原型与云台监视摄影机系统结合,操控摄影机跟踪目标。
2.1.1 目标跟踪算法
目前准确率顶尖的算法基本上是相关滤波类算法结合深度学习进行训练,需要的计算性能相对较高。由于需要同时考虑实时性与准确性,本文中使用的目标跟踪算法将参考相关滤波类方法中较为经典的几种,如 MOSSE,KCF 等。以下介绍几种基于相关滤波的目标跟踪算法。
(1)MOSSE 算法
MOSSE 算法的训练样本是通过目标的仿射变换得到的,每个样本的输出为各自的一个高斯分布,然后根据误差平方和最小的原则计算这一帧的滤波器模板。接着用训练得到的滤波器在下一帧中找到目标的位置,最后再更新滤波器。滤波器训练采用的特征是最原始的灰度特征,特征表示能力较弱,后续有算法对其进行改进,好的特征表示可以提高跟踪算法的鲁棒性。整体算法都够适应小尺度的目标变化,但是不能适应大尺度的目标变化。MOSSE 算法的缺点如下:
① MOSSE 算法的样本采样仍是一种稀疏采样,训练效果一般;
② 采样的是线性滤波器(最小二乘法),分类性能一般;
③ 采用的特征是单通道的灰度特征,表征目标的能力有限。
(2)KCF 算法
KCF 算法的思想是,由目标区域形成循环矩阵,再利用循环矩阵在傅立叶空间可对角化等一些性质,通过岭回归得到通用的预测公式。该预测公式没有矩阵求逆的计算,大大减少的计算量。这归功于作者巧妙地将循环矩阵在傅立叶空间的性质与目标跟踪时循环采样相结合。
KCF 的缺点如下:
① 依赖循环矩阵,对于多尺度的目标跟踪效果并不理想;
② 对特征的快速变化(使用 HOG 特征时发生目标快速变形或使用颜色特征
- 9 -
第 4 章 实际资料处理分析
时目标颜色快速变化)不鲁棒;
③ 对物体快速运动或者低帧率视频不太鲁棒。
(3)CN 算法
CN 算法的作者建立了一种比 RGB 颜色特征更为丰富的多通道颜色特征 Color Name(CN)来扩展 CSK 算法得到的改进算法。CSK 算法使用循环位移方法对目标窗口采样,并用其所有循环位移样本作为训练样本。(由于得到的密度样本集有循环结构,可以在傅里叶域内快速计算。)以此样本学习一个核化最小二乘分类器,使用目标灰度图像块周围的所有循环移位作为样本训练分类器,用高斯函数对样本进行标注,利用核变换扩展到高维空间,采用与 MOSSE 类似的方法实现跟踪。
而 CN 方法则是将 RGB 空间中的图像先映射到 CN 空间,再使用主成分分析(PCA)方法将高维度的颜色空间降低至 2 维,减少计算量。之后使用 CSK 方法进行跟踪。
基于前述三种算法的特征与缺陷,决定采用 MOSSE 算法与 KCF 算法进行进一步的研究。
2.1.2 控制云台摄影机跟踪目标
工程常用的云台监控摄像头有海康威视、中兴、360、天地伟业等品牌,各个品牌摄像头开发时使用的 SDK 都是专门的,在针对这方面程序设计会针对实际使用的摄像头选择对应的 SDK。
2.2 研究方案
为了完成本论文,研究方案流程如图 4 所示。首先选择一到两种目标跟踪算法搭建跟踪器模型,分别实现对单个目标进行跟踪,进而比对得到较好的模型。之后将较好的模型与云台摄影机连接,达到控制摄像头跟踪目标旋转,使目标稳定在视频正中的效果。
- 10 -
中国石油大学(北京)本科毕业设计
图 4 研究方案流程图
2.3 毕业设计成果
1.实现单点的目标跟踪,建立原型
2.迁移跟踪器模型至云台监视摄影机的环境,利用跟踪器模型使云台摄影机能跟踪目标。
3.认真撰写论文,论文篇幅、格式满足毕设需求。
2.4 时间安排
|
表 2 时间安排
|
|
|
时间
|
任务
|
|
|
2019.2
|
搜集相关资料,阅读相关文献
|
|
|
2019.3
|
学习算法,搜集数据;完成开题报告,准备开题答辩
|
|
|
2019.4
|
搭建并调试得到跟踪器模型,比对模型跟踪结果
|
|
|
2019.5
|
连接模型与云台摄影机,实现摄影机跟随目标转动
|
|
|
2019.6
|
根据导师的建议,继续完善程序,并撰写毕业论文最终稿,准备答辩
|
|
|
|
- 11 -
|
参考文献
[1] Wu Y,Lira J,Yang M H.Online object tracking:a benchmark [C]//Proceedings of IEEE Conference on Computer Vision and Pattem Recognition.Portland,OR,USA:IEEE,2013:2411 — 2418.[DOI:10.1109/CVPR.2013.312]
[2] Wu Y,Lim J,Yang M H.Object tracking benchmark[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2015,37(9):1834—1848.[DOI:10.1109/TPAMI.2014.2388226]
[3] Hare S, Golodetz S, Saffari A, et al. Struck: Structured output tracking with kernels [J]. IEEE TPAMI, 2016.
[4] Kalal Z, Mikolajczyk K, Matas J. Tracking-learning-detection [J]. IEEE TPAMI, 2012.
[5] 朱文青,刘艳,卞乐, 等.基于生成式模型的目标跟踪方法综述[J].微处理机,2017,38(1):41-47. DOI:10.3969/j.issn.1002-2279.2017.01.011.
[6] DANELLJAN M, KHAN F S, FELSBERG M, et al. Adaptive Color Attributes for Real-Time Visual Tracking / / Proc of the IEEE Conference on Computer Vision and Pattern Recognition. Washington, USA: IEEE, 2014: 1090-1097
[7] HENRIQUES J F, CASEIRO R, MARTINS P, et al. High-Speed
Tracking with Kernelized Correlation Filters. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2014, 37 ( 3 ) : 583 - 596.
[8] Held, David,Thrun, Sebastian,Savarese, Silvio.Learning to Track at 100 FPS with Deep Regression Networks[J].,2016.