# Application of Virtual Reality and Artificial Intelligence Technology in Fitness Clubs

Authors: Changjun Zhao
Journal: Mathematical Problems in Engineering
 (2021)

---

## Abstract

With the continuous development and progress of virtual reality technology in recent years, the application of virtual reality technology in all aspects of real life is no longer limited to the military field, medical, or film production fields, but it gradually appears in front of the public, into the lives of ordinary people. The human-computer interaction method in virtual reality and the presentation effect of the virtual scene are the two most important aspects of the virtual reality experience. How to provide a good human-computer interaction method for virtual reality applications and how to improve the final presentation effect of the virtual reality scene is also becoming an important research direction. This paper takes the virtual fitness club experience system as the application background, analyzes the function and performance requirements of the virtual reality experience system in the virtual reality environment, and proposes the use of Kinect as a video acquisition device to extract the user’s somatosensory operation actions through in-depth information to achieve somatosensory control. This article adopts a real human-computer interaction solution, uses Unity 3D game engine to build a virtual reality scene, defines shaders to improve the rendering effect of the scene, and uses Oculus Rift DK2 to complete an immersive 3D scene demonstration. This process greatly reduces resource consumption; it not only enables users to experience unprecedented immersion as users but also helps people create unprecedented scenes and experiences through virtual imagination. The virtual fitness club experience system probably reduces resource consumption by nearly 70%.


---

## Body

## 1. Introduction

Virtual reality (VR) is a new type of information technology that has emerged since the 1990s. It is based on computer technology as the core and combined with related science and technology. Experimenters use related equipment and objects to interact in the digital environment so that they can vividly feel and experience the real environment. Therefore, the human-computer interaction of virtual reality technology provides a new interactive medium. It is the process of mankind’s understanding and exploration of nature and gradually forms a scientific method and technology for simulating nature, to better understand, adapt, and use nature.Zhang Qinggao believes that many high-tech technologies have been developed in scientific research in recent years. This includes computer graphics, multimedia technology, artificial intelligence, human and machine equipment, genetic technology and forensic technology, high-throughput technology, and some other human psychology technologies. He first introduced the basic concepts of virtual reality and some existing technologies, then introduced a virtual reality modeling language VRML based on WEB, and used it to realize a simple virtual reality space K virtual data room. However, his method is too simple to meet the needs of users [1]. Liu Ying believes that virtual reality reflects the virtual world. Virtual reality refers to the creation of computer technology. The user interacts with virtual reality through reaction control in the real world. He is always studying the latest future technology to influence customers’ electronic products and guide the future development work, which will improve each other’s theory and practice through “mutual communication” teaching. He discussed the conclusions of the outer space structure from “VaA” to the model and put forward the conclusions and suggestions of resource development and follow-up research related to development. However, his ideas are too advanced and cannot be realized by current technical means [2]. Zhang Xiaoyu believes that virtual reality technology is a multidimensional simulation and simulation of computer technology. In the modern display art with multimedia technology as the main technical means the application of virtual reality technology has brought it a kind of “immersive,” expressive method, and he analyzed the technical application and artistic expressiveness of virtual reality to highlight the superiority of this technology in modern display art. Virtual reality will become a new development direction of modern display art, but he has no actual data to support and needs to do a large number of experiments to verify the feasibility of the theory [3].This article takes the virtual reality experience of the fitness club as the application background, deeply analyzes and studies the friendly human-computer interaction and realistic scene presentation methods in virtual reality scenes, applies the technical methods of intelligent video to the virtual reality technology, and analyzes and compares with some current human motion recognition methods, a somatosensory human machine, which uses Kalman filtering and joint point reliability detection to perform joint point recognition position correction, based on the joint point position through an improved angle measurement method to recognize human motion instructions’ interactive system. To recreate realistic virtual reality scenes, this article assumes two aspects of scene construction and rendering optimization to create excellent and performance-optimized scene materials in consideration of system efficiency and resource consumption control. Some Unity 3D comes with Shader (shader). By controlling the rendering pipeline to simulate the real optical imaging process, the rendering effect of bump texture and specular reflection is greatly improved. And, adapt the latest virtual reality display device Oculus Rift DK2 to provide immersive virtual reality presentation affects so that people can achieve their goals through virtual reality and can also greatly reduce costs and losses. In this article, the virtual fitness club experience system reduces resource consumption by nearly 70%.


## 2. Processing Methods of In-Depth Data Analysis and Action Recognition

Collision is an engineering method that can determine whether two objects collide with each other in a virtual environment. In a virtual reality system, the accuracy of conflict conflicts with incompetence. An accurate and efficient method can improve the user’s sense of experience and real-time interaction in the virtual environment. Since many objects, in reality, have complex shapes, collision detection often consumes a lot of processing time and storage space. As a result, the real-time and accuracy requirements of the virtual reality environment are often far from being obtained. Research on collision detection methods is often to find a balance as much as possible between accuracy and real time. Based on the summary of the previous collision detection methods, this paper will propose its own improvement method from the perspective of reducing the system’s memory consumption during the collision detection process [4, 5].


### 2.1. Space Decomposition Method

The basic idea of the space decomposition method is to divide the detected virtual space into narrow cells, then specify the cells according to the geometric data, and only intersect the cases in the same grid or two adjacent grids. Currently, commonly used methods are octree, BSP tree, K-D tree, etc. The space decomposition method is suitable for a simple environment where the geometric blocks are evenly dispersed and uniform. It is inadequate for relatively concentrated geometric objects in a complex environment, and the results achieved are often difficult to meet the requirements [6, 7].


