码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 关键点检测 HRNet网络详解笔记


    关键点检测 HRNet网络详解笔记

    • 0、COCO数据集百度云下载地址
    • 1、背景介绍
    • 2、HRNet网络结构
    • 3、预测结果(heatmap)的可视化
    • 3、COCO数据集中标注的17个关键点
    • 4、损失的计算
    • 5、评价准则
    • 6、数据增强
    • 7、模型训练

    论文名称: Deep High-Resolution Representation Learning for Human Pose Estimation
    论文下载地址:https://arxiv.org/abs/1902.09212

    0、COCO数据集百度云下载地址

    百度云链接: https://pan.baidu.com/s/1U3pPJ5nDluGdCtYi0njejg
    提取码: x3qk 复制这段内容后打开百度网盘手机App,操作更方便哦

    1、背景介绍

    这篇文章是由中国科学技术大学和亚洲微软研究院在2019年共同发表的。这篇文章中的HRNet(High-Resolution Net)是针对2D人体姿态估计(Human Pose Estimation或Keypoint Detection)任务提出的,并且该网络主要是针对单一个体的姿态评估(即输入网络的图像中应该只有一个人体目标)。人体姿态估计在现今的应用场景也比较多,比如说人体行为动作识别,人机交互(比如人作出某种动作可以触发系统执行某些任务),动画制作(比如根据人体的关键点信息生成对应卡通人物的动作)等等。
    在这里插入图片描述
    在这里插入图片描述

    2、HRNet网络结构

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

    # Stage1
    downsample = nn.Sequential(
        nn.Conv2d(64, 256, kernel_size=1, stride=1, bias=False),
        nn.BatchNorm2d(256, momentum=BN_MOMENTUM)
    )
    self.layer1 = nn.Sequential(
        Bottleneck(64, 64, downsample=downsample),
        Bottleneck(256, 64),
        Bottleneck(256, 64),
        Bottleneck(256, 64)
    )
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

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

    3、预测结果(heatmap)的可视化

    在这里插入图片描述
    在这里插入图片描述
    但在原论文中,对于每个关键点并不是直接取score最大的位置(如果为了方便直接取其实也没太大影响)。在原论文的4.1章节中有提到:
    光看文字其实还是不太明白,下面是源码中对应的实现,其中coords是每个关键点对应预测score最大的位置:

    for n in range(coords.shape[0]):
        for p in range(coords.shape[1]):
            hm = batch_heatmaps[n][p]
            px = int(math.floor(coords[n][p][0] + 0.5))
            py = int(math.floor(coords[n][p][1] + 0.5))
            if 1 < px < heatmap_width-1 and 1 < py < heatmap_height-1:
                diff = np.array(
                    [
                        hm[py][px+1] - hm[py][px-1],
                        hm[py+1][px]-hm[py-1][px]
                    ]
                )
                coords[n][p] += np.sign(diff) * .25
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

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

    3、COCO数据集中标注的17个关键点

    "kps": ["nose","left_eye","right_eye","left_ear","right_ear","left_shoulder","right_shoulder","left_elbow","right_elbow","left_wrist","right_wrist","left_hip","right_hip","left_knee","right_knee","left_ankle","right_ankle"]
    
    • 1

    最后把每个关键点绘制在原图上,就得到如下图所示的结果。
    在这里插入图片描述

    4、损失的计算

    在论文第3章Heatmap estimation中作者说训练采用的损失就是均方误差Mean Squared Error
    在这里插入图片描述
    在这里插入图片描述

    "kps": ["nose","left_eye","right_eye","left_ear","right_ear","left_shoulder","right_shoulder","left_elbow","right_elbow","left_wrist","right_wrist","left_hip","right_hip","left_knee","right_knee","left_ankle","right_ankle"]
    "kps_weights": [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.2, 1.2, 1.5, 1.5, 1.0, 1.0, 1.2, 1.2, 1.5, 1.5]
    
    • 1
    • 2

    5、评价准则

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

    6、数据增强

    在这里插入图片描述
    注意输入图片比例
    在这里插入图片描述

    7、模型训练

    在这里插入图片描述
    多GPU训练指令:

    CUDA_VISIBLE_DEVICES=0,1 python -m torch.distributed.launch --nproc_per_node=2 --use_env  train_multi_GPU.py
    
    • 1
  • 相关阅读:
    阿里云服务器部署安装hadoop与elasticsearch踩坑笔记
    Python-Matplotlib 显示中文、中文乱码解决办法
    2022主流技术 Appium+IOS 自动化测试环境搭建
    Spring Boot 介绍
    艾美捷Abnova NEUROD6单克隆抗体(M17)说明书
    图观 | 快速评估图数据库何时适合使用?
    【基于pyAudioKits的Python音频信号处理(一)】pyAudioKits安装与API速查手册
    穿越时空的创新:解析云原生与Web3.0的奇妙渊源
    c#中判断类是否继承于泛型基类
    Django(二)精美博客搭建(11)实现文章列表分页查询及首页简单优化
  • 原文地址:https://blog.csdn.net/guoqingru0311/article/details/133077432
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号