FOCI (Fine-grained Object ClassIfication)
收藏FOCI - 大型视觉语言模型细粒度对象分类基准
关于
我们提出了 FOCI,这是一个针对大型视觉语言模型(LVLMs)的细粒度对象分类基准。FOCI 将现有的图像分类数据集转化为明确的多个选择题。
使用基准
1. 准备数据
在开始之前,您需要下载并准备要使用的图像数据集。我们提供了一个指南 这里。
2. 准备环境
我们建议至少使用 Python >=3.9。需求可以在 requirements.txt 中找到。我们使用了 PyTorch 2.2.1,但旧版本或新版本也可能适用。
3. 运行基准
我们提供了一个简单的 CLI 来运行基准,可以这样调用:
python run_ic_bench.py --model=google/paligemma-3b-mix-224 --dataset=stanford_cars --prompt_query=Which of these cars is shown in the image? --image_root=/media/gregor/cache1/icbench/stanfordcars/stanford_cars
可用的数据集包括 imagenet, imagenet-rendition, imagenet-adversarial, imagenet-sketch, food101, flowers102, fgvc_aircraft, stanford_cars, oxford_pet, geode, imagenet-6k-{animal|plant|food|artifact}。更多示例请参见我们的 scripts。
4. 评估结果
我们提供了一个 notebook 以便于评估 CLI 生成的结果。
5. 额外内容:测试新模型
我们的代码很容易扩展到新模型(尤其是如果它们使用 Hugging Face):
- 基于参考 HfModel 或其他已实现的模型实现您的模型。
- 更新 model_template() 以提供您模型的指令模板。
- 更新 load_model() 以根据名称加载您的模型。
6. 额外内容:在新数据集上测试
我们的代码也很容易扩展到新的图像分类数据集:
- 实现一个加载器函数,该函数创建一个将标签映射到(相对)图像路径的字典,并将其添加到 DATASET_TO_LOADER。
- 完成。首次运行基准时,我们使用 CLIP 查找困难的多个选择选项并将其存储在 data 中,以供后续运行使用。
许可证与引用
这项工作基于 MIT 许可证。第三方软件和数据受其各自许可证的约束。如果您发现我们的代码/数据/模型或想法在您的研究中有用,请考虑引用该论文:
@article{geigle2024foci, author = {Gregor Geigle and Radu Timofte and Goran Glavav{s}}, title = {African or European Swallow? Benchmarking Large Vision-Language Models for Fine-Grained Object Classification}, journal = {arXiv}, volume = {abs/2406.14496}, year = {2024}, url = {https://arxiv.org/abs/2406.14496}, eprinttype = {arXiv}, eprint = {2406.14496}, }

- 1African or European Swallow? Benchmarking Large Vision-Language Models for Fine-Grained Object Classification维尔茨堡大学 · 2024年



