当前位置: 首页 > news >正文

目标计数论文阅读(1)Class-Agnostic Counting

论文地址:Class-Agnostic Counting

一、摘要

研究旨在提出一种通用物体计数模型,能够计数任何类别的物体,这与绝大多数为特定类别设计的现有方法不同。

为实现这一目标,研究将计数问题重新定义为匹配问题,从而能够利用计数任务中天然存在的图像自相似性特性。

其主要贡献包括以下三个方面:

  1. 提出通用匹配网络(GMN)架构:这是一个能够以类别无关(class-agnostic) 的方式计数任何物体的模型架构。
  2. 利用追踪数据进行训练:通过将计数定义为物体匹配,研究可以充分利用大量为视频目标追踪标注的数据。这些数据包含丰富的自然重复对象,非常适合用于训练这种计数模型。
  3. 引入适配器模块实现少样本定制:为了根据用户的不同需求快速定制GMN模型,研究采用了一个适配器(Adapter)模块。该模块只需使用少量标注示例,并且仅调整模型的一小部分参数,就能对模型进行专业化微调。这是一种少样本学习(Few-shot Learning),对于像微生物学等需要专家知识、难以获取大量标签的领域非常实用。

研究者们在多种计数基准测试(包括细胞、汽车和人群)上验证了方法的灵活性。结果表明:

  • 模型在细胞和人群计数数据集上取得了有竞争力的性能。
  • 在汽车数据集上,仅使用3张训练图像就超越了当时的最高水平。
  • 当使用完整数据集训练时,所提出的方法大幅优于所有先前的方法。

二、介绍

本文的研究目标是对图像中感兴趣的目标进行计数。在现有文献中,物体计数方法通常被归为两类:

  1. 基于检测的计数:该方法依赖于能够定位图像中物体实例的视觉检测器。然而,这种方法需要为不同的物体训练单独的检测器,并且在标注数据稀少的情况下,检测问题本身仍然极具挑战性。

  2. 基于回归的计数:该方法避免了解决复杂的检测问题。相反,这类方法旨在学习从全局图像特征到一个标量(即物体数量)的映射,或者从密集图像特征到密度图的映射,从而在计数高度重叠的实例上取得了更好的效果。

然而,无论是基于检测还是基于回归的方法,以往的研究都仅针对特定的物体类别(例如汽车、细胞、企鹅、行人)开发算法。

图1: 我们的模型(使用追踪数据训练)能够对物体进行计数,例如窗户或柱子。这些物体通过一个示例图像块(红色框出) 来指定,而无需任何额外的训练。热力图显示了这些重复物体在图像中的定位情况。需要强调的是,这张图像在训练期间从未被模型见过。


核心目标

本文旨在开发一个类别无关的计数网络。用户只需指定一个示例图像块(如图1所示),该网络就能灵活地计数图像中所有相似的物体实例,而无需预先定义物体类别。

核心方法:利用自相似性

  1. 理论基础:该方法基于一个被以往计数研究忽视的图像特性——图像自相似性。即图像中的小块会以近似的形式重复出现(例如,同一图像中的不同块可以相互表示)。这一特性在纹理合成、图像去噪等领域已有广泛应用。
  2. 问题重构:基于自相似性,计数问题可以被重新定义为图像匹配问题。计数过程就是在同一张图像内匹配与示例块相似的 patches

关键技术:通用匹配网络 (GMN)

  • 为此,我们开发了一个通用匹配网络 (GMN)。该网络学习一个判别性分类器,用于识别和匹配示例块的所有实例。
  • 训练数据:由于在单张图像内匹配物体实例的变体,与在视频序列的不同帧之间跟踪同一物体非常相似,因此我们可以利用大量为“目标追踪”标注的视频数据来训练GMN。这种数据天然包含了物体的重复和变化,是训练匹配模型的绝佳资源。(这一“图像内匹配即图像内追踪”的见解可追溯至Leung和Malik的研究)。

功能扩展:适配器模块

除了通用计数,用户常有更具体或更泛化的需求(例如,只数“红色汽车”而非所有汽车,或计数所有方向的汽车而不仅外观相似的)。

  • 为此,我们引入了一个适配器模块
  • 该模块通过训练少量可调参数并结合极少的标注数据,实现了快速领域自适应少样本学习。这使得模型能够快速适应新的、更专业或更宽泛的计数要求,而无需重新训练整个网络。

