hrnet相关的两篇文章
CVPR2019   Deep High-Resolution Representation Learning for Human Pose Estimation
 
 
 
        提出了一种新的架构,即高分辨率网络(HRNet),它能够在整个过程中维护高分辨率的表示。我们从高分辨率子网作为第一阶段始,逐步增加高分辨率到低分辨率的子网(gradually add high-to-low resolution subnetworks),形成更多的阶段,并将多分辨率子网并行连接。在整个过程中,我们通过在并行的多分辨率子网络上反复交换信息来进行多尺度的重复融合,使得每一个高分辨率到低分辨率的表征都从其他并行表示中反复接收信息,从而得到丰富的高分辨率表征.
 
网络示意图如下:

本文的贡献点:
1)我们的方法是,平行地连接从高到底分辨率的子网络,与目前绝大多数串联连接的网络不同。因此,我们的网络可以维持高分辨率特征,而不是通过一个从低到高的操作来恢复出一个高分辨率特征。 因此,预测的热图(heatmap)在空间上可能更精确。
2) 大多数现有的融合方案都是聚合低层(low-level)和高层(high-level)的表示( representations)。而本文提出的网络,使用重复的多尺度融合, 利用相同深度和相似级别的低分辨率表示来提高高分辨率表示。
(i) Our approach connects high-to-low resolution subnetworks in parallel rather than in series as done in most existing solutions. Thus, our approach is able to maintain the high resolution instead of recovering the resolution through a low-to-high process, and accordingly the predicted heatmap is potentially spatially more precise. 
(ii)Most existing fusion schemes aggregate low-level and highlevel representations. Instead, we perform repeated multiscale fusions to boost the high-resolution representations with the help of the low-resolution representations of the same depth and similar level, and vice versa, resulting in that high-resolution representations are also rich for pose estimation. Consequently, our predicted heatmap is potentially more accurate.
 
 
网络结构如下图所示。

高分辨率与低分辨率的融合方式如下:

高分辨需要先用一个或者若干个连续的stride=2的3x3卷积(2个连续的stride=2的3x3卷积为 4倍的 downsampling)降低到与低分辨率相同,然后使用element wise sum,对不同分辨率进行求和。
低分辨率要先用一个上采样(Upsample,使用最近邻插值,使用2倍或者4倍的上采样率)的方式提升到与高分辨相同,然后使用1x1卷积使得通道数与高分辨一致,然后再进行sum操作。
 
最终不同分辨率的输出融合方式如下图:

 
 
最后在coco 人形关键点检测的结果如下:

附录:
 
各种网络的不同分辨率的组合融合方式

High-to-low and low-to-high.

      high-to-low process的目标是生成低分辨率和高分辨率的表示,low-to-high process的目标是生成高分辨率的表示[4,11,23,72,40,62]。这两个过程可能会重复多次,以提高性能[77,40,14]。
 
      具有代表性的网络设计模式包括:
 
      (i)Symmetric high-to-low and low-to-high processes。Hourglass及其后续论文[40,14,77,31]将low-to-high proces设计为high-to-low process的镜子。
 
      (ii)Heavy high-to-low and light low-to-high。high-to-low process是基于ImageNet分类网络,如[11,72]中使用的ResNet,low-to-high process是简单的几个双线性上采样[11]或转置卷积[72]层。
 
      (iii)Combination with dilated convolutions。在[27,51,35]中,ResNet或VGGNet在最后两个阶段都采用了扩张性卷积来消除空间分辨率的损失,然后采用由light lowto-high process来进一步提高分辨率,避免了仅使用dilated convolutions的昂贵的计算成本[11,27,51]。图2描述了四种具有代表性的姿态估计网络。

Multi-scale fusion.

最直接的方法是将多分辨率图像分别送入多个网络,并聚合输出响应映射[64]。Hourglass[40]及其扩展[77,31]通过跳过连接,将high-to-low process中的低级别特征逐步组合为low-to-high process中的相同分辨率的高级别特性。在cascaded pyramid network[11]中,globalnet将high-to-low process中的低到高级别特征low-to-high level feature逐步组合到low-to-high process中,refinenet将通过卷积处理的低到高特征进行组合。我们的方法重复多尺度融合,部分灵感来自深度融合及其扩展[67,73,59,80,82]。
 
 
 
 
 
 

