HRNet:高分辨率表示学习在视觉识别中的应用
HRNet:高分辨率表示学习在视觉识别中的应用
HRNet(High-Resolution Network)是一种用于视觉任务的深度神经网络架构,其核心思想是保持高分辨率特征表示以提升空间精度和语义表达能力。与传统卷积神经网络不同,HRNet在整个网络过程中始终保持高分辨率特征流,通过并行高低分辨率流和多分辨率融合等创新设计,实现了更优的视觉识别效果。
介绍
HRNet(High-Resolution Network) 是一种用于视觉任务(如姿态估计、语义分割、目标检测等)的深度神经网络架构。其设计的核心思想是从头到尾保持高分辨率特征表示,以提升空间精度和语义表达能力。与传统卷积神经网络(如 ResNet、U-Net)不同,HRNet 在整个网络过程中始终保持高分辨率特征流,而不是通过下采样再上采样的方式恢复分辨率。
创新点
并行高低分辨率流
HRNet 从一个高分辨率的卷积流开始,在后续阶段逐步加入低分辨率的卷积流。各个分辨率的卷积流是并行连接的,而不是串联连接。
多分辨率融合
在各个阶段中,HRNet 通过重复的信息交换模块(多分辨率融合模块)将不同分辨率的特征进行融合。这一模块在多个残差单元后重复多次,以提升高分辨率表示的语义丰富度和空间精度。
从头到尾保持高分辨率
图1 从低分辨率恢复高分辨率的网络结构
图2 HRNet网络框架图
网络架构
图 3 将 HRNet 的整个 backbone 部分进行了拆解,划分为多个阶段及各阶段之间的过渡处理结构:
在Stage 1中,使用的是BottleNeck模块;
而在Stage 2、3 和 4中,则采用BasicBlock模块。
在阶段间的过渡处理中:
Stage 1后接Transition Layer,用于生成新的分辨率分支;
Stage 2 和 Stage 3后接Fuse Layer与Transition Layer的组合,以实现不同分辨率特征的融合并生成新的分支;
Stage 4的橙色框仅为Fuse Layer,用于整合多分辨率特征,因其后不再需要新的分辨率分支。
模块讲解
1.Transition Layer(转换层)
作用:调整不同阶段之间的特征通道数和分辨率,使得输入和输出的特征能够匹配,以便顺利进入下一个阶段。
工作机制
当分辨率减小时:通过步长为 2 的卷积操作(strided convolution)来下采样特征图的宽度和高度。这通常用于在从一个阶段到下一个阶段时引入新的低分辨率流。
通道调整:通过 1×1 卷积调整通道数,以确保不同分辨率流在进入下一个阶段时具有合适的特征维度。
举例
- 假设第一阶段输出的高分辨率特征图尺寸为 ( H/4 \times W/4 ),接下来的第二阶段需要引入新的低分辨率流(如 ( H/8 \times W/8 ))。此时,Transition Layer 会将高分辨率特征图下采样至更低分辨率,同时调整特征通道数。
2.Fuse Layer(融合层)
作用:在每个阶段内部,不同分辨率流之间进行信息交换,以实现多分辨率特征的融合,从而提高特征的表达能力。
工作机制
跨分辨率信息融合:每一个分辨率的特征流都会与其他分辨率的特征流进行融合,以提升特征的丰富度。
上采样:当低分辨率流需要与高分辨率流融合时,使用双线性插值(bilinear upsampling)和 1×1 卷积调整通道数,以对齐高分辨率特征。
下采样:当高分辨率流需要与低分辨率流融合时,使用步长为 2 的 3×3 卷积进行下采样,以降低分辨率。
特征融合:通过加法(element-wise addition)或者拼接(concatenation)的方式,将调整后的特征图融合成新的特征表示。这个过程可以多次重复,以确保不同分辨率的特征流相互补充。
举例
假设有三个并行的特征流,分别是 1/4、1/8 和 1/16 分辨率:
对于 1/4 分辨率的特征流:
从 1/8 分辨率流上采样到 1/4 分辨率,再与 1/4 流进行融合。
从 1/16 分辨率流上采样到 1/4 分辨率,再进行融合。
对于 1/8 分辨率的特征流:
从 1/4 分辨率流下采样到 1/8,再与 1/8 流进行融合。
从 1/16 分辨率流上采样到 1/8,再进行融合。
图3 HRNet网络框架图(精细)
Reference
论文地址(https://arxiv.org/pdf/1908.07919)
图3出处(https://blog.csdn.net/qq_37541097/article/details/124346626)