人体姿态估计--Stacked Hourglass Networks for Human Pose Estimation

Stacked Hourglass Networks for Human Pose Estimation
ECCV2016
http://www-personal.umich.edu/~alnewell/pose/
Torch code is available

本文使用CNN网络来进行人体姿态估计,使用 Stacked Hourglass Networks,这里的 Hourglass 漏斗形状,Stacked Hourglass 就是多个漏斗形状网络级联起来
这里写图片描述

人体姿态估计使用 CNN 网络如何做了? 一般来说是先进行人体关节的检测,然后再将这些关节联系起来估计人体姿态
这里写图片描述

3 Network Architecture
3.1 Hourglass Design
漏斗网络的设计主要源于 the need to capture information at every scale 即多尺度信息的捕获
局部信息对于检测 人脸和手是至关重要的。最终的姿态估计则需要对整个人体的一致性理解 coherent understanding。 对于人的方向、肢体的排列、相邻关节的关系等信息需要从图像中不同的尺度去衡量和解析

The topology of the hourglass is symmetric
这里写图片描述

Our hourglass module differs from these designs mainly in its more symmetric distribution of capacity between bottom-up processing (from high resolutions to low resolutions) and top-down processing (from low resolutions to high resolutions).

3.2 Layer Implementation
在网络层的实现中,这里尝试了一些方法来提升性能
大量使用 residual modules
滤波器尺寸不超过 3x3

这里写图片描述

3.3 Stacked Hourglass with Intermediate Supervision
在级联漏斗网络中我们加入了中间监督,就是中间结果和真值数据比较,提升网络的性能,这个有点类似人脸识别中的 FaceID系列中采用的方法

3.4 Training Details
训练中的一些细节介绍

Example output on MPII’s test set
这里写图片描述

这里写图片描述

这里写图片描述

本文最大的特色就是设计一个漏洞形状网络结构,然后级联这个网络。这个漏洞网络的网络结构是对称的。这个级联有对应着图像多尺度信息的提取。

SPPE Stacked Hourglass model is rather vulnerable to bounding box errors.Even for the cases when the bounding boxes are considered as correct with IoU > 0.5, the detected human poses can still be wrong. Since SPPE produces a pose for each given bounding box, redundant detections result in redundant poses.

### 最新的人体姿态估计算法 人体姿态估计是计算机视觉中的一个重要领域,旨在通过图像或视频来检测并跟踪人的关节位置。近年来,随着深度学习的发展,该领域的研究取得了显著进展。 #### 基于热图回归的方法 早期的工作主要集中在基于热图回归的方式上。这些方法通常会预测每个关键点的位置概率分布图(即热图),最后通过对热图取最大值得到具体的坐标位置[^1]。然而这类模型存在一些局限性,比如难以处理遮挡情况以及多人场景下的重叠问题。 #### 自顶向下与自底向上的框架 为了克服上述挑战,研究人员提出了两种主流架构——自顶向下(top-down) 和自底向上(bottom-up): - **Top-down**: 首先利用目标检测器定位单个人物实例后再分别进行个体的姿态解析; - **Bottom-up**: 则是从全局视角出发提取所有可能存在的肢体部件再关联成完整的骨架结构; #### 关键技术改进方向 针对更复杂环境的需求,当前的研究热点聚焦于以下几个方面: ##### 多模态融合 结合RGB-D传感器获取的颜色信息和深度数据可以有效提升精度特别是在光照变化剧烈或者背景杂乱的情况下表现优异[^2]。 ##### 时空建模 引入时间维度的信息有助于捕捉动态动作序列特征从而改善连续帧间的一致性和连贯性。例如采用循环神经网络(RNNs),长短记忆单元(LSTMs),Transformer等机制来进行有效的时序分析。 ##### 轻量化设计 考虑到实际部署需求,在保持性能的同时尽可能减少计算资源消耗成为新的趋势之一。这涉及到对现有大型预训练模型做剪枝、量化等一系列优化操作以适应边缘设备运行的要求。 ```python import torch from torchvision import models, transforms from PIL import Image def load_model(): model = models.detection.keypointrcnn_resnet50_fpn(pretrained=True) model.eval() return model transform = transforms.Compose([ transforms.ToTensor(), ]) image_path = "path_to_image" img = Image.open(image_path).convert('RGB') input_tensor = transform(img) model = load_model() with torch.no_grad(): prediction = model([input_tensor]) keypoints = prediction[0]['keypoints'].cpu().numpy() scores = prediction[0]['scores'].cpu().numpy() for i in range(len(scores)): if scores[i] > 0.9: # Confidence threshold print(f"Detected person {i} keypoints:") print(keypoints[i]) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值