VLDet: 学习开放词汇目标检测的物体-语言对齐
学习开放词汇目标检测的物体-语言对齐,
Chuang Lin, Peize Sun, Yi Jiang, Ping Luo, Lizhen Qu, Gholamreza Haffari, Zehuan Yuan, Jianfei Cai,
ICLR 2023 (https://arxiv.org/abs/2211.14843)
亮点
我们很高兴地宣布我们的论文被ICLR 2023接收了! 🥳🥳🥳
VLDet的快速解释视频演示
https://user-images.githubusercontent.com/6366788/218620999-1eb5c5eb-0479-4dcc-88ca-863f34de25a0.mp4
性能
COCO上的开放词汇
LVIS上的开放词汇
安装
要求
- Linux或macOS,Python版本≥3.7
- PyTorch版本≥1.9 请在pytorch.org一起安装它们以确保这一点。注意,请检查PyTorch版本与Detectron2要求的版本匹配。
- Detectron2:按照Detectron2安装说明进行安装。
conda环境设置示例
conda create --name VLDet python=3.7 -y
conda activate VLDet
conda install pytorch torchvision torchaudio cudatoolkit=11.1 -c pytorch-lts -c nvidia
# 在你的工作目录下
git clone https://github.com/clin1223/VLDet.git
cd VLDet
cd detectron2
pip install -e .
cd ..
pip install -r requirements.txt
特点
-
通过将任务表述为二分图匹配问题,直接从图像-文本对中学习开放词汇目标检测器。
-
在开放词汇LVIS和开放词汇COCO上达到最先进的结果。
-
可以轻松扩展和扩大新物体词汇表。
基准评估和训练
请先准备数据集。
VLDet模型在相应的有监督框模型上进行微调(在配置文件中由MODEL.WEIGHTS指示)。在训练VLDet模型之前,请训练或下载有监督框模型并将其放在VLDet_ROOT/models/下。
要训练模型,请运行
python train_net.py --num-gpus 8 --config-file /path/to/config/name.yaml
要使用训练好的/预训练模型评估模型,请运行
python train_net.py --num-gpus 8 --config-file /path/to/config/name.yaml --eval-only MODEL.WEIGHTS /path/to/weight.pth
在这里下载训练好的网络权重。
OV_COCO | box mAP50 | box mAP50_novel |
---|---|---|
config_RN50 | 45.8 | 32.0 |
OV_LVIS | mask mAP_all | mask mAP_novel |
---|---|---|
config_RN50 | 30.1 | 21.7 |
config_Swin-B | 38.1 | 26.3 |
引用
如果您发现这个项目对您的研究有用,请使用以下BibTeX条目。
@article{VLDet,
title={Learning Object-Language Alignments for Open-Vocabulary Object Detection},
author={Lin, Chuang and Sun, Peize and Jiang, Yi and Luo, Ping and Qu, Lizhen and Haffari, Gholamreza and Yuan, Zehuan and Cai, Jianfei},
journal={arXiv preprint arXiv:2211.14843},
year={2022}
}
许可证
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
致谢
这个仓库是基于Detectron2, Detic, RegionCLIP和OVR-CNN构建的。我们感谢他们的辛勤工作。