Re-ID Driven Localization Refinement for Person Search

Re-ID Driven Localization Refinement for Person Search

论文:Re-ID Driven Localization Refinement for Person Search

作者:旷世科技,2019,ICCV

代码:code

概述

行人搜索旨在从完整的图片中检测并识别行人,分为检测和行人重识别(Re-ID)两个任务。文章提出一种re-ID驱动的定位调整框架,用re-ID loss对检测网络产生的检测框进行微调。文章设计了一个可导的ROI转换模块,能够根据检测框的坐标从原图中crop出对应位置图片,再送入re-ID网络。由于整个过程可导,re-ID loss能够对检测框的坐标进行监督,从而使检测网络能够生成更适合行人搜索这个任务的检测框。

摘要

背景:行人搜索(Person Search)的目标是让系统从一系列未经裁剪的画面中对行人进行定位与识别。与行人重识别(Re-ID)任务不同,行人搜索的性能也与行人检测器的定位精度有关。当前最佳方法是单独训练检测模型和重识别模型,但问题在于因此输出的检测框可能并非接下来行人重识别任务所需的最优区域。

贡献:本文提出了一个基于行人重识别的定位修正框架,它能够修正行人检测给出的检测框,使其更加有利于重识别任务。

模型评估:实验结果显示,该方法性能优于现有最佳方法。

引言

行人搜索人物结合了行人检测和行人 重识别,当前最优的方法是分别训练检测器与重识别模型,这将行人搜索人物拆分为了两个独立阶段,且检测阶段无法为后面的重识别阶段提供最优的检测结果,因此存在一定的缺陷。如图1(b),可能忽略某些重要特征,比如背包,或者混入干扰特征,比如周围的人。

img

如图 1 所示,(a)代表 ground truth,(b)由通用检测器检测,(c)是由本文方法修正过的结果。可以发现,独立训练的通用检测器无法很好地给出后面重识别所需的输入图像。它包含了很多噪声信息并且漏掉了部分重要细节。作为对比,本文方法可通过去掉多余的背景、增加有用的特征来修正定位的结果,给出对于后面行人搜索任务来说更具判别力的嵌入信息。为了应对这个问题,旷视研究院提出了一个基于重识别定位优化的网络,它将行人检测与行人重识别结合到了一个端到端框架中。这样做的原因是为了让检测器在重识别损失的监督下进行优化,以便给出更好的检测框。

网络结构

本文总体方法如下图,传统的分类网络一般由两个损失来监督。分类损失用于区分物体类别或背景信息,回归损失用来调整检测框。从图1中可以发现,对于行人搜索人物而言,回归损失无法保证生成后一阶段对行人重识别最合适的检测框,本文行人搜索框架中重新设计了检测器的监督部分。

img

具体而言,文中开发了一个可微的ROI 变换层,它可以将检测框从原始图像中裁剪出来,然后被裁剪的图像被送入一个固定的使用proxy triplet loss 和 soft-max loss 的重识别模型。由于整个过程是可微的,所以检测网络可在端到端网络总用重识别损失来优化,得到经修正的检测框,更好的服务行人搜索服务。

ROI 变换层

在网络结构后面,设计了可微的ROI 变换层,实现检测框图像的裁剪功能,该步骤意在使框架端到端可训练,裁剪检测框的图像有两个原因:① 尽管检测框(包围盒)的相关特征在一般的检测网络中也可用,但这会导致检测和重识别两个任务共享一个特征嵌入,产生冲突(本人可以理解为检测到的图片尺寸大小不等,但重识别网络需要相同尺寸大小的行人图片,这样就会产生冲突,所以需要进行重新r映射到统一大小);②由于特征图中的感受野足够大,所以裁剪操作会引入冗余的语义,有损重识别性能。(这里进行仿射变换,将冗余的信息进行裁剪掉,使裁剪出来的图片更加适合于重识别模型)

img

假设检测框的左上、右下坐标在原图中为(m_1,n_1,m_2,n_2),那么为了从原图中对检测框进行变换,如图 3,需要首先计算从原图坐标到目标坐标的仿射变换。

img

定位优化

由于分离的检测器的优化目标和行人搜索任务不同,所以本文在端到端的框架中,用重识别损失来监督优化检测器。本文中用重识别损失(包括 proxy triplet loss 和 softmax loss)替换回归损失。基于ROI 变换层,检测框的图像可以由原始图像变换而来。因此前后两个任务连接起来,让梯度能够从重识别损失反向传播到检测框坐标,从而修正了检测器的定位,与行人搜索保持一致。具体而言,本方法中的检测器与重识别模型均在训练集上经过了预训练。检测网络将原始图像作为输入,生成检测框(这些检测框是 ROI 变换层用于裁剪操作的输入),然后得到对应的图像。此步骤之后接着的是一个参数固定的重识别模型,正因为如此,检测框才能够在重识别损失下进行修正。

Proxy Triplet loss

为保证本文方法的可扩展性,在其他数据集上对重识别模型进行了预训练。因此 softmax 就不可用了。(在进行端到端的训练时,检测器需要重图中检测行人,送给重识别模型记性检测,但检测图中行人的ID 不一定都知道,且重识别模型是经过预训练过的,所以softmax 不可用了)

Triplet Hard Loss 是在行人重识别中被广泛应用的损失函数,但在行人搜索任务中,由于输入图像较大,导致batch的大小受到显存的限制,因此文中提出了proxy Triplet loss,它通过建立proxy table 来存储由锚点(anchor)样本、正样本、负样本组成的triplets. (损失就是triplet loss 的计算方法,只不过建立了一个proxy table 来存储 锚点样本的正样本和负样本)

img

实验

在实验部分,本文分别在两个大型数据集(CUHK-SYSU 和 PRW)上对本文方法与当前已有的领先方法以及一些联合了不同行人检测器、行人描述器、距离标准的方法进行了性能对比,见表 2、3。

img

上表中展示了本文方法在 CUHK-SYSU 数据集上与同类方法的性能对比,其中“CNN”、“IDNEet”分别代表基于 ResNet-50 的 Faster R-CNN 以及重识别网络。当候选行人库(gallery)数目设置为 100 时,可以发现本文方法显著超越当前无论是端到端还是分离式处理的方法。与当前最佳性能模型 CLSA 的比较可以发现,本文方法在 Rank-1、mAP 两个指标上分别提升了 5.8%、5.7%。为了观察模型的扩展性能,研究团队还在不同 gallery size 条件下进行了对比,如图 5 所示,证明本文模型具备扩展性,能够在大规模行人搜索场景下依然保持优势。在数据集 PRW 上的性能对比,见下表, 依然得出了类似结果,说明本文方法在行人搜索任务上是具备领先性的。

img

实现细节

对于检测网络,使用最新的PyTorch实现的Faster R-CNN由Facebook research发布。骨干网采用带FPN的ResNet-50。我们的探测器是在SYSU和PRW上预训练的,mAP分别为91.1%和94.9%。对于re-ID网络,我们采用基于Resnet-50的流行baseline2。在SYSU和PRW数据集上预训练的模型在Rank-1上的结果分别为91.8%和76.2%。在我们的端到端优化框架中,我们去掉了原来的回归损耗,使用Proxy triplet loss 和softmax损失来监督整个网络。由于GPU内存的限制,批处理大小被设置为4。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值