Decoupling GCN with DropGraph Module for Skeleton-Based Action Recognition

2023-10-10 05:10

本文主要是介绍Decoupling GCN with DropGraph Module for Skeleton-Based Action Recognition,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Decoupling GCN with DropGraph Module for Skeleton-Based Action Recognition

原文地址:https://www.ecva.net/papers/eccv_2020/papers_ECCV/papers/123690528.pdf

Abstract 在基于骨骼的动作识别中,GCNs实现了瞩目的成功,但如何在不增加额外的计算负担的情况下高效的建模时空骨骼图在工业应用领域任然是个具有挑战性的问题。在这篇文章中,作者重思了在目前存在的基于GCN的骨骼动作识别方法中的空间聚合,发现他们都受限于耦合集合机制。受CNNs中的解耦聚合机制的启发,作者提出了解耦GCN来增强图建模能力,在不增加额外的计算量,延迟和GPU内存花费的情况下,而且不到10%的额外参数。另外一个GCN普遍的问题是过拟合,dropout在GCN中也不够有效,作者提出了DropGraph来丢弃在相邻结点中的特征。此外,作者介绍了一种注意力指导丢弃机制(attention-guide drop mechanism)来增强正则化效果。

Introduction
作者发现目前的GCN方法忽视了CNN中的一个重要机制:解耦聚合(decoupling aggregation)。具体来说,在CNN中每一个channal都有一个独立的spatial aggregation kernel,在不同的频率,方向和颜色能获得不同的空间信息。然而在图卷积中所有channal共享同一个空间聚集核,即邻接矩阵。受CNN中的解耦聚合的启发,作者提出了解耦图卷积网络。
在图卷积中的普遍问题是过拟合,虽然在GCNs中使dropout,但效果不理想:即使一个node被dropped,但这个node的信息任然被他的neighbor nodes获得,这就造成了过拟合。因此作者提出了DropGraph,关键idea是:当丢弃一个node时,同时也丢弃他的相邻结点。此外,还提出一个注意力-指导丢弃机制(ADG)来增强正则化效果。

main contributions:

  1. We propose DC-GCN, which efficiently enhances the expressiveness of graph convolution with zero extra computation cost.
  2. We propose ADG to effectively relieve the crucial over-fitting problem in GCNs.
  3. Our approach exceeds the state-of-the-art method with less computation cost. Code will be available at https: //github.com/kchengiva/DecoupleGCN-DropGraph.

Approach

1.Decoupling graph convolutional network
Motivation 图卷积包括两个矩阵乘积操作:AX和XW。AX计算不同骨骼间的聚合信息,我们称之为spatial aggregation。 XW计算不同信道间的相关信息,我们称之为channal correlation。
在Fig.1(a)中,空间聚集(AX)能被分解为分别计算每一个信道上的聚合。特征X的所有信道共享同一个邻接矩阵A(画着相同的颜色),这意味着所有信道共享同一个聚合核,我们称之为耦合聚合。所有目前的识别方法都采用这种方式,例如ST-GCN,Nolocal adaptive GCN,AS-GCN,Directed-GCN。我们统称为耦合图卷积。
在这里插入图片描述
然而,作为GCN启发的源头CNN没有采用耦合聚合。在图(b)中,不同的信道有独立的空间聚合核,显示不同的颜色。我们称这个机制为解耦聚合。

DeCoupling GCN被耦合聚合所限制的传统图卷积类似于退化深度卷积,他的卷积核在信道间被共享。退化深度卷积的表达能力明显弱于标准深度卷积。因此,作者推断目前基于GCN的谷歌动作识别模型缺少解耦聚合机制。
在文章中,作者提出了解耦图卷积(DGC),不同的信道有独立可训练的邻接矩阵,展示在图©。解耦图卷积大大增加了邻接矩阵的多样性。类似于CNN核的冗余,DGC能介绍冗余的邻接矩阵。因此我们把信道分离成g组。在一组的信道共享一个可训练的邻接矩阵。当g=C时,每一个信道都有他自己能生成大量冗余参数的spatial aggregation kernel;当g=1时,DGC退化成聚合图卷积(coupling graph convolution)。DGC的等式如下:
在这里插入图片描述
where
Attention-guided DropGraph

DropGraph的主要思路是:当丢弃一个节点时,我们同时丢弃该节点的邻居节点集。DropGraph有两个参数: γ \gamma γ和K。 γ \gamma γ控制采样概率,K控制被丢弃邻居集的大小。在一个输入特征图中,我们首先用概率为 γ \gamma γ的伯努利分别采集根节点 v r o o t v_{root} vroot,然后丢弃该节点以及离该节点最大为K步的结点 。算法如下。
在这里插入图片描述
keep_prob表示被保留的激活单元的概率。在常规卷积中,keep_prob=1- γ \gamma γ。但在DropGraph, v r o o t v_{root} vroot上的每一个零项都扩展到它的第1;2ed;···;k阶邻域。因此,keep_prob同时依赖于 γ \gamma γ和K。在一个有n个点e条边的图中,定义每个节点的平均度为 d a v e = 2 e / n d_{ave}=2e/n dave=2e/n。在一个随机被取样的结点的i_th阶领域,期望节点数能被评估为
B i = d a v e × ( d a v e − 1 ) i − 1 B_i=d_{ave}\times(d_{ave}-1)^{i-1} Bi=dave×(dave1)i1
平均被丢弃的丢弃大小为:
d r o p s i z e = 1 + ∑ i = 1 K B i drop_{size}=1+\sum_{i=1}^KB_i dropsize=1+i=1KBi
如果我们想保持keep_prob概率的激活单元,我们设置:
γ = 1 − k e e p p r o b d r o p s i z e \gamma=\frac{1-keep_{prob}}{drop_{size}} γ=dropsize1keepprob
注意到在丢弃的区域可能有一些重叠的地方,因此这个等式仅仅是个近似。在实验中,一开始是评估keep_prob在0.75-0.95,然后用公式5计算 γ \gamma γ.

