ICME 2022 | 通过定位语义块来加速图像分类
来源:Paperweekly本文约3300字,建议阅读9分钟本次文章介绍我们于 ICME-2022 发表的一项通过定位语义块来加速图像分类的工作。
论文标题:
Localizing Semantic Patches for Accelerating Image Classification
论文链接:
https://arxiv.org/pdf/2206.03367.pdf
代码链接:
https://github.com/winycg/AnchorNet
01. 引言
本文的动机在于输入图片中通常存在大量与类别无关的区域,尤其是像 ImageNet 这种高像素图像数据集。事实上,CNN 可以根据少量有类别判别性的 patch 做出正确的决策,总共有信息量的区域有时会远小于原始图像区域。
理想地,如果我们可以动态地定位类别相关的 patch 并且使用它们来高效推理,计算量可以被显著减少,但是没有准确率精度损失。因此主要的挑战就可以总结为怎样高效地找出重要性的区域。本文提出一个 patch 提出网络 AnchorNet,可以定位出语义 patch 进行下游分类。整体的流程图如图 1 所示:
图1. 动态推理流程图
为了满足加速推理的需要,上游的 AnchorNet 需要配备两个属性:
1. 它是一个十分轻量的网络,可以迅速捕捉到 patch 使用很少的代价;
2. 定位的 patch 应该能反映出类别判别性的特征。
为了实现(2),本文利用一个经典的但是被广泛忽略的感受野 Receptive Field (RF) 映射规则,其可以准确地映射高层 spatial 点到输入图像的每一个 patch,如图 2 所示。通过得到类激活图 class activation map (CAM) [1],本方法可以准确地评估每一个 patch 的贡献,根据对应的 CAM 激活值。
图2. 高层spatial点到图像patch的映射
启发自 GFNet [2],本文使用一个序列的动态推理规则。每一步迭代,将一个 patch 送入到分类网络,如果基于 softmax 置信度大于规定阈值,则推理结束并输出最终预测,否则继续进行推理。
02. 方法
2.1 特征对齐和感受野映射回顾
现代 CNN 通常逐步减少 spatial 像素数通过卷积操作直到全局池化层。卷积核大小和步长是影响卷积 网络感受野的重要超参数。中间层的 padding 操作通常会破坏具体的感受野映射规则。也就是说,没有 padding 的 CNN 可以提供准确的映射。
如图 2 所示,假设一个没有 padding的 CNN 接受一个尺 寸为 的图像,并且该 CNN 具有 的感受野规模和 的步长在全局池化之前,将会得到
尺寸的输出特征图。
这里 和 分别代表高度和宽度。每一个高层点可以被映射到一个尺寸为 的patch。例如给定一个输入图像,尺寸为 ,CNN 具有 的感受野规模个 8 的步长,可以得到 的 spatial 点。
本文首先回顾累计感受野的计算规则。为了简化,假定卷积核大小和步长的高度和宽度是相等的。将累计感受野和步长从第一层到第 层分别表示为 和 。来自当前第 层的卷积核大小和步长分别表示为 和 。累计的感受野大小 和步长 直至当前的第 层被规则化为:
由于没有 padding 的设计,spatial 的映射从高层特征图到原始输入保证是准确的。
2.2 AnchorNet
图3. AnchorNet的整体示意图
AnchorNet 的整体结构展示自图 3。
本文开发了一个轻量级的 patch 提出网络,名为 AnchorNet,网络提供可解释性的 patch级别贡献同时自适应地定位有信息量的 patch。为了追求高效率,本文利用 MBConv 模块提出自 EfficientNet 作为元结构来堆叠特征提取器,同时所有的卷积层设置为 padding 0。本文接着利用一个 1x1 的卷积来扩展特征通道,并利用一个线性分类器进行学习。
启发自GFNet [2],本文构建的累计感受野尺寸为 。这意味着 AnchorNet 可以实现 patch 尺寸为 的 spatial 像素映射利用,通过高层 CAM 图的引导。因为累计的步长为 ,AnchorNet 可以映射尺寸为原始 图像为 个候选的 patch。就计算复杂度而言,AnchorNet 的 FLOPs 仅为 60MFLOPs,是 FLOPs 为 4089MFLOPs 的 ResNet-50 的 1.5%。
2.3 Patch定位算法
如图 3 所示,本文利用 CAM [1] 来评估 spatial 点对于最终预测的重要性。将全局池化之前的高层特征图表达为 ,其中 是第 个 spatial 激活图。线性分类器的权重张量是 ,其中 是类别数目, 表示第 行和第 列的值来自权重矩阵 。第 类的 CAM 图可以表达为:
每一个类别 CAM 上的 spatial 激活值代表了映射图像 patch 的重要性程度对于类别 来说。本文利用多个 patch 来覆盖类别判别性特征。但是简单地定位具有最大激活值的 patch 会导致严重的区域重叠。因此,本文提出一个简单有效的启发式 patch 选择方法,从而确保定位得到 patch 既具有语义性又能适当分离覆盖更多信息。
具体地,本文引入 loU 来量化两个 patch A 和 B 的交叉程度,。本文将定位的 patch 集合命名为 ,根据激活值从大到小遍历 上的每一个 spatial 点。如果 loU 在当前访问的 patch 与任意在集合 中的 patch 的 loU 值小于阈值 ,则本方法将此 patch 放入集合 中。最终,本方法可以得到 patch 集合 作为最终的 patch 集合。
2.4 序列的推理框架
图4. 序列推理框架示意图
为了便于标识,本章节将 AnchorNet 表示为 ,下游分类网络表示为 。给定一张输入图像 ,整体的序列推理框架如图 4 所示。该框架可以被规则化为迭代地处理一个 patch 图像序列 。
受 RANet [3] 启发,ImageNet 中很大一部分图像可以通过简单的缩放依旧能分类正确。因此,本方法首先将原始 224×224 图像缩放为 ,表示为 。剩余的图像 patch 表示为 则被 AnchorNet 定位得到的。在第 步的动态推理,如果 softmax 置信度 大于预定义的阈值 ,序列的推理将会被终止,同时输出预测类别 。为了充分利用 patch 信息,推理过程被规则化为:
整体的推理过程如图 5 所示:
图5. 序列推理过程
2.5 训练策略
本文利用一个两阶段的训练机制来训练 AnchorNet 在阶段一,训练下游分类网络 在阶段二。
阶段一:给定一张输入图像 ,AnchorNet 输出 softmax 类别概率分布 。本方法利用标准的交叉熵 函数和真实标签来训练 AnchorNet :
其中 是训练集, 是真实标签。
阶段二:给定输入图像 和预训练的 AnchorNet ,本方法可以自然地得到一个相关的图像 patch 序列 。本方法利用在原始 224x224 图像上训练的权重初始化网络 ,之后微调网络利用图像 patch ,通过标准的交叉熵函数:
其中 是预测的类别概率分布来自图像 。本方法训练两个网络 分别利用上述两个公式来分别预测缩放的图像 和定位的 patch 。
03. 实验
3.1 实验设置
与 MSDNet [4] 相同的设置,本文基于 budgeted batch classification 和 anytime prediction 评估模型动态推理的性能。
1. budgeted batch classification:此设置需要模型在具体的时间预算内完成测试集数据推理。本文通过调整不同退出口的置信度阈值来完成自适应的推理,对于不同的测试样例。
2. Anytime prediction:此设置需要模型在规定的时间预算内预测出每一个测试样例。本文使得所有测试样例从相同的退出点完成预测。
3.2 与现有动态推理方法的比较
本方法主要以 ResNet 和 DenseNet 作为下游分类网络进行实验,首先是在 budgeted batch classification 下的实验结果:
图6. budgeted batch classification设置下实验结果
在 anytime prediction 下的实验结果如下所示:
图7. anytime prediction设置下的实验结果
AnchorNet+下游网络的组合一致地超越了先前的动态推理方法,凭借更少的计算量得到更高的分类准确率。
3.3 patch数量的影响
本文进一步研究了 patch 期望数量与准确率之间的关系,如图 8 所示。随着期望 patch 数量的上升,准确率同时提升。在图中,我们进一步采样了几个数据点并且展示了样本退出的分布。通过提升前期退出的置信度,更多的样本趋向于后期退出,从而准确率更高。
图8. patch期望数量与准确率之间的关系
3.4 可视化定位的patch
图9. ImageNet图像patch定位可视化结果
如图 9 所示,AnchorNet 可以自适应地定位到类别判别性的区域,可视化结果也表明使用语义的 patch 区域来进行下游分类时可行的。
[1] Zhou B, Khosla A, Lapedriza A, et al. Learning deep features for discriminative localization[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2016: 2921-2929.
[2] Wang Y, Lv K, Huang R, et al. Glance and focus: a dynamic approach to reducing spatial redundancy in image classification[J]. Advances in Neural Information Processing Systems, 2020, 33: 2432-2444.
[3] Yang L, Han Y, Chen X, et
al. Resolution adaptive networks for efficient inference[C]//Proceedings of the IEEE/CVF conference on computer vision and pattern recognition. 2020: 2369-2378.
[4] Huang G, Chen D, Li T, et al. Multi-scale dense networks for resource efficient image classification[J]. arXiv preprint arXiv:1703.09844, 2017.
编辑:王菁
校对:林亦霖
相关文章
- Unity 接入高德开放API - IP定位
- 盘点Python网络爬虫过程中xpath的联合查询定位一个案例
- css中绝对定位_绝对定位和相对定位怎么用
- 清华大学课题组联合美团研发无人机声波定位技术获ACM SenSys顶会大奖
- 记一次crontab定时任务被清空的故障原因定位及复盘过程
- 如何通过qq去定位好友的IP地址
- 【CSS】固定定位 ( 固定定位概念语法 | 固定定位 = 浏览器可视窗口 + 边偏移 | 代码示例 )
- 刷新ALV定位到当前记录行详解编程语言
- 深入剖析Linux抓包分析技巧:实现网络问题精准定位(linux抓包分析)
- Redis 条件查询技巧,轻松定位目标数据(redis 条件查询)
- 里找查找Redis错误记录定位方式与步骤(redis错误log在哪)
- Redis重启定位机台的步骤(redis重启指定机器)
- 预告:单目视觉的运动目标跟踪定位|硬创公开课
- 力推三大高精定位解决方案,千寻位置全面赋能IoT时代 | 云栖大会2017
- 容器高度100%的绝对定位布局
- JS弹出层定位至屏幕居中示例