2020 Spatial-Temporal Graph Convolutional Network for Video-based Person Re-identification

转载自https://zhuanlan.zhihu.com/p/400749226
本篇论文发表在CVPR 2020,作者将图卷积这种方法用在了行人重识别领域(基于视频的ReID),作者单位分别为:中山大学、鹏程实验室、香港中文大学、华为诺亚方舟实验室等单位!我找了很多图卷积相关的论文,发现GCN应用在ReID领域的论文真的比较少,大多用在社交网络或者知识图谱等领域吧,难怪我导师说GCN近两年才变得比较火,是一种很好的方法,希望让我深入调研一下用到行人方面(好难)!

[摘要]

基于视频的ReID问题:遮挡 + 视觉模糊问题是两大难题!

视频的不同帧(时间上)之间可以提供互补的信息行人的结构信息(空间上)也能够为外观特征提供额外的鉴别线索。因此,对不同帧之间的时间关系和同一帧内的空间关系建模有利于解决这些问题。

本文提出了STGCN:包含一个空间分支+一个时间分支。

空间分支:提取人体的结构信息

时间分支:从相邻帧中挖掘有区别的线索

最后联合全局分支一起优化这些分支!

上图是MARS视频数据集中的4个不同行人的图片:在(a)中,很容易看到第3张图中的遮挡部分可以由第1张图提供补充信息;(c)和(d)可以从外观上清晰的判断出属于不同的行人;但是(b)和(d)由于外观上极为相似(都是黑衣男子),很难通过简单的外观判断,但其实他们之间的身体结构信息转化到图结构中是完全不同的,因此需要借助空间上的结构信息去进行判别。

【Related Work】

基于图像的ReID:

现有方法集中在手工设计特征、距离矩阵学习、深度学习三种方法;然而视频中包含很多帧和重要的时间信息,因此基于图像的方法缺少建模视频的时间关联。

基于视频的ReID:

现有方法集中在光流、RNN、时间池化、时空注意力去建模时间信息,但是,计算光流费时而且对遮挡和噪声的干扰不够健壮;

以上方法均不能完全考虑到不同帧之间身体部位的时间关联。

图神经网络方法:

此前的方法不模拟同一帧内的结构信息和不同帧的时间关系;

本文提出的时空图卷积共同考虑了建模同一帧内的空间信息和不同帧内的时间关联,这能够学习到区别能力强的和健壮的时空关联。

本文的Contributions如下:

  1. 使用GCN去建模同一帧内以及不同帧之间的身体不同部位的潜在关系,为行人重识别提供更多的区别特征和健壮信息。
  2. 提出了一个结合的框架,综合考虑了时间和结构上的关联。

【The Proposed Method】

一、整体结构

图的左边开始,T代表输入视频一共分为T帧,使用一个CNN骨干网络去提取特征,模型分为3个分支:时间分支+空间分支+全局分支。对于时间和空间分支,我们首先使用平均池化,将特征图水平划分为P块,每一块被看做图中的一个结点。对于全局分支,使用时间序列的平均池化去进行处理;

假设,一个视频有T帧,即对应T个特征图,每帧分成P个patch,总共有TP个patch,G(V,E)是构造的N个节点的patch图,将每个patch当做一个节点,用E中的边表示patch之间的关系,所以邻接矩阵A是NN的,其中的每个元素表示一个成对的patch关系。

  1. 对于邻接矩阵的每一行,边值的和为1;
  2. 每个元素应该是非负的,并且系数在(0,1)之间;

二、时间GCN模块

T-GCN模块被设计用来捕获不同帧之间patch之间的时间动态关系。不同的颜色代表不同的patch,图中是将每个特征图水平的分割为P个patch,T帧就会得到 T*P 个patch,这些patch会被看做图中的节点,最终,对GCN的输出使用了最大池化来得到最终的特征。

三、空间GCN模块

在T-GCN中,我们使用不同帧的所有patch来构造图,为的是捕获不同帧之间patch的互补信息;而在S-GCN中,我们使用GCN来建模视频中每一帧不同的patch的空间关系(每一帧都有一个GCN),然后融合视频中每一帧的GCN特征得到他们的内在结构特征。

【Loss】

本文采用三元组损失函数和softmax交叉熵损失函数对网络进行训练;

其中,每个类型特征都会计算一个triplet loss,最后的triplet loss的公式如下:

最终的loss构成如下:

【Experiments】

采用的ResNet50作为主干网络

最后一步设置为1

训练了800epoch

初始学习率设置为0.0003,从第10到第200轮递减

Adam作为优化器

作者做了消融实验:

  1. 单独+时间GCN
  2. 单独+空间GCN
  3. 时间GCN+空间GCN
  4. 时空GCN+Global

实验证明,相互之间还是起到补充作用,最终聚合效果更好。

