运动人体检测和二维关键点提取

2012-09-19 10:29宫宇
电子设计工程 2012年1期
关键词:拐点关键点背景

宫宇

(东北财经大学 实验教学中心,辽宁 大连 116025)

人体运动的视觉分析是计算机视觉领域中最为活跃的研究课题之一,其核心是运用计算机视觉技术从图像序列中进行检测、跟踪、识别、并对之进行行为理解[1]。运动检测的目的是从序列图像中将变化区域从背景图像中提取出来,运动区域的有效分割对于跟踪与行为理解等后期处理非常重要。目前运动人体检测的算法主要包括3类:光流法[2]、帧差法[3]、减背景法[4]。光流法的特点是能够检测独立的运动的对象,不需要预先知道场景的任何信息,其缺点是计算复杂、耗时、很难实时检测。帧差法是在连续的图像序列中将2~3个相邻帧间采用基于像素的时间差分,然后通过设定阈值来提取出图像中的运动区域,该方法对动态环境具有较强的自适应性,但对运动区域的提取不完全,容易在运动实体内部产生空洞现象。减背景法是利用当前图像与背景图像的差分来检测运动区域的一种技术,一般能提供最完全的特征数据,但对于动态场景的变化,如光照和外来无关的时间干扰等特别敏感。

针对上述运动人体检测方法的优缺点,本文提出利用帧差法与减背景法相结合的方法来提供运动人体的检测。针对检测到的运动人体区域,本文采用APAR区域法[5]实现运动人体关键点的提取,所谓APAR区域法就是通过两条反向平行线构成的矩形区域,检测到的关键点就是APAR区域中线的端点。

1 运动人体区域检测

本文的运动人体检测的过程主要分为以下两个步骤:首先,运用帧差法构建背景模型;其次,用减背景法提取出运动人体区域。

1.1 背景模型的建立

首先将截取的包含运动人体视频序列的每一帧图像进行中值滤波消除电子噪声的影响。接着进行背景初始化与背景维持的操作,将视频序列的RGB图像按其中的R、G、B分量分别进行如下步骤的处理:首先将视频序列的第一帧I0作为初始背景帧 B0。针对后面每一帧 Ii(其中 i=1,2,3……,i表示相应的帧号),将相邻帧的像素值 I(x,y,i)与 I(x,y,i-1)进行绝对值相减得到 DW(x,y,i),然后设定阈值 T(T 由经验值得出)按式(1)确定对应帧的变化区域,将变化区域检测出来。每一帧的变化区域如图1所示,P和Q表示相邻帧图像对应的运动人体所覆盖的区域,即前一帧中的运动人体的覆盖区域,当前帧中运动人体的覆盖区域为Q,此时相邻两帧差值在 P和 Q 的位置上的 DW(x,y,i)就为 1,即当前帧的变化区域包括P和Q。

其中 DW(x,y,i)对应的是相邻两帧的差分图像,T是设定的阈值。

图1 运动人体覆盖区域说明图Fig.1 Digram of human motion coverage

通过上述过程分析的是视频序列每一帧对应的变化区域按照式(2)构建第 i帧对应的背景模型 B(x,y,i)。 若 DW(x,y,i)等于 1,则对应的是当前帧的变化区域,此时应该用前一帧的背景 B(x,y,i-1)填充相应的变化区域。若 DW(x,y,i)等于 0,则应用当前帧 I(x,y,i)与前一帧的背景模型 B(x,y,i-1)按照一定的学习速率进行叠加构建包含运动人体视频序列每一帧对应的背景模型[6]。

上述构建的背景模型是在R、G、B分量下分别计算的结果,将上述分量叠加便构成相应的色彩模型。如图2所示,图2(a)至图 2(d)是截取的视频序列的帧图像。 图 2(e)至图 2(h)依次是图 2(a)至图 2(d)对应帧的背景模型。 图 2(a)与图2(d)对应的背景模型均包含运动人体,出现这种情况的原因在于本文将视频序列首帧图2(a)设定为对应的背景帧,同时由于相邻两帧中运动人体的所覆盖的区域太过接近,计算过程中会将图2(a)的相应区域填充到图2(b)中区,从而使图2(b)对应的背景模型包含运动人体。

图2 视频序列及其相应的背景图Fig.2 Video sequence and corresponding background

1.2 运动人体的提取

