当前位置: 首页 > article >正文

【论文笔记】High-Resolution Representations for Labeling Pixels and Regions

【题目】High-Resolution Representations for Labeling Pixels and Regions

引用格式】:Sun K, Zhao Y, Jiang B, et al. High-resolution representations for labeling pixels and regions[J]. arXiv preprint arXiv:1904.04514, 2019.

网址】:https://arxiv.org/pdf/1904.04514

开源代码】:https://github.com/HRNet

目录

一、瓶颈问题

二、本文贡献

三、解决方案

1. 模型架构

2. 文中修改内容

3. 具体实施

四、实验结果

1. 数据集

1.1 Cityscapes

1.2 PASCAL context

1.3 LIP

1.4 MS-COCO2017

1.5 WFLW

1.6 AFLW

1.7 COFW

1.8 300W

2. 语义分割

3. COCO物体检测

4. 面部关键点检测

5. 实证分析


一、瓶颈问题

  1. 高分辨率表示的重要性:在语义分割、目标检测等任务中,高分辨率表示对细节(如小物体、像素级标注)至关重要。传统方法(如 FCN、U-Net)通过下采样 - 上采样路径处理分辨率,但可能丢失低分辨率分支的信息。
  2. 原始 HRNetV1 的局限:仅利用高分辨率卷积的输出特征,丢弃了低分辨率卷积的通道子集,未充分发挥多分辨率卷积的容量。

二、本文贡献

  1. 提出HRNetv2通过双线性上采样将低分辨率特征缩放到高分辨率,与高分辨率特征拼接,生成融合所有分辨率的特征表示。避免了分辨率分支的通道信息浪费,提升模型的表征能力。
  2. 提出HRNetV2p将高分辨率特征通过平均池化下采样至多个层级,构建类似FPN的多尺度表示,适配目标检测中不同大小物体的识别需求。
  3. 提出 “跨分辨率全连接 + 双向信息流动” 的卷积模块设计

三、解决方案

1. 模型架构

        网络模型包含四部分(如图1所示),其中第二、第三和第四阶段由重复的模块化多分辨率块组成。一个多分辨率块包含一个多分辨率组卷积和一个多分辨率卷积,分别如图 2(a)和(b)所示。多分辨率组卷积是组卷积的简单扩展,它将输入通道划分为若干通道子集,并在不同空间分辨率下对每个子集分别进行常规卷积操作。多分辨率卷积如图2(b)所示,它类似于常规卷积的多分支全连接方式,如图 2(c)所示。

        模型中分辨率的降低通过若干个步长为2的3×3卷积实现的,分辨率提升则是使用双线性(或最近邻)上采样完成。

2. 文中修改内容

原始HRNetV1仅输出高分辨率卷积的表示特征图,如图3(a)所示,低分辨率部分被舍弃。

文中方案:通过双线性上采样将低分辨率表示缩放到高分辨率,并将各表示子集进行拼接,如图3(b)所示。对于目标检测的应用中,文中通过平均池化将高分辨率表示下采样到多个层级,构建多层表示,如图3(c)所示。

3. 具体实施

        网络从一个主干模块开始,该模块由两个步长为 3×3 的卷积组成,将分辨率降低至 1/4。第一阶段包含 4 个残差单元,每个单元由一个宽度为 64 的瓶颈结构构成,随后接一个 3×3 卷积,将特征图的宽度降至 c。第二、第三、第四阶段分别包含 1、4、3 个多分辨率块。四种分辨率的卷积宽度(通道数)分别为 c、2C、4C 和 8C。多分辨率组卷积中的每个分支包含 4 个残差单元,且每个单元在每种分辨率下均包含两个 3×3 卷积。

        在语义分割和面部关键点检测的应用中,文中通过 1×1 卷积融合来自所有四个分辨率的输出表示(图 3(b)),生成 15C 维的表示。然后,将每个位置的融合表示输入到带有 softmax/MSE 损失的线性分类器 / 回归器中,以预测分割图 / 面部关键点热图。对于语义分割任务,训练和测试时均通过双线性上采样将分割图上采样 4 倍至输入尺寸。在目标检测应用中,文中通过 1×1 卷积将高分辨率表示的维度降至 256(类似于 FPN ),然后再构建图 3(c)中的特征金字塔。

