《CLIP-ReID Exploiting Vision-Language Model for Image Re-identification without Concrete Text Label》

本文介绍了CLIP-ReID,首个利用CLIP模型架构进行图像重识别的工作,解决了缺少具体文本描述的问题。通过两阶段学习,首先学习文本tokens,然后优化图像编码器,提升模型的泛化能力。实验表明,CLIP-ReID在行人重识别任务中表现出色,但仍有改进空间,如引入相机信息和处理遮挡等挑战。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简介:近年来用于图像文本对处理的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

### 如何复现 CLIP-ReID 项目 #### 准备环境 为了成功运行CLIP-ReID项目,需先配置合适的开发环境。通常建议使用Anaconda来管理Python虚拟环境以及依赖包。安装必要的软件库可以通过`requirements.txt`文件完成,该文件列出了所有必需的Python包及其版本号。 ```bash git clone https://github.com/your-repo/clip-reid.git cd clip-reid conda create -n clip_reid python=3.8 conda activate clip_reid pip install -r requirements.txt ``` #### 数据集准备 CLIP-ReID模型训练所需的数据集应按照特定结构组织并放置于指定路径下。常用的人体再识别数据集如Market1501, DukeMTMC-reID等可以用于此目的。下载这些公开可用的数据集,并解压到项目的data目录中[^1]。 #### 模型训练 启动训练过程前,请确认已正确设置了参数配置文件中的各项超参。对于CLIP-ReID而言,默认情况下会加载预训练权重以加速收敛速度。执行如下命令即可开始训练: ```bash python train.py --config_file='configs/baseline.yml' ``` 上述脚本将会读取给定配置文件(`baseline.yml`)内的设置项来进行实验设计,包括但不限于网络架构选择、优化器定义等方面的内容。 #### 结果评估 当训练完成后,可通过测试模式下的推理功能对新图像样本进行预测分类。这一步骤同样基于预先设定好的验证协议展开,具体操作方式可参照官方文档说明或源码注释部分获取更多信息。 ```bash python test.py --config_file='configs/baseline.yml' TEST.WEIGHT ./output/model_best.pth ``` 通过以上步骤能够较为完整地实现CLIP-ReID项目的本地化部署与实践应用。值得注意的是,在实际研究过程中可能还需要针对不同应用场景调整相应策略,从而达到更好的性能表现。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

反卷三明治

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值