CLIPSelf: 视觉 Transformer 自蒸馏用于开放词汇密集预测
简介
这是论文 CLIPSelf: 视觉 Transformer 自蒸馏用于开放词汇密集预测 的官方发布。
CLIPSelf: 视觉 Transformer 自蒸馏用于开放词汇密集预测,
吴思泽, 张文伟, 徐路敏, 金晟, 李向泰, 刘文涛, 陈长蕾
引用格式
待办事项
- CLIPSelf 的代码和模型
- F-ViT 的代码和模型
- 在 ovdet 仓库中使用 MMDetection3.x 支持 F-ViT
安装
本项目改编自 OpenCLIP-v2.16.0。运行以下命令安装软件包:
pip install -e . -v
数据准备
主要实验使用 COCO 和 LVIS 数据集的图像进行。请准备数据集并按以下方式组织:
CLIPSelf/
├── data
├── coco
├── annotations
├── instances_train2017.json # 未使用边界框标注
├── panoptic_val2017.json
├── panoptic_val2017 # 全景分割掩码
├── train2017
├── val2017
├── coco_pseudo_4764.json # 用于运行 RegionCLIP
├── coco_proposals.json # 用于带区域建议的 CLIPSelf
├── lvis_v1
├── annotations
├── lvis_v1_train.json # 未使用边界框标注
├── train2017 # 与 coco 相同
├── val2017 # 与 coco 相同
对于带区域建议的 CLIPSelf 或使用区域-文本对的 RegionCLIP,从 网盘 获取 coco_pseudo_4764.json
或 coco_proposals.json
。将 json 文件放在 data/coco
下。
运行
原始模型
要运行 CLIPSelf,首先从 EVA-02-CLIP 获取原始模型,并将它们放在 checkpoints/
下,如下所示:
CLIPSelf/
├── checkpoints
├── EVA02_CLIP_B_psz16_s8B.pt
├── EVA02_CLIP_L_336_psz14_s6B.pt
训练和测试
我们在 scripts/ 下提供了训练 CLIPSelf 和 RegionCLIP 的脚本,总结如下:
例如,如果我们想在COCO数据集上仅使用图像块通过CLIPSelf来优化ViT-B/16,只需运行:
bash scripts/train_clipself_coco_image_patches_eva_vitb16.sh # 1
我们还在Drive中提供了上述列出的实验的检查点。 它们可以按以下方式组织:
CLIPSelf/
├── checkpoints
├── eva_vitb16_coco_clipself_patches.pt # 1
├── eva_vitb16_coco_clipself_proposals.pt # 2
├── eva_vitb16_coco_regionclip.pt # 3
├── eva_vitl14_coco_clipself_patches.pt # 4
├── eva_vitl14_coco_clipself_proposals.pt # 5
├── eva_vitl14_coco_regionclip.pt # 6
├── eva_vitb16_lvis_clipself_patches.pt # 7
├── eva_vitl14_lvis_clipself_patches.pt # 8
要评估ViT-B/16模型,运行:
bash scripts/test_eva_vitb16_macc_boxes_masks.sh 测试名称 检查点路径/checkpoint.pt
要评估ViT-L/14模型,运行:
bash scripts/test_eva_vitl14_macc_boxes_masks.sh 测试名称 检查点路径/checkpoint.pt
F-ViT
转到文件夹CLIPSelf/F-ViT
并按照此README中的说明操作。
许可证
本项目采用NTU S-Lab License 1.0许可。
引用
@article{wu2023clipself,
title={CLIPSelf: Vision Transformer Distills Itself for Open-Vocabulary Dense Prediction},
author={Size Wu and Wenwei Zhang and Lumin Xu and Sheng Jin and Xiangtai Li and Wentao Liu and Chen Change Loy},
journal={arXiv preprint arXiv:2310.01403},
year={2023}
}
致谢
我们感谢 OpenCLIP、EVA-CLIP 和 MMDetection 提供的宝贵代码库。