MoveNet-谷歌轻量级人体姿态估计算法

MoveNet是基于heatmap的bottom-up人体姿态估计模型,含Backbone、Header和PostProcess三部分。Backbone采用Mobilenetv2+FPN;Header有四个,输出Center、KeypointHeatmap等特征图。损失函数用加权MSE和L1 Loss,权重1:1:1:1。提供训练、测试流程,可导出模型,Google有在线演示。
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 + FPNHeader:输入为Backbone的特征图,经过各自的卷积,输出各自维度的特征图。共有四个Header:分别为Center、KeypointRegression、KeypointHeatmap、Local OffsetsCenter:[N, 1, H, W], 这里1代表当前图像上所有人中心点的Heatmap,可以理解为关键点,只有一个,所以通道为1。提取中心点两种方式:一个人所有关键点的算术平均数。所有关键点最大外接矩形的中心点。(效果更好)KeypointHeatmap:[N, K, H, W] N:Batchsize、K:关键点数量,比如17。H、W:对应特征图的大小,这里输入为192×192 , 降采样四倍就是48×48 。代表当前图像上所有人的关键点的HeatmapKeypointRegresssion:[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;同时还有回归误差。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
loss = paddle.pow((pre-target),2) weight_mask = target*k+1paddle.pow(torch.abs(target-pre), 2) loss = loss*weight_mask登录后复制
参考文献
2024轻量级人体姿态估计模型修炼之路(附谷歌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 paddle2onnxpython pd2onnx.py登录后复制
免责声明
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
阿里“C计划”聚焦对话AI,直指字节豆包竞争新局
近日,有消息人士透露,阿里巴巴旗下智能搜索平台夸克正在低调推进一项名为“C计划”的AI业务项目。该项目由夸克核心研发团队牵头,并邀请通义实验室多位资深专家参与,主要聚焦对话式AI领域的创新应用。据知
马斯克:Grok 5实现AGI概率达10%,2025年底前将持续提升
埃隆・马斯克近日在社交平台X上透露了关于其旗下xAI公司新产品的关键预测。据他描述,该公司正在研发的大型语言模型Grok 5,有10%的概率能够达成通用人工智能(AGI)的目标,且这一概率呈现上升趋
国产数据平台如何借力Databricks+OpenAI破局?
在人工智能技术飞速发展的当下,企业如何高效、安全地接入AI,成为业界关注的焦点。近日,全球领先的数据智能平台Databricks与知名大模型公司OpenAI宣布达成多年期战略合作,这一举动不仅标志着
亚马逊云科技峰会聚焦:助力软件企业出海与AI业务创新
2025亚马逊云科技软件企业峰会暨亚马逊云科技Marketplace全球卖家峰会近日在深圳圆满落幕。此次峰会汇聚了众多行业专家与企业代表,共同探讨软件企业在全球化进程中的机遇与挑战,以及AI技术如何
AI Agent:从多面手到专家,重塑企业市场价值与生态协同
当通用大模型的热潮逐渐退去,AI Agent正经历一场从“技术炫技”到“价值深耕”的转型。市场关注的焦点,已从“模型参数有多大”转向“业务理解有多深”。这场转变背后,是企业对AI落地效果的迫切需求—
相关攻略
热门教程
更多- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程



















