一种在复杂场景的视频中进行人体头肩检测的方法

文档序号:6352770阅读:181来源:国知局
专利名称:一种在复杂场景的视频中进行人体头肩检测的方法
技术领域
本发明属于计算机信息挖掘技术领域,特别涉及一种在复杂场景的图片中对人体的头 肩检测的方法,尤其涉及在真实世界的监控视频的帧中行人的头肩检测。
背景技术
近年来,在计算机视频分析领域,在视频中对人体的检测是一个热门的研究方向。在 人体检测的各种方法中,通过检测身体的各部分来检测人体是一个重要辅助手段。而对这 些身体各部分,头肩区域是一个非常显著的特征。由于视频中的经常会出现人体被部分遮 挡的情况,导致检测困难,而此时头肩还有很高的概率被检测出来,所以检测头肩对检测 人体很好的辅助作用。同时,在视频事件检测领域,人在头肩附近的许多动作往往包含一 些隐含的事件信息,比如挥手或者打电话等。所以,复杂背景下的头肩检测具有重要的意 义。 .
头肩检测属于目标检测,而在目标检测领域,方法可以分为两类, 一是做背景提取或 分割,分离出的前景目标作为检测结果。二是在图像中直接搜索目标。在视频中用背景提 取的方法只能应用于静态摄像机,对于场景中静止不动的目标,检测非常困难,这限制了 它的应用范围。所以现在一般采用在图像中直接搜索目标的方法。这些方法一般使用分类 器根据目标的特征对目标进行分类。目标的特征是目标本身包含的特征信息,比如目标图 像区域的颜色直方图,纹理,梯度等。提取目标的特征之后,分类器根据目标的特征对目
标的类别进行判断。目前国际通用的分类器主要是支持向量机(以下简称SVM),但是目 前的单级SVM分类器往往由于只进行一次分类,准确率不高。