### 2.2. Hierarchical Bounding Box Method

Hierarchical bounding box method is currently the most widely used collision detection method, and it is suitable for more complex collision environments. One of the principles of the ladder enclosure is to express complex objects in simple shapes and construct more complex object structures until the shape of the geometric model is completely retained. Someone compares a cladding tree to the test of a border intersection, which can release extremely unstable geometric elements for the first time and reduce many unnecessary calculations. During the traversal process, we will cross-test the two elements within the triangle, compare the number of geometric tests, and improve the efficiency of the collision test [8, 9].


### 2.3. Implementation and Characteristics of the Hierarchical Bounding Box Method

Collision detection algorithms mainly include three methods based on Voronoi diagram, distance calculation, and bounding box. The method based on bounding box is currently the most widely used and has great research value. In actual research, the common bounding box methods mainly include bounding sphere method, bounding box method along the coordinate axis, and direction bounding box method [10, 11].The principle of the original collision detection method is very simple, that is, all basic triangle faces between two geometric objects are intersected one by one. Although this method can correctly detect collisions between objects, when the model becomes increasingly complex, the amount of calculation increases exponentially, which clearly cannot meet the real-time requirements of the VR system. With the development of the times and the deepening of research, to improve the accuracy and speed of collision detection between two objects, the existing improved collision detection algorithms mainly include spatial decomposition method and hierarchical bounding box method [12, 13].


### 2.4. Comparison of Advantages and Disadvantages of Hierarchical Bounding Boxes

Bounding ball is the simplest of the above three methods. When the model object is not deformed and distorted, the bounding sphere does not need to recalculate the center of the sphere and the radius of the sphere [14] so that a satisfactory effect may be obtained. However, the scope of application of the bounding box is still relatively limited. On the one hand, because the types of models are complex and diverse and, on the other hand, because the wrapping of the surrounding ball is the worst, its accuracy is the lowest among the three. The encapsulation of the bounding box established by the AABB method which is better than that of the bounding sphere, and it only needs to be established along the coordinate axis, so the construction process is not complicated, and the intersection test is also very simple, and only six scalars are required for calculation. Since it is also not suitable for all objects, it has poor compactness for sharp geometric models [15, 16]. The OBB bounding box is more complicated than the other two bounding boxes due to its arbitrary orientation, but its compactness is the best. The optimization of the AABB bounding box hierarchy tree seems to have great research value. In addition, this method can significantly reduce the number of intersections of the two bounding boxes, so it can obtain a better detection effect than the other two methods [17, 18].


### 2.5. AABB Bounding Box Hierarchy Tree Optimization

In the implementation process of the “smart park” roaming system, the design and implementation of scene roaming is the last step of the whole problem, and it is also the most critical step. Different roaming strategies and methods will have obvious differences in the realization of roaming in the actual scene, which is directly related to the user’s experience of the entire system. Under normal circumstances, the quality of the collision detection method directly affects the accuracy and effectiveness of the entire roaming system. During the implementation of the scene walkthrough, each geometric object that will be collision detected is represented by a triangular facet. Then, two data tables of attributes and geometry are used to store the spatial information of geometric objects to ensure that the information of the detected geometric objects is dynamically stored and updated in real time. This article is based on the discussion and optimization of the efficiency of the traditional AABB collision detection method and adopts the two-step AABB detection method to obtain good experimental results [19, 20].


## 2.1. Space Decomposition Method

The basic idea of the space decomposition method is to divide the detected virtual space into narrow cells, then specify the cells according to the geometric data, and only intersect the cases in the same grid or two adjacent grids. Currently, commonly used methods are octree, BSP tree, K-D tree, etc. The space decomposition method is suitable for a simple environment where the geometric blocks are evenly dispersed and uniform. It is inadequate for relatively concentrated geometric objects in a complex environment, and the results achieved are often difficult to meet the requirements [6, 7].


## 2.2. Hierarchical Bounding Box Method

Hierarchical bounding box method is currently the most widely used collision detection method, and it is suitable for more complex collision environments. One of the principles of the ladder enclosure is to express complex objects in simple shapes and construct more complex object structures until the shape of the geometric model is completely retained. Someone compares a cladding tree to the test of a border intersection, which can release extremely unstable geometric elements for the first time and reduce many unnecessary calculations. During the traversal process, we will cross-test the two elements within the triangle, compare the number of geometric tests, and improve the efficiency of the collision test [8, 9].


## 2.3. Implementation and Characteristics of the Hierarchical Bounding Box Method

Collision detection algorithms mainly include three methods based on Voronoi diagram, distance calculation, and bounding box. The method based on bounding box is currently the most widely used and has great research value. In actual research, the common bounding box methods mainly include bounding sphere method, bounding box method along the coordinate axis, and direction bounding box method [10, 11].The principle of the original collision detection method is very simple, that is, all basic triangle faces between two geometric objects are intersected one by one. Although this method can correctly detect collisions between objects, when the model becomes increasingly complex, the amount of calculation increases exponentially, which clearly cannot meet the real-time requirements of the VR system. With the development of the times and the deepening of research, to improve the accuracy and speed of collision detection between two objects, the existing improved collision detection algorithms mainly include spatial decomposition method and hierarchical bounding box method [12, 13].


## 2.4. Comparison of Advantages and Disadvantages of Hierarchical Bounding Boxes