四、实验结果

1. 数据集

1.1 Cityscapes​​​​​​​

        Cityscapes 数据集包含 5000 张高质量像素级精细标注的场景图像。其中精细标注的图像被划分为 2975 张训练图像、500 张验证图像和 1525 张测试图像。该数据集包含 30 个类别,其中 19 个类别用于评估。除了类别平均交并比(mIoU)外,文中在测试集上还报告了其他三项指标:类别交并比(cat.)、实例类别交并比(cla.)和实例类别交并比(cat.)。

        数据增强方式包括随机裁剪(从 1024×2048 裁剪至 512×1024)、在 [0.5, 2] 范围内的随机缩放,以及随机水平翻转。优化器使用 SGD,基础学习率为 0.01,动量为 0.9,权重衰减为 0.0005。学习率衰减采用幂次为 0.9 的多项式策略。所有模型均在 4 块 GPU 上使用同步 BN(syncBN)进行训练,批量大小为 12,迭代 120K 次。

1.2 PASCAL context

        PASCAL context 数据集包含 4998 张用于训练的场景图像和 5105 张用于测试的图像,拥有 59 个语义标签和 1 个背景标签。

        数据增强和学习率策略与 Cityscapes 相同。遵循广泛使用的训练策略,文中将图像调整为 480×480 大小,设置初始学习率为 0.004,权重衰减为 0.0001。批量大小为 16,迭代次数为 6 万次。

1.3 LIP

        LIP数据集包含50,462张经过精心标注的人体图像,其中分为30,462张训练图像和10,000张验证图像。该方法在20个类别上进行评估(19个人体部位标签和1个背景标签)。遵循标准的训练和测试设置,图像被调整为473×473大小,并且性能评估基于原始图像和翻转图像分割图的平均值。

        数据增强和学习率策略与 Cityscapes 相同。文中将初始学习率设置为 0.007,动量设置为 0.9,权重衰减设置为 0.0005。批量大小为 40,迭代次数为 11 万次。

1.4 MS-COCO2017

        文中在 MS-COCO 2017 检测数据集上进行评估,该数据集包含约 11.8 万张训练图像、5 千张验证图像(val)和约 2 万张未提供标注的测试图像(test-dev)。评估采用标准的 COCO 格式评价方式。

1.5 WFLW

        WFLW 数据集是基于 WIDER Face 构建的最新数据集。该数据集包含 7500 张训练图像和 2500 张测试图像,每张图像均标注有 98 个人工关键点。文中在测试集及其多个子集上报告结果,这些子集包括:大姿态(326 张图像)、表情(314 张图像)、光照(698 张图像)、妆容(206 张图像)、遮挡(736 张图像)和模糊(773 张图像)。

1.6 AFLW

        AFLW 数据集是一个广泛使用的基准数据集,每张图像包含 19 个面部关键点。文中使用 20,000 张训练图像训练模型,并在 AFLW 全集(4,386 张测试图像)和 AFLW 正面集(从 4,386 张测试图像中选出的 1,314 张测试图像)上报告结果。

1.7 COFW

        COFW 数据集包含 1345 张带遮挡的训练人脸图像和 507 张测试人脸图像,每张图像标注有 29 个面部关键点。

1.8 300W

        300W 数据集由 HELEN、LFPW、AFW、XM2VTS 和 IBUG 数据集组合而成,每张人脸包含 68 个关键点。文中使用 3148 张训练图像,其中包括 HELEN 和 LFPW 的训练子集以及 AFW 的完整数据集。文中采用两种协议评估性能:完整集和测试集。完整集包含 689 张图像,进一步分为来自 HELEN 和 LFPW 的公共子集(554 张图像)和来自 IBUG 的挑战性子集(135 张图像)。用于竞赛的官方测试集包含 600 张图像(300 张室内图像和 300 张室外图像)。

