# Ensemble Learning for Skeleton-Based Body Mass Index Classification
## 4 Ensemble for BMI Classification  
Figure 4 presents a schematic overview of the proposed method for skeleton-based BMI classification. One can see that a 3D human skeleton sequence is used as an input and is divided into several segments of equal length. In this study, we divide an original sequence into \(T\) different segments. Specifically, we let \(W\) be the total length of the input motion sequence. In the frame division process, \(T\cdot(1+T)/2\) segments corresponding to each length are generated (one for \(W\), two for \(W/2\), three for \(W/3\), four for \(W/4\), five for \(W/5\), \(\cdots\), \(T\) for \(W/T\)). For each segment described above, anthropometric features are calculated. For clarification, suppose that a 3D human skeleton model consists of \(N\) joints and \(M\) limbs. Let \(J=\{1,\cdots,N\}\) be the set of joint indices and \(L=\{(i,j)|i\
eq j,i\in J,j\in J\}\) be the set of joint pairs for constructing limbs. The values of \(N\) and \(M\) depend on the product specifications of motion capture sensors. For the Microsoft Kinect sensor [42], \(N\) and \(M\) are 20 and 19, respectively, as shown in Figure 5.  
Figure 4: Schematic overview of the proposed method for skeleton-based BMI classification. Figure 3: Body heights calculated at each frame. Let \(\mathbf{P}_{j}[k]=(x_{j}[k],y_{j}[k],z_{j}[k])\) be the position of the \(j\)th joint at the \(k\)th frame in the world coordinate system, where \(x_{j}[k]\), \(y_{j}[k]\), and \(z_{j}[k]\) are the coordinates of the \(j\)th joint at the \(k\)th frame on the \(X\), \(Y\), and \(Z\) axes, respectively. The Euclidean distance between the \(i\)th and \(j\)th joints at the \(k\)th frame is then calculated as  
\[d(\mathbf{P}_{i}[k],\mathbf{P}_{j}[k])=\sqrt{(x_{i}[k]-x_{j}[k])^{2}+(y_{i}[k] -y_{j}[k])^{2}+(z_{i}[k]-z_{j}[k])^{2}}. \tag{1}\]  
In [43; 44; 45; 46; 47; 48; 49; 50], the average length of each limb and average height of the target individual were used as anthropometric features. In this study, we used these features for BMI classification. To obtain anthropometric features for each segment, the length of each limb and height of the individual are measured in each frame. Average values are then used as the anthropometric features for the corresponding segment. For clarity, let \(F\in\{W,W/2,W/3,\cdots,W/(T-1),W/T\}\) be the frame length of a segmented sequence. The average length of each limb over \(F\) is then calculated as  
\[AF_{i,j}=\frac{1}{F}\sum_{k=1}^{F}d(\mathbf{P}_{i}[k],\mathbf{P}_{j}[k]),\ \ (i,j)\in L. \tag{2}\]  
For simplicity, we define a feature vector \(AF_{1}\) as  
\[AF_{1}=\left[AF_{i,j}\ \ \text{for}\ \ (i,j)\ \ \text{in}\ \ L\right]. \tag{3}\]  
Because we consider the 19 limbs presented in Figure 5, the dimension of \(AF_{1}\) in (3) is 19. In general, human height is measured as the distance from the bottom of the feet to the top of the head in a human body. According to this definition of human height, the height of a 3D human skeleton also can be calculated as the distance from the joint of feet to the joint of head. However, to measure the height using this traditional method, it is necessary for the user to stand straight up during height measurement. If the user moves during height measurement, the measured height may be inaccurate. In [43], [PERSON] et al. proposed a method that is capable of estimating the height of the person even if the person moves. This method is widely used to estimate the height of human skeletons [44; 45; 46; 47; 48; 49; 50]. In this study, we used the method to estimate the skeleton's height. According to the method proposed in [43], the target individual's height is calculated as the sum of their neck length, upper and lower spine lengths and average lengths of the right and left hips, thighs and shanks. For clarity, let \(H[k]\) be the subject's height at the \(k\)th frame. Then, \(H[k]\) is defined as  
Figure 5: Three-dimensional human skeleton model consisting of 20 joints and 19 limbs.