【动作识别相关,第一篇】skeleton骨骼点数据类型介绍

时间:2024-04-12 12:15:01

前言

本文主要是对多视角动作识别问题以及基于骨骼点(Skeleton)模态数据的动作识别问题的一个简单的综述性文章,本文提到的方法,大部分是基于骨骼点数据进行的,为了读者可以有个更好地理解,本文将会从数据的获得开始谈起。如有谬误,请联系指出,如需转载,请注明出处,谢谢。

\nabla联系方式:
e-mail: [email protected]
QQ: 973926198
github: https://github.com/FesianXu


1. 骨骼点数据

1.1 骨骼点数据和其获得方法

骨骼点数据是一种landmark类型的数据,指的是用关键点去描述整个人体的动作,我们可以称之为动作描述的pose信息,因此对这类数据的估计在文献中一般也称为姿态估计(Pose Estimation),效果如下图Fig1和Fig2所示:
【动作识别相关,第一篇】skeleton骨骼点数据类型介绍

Fig 1. 利用Openpose[2]对RGB视频估计出来的骨骼点数据。

【动作识别相关,第一篇】skeleton骨骼点数据类型介绍

Fig 2. 利用Kinect v2.0[1]得到的骨骼点排序。

根据[3]中的研究,对于一个人体动作而言,可以通过101210 \sim 12个人体关节点有效地表达其动作内容1。为了获取到这种pose信息,按照使用器械不同或者原始模态不同,目前一般来说通过三种手段,分别是:

\nabla \Rightarrow 1. 通过MoCap类似的传感器系统进行捕获

MoCap[4]全称为Motion Capture,是一种让表演者全身主要关节点穿戴好传感器之后,将传感器信息汇集到计算机中进行处理后,得到人体的关节点数据的一种系统。其得到的数据一般来说都是3D数据,既是有着关节点的(x,y,z)坐标的。

【动作识别相关,第一篇】skeleton骨骼点数据类型介绍

Fig 3. MoCap系统的示例,表演者需要全身穿戴传感器。

\nabla \Rightarrow 2. 通过深度摄像头和彩色摄像头的配合进行伪3D骨骼点估计

随着深度摄像头的发展,通过结构光或者ToF技术,我们现在已经可以用传感器对物体的深度信息进行描述了,这点是传统的RGB摄像头所难以解决的,效果如下图所示:

【动作识别相关,第一篇】skeleton骨骼点数据类型介绍

Fig 4. 用Kinect捕获的深度信息,越深的颜色表示距离离摄像头越远,越浅代表越近。

基于这种技术,我们可以描述物体到摄像头的远近距离了,结合彩色摄像头提供的色彩信息,就可以对物体进行更为精确的描述。基于深度图和彩色图像,一些公司开发了可以对其进行骨骼点估计的算法[5],典型的产品如KinectRealSense。这些产品因为是基于图像进行处理的,不能观测到物体被遮挡的一面,因此这样估计出来的结果其实不是 完美的3D信息 ,其被遮挡部分或多或少都是 “估计,猜” 出来的,因此看成是 2.5D 的信息。尽管如此,大多数这类产品都提供(x,y,z)等对关节点的估计。

\nabla \Rightarrow 3. 只用RGB图像进行姿态估计

尽管深度摄像头比起MoCap传感器来说的确便宜很多了,但是价格也还不够亲民,因此就产生了一类研究是关于如何仅仅依靠RGB图像对人体进行姿态估计,这个姿态估计可以是2D信息的[8],有些研究甚至是关于3D信息的[7],如Fig 5所示。

【动作识别相关,第一篇】skeleton骨骼点数据类型介绍

Fig 5. 利用RGB模态信息进行3D关节点的姿态估计。

目前,基于RGB的姿态估计基本上都是对遮挡部分鲁棒性不够,有部分工作[9-10]是考虑了对其进行遮挡部分的恢复的,但是似乎普遍对遮挡部分的效果都不是特别好,目前开源的最好结果似乎就是OpenPose了。(不是很了解姿态估计的进展,希望研究此的朋友给予指点)。

