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. Python基础知识摘要

    python字典 增,删,改,查 1.增:XXX[新的key] = value 2.删:DEL XXX[key] 3.改:XXX[已经存在的key] = NewValue 4.查:aList.exte ...

  2. Yii2 Restful api创建

  3. php aes128加密

    //[加密数据]AES 128 ECB模式 public function aesEncrypt($str){ $screct_key = Yii::$app->params['encryptK ...

  4. KVM_webvirtmgr

    一.webvirtmgr安装前说明: 1:操作做系统:centos7.2_x86_64 2:安装参考出处1:https://github.com/retspen/webvirtmgr/wiki/Ins ...

  5. C/C++笔试题(基础题)

    为了便于温故而知新,特于此整理 C/C++ 方面相关面试题.分享,共勉. (备注:各题的重要程度与先后顺序无关.不断更新中......欢迎补充) (1)分析下面程序的输出(* 与 -- 运算符优先级问 ...

  6. 网易新网 spider

    # -*- coding: utf-8 -*- import os import sys import urllib.request import requests import re from lx ...

  7. 【转】Kylin系列-使用Saiku+Kylin构建多维分析OLAP平台

    关于Kylin的介绍和使用请参考之前的文章 <分布式大数据多维分析(OLAP)引擎Apache Kylin安装配置及使用示例> Kylin对外提供的是SQL查询接口,基于Kylin构建OL ...

  8. MongoDB With Spark遇到的2个错误,不能初始化和sample重复的key

    1.$sample stage could not find a non-duplicate document while using a random cursor 这个问题比较难解决,因为我用mo ...

  9. 2017-2018-2 20165316 实验三《敏捷开发与XP实践》实验报告

    2017-2018-2 20165316 实验三<敏捷开发与XP实践>实验报告 实验目的 安装 alibaba 插件,解决代码中的规范问题.再研究一下Code菜单,找出一项让自己感觉最好用 ...

  10. flask框架----上下文管理

    一.上下文管理相关知识点: a.类似于本地线程 创建Local类: { 线程或协程唯一标识: { 'stack':[request],'xxx':[session,] }, 线程或协程唯一标识: { ...