Stacked Hourglass Networks 人体姿态检测

本文是人体关键点中非常经典的一篇文章:Stacked Hourglass Networks for Human Pose Estimation

论文地址:

https://arxiv.org/abs/1603.06937​arxiv.org

代码地址:

wbenbihi/hourglasstensorlfow​github.com​编辑

论文框图:

摘要:

正如论文名称所说,我们提出的网络是漏斗形状,通过多次对网路的上采样和下采样,我们在多个尺度上得到了人体关键点的位置特征。

method:

1:Hourglass Design

对于人体特征而言,我们既需要能够区分局部特征如人脸和人手,又需要能够区分全身的特征,这就要求我们在图片的各个尺度上都能够捕捉足够多的特征,这也是我们漏斗网络设计的初衷。一种实现在各个尺度上都捕捉特征的方式是先单独地获得多个分辨率的特征,然后在网络后面几个阶段中将他们combine起来,而我们使用的是单个网络,网络分辨率最低能够降到4*4,然后通过skip connection来保持空间分辨率。

网络的backbone使用卷积层和max pooling层来实现分辨率的降低,在每一层max pooling之前,我们额外的接出一个分支,在其后接上更多的卷积层,当网络的分辨率到达最低尺寸之后,我们使用最近邻插值法来把小尺寸的特征进行上采样,然后和skip layer进行 elementwise addition。在得到最终的pixel级别的feature map输出之后,我们使用两个1*1的卷积层来得到最后的pixel wise的heatmaps。

2:Layer Implementation

我们也使用的经过验证非常有效的一些layer design,如残差结构和inception结构,以及使用多个小的卷积核来替代大的卷积核,如用2个3*3来替代一个5*5的卷积核,最终的layer结构如下:

由于在全部分辨率256*256上面进行计算需要太多的GPU资源,因此我们将最后的输出维度限制在了64*64的分辨率上。

3:Stacked Hourglass with Intermediate Supervision

就两点,多个网络叠加,将上一个hourglass的输出作为下一个hourglass的输入,同时对每个输出加一个中间监督信号,GT和最后一层监督信号的GT是一样的,图4中蓝色的feature map就是中间监督信号的heatmap,然后再将它用1*1的卷积核扩增channel,再加回原来的feature中去。

train:

数据集用的比较老的数据集,就不讲了。训练的GT还是用的2D的高斯核来生成的,loss使用的是MSE。

result:

作者特别指出了观察不同的层次的hourglass的输出结果,从左图可以看到第二层的输出在第八层里面得到了微调,更加精确了。从右图的评估指标也可以看到同一种颜色的层数越深,结果越好。

任何程序错误,以及技术疑问或需要解答的,请添加

 

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

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

相关文章

Xamarin开发笔记—设备类amp;第三方弹窗的使用和注意事项

一、设备类是Xamarin重要开发组成部分,下面介绍一下设备类的主要用法: //唤醒打电话Device.OpenUri(new Uri("tel:180xxxxxxxx"));//打开网页Device.OpenUri(new Uri("http://vipstone.cnblogs.com/"));//判断当前运行平台Device.Ru…

Windows Azure 安全最佳实践 - 第 4 部分:需要采取的其他措施

那么,哪些安全威胁应由WindowsAzure环境缓解?哪些安全威胁必须由开发人员缓解? 开发 Windows Azure 应用程序的最佳安全做法一文说明了对于在 Windows Azure 中运行的应用程序而言,什么样的威胁应被视为主要威胁。它还专门说明了 …

逻辑性最强的React Native环境搭建与调试

ReactNative系列文章: 1.《逻辑性最强的React Native环境搭建与调试》 2.《ReactNative开发工具有这一篇足矣》 正文 React Native(以下简称RN),已经“火”了好一段时间了,网上的资料相对也很丰富,只是一…

自绘热点按钮

自绘热点按钮 一、1.在VS2010中新建MFC对话框工程,命名“Test”。 2.删除对话框上所有控件,然后在对话框上添加一个按钮,一个组合框,一个编辑框,更改按钮ID为IDC_TRANSFORM_BTN,更改编辑框ID为IDC_EDIT2。…

YOLOv5在建筑工地中安全帽佩戴检测的应用(已开源+数据集)

前言 Amusi 发现一个很棒的开源项目,利用YOLOv5进行目标检测的"落地化"应用:安全帽佩戴检测。 该项目使用了YOLOv5s、YOLOv5m、YOLOv5l来训练安全帽佩戴检测数据集,代码和权重均已开源!安全帽佩戴检测数据集也是开源的…

centos上安装adobe flash

1、下载adobe yum源rpm包并安装rpm -ivh http://linuxdownload.adobe.com/adobe-release/adobe-release-x86_64-1.0-1.noarch.rpmrpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-adobe-linux2、通过yum命令安装adobe flashyum install flash-plugin nspluginwrapper alsa-plugins-…

linux运行可执行文件,通过c语言调用java的main方法