HRNET网络结构简单分析的更多相关文章

  1. 简单分析JavaScript中的面向对象

    初学JavaScript的时候有人会认为JavaScript不是一门面向对象的语言,因为JS是没有类的概念的,但是这并不代表JavaScript没有对象的存在,而且JavaScript也提供了其它的方 ...

  2. CSipSimple 简单分析

    简介 CSipSimple是一款可以在android手机上使用的支持sip的网络电话软件,可以在上面设置使用callda网络电话.连接使用方式最好是使用wifi,或者3g这样上网速度快,打起电话来效果 ...

  3. C#中异常:“The type initializer to throw an exception(类型初始值设定项引发异常)”的简单分析与解决方法

    对于C#中异常:“The type initializer to throw an exception(类型初始值设定项引发异常)”的简单分析,目前本人分析两种情况,如下: 情况一: 借鉴麒麟.NET ...

  4. 透过byte数组简单分析Java序列化、Kryo、ProtoBuf序列化

    序列化在高性能网络编程.分布式系统开发中是举足轻重的之前有用过Java序列化.ProtocolBuffer等,在这篇文章这里中简单分析序列化后的byte数组观察各种序列化的差异与性能,这里主要分析Ja ...

  5. 简单分析Java的HashMap.entrySet()的实现

    关于Java的HashMap.entrySet(),文档是这样描述的:这个方法返回一个Set,这个Set是HashMap的视图,对Map的操作会在Set上反映出来,反过来也是.原文是 Returns ...

  6. Ffmpeg解析media容器过程/ ffmpeg 源代码简单分析 : av_read_frame()

    ffmpeg 源代码简单分析 : av_read_frame() http://blog.csdn.net/leixiaohua1020/article/details/12678577 ffmpeg ...

  7. FFmpeg的HEVC解码器源码简单分析:解析器(Parser)部分

    ===================================================== HEVC源码分析文章列表: [解码 -libavcodec HEVC 解码器] FFmpeg ...

  8. FFmpeg资料来源简单分析:libswscale的sws_getContext()

    ===================================================== FFmpeg库函数的源代码的分析文章: [骨架] FFmpeg源码结构图 - 解码 FFmp ...

  9. wp7之换肤原理简单分析

    wp7之换肤原理简单分析 纠结很久...感觉勉强过得去啦.还望各位大牛指点江山 百度找到这篇参考文章http://www.cnblogs.com/sonyye/archive/2012/03/12/2 ...

随机推荐

  1. 02.python网络爬虫第二弹(http和https协议)

    一.HTTP协议 1.官方概念: HTTP协议是 Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(www.world wide web) 服务器传输超 ...

  2. 接口自动化平台搭建(四),自动化项目Jenkins持续集成

    一.Jenkins的优点 1.传统网站部署流程   一般网站部署的流程 这边是完整流程而不是简化的流程 需求分析—原型设计—开发代码—内网部署-提交测试—确认上线—备份数据—外网更新-最终测试 ,如果 ...

  3. spring lookup method 注入

           lookup method注入是spring动态改变bean里方法的实现.方法执行返回的对象,使用spring内原有的这类对象替换,通过改变方法返回值来动态改变方法.内部实现为使用cgl ...

  4. [Visual Studio] 自定义项目模板(.vsix扩展)

    VS自定义项目模板:[2]创建VSIX项目模板扩展 听语音 | 浏览:1237 | 更新:2015-01-02 09:21 | 标签:软件开发 1 2 3 4 5 6 7 分步阅读 一键约师傅 百度师 ...

  5. Lua 学习之基础篇四<Lua table(表)>

    table 是 Lua 的一种数据结构用来帮助我们创建不同的数据类型,如:数组.字典等. Lua table 使用关联型数组,你可以用任意类型的值来作数组的索引,但这个值不能是 nil. Lua ta ...

  6. python基础认识

    Python基础 一.    简介 Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言.豆瓣,Google.Yahoo等,甚至 ...

  7. Codeforces Educational Codeforces Round 54 题解

    题目链接:https://codeforc.es/contest/1076 A. Minimizing the String 题意:给出一个字符串,最多删掉一个字母,输出操作后字典序最小的字符串. 题 ...

  8. vue 想关工具 及组件

    vue-cli  vue的脚手架工具    (1) 安装通过  npm install -g vue-cil      (2)常用模板  browserify - 拥有高级功能的 Browserify ...

  9. BZOJ 4129 Haruna’s Breakfast ( 树上带修莫队 )

    题面 求树上某路径上最小的没出现过的权值,有单点修改 添加链接描述 分析 树上带修莫队板题,问题是怎么求最小的没出现过的权值. 因为只有nnn个点,所以没出现过的最小值一定在[0,n][0,n][0, ...

  10. 6、组件注册-@Lazy-bean懒加载

    6.组件注册-@Lazy-bean懒加载 懒加载:单实例bean,默认是在容器启动的时候创建对象:懒加载就是启动的是不创建,在第一次使用的时候再创建对象. @Lazy // 单实例下懒加载bean