Mengqi-Lei/count-anything
Code and implementation guidelines for the paper ✨Counting Anything. Project Page: https://mengqi-lei.github.io/count-anything-projectpage/
📊 Count Anything – 文本引导的对象计数
是什么 – 一种研究级的视觉-语言模型,给定一张图像和一个自然语言查询(例如 "飞机" 或 "有细胞核的细胞"),返回所有匹配查询的对象的精确位置。返回的点数即为计数结果。它可在多个不同领域中工作,如日常场景、卫星图像、医学显微镜、农业和微生物学。
为何重要 – 传统计数方法要么输出密度图(难以解释),要么仅限于固定类别集合。Count Anything 统一了类别条件计数与空间定位,并在 CLOC(跨域大规模对象计数)基准上进行训练(约 22 万张图像,619 个类别,1500 万实例)。论文表明,它在所有六个领域上均优于最近的开放世界模型(如 LocateAnything-3B)。
核心思想
| 组件 | 功能 |
|---|---|
| 区域级稀疏计数器(RSC) | 检测并锚定大型、稀疏分布的对象(例如飞机、树木)。 |
| 像素级密集计数器(PDC) | 预测微小或密集对象(例如细胞、谷物)的密集点云。 |
| 互补计数融合(CCF) | 无需额外参数即可融合 RSC 和 PDC 的输出,去除重复点,同时保留互补检测结果。 |
| 以点为中心的监督 | 所有训练标注(框、掩码、多边形等)均转换为每个实例一个点,简化学习信号。 |
快速开始(只想运行模型的用户)
- 创建环境
conda create -n countanything python=3.12 -y conda activate countanything pip install -r requirements.txt # 最小依赖;如需请安装匹配的 CUDA 版本 PyTorch - 下载模型检查点
- 访问 README 中链接的 Hugging Face 仓库,下载
count_anything.pt。 - 将其放置在
checkpoints/count_anything.pt。
- 访问 README 中链接的 Hugging Face 仓库,下载
- 对单张图像运行推理
输出文件夹为from count_anything import CountAnything model = CountAnything("checkpoints/count_anything.pt") results = model("path/to/image.jpg", "airplanes") print("Count:", results[0].count) results[0].save() # 保存叠加图像和包含点的 JSONexp/count_anything_inference/<image>__<query>__<timestamp>/。
训练 / 评估(研究用途)
- 数据 – 仓库期望使用 CLOC 数据集。仅提供标注文件;您必须自行下载原始图像(受许可证限制)。
data/README.md中的辅助脚本说明了如何组装完整数据集,或向作者申请现成副本。 - 权重 – 训练从公开的 SAM3 主干网络开始。请从官方 SAM3 Hugging Face 页面下载
sam3.pt,并放入pretrained/目录。 - 脚本 –
train.sh– 启动多 GPU 训练(默认配置config/count_anything_train_cloc.yaml)。val.sh– 在 CLOC 验证集上运行验证。test.sh– 在 CLOC 测试集上评估并生成predictions.json。
- 配置 – 所有路径、批量大小、学习率调度等均在
config/目录下的三个 YAML 文件中。若更改数据集布局或硬件,请相应调整这些文件。
数据集 – CLOC
- 范围 – 6 个视觉领域(通用场景、遥感、组织病理学、细胞显微镜、农业、微生物学)。
- 规模 – 约 22 万张图像,619 个文本类别,1500 万标注对象实例。
- 标注格式 – JSON 文件列出
image_path、文本查询以及目标类别的点(或可选框)标注。 - 版本 1.1 – 2026 年 7 月发布,包含对噪声标签的手动清理;请参阅
data/README.md获取下载链接。
更多信息
- 项目页面 – https://mengqi-lei.github.io/count-anything-projectpage/
- 论文(arXiv) – https://arxiv.org/abs/2605.30846 (README 中提供 PDF 链接)
- Hugging Face 上的模型与演示 –
- 引用 – 引用该工作时,请使用提供的 BibTeX 条目。
TL;DR
Count Anything 是一个跨域、文本驱动的对象计数模型,输出明确的点位置,基于大规模多域基准(CLOC)训练。仓库提供模型检查点、训练脚本以及清晰的推理、训练和数据集准备说明。这是一个真正的 AI 研究项目,而非简单演示或精选列表。
相关
- 项目
- 项目
- Dispatch
- Dispatch
- Dispatch