前言&#xff1a;以前一直在做Android开发&#xff0c;在某本书上看过一句话“Android上面不只有App类的程序可以运行&#xff0c;能在linux下运行的程序&#xff0c;也可以在Android上面运行” 一.编写C语言部分代码 1.定义java.h头文件 #include <jni.h>#ifndef _JAV…

MFC串口通信设置及发送、中断接收程序

前一段做了个串口通信小软件&#xff0c;就是现实利用上位机软件通过串口通信对下位机&#xff08;单片机&#xff09;通信&#xff0c;校时LED点阵万年历&#xff0c;省去按键调节的麻烦&#xff0c;方便校时&#xff0c;省时省力。 为右击 串口通信控件&#xff0c;添加关联…

ReactNative开发工具有这一篇足矣

ReactNative系列文章&#xff1a; 1.《逻辑性最强的React Native环境搭建与调试》 2.《ReactNative开发工具有这一篇足矣》 正文 React Native&#xff08;以下简称RN&#xff09;开发工具的文章很多&#xff0c;几乎千篇一律都是Copy的&#xff08;一毛一样&#xff09;&a…

【K8S】Docker向私有仓库拉取/推送镜像报错(http: server gave HTTP response to HTTPS client)

这里&#xff0c;我们搭建的Harbor仓库的地址为 http://192.168.175.101:1180。 报错信息如下所示。 [rootbinghe101 ~]# docker login 192.168.175.101:1180 Username: binghe Password: Error response from daemon: Get https://192.168.175.101:1180/v2/: http: server …

MFC串口通信串口指示灯的实现

前一段做了个串口通信小软件&#xff0c;当打开串口时串口指示灯亮&#xff0c;关闭串口时串口指示灯灭&#xff0c;实现方法如下&#xff1a; 1.在资源视图中&#xff0c;添加两个图标&#xff0c;分别为串口指示灯灭IDI_ICON1&#xff0c;串口指示灯亮IDI_ICON2。 2.在串口通…

07-Windows Server 2012 R2 会话远程桌面-标准部署-RD授权

Windows Server 2012 R2 会话远程桌面-标准部署-RD授权马博峰当完成所有的部署后&#xff0c;在实际操作中没有任何问题&#xff0c;并完成所有的测试&#xff0c;在所有工作的最后一步就是需要安装RD授权服务器&#xff0c;远程桌面授权&#xff08;RD 授权&#xff09;以前称…

解决React Native unable to load script from assets index.android.bundle on windows

React Native运行的时候&#xff0c;经常碰到React Native unable to load script from assets index.android.bundle on windows解决方法有2种&#xff1a; 方法一&#xff1a;设置IP和端口 具体步骤&#xff1a;报错页面晃动手机&#xff0c;显示菜单 》 点击Dev Settings …

CentOS 安装go client调用Kubernetes API

CentOS 安装 Go环境并配置goproxy wget https://dl.google.com/go/go1.14.4.linux-amd64.tar.gz tar -xzvf go1.14.4.linux-amd64.tar.gz -C /usr/local/ mkdir -p /home/gopath cat >> /etc/profile <<EOF export GOROOT/usr/local/go export GOPATH/home/gopath…

VS2010中使用sprintf出现warning C4997: 'sprintf': This function or variable may be unsafe.

使用VS2010编译时。会出现以下警告。 warning C4997: sprintf: This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. c:\program files (x86)\microsoft visual …

list使用

1、将两个list合并成一个list&#xff0c;可以用addAll()方法。2、一个list1嵌套list&#xff0c;可以list<bean> listnew ArrayList<bean>();ArrayList<list> list1new ArrayList<list>();lst1.add(list);转载于:https://blog.51cto.com/7533390/1341…

React Native App设置amp;Android版发布

React Native系列 《逻辑性最强的React Native环境搭建与调试》 《ReactNative开发工具有这一篇足矣》 《解决React Native unable to load script from assets index.android.bundle on windows》 《React Native App设置&Android版发布》 一、设置APP信息 1.设置包名…

Kubernetes 1.20 报错:“open /run/flannel/subnet.env: no such file or directory“

pod 一直处于 ContainerCreating&#xff0c;查看 pod 详情&#xff1a; kubectl describe pod [pod name]提示错误信息&#xff1a; ... NetworkPlugin cni failed to set up pod "mysql-mb6t7_default" network: open /run/flannel/subnet.env: no such file or …

史上最易懂——ReactNative分组列表SectionList使用详情及示例详解

React Native系列 《逻辑性最强的React Native环境搭建与调试》 《ReactNative开发工具有这一篇足矣》 《解决React Native unable to load script from assets index.android.bundle on windows》 《React Native App设置&Android版发布》 《史上最易懂——ReactN…

tomcat 系统服务 outofmemory

TOMCAT内存溢出outofmemory的问题&#xff1a; http://hi.baidu.com/mefeng47/item/3b247af74ce4e24e922af2e5 注&#xff1a;双击tomcat6w.exe打开tomcat monitor 1.OutOfMemoryError: Java heap space 堆溢出 VM参数&#xff1a;-Xms256m -Xmx512m 2.OutOfMemoryError: PermG…