Attention-guided drop mechanism
为了增强正则化效应,作者让注意力区域有更高的采样 v r o o t v_{root} vroot的概率。 v v v是一个节点, γ v \gamma_v γv表示采样的结点 v v v v r o o t v_{root} vroot的概率,更正等式5为:
在这里插入图片描述
α \alpha α是注意力图, α ~ \tilde{\alpha} α~是归一化注意力图, c o u n t ( α ) count(\alpha) count(α) α \alpha α中元素的数量。

Spatial-temporal ADG
在这里插入图片描述
在这里插入图片描述

这篇关于Decoupling GCN with DropGraph Module for Skeleton-Based Action Recognition的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/178202

相关文章

Retrieval-based-Voice-Conversion-WebUI模型构建指南

一、模型介绍 Retrieval-based-Voice-Conversion-WebUI(简称 RVC)模型是一个基于 VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)的简单易用的语音转换框架。 具有以下特点 简单易用:RVC 模型通过简单易用的网页界面,使得用户无需深入了

Unable to instantiate Action, goodsTypeAction, defined for 'goodsType_findAdvanced' in namespace '/

报错: Unable to instantiate Action, goodsTypeAction,  defined for 'goodsType_findAdvanced' in namespace '/'goodsTypeAction......... Caused by: java.lang.ClassNotFoundException: goodsTypeAction.......

用ajax json给后台action传数据要注意的问题

必须要有get和set方法   1 action中定义bean变量,注意写get和set方法 2 js中写ajax方法,传json类型数据 3 配置action在struts2中

使用http-request 属性替代action绑定上传URL

在 Element UI 的 <el-upload> 组件中,如果你需要为上传的 HTTP 请求添加自定义的请求头(例如,为了通过身份验证或满足服务器端的特定要求),你不能直接在 <el-upload> 组件的属性中设置这些请求头。但是,你可以通过 http-request 属性来自定义上传的行为,包括设置请求头。 http-request 属性允许你完全控制上传的行为,包括如何构建请求、发送请

jupyter在加载pkl文件时报错ModuleNotFoundError: No module named 'pandas.core.internals.managers'; '的解决方法

笔者当看到这个错误的时候一脸懵逼,在pycharm上正常运行的code 放在jupyter就不成了,于是就研究一翻。 一开始以为自己的pkl文件有问题,研究重点放在这里,最后发现不是。 然后取搜索pycharm和jupyter下的python的\Lib\site-packages\pandas\core\internals有什么不同 发现jupyter下没有pandas\core\intern

【NodeJS】Error: Cannot find module 'ms'

转载自:http://blog.csdn.net/echo_ae/article/details/75097004 问题: Error: Cannot find module 'ms'at Function.Module._resolveFilename (module.js:469:15)at Function.Module._load (module.js:417:25)at Module

【虚拟机/服务器】配置ngx_http_empty_gif_module记录

下载Nginx源码 查看Nginx内置模块 1、在可视化界面中 可以看到 ngx_http_empty_gif_module.c 是Nginx的内置模块,不需要再进行安装 2、在bash命令行中 tar nginx 解压后进入nginx目录,./configure --help | grep empty_gif 即可查看我想要的 ngx_http_empty_gif_module

多个,多层嵌套module,打aar包

参考https://blog.51cto.com/4259297/1699714 1.在要打包的module中下添加fat-aar.gradle文件。(该文件只能在项目个gradle是2.3.3是才可食用) 2.把项目的gradle修改为2.3.3,但是不打包的gradle依然是以前的。 3.由于打包的的gradle和不打包的是不一样的,所以需要在修改gradle的文件中的添加判断标志

MACS bdgdiff: Differential peak detection based on paired four bedGraph files.

参考原文地址:[http://manpages.ubuntu.com/manpages/xenial/man1/macs2_bdgdiff.1.html](http://manpages.ubuntu.com/manpages/xenial/man1/macs2_bdgdiff.1.html) 文章目录 一、MACS bdgdiff 简介DESCRIPTION 二、用法

Neighborhood Homophily-based Graph Convolutional Network

#paper/ccfB 推荐指数: #paper/⭐ #pp/图结构学习 流程 重定义同配性指标: N H i k = ∣ N ( i , k , c m a x ) ∣ ∣ N ( i , k ) ∣ with c m a x = arg ⁡ max ⁡ c ∈ [ 1 , C ] ∣ N ( i , k , c ) ∣ NH_i^k=\frac{|\mathcal{N}(i,k,c_{