谭玉枚
摘 要
针对传统的行人检测与跟踪算法检测跟踪效果差以及速度慢的问题,提出一种快速行人检测跟踪方法。首先采用ViBe算法快速检测出运动区域,快速检测定位行人候选区;然后采用HOG+SVM行人检测器检测出运动目标候选区的行人;最后利用Kalman滤波算法对行人目标进行跟踪。此外,为了减少误检率,在样本训练阶段通过增加困难样本进行SVM二次训练。实验结果表明本文提出行人检测跟踪算法在视频序列中具有良好的鲁棒性,其检测性能明显提高。
关键词
行人检测;目标跟踪;Kalman滤波;视频序列
中图分类号: TP391.41 文献标识码: A
DOI:10.19694/j.cnki.issn2095-2457.2020.15.012
Abstract
An fast pedestrian detection and tracking method is proposed to deal with the problems of slowly detection and poor tracking effect in traditional pedestrian detection and tracking method.Firstly,the ViBe algorithm is used to quickly extract the motion area,namely the pedestrian candidate area.Then the HOG+SVM pedestrian detector is used to detect the pedestrian in the candidate zone of moving target.Finally,Finally, Kalman filter is used to track the pedestrian target.In addition,the SVM is trained for the second time by adding hard samples to reduce the error detection rate.It is showed that the improved pedestrian detection and tracking method proposed in this paper achieves strong robustness and significantly detection performance.
Key Words
Pedestrian detect;Target tracking;The Kalman filter;Video sequence
0 引言
随着国家提出“智慧城市”理念,人工智能技术的研究和发展备受关注[1]。行人检测与跟踪作为人工智能的计算机视觉领域最主要研究任务之一,在自动驾驶、智能安防以及智能机器人等方面具有广阔的应用价值,已经吸引了广大学者的关注与研究,并涌现出许多相关行人检测跟踪算法。然而,行人检测算法面临诸多挑战,如行人目标视点变化、目标尺度变换、目标遮挡、目标姿态多样化及光照条件突变等等,这些难点制约着行人检测跟踪技术的发展。
当前行人检测算法主要分为两大类:基于运动检测算法和基于机器学习算法。基于运动检测算法的原理非常简单,利用像素级信息对图像帧进行差分处理,进而获取运动目标,再利用行人分类器对运动目标进行分类检测出行人目标。该算法的关键在于背景模型的选择和建立,对背景中出现的动态因素抗干扰能力较差,常用的方法有帧差法、GMM以及Vibe算法等[2]。而基于机器学习的方法,又分为传统的机器学习方法和基于深度学习的方法。基于深度学习的方法对计算机硬件性能要求较高,而且深层的网络结构计算量太大,占用内存资源较多,实时性难以达到应用要求。而传统的机器学习方法,主要通过人工特征提取+分类器实现,通常分为三个阶段:提取目标候选区域,提取目标候选区域的特征,分类器训练分类。[4]
基于传统的机器学习算法是现阶段行人检测算法的主流之一,其中最有代表性的行人检测方法是HOG+SVM分类器。针对经典的HOG算法以窗口滑动的方式提取特征导致检测速度慢的问题,本文在此基础上结合ViBe运动检测算法先提取出运动目标候选区,再提取运动目标候选区的HOG特征,縮小窗口滑动区域,提高了检测速度。另外,针对原算法存在识别率低的问题,增加SVM训练的困难样本,降低检测误识别率。最后,对所检测出的行人目标采用Kalman滤波器实现跟踪。本文算法总体框架如图1所示。
1 基于ViBe算法提取运动目标候选区域
基于运动目标检测算法常用的算法有帧差法、背景减法两大类。[5]帧差法通过视频序列的相邻帧图像相减,并设定合适的阈值分割出视频序列的运动前景区域。该算法能快速能快速得到运动目标候选区,但存在“双影”,难以获取完整的候选目标轮廓。背景减法是利用视频序列当前帧与背景帧相减,得到运动目标候选区,该方法优于帧差法,但对背景模型要求较高。当前背景建模主要有两种常用算法:混合高斯模型和ViBe。[6]ViBe算法具有较强的抗噪能力和背景适应能力,因此本文采取ViBe算法提取视频序列中的运动目标候选区域。
ViBe[7](visual background extractor)是Olivier Barnich提出的采用图像中的若干样本点建立像素背景模型,将此模型与邻域像素比较其相似性,并用随机选择和邻域传播机制更新背景模型,进而快速提取出运动目标候选区。该算法鲁棒性较强,对光照变化、噪声干扰等不敏感。其算法主要由分为三部分:像素点背景建模、模型初始化、模型更新策略,如图2所示。
2 基于HOG+SVM分类器检测识别行人
2.1 HOG特征
Dalal和Trigg等人[4]提出了基于梯度的HOG特征,该特征有效提取了行人目标的轮廓纹理等信息,对光照变化也有较强的适应性。其主要思想是计算和统计局部目标图像各像素点的梯度方向直方图,并将得到的梯度直方图组合构成人体特征。该特征基于图像内部cell上操作,能较好描述行人的边缘信息,且能有效应对光照微变情况,在行人保持直立状态时能获得更好的检测效果。因此,本文选择HOG特征作为行人检测器的浅层训练特征。
HOG特征提取的流程图如图3所示。
2.2 SVM分类器
支持向量机(Support Vector Machine,SVM)是从样本数据集中学习检测目标相关的特征,并构造最优分类面,具有良好的泛化性,对两类分类问题处理效果较好[8]。SVM可分为线性SVM和核化SVM)。因线性SVM具有较低复杂度且能实现快速分类,基于此,本文选择线性SVM作为分类器。
为了获取更多的样本以增强SVM分类器的鲁棒性,本文在SVM分类器的训练过程中,一方面采用数据扩增的方法来获取更多的样本(包括裁剪、翻转、缩放),另一方面,挖掘困难样本并把困难样本加入原SVM训练样本中,即把原SVM分类器进行行人检测负样本中的误检样本,加到初始负样本集合中重复训练,减少了误报率[9]。
3 Kalman滤波预测跟踪
Kalman滤波算法[10]基于最优化自回归数据处理,根据不断获取的觀测值进行反馈修正。该算法主要分为两步:预测和更新。首先利用Kalman滤波器计算出行人目标的最佳值,并根据计算出的参数进行估计,然后在更新阶段用预测值对预测阶段的最优估计数值修正,判断行人目标模型与实际行人目标的匹配情况。Kalman滤波器算法的状态方程和观测方程来描述如下:
状态方程:Xk=AXk-1+BUk+Wk(1)
其中,A为转移矩阵,Xk为状态,B为控制矩阵,Zk为测量噪声,Wk为状态观察值。
4 实验结果与分析
4.1 实验平台
本文实验硬件平台为Intel(R) Core(TM)I5-6400 CPU@2.70GHz,8GB内存。实验软件平台为:Windows64位操作系统,OpenCV3.0,VS2015。
4.2 实验数据集
本文采用INRIA Person数据集作为训练样本,其中正样本3600个,负样本12000个,样本的尺寸统一裁剪为64*128.测试视频序列主要来源于PETS dataset和自己录制的视频,分辨率为320x240,帧率为27帧/秒。
4.3 实验结果及分析
本文提出的算法实验效果如图5、图6所示,其中图5为ViBe+HOG+SVM行人检测结果,图6为行人跟踪结果,实验表明在简单视频场景下获取了较好的行人检测和跟踪效果。
5 结论与展望
本文针对传统行人检测与跟踪算法存在检测速度慢和跟踪效果差的问题,从三个方面进行了改进:一是采用Vibe算法快速提取行运动目标候选区,减少后续用于HOG特征提取的检测窗口;二是改进原SVM分类器训练过程,增加困难样本的训练,明显减少了误检率;三是采用Kalman滤波算法实现行人目标跟踪。尽管本文提出的改进算法取得了较好的检测和跟踪效果,但也有诸多不足之处,比如不能有效处理大面积目标遮挡,多尺度尤其是小尺度目标检测,光照剧变以及镜面产生的阴影等情况。在今后的工作中需要进一步提高复杂场景下行人检测跟踪的鲁棒性,如考虑融合深度学习算法,提高检测的速度和精度。
参考文献
[1]刘弋锋. 基于浅层学习引导深度学习的行人检测[D].武汉大学,2016.
[2]邱祯艳,王修晖.一种结合Grabcut的Vibe目标检测算法[J].中国计量学院学报,2012,23(3).
[3]高随祥,文新,马艳军,李轩涯,等.深度学习导论与应用实践[M].北京:清华大学出版社,2019.
[4]纪冕,张欣,徐海.基于改进HOG特征和SVM分类器的行人检测[J].软件,2020,41(02):70-745.
[5]张开生,郭碧筱,刘泽新,杨帆.基于人流量检测的改进CN算法[J].计算机工程与设计,2020.41(02):411-416.
[6]邱祯艳,王修晖.一种结合Grabcut的Vibe目标检测算法[J].中国计量学院学报,2012,23(3).
[7]O.Barnich and M.Van Droogenbroeck.ViBe:a powerful random technique to estimate the background in video sequence[C].Int.Conf.on Acoustics Speech and Signal Processing (ICASSP),2009,4:945-948.
[8]史朝辉.SVM算法研究及在HRRP分类中的应用[D].空军工程大学硕士学位论文,2005.
[9]包本刚.融合多特征的目标检测与跟踪方法[J].电子测量与仪器学报,2019,33(09):93-99.
[10]李妍妍,田瑞娟,张弦弦.一种基于帧差法结合Kalman滤波的运动目标跟踪方法[J].兵工自动化,2019,38(04):24-27.