基于SVM邻域学习的视频目标检测方法
胡涛+胡军+郭杭
摘 要: 针对传统SVM普通学习模型无法适应视频中目标姿态变化、有遮挡或复杂背景的局限性,提出一种新的SVM邻域学习模型。邻域学习是基于视频相邻帧在时间和空间上的高度相关性,每个测试帧在其相邻帧上抽取训练数据进行SVM模型的学习与更新,随着视频的更新,SVM模型将不断更新来适应目标检测的各种变化。通过大量样本在各种复杂环境下实验,采用统计学分析结果,证明SVM邻域学习比传统SVM普通学习准确率更高、鲁棒性更好。
关键词: SVM模型; 邻域学习; 视频目标检测; 统计学分析
中图分类号: TN948.6?34 文献标识码: A 文章编号: 1004?373X(2017)14?0095?04
Abstract: Since the common learning model of traditional support vector machine (SVM) can′t adapt to the change target posture in video, and is limited with occlusion or complex background, a new SVM neighborhood learning model is proposed. The neighborhood learning is based on the high correlation of video adjacent frame both in time and space. The training data of each testing frame is extracted from its adjacent frame to learn and update the SVM model. With the updating of the video, the SVM model is updated continually to adapt to the changes of target detection. A large number of samples were experimented in complex environment. The statistics is used to analyze the results to verify that the SVM neighborhood learning has higher accuracy and better robustness than the traditional SVM common learning.
Keywords: SVM model; neighborhood learning; video target detection; statistics analysis
0 引 言
目标检测是模式识别、运动图像编码、智能监控等研究领域的重点和难点,在经济、工业和军事等领域有着广阔的应用前景。目前目标检测方法主要有帧间差分法、光流法、背景减除法等。帧间差分法计算简单、适应能力强,但检测结果内部容易产生空洞现象[1?2]。光流法计算复杂、运算量大,很难满足实时性的要求[3?4]。背景减除法算法易实现,但对外部动态场景变化非常敏感[5]。目标跟踪分为在线跟踪和离线跟踪,Kalal等在TLD在线跟踪中提出了自适应校准跟踪模型[6],它通过在线学习机制可以不断更新检测模块以及跟踪模块的有关参数,很适合目标的跟踪,但当可形变目标在具有背景相似的环境中跟踪效果不理想。传统支持向量机(Support Vector Machine,SVM)在解决目标检测问题中很有优越性,但依然无法很好适应目标姿态发生变化、被遮挡或者复杂背景下的目标检测,对此,提出一种适用性更强的SVM邻域学习模型来提升检测效果。
1 支持向量机和K?means算法
1.1 支持向量机
支持向量机是一种具有强大非线性处理能力的高效分类器,SVM解决分类问题时系统结构简单,不僅保证了分类器较好的鲁棒性,还可以得到全局最优解,普适性很强。引入核函数可以将线性SVM推广到非线性SVM,对高维样本几乎不增加额外的计算量,能很好地解决维数灾难问题。SVM 的核心思想是寻找一个满足分类要求的最优分类超平面[7?8], 该超平面在满足分类精度的同时,使得分类间隔最大化。
目标检测问题可以简化为一个二分类问题[9],给定分类样本集为:,设超平面方程为:
1.2 K?means算法
K?means聚类算法是一种基于样本间相似性度量的无监督聚类方法。算法首先由实验者给定所要聚类的种类,并随机选择k个对象种子,每个种子代表一个类的均值或中心,对剩余的每个对象,根据其与各类中心的距离将它分给最近的类,然后重新计算每个类中对象的平均值形成新的聚类中心,不断重复此过程,直到式(9)的准则函数收敛为止[10?12],如下:
无监督聚类从研究对象的特征数据中发现关联规则,在图像像素点的特征空间中进行聚类就可以在此空间中发现特征相似的像素点组。K?means用于目标检测时分为两类,即是目标物体类或者不是目标物体类。首先计算检测图像内每个像素点与两个聚类中心的距离,根据距离分类,然后更新两个聚类的像素成员,更新聚类中心,计算待分图像内每个像素点到新聚类中心的距离,重复上述操作直到聚类中心不再发生改变,分类即完成。
2 SVM邻域学习
2.1 理论基础
(1) 图像预处理。图像预处理的目的是在保留足够多的图像信息前提下,提高图像质量,便于后续的图像处理分析。图像噪声会影响图像质量,进而影响实验的结果,为了提高实验的准确性,这里采用高斯滤波去除噪声。
(2) 特征提取。HSI彩色空间适合视觉系统中彩色感知有关的彩色图像处理,用色调(Hue)、饱和度(Saturation)和强度(Intensity)来描述,通过HSI提取目标对象特征参数。
(3) 图像后处理。腐蚀可以消除物体边界点,使目标缩小,除去一部分噪声点;膨胀使目标增大,可添补目标中的空洞,将这两种操作对目标物体检测的结果所形成的二值图像进行后期处理。
2.2 SVM邻域学习模型
2.2.1 无学习模型
将K?means用于目标检测实验中,k值取2,图像中分为是目标类和不是目标类,K?means学习是一种无学习的聚类方法,K?means无学习作为SVM其他学习模型检测效果的一种参照。
2.2.2 SVM普通学习模型
SVM在传统的模式识别学习中,是将视频的第一帧或者前几帧正负特征样本数据在LIBSVM工具箱中训练SVM模型,LIBSVM工具箱是林智仁等开发设计的关于SVM模式识别与回归的软件包,将训练的SVM模型结合工具箱中SVM?predict对后续帧的正负样本进行预测,将预测结果转化成二值图像。该模型不能随着视频的变化而及时更新,适应性较差,当后续帧图像发生复杂变化时,前期学习的SVM模型不会随着这些变化而更新,这将直接影响视频目标检测的效果。
2.2.3 SVM在线邻域学习模型
SVM普通学习模型不能满足视频中目标检测的准确率,通常视频中相邻帧间细节变化很小,相邻帧之间存在着时间和空间上的高度相关性。SVM在线邻域学习选取测试帧之前的相邻若干帧的正负样本训练SVM检测模型。用此模型在SVM?predict工具箱中预测测试帧中数据点的分类,即每次都使用测试帧之前的相邻若干帧图像的正负特征样本训练SVM模型。这样SVM模型将随着视频的推演不断自动更新成新的模型,即便视频中目标的姿态发生变化。有遮挡或者遇到复杂背景时,模型依旧能自适应其变化,理论上该模型具有很好的适应性,相比SVM普通学习模型应用范围更广。
2.2.4 SVM离线邻域学习模型
SVM在线邻域学习虽然很好地解决了一些视频中目标检测问题,但在非常复杂的环境下检测效果依然不够理想。为了适应更多复杂情况下的目标检测,提出一种更有效的目标检测模型,即SVM离线邻域学习模型。视频中相邻帧画面之间存在着时间和空间的相关性。测试帧不仅与其之前的相邻帧具有很强的时间和空间连续性,与其之后的相邻帧也有很强的时间和空间连续性。如果测试者事先可以获取完整检测视频,那么实验前便可以获得测试帧前后的临近帧信息,将前后相邻的若干帧信息同时训练SVM模型,两者结合进行结果预测,通常能获取更准确的检测结果,这就是SVM离线邻域学习。SVM在线邻域学习和SVM离线邻域学习合称为SVM邻域学习。
SVM离线邻域学习的好处显而易见,它不仅可以直接对未进行实验过的视频进行目标检测,还可以对SVM在线邻域学习模型已完成的检测结果进行校正,由于SVM离线邻域学习模型的监督信息量比在线邻域学习模型多,理论上可以猜想,SVM离线邻域学习模型检测准确性更好,鲁棒性更强。SVM离线邻域学习在监控视频等可在实验前获取完整视频再进行分析的应用领域作用不可估量。
实验流程图如图1所示。
3 实验结果与分析
为了验证SVM邻域学习的有效性,从国际物体跟踪研究领域中的标准视频数据库中选取了8段视频,超过1 200帧图像作为样本数据库,这些视频中包含了目标姿态变化、有遮挡和复杂背景等各种复杂情况,使用OpenCV对图像进行各种方法的实验[13]。图 2是4帧样本示例检测结果图。图2中红色框表示SVM离线邻域学习预测结果,蓝色框表示SVM在线邻域学习预测结果,黄色框表示SVM普通学习预测结果,紫色框表示K?means无学习预测结果,橙色框是图像检测标准结果。为了提高标准框的准确率,请未参加过实验的人认真反复观看所有视频,对实验帧进行手动标注。图2中被检测的鱼不仅身处背景复杂的环境中,姿态也在不停地改变,后期还被其他鱼遮挡,从图2中可以看出红色框和蓝色框比黄色框和紫色框更接近橙色框,可以定性判断SVM邻域学习(包括离线和在线)要比SVM普通学习和K?means无学习检测效果更好。
进一步定量验证SVM邻域学习的有效性,引入覆盖率,覆盖率指预测框和标准框重叠区域面积占标准框面积的比例,覆盖率越大则检测方法准确率越高。
采用多重比较判断各方法的有效性,表1统计样本数据库所有检测结果中方法1和方法2覆盖率之间的差值,用覆盖差估计表示。当覆盖差估计为正值时,表明第一种方法比第二种方法检测效果好;反之,则第一种方法不如第二种方法。置信区间是表示覆盖差估计落入该区间有95%的置信水平。
表1实验覆盖差估计都是正值,证明SVM离线邻域学习方法最优,SVM在线邻域学习方法次优,即SVM邻域学习在视频目标检测中比SVM普通学习和K?means无学习准确率更高,鲁棒性更好。
4 结 语
本文设计一种更接近视频目标检测问题本质的SVM邻域学习模型(包括离线和在线),通过与SVM普通学习和K?means无学习比较,SVM邻域学习模型具有更高的准确率和更好的鲁棒性,SVM邻域学习可以更好地满足视频中的目标检测。
参考文献
[1] 邬大鹏,程卫平,于盛林.基于帧间差分和运动估计的Camshift目标跟踪算法[J].光电工程,2010,37(1):55?60.
[2] 万缨,韩毅,卢汉清.运动目标检测算法的探讨[J].计算机仿真,2006,23(10):221?226.
[3] 施家栋,王建中,王红茹.基于光流的人体运动实时检测方法[J].北京理工大学学报,2008,28(9):794?797.
[4] 李建,蓝金辉,李杰.一种新型快速运动目标检测算法[J].中南大学学报(自然科学版),2013,44(3):978?983.
[5] 连晓峰,张弢,刘载文,等.一种改进的运动人体目标检测方法研究[J].计算机仿真,2011,28(2):308?311.
[6] KALAL Z, MIKOLAJCZYK K, MATAS J. Tracking?learning?detection [J]. IEEE transactions on pattern analysis and machine intelligence, 2012, 34(7): 1409?1422.
[7] 郭明玮,赵宇宙,项俊平,等.基于支持向量机的目标检测算法综述[J].控制与决策,2014,29(2):193?198.
[8] 劉松松,张辉,毛征,等.基于HRM特征提取和SVM的目标检测方法[J].国外电子测量技术,2014,33(10):38?41.
[9] 曾文华,马健.支持向量机增量学习的算法与应用[J].计算机集成制造系统,2003,9(z1):144?148.
[10] 杨善林,李永森,胡笑旋,等.K?means算法中的k值优化问题研究[J].系统工程理论与实践,2006,26(2):97?101.
[11] 李灿灿,王宝,王静,等.基于K?means聚类的植物叶片图像叶脉提取[J].农业工程学报,2012,28(17):157?162.
[12] 徐黎明,吕继东.基于同态滤波和K均值聚类算法的杨梅图像分割[J].农业工程学报,2015,31(14):202?208.
[13] 孙建伟,薛秀萍,刘晓东,等.基于OpenCV的视频序列目标检测与跟踪技术研究[J].电子技术,2013(6):20?23.
摘 要: 针对传统SVM普通学习模型无法适应视频中目标姿态变化、有遮挡或复杂背景的局限性,提出一种新的SVM邻域学习模型。邻域学习是基于视频相邻帧在时间和空间上的高度相关性,每个测试帧在其相邻帧上抽取训练数据进行SVM模型的学习与更新,随着视频的更新,SVM模型将不断更新来适应目标检测的各种变化。通过大量样本在各种复杂环境下实验,采用统计学分析结果,证明SVM邻域学习比传统SVM普通学习准确率更高、鲁棒性更好。
关键词: SVM模型; 邻域学习; 视频目标检测; 统计学分析
中图分类号: TN948.6?34 文献标识码: A 文章编号: 1004?373X(2017)14?0095?04
Abstract: Since the common learning model of traditional support vector machine (SVM) can′t adapt to the change target posture in video, and is limited with occlusion or complex background, a new SVM neighborhood learning model is proposed. The neighborhood learning is based on the high correlation of video adjacent frame both in time and space. The training data of each testing frame is extracted from its adjacent frame to learn and update the SVM model. With the updating of the video, the SVM model is updated continually to adapt to the changes of target detection. A large number of samples were experimented in complex environment. The statistics is used to analyze the results to verify that the SVM neighborhood learning has higher accuracy and better robustness than the traditional SVM common learning.
Keywords: SVM model; neighborhood learning; video target detection; statistics analysis
0 引 言
目标检测是模式识别、运动图像编码、智能监控等研究领域的重点和难点,在经济、工业和军事等领域有着广阔的应用前景。目前目标检测方法主要有帧间差分法、光流法、背景减除法等。帧间差分法计算简单、适应能力强,但检测结果内部容易产生空洞现象[1?2]。光流法计算复杂、运算量大,很难满足实时性的要求[3?4]。背景减除法算法易实现,但对外部动态场景变化非常敏感[5]。目标跟踪分为在线跟踪和离线跟踪,Kalal等在TLD在线跟踪中提出了自适应校准跟踪模型[6],它通过在线学习机制可以不断更新检测模块以及跟踪模块的有关参数,很适合目标的跟踪,但当可形变目标在具有背景相似的环境中跟踪效果不理想。传统支持向量机(Support Vector Machine,SVM)在解决目标检测问题中很有优越性,但依然无法很好适应目标姿态发生变化、被遮挡或者复杂背景下的目标检测,对此,提出一种适用性更强的SVM邻域学习模型来提升检测效果。
1 支持向量机和K?means算法
1.1 支持向量机
支持向量机是一种具有强大非线性处理能力的高效分类器,SVM解决分类问题时系统结构简单,不僅保证了分类器较好的鲁棒性,还可以得到全局最优解,普适性很强。引入核函数可以将线性SVM推广到非线性SVM,对高维样本几乎不增加额外的计算量,能很好地解决维数灾难问题。SVM 的核心思想是寻找一个满足分类要求的最优分类超平面[7?8], 该超平面在满足分类精度的同时,使得分类间隔最大化。
目标检测问题可以简化为一个二分类问题[9],给定分类样本集为:,设超平面方程为:
1.2 K?means算法
K?means聚类算法是一种基于样本间相似性度量的无监督聚类方法。算法首先由实验者给定所要聚类的种类,并随机选择k个对象种子,每个种子代表一个类的均值或中心,对剩余的每个对象,根据其与各类中心的距离将它分给最近的类,然后重新计算每个类中对象的平均值形成新的聚类中心,不断重复此过程,直到式(9)的准则函数收敛为止[10?12],如下:
无监督聚类从研究对象的特征数据中发现关联规则,在图像像素点的特征空间中进行聚类就可以在此空间中发现特征相似的像素点组。K?means用于目标检测时分为两类,即是目标物体类或者不是目标物体类。首先计算检测图像内每个像素点与两个聚类中心的距离,根据距离分类,然后更新两个聚类的像素成员,更新聚类中心,计算待分图像内每个像素点到新聚类中心的距离,重复上述操作直到聚类中心不再发生改变,分类即完成。
2 SVM邻域学习
2.1 理论基础
(1) 图像预处理。图像预处理的目的是在保留足够多的图像信息前提下,提高图像质量,便于后续的图像处理分析。图像噪声会影响图像质量,进而影响实验的结果,为了提高实验的准确性,这里采用高斯滤波去除噪声。
(2) 特征提取。HSI彩色空间适合视觉系统中彩色感知有关的彩色图像处理,用色调(Hue)、饱和度(Saturation)和强度(Intensity)来描述,通过HSI提取目标对象特征参数。
(3) 图像后处理。腐蚀可以消除物体边界点,使目标缩小,除去一部分噪声点;膨胀使目标增大,可添补目标中的空洞,将这两种操作对目标物体检测的结果所形成的二值图像进行后期处理。
2.2 SVM邻域学习模型
2.2.1 无学习模型
将K?means用于目标检测实验中,k值取2,图像中分为是目标类和不是目标类,K?means学习是一种无学习的聚类方法,K?means无学习作为SVM其他学习模型检测效果的一种参照。
2.2.2 SVM普通学习模型
SVM在传统的模式识别学习中,是将视频的第一帧或者前几帧正负特征样本数据在LIBSVM工具箱中训练SVM模型,LIBSVM工具箱是林智仁等开发设计的关于SVM模式识别与回归的软件包,将训练的SVM模型结合工具箱中SVM?predict对后续帧的正负样本进行预测,将预测结果转化成二值图像。该模型不能随着视频的变化而及时更新,适应性较差,当后续帧图像发生复杂变化时,前期学习的SVM模型不会随着这些变化而更新,这将直接影响视频目标检测的效果。
2.2.3 SVM在线邻域学习模型
SVM普通学习模型不能满足视频中目标检测的准确率,通常视频中相邻帧间细节变化很小,相邻帧之间存在着时间和空间上的高度相关性。SVM在线邻域学习选取测试帧之前的相邻若干帧的正负样本训练SVM检测模型。用此模型在SVM?predict工具箱中预测测试帧中数据点的分类,即每次都使用测试帧之前的相邻若干帧图像的正负特征样本训练SVM模型。这样SVM模型将随着视频的推演不断自动更新成新的模型,即便视频中目标的姿态发生变化。有遮挡或者遇到复杂背景时,模型依旧能自适应其变化,理论上该模型具有很好的适应性,相比SVM普通学习模型应用范围更广。
2.2.4 SVM离线邻域学习模型
SVM在线邻域学习虽然很好地解决了一些视频中目标检测问题,但在非常复杂的环境下检测效果依然不够理想。为了适应更多复杂情况下的目标检测,提出一种更有效的目标检测模型,即SVM离线邻域学习模型。视频中相邻帧画面之间存在着时间和空间的相关性。测试帧不仅与其之前的相邻帧具有很强的时间和空间连续性,与其之后的相邻帧也有很强的时间和空间连续性。如果测试者事先可以获取完整检测视频,那么实验前便可以获得测试帧前后的临近帧信息,将前后相邻的若干帧信息同时训练SVM模型,两者结合进行结果预测,通常能获取更准确的检测结果,这就是SVM离线邻域学习。SVM在线邻域学习和SVM离线邻域学习合称为SVM邻域学习。
SVM离线邻域学习的好处显而易见,它不仅可以直接对未进行实验过的视频进行目标检测,还可以对SVM在线邻域学习模型已完成的检测结果进行校正,由于SVM离线邻域学习模型的监督信息量比在线邻域学习模型多,理论上可以猜想,SVM离线邻域学习模型检测准确性更好,鲁棒性更强。SVM离线邻域学习在监控视频等可在实验前获取完整视频再进行分析的应用领域作用不可估量。
实验流程图如图1所示。
3 实验结果与分析
为了验证SVM邻域学习的有效性,从国际物体跟踪研究领域中的标准视频数据库中选取了8段视频,超过1 200帧图像作为样本数据库,这些视频中包含了目标姿态变化、有遮挡和复杂背景等各种复杂情况,使用OpenCV对图像进行各种方法的实验[13]。图 2是4帧样本示例检测结果图。图2中红色框表示SVM离线邻域学习预测结果,蓝色框表示SVM在线邻域学习预测结果,黄色框表示SVM普通学习预测结果,紫色框表示K?means无学习预测结果,橙色框是图像检测标准结果。为了提高标准框的准确率,请未参加过实验的人认真反复观看所有视频,对实验帧进行手动标注。图2中被检测的鱼不仅身处背景复杂的环境中,姿态也在不停地改变,后期还被其他鱼遮挡,从图2中可以看出红色框和蓝色框比黄色框和紫色框更接近橙色框,可以定性判断SVM邻域学习(包括离线和在线)要比SVM普通学习和K?means无学习检测效果更好。
进一步定量验证SVM邻域学习的有效性,引入覆盖率,覆盖率指预测框和标准框重叠区域面积占标准框面积的比例,覆盖率越大则检测方法准确率越高。
采用多重比较判断各方法的有效性,表1统计样本数据库所有检测结果中方法1和方法2覆盖率之间的差值,用覆盖差估计表示。当覆盖差估计为正值时,表明第一种方法比第二种方法检测效果好;反之,则第一种方法不如第二种方法。置信区间是表示覆盖差估计落入该区间有95%的置信水平。
表1实验覆盖差估计都是正值,证明SVM离线邻域学习方法最优,SVM在线邻域学习方法次优,即SVM邻域学习在视频目标检测中比SVM普通学习和K?means无学习准确率更高,鲁棒性更好。
4 结 语
本文设计一种更接近视频目标检测问题本质的SVM邻域学习模型(包括离线和在线),通过与SVM普通学习和K?means无学习比较,SVM邻域学习模型具有更高的准确率和更好的鲁棒性,SVM邻域学习可以更好地满足视频中的目标检测。
参考文献
[1] 邬大鹏,程卫平,于盛林.基于帧间差分和运动估计的Camshift目标跟踪算法[J].光电工程,2010,37(1):55?60.
[2] 万缨,韩毅,卢汉清.运动目标检测算法的探讨[J].计算机仿真,2006,23(10):221?226.
[3] 施家栋,王建中,王红茹.基于光流的人体运动实时检测方法[J].北京理工大学学报,2008,28(9):794?797.
[4] 李建,蓝金辉,李杰.一种新型快速运动目标检测算法[J].中南大学学报(自然科学版),2013,44(3):978?983.
[5] 连晓峰,张弢,刘载文,等.一种改进的运动人体目标检测方法研究[J].计算机仿真,2011,28(2):308?311.
[6] KALAL Z, MIKOLAJCZYK K, MATAS J. Tracking?learning?detection [J]. IEEE transactions on pattern analysis and machine intelligence, 2012, 34(7): 1409?1422.
[7] 郭明玮,赵宇宙,项俊平,等.基于支持向量机的目标检测算法综述[J].控制与决策,2014,29(2):193?198.
[8] 劉松松,张辉,毛征,等.基于HRM特征提取和SVM的目标检测方法[J].国外电子测量技术,2014,33(10):38?41.
[9] 曾文华,马健.支持向量机增量学习的算法与应用[J].计算机集成制造系统,2003,9(z1):144?148.
[10] 杨善林,李永森,胡笑旋,等.K?means算法中的k值优化问题研究[J].系统工程理论与实践,2006,26(2):97?101.
[11] 李灿灿,王宝,王静,等.基于K?means聚类的植物叶片图像叶脉提取[J].农业工程学报,2012,28(17):157?162.
[12] 徐黎明,吕继东.基于同态滤波和K均值聚类算法的杨梅图像分割[J].农业工程学报,2015,31(14):202?208.
[13] 孙建伟,薛秀萍,刘晓东,等.基于OpenCV的视频序列目标检测与跟踪技术研究[J].电子技术,2013(6):20?23.