这里提出instruct-ReID任务,实现一个任务兼容六种主流ReID任务。

论文地址:https//arxiv.org/abs/2306.07520

代码地址:https//github.com/hwz-zju/Instruct-ReID

引言

行为重识别(person re-identification, ReID)在安防领域有广泛与成熟的应用。不同的任务场景对ReID提出不同的需求,从而衍化出多种不同类型的ReID任务,例如针对较长周期识别的Clothes Changing ReID(CC-ReID)、利用文本描述进行识别的Text-to-Image ReID(T2I-ReID)等等。而由于现有ReID模型大多只能处理单任务,多种任务就需要多个模型来解决,给实际使用带来了额外训练、部署的开销,不方便大规模的落地应用。

那么能够用一个模型实现所有主流ReID任务呢?

答案是可以。文章提出了一种统一的ReID模型IRM(Instruct ReID Model),一网打尽6种ReID任务,包括:

  • traditional ReID
  • clothes-changing ReID (CC-ReID)
  • clothes template based clothes-changing ReID (CTCC-ReID)
  • visible-infrared ReID (VI-ReID)
  • text-to-image ReID (T2I-ReID)
  • language-instructed ReID (LI-ReID)

并在6个任务的10个数据集上均取得了state-of-art的结果,见图1(b)。

Instruct-ReID_sed

文章三大亮点:

  1. 提出instruct-ReID任务,实现一个任务兼容六种主流ReID任务
  2. 首个面向统一ReID范式的benchmark
  3. 一个模型在多种主流ReID任务上取得最优性能

Benchmark

文章提出了一个新的benchmark,OmniReID,用于instruct-ReID任务的训练与测试。

Instruct-ReID_数据集_02

OmniReID的训练集基于12个公开数据集制作而成,共包含497万张图像与32.8万个体。与其他ReID benchmark的训练集对比见表1.

作者额外生成了instruction数据以构建CTCC-ReID与LI-ReID训练数据。以下为instruction制作的相关过程。

Instruct-ReID_人工智能_03

(1)LI-ReID instruction制作 LI-ReID给定了人的图片与一段文本描述,分别作为query和instruction输入,希望在gallery中找到符合文本描述的同一个人。为此,作者首先通过人工标注获得图片的attributes,例如年龄、性别、衣服类型等等;随后利用Alpaca-LoRA大语言模型,将这些attibutes连接成一段流程的话。最后由人工进行数据清洗,得到了最终的instruction。过程如图2(a)所示。

(2)CTCC-ReID instruction制作 CTCC-ReID与LI-ReID类似,不过instruction的输入不再是文本描述,而是衣服图片,并希望在gallery中找到穿着相同衣服的同一个人。因此,作者首先利用human parsing模型SCHP对ReID图片进行处理,得到仅包含衣服的图片。进一步的,作者从电商平台上,利用以图搜货的方式搜索这些衣服图片,获取了对应衣服的商品图片。最终经过数据清洗后得到了CTCC任务的instruction。过程如图2(b)所示 

方法

Instruct-ReID_数据集_04

instruction生成: instruct-ReID接收一个图像和一个instruction作为输入,并检索出对应的图像。通过改变的instruction输入,instruct-ReID可以视作不同的主流ReID任务。

Instruct-ReID_人工智能_05

Instruct-ReID_人工智能_06

实验

训练方法:文章采用了两种训练方法:

  • 单任务训练(STL):训练只在相应数据集的训练与测试集上进行
  • 多任务训练(MTL):先在联合数据集上训练,然后在各个数据集上进行测试

实现细节:文章使用经过ReID pretrain的ViT-Base网络作为图像编码器,使用ALBEF作为instruction的编码器。训练与测试中的所有图片均采用 256x128 大小

实验结果:

  • Clothes-Changing ReID (CC-ReID). 在STL下,IRM在LTCC, VC-Clothes三个数据集上相较原有SOTA分别有+5.9%与+8.3%的提升。在MTL下,IRM在PRCC上取得了52.3%的mAP,取得了新的SOTA。具体数值如表2所示。

Instruct-ReID_单任务_07

  • Visible-Infrared ReID (VI-ReID). IRM在LLCM数据集上分别采用红外-可见光(IR-to-VIS)与可见光到红外(VIS-to-IR)两种设定进行实验。在MTL下,模型在两种设定上均取得了新的SOTA,相较原有SOTA提升了+4.3%与+1.7%。具体数值参见表3。

Instruct-ReID_sed_08

 

  • Text-to-Image ReID (T2I-ReID). IRM在STL下,取得了65.3%的mAP,并在MTL下进一步取得了66.5%的mAP,相较之前的SOTA提升了2.6%。具体数值见表3。
  • Clothes Template Based Clothes-Changing ReID (CTCC-ReID). 在STL下,IRM在COCAS+ Real2数据集上相较之前SOTA提高了+2.2%;在MTL下,IRM取得了更好的结果,相较之前SOTA提高了+11.7%。具体数值如表4所示。

Instruct-ReID_人工智能_09

  • Language-Instructed ReID (LI-ReID). 由于LI-ReID是文章新提出的一种setting,所以文章使用在COCAS+ Real1上进行训练的ViT-Base作为Baseline。在STL下,IRM超过baseline +15.8%的mAP;在MTL下,IRM相较STL下进一步提升+9.1%,取得了SOTA的结果。具体数值如表4所示。
  • Traditional ReID (Trad-ReID). IRM在传统ReID任务上也取得了不错的成绩。在STL下,IRM在CUHK03上相较原有单任务训练的SOTA提升了+6.9%,并在Market1501与MSMT17上取得了与 SOTA相近的结果;在MTL下,IRM性能进一步提升,在Market1501、MSMT17与CUHK03上均超越了原有SOTA。具体结果如表4所示。

消融实验:

  • Editing Transformer. 为了验证editing transformer的有效性,文章将其替换成一个传统的ViT结构,只接收图像输入而不用instruction对其融合。实验结果表明,使用editing transformer在MTL下可以平均提升各个任务+0.6%的mAP,验证了editing transformer的有效性。具体数值见表5。
  • Adaptive triplet loss. 为了验证Adaptive triplet loss的有效性,文章将其替换成了一个传统的triplet loss。实验证明在MTL下,传统的triplet loss将会平均引起-0.3%的mAP下降。另一方面,在STL下,使用adaptive triplet loss后在CTCC-ReID与LI-ReID任务上分别提升了+0.7%与+0.5%,验证了文章提出的adaptive triplet loss确实帮助模型同时理解identity与instruction的相似性。具体数值见表5。

Instruct-ReID_人工智能_10