图网络空域卷积说明4:PGC

论文地址:Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recognition

一、核心思想

PGC认为卷积可认为是特定的取样函数(sample function)与特定的权重函数(weight function)相乘后求和。
论文中本模型作用于基于人体骨架的动作识别任务。

二、传统卷积对比

对于传统卷积,将一个K × K K×KK×K的卷积核的卷积操作可以认为是以下函数:
在这里插入图片描述
其中K KK是卷积核大小(常见3、5)。p ( ) p( )p()是一个取样函数,将节点从邻域依次取出,用于卷积计算。w ( ) w()w()是权重函数,即对每个节点进行卷积操作的参数。
例如:对于3 × 3 3×33×3的卷积核,k = 3 k=3k=3p ( x , 1 , 1 ) p(x,1,1)p(x,1,1)就是左上角的第一个点,w ( 1 , 1 ) w(1,1)w(1,1)代表卷积核上左上角的系数。
在这里插入图片描述
整个式子就是节点特征卷积核参数的内积。

三、PGC实现

PGC就是将以上认为的卷积思想运用到图结构中,主要过程就是取一个合适的取样函数和一个对应的权重函数

取样函数

取样函数即在邻域内依次取出节点。重点在于如何构建节点的邻域,也就是说取样函数在哪里取样。

在图结构数据上,PGC可以定义取样函数在D阶近邻的节点上。即B ( v i ) = { v j ∣ d ( v j , v i ) ≤ D } B\left(v_{i}\right)=\left\{v_{j} \mid d\left(v_{j}, v_{i}\right) \leq D\right\}B(vi)={vjd(vj,vi)D},其中d ( v j , v i ) d(v_j,v_i)d(vj,vi)表示从i ii节点到j jj节点的最短距离。

在实验中取D = 1 D=1D=1,且在1阶邻域中挨个取样。但是也可以设置成其他的邻域。

权重函数

首先将取样的邻域内的点分为K KK个不同的类。
l i : B ( v i ) → { 0 , … , K − 1 } l_i:B(v_i) \rightarrow\{0,\dots,K-1\}li:B(vi){0,,K1}

其中l i ( ⋅ ) l_i(\cdot)li()代表第i ii个节点的分类映射。B ( v i ) B(v_i)B(vi)表示第i ii个节点的邻域节点。{ 0 , … , K − 1 } \{0,\dots,K-1\}{0,,K1}代表类别。

相同的类共享一个卷积核参数。不同类之间的卷积核不共享参数:
w ( v i , v j ) = w ′ ( l i ( v j ) ) w(v_i,v_j) = w'(l_i(v_j))w(vi,vj)=w(li(vj))

表示v i , v j v_i,v_jvi,vj之间的卷积核参数等于他所属邻域类的卷积核。

分类策略

(a aa):输入骨架的示例框架。身体的关节是用蓝点画的。D = 1 D = 1D=1的过滤器的接受域用红色虚线圆圈绘制。红色节点为中心节点,圈内为其1阶邻域。

(b bb):Uni-labeling分类
一视同仁,只有一个类别,类似GNN。

(c cc):Distance分类
根据阶数来进行分类,中心节点为0阶,相邻节点为1阶,分为不同的类。

(d dd):Spatial configuratio分类
根据与人体骨架中心的距离来分类,有三个类别。结点距离小于中心节点和骨架中心的距离的为一类,结点距离大于中心节点和骨架中心的距离的为一类,中心节点为一类。

公式

最终卷积公式如下:
在这里插入图片描述
Z i ( v j ) Z_i(v_j)Zi(vj)的意义为在i节点邻域中j jj节点所属类别的节点数量(类别=v j v_jvj),用于平衡每一类节点信息。

对比思考

1.相较于GraphSAGE的均值采样,PGC定义了一个取样函数,泛化性更强。

2.GNN认为节点需要排序,GraphSAGE认为不需要排序,而PGC采用了权重函数,若只分为一个类别则类似于GNN,若认为每个节点类别不相同,那么就类似于GraphSAGE,具有更强的泛化。

举例

在这里插入图片描述


版权声明:本文为qq_41214679原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。