Count Anything:万物计数
尽管通用视觉模型发展迅速,物体计数任务仍分散在各个特定领域的数据集和任务设定中。现有计数模型通常针对人群、车辆、细胞、农作物或遥感物体等场景定制,难以泛化到不同类别、视觉域、物体尺度和密度分布。本文研究跨域文本引导的物体计数,模型输入图像和自然语言查询,输出一组实例级目标点,其数量即为计数。该设定统一了类别条件计数与可解释的空间定位。 为了支持此设定,我们构建了CLOC(跨域大规模物体计数数据集),将多种公开数据源重组为统一基准。CLOC 涵盖六大视觉域:通用场景、遥感、组织病理学、细胞显微、农业和微生物学,包含约22万张图像、619个类别和1500万实例。基于CLOC,我们提出 Count Anything,一种专为文本引导物体计数的通用模型。与主流密度图方法不同,Count Anything 采用离散实例点,执行双粒度实例枚举:1)区域级稀疏计数器为较大且稀疏的目标提供物体级锚点;2)像素级密集计数器通过密集点预测处理小尺度、密集和弱边界的目标。点中心监督策略支持异构标注学习,而互补计数融合以无参数方式结合两个计数器。 大量实验表明,Count Anything 在准确性和跨域泛化方面表现优异,超越现有开放世界计数方法。代码已开源。
论文精读
TL;DR Count Anything 用文本引导跨域物体计数,通过区域稀疏与像素稠密双粒度计数器互补融合,在统一点监督下实现多域高精度与强泛化。
问题
物体计数是视觉理解的基础任务,在自动驾驶、医学影像分析、农业监测等场景中应用广泛。当前领域正在从特定场景计数向通用计数演进,但多数方法仍与任务深度绑定,无法应对开放词汇、多域统一的计数需求。
现有方法的局限
- 密度图回归范式主导,但依赖平滑的高斯核假设,对密集、小目标及弱边界对象常出现计数误差,且难以提供实例级可解释性。
- 领域专用设计导致碎片化:人群计数、细胞计数、遥感目标计数等各有独立的模型、损失函数和标注协议,无法在跨域数据上泛化。
- 封闭类别设定:传统计数器仅能处理训练时见过的类别,缺乏文本引导的灵活查询能力,无法适应开放世界需求。
- 异构标注难以统一:点标注、框标注、密度图标注在跨域数据中混杂,现有方法无法从多源弱监督中有效学习。
技术挑战与重要性
该问题的难点在于,不同视觉域间的物体尺度、密度分布、纹理背景和标注精度差异极大。例如,遥感图像中的车辆和显微镜下的细胞,其几何先验和信噪比完全不同,单一密度图模型难以同时建模。此外,自然语言查询的引入要求模型将文本语义与空间定位对齐,这对视觉-语言理解提出更高要求。业界对通用视觉模型的追求逐渐升温,一个统一的计数基础模型可大幅降低部署成本,促进跨行业应用快速落地。
类比:如同 Segment Anything 统一了分割任务,Count Anything 旨在以文本为提示,在任意视觉域中完成可解释、可扩展的物体计数,让计数能力从“专有工具”变为“公共服务”。
核心洞察
- 文本引导的实例点计数统一了多域计数任务,将计数从回归问题转化为可解释的点定位问题,避免了密度图方法在跨域时对密度分布先验的依赖。与现有面向特定场景(如人群、细胞)的计数模型不同,该方法通过自然语言查询和显式定位点,使模型能泛化到未见类别和视觉域。
- 双粒度实例枚举架构结合了区域稀疏计数器和像素密集计数器,前者为大尺度稀疏目标提供目标级锚点,后者针对小目标密集场景进行像素级预测,并通过无参数的互补融合机制整合结果。这种设计打破了传统密度图方法在对象尺度和密度变化时的性能瓶颈,使得单一模型能够适配从卫星遥感图像中的孤立建筑到微生物显微镜图像中密集菌落的极端变化。
方法
输入与任务形式
模型接收一幅图像与一条自然语言查询 query,例如 "count all cars" 或 "count the cells",输出一组实例点坐标,其基数即为目标数量。该文本引导的计数形式将类别条件计数与可解释的空间定位统一于同一框架。
双粒度实例枚举
Count Anything 摒弃了主流的密度图回归,转而预测离散实例点,通过两个互补计数器协同工作:
- 区域级稀疏计数器
Region-level Sparse Counter:基于区域提议生成对象级锚点,负责大尺寸、稀疏分布的目标。它沿用类似检测头的结构,对每个提议预测一个点位置,天然适合标注为边界框的数据。 - 像素级稠密计数器
Pixel-level Dense Counter:针对小目标、高密度聚集及边界模糊的物体(如细胞、遥感小目标),直接输出逐点的稠密预测,有效应对密集场景与点标注数据。
点中心监督
面对多源异构标注(点、框、掩膜等),统一转换为点中心监督 point-centric supervision。对于框标注,采样框内点作为正样本;对于掩膜,采样掩膜内点。这种策略使模型能从不同粒度的标注中一致学习,无需依赖统一形式的标签。
互补计数融合
两个计数器的输出通过无参数的互补计数融合 Complementary Count Fusion 模块合并。它利用稀疏计数器在高置信度区域的主导作用,同时让稠密计数器在稀疏计数器失效的密集区补充计数,最终得到全局一致的点集及数量。该融合不引入额外参数,保持模型简洁。
与同类方法的差异
与依赖密度图回归的方法(如 CSRNet、DM-Count)不同,Count Anything 直接输出可解释的实例点,并通过双粒度架构和点中心监督实现了对异构标注的真正跨域泛化,而非仅适配单一领域或标注形式。
实验
实验设计
实验基于 CLOC 数据集,覆盖六大视觉域(General Scene、Remote Sensing、Histopathology、Cellular Microscopy、Agriculture、Microbiology),包含约 220K 图像、619 类别及 15M 实例点标注。训练采用点中心监督策略 ,从异构标注中学习区域级稀疏计数与像素级密集计数,并通过互补计数融合 (Complementary Count Fusion) 得到最终预测。评估指标为标准点计数误差(MAE、RMSE),基线包括主流开放世界计数方法以及各域专用模型。
关键发现
- 双重粒度设计 有效应对目标尺度与分布的巨大差异:区域级稀疏计数器 为大型稀疏目标提供鲁棒锚点,像素级密集计数器 精准捕获小且拥挤的目标。
- 无参数的互补计数融合 在两个计数器间自动平衡,无需额外调参即提升跨域性能。
- 在跨域泛化测试中,Count Anything 在所有视觉域上均取得领先精度,域间迁移鲁棒性显著超越现有方法。
与基线对比
与传统密度图方法相比,Count Anything 输出离散实例点,可解释性强且避免了回归模糊性。相较于近期开放世界计数模型,该工作在多个域上实现一致的误差降低(原文报告显著的 MAE 改善),验证了统一架构在多域计数中的强大潜力。
行业影响
落地场景
Count Anything 的文本引导跨域计数能力可直接嵌入需要量化物体分布的工业系统。典型场景包括:
- 遥感与农业:无人机影像中自动统计作物株数或病虫害区域,支持精准农业决策。
- 医疗病理与细胞显微:病理切片核计数、细胞群密度分析,加速诊断与药物筛选。
- 零售与安防:货架商品计数、客流密度监控,优化库存与安全管理。
- 内容审核与广告:自动估计图片中特定对象数量,辅助广告素材合规或用户生成内容筛选。
商业价值
该模型将零散领域计数统一为一个通用框架,显著降低多任务定制成本:
- 降本:单一模型替代多个专用计数器,减少训练、部署和维护开销;点中心监督可兼容异质标注,降低数据清洗成本。
- 增收:在农业、医疗影像分析等场景中,提升计数精度直接转化为产量预测准确性或诊断效率,带来业务价值。
- 体验提升:开放词汇计数使得非技术用户也能通过自然语言查询即时获得统计结果,降低使用门槛。
与现有产品/工作流的接口
模型输出为实例位置点集,天然兼容现有视觉定位与计数流水线:
- 可封装为 REST API 或 ONNX 推理服务,接收图像与文本提示,返回点坐标与数量,供前端标注工具或 BI 系统消费。
- 稀疏 / 稠密双计数器可并行推理,通过无参数融合生成最终结果,集成门槛低,无需额外训练。
- 可与主流标注平台对接,将预测点转为二次校验或主动学习样本,提升标注效率。
具体 use case:一家全球电商平台在其商品图片审核流程中集成 Count Anything,用自然语言查询“红色连衣裙数量”以自动校验广告图法律合规性;同时,一家跨国农业科技公司将模型部署于无人机影像分析管道,输入“成熟番茄个数”即生成热力图与统计报表,指导采收调度。
局限
- 论文所提 CLOC 数据集虽涵盖六大视觉域,但现实世界的多样性远超于此,模型在完全不同的域(如工业检测、天文图像)上可能遇到域偏移,导致计数性能下降;此外文本查询对用语敏感,非标准表达可能引发误判,模型的鲁棒性有待验证。
- 双粒度计数架构(区域稀疏计数器与像素密集计数器)需要并行运行并融合,增加了计算和内存开销,不利于部署在低延迟推理场景。区域计数器对大尺寸稀疏目标有效,但在目标极小且极其密集时可能失效,而像素计数器能够补充但也会产生冗余预测,且融合策略的无参数设计可能无法自适应调整权重,在复杂场景中可能次优。
- 与传统密度图模型相比,Count Anything 的离散点预测在极密场景中可能无法准确分布点,导致计数偏差;同时,其特定文本引导设置需提供对象名称或描述,无法自动发现并计数任意对象,这在与类别无关的计数任务中限制了灵活性,且在没有合适文本先验时会失败。