1.2 骨骼点数据的优劣

根据我们在1.1节讨论的,我们总结下这几类由不同手段得到的骨骼点数据的优劣点:

  1. 基于身体佩戴传感器的手段
  • 优点:姿态估计结果准确,不存在因为身体遮挡导致的估计失败问题,鲁棒性高。
  • 缺点:价格昂贵,不方便日常使用。
  1. 基于深度摄像头和彩色摄像头的手段
  • 优点:方便使用,价格较为低廉,准确率较高。
  • 缺点:对遮挡部分同样无能为力,只能通过时序上的上下文信息对某帧的遮挡部分进行推测,经常造成遮挡部分估计失败。
  1. 基于RGB视频的姿态估计
  • 优点:价格最为低廉,一般摄像头就可以部署,可以大规模使用。
  • 缺点:缺少了深度信息,导致对光照等信息比较敏感,同样无法克服遮挡部分的影响,准确率不如基于深度和彩色摄像头联合使用的效果。

从信息的角度来说,对比RGB视频信息,骨骼点信息极为紧凑,冗余量少,但是同样的,总体信息量也不如RGB模态的高,比如对于某些和物体交互的动作,光用骨骼点信息就很难完全描述。而且,因为其冗余量少,只要存在噪声,比如遮挡部分的推断噪声或者姿态估计算法不稳定导致的噪声,就会造成原信息的较大干扰,影响后续的识别或者其他任务的进行。如下图Fig 6和Fig 7所示,基于第二种和第三种方法的姿态估计通常对遮挡部分鲁棒性都不佳。

【动作识别相关,第一篇】skeleton骨骼点数据类型介绍

Fig 6. 用OpenPose对遮挡动作进行姿态估计,可以看到左手因为被遮挡而没有估计出来。

【动作识别相关,第一篇】skeleton骨骼点数据类型介绍

Fig 7. 用Kinect对遮挡动作进行姿态估计,左手部分被遮挡,但是Kinect还是对时序上的上下文进行了估计,但是这种估计常常效果不佳,容易引入估计噪声。

不过目前来说,基于骨骼点信息的应用因为其对于光照鲁棒性较强,对动作的表达能力强等特点,已经越来越受到了研究者的青睐。


Reference

[1]. Understanding Kinect V2 Joints and Coordinate System [需要特殊的上网姿势,你懂得]
[2]. OpenPose Github Project Page
[3]. Johansson G. Visual perception of biological motion and a model for its analysis[J]. Perception & psychophysics, 1973, 14(2): 201-211.
[4]. Rogez G, Schmid C. Mocap-guided data augmentation for 3d pose estimation in the wild[C]//Advances in Neural Information Processing Systems. 2016: 3108-3116.
[5]. Shotton J, Fitzgibbon A, Cook M, et al. Real-time human pose recognition in parts from single depth images[C]//Computer Vision and Pattern Recognition (CVPR), 2011 IEEE Conference on. Ieee, 2011: 1297-1304.
[6]. Kinect Introduction from Wikipedia
[7]. Pavllo D, Feichtenhofer C, Grangier D, et al. 3D human pose estimation in video with temporal convolutions and semi-supervised training[J]. arXiv preprint arXiv:1811.11742, 2018.
[8]. Cao Z, Simon T, Wei S E, et al. Realtime multi-person 2d pose estimation using part affinity fields[J]. arXiv preprint arXiv:1611.08050, 2016.
[9]. Sárándi I, Linder T, Arras K O, et al. How robust is 3D human pose estimation to occlusion?[J]. arXiv preprint arXiv:1808.09316, 2018.
[10]. Guo X, Dai Y. Occluded Joints Recovery in 3D Human Pose Estimation based on Distance Matrix[C]//2018 24th International Conference on Pattern Recognition (ICPR). IEEE, 2018: 1325-1330.


  1. 对于某些动作类别,是和物体存在有交互的,比如喝水吃东西捡起帽子捡起垃圾等,单纯用pose信息还不足以区分这些类别,那么就需要用到RGB的原始信息进行推断,这个就涉及到多模态识别了。 ↩︎