CN101576953A - 一种人体姿态的分类方法和装置 - Google Patents

一种人体姿态的分类方法和装置 Download PDF

Info

Publication number
CN101576953A
CN101576953A CNA2009100868899A CN200910086889A CN101576953A CN 101576953 A CN101576953 A CN 101576953A CN A2009100868899 A CNA2009100868899 A CN A2009100868899A CN 200910086889 A CN200910086889 A CN 200910086889A CN 101576953 A CN101576953 A CN 101576953A
Authority
CN
China
Prior art keywords
human body
outline
mean
attitude
point
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2009100868899A
Other languages
English (en)
Other versions
CN101576953B (zh
Inventor
王俊艳
黄英
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vimicro Corp
Original Assignee
Vimicro Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Vimicro Corp filed Critical Vimicro Corp
Priority to CN200910086889.9A priority Critical patent/CN101576953B/zh
Publication of CN101576953A publication Critical patent/CN101576953A/zh
Application granted granted Critical
Publication of CN101576953B publication Critical patent/CN101576953B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种人体姿态的分类方法和装置,人体姿态的分类方法包括:确定当前帧图像中的人体区域;在所述人体区域中,进行人体形状的提取,获得人体的外轮廓,并通过人头检测,获得人头的位置信息;当头部位于人体的外轮廓正中间,此时确定所述人体姿态为垂直站立;当头部位于人体的外轮廓的一侧时,进而计算人体外轮廓的长宽比,根据所述人体外轮廓的长宽比确定人体姿态种类,从而实现了对人体姿态进行自动识别和分类,不需人工介入,弥补了现有技术没有提供对人体姿态进行分类的方法的缺陷。

Description

一种人体姿态的分类方法和装置
技术领域
本发明涉及图像内容分析技术领域,特别涉及一种人体姿态的分类方法和装置。
背景技术
人体姿态是各种各样的,如站立、弯腰、坐、躺、半躺等。图像中的人体姿态分析是图像内容分析的主要内容之一,主要目的是估算图像中人体各个部位的位置,确定头部、四肢的姿态。确定人体姿态之后,可进一步判断人的当前动作等信息,进而应用于行为分析、视频监控、人机交互、虚拟现实等各种应用场景。例如:在小时工监控系统中,可以通过人体姿态确定当前小时工有没有偷懒;或者,可以将人体姿态与人所在的地方进行分析,确定人是不是摔倒在地上,进行老年人的摔倒检测;或者,可以根据人体姿态分析人的动作趋势等。
现有技术提供的分析人体姿态的方法,大都是通过感应器或遥控器与人体某部分的接触,对人体姿态进行简单的识别和分析。一般来说,现有技术所提供的方法均是对人体某部分的动作进行简单的捕捉识别。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:现有技术对人体姿态的识别不全面,对人体姿态进行识别时需要人工介入,并且没有提供对人体姿态进行分类的方法。
发明内容
本发明提供一种人体姿态的分类方法和装置,以实现确定图像中人体的位置和动作变化趋势,同时通过人头检测确定头部的位置,根据头部位置、人体形状等信息对人体的姿态进行分类。
为达到上述目的,本发明实施例一方面提供一种人体姿态的分类方法,包括:
确定当前帧图像中的人体区域;
在所述人体区域中,进行人体形状的提取,获得人体的外轮廓,并通过人头检测,获得人头的位置信息;
当头部位于人体的外轮廓正中间,此时确定所述人体姿态为垂直站立;当头部位于人体的外轮廓的一侧时,进而计算人体外轮廓的长宽比,根据所述人体外轮廓的长宽比确定人体姿态种类。
优选地,所述计算人体外轮廓的长宽比具体包括:
计算当前帧图像中头部到脚的距离;
计算所述当前帧图像中人体外轮廓的平均宽度;
根据所述当前帧图像中头部到脚的距离和人体外轮廓的平均宽度,获得人体外轮廓的长宽比。
优选地,所述计算所述当前帧图像中人体外轮廓的平均宽度具体包括:
计算所述当前帧图像中人头到脚的连线与摄像头的水平线之间的夹角;
计算人体水平方向的平均像素个数;
根据所述夹角和所述人体水平方向的平均像素个数计算人体外轮廓的平均宽度。
优选地,当所述夹角为a,所述人体水平方向的平均像素个数为w′,人体外轮廓的平均宽度为w时,所述根据所述夹角和所述人体水平方向的平均像素个数计算人体外轮廓的平均宽度具体为:
w=w′×cosa,
其中, w ′ = 1 N Σ i = 1 N n i , N为所述当前帧图像中人头到脚共占用的像素个数,ni为第i行对应的像素个数。
优选地,当人体外轮廓的长度为l,人体外轮廓的平均宽度为w,所述人体外轮廓的长宽比为
Figure A20091008688900101
时,所述根据所述人体外轮廓的长宽比确定人体姿态具体包括:
w l ≤ th 1 时,确定人体姿态为平躺;
th 1 < w l &le; th 2 时,确定人体姿态为半躺;
th 2 < w l &le; th 3 时,确定人体姿态为坐;
w l > th 3 时,确定人体姿态为倾斜站立;
其中,th1、th2和th3为预设的阈值。
优选地,所述在所述人体区域中,进行人体形状的提取,获得人体的外轮廓具体包括:
采用Snake的方法确定人体的外轮廓的能量函数,通过循环迭代使所述能量函数达到最小值,获得人体的外轮廓。
当人体的外轮廓上第i个点的坐标为(x(i),y(i)),第i个点的连续性项能量为Ec(i),第i个点的曲率项能量为Es(i),第i个点的图像能量为Ei(i),第i个点的能量函数为E(i)时,所述确定人体的外轮廓的能量函数具体为:
&Sigma; i = 1 N E ( i ) = &Sigma; i = 1 N ( &alpha; E c ( i ) + &beta; E s ( i ) + &gamma; E i ( i ) ) ;
其中,α、β、γ分别为Ec(i)、Es(i)和Ei(i)的权重,α、β、γ是正数,α+β+γ=1;
E c ( i ) = | | x ( i ) - x ( i - 1 ) | + | y ( i ) - y ( i - 1 ) | - d mean | | E c max - d mean | , dmean为人体的外轮廓上相邻两个点之间的平均距离,Ecmax是Ec(i)的最大值;
E s ( i ) = | 2 &times; x ( i ) - x ( i - 1 ) - x ( i + 1 ) | + | 2 &times; y ( i ) - y ( i - 1 ) - y ( i + 1 ) | E s max , Esmax是Es(i)的最大值;
E i ( i ) = 1 g &prime; &prime; ( i ) , g″(i)是人体的外轮廓上第i个点的二阶差分,
g &prime; &prime; ( i ) = &Sigma; j = - 1 1 &Sigma; k = - 1 1 I ( x ( i ) - j , y ( i ) - k ) - ( 2 l + 1 ) &times; ( 2 l + 1 ) &times; I ( x ( i ) , y ( i ) ) ( 2 l + 1 ) &times; ( 2 l + 1 ) - 1 , I(x(i),y(i))表示坐标为(x(i),y(i))的像素点的灰度或者亮度值,l是平滑宽度,l=1或其他正整数。
优选地,所述通过循环迭代使所述能量函数达到最小值,获得人体的外轮廓具体包括:
设置Snake的初值,计算Ecmax,Esmax和dmean
按照收敛方向,确定当前轮廓点的候选点,按照能量最小的原则在所述候选点中选择使
Figure A20091008688900114
最小的点作为下次迭代的初值;
对每个轮廓点都计算一遍后重新计算Ecmax,Esmax和dmean,继续进行迭代,比较每次迭代前后轮廓点的位置,如果某次迭代时所有轮廓点的位置均未发生变化,停止迭代。
优选地,该方法还包括:
选择多幅不同姿态的人体图像或人体的外轮廓;
根据人体姿态对所述人体图像或人体的外轮廓进行分组;
提取每组人体外轮廓的特征向量作为训练样本输入到分类器的训练模块,通过训练建立人体姿态的分类器;
提取待确定人体图像或人体的外轮廓的特征向量输入到人体姿态的分类器中,根据所述人体姿态的分类器的输出结果确定人体姿态种类。
另一方面,本发明还提供一种人体姿态的分类装置,包括:
人体区域确定模块,用于确定当前帧图像中的人体区域;
轮廓提取模块,与所述人体区域确定模块连接,用于在所述人体区域确定模块确定的人体区域中,进行人体形状的提取,获得人体的外轮廓;
人头位置获得模块,用于通过人头检测,获得人头的位置信息;
人体姿态确定模块,与所述轮廓提取模块和所述人头位置获得模块连接,当头部位于人体的外轮廓正中间,此时所述人体姿态确定模块确定所述人体姿态为垂直站立;当头部位于人体的外轮廓的一侧时,进而计算人体外轮廓的长宽比,根据所述人体外轮廓的长宽比确定人体姿态种类。
优选地,所述人体姿态确定模块包括:
计算子模块,用于计算当前帧图像中头部到脚的距离和所述当前帧图像中人体外轮廓的平均宽度;
长宽比获得子模块,与所述计算子模块连接,用于根据所述计算子模块计算的当前帧图像中头部到脚的距离和人体外轮廓的平均宽度,获得人体外轮廓的长宽比。
优选地,所述计算子模块具体用于计算所述当前帧图像中人头到脚的连线与摄像头的水平线之间的夹角,并计算人体水平方向的平均像素个数,根据所述夹角和所述人体水平方向的平均像素个数计算人体外轮廓的平均宽度。
优选地,所述轮廓提取模块具体用于采用Snake的方法确定人体的外轮廓的能量函数,通过循环迭代使所述能量函数达到最小值,获得人体的外轮廓;
其中,所述轮廓提取模块确定人体的外轮廓的能量函数为:
&Sigma; i = 1 N E ( i ) = &Sigma; i = 1 N ( &alpha; E c ( i ) + &beta; E s ( i ) + &gamma; E i ( i ) ) ;
其中,α、β、γ分别为Ec(i)、Es(i)和Ei(i)的权重,α、β、γ是正数,α+β+γ=1;
E c ( i ) = | | x ( i ) - x ( i - 1 ) | + | y ( i ) - y ( i - 1 ) | - d mean | | E c max - d mean | , dmean为人体的外轮廓上相邻两个点之间的平均距离,Ecmax是Ec(i)的最大值;
E s ( i ) = | 2 &times; x ( i ) - x ( i - 1 ) - x ( i + 1 ) | + | 2 &times; y ( i ) - y ( i - 1 ) - y ( i + 1 ) | E s max , Esmax是Es(i)的最大值;
E i ( i ) = 1 g &prime; &prime; ( i ) , g″(i)是人体的外轮廓上第i个点的二阶差分,
g &prime; &prime; ( i ) = &Sigma; j = - 1 1 &Sigma; k = - 1 1 I ( x ( i ) - j , y ( i ) - k ) - ( 2 l + 1 ) &times; ( 2 l + 1 ) &times; I ( x ( i ) , y ( i ) ) ( 2 l + 1 ) &times; ( 2 l + 1 ) - 1 , I(x(i),y(i))表示坐标为(x(i),y(i))的像素点的灰度或者亮度值,l是平滑宽度,l=1或其他正整数。
优选地,所述轮廓提取模块具体用于设置Snake的初值,计算Ecmax,Esmax和dmean;按照收敛方向,确定当前轮廓点的候选点,按照能量最小的原则在所述候选点中选择使
Figure A20091008688900135
最小的点作为下次迭代的初值;对每个轮廓点都计算一遍后重新计算Ecmax,Esmax和dmean,继续进行迭代;直到某次迭代中所有轮廓点的位置均未发生变化,停止迭代。
优选地,所述的装置还包括:
选择模块,用于选择多幅不同姿态的人体图像或人体的外轮廓;
分组模块,与所述选择模块连接,用于根据人体姿态对所述人体图像或人体的外轮廓进行分组;
提取模块,与所述分组模块连接,用于提取每组人体外轮廓的特征向量作为训练样本输入到分类器的训练模块;
训练模块,与所述提取模块连接,用于通过训练建立人体姿态的分类器;
确定模块,与所述训练模块连接,接收待确定人体图像或人体的外轮廓的特征向量,根据所述人体姿态的分类器的输出结果确定人体姿态种类。
与现有技术相比,本发明具有以下优点:本发明通过人体检测和人体跟踪确定当前帧图像中的人体区域,在该人体区域中,进行人体形状的提取,获得人体的外轮廓,并通过人头检测,获得人头的位置信息,根据人体的外轮廓和人头的位置信息,确定人体姿态种类。当头部位于人体的外轮廓中间,并且头部的两侧为肩部时,确定人体姿态为垂直站立;当头部位于人体的外轮廓的一侧时,计算人体外轮廓的长宽比,根据人体外轮廓的长宽比确定人体姿态种类,从而实现了对人体姿态进行自动识别和分类,不需人工介入,弥补了现有技术没有提供对人体姿态进行分类的方法的缺陷。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种人体姿态的分类方法的流程图;
图2为本发明中Snake的初值设置示意图;
图3为本发明人体外轮廓的长宽比的具体计算方法的流程图;
图4为本发明人头到脚的连线与水平线之间的夹角a示意图;
图5为本发明提供的一种人体姿态的分类装置的结构图;
图6为本发明提供的另一种人体姿态的分类装置的结构图。
具体实施方式
下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供一种人体姿态的分类方法,通过人体检测确定图像中的人体区域,进而从人体区域中提取人体的外轮廓,同时通过人头检测和跟踪确定头部的位置,然后根据头部位置、人体形状等信息对人体的姿态进行分类。
如图1所示,为本发明提供的一种人体姿态的分类方法的流程图,具体包括:
步骤101,获得当前帧图像。
本发明中,当前帧图像可以由摄像头拍摄获得,摄像头比较常见的拍摄角度是平拍、斜向下拍和顶拍,对于相同的姿态,当摄像头分别采用上述三种角度进行拍摄时,得到的图像中人体的形状可能完全不同。因此,进行人体姿态分类,首先需要确定摄像头的拍摄角度,在确定了摄像头的拍摄角度之后,后续的处理都是一样的,本发明以摄像头的拍摄角度为顶拍为例进行说明。但本发明并不仅限于此,如前所述,摄像头的拍摄角度并不影响本发明的实现。实际应用中,可以先对摄像头的拍摄角度进行设置或者加入摄像头拍摄角度的自动识别模块,对摄像头的拍摄角度进行自动识别。
本发明中的当前帧图像可以为单幅图像,也可以为视频图像。
步骤102,确定当前帧图像中的人体区域。
具体地,对于给定的单幅图像,可以通过人体检测确定该单幅图像中的人体区域。其中,人体检测是指从静态或视频图像中获取一定区域中存在的人体数目、位置和大小。对于给定的单幅图像,可以采用分类器训练方法确定单幅图像中的人体区域。分类器训练方法采集在各种不同的光照条件、背景环境和各种姿态条件下的人体样本,采用模式识别领域普遍使用的分类器训练的方法进行训练,得到人体区域的模型,再利用该模型对未知的单幅图像进行判定,获得人体区域。
对于视频图像,可以先进行人体检测,确定人体的初始位置。在进行人体检测时,可以使用各种人体检测方法来检测人体,例如:可以采用分类器训练方法得到人体区域的模型,再利用该模型对未知的视频图像进行判定,确定人体的初始位置。然后通过人体跟踪确定人体区域。具体可以为:首先,通过人体检测确定当前帧图像中的人体初始位置y0,并根据人体初始位置y0得到一个像素点集合,具体地,该像素点集合为该视频图像中以y0为中心的一块预定区域(例如:一块以y0为中心,长为l、宽为w的矩形区域)内的像素点。然后,计算这个集合中所有像素点的空间特征和颜色特征,根据计算得出的空间特征和颜色特征计算出当前帧中的人体位置y1,具体地,设{xi}i=1,2,...N是中心点y0,长为h,宽为w的人体模板区域的像素点集合,定义映射b:R2→{1,2,...,B},对于每个xi,b(xi)表示该像素点的特征在量化的特征空间中的量化序号。对于任意量化之u∈{1,2,...,B},计算其位置均值vu
v u = 1 &Sigma; i = 1 N &delta; in &Sigma; i = 1 N 2 ( x i - y ) w 2 + h 2 &delta; in
其中,
Figure A20091008688900162
vu表示的是目标人体所在区域内所有像素值等于u的像素点的空间位置平均值,反映的是目标人体的空间位置信息,即空间特征。
U在人体区域中出现的概率
Figure A20091008688900163
可以按如下公式计算:
q ^ u ( y n ) = C n &Sigma; i = 1 N k ( | | 2 ( x i - y 0 ) w 2 + h 2 | | 2 ) &delta; [ b ( x i - u ) ]
其中k(·)是Epanechnikov核函数,δ(·)是Kronecker函数,C为归一化常数,使得 &Sigma; i = 0 H - 1 q ^ u ( y 0 ) = 1 .
表示的是目标人体所在区域中所有其像素值等于u的像素点的颜色信息,即颜色特征。分别完成上述空间特征和颜色特征的计算后,即可得到人体的特征。
根据空间特征和颜色特征获得相似性度量ρ(y),然后根据梯度最优化方法计算当前帧中的人体位置y1,y1应满足 &PartialD; &rho; ( y ) &PartialD; y = 0 . 进而,对得出的人体位置y1进行检测,判断其是否为正确的人体位置,即对得出的人体位置y1进行人体区域验证,判断以该位置y1为中心的区域是否为人体区域。如果是,则直接将y1作为当前帧中正确的人体位置输出。如果不是,则对该人体位置进行修正,得出正确的人体位置。然后,根据无需修正或修正后的正确人体位置计算其所在的人体区域的颜色特征和空间特征,将这两个特征和正确的人体位置分别作为下一帧的初始人体颜色特征、空间特征和初始人体位置。同时输出该正确的人体位置,从而可以确定以该正确的人体位置为中心的区域为人体区域。
步骤103,在上述人体区域中,进行人体形状的提取,获得人体的外轮廓。
在得到了人体区域之后,可以在该人体区域中进行人体形状的提取,获得人体的外轮廓。常用的提取人体的外轮廓的方法多是先提取闭合的边缘,然后对闭合的边缘进行细化得到人体的外轮廓信息。本发明采用Snake的方法进行人体形状的提取,获得人体的外轮廓。
Snake是在内部约束力和外部约束力作用下移动的变形轮廓线,通过能量函数的最小化,使轮廓线变形最后与人体的外轮廓匹配。
考虑到人体的外轮廓的特殊性,本发明中,人体的外轮廓的能量函数为
&Sigma; i = 1 N E ( i ) = &Sigma; i = 1 N ( &alpha; E c ( i ) + &beta; E s ( i ) + &gamma; E i ( i ) ) - - - ( 1 )
当轮廓线收敛到人体的外轮廓时,式(1)计算得到的能量函数最小,因此通过计算式(1)的最小值,可提取出人体的外轮廓。
式(1)中,Ec(i)为第i个点的连续性项能量,
E c ( i ) = | | x ( i ) - x ( i - 1 ) | + | y ( i ) - y ( i - 1 ) | - d mean | | E c max - d mean | - - - ( 2 )
式(2)中,(x(i),y(i))是人体的外轮廓上第i个点的坐标,Ecmax是Ec(i)的最大值。人体的外轮廓可以看作一个连通域,轮廓点可以认为是人体的外轮廓上顺序排列的一组点,可以对轮廓点进行编号,从而确定相邻的轮廓点。dmean为人体的外轮廓上相邻的两个轮廓点之间的平均距离,相邻的两个轮廓点之间的间距与dmean越接近,Ec(i)越小。
式(1)中,Es(i)为第i个点的曲率项能量,
E s ( i ) = | 2 &times; x ( i ) - x ( i - 1 ) - x ( i + 1 ) | + | 2 &times; y ( i ) - y ( i - 1 ) - y ( i + 1 ) | E s max - - - ( 3 )
式(3)中,(x(i),y(i))是第i个点的坐标,Esmax是Es(i)的最大值。
式(1)中,Ei(i)为第i个点的图像能量,
E i ( i ) = 1 g &prime; &prime; ( i ) - - - ( 4 )
式(4)中,g″(i)是人体的外轮廓上第i个点的二阶差分,
g &prime; &prime; ( i ) = &Sigma; j = - 1 1 &Sigma; k = - 1 1 I ( x ( i ) - j , y ( i ) - k ) - ( 2 l + 1 ) &times; ( 2 l + 1 ) &times; I ( x ( i ) , y ( i ) ) ( 2 l + 1 ) &times; ( 2 l + 1 ) - 1 - - - ( 5 )
式(5)中,I(x(i),y(i))表示坐标为(x(i),y(i))的像素点的灰度或者亮度值,l是平滑宽度,可以取l=1或其他正整数。
由于人体的外轮廓上的点具有二阶差分大的特点,因此g″(i)越大,Ei(i)越小。
式(1)中,α、β、γ分别表示Ec(i)、Es(i)和Ei(i)这三部分的权重,即在E(i)收敛的过程中Ec(i)、Es(i)和Ei(i)这三部分的贡献程度。α、β、γ是正数,通常取α+β+γ=1。在实际应用时,α、β和γ的具体取值可以根据实际情况进行调整。
具体地,利用Snake的方法提取人体的外轮廓,需要先设置Snake的初值。由于人体检测是将图像分为规则的区域如矩形,如图2所示,然后检测此矩形中是否包含人体,也就是说人体检测得到的是矩形,该矩形中包含一个人体,因此可以将此矩形上的点作为Snake的初值,然后可以采用循环迭代的方法,由外向内进行迭代,计算式(1)的最小值,直到Snake收敛到人体的外轮廓上。
Snake的初值是一组点的坐标(x(i),y(i)),初值确定后,计算这组点中相邻点间距d,并按照式(6)和式(7)计算每个初值点对应的Ec和Es,式(6)和式(7)如下所示:
E c ( i ) = | | x ( i ) - x ( i - 1 ) | + | y ( i ) - y ( i - 1 ) | - d | | E c ( i ) - d | - - - ( 6 )
E s ( i ) = | 2 &times; x ( i ) - x ( i - 1 ) - x ( i + 1 ) | + | 2 &times; y ( i ) - y ( i - 1 ) - y ( i + 1 ) | E s ( i ) - - - ( 7 )
将这组点的坐标代入式(6)和式(7),可以计算出这组点的Ec和Es,从中可以找出Ec和Es的最大值即为Ecmax和Esmax,对所有的相邻点间距取平均即为dmean。例如:假设Snake的初值是10个点的坐标(x(0),y(0)),(x(1),y(1)),...(x(9),y(9)),将这10个点的坐标代入式(6)和式(7)可以计算出Ec(0),Ec(1),...Ec(9);以及Es(0),Es(1),...Es(9)。比较Ec(0),Ec(1),...Ec(9)可以获得Ec的最大值Ecmax,比较Es(0),Es(1),...Es(9)可以获得Es的最大值Esmax。计算这10个点中相邻点的间距,这10个点中所有的相邻点间距的平均值即为dmean
设轮廓点总数为N,每次迭代时,分别处理每个轮廓点,如第i个轮廓点为A,其坐标为(a,b)。按照收敛方向,确定点A的候选点,候选点通常是点A的某个邻域,然后将给定的初值,以及计算的Ecmax、Esmax和dmean代入式(1)~式(5)计算点A的所有候选点对应的能量值
Figure A20091008688900201
找出使其最小的点,作为下一次迭代时第i个轮廓点的初值。
对N个轮廓点均按照上述过程计算一遍之后,称为一次迭代。在进行下一次迭代时,将上一次迭代计算获得的N个轮廓点在下一次迭代时的初值,代入式(6)和式(7),采用与上一次迭代相同的方法重新计算Ecmax,Esmax,dmean,然后继续进行迭代,比较每次迭代前后轮廓点的位置,如果某次迭代时所有轮廓点的位置都没有发生变化,迭代结束。
步骤104,通过人头检测,获得人头的位置信息。
具体地,人头检测可以采用各种人头检测方法,例如:可以通过训练层次型Adaboost和基于边缘方向直方图特征进行人头检测。具体地,首先计算检测图像的边缘强度和离散化边缘方向;然后,根据边缘强度和离散化边缘方向,计算预设的检测框内图像的边缘方向直方图;最后,利用层次型自适应增强算法Adaboost分类器对边缘方向直方图进行验证,得到预设的检测框内的人头的位置信息。
步骤105,根据人体的外轮廓和人头的位置信息,确定人体姿态。
具体地,在获得人体的外轮廓和人头的位置信息之后,可以在人体的外轮廓上标出头部的位置,通常这时已经可以判断出人体姿态。
由于头部的位置和人体姿态存在一定的对应关系,因此还可以进行实验统计,根据统计结果设定判断规则来实现自动判断人体姿态。具体可以为:
如果头部位于人体的外轮廓正中间,此时可以确定人体姿态为垂直站立;如果头部位于人体的外轮廓的一侧,进而计算人体外轮廓的长宽比,且人体外轮廓的长宽比满足一定要求,则可以确定人体为座、半躺、躺等姿态。
下面详细说明人体外轮廓的长宽比的具体计算方法,如图3所示,具体包括:
步骤301,计算当前帧图像中头部到脚的距离l。
当前帧图像中头部到脚的距离即为人体图像的长度。在获得人体的外轮廓和人头的位置信息之后,可以计算出当前帧图像中头部到脚的距离l。具体地,首先需要确定头部和脚的位置,然后找出头顶中心和脚的外边缘中点,头顶中心和脚的外边缘中点之间的距离即为l。如图4所示,头顶中心为C,脚的外边缘中点为B,点C和点B之间的距离即为头部到脚的距离l。
步骤302,计算当前帧图像中人体外轮廓的平均宽度w。
具体地,首先计算人体外轮廓的角度,即人头到脚的连线与水平线之间的夹角a,如图4所示,这里所说的水平线指摄像头的水平线。
然后计算人体水平方向的平均像素个数w′,
w &prime; = 1 N &Sigma; i = 1 N n i - - - ( 8 )
式(8)中,N为头部到脚共占用的像素个数,ni为第i行对应的像素个数。像素是组成图像的最基本单元,是一个小的方形的颜色块。一幅图像通常由许多像素组成,这些像素被排成横行或纵列,每个像素都是方形的,图像的分辨率越高,单位面积内的像素越多。因此根据当前帧图像的分辨率和当前帧图像中头部到脚的距离l,可以得出头部到脚共占用的像素个数N,这相当于将当前帧图像分为N行。在获得人体的外轮廓之后,可以确定人体的外轮廓上每一行的宽度,根据当前帧图像的分辨率和第i行的宽度,可以确定第i行对应的像素个数ni
然后,根据w′和夹角a计算人体外轮廓的平均宽度w,
w=w′×cosa    (9)
当人体外轮廓的方向接近水平时,还可以利用人体竖直方向的平均像素个数计算人体外轮廓的平均宽度w。
步骤303,根据当前帧图像中头部到脚的距离l和人体外轮廓的平均宽度w,获得人体外轮廓的长宽比。
在获得人体外轮廓的长宽比之后,根据人体外轮廓的长宽比可以确定人体姿态。具体地,当 w l &le; th 1 时,确定人体姿态为平躺;
th 1 < w l &le; th 2 时,确定人体姿态为半躺;
th 2 < w l &le; th 3 时,确定人体姿态为坐;
w l > th 3 时,确定人体姿态为倾斜站立,该站立姿态与前述头部位于人体的外轮廓正中间时的垂直站立姿态不同,该站立姿态为倾斜站立。
其中,阈值th1、th2和th3可以通过统计或者实验获得,例如:可以取th1=0.25,th2=0.7,th3=1.2。
另外,本发明还可以选择多幅不同姿态的人体图像或人体的外轮廓,根据人体姿态对选择的人体图像或人体的外轮廓进行分组,提取每组人体外轮廓的特征向量作为训练样本输入到分类器的训练模块,通过训练建立人体姿态的分类器。该人体姿态的分类器可以是Adaboost(自适应增强算法)分类器、SVM(Support Vector Machine,支持向量机)分类器或神经网络等。然后,可以提取待确定人体图像或人体的外轮廓的特征向量输入到人体姿态的分类器中,根据人体姿态的分类器的输出结果确定人体姿态。具体地,在根据人体姿态对选择的人体图像或人体的外轮廓进行分组之后,首先人工标定一组人体姿态,通过特征提取获得这组人体的特征向量。常用的特征有几何特征、Gabor特征、小波特征和矩特征等,在进行特征提取时可采用现有的任意一种特征提取方法。因此,这组人体的特征向量和人体姿态的对应关系相当于已经人工确定,然后将这组人体的特征向量作为训练样本输入到分类器的训练模块,以此类推,还可以将其他组的人体的特征向量作为训练样本输入到分类器的训练模块,通过训练建立人体姿态的分类器。从而可以将未知姿态的人体特征向量输入该人体姿态的分类器,利用该人体姿态的分类器确定未知姿态的人体特征向量对应的人体姿态。
本发明提供一种基于人体检测跟踪、人体姿态分析的人体姿态分类方法,通过人体检测和跟踪确定图像中的人体位置和动作变化趋势,同时分析头部的位置,然后根据头部位置、人体形状等信息识别人体姿态,将人体的姿态分为坐、站、躺三类。
如图5所示,为本发明提供的一种人体姿态的分类装置的结构图,该人体姿态的分类装置包括人体区域确定模块51、轮廓提取模块52、人头位置获得模块53和人体姿态确定模块54。
其中,人体区域确定模块51,用于确定当前帧图像中的人体区域。具体地,对于给定的单幅图像,人体区域确定模块51可以通过人体检测确定该单幅图像中的人体区域。其中,人体检测是指从静态或视频图像中获取一定区域中存在的人体数目、位置和大小。对于给定的单幅图像,人体区域确定模块51可以采用分类器训练方法确定单幅图像中的人体区域。分类器训练方法采集在各种不同的光照条件、背景环境和各种姿态条件下的人体样本,采用模式识别领域普遍使用的分类器训练的方法进行训练,得到人体区域的模型,再利用该模型对未知的单幅图像进行判定,获得人体区域。
对于视频图像,人体区域确定模块51可以先进行人体检测,确定人体的初始位置。在进行人体检测时,可以使用各种人体检测方法来检测人体,例如:可以采用分类器训练方法得到人体区域的模型,再利用该模型对未知的视频图像进行判定,确定人体的初始位置。然后通过人体跟踪确定人体区域。具体可以为:首先,人体区域确定模块51通过人体检测或采用手工标定的方法确定当前帧图像中的人体初始位置y0,并根据人体初始位置y0得到一个像素点集合,具体地,该像素点集合为该视频图像中以y0为中心的一块预定区域(例如:一块以y0为中心,长为l、宽为w的矩形区域)内的像素点。然后,人体区域确定模块51计算这个集合中所有像素点的空间特征和颜色特征,根据计算得出的空间特征和颜色特征计算出当前帧中的人体位置y1,具体地,设{xi}i=1,2,...N是中心点y0,长为h,宽为w的人体模板区域的像素点集合,定义映射b:R2→{1,2,...,B},对于每个xi,b(xi)表示该像素点的特征在量化的特征空间中的量化序号。对于任意量化之u∈{1,2,...,B},计算其位置均值vu:
v u = 1 &Sigma; i = 1 N &delta; in &Sigma; i = 1 N 2 ( x i - y ) w 2 + h 2 &delta; in
其中,
Figure A20091008688900242
vu表示的是目标人体所在区域内所有像素值等于u的像素点的空间位置平均值,反映的是目标人体的空间位置信息,即空间特征。
U在人体区域中出现的概率
Figure A20091008688900243
可以按如下公式计算:
q ^ u ( y n ) = C n &Sigma; i = 1 N k ( | | 2 ( x i - y 0 ) w 2 + h 2 | | 2 ) &delta; [ b ( x i - u ) ]
其中k(·)是Epanechnikov核函数,δ(·)是Kronecker函数,C为归一化常数,使得 &Sigma; i = 0 H - 1 q ^ u ( y 0 ) = 1 .
Figure A20091008688900246
表示的是目标人体所在区域中所有其像素值等于u的像素点的颜色信息,即颜色特征。分别完成上述空间特征和颜色特征的计算后,即可得到人体的特征。
人体区域确定模块51根据空间特征和颜色特征获得相似性度量ρ(y),然后根据梯度最优化方法计算当前帧中的人体位置y1,y1应满足 &PartialD; &rho; ( y ) &PartialD; y = 0 . 进而,人体区域确定模块51对得出的人体位置y1进行检测,判断其是否为正确的人体位置,即对得出的人体位置y1进行人体区域验证,判断以该位置y1为中心的区域是否为人体区域。如果是,则人体区域确定模块51直接将y1作为当前帧中正确的人体位置输出。如果不是,则人体区域确定模块51对该人体位置进行修正,得出正确的人体位置。然后,根据无需修正或修正后的正确人体位置计算其所在的人体区域的颜色特征和空间特征,将这两个特征和正确的人体位置分别作为下一帧的初始人体颜色特征、空间特征和初始人体位置。同时输出该正确的人体位置,从而可以确定以该正确的人体位置为中心的区域为人体区域。
轮廓提取模块52,与人体区域确定模块51连接,用于在人体区域确定模块51确定的人体区域中,进行人体形状的提取获得人体的外轮廓。轮廓提取模块52具体用于采用Snake的方法进行人体形状的提取,获得人体的外轮廓。具体地,轮廓提取模块52确定人体的外轮廓的能量函数,通过循环迭代使该能量函数达到最小值,获得人体的外轮廓。
当人体的外轮廓上第i个点的坐标为(x(i),y(i)),第i个点的连续性项能量为Ec(i),第i个点的曲率项能量为Es(i),第i个点的图像能量为Ei(i),第i个点的能量为E(i)时,本发明中,轮廓提取模块52确定的人体的外轮廓的能量函数为
&Sigma; i = 1 N E ( i ) = &Sigma; i = 1 N ( &alpha; E c ( i ) + &beta; E s ( i ) + &gamma; E i ( i ) ) ,
其中, E c ( i ) = | | x ( i ) - x ( i - 1 ) | + | y ( i ) - y ( i - 1 ) | - d mean | | E c max - d mean | , dmean为人体的外轮廓上相邻两个点之间的平均距离,相邻两个点之间的间距与dmean越接近,Ec(i)越小;
E s ( i ) = | 2 &times; x ( i ) - x ( i - 1 ) - x ( i + 1 ) | + | 2 &times; y ( i ) - y ( i - 1 ) - y ( i + 1 ) | E s max ;
E i ( i ) = 1 g &prime; &prime; ( i ) , g″(i)是人体的外轮廓上第i个点的二阶差分,
g &prime; &prime; ( i ) = &Sigma; j = - 1 1 &Sigma; k = - 1 1 I ( x ( i ) - j , y ( i ) - k ) - ( 2 l + 1 ) &times; ( 2 l + 1 ) &times; I ( x ( i ) , y ( i ) ) ( 2 l + 1 ) &times; ( 2 l + 1 ) - 1 ,
I(x(i),y(i))表示坐标为(x(i),y(i))的像素点的灰度或者亮度值,l是平滑宽度,可以取l=1或其他正整数。由于人体的外轮廓上的点具有二阶差分大的特点,因此g″(i)越大,Ei(i)越小。
具体地,轮廓提取模块52利用Snake的方法提取人体的外轮廓,需要先设置Snake的初值。由于人体检测是将图像分为规则的区域如矩形,如图2所示,然后检测此矩形中是否包含人体,也就是说人体检测得到的是矩形,该矩形中包含一个人体,因此轮廓提取模块52可以将此矩形上的点作为Snake的初值,然后可以采用循环迭代的方法,由外向内进行迭代,计算式(1)的最小值,直到Snake收敛到人体的外轮廓上。
Snake的初值是一组点的坐标(x(i),y(i)),初值确定后,计算这组点中相邻点间距d,并按照式(6)和式(7)计算每个初值点对应的Ec和Es,然后,找出Ec和Es的最大值即为Ecmax和Esmax,对所有的相邻点间距取平均即为dmean。设轮廓点总数为N,每次迭代时,分别处理每个轮廓点,如第i个轮廓点为A,其坐标为(a,b)。按照收敛方向,确定点A的候选点,候选点通常是点A的某个邻域,然后将给定的初值,以及计算的Ecmax、Esmax和dmean代入式(1)~式(5)计算点A的所有候选点对应的能量值
Figure A20091008688900264
找出使其最小的点,作为下一次迭代时第i个轮廓点的初值。
对N个轮廓点均按照上述过程计算一遍之后,称为一次迭代。在进行下一次迭代时,将上一次迭代计算获得的下一次迭代时N个轮廓点的初值,代入式(6)和式(7),采用与上一次迭代相同的方法重新计算Ecmax,Esmax,dmean,然后继续进行迭代,比较每次迭代前后轮廓点的位置。如果某次迭代时所有轮廓点的位置都没有发生变化,迭代结束。
人头位置获得模块53,用于通过人头检测,获得人头的位置信息。具体地,人头检测可以采用各种人头检测方法,例如:可以通过训练层次型Adaboost和基于边缘方向直方图特征进行人头检测。具体地,人头位置获得模块53首先计算检测图像的边缘强度和离散化边缘方向;然后,根据边缘强度和离散化边缘方向,计算预设的检测框内图像的边缘方向直方图;最后,利用层次型自适应增强算法Adaboost分类器对边缘方向直方图进行验证,得到预设的检测框内的人头的位置信息。
人体姿态确定模块54,与轮廓提取模块52和人头位置获得模块53连接,用于根据轮廓提取模块52提取的人体的外轮廓和人头位置获得模块53获得的人头的位置信息,确定人体姿态种类。
人体姿态确定模块54具体用于当头部位于人体的外轮廓正中间,此时确定人体姿态为垂直站立;当头部位于人体的外轮廓的一侧时,进而计算人体外轮廓的长宽比,根据所述人体外轮廓的长宽比确定人体姿态。具体地,当人体外轮廓的长度为l,人体外轮廓的平均宽度为w,所述人体外轮廓的长宽比为
Figure A20091008688900271
时,
如果 w l &le; th 1 , 人体姿态确定模块54确定人体姿态为平躺;
如果 th 1 < w l &le; th 2 , 人体姿态确定模块54确定人体姿态为半躺;
如果 th 2 < w l &le; th 3 , 人体姿态确定模块54确定人体姿态为坐;
如果 w 1 > th 3 , 人体姿态确定模块54确定人体姿态为倾斜站立。
其中,阈值th1、th2和th3可以通过统计或者经验获得,例如:可以取th1=0.25,th2=0.7,th3=1.2。
其中,如图6所示,人体姿态确定模块54包括:
计算子模块541,用于计算当前帧图像中头部到脚的距离和当前帧图像中人体外轮廓的平均宽度;
长宽比获得子模块542,与计算子模块541连接,用于根据计算子模块541计算的当前帧图像中头部到脚的距离和人体外轮廓的平均宽度,获得人体外轮廓的长宽比。
优选地,计算子模块541具体用于计算当前帧图像中人头到脚的连线与摄像头的水平线之间的夹角,并计算人体水平方向的平均像素个数,根据上述夹角和人体水平方向的平均像素个数计算人体外轮廓的平均宽度。
具体地,计算子模块541先计算当前帧图像中头部到脚的距离,然后计算当前帧图像中人体外轮廓的平均宽度,再由长宽比获得子模块542根据计算子模块541计算的当前帧图像中头部到脚的距离和人体外轮廓的平均宽度,获得人体外轮廓的长宽比。优选地,在计算当前帧图像中人体外轮廓的平均宽度时,计算子模块541先计算当前帧图像中人头到脚的连线与摄像头的水平线之间的夹角,然后计算人体水平方向的平均像素个数,再根据人头到脚的连线与摄像头的水平线之间的夹角和人体水平方向的平均像素个数计算人体外轮廓的平均宽度。
当人头到脚的连线与摄像头的水平线之间的夹角为a,人体水平方向的平均像素个数为w′,人体外轮廓的平均宽度为w时,计算子模块541计算的人体外轮廓的平均宽度具体为:
w=w′×cosa,
其中, w &prime; = 1 N &Sigma; i = 1 N n i , N为当前帧图像中人头到脚共占用的像素个数,ni为第i行对应的像素个数,像素是组成图像的最基本单元,是一个小的方形的颜色块。一幅图像通常由许多像素组成,这些像素被排成横行或纵列,每个像素都是方形的,图像的分辨率越高,单位面积内的像素越多。因此根据当前帧图像的分辨率和当前帧图像中头部到脚的距离l,可以得出头部到脚共占用的像素个数N,这相当于将当前帧图像分为N行。在获得人体的外轮廓之后,可以确定人体的外轮廓上每一行的宽度,根据当前帧图像的分辨率和第i行的宽度,可以确定第i行对应的像素个数。
优选地,所述的装置还包括:选择模块,用于选择多幅不同姿态的人体图像或人体的外轮廓;分组模块,与所述选择模块连接,用于根据人体姿态对所述人体图像或人体的外轮廓进行分组;提取模块,与所述分组模块连接,用于提取每组人体的特征向量作为训练样本输入到分类器的训练模块;训练模块,与所述提取模块连接,用于通过训练建立人体姿态的分类器;确定模块,与所述训练模块连接,接收待确定人体图像或人体的外轮廓的特征向量,根据所述人体姿态的分类器的输出结果确定人体姿态种类。
上述模块可以分布于一个装置,也可以分布于多个装置。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。

Claims (15)

1、一种人体姿态的分类方法,其特征在于,包括:
确定当前帧图像中的人体区域;
在所述人体区域中,进行人体形状的提取,获得人体的外轮廓,并通过人头检测,获得人头的位置信息;
当头部位于人体的外轮廓正中间,此时确定所述人体姿态为垂直站立;当头部位于人体的外轮廓的一侧时,进而计算人体外轮廓的长宽比,根据所述人体外轮廓的长宽比确定人体姿态种类。
2、如权利要求1所述的方法,其特征在于,所述计算人体外轮廓的长宽比具体包括:
计算当前帧图像中头部到脚的距离;
计算所述当前帧图像中人体外轮廓的平均宽度;
根据所述当前帧图像中头部到脚的距离和人体外轮廓的平均宽度,获得人体外轮廓的长宽比。
3、如权利要求2所述的方法,其特征在于,所述计算所述当前帧图像中人体外轮廓的平均宽度具体包括:
计算所述当前帧图像中人头到脚的连线与摄像头的水平线之间的夹角;
计算人体水平方向的平均像素个数;
根据所述夹角和所述人体水平方向的平均像素个数计算人体外轮廓的平均宽度。
4、如权利要求3所述的方法,其特征在于,当所述夹角为a,所述人体水平方向的平均像素个数为w′,人体外轮廓的平均宽度为w时,所述根据所述夹角和所述人体水平方向的平均像素个数计算人体外轮廓的平均宽度具体为:
w=w′×cos a,
其中, w &prime; = 1 N &Sigma; i = 1 N n i , N为所述当前帧图像中人头到脚共占用的像素个数,ni为第i行对应的像素个数。
5、如权利要求1所述的方法,其特征在于,当人体外轮廓的长度为l,人体外轮廓的平均宽度为w,所述人体外轮廓的长宽比为
Figure A2009100868890003C2
时,所述根据所述人体外轮廓的长宽比确定人体姿态具体包括:
w 1 &le; th 1 时,确定人体姿态为平躺;
th 1 < w 1 &le; th 2 时,确定人体姿态为半躺;
th 2 < w 1 &le; th 3 时,确定人体姿态为坐;
w 1 > th 3 时,确定人体姿态为倾斜站立;
其中,th1、th2和th3为预设的阈值。
6、如权利要求1所述的方法,其特征在于,所述在所述人体区域中,进行人体形状的提取,获得人体的外轮廓具体包括:
采用Snake的方法确定人体的外轮廓的能量函数,通过循环迭代使所述能量函数达到最小值,获得人体的外轮廓。
7、如权利要求6所述的方法,其特征在于,当人体的外轮廓上第i个点的坐标为(x(i),y(i)),第i个点的连续性项能量为Ec(i),第i个点的曲率项能量为Es(i),第i个点的图像能量为Ei(i),第i个点的能量函数为E(i)时,所述确定人体的外轮廓的能量函数具体为:
&Sigma; i = 1 N E ( i ) = &Sigma; i = 1 N ( &alpha; E c ( i ) + &beta; E s ( i ) + &gamma; E i ( i ) ) ;
其中,α、β、γ分别为Ec(i)、Es(i)和Ei(i)的权重,α、β、γ是正数,α+β+γ=1;
E c ( i ) = | | x ( i ) - x ( i - 1 ) | + | y ( i ) - y ( i - 1 ) | - d mean | E c max - d mean | , dmean为人体的外轮廓
上相邻两个点之间的平均距离,Ec max是Ec(i)的最大值;
E s ( i ) = | 2 &times; x ( i ) - x ( i - 1 ) - x ( i + 1 ) | + | 2 &times; y ( i ) - y ( i - 1 ) - y ( i + 1 ) | E s max , Es max是Es(i)的最大值;
E i ( i ) = 1 g &prime; &prime; ( i ) , g″(i)是人体的外轮廓上第i个点的二阶差分,
g &prime; &prime; ( i ) = &Sigma; j = - 1 1 &Sigma; k = - 1 1 I ( x ( i ) - j , y ( i ) - k ) - ( 21 + 1 ) &times; ( 21 + 1 ) &times; I ( x ( i ) , y ( i ) ) ( 21 + 1 ) &times; ( 21 + 1 ) - 1 , I(x(i),y(i))表示坐标为(x(i),y(i))的像素点的灰度或者亮度值,l是平滑宽度,l=1或其他正整数。
8、如权利要求7所述的方法,其特征在于,所述通过循环迭代使所述能量函数达到最小值,获得人体的外轮廓具体包括:
设置Snake的初值,计算Ec max,Es max和dmean
按照收敛方向,确定当前轮廓点的候选点,按照能量最小的原则在所述候选点中选择使
Figure A2009100868890004C5
最小的点作为下次迭代的初值;
对每个轮廓点都计算一遍后重新计算Ec max,Es max和dmean,继续进行迭代,比较每次迭代前后轮廓点的位置,如果某次迭代时所有轮廓点的位置均未发生变化,停止迭代。
9、如权利要求1所述的方法,其特征在于,还包括:
选择多幅不同姿态的人体图像或人体的外轮廓;
根据人体姿态对所述人体图像或人体的外轮廓进行分组;
提取每组人体外轮廓的特征向量作为训练样本输入到分类器的训练模块,通过训练建立人体姿态的分类器;
提取待确定人体图像或人体的外轮廓的特征向量输入到所述人体姿态的分类器中,根据所述人体姿态的分类器的输出结果确定人体姿态种类。
10、一种人体姿态的分类装置,其特征在于,包括:
人体区域确定模块,用于确定当前帧图像中的人体区域;
轮廓提取模块,与所述人体区域确定模块连接,用于在所述人体区域确定模块确定的人体区域中,进行人体形状的提取获得人体的外轮廓;
人头位置获得模块,用于通过人头检测,获得人头的位置信息;
人体姿态确定模块,与所述轮廓提取模块和所述人头位置获得模块连接,当头部位于人体的外轮廓正中间,此时所述人体姿态确定模块确定所述人体姿态为垂直站立;当头部位于人体的外轮廓的一侧时,进而计算人体外轮廓的长宽比,根据所述人体外轮廓的长宽比确定人体姿态种类。
11、如权利要求10所述的装置,其特征在于,所述人体姿态确定模块包括:
计算子模块,用于计算当前帧图像中头部到脚的距离和所述当前帧图像中人体外轮廓的平均宽度;
长宽比获得子模块,与所述计算子模块连接,用于根据所述计算子模块计算的当前帧图像中头部到脚的距离和人体外轮廓的平均宽度,获得人体外轮廓的长宽比。
12、如权利要求11所述的装置,其特征在于,所述计算子模块具体用于计算所述当前帧图像中人头到脚的连线与摄像头的水平线之间的夹角,并计算人体水平方向的平均像素个数,根据所述夹角和所述人体水平方向的平均像素个数计算人体外轮廓的平均宽度。
13、如权利要求10所述的装置,其特征在于,所述轮廓提取模块具体用于采用Snake的方法确定人体的外轮廓的能量函数,通过循环迭代使所述能量函数达到最小值,获得人体的外轮廓;
其中,所述轮廓提取模块确定人体的外轮廓的能量函数为:
&Sigma; i = 1 N E ( i ) = &Sigma; i = 1 N ( &alpha; E c ( i ) + &beta; E s ( i ) + &gamma; E i ( i ) ) ;
其中,α、β、γ分别为Ec(i)、Es(i)和Ei(i)的权重,α、β、γ是正数,α+β+γ=1;
E c ( i ) = | | x ( i ) - x ( i - 1 ) | + | y ( i ) - y ( i - 1 ) | - d mean | E c max - d mean | , dmean为人体的外轮廓
上相邻两个点之间的平均距离,Ec max是Ec(i)的最大值;
E s ( i ) = | 2 &times; x ( i ) - x ( i - 1 ) - x ( i + 1 ) | + | 2 &times; y ( i ) - y ( i - 1 ) - y ( i + 1 ) | E s max , Es max是Es(i)的最大值;
E i ( i ) = 1 g &prime; &prime; ( i ) , g″(i)是人体的外轮廓上第i个点的二阶差分,
g &prime; &prime; ( i ) = &Sigma; j = - 1 1 &Sigma; k = - 1 1 I ( x ( i ) - j , y ( i ) - k ) - ( 21 + 1 ) &times; ( 21 + 1 ) &times; I ( x ( i ) , y ( i ) ) ( 21 + 1 ) &times; ( 21 + 1 ) - 1 , I(x(i),y(i))表示坐标为(x(i),y(i))的像素点的灰度或者亮度值,l是平滑宽度,l=1或其他正整数。
14、如权利要求13所述的装置,其特征在于,所述轮廓提取模块具体用于设置Snake的初值,计算Ec max,Es max和dmean;按照收敛方向,确定当前轮廓点的候选点,按照能量最小的原则在所述候选点中选择使
Figure A2009100868890006C6
最小的点作为下次迭代的初值;对每个轮廓点都计算一遍后重新计算Ec max,Es max和dmean,继续进行迭代;直到某次迭代中所有轮廓点的位置均未发生变化,停止迭代。
15、如权利要求10所述的装置,其特征在于,还包括:
选择模块,用于选择多幅不同姿态的人体图像或人体的外轮廓;
分组模块,与所述选择模块连接,用于根据人体姿态对所述人体图像或人体的外轮廓进行分组;
提取模块,与所述分组模块连接,用于提取每组人体外轮廓的特征向量作为训练样本输入到分类器的训练模块;
训练模块,与所述提取模块连接,用于通过训练建立人体姿态的分类器;
确定模块,与所述训练模块连接,接收待确定人体图像或人体的外轮廓的特征向量,根据所述人体姿态的分类器的输出结果确定人体姿态种类。
CN200910086889.9A 2009-06-10 2009-06-10 一种人体姿态的分类方法和装置 Expired - Fee Related CN101576953B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200910086889.9A CN101576953B (zh) 2009-06-10 2009-06-10 一种人体姿态的分类方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910086889.9A CN101576953B (zh) 2009-06-10 2009-06-10 一种人体姿态的分类方法和装置

Publications (2)

Publication Number Publication Date
CN101576953A true CN101576953A (zh) 2009-11-11
CN101576953B CN101576953B (zh) 2014-04-23

Family

ID=41271886

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910086889.9A Expired - Fee Related CN101576953B (zh) 2009-06-10 2009-06-10 一种人体姿态的分类方法和装置

Country Status (1)

Country Link
CN (1) CN101576953B (zh)

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102096930A (zh) * 2011-01-30 2011-06-15 吴柯维 一种教学智能录播系统学生起坐检测方法
CN102682302A (zh) * 2012-03-12 2012-09-19 浙江工业大学 一种基于关键帧的多特征融合的人体姿态识别方法
CN102722715A (zh) * 2012-05-21 2012-10-10 华南理工大学 一种基于人体姿势状态判决的跌倒检测方法
CN102831750A (zh) * 2012-08-24 2012-12-19 张颖锋 用于人体跌倒检测的智能视频监控系统及检测方法
CN103345744A (zh) * 2013-06-19 2013-10-09 北京航空航天大学 一种基于多图像的人体目标部件自动解析方法
CN103961108A (zh) * 2013-02-06 2014-08-06 由田新技股份有限公司 跌倒侦测方法
CN104036231A (zh) * 2014-05-13 2014-09-10 深圳市菲普莱体育发展有限公司 人体躯干识别装置及方法、终点影像检测方法、装置
CN105405150A (zh) * 2015-10-21 2016-03-16 东方网力科技股份有限公司 基于融合特征的异常行为检测方法和装置
CN105678211A (zh) * 2015-12-03 2016-06-15 广西理工职业技术学院 一种人体动态特征的智能识别系统
CN106295532A (zh) * 2016-08-01 2017-01-04 河海大学 一种视频图像中的人体动作识别方法
CN106919250A (zh) * 2015-12-28 2017-07-04 中国移动通信集团公司 一种提醒方法及装置
CN107844797A (zh) * 2017-09-27 2018-03-27 华南农业大学 一种基于深度图像的哺乳母猪姿态自动识别的方法
CN108229418A (zh) * 2018-01-19 2018-06-29 北京市商汤科技开发有限公司 人体关键点检测方法和装置、电子设备、存储介质和程序
CN108346260A (zh) * 2018-01-24 2018-07-31 上海歌尔泰克机器人有限公司 一种用于无人机的监控方法、装置、无人机及监控系统
CN108615288A (zh) * 2018-04-28 2018-10-02 东莞市华睿电子科技有限公司 一种基于人像识别的开锁控制方法
CN108712612A (zh) * 2018-05-28 2018-10-26 努比亚技术有限公司 一种拍照方法、终端及计算机可读存储介质
CN108875488A (zh) * 2017-09-29 2018-11-23 北京旷视科技有限公司 对象跟踪方法、对象跟踪装置以及计算机可读存储介质
WO2019120032A1 (zh) * 2017-12-21 2019-06-27 Oppo广东移动通信有限公司 模型构建方法、拍照方法、装置、存储介质及终端
CN110136381A (zh) * 2018-02-07 2019-08-16 中国石油化工股份有限公司 一种钻井作业现场人员站立监测预警系统
CN110443147A (zh) * 2019-07-10 2019-11-12 广州市讯码通讯科技有限公司 一种坐姿识别方法、系统和存储介质
CN111000528A (zh) * 2019-12-23 2020-04-14 西南交通大学 一种人体睡觉姿势的检测方法
CN111418939A (zh) * 2020-06-10 2020-07-17 台州市中心医院(台州学院附属医院) 一种姿态采集方法及基于该方法的防护服数字化定制系统
CN111695492A (zh) * 2020-06-10 2020-09-22 国网山东省电力公司电力科学研究院 一种输电线路下垂钓隐患的检测方法及系统
CN112507953A (zh) * 2020-12-21 2021-03-16 重庆紫光华山智安科技有限公司 一种目标搜索及追踪方法和装置及设备
CN113156364A (zh) * 2020-01-22 2021-07-23 西克股份公司 安全系统和方法
CN115660377A (zh) * 2022-11-29 2023-01-31 国网河南省电力公司商丘供电公司 一种基于北斗定位的变电站室外施工人员安全管控方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1924894A (zh) * 2006-09-27 2007-03-07 北京中星微电子有限公司 多姿态人脸检测与追踪系统及方法
CN101332362A (zh) * 2008-08-05 2008-12-31 北京中星微电子有限公司 基于人体姿态识别的互动娱乐系统及其实现方法
CN101350064A (zh) * 2008-08-29 2009-01-21 北京中星微电子有限公司 二维人体姿态估计方法及装置
CN101447076A (zh) * 2008-12-02 2009-06-03 浙江大学 一种web图像中感兴趣区域的分割方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1924894A (zh) * 2006-09-27 2007-03-07 北京中星微电子有限公司 多姿态人脸检测与追踪系统及方法
CN101332362A (zh) * 2008-08-05 2008-12-31 北京中星微电子有限公司 基于人体姿态识别的互动娱乐系统及其实现方法
CN101350064A (zh) * 2008-08-29 2009-01-21 北京中星微电子有限公司 二维人体姿态估计方法及装置
CN101447076A (zh) * 2008-12-02 2009-06-03 浙江大学 一种web图像中感兴趣区域的分割方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
谢非等: "基于支持向量机的多种人体姿态识别", 《重庆工学院学报(自然科学)》 *

Cited By (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102096930A (zh) * 2011-01-30 2011-06-15 吴柯维 一种教学智能录播系统学生起坐检测方法
CN102682302B (zh) * 2012-03-12 2014-03-26 浙江工业大学 一种基于关键帧的多特征融合的人体姿态识别方法
CN102682302A (zh) * 2012-03-12 2012-09-19 浙江工业大学 一种基于关键帧的多特征融合的人体姿态识别方法
CN102722715A (zh) * 2012-05-21 2012-10-10 华南理工大学 一种基于人体姿势状态判决的跌倒检测方法
CN102831750A (zh) * 2012-08-24 2012-12-19 张颖锋 用于人体跌倒检测的智能视频监控系统及检测方法
CN103961108A (zh) * 2013-02-06 2014-08-06 由田新技股份有限公司 跌倒侦测方法
CN103961108B (zh) * 2013-02-06 2015-12-23 由田新技股份有限公司 跌倒侦测方法
CN103345744B (zh) * 2013-06-19 2016-01-06 北京航空航天大学 一种基于多图像的人体目标部件自动解析方法
CN103345744A (zh) * 2013-06-19 2013-10-09 北京航空航天大学 一种基于多图像的人体目标部件自动解析方法
CN104036231B (zh) * 2014-05-13 2017-11-17 深圳市菲普莱体育发展有限公司 人体躯干识别装置及方法、终点影像检测方法、装置
CN104036231A (zh) * 2014-05-13 2014-09-10 深圳市菲普莱体育发展有限公司 人体躯干识别装置及方法、终点影像检测方法、装置
CN105405150A (zh) * 2015-10-21 2016-03-16 东方网力科技股份有限公司 基于融合特征的异常行为检测方法和装置
CN105405150B (zh) * 2015-10-21 2019-04-30 东方网力科技股份有限公司 基于融合特征的异常行为检测方法和装置
CN105678211A (zh) * 2015-12-03 2016-06-15 广西理工职业技术学院 一种人体动态特征的智能识别系统
CN106919250A (zh) * 2015-12-28 2017-07-04 中国移动通信集团公司 一种提醒方法及装置
CN106295532A (zh) * 2016-08-01 2017-01-04 河海大学 一种视频图像中的人体动作识别方法
CN106295532B (zh) * 2016-08-01 2019-09-24 河海大学 一种视频图像中的人体动作识别方法
CN107844797A (zh) * 2017-09-27 2018-03-27 华南农业大学 一种基于深度图像的哺乳母猪姿态自动识别的方法
CN108875488A (zh) * 2017-09-29 2018-11-23 北京旷视科技有限公司 对象跟踪方法、对象跟踪装置以及计算机可读存储介质
WO2019120032A1 (zh) * 2017-12-21 2019-06-27 Oppo广东移动通信有限公司 模型构建方法、拍照方法、装置、存储介质及终端
CN108229418A (zh) * 2018-01-19 2018-06-29 北京市商汤科技开发有限公司 人体关键点检测方法和装置、电子设备、存储介质和程序
CN108229418B (zh) * 2018-01-19 2021-04-02 北京市商汤科技开发有限公司 人体关键点检测方法和装置、电子设备、存储介质和程序
CN108346260A (zh) * 2018-01-24 2018-07-31 上海歌尔泰克机器人有限公司 一种用于无人机的监控方法、装置、无人机及监控系统
CN110136381A (zh) * 2018-02-07 2019-08-16 中国石油化工股份有限公司 一种钻井作业现场人员站立监测预警系统
CN108615288A (zh) * 2018-04-28 2018-10-02 东莞市华睿电子科技有限公司 一种基于人像识别的开锁控制方法
CN108615288B (zh) * 2018-04-28 2020-12-01 东莞市华睿电子科技有限公司 一种基于人像识别的开锁控制方法
CN108712612A (zh) * 2018-05-28 2018-10-26 努比亚技术有限公司 一种拍照方法、终端及计算机可读存储介质
CN110443147A (zh) * 2019-07-10 2019-11-12 广州市讯码通讯科技有限公司 一种坐姿识别方法、系统和存储介质
CN111000528A (zh) * 2019-12-23 2020-04-14 西南交通大学 一种人体睡觉姿势的检测方法
CN113156364A (zh) * 2020-01-22 2021-07-23 西克股份公司 安全系统和方法
CN111418939A (zh) * 2020-06-10 2020-07-17 台州市中心医院(台州学院附属医院) 一种姿态采集方法及基于该方法的防护服数字化定制系统
CN111695492A (zh) * 2020-06-10 2020-09-22 国网山东省电力公司电力科学研究院 一种输电线路下垂钓隐患的检测方法及系统
CN111418939B (zh) * 2020-06-10 2020-10-09 台州市中心医院(台州学院附属医院) 一种姿态采集方法及基于该方法的防护服数字化定制系统
CN112507953A (zh) * 2020-12-21 2021-03-16 重庆紫光华山智安科技有限公司 一种目标搜索及追踪方法和装置及设备
CN115660377A (zh) * 2022-11-29 2023-01-31 国网河南省电力公司商丘供电公司 一种基于北斗定位的变电站室外施工人员安全管控方法
CN115660377B (zh) * 2022-11-29 2023-11-07 国网河南省电力公司商丘供电公司 一种基于北斗定位的变电站室外施工人员安全管控方法

Also Published As

Publication number Publication date
CN101576953B (zh) 2014-04-23

Similar Documents

Publication Publication Date Title
CN101576953B (zh) 一种人体姿态的分类方法和装置
CN106874894B (zh) 一种基于区域全卷积神经网络的人体目标检测方法
US9639748B2 (en) Method for detecting persons using 1D depths and 2D texture
US8463044B2 (en) Method and device of detecting object in image and system including the device
US8649594B1 (en) Active and adaptive intelligent video surveillance system
US8306282B2 (en) Hierarchical face recognition training method and hierarchical face recognition method thereof
US20120093420A1 (en) Method and device for classifying image
Bedagkar-Gala et al. Multiple person re-identification using part based spatio-temporal color appearance model
US9245206B2 (en) Image processing apparatus and image processing method
US20080219558A1 (en) Adaptive Scanning for Performance Enhancement in Image Detection Systems
US9245198B2 (en) Object recognition by comparison of patterns against map of image
JP2012226745A (ja) 奥行き画像内の物体を検出する方法およびシステム
KR20170006355A (ko) 모션벡터 및 특징벡터 기반 위조 얼굴 검출 방법 및 장치
EP2648159A1 (en) Object detecting method and object detecting device using same
CN102722712A (zh) 基于连续度的多尺度高分辨图像目标检测方法
CN106940791B (zh) 一种基于低维方向梯度直方图的行人检测方法
JP2014093023A (ja) 物体検出装置、物体検出方法及びプログラム
JP5936561B2 (ja) 画像における外観及びコンテキストに基づく物体分類
CN107862267A (zh) 基于完全对称局部韦伯描述子的人脸识别特征提取算法
Kim et al. Autonomous vehicle detection system using visible and infrared camera
US8094971B2 (en) Method and system for automatically determining the orientation of a digital image
CN101183428A (zh) 一种图像检测方法及装置
EP2860661A1 (en) Mean shift tracking method
US7403636B2 (en) Method and apparatus for processing an image
Karaimer et al. Detection and classification of vehicles from omnidirectional videos using temporal average of silhouettes

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140423

Termination date: 20170610

CF01 Termination of patent right due to non-payment of annual fee