2. 语义分割

        表 1 提供了在参数和计算复杂度以及 mIoU 等级方面与Cityscapes验证集上几种代表性方法的比较。(i) HRNetV2-W40(40 表示高分辨率卷积的宽度)的模型大小与 DeepLabv3+ 相似,计算复杂度更低,但性能更好:比 UNet++ 提升 4.7 分,比 DeepLabv3 提升 1.7 分,比 PSPNet、DeepLabv3+ 提升约 0.5 分。(ii) HRNetV2-W48 的模型大小与 PSPNet 相似,计算复杂度却低得多,因此性能显著提高:比 UNet++ 提高 5.6 个百分点,比 DeepLabv3 提高 2.6 个百分点,比 PSPNet、DeepLabv3+ 提高约 1.4 个百分点。在下面的比较中,文中采用 HRNetV2-W48,它在 ImageNet 3 上经过预训练,模型大小与大多数基于 DilatedResNet-101 的方法相似。

        表 2 提供了文中的方法与最先进方法在城市景观测试集上的比较。所有结果均使用了六种比例和翻转。表 2 评估了两种不使用粗略数据的情况:一种是在训练集上学习的模型,另一种是在训练+验证集上学习的模型。在这两种情况下,HRNetV2-W48 都取得了最好的成绩,比之前的先进水平高出 1 分。

        表 3 给出了文中的方法与最先进方法的比较。有两种评估方案:59 个类别的 mIoU 和 60 个类别的 mIoU(59 个类别 + 背景)。在这两种情况下,HRNetV2-W48 的表现都优于以前的最先进方法。

        表 4 展示了文中的方法与最先进方法的对比。HRNetV2-W48 的整体性能表现最佳,且参数更少、计算成本更低。此外需要说明的是,文中的网络未使用姿态或边缘等额外信息。

3. COCO物体检测

        表 5 总结了参数量和计算量(GFLOPs)。表 6 和表 7 报告了在 COCO 验证集上的检测结果。通过分析可得出以下几点结论:(i)HRNetV2p-W18(HRNetV2p-W32)的模型规模和计算复杂度均小于 ResNet-50-FPN(ResNet-101-FPN)。(ii)在 1× 训练配置下,HRNetV2p-W32 的性能优于 ResNet101-FPN,而 HRNetV2p-W18 略逊于 ResNet50-FPN,这可能是由于优化迭代次数不足所致。(iii)在 2× 训练配置下,HRNetV2p-W18 和 HRNetV2p-W32 的性能分别超越了 ResNet-50-FPN 和 ResNet-101-FPN。

        表 8 报告了文中的网络与最先进的单模型目标检测器在 COCO test-dev 上的比较,未使用 [65,79,56,90,89,75] 中所做的多尺度训练和多尺度测试。在 Faster R-CNN 框架中,文中的网络在参数和计算复杂度相近的情况下表现优于 ResNet 系列:HRNetV2p-W32 对比 ResNet-101-FPN,HRNetV2p-W40 对比 ResNet-152-FPN,HRNetV2p-W48 对比 X-101-64×4d-FPN。在 Cascade R-CNN 框架中,文中的 HRNetV2p-W32 表现更优。

4. 面部关键点检测

        表 9 展示了文中的方法与最先进方法的对比。在测试集及所有子集上,文中的方法显著优于其他方法,包括利用额外边界信息的 LAB和使用更强数据增强的 PDB 。

        表 10 展示了文中的方法与最先进方法的对比。在未使用额外信息和更强数据增强的方法中,文中的方法取得了最佳性能,甚至优于利用额外 3D 信息的 DCFE。不过,文中的方法性能略逊于使用额外边界信息的 LAB  和采用更强数据增强的 PDB。

        表 11 展示了文中的方法与最先进方法的对比。HRNetV2 大幅优于其他方法。特别是,它比利用额外边界信息的 LAB 和采用更强数据增强的 PDB 表现更优。

        表 12 给出了完整集及其两个子集(普通子集和挑战性子集)的结果。表 13 给出了测试集的结果。与使用参数和计算复杂度较大的 Hourglass 作为主干网络的 Chen 等人的方法相比,除了 AUC 0.08 分数外,文中的分数更优。在没有使用额外信息和更强数据增强的方法中,文中的 HRNetV2 获得了整体最佳性能,甚至优于使用额外边界信息的 LAB 和利用额外 3D 信息的 DCFE 。

