本发明涉及视频图像处理技术领域,具体涉及一种基于样本学习和目标检测结合的适合对视频行人进行长时间稳定的目标跟踪方法和装置。
背景技术:
行人跟踪作为视频图像处理的一个重要研究方向,对后期的人体运动信息提取、处理、理解,环境信息三维立体重建等,具有先导作用,也被用作行人识别的辅助方法,其用途广泛。目前比较成熟的行人跟踪算法从技术角度主要分为两类:第一类是传统的经典跟踪算法,包括基于点的跟踪、基于统计的跟踪、基于轮廓的跟踪等,这类方法所建立的数学模型相对简单,运用单纯的目标跟踪理论,技术已经比较成熟,实际应用已经非常广泛;第二类是综合跟踪算法,包括基于机器学习的跟踪算法和目标检测与跟踪综合算法等,这一类算法综合运用了机器学习、检测、识别等多种手段,已经不再是单纯的目标跟踪,在提高跟踪效果的同时,对运算速度较为敏感,算法复杂度方面也有待进一步改进。
目前,在国内外有众多机构都在进行行人跟踪方向的研究。kalal等提出了多种视频跟踪算法,包括tld方法、在线检测方法、错误目标自动检测方法和boosting方法;albertobroggi在其主导的argo项目中采用了一种基于外形的行人跟踪方法,该算法首先根据人体左右对称的特点,收集目标行人在垂直方向上边缘对称、外貌和尺寸比例等特征,在图像中找到感兴趣的候选区域,然后提取出垂直边缘,选取具有较高对称性的区域。美国麻省理工大学的m.oren与c.papageorgiou合作创建了haar小波模板,并将其引入到行人跟踪领域中。haar小波模板比较适合用于表示结构较为简单的物体,效果较好而且速度快,目前已经被广泛应用于行人跟踪过程中。haar小波模板行人跟踪算法依靠其优异的特性,成为了行人跟踪的经典算法之一。navneetdalal和billtriggs使用梯度方向直方图(hog)来表示人体特征,通过在inriaperson数据集中的测试,该方法成功率高,在行人方面有着很强的鲁棒性,特别是在道路行人跟踪的应用场景中,效果非常好。伊利诺伊大学的niebles.j.c等人,采用将adaboost分类器级联的方法进行人体的识别,并将该算法引入到了行人跟踪的领域,使得行人跟踪的效果有了进一步提高。中国科学院自动化所谭铁牛等人对人体运动进行了图像分析,该方法的思路是利用机器视觉技术在视频流中检测、跟踪、识别行人,然后对目标行人的动作、行为等进行理解和描述,该方法主要应用在监控领域和基于姿态的身份识别中。通过实验,该算法不仅在对行人的跟踪和识别方面具有良好的特性,而且,更难能可贵的是其算法的时间复杂度也比其他类似算法要低。但是,当行人停止运动时,该算法会失效。西安交通大学郑南宁等通过稀疏gabor滤波器提取目标行人的特征,然后使用这些特征来对svm分类器进行训练。这种方法时间复杂度较高,难以达到实时处理的要求。上海交通大学的田广等人提出了一种coarse-to-fine的行人跟踪方法,先用一个训练好的形体整体分类器在图像中搜索和判别是否有行人,产生候选区域后,再使用各人体部位的局部分类器进一步确定候选区域中的行人。结果显示该方法能够在较为复杂的背景环境中跟踪行人,但是该算法的模型比较难构建,而且求解也比较复杂。
综上所述,现有技术中对于行人停止运动时,如何进行行人的跟踪和识别,算法时间复杂度较高,难以达到实时处理,在较为复杂的背景环境中跟踪行人,难构建算法模型,求解比较复杂的问题,尚缺乏有效的解决方案
技术实现要素:
为了克服上述现有技术的不足,本发明提供了一种基于样本学习和目标检测结合的适合对视频行人进行长时间稳定的目标跟踪方法和装置,以tld目标跟踪算法作为基础框架,引入hog特征和svm分类器,解决了现有跟踪算法求解复杂,难以达到实时处理的问题,实现了对视频目标的实时准确跟踪。
本发明所采用的技术方案是:
一种基于样本学习和目标检测结合的目标跟踪方法,该方法包括以下步骤:
步骤1:读取视频序列,将视频序列中当前视频帧转化为灰度图像;
步骤2:采用lucas-kanade光流法跟踪灰度图像中的目标;
步骤3:检测当前视频帧中目标,获取正确的样本区域中心集合;
步骤4:对正确的样本区域中心集合进行一致性检查,得到小于设定距离阈值的样本区域集合,并进行正负样本学习;
步骤5:计算步骤4得到的样本区域集合中每个样本区域与步骤2获得的跟踪结果的面积重叠百分比,并计算重叠百分比超过50%的样本区域所在中心的均值,得到跟踪结果。
进一步的,所述检测当前视频帧的采样区域,包括:
初始化采样网格、方差分类器和svm分类器;
训练方差分类器、集合分类器、最近分类器和svm分类器。
进一步的,所述初始化采样网格、方差分类器和svm分类器,包括:
初始化采样网格,确定在当前视频帧中采样区域的中心点坐标及采样区域的宽和高;
初始化方差分类器,得到方差分类器阈值;
初始化svm分类器,将svm分类器的核函数设定为svm分类器的径向基函数。
进一步的,所述训练方差分类器、集合分类器、最近分类器和svm分类器的方法为:
比较采样区域集合中每个采样区域中心点和上一视频帧的目标的欧氏距离与设定的欧式距离阈值的大小,获取正样本中心集合和负样本中心集合;
将正样本中心集合和负样本中心集合分别输入svm分类器的径向基函数,计算分类超平面;
计算正样本中心集合中每个正样本对应区域的方差,将方差大于方差分类器阈值的区域的中心作为第一正样本中心;
利用随机四叉树模型对第一正样本中心对应的区域进行分类,将分类后的正样本对应的区域中心作为第二正样本中心;
将第二正样本中心对应的区域进行近邻聚类,将聚类结果中与上一帧检测到的跟踪目标相似程度最高的区域的中心为第三样本中心;
提取第三样本中心对应区域的梯度直方图特征,计算最优超平面作为决策函数,对svm分类器进行训练;
通过训练后的svm分类器对第三样本中心进行分类,得到正确的样本区域中心集合。
进一步的,所述获取正样本中心集合和负样本中心集合的方法为:
比较当前视频帧的采样区域集合中每个采样区域中心点与上一视频帧中的目标所在区域的欧氏距离与距离阈值的大小;
若采样区域中心点与上一视频帧中的目标所在区域的欧氏距离小于或等于距离阈值,则该采样距离中心为正样本,建立正样本中心集合;
若采样区域中心点与上一视频帧中的目标所在区域的欧氏距离大于距离阈值,则该采样距离中心为负样本,建立负样本中心集合。
进一步的,所述对正确的样本区域中心集合进行一致性检查,得到小于设定距离阈值的样本区域集合,并进行正负样本学习,包括:
比较正确的样本区域中心集合中每个样本区域和当前视频帧中的目标所在区域的距离与设定的距离阈值的大小,从正确的样本区域中心集合中搜索距离小于设定的距离阈值的样本区域;
将搜索到的样本区域加入正样本集合;
将负样本中心集合加入负样本集合;
利用正样本集合和负样本集合重新计算随机四叉树模型;
利用正样本集合和负样本集合重新训练svm分类器的径向基函数。
进一步的,若正确的样本区域中心集合中每个样本区域和当前视频帧中的目标所在区域的距离均不小于设定的距离阈值,则返回步骤1,重新读取当前视频帧。
一种基于学习和检测结合的视频行人跟踪装置,该装置包括:
视频序列输入模块,用于读取视频序列,将视频序列中当前视频帧转化为灰度图像;
目标跟踪模块,用于采用lucas-kanade光流法跟踪灰度图像中的目标
目标检测模块,检测当前视频帧中目标,获取正确的样本区域中心集合;
正负样本学习模块,用于对正确的样本区域中心集合进行一致性检查,得到小于设定距离阈值的样本区域集合,并进行正负样本学习;
综合处理模块,用于计算正负样本学习模块得到的样本区域集合中每个样本区域与目标跟踪模块获得的跟踪结果的面积重叠百分比,并计算重叠百分比超过50%的样本区域所在中心的均值,得到跟踪结果。
跟踪结果输出模块,用于输出跟踪结果。
与现有技术相比,本发明的有益效果是:
(1)本发明以目标跟踪算法给基础框架,采用lucas-kanade光流法对目标进行跟踪,引入梯度直方图特征和svm分类器,解决了现有跟踪算法求解复杂,难以达到实时处理的问题,实现了对视频目标的实时准确跟踪;
(2)本发明采用方差分类器、集合分类器、最近邻分类器和svm分类器进行目标检测,并分别对集合分类器、最近邻分类器和svm分类器进行训练,时间复杂度较低,能够达到实时处理的要求;
(3)本发明对目标检测结果进行一致性检查,并进行正样本学习和负样本学习,能够改善目标跟踪算法求解的复杂度,将视频目标检测、跟踪和学习相结合,实现对视频行人进行长时间稳定的目标跟踪。
附图说明
构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。
图1是本发明实施例公开的基于样本学习和目标检测结合的目标跟踪方法流程图;
图2是基于样本学习和目标检测结合的目标跟踪方法的使用效果。
具体实施方式
下面结合附图与实施例对本发明作进一步说明。
应该指出,以下详细说明都是例示性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
正如背景技术所介绍的,现有技术中存在对于行人停止运动时,无法进行行人的跟踪和识别,算法时间复杂度较高,难以达到实时处理,在较为复杂的背景环境中跟踪行人,难构建算法模型,求解比较复杂的不足,为了解决如上的技术问题,本申请提出了一种基于学习和检测结合的目标跟踪方法和装置。
本申请的一种典型的实施方式中,如图1所示,提供了一种基于学习和检测结合的目标跟踪方法,该方法包括以下步骤:
步骤1:视频序列输入
读取当前视频帧f(n),f(n)表示当前视频帧,n表示当前视频帧序号,即第n帧即为当前帧。将当前视频帧f(n)转化为灰度图像fg(n),fg(n)表示当前视频帧f(n)的灰度图像。令f(n-1)表示第n-1视频帧,fg(n-1)表示将f(n-1)转化为灰度图像后得到的结果。
步骤2:目标跟踪
本发明采用lucas-kanade光流法实现目标跟踪。令fg(n-1)中的目标表示为[xn-1,yn-1,wn-1,hn-1],通过lucas-kanade光流法确定的目标表示为[xn,yn,wn,hn],其中(xn-1,yn-1)表示第n-1视频帧中目标所在区域的左上角坐标,wn-1和hn-1分别表示第n-1视频帧中目标所在区域的宽和高;(xn,yn)表示第n视频帧中目标所在区域的左上角坐标,wn和hn分别表示第n视频帧中目标所在区域的宽和高。
步骤3:目标检测
步骤3.1:初始化采样网格、方差分类器和svm分类器
初始化采样网格。首先确定在当前视频帧中采样区域的中心点坐标及采样区域的宽和高。令sample_step表示采样步长,sample_w和sample_h分别表示采样区域的宽和高,则采样区域的中心点坐标是
其中
kx={1,2,…,sample_w/sample_step},
ky={1,2,…,sample_h/sample_step},
sample_point表示采样区域的集合,
初始化方差分类器。令方差分类器阈值用var_thres表示。
初始化svm分类器。将该svm分类器的核函数设定为径向基函数,即
其中k(fx,fy)表示径向基函数,fx和fy表示两个特征矢量,d表示参数。
步骤3.2:检测器训练
步骤3.2.1:获取正负样本
对于采样区域集合sample_point中的每个采样区域,按照每个区域中心点与(xn-1,yn-1)距离的远近,分为正样本和负样本。令距离阈值用dist_thres表示,那么
sample_positivepoint=sample_point(kx,ky),
ifdis(sample_point(kx,ky),(xn-1,yn-1))≤dist_thres(3)
其中sample_positivepoint表示正样本所在区域中心的集合,dis(sample_point((kx,ky),(xn-1,yn-1))表示sample_point(kx,ky)与(xn-1,yn-1)之间的欧氏距离。同样,对于负样本,有
sample_negtivepoint=sample_point(kx,ky),
ifdis(sample_point(kx,ky),(xn-1,yn-1))>dist_thres(4)
其中sample_negtivepoint表示负样本所在区域中心的集合。
步骤3.2.2:训练径向基函数
将正样本中心集合sample_positivepoint和负样本中心集合sample_negtivepoint分别输入svm分类器的径向基函数,计算分类超平面,并令该分类超平面用class_plane表示。
步骤3.2.3:正样本通过方差分类器
计算sample_positivepoint中每个正样本对应区域的方差,将其中方差大于var_thres的区域的中心表示为sample_positivepoint_1。
步骤3.2.4:正样本通过集合分类器
利用随机四叉树模型对正样本中心sample_positivepoint_1对应的区域进行分类,得到的被分类为正样本的对应的区域中心被表示为sample_positivepoint_2。
步骤3.2.5:正样本通过近邻分类器
将正样本sample_positivepoint_2对应的区域进行近邻聚类,聚类结果中与上一帧检测到的跟踪目标objn-1相似程度高的区域被表示为sample_positivepoint_3,其中objn-1表示n-1帧的输出结果。
步骤3.2.6:训练svm分类器
提取sample_positivepoint_3对应区域的hog(histogramofgradient,即梯度直方图)特征,计算最优超平面作为决策函数,对svm分类器进行训练。
步骤3.2.7:正样本通过svm分类器
将sample_positivepoint_3通过在步骤3.2.6中训练的svm分类器,被分类为正确的样本区域的中心用sample_positivepoint_out表示。
步骤4:正负样本学习
步骤4.1:一致性检查
在sample_positivepoint_out中搜索与(xn,yn)对应区域距离小于near_thres的样本区域,并将这些样本区域表示为sample_out_1,near_thres表示设置的距离阈值。若满足上述条件的样本区域不存在,则执行步骤1。
步骤4.2:正样本学习(p专家)
将sample_out_1加入正样本集合sample_positiveset,sample_positiveset表示存储的正样本集合。
步骤4.3:负样本学习(n专家)
将sample_negtivepoint加入负样本集合sample_negtiveset,sample_negtiveset表示存储的负样本集合。
步骤4.4:更新集合分类器
利用sample_positiveset和sample_negtiveset重新计算随机四叉树模型。
步骤4.5:更新svm分类器
利用sample_positiveset和sample_negtiveset重新训练如(2)式所示的径向基函数。
步骤5:综合
步骤5.1:计算sample_out_1对应区域中每个区域与步骤2获得的跟踪结果[xn,yn,wn,hn]的面积重叠百分比,超过50%的区域所在中心用sample_conf_1表示
步骤5.2:计算sample_conf_1的均值,用(xout,yout)表示,其中xout表示均值的横坐标,yout表示均值的纵坐标。
步骤6:跟踪结果输出
输出[xout,yout,w,h]作为跟踪结果,同时返回步骤1。
本发明将视频目标检测、跟踪和学习相结合,实现了一种适合对视频行人进行长时间稳定的目标跟踪方法。
本发明的使用效果如图2所示,视频帧按时间先后从左到右、从上到下顺序排列。在该实验中,将视频序列输入,通过计算机交互设备,人工设定跟踪目标区域;然后装置自动实现对目标的跟踪,跟踪结果通过矩形框标识。实验结果可以看出,通过本发明得到的目标区域(白色矩形框)能够准确捕捉目标位置,并能够适应目标所处背景及景深的变化。
本申请的另一典型实施方式中,提供了一种基于学习和检测结合的目标跟踪装置,该装置包括:
视频序列输入模块,用于读取视频序列,将视频序列中当前视频帧转化为灰度图像;
目标跟踪模块,用于采用lucas-kanade光流法跟踪灰度图像中的目标
目标检测模块,检测当前视频帧中目标,获取正确的样本区域中心集合;
正负样本学习模块,用于对正确的样本区域中心集合进行一致性检查,得到小于设定距离阈值的样本区域集合,并进行正负样本学习;
综合处理模块,用于计算正负样本学习模块得到的样本区域集合中每个样本区域与目标跟踪模块获得的跟踪结果的面积重叠百分比,并计算重叠百分比超过50%的样本区域所在中心的均值,得到跟踪结果。
跟踪结果输出模块,用于输出跟踪结果。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。