三、方法

本文研究实例计数问题,即对图像中同一类别的物体(如建筑物上的窗户、停车场中的汽车或特定类型的细胞)进行计数。

为利用图像的自相似性,我们将计数问题重新定义为通过匹配来定位和计数"重复"实例。我们提出了一种新颖的通用匹配网络(GMN)架构,该架构学习在度量空间中比较两个图像块的方案。模型结构天然支持类别无关计数,因为它学习的是搜索包含目标实例的示例块的重复出现。值得注意的是,这里"重复"的概念定义非常广泛,实验表明即使物体存在各种形状、重叠和复杂外观变化,仍可被视为重复实例。

整个GMN包含三个模块(如图2所示):

  1. 嵌入模块:使用双流网络分别将示例图像块编码为特征向量,将全分辨率图像编码为密集特征图
  2. 匹配模块:学习判别性分类器,将示例块与图像中的实例进行密集匹配,克服光照变化、微小旋转等图像内变化
  3. 计数与定位:通过取输出相似度图的局部极大值获得物体位置,通过对相似度图积分获得总数。实验表明,积分法在实例严重重叠时效果更好,而局部极大值法更适用于物体分离良好且需要位置信息的场景
    在这里插入图片描述

为避免耗时的计数数据标注,我们利用视频中自然存在的重复现象(物体在帧间以不同视角出现),使用目标追踪数据(ILSVRC视频数据集,包含近4500个视频和超过100万标注帧)训练通用匹配网络。

对于训练好的模型,可能因图像统计差异(如自然图像与显微图像)或用户需求变化(如计数所有汽车vs只计数红色汽车)而无法完美泛化到目标领域。因此我们引入残差适配器模块,只需冻结通用匹配网络的大部分参数,并用目标域的少量标注示例训练适配器(少量额外参数),即可高效适应新的计数任务。

这种方法实现了最小化训练参数极少训练数据的高效领域自适应,使模型能够快速适应各种专业领域的计数需求。

3.1 嵌入模块:双流编码网络

在此模块中,定义了一个双流网络,用于将原始RGB图像转换为高级特征编码。这两个流使用独立的参数化函数(φ 和 ψ)以实现更强的表示能力:

