CoDi -- an exemplar-conditioned diffusion model for low-shot counting
该论文介绍了 CoDi,一种新型的范例条件潜扩散模型,它通过一个专门的调节模块生成高质量密度图以实现精确定位,有效地解决了密集、小目标区域中的挑战,从而在少样本目标计数任务中显著优于现有的最先进方法。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,你正试图数清沙滩上每一粒沙子,或是繁星点点的夜空中每一颗微小的恒星。如果你只看全景,它就像一片模糊的影像。如果你试图用放大镜逐一计数,你可能会漏掉一些,或者重复计算同一个。这就是计算机在尝试“计数”图像中的物体(这一任务被称为目标计数)时所面临的日常挣扎。长期以来,计算机有两种主要的计数方式。第一种就像是把水倒在沙子上:它们会创建一个“密度图”(density map),那是一个平滑的小山丘,高度代表了那里有多少物体。这种方法擅长得出大致的总数,但在告诉你每个颗粒具体在哪里方面表现得很糟糕。第二种方式则像是用激光笔为每一颗星星做标记。这对于寻找位置非常有效,但如果星星过于拥挤,计算机就会感到困惑,耗尽可用的“指针”,从而开始遗漏物体或陷入死循环。
现在,想象一位全新的艺术家,他不仅仅是画出一个模糊的山丘,也不仅仅是使用有限数量的激光指针。相反,这位艺术家从一张充满静态噪声的画布开始——就像没有信号的电视屏幕——然后通过一步步的过程,逐渐清除噪声,显现出一幅完美、清晰的图像,精准地展示每个物体所在的位置。这就是名为 CoDi(基于扩散的计数,Counting by Diffusion)的新方法的内核。这项研究背后的研究人员 Grega Šuštar 及其团队构建了一个系统,该系统利用了“扩散模型”(一种以生成图像闻名的 AI 类型)来解决计数问题。CoDi 不仅仅是猜测一个数字或画一个框,它学习如何对“去噪”后的空白画布进行处理,直到画面中跳出一个个清晰、独立的点,每个点代表一个物体。这个神奇的技巧在于,即使你只给它展示一两个例子,或者完全不给它任何例子,它也能完成任务。这就像向一位朋友展示一张特定种类的蘑菇照片,然后让他去森林里寻找所有的这种蘑菇;CoDi 不仅仅是猜测总数,它还能精准指向森林中最茂密处每一朵蘑菇的确切位置。
问题所在:“拥挤房间”的困境
当物体分布稀疏时,在照片中计数很容易。但当你面对一群蜜蜂、一堆葡萄或是一群人的照片时,情况会发生什么变化?这就是旧方法撞上南墙的地方。
“密度”方法就像是通过测量人群“热量”的高度来统计人群。如果人群密集,热量就高,计算机就知道那里有很多人。但它无法告诉你“谁”在哪里。如果你试图通过寻找热力图中最高的峰值来寻找个体,你往往会出错,因为热量会模糊在一起。
“检测”方法则像是拥有有限数量对讲机的保安。保安可以指向特定的人,但如果人太多了(超过了对讲机的数量),保安就必须将人群分成小组,分别计数,然后再尝试将答案缝合在一起。这种方式既慢又乱,经常导致重复计数或漏掉某些人。
解决方案:CoDi 的“神奇噪声”
作者提出了 CoDi,一个将计数视为“清理静态噪声”游戏的系统。
其工作原理如下,分步详解:
- 起点: 想象一个空白、充满噪声的电视屏幕。这是 CoDi 的起点。它还不知道物体在哪里。
- “范例”线索: 如果你想数苹果,你需要给计算机看几张苹果的照片(称为“范例”)。CoDi 有一个特殊的“调节模块”,它就像一个超级智能的过滤器。它观察你的苹果范例并说:“好的,我需要寻找看起来完全像这些的东西,并忽略其他一切。”
- 去噪之舞: CoDi 开始从电视屏幕中移除噪声,但它是以一种非常特定的方式进行的。它不仅仅是在猜测,而是逐渐细化图像。随着每一步的进行,模糊的噪声逐渐变成了越来越清晰的点。
- 结果: 到过程结束时,屏幕不再是一个模糊的山丘或一份混乱的列表。它是一张干净的地图,上面布满了细小、锐利的峰值。每个峰值都是一个完美的点,代表一个物体。计算机只需数一下这些点的数量即可。
其秘诀在于,CoDi 学习的是如何逐个生成这些锐利的点,而不是将它们平均化。这意味着即使在物体相互接触的极度拥挤场景中,CoDi 也能将它们区分开来并准确计数。
研究发现:击败最强者
团队在一些极具挑战性的数据集上测试了 CoDi,包括包含 147 种不同物体的 FSC147 和多类别计数数据集 MCAC。结果令人印象深刻:
- 少样本计数(Few-Shot Counting): 当仅给定少量示例(例如 3 张目标物体的图像)时,Co-Di 在准确度(平均绝对误差,MAE)方面比现有最强方法高出了 15%。
- 单样本计数(One-Shot Counting): 即使只给出一个示例,CoDi 依然是最强的,比之前的顶尖方法高出 13%。
- 无示例(无参考计数/Reference-less): 当没有任何示例且被要求统计图像中最常见的物体时,CoDi 仍然优于现有的最佳方法,领先了 10%。
- 多类别挑战: 在 MCAC 数据集上(即一张图像中可能同时混杂着苹果、橙子和香蕉),CoDi 碾压了竞争对手,比顶尖方法高出了惊人的 38%。
为什么这很重要
论文明确排除了“需要大量预训练指针(如旧的检测方法)才能统计庞大人群”的观点。他们证明了将图像分块(切成碎片)是一种笨拙的权宜之计,不仅会减慢速度还会导致错误。CoDi 证明了你不需要切割图像;你可以一次性处理整个图像,并且依然能获得完美的结果。
他们还表明 CoDi 具有很强的鲁棒性。即使你提供的示例略显凌乱,或者物体非常微小,它依然表现稳健。事实上,作者发现 CoDi 非常稳定,如果你将同一张图像通过它运行二十次,计数的平均变化量不到 1%。
局限性与未来
虽然 CoDi 是一个巨大的进步,但作者也坦诚了它的短板。它有时在处理极其细长(如侧立着的书架上一排书)或物体以奇怪方式重叠的对象时会遇到困难。他们还指出,虽然它非常擅长寻找物体的“中心”,但目前还无法画出整个物体的边界框(不过他们计划对此进行改进)。
简而言之,CoDi 表明,通过将计数视为一个“清理噪声”的过程,而不是“猜测一个数字”,我们可以让计算机像人类一样看待人群:不是看作一片模糊,而是一个个清晰、可数的个体。这是一种新的观察世界的方式,一次一个点,循序渐进。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。