Index
论文1:https://arxiv.org/abs/1904.04514
论文2:https://arxiv.org/abs/1902.09212
代码:https://github.com/HRNet
摘要
这两篇文章主要讲的就是如何在人体姿态估计,目标检测,语义分割等情况下保持高分辨的特征表示。目前多数方法从由高到低分辨率网络产生的低分辨率表示中恢复高分辨率表示。而本文在整个过程中保持高分辨率的表示。我们将高分辨率子网开始作为第一阶段,逐步添加高到低分辨率子网以形成更多阶段,并行连接多个子网,每个子网具有不同的分辨率。我们进行重复的多尺度融合,使得高到低分辨率表示可以重复从其他分辨率的表示获取信息,从而导致丰富的高分辨率表示。因此,预测的关键点热图可能更准确,空间更精确。
现有的方法
现有的高分辨率的表示方法主要有
- Hourglass:对称结构,先下采样,再上采样,同时使用跳层连接恢复下采样丢失的信息;
- Cascade pyramid networks:级联金字塔;
- SimpleBaseline:先下采样,转置卷积上采样,不使用跳层连接进行数据融合;
- Dilated convolutions:扩张卷积,减少下采样次数,不使用跳层连接进行数据融合;
HRNet
它能够在整个过程中保持高分辨率表示。以高分辨率子网开始作为第一阶段,逐个添加高到低分辨率子网以形成更多阶段,并且并行连接多分辨率子网。在整个过程中反复交换并行多分辨率子网络中的信息来进行重复的多尺度融合。
优点:
- 并行连接高低分辨率子网,而不是像大多数现有解决方案那样串联连接。因此,我们的方法能够保持高分辨率而不是通过从低到高的过程恢复分辨率,因此预测的热图可能在空间上更精确
- 大多数现有的融合方案汇总了低级别和高级别的表示。相反,我们在相同深度和相似水平的低分辨率表示的帮助下执行重复的多尺度融合以提升高分辨率表示,反之亦然,导致高分辨率表示对于姿势估计也是丰富的。因此,我们预测的热图可能更准确。个人感觉增加多尺度信息之间的融合是正确的,例如原图像和模糊图像进行联合双边滤波可以得到介于两者之间的模糊程度的图像,而RGF滤波就是重复将联合双边滤波的结果作为那张模糊的引导图,这样得到的结果会越来越趋近于原图。此处同样的道理,不同分辨率的图像采样到相同的尺度反复的融合,加之网络的学习能力,会使得多次融合后的结果更加趋近于正确的表示。
并行子网结构
如图,每一次并不是直接下采样,而是多了一条并行的下采样支路。
多尺度融合
支路之间的信息传递,对于每一条支路,都接受前一个阶段所有支路的信息,那么多尺度更大的特征图则通过strided 3x3卷积来下采样,而尺度小的则通过插值来上采样并通过一个1x1卷积。融合的策略是add。
应用
- 人体姿态估计
对应的图(a),也就是HRNet1,只输出最高分辨率。 - 语义分割、人脸关键点检测
对于的图 (b),所有的低分辨率特征图上采样后concat,也就是HRNetV2,最后1x1卷积后softmax。 - 目标检测
对应的图(c),将语义分割也就是HRNetV2的特征图下采样构成新的特征金字塔,也就是HRNetV2p,类似于FPN,每一个尺度分别预测。 - 图像分类
如上图所示,就是结合多个尺度,高分辨率下采样后与低分辨率add,最后全局均匀池化后进行分类。