动作识别论文---CTR-GCN

Channel-wise Topology Refinement Graph Convolution for Skeleton-Based Action Recognition

论文地址:https://arxiv.org/abs/2107.12213

仓库地址:https://github.com/Uason-Chen/CTR-GCN

这篇论文于2021年发表在ICCV。

一、存在的问题:

        基于GCN的算法所有通道共享同一套拓扑结构,这样限制了模型的能力上限。作者认为拓扑结构(邻接矩阵A)可以继续被细化训练。即A[0],A[1],A[2]分别参与训练。

        针对这一问题作者提出了通道拓扑细化网络,以此来提高模型的上限。

二、相关工作部分:

        文章将基于GCN的骨架动作识别算法根据拓扑结构是否动态变化分为Static / Dynamic Methods,文章对比了前人的相关工作,指出Dynamic Methods有更强的泛化能力;根据拓扑结构与通道而言是否共享分为 topology-shared methods and topology-non-shared methods,其中topology-shared methods迫使 GCN 聚合具有相同拓扑的不同通道中的特征,限制了模型性能的上限。

三、重点

如图1,CTR-GC包含三个部分

(1) Feature transformation:

      图中橙色部分, 根据文章介绍 T (·)用于将输入转化为高级特征表示。(代码使用的是卷积核为1的2d卷积)。

(2) Channel-wise topology modeling

图中蓝色部分,网络各个通道有一个共享的邻接矩阵A,这个A也是可学习,会根据反向传播而变化。Q是不同通道的特有拓扑结构。精化A和Q,得到通道拓扑R。

 φ 和 ψ在代码中是卷积核大小为1的2d卷积,然后对V维度求均值。M包含M1与M2。

                                                        M1(ψ(xi), φ(xj)) = σ(ψ(xi) − φ(xj))

σ为Tanh激活函数。

                                                        M2(ψ(xi), φ(xj)) = M LP (ψ(xi)||φ(xj))

|| contact操作,M2这里我在代码里没发现在哪,根据后面的消融实验我觉得可能是M1与M2二选一。M1出来就是文中的Q。

                                                        R = R(Q, A) = A + α · Q

 α初始值为0,是一个可训练的标量,用于调整细化的强度。

(3) Channel-wise aggregation 

这个部分就是将R与Feature transformation得到的高维特征做一些操作达到聚合特征的效果。代码中用的爱因斯坦求和约定。

                                                                             图1

 四、实验结果:

①消融实验

 ②不同拓扑结构实验

 ③算法对比

   ④个人使用2S-AGCN处理的NTU-RGBD数据跑了一下CTR-GCN网络,我只跑了joint特征数据,结果如图。

五、总结

        这篇文章最大的创新就是细化训练了拓扑结构,CTR-GCN的代码完全基于2S-AGCN改进的。文章除了在空间建模做处理外,时间建模也借鉴了其他文章的多尺度时间建模,有啥作用作者没指出,也没有实验对比。代码数据处理部分貌似去除了很多“无用帧”,貌似这就会长点了吧,真正靠算法的创新会涨多少点,可以实验一下。文章还是有挺多小细节的,可以认真看看原文。以上全部为个人见解,有错误的地方还请指出,欢迎讨论。 

猜你喜欢

转载自blog.csdn.net/qq_40691868/article/details/124547160
今日推荐