Person Re-identification with Deep Similarity-Guided Graph Neural Network
2018-07-27 17:41:45

Paper: https://128.84.21.199/pdf/1807.09975.pdf

本文将 Graph Neural Network (GNN) 应用到 person re-ID 的任务中,用于 model 不同 prob-gallery 之间的关系,将该信息也用于 feature learning,进一步提升了最终的效果。如下图所示:

Abstract

行人再识别的任务需要鲁棒的预测行人图片之间的视觉相似度。然而,现有的 re-ID 模型大部分都是独立的进行 different image pairs of prob and gallery images 相似度的学习,但是缺忽略了不同的 prob-gallery pairs 之间的关系信息(the relationships information between different prob-gallery pairs)。这就导致了一些 hard samples 的相似性预测不是很准确。本文,我们提出一种新的 deep learning framework,称为:Similarity-Guided Graph Neural Network(SGGNN)来克服上述缺陷。给定 a prob image and several gallery images, SGGNN 构建一个 graph 来表示不同 gallery pairs 之间的 pairwise relationships,并且利用上述信息来进行end to end 的更新 probe-gallery relation features。通过这种关系特征可以进行更加准确的相似性预测。Graph 上 nodes 的输入feature 是:the relation features of different prob-gallery image pairs. 这种关系 feature 的更新可以通过 SGGNN 上信息的传递来完成,这样就可以考虑到其他 nodes 的信息来进行相似度的学习。跟传统的 GNN 的方法不同,SGGNN 直接利用 rich labels 来学习 edge weights,可以提供更加准确的信息来进行 relation fusion。本文在三个 person re-ID 的数据集上进行了实验,证明了本文方法的有效性。

Methods

一般 re-ID 模型的评测是:将 test data 分为两个部分:a prob set and a gallery set.

给定 prob 和 gallery 图像对,re-ID 模型的目标是:robustly determining visua similarities between prob-gallery image pairs.

在前人的工作中,在一个 minibatch 中,这些 prob-gallery 图像对的评测是独立进行的。但是,不同 gallery images 的相似度却对 prob-gallery 相似度的优化非常有价值(the similarities between different gallery images are valuable for refining simialrity estimation between the prob and gallery)。

本文充分利用这种信息来改善 feature learning,如图1 所示。

该方法将同时输入一个 prob 和 多个 gallery image,来构建一个 graph,每一个 node 建模了一个 prob-gallery image pairs,输出的是:每一个图像对的相似度。这样就可以将学习到的信息通过网络进行传递,即:Deeply learned messages will be propagated among nodes to update the relation features associated with each node for more accurate similarity score estimation in the end-to-end training process.

1. Graph Formulation and Node Features

在我们的框架中,我们首先将 person re-ID 看做是 node-focused graph application。给定 prob 和 N 个 gallery image,我们构建一个无向完全图 G(V, E),其中 V = {v1, v2, ... , vn} 代表 nodes 的集合。每一个 node 代表了 prob-gallery images 的图像对。我们的目标是:预测每一个图像对的相似度,所以,把 re-ID 的问题当做是 node classification 的问题。

在本文当中,我们采用一种简单的方法来获得:input relation features,如图 2(a)所示。我们将给定的 prob-gallery pairs 输入到一个 Siamese Network 当中,以得到  pairwise relation feature encoding。该 Siamese Network 的设计主要是基于 ResNet-50,后面接进行两个输入图像所提 feature 的相减,然后进行 element-wise square operation,输入到 Batch Normalization layer。该差值衡量了两个输入图像之间的差异性,我们将这个 feature 作为 nodes 的输入特征。由于我们的任务是 node-wise classification,即:预测每一个 pair 之间相似度,一个比较 naive 的方法就是:直接将该 feature 输入到线性分类器当中,直接输出相似度得分,而不考虑不同 nodes 之间的相似度。对于每一个 prob-gallery image pair,可以用二元交叉熵损失函数来完成这个目标:

2. Similarity-Guided Graph Neural Network:

明显,简单的分类方法忽略了不同 prob-gallery pair 之间的重要信息。为了探索这些信息,我们需要在 nodes 上进行 edge 的构建。在我们的工作中,G 是全连接的,E 代表了不同节点关系的集合,其中 $W_{ij}$ 是 scalar edge weight。它代表了不同节点之间关系的重要性,可以通过如下的公式进行计算:

其中,gi and gj 代表了 第 i 个 和 第 j 个 gallery image。我们通过传递不同连接节点之间的 deep learned messages,来增强 nodes 的 feature。

这个 node features 然后也被更新,作为:a weighted addition fusion of all input messages and the node's original features.   

在进行信息传递之前,每一个节点首先编码了  a deep message,以用于传递给与它相连接的 nodes。这个节点的 input relation features $d_i$ 然后被输入到一个 message network,该网络是由 2 fc layers 和 BN 以及 ReLU layers 构成的,以得到 deep message $t_i$,如图2(b)所示。这个过程学习到了更加合适的 messages 用于节点关系特征的更新:

在得到 edge weights $W_{ij}$ 以及 deep message $t_i$ 以后,然后 node relation feature $d_i$ 的更新机制可以表达为:

其中,上式的输出代表了第 i 个节点的优化后的关系特征,d0 代表了第 i 个输入关系特征,tj 代表了 deep message from node j。

注意到这种更新机制可以是以一种迭代的方式进行的,即:

