基于多特征融合的人体动作识别_田国会
第39卷 第5期山 东 大 学 学 报 (工 学 版) 2009年10月
Vol . 39 No . 5Oct . 2009 JOUR NAL OF SHA NDO NG U NIVER SITY (E NGINEER IN G SCIEN CE )
文章编号:1672-3961(2009) 05-0043-05
基于多特征融合的人体动作识别
田国会, 吉艳青, 黄彬
(山东大学控制科学与工程学院, 山东济南250061)
摘要:提出复杂环境下基于特征融合的日常动作、突发异常(摔倒) 行为检测方法. 利用人的姿态、姿态变化速率特
征、人的位置变化特征表征人的运动状态, 通过合成简单的姿态事件并结合特征来表达具有复杂时空关系的运动事件. 该方法计算复杂度小, 对目标大小的变化具有较好的鲁棒性, 在智能交互、服务机器人自主服务系统中具有实用价值.
关键词:智能监护; 运动检测; 人体姿态识别; 行为理解; 智能空间中图分类号:TP391. 41 文献标志码:A
Human motion detection based on multi -feature fusion
TI AN Guo -hui , JI Yan -qing , HUANG Bin
(School of Control Science and Engineering , Shandong University , Jinan 250061, China )
Abstract :A novel method was proposed to detect human daily activities and fall behavior based on features fusion . Actions were described by a set of postures and features of postures change velocity and position chan ges , then s imple postures events and fea -tures were combined to express complex human activities events . This method can robustl y detect hu man actions , thus can be used for intelligence interactive and service robot autonomous server system . Key words :Intelligent surveillance ; motion detection ; hu man postures recognition ; behaviors understanding ; intelligent space
姿势, 然后利用随时间变化的姿势来描述不同动作.
0 引言
考虑到我国日趋严重的老龄化社会问题, 同时考虑还有一大批行动不方便的残疾人, 开发家庭服
[1]
务机器人非常有必要. 识别人的运动是服务机器人实现自主服务、人机交互的基础, 并成为近年来被广泛关注的热点. 目前, 基于视觉传感器的运动识别采用的方法主要有三类:第一类, 基于时空特征的
[2]
模式分析方法. 这种方法是首先将提取人体区域图像序列转换为一组静态形状模式, 然后在识别阶段和预先存储的行为样本相比较. 这类方法计算复杂度低、实现简单, 但是对于噪声和运动时间间隔的变化敏感. 第二类, 基于模型的方法. 该方法先采用人体2D 或3D 模型得到每一帧视频中的人体
收稿日期:2009-09-01
[3]
该方法准确度高, 但是计算量大, 对设备要求高, 实时性差. 第三类, 基于图像统计处理的方法. 这
类方法直接对视频帧的低层信息进行统计分析, 从而对视频段进行理解. 比如, Ma and Lin 通过对视频帧进行主成分分析, 然后对各种动作序列进行分类和识别, 但是图像的大数据量导致计算量非常大.
家庭环境下拍摄的图像背景杂乱, 人体姿态视角不一, 衣着颜色风格各异, 运动时间间隔变化多样, 前面描述的行为分析方法都很难应用于复杂家庭环境下的行为理解系统中. 本文研究在复杂环境下对人的日常典型动作(如站起、躺下等) 和突发异常动作(摔倒) 进行识别. 其中涉及的关键性问题是:人的运动表征与人的动作识别, 此问题的实质是提取何种特征, 采用什么样的机制、模型对人的动
[5]
[4][4]
基金项目:国家高技术研究发展计划(863计划) 家庭服务机器人重点基金资助项目(2006A A040206) ; 留学回国人员科研启动基金资助项目(教
外司留[2007]24号)
作者简介:田国会(1969-) , 男, 河北河间人, 教授, 博士生导师, 博士, 主要研究方向为服务机器人、智能空间、计算机视觉与人工智能、多机器人
、-. h .
44
山 东 大 学 学 报 (工 学 版) 第39卷
作进行建模. 本文在研究人的运动表征与人的运动识别的基础上, 充分考虑智能空间中的人体运动模
[6]
式及其视觉表现方式, 通过合成简单的姿态事件来自然地表达客观世界中具有复杂时空关系的动作事件
[7]
法, 该方法能够很好的检测室内环境的运动目标. 背景减除法的关键之处在于背景模型的建立, 本文采用基于GMM 模型的运动目标检测算法来实现运动人体的检测. 试验中发现, GMM 背景模型采用的是全局的统一更新策略, 在处理复杂的目标运动形式中凸显了它的不足. 主要表现为, 暂停的运动目标被吸收成为背景的一部分, 导致提取的运动目标如人很不完整. 由于需要自适应的背景模型来处理缓慢的背景变化(例如光照) , 这种吸收现象是不可避免的. 因此可借鉴人的认识过程, 利用运动分割的结果以及对目标的识别来指导背景更新. 如运动目标O (i , j ) 为人体对象的时候, 对应的背景更新置信度f Bg 取值为0, 该点的像素不参与背景更新, 否则对应的背景更新置信度f Bg 取值为1, 该点的像素参与背景更新. 基于区域的背景更新策略避免了人的局部运动引起姿态误检, 提高了利用姿态变化进行动作识别的准确性.
1. 2 运动状态表征
不同的特征从不同的角度反映人的运动状态特性, 选择一种特征时不仅要从它的可区分性考虑, 而且要考虑到它提取时的难易程度, 如何选取一种或多种特征成为运动识别的首要任务. 本文研究对象是包括四肢在内的人的全身, 研究的目标是在复杂的环境下识别人的日常典型动作(站起、躺下等) 和突发异常动作(摔倒) . 因此, 人体运动状态表征上考虑与人体整体的形状和运动有关的关键特征. 单独采用基于外观形状特征或者单独采用运动特征表征人的运动状态都存在不足, 本文采用特征融合的思想用多个特征融合表征人的运动状态.
(1) 姿态特征
家庭环境中人的运动主要是由几个关键性姿态的变换组成, 因而本文选择基于外观形状的人体整体姿态信息来表征人的运动状态. 基于模型的姿态获取能够描述复杂的姿态, 但是模型初始化难、计算量大, 容易产生局部极小值, 很难找到全局最优且鲁
. 即, 从一组包含人的图像序列中识别人体
姿态基元, 检测人姿态变化速率特征和人体位置变
化特征, 在运动识别阶段根据姿态变化, 融合多个特征识别人的动作. 本文选取的特征包括人体外观特征———姿态, 以及运动特征———姿态变化、姿态变化速率、位置变化.
1 运动识别系统
本文的运动识别系统由人体检测模块、姿态及特征检测模块和运动识别模块组成. 首先采用改进的基于GMM 的运动目标检测算法将运动人体从视频中检测并分割出来. 对检测出的二值化人体区域, 提取其姿态、姿态变化率以及人的位置变化信息, 引入姿态评价函数提高姿态检测的准确性. 在动作的识别过程中, 本文提出了一种基于多特征融合的动作识别算法. 该算法不仅分析了人外观形状特征, 而且融合了人体的运动特征, 因此识别的结果比较准确. 该算法容易理解和实现, 运算量小, 识别速度快. 整个算法的流程如图1所示
.
图1 基于特征融合的动作识别系统Fig . 1 Action recognition system based on muti -features fusion
棒的参数. 因而, 本文选择对目标大小、远近具有不
变性、视角影响不大的人体宽、高比描述人体的姿态特征.
(2) 姿态变化率特征
人体日常的正常动作中姿态总是平稳变化, 但是发生突发异常(摔倒) 情况时, 姿态变化速率就会很剧烈. 本文引入姿态变化速率的运动特征检测人摔倒情况. 人摔倒与躺下这两个动作中, 关键性姿态变化过程相似, 姿态变化速率不同.
1. 1 人体检测
进行人体动作识别首先要检测并分割出运动或静止中的人体, 由于人衣着的颜色、纹理多样, 同时
还有人体姿态的不确定性以及视觉背景的不确定性, 导致目前仍然没有十分可行的方法从静态图像中检测出人体. 因而, 本文采用运动检测的方法提取视频图像中人体目标.
第5期田国会, 等:基于多特征融合的人体动作识别
45
仅仅依靠选取的姿态特征及其姿态变化率, 无法判断人体是行走动作, 还是站立状态. 这两种动作
中, 人的姿态变化都是从站姿态到站姿态, 引入位置变化的运动信息则可以解决这一问题. 那么, 如何判断“人体目标”位置是否变化呢? 区域分割之后可以得到运动人体目标的在图像坐标系中的位置(包含前景目标的一个最小矩形框的左上顶点坐标) , 通过比较前后帧的位置可确定目标位置是否变化. 1. 3 姿态及特征检测
(1) 姿态特征检测
定义人的日常动作的基本姿态为站(stand ) 、坐(sit ) 、躺(lay ) , 组成姿态集合P :
P ={站、坐、躺}. (1) 当前检测的姿态p (t ) ∈P , 考虑到只有在人体运动时才能被检测出来, 所以当没有运动信息时则认为人体保持原有的姿态.
由于运动人体检测获得人体图像是高维的信号, 在此高维的空间中进行姿态识别并不容易, 需要特征变换用于后期的分类. 本文采用前景图像的最小外接矩形将高维的图像信号降低为两维表示人体姿态(图2) , 矩形的宽为W , 高为H . 定义人的体态比k =H /W , 作为描述人的姿态的特征. 统计900幅日常动作中不同姿态的体态比k , 依据最小误判概率准则设定k 的阈值区分人的站、坐、躺姿态, 详细描述如表1.
表1 姿态特征
Table 1 The feature of posture
姿态阈值k
站k ≥1. 8
坐1. 8>k ≥0. 7
躺k
通过构造姿态评价函数来消除由于人的“不寻常”动作引起的姿态的误判情况. 定义姿态评价函
数S 如式(2) :∑F g
S , (2)
S (T )
其中, ∑F g =∑I (x , y ) 为运动人体前景图像的(x , y ) ∈T 面积, S (T ) =W *H 为前景图像最小外接矩形的面积. 由评价函数的表达式可以看出, 其函数值的变化范围是[0, 1]. 当∑F g =S (T ) 时评价函数的值最高, 当人体手臂展开其评价函数值将变得很低. 如姿态评价函数很低, 将其视为未定义姿态, 不参与动作识别.
采集30段家庭环境下的视频, 将本文的姿态识别算法和Haritaoglu 中的人体姿态识别算法比较. Haritaogl 的姿态识别算法是将运动人体前景图像在x 轴与y 轴方向投影, 并将投影的轮廓线与训练得到不同姿态的轮廓线模板匹配获得人体姿态. 两种算法的姿态识别率相当, 但是在算法复杂度上, Har -itaogl 算法要复杂于本文的算法.
(2) 姿态变化率检测
定义前一帧的体态比与当前帧的体态比的比值为人体姿态帧间变化率, 用Q 表示, 即
Q =k (t -1) /k (t ) , (3)
Q 表征人姿态变化的快慢:当人保持同一个姿态时, Q 接近1; 当人正常的坐下或者躺下时, Q 缓慢增大; 当人摔倒时, Q 迅速增大. 因而利用人的体态比的变化率可以检测摔倒动作. 由统计获得人正常运动时姿态变化率Q
(3) 位置检测
人体在图像坐标系中的位置定义为p (t , i ) , 人体的位置变化采用欧氏距离度量, 即k (t , i ) =‖p (t +1, i ) -p (t , i ) ‖, 当k (t , i ) 大于阈值K s 时, 人体位置处于运动状态. 判别方法为
if k (t , i ) >K s then Ac tion =1; else Ac tion =0;
利用上述方法判断人体位置变化, 不具有鲁棒性、为准确判断人体位置是否变化, 提高算法鲁棒性, 引入了位置变化置信度(confidence level ) 的概念. 置信度用来衡量人体目标处于运动状态的程度, 取值范围定为0~40, 置信度为0表示人体肯定处于运动状态, 置信度为40表示该目标肯定是非运动状态. 比较前、后两帧的人体目标位置的变化, 若A ction =0, 则此目标对应的置信度加1, 否则置信度清零. 给定一置信度阈值, 当置信度大于该阈值时认为此目标处于非运动状态, 文中阈值设定为20, [8]
实验中发现影响姿态准确性的一个问题是姿态的误检. 例如, 当人体手臂展开时会将站姿态误检为坐姿态, 如图2(d ) .
图2 姿态检测
46
山 东 大 学 学 报 (工 学 版) 第39卷
阈值, 导致对运动判断错误. 置信度定义为CA c -tion , CA ction 的初始值为0, 最后对置信度归一化为UA ction . 若UA ction 大于0. 5则人体位置变化, 反之则没有变化. 具体方法为
if A ction =0then CAction ++;else CAction =0; if CAction >40 then CAc tion =40;
UA ction =CA ction /40; 1. 4 动作识别
定义人的日常动作:走(walk ) , 坐下(sit down ) , 站起(stand up ) , 躺下(lay do wn ) , 起来(get up ) , 摔倒(fall do wn ) , 站立(stand still ) , 组成动作集合A : A ={走, 坐下, 站起, 躺下, 起来, 摔倒, 站立}. (4) 当前检测的动作a (t ) ∈A . 根据人的不同动作是由不同姿态组成的规律性, 本文利用姿态的变化结合体态比帧间变化率特征、位置变化特征检测人的动作, 如表2. 其中, p (t ) 表示时刻t 的姿态, p (t -1) 表示t -1时刻的姿态.
表2 动作识别
Table 2 Action recognition 动作
a (t ) 走坐下站起躺下起来摔倒站立
P (t ) 站站坐坐、站躺站、坐站
p (t -1) 站坐站躺坐、站坐、躺站
Q
条件
U Actio n ≤0. 5/
////>0. 5
行动作判决的底线, 只有当观测序列姿态持续帧数大于阈值时才进行动作判断, 否则就认为观测序列
是无意义或未定义的动作. 作为动作描述的每个姿态总是会持续一段时间, 根据这一准则, 统计获得描述每个动作的姿态的最少持续帧数是10帧, 即阈值模型中的阈值为10帧(视频图像采集率是30帧/s ) . 这一方法能够很好的消除由于噪声引起的动作误检.
2 实验分析
本文的实验数据为复杂家庭环境下的监控视频. 该视频中人的行为、衣着、个体大小都有比较大的变化, 每一帧图像大小为320*240. 本算法在In -tel PD1. 8GHz CPU 上可以达到实时处理(30帧/s ) .
首先利用背景减除方法(学习率a =0. 005, 阈值Tp =0. 7) 获得运动的人体, 采用前景图像的最小外接矩形将高维的图像信号降低为两维, 为了保证检测准确性拟合的前景图像的最少像素是1000. 然后根据体态比确定人的姿态, 结合姿态变化信息和体态比帧间变化率特征和位置变化的特征检测人的动作. 对视频图像中直接提取的人体体态比, 进行两帧的均值滤波、“奇异噪声点”去除、极值抑制(即体态比大于2. 5时置为2. 5, 小于0. 4时置为0. 4) 的操作. 图3是三段视频滤波之后(15帧/s ) 运动人体的体态比、体态比变化率特征、人体位置变化特征的曲线. 其中, 视频一表示人的运动是:走—躺下—起来—走; 视频二表示人的运动是:走—摔倒在椅子上; 视频三表示人的运动是:走—坐下—站起
.
为了过滤掉无意义或未定义的动作, 本文引入姿态最少持续帧数的阈值模型. 阈值模型给出了进
图3 检测结果
Fig . 3 The detection results
视频一:站(1-35帧) —坐(36-39帧) —躺(40-100帧) —坐(101-102帧) —站(103-181帧) . 因为描
述动作的姿态最少持续帧数是10帧(30帧 s ) , 滤波, 因而及101-102帧姿态不能用来描述动作. 在整个姿态变化的过程中体态比的变化率Q
第5期田国会, 等:基于多特征融合的人体动作识别
47
视频二:站(1-23帧) —坐(24-97帧) . 其中, 第24帧由站姿态向坐姿态变化剧烈, 体态比的变化率
Q >1. 5, 根据节2中描述的动作识别算法可知为摔倒情况, 站姿态(1-23帧) 中人的位置处于变化状态, 动作识别结果为:走—摔倒, 与已知的结果一致. 视频三:站(1-28帧) —坐(29-66帧) —站(67-68帧) —坐(69-120帧) —站(121帧) —坐(122帧) —站(123-132帧) . 其中67-68帧的检测结果是k >1. 8, 并且Q 的变化率接近1. 5, 但是查看视频发现人的整体姿态并没有变化, 这种结果是由于运动误检引起的, 描述动作最少帧数的阈值模型能够消除此类干扰, 提高动作识别的鲁棒性(67-68帧、122帧不能用来描述动作的姿态) . 11-23帧, 人体姿态为站且位置变化的阈值大于0. 5, 因而人体处于站立状态. 视频三中动作检测的结果为:走—站立—坐下—站起, 与实际情况依然相符.
本文的方法在人体姿态识别准确的条件下, 能够完全识别人的动作. 同时, 这种先识别简单姿态及特征再识别复杂动作的识别方法简化了动作识别的过程, 架构便于扩展, 可以在此基础上融合场景特征, 进行高层行为的识别.
将这些信息进行融合, 就很容易的判断出动作的发生地点, 进而对主人的意图进行理解. 因而下一步工作要研究结合场景知识的高层行为识别.
参考文献:
[1]田国会. 家庭服务机器人研究前景广阔[J ]. 国际学术
动态, 2007(1) :28-29.
TIAN Guohui . The prospect of the home service robot research is vast [J ]. International Academic Development , 2007(1) :28-29.
[2]BOBICK , DAVIS J . Real -time recogn ition of activity using
temporal templates [C ]//Proceedings of the IEEE Conference on Applications of Computer Vision . Sarasota , Florida , 1996:39-42.
[3]MUN Wailee . Model -Based approach for estimating human 3D
poses in static images [J ]. IEEE Transactions on Pattern Anal -ysis and Machine Intelligence , 2006, 28(6) :905-916. [4]MA G , LIN X . Typical sequences extraction and recognition
[J ]. Lecture Notes in Computer Vision (LNCS ) , 2004, 3058:60-71.
[5]凌志刚, 赵春晖, 梁彦, 等. 基于视觉的人行为理解综述
[J ]. 计算机应用研究, 2007, 25(9) :2570-2578. LING Zhigan g , ZH AO Chunhui , LIANG Yan , et al . Survey on vision -based human action understand ing [J ]. Application Re -search of Computers , 2007, 25(9) :2570-2578.
[6]田国会, 李晓磊, 赵守鹏, 等. 家庭服务机器人智能空间
技术研究与进展[J ]. 山东大学学报:工学版, 2007, 37(5) :53-59.
TIAN Guohui , LI Xiaolei , ZHAO Shoupeng , et al . Research and develop ment of intelligent space technology for a home ser -vice robot [J ]. Journal of Shandong University of Technology :Engineering Science , 2007, 37(5) :53-59.
[7]KOJIMA A . Generating natural language description of human
behaviors from video i mages [C ]//IEEE International Confer -ence on Patern Recognition . Barcelona :IEEE Press , 2000:728-731.
[8]IS MAIL HARITAOGLU , DAVID HARWOOD , LARRY S
DAVIS . W4:real -time surveillance of people and their activi -ties [J ]. IEEE Transactions on Pattern Analysis and M achine Intelligence , 2000, 22(8) :809-830.
3 结束语
本文利用人体姿态变化、姿态变化速率和位置变化等特征识别复杂环境下人的日常动作以及摔倒情况. 该方法通过合成简单姿态来表达具有复杂时
空关系人体运动, 这种分层动作建模和识别方法, 简化了动作识别的过程, 架构便于扩展; 利用多特征融合的方法进行复杂动作的识别, 提高了识别的准确性、可靠性.
该算法虽然较好地解决了复杂环境下日常动作和摔倒情况的识别问题, 但是如果仅仅依靠动作识别来进行行为识别的话, 其获得的信息必然带有不确定性. 譬如主人坐下吃饭时的动作与坐在沙发上看电视虽然都是“坐”动作, 但是所表现的行为是不一样的, 单纯依靠简单动作识别是很难区分开的. 如果结合动作发生的场景, 是在饭厅还是电视机旁,
(编辑:许力琴)