发明内容
本发明的目的是为克服已有技术的不足之处,提出一种在复杂场景的视频中进行人体头肩 检测的方法,以梯度方向直方图作为描述目标的特征。采用两级的SVM作为分类器,可 以提高准确率,同时提高检测速度。
本发明是将一定数量的头肩图片和背景图片作为正负样本集,训练SVM作为第一级 分类器。用头肩图片和身体非头肩部分的图片作为正负样本,训练SVM作为第二级分类 器。这样就构成了一个两级的级联分类器。检测区域依次经过这两级SVM检测,以此检
4测结果作为最终结果。
本发明中使用的SVM是目前在国际比较流行的LibSVM分类器,不对它进行修改。 本发明提出的在复杂场景的视频中进行人体头肩检测的方法,主要包括以下步骤
(1) 从待检测的一类视频中选择一个视频。从该视频的各帧中人工标定一定数量(至 少1000张)的头肩图片、 一定数量(至少1000张)背景图片和一定数量(至少1000 张)的身体其他部分的图片,其中要求这些图片的边长至少1厘米。以头肩图片作为正样 本图片,以背景图片作为负样本图片;;
(2) 将得到的正负样本图片进行左右镜像,增加样本的数量;
(3) 提取得到的正负样本图片的梯度方向直方图,并将梯度方向直方图转化为向量 的形式,作为样本图片的梯度向量;
(4) 用从正负样本中提取出的梯度向量对第一级支持向量机(SVM)进行训练,生 成一个用于分类的第一级模型;
(5) 用所述头肩图片作为新正样本,用所述身体其他部分的图片代替所述背景图片 作为新负样本;
(6) 提取所述新正负样本图片的梯度方向直方图,并将梯度方向直方图转化为1乘 N的向量的形式,N为正整数,作为新样本的梯度向量;
(7) 用从新的正负样本中提取出的梯度向量对第二级支持向量机(SVM)进行训练, 生成一个用于分类的第二级模型;
(8) 读入一个待检测视频,提取该视频的一帧图像;
(9) 确定该帧图像上某一个待检测窗口的位置和大小,采用步骤(3)的方法提取该 窗口的梯度方向直方图,并得到该窗口的梯度向量;
(10) 将该梯度向量通过第一级分类器进行分类检测,如果分类结果为负(即此窗口 不包含头肩头像),则结束该窗口的检测,转步骤(11);如果第一级分类结果为正(即 第一级分类器判定此窗口包含头肩头像),则将该梯度向量通过第二级分类器进行分类 检测;如果第二级分类结果为负,转步骤(11),如果分类结果为正,则确认该窗口包 含头肩,将窗口的坐标保存下来,作为该窗口的检测结果;
.(11)改变窗口的位置和大小,采用步骤(3)的方法提取该窗口的梯度方向直方图, 并得到该窗口的梯度向量,转步骤(10)进行该窗口的分类检测,最终得到各窗口的检 测结果。
上述方法的步骤(3)具体包括如下步骤
(31)将每一个样本图片作为一个窗口,将窗口分为MxN的块,块之间有30%-50% 的重叠,M、 N均为正整数;(32) 该每个块平分成多个单元;
(33) 对该每个单元内的像素计算梯度方向和大小;
(34) 将每个单元内的像素的梯度按方向统计成一个直方图,并将梯度方向直方图转化
为向量的形式,作为该单元的梯度向量;
(35) 将各个单元的梯度向量连接成一个长向量,作为该块的梯度向量;
(36) 将窗口内各个块的梯度向量连接成一个长向量,作为该窗口的梯度向量;
(37) 将该窗口的梯度向量进行归一化,作为该样本图片的梯度向量;上述方法的步骤(ll)改变窗口的位置和大小,进行该窗口的分类检测,具体包括如
下步骤
(111) 移动该窗口的坐标,并保持30%-80%重叠度,进行该窗口的分类检测;
(112) 改变窗口的尺寸大小(根据视频中头肩的大小确定取值范围),并且依次移动窗
口的位置,进行该窗口的分类检测。
本发明的特点及效果
本发明提出的在复杂场景的视频中'进行人体头肩检测的方法,用于对真实世界里的监控视频中的人进行头肩检测。选用了梯度方向直方图作为头肩的特征表示。梯度方向直方图最近几年开始用于目标检测领域,选用它表示头肩图像,能够保存目标的边缘走向特征,实验已经证明,它是一种鲁棒的特征,能提高检测的性能。同时,使用不同的样本训练两个支持向量机,将它们构成级联分类器。在检测过程中,第一级分类器去掉明显不含头肩的区域,通过第一级分类器的窗口再由第二级分类器进行检测。这样,由于采用两级分类器,可以提高准确率,同时提高了检测速度。在视频中将人的头肩检测出来,可以用于人体跟踪、事件检测,对于实现自动监控具有重要意义。
具体实施例方式
本发明提出的一种在复杂场景的视频中进行人体头肩检测的方法,结合实施例详细说明如下
在视频中进行人体的头肩检测,实质方法仍是在图片上进行检测,本实施例采用直接在图片上搜索的方法,具体包括以下步骤
(1)从待检测的一类视频中选择一个视频;从该视频的各帧中人工标定一定数量(至
少1000张)的头肩图片、 一定数量(至少1000张)背景图片和一定数量(至少1000
张)的身体其他部分的图片,其中要求这些图片的边长至少1厘米;以头肩图片作为正样本图片,以背景图片作为负样本图片;
6(2) 将得到的正负样本图片进行左右镜像,增加样本的数量;
(3) 提取得到的正负样本图片的梯度方向直方图,并将梯度方向直方图转化为向量的 形式,作为样本图片的梯度向量;具体包括
(31 )将一个每个图片看作一个窗口,将该窗口划分为3x3的小块,小块之间有50% 的重叠;
(32)该每个小块又被平分为四个小单元;
(33 )对该每个单元内的像素计算梯度方向和大小,本实施例的梯度值采用模板[-1,0,
l]的方法来计算,方向为,《力=arCtan , W+ — , W 大小为
va/we(义力=V
其中,grad(x,y)是该像素点的梯度方向。/(x,y)是该像素点的亮度值。Value(x,y)是该像 素点的梯度的值;
(34) 将单元内各像素的梯度值按照梯度方向统计成颜色直方图,以向量的形式保存, 将该向量作为该单元的梯度向量;
(35) 将各单元的梯度向量连接起来,每个小块用一个归一化的4x9=36维的向量 来表示,作为该块的梯度向量;
(36) 将各块的梯度向量连接起来,每个窗口的梯度方向直方图就可以用一个9x 36=324维的向量来表示,作为该窗口的梯度向量;
(4) 用从正负样本中提取出的梯度向量对第一级支持向量机(LibSVM)进行训练,生 成一个用于分类的第一级模型;
(5) 用所述头肩图片作为新正样本,用所述身体其他部分的图片代替所述背景图片作 为新负样本;
(6) 提取得到的新正负样本图片的梯度方向直方图,并将梯度方向直方图转化为1乘 324的向量的形式,作为新样本的梯度向量;
(7) 用从新的正负样本中提取出的梯度向量对第二级支持向量机(LibSVM)进行训练, 生成一个用于分类的第二级模型;
(8) 调用openCV库读入一个待检测视频,解析出该视频上的一帧;
(9) 确定该帧图像上某一个待检测窗口的位置和大小,采用步骤(31)到步骤(37)的方法提取该窗口的梯度方向直方图,并得到该窗口的梯度向量;
(10) 将该梯度向量通过第一级LibSVM分类器进行分类检测,如果分类结果为负(即
此窗口不包含头肩头像),则结束该窗口的检测,则转步骤(13);如果第一级分类结果为
正(即第一级分类器判定此窗口包含头肩头像),则将该梯度向量通过第二级LibSVM分 类器进行分类检测;如果第二级分类结果为负,转步骤(13),如果分类结果为正,则确 认该窗口包含头肩,将窗口的坐标保存下来,作为该窗口的检测结果;
(11) 移动该窗口的坐标,并保持30%-80%重叠度,对该待检测窗口进行检测;
(12) 改变窗口的尺寸大小(根据视频中头肩的大小确定取值范围),并且依次移动窗 口的位置,进行该窗口的分类检测,最终得到各窗口的检测结果。
权利要求
1、一种复杂场景的视频中进行人体头肩检测的方法,其特征在于,主要包括以下步骤(1)从待检测的一类视频中选择一个视频。从该视频的各帧中人工标定一定数量的头肩图片、一定数量背景图片和一定数量的身体其他部分的图片,其中要求这些图片的边长至少1厘米。以头肩图片作为正样本图片,以背景图片作为负样本图片;(2)将得到的正负样本图片进行左右镜像,增加样本的数量;(3)提取得到的正负样本图片的梯度方向直方图,并将梯度方向直方图转化为向量的形式,作为样本图片的梯度向量;(4)用从正负样本中提取出的梯度向量对第一级支持向量机进行训练,生成一个用于分类的第一级模型;(5)用所述头肩图片作为新正样本,用所述身体其他部分的图片代替所述背景图片作为新负样本;(6)提取所述新正负样本图片的梯度方向直方图,并将梯度方向直方图转化为1乘N的向量的形式,N为正整数,作为新样本的梯度向量;(7)用从新的正负样本中提取出的梯度向量对第二级支持向量机进行训练,生成一个用于分类的第二级模型;(8)读入一个待检测视频,提取该视频的一帧图像;(9)确定该帧图像上某一个待检测窗口的位置和大小,采用步骤(3)的方法提取该窗口的梯度方向直方图,并得到该窗口的梯度向量;(10)将该梯度向量通过第一级分类器进行分类检测,如果分类结果为负,则结束该窗口的检测,转步骤(11);如果第一级分类结果为正,则将该梯度向量通过第二级分类器进行分类检测;如果第二级分类结果为负,转步骤(11),如果分类结果为正,则确认该窗口包含头肩,将窗口的坐标保存下来,作为该窗口的检测结果;(11)改变窗口的位置和大小,采用步骤(3)的方法提取该窗口的梯度方向直方图,并得到该窗口的梯度向量,转步骤(10)进行该窗口的分类检测,最终得到各窗口的检测结果。
2、 如权利要求1所述方法,其特征在于,所述方法的步骤(3)具体包括如下步骤(31) 将每一个样本图片作为一个窗口,将窗口分为MxN的块,块之间有30%-50% 的重叠,M、 N均为正整数;(32) 该每个块平分成多个单元;(33) 对该每个单元内的像素计算梯度方向和大小;(34) 将每个单元内的像素的梯度按方向统计成一个直方图,并将梯度方向直方图转化 为向量的形式,作为该单元的梯度向量;(35) 将各个单元的梯度向量连接成一个长向量,作为该块的梯度向量;(36) 将窗口内各个块的梯度向量连接成一个长向量,作为该窗口的梯度向量;(37) 将该窗口的梯度向量进行归一化,作为该样本图片的梯度向量:。
3、如权利要求i所述方法,其特征在于,所述方法的步骤(n)改变窗口的位置和大小,进行该窗口的分类检测,具体包括如下步骤(111) 移动该窗口的坐标,并保持30%-80%重叠度,进行该窗口的分类检测;(112) 改变窗口的尺寸大小,并且依次移动窗口的位置,进行该窗口的分类检测。
全文摘要
本发明涉及一种在复杂场景的视频中进行人体头肩检测的方法,属于计算机信息挖掘技术领域。从视频的各帧中人工标定头肩图片、背景图片和身体其他部分的图片作为正负样本,镜像这些图片;提取正负样本的梯度向量,对第一级分类器训练;用头肩图片作为新正样本,用身体其他部分的图片作为新负样本;提取正负样本的梯度向量,对第二级分类器训练。确定待检测视频的一帧中一个待检测窗口的位置和大小,提取该窗口的梯度向量;将它通过第一级分类器,若分类为负,则结束检测,若第一级分类为正,则将它通过第二级分类器;若分类为正,则确认该窗口包含头肩。改变窗口的位置和大小,对新窗口进行同样的检测。本发明可以提高准确率,同时提高检测速度。
文档编号G06K9/00GK101477626SQ200910077108
公开日2009年7月8日 申请日期2009年1月16日 优先权日2009年1月16日
发明者丁锡锋, 孙立峰, 鹏 崔, 辉 徐, 杨士强 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1