Bounding ball is the simplest of the above three methods. When the model object is not deformed and distorted, the bounding sphere does not need to recalculate the center of the sphere and the radius of the sphere [14] so that a satisfactory effect may be obtained. However, the scope of application of the bounding box is still relatively limited. On the one hand, because the types of models are complex and diverse and, on the other hand, because the wrapping of the surrounding ball is the worst, its accuracy is the lowest among the three. The encapsulation of the bounding box established by the AABB method which is better than that of the bounding sphere, and it only needs to be established along the coordinate axis, so the construction process is not complicated, and the intersection test is also very simple, and only six scalars are required for calculation. Since it is also not suitable for all objects, it has poor compactness for sharp geometric models [15, 16]. The OBB bounding box is more complicated than the other two bounding boxes due to its arbitrary orientation, but its compactness is the best. The optimization of the AABB bounding box hierarchy tree seems to have great research value. In addition, this method can significantly reduce the number of intersections of the two bounding boxes, so it can obtain a better detection effect than the other two methods [17, 18].


## 2.5. AABB Bounding Box Hierarchy Tree Optimization

In the implementation process of the “smart park” roaming system, the design and implementation of scene roaming is the last step of the whole problem, and it is also the most critical step. Different roaming strategies and methods will have obvious differences in the realization of roaming in the actual scene, which is directly related to the user’s experience of the entire system. Under normal circumstances, the quality of the collision detection method directly affects the accuracy and effectiveness of the entire roaming system. During the implementation of the scene walkthrough, each geometric object that will be collision detected is represented by a triangular facet. Then, two data tables of attributes and geometry are used to store the spatial information of geometric objects to ensure that the information of the detected geometric objects is dynamically stored and updated in real time. This article is based on the discussion and optimization of the efficiency of the traditional AABB collision detection method and adopts the two-step AABB detection method to obtain good experimental results [19, 20].


## 3. Application Research Experiment of Collision Detection Technology in Roaming System

### 3.1. Recognition Algorithm Based on Hausdorff Distance

The Hausdorff distance is a set of two pointsA=(a1,a2,...,am), and a measure of the similarity between them, that is, the Hausdorff distance between A and B is(1)HA,B=maxhA,B,hB,A,which is generally defined as the Euclidean distance. The function h (A, B) is the directed Hausdorff distance from A to B. Hausdorff is proportional to the distance between A and B. The two sets are farther apart. Since the Hausdorff distance is susceptible to sudden noise, the result has a large deviation that affects the recognition result, so a part of the Hausdorff distance [21] is proposed, namely,(2)HLKA,B=maxhLA,B,hKB,A.0 ≤L ≤ m and 0 ≤ K ≤ n are not necessarily equal. If the matched image contains strong noise or the target is occluded, part of the Hausdorff distance may be mismatched. To solve these problems, the mean Hausdorff distance (Mean Hausdorff Distance, MHD) is proposed, which is defined as(3)HA,B=maxhA,B,hB,A.Use MHD to determine the posture [22]. The five sample sequences and the sequence to be recognized are reduced to a three-dimensional space, and five sequences S(i = 1,2, ..., 5)Λ and the sequence to be recognized S are obtained. Calculate the earliest date of the five sequences and the sequence to be identified. The distinguishing criteria are as follows:(4)B=argminHS,Si,i=1,2,…,5.


### 3.2. Recognition Algorithm Based on Joint Points

Kinect can recognize the human bone by recognizing the positions of 20 key joints in the human body, ultimately realizing the bones depicted in three-dimensional space and thus realizing the tracking of human bone. In this article, Kinect is used to detect the spatial position of human joint points [23, 24]. Solving the angle between the joint points of the human body mainly uses three joint points, and the actual spatial position of the three joint points is used to calculate the Euclidean distance between the three joint points:(5)DX,Y=x1−y12+x2−y22+x3−y32.And, use the law of cosine to find the angle between the joint points:(6)θ=cos−1θa2+b2−c22ac.For a random event, there is an observation sequenceO = {o1, o2,...,oT} [25, 26] and an implicit state sequence Q = {q1,q2,...,qT}:(7)Pq1|qi−1⋯q1=Pq1|qi−1.Among them is a finite set of states:(8)N=q1,q2,…,qN.A Hidden Markov Model (HMM) is described by a five-tuple:(9)λ=N,M,A,B,π.In a simple hidden Markov model, hidden stateN = 2, observation state M = 3, A constitutes an M × N matrix A, B constitutes an N × M observation matrix B [27, 28], and the initial state probability distribution constitutes a probability vector:(10)πi=Pq1=si.The recognition process is divided into the learning process and the estimation process of the hidden Markov model. Five sets of discrete training data are used to train five sets of Markov model parameters to obtaini = 1,5, then calculate to generate the discrete sequence to be the recognized probability, P(O | λ), i = 1, ..., 5, and finally choose the one with the largest probability as the result of the best matching gesture recognition [29, 30]. The initial model parameter settings are(11)∑iπi=1,aij≈1N.Then, the criterion is(12)B=argmaxPO|λi.


## 3.1. Recognition Algorithm Based on Hausdorff Distance

The Hausdorff distance is a set of two pointsA=(a1,a2,...,am), and a measure of the similarity between them, that is, the Hausdorff distance between A and B is(1)HA,B=maxhA,B,hB,A,which is generally defined as the Euclidean distance. The function h (A, B) is the directed Hausdorff distance from A to B. Hausdorff is proportional to the distance between A and B. The two sets are farther apart. Since the Hausdorff distance is susceptible to sudden noise, the result has a large deviation that affects the recognition result, so a part of the Hausdorff distance [21] is proposed, namely,(2)HLKA,B=maxhLA,B,hKB,A.0 ≤L ≤ m and 0 ≤ K ≤ n are not necessarily equal. If the matched image contains strong noise or the target is occluded, part of the Hausdorff distance may be mismatched. To solve these problems, the mean Hausdorff distance (Mean Hausdorff Distance, MHD) is proposed, which is defined as(3)HA,B=maxhA,B,hB,A.Use MHD to determine the posture [22]. The five sample sequences and the sequence to be recognized are reduced to a three-dimensional space, and five sequences S(i = 1,2, ..., 5)Λ and the sequence to be recognized S are obtained. Calculate the earliest date of the five sequences and the sequence to be identified. The distinguishing criteria are as follows:(4)B=argminHS,Si,i=1,2,…,5.


