
摘要
视觉世界中的开放类别自然呈现出长尾分布,这对现代视觉系统构成了巨大挑战。现有方法通常采用类别再平衡策略或直接优化网络模块来应对该问题。然而,这些方法仍基于预定义的有限类别集合进行模型训练,限制了监督信息的丰富性,并制约了模型在新类别实例上的泛化能力。近年来,大规模对比视觉-语言预训练技术的发展为视觉识别开辟了一条新路径。借助开放词汇的监督信号,预训练的对比视觉-语言模型能够学习到强大的多模态表征,有望有效应对数据稀缺与未见概念的问题。通过计算视觉输入与文本输入之间的语义相似度,视觉识别任务被转化为视觉-语言匹配问题。受此启发,本文提出BALLAD方法,旨在利用对比视觉-语言模型实现长尾识别。首先,我们在特定的长尾目标数据集上继续对视觉-语言主干网络进行对比学习预训练;随后,冻结主干网络,并引入一个额外的适配器(adapter)模块,结合重采样策略构建平衡的训练样本,以增强尾部类别的表征能力。在三个主流长尾识别基准上的大量实验表明,本文提出的简单而高效的方法取得了新的最先进性能,显著优于现有竞争性基线。相关代码已开源,地址为:https://github.com/gaopengcuhk/BALLAD。
代码仓库
gaopengcuhk/ballad
官方
pytorch
GitHub 中提及
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| long-tail-learning-on-cifar-100-lt-r-100 | BALLAD (ViT-B/16) | Error Rate: 22.2 |
| long-tail-learning-on-imagenet-lt | BALLAD(ResNet-101) | Top-1 Accuracy: 70.5 |
| long-tail-learning-on-imagenet-lt | BALLAD(ViT-B-16) | Top-1 Accuracy: 75.7 |
| long-tail-learning-on-imagenet-lt | BALLAD(ResNet-50×16) | Top-1 Accuracy: 76.5 |
| long-tail-learning-on-imagenet-lt | BALLAD(ResNet-50) | Top-1 Accuracy: 67.2 |
| long-tail-learning-on-places-lt | BALLAD(ViT-B-16) | Top-1 Accuracy: 49.5 |
| long-tail-learning-on-places-lt | BALLAD(ResNet-101) | Top-1 Accuracy: 47.9 |
| long-tail-learning-on-places-lt | BALLAD(ResNet-50×16) | Top-1 Accuracy: 49.3 |
| long-tail-learning-on-places-lt | BALLAD(ResNet-50) | Top-1 Accuracy: 46.5 |