运用减背景法将每一帧的背景模型与相应的帧图像进行差分,按式(3)求得。表示第帧的灰度图像,表示相应的背景的灰度图像,相减之后的结果是一个包含光照、噪声和阴影的区域。为了进一步地确定运动人体区域,的结果可以通过与设定阈值进行比较,按式(4)得到二值掩码图像,即更加精确地运动人体区域。其中小于值对应的是背景区域灰度值,大于值对应的是运动人体区域灰度值,其中是通过的灰度直方图得出。

2 APAR区域法二维关键点提取

本文所述的APAR区域指的是由于两条反向平行线构成的一条矩形区域。将第1部分所检测到的运动人体区域用APAR区域近似标定,通过APAR区域中线的端点即是所求得二维关键点。具体步骤分为:1)人体轮廓矢量化;2)APAR区域的检测与筛选;3)二维特征点检测。

2.1 人体轮廓矢量化

依据人体区域轮廓线上的点链码[7]方向变化,提取出待筛选的拐点;然后将其中拐点用直线段拟合,去除多余的拐点,即完成轮廓的矢量化,实现特征拐点的提取。

轮廓矢量化操作求得特征拐点。将获得的轮廓拐点通过轮廓矢量化继续求得特征拐点,以达到所需要的特征拐点。此时需要通过两个参数来实现运动人体轮廓的矢量化,长度阈值来控制拐点的疏密程度,另一个是角度阈值参数,用来控制拟合直线的方向。这两个参数共同控制矢量化后直线的长度和方向[8]。

1)首先,从链码起始点O开始,沿轮廓的逆时针方向进行跟踪,计算链码起始点O与第一个拐点间轮廓线的长度设为L,比较L与TL的大小,如果L小于TL,则按顺序继续搜索后面的拐点与起始点的距离。直到这一长度值大于给定的长度阈值TL为止,此时将满足条件的拐点记作N0;然后,继续计算N0与O点的倾角,设为θ0。继续跟踪以后的拐点,并同样计算这些拐点与起始点O间直线与水平方向的倾角,记为θt。 记 θt-θ0的绝对值为 abs(θ0-θt)。 如果 abs(θ0-θt)<Tθ,则继续跟踪后面的拐点,直到拐点与起始点间直线的倾角θT与θ0差值的绝对值 abs(θ0-θt)大于 Tθ为止,最后将当前拐点的前一点作为第一条适量化直线的终点。

2)把该终点作为起始点,重复上述过程,直到链码终点为止。这样,人体区域的轮廓线就被拟合成若干条矢量化直线,而这些矢量化直线的端点即为特征拐点,其直线的方向是从起始点指向终点。

2.2 APAR区域的检测与筛选

将特征拐点拟合而成矢量直线段,再以这些直线段为基础就可以开始APAR区域的检测过程。检测的方法是首先从第1条直线段开始。从连续的直线段中寻找与该直线段方向相反的第一条直线段作为APAR的种子对;然后,以此种子对为基础,开始一个APAR的生长过程,即从两条直线段的端点开始,依次判断与这两条直线段相接的两条直线段是否为一对反向的平行线,如果是,则将这两条直线段同APAR种子对的直线段相连,否则该种子对的生长过程结束;最后从两线段的端点开始,继续检测新的APAR种子对,重复上述过程,直到无法检测出新的APAR种子对,并且全部APAR种子对停止生长为止。图3对应的是APAR区域确定的流程图。

图3 APAR区域确定的流程图Fig.3 Flow chart of extacted APAR area

理想条件下,两条反向且平行的直线段,其分别与水平方向的夹角的差值应为180°,但是由于两种情况通常很少发生,规定两条直线段分别与水平方向的夹角之差的绝对值介于150~210,则可以认为这两条直线段是反向且平行的。

APAR区域的筛选。当所有的APAR种子对被检测出,且停止生长以后,还需要判断这些APAR种子对是否能构成一个真正的APAR子区域,而不能构成真正APAR子区域的种子对,则要排除。由于每一个APAR种子对由两组直线段组成,因此被排除的APAR种子对,需要满足如下两个条件:

1)线段的长度不平衡,其中的一组直线段长度大于另一组直线段长度的4倍。

2)线段的起点与另外一条直线段的起点之间的距离大于其中较短的直线段长度的2倍。

2.3 二维关键点检测

当所有满足上述两个条件的APAR种子对被排除后,剩下的APAR种子对即可构成多个APAR子区域,这些区域需要与身体的各个部位相对应。

