新闻中心
MoveNet-谷歌轻量级人体姿态估计算法
MoveNet是基于heatmap的bottom-up人体姿态估计模型,含Backbone、Header和PostProcess三部分。Backbone采用Mobilenetv2+FPN;Header有四个,输出Center、KeypointHeatmap等特征图。损失函数用加权MSE和L1 Loss,权重1:1:1:1。提供训练、测试流程,可导出模型,Google有在线演示。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

MoveNet
Google提供的在线演示:https://storage.googleapis.com/tfjs-models/demos/pose-detection/index.html?model=movenet
MoveNet 是一个 Bottom-up estimation model, 使用heatmap。
网络架构
主要分为三个部分:Backbone、Header、PostProcess
- Backbone:Mobilenetv2 + FPN
- Header:输入为Backbone的特征图,经过各自的卷积,输出各自维度的特征图。共有四个Header:分别为Center、KeypointRegression、KeypointHeatmap、Local Offsets
- Center:[N, 1, H, W], 这里1代表当前图像上所有人中心点的Heatmap,可以理解为关键点,只有一个,所以通道为1。提取中心点两种方式:
- 一个人所有关键点的算术平均数。
- 所有关键点最大外接矩形的中心点。(效果更好)
- KeypointHeatmap:[N, K, H, W] N:Batchsize、K:关键点数量,比如17。H、W:对应特征图的大小,这里输入为192×192 , 降采样四倍就是48×48 。代表当前图像上所有人的关键点的Heatmap
- KeypointRegresssion:[N, 2K, H, W] K个关键点,坐标用x,y表示,那么就有2K个数据。这里x,y 代表的是同一个人的关键点对于中心点的偏移值。原始MoveNet用的是特征图下的绝对偏移值,换成相对值(除以48转换到0-1),可以加快收敛。
- LocalOffsets:[N, 2K, H, W] 对应K个关键点的坐标,这里是Offset,模型降采样特征图可能存在量化误差,比如192分辨率下x = 0 和 x= 3映射到48分辨率的特征图时坐标都变为了0;同时还有回归误差。
- Center:[N, 1, H, W], 这里1代表当前图像上所有人中心点的Heatmap,可以理解为关键点,只有一个,所以通道为1。提取中心点两种方式:
class MoveNet(nn.Layer):
def __init__(self, num_classes=17, width_mult=1.,mode='train'):
super(MoveNet, self).__init__()
self.backbone = Backbone()
self.header = Header(num_classes, mode)
self._initialize_weights() def forward(self, x):
x = self.backbone(x) # n,24,48,48
# print(x.shape)
x = self.header(x) # print([x0.shape for x0 in x])
return x
损失函数
KeypointHeadmap 和 Center 采用加权MSE,平衡了正负样本。 KeypointRegression 和LocalOffsets 采用了 L1 Loss。 最终各个Loss权重设置为1:1:1:1
美图云修
商业级AI影像处理工具
50
查看详情
loss = paddle.pow((pre-target),2) weight_mask = target*k+1paddle.pow(torch.abs(target-pre), 2) loss = loss*weight_mask
参考文献
- 2025轻量级人体姿态估计模型修炼之路(附谷歌MoveNet复现经验) - 知乎 (zhihu.com)
- fire717/movenet.pytorch: A Pytorch implementation of MoveNet from Google. Include training code and pre-train model. (github.com)
- https://storage.googleapis.com/tfjs-models/demos/pose-detection/index.html?model=movenet
快速开始
全流程引导进行项目生成,实现数据生成、训练、测试一体化
解压数据集
# 无需运行# !mkdir /home/aistudio/data/coco# !unzip /home/aistudio/data/data97273/annotations_trainval2017.zip -d /home/aistudio/data/coco# !unzip /home/aistudio/data/data97273/train2017.zip -d /home/aistudio/data/coco# !unzip /home/aistudio/data/data97273/val2017.zip -d /home/aistudio/data/coco# 新数据时用# Make data to adapt the data format.# %cd /home/aistudio/work/# !python scripts/make_coco_data_17keypooints.py
配置项目环境
pip install yacs
训练
cd /home/aistudio/work/ python train.py
测试
进入config.py 修改配置文件,修改测试图片路径。
cd /home/aistudio/work. python predict.py
测试结果
Heatmap
导出模型
pip install paddle2onnx python pd2onnx.py
以上就是MoveNet-谷歌轻量级人体姿态估计算法的详细内容,更多请关注其它相关文章!
# git
# 两种
# 就有
# 是一个
# 官网
# 的是
# 美图
# 一言
# 中文网
# coco
# fig
# udio
# red
# ai
# 谷歌
# python
# 中心点
# 怎么推广网站设计师呢
# 丹东营销推广哪个好
# 广丰区网站建设推广公司
# 南京网站推广技巧
# 玉溪营销推广加盟店电话
# 肇庆网站建设营销策划
# 推广营销公司哪家专业好
# 广东网站建设地址
# 推广网站运营面试题答案
# 个人网站如何做定位推广
# 相关文章
相关栏目:
【
行业资讯67740 】
【
技术百科0 】
【
网络运营39195 】
相关推荐:
43寸电视长宽多少厘米
如何查找固态硬盘
linux命令行如何使用中文输入法
windows 如何连接ftp命令行
wps中datediff函数怎么用 WPS中DATEDIFF函数的语法和用法分享
ai文件在线打开工具有哪些
阿里云盘扩容工具怎么用
新三板市盈率是什么意思
如何用固态硬盘做缓存
市盈率pe是什么意思
摄像机的power chg是什么意思中文
空调控制面板power灯一直亮是什么意思
选哪个折叠屏手机好
满射为什么没有逆映射
苹果16多有哪些功能
苹果怎么没出5g手机
typescript学会要多久
固态硬盘如何下载网页
划水是什么意思
early什么意思
苹果16有哪些自带配件
电脑显示器上power是什么意思
问一下市盈率是什么意思
debian和ubuntu命令一样吗
市盈率为负数是什么意思
typescript怎么用
哪些框架支持typescript
启辰星power标志是什么意思
华为的type-c接口是什么接口
远程桌面如何发送命令
尼桑越野车中控前power是什么意思
单片机怎么连接电路图
j*a对数组怎么使用
typescript在浏览器里怎么用
typescript和es6先学哪个
sqlite中datediff函数怎么用 SQLite中DATEDIFF()函数的用法分享
如何查看bash内置的命令
苹果16有哪些系统
shell如何注释所有命令
如何加装固态硬盘
8k是多少钱
固态硬盘4k如何看
win10windows资源管理器在哪里打开
雅迪电动车上的power是什么意思
苹果16系统多了哪些
faq是什么意思
如何弄坏固态硬盘
make命令如何使用
喇叭上标的power30w是什么意思
市盈率百分位roe是什么意思


2025-07-23
浏览次数:次
返回列表