【论文阅读】HRNetV2论文笔记

Titile: High-Resolution Representations for Labeling Pixels and Regions
论文地址:https://arxiv.org/pdf/1904.04514.pdf
代码地址:https://github.com/HRNet/HRNet-Object-Detection


1. 概 述 1. 概述 1.

基于深度学习的特征表示在计算机视觉任务中通常分为两类:低分辨率表示(low-resolution representations)和高分辨率表示(high-resolution representations),他们分别应用于不同的任务。低分辨表示主要应用在图像分类,而高分辨对很多其他的视觉任务非常重要,例如:语义分割,目标检测和姿态识别等。本篇论文是通过网络结构的改造来获取图像的高分辨表示来更好的完成后一项任务。

目前有两种主要的方法来获取高分辨率表示:

  1. 从网络(例如,ResNet)输出的低分辨率表示恢复高分辨率表示,或从可选的中间中等分辨率表示中恢复高分辨率表示,如Hourglass,SegNet,DeconvNet,U-Net,encoder- decoder等。其实就是从down-sampling后获取的feature map中再upsample来获得高分辨表示。

  2. 通过高分辨率卷积保持高分辨率表示,并通过并行低分辨率卷积加强表示。

此外,空洞卷积(dilated convolution)也被用于替代分类卷积和分类网络中相关的常规卷积来计算中等分辨率表示。

作者沿着第二种路线,基于作者之前的文章:K. Sun, B. Xiao, D. Liu, and J. Wang. Deep high-resolution representation learning for human pose estimation. In CVPR,2019 进行改进。之前这篇文章所述的网络结构被称为HRNetV1,HRNetV1通过并行连接高分辨率卷积并在并行卷积中重复进行多尺度融合来维持高分辨率表示。由此产生的高分辨率表示不仅强大而且空间精确。而在本篇论文中,作者通过简单修改HRNetV1的模型结构得到了更强的高分辨表示,且只增加了很小的计算开销,称为HRNetV2。并给出了面部特征识别,目标检测和语义分割的实验结果。

在语义分割任务中,作者所提出的方法在使用具有相似模型大小和较低计算复杂度的情况下,在PASCAL Context,Cityscapes和LIP上得到了最先进的结果。在面部特征检测中,作者的方法在以下四个标准数据集上实现了总体最佳结果:AFLW,COFW,300W和WFLW。


2. 网 络 结 构 2. 网络结构 2.

高分辨特征表示
在这里插入图片描述
在这里插入图片描述

多分辨块(Multi-resolution block)

如图 Figure 2 所示,一个多分辨块由一个多分辨群卷积(group convolution)和一个多分辨卷积组成。多分辨群卷积,如图Figure 2(a)所示,是群卷积的一个简单扩展,它将输入通道分成了几组,并在不同空间尺度和每组之间分别应用常规卷积。多分辨卷积,即如图 Figure 2(b) 中所示的,像常规卷积一样以全连接的方式将不同分支连接起来。但有两点不同的是,1) 多分辨卷积的通道间存在不同分辨率,2) 输入和输出通道间的连接因分辨率不同需要降低或提高分辨率,分辨率的降低通过一个或多个步长为2卷积核尺寸为3x3的卷积实现,分辨率的提高通过双线性插值的上采样实现。

将输入通道划分成组进行卷积的方法可以参考论文:T. Zhang, G. Qi, B. Xiao, and J. Wang. Interleaved group convolutions. In ICCV, pages 4383–4392, 2017.

了解了多分辨块,再来看看如图 Figure 1 所示的HRNet的基础结构,它分为4个部分,第2,3,4部分通过重复模块化的多分辨块组成。


修改

在原始的HRNetV1网络中,只取了一个高分辨特征表示作为输出,如Figure 3(a) 所示,这意味着只有高分辨卷积的特征被保留了下来。因此,作者探索了将其他几个低分辨卷积也作为特征表示输出。这样做的好处是将多分辨卷积都应用起来了,而且只能加了很少的参数和计算量。

对于分辨率较低的层,作者对其应用双线性插值上采样至高分辨,并将得到的上采样过的特征表示concat连接起来得到HRNetV2。为了应用于目标检测任务,还对concat后的特征表示做了后续处理得到了HRNetV2p。如图Figure 3(b)©所示。

HRNetV2: 将网络的四种分辨率输出中的低分辨输出进行双线性上采样到高分辨输出的尺寸,并将这四种高分辨输出连接起来作为高分辨的特征表示,这个特征表示用在了语义分割,面部特征检测等。不同分辨率间的特征融合采用的是1x1卷积。

HRNetV2p: 对于目标检测任务,作者采用的是多级特征表示。方法是利用平均池化下采样上一步得到的高分辨特征表示,从而得到较低分辨的另外三种特征表示。

在这里插入图片描述

