第1章绪论
1.1研究意义
视觉目标检测跟踪是计算机视觉领域的一个重要研究方向,其主要目标是在图像序列中准确定位到目标的位置。视觉目标跟踪从兴起之初就得到了国内外研究人员的关注。从应用性角度看,在视频监控、智能机器人、场景分析、军事对抗等领域,都需要目标跟踪算法作为关键支撑技术;同时,目标跟踪技术也是进行智能视频分析和决策等高层任务的基础,没有可靠的跟踪算法,这些高层的视频理解任务将难以实现。
根据视频的采集环境,可将视觉目标检测跟踪技术分为单目视觉下的运动目标检测跟踪和多目视觉下的运动目标检测跟踪。单目视觉下的运动目标检测跟踪,仅从单个摄像机中采集的视频中,直接对运动目标进行二维检测跟踪。相对于单目视觉下的运动目标检测跟踪,多目视觉环境下还需要将多个单目或其检测跟踪结果进行关联、融合,从而实现运动目标的二维甚至三维检测跟踪。多目视觉环境下的运动目标检测跟踪技术相对于单目环境,其过程更加复杂,但是由于可进行多视点及三维跟踪,因此能较好地解决遮挡问题(场景对目标的遮挡、目标之间的遮挡),并能有效地对目标进行三维定位。根据处理目标的数量,可将视觉目标检测跟踪技术分为单目标检测跟踪和多目标检测跟踪。多目标检测跟踪相对于单目标检测跟踪,除了要考虑场景中其他物体对运动的遮挡外,还需要考虑运动目标之间的遮挡、合并及分离。
本书对以上内容进行研究,针对单目视觉下的运动目标检测跟踪,分别对自然场景、红外小目标及运动捕获等具体应用场景,给出了运动目标检测、位置预测及模板匹配的跟踪思路和方法;针对多目视觉下的运动目标检测跟踪,结合多目视觉下基于标记点的运动捕获的实际应用,对无明显特征区分的多个标记点目标进行三维检测跟踪,给出多目视觉环境下多目标检测跟踪的遮挡、运动机动性、数据融合等问题的解决思路和方法。
近年来机器学习方法在目标跟踪中的应用受到了广泛的关注,且在公开数据集上的测试取得了较好的跟踪效果。因此本书针对目标长时在线跟踪中的漂移问题、尺度变换问题及目标精确定位问题,研究了基于机器学习方法的解决思路与过程。
综上,本书针对视觉环境下目标检测跟踪中面临的遮挡、尺度、机动性、信息融合等问题进行了研究,并通过理论推导给出了有效的解决思路,同时结合实际应用场景,给出了实现方案、方法,这将有力地推动基于视觉的运动目标检测、跟踪技术在工程实践中的应用。
1.2国内外研究进展
1.2.1单目视觉下的目标检测跟踪
基于卡尔曼(Kalman)滤波的跟踪方法[1]由于其跟踪精度高、运算量小且对运动目标能进行连续稳定的跟踪,所以自1960年提出后,在很长一段时间内得到了比较广泛的应用。但是,当目标出现机动时,卡尔曼滤波跟踪方法无法准确预测出目标的位置,导致跟踪不准确甚至失败,故许多学者提出了基于多模型的跟踪方法[2],如IMM(interacting multiple model,交互多模型)[3]、VSMM(multiple-model estimator with variable structure,变结构多模型估计)方法[4]等,通过利用多个目标状态模型来逼近目标的真实运动模式(其中每个模型对应着一种可能的机动模式),从而实现对机动目标的有效跟踪,但是这些方法运算复杂且均是建立在一定的目标运动假设和噪声特性假设的基础上,而在实际环境下,目标发生机动并存在起伏时,这些假设往往是不尽合理的。
基于模板匹配的跟踪将跟踪问题看作一个匹配问题,即在图像中找到与待跟踪目标模板*相近的区域。基于模板匹配的跟踪算法首先提取目标的特征作为目标描述,然后将特征向量做比较,特征向量的距离*接近即为*相似,具有*小距离的候选样本即为跟踪结果。
Briechle和Hanebeck[5]在2001年提出一种归一化互相关系数(normalized cross correlation,NCC)方法来计算图像区域的相似度,因此该跟踪方法也称NCC跟踪,该方法以在第一帧中初始化的矩形框的灰度值作为目标模板,在之后的每一帧中以前一帧中目标的位置周围的均匀分布作为候选区域,计算候选区域与模板之间的正相关系数,将计算结果*小的候选区域作为跟踪到的目标的位置。这种方法不更新模板,在整个跟踪过程中模板不变。
Comaniciu等人[6]提出了Mean Shift跟踪算法(图1.1)。该跟踪算法在对非刚体目标跟踪时可得到较好的性能,并能达到实时跟踪。Mean Shift算法使用颜色直方图特征作为匹配特征,替代传统的像素空间特征进行匹配。使得对于发生形变的目标跟踪效果显著提高,该算法使用RGB颜色空间的直方图。对每一帧图像,跟踪器将候选窗口的直方图特征与模板特征进行匹配,使用巴氏距离进行度量,距离*小者作为跟踪到的目标。目标模板在第一帧图像初始化,跟踪过程不进行更新。
图1.1 Mean Shift跟踪算法
2004年Baker和Matthews[7]提出KLT(Kanade-Lucas-Tomasi)跟踪算法,KLT方法假定目标不发生较大的位移,且亮度不发生大的变化,在这种前提下,都能得到一个很好的结果。KLT方法将跟踪问题看作图像匹配问题,即将输入图像对准到模板图像上。传统的图像匹配一般采用滑动窗口搜索方法,而光流法则将其变为一个求解偏移向量的过程,这里的偏移向量又称光流,因此这种跟踪方法又叫Lucas光流法,以此完成输入图像到模板图像的跟踪。
Oron等人[8]在2015年提出LOT(locally orderless tracking)跟踪算法,该跟踪算法可以适应目标的外观变化。LOT跟踪算法自动估计目标的局部无序量,这使得算法对特定的刚体目标或可变形目标的跟踪不需要目标的先验知识。给定初始化的目标边框,LOT算法将目标分割为超像素,每一个超像素使用质心坐标和HSV(hue,saturation,value)颜色空间的值表示。目标的候选位置在前一帧跟踪结果的基础上,使用粒子滤波(particle filter,PF)和高斯权重法估计得到。算法提供随着时间的推移而变化的目标概率模型,该模型使用陆地移动距离(earth mover’s distance,EMD)作为像素移动和颜色值改变的代价函数,计算每一个候选窗口的似然函数值,将函数值*大的作为目标。
基于模板匹配的跟踪方法虽然模型单一、计算量小,但对复杂环境下的在线目标跟踪问题却难以应对,同时当跟踪产生漂移时也不能恢复,即不能解决复杂情况下的目标跟踪。
1.2.2双目及多目视觉下的目标跟踪
多目标跟踪的基本概念是20世纪50年代中期提出的,然而直到70年代随着卡尔曼滤波技术的广泛应用,多视觉多目标跟踪技术才引起人们极大的兴趣。此后,Singer和Kanyuck[9]与Bar-Shalom[10]将滤波理论与数据关联技术有机结合在一起,开创了现代多视觉多目标跟踪理论及其应用。目前使用单一的统计模型完成目标的跟踪已经有许多成熟的方法,如Kalman滤波、粒子滤波[11]以及它们改进、扩展的形式,这些跟踪方法在视频序列目标跟踪中得到了广泛的应用,在目标机动性不大的情况下取得了较好的跟踪效果。针对机动目标的跟踪,有关学者提出了多模型的方法[12],即用多个目标状态模型来逼近目标的真实运动模式,使用模型之间的随机跳变来描述目标的随机机动,并基于多个模型设计出多个滤波器,从而实现对机动目标的有效跟踪。多模型方法分为三代,第一代是自治多模型方法,从每个模型的滤波器单元产生一个总体估计,但是总体估计精度并不高。第二代是协作多模型方法,尤其是20世纪80年代末提出的交互多模型(IMM)方法[13],是多模型方法的里程碑,并与各种数据关联方法以及各种滤波器相结合形成了诸如IMM-(J)PDA(interacting multiple model-joint probabilistic data association)[14]、IMM-MHT(interacting multiple model-multiple hypothesis tracking)[15]、IMM-(U)PF(interacting multiple model-unscented particle filter)[16]等多种目标跟踪的综合方案。同时IMM方法被认为是第一个达到实际应用水平的多模型跟踪方法。虽然IMM方法为机动目标跟踪提供了有效的手段,但是由于该方法基于固定模型集,会出现实际目标运动模式与模型集不匹配的问题,且计算量会随着模型的增多成指数增长。鉴于上述问题,Li和Bar-Shalom 提出了第三代多模型方法,即具有模型集自适应能力的变结构多模型估计(VSMM)方法[17],例如,模型组切换(model-group switching,MGS)[18]、可能模型集(likely-model set,LMS)[19]、期望模式修正(expected-mode augmentation,EMA)[20]以及一些改进方法等[21]。
国内在多目标跟踪方面起步较晚,20世纪80年代初,才开始从事这方面技术的研究。目前国防科技大学、清华大学、北京航空航天大学、西安电子科技大学、西北工业大学、中国科学院电子学研究所等多家单位在机动目标跟踪、多传感器综合跟踪与定位等领域积极开展理论及应用研究,并在战区指挥自动化、舰队编队信息融合、组网雷达数据处理等领域研制出一批具有初步融合能力的多传感器跟踪系统。
1.2.3机器学习与目标跟踪
基于学习的跟踪算法通过区分前景和背景,实现复杂情况下的鲁棒跟踪。这类方法将目标跟踪转化为目标检测和目标分类问题:首先进行目标检测,然后将检测出的目标输入到训练好的分类器中,*后根据分类结果决定检测出的目标是否为待跟踪目标。这就是目标流行的先检测后跟踪(tracking by detection)框架,如图1.2所示。
图1.2先检测后跟踪框架
基于多示例学习(multiple instance learning,MIL)算法[22]的工作机制如图1.3所示。该算法根据到目标的距离,将目标附近的样本都作为正样本,距离目标较远的样本作为负样本,增加了样本的数量,并且先对样本分组再进行训练,将含有正样本的样本组视为正样本,其他为负样本。该算法对目标的外观变化具有较好的鲁棒性。
Kalal等人[23]提出了一种将跟踪、检测和学习结合的跟踪算法—TLD(tracking,learning,detection)跟踪算法。该算法利用鲁棒的在线学习机制,使得整体的目标跟踪更为准确和鲁棒。长时间跟踪过程中,由于环境的复杂性,待跟踪目标将无法避免发生外观变化、光照条件变化、尺度变化、遮挡等情况。对于遮挡问题,一个算法能否准确跟踪的关键是,当目标重新出现时,算法应该能够定位到它的位置,并开始重新对其跟踪。TLD算法的跟踪框架如图1.4所示。TLD跟踪算法跟踪速度一般,基本能做到实时跟踪,对光照变化、尺度变化和形状变化不敏感,但对复杂背景、边缘遮挡表现不是很好,当目标运动较快时,跟踪结果较差。
图1.3多示例学习样本的获取机制
图1.4 TLD跟踪框架
传统算法的分类器只是简单训练上下几帧的图片,没有涉及图片与图片之间的转化关系。样本在训练中是一样的权重(与覆盖目标的面积无关)。另外,正负样本的选取通常是人为因素决定的。Hare等人[24]提出Struck(structured output tracking with kernels,带核的结构化输出跟踪)算法,Struck算法框架主要由跟踪器与学习器组成,不再对候选窗口进行分类,而是输出一个相邻帧之间的*优变换,以此得到当前帧的目标位置,再对学习器进行更新。学习器使用核化结构输出支持向量机(kernelized structure output s
展开