行为识别人体骨架检测+LSTM

⾏为识别⼈体⾻架检测+LSTM
在⼈⼯智能研究领域,这⼀技能叫⼈体⾏为识别,是智能监控、⼈机交互、机器⼈等诸多应⽤的⼀项基础技术。以电影提到的⽼⼈智能看护场景为例,智能系统通过实时检测和分析⽼⼈的⾏动,判断⽼⼈是否正常吃饭、服药、是否保持最低的运动量、是否有异常⾏动出现(例如摔倒), 从⽽及时给予提醒,确保⽼⼈的⽣活质量不会由于独⾃居住⽽有所降低。第⼆个例⼦是⼈机交互系统,通过对⼈的⾏为进⾏识别,猜测⽤户的“⼼思”,预测⽤户的意图,及时给予准确的响应。第三个例⼦是医院的康复训练,通过对动作⾏为的规范程度做出识别,评估恢复程度以提供更好的康复指导等。
俗话说“排⾻好吃,⾻头难啃”,⾏为识别是⼀项具有挑战性的任务,受光照条件各异、视⾓多样性、背景复杂、类内变化⼤等诸多因素的影响。对⾏为识别的研究可以追溯到1973年,当时Johansson通过实验观察发现,⼈体的运动可以通过⼀些主要关节点的移动来描述,因此,只要10-12个关键节点的组合与追踪便能形成对诸多⾏为例如跳舞、⾛路、跑步等的刻画,做到通过⼈体关键节点的运动来识别⾏为[2]。正因为如此,在Kinect的游戏中,系统根据深度图估计出的⼈体⾻架(Skeleton,由⼈体的⼀些关节点的位置信息组成),对⼈的姿态动作进⾏判断,促成⼈机交互的实现。另⼀个重要分⽀则是基于RGB视频做⾏为动作识别。与RGB信息相⽐,⾻架信息具有特征明确简单、不易受外观因素影响的优点。我们在这⾥主要探讨基于⾻架的⾏为识别及检测。
草原生态保护补助奖励机制管理信息系统
⼈体⾻架怎么获得呢?主要有两个途径:通过RGB图像进⾏关节点估计(Pose Estimation)获得[3][4],或是通过深度摄像机直接获得(例如Kinect)。每⼀时刻(帧)⾻架对应⼈体的K个关节点所在的坐标位置信息,⼀个时间序列由若⼲帧组成。⾏为识别就是对时域预先分割好的序列判定其所属⾏为动作的类型,即“读懂⾏为”。但在现实应⽤中更容易遇到的情况是序列尚未在时域分割(Untrimmed),因此需要同时对⾏为动作进⾏时域定位(分割)和类型判定,这类任务⼀般称为⾏为检测。
基于⾻架的⾏为识别技术,其关键在于两个⽅⾯:⼀⽅⾯是如何设计鲁棒和有强判别性的特征,另⼀⽅⾯是如何利⽤时域相关性来对⾏为动作的动态变化进⾏建模。
我们采⽤基于LSTM (Long-Short Term Memory)的循环神经⽹络(RNN)来搭建基础框架,⽤于学习有效的特征并且对时域的动态过程建模,实现端到端(End-to-End)的⾏为识别及检测。关于LSTM的详细介绍可参考[5]。我们的⼯作主要从以下三个⽅⾯进⾏探讨和研究:
如何利⽤空间注意⼒(Spatial Attention)和时间注意⼒(Temporal Attention)来实现⾼性能⾏为动作识别 [8]?
如何利⽤⼈类⾏为动作具有的共现性(Co-occurrence)来提升⾏为识别的性能[7]?
如何利⽤RNN⽹络对未分割序列进⾏⾏为检测(⾏为动作的起⽌点的定位和⾏为动作类型的判定)[9]?
空时注意⼒模型(Attention)之于⾏为识别
图1.1:“挥拳”⾏为动作序列⽰例。⾏为动作要经历不同的阶段(⽐如靠近、⾼潮、结束),涉及到不同的具有判别⼒的关节点⼦集合(如红⾊圆圈所⽰)。这个例⼦中,⼈体⾻架由15个关节点的坐标位置表⽰。
注意⼒模型(Attention Model)在过去这两年⾥成了机器学习界的“⽹红”,其想法就是模拟⼈类对事物的认知,将更多的注意⼒放在信息量更⼤的部分。我们也将注意⼒模型引⼊了⾏为识别的任务,下⾯就来看⼀下注意⼒模型是如何在⾏为识别中⼤显⾝⼿的。
时域注意⼒:众所周知,⼀个⾏为动作的过程要经历多个状态(对应很多时间帧),⼈体在每个时刻也呈现出不同的姿态,那么,是不是每⼀帧在动作判别中的重要性都相同呢?以“挥拳”为例,整个过程经历了开始的靠近阶段、挥动拳脚的⾼潮阶段以及结束阶段。相⽐之下,挥动拳脚的⾼潮阶段包含了更多的信息,最有助于动作的判别。依据这⼀点,我们设计了时域注意⼒模型,通过⼀个LSTM⼦⽹络来⾃动学习和获知序列中不同帧的重要性,使重要的帧在分类中起更⼤的作⽤,以优化识别的精度。
空域注意⼒:对于⾏为动作的判别,是不是每个关节点在动作判别中都同等重要呢?研究证明,⼀些⾏为动作会跟某些关节点构成的集合相关,⽽另⼀些⾏为动作会跟其它⼀些关节点构成的集合相关。⽐如“打电话”,主要跟头、肩膀、⼿肘和⼿腕这些关节点密切相关,同时跟腿上的关节点关系很⼩,⽽对“⾛路”这个动作的判别主要通过腿部节点的观察就可以完成。与此相适应,我们设计了⼀个LSTM⼦⽹络,依据序列的内容⾃动给不同关节点分配不同的重要性,即给予不同的注意⼒。由于注意⼒是基于内容的,即当前帧信息和历史信息共同决定的,因此,在同⼀个序列中,关节点重要性的分配可以随着时间的变化⽽改变。
图1.2展⽰了⽹络框架图。时域注意⼒⼦⽹络(Temporal Attention)学习⼀个时域注意⼒模型来给不同帧分配合适的重要性,并以此为依据对不同帧信息进⾏融合。空域注意⼒⼦⽹络(Spatial Attention)学习⼀个时域注意⼒模型来给不同节点分配合适的重要性,作⽤于⽹络的输⼊关节点上。
图1.2:⽹络结构框图。主⽹络(Main LSTM Network)⽤于对特征进⾏提取、时域相关性利⽤和最终的分类。时域注意⼒⼦⽹络(Temporal Attention)⽤于给不同帧分配合适的重要性。空域注意⼒⼦⽹络(Spatial Attention)⽤于给不同关节点分配合适的重要性。
空时注意⼒模型能带来多⼤的好处呢?我们在SBU 数据库、NTU RGB+D 数据库的Cross Subject(CS) 和 Cross View(CV) 设置上分别进⾏了实验,以检测其有效性。图1.3展⽰了性能的⽐较:LSTM表⽰只有主LSTM⽹络时的性能(没引⼊注意⼒模型)。当同时引⼊时域注意⼒(TA)和空域注意⼒(SA)⽹络后,如STA-LSTM所⽰,识别的精度实现了⼤幅提升。
图1.3:空时注意⼒⽹络的识别精度⽐较。(a) SBU 数据库。(b) NTU 数据库Cross Subject(CS)。(c) NTU数据库Cross-View(CV)。其中,
LSTM只包含主⽹络结构。STA-LSTM同时包含了空时⼦⽹络。
细⼼的读者可能已经发现,序列中的空域注意⼒和时域注意⼒具体为多⼤是没有参考的(不知道Groundtruth)。⽹络是以优化最终分类性能来⾃动习得注意⼒。那么,学到的注意⼒模型分配的注意⼒数值是什么样呢?我们可视化并分析了空时注意⼒模型的输出。图1.4可视化了在“挥拳”⾏为动作的测试序列上,模型输出的空域注意⼒权重的⼤⼩,时域注意⼒权重值以及相邻帧时域注意⼒的差值。如图1.4(a)中所⽰,主动⽅(右侧⼈)的节点被赋予了更⼤的权值,且腿部的节点更加活跃。图(b)
展⽰了时域注意⼒的变化,可以看到,时域注意⼒随着动作的发展逐渐上升,相邻帧时域注意⼒差值的变化则表明了帧间判别⼒的增量。时域注意⼒模型会对更具判别⼒的帧赋予较⼤的注意⼒权重。对不同的⾏为动作,空间注意⼒模型赋予较⼤权重的节点也不同,整体和⼈的感知⼀致。
图1.4: 空时注意⼒模型学到的权重在“挥拳”测试序列上的可视化。(a) 空域注意⼒权重。红⾊圆圈的⼤⼩⽰意对应关节点权重的⼤⼩。红⾊圆圈越⼤,表⽰权重越⼤。这⾥我们只将有着最⼤权重的前8个节点做了标记。(b) 时域注意⼒权重。(c) 差分时域注意⼒权重,即相邻帧的时
解缙域注意⼒权重的差值。
LSTM⽹络框架和关节点共现性(Co-occurrence)的挖掘之于⾏为识别
欣赏完“⽹红”的魅⼒之后,我们还是回归⼀下LSTM⽹络的本真吧。近年来,除了在⽹络结构上的探索,如何在⽹络设计中利⽤⼈的先验知识以及任务本⾝的特性来提升性能,也越来越多地受到关注。
着眼于⼈的⾏为动作的特点,我们将⾏为动作中关节点具有的共现性特性引⼊到LSTM⽹络设计中,将其作为⽹络参数学习的约束来优化识别性能。⼈的某个⾏为动作常常和⾻架的⼀些特定关节点构成的集合,以及这个集合中节点的交互密切相关。如要判别是否在打电话,关节点“⼿腕”、“⼿肘”、“肩膀”和“头”的动作最为关键。不同的⾏为动作与之密切相关的节点集合有所不同。例如对于“⾛路”的⾏为动作,“脚腕”、“膝盖”、“臀部”等关节点构成具有判别⼒的节点集合。我们将这种⼏个关节点同时影响和决定判别的特性称为共现性(Co-occurrence)。
美寻
雷尔教派
图 2.1 基于LSTM的⽹络结构和共现性特性的利⽤。
在训练阶段,我们在⽬标函数中引⼊对关节点和神经元相连的权重的约束,使同⼀组的神经元对某些关节点组成的⼦集有更⼤的权重连接,⽽对其他节点有较⼩的权重连接,从⽽挖掘关节点的共现性。如图2.2所⽰,⼀个LSTM 层由若⼲个LSTM神经元组成,这些神经元被分为K 组。同组中的每个神经元共同地和某些关节点有更⼤的连接权值(和某类或某⼏类动作相关的节点构成关节点⼦集),⽽和其他关节点有较⼩的连接权值。不同组的神经元对不同动作的敏感程度不同,体现在不同组的神经元对应于更⼤连接权值的节点⼦集也不同。在实现上,我们通过对每组神经元和关节点的连接加⼊组稀疏(Group Sparse)约束来达到上述共现性的挖掘和利⽤。
关节点共现性约束的引⼊,在SBU数据库上带来了3.4%的性能改进。通过引⼊Dropout技术,最终实现了⾼达90.4%的识别精度。
图2.2 第⼀层的神经元(LSTM Neurons)和关节点连接的⽰意图。以第k组的神经元为例,第k组的神经元都同时对某⼏个关节点有着⼤的权重连接,⽽对其他关节点有着⼩的权重连接(在这⾥⽤未连接来⽰意)。
基于联合分类和回归的循环神经⽹络之于⾏为动作检测
(图⽚来⾃⽹络)
前⾯讨论了对于时域分割好的序列的⾏为动作分类问题。但是想要计算机get到“察⾔观⾊”的技能并不那么容易。在实际的应⽤中多有实时的需求,⽽摄像头实时获取的视频序列并没有根据⾏为动作的发⽣位置进⾏预先时域分割,因此识别系统不仅需要判断⾏为动作的类型,也需要定位⾏为动作发⽣的位置,即进⾏⾏为动作检测。如图3.1所⽰,对于时间序列流,检测系统在每个时刻给出是否当前是⾏为动作的开始或结束,以及⾏为动作的类型信息。
图3.1:⾏为动作检测⽰例。对于时间序列流,系统在每个时刻给出是否当前是⾏为动作的开始或结束,以及⾏为动作的类型信息。
图3.2:基于滑动窗⼝的⾏为动作检测⽰意图,即每个时刻对固定或者可变的时域窗⼝内的内容进⾏判定。
在线(Online)的⾏为动作检测常常采⽤滑窗的⽅法,即对视频序列流每次观察⼀个时间窗⼝内的内容,对其进⾏分类。然⽽基于滑窗的⽅法常常伴随着冗余的计算,性能也会受到滑动窗⼝⼤⼩的影响。
对于⾻架序列流,我们设计了基于循环神经⽹络LSTM的在线⾏为动作检测系统,在每帧给出⾏为动作判定的结果。LSTM的记忆性可以避免显式的滑动窗⼝设计。如图3.3所⽰,⽹络由LSTM 层和全连层(FC Layer)组成前端的⽹络Deep LSTM Network, 后⾯连接的分类⽹络(Classification Network)⽤于判定每帧的动作类别,同时,回归⽹络 ( Regression Network )⽤于辅助确定动作⾏为的起⽌帧。图3.4展⽰了该回归⼦⽹络对起⽌点位置的⽬标回归曲线,即以起始点(结束点)为中⼼的⾼斯形状曲线。在测试时,当发现代表起始点的回归曲线到达局部峰值时,便可以定位为⾏为动作的起点位置。由于LSTM⽹络对时间序列处理的强⼤能⼒,加上联合分类回归的设计,联合分类和回归循环⽹络(JCR-RNN)实现了快速准确的⾏为动作检测。
图3.3:⽤于在线⾏为动作检测的联合分类回归(Joint Classification-regression)循环⽹络框架。
图3.4:⾏为动作的起⽌点⽬标回归曲线。在测试阶段,当起始点(终⽌点)的回归曲线到达局部峰值时,可以定位为⾏为动作的起始(结纳米技术与精密工程
束)位置。
总结和展望
由于⾏为识别技术在智能监控、⼈机交互、视频序列理解、医疗健康等众多领域扮演着越来越重要的⾓⾊,研究⼈员正使出“洪荒之⼒”提⾼⾏为识别技术的准确度。说不定在不久的某⼀天,你家门⼝真会出现⼀个能读懂你的⾏为、和你“⼼有灵犀”的机器⼈,对于这⼀幕,你是不是和我们⼀样充满期待?
作者简介:兰翠玲博⼠,微软亚洲研究院副研究员,从事计算机视觉,信号处理⽅⾯的研究。她的研究兴趣包括⾏为识别、姿态估计、深作者简介:
度学习、视频分析、视频压缩和通信等,并在多个顶级会议,期刊上发表了近20篇论⽂,如AAAI, ECCV, TCSVT等。
杭州师范大学学报
来源::微软研究院AI头条,授权CSDN发布。
来源:

本文发布于:2024-09-21 17:25:12,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/85555.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:动作   注意   关节点   识别   时域
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议