Multimodal Technologies and Interaction
Article The Chongchong Step Master Game for Gait and Balance Training
Yongjoo Cho 1 and Kyoung Shin Park 2,*
1 Department of Computer Science, Sangmyung University, 20 Hongjimun 2-gil, Hongji-dong, Jongno-gu, Seoul 03016, Korea; [email protected] 2 Department of Computer Engineering, Dankook University, 152 Jukjeon-ro, Suji-gu, Yongin-si, Gyeonggi-do 16890, Korea * Correspondence: [email protected]; Tel.: +82-31-8005-3161
Received: 14 July 2020; Accepted: 16 August 2020; Published: 18 August 2020
Abstract: Exercise can help to improve health, strengthen vitality and prevent brain disease, especially for the elderly. Exercise games, or exergames, which combine both exercise and video gaming, train people in a fun and competitive manner to lead a healthy lifestyle. Exergames promote more physical effort and have the potential to contribute to physical education. This research presents a full-body virtual reality exercise game called the Chongchong Step Master, which is designed to improve gait and balance function and prevent dementia in the elderly. This system used Kinect sensors to accurately recognize the user’s body movements and the stepping board mat to recognize and guide the user’s walking motion. It aims to help the elderly exercise more easily and independently with the virtual physical trainer.
Keywords: virtual reality; exergame; balance training; exercise posture
1. Introduction While the majority of top-selling video games in the past featured violence as the main action, the recent popular emergence of game content includes games with physical activity, often called exergames. Exergames encourage users to be physically active and exercise while playing the video game. Exergames train people in a fun and competitive manner, which also promotes a healthy lifestyle. Recently, exergames have attracted public attention, especially for children who exercise very little and the elderly [1–3]. The first exergame was Konami’s DDR (Dance Dance Revolution), where people could learn popular dance moves by simply stepping on a sensor platform. In 2006, Nintendo’s Wii Fit and Wii Sport released their Wii remote control, which allowed for a full-body exergaming experience. Wii Fit translates traditional forms of exercise such as yoga into an interactive format. Wii Sports allows the average person to experience a wide variety of different sports, such as tennis, fishing, and golf. On the heels of Wii’s immense popularity, Microsoft added the Kinect sensor to their Xbox games in 2010. The Kinect sensor tracks users’ movements without the need for additional gear, allowing users to freely enjoy the game. The success of these platforms has increased interest in motion-based full-body exergames. Xbox’s Nike Kinect training game, which includes lower body exercises, is a high-impact game requiring users to move and shift their weight to perform the exercises. Kinect sensors track users’ movements and, unlike Wii Sports, users must assume the proper body poses in order to do the exercises. A study showed that the community-dwelling senior citizens improved cognitive performance after a 12-week intervention of dual-task full body motion game training using Kinect [4]. Another recent study has tried to verify whether or not the effects of physical exercise training using Wii Fit Plus with protein supplementation may improve the musculoskeletal function and risk of falls in pre-frail older women [5].
Multimodal Technol. Interact. 2020, 4, 56; doi:10.3390/mti4030056 www.mdpi.com/journal/mti Multimodal Technol. Interact. 2020, 4, 56 2 of 14 Multimodal Technol. Interact. 2020, 4, x FOR PEER REVIEW 2 of 14
InIn the the elderlyelderly population,population, a a decreasedecrease in in musclemuscle endurance endurance leads leads to to anan overalloverall decreasedecrease inin physicalphysical activity,activity, whichwhich putsputs this age group group at at risk risk of of various various diseases diseases and and injuries injuries such such as asfrom from falls falls [6]. [6As]. Aspopulation population aging aging grows grows rapidly rapidly in many in many countries, countries, it will it will also also affect aff ectmany many aspects aspects of public of public life. life.For Forexample, example, health health care care needs needs to totreat treat brain brain diseases, diseases, such such as as dementia. dementia. As As such, such, studies are underwayunderway asas toto howhow virtualvirtual realityreality gamesgames andand automaticautomatic coachingcoaching systemssystems maymay bebe helpfulhelpful forfor thethe elderlyelderly [[7,8].7,8]. OthersOthers introducedintroduced the virtual reality reality game game using using a anatural natural user user interface interface (NUI) (NUI) such such as asKinect Kinect for forthe theuser user to carry to carry out outphysical physical and and cognitive cognitive rehabilita rehabilitationtion therapies therapies [9,10]. [9,10 A]. study A study demonstrated demonstrated that thatKinect-based Kinect-based exergaming exergaming was was as effective as effective as combin as combineded exercise exercise (composed (composed of resistance, of resistance, aerobic, aerobic, and andbalance balance exercises) exercises) in improving in improving the frailty the frailty status status and physical and physical performance performance of the of elderly the elderly [11]. More [11]. MoreKinect-based Kinect-based rehabilitation rehabilitation systems systems are being are develo beingped developed to support to support physiotherapy physiotherapy sessions, sessions, and also andhelp also to reduce help to health reduce care health costs, care while costs, improving while improving quality of life quality [12,13]. of lifeThese [12 ,studies13]. These are looking studies into are lookinghow NUI-based into how rehabilitation NUI-based rehabilitationexergames can exergames be used to canimprove be used or replace to improve existing or replacephysical existing therapy physicalprograms. therapy programs. InIn previousprevious studies,studies, newnew digitaldigital technologies,technologies, suchsuch asas virtualvirtual realityreality oror videovideo games,games, areare beingbeing usedused toto promotepromote user’suser’s engagementengagement withwith rehabilitationrehabilitation [[14].14]. TheseThese technologiestechnologies areare eeffectiveffective inin thatthat theythey allowallow patientspatients andand cliniciansclinicians toto performperform rehabilitationrehabilitation eveneven ifif theythey areare notnot together.together. InIn thisthis research,research, we we present present the the Chongchong Chongchong Step Step Master Master virtual virtual realityreality exercise exercise game, game, which which is is designeddesigned toto improveimprove gait gait and and balance balance function function and and preventprevent dementia dementia for forthe the elderly.elderly. WeWe aim aim to to create create this this system system toto encourageencourage elderlyelderly peoplepeople toto activelyactively engageengage inin exerciseexercise training,training, suchsuch asaswalking walking andandmoderate moderate intensityintensity aerobics-type aerobics-type activities. activities. FigureFigure1 shows1 shows a usera user taking taking an exercisean exercise posture post underure under the guidance the guidance of the gameof the system. game system. As shown As inshown Figure in1 ,Figure the user 1, canthe user get engaged can get engaged with exercise with trainingexercise bytraining the guidance by the guidance of the virtual of the trainer, virtual suchtrainer, as wheresuch toas stepwhere on theto step board on and the how board to takeand an how exercise to take posture. an exercise This system posture. recognizes This system both walkingrecognizes and both upper walking and lower and bodyupper exercise and lower movements body exercise using multiplemovements Kinects using and multiple the stepping Kinects board. and Thethe steppingstepping boardboard. is The used stepping to accurately board identifyis used walkingto accurately movements, identify andwalking the Kinect-based movements, exercise and the poseKinect-based estimation exercise system pose was esti developedmation system to distinguish was developed between to both distinguish arm and between feet exercise both postures. arm and Infeet this exercise system, postures. multiple In Kinect this system, sensors aremultiple positioned, Kinect one sensors in front are of positioned, the user and one one in onfront the of right the side,user toand better one determineon the right and side, track to user better exercise determine motions. and Thetrack Kinect-based user exercise exercise motions. posture The Kinect-based recognition modelexercise is specifiedposture recognition in XML-based model scripts is specified to make in a XML-based comparative scripts analysis to make possible a comparative with real-time analysis user trackingpossible datawith for real-time the exercise user tracking programs. data for the exercise programs.
FigureFigure 1.1. AA useruser playingplaying thethe ChongchongChongchong StepStep MasterMasterphysical physicalexercise exercise game. game.
ThisThis paperpaper isis structuredstructured asas follows.follows. SectionSection 22 reviews reviews thethe related related work work on on exergames exergames or or rehabilitationrehabilitation systems.systems. SectionSection3 3 presents presents the the brief brief overview overview of of the the Chongchong Chongchong Step Step Master Master virtual virtual realityreality physicalphysical exerciseexercise gamegame andand thethe designdesign andand implementationimplementation detailsdetails ofof thisthis gaminggaming system.system. SectionSection4 4presents presents preliminary preliminary evaluations evaluations on on the the exercise exercise pose pose estimation estimation system. system. Section Section5 then5 then providesprovides conclusions conclusions and and discusses discusses the the directions directions we we need need to to take take for for future future research. research.
2. Related Work
Multimodal Technol. Interact. 2020, 4, 56 3 of 14
2. Related Work Walking is a complex process involving brain control (motor), cognition, perception, and process integration. Walking ability is a useful diagnosis factor that can predict the decline of functional abilities of elderly people. Usually, walking exercises aim to improve and maintain basic body fitness. However, for the elderly with cognitive impairment, walking speed is slow while performing dual tasks. Their decreased memory and attention are factors affecting slower walking speed. Recently, various virtual reality technology and serious games have been developed for rehabilitation. These systems aim to supplement or replace the existing rehabilitation treatment that was performed by a physical therapist or exercise expert. While walking is commonly performed at a basic level, various types of walking exercise programs are needed to improve balance, cognitive function, memory, and attention. Exercise program technology can also be used for the prevention and improvement of dementia, balance awareness for the elderly and for dementia prevention exercise programs. Experimental evaluation and verification of the model technical analysis is required. A walking program can include the fun elements of the game: movement dropout prevention, motivation, and step-by-step difficulty control. The system requires the development of a computer vision-based gesture recognition that can accurately recognize the user’s movement behavior (that is, posture and balance state). While there are many available exergame products, they are mostly targeted at a younger population, and are not appropriate or engaging for an older population. An automated interactive exercise coaching system using Kinect was developed to provide a more engaging environment, which promotes physical activity for the elderly population [7]. The coaching system guided users through a series of video exercises, tracked and measured user movements, provided real-time feedback, and recorded their performance over time. This system provided exercises to improve balance, flexibility, strength, and endurance, with the aim of reducing fall risk and improving the performance of daily activities. However, this system mainly focused on the movement of the user getting up from a sitting position and then sitting back down on a chair. It did not support various exercise postures. A Kinect-based real-time posture correction game was developed to help the elderly to adopt proper posture while promoting the user’s physical activity [8]. This system detected changes in user posture in real-time from the Kinect skeleton data. DTW (Dynamic Time Warping) algorithm was used to detect differences between the original correct posture and the user’s current posture. The recognition module was used to acquire the user’s image before the game started, and to hold all postures from the initial correct posture (where the user posed correctly upright), to the incorrect posture (where the user’s back tilted more than 20 degrees). In the posture correction module, nine out of the Kinect’s 25 skeleton body joints were used to construct the DTW feature vectors to determine a bad waist posture. However, the main aim of this system was to detect incorrect posture, rather than to promote physical exercise. The ReaKinG virtual reality rehabilitation platform using the Kinect V2 sensor was developed for physical and cognitive rehabilitation therapies [9]. It was designed to achieve prevention and rehabilitation of patients in areas such as strength, or their aerobic or cognitive capacities. This platform includes two different kinds of exergames. One game was to train aerobic capabilities by making the patients walk in front of Kinect along different landscapes and also collect coins on the ground or in the air while walking. The other game was designed to improve strength skills by practicing some exercises such as flexion of shoulders and extension of elbows. However, this platform provided simple movements of particular body parts, such as the abduction/flexion/extension of shoulders, elbows, and knees while playing the game in a virtual environment. A game-based rehabilitation tool was developed using the Kinect sensor for the balance training of adults [12]. In the prototype of this game, the player could travel through a mine, collect gems, and place them in a cart. The gems were placed at a distance tailored to the player’s level of ability, ensuring that the player performed motions for rehabilitation. A game was developed to specifically Multimodal Technol. Interact. 2020, 4, 56 4 of 14
Multimodal Technol. Interact. 2020, 4, x FOR PEER REVIEW 4 of 14 train reaching and weight shift, to improve balance in patients. However, this prototype supported onlyintegrated upper hardware body motions. and software Similar to platform [12], a prototype using the of Kinect a virtual sens reality-basedor was developed game consistingfor upper body of an integratedexercise and hardware rehabilitation and software [13]. In platformthis system, using the the exercise Kinect protocol sensor was was developed adopted from for upper a shoulder body exercise program and rehabilitation for individuals [13]. Inwith this spinal system, cord the injury. exercise protocol was adopted from a shoulder exerciseAs described program forabove, individuals there has with been spinal a lot of cord use injury. of commercial video exergames and development of virtualAs described reality-based above, games there has using been Kinect a lot of for use rehabilitation. of commercial However, video exergames most of and them development provided ofsimple virtual movements, reality-based such games as navigating using Kinect the for virtual rehabilitation. environment, However, collecting most of gems/coins, them provided or specific simple movements,body part exercises. such as There navigating was no the series virtual of exercise environment, programs collecting for physical gems /andcoins, cognitive or specific rehabilitation body part exercises.of the elderly. There A waskey nocomponent series of exerciseof our approach programs is forthephysical use of both and Kinect cognitive sensors rehabilitation and a stepping of the elderly.board mat A key system, component which of provides our approach the iscontrolled, the use of focused both Kinect exercise sensors required and a stepping for physical board matand system,cognitive which therapy. provides Our system the controlled, was specially focused design exerciseed to required facilitate for walking physical and and aerobic cognitive exercises therapy. for Ourthe elderly system and was improve specially their designed health. to facilitate walking and aerobic exercises for the elderly and improve their health. 3. Design and Implementation 3. Design and Implementation
3.1. System Overview The Chongchong Step Master Exergame system allows a user to workout at various levels (beginner, intermediate,intermediate, and and advanced) advanced) without without the needthe forneed a physical for a physical trainer, andtrainer, provides and guidelinesprovides toguidelines assist the to user assist with the the user successive with the exercise successiv movements.e exercise “Chongchong” movements. step“Chongchong” means “short step and means quick” or“short “swift” and cheerfulquick” or walking. “swift” Figurecheerful2 shows walking. the Figure overall 2 systemshows architecturethe overall system of the Chongchongarchitecture of Step the MasterChongchong Exergame. Step Master This system Exergame. consists This of system a square cons matists system, of a square an exercise mat system, pose estimation an exercise system pose usingestimation multiple system Kinect using sensors, multiple and Kinect an integrated sensors, and Unity an 3Dintegrated exercise Unity game 3D system. exercise The game square system. mat systemThe square (in themat stepping system (in board) the stepping recognizes board) the user’s recognizes step information, the user’s step in orderinformation, to accurately in order read to user’saccurately walking read movements. user’s walking The Kinect-basedmovements. The pose Ki estimationnect-based system pose accuratelyestimation gauges system the accurately arm and leggauges exercise the arm movements and leg exercise (left, right) movements by analyzing (left, userright) movement by analyzing data user (i.e., movement body joints) data in (i.e., real-time. body Thejoints) integrated in real-time. Unity3D The exerciseintegrated game Unity3D receives exerci stepse monitoringgame receives and step exercise monitoring posture and recognition, exercise providesposture recognition, the user’s virtual provides avatar the anduser’s a professional virtual avatar guide and to a correctprofessional exercise guide posture, to correct and expresses exercise theposture, user’s and posture expresses and determines the user’s whetherposture theand user’s determines exercise whether posture the is correct. user’s exercise posture is correct.
Figure 2. The overall system architecture of the Chongchong Step Master exergame. Figure 2. The overall system architecture of the Chongchong Step Master exergame.
3.2. Exercise Program The physical exercise programs were developed by clinical exercise physiologists, and each workout movement sequence was scripted in XML format to be used in the game. This script is used
Multimodal Technol. Interact. 2020, 4, 56 5 of 14
3.2. Exercise Program The physical exercise programs were developed by clinical exercise physiologists, and each workoutMultimodal movementTechnol. Interact. sequence 2020, 4, x was FOR scripted PEER REVIEW in XML format to be used in the game. This script is used 5 of to14 analyze users’ exercise postures and compare them to actual workout postures (walking and arm/leg to analyze users’ exercise postures and compare them to actual workout postures (walking and movements). There are a total of 60 walking exercise programs (4 types 3 levels 5 stages). arm/leg movements). There are a total of 60 walking exercise programs (4× types × 3× levels × 5 stages). The exercise programs are vital walking, balance walking (for enhancing a sense of balance), The exercise programs are vital walking, balance walking (for enhancing a sense of balance), dual task (for enhancing cognition), and visual-cognition walking. The vital walking program asks the dual task (for enhancing cognition), and visual-cognition walking. The vital walking program asks user to perform a simple forward walking movement with a regular step rhythm. It induces brain the user to perform a simple forward walking movement with a regular step rhythm. It induces brain activity while vital walking by increasing difficulty levels. The balance walking program asks the user activity while vital walking by increasing difficulty levels. The balance walking program asks the to perform knee ups or squats in place, along with walking in order to strengthen the muscles used to user to perform knee ups or squats in place, along with walking in order to strengthen the muscles maintain a sense of balance. The dual task asks the user to perform arm movements simultaneously used to maintain a sense of balance. The dual task asks the user to perform arm movements with walking steps. This can trigger brain activity and have a positive effect on improving cognition. simultaneously with walking steps. This can trigger brain activity and have a positive effect on The visual-cognition program asks the user to perform walking after watching the step path he/she improving cognition. The visual-cognition program asks the user to perform walking after watching should walk on the screen and square mat. the step path he/she should walk on the screen and square mat. Each exercise program has 3 different levels: beginner, intermediate, and advanced. In the Each exercise program has 3 different levels: beginner, intermediate, and advanced. In the beginner level, the user takes 10 steps while moving his/her arms movements (both arms up, both arms beginner level, the user takes 10 steps while moving his/her arms movements (both arms up, both spread out in the air, arms at the side, repeat). In the intermediate level, the exercise movements are a arms spread out in the air, arms at the side, repeat). In the intermediate level, the exercise movements bit more complex (arms to the side, life the knees, knee curls, kick leg out to the side, repeat) while are a bit more complex (arms to the side, life the knees, knee curls, kick leg out to the side, repeat) taking a total of 10 steps. In the advanced level, the repetitive movements are a bit more difficult (arms while taking a total of 10 steps. In the advanced level, the repetitive movements are a bit more difficult to the side, arms spread out, and arms up in the air, lunge, and squat). Each difficulty level has 5 stages. (arms to the side, arms spread out, and arms up in the air, lunge, and squat). Each difficulty level has The difficulty level and stage were gradually increased by changing the step sequence, location, and 5 stages. The difficulty level and stage were gradually increased by changing the step sequence, direction of the square mat. location, and direction of the square mat. 3.3. Square Mat System 3.3. Square Mat System Figure3 shows the square mat system, a 4 6 stepping board consisting of control, sensing and × communicationFigure 3 shows modules. the square The sizemat ofsystem, each compartmenta 4 × 6 stepping is board 282.3 consisting349 3 mm of control,3. Each sensing has its ownand × × 3 addresscommunication value in modules. the form of The a switch. size of The each control compartment module managesis 282.3 3× zones349 × of3 mm 8 compartments. Each has its of eachown independentlyaddress value configuredin the form cell. of a It switch. monitors The the contro ADCl (analog-to-digital module manages converter) 3 zones of signal 8 compartments of the load cells of ineach real independently time and transmits configured the data cell. to the It monitors communication the ADC module. (analog-to-digital The sensing moduleconverter) is equipped signal of with the anload FSR cells (force in real sensing time resistor) and transmits sensorthat the candata distinguish to the communication each pressure module. input in eachThe sensing cell, and module measures is theequipped user’s weightwith an through FSR (force the sensing act of stepping resistor) on sensor the FSR that sensor. can distinguish The sensing each module pressure also input has a built-inin each interfacecell, and tomeasures control thethe LEDuser’s (light weight emitting through diode) the to act indicate of stepping the reaction on the status. FSR sensor.The communication The sensing module also serves has to a connect built-in theinterface PC and to thecontrol MCU the (micro LED controller(light emitting unit). diode)It communicates to indicate theusing reaction serial portstatus. profile The communication Bluetooth. module serves to connect the PC and the MCU (micro controller unit). It communicates using serial port profile Bluetooth.
Figure 3. The square mat system, consisting of control, sensing, and communication modules. Figure 3. The square mat system, consisting of control, sensing, and communication modules.
3.4. Exercise Pose Estimation System With an increasing number of tele-rehabilitation systems or virtual reality therapy exergames, human motion recognition and estimation becomes more important. This is because it is the core technology of these systems, which automatically evaluates the user’s exercises by recognizing the user’s movements [15,16]. Figure 4 shows the overall process of the multiple Kinect-based physical exercise pose estimation system used in the Chongchong Step Master Exergame. A user motion is captured with multiple Kinects. First, the calibration is applied to match the coordinates among
Multimodal Technol. Interact. 2020, 4, 56 6 of 14
3.4. Exercise Pose Estimation System With an increasing number of tele-rehabilitation systems or virtual reality therapy exergames, human motion recognition and estimation becomes more important. This is because it is the core technology of these systems, which automatically evaluates the user’s exercises by recognizing the user’s movements [15,16]. Figure4 shows the overall process of the multiple Kinect-based physical exercise pose estimation system used in the Chongchong Step Master Exergame. A user motion is Multimodal Technol. Interact. 2020, 4, x FOR PEER REVIEW 6 of 14 captured with multiple Kinects. First, the calibration is applied to match the coordinates among sensors sensorsplaced inplaced different in different locations. locations. Then, the Then, feature the extraction feature extraction from user from motion user is motion performed is performed to define theto defineKinect-based the Kinect-based posture recognition posture recognition model. This model. model This is used model to compareis used to postures compare between postures characters between charactersof different of body different sizes. body Then, sizes. the exerciseThen, the posture exercise is estimatedposture is toestimated accurately to accurately determine determine if the user if is thedoing user the is workoutsdoing the correctly,workouts as correctly, defined inas the defined exercise in the scripts. exercise The scripts. captured The user captured posture user is compared posture isin compared real-time with in real-time the XML with posture the specification,XML posture with specification, the results with of important the results parts of important compared beingparts compareddisplayed being to the displayed user. to the user.
FigureFigure 4. 4. TheThe process process of of multi-Kinect multi-Kinect pose pose estimation estimation for for the the Chongchong Chongchong Step Step Master Master exergame.
This pose estimation system is composed of the client program to which the multiple Kinect sensors This pose estimation system is composed of the client program to which the multiple Kinect are attached, and the server program that is connected to the Unity3D game contents. This system sensors are attached, and the server program that is connected to the Unity3D game contents. This is based on a client/server architecture to overcome the USB bandwidth issues of Kinect V2 SDK, system is based on a client/server architecture to overcome the USB bandwidth issues of Kinect V2 which made it difficult to connect more than two Kinect sensors to one computer. Hence, the information SDK, which made it difficult to connect more than two Kinect sensors to one computer. Hence, the on the user body frame skeleton that is received from each Kinect device is sent to the server. There is information on the user body frame skeleton that is received from each Kinect device is sent to the a server module in the Unity3D game that receives body skeleton data from multiple clients, and then server. There is a server module in the Unity3D game that receives body skeleton data from multiple estimates body exercise movements. In this research, we combined multiple Kinect sensors to determine clients, and then estimates body exercise movements. In this research, we combined multiple Kinect more complex body postures that are not easily tracked by one Kinect sensor, such as self-occlusion by sensors to determine more complex body postures that are not easily tracked by one Kinect sensor, other body parts. such as self-occlusion by other body parts. 3.4.1. Calibration 3.4.1. Calibration Figure5 shows the placement layout of multiple Kinects (a) before (b) and after (c) the calibration Figure 5 shows the placement layout of multiple Kinects (a) before (b) and after (c) the calibration of multiple Kinects (at the front and on the left and right sides). When using multiple cameras, of multiple Kinects (at the front and on the left and right sides). When using multiple cameras, each each camera (at the front or on the sides) has its own coordinate system, and hence those different camera (at the front or on the sides) has its own coordinate system, and hence those different coordinate systems from the Kinects on the sides must be calibrated to be converted into the reference coordinate systems from the Kinects on the sides must be calibrated to be converted into the reference coordinate system at the front. Typically, a large planar rectangle [17] or spherical ball [18] is used for coordinate system at the front. Typically, a large planar rectangle [17] or spherical ball [18] is used the calibration. In this research; however, the Kinect’s skeletal data are used directly. First, the user for the calibration. In this research; however, the Kinect’s skeletal data are used directly. First, the stands facing a direction at an angle of about 45 degrees, so that all body joints (25 joints) can be user stands facing a direction at an angle of about 45 degrees, so that all body joints (25 joints) can be captured by multiple Kinects. Then, the user’s movements for the next 2–3 s are recorded, while having captured by multiple Kinects. Then, the user’s movements for the next 2–3 s are recorded, while all body joints well tracked. The user’s skeletal data are then saved for each Kinect. having all body joints well tracked. The user’s skeletal data are then saved for each Kinect.
(a) (b) (c)
Figure 5. (a) The placement layout of multiple Kinects, (b) before and (c) after calibration.
Multimodal Technol. Interact. 2020, 4, x FOR PEER REVIEW 6 of 14 sensors placed in different locations. Then, the feature extraction from user motion is performed to define the Kinect-based posture recognition model. This model is used to compare postures between characters of different body sizes. Then, the exercise posture is estimated to accurately determine if the user is doing the workouts correctly, as defined in the exercise scripts. The captured user posture is compared in real-time with the XML posture specification, with the results of important parts compared being displayed to the user.
Figure 4. The process of multi-Kinect pose estimation for the Chongchong Step Master exergame.
This pose estimation system is composed of the client program to which the multiple Kinect sensors are attached, and the server program that is connected to the Unity3D game contents. This system is based on a client/server architecture to overcome the USB bandwidth issues of Kinect V2 SDK, which made it difficult to connect more than two Kinect sensors to one computer. Hence, the information on the user body frame skeleton that is received from each Kinect device is sent to the server. There is a server module in the Unity3D game that receives body skeleton data from multiple clients, and then estimates body exercise movements. In this research, we combined multiple Kinect sensors to determine more complex body postures that are not easily tracked by one Kinect sensor, such as self-occlusion by other body parts.
3.4.1. Calibration Figure 5 shows the placement layout of multiple Kinects (a) before (b) and after (c) the calibration of multiple Kinects (at the front and on the left and right sides). When using multiple cameras, each camera (at the front or on the sides) has its own coordinate system, and hence those different coordinate systems from the Kinects on the sides must be calibrated to be converted into the reference coordinate system at the front. Typically, a large planar rectangle [17] or spherical ball [18] is used for the calibration. In this research; however, the Kinect’s skeletal data are used directly. First, the user stands facing a direction at an angle of about 45 degrees, so that all body joints (25 joints) can be capturedMultimodal Technol.by multiple Interact. Kinects.2020, 4, 56 Then, the user’s movements for the next 2–3 s are recorded, while7 of 14 having all body joints well tracked. The user’s skeletal data are then saved for each Kinect.
(a) (b) (c)
Figure 5. (a) The placement layout of multiple Kinects, (b) before and (c) after calibration. Figure 5. (a) The placement layout of multiple Kinects, (b) before and (c) after calibration.
Then, the ICP (iterative closest point) [19] algorithm is applied to the recorded skeletal data to calculate the exterior variables between the reference camera in the front and the side camera. This information is used to correct the relative location and direction of the Kinects to each other. The ICP algorithm is used in many applications to register the 2D or 3D points as a set using the Euclidean method. This ICP algorithm repeatedly tracks the correspondence between points and assesses the geometric (i.e., rotation and translation) changes between two sets of two points. Equations (1) and (2) are used to register two 3D points as a set. X X M 2 M 2 E(R, t) = ei(R, t) = Rxi + t yj , (1) i=1 i=1 k − ∗k = argmin + j j 1,..,N Rxi t yj . (2) ∗ ∈{ }k − k In Equations (1) and (2), the closest point, j*, to the set of two points X = {xi}, i = 1, ... , M and Y = {yj}, j = 1, ... , N, is the optimal correspondence point of set X. The calibration process yields the transformation matrix (rotation matrix R and translation vector t). This process is repeated for each pair of the front and the side Kinects. That is, both left and right Kinect’s coordinate systems need to be matched against the reference coordinate system, i.e., the front Kinect.
3.4.2. Feature Extraction Table1 shows the 25 features constructed for the Kinect-based exercise posture recognition model. This generalized model is needed for comparing postures with different body sizes (such as tall or fat), without altering the user motion data. The 14 body joints (of the 25 joints offered by Kinect 2.0 SDK) are used in a Kinect-based exercise posture recognition model: Hand Left (HL), Hand Right (HR), Elbow Left (EL), Elbow Right (ER), Shoulder Left (SL), Shoulder Right (SR), Ankle Left (AL), Ankle Right (AR), Knee Left (KL), Knee Right (KR), Hip Left (PL), Hip Right (PR), Spine Shoulder (SS), and Spine Base (SB) [20]. These body joints are taken into account to generate the feature data to judge the user’s real-time body posture in order to interpret the characteristics of exercise body posture. Since the spatial information (X, Y, Z) for the body skeleton joints is sensitive to movement and rotation, feature vectors were created, and the angles between these vectors were calculated to determine the features representing each exercise body posture. In order to obtain angle information, the vectors were created at the left shoulder-right shoulder, right shoulder-right elbow, right elbow-right hand, right shoulder-left shoulder, left shoulder-left elbow, left elbow-left hand, right pelvis-right knee, right knee-right foot, left pelvis-left knee, and left knee-left foot, to calculate the angles of the shoulder, elbow, and knee. This allowed us to obtain the degree of bend in the arm and leg. In addition, the right shoulder-right hand, left shoulder-left hand, right pelvis-right foot, left pelvis-left foot, right knee-right foot, and left knee-left foot vector angles were calculated against the front, up, down, and 45 degree side vector, to determine the direction of the arms and legs. Multimodal Technol. Interact. 2020, 4, 56 8 of 14
Table 1. Twenty-five Features for Exercise Posture Recognition Model.
Symbol Feature Description
ELA θ(EL SL, HL EL) Left elbow angle − − ERA θ(ER SR, HR ER) Right elbow angle − − SLA θ(SL SR, HL SL) Left shoulder angle − − SRA θ(SR SL, HR SR) Right shoulder angle − − ULA θ(HL SL,UP) Left arm up angle − URA θ(HR SR,UP) Right arm up angle − DLA θ(HL SL,DOWN) Left arm down angle − DRA θ(HR SR,DOWN) Right arm down angle − FLA θ(SL HL,FRONT) Left arm front angle − FRA θ(SR HR,FRONT) right arm front angle − KLA θ(KL PL,AL KL) Left knee angle − − KRA θ(KR PR,AR KR) right knee angle − − KLA90 90 θ(KL PL,AL KL) Left knee 90 angle − − − KRA90 90 θ(KR PR,AR KR) right knee 90 angle − − − LLA θ(AL PL,DOWN) Left leg down angle − LRA θ(AR PR,DOWN) right leg down angle − LLA45 45 θ(AL PL,DOWN) Left leg 45 angle − − LRA45 45 θ(AR PR,DOWN) right leg 45 angle − − THLA90 90 θ(KL PL,DOWN) Left thigh 90 angle − − THRA90 90 θ(KR PR,DOWN) right thigh 90 angle − − SHLA90 90 θ(AL KL,DOWN) Left shin 90 angle − − SHRA90 90 θ(AR KR,DOWN) right shin 90 angle − − HD ∆(HL HR) Both hand distance − AD ∆(AL AR) both ankle distance − SSA θ(SS SB,UP) Spine upright angle −
The angles between vectors were calculated using Equation (3). In this equation, θ represents the angle between vectors u and v in 3D space. Here, u and v represent the vector of paired joints (for example, between the shoulder and elbow or between the elbow and hand) or the front, up and down vectors. In this way, this method uses the angular position of the torso, left/right arm, left/right leg, and the distance between both hands, feet, and knees. The distance between two points x and y in 3D space were calculated using Equation (4). 1 u v θ(u, v) = cos− , (3) u · v k k k k r X3 2 ∆(x, y) = xi y . (4) k i=1 − i k
3.4.3. Exercise Pose Estimation Figure6 shows the sixteen postures used in the Chongchong Step Master Exergame: BSD (both hands down), BSU (both hands up in the air), BSO (both arms spread out), BSF (both arms stretched out in front), RHU (right hand up), LHU (left hand up), RKU (right knee up), LKU (left knee up), RKC (right leg curled backwards), LKC (left leg curled backwards), RLAB (right leg kicked out to the side), LLAB (left leg kicked out to the side), BHC (clap), SQUAT (squat), RLUNGE (right leg forward lunge), LLUNGE (left leg forward lunge). Multimodal Technol. Interact. 2020, 4, x FOR PEER REVIEW 8 of 14
AD ∆( ) both ankle distance SSA 𝜃( , ) Spine upright angle Since the spatial information (X, Y, Z) for the body skeleton joints is sensitive to movement and rotation, feature vectors were created, and the angles between these vectors were calculated to determine the features representing each exercise body posture. In order to obtain angle information, the vectors were created at the left shoulder-right shoulder, right shoulder-right elbow, right elbow- right hand, right shoulder-left shoulder, left shoulder-left elbow, left elbow-left hand, right pelvis- right knee, right knee-right foot, left pelvis-left knee, and left knee-left foot, to calculate the angles of the shoulder, elbow, and knee. This allowed us to obtain the degree of bend in the arm and leg. In addition, the right shoulder-right hand, left shoulder-left hand, right pelvis-right foot, left pelvis-left foot, right knee-right foot, and left knee-left foot vector angles were calculated against the front, up, down, and 45 degree side vector, to determine the direction of the arms and legs. The angles between vectors were calculated using Equation (3). In this equation, θ represents the angle between vectors u and v in 3D space. Here, u and v represent the vector of paired joints (for example, between the shoulder and elbow or between the elbow and hand) or the front, up and down vectors. In this way, this method uses the angular position of the torso, left/right arm, left/right leg, and the distance between both hands, feet, and knees. The distance between two points x and y in 3D space were calculated using Equation (4).