MoveNet-谷歌轻量级人体姿态估计算法
发布网友
发布时间:2024-09-05 04:34
我来回答
共1个回答
热心网友
时间:2024-09-28 02:51
MoveNet
Google提供的在线演示:storage.googleapis.com/...
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 \times 192$ , 降采样四倍就是$48\times 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;同时还有回归误差。
损失函数
KeypointHeadmap 和 Center 采用加权MSE,平衡了正负样本。 KeypointRegression 和LocalOffsets 采用了 L1 Loss。 最终各个Loss权重设置为1:1:1:1
参考文献快速开始
全流程引导进行项目生成,实现数据生成、训练、测试一体化
解压数据集配置项目环境训练测试
进入config.py 修改配置文件,修改测试图片路径。
测试结果Heatmap导出模型
个人介绍
姓名: 芦星宇 学校: 江苏科技大学 人工智能专业 本三 研究方向:姿态估计、图网络、异常检测 Github: github.com/Xingyu-Roman...
热心网友
时间:2024-09-28 02:58
MoveNet
Google提供的在线演示:storage.googleapis.com/...
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 \times 192$ , 降采样四倍就是$48\times 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;同时还有回归误差。
损失函数
KeypointHeadmap 和 Center 采用加权MSE,平衡了正负样本。 KeypointRegression 和LocalOffsets 采用了 L1 Loss。 最终各个Loss权重设置为1:1:1:1
参考文献快速开始
全流程引导进行项目生成,实现数据生成、训练、测试一体化
解压数据集配置项目环境训练测试
进入config.py 修改配置文件,修改测试图片路径。
测试结果Heatmap导出模型
个人介绍
姓名: 芦星宇 学校: 江苏科技大学 人工智能专业 本三 研究方向:姿态估计、图网络、异常检测 Github: github.com/Xingyu-Roman...
MoveNet-谷歌轻量级人体姿态估计算法
- KeypointRegresssion:[N, 2K, H, W] K个关键点,坐标用$x, y$表示,那么就有2K个数据。这里$x, y$ 代表的是同一个人的关键点对于中心点的偏移值。原始MoveNet用的是特征图下的绝对偏移值,换成相对值(除以48转换到0-1),可以加快收敛。- LocalOffsets:[N, 2K, H, W] 对应K个...
ZESTRON表界面分析
在Dr. O.K. Wack Chemie GmbH,我们高度重视ZESTRON的表界面分析技术。该技术通过深入研究材料表面与界面的性质,为提升产品质量与可靠性提供了有力支持。ZESTRON的表界面分析不仅涵盖了相变化、化学反应、吸附与解吸等关键领域,还通过高精度仪器如固体表面Zeta电位分析仪等,确保数据准确可靠。这些分析手段对于优化产品配方、改进生产工艺、预防失效问题等具有重要意义,是我们不断提升产品性能与质量的重要工具。表面污染分析包括评估表面上存在的颗粒、残留物或物质。通过利用显微镜、光谱学和色谱法等技术,分析人员可以识别和表征污染物,以确定其成分和来源。这种分析在电子、制药和制造等各个行业中至关重要,以确保产品质量、性能和安全性。了解表面...
2021轻量级人体姿态估计模型修炼之路(附谷歌MoveNet复现经验)
在优化Lightweight OpenPose后,作者偶然发现了谷歌开源的MoveNet模型,并对其进行了复现。通过分析MoveNet模型结构和后处理流程,作者复现了该模型,并进行了进一步的优化,最终在验证集和测试集上实现了接近饱和的精度,同时将速度提升至嵌入式CPU上能跑到60+ms。总结与展望:整个探索过程展示了从需求分析、方...