简介:近年来用于图像文本对处理的CLIP模型受到的关注度挺高的,但由于reid任务的性质,缺少文本描述,并不适合直接将该模型用于reid任务。但是CLIP模型又天然地适应该任务,该文章也是第一个利用CLIP模型架构的reid工作,只不过是基于图像的reid,但并不影响我们学习。
如果对于CLIP模型不清楚的话,建议提前学习之后再来学习这篇工作
预备知识:CLIP、CoOp
AAAI 2023
paper:https://arxiv.org/pdf/2211.13977v4.pdf
code:https://github.com/Syliz517/CLIP-ReID
一、motivation
作者指出,大多数最新的ReID模型依赖于构建和训练卷积神经网络(CNN),以便在分类器之前将每个图像映射到embedding空间中。同一id的图像在这个空间中趋于接近,而不同id的图像在这个空间中的距离会变得相对远一些。然后在交叉熵损失的引导下,再结合典型的度量学习损失,比如中心损失或三元组损失,就可以有效地学习CNN的参数了。尽管基于cnn的ReID模型在一些知名数据集上取得了很好的表现,但是想要真正地投入使用还是有很长的路要走的。
- CNN经常有个很明显的缺陷就是,只能关注图像中一个局部的不相关区域,这说明它的特征鲁棒性和判别性不够。
- 基于CNN的方法和基于ViT的方法都严重依赖于预训练。几乎所有ReID方法都需要一个在ImageNet上训练的初始模型,该模型包含从预定义集合中手动给定one-hot标签的图像。
- CLIP这样的预训练视觉语言模型 在图像分类和分割等各种下游任务上已经显示出优越的性能。然而,在细粒度图像再识别(ReID)中,标签是索引,缺乏具体的文本描述。因此,如何将这些模型应用于这些任务还有待确定
- CLIP的图像编码器可以从文本中感知各种高级语义,并学习可转移的特征,可以适应许多不同的任务
二、contribution
- 第一个将CLIP模型用于行人/车辆识别的工作
- 提出一个两阶段模型CLIP-ReID
三、Method
算法描述
框架
图(a)是CLIP原本的模型;
图(b)是CoOp模型,其实就是提出了一个可学习的prompt机制,来更好地适应下游任务的文本描述;
图(c)是本篇文章所提出来的方法。
总体来说,会通过预训练一组可学习的文本标记来补充reid任务所缺乏的的文本信息,然后就相当于有了图像文本对,然后再训练图像编码器。(一个batch里面有B个样本)
3.1 stage1:学习文本tokens
该阶段会冻结文本编码器和图像编码器。
这里其实学到的是抽象的文本token,我们也不知道长啥样,模型能认识就好。其实就是框架中的 [ X ] 1 [ X ] 2 . . . [ X ] M [X]_1[X]_2...[X]_M [X