但是,作者发现这种迭代的方式进行的提升,效果有限。在进行特征更新之后,我们将该 feature 输入到线性分类器当中,以得到相似性得分,然后照样利用 Binary cross-entropy loss 进行训练。

== Done !!!

论文笔记:Person Re-identification with Deep Similarity-Guided Graph Neural Network的更多相关文章

  1. 论文笔记:蒸馏网络(Distilling the Knowledge in Neural Network)

    Distilling the Knowledge in Neural Network Geoffrey Hinton, Oriol Vinyals, Jeff Dean preprint arXiv: ...

  2. 论文笔记之《Event Extraction via Dynamic Multi-Pooling Convolutional Neural Network》

    1. 文章内容概述 本人精读了事件抽取领域的经典论文<Event Extraction via Dynamic Multi-Pooling Convolutional Neural Networ ...

  3. Deep Learning论文笔记之(八)Deep Learning最新综述

    Deep Learning论文笔记之(八)Deep Learning最新综述 zouxy09@qq.com http://blog.csdn.net/zouxy09 自己平时看了一些论文,但老感觉看完 ...

  4. 【论文笔记】Malware Detection with Deep Neural Network Using Process Behavior

    [论文笔记]Malware Detection with Deep Neural Network Using Process Behavior 论文基本信息 会议: IEEE(2016 IEEE 40 ...

  5. 论文解读(GCC)《GCC: Graph Contrastive Coding for Graph Neural Network Pre-Training》

    论文信息 论文标题:GCC: Graph Contrastive Coding for Graph Neural Network Pre-Training论文作者:Jiezhong Qiu, Qibi ...

  6. 论文解读(GIN)《How Powerful are Graph Neural Networks》

    Paper Information Title:<How Powerful are Graph Neural Networks?>Authors:Keyulu Xu, Weihua Hu, ...

  7. 论文解读《Bilinear Graph Neural Network with Neighbor Interactions》

    论文信息 论文标题:Bilinear Graph Neural Network with Neighbor Interactions论文作者:Hongmin Zhu, Fuli Feng, Xiang ...

  8. 论文解读(SEP)《Structural Entropy Guided Graph Hierarchical Pooling》

    论文信息 论文标题:Structural Entropy Guided Graph Hierarchical Pooling论文作者:Junran Wu, Xueyuan Chen, Ke Xu, S ...

  9. 论文笔记:A Review on Deep Learning Techniques Applied to Semantic Segmentation

    A Review on Deep Learning Techniques Applied to Semantic Segmentation 2018-02-22  10:38:12   1. Intr ...

随机推荐

  1. pyinstaller将python脚本生成exe

    一.下载pyinstaller 二.生成exe 下载pyinstaller 1.在C:\python27\Scripts目录下打开cmd界面,执行命令:pip install PyInstaller ...

  2. uvalive 3276 The Great Wall Game

    题意: 一个n * n的棋盘上放着n个棋子,现在要求把这n个棋子用最少的步数移到同一条直线上,即同一列同一行或者同一对角线(两条).输出最少的步数(只能往四个方向移动,即正东,正西,正南,正北). 思 ...

  3. PYQT5学习笔记之各模块介绍

    Qtwidgets模块包含创造经典桌面风格的用户界面提供了一套UI元素的类 Qtwidegts下还有以下常用对象,所以一般使用Qtwidegts时会使用面向对象式编程 QApplication: ap ...

  4. 【转】ETL介绍与ETL工具比较

    本文转载自:http://blog.csdn.net/u013412535/article/details/43462537 ETL,是英文 Extract-Transform-Load 的缩写,用来 ...

  5. PyCharm2017破解步骤

    前段时间买了一套python的学习视频,附带一个Pycharm的安装包和注册码,现在注册码被JetBrains封杀了,不得已在网上找了一下破解的教程,在这里记录一下: 先找到破解补丁无需使用注册码,下 ...

  6. Linux服务器---邮件服务器dovecot

    安装dovecot Dovecot是CentOS系统中著名的POP3/IMAP服务器实现.POP3/IMAP是从邮件服务器中读取邮件时使用的协议,POP3将邮件全部从服务器中拖取下来:IMAP则每次从 ...

  7. window下nodejs用nodemon启动koa2项目(用cmd启动不了,要用Git Bash Here 启动才可以)

    window下nodejs用nodemon启动koa2项目(用cmd启动不了,要用Git Bash Here 启动才可以)nodemon --watch 'app/**/*' -e ts --exec ...

  8. web3.js编译Solidity,发布,调用全部流程(手把手教程)

    web3.js编译Solidity,发布,调用全部流程(手把手教程) 下面教程是打算在尽量牵涉可能少的以太坊的相关工具,主要使用web3.js这个以太坊提供的工具包,来完成合约的编译,发布,合约方法调 ...

  9. 外网上传到NAS速度很慢是什么情况?上行1M都不到,但是测试有4M

    外网上传到NAS速度很慢是什么情况?上行1M都不到,但是测试有4M NAS可以将自己的影片,图片,音乐都放在NAS中.在家中就能无线共享了.在其他地方要下载自己nas里的影片,下载速度主要取决于家里宽 ...

  10. html5实现移动端下拉刷新(原理和代码)

    这篇文章给大家介绍的内容是关于html5实现移动端下拉刷新(原理和代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 移动端的下拉刷新是一个很常见的功能,也有许多开源库实现了这个功 ...