## 3.2. Recognition Algorithm Based on Joint Points

Kinect can recognize the human bone by recognizing the positions of 20 key joints in the human body, ultimately realizing the bones depicted in three-dimensional space and thus realizing the tracking of human bone. In this article, Kinect is used to detect the spatial position of human joint points [23, 24]. Solving the angle between the joint points of the human body mainly uses three joint points, and the actual spatial position of the three joint points is used to calculate the Euclidean distance between the three joint points:(5)DX,Y=x1−y12+x2−y22+x3−y32.And, use the law of cosine to find the angle between the joint points:(6)θ=cos−1θa2+b2−c22ac.For a random event, there is an observation sequenceO = {o1, o2,...,oT} [25, 26] and an implicit state sequence Q = {q1,q2,...,qT}:(7)Pq1|qi−1⋯q1=Pq1|qi−1.Among them is a finite set of states:(8)N=q1,q2,…,qN.A Hidden Markov Model (HMM) is described by a five-tuple:(9)λ=N,M,A,B,π.In a simple hidden Markov model, hidden stateN = 2, observation state M = 3, A constitutes an M × N matrix A, B constitutes an N × M observation matrix B [27, 28], and the initial state probability distribution constitutes a probability vector:(10)πi=Pq1=si.The recognition process is divided into the learning process and the estimation process of the hidden Markov model. Five sets of discrete training data are used to train five sets of Markov model parameters to obtaini = 1,5, then calculate to generate the discrete sequence to be the recognized probability, P(O | λ), i = 1, ..., 5, and finally choose the one with the largest probability as the result of the best matching gesture recognition [29, 30]. The initial model parameter settings are(11)∑iπi=1,aij≈1N.Then, the criterion is(12)B=argmaxPO|λi.


## 4. Design and Analysis of Virtual Reality Interactive System

### 4.1. Human Body Gesture Recognition

This system uses a posture recognition algorithm based on the angle measurement of joint points to recognize the user’s command actions. As mentioned in Section2, the three joint points are relatively unstable in space, and the measured angles will vary. Large error: in response to this problem, this article proposes an improved method. To reduce the large error caused by measuring the angle through the three joint points, this article first selects a breakpoint as the starting point and then selects a breakpoint to be connected or separated from the other side so that the two nodes and the origin of the x-axis can be an obtained angle. In doing so, the feedback point is kept relatively stable during the action, the number of control points is reduced, and the dispatch of multiple hits is controlled by more precise control of the cut size, as shown in Table 1.Table 1
The angle condition that each instruction action satisfies.
Post1/c2/c3/c4/cT/cLift1801800015Raise1809009015Put27027027027015Lift left1809027027015Lift right18018009015The recognition of human posture is mainly through matching the detected joint point angles with the set action instruction library, scanning all angles first, and then judging whether these four angles meet all angles within the specified range. If it is the opposite, then the current successful cooperation will be achieved, and if neither of these two aspects can be achieved, then success will be achieved and then achieved again.As shown in Figure1, A is the actual measured value, I is the set desired angle, and T is the threshold. Using the angle measurement to recognize the posture of the human body, it can be seen in the figure that when all angles are within a certain threshold range, the various postures of the human body can be correctly recognized. (a–d) denote putting down your hands, raising your hands flat, raising your hands, and raising your left hand which are the simplest movements.Figure 1
Recognition of human posture using angle measurement.


### 4.2. Improvement of Kinect Algorithm for Human Posture Recognition