以上就是有关这篇论文的一个介绍,后面会继续介绍图卷积或者行人重识别方面的论文,暑假学习真的好难好难哈哈哈!

2020Spatial-Temporal Graph Convolutional Network for Video-based Person Re-identification论文笔记(时空图卷积)相关推荐

  1. spatial temporal graph convolutional network for skeleton-based action recognition

    PPSIG:Paddlesports ST-GCN动作识别 - 飞桨AI Studio数据集为fsd-10花样滑冰,项目为ST-GCN从PaddleVideo抽取代码,可直接运行,acc为0.48 - ...

  2. 行人轨迹论文:STUGCN:A Social Spatio-Temporal Unifying Graph Convolutional Network for Trajectory Predictio

    STUGCN:A Social Spatio-Temporal Unifying Graph Convolutional Network for Trajectory Prediction用于轨迹预测 ...

  3. 论文笔记(SocialGCN: An Efficient Graph Convolutional Network based Model for Social Recommendation)

    一个有效的基于图卷积神经网络的社交推荐模型 原文链接:SocialGCN: An Efficient Graph Convolutional Network based Model for Socia ...

  4. CaEGCN: Cross-Attention Fusion based Enhanced Graph Convolutional Network for Clustering 2021

    问题:现有的深度聚类方法往往忽略了数据之间的关系. 本文提出了一种基于交叉注意的深度聚类框架--基于交叉注意融合的增强型图形卷积网络(CaEGCN) ,该网络包含四个主要模块: 交叉注意融合模块,创新 ...

  5. 论文阅读06——《CaEGCN: Cross-Attention Fusion based Enhanced Graph Convolutional Network for Clustering》

    欢迎到我的个人博客看原文 论文阅读06--<CaEGCN: Cross-Attention Fusion based Enhanced Graph Convolutional Network f ...

  6. Identifying drug–target interactions based on graph convolutional network and deep neural network 论文

    Identifying drug–target interactions based on graph convolutional network and deep neural network 文章 ...

  7. paper reading:Part-based Graph Convolutional Network for Action Recognition

    paper reading:Part-based Graph Convolutional Network for Action Recognition 文章目录 paper reading:Part- ...

  8. 图卷积网络 GCN Graph Convolutional Network(谱域GCN)的理解和详细推导

    文章目录 1. 为什么会出现图卷积神经网络? 2. 图卷积网络的两种理解方式 2.1 vertex domain(spatial domain):顶点域(空间域) 2.2 spectral domai ...

  9. Adaptive Propagation Graph Convolutional Network

    翻译一篇TNN 的论文仅用于学习 原文章链接 有道翻译的也是用了第一人称.如果有错,一定是你对. 题目:Adaptive Propagation Graph Convolutional Network ...

  10. GCN代码超详解析Two-stream adaptive graph convolutional network for Skeleton-Based Action Recognition(三)

    代码地址https://github.com/lshiwjx/2s-AGCN 本篇解析对应 2s-AGCN/graph/ntu_rgb_d.py ,用于创建NTURGB-D对应的图结构,以及2s-AG ...

最新文章

  1. 简单入门循环神经网络RNN:时间序列数据的首选神经网络
  2. Windows上使用gitbook制作电子书
  3. 需求评审五个维度框架分析及其带来的启示-总起
  4. 记录一次与大神们的关于GAN应用于NLP的讨论
  5. csu 1548: Design road (三分)
  6. Nginx 服务器开启status页面检测服务状态
  7. nhibernate many-to-one 没有匹配项时的异常
  8. 编程之美----子数组的最大乘积
  9. Python中的yield详解
  10. android 用户中心布局,android用户中心头像选择功能的方法实现-Go语言中文社区
  11. 零基础学python-看完这篇,零基础也知道怎么学Python
  12. Storyboard使用心得
  13. 排队论的计算机模拟,8.2 排队论模型(二)-----计算机模拟.pdf
  14. Linux命令大全(超详细版)
  15. SPSS聚类分析——一个案例演示聚类分析全过程
  16. Python探路-多重继承
  17. mysql1055_MySQL5.7 group by新特性报错1055的解决办法
  18. crontab -r删除后恢复
  19. rhel7虚拟机的封装
  20. CSS样式写出三角形

热门文章

  1. 实战小例子 | Python实现用手势控制电脑音量
  2. 常见汉字与不常见汉字
  3. 风险评估(Risk Assessment)
  4. 三角形内切圆 / 外接圆半径计算公式及证明总结 ~
  5. nacos connect timed out executing XXX
  6. 两个数的最大公因数和最小公倍数
  7. JavaScript 如何求两个数的最小公倍数
  8. .mat转.tif 用于arcgis裁剪遥感图像
  9. 线粒体和叶绿体的基因组特点_线粒体基因组有什么特点?
  10. armv7l安卓刷linux,技术讲解-安卓APK快速生成后门(实现手机入侵)