跳转至

Count Anything - 文本引导的通用目标计数框架

📊 Level ⭐⭐⭐ | 7.3KB

Source: Raw

摘要

arXiv 2605.30846 提出了 Count Anything —— 一个文本引导的通用目标计数框架。它把计数任务从「单类别、特定数据集」的形式重新定义为「图像 + 自然语言查询 → 实例锚点集 + 计数」的统一形式。配套发布了 CLOC(Cross-domain Large-scale Object Counting)基准,覆盖六大视觉域 22 万张图像、619 类、1500 万个目标实例。

核心要点

  1. 文本引导的计数公式:给定图像 + 自然语言查询,模型返回一组实例锚点(instance-grounded set of target points),其基数即为计数。这种形式统一了「类别条件计数」与「可解释的空间定位」。
  2. CLOC 基准:跨域大规模目标计数数据集,整合六类视觉域(通用场景、遥感、病理切片、细胞显微、农业、微生物),约 22 万图、619 类、1500 万实例。
  3. 双粒度实例枚举:抛弃主流的密度图(density-map)方法,采用离散实例点。一个 Region-level Sparse Counter 处理大而稀疏目标,一个 Pixel-level Dense Counter 处理小、密集、弱边界目标。
  4. 点中心监督策略(point-centric supervision):从异构标注中学习 —— 不同数据集的目标可能用点、框、mask 标注不同。
  5. 无参数融合(Complementary Count Fusion):把两个 Counter 的输出以无参数方式组合。

深度分析

1. 形式化重新定义:把"计数"变成"指代表达"

传统目标计数是分类问题 —— 你先决定数「人」「车」「细胞」,再训练一个模型。结果是每增加一个类别就要重新收集数据、训练、部署。Count Anything 走的是「指代表达」(Referring Expression)的路子:用户用自然语言指定要数什么,模型既给出数字,也给出每个实例在图中的位置(点集)。

这个改写带来三个实际收益: - 零样本类别扩展:新类别("数一下这片麦田里发黄的麦穗")不需要重新训练。 - 可解释性:拿到数字同时拿到位置点,可以可视化、可以复核、可以二次过滤。 - 统一接口:所有下游任务(密度估计、目标检测、实例分割)可以共享同一套点集输出。

2. 双粒度设计是真正的工程创新

计数任务的最大痛点是 尺度跨度极大 —— 同一张图里可能有占据画面 30% 的树,也有小到 3×3 像素的昆虫卵。单一架构无法同时兼顾两种情况。

Count Anything 用两个 Counter 解决: - Region-level Sparse Counter:先生成候选区域锚点(类似检测框中心),再在每个区域里枚举。适合大目标、稀疏分布。 - Pixel-level Dense Counter:对每个像素预测是否是某个目标点,密集预测。适合小目标、密集分布、边界模糊。

两个 Counter 的输出通过 Complementary Count Fusion(无参数融合)合并 —— 简单说就是分别投票。这种双粒度思路在语义分割(HRNet)、目标检测(RetinaNet 的 FPN)里都出现过,但在计数领域还属首次。

3. CLOC 基准的覆盖广度

CLOC 把六个完全不同的视觉域合并成一个数据集: - General Scene:COCO、PASCAL VOC 类 - Remote Sensing:DOTA、DIOR 类 - Histopathology:细胞核计数 - Cellular Microscopy:荧光显微 - Agriculture:果实、病虫害 - Microbiology:细菌、菌落

这种跨域整合让"通用计数"有了可衡量的目标。CLOC 22 万图、1500 万实例的规模也接近 ImageNet 的标注量。

4. 跟传统密度图方法的对比

主流密度图方法(如 CSRNet、DM-Count)的核心假设是「学习一个像素到密度的回归函数」。这种方法的弱点: - 后处理依赖:要把密度图积分成数字,需要选阈值。 - 跨域泛化差:训练集的人群密度分布和测试集相差大时性能骤降。 - 无可解释性:输出是密度图,看不出每个目标在哪。

Count Anything 的点集输出天然规避了上述三个问题。

实践启示

  1. 想做"通用 X"的任务,先把输入形式重写一遍。Count Anything 没有提出新模型架构,只是把计数从「分类 + 回归」重写为「指代表达 + 集合输出」,但这一改写就让它支持了零样本类别扩展。这是 2026 年多模态基础模型时代最值得借鉴的方法论 —— 形式重写比架构升级更值。
  2. 双粒度是处理尺度跨度的通用模式。任何涉及"目标大小差几个数量级"的任务(计数、检测、分割、检索)都可以借鉴 Region + Pixel 的双路设计。
  3. CLOC 跨域基准是这类工作的关键基础设施。没有统一基准,"通用"就只是宣传话术。Cloc 的发布本身和模型一样重要 —— 它让后续工作有可比的目标。
  4. 点集输出比密度图更适合下游系统。如果你的计数结果要进入决策系统(库存、报警、统计),点集比密度图易用得多 —— 每个点都是结构化数据,可以做空间查询、密度统计、轨迹跟踪。

相关

  • 原文存档
  • 论文: https://arxiv.org/abs/2605.30846
  • 代码: https://github.com/Mengqi-Lei/count-anything

相关实体