IGMN 论文精读
系列定位
本文是动作识别系列动物精读第四篇,是 个体特定动作检测 survey 的核心引用论文之一。
IGMN 是从"无差别检测"到"个体特定检测"的关键桥梁——它证明了身份感知可以带来显著的性能提升,为后续的个体特定动作检测奠定了基础。
1.1 通用 TAD 的身份混淆问题
传统时序动作检测(TAD)方法在上下文建模时普遍性地对待所有 actor,不考虑个体之间的一致性与差异性。论文将上下文分为两类,并指出各自的身份混淆问题:
长期上下文(跨 clip 关系):长期关系分为 intra-actor(同一身份跨时间)和 inter-actor(不同身份之间)两种。先前方法(如 LFB、AIA)统一使用 self-attention 对所有 actor 建模,无法区分这两种关系。Context-Aware RCNN 的实验表明,attention-based aggregator 与简单 average pooling 效果相当——因为 intra-actor context 在 memory bank 中占比极小,self-attention 无法同时建模两种关系。
短期上下文(同一 clip 内关系):在 human-human interaction 动作(如 push、hit)中,目标 actor 的 proposal 内常包含其他 actor。这些干扰 actor(interference actors)会导致特征学习的位置偏差。例如:红框 actor 标签为 "pull",但与黄框 actor 区域重叠,模型误判为 "grab"。
1.2 核心洞见
身份信息的缺失是长短期上下文建模中的根本性问题(intrinsic issue)。不区分身份的上下文聚合会导致 actor confusion,使模型在学习长短期上下文时都不稳定。
这个洞见直接导向了 IGMN 的设计:如果要解决身份混淆,就必须在图结构和注意力机制两个层面显式编码身份信息。
IGMN 由两个分支组成:HGNN(Hierarchical Graph Neural Network)负责长期上下文的身份感知关系建模,DAM(Dual Attention Module)负责短期上下文的身份感知判别区域定位。
2.1 Identity-aware Graph 的构建
节点定义:Actor 节点集 $V_t^a = \{ u_{t,1}^a, ..., u_{t,N_t}^a\}$,其中 $ u_{t,i}^a = (t, b_t^i, \hat{f}_t^i)$,$b_t^i$ 为第 $i$ 个 actor 的 2D bounding box,$\hat{f}_t^i \in \mathbb{R}^C$ 为 max-pooled 特征。Memory 节点集 $V_t^m = \{V_i^a\}_{i=t-L, i eq t}^{t+L}$,时间窗口 $L=30$。
三种边类型(身份感知的关键):
| 边类型 | 符号 | 连接方式 | 身份语义 |
|---|---|---|---|
| Intra-actor 边 | $E_{\text{intra}}$ | 同一 tracklet 中相邻 clip 的节点 | 同一身份跨时间 |
| Inter-actor intra-clip 边 | $E_{\text{inter}}^1$ | 同一 clip 内所有 actor 节点对 | 不同身份同一时刻 |
| Inter-actor inter-clip 边 | $E_{\text{inter}}^2$ | actor 节点与所有 memory 节点 | 不同身份跨时间 |
这种边的分类显式地将身份一致性编码进图结构:intra-actor 边只连接同一身份,inter-actor 边只连接不同身份。身份信息由外部 tracker(Faster R-CNN + AIA 的 tracker)提供。
2.2 三种消息传递
Intra-actor Message Passing(有序时序聚合器):沿 $E_{\text{intra}}$ 边,使用两个全连接层融合来自不同方向的节点特征。不使用位置无关的 self-attention,而是保留时序顺序——这暗示对于个体特定检测,时序顺序比注意力权重更重要。
Inter-actor Intra-clip Message Passing:同一 clip 内全连接,使用 self-attention block。Actor 节点特征矩阵 $F_t \in \mathbb{R}^{1 \times N_T \times C}$ 同时作为 query 和 key。
Inter-actor Inter-clip Message Passing:仅更新 actor 节点 $V_t^a$ 的特征(建立层次化学习结构)。$F_t$ 作为 query,reshape 后的 $F_t^M \in \mathbb{R}^{1 \times 2LN_{\text{max}} \times C}$ 作为 key。
2.3 图下采样(Graph Down-sampling)
为解决有序时序聚合器仅整合相邻 clip 特征的局限,IGMN 引入图下采样:(1) 计算每个节点到 actor 节点通过 $E_{\text{intra}}$ 的距离;(2) 取偶数距离的可达节点作为参考节点;(3) 若两个参考节点连接同一个非参考节点,添加新边;(4) 移除所有非参考节点及其边。效果:不同层之间实现多尺度时序关系建模,每层的感受野指数级增长。
消融实验显示:HGNN 从 1 层到 3 层,mAP 从 29.32 提升到 30.76;而无下采样的 HGNN-s 在 3 层时反而下降到 29.21(过平滑)。
2.4 Dual Attention Module (DAM)
DAM 将一个 attention 解耦为两个子 attention:
Semantic Attention (SA):定位对动作识别有判别力的区域,不管属于哪个 actor。输入 $f_{\text{dam}}^i = \text{concate}(f^i, f^i_{\text{geo}}, f^i_{\text{mem}})$,输出 $\omega_{\text{sem}}^i = \sigma(\text{FFN}_{\text{sem}}(f_{\text{dam}}^i))$。
Identity Attention (IA):聚焦于属于代表 actor(representative actor)的区域,mask 掉干扰 actor。输出 $\bar{\omega}_{\text{idt}}^i = \omega_{\text{sem}}^i \odot \omega_{\text{idt}}^i$(实践中使用改进版本,避免激活非动作相关区域)。
Geometry Embedding:以第 $i$ 个 actor 的中心坐标为参考点,编码相对坐标 $(x_r^i, y_r^i)$、极角 $\alpha_{x_a,y_a}^i$、干扰 actor 的加权极角 $\bar{\alpha}_{x_a,y_a}^i$。
Attention-pooled 特征:
最终特征:$f_{\text{fuse}}^i = f_{\text{mem}}^i + f_{\text{idt}}^i$。
3.1 总损失函数
其中 $\lambda_{\text{aux}} = 0.5$。
3.2 分类损失的设计
SA 使用 relaxed BCE loss:只要干扰 actor 在某类为正样本,就降低该负样本的权重:
这意味着如果干扰 actor 的框与目标 actor 的框重叠,且干扰 actor 在类别 $c$ 上为正样本,则目标 actor 在类别 $c$ 上的负样本权重被降低。这是一种"容忍"机制——允许 SA 关注所有 actor 的语义区域。
IA 使用标准 BCE loss:因为已经聚焦于代表 actor,不需要容忍干扰 actor 的标签。
3.3 空间先验损失
IA 的空间先验:使无干扰 actor 的区域高激活:
SA 的空间先验:使用 ranking loss(margin $\gamma=0.1$)使有干扰 actor 的区域更聚焦。
3.4 训练细节
| 配置 | 值 |
|---|---|
| 优化器 | SGD, momentum=0.9 |
| Batch size | 12 |
| 初始学习率 | 0.003 |
| Weight decay | 0.0005 |
| 训练迭代 | 140k iterations |
| LR 衰减 | 93k 和 120k 处 ÷10 |
| Memory 窗口 $L$ | 30 |
| 数据增强 | Proposal jitter + 1.5× 缩放 |
| Pose action | Softmax(单标签) |
| 其他 action | BCE(多标签) |
4.1 与 SOTA 对比
| 方法 | Backbone | Pretrain | AVA 版本 | Val. mAP |
|---|---|---|---|---|
| SlowFast | SF-R50, 4×16 | K400 | v2.1 | 24.2 |
| LFB | R50-NL | K400 | v2.1 | 25.8 |
| LSTR | R101 | ImageNet | v2.1 | 27.2 |
| Context-Aware RCNN | R50-NL | K400 | v2.1 | 28.0 |
| ACAR-Net | SF-R50, 8×8 | K400 | v2.1 | 28.3 |
| AIA | SF-R50, 4×16 | K700 | v2.1 | 28.9 |
| IGMN | SF-R50, 4×16 | K700 | v2.1 | 30.2 |
| AIA | SF-R101, 8×8 | K700 | v2.2 | 32.2 |
| IGMN | SF-R50, 4×16 | K700 | v2.2 | 31.2 |
| IGMN | SF-R101, 8×8 | K700 | v2.2 | 33.0 |
关键成就:在 AVA v2.1 上以 ResNet50 级别 backbone 首次突破 30% mAP;在 v2.2 上以 R101 达到 33.0% mAP(SOTA at the time)。在 AVA 这种高难度 benchmark 上,1-2 个百分点的提升是显著的(该数据集上 SOTA 进展通常以 0.5-1% 为单位)。
4.2 关键消融实验
| 实验 | mAP | 说明 |
|---|---|---|
| Baseline | 26.52 | 基础 pipeline |
| +HGNN | 30.76 | +4.24,长期身份建模的巨大提升 |
| +HGNN (frozen) | 30.19 | 图消息传递优于冻结 memory |
| +HGNN (GCN) | 28.95 | 有序时序聚合优于 GCN |
| HGNN + SA only | 30.57 | 单独 SA 反而下降 |
| HGNN + IA only | 30.35 | 单独 IA 也下降 |
| IGMN (full) | 31.22 | SA + IA 协同才有效 |
| IGMN w/o aux losses | 30.33 | 辅助损失不可或缺 |
| IGMN w/o cls loss | 30.51 | 分类损失贡献最大 |
| IGMN w/o prior loss | 30.91 | 空间先验也有贡献 |
4.3 逐类分析
身份感知建模使 46/60 个动作类别受益,特别是:
- 需要跨 clip 身份线索的动作:如 "open"(需要跟踪同一人的手)、"falling down"(需要确认是同一人摔倒)
- 需要局部细节的动作:如 "push"(需要区分推者和被推者)、"hug"(需要区分拥抱的双方)
未受益的 14 个类别主要是单人动作(如 "stand", "sit"),这些动作不涉及身份混淆。
5.1 局限性
- 身份信息依赖外部 tracker:身份一致性由 Faster R-CNN + 外部 tracker(来自 AIA)提供。Tracklet 的质量直接影响 intra-actor 边的构建。跟踪错误会导致 intra-actor 边连接到错误的身份,产生噪声。
- Identity 是隐式建模而非显式特征:论文并没有学习显式的 identity embedding / Re-ID 特征。"身份感知"主要通过图结构(边的分类)和 tracklet 关联来实现。如果两个外观相似但不同的人被 tracker 混淆,模型无法通过外观特征纠正。
- 计算复杂度:三层 HGNN + 三种消息传递 + DAM 的双 attention,计算开销显著。Memory bank 大小 $L=30$,$N_{\text{max}}$ 限制下的 memory 节点数可能很大。论文没有报告推理速度或与实时方法的对比。
- 仅评估 AVA 数据集:仅在 AVA v2.1 和 v2.2 上评估。AVA 以 1 FPS 稀疏采样,不适用于快速动作。缺乏在 UCF101-24、J-HMDB-21 等 tube-based benchmark 上的验证。
- Bounding box 扩展的矛盾:为了获取更多上下文需要扩展 box,但扩展后引入更多干扰 actor,又需要 DAM 来处理。这种"先引入噪声再去噪"的范式存在效率问题。
5.2 从"身份感知"到"身份特定"的演进路线
IGMN 处于以下路线的第二步,是从"无差别检测"到"个体特定检测"的关键桥梁:
- 无身份(LFB, AIA):统一 self-attention,不区分 intra/inter actor
- 身份感知(IGMN):区分同一人 vs 不同人的关系,但不建模个体特征
- 身份特定(未来):为每个个体学习专属的动作模型/特征
- 持续身份追踪(未来):跨视频的个体动作累积与演化
5.3 可直接借鉴的技术组件
| IGMN 技术 | 在个体特定检测中的潜在应用 |
|---|---|
| Intra-actor 边 + 有序聚合 | 同一人的时序动作演变建模 |
| 图下采样 | 多时间尺度的个体行为分析 |
| Identity Attention | 在多人场景中聚焦特定个体 |
| Relaxed BCE Loss | 处理标注不完整的个体动作数据 |
| Spatial Prior Loss | 利用空间约束增强个体定位 |
| DAM 的解耦思想 | IA 可替换为特定个体的 attention |
参考来源
- Ni, J., Qin, J., Huang, D. (2021). Identity-aware Graph Memory Network for Action Detection. ACM Multimedia 2021. DOI: 10.1145/3474085.3475503. arXiv:2108.11559