To test the performance of the improved human gesture recognition algorithm, this article will complete the improved human gesture recognition algorithm in the same experimental environment: using Windows 7 Professional 64 bit operating system and using Intel Xeon E1231v3@3.40GHz processor and Kinect for Windows SDK 1.7 version development kit. The Kinect-based human posture recognition algorithm flowchart proposed in this paper mainly includes human tracking and detection, joint point correction, joint angle calculation, and posture recognition.As shown in Figure2, the system adopts human body detection and tracking technology, uses the obtained depth map to extract the articulation points of human bone, and obtains the preliminary bones of the human body. Joint point correction is mainly divided into joint point credibility calculation and joint point correction. The length of the human skeleton and the continuity of motion and the limit of the joint point angle are used to judge the credibility of the joint point, and according to the motion, continuity estimates the spatial position of the joint points and uses the Kalman filter to correct the coordinates of the joint points. The posture recognition system uses the angle measurement method to recognize the human posture. As long as the angle between the joint points is within the specified threshold range, the human posture can be correctly recognized. In the previous section, six command actions suitable for human-computer interaction in virtual reality have been defined.Figure 2
Flowchart of algorithm experiment.The experimental training samples come from 10 laboratory members and perform 50 gesture recognitions, respectively, for a total of 500 times. What is made in the experimental samples are all meaningful action instructions, as shown in Table2.Table 2
The recognition results of the improved pose recognition algorithm.
ResultInitializeAcquisition controlPrepareMove rightAngle leftMove leftAngle rightInitialize100％000000Acquisition control0100％00000Prepare0.5％099.5％0000Move right1.4％0098.6％000Angle left1％00097％1.6％0.4％Move left0.9％000.8％098.3％0Angle right0000.4％0099.6％The data in the table show that the improved gesture recognition algorithm achieved better recognition results when six command behaviors were recognized, with an overall recognition rate of 98.9%. There are several main reasons for the analysis: the six predefined behavior instructions, the distinction is clear, and it is not easy to cause misrecognition; by calculating the credibility of the joint points and correcting the joint points, the error rate of gesture recognition can be effectively reduced; during the process of switching between actions, because theT posture is the initial command posture, it is easy to be recognized, so if the action is slow during the command action switch, it may be recognized as an initialization command.As shown in Figure3, in the traditional application that uses Kinect to recognize the action of entering a hole, there is no process of joint point reliability detection and correction. For the method based on joint point angle measurement, the virtual human body obtained through Kinect for Windows SDK is directly used. The position of each joint point of the bone, the angle of the angle formed by the connection between thee joint point and its neighboring joint points, is calculated to determine the posture of the human body, as mentioned above.Figure 3
The traditional use of Kinect for the hole movement recognition.In traditional methods, the joint point detection and correction are not performed before the joint point angle is calculated. The human body posture is determined by calculating the angle formed by the joint point and its adjacent joint point without introducing systemX-axis as a reference. The measurement results obtained using the same action definition and threshold are shown in Table 3.Table 3
The same action definitions and thresholds are used to obtain the measurements.
Detection (%)CorrectRectifyAdjustMonitorTestCalculate96.22.4%1.2%1.2%00Count2.297.8%0000Compute1.4098.6%000Numeration1.80.8%094.8%00Figure up3.21.2%1.2%090.2%4.2%Angle200.5%1.5%096%From the data in the table, it can be seen that the traditional gesture recognition algorithm based on angle measurement has achieved a recognition accuracy of more than 90% when recognizing the six instruction behaviors, but the recognition rate of each action and the overall recognition rate are lagging behind this article.As shown in Figure4, an improved human gesture recognition algorithm is used in the Kinect human-computer interaction of the system to evaluate the credibility of the position of human joint points. According to the credibility of the position of the joint points, the Kalman filter is used to correct the position of the joint points. Finally, the posture recognition of the human skeleton formed by the joint points is performed, and the reference point angle measurement method is adopted. The ability of human body gesture recognition is improved. Experiments show that the improved gesture recognition algorithm can measure the angle of human joints in real time and accurately judge interactive commands.Figure 4
The Kinect human-computer interaction in this system.


### 4.3. Research and Implementation of Global Illumination Rendering Engine Architecture

