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. 使用Hive读取ElasticSearch中的数据

    本文将介绍如何通过Hive来读取ElasticSearch中的数据,然后我们可以像操作其他正常Hive表一样,使用Hive来直接操作ElasticSearch中的数据,将极大的方便开发人员.本文使用的 ...

  2. 基于FPGA摄像头图像采集显示系统

    本系统主要由FPGA主控模块.图像采集模块.图像存储模块以及图像显示模块等模块组成.其中图像采集模块选择OV7670摄像头模块,完成对视频图像的采集和解码功能,并以RGB565标准输出RGB 5:6: ...

  3. golang学习笔记15 golang用strings.Split切割字符串

    golang用strings.Split切割字符串 kv := strings.Split(authString, " ") if len(kv) != 2 || kv[0] != ...

  4. windows环境下 curl 安装和使用

    curl下载地址:https://curl.haxx.se/download.html,拉到页面最底下,选择红色选中的那个CAB的进行下载,如下图所示: 下载完成后,解压. 解决windows控制台c ...

  5. 从手机浏览器或者 APP 中跳转到微信并跳转到指定页原理及行业内幕详解

    相信很多朋友遇到过有些网站,可以直接通过一个连接就能让你的手机打开微信且跳转到某个指定的页面,许多程序员很好奇到底是怎么实现的,到处求这种方法的源码,在文本中我会介绍及剖析这种跳转实现的原理. 微信是 ...

  6. <转>jmeter(十一)JDBC Request之Query Type

    本博客转载自:http://www.cnblogs.com/imyalost/category/846346.html 个人感觉不错,对jmeter讲解非常详细,担心以后找不到了,所以转发出来,留着慢 ...

  7. node.js的on、emit、off封装

    //绑定事件.触发事件和移除事件 //绑定事件 //on(eventName,cb){} //第一步判断当前事件是否存在,如果不存在则初始化:key:[],然后在将回调函数添加到数据中去 let ev ...

  8. Python爬虫【五】Scrapy分布式原理笔记

    Scrapy单机架构 在这里scrapy的核心是scrapy引擎,它通过里面的一个调度器来调度一个request的队列,将request发给downloader,然后来执行request请求 但是这些 ...

  9. AirTest源码分析之运行器

    from: https://blog.csdn.net/u012897401/article/details/82900562 使用:根据airtest文档说明,可以通过命令行来启动air脚本,需要传 ...

  10. awk中截取IP字段

    由于文本的特殊性,IP字段可能并不是在特定的字段中. 借助awk的match()函数进行匹配截取 awk --re-interval '($0 ~ "xxx"){match($0, ...