特征点提取。特征点由上述APAR区域确定,可以通过每个APAR区域对应的中线两端点实现特征点的提取,其中图4所示为两个反向箭头平行线组成的APAR区域。虚线表示这个区域的中线,其中虚线的两个黑色端点就是我们要求得的二维关键点。

图4 APAR区域关键点检测图Fig.4 Digram of APAR area key dectection

3 实验结果说明

为验证本文所提出的方法的可行性以及准确性,分别对运动人体区域的检测和采用APAR区域实现关键点的检测通过实验结果进行说明。

对运动人体区域检测采用的视频其中包括了室内与室外两种情况的运动人体检测。实验设定每隔10帧采集一帧图像,室内环境中每帧图像的大小为240像素340像素,室外环境采集的帧图像的大小是288像素352像素。最终结果如图5所示。图5(a)、5(b)室内环境下拍摄的视频序列的某一帧,图 5(c)为室外视频序列中一帧,图 5(d)到图 5(f)为依次对应的运动人体二值图像。

对检测到的运动人体区域采用APAR区域法实现对应关键点的提取,如图6所示。其中图6(a)对应的是运动人体二值化图像,图 6(b)是对应的边缘轮廓,图 6(c)是运动人体的带筛选的拐点图像,图 6(d)对应的是边缘轮廓图,6(e)对应的是APAR区域组成的人体区域,图6(f)为运动人体的二维特征点。

图5 运动人体检测结果Fig.5 The result of human motion detection

图6 APAR区域法的实验结果Fig.6 The result of APAR area way

4 结 论

本文通过帧差法实现自适应背景模型的创建,运用减背景法实现运动人体区域的提取,通过实验证明该方法能够快速的建立和更新背景模型,同时可以准确的检测运动人体区域。缺点是对客观环境有一定的限制,在运动人体周围的环境光照均匀的条件下效果较好,并且要求运动人体的像素值与背景的像素值有一定的差异,否则提取出的运动人体区域会出现空洞现象,同时由于光照造成的阴影区域对运动人体检测也会造成影响。

对于采用APAR区域法是实现运动人体关键点的提取,可以通过实验证明该方法在运动人体区域的关键点的提取较为准确,但是对于具有自遮挡的运动人体区域的关键点检测的存在缺失,可以通过计算机视觉中的摄像机标定技术实现运动人体的关键点到三维空间的映射,从而解决因APAR区域法对因动作自遮挡所产生的对关键点检测缺失的现象。

[1]王亮,胡卫明,谭铁牛.人运动的视觉分析综述[J].计算机学报,2002,25(3):255-237.

WANG Liang,HU Wei-ming,TAN Tie-niu.A survey of visual analysis of human motion[J].Chinese Journal of Computers,2002,25(3):255-237.

[2]Gavrila D M.The visual analysis of human[J].Computer Vision and Image Understanding,1999,73(1):82-98.

[3]Maybank S,Tan T.Introduction special section on visual surveillance[J].International Journal of computer Vision,2000,37(2):173.

[4]Haritaoglu I,Harwood D, Davis L W.Real-time surveillance of people and their activities[J].IEEE Trans Pattern Analysis and Machine Intelligence,2000,22(8):809-830.

[5]Leung M K,Yang Y H.A region based approach for human body motion analysis[J].Pattern Recognition,1987,20(3):321-339.

[6]吴众山,雷蕴奇,吴绿方.一种实用的背景提取与更新算法[J].厦门大学学报,2008,47(3):348-350.

WU Zhong-shan, LEI Yun-qi, WU Lv-fang.An algorithm for extraction and update of background[J].Journal of Xiamen University,2008,47(3):348-350.

[7]冈萨雷斯.数字图像处理Matlab版[M].北京:电子工业出版社,2005.

[8]孙怡,王洪亮,安宏杰.基于2-D模型的人体运动跟踪[J].中国图像图形学报,2002,7(7):628-630.

SUN Yi,WANG Hong-liang,AN Hong-jie.2-D model based tracking of human motion[J].Chinese Journal of Image and Graphics,2002,7(7):628-630.

猜你喜欢
拐点关键点背景
聚焦金属关键点
“新四化”背景下汽车NVH的发展趋势
肉兔育肥抓好七个关键点
《论持久战》的写作背景
秦国的“拐点”
新拐点,新机遇
恢复高考:时代的拐点
《廉洁拐点》
晚清外语翻译人才培养的背景
医联体要把握三个关键点