基于运动区域的行人检测方法
【专利摘要】本发明提供一种基于运动区域的行人检测方法,包括:采集摄像设备拍摄的视频数据;使用混合高斯模型对视频数据进行背景建模,得到当前帧的运动前景;利用开操作对所述运动前景进行形态学处理,消除运动前景周围的孤立点;构建包围运动前景的矩形包围框,并删除重复的矩形包围框;获取每一矩形包围框的坐标、长度、宽度;根据矩形包围框在当前帧的原始图像上创建运动区域;对原始图像的运动区域提取HOG特征,然后利用预先训练得到的SVM分类器对当前帧的HOG特征进行识别仪确定该运动区域是否为行人。
【专利说明】
基于运动区域的行人检测方法
技术领域
[0001] 本发明涉及图像处理技术领域,特别是指一种基于运动区域的行人检测方法。
【背景技术】
[0002] 随着技术的发展,各行各业对图像处理的要求越来越高,特别是视频监控领域对 精确检测来提高安全性具有极高的要求。现有的基于HOG特征的行人检测是计算机视觉领 域中广泛使用的方法,该方法先提取图像的HOG特征,然后使用SVM作为分类器进行判别,从 而实现行人检测。但是HOG特征维数较高,提取每帧图像的HOG特征通常需要花费几百毫秒 甚至更长时间,造成行人检测系统实时性较差。另外,现有的HOG特征检测算法对于背景中 轮廓类似于行人的物体,比如小树、路灯等,该方法容易将其误识别为行人,造成误检率较 尚。
【发明内容】
[0003] 针对现有技术中视频数据中对行人检测的误检率较高的问题,本发明实施例的目 的是提出一种基于运动区域的行人检测方法,至少能部分的解决以上的几个问题。
[0004] 为了解决上述问题,本发明实施例提出了一种基于运动区域的行人检测方法,包 括:
[0005] 步骤1、采集摄像设备拍摄的视频数据;
[0006] 步骤2、使用混合高斯模型对视频数据进行背景建模,得到当前帧的运动前景;利 用开操作对所述运动前景进行形态学处理,消除运动前景周围的孤立点;
[0007] 步骤3、构建包围运动前景的矩形包围框,并删除重复的矩形包围框;获取每一矩 形包围框的坐标、长度、宽度;根据矩形包围框在当前帧的原始图像上创建运动区域;
[0008] 步骤4、对原始图像的运动区域提取HOG特征,然后利用预先训练得到的SVM分类器 对当前帧的HOG特征进行识别仪确定该运动区域是否为行人。
[0009] 其中,所述步骤2具体包括:
[0010] 步骤21、使用混合高斯模型对视频数据进行背景建模,得到当前帧的运动前景;具 体包括:在当前帧图像中,将背景区域所有像素的像素值被置为0,运动前景区域像素的像 素值不为〇;
[0011] 步骤22、利用开操作对所述运动前景进行形态学处理,消除运动前景周围的孤立 点。
[0012] 其中,步骤21具体采用以下方式实现:
[0013] 步骤211、选取视频的参考帧的每个像素的值对混合高斯模型中的3个高斯分布的 均值μ〇进行初始化,初始方差^设为较大值,每个高斯分布的权值ω 〇设为1/3;
[0014] 步骤212、将每个新获取的像素的值与混合高斯模型中的3个高斯分布进行比较, 如果新获取的像素与混合高斯分布的至少一个高斯分布满足以下的公式(1),则认为该像 素与高斯分布相匹配:
[0015] Xt-yi,t| <2.5〇i;t (I)
[0016] 其中,yi,t与别为t时刻第i个高斯分布的均值和方差,Xt为像素的值;
[0017] 步骤213、将高斯分布的权值按照公式(2)进行更新;
[0018] ωι;?=(1-α) oi)t-i+aMi,t (2)
[0019] 其中,co1>t为高斯分布的权值,a为学习率;M1,t表示像素点与第i个高斯分布的匹 配情况,如果匹配成功则Mi, t为1,否则Mi, t为0;
[0020] 步骤214、将未匹配的高斯分布的均值和方差保持不变,匹配成功的高斯分布按照 公式(3)进行更新参数;
[0021]
[0022]其中,P为参数更新的学习因子,a为学习率,yi,jP〇1,t分别表示在t时刻第i个高斯 分布的均值和方差;n( Xt,μL, t, Oi, t)为高斯分布的概率密度函数;
[0023] 步骤215、如果像素与所有高斯分布都不匹配,则相应的混合高斯模型中权值最低 的高斯分布被新的高斯分布替换,新高斯分布的均值为当前像素的像素值,方差设为较大 值,权值设为最小值。
[0024] 步骤216、将混合高斯模型中所有高斯分布按ω/σ进行降序排列,按照公式(4)取 前B个高斯高分布作为背景;所有背景像素的像素值被置为0,当前帧图像中运动前景的像 素值不为0:
[0025]
[0026] 其中,T为阈值,表示背景高斯分布所占的比例。
[0027] 其中,所述步骤22具体包括:根据以下的公式(5)使用开操作对所述运动前景进行 形态学处理;所述形态学处理包括腐蚀操作和后续的膨胀处理;
[0028] AoB = [AQB)? B (5)
[0029] 其中,A为运动前景,B为结构元素。
[0030]其中,所述步骤3具体包括:
[0031] 步骤31、对获得的当前帧的运动前景进行边缘检测,找出包围运动前景的外轮廓;
[0032] 步骤32、遍历整个当前帧图像,使用矩形逼近运动前景的外轮廓,将运动前景包围 在矩形中央,得到多个包围该运动前景的矩形包围框rect[l]、rect[2]^TectIiY];
[0033] 然后判断是否有矩形嵌套,如果有则将嵌套在其他矩形包围框内部的矩形包围框 删除,获得最终的矩形包围框rect[l]、rect[2]^TectIin];
[0034] 步骤33、获取当前帧的最终的矩形包围框的左上角顶点的坐标位置(X1,yi)、(X2, y2)…(Xn,y n)、每一矩形包围框的宽度rect[l] .width、rect[2] .width...rect[n] .width,每 一矩形包围框的宽度rect[l] .hight、rect[2] .hight."rect[n] .hight;
[0035]步骤34、根据所述当前帧的原始图像以及所有当前帧的矩形包围框,在当前帧的 原始图像上生成运动区域。
[0036] 其中,所述步骤33还包括:
[0037]将矩形包围框中宽度或高度小于40像素的矩形包围框删除;
[0038] 然后将未删除的矩形包围框进行识别,将宽度值小于64像素值的矩形包围框的宽 度值扩大为64像素值,将高度值小于128像素值的矩形包围框的高度值扩大为128像素值。
[0039] 其中,所述步骤4具体为:对获得的原始图像的运动区域提取HOG特征;利用预先训 练得到的SVM分类器对当前帧的HOG特征进行判别,以确定所述运动区域是否为行人。
[0040] 其中,所述步骤4还包括;当运动区域为行人时,使用线宽为3像素的矩形框对行人 进行标注。
[0041] 本发明的上述技术方案的有益效果如下:上述方案的行人检测方法,通过提取视 频中运动前景,仓Il建当前帧的运动区域,在当前帧的运动区域内进行HOG特征提取,相比在 整个视频帧图像内提取HOG特征的传统方法,本方法的计算量大幅减少,因此非常迅速,可 以满足普通监控视频的行人检测的实时性需求;由于对每一帧图像的HOG特征提取都是在 当前帧的运动区域内进行的,而不是整个视频帧图像,因此,剔除了视频图像中大部分的背 景信息,避免了复杂的背景图像对SVM分类器的干扰,增大了辨别准确率,降低了误检测率。
【附图说明】
[0042]图1为本发明实施例的流程图;
[0043] 图2为本发明实施例的举例说明的示意图。
【具体实施方式】
[0044] 为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具 体实施例进行详细描述。
[0045] 针对现有技术中行人检测方法效果不好的问题,提出了一种基于运动区域的方 法,其流程如图1所示的,包括:
[0046] 步骤1、采集摄像设备拍摄的视频数据;
[0047] 步骤2、使用混合高斯模型对视频数据进行背景建模,得到当前帧的运动前景;利 用开操作对所述运动前景进行形态学处理,消除运动前景周围的孤立点;
[0048] 步骤3、构建包围运动前景的矩形包围框,并删除重复的矩形包围框;获取每一矩 形包围框的坐标、长度、宽度;根据矩形包围框在当前帧的原始图像上创建运动区域;
[0049]步骤4、对原始图像的运动区域提取HOG特征,然后利用预先训练得到的SVM分类器 对当前帧的HOG特征进行识别仪确定该运动区域是否为行人。
[0050] 其中,步骤2具体为:如图1所示,本发明实施例通过提取视频中运动前景,创建当 前帧的运动区域,在当前帧的运动区域内进行HOG特征提取,然后利用SVM分类器进行判别, 若判别当前帧运动区域内的运动前景为行人,则使用线宽为3像素的矩形框对行人进行标 注。
[0051] 进一步地,步骤2具体包括以下步骤:
[0052] 步骤21、使用混合高斯模型对步骤1中的视频数据进行背景建模,得到当前帧的运 动前景;具体包括:在当前帧图像中,将背景区域所有像素的像素值被置为〇,运动前景区域 像素的像素值不为〇;
[0053] 步骤22、利用开操作对所述运动前景进行形态学处理,消除运动前景周围的孤立 点,使得当前帧图像只有独立完整的运动前景。
[0054]其中,步骤21具体采用以下方式实现:
[0055] 步骤211、选取视频的参考帧的每个像素的值对混合高斯模型中的3个高斯分布的 均值μ〇进行初始化,初始方差O0 2设为较大值,每个高斯分布的权值ω Q设为1/3;
[0056] 步骤212、将每个新获取的像素的值与混合高斯模型中的3个高斯分布进行比较, 如果新获取的像素与混合高斯分布的至少一个高斯分布满足以下的公式(1),则认为该像 素与高斯分布相匹配:
[0057] Xt-yi,t| <2.5〇i;t (I)
[0058] 其中,yi,t与〇i,t分别为t时刻第i个高斯分布的均值和方差,xt为像素的值;
[0059] 步骤213、将高斯分布的权值按照公式(2)进行更新;
[0060] ωι;?=(1-α) oi)t-i+aMi,t (2)
[0061] 其中,co1>t为高斯分布的权值,a为学习率;M1,t表示像素点与第i个高斯分布的匹 配情况,如果匹配成功则Mi, t为1,否则Mi, t为0;
[0062] 步骤214、将未匹配的高斯分布的均值和方差保持不变,匹配成功的高斯分布按照 公式(3)进行更新参数;
[0063]
[0064]其中,P为参数更新的学习因子,a为学习率,yi,jP〇1,t分别表示在t时刻第i个高斯 分布的均值和方差;n( Xt,μL, t, Oi, t)为高斯分布的概率密度函数;
[0065] 步骤215、如果像素与所有高斯分布都不匹配,则相应的混合高斯模型中权值最低 的高斯分布被新的高斯分布替换,新高斯分布的均值为当前像素的像素值,方差设为较大 值,权值设为最小值。
[0066] 步骤216、将混合高斯模型中所有高斯分布按ω/σ进行降序排列,按照公式(4)取 前B个高斯高分布作为背景;所有背景像素的像素值被置为0,当前帧图像中运动前景的像 素值不为〇;
[0067]
[0068] 其中,T为阈值,表示背景高斯分布所占的比例;
[0069]其中,所述步骤22具体包括:
[0070]根据以下的公式(5)使用开操作对所述运动前景进行形态学处理;所述形态学处 理包括腐蚀操作和后续的膨胀处理;
[0071] .4。β =:(ΑΘβ)@ β ( $ )
[0072] 其中,A为运动前景,B为结构元素。
[0073]是由于处理后的图像;
[0074]步骤31、对步骤22中获得的当前帧的运动前景进行边缘检测,找出包围运动前景 的外轮廓;
[0075] 步骤32、遍历整个当前帧图像,使用矩形逼近运动前景的外轮廓,将运动前景包围 在矩形中央,得到多个包围该运动前景的矩形包围框rect[l]、rect[2]^TectIiY];
[0076] 然后判断是否有矩形嵌套,如果有则将嵌套在其他矩形包围框内部的矩形包围框 删除,获得最终的矩形包围框rect[l]、rect[2]^TectIin];
[0077] 步骤33、获取当前帧的最终的矩形包围框的左上角顶点的坐标位置(X1,yi)、(X2, y2)…(Xn,y n)、每一矩形包围框的宽度rect[l] .width、rect[2] .width...rect[n] .width,每 一矩形包围框的宽度rect[l] .hight、rect[2] .hight."rect[n] .hight;
[0078] 步骤34、根据所述当前帧的原始图像以及所有当前帧的矩形包围框,在当前帧的 原始图像上生成运动区域。
[0079]其中步骤32中,由于生成了多个保卫该运动前景的矩形包围框,因此需要对相互 嵌套的矩形包围框进行删除以防止重复计算。为了降低运算的复杂度,步骤33还包括:将获 得的最终的矩形包围框中宽度或高度小于40像素的矩形包围框删除;然后将未删除的矩形 包围框进行识别,将宽度值小于64像素值的矩形包围框的宽度值扩大为64像素值,将高度 值小于128像素值的矩形包围框的高度值扩大为128像素值。其中步骤31-步骤33处理后获 得的当前帧的矩形包围框为二值图像,无法直接进行行人检测。因此步骤34中试讲当前帧 的原始图像重新载入,然后再根据矩形包围框对应的在原始图像上生成运动区域。
[0080] 其中,所述步骤4具体为:对获得的原始图像的运动区域提取HOG特征;利用预先训 练得到的SVM分类器对当前帧的HOG特征进行判别,以确定所述运动区域是否为行人;如果 是则使用线宽为3像素的矩形框对行人进行标注,如果否则步骤结束。
[0081] 其中,步骤41中使用的是标准的HOG特征提取技术从原始图像的运动区域内的提 取HOG特征;具体包括:使用64 X 128像素大小的HOG特征检测窗口在运动区域内遍历滑动, 并提取HOG特征。其中可以从左到右、从上到下的顺序在运动区域内进行移动扫描,而在水 平方向和竖直方向上的检测窗口都是8个像素。
[0082] 其中,64 X 128像素大小的HOG特征检测窗口的HOG特征提取过程如下:
[0083] 利用矩形HOG结构,将图像划分为多个Block,其中每个Block包括2 X 2个Cell,且 每一个Cell都是一个8 X 8像素的区域。其中检测窗口 N为8像素,每个Cell的梯度方向从0°-360°分成9个方向块,并将每个Cell的9个方向块进行梯度幅度投影,形成9维的特征向量。 将一个Block内的四个Cel 1独立产生9维的特征向量;在计算某个Cel 1的特征向量时,投影 的时候同一个Block内的另外三个Cell中的像素也要对这个Cell的特征向量进行投影,最 终在64X 128像素大小的HOG特征检测窗口中,产生3780维的HOG特征向量。将所有检测窗口 提取的HOG特征向量组成一个大的HOG特征向量。
[0084]其中,该SVM分类器是通过以下方法形成的:
[0085]获取作为训练样本集的正样本集、负样本集,其中正样本集中的正样本是指是包 含行人的图像,而负样本集中的负样本为不包含行人的背景。本发明实施例中可以选用广 泛应用于行人检测的INRIA数据库。针对正样本集和负样本集,分别提取其中的所有正样本 和负样本的HOG特征。对样本集中的所有样本赋予样本标签,其中正样本都标记为1、负样本 都标记为0,然后将所有样本的HOG特征和样本标签都输入到SVM中进行训练,最终得到训练 好的SVM分类器。
[0086]以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员 来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也 应视为本发明的保护范围。
【主权项】
1. 一种基于运动区域的行人检测方法,其特征在于,包括: 步骤1、采集摄像设备拍摄的视频数据; 步骤2、使用混合高斯模型对视频数据进行背景建模,得到当前帧的运动前景;利用开 操作对所述运动前景进行形态学处理,消除运动前景周围的孤立点; 步骤3、构建包围运动前景的矩形包围框,并删除重复的矩形包围框;获取每一矩形包 围框的坐标、长度、宽度;根据矩形包围框在当前帧的原始图像上创建运动区域; 步骤4、对原始图像的运动区域提取HOG特征,然后利用预先训练得到的SVM分类器对当 前帧的HOG特征进行识别仪确定该运动区域是否为行人。2. 根据权利要求1所述的基于运动区域的行人检测方法,其特征在于,所述步骤2具体 包括: 步骤21、使用混合高斯模型对视频数据进行背景建模,得到当前帧的运动前景;具体包 括:在当前帧图像中,将背景区域所有像素的像素值被置为0,运动前景区域像素的像素值 不为〇; 步骤22、利用开操作对所述运动前景进行形态学处理,消除运动前景周围的孤立点。3. 根据权利要求12所述的基于运动区域的行人检测方法,其特征在于,步骤21具体采 用以下方式实现: 步骤211、选取视频的参考帧的每个像素的值对混合高斯模型中的3个高斯分布的均值 μ〇进行初始化,初始方差设为较大值,每个高斯分布的权值ω Q设为1/3; 步骤212、将每个新获取的像素的值与混合高斯模型中的3个高斯分布进行比较,如果 新获取的像素与混合高斯分布的至少一个高斯分布满足以下的公式(1),则认为该像素与 高斯分布相匹配: |xt-yi,t|〈2.5〇i,t (1) 其中,yi,t与〇1>t分别为t时刻第i个高斯分布的均值和方差, xt为像素的值; 步骤213、将高斯分布的权值按照公式(2)进行更新; ω i)t= (1-α) ω i,t-i+aMi,t (2) 其中,《1>t为高斯分布的权值,α为学习率;M1>t表示像素点与第i个高斯分布的匹配情 况,如果匹配成功则Mi, t为1,否则Mi, t为0; 步骤214、将未匹配的高斯分布的均值和方差保持不变,匹配成功的高斯分布按照公式 (3)进行更新参数;其中,P为参数更新的学习因子,a为学习率,和分别表示在t时刻第i个高斯分布 的均值和方差;n (xt,μL, t,, t)为高斯分布的概率密度函数; 步骤215、如果像素与所有高斯分布都不匹配,则相应的混合高斯模型中权值最低的高 斯分布被新的高斯分布替换,新高斯分布的均值为当前像素的像素值,方差设为较大值,权 值设为最小值。 步骤216、将混合高斯模型中所有高斯分布按ω/σ进行降序排列,按照公式(4)取前B个 高斯高分布作为背景;所有背景像素的像素值被置为〇,当前帧图像中运动前景的像素值不 为〇;其中,Τ为阈值,表示背景高斯分布所占的比例。4. 根据权利要求3所述的基于运动区域的行人检测方法,其特征在于,其中,所述步骤 22具体包括:根据以下的公式(5)使用开操作对所述运动前景进行形态学处理;所述形态学 处理包括腐蚀操作和后续的膨胀处理; Α〇Β=(ΑΘΒ) ? Β (5) 其中,Α为运动前景,Β为结构元素。5. 根据权利要求1所述的基于运动区域的行人检测方法,其特征在于,其中,所述步骤3 具体包括: 步骤31、对获得的当前帧的运动前景进行边缘检测,找出包围运动前景的外轮廓; 步骤32、遍历整个当前帧图像,使用矩形逼近运动前景的外轮廓,将运动前景包围在矩 形中央,得到多个包围该运动前景的矩形包围框rect[l]、rect[2ih_rect[Y]; 然后判断是否有矩形嵌套,如果有则将嵌套在其他矩形包围框内部的矩形包围框删 除,获得最终的矩形包围框rect[l]、Γθ〇?[2]···Γθ〇1:[η]; 步骤33、获取当前帧的最终的矩形包围框的左上角顶点的坐标位置(X1,yi)、(χ2,y 2)… (Xn,yn)、每一矩形包围框的宽度rect[l] .width、rect[2] .width."rect[n] .width,每一矩 形包围框的宽度rect[l] .hight、rect[2] .hight...rect[n] .hight; 步骤34、根据所述当前帧的原始图像以及所有当前帧的矩形包围框,在当前帧的原始 图像上生成运动区域。6. 根据权利要求5所述的基于运动区域的行人检测方法,其特征在于,所述步骤33还包 括: 将矩形包围框中宽度或高度小于40像素的矩形包围框删除; 然后将未删除的矩形包围框进行识别,将宽度值小于64像素值的矩形包围框的宽度值 扩大为64像素值,将高度值小于128像素值的矩形包围框的高度值扩大为128像素值。7. 根据权利要求1所述的基于运动区域的行人检测方法,其特征在于,所述步骤4具体 为:对获得的原始图像的运动区域提取HOG特征;利用预先训练得到的SVM分类器对当前帧 的HOG特征进行判别,以确定所述运动区域是否为行人。8. 根据权利要求7所述的基于运动区域的行人检测方法,其特征在于,所述步骤4还包 括;当运动区域为行人时,使用线宽为3像素的矩形框对行人进行标注。 其中,步骤41中使用的是标准的HOG特征提取技术从原始图像的运动区域内的提取HOG 特征;具体包括:使用64X128像素大小的HOG特征检测窗口在运动区域内遍历滑动,并提取 HOG特征。其中可以从左到右、从上到下的顺序在运动区域内进行移动扫描,而在水平方向 和竖直方向上的检测窗口都是8个像素。 其中,64 X 128像素大小的HOG特征检测窗口的HOG特征提取过程如下: 利用矩形HOG结构,将图像划分为多个Block,其中每个Block包括2X2个Cell,且每一 个Cell都是一个8X8像素的区域。其中检测窗口 N为8像素,每个Cell的梯度方向从0°-360° 分成9个方向块,并将每个Ce 11的9个方向块进行梯度幅度投影,形成9维的特征向量。将一 个B1 ock内的四个Ce 11独立产生9维的特征向量;在计算某个Ce 11的特征向量时,投影的时 候同一个Block内的另外三个Cell中的像素也要对这个Cell的特征向量进行投影,最终在 64X 128像素大小的HOG特征检测窗口中,产生3780维的HOG特征向量。将所有检测窗口提取 的HOG特征向量组成一个大的HOG特征向量。 其中,该SVM分类器是通过以下方法形成的: 获取作为训练样本集的正样本集、负样本集,其中正样本集中的正样本是指是包含行 人的图像,而负样本集中的负样本为不包含行人的背景。本发明实施例中可以选用广泛应 用于行人检测的INRIA数据库。针对正样本集和负样本集,分别提取其中的所有正样本和负 样本的HOG特征。对样本集中的所有样本赋予样本标签,其中正样本都标记为1、负样本都标 记为0,然后将所有样本的HOG特征和样本标签都输入到SVM中进行训练,最终得到训练好的 SVM分类器。
【文档编号】G06T7/20GK106056631SQ201610395485
【公开日】2016年10月26日
【申请日】2016年6月6日
【发明人】程德强, 赵凯, 陈刚, 高凌志, 黄晓丽, 满广毅, 厉航
【申请人】中国矿业大学