Adversarial Attack on Skeleton-Based Human Action Recognition, CIASA论文笔记(附带ST-GCN简单介绍)

看论文居然没找到别人写的博客,第一次啊
那我自己来写吧=。=萌新水平 轻喷
(同步博客园和知乎 知乎markdown不支持latex公式 懒得搞了)

Adversarial Attack on Skeleton-Based Human Action Recognition

基于骨架的人体动作识别的对抗攻击 ST-GCN的对抗攻击

原文:https://arxiv.org/abs/1909.06500

背景

图卷积网络适合做基于骨架的人体动作识别 ST-GCN
但是鲁棒性没做过,因为骨骼关节的时空性质是稀疏和离散的,并且有物理约束

主要难点

  • 点对应关节,数量固定;一类边对应骨骼,数量和长度固定
  • 另一类边对应关节的时间序列,运动要连贯
  • 整体的动作要合理,要像个人

这使得对基于骨架的图卷积网络进行对抗攻击与其它图网络的对抗攻击不同

这是第一次对基于骨架的人体动作识别的图神经网络进行对抗攻击

技术

骨架动作的约束迭代攻击 constrained iterative attack for skeleton actions (CIASA)

扰动方式

以往的对GCN的攻击主要是两种扰动:

  • 特征扰动:更改关节点的原始位置。这个是我们也要用的
  • 以往对GCN的攻击还会改变边的邻接关系,但是在这里,不管是帧内的骨架结构还是帧间的时序关系,都是不可改变的。所以对邻接关系的扰动是不可取的。(修改公式,只把\(V^0\)更新为\(V\),\(E^0\)保持不变)

扰动不可感知

因为骨架图是离散的,判断扰动的可察觉性的指标与传统图像不同,需要多个约束:

  • 关节点变化约束
    基于传统图像扰动可察觉性的像素的指标修改,小步长迭代实现
  • 骨骼长度约束
    同一时间内相邻两点距离为1
    公式对应\(||v'_{ti}-v'_{tj}||_2\)
  • 动态时间约束
    前面分析的,时间维度上的约束是为了保证平滑性,主要体现是防止抖动,所以惩罚项为关节点的加速度
    损失函数为所有帧所有关节点的加速度之和,再除时间序列长度-1(一个加速度是\(v_{t+1}+v_{t-1}-2*v_t\),要减1是因为T个时间只能算出来T-1个加速度)

叫作空间骨架重排机制spatial skeleton realignment(SSR),保证关节的骨骼连接、关节的时间序列和骨骼的长度符合约束

拟人的合理性

用GAN减少生成的骨架序列和真实情况的差异,损失函数是让二分类器判断不出骨架图来自真实数据还是我们生成的数据
(We note that our use of GAN under this setup is an explicit contribution of this article. The proposed GAN setup is generic in its nature that can also be applied to refine perturbations in other application
domains.)

Adversarial Attack on Skeleton-Based Human Action Recognition, CIASA论文笔记(附带ST-GCN简单介绍)

总结

给出的全局版本可以扰动所有位置
局部模式可以只攻击某个区域,比如腿部,不相关关节的运动都可以独立地改变
也给出一个高级模式,可以针对运动的幅度进行扰动

局部扰动同时在语义上也是难以察觉的
即使是显著的扰动,也可能会因为它被应用在不重要的关节而不易被察觉

在NTU和Kinetics数据集以高置信度欺骗了基于骨架的动作识别模型的SOTA(也就是)
这种扰动在黑盒中有高可转移性
用我们模型生成的骨架时间序列,再通过通用方式生成视频,这种视频的动作识别准确度很低,这说明可以在现实生活中发起攻击。这是首次表现出对抗攻击的可转移性超越了单一数据模式(this is the first of its kind demonstration of transferability of adversarial attacks beyond a single data modality.)

顺便看一下ST-GCN

攻击对象是ST-GCN 时空图卷积网络
Spatial Temporal Graph Convolutional Networks
骨架行为识别的开山之作

Adversarial Attack on Skeleton-Based Human Action Recognition, CIASA论文笔记(附带ST-GCN简单介绍)

考虑时间序列的图卷积
直接使用开源的openpose工具进行人体关键点提取

图的构造

Adversarial Attack on Skeleton-Based Human Action Recognition, CIASA论文笔记(附带ST-GCN简单介绍)

关节点的连接形式包含时间和空间

  • 连接空间上相邻的关节点\((v_i,v_j)\)
  • 连接不同时间的同一点\((v_{t,i},v_{t+1,i})\)

相当于是二维的骨架图按照时间轴展开
(这个工具提取的关键点标准是固定的)

卷积方式

Adversarial Attack on Skeleton-Based Human Action Recognition, CIASA论文笔记(附带ST-GCN简单介绍)

感受野/卷积核形状不规则 按照距离选点
比如(a)是选择离中心点距离为1以内的点 作为感受野
这个距离F就是kernel size超参数
(这个距离也可以针对时间距离和空间距离加权重)

卷积权重怎么安排?因为CNN的卷积核在滑动过程是尺寸不变的,所以同一层任何位置的卷积核都是相同的卷积权重
但是GCN,不同的感受野的点数量不同,需要的卷积核参数数量也不同,所以不能所有位置用相同的卷积权重

把某个点的邻居集合划分到固定的K个子集 一个子集里面所有的点共用一个卷积权重
所以在一层里,整张图需要K个卷积权重

划分子集的方法 也就是分区方式:

  • (b)不分区 类似CNN的1x1卷积
  • (c)按距离加权 距离为i的算第i个子集
  • (d)按照距离重心的远近加权
    三种策略都用了

在边上加了可学习的权重
因为不同的关节活动范围和使用频率不一样
作者说后续可以试试注意力机制

上一篇:JQuery插件 aos.js-添加动画效果


下一篇:$(window).height()获取浏览器高度不准