Mediapipe Blazepose poseclassification android 源码分析(五)——PoseEmbedding.java
- PoseEmbedding.java
作用:Generates embedding for given list of Pose landmarks.
参数:TORSO_MULTIPLIER = 2.5f
适用于躯干,以获得最小的身体尺寸的乘数。通过实验选择了这个。
- 方法:
- getPoseSize(List<PointF3D> landmarks)
详细步骤大致是:先求出hipsCenter和shouldersCenter,两者坐标相减,求这个点的欧几里德范数(即到原点的距离)torsoSize,这个距离再乘以TORSO_MULTIPLIER(作者定义为2.5)作为maxDistance,作者描述说“基于实验,torsoSize * TORSO_MULTIPLIER是我们想要的的基准,但实际尺寸可能是更大的,取决于一个给定的姿势的肢体的延伸等,所以我们计算。”为了避免实际尺寸更大,再求身体的所有关键点与hipsCenter的距离并与maxDistance比较。具体代码如下:
// Translation normalization should've been done prior to calling this