5. 实证分析

        文中在语义分割和 COCO 目标检测任务上,将改进后的网络 HRNetV2 和 HRNetV2p 与原始网络(简称 HRNetV1)进行了对比。如图 4(a)和图 4(b)所示的分割与目标检测结果表明,HRNetV2 显著优于 HRNetV1,仅在 Cityscapes 分割任务的大模型场景中增益较小。文中还测试了一个变体(标记为 HRNetV1h),该变体通过添加 1×1 卷积来增加输出高分辨率表示的维度。图 4(a)和图 4(b)的结果显示,该变体相比 HRNetV1 仅有轻微提升,这表明在 HRNetV2 中聚合低分辨率并行卷积的表示对于提升模型能力至关重要。

相关文章:

【论文笔记】High-Resolution Representations for Labeling Pixels and Regions

【题目】:High-Resolution Representations for Labeling Pixels and Regions 【引用格式】:Sun K, Zhao Y, Jiang B, et al. High-resolution representations for labeling pixels and regions[J]. arXiv preprint arXiv:1904.04514, 2019. 【网址】…...

【题解-洛谷】P9422 [蓝桥杯 2023 国 B] 合并数列

题目:P9422 [蓝桥杯 2023 国 B] 合并数列 题目描述 小明发现有很多方案可以把一个很大的正整数拆成若干正整数的和。他采取了其中两种方案,分别将他们列为两个数组 { a 1 , a 2 , ⋯ a n } \{a_1, a_2, \cdots a_n\} {a1​,a2​,⋯an​} 和 { b 1 , …...

在MATLAB中,`mean(P_train, 2)` 的含义

在MATLAB中,mean(P_train, 2) 的含义是: 计算矩阵 P_train 中每一行的平均值(沿第2个维度操作)。 详解: mean(A, dim) 函数: 对数组 A 沿维度 dim 求平均值。dim1 → 按列计算(返回行向量&…...

开源模型应用落地-OpenAI Agents SDK-集成Qwen3-8B(一)

一、前言 在人工智能技术迅猛发展的今天,OpenAI Agents SDK 为开发者提供了一个强大的工具集,用于构建基于 Python 的智能代理应用。这些代理可以执行从简单任务到复杂决策的一系列操作,极大地提升了应用程序的智能化水平。 通过 OpenAI Agents SDK,可以利用 Python 编程语…...

109页PPT华为流程模块L1-L4级梳理及研发采购服务资产5级建模

华为的流程体系是其核心竞争力之一,也是其从一家小型民营企业成长为全球领先科技巨头的重要支撑。这套体系的核心思想是以客户为中心、以价值创造为导向、以流程驱动业务、持续优化改进。 下载资料请查看文章中图片右下角信息 以下是华为流程体系的关键组成部分和特…...

第N1周:one-hot编码案例

🍨 本文为🔗365天深度学习训练营中的学习记录博客 🍖 原作者:K同学啊 一、one-hot编码概念 自然语言处理(NLP)中的文本数字化:文字对于计算机来说就仅仅只是一个个符号,计算…...

Windows安装docker desktop

Windows 版本: Windows 10/11(64位)专业版、企业版或教育版(家庭版需手动配置)。 版本号需 ≥ 1909(建议更新到最新系统) 打开程序 启动服务后点点点 重启生效(没有的话 安装WSL…...

Ros(俩不同包的节点 交流 topic message)

不同的俩节点 如chao_node 和ma_node .在俩不同的包下。 他们若想互相产生联系, 就需要靠这个关系了。 想象一下是开黑的场景 其实群名就是topic 而发送的消息就是Message。 其中主动刷屏的message的一方 就是 Publisher 而接受的那一方 就是subsciber...

李沐《动手学深度学习》 | 数值稳定性

文章目录 数值稳定性梯度消失Sigmoid作为激活函数 梯度爆炸 让训练更加稳定合理的权重初始化Xavier初始化(常用)He初始化/Kaiming方法 Batch Normalization Q&A 数值稳定性 当神经网络的深度比较深时,非常容易数值不稳定。 不稳定梯度是…...

OpenCV CUDA模块图像处理------图像连通域标记接口函数connectedComponents()

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 该函数在 GPU 上执行二值图像的连通域标记操作,即将图像中所有相连的前景像素区域赋予相同的标签(label)&…...

Android Studio 打包时遇到了签名报错问题:Invalid keystore format

错误指出密钥库的格式无效,可能是由于密钥库本身的问题导致的,还有一种可能是由于jdk版本导致。我试过重新签名,也是不行,后来发现是JDK版本问题,我的Studio之前是jbr11,好像后来合并代码重新下载编译了项目…...

内存管理【Linux操作系统】

文章目录 简单谈一下物理内存管理页框为什么要把物理内存划分成一个一个固定大小的页框使用?对页框进行描述对页框进行组织管理虚拟地址→物理地址(真实的页表)真实的页表那我们如何把虚拟地址→物理地址呢?页表懒加载时&#xff…...

Go语言学习-->从零开始搭建环境

Go语言学习–>从零开始搭建环境 1 开发环境 Go官网下载地址:https://golang.org/dl/ Go官方镜像站(推荐):https://golang.google.cn/dl/ windos 平台下载: 我这里下载1.22稳定版 双击下载好的.msi文件 修改安装…...

【力扣】3403. 从盒子中找出字典序最大的字符串 I

解法一: class Solution {public String answerString(String word, int numFriends) {//对字符的划分,word长度为n,共有n1个位置可以插入,但是要求被分为非空字符串,所以插入的位置最多为n-1。int n word.length();…...

苹果企业签名撤销

苹果企业签名证书被撤销的原因通常涉及违反苹果的**《Apple Developer Program企业协议》**或相关安全政策,以下是常见原因: ### 一、核心违规原因 1. **证书滥用分发公开应用** * 企业证书仅限**内部员工使用**,若用于以下场景会被撤销&…...

12306高并发计算架构揭秘:Apache Geode 客户端接入与实践

目录 Apache Geode 客户端入门指南 一、安装 Apache Geode 二、启动 Geode 集群 三、Java 客户端接入 Geode Maven 示例依赖 Gradle 示例依赖 Java 示例代码 四、Spring Boot 客户端接入 Geode Maven 配置 Gradle 配置 运行应用 五、Apache Geode 原生客户端 .NET…...

JSON to Excel 3.0.0 版本发布 - 从Excel插件到Web应用的转变

1. 简介 JSON to Excel 3.0.0 是一个重大更新版本,将原有的Excel插件扩展为完整的Web应用。现在您可以直接在浏览器中使用它,无需安装任何插件。所有的转换在浏览器中完成,预览后,可点击下载按钮,导出成xlsx格式文件。…...

【前端】Vue3+elementui+ts,给标签设置样式属性style时,提示type check failed for prop,再次请出DeepSeek来解答

🌹欢迎来到《小5讲堂》🌹 🌹这是《前端》系列文章,每篇文章将以博主理解的角度展开讲解。🌹 🌹温馨提示:博主能力有限,理解水平有限,若有不对之处望指正!&…...

Neo4j 监控全解析:原理、技术、技巧与最佳实践

高效的监控是保障 Neo4j 图数据库性能、稳定性和可观察性的基石。本文将深入探讨 Neo4j 监控的核心原理、关键技术、实用技巧及行业最佳实践,助您构建强大的数据库运维体系。 掌握这些监控技术,将使您的 Neo4j 数据库在稳定性、性能和可维护性上达到企业…...

PyTorch——优化器(9)

优化器根据梯度调整参数,以达到降低误差 import torch.optim import torchvision from torch import nn from torch.nn import Sequential, Conv2d, MaxPool2d, Flatten, Linear from torch.utils.data import DataLoader# 加载CIFAR10测试数据集,设置tr…...

07 APP 自动化- appium+pytest+allure框架封装

文章目录 一、PO二、代码简单实现项目框架预览:base_page.pydir_config.pyget_data.pylogger.pystart_session.pyconfig.yamlkey_code.yamllaunch_page_loc.pylogin_page_loc.pylaunch_page.pylogin_page.pytest_login.pypytest.inirun.py 一、PO PO 分为四层 &…...

Postgresql常规SQL语句操作

目录 一、数据库与对象管理 二、数据操作 (CRUD) 三、查询优化与执行计划分析 四、事务控制 五、数据类型与高级特性应用 六、系统查询与维护 研发中的重要注意事项 在 PostgreSQL 研发中,以下这些 SQL 应用是极其常见且核心的操作,涵盖了数据库设…...

智能合约安全漏洞解析:从 Reentrancy 到 Integer Overflow

目录 🌀 Reentrancy(重入攻击) 原理解析 典型案例:The DAO 攻击事件 漏洞示例 防范措施 🔢 Integer Overflow(整数溢出) 原理解析 漏洞示例 防范措施 🛡️ 总结与建议 随着…...

英国2025年战略防御评估报告:网络与电磁域成现代战争核心

英国 2025 年战略防御评估 (SDR) 详细制定了一项计划,通过加强使用网络、人工智能和数字战争来整合其军事防御和进攻能力。 与美国一样,英国也被认为(尽管未被公开证实)会开展进攻性网络行动,甚至针对盟友。斯诺登泄露…...

基于QPSK调制解调+Polar编译码(SCL译码)的matlab性能仿真,并对比BPSK

目录 1.引言 2.算法仿真效果演示 3.数据集格式或算法参数简介 4.MATLAB核心程序 5.算法涉及理论知识概要 6.参考文献 7.完整算法代码文件获得 1.引言 Polar码由土耳其教授Erdal Arikan于2008年提出,是第一种被严格证明可以达到香农极限的构造性编码方法。其核…...

go语言学习 第5章:函数

第5章:函数 函数是编程中不可或缺的一部分,它封装了一段可重复使用的代码,用于执行特定的任务。在Go语言中,函数同样扮演着重要的角色。本章将详细介绍Go语言中函数的定义、调用、参数传递、返回值处理以及一些高级特性&#xff…...

Qt Quick快速入门笔记

Qt Quick快速入门笔记 基本的程序结构int main(int argc, char *argv[]) { #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); #endifQGuiApplication app(argc, argv);QQmlApplicationEngine engine;const QUrl ur…...

《波段操盘实战技法》速读笔记

文章目录 书籍信息概览实战八法波段见顶信号中长线大顶形态投资理念 书籍信息 书名&#xff1a;《波段操盘实战技法》 作者&#xff1a;何瑞东 概览 实战八法 投资理念和投资理论概述&#xff1a;波段操作的核心是通过捕捉股价波动中的趋势性机会&#xff0c;结合技术分析与…...

Glide NoResultEncoderAvailableException异常解决

首先将解决方法提出来&#xff1a;缓存策略DiskCacheStrategy.DATA。 使用Glide加载图片&#xff0c;版本是4.15.0&#xff0c;有天发现无法显示gif图片&#xff0c;原始代码如下&#xff1a; Glide.with(context).load(本地资源路径).diskCacheStrategy(DiskCacheStrategy.A…...

工厂模式与多态结合

工厂模式与多态的结合是平台化项目中实现灵活架构的核心技术之一。这种组合能够创建可扩展、易维护的系统架构。 多态(Polymorphism)指同一操作作用于不同的对象&#xff0c;可以有不同的解释&#xff0c;产生不同的执行结果。 例子1&#xff1a; public abstract class Pay…...