著录项信息
专利名称 | 基于前景分析和模式识别的行人检测方法 |
申请号 | CN201110081075.3 | 申请日期 | 2011-03-31 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 2011-08-10 | 公开/公告号 | CN102147869A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06K9/66 | IPC分类号 | G;0;6;K;9;/;6;6查看分类表>
|
申请人 | 上海交通大学 | 申请人地址 | 上海市闵行区东川路800号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 上海交通大学 | 当前权利人 | 上海交通大学 |
发明人 | 杨小康;徐奕;闫青 |
代理机构 | 上海交达专利事务所 | 代理人 | 王锡麟;王桂忠 |
摘要
一种视频图像处理技术领域的基于前景分析和模式识别的行人检测方法,采用高斯混合模型对视频图像的场景进行背景建模,利用阈值化操作和形态学后处理提取视频图像的前景;利用轮廓特征和行人高度先验模型分析前景并获得初步行人检测结果;在初步检测结果位置附近采样,利用行人模式识别分类器对采样区域进一步判断,排除错误的初步行人检测结果,得到最终行人检测结果。本发明既可提升行人检测准确度,又可提高视频中行人检测的处理速度,并可应用在动态变化的复杂场景中。
1.一种基于前景分析和模式识别的行人检测方法,其特征在于,采用高斯混合模型对视频图像的场景进行背景建模,利用阈值化操作和形态学后处理提取视频图像的前景;利用轮廓特征和行人高度先验模型分析前景并获得初步行人检测结果;在初步检测结果位置附近采样,利用行人模式识别分类器对采样区域进一步判断,排除错误的初步行人检测结果,得到最终行人检测结果;
所述的行人高度先验模型通过以下方式得到:针对待分析的固定摄像头视频,手工标定出位于视频场景中各个位置的行人,得到一组行人高度信息与头顶点信息,采用线性模型来描述行人高度与行人出现位置的相互关系,并利用最小二乘法学习出线性模型的具体参数,得到行人高度先验模型;
所述的行人模式识别分类器是指:利用行人图片样本库,提取图片的梯度方向直方图特征作为输入数据,采用级联Adaboost学习方法对HoG特征分类,训练得到行人模式识别分类器;
所述的轮廓特征通过以下方式得到:对视频图像的前景进行轮廓分析得到轮廓峰值点,即轮廓特征;
所述的初步检测结果是指:在轮廓特征处根据行人高度先验模型划定行人区域并统计行人区域内的前景像素比例,当比例大于规定门限Thf时,认为此区域为行人出现区域;
所述的采样是指:以初步行人检测区域中心点为中心,分别向上、下移动区域高度的
1/8,再分别向左、右移动行人区域宽度的1/8,而后将区域按1.2倍扩大,再向上、下移动区域高度的1/8,再向左、右移动行人区域宽度的1/8,由此获得9个采样区域。
基于前景分析和模式识别的行人检测方法\n技术领域\n[0001] 本发明涉及的是一种视频图像处理技术领域的方法,具体是一种基于前景分析和模式识别的行人检测方法。\n背景技术\n[0002] 在计算机视觉领域的许多应用中,如智能监控、机器视觉、人机交互等,都需要对视频序列中的行人进行检测。由于实际应用场景存在光照快速变化、运动物体种类多样(如行人、车辆等)、行人彼此遮挡且姿态不断变化等问题,因此如何在复杂环境下鲁棒快速地完成行人检测一直是研究的热点。\n[0003] 现有的检测方法可分为两大类:一类采用前景分析的方法。赵涛于2004年发表在《IEEE Transactions on Pattern Analysis and Machine Intelligence》(国际电气与电子工程师协会模式分析与机器智能学报)第26卷1208页至1221页的“Tracking multiple human in complex situations”(复杂环境下多人跟踪方法)文章中指出,尽管拥挤场景中人与人遮挡严重,但是头部被遮挡的几率却很小,加之人头肩形状特殊,因此通过检测头顶点可实现可靠的行人检测。此类方法默认场景中的运动物体只有行人,当场景中不只有人在运动时会出现大量误判的结果。另一类采用模式识别的方法,通过提取行人的形状特征进行统计学习训练分类器,对于视频图像在每个可能尺度下的可能位置用分类器进行判决。该类方法中识别效果出色的分类器训练方法为Qiang Zhu于2006年在《IEEE Computer Society Conference on Computer Vision and Pattern Recognition》(国际电子电气工程师协会计算机学会计算机视觉与模式识别会议)技术集第2卷1491至1498页上发表的技术“Fast human detection using a cascade of histogram of oriented gradients”(基于梯度方向直方图构建级联分离器实现快速行人检测)。此技术提出了简化HoG(Histograms of Oriented Gradient梯度方向直方图)特征,并利用级联分类器来提高单个行人区域的识别速度。此类方法在应用于视频时,只能采取多尺度反复扫描的方法来逐一检测,因此处理速度慢。如何将两类方法有效结合起来,目前研究还不充分,这促使寻找一种更加合理的方法框架,在提升检测准确率的同时提高方法处理速度,满足在复杂场景下行人检测的应用要求。\n发明内容\n[0004] 本发明针对现有技术存在的上述不足,提供一种基于前景分析和模式识别的行人检测方法,既可提升行人检测准确度,又可提高视频中行人检测的处理速度,并可应用在动态变化的复杂场景中。\n[0005] 本发明是通过以下技术方案实现的,本发明采用高斯混合模型对视频图像的场景进行背景建模,利用阈值化操作和形态学后处理提取视频图像的前景;利用轮廓特征和行人高度先验模型分析前景并获得初步行人检测结果;在初步检测结果位置附近采样,利用行人模式识别分类器对采样区域进一步判断,排除错误的初步行人检测结果,得到最终行人检测结果。\n[0006] 所述的行人高度先验模型通过以下方式得到:针对待分析的固定摄像头视频,手工标定出位于视频场景中各个位置的行人,得到一组行人高度信息与头顶点信息,采用线性模型来描述行人高度与行人出现位置的相互关系,并利用最小二乘法学习出线性模型的具体参数,得到行人高度先验模型。\n[0007] 所述的行人模式识别分类器是指:利用行人图片样本库,提取图片的HoG(梯度方向直方图)特征作为输入数据,采用级联Adaboost学习方法对HoG特征分类,训练得到行人模式识别分类器。\n[0008] 所述的轮廓特征通过以下方式得到:对视频图像的前景进行轮廓分析得到轮廓峰值点,即轮廓特征。\n[0009] 所述的初步检测结果是指:在轮廓特征处根据行人高度先验模型划定行人区域并统计行人区域内的前景像素比例,当比例大于规定门限Thf时,认为此区域为行人出现区域。\n[0010] 所述的采样是指:以初步行人检测区域中心点为中心,分别向上、下移动区域高度的1/8,再分别向左、右移动行人区域宽度的1/8,而后将区域按1.2倍扩大,再向上、下移动区域高度的1/8,再向左、右移动行人区域宽度的1/8,由此获得9个采样区域。\n[0011] 本发明的原理是,由于行人头肩部分彼此遮挡的几率很小且头肩形状具有强可区分性,因此可以通过前景分析寻找头顶点,确定行人区域。但是当场景中含有多种运动物体和变化的光照时,仅利用前景完成检测会得到大量误检结果,因此需要用更鲁棒的分类器,提取更多形状、梯度信息进行模式识别,排除利用前景得到的错误行人检测结果,提高行人检测准确率。\n[0012] 与现有技术相比,本发明综合利用前景分析和模式识别来完成行人检测,利用前景分析方法运算速度快的特点来得到初步行人检测结果、缩小行人出现的区域范围,利用模式识别方法检测准确度高的特点对初步行人检测结果进行进一步判断,从而使本发明在复杂场景中既可以准确鲁棒地完成行人检测,又能有效地降低方法的运算时间。\n附图说明\n[0013] 图1是本发明的工作流程图。\n[0014] 图2是行人高度采样示意图。\n[0015] 图3是前景分割结果图。\n[0016] 图4是前景分析结果图。\n[0017] 图5是基于模式识别的行人检测结果图。\n具体实施方式\n[0018] 下面对本发明的实施例作详细说明,本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。\n[0019] 实施例\n[0020] 本实施例对TRECVid2008提供的英国伦敦Gatwick机场监控视频序列(720×576像素,25fps)进行处理。该视频中场景背景处于动态变化之中,不仅有光照变化还有不停变化的广告灯箱,运动物体有行人、行李车、清洁车等,行人遮挡比较严重。本实施例包括如下步骤:\n[0021] 第一步,针对待分析的固定摄像头视频,手工标定出位于视频场景中各个位置的行人,得到一组行人高度信息与头顶点信息,采用线性模型来描述行人高度与位置的相互关系,并利用最小二乘法学习出线性模型的具体参数,得到行人高度变化的先验模型,具体为:\n[0022] 任意选取视频序列中某一段,对分布在场景各位置的行人进行人工采样,如图2所示标定出行人头顶点和脚的坐标,由头顶点与脚的坐标差可获得行人的高度信息。本实施例中,采集了37个行人高度(h0,h1,…,h37)和头顶点图像坐标((x0,y0),(x1,y1),…,T\n(x37,y37))。采用归一化坐标表示头顶点,并用向量来表示,即H=(h0,h1,…,h37)X=((x0,T\ny0,1),(x1,y1,1),…,(x37,y37,1)),而后利用线性模型来描述行人高度与头顶点坐标的关系(H=AX)。线性系数A可通过最小二乘估计法获得\n[0023] \n[0024] 解得:\nT -1 T\n[0025] A=(XX) XH\n[0026] 本实施例的最终拟合函数为:h=0.03*x-1.1816*y+759.1206\n[0027] (程序基于OpenCV1.0编写,视频中的图像坐标原点位于左下角。)\n[0028] 第二步,利用行人样本图片库,提取图片的HoG(梯度方向直方图)特征作为输入数据,采用级联Adaboost学习方法生成行人的模式识别分类器。\n[0029] 训练分类器所需的图片样本来自于公开数据库INRIAPerson(http://yoshi.cs.ucla.edu/yao/data/PASCAL_human/INRIAPerson.tar)。本实施例选用INRIAPerson中train_64x128_H96和test_64x128_H96两个文件夹的图片数据。正样本来自文件夹中已完成尺寸归一化(96×160)且已分割好的行人图片。负样本由对负样本图片库中的大尺寸图像随意分割,并按与正样本相同的尺寸(96×160)进行归一化。最终的训练集共有正样本\n2471个、负样本1219个,测试集共有正样本1127个、负样本454个。\n[0030] 本发明选用Qiang Zhu提出的HoG特征,该特征可以在任意尺度、比例的窗口提取,运算简单。为了确保窗口尺寸、位置分布的合理性,规定窗口的尺寸范围从12×12到\n64×128,长宽比例为(1∶1)、(1∶2)、(2∶1)三种,相邻窗口间的位移为4,、6、8三种。\n按此要求,共可以产生14914个不同窗口。HoG特征生成过程为:\n[0031] ①生成对应9个梯度方向区间的9幅二值图\n[0032] 将梯度方向(无符号绝对值梯度)所在范围[0,180)平均划分为9个区间,并开辟9个与行人区域尺寸相同(96×160)的二值图像空间,此9幅二值图像与9个梯度方向区间一一对应。计算行人区域内每一点像素的梯度方向,并查看该梯度方向落入哪个区间,落入区间对应的二值图在该位置处赋1,其余二值图在该位置处赋0,由此可得到行人区域的9幅二值图像。\n[0033] ②生成指定窗口的HoG特征\n[0034] 当给定窗口的位置(14914个窗口位置中的一个)时,将该窗口平分为四个子窗口。统计9幅二值图在每个子窗口内值为1的像素个数,生成一个9维的直方图向量。将四个子窗口的向量头尾相接,则构成36维的HoG特征向量。\n[0035] 本发明采用了LibSVM工具(http://www.csie.ntu.edu.tw/~cjlin/libsvm/)完成弱分类器的训练。首先要指定该弱分类器对应的窗口位置,而后将训练集中正负样本在指定窗口位置处的HoG特征按LibSVM要求写成训练数据文件,由LibSVM学习程序自动产生弱分类器模型。\n[0036] 级联Adaboost分类器的训练步骤如下:\n[0037] ①设定可接受的每个强分类器的最大负样本判错率fmax=0.7和最小正样本通过率dmin=0.9975,级联Adaboost分类器要达到的总负样本判错率目标Ftarget=0.000001,正样本集P,负样本集N。\n[0038] ②设级联排列的强分类器的序号为i,级联到当前第i个强分类器时级联Adaboost分类器的总负样本判错率为Fi、总正样本通过率为Di。初始化Fi=0=1.0,Di=0=1.0。\n[0039] ③当前负样本判错率大于目标负样本判错率(Fi>Ftarget)时,令i=i+1,利用Adaboost方法训练产生一个新的强分类器,得出该强分类器的负样本判错率fi。\n[0040] ④计算当前级联Adaboost分类器的Fi和Di:\n[0041] Fi=Fi-1·fi,Di=Di-1·dmin。\n[0042] ⑤若Fi仍大于Ftarget,则需更新负样本集。用当前的级联Adaboost分类器在负样本集N中做判断,剔除出可正确判断为负样本的数据,仅保留错判为正样本的数据在N中用于下次训练,返回③。若Fi小于等于Ftarget,则级联Adaboost分类器训练完成。\n[0043] 利用Adaboost方法训练强分类器的过程如下:\n[0044] ①把正、负样本的权重参数wi分别初始化为 其中l=2471为正样本的\n个数,m=1219为负样本的个数,i为样本序号(i=1,…,3690)。设该强分类器的负样本判错率ft=1、正样本通过率dt=0,t=1为强分类器中的弱分类器的序号,也可理解为②中循环执行的次数。\n[0045] ②当ft>fmax时,循环执行以下步骤:\n[0046] a)归一化权重: 其中n为样本总个数。\n[0047] b)在已规定的14914个窗口位置中随机选择745个窗口位置(14914*5%)。对第k个窗口位置(k=1,…,745),在正负图片样本集中提取在此窗口的HoG特征,得到此HoG特征的正负样本数据。而后将数据送入libSVM程序,产生出此特征基于支持向量基的弱分类器hk,并计算hk的错误率\n[0048] \n[0049] 其中,hk(xi)为由hk判断的第i个数据的分类结果,yi为已知的分类结果。\n[0050] c)选择具有最小错误率εt的弱分类器ht添加到强分类器中。\n[0051] d)利用当前强分类器的判决结果来更新正负样本的权重。\n[0052] \n[0053] 其中βt=εt/(1-εt);如果xi被分类正确则ei=0,否则ei=1。\n[0054] 计算ht在强分类器中的权重\n[0055] e)减小当前强分类器的门限tht,直至满足di>dmin。计算此时的负样本判错率ft。令t=t+1,返回循环。\n[0056] ③当ft≤fmax时,强分类器训练完成。假设此时共有T个弱分类器,则由此T个弱分类器得到的强分类器表达式为:\n[0057] \n[0058] 在指定参数fmax=0.7、dmin=0.9975、Ftarget=0.000001时,训练的级联Adaboost分类器共产生9个强分类器。\n[0059] 第三步,利用混合高斯模型对视频背景进行自适应建模,计算当前帧图像与背景的差异得到帧差结果,对帧差结果进行阈值化操作和形态学后处理得到前景区域。\n[0060] 视频场景中每一点像素的灰度值可用混合高斯模型来描述\n[0061] \n[0062] 其中,η为高斯概率密度函数, 和 分别为t帧时刻第k个高斯模型的权重、均值和方差,K为混合模型中高斯函数的个数上限,在本实施例中令K=5。\n[0063] 利用高斯混合模型得到背景建模的过程如下:\n[0064] ①以视频第一帧各像素的灰度值来初始化每个像素的混合高斯模型。此时混合高斯模型只有一个高斯函数被初始化,其均值即为当前像素的灰度值,方差被指定为固定值σ2=30,高斯的权值为0.05。\n[0065] ②当读入新一帧图像时,要按高斯函数权值由大至小的顺序查看各高斯函数是否与此像素灰度相匹配。匹配的条件为:像素灰度值与该高斯函数均值的差异不超过Thd=\n2.5σ=13.69。若找到匹配的高斯函数,则可直接转入③。若此灰度与任何一个高斯函数都不匹配,则按照①初始化一个新的高斯函数。当混合模型中存在未初始化的高斯函数时,直接用此新的高斯函数来初始化;当K个高斯函数都被使用时,则用此新的高斯函数来替换当前混合模型中权值最小的高斯函数。\n[0066] ③当确定好当前像素灰度对应的高斯函数后,需要对混合模型内每个已使用的高斯函数的权值、均值、方差进行更新。背景的建模与更新需要一定时间的累积,规定此时间窗口长度L=200。当视频读入帧数小于200时,更新公式为:\n[0067] \n[0068] \n[0069] \n[0070] 其中,N为帧数,ωk用于记录第k个高斯函数在权值降序排列中的序号。\n为二值函数,其定义为:\n[0071] \n[0072] 当帧数超过L后,更新公式为:\n[0073] \n[0074] \n[0075] \n[0076] 更新完毕后,再对混合高斯模型中各高斯函数的权值进行归一化处理。\n[0077] ④把各个高斯函数按其权重由大至小排列,确定权重相加大于Thw=0.7的前B个高斯函数为描述背景的高斯函数。若与当前像素匹配的高斯函数排列位于前B,则判断为背景像素。\n[0078] 将当前帧与背景相减,对其结果进行二值化处理,门限为Thp=15;对此二值图进行后处理来获得前景分割结果,具体方法如下:\n[0079] 对帧差结果进行7倍下采样,而后采用3×3模板进行膨胀、中值滤波、腐蚀,然后7倍上采样还原至原始尺寸,再用3×3模板进行腐蚀、中值滤波、膨胀。通过此后处理,可去除噪声与孔洞,保证前景分割结果尽可能连通,前景轮廓尽可能平滑。\n[0080] 第四步,对前景区域进行轮廓分析,得到轮廓峰值点,在峰值点处根据行人高度先验模型划定行人区域,统计行人区域内的前景像素比例,根据比例值大小做出行人检测的初步判断,具体过程如下:\n[0081] ①利用Canny方法得到前景图像的轮廓c。\n[0082] ②按顺时针沿轮廓计算曲线纵坐标的一阶导数 导数符号改变处设定为初始头顶点位置;\n[0083] ③为避免曲线的微小扰动造成头顶点过于密集,设定相邻头顶点的最小横坐标间隔Thx=50,在此间隔内将纵坐标最大的初始头顶点位置标识为候选头顶点。\n[0084] ④在候选头顶点位置,利用步骤一确定的行人高度拟合函数计算候选头顶点处对应的行人高度h,以 作为宽度得到行人区域。统计矩形区域内前景像素的比例,当比例高于门限值Thf=0.6时,保留该头顶点位置,否则予以剔除。\n[0085] 第五步,在每个初步检测行人区域处,按不同尺度、不同位移进行采样,在每个采样区域提取HoG特征,送入训练好的行人分类器中进行模式识别,比较所有采样区域的识别结果,做出行人检测的最终判断。\n[0086] 在本实施例中,采样过程为:\n[0087] ①以初步检测结果确定的行人区域中心点为中心,分别向上、下移动行人区域高度的 再分别向左、右移动行人区域宽度的\n[0088] ②以初步检测结果确定的行人区域中心点为中心,将行人区域扩大1.2倍,而后分别向上、下移动行人区域高度的 再分别向左、右移动行人区域宽度的\n[0089] 按照上述步骤,每个初步检测结果可对应得到9个采样区域。若9个采样区域的模式识别结果都判断为非行人,则此区域中不包含行人;若9个采样区域中有多个区域被识别为行人,则以分类器输出置信度最高的区域作为行人检测的最终出现区域。\n[0090] 实施效果\n[0091] 依据上述步骤,对TrecVid2008提供的机场监控视频进行行人检测。图3给出前景分割的结果图,可以看出混合高斯模型能够自适应于场景的动态变化,通过计算当前帧图像与背景的差异,并对差异进行阈值化操作和形态学后处理,能够准确地得到前景区域,并能保证前景轮廓的平滑。\n[0092] 图4是根据前景分析得到的初步检测结果图,每一个检测结果都用圆点标识出来。可以看出前景分析的方法能够比较准确地定位包含大量前景像素的轮廓突出峰值点,即可能的行人头顶点位置,大大缩小了行人区域的搜索范围。\n[0093] 图5是在初步检测结果的基础上,利用模式识别剔除错误区域后的行人检测结果。针对每个最终检测结果,采用圆点标志头顶点位置,采用方框标志出行人区域。可以看出经过模式识别后,错误的行人头顶点被有效排除。\n[0094] 所有实验均在PC计算机上实现,计算机的参数为:中央处理器Intel(R)Core(TM)2Duo CPU E6550@2.33GHz,内存1.95GB。视频处理速度与场景中行人的密集程度有关,处理速度范围为:10ms~500ms。
法律信息
- 2018-04-17
未缴年费专利权终止
IPC(主分类): G06K 9/66
专利号: ZL 201110081075.3
申请日: 2011.03.31
授权公告日: 2012.11.28
- 2012-11-28
- 2011-09-21
实质审查的生效
IPC(主分类): G06K 9/66
专利申请号: 201110081075.3
申请日: 2011.03.31
- 2011-08-10
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2008-10-22
|
2007-04-18
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 1 | | 2013-06-14 | 2013-06-14 | | |