网络结构

  1. 先是两个stride=2的3x3卷积将输入图像分辨率降采样至1/4。

  2. stage 1有4个residual单元,每个单元由width为64的bottleneck和紧随其后的一个3x3卷积将feature map的width减少为C组成,这里的width其实就是通道数。

  3. stage 2,stage 3和stage 4分别包含1,4和3个多分辨块。对于每个多分辨块的四个不同分辨率的卷积,其通道数分别为C,2C,4C和8C。

  4. 多分辨群卷积的每一个分支包含4个residual单元,每个单元在每个分辨率中包含两个3x3卷积。

想进一步了解网络结构,可以参考作者在github的开源代码,其实现基于mmdetection(这个东西好啊,实现想法的效率杠杠的,有空研究下)。

在实际应用中,对语义分割和面部特征检测任务,作者采用如图Figure 3(b)所示的结构,通过使用1x1卷积来融合四个不同分辨率的feature map,从而产生具有15C通道数的特征表示。将每个位置的混合表示传递给具有softmax/MSE损失的线性分类器/回归器,以预测分割maps/面部特征heatmaps。对于语义分割,通过用于训练和测试的双线性上采样,将分割图上采样(4倍)到输入大小。对目标检测任务,与FPN类似,在组成特征金字塔前,通过1x1卷积将高分辨特征的通道数减少为256。


3. 实 验 结 果 3. 实验结果 3.

如Table 2所示,在Cityscapes数据集上对比了HRNetV2-W48与当前的sota算法。在train训练集和train+val训练集上,HRNetV2-W48取得了最佳效果,并比之前的sota算法高出1个点。

在这里插入图片描述

Table 5-7是在COCO上的检测结果,可以看到,HRNetV2p的模型大小计算复杂度都较小。在LS=1x时,HRNetV2p-W32优于ResNet-101-FPN,HRNetV2p-W18比ResNet- 50-FPN差一些。在LS=2x时,HRNetV2p-W18和HRNetV2p- W32的表现都更好些。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

如Table 8所示,在COCO test-dev上,基于Faster R-CNN和Cascade R-CNN的框架,都得到了更好的结果。

在这里插入图片描述


4. 经 验 分 析 4. 经验分析 4.

如图Figure 4(a)和(b)中给出的分割和目标检测结果表明HRNetV2明显优于HRNetV1,除了对Cityscapes分割的大模型情况下增益较小。作者还测试了一个变体(由HRNetV1h表示),它是通过附加1x1卷积来增加输出高分辨率表示的维度而构建的。Figure 4(a)和4(b)中的结果表明,该变体实现了对HRNetV1的稍许改进,这意味着聚合HRNetV2中低分辨率并行卷积的表示对于提高网络能力至关重要。
在这里插入图片描述


− E N D − - END - END

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/38311.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

表情识别综述论文《Deep Facial Expression Recognition: A Survey》中文翻译

本篇博客为论文《Deep Facial Expression Recognition: A Survey》的中文翻译,如有翻译错误请见谅,同时希望您能为我提出改正建议,谢谢! 论文链接:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp&arnumber9039…

【论文阅读002】Generating Natural Language Adversarial Examples through ProbabilityWeightedWord Saliency

论文地址:Generating Natural Language Adversarial Examples through Probability Weighted Word Saliency - ACL Anthology,发表于第57届计算语言学协会年会论文集(2019年7月28日至8月2日)的第1085-1097页。 目录 论文主要工作 已有的工作 创新性 …

【论文笔记】Generating Natural Adversarial Examples

Generating Natural Adversarial Examples. Zhengli Zhao, Dheeru Dua, Sameer Singh. ICLR 2018. decision[pdf][code] 文章目录 贡献框架解释样本实验结论 贡献 框架 解释样本 举例说明(使用算法1) 实验 结论 要点: 引入 i n v e r …

【学习笔记】《Science Research Writing for Non-Native Speakers of English》Unit 1:Introduction 引言

文章目录 1.1 Structure 结构1.2 Grammar and Writing Skills 语法和写作技巧1.2.1 Tense pairs 时态对1.2.2 Signalling language 信号语言1.2.3 Passive/Active 主动 / 被动 1.3 Writing Task: Build a Model 写作任务:建立模型1.3.1 Building a model 建立模型1.…

惊现一篇韩语论文引用了我的博客

在google.cn搜索【"http://blog.csdn.net/pennyliang"】 找到了一个韩语论文引用了我的博客,很感动啊。 链接如下: http://www.munsam.info/?modulefile&actprocFileDownload&file_srl3315&sid62367e57f4c36ec09e2a6f1d3ca7176…

【学习笔记】《Science Research Writing for Non-Native Speakers of English》Unit 3: Results 结果

文章目录 3.1 Structure 结构3.2 Grammar and Writing Skills 语法和写作技巧3.2.1 Sequence 序列3.2.2 Frequency 频率3.2.3 Quantity 数量3.2.4 Causality 因果关系 3.3 Writing Task: Build a Model 写作任务:建立模型3.3.1 Building a model 构建模型3.3.2 Key …

