Body weight calculation method based on the volume and dynamic density of segmented body segments
Through a method based on the volume and dynamic density of the human body segment, the BP neural network and the gradient enhancement decision tree GBDT algorithm are used to establish a parameterized three-dimensional grid model of the human body, which solves the accuracy of human body weight calculation and achieves high-precision weight calculation.
Patent Information
- Application Number
- CN202211324089.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-10-27
- Publication Date
- 2025-08-01
- Estimated Expiration
- 2042-10-27
AI Technical Summary
The prior art cannot quickly and accurately calculate the weight parameters of the human body model, which affects the accuracy of modeling and calculation and the scope of application.
Weight calculation method based on the volume and dynamic density of the human body segment segment, and through the BP neural network and the gradient enhancement decision tree GBDT algorithm, a parameterized three-dimensional mesh model of the human body is established, combined with the volume and density algorithm of the body segment to calculate and correct the body weight.
Accurate calculation of human body weight is achieved, the accumulated error of initial weight calculation is eliminated, and the accuracy and accuracy of modeling are improved.
Smart Images

Figure CN115690841B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of body weight calculation, and particularly to a body weight calculation method based on the volume of segmented body segments of a human body and dynamic density. Background Art
[0002] A digital human model refers to a human body geometric model established through three-dimensional modeling means, which has human body morphological characteristics and is currently widely used in fields such as human-related animation production and industrial design. Human body modeling software can establish a digital human model and support parametric adjustment of relevant dimensional parameters to form human body models with different geometric characteristics. In addition to modeling and visualization purposes, digital human models can also be applied to simulation analysis processes such as dynamic calculation.
[0003] During the establishment of a human body model, different from other length-type parameters, the body weight parameter cannot be directly measured in three-dimensional space. How to quickly and accurately calculate the body weight parameter of a human body model and analyze the relationship between body weight and dimensional parameters for human body geometric feature adjustment and dynamic parameter calculation is related to the accuracy of modeling and calculation and the application scope of the human body model, and has great value and significance. Summary of the Invention
[0004] The technical problem to be solved by the present invention is to provide a body weight calculation method based on the volume of segmented body segments of a human body and dynamic density to realize the calculation of human body weight in view of the deficiencies of the above-mentioned prior art.
[0005] To solve the above technical problem, the technical solution adopted by the present invention is: A body weight calculation method based on the volume of segmented body segments of a human body and dynamic density, comprising the following steps:
[0006] Step 1: Obtain a human body data set and divide it into a training set and a test set;
[0007] Obtain multiple groups of human body data, where each group of human body data includes 17 characteristic parameters: height, weight, head circumference, shoulder width, chest circumference, waist circumference, hip circumference, thigh circumference, upper arm circumference, forearm circumference, calf circumference, hand length, foot length, upper arm length, forearm length, body segment volume, and overall volume;
[0008] Data set division method: First, sort multiple groups of human body data according to the overall volume size, divide the overall volume data into five intervals, and then shuffle the data sorting within each interval; randomly divide the training set and the test set for each interval, where the ratio of training set data to test set data in the first and fifth intervals is 0.7:0.3, and the ratio of training set data to test set data in the second, third, and fourth intervals is 0.6:0.4, and then merge the obtained training set and test set respectively to form the overall training set and test set;
[0009] Step 2: Establish an initial human body weight algorithm model to calculate the initial human body weight;
[0010] Use the BP neural network model to train the training set data and verify the BP neural network model on the test set to obtain the initial human body weight algorithm model and calculate the initial human body weight;
[0011] The BP neural network model includes two hidden layers, each with 30 neurons, and the activation function is selected as the Relu activation function; the input layer has 7 input parameters, namely height, chest circumference, waist circumference, hip circumference, thigh circumference, upper arm circumference, and calf circumference, and the output is one parameter which is the initial human body weight;
[0012] Step 3: Based on the human body parameters in the obtained dataset, establish a digital human three-dimensional mesh model, and use the body segment cutting and body segment volume measurement methods to calculate the volume of each body segment as the model label. Fit the relationship between the body segment volume and the input feature values through the Gradient Boosting Decision Tree (GBDT) algorithm to obtain the body segment volume algorithm model, and calculate the volume of each body segment and the overall volume of the human body;
[0013] The human body is divided into 9 body segments, namely the head and neck, upper torso, lower torso, left and right upper arms, left and right forearms, left and right hands, left and right thighs, left and right calves, and left and right feet; then, perform fitting calculations on the volume models of each body segment regressed by the Gradient Boosting Decision Tree (GBDT) algorithm to obtain the volume parameters of each body segment;
[0014] (1) For the upper torso volume fitting, select four feature values: weight, height, shoulder width, and chest circumference; use the Gradient Boosting Decision Tree (GBDT) algorithm for training. During the training process, the number of weak learners is set to 400, the maximum depth of the CART regression tree in the regression model is set to 6, the minimum number of samples at the internal nodes is 30, and the learning rate is 0.05;
[0015] (2) Lower torso volume fitting
[0016] For the lower torso volume fitting, select four feature values: weight, height, waist circumference, and hip circumference, and use the Gradient Boosting Decision Tree (GBDT) algorithm for training; the training parameters are as follows: the number of weak learners is 400, the maximum depth of the CART regression tree in the regression model is set to 5, the minimum number of samples at the internal nodes is 40, and the learning rate is 0.05;
[0017] (3) Head and neck volume fitting
[0018] For the head and neck volume fitting, select three feature values: weight, height, and head circumference, and use the Gradient Boosting Decision Tree (GBDT) algorithm for training; the training parameters are as follows: the number of weak learners is 580, the maximum depth of the CART regression tree in the regression model is set to 5, the minimum number of samples at the internal nodes is 40, and the learning rate is 0.02;
[0019] (4) Thigh volume fitting
[0020] For thigh volume fitting, four eigenvalue features including body weight, height, thigh circumference, and hip circumference are selected and trained using the Gradient Boosting Decision Tree (GBDT) algorithm. The training parameters are as follows: the number of weak learners is 350, the maximum depth of the CART regression tree in the regression model is set to 5, the minimum number of samples at internal nodes is 50, and the learning rate is 0.04;
[0021] (5) Calf volume fitting
[0022] For calf volume fitting, three eigenvalue features including body weight, height, and calf circumference are selected and trained using the Gradient Boosting Decision Tree (GBDT) algorithm. The training parameters are as follows: the number of weak learners is 400, the maximum depth of the CART regression tree in the regression model is set to 7, the minimum number of samples at internal nodes is 50, and the learning rate is 0.05;
[0023] (6) Foot volume fitting
[0024] For foot volume fitting, two eigenvalue features including height and foot length are selected and trained using the Gradient Boosting Decision Tree (GBDT) algorithm. The training parameters are as follows: the number of weak learners is 580, the maximum depth of the CART regression tree in the regression model is set to 5, the minimum number of samples at internal nodes is 40, and the learning rate is 0.02;
[0025] (7) Upper arm volume fitting
[0026] For upper arm volume fitting, five eigenvalue features including body weight, height, upper arm circumference, waist circumference, and chest circumference are selected and trained using the Gradient Boosting Decision Tree (GBDT) algorithm. The training parameters are as follows: the number of weak learners is 580, the maximum depth of the CART regression tree in the regression model is set to 5, the minimum number of samples at internal nodes is 40, and the learning rate is 0.02;
[0027] (8) Forearm volume fitting
[0028] For forearm volume fitting, four eigenvalue features including body weight, height, forearm circumference, and upper arm circumference are selected and trained using the Gradient Boosting Decision Tree (GBDT) algorithm. The training parameters are as follows: the number of weak learners is 430, the maximum depth of the CART regression tree in the regression model is set to 6, the minimum number of samples at internal nodes is 20, and the learning rate is 0.015;
[0029] (9) Hand volume fitting
[0030] For hand volume fitting, three eigenvalue features including body weight, height, and hand length are selected and trained using the Gradient Boosting Decision Tree (GBDT) algorithm. The training parameters are as follows: the number of weak learners is 580, the maximum depth of the CART regression tree in the regression model is set to 5, the minimum number of samples at internal nodes is 40, and the learning rate is 0.02;
[0031] (10) Overall volume calculation
[0032] The volume of each segment is summed to obtain the overall volume;
[0033] Step 4: Based on the volume value of each body segment and the initial calculated body weight, a BP neural network is used for training to establish a body segment density algorithm model to obtain the density changes of each body segment under different overall densities;
[0034] The overall density data is obtained based on the initial calculation of human body weight and overall volume. The overall density data is then divided into 21 parts. The density of each body segment is solved separately for each part, so that each body segment has 21 density points. After removing abnormal points, the body segment density of each body segment is linearly interpolated and fitted to obtain a dynamic density curve representing the change of body segment density with overall density.
[0035] The calculation method of the density of each body segment of the human body is:
[0036] The BP neural network with only input layer and output layer but no hidden layer is used to calculate the density of human body segments. The input feature value is the volume of human body segment x 1j ,x 2j ,...,x 9j , the label is the real human weight y j , j=1,2,....,n, n is the number of human body data sets obtained; the output is the predicted weight y j_pre , the weight corresponding to the input eigenvalue is w i , the weight is the human body segment density, as shown in the following formula:
[0037]
[0038] And set the initial value of the weight so that the weight obtained by training is consistent with the density of human body segments;
[0039] The loss function LOSS is:
[0040]
[0041] The BP algorithm is based on the gradient descent strategy. It adjusts the parameters in the negative gradient direction of the target, sets the learning rate to η, derives the loss function, and updates the weights. The updated weight w' i As shown in the following formula:
[0042]
[0043] Through continuous iteration, the average error of the entire training set is less than the set threshold, and the final output weight is the density of each body segment;
[0044] Step 5: For the human body to be calculated, based on the preliminary weight calculation algorithm model, body segment volume algorithm model, and body segment density algorithm model in Steps 2 - 4, calculate the human body weight;
[0045] First, use the preliminary weight calculation algorithm model to obtain the preliminary weight by inputting the characteristic parameters of height, chest circumference, waist circumference, hip circumference, thigh circumference, upper arm circumference, and calf circumference; then use the body segment volume algorithm model to obtain the body segment volume and overall volume by inputting the characteristic parameters related to each body segment, and combine the preliminary weight to obtain the overall density of the human body; then use the overall density to perform interpolation in the dynamic density curve to obtain the density values of each body segment at this overall density; combine the volume of each body segment and the body segment density to obtain the mass of each body segment, and finally obtain the human body weight;
[0046] Step 6: Correct the volume of each body segment and the overall density, and then realize the correction of the calculated human body weight;
[0047] 1) Body segment volume correction
[0048] Adopt the Gradient Boosting Decision Tree (GBDT) algorithm for overall volume regression, and use the regression - obtained overall volume to correct the volume of each body segment, reducing or even eliminating the influence of the preliminary weight error; the input features of the GBDT model include height, head circumference, chest circumference, waist circumference, hip circumference, thigh circumference, calf circumference, upper arm circumference, forearm circumference, shoulder width, upper arm length, forearm length, foot length, and hand length;
[0049] 2) Overall density correction
[0050] Use the same algorithm and model as the overall volume regression to perform regression on the overall density, realize the correction of the overall density, skip the influence of the preliminary weight, and use the corrected overall density to perform interpolation again in the dynamic density curve to obtain more accurate body segment densities;
[0051] 3) Calculate the human body weight
[0052] Multiply the corrected density of each body segment by the volume of each body segment and then sum them up to calculate the corrected human body weight.
[0053] The beneficial effects of adopting the above technical solution are as follows: The weight calculation method based on the volume and dynamic density of human segmented body segments provided by the present invention establishes a corresponding parametric three-dimensional grid model of the human body based on the human parameter dataset, forms a feature learning model through machine learning methods, uses the initial calculated weight and body segment volume learning model to clarify the overall density of the human body, combines the body segment dynamic density algorithm to obtain the density and mass of each body segment, and finally sums them up to obtain a relatively accurate weight. At the same time, the volume and overall density of each calculated body segment are corrected, thereby realizing the correction of the calculated human body weight, eliminating the cumulative error involved in the calculation of the initial calculated weight, and obtaining a more accurate human body weight. It provides technical support for quality calculation and high-precision modeling in the field of digital human body modeling. BRIEF DESCRIPTION OF THE DRAWINGS
[0054] Figure 1 It is a flowchart of the weight calculation method based on the volume and dynamic density of human segmented body segments provided by an embodiment of the present invention;
[0055] Figure 2 It is a schematic diagram of the BP neural network structure provided by an embodiment of the present invention;
[0056] Figure 3 It is a schematic diagram of the structure of the initial calculated weight algorithm model provided by an embodiment of the present invention;
[0057] Figure 4 It is a flowchart of the gradient boosting decision tree GBDT algorithm provided by an embodiment of the present invention;
[0058] Figure 5 It is a dynamic density curve graph of the density of each body segment changing with the overall density provided by an embodiment of the present invention. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0059] The following combines the drawings and embodiments to further describe in detail the specific embodiments of the present invention. The following embodiments are used to illustrate the present invention, but are not used to limit the scope of the present invention.
[0060] In this embodiment, a weight calculation method based on the volume and dynamic density of human segmented body segments, as Figure 1 shown, includes the following steps:
[0061] Step 1, obtain a human body dataset and divide it into a training set and a test set;
[0062] In this embodiment, 1737 groups of human body data are obtained. Among them, each group of human body data includes 17 characteristic parameters such as height, weight, head circumference, shoulder width, chest circumference, waist circumference, hip circumference, thigh circumference, upper arm circumference, forearm circumference, calf circumference, hand length, foot length, upper arm length, forearm length, body segment volume, and overall volume;
[0063] Dataset partitioning method: First, sort multiple groups of human body data according to the overall volume size, and divide the overall volume data into five intervals, namely 47000 - 58000, 58000 - 62000, 62000 - 67000, 67000 - 72000, 72000 - 96000 (unit: cm 3 3), then shuffle the data sorting within each interval; randomly partition the training set and test set for each interval. Among them, the ratio of training set data to test set data in the first and fifth intervals is 0.7:0.3, and the ratio of training set data to test set data in the second, third, and fourth intervals is 0.6:0.4. Then, merge the obtained training sets and test sets respectively to form the overall training set and test set; the selected dataset partitioning method better ensures the integrity of the training set data type, avoids the problem of some large-volume and small-volume individuals being ignored, and also ensures the randomness of the dataset partitioning.
[0064] After the dataset partitioning is completed, there are 1089 groups of training set data and 648 groups of test set data.
[0065] Step 2: Establish a preliminary human body weight algorithm model to calculate the preliminary human body weight;
[0066] Use the BP neural network model to train the training set data and verify the BP neural network model on the test set to obtain the preliminary human body weight algorithm model and calculate the preliminary human body weight;
[0067] The BP neural network is Figure 2 as shown, consisting of an input layer, a hidden layer, and an output layer. It is a multi-layer feedforward neural network trained according to the error backpropagation algorithm. The learning process consists of two processes: forward propagation and error backpropagation. The forward propagation process means that the signal passes from the input layer through the hidden layer and finally reaches the output layer; the error backpropagation means from the output layer to the hidden layer and finally to the input layer, successively adjusting the weights and biases from the hidden layer to the output layer, and the weights and biases from the input layer to the hidden layer.
[0068] BP neural network learning process:
[0069] Assume that the training set D = {(X1, Y1), (X2, Y2),..., (X m , Y m )}, X i ∈R d , Y i ∈R l means that the input parameter has d feature attributes and outputs an l-dimensional vector. The hidden layer has q neurons, the weight between neurons is w, γ h is the threshold between the hidden layer neurons, and θ j is the threshold of the output layer neurons.
[0070] The input of the q-th neuron in the hidden layer is:
[0071]
[0072] where, w ih is the weight between the i-th neuron in the input layer and the h-th neuron in the hidden layer, and x i is the i-th feature attribute in the input layer.
[0073] The input of the j-th neuron in the output layer is:
[0074]
[0075] where, w hj is the weight between the h-th neuron in the hidden layer and the j-th neuron in the output layer, and x h is the h-th feature attribute in the hidden layer.
[0076] For the training data (x k , y k ), the output layer of the neural network is Similarly, the output of the hidden layer is: f(x) is the activation function, which is a non-linear function. The purpose is to introduce non-linearity into the model and enhance the expression ability of the neural network. Commonly used activation functions include the Sigmoid function, the Relu function, and the Tanh function.
[0077] For the first iteration of the training data (x k , y k ), the loss function of the neural network is:
[0078]
[0079] Based on the gradient descent strategy, the BP algorithm adjusts the parameters in the negative gradient direction of the objective. Assuming the learning rate is η, the derivative of the loss function is taken to obtain the weight update formula of the error backpropagation algorithm:
[0080]
[0081] The learning rate η determines the update step size in each iteration of the BP algorithm. If the learning rate is too large, it is easy to cause oscillations; if it is too small, the convergence speed is slow, affecting the training efficiency. Therefore, it needs to be appropriately adjusted according to actual experiments. The goal of the BP algorithm in the above reasoning is to minimize the cumulative average error on the entire training set D, that is:
[0082]
[0083] In this embodiment, the BP neural network model includes two hidden layers, each with 30 neurons, and the ReLU activation function is selected as the activation function. The input layer has 7 input parameters, namely height, chest circumference, waist circumference, hip circumference, thigh circumference, upper arm circumference, and calf circumference, and the output is a parameter which is the preliminary calculated body weight of the human body, such as Figure 3 as shown;
[0084] In this embodiment, the number of training times of the BP neural network model is set to 500, the learning rate is 0.02, and the mean squared error loss function is selected as the loss function. The experimental results are as follows: the error of the preliminary calculated weight on the training set data is 1.72%, and the error of the preliminary calculated weight on the brand-new test set data is 1.79%.
[0085] Step 3: Based on the human body parameters in the obtained dataset, establish a digital human body three-dimensional grid model, and use the body segment cutting and body segment volume measurement methods to obtain the volumes of each body segment as model labels. Fit the relationship between the body segment volume and the input feature values through the Gradient Boosting Decision Tree (GBDT) algorithm, fit the body segment volume algorithm model, and calculate the volumes of each body segment of the human body;
[0086] In this embodiment, the digital human body three-dimensional grid model is mainly established by the directional spatial movement of the corresponding point cloud during the adjustment process. Among them, the definition of the model parameters is mainly based on GB 10000-88 "Human Body Dimensions of Chinese Adults", and the multi-level linkage response relationship between parameters is defined according to the control range of each parameter. Through the statistical and regression analysis of different percentile standard data, the adjustment methods of each parameter based on the standard human body model and the size adjustment range are formulated.
[0087] During the parametric modification of the digital human body three-dimensional grid model, the coordinate of the parameter adjustment result of the point cloud is obtained by the spatial coordinate movement of the basic model.
[0088] In this embodiment, the human body is divided into 9 body segments, namely the head and neck, the upper trunk, the lower trunk, the left and right upper arms, the left and right forearms, the left and right hands, the left and right thighs, the left and right calves, and the left and right feet, with obvious bony landmarks of the human body as the demarcation points; the Gradient Boosting Decision Tree (GBDT) algorithm is used to perform regression calculations on the volumes of the above-mentioned individual body segments, so as to obtain the volume parameters of each body segment;
[0089] (1) Four characteristic values, namely body weight, height, shoulder width, and chest circumference, are selected for the upper trunk volume fitting; first, the Gradient Boosting Decision Tree (GBDT) algorithm is used for training. During the training process, the number of weak learners is 400, the maximum depth of the CART regression tree in the regression model is set to 6, the minimum number of samples in the internal nodes is 30, and the learning rate is 0.05; the average error of the upper trunk body segment volume of the strong learner composed of the linear combination of weak learners on the test set is 0.7527%.
[0090] (2) Lower Trunk Volume Fitting
[0091] For lower trunk volume fitting, four characteristic values of body weight, height, waist circumference, and hip circumference are selected and trained using the Gradient Boosting Decision Tree (GBDT) algorithm. The training parameters are as follows: the number of weak learners is 400, the maximum depth of the CART regression tree in the regression model is set to 5, the minimum number of samples at internal nodes is 40, and the learning rate is 0.05. The average error of the strong learner composed of the linear combination of weak learners for the lower trunk segment volume on the test set is 1.0311%.
[0092] (3) Head and Neck Volume Fitting
[0093] For head and neck volume fitting, three characteristic values of body weight, height, and head circumference are selected and trained using the GBDT algorithm. The training parameters are as follows: the number of weak learners is 580, the maximum depth of the CART regression tree in the regression model is set to 5, the minimum number of samples at internal nodes is 40, and the learning rate is 0.02. The average error of the strong learner composed of the linear combination of weak learners for the head and neck segment volume on the test set is 0.62%.
[0094] (4) Thigh Volume Fitting
[0095] For thigh volume fitting, four characteristic values of body weight, height, thigh circumference, and hip circumference are selected and trained using the GBDT algorithm. The training parameters are as follows: the number of weak learners is 350, the maximum depth of the CART regression tree in the regression model is set to 5, the minimum number of samples at internal nodes is 50, and the learning rate is 0.04. The average error of the strong learner composed of the linear combination of weak learners for the thigh segment volume on the test set is 1.4861%.
[0096] (5) Calf Volume Fitting
[0097] For calf volume fitting, three characteristic values of body weight, height, and calf circumference are selected and trained using the GBDT algorithm. The training parameters are as follows: the number of weak learners is 400, the maximum depth of the CART regression tree in the regression model is set to 7, the minimum number of samples at internal nodes is 50, and the learning rate is 0.05. The average error of the strong learner composed of the linear combination of weak learners for the calf segment volume on the test set is 1.0594%.
[0098] (6) Foot Volume Fitting
[0099] For foot volume fitting, two characteristic values of height and foot length are selected and trained using the GBDT algorithm. The training parameters are as follows: the number of weak learners is 580, the maximum depth of the CART regression tree in the regression model is set to 5, the minimum number of samples at internal nodes is 40, and the learning rate is 0.02. The average error of the strong learner composed of the linear combination of weak learners for the foot segment volume on the test set is 0.0931%.
[0100] (7) Upper arm volume fitting
[0101] For upper arm volume fitting, five characteristic values of weight, height, upper arm circumference, waist circumference, and chest circumference are selected and trained using the gradient boosting decision tree (GBDT) algorithm. The training parameters are as follows: the number of weak learners is 580, the maximum depth of the CART regression tree in the regression model is set to 5, the minimum number of samples at the internal nodes is 40, and the learning rate is 0.02. The average error of the upper arm segment volume of the strong learner composed of the linear combination of weak learners on the test set is 1.5988%.
[0102] (8) Forearm volume fitting
[0103] For forearm volume fitting, four characteristic values of weight, height, forearm circumference, and upper arm circumference are selected and trained using the gradient boosting decision tree (GBDT) algorithm. The training parameters are as follows: the number of weak learners is 430, the maximum depth of the CART regression tree in the regression model is set to 6, the minimum number of samples at the internal nodes is 20, and the learning rate is 0.015. The average error of the forearm segment volume of the strong learner composed of the linear combination of weak learners on the test set is 0.7879%.
[0104] (9) Hand volume fitting
[0105] For hand volume fitting, three characteristic values of weight, height, and hand length are selected and trained using the gradient boosting decision tree (GBDT) algorithm. The training parameters are as follows: the number of weak learners is 580, the maximum depth of the CART regression tree in the regression model is set to 5, the minimum number of samples at the internal nodes is 40, and the learning rate is 0.02. The average error of the hand segment volume of the strong learner composed of the linear combination of weak learners on the test set is 0.1115%.
[0106] (10) Overall volume calculation
[0107] Since the human body is divided into 9 segments, namely head and neck, upper trunk, lower trunk, left and right upper arms, left and right forearms, left and right hands, left and right thighs, left and right calves, and left and right feet, the overall volume is obtained by summing the volumes of each segment.
[0108] The GBDT (gradient boosting decision tree) algorithm is a Boosting method in ensemble learning and is widely used in classification and regression problems. It classifies or regresses data through an additive model and continuously reducing the residuals generated during the training process.
[0109] Through multiple rounds of iteration, GBDT generates a weak learner in each round, and each learner is trained based on the residuals of the previous round's learner. The final overall learner is obtained by linearly combining the weak classifiers obtained from each round of training. In this embodiment, a CART regression tree is used as the weak learner, and the model adopts a squared loss function.
[0110] The training process of GBDT:
[0111] Input: Training dataset {(x1, y1), (x2, y2),..., (x N , y N )}, loss function L(y, f(x)), learning rate γ;
[0112] Output: Regression tree f(x)
[0113] Training process:
[0114] (1) Initialization
[0115]
[0116] (2) For m = 1, 2,..., M:
[0117] (a) For i = 1, 2,..., N, calculate
[0118] (b) For r mi Fit a CART regression tree to obtain the leaf node regions R mj , j = 1, 2,..., J.
[0119] (c) For j = 1, 2,..., J, calculate
[0120]
[0121] Estimate the value of the leaf node region using linear search to minimize the loss function. When the loss function is the squared error loss function, c mj is equal to the average of all sample labels in the j-th leaf node region.
[0122] (d) Update the model
[0123]
[0124] (3) Obtain the regression tree
[0125] During the training process, if an appropriate learning rate is selected, the gradient of the loss function gradually decreases. When the gradient of the loss function is 0, the extreme point is reached. At this time, the residual is also necessarily close to 0, and the loss function obtains the minimum value. In this embodiment, the algorithm flow of the gradient boosting decision tree GBDT is as Figure 4 shown.
[0126] In this embodiment, the GBDT model is trained for 9 body segments of the human body, namely the head and neck, upper torso, lower torso, upper arm, forearm, hand, thigh, calf, and foot. The parameters and errors of the training model are shown in Table 1 below. Summing the volumes of each body segment can obtain the total volume. After calculation, the average error of the total volume on the test set is 0.53%.
[0127] Table 1 Model Parameters and Errors
[0128]
[0129] Step 4: According to the volume values of each body segment and the initially calculated human body weight, use the BP neural network for training to establish a body segment density algorithm model and obtain the density changes of each body segment under different overall densities;
[0130] Because simulation analyses such as bone and muscle dynamics and rigid body dynamics during movement require accurate dynamic data such as the mass of each body segment of the human body for model setting, and the volume of the human body segments can be obtained through the GBDT algorithm in the above text, it is necessary to calculate the density of the human body segments in order to obtain the mass of the human body segments used in simulation analyses such as bone and muscle dynamics and rigid body dynamics during movement. Among the 9 independent body segments of the human body, the density of each body segment is non-uniform, and the distribution characteristics of bone, muscle, fat, and other tissues are different. Generally speaking, due to the relatively high proportion of bone, the density of the distal bone segment is greater than that of the proximal bone segment, and the density of individual bone segments increases with the increase of the average body density. When calculating the density changes of each body segment, only the change law of the single-body density of the body segment with the overall density of the human body needs to be considered.
[0131] The present invention obtains the overall density data based on the initially calculated human body weight and overall volume, and then divides the overall density data into 21 parts (0.98 - 1.19 * 10 3 kg / m 3 ). For each part, the density of each body segment of the human body is solved separately, so that each body segment of the human body has 21 density points. After removing the abnormal points, linear interpolation fitting is performed on the body segment density of each body segment respectively to obtain a dynamic density curve representing the change of the body segment density with the overall density;
[0132] The calculation method of the density of each body segment of the human body is as follows:
[0133] The human body can be divided into 9 body segments: head and neck, upper torso, lower torso, upper arm, forearm, hand, thigh, calf, and foot according to landmark demarcation points. Based on the Gradient Boosting Decision Tree (GBDT) algorithm, the volume of each body segment can be calculated. Given the volume values of each body segment and the human body weight, the density of each body segment can be obtained through training with a Back Propagation (BP) neural network.
[0134] A BP neural network with only an input layer and an output layer and no hidden layer is used to calculate the density of human body segments. The input feature values are the volumes \(x\) of human body segments 1j , \(x\) 2j ,..., \(x\) 9j , and the label is the true human body weight \(y\) j , where \(j = 1, 2,...., n\) and \(n\) is the number of groups of human data obtained; the output is the predicted weight \(\hat{y}\) j_pre , and the weights corresponding to the input feature values are \(w\) i , and this weight is the density of the human body segment, as shown in the following formula:
[0135]
[0136] And an initial value is set for the weight so that the weight obtained through training is basically consistent with the density of the human body segment;
[0137] The loss function LOSS is:
[0138]
[0139] The BP algorithm is based on the gradient descent strategy, adjusts the parameters in the negative gradient direction of the objective, sets the learning rate as \(\eta\), takes the derivative of the loss function, and updates the weight; the updated weight \(w'\) i is shown in the following formula:
[0140]
[0141] By continuously iterating, the average error on the entire training set is made less than the set threshold, and finally the output weight is the density of each body segment.
[0142] Since the BP neural model used in this embodiment is a linear model, according to the reference data of the density of each body segment given in known literature, initial values are set for the weights during the model training process. The learning rate set for training the model in this embodiment is 0.01, and the number of training times is 150. The human body is divided into nine parts: head, upper torso, lower torso, thigh, calf, foot, upper arm, forearm, and hand. The average density corresponding to each part is set to 1.074, 0.95, 1.176, 1.0, 1.074, 1.121, 1.094, 1.15, 1.25. Since this initial value is close to the actual density, it is easy to cause errors during gradient descent. Considering that the variation law of the density of each body segment with the total density in the existing literature is close to linear, the initial weights are therefore set to be less than the actual average density (80% of the average density), and the gradient descent method is used to approximate the true value.
[0143] In this embodiment, the dynamic density curve of the body segment density changing with the overall density is as Figure 5 shown. The dynamic density curve graph of the body segment density changing with the overall density is used to verify the accuracy of the body segment density. The average error of solving the body weight through the dynamic density of the human body segment on the original data set is 0.23%.
[0144] In this embodiment, based on the above initial body weight algorithm model, body segment volume algorithm model, and body segment density algorithm model, the initial body weight of the human body is calculated according to the seven characteristic values of height, chest circumference, waist circumference, hip circumference, thigh circumference, upper arm circumference, and calf circumference in the obtained 1737 groups of human body data sets. Compared with the standard body weight of the human body in the data set, the accuracy rate is 98.27%; the accuracy rate of calculating the overall volume of the human body is 99.46%. The dynamic density of each body segment is solved according to the dynamic density curve, and then the body weight of the human body is solved. Compared with the standard body weight of the human body in the data set, the accuracy rate is 98.29%.
[0145] Step 5: For the human body to be calculated, based on the initial body weight algorithm model, body segment volume algorithm model, and body segment density algorithm model in steps 2 - 4, calculate the body weight of the measured human body;
[0146] First, use the initial body weight algorithm model to obtain the initial body weight by inputting the characteristic parameters of the height, chest circumference, waist circumference, hip circumference, thigh circumference, upper arm circumference, and calf circumference of the measured human body; then use the body segment volume algorithm model to obtain the body segment volume and the overall volume by inputting the characteristic parameters related to each body segment, and combine the initial body weight to obtain the overall density of the human body; then use interpolation on the dynamic density curve with the overall density to obtain the density value of each body segment at this overall density; combine the volume of each body segment and the body segment density to obtain the mass of each body segment, and finally obtain the body weight of the measured human body;
[0147] It can be seen from the dynamic density curve of the human body segment that the density ρ of each body segment can be interpolated and solved from the overall density of the human body i, based on the calculated volume \(v\) of each body segment i , the body segment mass can be obtained through the formula \(m\) i =\(\rho\) i \(v\) i . This body segment mass data can be applied to subsequent simulation analyses such as bone and muscle dynamics and rigid body dynamics during movement.
[0148] Step 6: Correct the volume of each body segment and the overall density, and then correct the calculated human body weight;
[0149] Since the initial calculated body weight is introduced in the calculation of the body segment volume model, it will cause cumulative errors. Similarly, the overall density is calculated in the form of dividing the initial calculated body weight by the overall volume, and errors will also accumulate due to the participation of the initial calculated body weight in the calculation. The body weight calculated through the body segment density and body segment volume is corrected up and down based on the initial calculated body weight, so the final errors of the two are relatively close. Therefore, an optimization algorithm is needed to optimize and improve these two aspects. The flow chart of the optimization algorithm is as Figure 1 shown, and the specific optimization process is as follows:
[0150] 1) Body segment volume correction
[0151] Use the Gradient Boosting Decision Tree (GBDT) algorithm to perform overall volume regression, and correct the volume of each body segment using the regressed overall volume (that is, divide the regressed overall volume by the numerically calculated overall volume to obtain the adjustment ratio, and then multiply this ratio by the volume of each body segment), reducing or even eliminating the influence of the initial calculated body weight error; the input features of the GBDT model for overall volume regression include height, head circumference, chest circumference, waist circumference, hip circumference, thigh circumference, calf circumference, upper arm circumference, forearm circumference, shoulder width, upper arm length, forearm length, foot length, and hand length; since the model input features do not include body weight, the influence of the initial calculated body weight is skipped; in this embodiment, using the existing 1737 sets of data, they are randomly divided into a training set and a test set with a ratio of 0.7:0.3. During the training process, the number of weak learners is 600, the maximum depth of the CART regression tree in the regression model is set to 10, the minimum number of samples at the internal nodes is 80, and the learning rate is 0.05. The average error of the model on the test set is 0.14%.
[0152] 2) Overall density correction
[0153] Use the same algorithm and model as the overall volume regression to perform regression on the overall density, correct the overall density, skip the influence of the initial calculated body weight, and use the corrected overall density to re-interpolate and update the density of each body segment in the dynamic density curve to obtain a more accurate body segment density; in this embodiment, the eigenvalue, parameter, and training and test sets of the GBDT model for overall density regression are the same as those of the GBDT model for overall volume regression. The average error of the tested overall density is 0.22%.
[0154] 3) Calculate the human body weight
[0155] The corrected human body weight is calculated by multiplying the density of each body segment after correction by the volume of each body segment and then accumulating the results.
[0156] It can be seen that the volume of the body segment is corrected by the overall volume, and the regression calculation input of the overall volume does not include the body weight, thus reducing the influence of the initially calculated body weight. Similarly, the overall density eliminates the influence of the initially calculated body weight through direct regression rather than numerical calculation.
[0157] Based on the initially calculated body weight and the volume of each body segment, the volume of each body segment is corrected using the regressed overall volume, and at the same time, the regressed overall density is used to replace the numerically calculated overall density to solve for the density of each body segment. Finally, the human body weight calculated by multiplying the corrected density of each body segment by the volume of each body segment has an accuracy rate of 99.59% compared with the standard body weight of humans in the dataset, showing a significant improvement compared with the initially calculated body weight and the initial algorithm.
[0158] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention and are not intended to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that they can still modify the technical solutions described in the foregoing embodiments, or perform equivalent replacements for some or all of the technical features; and these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope defined by the claims of the present invention.
Claims
1. A method for calculating body weight based on the volume and dynamic density of human segmented body segments, characterized in that: It includes the following steps: Step 1: Obtain a human body dataset and divide it into a training set and a test set; Obtain multiple groups of human body data, where each group of human body data includes 17 characteristic parameters: height, weight, head circumference, shoulder width, chest circumference, waist circumference, hip circumference, thigh circumference, upper arm circumference, forearm circumference, calf circumference, hand length, foot length, upper arm length, forearm length, body segment volume, and overall volume; Step 2: Establish an algorithm model for preliminary calculation of human body weight to preliminarily calculate the human body weight; Use the BP neural network model to train the training set data and verify the BP neural network model on the test set to obtain an algorithm model for preliminary calculation of human body weight and preliminarily calculate the human body weight; Step 3: Based on the human body parameter dataset obtained, establish a digital human body three-dimensional grid model, and use the body segment cutting and body segment volume measurement methods to calculate the volume of each body segment as the model label. Fit the relationship between the body segment volume and the input feature values through the gradient boosting decision tree GBDT algorithm to fit out an algorithm model for body segment volume, and calculate the volume of each body segment and the overall volume of the human body; Step 4: Calculate the overall density according to the volume values of each body segment and the preliminarily calculated human body weight, use the BP neural network for training, establish an algorithm model for body segment density, and obtain the density changes of each body segment under different overall densities; Step 5: For the human body to be calculated, based on the algorithm models for preliminary calculation of body weight, body segment volume, and body segment density in Steps 2-4, calculate the human body weight.
2. The body weight calculation method based on the volume and dynamic density of human segmented body segments according to claim 1, wherein: The division method of the dataset in Step 1 is as follows: First, sort the multiple groups of human body data according to the overall volume size, divide the overall volume data into five intervals, and then shuffle the data sorting within each interval; randomly divide the training set and the test set for each interval. Among them, the ratio of the training set data to the test set data in the first and fifth intervals is 0.7:0.3, and the ratio of the training set data to the test set data in the second, third, and fourth intervals is 0.6:0.
4. Then, merge the obtained training set and test set respectively to form the overall training set and test set.
3. The body weight calculation method based on the volume and dynamic density of the segmented body segments according to claim 2, wherein: The BP neural network model in Step 2 includes two hidden layers, each with 30 neurons, and the activation function selects the Relu activation function; the input layer has 7 input parameters, namely height, chest circumference, waist circumference, hip circumference, thigh circumference, upper arm circumference, and calf circumference, and the output is a parameter which is the preliminarily calculated human body weight.
4. The body weight calculation method based on the volume and dynamic density of human segmented body segments according to claim 3, wherein: The specific method of Step 3 is as follows: The human body is divided into 9 body segments: head and neck, upper torso, lower torso, left and right upper arms, left and right forearms, left and right hands, left and right thighs, left and right calves, and left and right feet; then, perform fitting calculations on the volume models of each body segment regressed by the gradient boosting decision tree GBDT algorithm to obtain the volume parameters of each body segment; (1) For the fitting of the upper torso volume, select four characteristic values: weight, height, shoulder width, and chest circumference; use the gradient boosting decision tree GBDT algorithm for training. During the training process, the number of weak learners is set to 400, the maximum depth of the CART regression tree in the regression model is set to 6, the minimum number of samples at the internal nodes is 30, and the learning rate is 0.05; (2) Fitting of the lower torso volume For the lower torso volume fitting, four characteristic values of weight, height, waist circumference, and hip circumference are selected and trained using the Gradient Boosting Decision Tree (GBDT) algorithm. The training parameters are as follows: the number of weak learners is 400, the maximum depth of the CART regression tree in the regression model is set to 5, the minimum number of samples at internal nodes is 40, and the learning rate is 0.05; (3) Neck and head volume fitting For the neck and head volume fitting, three characteristic values of weight, height, and head circumference are selected and trained using the Gradient Boosting Decision Tree (GBDT) algorithm. The training parameters are as follows: the number of weak learners is 580, the maximum depth of the CART regression tree in the regression model is set to 5, the minimum number of samples at internal nodes is 40, and the learning rate is 0.02; (4) Thigh volume fitting For the thigh volume fitting, four characteristic values of weight, height, thigh circumference, and hip circumference are selected and trained using the Gradient Boosting Decision Tree (GBDT) algorithm. The training parameters are as follows: the number of weak learners is 350, the maximum depth of the CART regression tree in the regression model is set to 5, the minimum number of samples at internal nodes is 50, and the learning rate is 0.04; (5) Calf volume fitting For the calf volume fitting, three characteristic values of weight, height, and calf circumference are selected and trained using the Gradient Boosting Decision Tree (GBDT) algorithm. The training parameters are as follows: the number of weak learners is 400, the maximum depth of the CART regression tree in the regression model is set to 7, the minimum number of samples at internal nodes is 50, and the learning rate is 0.05; (6) Foot volume fitting For the foot volume fitting, two characteristic values of height and foot length are selected and trained using the Gradient Boosting Decision Tree (GBDT) algorithm. The training parameters are as follows: the number of weak learners is 580, the maximum depth of the CART regression tree in the regression model is set to 5, the minimum number of samples at internal nodes is 40, and the learning rate is 0.02; (7) Upper arm volume fitting For the upper arm volume fitting, five characteristic values of weight, height, upper arm circumference, waist circumference, and chest circumference are selected and trained using the Gradient Boosting Decision Tree (GBDT) algorithm. The training parameters are as follows: the number of weak learners is 580, the maximum depth of the CART regression tree in the regression model is set to 5, the minimum number of samples at internal nodes is 40, and the learning rate is 0.02; (8) Forearm volume fitting For the forearm volume fitting, four characteristic values of weight, height, forearm circumference, and upper arm circumference are selected and trained using the Gradient Boosting Decision Tree (GBDT) algorithm. The training parameters are as follows: the number of weak learners is 430, the maximum depth of the CART regression tree in the regression model is set to 6, the minimum number of samples at internal nodes is 20, and the learning rate is 0.015; (9) Hand volume fitting For the hand volume fitting, three characteristic values of weight, height, and hand length are selected and trained using the Gradient Boosting Decision Tree (GBDT) algorithm. The training parameters are as follows: the number of weak learners is 580, the maximum depth of the CART regression tree in the regression model is set to 5, the minimum number of samples at internal nodes is 40, and the learning rate is 0.02; (10) Overall volume calculation The overall volume is obtained by summing the volumes of each body segment.
5. The body weight calculation method based on the volume and dynamic density of the human segmented body segments according to claim 4, characterized in that: The specific method of step 4 is as follows: The overall density data is obtained based on the initial calculation of human body weight and overall volume. The overall density data is then divided into 21 parts. The density of each body segment is solved separately for each part, and then the density points of each body segment under different overall densities are obtained. After removing the abnormal points, the body segment density of each body segment is linearly interpolated and fitted to obtain a dynamic density curve representing the change of body segment density with overall density. The calculation method of the density of each body segment of the human body is: Use a BP neural network with only an input layer and an output layer but no hidden layer to calculate the body segment density of the human body. The input feature value is the volume x of the human body segment 1j , x 2j ,..., x 9j , and the label is the actual body weight y j , where j = 1, 2,...., n, and n is the number of groups of human body data obtained; the output is the predicted body weight y j_pre , and the weight corresponding to the input feature value is w i , and this weight is the body segment density of the human body, as shown in the following formula: And set the initial value of the weight so that the weight obtained by training is consistent with the density of human body segments; The loss function LOSS is: The BP algorithm is based on the gradient descent strategy, adjusts the parameters in the negative gradient direction of the target, sets the learning rate as η, takes the derivative of the loss function, and updates the weights; the updated weight w' i As shown in the following formula: Through continuous iteration, the average error of the entire training set is achieved to be less than the set threshold, and the final output weight is the density of each body segment.
6. The body weight calculation method based on the volume and dynamic density of the segmented body segments according to claim 5, characterized in that: The specific method of step 5 is: First, the initial weight calculation algorithm model is used to obtain the initial weight by inputting the characteristic parameters of height, chest circumference, waist circumference, hip circumference, thigh circumference, upper arm circumference, and calf circumference; then the body segment volume algorithm model is used to obtain the body segment volume and overall volume by inputting the characteristic parameters related to each body segment, and the overall density of the human body is obtained in combination with the initial weight; then the overall density is used to interpolate in the dynamic density curve to obtain the density value of each body segment under the overall density; the mass of each body segment is obtained by combining the volume and density of each body segment, and finally the human body weight is obtained.
7. The body weight calculation method based on the volume and dynamic density of the segmented body segments according to any one of claims 2-6, characterized in that: The method also corrects the calculated volume of each body segment and overall density, thereby correcting the calculated body weight. The specific method is: 1) Body segment volume correction The gradient boosting decision tree (GBDT) algorithm is used for overall volume regression, and the regressed overall volume is used to correct the volume of each body segment, reducing or even eliminating the impact of initial weight calculation errors. The input features of the GBDT model include height, head circumference, chest circumference, waist circumference, hip circumference, thigh circumference, calf circumference, upper arm circumference, forearm circumference, shoulder width, upper arm length, forearm length, foot length, and hand length. 2) Overall density correction The whole body density is regressed using the same algorithm and model as the whole body volume regression to achieve correction of the whole body density, skipping the influence of the initial weight calculation, and using the corrected whole body density to re-interpolate the dynamic density curve to obtain a more accurate body segment density; 3) Calculate human body weight The corrected body weight is calculated by multiplying the corrected density of each body segment by the volume of each body segment and then adding them together.
Citation Information
Patent Citations
Dressing mirror having life monitoring function and application method thereof
CN110089996A
Feature optimization SSVEP asynchronous recognition method based on gradient boosting decision tree
CN112001305A