东升国际官网

申请试用
登录
  • hd-share-img01
主题技术
以原创技术系统为根基,SenseCore东升国际官网AI大装置为主题基座,布局多领域、多方向前沿钻研,
急剧买通AI在各个垂直场景中的利用,向行业赋能。

CVPR 2022 Oral|PoseConv3D开源:基于人体姿势的作为鉴别新范式

2022-09-14

1.jpg


引言



2.jpg

PoseC3D framework


我们此前的工作 PoseC3D[1]在今年的CVPR中以Oral Presentation接管,这项工作第一个使用3D-CNN进行基于关键点序列的视坡讽解,同时获得了较好的鉴别机能,对后续的工作存在一些启发意思。


在之前的文章(https://zhuanlan.zhihu.com/p/395588459)中,我们已对这项工作的具体步骤,相对 GCN 步骤的优势,以及现实机能进行了具体的描述。在从前一段功夫,我关于skeleton action recognition 又进行了一些有关的钻研,这篇文章会萦绕以下主题:


什么是skeleton action recognition?其意思在于何处?


现有skeleton action recognition 解决规划的一些问题,兼谈PoseC3D的优弊端


分享我们最新的开源实现PYSKL[2],这个开源代码库同时支持了PoseC3D与GCN步骤,及其一系列最佳实际


Skeleton action recognition

界说及其意思


2b380e19-5f44-49a4-b62b-eb35ad197278.gif

Skeleton Action Recognition


Skeleton-based action recognition意味基于且仅基于时序关键点序列来进行视坡讽解。举一个具体的例子:若有一个 300 帧的视频,其中蕴含一幼我,如使用17个二维关键点(CoCo 界说),那么输入的状态即为 300 x 17 x 2。通常传统上,关键点序列多指人体关键点序列(如手肘、伎俩、膝盖等关键点),但显然,这类步骤也能够扩大至其他场景,如用面部关键点鉴别表情,用手上的关键点鉴别手势等等。


分歧于基于RGB的视坡讽解,skeleton action recognition拥有如下利益:


1. 骨骼点自身作为一种与人体作为关系亲昵的暗示大局,对于视坡讽解有沉要意思。


2. 骨骼点是一种轻量的模态,所以基于骨骼点的鉴别步骤,往往比基于其他模态的步骤轻量很多。


3. 基于骨骼点的鉴别,结合高质量的姿势检测器,往往能在数据较少的情况下就能获得不错的鉴别成效,且兼具较强的泛化能力。


而同时,skeleton action recognition也拥有如下弊端:


1. 并非所有的作为,都能够仅通过骨骼点序列来鉴别,部门作为类别必要依赖于物体、场景等高低文来进行判定。


2. 在难以获取高质量关键点的情况下,骨骼作为识此外机能会受到较大影响。在现实使用过程中,还必要凭据现实需要,来选择到底基于那种模态,进行视坡讽解。


存在问题


现有Skeleton-based Action Recognition的解决规划,重要有基于GCN或CNN的两大类别,本文会别离会商其中存在的一些问题。


GCN步骤及其问题


作为Skeleton Action Recognition的主流步骤,GCN步骤依然存在一系列实际有关的问题,这些问题造约了模型的机能,并肯定水平上影响了分歧步骤间的平正比力。本文以NTURGB+D数据集为例,对存在的问题进行简述。


Preprocessing & Augmentation


给定一个skeleton sequence,目前的GCN步骤会先对其进行处置,以得到模型输入。预处置重要分为两个部门:


  1. 空间维度上,以第一帧作为基准,将第一帧中的skeleton的中心点置于原点,将第一帧中skeleton的脊椎与z轴对齐。


2. 功夫维度上,针对数据集中序列纵横交错的问题。


重要有以下解决规划:


1. ST-GCN[3]: 将所有序列以zero padding扩充至最大长度(所有序列中最长序列的长度)。


2. AGCN[4]: 将所有序列以loop padding扩充至最大长度。


3. CTR-GCN[5]: 预处置时不进行处置,在data augmentation时,使用Random Crop裁剪出子序列,并 interpolate 到肯定长度。


其中,前两个规划的弊端在于,将序列以确定大局pad到最长的长度,产生了推算力浪费。第三种规划,虽能够产生多样的训练样本,但interpolate得到的skeleton散布与正本的数据散布分歧,且crop出的子序列不愿定能齐全地暗示整个作为。


在PYSKL中,我们对有关实际进行了改进。具体说,我们将PoseC3D中Uniform Sampling直接利用于 GCN,从正本的skeleton sequence中采样出子序列作为输入,这种方式在训练时能够得到更多样的训练样本(且每个样本都足以覆盖整个作为),也使test time data augmentation成为可能。


Hyper Parameter Setting


在PYSKL中,我们也凭据对PoseC3D的训练经验对GCN训练的超参设置进行了改进。重要的改进蕴含,我们使用了CosineAnnealing训练战术,并使用了一个更强的正则项。改进超参设置后,GCN模型的成效有了长足的提升。


CNN步骤及其问题


基于CNN进行skeleton-based action recognition的步骤,重要分为2D-CNN与3D-CNN两大类 ;2D-CNN 的步骤,如PoTion[6],将骨骼点序列以color coding的方式绘造在一张图上,并用2D-CNN进行处置,其最大的问题,也在于以color coding方式进行时序维度上的压缩造成了无法添补的信息损失。


3.jpg

PoTion使用color coding将骨骼点序列绘造在一张图上


作为基于3D-CNN的规划,PoseC3D将keypoint heatmap堆叠为3D Voxel,并用3D-CNN进行处置。作为一个单一了然的规划,PoseC3D能直接利用3D-CNN壮大的时空建模能力,在获得优良鉴别成效的同时具备鲁棒性好,可扩大性好,兼容性好等诸多利益。但同时,其也有以下的不及之处:


1. 未针对骨骼模态特点进行特有的模型设计,鉴别成效还有优化空间。


2. 相对GCN,所需推算量还是较多:使用基于R50的3D网络,其算力亏损仅能做到与GCN中的较heavy步骤 MS-G3D[7]相当,多于其他一些更轻量的GCN步骤。


3. 如输入为3D点的情况下,目前只能将其先投影到2D,存在信息损失。这一缺点可能可以为后续一些 Multi-View Projection + PoseC3D的工作所添补。


开源实现 PYSKL


基于MMAction2(https://github.com/open-mmlab/mmaction2),我们最新开发了骨骼作为鉴别代码库 PYSKL,在已经实现的第一次release中,支持了三个模型PoseC3D[1], ST-GCN[3], ST-GCN++[2] 。PYSKL具备如下特点:


模型齐全,实现优良:PYSKL同时支持了3D-CNN和GCN两大类步骤。对于PoseC3D,我们release的模型覆盖了多个数据集与主干网络,并对大部门数据集全面覆盖了Joint, Limb两个模态。对于基于GCN的步骤,我们参照AA-GCN[8]的实际,release的权沉文件全面覆盖了Joint, Bone, Joint Motion, Bone Motion 四个模态。用户能够基于release的config和weight轻松复现有关数据集。同时,基于我们提出的优良实际训练的PoseC3D和ST-GCN++,在多个benchmark上都获得了排名前列的机能。


代码简练:专一于骨骼作为鉴别,PYSKL对代码进行了精简,只保留重要职能,去掉了冗余的code。其主目录下只保留少于5000行代码,少于MMAction2的三分之一。


易于上手:用户可直接使用PYSKL中提供的pickle文件进行训练与测试。同时,我们提供了工具来对2D/3D骨骼数据进行可视化。


4.jpg

PYSKL中的PoseC3D与ST-GCN++实此刻NTURGB+D上获得了优良机能


传送门


论文地址

https://arxiv.org/abs/2104.13586


项目主页

https://github.com/kennymckormick/pyskl


References


[1] Revisiting skeleton-based action recognition:https://arxiv.org/abs/2104.13586

[2] https://github.com/kennymckormick/pyskl:https://github.com/kennymckormick/pyskl

[3] Spatial temporal graph convolutional networks for skeleton-based action recognition:https://scholar.google.com/citations%3Fview_op%3Dview_citation%26hl%3Den%26user%3DtAgSyxIAAAAJ%26citation_for_view%3DtAgSyxIAAAAJ%3Ad1gkVwhDpl0C

[4] Two-stream adaptive graph convolutional networks for skeleton-based action recognition:https://openaccess.thecvf.com/content_CVPR_2019/html/Shi_Two-Stream_Adaptive_Graph_Convolutional_Networks_for_Skeleton-Based_Action_Recognition_CVPR_2019_paper.html

[5] Channel-wise topology refinement graph convolution for skeleton-based action recognition:https://openaccess.thecvf.com/content/ICCV2021/html/Chen_Channel-Wise_Topology_Refinement_Graph_Convolution_for_Skeleton-Based_Action_Recognition_ICCV_2021_paper.html

[6] Potion: Pose motion representation for action recognition:https://openaccess.thecvf.com/content_cvpr_2018/html/Choutas_PoTion_Pose_MoTion_CVPR_2018_paper.html

[7] Disentangling and unifying graph convolutions for skeleton-based action recognition:https://openaccess.thecvf.com/content_CVPR_2020/html/Liu_Disentangling_and_Unifying_Graph_Convolutions_for_Skeleton-Based_Action_Recognition_CVPR_2020_paper.html

[8] Skeleton-based action recognition with multi-stream adaptive graph convolutional networks:https://ieeexplore.ieee.org/abstract/document/9219176/

产品试用
填写此单一表格,我们将尽快联系您!
商务合作
400 900 5986
周一至周五 9:00-12:00,13:00-18:00
合作同伴招募
【网站地图】