如何去做短视频?

短视频的火爆信任咱们都是众所周知,不管是个人,仍是团队,都不得不在短视频上捞得一金。自己也想做,只可惜自己不会编排视频。短视频应该怎么制造?还不会编排的小伙伴就必定得好好学习了。 ​ 短视频怎么制造&#xff…

计算机图解教程视频教程,新手怎么制作短视频教程?视频处理的图文步骤

原标题:新手怎么制作短视频教程?视频处理的图文步骤 不管是任何行业的新手,一开始都是不懂的,不知道从何下手没有思路的,短视频制作的新手也是如此,他们是不知道新手怎么制作短视频的教程有哪些的。因此小编…

如何快速上手制作高质量短视频?

​很多人看到别人在视频平台上分享自己的生活和才华,自己也想尝试一下,却不知道如何快速上手制作高质量短视频。 其实制作视频并没有你想象的那么难,只要掌握一些必要的条件,努力练习即可。 一、设备选择方面 对于新手来说不建议…

短视频如何制作?教程分享,只需要四个步骤

短视频如何制作?教程分享,只需要四个步骤 现下来看,短视频仍旧是非常受人欢迎的,甚至很多品牌也都开始制作起了短视频,想要让更多人看到自己。而个人短视频作者也越来越多,有的是单纯的想要通过短视频记录…

玩转这些视频制作软件,让你成为短视频高手

新手想尝试做短视频?那这些软件你一定要知道,帮你轻松驾驭视频制作,高效率工作! 视频制作工具 剪映 抖音官方剪辑工具,几乎能满足日常的短视频后期需要,同时,它里面还有超多的素材可供使用&am…

Thinphp集成抖音SDK

Thinphp集成抖音SDK 第一步:下载抖音官方SDK第二步:将SDK导入第三步:安装guzzlehttp依赖第四步:接口调用常见问题整理 由于抖音官方SDK相关教程太少, 所以本着 前人种树后人乘凉 的精神,写下本篇博客 第一…

抖音项目实现2: api层的实现 | 青训营笔记

目录导航: 1. 测试user微服务 2. api层的实现 3. github仓库地址1.测试user微服务 接上一篇实现了user微服务,并将服务注册到了etcd上。测试为服务业编写一个客户端发现服务并进行rpc调用,新建douyin/test/userRpc.go如下: pack…

抖音最新抓包方案

可以通过hook java层如下图所示的地方,dy默认走的是quick协议,但是为了兼容更多版本的手机,有一个降级操作,毕竟担心cronet低版本适配不好,所以可以通过hook这个方法来使其强制降级到Http协议。 frida脚本:…

从零开始搭建仿抖音短视频APP-构建后端项目

项目持续创作中... ​​​​​​仿抖音短视频APP项目专栏 目录 聚合工程 构建父工程 构建子工程 构建接口工程并且暴露api接口 优雅Restful相应封装 Lombok与多环境profile 数据层 配置数据库逆向生成工具 配置mybatis整合SpingBoot 使用Knife4j实现接口文档 聚合工程…

抖音 -抖店开放平台 SDK 实现及项目工程

抖音 - 抖店开放平台 SDK 抖音 - 抖店开放平台:https://op.jinritemai.com/ 该 SDK 已实现 API 接口调用和消息推送验证解析 项目地址 github: gitee: 项目结构 common-rocketmq: 根据 阿里 com.aliyun.openservices 的 on…

将手机接收到的短信实时转发到服务器web端上(或其他需要的地方)

在爬虫时, 有的网站要登录, 登录时需要短信验证, 因为爬虫是跑在服务端上, 所以希望服务器能实时获取到手机上的短信,使爬虫能够自动化. 为此自己开发了个能实时将安卓手机上的短信转发到服务器上. 展示如下:(将手机短信发送到服务端并储存起来,然后可以网页形式访问这些短信.…

(转)短信vs.推送通知vs.电子邮件:app什么时候该用哪种方式来通知用户?

转:http://www.360doc.com/content/15/0811/00/19476362_490860835.shtml 现在,很多公司都关心的一个问题是:要提高用户互动,到底采取哪一种通信技术获得的效果是最好的,怎样才能让用户心甘情愿的融入到自己的产品语境…

入门级短信推送,你还不会吗?

短信推送服务是生活中常见的,包括一些企业的营销或验证码场景的服务,这些都是需要短信服务来进行的 在开发中也比较常见,如开发一个个人博客系统,就会给注册或登录界面加上填写手机号发送验证码功能,或者加上发送邮件等…

瑞吉外卖(22)- 短信发送功能开发(了解一下)

文章目录 效果展示短信服务介绍阿里云短信服务-(了解)介绍注册账号 代码开发maven坐标调用API(SMSUtils.java) 效果展示 短信服务介绍 阿里云短信服务-(了解) 介绍 注册账号 这里我们不使用阿里云了,注册需要营业执照,我们只是了…