MoveNet
简介
目前,人体姿势追踪技术有了很大进展,但在许多场景中仍未得到广泛应用。首要的原因是人们更加关注与让姿势模型变得更大、更准确,而不是为了让它们能够迅速部署到任何地方。对于 MoveNet 来说,其最主要的特点就是实现模型的优化,在保持尽可能少的推理时间的同时,利用先进架构的最佳方面。这样的模型可以在不同的姿势、环境和硬件设置中提供准确的关键点。
基本原理
MoveNet 是一种自下而上的估计模型,利用热图精确定位人体的关键点。包括(鼻子、左眼和右眼、左耳和右耳、左肩和右肩、左肘和右肘、左腕和右腕、左臀和右臀、左膝和右膝、左脚踝和右脚踝)共十七个关键点。 这个架构包括两个部分:一个特征提取器和一组预测头。预测方案松散地遵循 CenterNet ,但变化明显,提高了速度和准确性。所有的模型都是用 TensorFlow 对象检测 API 进行训练。
网络架构
特征提取器是 MobileNetV2,与特征金字塔网络(feature pyramid network,FPN)一起提供高分辨率(输出跨度为 4)、语义丰富的特征图输出。 该特征提取器具有四个预测头。人体中心热图:预测人体实例的几何中心。关键点回归域:预测个体用来对关键点进行分组的所有关键点。人体关键点热图:预测所有关键点的位置,不依赖于人体实例。二维每关键点偏移域:预测从每个输出特征图像素到每个关键点的精确子像素位置的局部偏移量。
人体中心热图用来识别框架中所有个体的中心,定义为所有属于一个人体的关键点的算术平均值。选取最大分值点(由与帧中心的反距离加权)。 从与对象中心相对应的像素切片,通过关键点回归,得到人体的初始关键点集。因为这是一个必须在不同规模下操作的非中心预测,所以回归关键点的质量并不会很精确。 关键点热图中的每个像素都要乘以一个权重,这个权重与对应的回归关键点的距离成反比。这样就保证了我们不接受来自背景人群的关键点,因为它们通常不在回归关键点的附近,因此会有较低的结果分数。 通过检索每个关键点通道中的最大热图值的坐标,选择关键点预测的最终集合。再在这些坐标上添加局部二维偏移预测值,以获得精确的估计。
突出特点
快速下采样:尽量快地压缩图片尺寸,降低整体的计算量 残差结构:获取浅层特征和梯度,一定程度上弥补快速下采样造成的一些问题(下采样太快信息损失太严重,模型来不及学出一些高级的有意义的语义特征),强化特征中的空间信息 参数集中在主干:在残差分支上的参数和计算量尽量少,把本来就比较可怜的算力全用在主干分支上