The virtual reality scene in this paper is constructed using the scene editor of the Unity 3D game development engine. Among them, the quality of the materials used to construct the virtual display scene is directly related to the quality of the final scene presentation. Therefore, this paper has also invested a lot of energy in the production and optimization of three important materials of 3D models, materials, and texture. To ensure the realistic effect of the scene presentation, the use of cameras and lights and the physical effects in the scene has also been studied and practiced in this round.Excessive number of polygons in the model and too fine textures can provide better rendering effects, but will seriously affect the rendering efficiency, and are also limited by the Unity 3D game engine for the maximum number of polygons and the maximum texture resolution of the model. Therefore, it is necessary to optimize the model while minimizing the impact on the rendering effect to reduce the number of unnecessary polygons and the excessively high texture resolution.As shown in Figure5, texture mapping refers to a two-dimensional image that is mapped to the surface of a three-dimensional model. In a virtual reality scene, simply relying on the volume and surface of the three-dimensional model cannot achieve a good virtual effect. Therefore, after the establishment of the 3D model is completed, a series of patterns and materials need to be created for it so that it can produce a simulated real scene effect.Figure 5
Comparison of memory consumption of four global illumination algorithms.Three-dimensional model mapping includes two types: texture mapping and normal mapping. Texture mapping is to "paste" the two-dimensional plane graphics to the surface of the three-dimensional model so that the rendered three-dimensional model looks more real. Before creating a texture map for the model, you need to create a flattening map for the texture coordinates of the model to determine the correspondence between the points on the texture map and the points on the 3D model. To obtain a more realistic performance effect, you first need to use a digital camera to extract the texture of the real object to obtain a texture photo, process the texture photo through Photoshop, cut off the extra part of the photo, and adjust the brightness, contrast, and color temperature of the photo to make the texture photo as consistent as possible with the surface color of the real object and then save as a texture photo file in RGB format. Then, use the texture map maker to correspond the points on the processed texture photo with the points on the 3D model to obtain the real texture map.Collision detection is an important basis for realizing the physical interactions between three-dimensional models. Under the combined action of the collider and the rigid body, the object produces physical effects. The rigid body can make the object be controlled and affected by the physical effect, and the collision body can cause objects to collide with each other. The collision body does not need to be bound to a rigid body, but when a rigid body collides with one of the collision bodies and at least one of them has a rigid body added, three collision messages will be sent to the objects bound to them, and the behaviors related to these events are handled through scripts. Although the mesh collision body with convex parameters can collide with other mesh collision bodies, the mesh collision body sets the position and size ratio of the collision body according to the transform component properties of the attached object, and the collision mesh is to save processing resources and use the backside blanking method, so if an object collides with a network that uses backside blanking visually, but because its transform component does not load the full size range of the grid, they will not actually happen collision.As shown in Figure6, it is the rendering effect diagram of VXGI, LPV, and the algorithm of this paper and ray tracing. This experiment mainly considers the indirect lighting effects of diffuse reflection and specular reflection. Therefore, the photon mapping algorithm is not considered, and the other three algorithms are compared with the most realistic ray tracing algorithm. Through comparison, it is found that the lighting effect of VXGI is stronger than the LPV algorithm, which is the closest to the ray tracing effect, and achieves higher visual quality. The lighting effect rendered by the algorithm in this paper is almost the same as that of VXGI. Even at a distance from the observer, the rendering effect is close to the real effect, and there is no big deviation in the rendering effect due to the voxel specification problem. This shows that this paper is suitable for large-scale, judgment of the distribution of scene lighting is correct. After using cascaded voxel texture + improved cone filter + improved voxelization strategy, not only the efficiency is significantly improved, but also the rendering effect can be guaranteed, which meets the goals of this article.Figure 6
Improved VCT Global Illumination Algorithm for Large-Scale Scenes (the picture comes fromhttps://image.baidu.com/).As shown in Figure7, if high-precision 3D models and textures are directly applied to a virtual reality scene, although theoretically good results can be achieved, too many polygons and too high texture resolution will affect the computer performance causing a serious burden, even exceeding the processing power of the game engine and graphics processing unit, causing rendering errors. Since the application background of this topic is the virtual reality experience of household products, it requires high real-time performance of the system, which makes the optimization of the three-dimensional model essential. Therefore, the optimization of the model is one of the key steps to improve the overall performance of the system. Whether the model is properly optimized is directly related to the effect of the virtual reality scene presentation and the real-time performance.Figure 7
The voxel data takes up a large portion of memory.As shown in Figure8, the performance of the voxelization stage has been discussed in Section 2. The cascaded voxel texture voxel storage structure is better than the sparse octree storage structure in terms of voxel scale, voxelization speed, and memory consumption. Both have advantages. This section mainly analyzes the frame rate of the illumination, injection, and cone tracking stages. The comparison between the VXGI algorithm and the VCT global illumination improvement algorithm of this article in the realization of each global illumination effect takes time to render each frame.Figure 8
Improved local illumination algorithm for global illumination effect.Each time Unity 3D prepares data and notifies the GPU to render, and the process is called a Draw Call. In general, once an object with a mesh and a material is rendered, a Draw Call will be used. For these objects in the rendering scene, in addition to the time-consuming notification of the GPU rendering in each Draw Call, switching the material and the shader is also a very time-consuming operation. Using Draw Calls too frequently will cause the CPU to perform a lot of work to access the graphics API, resulting in significant performance overhead on the CPU. Therefore, the number of draw calls is an important indicator for determining performance. To reduce the number of times Draw Call is used in Unity 3D, some objects with the same material are merged through “batch processing” so that a Draw Call is used to render them, and the execution efficiency is improved, as shown in Table4.Table 4
The paper algorithm is compared with other advanced algorithms.
RasterizationLight injectionDirectFreeSpecularReflectionVXGI1.016.53.09.28.036.7Arithmetic1.012.11.86.55.226.5In summary, compared with other advanced algorithms, the algorithm in this paper has achieved very big advantages in terms of operating performance and rendering effects, but it is lacking in memory consumption, but it will not cause problems for the performance of today’s PCs. Great influence: in addition, compared with the VXGI algorithm, the algorithm in this paper has better performance in the illumination, injection, and cone tracking stages and is faster when drawing different global illumination effects.


## 4.1. Human Body Gesture Recognition

This system uses a posture recognition algorithm based on the angle measurement of joint points to recognize the user’s command actions. As mentioned in Section2, the three joint points are relatively unstable in space, and the measured angles will vary. Large error: in response to this problem, this article proposes an improved method. To reduce the large error caused by measuring the angle through the three joint points, this article first selects a breakpoint as the starting point and then selects a breakpoint to be connected or separated from the other side so that the two nodes and the origin of the x-axis can be an obtained angle. In doing so, the feedback point is kept relatively stable during the action, the number of control points is reduced, and the dispatch of multiple hits is controlled by more precise control of the cut size, as shown in Table 1.Table 1
The angle condition that each instruction action satisfies.
Post1/c2/c3/c4/cT/cLift1801800015Raise1809009015Put27027027027015Lift left1809027027015Lift right18018009015The recognition of human posture is mainly through matching the detected joint point angles with the set action instruction library, scanning all angles first, and then judging whether these four angles meet all angles within the specified range. If it is the opposite, then the current successful cooperation will be achieved, and if neither of these two aspects can be achieved, then success will be achieved and then achieved again.As shown in Figure1, A is the actual measured value, I is the set desired angle, and T is the threshold. Using the angle measurement to recognize the posture of the human body, it can be seen in the figure that when all angles are within a certain threshold range, the various postures of the human body can be correctly recognized. (a–d) denote putting down your hands, raising your hands flat, raising your hands, and raising your left hand which are the simplest movements.Figure 1
Recognition of human posture using angle measurement.


## 4.2. Improvement of Kinect Algorithm for Human Posture Recognition

To test the performance of the improved human gesture recognition algorithm, this article will complete the improved human gesture recognition algorithm in the same experimental environment: using Windows 7 Professional 64 bit operating system and using Intel Xeon E1231v3@3.40GHz processor and Kinect for Windows SDK 1.7 version development kit. The Kinect-based human posture recognition algorithm flowchart proposed in this paper mainly includes human tracking and detection, joint point correction, joint angle calculation, and posture recognition.As shown in Figure2, the system adopts human body detection and tracking technology, uses the obtained depth map to extract the articulation points of human bone, and obtains the preliminary bones of the human body. Joint point correction is mainly divided into joint point credibility calculation and joint point correction. The length of the human skeleton and the continuity of motion and the limit of the joint point angle are used to judge the credibility of the joint point, and according to the motion, continuity estimates the spatial position of the joint points and uses the Kalman filter to correct the coordinates of the joint points. The posture recognition system uses the angle measurement method to recognize the human posture. As long as the angle between the joint points is within the specified threshold range, the human posture can be correctly recognized. In the previous section, six command actions suitable for human-computer interaction in virtual reality have been defined.Figure 2
Flowchart of algorithm experiment.The experimental training samples come from 10 laboratory members and perform 50 gesture recognitions, respectively, for a total of 500 times. What is made in the experimental samples are all meaningful action instructions, as shown in Table2.Table 2
The recognition results of the improved pose recognition algorithm.
ResultInitializeAcquisition controlPrepareMove rightAngle leftMove leftAngle rightInitialize100％000000Acquisition control0100％00000Prepare0.5％099.5％0000Move right1.4％0098.6％000Angle left1％00097％1.6％0.4％Move left0.9％000.8％098.3％0Angle right0000.4％0099.6％The data in the table show that the improved gesture recognition algorithm achieved better recognition results when six command behaviors were recognized, with an overall recognition rate of 98.9%. There are several main reasons for the analysis: the six predefined behavior instructions, the distinction is clear, and it is not easy to cause misrecognition; by calculating the credibility of the joint points and correcting the joint points, the error rate of gesture recognition can be effectively reduced; during the process of switching between actions, because theT posture is the initial command posture, it is easy to be recognized, so if the action is slow during the command action switch, it may be recognized as an initialization command.As shown in Figure3, in the traditional application that uses Kinect to recognize the action of entering a hole, there is no process of joint point reliability detection and correction. For the method based on joint point angle measurement, the virtual human body obtained through Kinect for Windows SDK is directly used. The position of each joint point of the bone, the angle of the angle formed by the connection between thee joint point and its neighboring joint points, is calculated to determine the posture of the human body, as mentioned above.Figure 3
The traditional use of Kinect for the hole movement recognition.In traditional methods, the joint point detection and correction are not performed before the joint point angle is calculated. The human body posture is determined by calculating the angle formed by the joint point and its adjacent joint point without introducing systemX-axis as a reference. The measurement results obtained using the same action definition and threshold are shown in Table 3.Table 3
The same action definitions and thresholds are used to obtain the measurements.
Detection (%)CorrectRectifyAdjustMonitorTestCalculate96.22.4%1.2%1.2%00Count2.297.8%0000Compute1.4098.6%000Numeration1.80.8%094.8%00Figure up3.21.2%1.2%090.2%4.2%Angle200.5%1.5%096%From the data in the table, it can be seen that the traditional gesture recognition algorithm based on angle measurement has achieved a recognition accuracy of more than 90% when recognizing the six instruction behaviors, but the recognition rate of each action and the overall recognition rate are lagging behind this article.As shown in Figure4, an improved human gesture recognition algorithm is used in the Kinect human-computer interaction of the system to evaluate the credibility of the position of human joint points. According to the credibility of the position of the joint points, the Kalman filter is used to correct the position of the joint points. Finally, the posture recognition of the human skeleton formed by the joint points is performed, and the reference point angle measurement method is adopted. The ability of human body gesture recognition is improved. Experiments show that the improved gesture recognition algorithm can measure the angle of human joints in real time and accurately judge interactive commands.Figure 4
The Kinect human-computer interaction in this system.


## 4.3. Research and Implementation of Global Illumination Rendering Engine Architecture

The virtual reality scene in this paper is constructed using the scene editor of the Unity 3D game development engine. Among them, the quality of the materials used to construct the virtual display scene is directly related to the quality of the final scene presentation. Therefore, this paper has also invested a lot of energy in the production and optimization of three important materials of 3D models, materials, and texture. To ensure the realistic effect of the scene presentation, the use of cameras and lights and the physical effects in the scene has also been studied and practiced in this round.Excessive number of polygons in the model and too fine textures can provide better rendering effects, but will seriously affect the rendering efficiency, and are also limited by the Unity 3D game engine for the maximum number of polygons and the maximum texture resolution of the model. Therefore, it is necessary to optimize the model while minimizing the impact on the rendering effect to reduce the number of unnecessary polygons and the excessively high texture resolution.As shown in Figure5, texture mapping refers to a two-dimensional image that is mapped to the surface of a three-dimensional model. In a virtual reality scene, simply relying on the volume and surface of the three-dimensional model cannot achieve a good virtual effect. Therefore, after the establishment of the 3D model is completed, a series of patterns and materials need to be created for it so that it can produce a simulated real scene effect.Figure 5
Comparison of memory consumption of four global illumination algorithms.Three-dimensional model mapping includes two types: texture mapping and normal mapping. Texture mapping is to "paste" the two-dimensional plane graphics to the surface of the three-dimensional model so that the rendered three-dimensional model looks more real. Before creating a texture map for the model, you need to create a flattening map for the texture coordinates of the model to determine the correspondence between the points on the texture map and the points on the 3D model. To obtain a more realistic performance effect, you first need to use a digital camera to extract the texture of the real object to obtain a texture photo, process the texture photo through Photoshop, cut off the extra part of the photo, and adjust the brightness, contrast, and color temperature of the photo to make the texture photo as consistent as possible with the surface color of the real object and then save as a texture photo file in RGB format. Then, use the texture map maker to correspond the points on the processed texture photo with the points on the 3D model to obtain the real texture map.Collision detection is an important basis for realizing the physical interactions between three-dimensional models. Under the combined action of the collider and the rigid body, the object produces physical effects. The rigid body can make the object be controlled and affected by the physical effect, and the collision body can cause objects to collide with each other. The collision body does not need to be bound to a rigid body, but when a rigid body collides with one of the collision bodies and at least one of them has a rigid body added, three collision messages will be sent to the objects bound to them, and the behaviors related to these events are handled through scripts. Although the mesh collision body with convex parameters can collide with other mesh collision bodies, the mesh collision body sets the position and size ratio of the collision body according to the transform component properties of the attached object, and the collision mesh is to save processing resources and use the backside blanking method, so if an object collides with a network that uses backside blanking visually, but because its transform component does not load the full size range of the grid, they will not actually happen collision.As shown in Figure6, it is the rendering effect diagram of VXGI, LPV, and the algorithm of this paper and ray tracing. This experiment mainly considers the indirect lighting effects of diffuse reflection and specular reflection. Therefore, the photon mapping algorithm is not considered, and the other three algorithms are compared with the most realistic ray tracing algorithm. Through comparison, it is found that the lighting effect of VXGI is stronger than the LPV algorithm, which is the closest to the ray tracing effect, and achieves higher visual quality. The lighting effect rendered by the algorithm in this paper is almost the same as that of VXGI. Even at a distance from the observer, the rendering effect is close to the real effect, and there is no big deviation in the rendering effect due to the voxel specification problem. This shows that this paper is suitable for large-scale, judgment of the distribution of scene lighting is correct. After using cascaded voxel texture + improved cone filter + improved voxelization strategy, not only the efficiency is significantly improved, but also the rendering effect can be guaranteed, which meets the goals of this article.Figure 6
Improved VCT Global Illumination Algorithm for Large-Scale Scenes (the picture comes fromhttps://image.baidu.com/).As shown in Figure7, if high-precision 3D models and textures are directly applied to a virtual reality scene, although theoretically good results can be achieved, too many polygons and too high texture resolution will affect the computer performance causing a serious burden, even exceeding the processing power of the game engine and graphics processing unit, causing rendering errors. Since the application background of this topic is the virtual reality experience of household products, it requires high real-time performance of the system, which makes the optimization of the three-dimensional model essential. Therefore, the optimization of the model is one of the key steps to improve the overall performance of the system. Whether the model is properly optimized is directly related to the effect of the virtual reality scene presentation and the real-time performance.Figure 7
The voxel data takes up a large portion of memory.As shown in Figure8, the performance of the voxelization stage has been discussed in Section 2. The cascaded voxel texture voxel storage structure is better than the sparse octree storage structure in terms of voxel scale, voxelization speed, and memory consumption. Both have advantages. This section mainly analyzes the frame rate of the illumination, injection, and cone tracking stages. The comparison between the VXGI algorithm and the VCT global illumination improvement algorithm of this article in the realization of each global illumination effect takes time to render each frame.Figure 8
Improved local illumination algorithm for global illumination effect.Each time Unity 3D prepares data and notifies the GPU to render, and the process is called a Draw Call. In general, once an object with a mesh and a material is rendered, a Draw Call will be used. For these objects in the rendering scene, in addition to the time-consuming notification of the GPU rendering in each Draw Call, switching the material and the shader is also a very time-consuming operation. Using Draw Calls too frequently will cause the CPU to perform a lot of work to access the graphics API, resulting in significant performance overhead on the CPU. Therefore, the number of draw calls is an important indicator for determining performance. To reduce the number of times Draw Call is used in Unity 3D, some objects with the same material are merged through “batch processing” so that a Draw Call is used to render them, and the execution efficiency is improved, as shown in Table4.Table 4
The paper algorithm is compared with other advanced algorithms.
RasterizationLight injectionDirectFreeSpecularReflectionVXGI1.016.53.09.28.036.7Arithmetic1.012.11.86.55.226.5In summary, compared with other advanced algorithms, the algorithm in this paper has achieved very big advantages in terms of operating performance and rendering effects, but it is lacking in memory consumption, but it will not cause problems for the performance of today’s PCs. Great influence: in addition, compared with the VXGI algorithm, the algorithm in this paper has better performance in the illumination, injection, and cone tracking stages and is faster when drawing different global illumination effects.


## 5. Conclusions

With the rapid development of e-commerce and the gradual maturity of virtual reality technology, online shopping malls based on virtual reality technology have an incomparable sense of reality and three-dimensionality that are incomparable to traditional online shopping malls. At the same time, a series of hardware products such as virtual reality display devices, 3D TVs, and somatosensory game devices have also been developed and popularized, and virtual reality technology is stepping into people’s daily lives. In this theme, the fitness club is used as the application background and combined with intelligent video technology to capture the user’s somatosensory interaction information through Kinect to achieve humanized action control. This paper combines intelligent video technology with virtual reality technology to provide a virtual and abstract fitness club with a real and intuitive experience based on intelligent video technology to provide users with a simple and easy-to-use somatosensory operation mode, making the experience of virtual reality expand from the front of the computer to an immersive experience. Although the action recognition method based on intelligent video technology discussed in this paper has a good response speed and recognition accuracy to the designed action instructions, the actions are relatively not rich enough to meet the needs of human-computer interaction in complex scenes. Therefore, it is necessary to further design and improve the motion control of somatosensory. It is hoped that, in the future, the activities of human somatosensory control can be detected, and new hardware devices can be used to provide a driving force for the improvement of the virtual reality experience and the expansion of the scope of application.



---

*Source: 2446413-2021-05-30.xml*