函数定义:

  • 示例块编码流v = φ(z; θ₁)

    • 输入:一个示例图像块 z(尺寸为 63×63×3
    • 输出:一个特征向量 v(尺寸为 1×1×512
    • 功能:将局部小块编码为一个紧凑的向量表示。
  • 全图编码流f = ψ(x; θ₂)

    • 输入:完整图像 x(尺寸为 H×W×3
    • 输出:一个密集特征图 f(尺寸为 (H/8)×(W/8)×512
    • 功能:将整张图像编码为一个空间特征图,保留了空间信息。

处理细节:

  1. 特征归一化:特征向量 v 和特征图 f 都沿着特征维度(512维)进行了 L2归一化。这一步至关重要,它能确保后续的相似度计算是在统一的度量空间中进行。
  2. 网络架构:在实践中,函数 φ(·; θ₁)ψ(·; θ₂) 均采用 ResNet-50 网络,并在最后的 conv3_x 层之后截断(即不使用更深的全连接层)。
  3. 全局最大池化:对于示例图像块流,从ResNet输出的特征图(其空间尺寸大于1x1)会经过一个全局最大池化操作,最终被压缩成 1×1×512 的特征向量 v

该模块的核心作用是:

  • 双流处理:分别处理不同尺寸的输入(小块和全图),并为其选择合适的特征表示。
  • 特征提取:使用强大的CNN主干网络(ResNet-50)将像素信息转换为高维、抽象的特征。
  • 标准化:通过L2归一化,为下一阶段的匹配模块(通常使用点积计算相似度)准备好标准化的输入。

3.2 匹配模块:生成相似度热力图

该模块的核心是一个可训练的函数 γ(·; θ₃),用于建模示例块特征向量 v 与全图特征图 f 之间的关系,并最终输出一个相似度热力图(如图2所示)。

具体流程如下:

  1. 广播拼接

    • 首先,将示例块的特征向量 v(尺寸 1×1×512)进行广播,使其空间尺寸扩展至与全图特征图 f(尺寸 H/8 × W/8 × 512)完全相同。
    • 然后,将广播后的 vf特征维度上进行拼接,得到一个尺寸为 H/8 × W/8 × 1024 的组合特征张量 [broadcast(v) : f]
  2. 关系建模与上采样

    • 函数 γ(·; θ₃) 负责处理这个组合特征张量,其结构如下:
      • 一个 3×3 卷积层:用于融合和建模示例特征与全图各个位置特征之间的关系。
      • 一个步长为2的 3×3 转置卷积层:用于上采样,将特征图的空间尺寸放大一倍,以恢复细节并最终输出一个高分辨率的相似度图。
  3. 输出

    • 整个过程的输出即为相似度图 Sim,其计算公式为:
      Sim = γ( [broadcast(v) : f]; θ₃ )
    • 这个热力图中的每个像素值代表了全图中对应位置与示例块 z 的相似程度。

核心优势

  • 全卷积设计:通过广播和拼接操作,实现了全卷积的特性。这意味着无论输入图像 x 的尺寸多大,网络都能高效地计算整个图像的相似度图,而无需将其裁剪成块。
  • 高效匹配:该设计允许模型一次性比较示例对象与图像中所有其他候选对象,极大地提高了计算效率。
  • 可学习匹配:匹配函数 γ 是可训练的,这意味着它能够学习到如何根据任务需求(而不仅仅是简单的像素或特征差异)来判别两个对象是否属于“同一类”重复实例。

3.3 训练通用匹配网络

好的,这是对技术细节和结果段落的中文解释:

训练与验证

1. 训练设置:

  • 数据集:通用匹配网络(包含嵌入和匹配模块)在 ILSVRC 视频数据集上进行训练。
  • 真值标签:在每个实例的中心位置放置一个高斯分布(Gaussian),并将其乘以一个缩放因子(100),以生成训练目标。
  • 损失函数:使用加权均方误差(MSE)损失进行回归训练。
  • 设计优势:回归高斯分布使得最终计数可以通过对输出的相似度图进行简单求和(积分) 来获得。从这个意义上说,该相似度图也充当了密度图的角色。

2. 数据准备与增强:

  • 输入处理
    • 示例块:被重新缩放至 63×63 像素,并确保目标物体居中。
    • 搜索图像:从一个以缩放后物体为中心的更大区域裁剪出 255×255 的图像块。缩放因子通过公式 s × h × w = 63² 计算得出,以确保尺度一致性。
  • 数据增强:采用了水平翻转、小幅旋转(<25°)和缩放,并同时采样正样本对(同一物体)和负样本对(不同物体)进行训练。
    在这里插入图片描述
    通用匹配网络结构

3. 直接应用与验证:
在追踪数据上完成预训练后,该模型可直接用于检测图像内部的重复实例(如图3所示)。结果展示了几个有趣的现象,验证了其类无关计数的能力:

  • 超越简单匹配:网络学会了在更复杂的层面上进行匹配,例如:
    • 匹配不同视角的动物。
    • 处理部分遮挡的鸟类。
    • 匹配穿着不同、外观差异大且可能存在遮挡的行人。
  • 处理重叠:能够处理严重重叠的实例(如飞机案例)。
  • 强大的泛化性:尽管训练集(ImageNet)全是自然图像,且没有任何类别与HeLa细胞在外观或分布上相似,但预训练模型依然能够成功处理细胞这种在外观和形状上存在巨大变化的物体。
    在这里插入图片描述图3: 通用匹配网络在视频验证集上以及在一个未见过的HeLa细胞数据集上的相似度预测结果。示例图像块用红色方框标出。图像已用均值填充,并且为了可视化目的调整了分辨率。

这些结果有力地验证了构建类别无关计数网络这一核心思想的可行性。
然而,能够轻松地将预训练模型进一步快速适配到新的特定领域,这一点至关重要。这为下文引入适配器模块以实现高效的少样本领域自适应做好了铺垫。

好的,这是对“2.4 Adapting”节选内容的中文解释:

3.4 适配(Adapting)

接下来的目标是将(预训练好的)网络专门化到新的领域或满足新的用户需求。

1. 实现方法:
我们采用了残差适配器模块。具体实现是在网络的嵌入模块中,与原有的每个 3×3 卷积层并行地添加一个 1×1 卷积层来作为适配器。

2. 适配流程:
在适配训练阶段,我们采用以下策略:

  • 冻结主网络冻结预训练的通用匹配网络中所有权重参数
  • 微调少量参数仅训练新添加的适配器1×1 卷积)和已有的批归一化(Batch Normalization)层的参数。

3. 参数效率:
这种策略带来了极高的参数效率:

  • 网络总参数量:6.0 Million (M)
  • 可训练参数量:178 Thousand (K)
  • 可训练参数占比:仅约 3%

核心优势

这种方法体现了巨大的实用优势:

  • 高效性:无需重新训练整个庞大模型,大大节省了计算资源和时间,实现了快速领域自适应
  • 数据经济:由于只需要优化极少的参数,因此仅需目标域的极少量标注图像(少样本学习)即可有效适配,非常适合标注成本高的专业领域。
  • 稳定性:冻结主干网络保留了在大量数据上学到的通用特征表示和匹配能力,避免了在小数据集上微调全部参数可能导致的灾难性遗忘或过拟合。
  • 灵活性:同一个预训练好的通用GMN主干网络,可以通过搭配不同的适配器,快速适应各种不同的具体任务和领域,实现了“一网多用”。

好的,这是对“2.5 讨论与先前工作的关系”节选内容的中文解释和分析:

3.5 讨论与先前工作的关系

物体计数带来了一些在追踪任务中不那么突出或不存在的额外挑战:

  1. 输出质量要求更高

    • 追踪:只需要在候选窗口中找到一个响应最大值来定位物体。
    • 计数:需要一个清晰、干净的输出热力图,以将多个真实匹配噪声和误报区分开来。
  2. 外观变化更剧烈

    • 追踪:物体的形状和外观通常是连续变化的(相邻帧间相似)。
    • 计数:物体可能面临更极端的外观变化,例如:大幅度的旋转、巨大的类内差异(例如,汽车的颜色和形状各不相同)。

因此,我们发现追踪中常用的模板匹配方法(如SSD-平方差和或互相关)不足以满足我们的计数目的(表4将展示其性能不足)。为应对这些挑战,我们选择学习一个判别性分类器 γ(·; θ₃) 来区分示例块和搜索图像,这个思想可追溯至 [23]。


与相关工作的比较

  • 适配器放置策略
    • 残差适配器仅添加在嵌入模块中。然而,我们训练整个网络中所有的批归一化(BN)层的参数。
    • Marsden等人 [25] 也使用残差适配器来使网络适应不同物体的计数。
      • 他们的策略:将模块放在最后的全连接层中,用于直接回归一个数量值。
      • 我们的策略:将适配器添加到嵌入模块残差块中的卷积层里。
  • 我们的优势
    • 我们的策略允许适配器在基础模型的每一个阶段改变滤波器的响应。
    • 这提供了更强的适应能力和灵活性,能够更精细地调整网络的特征表示,以应对不同领域的外观变化,而不仅仅是调整最终输出。

总结

本节阐明了计数问题相比追踪问题的独特性和更高难度,解释了为何需要采用学习判别性分类器而非传统模板匹配方法。同时,通过与前人工作对比,突出了本文在适配器模块设计位置上的创新及其带来的性能优势(更强大的适应能力)。

四、实验

在这里插入图片描述图 5 展示了在 HeLa 细胞测试集上的示例检测结果。基于匈牙利匹配的正确检测用绿色的 “+” 标记,误报用红色的 “x” 标记,漏检用黄色的 “◦” 标记。
在这里插入图片描述图 6 展示了在 CARPK 数据集上的样本检测结果。上排是原始图像,下排是预测的检测结果。正确的检测用绿色的 “+” 标记,误报用红色的 “x” 标记,漏检用黄色的 “◦” 标记。许多漏检的结果是阴影中的暗色车辆,经过检查,即使是人眼也难以辨认。
在这里插入图片描述表 4 展示了在 CARPK 数据集上的平均绝对误差(Mean Absolute Error, MAE)、均方根误差(Root Mean Squared Error, RMSE)、召回率(Recall)和精确度(Precision)的比较。其中,“*”表示该方法已经在完整数据集上进行了微调,而“†”表示该方法已经根据数据集进行了修订,如文献[16]所述。我们展示了我们的方法在3张图像上训练以及在完整数据集上训练的结果,使用了不同的阈值T。我们通过每张图像中5个随机采样的示例块计算MAE,最终的计数是通过局部最大值(通过检测计数)获得的。注意,示例块是从训练集中的图像中采样的,不同的示例块对性能的影响可以忽略不计。此表中未报告标准差,但可以根据之前报告的方法轻松计算。


文章转载自:

http://qXXyg4FQ.qxjck.cn
http://9UltOCFx.qxjck.cn
http://fthBoCDt.qxjck.cn
http://wE7p92pG.qxjck.cn
http://r80gnhAo.qxjck.cn
http://rR1S17SM.qxjck.cn
http://QyTv2OXE.qxjck.cn
http://si0PEJy7.qxjck.cn
http://7GEcEF42.qxjck.cn
http://QrJg8gSX.qxjck.cn
http://Mva6hyah.qxjck.cn
http://XSueCTc5.qxjck.cn
http://qAKOcg6F.qxjck.cn
http://uaTehHPR.qxjck.cn
http://OyJNpoKw.qxjck.cn
http://l0QbgUJ8.qxjck.cn
http://nCXT2Hhp.qxjck.cn
http://bdKCnuUq.qxjck.cn
http://LovInGuR.qxjck.cn
http://ECMWpIvo.qxjck.cn
http://3QLRs5G7.qxjck.cn
http://oNAcXfE3.qxjck.cn
http://U9GpJPtv.qxjck.cn
http://JDhkQvQW.qxjck.cn
http://Flyue3Pr.qxjck.cn
http://2hgljjyv.qxjck.cn
http://JifU2g58.qxjck.cn
http://6icuGerH.qxjck.cn
http://UxRtYHWi.qxjck.cn
http://kNJpjO83.qxjck.cn
http://www.dtcms.com/a/380727.html

相关文章:

  • LVGL移植2048小游戏全攻略
  • 大模型系列——ChatBI重构企业知识库
  • DEM(数字高程模型)详解
  • 软考 系统架构设计师系列知识点之杂项集萃(144)
  • R语言生物群落(生态)数据统计分析与绘图实践技术应用
  • DPO 深度解析:从公式到工程,从偏好数据到可复用训练管线
  • 今天继续学习Linux系统中shell脚本
  • 开源端到端训练多模态大模型LLaVA 深度拆解
  • 周志华《机器学习导论》第10章 降维与度量学习
  • PyQt置顶窗口
  • 基于图像和激光的多模态点云融合与视觉定位
  • 企业数据防护利器:Curtain e-locker 支持NCA合规
  • 【Vue2 ✨】Vue2 入门之旅 · 进阶篇(九):Vue2 性能优化
  • Java面试问题记录(二)
  • 势能分析 线段树 学习记录
  • 创维在线算号器-Skyworth创维密码计算器
  • 电商导购平台的搜索引擎优化:基于Elasticsearch的商品精准推荐系统
  • c++怎么读取文件里的内容和往文件里写入数据
  • C++实战:搜索引擎项目(二)
  • 【Vue2 ✨】Vue2 入门之旅 · 进阶篇(七):Vue Router 原理解析
  • Java 多线程(三)
  • 【tips】el-input-number 数字输入框初始值超出限制值后,v-model的问题
  • Red Hat Linux 全版本镜像下载
  • vm.nr_hugepages参数配置错误导致系统无法启动
  • 【Qt】Qt 设置全局字体
  • c++ cpp 多叉树简单处理文件重复包含问题
  • YOLO系列目标检测模型演进与YOLOv13深度解析
  • 【基础知识】仿函数与匿名函数对比
  • 澳鹏数据集月度精选 | 覆盖全模态理解、复杂推理、海量真题的快速部署方案
  • 2025年- H136-Lc191.位1的个数(位运算)--Java版