System
A system for real-time form correction in strength training uses a camera, data transmission, analysis, avatar generation, and feedback to ensure proper form, improving training efficacy and safety.
Patent Information
- Application Number
- JP2024122681
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-29
- Publication Date
- 2026-02-10
AI Technical Summary
Strength training beginners and enthusiasts face difficulties in monitoring and correcting their form in real time, leading to ineffective training and increased risk of injury due to continued use of incorrect form.
A system comprising a camera for capturing movements, real-time data transmission, analysis of the captured data for comparison with correct movements, generation of an avatar demonstrating correct form, display of the avatar, and feedback on user movements to correct form.
Enables users to train with correct form in real time, enhancing training effectiveness and reducing the risk of injury by providing immediate feedback.
Smart Images

Figure 2026020999000001_ABST
Abstract
Description
[Technical Field]
[0001] The technology of the present disclosure relates to a system. [Background technology]
[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]
[0004] For strength training beginners and training enthusiasts looking to improve their form, learning the correct form can be difficult. It's particularly difficult to monitor and correct one's own movements in real time, resulting in problems with ineffective training. Furthermore, continuing to train with incorrect form increases the risk of injury. The goal of this project is to address these issues and provide a system that enables users to train safely and effectively with the correct form. [Means for solving the problem]
[0005] To solve the above problems, the present invention provides the following means: a system including a camera means for capturing movements during training, a transmission means for transmitting the captured movement data in real time, an analysis means for analyzing the transmitted movement data and comparing it with correct movements learned in advance, a generation means for generating an avatar to demonstrate the correct movements, a display means for displaying an image of the generated avatar, and a feedback means for providing real-time feedback on the user's movements to correct. This system allows the user to check and correct their form in real time while training, maximizing the effectiveness of their training and reducing the risk of injury.
[0006] "Camera means" is a device that captures movements during training.
[0007] A "transmission means" is a device or system that has the function of transmitting captured motion data to another device or server in real time.
[0008] The "analysis means" is software or hardware for analyzing the transmitted motion data and comparing it with correct motions that have been learned in advance.
[0009] The "generation means" is a tool or algorithm that generates an avatar that exhibits correct behavior based on the information obtained by the analysis means.
[0010] The "display means" is a device such as a screen or projector that visually presents the generated avatar image to the user.
[0011] The "feedback means" is a system that has the function of notifying the user in real time of the difference between the user's action and the correct action, and providing audio, text, and visual indication to instruct the user on what to correct.
[0012] An "avatar" is a 3D model that mimics the user's body shape and movements, and is a virtual character that visually demonstrates correct training movements. [Brief explanation of the drawings]
[0013] [Figure 1] 1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [Figure 2] 1 is a conceptual diagram showing an example of main functions of a data processing device and a smart device according to a first embodiment. [Figure 3] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a second embodiment. [Figure 4] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and smart glasses according to a second embodiment. [Figure 5] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a third embodiment. [Figure 6] FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and a headset-type terminal according to a third embodiment. [Figure 7] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a fourth embodiment. [Figure 8] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and a robot according to a fourth embodiment. [Figure 9] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 10] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 11] FIG. 3 is a sequence diagram showing a processing flow of the data processing system according to the first embodiment. [Figure 12] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 1. [Figure 13] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system according to the second embodiment when an emotion engine is combined. [Figure 14]FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 2 when an emotion engine is combined. DETAILED DESCRIPTION OF THE INVENTION
[0014] An example of an embodiment of a system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.
[0015] First, the terms used in the following description will be explained.
[0016] In the following embodiments, a coded processor (hereinafter simply referred to as a "processor") may be a single arithmetic device or a combination of multiple arithmetic devices. Furthermore, a processor may be a single type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), and an APU (Accelerated Processing Unit).
[0017] In the following embodiments, a coded RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a working memory by a processor.
[0018] In the following embodiments, the coded storage is one or more non-volatile storage devices that store various programs, various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), and magnetic tapes.
[0019] In the following embodiments, a communication I / F (Interface) with a symbol is an interface including a communication processor, an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), Bluetooth (registered trademark), etc.
[0020] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" is also applied when three or more things are expressed connected by "and / or."
[0021] [First embodiment]
[0022] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0023] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.
[0024] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0025] The smart device 14 includes a computer 36, a reception device 38, an output device 40, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The reception device 38, the output device 40, and the camera 42 are also connected to the bus 52.
[0026] The reception device 38 includes a touch panel 38A, a microphone 38B, and the like, and receives user input. The touch panel 38A detects contact with an indicator (for example, a pen or a finger) to receive user input by the touch of the indicator. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.
[0027] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form of expression that the user 20 can perceive (for example, audio and / or text). The display 40A displays visible information such as text and images in accordance with instructions from the processor 46. The speaker 40B outputs audio in accordance with instructions from the processor 46. The camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0028] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54.
[0029] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0030] 2, in the data processing device 12, a specific process is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0031] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0032] In the smart device 14, the processor 46 performs the reception output process. The storage 50 stores a reception output program 60. The reception output program 60 is used in conjunction with the specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0033] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0034] ---
[0035] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention is a system that allows users to learn and correct proper form during training in real time.
[0036] 1. System Overview
[0037] The system includes a camera means installed on the training equipment, a transmission means for transmitting data to a server, a server for analyzing the data, a display means for displaying correct movements, and a feedback means for providing feedback to the user.
[0038] Camera Means
[0039] The camera captures all movements the user makes during training. For example, when the user does a squat, the camera records the angle of the user's knees, the position of the user's back, etc.
[0040] Transmission method
[0041] The device transmits the captured video data to the server in real time, and the transmission means efficiently compresses the data and uploads it to the server without delay.
[0042] Analysis means
[0043] The server analyzes the received video data. It analyzes the frames of the movement to identify the user's joint positions and movement patterns. It then compares these with pre-trained data on correct form.
[0044] generation means
[0045] The server generates an avatar based on the analysis results, which resembles the user's body shape and is used to reproduce the movements with the correct form.
[0046] Display means
[0047] The device projects the image of the avatar with the correct form sent from the server onto the monitor. The user can compare their own movements with the avatar's movements and identify areas for correction.
[0048] Feedback Methods
[0049] The server uses the analyzed data and avatar video to identify errors in the user's movements and generate feedback. This feedback is provided to the user in the form of voice or text, instructing them in real time on what they need to correct. For example, a voice instruction might say, "You need to open your knees a little more outward."
[0050] Specific examples
[0051] A specific example will be described in which the user performs barbell squats.
[0052] 1. The user begins a barbell squat. The camera captures the user's movements.
[0053] 2. The device sends the captured video data to the server.
[0054] 3. The server analyzes the video data and measures the angle of the user's knees and the position of their spine.
[0055] 4. The server compares this data with the correct squat form it has previously learned.
[0056] 5. The server generates an avatar based on the user's body type and reproduces the ideal squat movement.
[0057] 6. The device projects the generated avatar image onto the monitor, and the user checks the form while looking at this image.
[0058] 7. The server identifies differences in the user's movements and provides audio feedback such as "Please open your knees more outward."
[0059] 8. The user uses this feedback to modify the form and adjust it to perform the correct function.
[0060] In this way, this system allows users to train while checking the correct form in real time, improving training effectiveness and reducing the risk of injury.
[0061] The processing flow will be explained below.
[0062] ---
[0063] Step 1:
[0064] The user begins training.
[0065] Specific Action: The user holds a training implement (e.g., a barbell) and prepares to perform a squat movement.
[0066] Step 2:
[0067] The device's camera automatically captures your training movements.
[0068] Specific actions: The camera records the user's actions in real time and generates video data.
[0069] Step 3:
[0070] The device transmits the captured video data to the server.
[0071] Specific operation: The device compresses the video data and uploads it to the server in real time.
[0072] Step 4:
[0073] The server analyzes the received video data.
[0074] Specific operation: The server divides the video into frames and recognizes the position of the user's joints and movement patterns.
[0075] Step 5:
[0076] The server compares the user's form with the correct form it has learned in advance.
[0077] What happens: The server uses a machine learning model to compare the analysis results with a dataset of correct forms and identify discrepancies.
[0078] Step 6:
[0079] The server generates an avatar based on the user's body type and reproduces movements with the correct form.
[0080] Specific movements: The server uses 3D model generation tools to create an avatar that fits the user's body type and animates the movements with the correct form.
[0081] Step 7:
[0082] The server sends the generated avatar image to the terminal.
[0083] Specific operation: The server encodes the generated video and streams it to the device in real time.
[0084] Step 8:
[0085] The device projects an avatar image of the correct form onto the monitor.
[0086] Specific actions: A video of the avatar performing the correct action is played on the monitor.
[0087] Step 9:
[0088] The server provides real-time feedback for the form.
[0089] Specific actions: The server identifies which parts of the user's actions deviate from correct form and generates feedback in the form of voice or text.
[0090] Step 10:
[0091] The device notifies the user of the feedback.
[0092] Specific actions: Feedback (e.g., "You need to open your knees a little more outward") is displayed on the monitor and, in some cases, is given audibly through a speaker.
[0093] Step 11:
[0094] Users adjust the form based on feedback.
[0095] Specific actions: The user checks the displayed feedback and improves their form by correcting the position of their knees and the angle of their back.
[0096] Example 1
[0097] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0098] While maintaining correct form is important in training, poor form due to self-taught movements increases the risk of injury and makes effective training difficult. Furthermore, without a trainer to check and correct one's movements in real time, incorrect form can easily become a habit over the long term. Given this background, there is a need for a system that can help users accurately check their movements and make appropriate corrections.
[0099] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0100] In this invention, the server includes imaging means for capturing movements during training, communication means for transmitting the captured movement data in real time, analysis means for analyzing the transmitted movement data and comparing it with correct movements learned in advance, generation means for generating a virtual character for demonstrating the correct movements, display means for displaying an image of the generated virtual character, and feedback means for providing real-time feedback on corrections to the user's movements. This allows the user to check their own movements in real time and learn the correct form based on that.
[0101] The "imaging means" is a device that captures the user's movements during training in real time.
[0102] A "communication means" is a device for transmitting captured motion data to a server in real time.
[0103] The "analysis means" is a system for analyzing the transmitted motion data and comparing it with correct motions that have been learned in advance.
[0104] The "generation means" is a function that generates a virtual character that behaves correctly based on the analysis results.
[0105] The "display means" is a device for visually presenting an image of the generated virtual character to the user.
[0106] The "feedback means" is a system for notifying the user in real time of the corrections that need to be made to their actions.
[0107] "Training equipment" is a general term for equipment and devices that a user uses during training.
[0108] "Real-time" refers to a time frame in which information is processed and provided nearly simultaneously.
[0109] "Correct movement" refers to a predefined, appropriate, safe, and effective training form.
[0110] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention is a system that allows users to learn and correct proper form during training in real time.
[0111] System Overview
[0112] The system includes an imaging means installed on the training equipment, a communication means for transmitting data to a server, a server for analyzing the data, a display means for displaying correct movements, and a feedback means for providing feedback to the user.
[0113] Imaging means
[0114] The imaging device captures all movements made by the user during training. Specifically, the camera records the movements of each part of the user's body. For example, when the user does a squat, the camera records the angle of the user's knees and the position of the user's back muscles.
[0115] communication means
[0116] The device transmits the captured video data to the server in real time, where it efficiently compresses the video data and uploads it to the server without delay. The H.265 compression format is often used as the communication technology.
[0117] Analysis means
[0118] The server analyzes the received video data. It processes each frame of the video to identify the user's joint positions and movement patterns. This process is performed using analysis software such as OpenPose. It then utilizes a generative AI model to compare the analysis results with pre-trained correct form data.
[0119] generation means
[0120] Based on the analysis, the server generates a virtual character that resembles the user's body shape. This virtual character is created using 3D generation software such as Blender and is used to reproduce the correct form.
[0121] Display means
[0122] The device projects the correct form of the virtual character image sent from the server onto a high-resolution monitor. The user can compare their own movements with the virtual character's movements and identify corrections.
[0123] Feedback Methods
[0124] The server uses the analysis data and video of the virtual character to identify errors in the user's movements and generate feedback. This feedback is provided to the user in the form of voice and text, and uses the Google Cloud Text-to-Speech API to provide real-time instructions. For example, it can provide specific advice such as, "You need to open your knees a little more outward."
[0125] Specific examples
[0126] A case where a user performs barbell squats will be described.
[0127] 1. The user begins a barbell squat. The camera captures the knee angle and back position from various angles.
[0128] 2. The device compresses the captured video data in H.265 format and sends it to the server.
[0129] 3. The server uses OpenPose to analyze the knee, hip, and shoulder positions and compares them with the correct form data.
[0130] 4. The server uses Blender to generate a virtual character based on the user's body type.
[0131] 5. The device displays the virtual character image on the monitor, and the user compares it with their own movements.
[0132] 6. The server uses the Google Cloud Text-to-Speech API to provide voice feedback such as "Please open your knees more outward."
[0133] 7. The user corrects the form based on the feedback and it continues to work correctly.
[0134] Prompt Sentence Examples
[0135] "Analyze the knee angle and spine position when a user performs a barbell squat."
[0136] "Generate real-time feedback to correct your form during barbell squats."
[0137] "Compare the user's behavior with the correct behavior and provide voice instructions on what to fix."
[0138] This system allows users to train while checking correct form in real time, which has the advantage of improving training effectiveness while reducing the risk of injury.
[0139] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0140] Step 1:
[0141] The user starts training. The user's movements are captured by an imaging device attached to the training device. The input is the user's real-time movements, and the output is the captured video data.
[0142] Step 2:
[0143] The device transmits the captured video data to the server in real time using a communication method. At this time, the data is compressed using the H.265 compression format. The input is the captured video data, and the output is the compressed video data.
[0144] Step 3:
[0145] The server analyzes the received video data. Specifically, the server uses the OpenPose library to extract the user's joint positions (knees, hips, shoulders, etc.) from each frame of the video. The input is compressed video data, and the output is the extracted joint position data.
[0146] Step 4:
[0147] The server compares the extracted joint position data with pre-trained correct form data. Analysis is performed using a generative AI model. The input is joint position data and correct form data, and the output is data showing the difference between the user's movement and the correct form.
[0148] Step 5:
[0149] The server generates a virtual character that resembles the user's body shape based on the analysis results. 3D generation software such as Blender is used. The input is the user's body shape data and data showing differences in movement, and the output is the generated virtual character.
[0150] Step 6:
[0151] The terminal projects the correct form of the virtual character image sent from the server onto a high-resolution monitor. The input is the virtual character image data, and the output is the image on the monitor. The user compares their own movements with those of the virtual character while watching this image.
[0152] Step 7:
[0153] The server uses the analyzed data to identify errors in the user's movements and generate feedback. The audio feedback is generated using the Google Cloud Text-to-Speech API. The input is data indicating the movement error, and the output is audio and text feedback. For example, the server might give instructions such as, "You need to open your knees a little more outward."
[0154] Step 8:
[0155] Users correct their form based on the feedback provided in real time. The input is voice and text feedback, and the output is corrected movements. This allows users to continue training with correct form.
[0156] (Application example 1)
[0157] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0158] Conventional training systems require users to receive direct instruction from a coach or instructor to master the correct form. However, because it is difficult to always receive appropriate instruction, users may continue training without realizing that their form is incorrect, which can lead to injury or reduced effectiveness. There is a need for a system that solves this problem and allows users to learn and correct the correct form in real time.
[0159] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0160] In this invention, the server includes a camera means for capturing movements during training, a transmission means for transmitting the captured movement data in real time, an analysis means for analyzing the transmitted movement data and comparing it with correct movements learned in advance, a generation means for generating an avatar to demonstrate the correct movements, a display means for displaying an image of the generated avatar, a feedback means for providing real-time feedback on corrections to the user's movements, an application means installed in the smart glasses, and a means for displaying the generated feedback on the display of the smart glasses. This allows the user to train with the correct form while receiving feedback in real time.
[0161] "Camera means" is a device for capturing the user's movements during training.
[0162] "Transmitting means" refers to a device or function that transmits captured motion data to a server in real time.
[0163] The "analysis means" is a device or function that analyzes the transmitted motion data and compares it with correct motion data that has been learned in advance.
[0164] The "generation means" is a device or function that generates an avatar that exhibits correct movements based on the analyzed movement data.
[0165] The "display means" is a device or function that displays the generated avatar image to the user.
[0166] The "feedback means" is a device or function that provides real-time feedback to the user on areas of the user's actions that need to be corrected, and notifies the user of this.
[0167] "Smart glasses" are glasses-type devices with display functions that are worn by a user.
[0168] "Application Means" is a program or software that is installed on the smart glasses and displays feedback to the user.
[0169] The "means for displaying on the display" is a function for displaying the generated feedback information on the display of the smart glasses in real time.
[0170] The present invention provides a system that allows users to learn and correct their correct form in real time during training. The system includes a camera means, a transmission means, an analysis means, a generation means, a display means, a feedback means, smart glasses, an application means, and a means for displaying on a display.
[0171] System Program
[0172] The program of this system captures the movements performed by the user during training using a camera means and transmits them to a server in real time using a transmission means. The server analyzes the transmitted movement data using an analysis means and compares it with correct movement data learned in advance. Based on the comparison results, a generation means generates an avatar that resembles the user's body shape, and a display means displays the generated avatar image on the smart glasses in real time. Furthermore, a feedback means provides real-time feedback on areas of the user's movements that need correction, and notifies the user via the display means of the smart glasses.
[0173] Hardware and Software
[0174] In this system, a standard webcam can be used as the camera means. A high-performance server is required for the transmission means, analysis means, and generation means. Machine learning and image processing libraries such as TensorFlow and OpenCV are used for the analysis means. Commercially available smart glasses with display functionality are used as the smart glasses. Dedicated application software installed on the user's smart glasses is used as the application means and display means.
[0175] Specific examples
[0176] A specific example will be given of a user performing squats. When the user starts squatting, the camera means captures the user's movements. The transmission means transmits this captured video data to the server in real time. The server analyzes the video data and measures the angle of the user's knees and the position of their back muscles. Based on the analyzed data, the server generates an avatar based on the user's body type and reproduces the ideal squat movement. The generated avatar image is projected onto the smart glasses display, and the user checks their form while viewing this image. The feedback means identifies areas in the user's movements that need correction in real time, and displays feedback such as "Open your knees more outward" on the smart glasses display.
[0177] Prompt Sentence Examples
[0178] An example prompt for a generative AI model is:
[0179] "Create a program that provides feedback when the user needs to open their knees outward more during the squat."
[0180] This allows users to train with the correct form while receiving real-time feedback.
[0181] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0182] Step 1:
[0183] User starts training
[0184] The user starts training. As the user performs exercises such as squats and barbell lifts, the camera captures their movements during training. The input is the user's training movements, and the video of these movements is output as captured data.
[0185] Step 2:
[0186] Sending captured data
[0187] The device transmits the captured motion data to the server in real time. The input is the motion data captured earlier, which is efficiently compressed and transmitted to the server. The output is the transmitted motion data.
[0188] Step 3:
[0189] Analysis of behavioral data
[0190] The server analyzes the transmitted motion data. The input is the transmitted motion data, and the server uses an analytical method (libraries such as TensorFlow or OpenCV) to identify the user's joint positions and motion patterns. The analyzed joint positions and motion patterns are output as a result of data processing.
[0191] Step 4:
[0192] Comparison with correct form
[0193] Based on the analyzed behavior data, the server compares it with the correct form data learned in advance. The input is the analyzed behavior data and the correct form data, and the output is the difference between the user's behavior and the correct form.
[0194] Step 5:
[0195] Avatar generation
[0196] The server generates an avatar based on the user's body shape based on the comparison results. The input is the comparison result data, and the generated avatar image is output.
[0197] Step 6:
[0198] Avatar video display
[0199] The terminal displays the generated avatar image on the display of the smart glasses. The input is the generated avatar image, and the output is the avatar image displayed on the display of the smart glasses.
[0200] Step 7:
[0201] Behavior correction feedback
[0202] The feedback means identifies errors in the user's actions based on the analyzed data and the avatar image and generates feedback. The input is the analyzed data and the avatar image, and the generated feedback (audio or text) is output.
[0203] Step 8:
[0204] Feedback Notification
[0205] The terminal displays the generated feedback on the display of the smart glasses in real time. The input is the generated feedback and the output is the feedback displayed on the display of the smart glasses.
[0206] In this way, each step works together, allowing the user to correct their training form in real time.
[0207] Furthermore, an emotion engine that estimates the user's emotion may be combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion.
[0208] ---
[0209] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention provides a system that allows a user to learn correct form during training in real time and provides feedback based on the user's emotions using an emotion engine.
[0210] 1. System Overview
[0211] The system includes a camera means installed on the training equipment, a transmission means for transmitting data to a server, a server for analyzing the data, a display means for displaying correct movements, a feedback means for providing feedback to the user, and an emotion engine.
[0212] Camera Means
[0213] The camera captures all movements the user makes during training. For example, when the user does a squat, the camera records the angle of the user's knees, the position of the user's back, etc.
[0214] Transmission method
[0215] The device transmits the captured video data to the server in real time, and the transmission means efficiently compresses the data and uploads it to the server without delay.
[0216] Analysis means
[0217] The server analyzes the received video data. It analyzes the frames of the movement to identify the user's joint positions and movement patterns. It then compares these with pre-trained data on correct form.
[0218] generation means
[0219] The server generates an avatar based on the analysis results, which resembles the user's body shape and is used to reproduce the movements with the correct form.
[0220] Display means
[0221] The device projects the image of the avatar with the correct form sent from the server onto the monitor. The user can compare their own movements with the avatar's movements and identify areas for correction.
[0222] Feedback Methods
[0223] The server uses the analyzed data and avatar video to identify errors in the user's movements and generate feedback. This feedback is provided to the user in the form of voice or text, instructing them in real time on what they need to correct. For example, a voice instruction might say, "You need to open your knees a little more outward."
[0224] Emotion Engine
[0225] The emotion engine recognizes the user's emotions from their facial expressions and voice. This allows it to determine in real time whether the user is feeling stressed, tired, or highly motivated. For example, if it determines that the user is tired, it adjusts the feedback to be gentler.
[0226] Specific examples
[0227] A specific example will be described in which the user performs barbell squats.
[0228] 1. The user begins a barbell squat. The camera captures the user's movements.
[0229] 2. The device sends the captured video data to the server.
[0230] 3. The server analyzes the video data and measures the angle of the user's knees and the position of their spine.
[0231] 4. The server compares this data with the correct squat form it has previously learned.
[0232] 5. The server generates an avatar based on the user's body type and reproduces the ideal squat movement.
[0233] 6. The device projects the generated avatar image onto the monitor, and the user checks the form while looking at this image.
[0234] 7. The server identifies differences in the user's movements and provides audio feedback such as "Please open your knees more outward."
[0235] 8. The emotion engine recognizes the user's emotions from their facial expressions and voice and adjusts the content and tone of the feedback. For example, if it determines that the user is tired, it will provide gentle feedback such as, "You're going at a good pace, but let's take a break."
[0236] 9. The user uses this feedback to modify the form and adjust it to perform the correct function.
[0237] In this way, this system allows users to train while checking their correct form in real time and receiving appropriate feedback based on their emotions, which improves training effectiveness, reduces the risk of injury, and maintains user motivation.
[0238] The processing flow will be explained below.
[0239] ---
[0240] Step 1:
[0241] The user begins training.
[0242] Specific Action: The user holds a training implement (e.g., a barbell) and prepares to perform a squat movement.
[0243] Step 2:
[0244] The device's camera automatically captures your training movements.
[0245] Specific actions: The camera records the user's actions in real time and generates video data.
[0246] Step 3:
[0247] The device transmits the captured video data to the server.
[0248] Specific operation: The device compresses the video data and uploads it to the server in real time.
[0249] Step 4:
[0250] The server analyzes the received video data.
[0251] Specific operation: The server divides the video into frames and recognizes the position of the user's joints and movement patterns.
[0252] Step 5:
[0253] The server compares the user's form with the correct form it has learned in advance.
[0254] Specific Actions: The server uses machine learning models to compare the user's action data with a dataset of correct forms and identify discrepancies.
[0255] Step 6:
[0256] The server generates an avatar based on the user's body type.
[0257] Specific movements: The server uses a 3D model generation tool to create an avatar that matches the user's body type and animates the movements with the correct form.
[0258] Step 7:
[0259] The server sends the generated avatar image to the terminal.
[0260] Specific operation: The server encodes the generated video and streams it to the device in real time.
[0261] Step 8:
[0262] The device projects an avatar image of the correct form onto the monitor.
[0263] Specific actions: A video of the avatar performing the correct action is played on the monitor.
[0264] Step 9:
[0265] The server provides real-time feedback for the form.
[0266] Specific actions: The server identifies which parts of the user's actions deviate from correct form and generates feedback in the form of voice or text.
[0267] Step 10:
[0268] The device notifies the user of the feedback.
[0269] Specific actions: Feedback (e.g., "You need to open your knees a little more outward") is displayed on the monitor and, in some cases, is given audibly through a speaker.
[0270] Step 11:
[0271] The emotion engine analyzes the user's facial expressions and voice.
[0272] Specific operation: The emotion engine analyzes video and audio data to determine the user's emotional state (e.g., fatigue, stress, motivation).
[0273] Step 12:
[0274] The server adjusts the feedback content based on the results of the emotion engine.
[0275] Specific behavior: If the emotion engine determines that the user is tired, the server will provide gentle feedback such as, "You're doing well, but let's take a break."
[0276] Step 13:
[0277] Users adjust the form based on feedback.
[0278] Specific actions: The user checks the displayed feedback and improves their form by correcting the position of their knees and the angle of their back.
[0279] Through this series of processing flows, the system allows users to learn correct form in real time while receiving emotionally sensitive feedback during training.
[0280] Example 2
[0281] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0282] Conventional training systems make it difficult for users to accurately check and correct their own form. Furthermore, feedback is provided without taking into account the user's emotional state, making it difficult to maintain motivation. The present invention aims to solve these problems.
[0283] The identification process by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes: an imaging means for capturing movements during training; a communication means for transmitting the captured movement data in real time; an analysis means for analyzing the transmitted movement data and comparing it with correct movements learned in advance; a generation means for generating an avatar to demonstrate the correct movements; a display means for displaying the generated avatar image; a feedback means for providing real-time feedback on corrections to the user's movements; and an emotion analysis means for recognizing the user's emotions in real time and adjusting the feedback content. This allows the user to accurately check and correct their form and receive feedback according to their emotional state, thereby maintaining motivation while training.
[0284] The "photography means" is a device for capturing the user's movements during training.
[0285] The "communication means" is an interface for transmitting captured motion data to a server in real time.
[0286] The "analysis means" is a function for analyzing the motion data transmitted via the communication means and comparing it with the correct motions that have been learned in advance.
[0287] The "generation means" is a mechanism for generating an avatar that demonstrates correct behavior based on the analyzed data.
[0288] The "display means" is a device for visually presenting the generated avatar image to the user.
[0289] A "feedback means" is a mechanism for notifying the user in real time of corrections to their actions.
[0290] The "emotion analysis means" is a system that recognizes the user's emotions in real time and adjusts the content of the feedback according to those emotions.
[0291] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention provides a system that allows a user to learn correct form during training in real time and provides feedback based on the user's emotions using an emotion engine.
[0292] This system is implemented using the following hardware and software.
[0293] 1. Camera Means
[0294] The camera is a device that captures all movements made by the user during training. For example, when a user performs squats, the camera used as the camera records the user's knee angle, back position, etc. This camera should preferably be high-resolution and have a performance of 30 frames per second or higher.
[0295] 2. Transmission Method
[0296] The device transmits the captured video data to the server in real time, and the transmission means efficiently compresses the video data and uploads it to the server without delay. For this purpose, an encoder and a network interface are generally used.
[0297] 3. Analysis method
[0298] The server analyzes the received video data. It analyzes frames of the movement to identify the user's joint positions and movement patterns. It then uses a deep learning model (such as TensorFlow or PyTorch) to compare these with pre-trained data of correct form. This makes it possible to quantitatively evaluate how well the user's movement matches the ideal form.
[0299] 4. Generation means
[0300] The server generates an avatar that resembles the user's body shape based on the analysis results. This avatar is used to reproduce movements with the correct form. Game engines such as Unity can be used to generate the 3D model.
[0301] 5. Display means
[0302] The device projects an avatar image of the correct form sent from the server onto the monitor. The user can compare their own movements with the avatar's movements and identify corrections. In addition to the display, an AR (Augmented Reality) device can also be used.
[0303] 6. Feedback channels
[0304] The server uses the analyzed data and avatar video to identify errors in the user's movements and generate feedback. This feedback is provided to the user in the form of voice or text, instructing them in real time on what they need to correct. For example, a text-to-speech engine is used to provide voice guidance such as, "You need to open your knees a little more outward."
[0305] 7. Emotion Engine
[0306] The emotion analysis method recognizes emotions from the user's facial expressions and voice. This uses computer vision and voice analysis algorithms, such as OpenCV and the Google Cloud Speech-to-Text API. It determines in real time whether the user is stressed, tired, or highly motivated. For example, if it determines that the user is tired, the feedback is adjusted to be gentler.
[0307] Specific examples
[0308] A specific example will be described in which the user performs barbell squats.
[0309] 1. The user starts a barbell squat. The camera captures the user's movements.
[0310] 2. The device sends the captured video data to the server.
[0311] 3. The server analyzes the video data and measures the angle of the user's knees and the position of their spine.
[0312] 4. The server compares this data with the correct squat form it has previously learned.
[0313] 5. The server generates an avatar based on the user's body type and reproduces the ideal squat movement.
[0314] 6. The terminal projects the generated avatar image onto a display device, and the user checks the form while looking at this image.
[0315] 7. The server identifies differences in the user's movements and provides audio feedback such as "Please open your knees more outward."
[0316] 8. The emotion analysis function recognizes the user's emotions from their facial expressions and voice and adjusts the content and tone of the feedback. For example, if the system determines that the user is tired, it will provide gentle feedback such as, "You're doing well, but let's take a break."
[0317] 9. The user uses this feedback to modify the form and adjust it to perform the correct function.
[0318] Prompt Sentence Examples
[0319] Below are some example prompts to input to a generative AI model:
[0320] A user is performing barbell squats. The camera captures the user's knee angle and spine position. Analysis reveals the following error in the user's form: knees are too inward. In response, provide feedback such as "Please open your knees more outward."
[0321] In this way, this system allows users to train while checking their correct form in real time and receiving appropriate feedback based on their emotions, which improves training effectiveness, reduces the risk of injury, and maintains user motivation.
[0322] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0323] Processing flow
[0324] Step 1:
[0325] A user starts a workout. For example, the user stands in a workout area and prepares to perform barbell squats. The inputs are the user's body position and the training equipment. The output is a signal that the user should start working out.
[0326] Step 2:
[0327] The camera captures the user's movements. As soon as the user starts a movement, the camera records the video at a specified frame rate, capturing the user's knee angle and spine position in real time. The input is a real-time video of the user's movements, and the output is a recording of this as digital data.
[0328] Step 3:
[0329] The device transmits the captured video data to the server in real time. The device uses an encoder to efficiently compress the video data and upload it to the server with minimal latency. The input is the captured video data, and the output is the compressed video data.
[0330] Step 4:
[0331] The server analyzes the received video data. It processes the video data with a deep learning model (e.g., TensorFlow or PyTorch) to identify the user's joint positions and movement patterns. Specifically, it analyzes video frames and calculates pixel-based joint coordinates. The input is compressed video data, and the output is the user's joint coordinates and movement patterns.
[0332] Step 5:
[0333] The server compares the analysis results with the training data. This comparison uses a deep learning model to match the user's movements with pre-trained correct form data and calculates the error. For example, it evaluates the difference between the ideal knee angle for a squat and the current knee angle. The input is the user's joint data and training data on correct form, and the output is form error information.
[0334] Step 6:
[0335] The server generates an avatar that resembles the user's body shape based on form error information. The generated avatar mimics the movements of a correct form and is rendered as an animation. Specifically, a 3D avatar is generated and moved using Unity or a similar game engine. The input is the user's body shape information and form error information, and the output is the generated avatar image.
[0336] Step 7:
[0337] The device displays the generated avatar image on a monitor. The user can compare their own movements with the avatar's movements and identify corrections while watching this avatar image. The input is the generated avatar image, and the output is the image displayed on the monitor.
[0338] Step 8:
[0339] The server identifies errors in the movement and generates feedback to the user. Specifically, based on errors such as knees being too inward, it gives voice or text feedback such as "Please open your knees more outward." This is done using a Text-to-Speech engine. The input is the error information in the form, and the output is the feedback message.
[0340] Step 9:
[0341] The emotion analysis method recognizes emotions from the user's facial expressions and voice. For example, it uses computer vision technology or the Google Cloud Speech-to-Text API to determine the user's emotions. If it determines that the user is tired, it adjusts the content and tone of the feedback and provides a gentle message such as, "You're doing well, but please take a short break." The input is the user's facial expressions and voice data, and the output is the adjusted feedback message.
[0342] Step 10:
[0343] The user can then continue training by correcting their form based on the feedback, for example by adjusting their knee position and straightening their back. The input is the feedback message, and the output is the corrected user movement.
[0344] The above is the specific processing flow of this system. The information from the input and output at each step is closely linked, allowing the user to train more effectively and safely.
[0345] (Application example 2)
[0346] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0347] Conventional training systems have difficulty accurately capturing users' movements and providing real-time feedback on correct form. Furthermore, they do not provide feedback that takes into account the user's emotional state, making it difficult to maintain user motivation and maximize training effectiveness. This increases the risk of injury due to incorrect form and fails to provide effective training plans.
[0348] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes a camera means, a transmission means, an analysis means, a generation means, a feedback means, and an emotion engine means. This makes it possible to accurately capture the user's training movements in real time, generate an avatar showing the correct form, and provide feedback according to the user's emotions.
[0349] The "imaging device means" is a device for capturing the user's actions in real time.
[0350] The "communication device means" is a device for transmitting captured motion data to an external server or cloud in real time.
[0351] The "analysis device means" is a device for analyzing the transmitted motion data and comparing it with correct motions that have been learned in advance.
[0352] A "display device" is a device for providing visual information to a user to indicate correct operation.
[0353] The "output device means" is a device that provides real-time feedback to the user on areas of their actions that need to be corrected, either by voice or text.
[0354] The "emotion recognition device means" is a device for recognizing the user's emotions and adjusting the content and tone of the feedback.
[0355] The present invention provides a system that allows a user to learn correct form during training in real time and provides feedback according to the user's emotions using an emotion engine.
[0356] System Overview
[0357] The system includes the following major hardware and software components:
[0358] Imaging device means: A device for capturing the user's training movements in real time. The camera of a smartphone is used.
[0359] Communication device means: a device for transmitting the captured motion data to a cloud server in real time.
[0360] Analysis device means: A device for analyzing the transmitted video data. It runs on a cloud server and uses machine learning models such as TensorFlow to analyze user behavior.
[0361] Display device: A device for providing the user with an avatar image showing the correct behavior. Uses the display of a smartphone or tablet.
[0362] Output device means: A device for providing real-time feedback to the user on where to correct their actions. Feedback can be provided in the form of voice and text.
[0363] Emotion recognition device means: A device that recognizes the user's emotions and adjusts the content and tone of the feedback. Uses Microsoft Azure Emotion API.
[0364] Process Overview
[0365] 1. The user starts a workout. For example, when the user performs a squat, the user captures the movement with the smartphone camera.
[0366] 2. The video data captured by the camera means is transmitted in real time to the cloud server via the communication device means.
[0367] 3. On the cloud server, the video data is analyzed using an analyzer to identify the user's joint positions and movement patterns. A TensorFlow model is used here.
[0368] 4. Based on the analysis results, the server generates an avatar that resembles the user's body shape (generation means) and reproduces movements in an ideal form. This avatar image is provided to the user through the display means.
[0369] 5. The feedback method uses the analysis results and avatar images to identify errors in the user's actions and provide real-time feedback via voice and text.
[0370] 6. The emotion recognition device means recognizes the user's emotions from their facial expressions and voice, and adjusts the content and tone of the feedback. For example, if the user is recognized as tired, the feedback will be adjusted to be gentler.
[0371] Specific examples
[0372] For example, consider a user doing barbell squats:
[0373] 1. The user places their smartphone in a corner of the room, sets the camera to capture their entire body, and begins squatting.
[0374] 2. The camera captures the squat movement and transmits the data to a cloud server in real time.
[0375] 3. A TensorFlow model on a cloud server analyzes the data and identifies the user's knee angle and spine position.
[0376] 4. Based on these analysis results, the cloud server generates an avatar that reproduces the correct form and displays it on the smartphone screen.
[0377] 5. While watching this avatar video, the user can check their own form and understand what needs to be corrected.
[0378] 6. At the same time, the server provides real-time feedback, such as voice instructions like, "You need to open your knees a little more outward."
[0379] 7. The emotion engine determines the user's fatigue from their facial expressions and provides gentle feedback such as "Please take a short break before the next set."
[0380] Prompt Sentence Examples
[0381] "The camera captures the user performing a squat and sends the data to a cloud server in real time. The server then analyzes the video, measuring the angle of the knees and the position of the spine, and compares this with the correct form learned in advance. Based on the results, the system provides voice feedback such as, 'You need to open your knees a little more outward.' It also recognizes emotions from the user's facial expressions, and if the user is tired, it adjusts the content and tone of the feedback, such as, 'It's important to take a break.' All training data is stored in Firebase."
[0382] As a result, users can learn the correct form in real time and receive appropriate feedback based on their emotions, enabling them to train effectively and safely.
[0383] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0384] Flow of the system program that realizes the application example
[0385] Step 1:
[0386] The user starts training using the smartphone, activates the imaging device means (the camera of the smartphone), and captures the training movements.
[0387] Input: User action
[0388] Output: Captured video data
[0389] Specific actions: The user activates the smartphone camera, places the smartphone in the training space, and records their own actions.
[0390] Step 2:
[0391] The terminal compresses the captured video data in real time and transmits it to a cloud server using a communication device means.
[0392] Input: Captured video data
[0393] Output: Compressed data sent to the cloud server
[0394] How it works: The device compresses video data and uploads it to a cloud server in real time using communication technologies such as Wi-Fi or 4G / 5G.
[0395] Step 3:
[0396] The server analyzes the transmitted video data using an analysis device, identifying the user's joint positions and movement patterns for each movement frame and comparing them with the correct form learned in advance.
[0397] Input: Compressed video data
[0398] Output: Analysis results (joint position data, movement patterns)
[0399] Specific operation: A TensorFlow model on a cloud server analyzes video frames, detects the position of each user's joints and movement patterns, and compares them with data on correct form.
[0400] Step 4:
[0401] The server generates an avatar that resembles the user's body shape based on the analysis results (generation means), and transmits the generated avatar image to the terminal using the display means.
[0402] Input: Analysis results (joint position data, movement pattern)
[0403] Output: Generated avatar video
[0404] Specific operation: Based on the analysis results, an avatar with the ideal form is generated and its video data is sent to the device. A visualization library (e.g., Three.js) is used to generate the avatar.
[0405] Step 5:
[0406] The device displays the generated avatar image on a display, and the user compares their own movements with those of the avatar.
[0407] Input: Generated avatar video
[0408] Output: Avatar image displayed on the display
[0409] Specific operation: An avatar image is displayed on the device display in real time, and the user can check their own movements while watching the image.
[0410] Step 6:
[0411] The server uses the feedback means to identify errors in the user's actions and provide real-time feedback via voice and text.
[0412] Input: Analysis results (joint position data, movement pattern)
[0413] Output: Feedback message (audio, text)
[0414] Specific operation: Based on the analysis of the movement, the cloud server generates a feedback message, such as "You need to open your knees a little more outward," and sends it to the device. A TTS (Text-to-Speech) engine is used for voice output.
[0415] Step 7:
[0416] The server uses an emotion recognition device means to recognize emotions from the user's facial expressions and voice, and adjusts the content and tone of the feedback.
[0417] Input: User's facial expression data, voice data
[0418] Output: Adjusted feedback message
[0419] How it works: The Microsoft Azure Emotion API on a cloud server analyzes the user's facial expressions and voice data to determine their level of fatigue and stress. Based on the results, it adjusts the content and tone of the feedback and generates encouraging messages with gentler words.
[0420] Specific examples
[0421] For example, if a user were to perform a barbell squat, the steps above would be processed in the following order:
[0422] 1. The user activates the smartphone camera and begins barbell squats.
[0423] 2. The device captures the squat movements in real time and sends the data to a cloud server.
[0424] 3. The server analyzes the data, determines the user's knee angle and spine position, and compares them with the correct form.
[0425] 4. The server generates an avatar with the correct form and sends the image to the device.
[0426] 5. The device displays the avatar image on the screen and the user confirms the form.
[0427] 6. Based on the analysis results, the server sends audio feedback such as, "You need to open your knees a little more outward."
[0428] 7. If the server recognizes the user's emotions and determines that they are tired, it sends gentle feedback such as, "It's important to take breaks."
[0429] Through the above process, the user can train while checking the correct form in real time and receiving appropriate feedback according to their emotions.
[0430] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0431] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0432] In the above embodiment, an example in which the specific process is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific process may be performed by the smart device 14.
[0433] [Second embodiment]
[0434] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0435] 3, the data processing system 210 includes the data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0436] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0437] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, and the camera 42 are also connected to the bus 52.
[0438] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0439] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0440] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0441] Fig. 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Fig. 4, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0442] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0443] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0444] In the smart glasses 214, the reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0445] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal."
[0446] ---
[0447] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention is a system that allows users to learn and correct proper form during training in real time.
[0448] 1. System Overview
[0449] The system includes a camera means installed on the training equipment, a transmission means for transmitting data to a server, a server for analyzing the data, a display means for displaying correct movements, and a feedback means for providing feedback to the user.
[0450] Camera Means
[0451] The camera captures all movements the user makes during training. For example, when the user does a squat, the camera records the angle of the user's knees, the position of the user's back, etc.
[0452] Transmission method
[0453] The device transmits the captured video data to the server in real time, and the transmission means efficiently compresses the data and uploads it to the server without delay.
[0454] Analysis means
[0455] The server analyzes the received video data. It analyzes the frames of the movement to identify the user's joint positions and movement patterns. It then compares these with pre-trained data on correct form.
[0456] generation means
[0457] The server generates an avatar based on the analysis results, which resembles the user's body shape and is used to reproduce the movements with the correct form.
[0458] Display means
[0459] The device projects the image of the avatar with the correct form sent from the server onto the monitor. The user can compare their own movements with the avatar's movements and identify areas for correction.
[0460] Feedback Methods
[0461] The server uses the analyzed data and avatar video to identify errors in the user's movements and generate feedback. This feedback is provided to the user in the form of voice or text, instructing them in real time on what they need to correct. For example, a voice instruction might say, "You need to open your knees a little more outward."
[0462] Specific examples
[0463] A specific example will be described in which the user performs barbell squats.
[0464] 1. The user begins a barbell squat. The camera captures the user's movements.
[0465] 2. The device sends the captured video data to the server.
[0466] 3. The server analyzes the video data and measures the angle of the user's knees and the position of their spine.
[0467] 4. The server compares this data with the correct squat form it has previously learned.
[0468] 5. The server generates an avatar based on the user's body type and reproduces the ideal squat movement.
[0469] 6. The device projects the generated avatar image onto the monitor, and the user checks the form while looking at this image.
[0470] 7. The server identifies differences in the user's movements and provides audio feedback such as "Please open your knees more outward."
[0471] 8. The user uses this feedback to modify the form and adjust it to perform the correct function.
[0472] In this way, this system allows users to train while checking the correct form in real time, improving training effectiveness and reducing the risk of injury.
[0473] The processing flow will be explained below.
[0474] ---
[0475] Step 1:
[0476] The user begins training.
[0477] Specific Action: The user holds a training implement (e.g., a barbell) and prepares to perform a squat movement.
[0478] Step 2:
[0479] The device's camera automatically captures your training movements.
[0480] Specific actions: The camera records the user's actions in real time and generates video data.
[0481] Step 3:
[0482] The device transmits the captured video data to the server.
[0483] Specific operation: The device compresses the video data and uploads it to the server in real time.
[0484] Step 4:
[0485] The server analyzes the received video data.
[0486] Specific operation: The server divides the video into frames and recognizes the position of the user's joints and movement patterns.
[0487] Step 5:
[0488] The server compares the user's form with the correct form it has learned in advance.
[0489] What happens: The server uses a machine learning model to compare the analysis results with a dataset of correct forms and identify discrepancies.
[0490] Step 6:
[0491] The server generates an avatar based on the user's body type and reproduces movements with the correct form.
[0492] Specific movements: The server uses 3D model generation tools to create an avatar that fits the user's body type and animates the movements with the correct form.
[0493] Step 7:
[0494] The server sends the generated avatar image to the terminal.
[0495] Specific operation: The server encodes the generated video and streams it to the device in real time.
[0496] Step 8:
[0497] The device projects an avatar image of the correct form onto the monitor.
[0498] Specific actions: A video of the avatar performing the correct action is played on the monitor.
[0499] Step 9:
[0500] The server provides real-time feedback for the form.
[0501] Specific actions: The server identifies which parts of the user's actions deviate from correct form and generates feedback in the form of voice or text.
[0502] Step 10:
[0503] The device notifies the user of the feedback.
[0504] Specific actions: Feedback (e.g., "You need to open your knees a little more outward") is displayed on the monitor and, in some cases, is given audibly through a speaker.
[0505] Step 11:
[0506] Users adjust the form based on feedback.
[0507] Specific actions: The user checks the displayed feedback and improves their form by correcting the position of their knees and the angle of their back.
[0508] Example 1
[0509] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0510] While maintaining correct form is important in training, poor form due to self-taught movements increases the risk of injury and makes effective training difficult. Furthermore, without a trainer to check and correct one's movements in real time, incorrect form can easily become a habit over the long term. Given this background, there is a need for a system that can help users accurately check their movements and make appropriate corrections.
[0511] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0512] In this invention, the server includes imaging means for capturing movements during training, communication means for transmitting the captured movement data in real time, analysis means for analyzing the transmitted movement data and comparing it with correct movements learned in advance, generation means for generating a virtual character for demonstrating the correct movements, display means for displaying an image of the generated virtual character, and feedback means for providing real-time feedback on corrections to the user's movements. This allows the user to check their own movements in real time and learn the correct form based on that.
[0513] The "imaging means" is a device that captures the user's movements during training in real time.
[0514] A "communication means" is a device for transmitting captured motion data to a server in real time.
[0515] The "analysis means" is a system for analyzing the transmitted motion data and comparing it with correct motions that have been learned in advance.
[0516] The "generation means" is a function that generates a virtual character that behaves correctly based on the analysis results.
[0517] The "display means" is a device for visually presenting an image of the generated virtual character to the user.
[0518] The "feedback means" is a system for notifying the user in real time of the corrections that need to be made to their actions.
[0519] "Training equipment" is a general term for equipment and devices that a user uses during training.
[0520] "Real-time" refers to a time frame in which information is processed and provided nearly simultaneously.
[0521] "Correct movement" refers to a predefined, appropriate, safe, and effective training form.
[0522] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention is a system that allows users to learn and correct proper form during training in real time.
[0523] System Overview
[0524] The system includes an imaging means installed on the training equipment, a communication means for transmitting data to a server, a server for analyzing the data, a display means for displaying correct movements, and a feedback means for providing feedback to the user.
[0525] Imaging means
[0526] The imaging device captures all movements made by the user during training. Specifically, the camera records the movements of each part of the user's body. For example, when the user does a squat, the camera records the angle of the user's knees and the position of the user's back muscles.
[0527] communication means
[0528] The device transmits the captured video data to the server in real time, where it efficiently compresses the video data and uploads it to the server without delay. The H.265 compression format is often used as the communication technology.
[0529] Analysis means
[0530] The server analyzes the received video data. It processes each frame of the video to identify the user's joint positions and movement patterns. This process is performed using analysis software such as OpenPose. It then utilizes a generative AI model to compare the analysis results with pre-trained correct form data.
[0531] generation means
[0532] Based on the analysis, the server generates a virtual character that resembles the user's body shape. This virtual character is created using 3D generation software such as Blender and is used to reproduce the correct form.
[0533] Display means
[0534] The device projects the correct form of the virtual character image sent from the server onto a high-resolution monitor. The user can compare their own movements with the virtual character's movements and identify corrections.
[0535] Feedback Methods
[0536] The server uses the analysis data and video of the virtual character to identify errors in the user's movements and generate feedback. This feedback is provided to the user in the form of voice and text, and uses the Google Cloud Text-to-Speech API to provide real-time instructions. For example, it can provide specific advice such as, "You need to open your knees a little more outward."
[0537] Specific examples
[0538] A case where a user performs barbell squats will be described.
[0539] 1. The user begins a barbell squat. The camera captures the knee angle and back position from various angles.
[0540] 2. The device compresses the captured video data in H.265 format and sends it to the server.
[0541] 3. The server uses OpenPose to analyze the knee, hip, and shoulder positions and compares them with the correct form data.
[0542] 4. The server uses Blender to generate a virtual character based on the user's body type.
[0543] 5. The device displays the virtual character image on the monitor, and the user compares it with their own movements.
[0544] 6. The server uses the Google Cloud Text-to-Speech API to provide voice feedback such as "Please open your knees more outward."
[0545] 7. The user corrects the form based on the feedback and it continues to work correctly.
[0546] Prompt Sentence Examples
[0547] "Analyze the knee angle and spine position when a user performs a barbell squat."
[0548] "Generate real-time feedback to correct your form during barbell squats."
[0549] "Compare the user's behavior with the correct behavior and provide voice instructions on what to fix."
[0550] This system allows users to train while checking correct form in real time, which has the advantage of improving training effectiveness while reducing the risk of injury.
[0551] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0552] Step 1:
[0553] The user starts training. The user's movements are captured by an imaging device attached to the training device. The input is the user's real-time movements, and the output is the captured video data.
[0554] Step 2:
[0555] The device transmits the captured video data to the server in real time using a communication method. At this time, the data is compressed using the H.265 compression format. The input is the captured video data, and the output is the compressed video data.
[0556] Step 3:
[0557] The server analyzes the received video data. Specifically, the server uses the OpenPose library to extract the user's joint positions (knees, hips, shoulders, etc.) from each frame of the video. The input is compressed video data, and the output is the extracted joint position data.
[0558] Step 4:
[0559] The server compares the extracted joint position data with pre-trained correct form data. Analysis is performed using a generative AI model. The input is joint position data and correct form data, and the output is data showing the difference between the user's movement and the correct form.
[0560] Step 5:
[0561] The server generates a virtual character that resembles the user's body shape based on the analysis results. 3D generation software such as Blender is used. The input is the user's body shape data and data showing differences in movement, and the output is the generated virtual character.
[0562] Step 6:
[0563] The terminal projects the correct form of the virtual character image sent from the server onto a high-resolution monitor. The input is the virtual character image data, and the output is the image on the monitor. The user compares their own movements with those of the virtual character while watching this image.
[0564] Step 7:
[0565] The server uses the analyzed data to identify errors in the user's movements and generate feedback. The audio feedback is generated using the Google Cloud Text-to-Speech API. The input is data indicating the movement error, and the output is audio and text feedback. For example, the server might give instructions such as, "You need to open your knees a little more outward."
[0566] Step 8:
[0567] Users correct their form based on the feedback provided in real time. The input is voice and text feedback, and the output is corrected movements. This allows users to continue training with correct form.
[0568] (Application example 1)
[0569] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0570] Conventional training systems require users to receive direct instruction from a coach or instructor to master the correct form. However, because it is difficult to always receive appropriate instruction, users may continue training without realizing that their form is incorrect, which can lead to injury or reduced effectiveness. There is a need for a system that solves this problem and allows users to learn and correct the correct form in real time.
[0571] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0572] In this invention, the server includes a camera means for capturing movements during training, a transmission means for transmitting the captured movement data in real time, an analysis means for analyzing the transmitted movement data and comparing it with correct movements learned in advance, a generation means for generating an avatar to demonstrate the correct movements, a display means for displaying an image of the generated avatar, a feedback means for providing real-time feedback on corrections to the user's movements, an application means installed in the smart glasses, and a means for displaying the generated feedback on the display of the smart glasses. This allows the user to train with the correct form while receiving feedback in real time.
[0573] "Camera means" is a device for capturing the user's movements during training.
[0574] "Transmitting means" refers to a device or function that transmits captured motion data to a server in real time.
[0575] The "analysis means" is a device or function that analyzes the transmitted motion data and compares it with correct motion data that has been learned in advance.
[0576] The "generation means" is a device or function that generates an avatar that exhibits correct movements based on the analyzed movement data.
[0577] The "display means" is a device or function that displays the generated avatar image to the user.
[0578] The "feedback means" is a device or function that provides real-time feedback to the user on areas of the user's actions that need to be corrected, and notifies the user of this.
[0579] "Smart glasses" are glasses-type devices with display functions that are worn by a user.
[0580] "Application Means" is a program or software that is installed on the smart glasses and displays feedback to the user.
[0581] The "means for displaying on the display" is a function for displaying the generated feedback information on the display of the smart glasses in real time.
[0582] The present invention provides a system that allows users to learn and correct their correct form in real time during training. The system includes a camera means, a transmission means, an analysis means, a generation means, a display means, a feedback means, smart glasses, an application means, and a means for displaying on a display.
[0583] System Program
[0584] The program of this system captures the movements performed by the user during training using a camera means and transmits them to a server in real time using a transmission means. The server analyzes the transmitted movement data using an analysis means and compares it with correct movement data learned in advance. Based on the comparison results, a generation means generates an avatar that resembles the user's body shape, and a display means displays the generated avatar image on the smart glasses in real time. Furthermore, a feedback means provides real-time feedback on areas of the user's movements that need correction, and notifies the user via the display means of the smart glasses.
[0585] Hardware and Software
[0586] In this system, a standard webcam can be used as the camera means. A high-performance server is required for the transmission means, analysis means, and generation means. Machine learning and image processing libraries such as TensorFlow and OpenCV are used for the analysis means. Commercially available smart glasses with display functionality are used as the smart glasses. Dedicated application software installed on the user's smart glasses is used as the application means and display means.
[0587] Specific examples
[0588] A specific example will be given of a user performing squats. When the user starts squatting, the camera means captures the user's movements. The transmission means transmits this captured video data to the server in real time. The server analyzes the video data and measures the angle of the user's knees and the position of their back muscles. Based on the analyzed data, the server generates an avatar based on the user's body type and reproduces the ideal squat movement. The generated avatar image is projected onto the smart glasses display, and the user checks their form while viewing this image. The feedback means identifies areas in the user's movements that need correction in real time, and displays feedback such as "Open your knees more outward" on the smart glasses display.
[0589] Prompt Sentence Examples
[0590] An example prompt for a generative AI model is:
[0591] "Create a program that provides feedback when the user needs to open their knees outward more during the squat."
[0592] This allows users to train with the correct form while receiving real-time feedback.
[0593] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0594] Step 1:
[0595] User starts training
[0596] The user starts training. As the user performs exercises such as squats and barbell lifts, the camera captures their movements during training. The input is the user's training movements, and the video of these movements is output as captured data.
[0597] Step 2:
[0598] Sending captured data
[0599] The device transmits the captured motion data to the server in real time. The input is the motion data captured earlier, which is efficiently compressed and transmitted to the server. The output is the transmitted motion data.
[0600] Step 3:
[0601] Analysis of behavioral data
[0602] The server analyzes the transmitted motion data. The input is the transmitted motion data, and the server uses an analytical method (libraries such as TensorFlow or OpenCV) to identify the user's joint positions and motion patterns. The analyzed joint positions and motion patterns are output as a result of data processing.
[0603] Step 4:
[0604] Comparison with correct form
[0605] Based on the analyzed behavior data, the server compares it with the correct form data learned in advance. The input is the analyzed behavior data and the correct form data, and the output is the difference between the user's behavior and the correct form.
[0606] Step 5:
[0607] Avatar generation
[0608] The server generates an avatar based on the user's body shape based on the comparison results. The input is the comparison result data, and the generated avatar image is output.
[0609] Step 6:
[0610] Avatar video display
[0611] The terminal displays the generated avatar image on the display of the smart glasses. The input is the generated avatar image, and the output is the avatar image displayed on the display of the smart glasses.
[0612] Step 7:
[0613] Behavior correction feedback
[0614] The feedback means identifies errors in the user's actions based on the analyzed data and the avatar image and generates feedback. The input is the analyzed data and the avatar image, and the generated feedback (audio or text) is output.
[0615] Step 8:
[0616] Feedback Notification
[0617] The terminal displays the generated feedback on the display of the smart glasses in real time. The input is the generated feedback and the output is the feedback displayed on the display of the smart glasses.
[0618] In this way, each step works together, allowing the user to correct their training form in real time.
[0619] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[0620] ---
[0621] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention provides a system that allows a user to learn correct form during training in real time and provides feedback based on the user's emotions using an emotion engine.
[0622] 1. System Overview
[0623] The system includes a camera means installed on the training equipment, a transmission means for transmitting data to a server, a server for analyzing the data, a display means for displaying correct movements, a feedback means for providing feedback to the user, and an emotion engine.
[0624] Camera Means
[0625] The camera captures all movements the user makes during training. For example, when the user does a squat, the camera records the angle of the user's knees, the position of the user's back, etc.
[0626] Transmission method
[0627] The device transmits the captured video data to the server in real time, and the transmission means efficiently compresses the data and uploads it to the server without delay.
[0628] Analysis means
[0629] The server analyzes the received video data. It analyzes the frames of the movement to identify the user's joint positions and movement patterns. It then compares these with pre-trained data on correct form.
[0630] generation means
[0631] The server generates an avatar based on the analysis results, which resembles the user's body shape and is used to reproduce the movements with the correct form.
[0632] Display means
[0633] The device projects the image of the avatar with the correct form sent from the server onto the monitor. The user can compare their own movements with the avatar's movements and identify areas for correction.
[0634] Feedback Methods
[0635] The server uses the analyzed data and avatar video to identify errors in the user's movements and generate feedback. This feedback is provided to the user in the form of voice or text, instructing them in real time on what they need to correct. For example, a voice instruction might say, "You need to open your knees a little more outward."
[0636] Emotion Engine
[0637] The emotion engine recognizes the user's emotions from their facial expressions and voice. This allows it to determine in real time whether the user is feeling stressed, tired, or highly motivated. For example, if it determines that the user is tired, it adjusts the feedback to be gentler.
[0638] Specific examples
[0639] A specific example will be described in which the user performs barbell squats.
[0640] 1. The user begins a barbell squat. The camera captures the user's movements.
[0641] 2. The device sends the captured video data to the server.
[0642] 3. The server analyzes the video data and measures the angle of the user's knees and the position of their spine.
[0643] 4. The server compares this data with the correct squat form it has previously learned.
[0644] 5. The server generates an avatar based on the user's body type and reproduces the ideal squat movement.
[0645] 6. The device projects the generated avatar image onto the monitor, and the user checks the form while looking at this image.
[0646] 7. The server identifies differences in the user's movements and provides audio feedback such as "Please open your knees more outward."
[0647] 8. The emotion engine recognizes the user's emotions from their facial expressions and voice and adjusts the content and tone of the feedback. For example, if it determines that the user is tired, it will provide gentle feedback such as, "You're going at a good pace, but let's take a break."
[0648] 9. The user uses this feedback to modify the form and adjust it to perform the correct function.
[0649] In this way, this system allows users to train while checking their correct form in real time and receiving appropriate feedback based on their emotions, which improves training effectiveness, reduces the risk of injury, and maintains user motivation.
[0650] The processing flow will be explained below.
[0651] ---
[0652] Step 1:
[0653] The user begins training.
[0654] Specific Action: The user holds a training implement (e.g., a barbell) and prepares to perform a squat movement.
[0655] Step 2:
[0656] The device's camera automatically captures your training movements.
[0657] Specific actions: The camera records the user's actions in real time and generates video data.
[0658] Step 3:
[0659] The device transmits the captured video data to the server.
[0660] Specific operation: The device compresses the video data and uploads it to the server in real time.
[0661] Step 4:
[0662] The server analyzes the received video data.
[0663] Specific operation: The server divides the video into frames and recognizes the position of the user's joints and movement patterns.
[0664] Step 5:
[0665] The server compares the user's form with the correct form it has learned in advance.
[0666] Specific Actions: The server uses machine learning models to compare the user's action data with a dataset of correct forms and identify discrepancies.
[0667] Step 6:
[0668] The server generates an avatar based on the user's body type.
[0669] Specific movements: The server uses a 3D model generation tool to create an avatar that matches the user's body type and animates the movements with the correct form.
[0670] Step 7:
[0671] The server sends the generated avatar image to the terminal.
[0672] Specific operation: The server encodes the generated video and streams it to the device in real time.
[0673] Step 8:
[0674] The device projects an avatar image of the correct form onto the monitor.
[0675] Specific actions: A video of the avatar performing the correct action is played on the monitor.
[0676] Step 9:
[0677] The server provides real-time feedback for the form.
[0678] Specific actions: The server identifies which parts of the user's actions deviate from correct form and generates feedback in the form of voice or text.
[0679] Step 10:
[0680] The device notifies the user of the feedback.
[0681] Specific actions: Feedback (e.g., "You need to open your knees a little more outward") is displayed on the monitor and, in some cases, is given audibly through a speaker.
[0682] Step 11:
[0683] The emotion engine analyzes the user's facial expressions and voice.
[0684] Specific operation: The emotion engine analyzes video and audio data to determine the user's emotional state (e.g., fatigue, stress, motivation).
[0685] Step 12:
[0686] The server adjusts the feedback content based on the results of the emotion engine.
[0687] Specific behavior: If the emotion engine determines that the user is tired, the server will provide gentle feedback such as, "You're doing well, but let's take a break."
[0688] Step 13:
[0689] Users adjust the form based on feedback.
[0690] Specific actions: The user checks the displayed feedback and improves their form by correcting the position of their knees and the angle of their back.
[0691] Through this series of processing flows, the system allows users to learn correct form in real time while receiving emotionally sensitive feedback during training.
[0692] Example 2
[0693] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0694] Conventional training systems make it difficult for users to accurately check and correct their own form. Furthermore, feedback is provided without taking into account the user's emotional state, making it difficult to maintain motivation. The present invention aims to solve these problems.
[0695] The identification process by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes: an imaging means for capturing movements during training; a communication means for transmitting the captured movement data in real time; an analysis means for analyzing the transmitted movement data and comparing it with correct movements learned in advance; a generation means for generating an avatar to demonstrate the correct movements; a display means for displaying the generated avatar image; a feedback means for providing real-time feedback on corrections to the user's movements; and an emotion analysis means for recognizing the user's emotions in real time and adjusting the feedback content. This allows the user to accurately check and correct their form and receive feedback according to their emotional state, thereby maintaining motivation while training.
[0696] The "photography means" is a device for capturing the user's movements during training.
[0697] The "communication means" is an interface for transmitting captured motion data to a server in real time.
[0698] The "analysis means" is a function for analyzing the motion data transmitted via the communication means and comparing it with the correct motions that have been learned in advance.
[0699] The "generation means" is a mechanism for generating an avatar that demonstrates correct behavior based on the analyzed data.
[0700] The "display means" is a device for visually presenting the generated avatar image to the user.
[0701] A "feedback means" is a mechanism for notifying the user in real time of corrections to their actions.
[0702] The "emotion analysis means" is a system that recognizes the user's emotions in real time and adjusts the content of the feedback according to those emotions.
[0703] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention provides a system that allows a user to learn correct form during training in real time and provides feedback based on the user's emotions using an emotion engine.
[0704] This system is implemented using the following hardware and software.
[0705] 1. Camera Means
[0706] The camera is a device that captures all movements made by the user during training. For example, when a user performs squats, the camera used as the camera records the user's knee angle, back position, etc. This camera should preferably be high-resolution and have a performance of 30 frames per second or higher.
[0707] 2. Transmission Method
[0708] The device transmits the captured video data to the server in real time, and the transmission means efficiently compresses the video data and uploads it to the server without delay. For this purpose, an encoder and a network interface are generally used.
[0709] 3. Analysis method
[0710] The server analyzes the received video data. It analyzes frames of the movement to identify the user's joint positions and movement patterns. It then uses a deep learning model (such as TensorFlow or PyTorch) to compare these with pre-trained data of correct form. This makes it possible to quantitatively evaluate how well the user's movement matches the ideal form.
[0711] 4. Generation means
[0712] The server generates an avatar that resembles the user's body shape based on the analysis results. This avatar is used to reproduce movements with the correct form. Game engines such as Unity can be used to generate the 3D model.
[0713] 5. Display means
[0714] The device projects an avatar image of the correct form sent from the server onto the monitor. The user can compare their own movements with the avatar's movements and identify corrections. In addition to the display, an AR (Augmented Reality) device can also be used.
[0715] 6. Feedback channels
[0716] The server uses the analyzed data and avatar video to identify errors in the user's movements and generate feedback. This feedback is provided to the user in the form of voice or text, instructing them in real time on what they need to correct. For example, a text-to-speech engine is used to provide voice guidance such as, "You need to open your knees a little more outward."
[0717] 7. Emotion Engine
[0718] The emotion analysis method recognizes emotions from the user's facial expressions and voice. This uses computer vision and voice analysis algorithms, such as OpenCV and the Google Cloud Speech-to-Text API. It determines in real time whether the user is stressed, tired, or highly motivated. For example, if it determines that the user is tired, the feedback is adjusted to be gentler.
[0719] Specific examples
[0720] A specific example will be described in which the user performs barbell squats.
[0721] 1. The user starts a barbell squat. The camera captures the user's movements.
[0722] 2. The device sends the captured video data to the server.
[0723] 3. The server analyzes the video data and measures the angle of the user's knees and the position of their spine.
[0724] 4. The server compares this data with the correct squat form it has previously learned.
[0725] 5. The server generates an avatar based on the user's body type and reproduces the ideal squat movement.
[0726] 6. The terminal projects the generated avatar image onto a display device, and the user checks the form while looking at this image.
[0727] 7. The server identifies differences in the user's movements and provides audio feedback such as "Please open your knees more outward."
[0728] 8. The emotion analysis function recognizes the user's emotions from their facial expressions and voice and adjusts the content and tone of the feedback. For example, if the system determines that the user is tired, it will provide gentle feedback such as, "You're doing well, but let's take a break."
[0729] 9. The user uses this feedback to modify the form and adjust it to perform the correct function.
[0730] Prompt Sentence Examples
[0731] Below are some example prompts to input to a generative AI model:
[0732] A user is performing barbell squats. The camera captures the user's knee angle and spine position. Analysis reveals the following error in the user's form: knees are too inward. In response, provide feedback such as "Please open your knees more outward."
[0733] In this way, this system allows users to train while checking their correct form in real time and receiving appropriate feedback based on their emotions, which improves training effectiveness, reduces the risk of injury, and maintains user motivation.
[0734] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0735] Processing flow
[0736] Step 1:
[0737] A user starts a workout. For example, the user stands in a workout area and prepares to perform barbell squats. The inputs are the user's body position and the training equipment. The output is a signal that the user should start working out.
[0738] Step 2:
[0739] The camera captures the user's movements. As soon as the user starts a movement, the camera records the video at a specified frame rate, capturing the user's knee angle and spine position in real time. The input is a real-time video of the user's movements, and the output is a recording of this as digital data.
[0740] Step 3:
[0741] The device transmits the captured video data to the server in real time. The device uses an encoder to efficiently compress the video data and upload it to the server with minimal latency. The input is the captured video data, and the output is the compressed video data.
[0742] Step 4:
[0743] The server analyzes the received video data. It processes the video data with a deep learning model (e.g., TensorFlow or PyTorch) to identify the user's joint positions and movement patterns. Specifically, it analyzes video frames and calculates pixel-based joint coordinates. The input is compressed video data, and the output is the user's joint coordinates and movement patterns.
[0744] Step 5:
[0745] The server compares the analysis results with the training data. This comparison uses a deep learning model to match the user's movements with pre-trained correct form data and calculates the error. For example, it evaluates the difference between the ideal knee angle for a squat and the current knee angle. The input is the user's joint data and training data on correct form, and the output is form error information.
[0746] Step 6:
[0747] The server generates an avatar that resembles the user's body shape based on form error information. The generated avatar mimics the movements of a correct form and is rendered as an animation. Specifically, a 3D avatar is generated and moved using Unity or a similar game engine. The input is the user's body shape information and form error information, and the output is the generated avatar image.
[0748] Step 7:
[0749] The device displays the generated avatar image on a monitor. The user can compare their own movements with the avatar's movements and identify corrections while watching this avatar image. The input is the generated avatar image, and the output is the image displayed on the monitor.
[0750] Step 8:
[0751] The server identifies errors in the movement and generates feedback to the user. Specifically, based on errors such as knees being too inward, it gives voice or text feedback such as "Please open your knees more outward." This is done using a Text-to-Speech engine. The input is the error information in the form, and the output is the feedback message.
[0752] Step 9:
[0753] The emotion analysis method recognizes emotions from the user's facial expressions and voice. For example, it uses computer vision technology or the Google Cloud Speech-to-Text API to determine the user's emotions. If it determines that the user is tired, it adjusts the content and tone of the feedback and provides a gentle message such as, "You're doing well, but please take a short break." The input is the user's facial expressions and voice data, and the output is the adjusted feedback message.
[0754] Step 10:
[0755] The user can then continue training by correcting their form based on the feedback, for example by adjusting their knee position and straightening their back. The input is the feedback message, and the output is the corrected user movement.
[0756] The above is the specific processing flow of this system. The information from the input and output at each step is closely linked, allowing the user to train more effectively and safely.
[0757] (Application example 2)
[0758] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0759] Conventional training systems have difficulty accurately capturing users' movements and providing real-time feedback on correct form. Furthermore, they do not provide feedback that takes into account the user's emotional state, making it difficult to maintain user motivation and maximize training effectiveness. This increases the risk of injury due to incorrect form and fails to provide effective training plans.
[0760] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes a camera means, a transmission means, an analysis means, a generation means, a feedback means, and an emotion engine means. This makes it possible to accurately capture the user's training movements in real time, generate an avatar showing the correct form, and provide feedback according to the user's emotions.
[0761] The "imaging device means" is a device for capturing the user's actions in real time.
[0762] The "communication device means" is a device for transmitting captured motion data to an external server or cloud in real time.
[0763] The "analysis device means" is a device for analyzing the transmitted motion data and comparing it with correct motions that have been learned in advance.
[0764] A "display device" is a device for providing visual information to a user to indicate correct operation.
[0765] The "output device means" is a device that provides real-time feedback to the user on areas of their actions that need to be corrected, either by voice or text.
[0766] The "emotion recognition device means" is a device for recognizing the user's emotions and adjusting the content and tone of the feedback.
[0767] The present invention provides a system that allows a user to learn correct form during training in real time and provides feedback according to the user's emotions using an emotion engine.
[0768] System Overview
[0769] The system includes the following major hardware and software components:
[0770] Imaging device means: A device for capturing the user's training movements in real time. The camera of a smartphone is used.
[0771] Communication device means: a device for transmitting the captured motion data to a cloud server in real time.
[0772] Analysis device means: A device for analyzing the transmitted video data. It runs on a cloud server and uses machine learning models such as TensorFlow to analyze user behavior.
[0773] Display device: A device for providing the user with an avatar image showing the correct behavior. Uses the display of a smartphone or tablet.
[0774] Output device means: A device for providing real-time feedback to the user on where to correct their actions. Feedback can be provided in the form of voice and text.
[0775] Emotion recognition device means: A device that recognizes the user's emotions and adjusts the content and tone of the feedback. Uses Microsoft Azure Emotion API.
[0776] Process Overview
[0777] 1. The user starts a workout. For example, when the user performs a squat, the user captures the movement with the smartphone camera.
[0778] 2. The video data captured by the camera means is transmitted in real time to the cloud server via the communication device means.
[0779] 3. On the cloud server, the video data is analyzed using an analyzer to identify the user's joint positions and movement patterns. A TensorFlow model is used here.
[0780] 4. Based on the analysis results, the server generates an avatar that resembles the user's body shape (generation means) and reproduces movements in an ideal form. This avatar image is provided to the user through the display means.
[0781] 5. The feedback method uses the analysis results and avatar images to identify errors in the user's actions and provide real-time feedback via voice and text.
[0782] 6. The emotion recognition device means recognizes the user's emotions from their facial expressions and voice, and adjusts the content and tone of the feedback. For example, if the user is recognized as tired, the feedback will be adjusted to be gentler.
[0783] Specific examples
[0784] For example, consider a user doing barbell squats:
[0785] 1. The user places their smartphone in a corner of the room, sets the camera to capture their entire body, and begins squatting.
[0786] 2. The camera captures the squat movement and transmits the data to a cloud server in real time.
[0787] 3. A TensorFlow model on a cloud server analyzes the data and identifies the user's knee angle and spine position.
[0788] 4. Based on these analysis results, the cloud server generates an avatar that reproduces the correct form and displays it on the smartphone screen.
[0789] 5. While watching this avatar video, the user can check their own form and understand what needs to be corrected.
[0790] 6. At the same time, the server provides real-time feedback, such as voice instructions like, "You need to open your knees a little more outward."
[0791] 7. The emotion engine determines the user's fatigue from their facial expressions and provides gentle feedback such as "Please take a short break before the next set."
[0792] Prompt Sentence Examples
[0793] "The camera captures the user performing a squat and sends the data to a cloud server in real time. The server then analyzes the video, measuring the angle of the knees and the position of the spine, and compares this with the correct form learned in advance. Based on the results, the system provides voice feedback such as, 'You need to open your knees a little more outward.' It also recognizes emotions from the user's facial expressions, and if the user is tired, it adjusts the content and tone of the feedback, such as, 'It's important to take a break.' All training data is stored in Firebase."
[0794] As a result, users can learn the correct form in real time and receive appropriate feedback based on their emotions, enabling them to train effectively and safely.
[0795] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0796] Flow of the system program that realizes the application example
[0797] Step 1:
[0798] The user starts training using the smartphone, activates the imaging device means (the camera of the smartphone), and captures the training movements.
[0799] Input: User action
[0800] Output: Captured video data
[0801] Specific actions: The user activates the smartphone camera, places the smartphone in the training space, and records their own actions.
[0802] Step 2:
[0803] The terminal compresses the captured video data in real time and transmits it to a cloud server using a communication device means.
[0804] Input: Captured video data
[0805] Output: Compressed data sent to the cloud server
[0806] How it works: The device compresses video data and uploads it to a cloud server in real time using communication technologies such as Wi-Fi or 4G / 5G.
[0807] Step 3:
[0808] The server analyzes the transmitted video data using an analysis device, identifying the user's joint positions and movement patterns for each movement frame and comparing them with the correct form learned in advance.
[0809] Input: Compressed video data
[0810] Output: Analysis results (joint position data, movement patterns)
[0811] Specific operation: A TensorFlow model on a cloud server analyzes video frames, detects the position of each user's joints and movement patterns, and compares them with data on correct form.
[0812] Step 4:
[0813] The server generates an avatar that resembles the user's body shape based on the analysis results (generation means), and transmits the generated avatar image to the terminal using the display means.
[0814] Input: Analysis results (joint position data, movement pattern)
[0815] Output: Generated avatar video
[0816] Specific operation: Based on the analysis results, an avatar with the ideal form is generated and its video data is sent to the device. A visualization library (e.g., Three.js) is used to generate the avatar.
[0817] Step 5:
[0818] The device displays the generated avatar image on a display, and the user compares their own movements with those of the avatar.
[0819] Input: Generated avatar video
[0820] Output: Avatar image displayed on the display
[0821] Specific operation: An avatar image is displayed on the device display in real time, and the user can check their own movements while watching the image.
[0822] Step 6:
[0823] The server uses the feedback means to identify errors in the user's actions and provide real-time feedback via voice and text.
[0824] Input: Analysis results (joint position data, movement pattern)
[0825] Output: Feedback message (audio, text)
[0826] Specific operation: Based on the analysis of the movement, the cloud server generates a feedback message, such as "You need to open your knees a little more outward," and sends it to the device. A TTS (Text-to-Speech) engine is used for voice output.
[0827] Step 7:
[0828] The server uses an emotion recognition device means to recognize emotions from the user's facial expressions and voice, and adjusts the content and tone of the feedback.
[0829] Input: User's facial expression data, voice data
[0830] Output: Adjusted feedback message
[0831] How it works: The Microsoft Azure Emotion API on a cloud server analyzes the user's facial expressions and voice data to determine their level of fatigue and stress. Based on the results, it adjusts the content and tone of the feedback and generates encouraging messages with gentler words.
[0832] Specific examples
[0833] For example, if a user were to perform a barbell squat, the steps above would be processed in the following order:
[0834] 1. The user activates the smartphone camera and begins barbell squats.
[0835] 2. The device captures the squat movements in real time and sends the data to a cloud server.
[0836] 3. The server analyzes the data, determines the user's knee angle and spine position, and compares them with the correct form.
[0837] 4. The server generates an avatar with the correct form and sends the image to the device.
[0838] 5. The device displays the avatar image on the screen and the user confirms the form.
[0839] 6. Based on the analysis results, the server sends audio feedback such as, "You need to open your knees a little more outward."
[0840] 7. If the server recognizes the user's emotions and determines that they are tired, it sends gentle feedback such as, "It's important to take breaks."
[0841] Through the above process, the user can train while checking the correct form in real time and receiving appropriate feedback according to their emotions.
[0842] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0843] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0844] In the above embodiment, an example in which the specific processing is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the smart glasses 214.
[0845] [Third embodiment]
[0846] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0847] 5, the data processing system 310 includes the data processing device 12 and a headset type terminal 314. An example of the data processing device 12 is a server.
[0848] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0849] The headset type terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a display 343. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the display 343 are also connected to the bus 52.
[0850] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0851] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0852] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0853] Fig. 6 shows an example of the main functions of the data processing device 12 and the headset type terminal 314. As shown in Fig. 6, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0854] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0855] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0856] In the headset type terminal 314, a reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0857] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the headset type terminal 314 will be referred to as the "terminal."
[0858] ---
[0859] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention is a system that allows users to learn and correct proper form during training in real time.
[0860] 1. System Overview
[0861] The system includes a camera means installed on the training equipment, a transmission means for transmitting data to a server, a server for analyzing the data, a display means for displaying correct movements, and a feedback means for providing feedback to the user.
[0862] Camera Means
[0863] The camera captures all movements the user makes during training. For example, when the user does a squat, the camera records the angle of the user's knees, the position of the user's back, etc.
[0864] Transmission method
[0865] The device transmits the captured video data to the server in real time, and the transmission means efficiently compresses the data and uploads it to the server without delay.
[0866] Analysis means
[0867] The server analyzes the received video data. It analyzes the frames of the movement to identify the user's joint positions and movement patterns. It then compares these with pre-trained data on correct form.
[0868] generation means
[0869] The server generates an avatar based on the analysis results, which resembles the user's body shape and is used to reproduce the movements with the correct form.
[0870] Display means
[0871] The device projects the image of the avatar with the correct form sent from the server onto the monitor. The user can compare their own movements with the avatar's movements and identify areas for correction.
[0872] Feedback Methods
[0873] The server uses the analyzed data and avatar video to identify errors in the user's movements and generate feedback. This feedback is provided to the user in the form of voice or text, instructing them in real time on what they need to correct. For example, a voice instruction might say, "You need to open your knees a little more outward."
[0874] Specific examples
[0875] A specific example will be described in which the user performs barbell squats.
[0876] 1. The user begins a barbell squat. The camera captures the user's movements.
[0877] 2. The device sends the captured video data to the server.
[0878] 3. The server analyzes the video data and measures the angle of the user's knees and the position of their spine.
[0879] 4. The server compares this data with the correct squat form it has previously learned.
[0880] 5. The server generates an avatar based on the user's body type and reproduces the ideal squat movement.
[0881] 6. The device projects the generated avatar image onto the monitor, and the user checks the form while looking at this image.
[0882] 7. The server identifies differences in the user's movements and provides audio feedback such as "Please open your knees more outward."
[0883] 8. The user uses this feedback to modify the form and adjust it to perform the correct function.
[0884] In this way, this system allows users to train while checking the correct form in real time, improving training effectiveness and reducing the risk of injury.
[0885] The processing flow will be explained below.
[0886] ---
[0887] Step 1:
[0888] The user begins training.
[0889] Specific Action: The user holds a training implement (e.g., a barbell) and prepares to perform a squat movement.
[0890] Step 2:
[0891] The device's camera automatically captures your training movements.
[0892] Specific actions: The camera records the user's actions in real time and generates video data.
[0893] Step 3:
[0894] The device transmits the captured video data to the server.
[0895] Specific operation: The device compresses the video data and uploads it to the server in real time.
[0896] Step 4:
[0897] The server analyzes the received video data.
[0898] Specific operation: The server divides the video into frames and recognizes the position of the user's joints and movement patterns.
[0899] Step 5:
[0900] The server compares the user's form with the correct form it has learned in advance.
[0901] What happens: The server uses a machine learning model to compare the analysis results with a dataset of correct forms and identify discrepancies.
[0902] Step 6:
[0903] The server generates an avatar based on the user's body type and reproduces movements with the correct form.
[0904] Specific movements: The server uses 3D model generation tools to create an avatar that fits the user's body type and animates the movements with the correct form.
[0905] Step 7:
[0906] The server sends the generated avatar image to the terminal.
[0907] Specific operation: The server encodes the generated video and streams it to the device in real time.
[0908] Step 8:
[0909] The device projects an avatar image of the correct form onto the monitor.
[0910] Specific actions: A video of the avatar performing the correct action is played on the monitor.
[0911] Step 9:
[0912] The server provides real-time feedback for the form.
[0913] Specific actions: The server identifies which parts of the user's actions deviate from correct form and generates feedback in the form of voice or text.
[0914] Step 10:
[0915] The device notifies the user of the feedback.
[0916] Specific actions: Feedback (e.g., "You need to open your knees a little more outward") is displayed on the monitor and, in some cases, is given audibly through a speaker.
[0917] Step 11:
[0918] Users adjust the form based on feedback.
[0919] Specific actions: The user checks the displayed feedback and improves their form by correcting the position of their knees and the angle of their back.
[0920] Example 1
[0921] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[0922] While maintaining correct form is important in training, poor form due to self-taught movements increases the risk of injury and makes effective training difficult. Furthermore, without a trainer to check and correct one's movements in real time, incorrect form can easily become a habit over the long term. Given this background, there is a need for a system that can help users accurately check their movements and make appropriate corrections.
[0923] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0924] In this invention, the server includes imaging means for capturing movements during training, communication means for transmitting the captured movement data in real time, analysis means for analyzing the transmitted movement data and comparing it with correct movements learned in advance, generation means for generating a virtual character for demonstrating the correct movements, display means for displaying an image of the generated virtual character, and feedback means for providing real-time feedback on corrections to the user's movements. This allows the user to check their own movements in real time and learn the correct form based on that.
[0925] The "imaging means" is a device that captures the user's movements during training in real time.
[0926] A "communication means" is a device for transmitting captured motion data to a server in real time.
[0927] The "analysis means" is a system for analyzing the transmitted motion data and comparing it with correct motions that have been learned in advance.
[0928] The "generation means" is a function that generates a virtual character that behaves correctly based on the analysis results.
[0929] The "display means" is a device for visually presenting an image of the generated virtual character to the user.
[0930] The "feedback means" is a system for notifying the user in real time of the corrections that need to be made to their actions.
[0931] "Training equipment" is a general term for equipment and devices that a user uses during training.
[0932] "Real-time" refers to a time frame in which information is processed and provided nearly simultaneously.
[0933] "Correct movement" refers to a predefined, appropriate, safe, and effective training form.
[0934] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention is a system that allows users to learn and correct proper form during training in real time.
[0935] System Overview
[0936] The system includes an imaging means installed on the training equipment, a communication means for transmitting data to a server, a server for analyzing the data, a display means for displaying correct movements, and a feedback means for providing feedback to the user.
[0937] Imaging means
[0938] The imaging device captures all movements made by the user during training. Specifically, the camera records the movements of each part of the user's body. For example, when the user does a squat, the camera records the angle of the user's knees and the position of the user's back muscles.
[0939] communication means
[0940] The device transmits the captured video data to the server in real time, where it efficiently compresses the video data and uploads it to the server without delay. The H.265 compression format is often used as the communication technology.
[0941] Analysis means
[0942] The server analyzes the received video data. It processes each frame of the video to identify the user's joint positions and movement patterns. This process is performed using analysis software such as OpenPose. It then utilizes a generative AI model to compare the analysis results with pre-trained correct form data.
[0943] generation means
[0944] Based on the analysis, the server generates a virtual character that resembles the user's body shape. This virtual character is created using 3D generation software such as Blender and is used to reproduce the correct form.
[0945] Display means
[0946] The device projects the correct form of the virtual character image sent from the server onto a high-resolution monitor. The user can compare their own movements with the virtual character's movements and identify corrections.
[0947] Feedback Methods
[0948] The server uses the analysis data and video of the virtual character to identify errors in the user's movements and generate feedback. This feedback is provided to the user in the form of voice and text, and uses the Google Cloud Text-to-Speech API to provide real-time instructions. For example, it can provide specific advice such as, "You need to open your knees a little more outward."
[0949] Specific examples
[0950] A case where a user performs barbell squats will be described.
[0951] 1. The user begins a barbell squat. The camera captures the knee angle and back position from various angles.
[0952] 2. The device compresses the captured video data in H.265 format and sends it to the server.
[0953] 3. The server uses OpenPose to analyze the knee, hip, and shoulder positions and compares them with the correct form data.
[0954] 4. The server uses Blender to generate a virtual character based on the user's body type.
[0955] 5. The device displays the virtual character image on the monitor, and the user compares it with their own movements.
[0956] 6. The server uses the Google Cloud Text-to-Speech API to provide voice feedback such as "Please open your knees more outward."
[0957] 7. The user corrects the form based on the feedback and it continues to work correctly.
[0958] Prompt Sentence Examples
[0959] "Analyze the knee angle and spine position when a user performs a barbell squat."
[0960] "Generate real-time feedback to correct your form during barbell squats."
[0961] "Compare the user's behavior with the correct behavior and provide voice instructions on what to fix."
[0962] This system allows users to train while checking correct form in real time, which has the advantage of improving training effectiveness while reducing the risk of injury.
[0963] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0964] Step 1:
[0965] The user starts training. The user's movements are captured by an imaging device attached to the training device. The input is the user's real-time movements, and the output is the captured video data.
[0966] Step 2:
[0967] The device transmits the captured video data to the server in real time using a communication method. At this time, the data is compressed using the H.265 compression format. The input is the captured video data, and the output is the compressed video data.
[0968] Step 3:
[0969] The server analyzes the received video data. Specifically, the server uses the OpenPose library to extract the user's joint positions (knees, hips, shoulders, etc.) from each frame of the video. The input is compressed video data, and the output is the extracted joint position data.
[0970] Step 4:
[0971] The server compares the extracted joint position data with pre-trained correct form data. Analysis is performed using a generative AI model. The input is joint position data and correct form data, and the output is data showing the difference between the user's movement and the correct form.
[0972] Step 5:
[0973] The server generates a virtual character that resembles the user's body shape based on the analysis results. 3D generation software such as Blender is used. The input is the user's body shape data and data showing differences in movement, and the output is the generated virtual character.
[0974] Step 6:
[0975] The terminal projects the correct form of the virtual character image sent from the server onto a high-resolution monitor. The input is the virtual character image data, and the output is the image on the monitor. The user compares their own movements with those of the virtual character while watching this image.
[0976] Step 7:
[0977] The server uses the analyzed data to identify errors in the user's movements and generate feedback. The audio feedback is generated using the Google Cloud Text-to-Speech API. The input is data indicating the movement error, and the output is audio and text feedback. For example, the server might give instructions such as, "You need to open your knees a little more outward."
[0978] Step 8:
[0979] Users correct their form based on the feedback provided in real time. The input is voice and text feedback, and the output is corrected movements. This allows users to continue training with correct form.
[0980] (Application example 1)
[0981] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[0982] Conventional training systems require users to receive direct instruction from a coach or instructor to master the correct form. However, because it is difficult to always receive appropriate instruction, users may continue training without realizing that their form is incorrect, which can lead to injury or reduced effectiveness. There is a need for a system that solves this problem and allows users to learn and correct the correct form in real time.
[0983] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0984] In this invention, the server includes a camera means for capturing movements during training, a transmission means for transmitting the captured movement data in real time, an analysis means for analyzing the transmitted movement data and comparing it with correct movements learned in advance, a generation means for generating an avatar to demonstrate the correct movements, a display means for displaying an image of the generated avatar, a feedback means for providing real-time feedback on corrections to the user's movements, an application means installed in the smart glasses, and a means for displaying the generated feedback on the display of the smart glasses. This allows the user to train with the correct form while receiving feedback in real time.
[0985] "Camera means" is a device for capturing the user's movements during training.
[0986] "Transmitting means" refers to a device or function that transmits captured motion data to a server in real time.
[0987] The "analysis means" is a device or function that analyzes the transmitted motion data and compares it with correct motion data that has been learned in advance.
[0988] The "generation means" is a device or function that generates an avatar that exhibits correct movements based on the analyzed movement data.
[0989] The "display means" is a device or function that displays the generated avatar image to the user.
[0990] The "feedback means" is a device or function that provides real-time feedback to the user on areas of the user's actions that need to be corrected, and notifies the user of this.
[0991] "Smart glasses" are glasses-type devices with display functions that are worn by a user.
[0992] "Application Means" is a program or software that is installed on the smart glasses and displays feedback to the user.
[0993] The "means for displaying on the display" is a function for displaying the generated feedback information on the display of the smart glasses in real time.
[0994] The present invention provides a system that allows users to learn and correct their correct form in real time during training. The system includes a camera means, a transmission means, an analysis means, a generation means, a display means, a feedback means, smart glasses, an application means, and a means for displaying on a display.
[0995] System Program
[0996] The program of this system captures the movements performed by the user during training using a camera means and transmits them to a server in real time using a transmission means. The server analyzes the transmitted movement data using an analysis means and compares it with correct movement data learned in advance. Based on the comparison results, a generation means generates an avatar that resembles the user's body shape, and a display means displays the generated avatar image on the smart glasses in real time. Furthermore, a feedback means provides real-time feedback on areas of the user's movements that need correction, and notifies the user via the display means of the smart glasses.
[0997] Hardware and Software
[0998] In this system, a standard webcam can be used as the camera means. A high-performance server is required for the transmission means, analysis means, and generation means. Machine learning and image processing libraries such as TensorFlow and OpenCV are used for the analysis means. Commercially available smart glasses with display functionality are used as the smart glasses. Dedicated application software installed on the user's smart glasses is used as the application means and display means.
[0999] Specific examples
[1000] A specific example will be given of a user performing squats. When the user starts squatting, the camera means captures the user's movements. The transmission means transmits this captured video data to the server in real time. The server analyzes the video data and measures the angle of the user's knees and the position of their back muscles. Based on the analyzed data, the server generates an avatar based on the user's body type and reproduces the ideal squat movement. The generated avatar image is projected onto the smart glasses display, and the user checks their form while viewing this image. The feedback means identifies areas in the user's movements that need correction in real time, and displays feedback such as "Open your knees more outward" on the smart glasses display.
[1001] Prompt Sentence Examples
[1002] An example prompt for a generative AI model is:
[1003] "Create a program that provides feedback when the user needs to open their knees outward more during the squat."
[1004] This allows users to train with the correct form while receiving real-time feedback.
[1005] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1006] Step 1:
[1007] User starts training
[1008] The user starts training. As the user performs exercises such as squats and barbell lifts, the camera captures their movements during training. The input is the user's training movements, and the video of these movements is output as captured data.
[1009] Step 2:
[1010] Sending captured data
[1011] The device transmits the captured motion data to the server in real time. The input is the motion data captured earlier, which is efficiently compressed and transmitted to the server. The output is the transmitted motion data.
[1012] Step 3:
[1013] Analysis of behavioral data
[1014] The server analyzes the transmitted motion data. The input is the transmitted motion data, and the server uses an analytical method (libraries such as TensorFlow or OpenCV) to identify the user's joint positions and motion patterns. The analyzed joint positions and motion patterns are output as a result of data processing.
[1015] Step 4:
[1016] Comparison with correct form
[1017] Based on the analyzed behavior data, the server compares it with the correct form data learned in advance. The input is the analyzed behavior data and the correct form data, and the output is the difference between the user's behavior and the correct form.
[1018] Step 5:
[1019] Avatar generation
[1020] The server generates an avatar based on the user's body shape based on the comparison results. The input is the comparison result data, and the generated avatar image is output.
[1021] Step 6:
[1022] Avatar video display
[1023] The terminal displays the generated avatar image on the display of the smart glasses. The input is the generated avatar image, and the output is the avatar image displayed on the display of the smart glasses.
[1024] Step 7:
[1025] Behavior correction feedback
[1026] The feedback means identifies errors in the user's actions based on the analyzed data and the avatar image and generates feedback. The input is the analyzed data and the avatar image, and the generated feedback (audio or text) is output.
[1027] Step 8:
[1028] Feedback Notification
[1029] The terminal displays the generated feedback on the display of the smart glasses in real time. The input is the generated feedback and the output is the feedback displayed on the display of the smart glasses.
[1030] In this way, each step works together, allowing the user to correct their training form in real time.
[1031] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[1032] ---
[1033] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention provides a system that allows a user to learn correct form during training in real time and provides feedback based on the user's emotions using an emotion engine.
[1034] 1. System Overview
[1035] The system includes a camera means installed on the training equipment, a transmission means for transmitting data to a server, a server for analyzing the data, a display means for displaying correct movements, a feedback means for providing feedback to the user, and an emotion engine.
[1036] Camera Means
[1037] The camera captures all movements the user makes during training. For example, when the user does a squat, the camera records the angle of the user's knees, the position of the user's back, etc.
[1038] Transmission method
[1039] The device transmits the captured video data to the server in real time, and the transmission means efficiently compresses the data and uploads it to the server without delay.
[1040] Analysis means
[1041] The server analyzes the received video data. It analyzes the frames of the movement to identify the user's joint positions and movement patterns. It then compares these with pre-trained data on correct form.
[1042] generation means
[1043] The server generates an avatar based on the analysis results, which resembles the user's body shape and is used to reproduce the movements with the correct form.
[1044] Display means
[1045] The device projects the image of the avatar with the correct form sent from the server onto the monitor. The user can compare their own movements with the avatar's movements and identify areas for correction.
[1046] Feedback Methods
[1047] The server uses the analyzed data and avatar video to identify errors in the user's movements and generate feedback. This feedback is provided to the user in the form of voice or text, instructing them in real time on what they need to correct. For example, a voice instruction might say, "You need to open your knees a little more outward."
[1048] Emotion Engine
[1049] The emotion engine recognizes the user's emotions from their facial expressions and voice. This allows it to determine in real time whether the user is feeling stressed, tired, or highly motivated. For example, if it determines that the user is tired, it adjusts the feedback to be gentler.
[1050] Specific examples
[1051] A specific example will be described in which the user performs barbell squats.
[1052] 1. The user begins a barbell squat. The camera captures the user's movements.
[1053] 2. The device sends the captured video data to the server.
[1054] 3. The server analyzes the video data and measures the angle of the user's knees and the position of their spine.
[1055] 4. The server compares this data with the correct squat form it has previously learned.
[1056] 5. The server generates an avatar based on the user's body type and reproduces the ideal squat movement.
[1057] 6. The device projects the generated avatar image onto the monitor, and the user checks the form while looking at this image.
[1058] 7. The server identifies differences in the user's movements and provides audio feedback such as "Please open your knees more outward."
[1059] 8. The emotion engine recognizes the user's emotions from their facial expressions and voice and adjusts the content and tone of the feedback. For example, if it determines that the user is tired, it will provide gentle feedback such as, "You're going at a good pace, but let's take a break."
[1060] 9. The user uses this feedback to modify the form and adjust it to perform the correct function.
[1061] In this way, this system allows users to train while checking their correct form in real time and receiving appropriate feedback based on their emotions, which improves training effectiveness, reduces the risk of injury, and maintains user motivation.
[1062] The processing flow will be explained below.
[1063] ---
[1064] Step 1:
[1065] The user begins training.
[1066] Specific Action: The user holds a training implement (e.g., a barbell) and prepares to perform a squat movement.
[1067] Step 2:
[1068] The device's camera automatically captures your training movements.
[1069] Specific actions: The camera records the user's actions in real time and generates video data.
[1070] Step 3:
[1071] The device transmits the captured video data to the server.
[1072] Specific operation: The device compresses the video data and uploads it to the server in real time.
[1073] Step 4:
[1074] The server analyzes the received video data.
[1075] Specific operation: The server divides the video into frames and recognizes the position of the user's joints and movement patterns.
[1076] Step 5:
[1077] The server compares the user's form with the correct form it has learned in advance.
[1078] Specific Actions: The server uses machine learning models to compare the user's action data with a dataset of correct forms and identify discrepancies.
[1079] Step 6:
[1080] The server generates an avatar based on the user's body type.
[1081] Specific movements: The server uses a 3D model generation tool to create an avatar that matches the user's body type and animates the movements with the correct form.
[1082] Step 7:
[1083] The server sends the generated avatar image to the terminal.
[1084] Specific operation: The server encodes the generated video and streams it to the device in real time.
[1085] Step 8:
[1086] The device projects an avatar image of the correct form onto the monitor.
[1087] Specific actions: A video of the avatar performing the correct action is played on the monitor.
[1088] Step 9:
[1089] The server provides real-time feedback for the form.
[1090] Specific actions: The server identifies which parts of the user's actions deviate from correct form and generates feedback in the form of voice or text.
[1091] Step 10:
[1092] The device notifies the user of the feedback.
[1093] Specific actions: Feedback (e.g., "You need to open your knees a little more outward") is displayed on the monitor and, in some cases, is given audibly through a speaker.
[1094] Step 11:
[1095] The emotion engine analyzes the user's facial expressions and voice.
[1096] Specific operation: The emotion engine analyzes video and audio data to determine the user's emotional state (e.g., fatigue, stress, motivation).
[1097] Step 12:
[1098] The server adjusts the feedback content based on the results of the emotion engine.
[1099] Specific behavior: If the emotion engine determines that the user is tired, the server will provide gentle feedback such as, "You're doing well, but let's take a break."
[1100] Step 13:
[1101] Users adjust the form based on feedback.
[1102] Specific actions: The user checks the displayed feedback and improves their form by correcting the position of their knees and the angle of their back.
[1103] Through this series of processing flows, the system allows users to learn correct form in real time while receiving emotionally sensitive feedback during training.
[1104] Example 2
[1105] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1106] Conventional training systems make it difficult for users to accurately check and correct their own form. Furthermore, feedback is provided without taking into account the user's emotional state, making it difficult to maintain motivation. The present invention aims to solve these problems.
[1107] The identification process by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes: an imaging means for capturing movements during training; a communication means for transmitting the captured movement data in real time; an analysis means for analyzing the transmitted movement data and comparing it with correct movements learned in advance; a generation means for generating an avatar to demonstrate the correct movements; a display means for displaying the generated avatar image; a feedback means for providing real-time feedback on corrections to the user's movements; and an emotion analysis means for recognizing the user's emotions in real time and adjusting the feedback content. This allows the user to accurately check and correct their form and receive feedback according to their emotional state, thereby maintaining motivation while training.
[1108] The "photography means" is a device for capturing the user's movements during training.
[1109] The "communication means" is an interface for transmitting captured motion data to a server in real time.
[1110] The "analysis means" is a function for analyzing the motion data transmitted via the communication means and comparing it with the correct motions that have been learned in advance.
[1111] The "generation means" is a mechanism for generating an avatar that demonstrates correct behavior based on the analyzed data.
[1112] The "display means" is a device for visually presenting the generated avatar image to the user.
[1113] A "feedback means" is a mechanism for notifying the user in real time of corrections to their actions.
[1114] The "emotion analysis means" is a system that recognizes the user's emotions in real time and adjusts the content of the feedback according to those emotions.
[1115] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention provides a system that allows a user to learn correct form during training in real time and provides feedback based on the user's emotions using an emotion engine.
[1116] This system is implemented using the following hardware and software.
[1117] 1. Camera Means
[1118] The camera is a device that captures all movements made by the user during training. For example, when a user performs squats, the camera used as the camera records the user's knee angle, back position, etc. This camera should preferably be high-resolution and have a performance of 30 frames per second or higher.
[1119] 2. Transmission Method
[1120] The device transmits the captured video data to the server in real time, and the transmission means efficiently compresses the video data and uploads it to the server without delay. For this purpose, an encoder and a network interface are generally used.
[1121] 3. Analysis method
[1122] The server analyzes the received video data. It analyzes frames of the movement to identify the user's joint positions and movement patterns. It then uses a deep learning model (such as TensorFlow or PyTorch) to compare these with pre-trained data of correct form. This makes it possible to quantitatively evaluate how well the user's movement matches the ideal form.
[1123] 4. Generation means
[1124] The server generates an avatar that resembles the user's body shape based on the analysis results. This avatar is used to reproduce movements with the correct form. Game engines such as Unity can be used to generate the 3D model.
[1125] 5. Display means
[1126] The device projects an avatar image of the correct form sent from the server onto the monitor. The user can compare their own movements with the avatar's movements and identify corrections. In addition to the display, an AR (Augmented Reality) device can also be used.
[1127] 6. Feedback channels
[1128] The server uses the analyzed data and avatar video to identify errors in the user's movements and generate feedback. This feedback is provided to the user in the form of voice or text, instructing them in real time on what they need to correct. For example, a text-to-speech engine is used to provide voice guidance such as, "You need to open your knees a little more outward."
[1129] 7. Emotion Engine
[1130] The emotion analysis method recognizes emotions from the user's facial expressions and voice. This uses computer vision and voice analysis algorithms, such as OpenCV and the Google Cloud Speech-to-Text API. It determines in real time whether the user is stressed, tired, or highly motivated. For example, if it determines that the user is tired, the feedback is adjusted to be gentler.
[1131] Specific examples
[1132] A specific example will be described in which the user performs barbell squats.
[1133] 1. The user starts a barbell squat. The camera captures the user's movements.
[1134] 2. The device sends the captured video data to the server.
[1135] 3. The server analyzes the video data and measures the angle of the user's knees and the position of their spine.
[1136] 4. The server compares this data with the correct squat form it has previously learned.
[1137] 5. The server generates an avatar based on the user's body type and reproduces the ideal squat movement.
[1138] 6. The terminal projects the generated avatar image onto a display device, and the user checks the form while looking at this image.
[1139] 7. The server identifies differences in the user's movements and provides audio feedback such as "Please open your knees more outward."
[1140] 8. The emotion analysis function recognizes the user's emotions from their facial expressions and voice and adjusts the content and tone of the feedback. For example, if the system determines that the user is tired, it will provide gentle feedback such as, "You're doing well, but let's take a break."
[1141] 9. The user uses this feedback to modify the form and adjust it to perform the correct function.
[1142] Prompt Sentence Examples
[1143] Below are some example prompts to input to a generative AI model:
[1144] A user is performing barbell squats. The camera captures the user's knee angle and spine position. Analysis reveals the following error in the user's form: knees are too inward. In response, provide feedback such as "Please open your knees more outward."
[1145] In this way, this system allows users to train while checking their correct form in real time and receiving appropriate feedback based on their emotions, which improves training effectiveness, reduces the risk of injury, and maintains user motivation.
[1146] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1147] Processing flow
[1148] Step 1:
[1149] A user starts a workout. For example, the user stands in a workout area and prepares to perform barbell squats. The inputs are the user's body position and the training equipment. The output is a signal that the user should start working out.
[1150] Step 2:
[1151] The camera captures the user's movements. As soon as the user starts a movement, the camera records the video at a specified frame rate, capturing the user's knee angle and spine position in real time. The input is a real-time video of the user's movements, and the output is a recording of this as digital data.
[1152] Step 3:
[1153] The device transmits the captured video data to the server in real time. The device uses an encoder to efficiently compress the video data and upload it to the server with minimal latency. The input is the captured video data, and the output is the compressed video data.
[1154] Step 4:
[1155] The server analyzes the received video data. It processes the video data with a deep learning model (e.g., TensorFlow or PyTorch) to identify the user's joint positions and movement patterns. Specifically, it analyzes video frames and calculates pixel-based joint coordinates. The input is compressed video data, and the output is the user's joint coordinates and movement patterns.
[1156] Step 5:
[1157] The server compares the analysis results with the training data. This comparison uses a deep learning model to match the user's movements with pre-trained correct form data and calculates the error. For example, it evaluates the difference between the ideal knee angle for a squat and the current knee angle. The input is the user's joint data and training data on correct form, and the output is form error information.
[1158] Step 6:
[1159] The server generates an avatar that resembles the user's body shape based on form error information. The generated avatar mimics the movements of a correct form and is rendered as an animation. Specifically, a 3D avatar is generated and moved using Unity or a similar game engine. The input is the user's body shape information and form error information, and the output is the generated avatar image.
[1160] Step 7:
[1161] The device displays the generated avatar image on a monitor. The user can compare their own movements with the avatar's movements and identify corrections while watching this avatar image. The input is the generated avatar image, and the output is the image displayed on the monitor.
[1162] Step 8:
[1163] The server identifies errors in the movement and generates feedback to the user. Specifically, based on errors such as knees being too inward, it gives voice or text feedback such as "Please open your knees more outward." This is done using a Text-to-Speech engine. The input is the error information in the form, and the output is the feedback message.
[1164] Step 9:
[1165] The emotion analysis method recognizes emotions from the user's facial expressions and voice. For example, it uses computer vision technology or the Google Cloud Speech-to-Text API to determine the user's emotions. If it determines that the user is tired, it adjusts the content and tone of the feedback and provides a gentle message such as, "You're doing well, but please take a short break." The input is the user's facial expressions and voice data, and the output is the adjusted feedback message.
[1166] Step 10:
[1167] The user can then continue training by correcting their form based on the feedback, for example by adjusting their knee position and straightening their back. The input is the feedback message, and the output is the corrected user movement.
[1168] The above is the specific processing flow of this system. The information from the input and output at each step is closely linked, allowing the user to train more effectively and safely.
[1169] (Application example 2)
[1170] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1171] Conventional training systems have difficulty accurately capturing users' movements and providing real-time feedback on correct form. Furthermore, they do not provide feedback that takes into account the user's emotional state, making it difficult to maintain user motivation and maximize training effectiveness. This increases the risk of injury due to incorrect form and fails to provide effective training plans.
[1172] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes a camera means, a transmission means, an analysis means, a generation means, a feedback means, and an emotion engine means. This makes it possible to accurately capture the user's training movements in real time, generate an avatar showing the correct form, and provide feedback according to the user's emotions.
[1173] The "imaging device means" is a device for capturing the user's actions in real time.
[1174] The "communication device means" is a device for transmitting captured motion data to an external server or cloud in real time.
[1175] The "analysis device means" is a device for analyzing the transmitted motion data and comparing it with correct motions that have been learned in advance.
[1176] A "display device" is a device for providing visual information to a user to indicate correct operation.
[1177] The "output device means" is a device that provides real-time feedback to the user on areas of their actions that need to be corrected, either by voice or text.
[1178] The "emotion recognition device means" is a device for recognizing the user's emotions and adjusting the content and tone of the feedback.
[1179] The present invention provides a system that allows a user to learn correct form during training in real time and provides feedback according to the user's emotions using an emotion engine.
[1180] System Overview
[1181] The system includes the following major hardware and software components:
[1182] Imaging device means: A device for capturing the user's training movements in real time. The camera of a smartphone is used.
[1183] Communication device means: a device for transmitting the captured motion data to a cloud server in real time.
[1184] Analysis device means: A device for analyzing the transmitted video data. It runs on a cloud server and uses machine learning models such as TensorFlow to analyze user behavior.
[1185] Display device: A device for providing the user with an avatar image showing the correct behavior. Uses the display of a smartphone or tablet.
[1186] Output device means: A device for providing real-time feedback to the user on where to correct their actions. Feedback can be provided in the form of voice and text.
[1187] Emotion recognition device means: A device that recognizes the user's emotions and adjusts the content and tone of the feedback. Uses Microsoft Azure Emotion API.
[1188] Process Overview
[1189] 1. The user starts a workout. For example, when the user performs a squat, the user captures the movement with the smartphone camera.
[1190] 2. The video data captured by the camera means is transmitted in real time to the cloud server via the communication device means.
[1191] 3. On the cloud server, the video data is analyzed using an analyzer to identify the user's joint positions and movement patterns. A TensorFlow model is used here.
[1192] 4. Based on the analysis results, the server generates an avatar that resembles the user's body shape (generation means) and reproduces movements in an ideal form. This avatar image is provided to the user through the display means.
[1193] 5. The feedback method uses the analysis results and avatar images to identify errors in the user's actions and provide real-time feedback via voice and text.
[1194] 6. The emotion recognition device means recognizes the user's emotions from their facial expressions and voice, and adjusts the content and tone of the feedback. For example, if the user is recognized as tired, the feedback will be adjusted to be gentler.
[1195] Specific examples
[1196] For example, consider a user doing barbell squats:
[1197] 1. The user places their smartphone in a corner of the room, sets the camera to capture their entire body, and begins squatting.
[1198] 2. The camera captures the squat movement and transmits the data to a cloud server in real time.
[1199] 3. A TensorFlow model on a cloud server analyzes the data and identifies the user's knee angle and spine position.
[1200] 4. Based on these analysis results, the cloud server generates an avatar that reproduces the correct form and displays it on the smartphone screen.
[1201] 5. While watching this avatar video, the user can check their own form and understand what needs to be corrected.
[1202] 6. At the same time, the server provides real-time feedback, such as voice instructions like, "You need to open your knees a little more outward."
[1203] 7. The emotion engine determines the user's fatigue from their facial expressions and provides gentle feedback such as "Please take a short break before the next set."
[1204] Prompt Sentence Examples
[1205] "The camera captures the user performing a squat and sends the data to a cloud server in real time. The server then analyzes the video, measuring the angle of the knees and the position of the spine, and compares this with the correct form learned in advance. Based on the results, the system provides voice feedback such as, 'You need to open your knees a little more outward.' It also recognizes emotions from the user's facial expressions, and if the user is tired, it adjusts the content and tone of the feedback, such as, 'It's important to take a break.' All training data is stored in Firebase."
[1206] As a result, users can learn the correct form in real time and receive appropriate feedback based on their emotions, enabling them to train effectively and safely.
[1207] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1208] Flow of the system program that realizes the application example
[1209] Step 1:
[1210] The user starts training using the smartphone, activates the imaging device means (the camera of the smartphone), and captures the training movements.
[1211] Input: User action
[1212] Output: Captured video data
[1213] Specific actions: The user activates the smartphone camera, places the smartphone in the training space, and records their own actions.
[1214] Step 2:
[1215] The terminal compresses the captured video data in real time and transmits it to a cloud server using a communication device means.
[1216] Input: Captured video data
[1217] Output: Compressed data sent to the cloud server
[1218] How it works: The device compresses video data and uploads it to a cloud server in real time using communication technologies such as Wi-Fi or 4G / 5G.
[1219] Step 3:
[1220] The server analyzes the transmitted video data using an analysis device, identifying the user's joint positions and movement patterns for each movement frame and comparing them with the correct form learned in advance.
[1221] Input: Compressed video data
[1222] Output: Analysis results (joint position data, movement patterns)
[1223] Specific operation: A TensorFlow model on a cloud server analyzes video frames, detects the position of each user's joints and movement patterns, and compares them with data on correct form.
[1224] Step 4:
[1225] The server generates an avatar that resembles the user's body shape based on the analysis results (generation means), and transmits the generated avatar image to the terminal using the display means.
[1226] Input: Analysis results (joint position data, movement pattern)
[1227] Output: Generated avatar video
[1228] Specific operation: Based on the analysis results, an avatar with the ideal form is generated and its video data is sent to the device. A visualization library (e.g., Three.js) is used to generate the avatar.
[1229] Step 5:
[1230] The device displays the generated avatar image on a display, and the user compares their own movements with those of the avatar.
[1231] Input: Generated avatar video
[1232] Output: Avatar image displayed on the display
[1233] Specific operation: An avatar image is displayed on the device display in real time, and the user can check their own movements while watching the image.
[1234] Step 6:
[1235] The server uses the feedback means to identify errors in the user's actions and provide real-time feedback via voice and text.
[1236] Input: Analysis results (joint position data, movement pattern)
[1237] Output: Feedback message (audio, text)
[1238] Specific operation: Based on the analysis of the movement, the cloud server generates a feedback message, such as "You need to open your knees a little more outward," and sends it to the device. A TTS (Text-to-Speech) engine is used for voice output.
[1239] Step 7:
[1240] The server uses an emotion recognition device means to recognize emotions from the user's facial expressions and voice, and adjusts the content and tone of the feedback.
[1241] Input: User's facial expression data, voice data
[1242] Output: Adjusted feedback message
[1243] How it works: The Microsoft Azure Emotion API on a cloud server analyzes the user's facial expressions and voice data to determine their level of fatigue and stress. Based on the results, it adjusts the content and tone of the feedback and generates encouraging messages with gentler words.
[1244] Specific examples
[1245] For example, if a user were to perform a barbell squat, the steps above would be processed in the following order:
[1246] 1. The user activates the smartphone camera and begins barbell squats.
[1247] 2. The device captures the squat movements in real time and sends the data to a cloud server.
[1248] 3. The server analyzes the data, determines the user's knee angle and spine position, and compares them with the correct form.
[1249] 4. The server generates an avatar with the correct form and sends the image to the device.
[1250] 5. The device displays the avatar image on the screen and the user confirms the form.
[1251] 6. Based on the analysis results, the server sends audio feedback such as, "You need to open your knees a little more outward."
[1252] 7. If the server recognizes the user's emotions and determines that they are tired, it sends gentle feedback such as, "It's important to take breaks."
[1253] Through the above process, the user can train while checking the correct form in real time and receiving appropriate feedback according to their emotions.
[1254] The specific processing unit 290 transmits the result of the specific processing to the headset type terminal 314. In the headset type terminal 314, the control unit 46A causes the speaker 240 and the display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[1255] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1256] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the headset type terminal 314.
[1257] [Fourth embodiment]
[1258] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1259] 7, a data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.
[1260] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[1261] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a control target 443. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the control target 443 are also connected to the bus 52.
[1262] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[1263] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[1264] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[1265] The control object 443 includes a display device, LEDs in the eyes, and motors for driving the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the emotions of the robot 414 can be expressed by controlling these motors. In addition, the facial expressions of the robot 414 can also be expressed by controlling the light emission state of the LEDs in the eyes of the robot 414.
[1266] Fig. 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Fig. 8, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[1267] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[1268] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[1269] In the robot 414, the processor 46 performs the reception output process. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[1270] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1271] ---
[1272] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention is a system that allows users to learn and correct proper form during training in real time.
[1273] 1. System Overview
[1274] The system includes a camera means installed on the training equipment, a transmission means for transmitting data to a server, a server for analyzing the data, a display means for displaying correct movements, and a feedback means for providing feedback to the user.
[1275] Camera Means
[1276] The camera captures all movements the user makes during training. For example, when the user does a squat, the camera records the angle of the user's knees, the position of the user's back, etc.
[1277] Transmission method
[1278] The device transmits the captured video data to the server in real time, and the transmission means efficiently compresses the data and uploads it to the server without delay.
[1279] Analysis means
[1280] The server analyzes the received video data. It analyzes the frames of the movement to identify the user's joint positions and movement patterns. It then compares these with pre-trained data on correct form.
[1281] generation means
[1282] The server generates an avatar based on the analysis results, which resembles the user's body shape and is used to reproduce the movements with the correct form.
[1283] Display means
[1284] The device projects the image of the avatar with the correct form sent from the server onto the monitor. The user can compare their own movements with the avatar's movements and identify areas for correction.
[1285] Feedback Methods
[1286] The server uses the analyzed data and avatar video to identify errors in the user's movements and generate feedback. This feedback is provided to the user in the form of voice or text, instructing them in real time on what they need to correct. For example, a voice instruction might say, "You need to open your knees a little more outward."
[1287] Specific examples
[1288] A specific example will be described in which the user performs barbell squats.
[1289] 1. The user begins a barbell squat. The camera captures the user's movements.
[1290] 2. The device sends the captured video data to the server.
[1291] 3. The server analyzes the video data and measures the angle of the user's knees and the position of their spine.
[1292] 4. The server compares this data with the correct squat form it has previously learned.
[1293] 5. The server generates an avatar based on the user's body type and reproduces the ideal squat movement.
[1294] 6. The device projects the generated avatar image onto the monitor, and the user checks the form while looking at this image.
[1295] 7. The server identifies differences in the user's movements and provides audio feedback such as "Please open your knees more outward."
[1296] 8. The user uses this feedback to modify the form and adjust it to perform the correct function.
[1297] In this way, this system allows users to train while checking the correct form in real time, improving training effectiveness and reducing the risk of injury.
[1298] The processing flow will be explained below.
[1299] ---
[1300] Step 1:
[1301] The user begins training.
[1302] Specific Action: The user holds a training implement (e.g., a barbell) and prepares to perform a squat movement.
[1303] Step 2:
[1304] The device's camera automatically captures your training movements.
[1305] Specific actions: The camera records the user's actions in real time and generates video data.
[1306] Step 3:
[1307] The device transmits the captured video data to the server.
[1308] Specific operation: The device compresses the video data and uploads it to the server in real time.
[1309] Step 4:
[1310] The server analyzes the received video data.
[1311] Specific operation: The server divides the video into frames and recognizes the position of the user's joints and movement patterns.
[1312] Step 5:
[1313] The server compares the user's form with the correct form it has learned in advance.
[1314] What happens: The server uses a machine learning model to compare the analysis results with a dataset of correct forms and identify discrepancies.
[1315] Step 6:
[1316] The server generates an avatar based on the user's body type and reproduces movements with the correct form.
[1317] Specific movements: The server uses 3D model generation tools to create an avatar that fits the user's body type and animates the movements with the correct form.
[1318] Step 7:
[1319] The server sends the generated avatar image to the terminal.
[1320] Specific operation: The server encodes the generated video and streams it to the device in real time.
[1321] Step 8:
[1322] The device projects an avatar image of the correct form onto the monitor.
[1323] Specific actions: A video of the avatar performing the correct action is played on the monitor.
[1324] Step 9:
[1325] The server provides real-time feedback for the form.
[1326] Specific actions: The server identifies which parts of the user's actions deviate from correct form and generates feedback in the form of voice or text.
[1327] Step 10:
[1328] The device notifies the user of the feedback.
[1329] Specific actions: Feedback (e.g., "You need to open your knees a little more outward") is displayed on the monitor and, in some cases, is given audibly through a speaker.
[1330] Step 11:
[1331] Users adjust the form based on feedback.
[1332] Specific actions: The user checks the displayed feedback and improves their form by correcting the position of their knees and the angle of their back.
[1333] Example 1
[1334] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1335] While maintaining correct form is important in training, poor form due to self-taught movements increases the risk of injury and makes effective training difficult. Furthermore, without a trainer to check and correct one's movements in real time, incorrect form can easily become a habit over the long term. Given this background, there is a need for a system that can help users accurately check their movements and make appropriate corrections.
[1336] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[1337] In this invention, the server includes imaging means for capturing movements during training, communication means for transmitting the captured movement data in real time, analysis means for analyzing the transmitted movement data and comparing it with correct movements learned in advance, generation means for generating a virtual character for demonstrating the correct movements, display means for displaying an image of the generated virtual character, and feedback means for providing real-time feedback on corrections to the user's movements. This allows the user to check their own movements in real time and learn the correct form based on that.
[1338] The "imaging means" is a device that captures the user's movements during training in real time.
[1339] A "communication means" is a device for transmitting captured motion data to a server in real time.
[1340] The "analysis means" is a system for analyzing the transmitted motion data and comparing it with correct motions that have been learned in advance.
[1341] The "generation means" is a function that generates a virtual character that behaves correctly based on the analysis results.
[1342] The "display means" is a device for visually presenting an image of the generated virtual character to the user.
[1343] The "feedback means" is a system for notifying the user in real time of the corrections that need to be made to their actions.
[1344] "Training equipment" is a general term for equipment and devices that a user uses during training.
[1345] "Real-time" refers to a time frame in which information is processed and provided nearly simultaneously.
[1346] "Correct movement" refers to a predefined, appropriate, safe, and effective training form.
[1347] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention is a system that allows users to learn and correct proper form during training in real time.
[1348] System Overview
[1349] The system includes an imaging means installed on the training equipment, a communication means for transmitting data to a server, a server for analyzing the data, a display means for displaying correct movements, and a feedback means for providing feedback to the user.
[1350] Imaging means
[1351] The imaging device captures all movements made by the user during training. Specifically, the camera records the movements of each part of the user's body. For example, when the user does a squat, the camera records the angle of the user's knees and the position of the user's back muscles.
[1352] communication means
[1353] The device transmits the captured video data to the server in real time, where it efficiently compresses the video data and uploads it to the server without delay. The H.265 compression format is often used as the communication technology.
[1354] Analysis means
[1355] The server analyzes the received video data. It processes each frame of the video to identify the user's joint positions and movement patterns. This process is performed using analysis software such as OpenPose. It then utilizes a generative AI model to compare the analysis results with pre-trained correct form data.
[1356] generation means
[1357] Based on the analysis, the server generates a virtual character that resembles the user's body shape. This virtual character is created using 3D generation software such as Blender and is used to reproduce the correct form.
[1358] Display means
[1359] The device projects the correct form of the virtual character image sent from the server onto a high-resolution monitor. The user can compare their own movements with the virtual character's movements and identify corrections.
[1360] Feedback Methods
[1361] The server uses the analysis data and video of the virtual character to identify errors in the user's movements and generate feedback. This feedback is provided to the user in the form of voice and text, and uses the Google Cloud Text-to-Speech API to provide real-time instructions. For example, it can provide specific advice such as, "You need to open your knees a little more outward."
[1362] Specific examples
[1363] A case where a user performs barbell squats will be described.
[1364] 1. The user begins a barbell squat. The camera captures the knee angle and back position from various angles.
[1365] 2. The device compresses the captured video data in H.265 format and sends it to the server.
[1366] 3. The server uses OpenPose to analyze the knee, hip, and shoulder positions and compares them with the correct form data.
[1367] 4. The server uses Blender to generate a virtual character based on the user's body type.
[1368] 5. The device displays the virtual character image on the monitor, and the user compares it with their own movements.
[1369] 6. The server uses the Google Cloud Text-to-Speech API to provide voice feedback such as "Please open your knees more outward."
[1370] 7. The user corrects the form based on the feedback and it continues to work correctly.
[1371] Prompt Sentence Examples
[1372] "Analyze the knee angle and spine position when a user performs a barbell squat."
[1373] "Generate real-time feedback to correct your form during barbell squats."
[1374] "Compare the user's behavior with the correct behavior and provide voice instructions on what to fix."
[1375] This system allows users to train while checking correct form in real time, which has the advantage of improving training effectiveness while reducing the risk of injury.
[1376] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1377] Step 1:
[1378] The user starts training. The user's movements are captured by an imaging device attached to the training device. The input is the user's real-time movements, and the output is the captured video data.
[1379] Step 2:
[1380] The device transmits the captured video data to the server in real time using a communication method. At this time, the data is compressed using the H.265 compression format. The input is the captured video data, and the output is the compressed video data.
[1381] Step 3:
[1382] The server analyzes the received video data. Specifically, the server uses the OpenPose library to extract the user's joint positions (knees, hips, shoulders, etc.) from each frame of the video. The input is compressed video data, and the output is the extracted joint position data.
[1383] Step 4:
[1384] The server compares the extracted joint position data with pre-trained correct form data. Analysis is performed using a generative AI model. The input is joint position data and correct form data, and the output is data showing the difference between the user's movement and the correct form.
[1385] Step 5:
[1386] The server generates a virtual character that resembles the user's body shape based on the analysis results. 3D generation software such as Blender is used. The input is the user's body shape data and data showing differences in movement, and the output is the generated virtual character.
[1387] Step 6:
[1388] The terminal projects the correct form of the virtual character image sent from the server onto a high-resolution monitor. The input is the virtual character image data, and the output is the image on the monitor. The user compares their own movements with those of the virtual character while watching this image.
[1389] Step 7:
[1390] The server uses the analyzed data to identify errors in the user's movements and generate feedback. The audio feedback is generated using the Google Cloud Text-to-Speech API. The input is data indicating the movement error, and the output is audio and text feedback. For example, the server might give instructions such as, "You need to open your knees a little more outward."
[1391] Step 8:
[1392] Users correct their form based on the feedback provided in real time. The input is voice and text feedback, and the output is corrected movements. This allows users to continue training with correct form.
[1393] (Application example 1)
[1394] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1395] Conventional training systems require users to receive direct instruction from a coach or instructor to master the correct form. However, because it is difficult to always receive appropriate instruction, users may continue training without realizing that their form is incorrect, which can lead to injury or reduced effectiveness. There is a need for a system that solves this problem and allows users to learn and correct the correct form in real time.
[1396] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[1397] In this invention, the server includes a camera means for capturing movements during training, a transmission means for transmitting the captured movement data in real time, an analysis means for analyzing the transmitted movement data and comparing it with correct movements learned in advance, a generation means for generating an avatar to demonstrate the correct movements, a display means for displaying an image of the generated avatar, a feedback means for providing real-time feedback on corrections to the user's movements, an application means installed in the smart glasses, and a means for displaying the generated feedback on the display of the smart glasses. This allows the user to train with the correct form while receiving feedback in real time.
[1398] "Camera means" is a device for capturing the user's movements during training.
[1399] "Transmitting means" refers to a device or function that transmits captured motion data to a server in real time.
[1400] The "analysis means" is a device or function that analyzes the transmitted motion data and compares it with correct motion data that has been learned in advance.
[1401] The "generation means" is a device or function that generates an avatar that exhibits correct movements based on the analyzed movement data.
[1402] The "display means" is a device or function that displays the generated avatar image to the user.
[1403] The "feedback means" is a device or function that provides real-time feedback to the user on areas of the user's actions that need to be corrected, and notifies the user of this.
[1404] "Smart glasses" are glasses-type devices with display functions that are worn by a user.
[1405] "Application Means" is a program or software that is installed on the smart glasses and displays feedback to the user.
[1406] The "means for displaying on the display" is a function for displaying the generated feedback information on the display of the smart glasses in real time.
[1407] The present invention provides a system that allows users to learn and correct their correct form in real time during training. The system includes a camera means, a transmission means, an analysis means, a generation means, a display means, a feedback means, smart glasses, an application means, and a means for displaying on a display.
[1408] System Program
[1409] The program of this system captures the movements performed by the user during training using a camera means and transmits them to a server in real time using a transmission means. The server analyzes the transmitted movement data using an analysis means and compares it with correct movement data learned in advance. Based on the comparison results, a generation means generates an avatar that resembles the user's body shape, and a display means displays the generated avatar image on the smart glasses in real time. Furthermore, a feedback means provides real-time feedback on areas of the user's movements that need correction, and notifies the user via the display means of the smart glasses.
[1410] Hardware and Software
[1411] In this system, a standard webcam can be used as the camera means. A high-performance server is required for the transmission means, analysis means, and generation means. Machine learning and image processing libraries such as TensorFlow and OpenCV are used for the analysis means. Commercially available smart glasses with display functionality are used as the smart glasses. Dedicated application software installed on the user's smart glasses is used as the application means and display means.
[1412] Specific examples
[1413] A specific example will be given of a user performing squats. When the user starts squatting, the camera means captures the user's movements. The transmission means transmits this captured video data to the server in real time. The server analyzes the video data and measures the angle of the user's knees and the position of their back muscles. Based on the analyzed data, the server generates an avatar based on the user's body type and reproduces the ideal squat movement. The generated avatar image is projected onto the smart glasses display, and the user checks their form while viewing this image. The feedback means identifies areas in the user's movements that need correction in real time, and displays feedback such as "Open your knees more outward" on the smart glasses display.
[1414] Prompt Sentence Examples
[1415] An example prompt for a generative AI model is:
[1416] "Create a program that provides feedback when the user needs to open their knees outward more during the squat."
[1417] This allows users to train with the correct form while receiving real-time feedback.
[1418] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1419] Step 1:
[1420] User starts training
[1421] The user starts training. As the user performs exercises such as squats and barbell lifts, the camera captures their movements during training. The input is the user's training movements, and the video of these movements is output as captured data.
[1422] Step 2:
[1423] Sending captured data
[1424] The device transmits the captured motion data to the server in real time. The input is the motion data captured earlier, which is efficiently compressed and transmitted to the server. The output is the transmitted motion data.
[1425] Step 3:
[1426] Analysis of behavioral data
[1427] The server analyzes the transmitted motion data. The input is the transmitted motion data, and the server uses an analytical method (libraries such as TensorFlow or OpenCV) to identify the user's joint positions and motion patterns. The analyzed joint positions and motion patterns are output as a result of data processing.
[1428] Step 4:
[1429] Comparison with correct form
[1430] Based on the analyzed behavior data, the server compares it with the correct form data learned in advance. The input is the analyzed behavior data and the correct form data, and the output is the difference between the user's behavior and the correct form.
[1431] Step 5:
[1432] Avatar generation
[1433] The server generates an avatar based on the user's body shape based on the comparison results. The input is the comparison result data, and the generated avatar image is output.
[1434] Step 6:
[1435] Avatar video display
[1436] The terminal displays the generated avatar image on the display of the smart glasses. The input is the generated avatar image, and the output is the avatar image displayed on the display of the smart glasses.
[1437] Step 7:
[1438] Behavior correction feedback
[1439] The feedback means identifies errors in the user's actions based on the analyzed data and the avatar image and generates feedback. The input is the analyzed data and the avatar image, and the generated feedback (audio or text) is output.
[1440] Step 8:
[1441] Feedback Notification
[1442] The terminal displays the generated feedback on the display of the smart glasses in real time. The input is the generated feedback and the output is the feedback displayed on the display of the smart glasses.
[1443] In this way, each step works together, allowing the user to correct their training form in real time.
[1444] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[1445] ---
[1446] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention provides a system that allows a user to learn correct form during training in real time and provides feedback based on the user's emotions using an emotion engine.
[1447] 1. System Overview
[1448] The system includes a camera means installed on the training equipment, a transmission means for transmitting data to a server, a server for analyzing the data, a display means for displaying correct movements, a feedback means for providing feedback to the user, and an emotion engine.
[1449] Camera Means
[1450] The camera captures all movements the user makes during training. For example, when the user does a squat, the camera records the angle of the user's knees, the position of the user's back, etc.
[1451] Transmission method
[1452] The device transmits the captured video data to the server in real time, and the transmission means efficiently compresses the data and uploads it to the server without delay.
[1453] Analysis means
[1454] The server analyzes the received video data. It analyzes the frames of the movement to identify the user's joint positions and movement patterns. It then compares these with pre-trained data on correct form.
[1455] generation means
[1456] The server generates an avatar based on the analysis results, which resembles the user's body shape and is used to reproduce the movements with the correct form.
[1457] Display means
[1458] The device projects the image of the avatar with the correct form sent from the server onto the monitor. The user can compare their own movements with the avatar's movements and identify areas for correction.
[1459] Feedback Methods
[1460] The server uses the analyzed data and avatar video to identify errors in the user's movements and generate feedback. This feedback is provided to the user in the form of voice or text, instructing them in real time on what they need to correct. For example, a voice instruction might say, "You need to open your knees a little more outward."
[1461] Emotion Engine
[1462] The emotion engine recognizes the user's emotions from their facial expressions and voice. This allows it to determine in real time whether the user is feeling stressed, tired, or highly motivated. For example, if it determines that the user is tired, it adjusts the feedback to be gentler.
[1463] Specific examples
[1464] A specific example will be described in which the user performs barbell squats.
[1465] 1. The user begins a barbell squat. The camera captures the user's movements.
[1466] 2. The device sends the captured video data to the server.
[1467] 3. The server analyzes the video data and measures the angle of the user's knees and the position of their spine.
[1468] 4. The server compares this data with the correct squat form it has previously learned.
[1469] 5. The server generates an avatar based on the user's body type and reproduces the ideal squat movement.
[1470] 6. The device projects the generated avatar image onto the monitor, and the user checks the form while looking at this image.
[1471] 7. The server identifies differences in the user's movements and provides audio feedback such as "Please open your knees more outward."
[1472] 8. The emotion engine recognizes the user's emotions from their facial expressions and voice and adjusts the content and tone of the feedback. For example, if it determines that the user is tired, it will provide gentle feedback such as, "You're going at a good pace, but let's take a break."
[1473] 9. The user uses this feedback to modify the form and adjust it to perform the correct function.
[1474] In this way, this system allows users to train while checking their correct form in real time and receiving appropriate feedback based on their emotions, which improves training effectiveness, reduces the risk of injury, and maintains user motivation.
[1475] The processing flow will be explained below.
[1476] ---
[1477] Step 1:
[1478] The user begins training.
[1479] Specific Action: The user holds a training implement (e.g., a barbell) and prepares to perform a squat movement.
[1480] Step 2:
[1481] The device's camera automatically captures your training movements.
[1482] Specific actions: The camera records the user's actions in real time and generates video data.
[1483] Step 3:
[1484] The device transmits the captured video data to the server.
[1485] Specific operation: The device compresses the video data and uploads it to the server in real time.
[1486] Step 4:
[1487] The server analyzes the received video data.
[1488] Specific operation: The server divides the video into frames and recognizes the position of the user's joints and movement patterns.
[1489] Step 5:
[1490] The server compares the user's form with the correct form it has learned in advance.
[1491] Specific Actions: The server uses machine learning models to compare the user's action data with a dataset of correct forms and identify discrepancies.
[1492] Step 6:
[1493] The server generates an avatar based on the user's body type.
[1494] Specific movements: The server uses a 3D model generation tool to create an avatar that matches the user's body type and animates the movements with the correct form.
[1495] Step 7:
[1496] The server sends the generated avatar image to the terminal.
[1497] Specific operation: The server encodes the generated video and streams it to the device in real time.
[1498] Step 8:
[1499] The device projects an avatar image of the correct form onto the monitor.
[1500] Specific actions: A video of the avatar performing the correct action is played on the monitor.
[1501] Step 9:
[1502] The server provides real-time feedback for the form.
[1503] Specific actions: The server identifies which parts of the user's actions deviate from correct form and generates feedback in the form of voice or text.
[1504] Step 10:
[1505] The device notifies the user of the feedback.
[1506] Specific actions: Feedback (e.g., "You need to open your knees a little more outward") is displayed on the monitor and, in some cases, is given audibly through a speaker.
[1507] Step 11:
[1508] The emotion engine analyzes the user's facial expressions and voice.
[1509] Specific operation: The emotion engine analyzes video and audio data to determine the user's emotional state (e.g., fatigue, stress, motivation).
[1510] Step 12:
[1511] The server adjusts the feedback content based on the results of the emotion engine.
[1512] Specific behavior: If the emotion engine determines that the user is tired, the server will provide gentle feedback such as, "You're doing well, but let's take a break."
[1513] Step 13:
[1514] Users adjust the form based on feedback.
[1515] Specific actions: The user checks the displayed feedback and improves their form by correcting the position of their knees and the angle of their back.
[1516] Through this series of processing flows, the system allows users to learn correct form in real time while receiving emotionally sensitive feedback during training.
[1517] Example 2
[1518] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1519] Conventional training systems make it difficult for users to accurately check and correct their own form. Furthermore, feedback is provided without taking into account the user's emotional state, making it difficult to maintain motivation. The present invention aims to solve these problems.
[1520] The identification process by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes: an imaging means for capturing movements during training; a communication means for transmitting the captured movement data in real time; an analysis means for analyzing the transmitted movement data and comparing it with correct movements learned in advance; a generation means for generating an avatar to demonstrate the correct movements; a display means for displaying the generated avatar image; a feedback means for providing real-time feedback on corrections to the user's movements; and an emotion analysis means for recognizing the user's emotions in real time and adjusting the feedback content. This allows the user to accurately check and correct their form and receive feedback according to their emotional state, thereby maintaining motivation while training.
[1521] The "photography means" is a device for capturing the user's movements during training.
[1522] The "communication means" is an interface for transmitting captured motion data to a server in real time.
[1523] The "analysis means" is a function for analyzing the motion data transmitted via the communication means and comparing it with the correct motions that have been learned in advance.
[1524] The "generation means" is a mechanism for generating an avatar that demonstrates correct behavior based on the analyzed data.
[1525] The "display means" is a device for visually presenting the generated avatar image to the user.
[1526] A "feedback means" is a mechanism for notifying the user in real time of corrections to their actions.
[1527] The "emotion analysis means" is a system that recognizes the user's emotions in real time and adjusts the content of the feedback according to those emotions.
[1528] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention provides a system that allows a user to learn correct form during training in real time and provides feedback based on the user's emotions using an emotion engine.
[1529] This system is implemented using the following hardware and software.
[1530] 1. Camera Means
[1531] The camera is a device that captures all movements made by the user during training. For example, when a user performs squats, the camera used as the camera records the user's knee angle, back position, etc. This camera should preferably be high-resolution and have a performance of 30 frames per second or higher.
[1532] 2. Transmission Method
[1533] The device transmits the captured video data to the server in real time, and the transmission means efficiently compresses the video data and uploads it to the server without delay. For this purpose, an encoder and a network interface are generally used.
[1534] 3. Analysis method
[1535] The server analyzes the received video data. It analyzes frames of the movement to identify the user's joint positions and movement patterns. It then uses a deep learning model (such as TensorFlow or PyTorch) to compare these with pre-trained data of correct form. This makes it possible to quantitatively evaluate how well the user's movement matches the ideal form.
[1536] 4. Generation means
[1537] The server generates an avatar that resembles the user's body shape based on the analysis results. This avatar is used to reproduce movements with the correct form. Game engines such as Unity can be used to generate the 3D model.
[1538] 5. Display means
[1539] The device projects an avatar image of the correct form sent from the server onto the monitor. The user can compare their own movements with the avatar's movements and identify corrections. In addition to the display, an AR (Augmented Reality) device can also be used.
[1540] 6. Feedback channels
[1541] The server uses the analyzed data and avatar video to identify errors in the user's movements and generate feedback. This feedback is provided to the user in the form of voice or text, instructing them in real time on what they need to correct. For example, a text-to-speech engine is used to provide voice guidance such as, "You need to open your knees a little more outward."
[1542] 7. Emotion Engine
[1543] The emotion analysis method recognizes emotions from the user's facial expressions and voice. This uses computer vision and voice analysis algorithms, such as OpenCV and the Google Cloud Speech-to-Text API. It determines in real time whether the user is stressed, tired, or highly motivated. For example, if it determines that the user is tired, the feedback is adjusted to be gentler.
[1544] Specific examples
[1545] A specific example will be described in which the user performs barbell squats.
[1546] 1. The user starts a barbell squat. The camera captures the user's movements.
[1547] 2. The device sends the captured video data to the server.
[1548] 3. The server analyzes the video data and measures the angle of the user's knees and the position of their spine.
[1549] 4. The server compares this data with the correct squat form it has previously learned.
[1550] 5. The server generates an avatar based on the user's body type and reproduces the ideal squat movement.
[1551] 6. The terminal projects the generated avatar image onto a display device, and the user checks the form while looking at this image.
[1552] 7. The server identifies differences in the user's movements and provides audio feedback such as "Please open your knees more outward."
[1553] 8. The emotion analysis function recognizes the user's emotions from their facial expressions and voice and adjusts the content and tone of the feedback. For example, if the system determines that the user is tired, it will provide gentle feedback such as, "You're doing well, but let's take a break."
[1554] 9. The user uses this feedback to modify the form and adjust it to perform the correct function.
[1555] Prompt Sentence Examples
[1556] Below are some example prompts to input to a generative AI model:
[1557] A user is performing barbell squats. The camera captures the user's knee angle and spine position. Analysis reveals the following error in the user's form: knees are too inward. In response, provide feedback such as "Please open your knees more outward."
[1558] In this way, this system allows users to train while checking their correct form in real time and receiving appropriate feedback based on their emotions, which improves training effectiveness, reduces the risk of injury, and maintains user motivation.
[1559] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1560] Processing flow
[1561] Step 1:
[1562] A user starts a workout. For example, the user stands in a workout area and prepares to perform barbell squats. The inputs are the user's body position and the training equipment. The output is a signal that the user should start working out.
[1563] Step 2:
[1564] The camera captures the user's movements. As soon as the user starts a movement, the camera records the video at a specified frame rate, capturing the user's knee angle and spine position in real time. The input is a real-time video of the user's movements, and the output is a recording of this as digital data.
[1565] Step 3:
[1566] The device transmits the captured video data to the server in real time. The device uses an encoder to efficiently compress the video data and upload it to the server with minimal latency. The input is the captured video data, and the output is the compressed video data.
[1567] Step 4:
[1568] The server analyzes the received video data. It processes the video data with a deep learning model (e.g., TensorFlow or PyTorch) to identify the user's joint positions and movement patterns. Specifically, it analyzes video frames and calculates pixel-based joint coordinates. The input is compressed video data, and the output is the user's joint coordinates and movement patterns.
[1569] Step 5:
[1570] The server compares the analysis results with the training data. This comparison uses a deep learning model to match the user's movements with pre-trained correct form data and calculates the error. For example, it evaluates the difference between the ideal knee angle for a squat and the current knee angle. The input is the user's joint data and training data on correct form, and the output is form error information.
[1571] Step 6:
[1572] The server generates an avatar that resembles the user's body shape based on form error information. The generated avatar mimics the movements of a correct form and is rendered as an animation. Specifically, a 3D avatar is generated and moved using Unity or a similar game engine. The input is the user's body shape information and form error information, and the output is the generated avatar image.
[1573] Step 7:
[1574] The device displays the generated avatar image on a monitor. The user can compare their own movements with the avatar's movements and identify corrections while watching this avatar image. The input is the generated avatar image, and the output is the image displayed on the monitor.
[1575] Step 8:
[1576] The server identifies errors in the movement and generates feedback to the user. Specifically, based on errors such as knees being too inward, it gives voice or text feedback such as "Please open your knees more outward." This is done using a Text-to-Speech engine. The input is the error information in the form, and the output is the feedback message.
[1577] Step 9:
[1578] The emotion analysis method recognizes emotions from the user's facial expressions and voice. For example, it uses computer vision technology or the Google Cloud Speech-to-Text API to determine the user's emotions. If it determines that the user is tired, it adjusts the content and tone of the feedback and provides a gentle message such as, "You're doing well, but please take a short break." The input is the user's facial expressions and voice data, and the output is the adjusted feedback message.
[1579] Step 10:
[1580] The user can then continue training by correcting their form based on the feedback, for example by adjusting their knee position and straightening their back. The input is the feedback message, and the output is the corrected user movement.
[1581] The above is the specific processing flow of this system. The information from the input and output at each step is closely linked, allowing the user to train more effectively and safely.
[1582] (Application example 2)
[1583] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1584] Conventional training systems have difficulty accurately capturing users' movements and providing real-time feedback on correct form. Furthermore, they do not provide feedback that takes into account the user's emotional state, making it difficult to maintain user motivation and maximize training effectiveness. This increases the risk of injury due to incorrect form and fails to provide effective training plans.
[1585] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes a camera means, a transmission means, an analysis means, a generation means, a feedback means, and an emotion engine means. This makes it possible to accurately capture the user's training movements in real time, generate an avatar showing the correct form, and provide feedback according to the user's emotions.
[1586] The "imaging device means" is a device for capturing the user's actions in real time.
[1587] The "communication device means" is a device for transmitting captured motion data to an external server or cloud in real time.
[1588] The "analysis device means" is a device for analyzing the transmitted motion data and comparing it with correct motions that have been learned in advance.
[1589] A "display device" is a device for providing visual information to a user to indicate correct operation.
[1590] The "output device means" is a device that provides real-time feedback to the user on areas of their actions that need to be corrected, either by voice or text.
[1591] The "emotion recognition device means" is a device for recognizing the user's emotions and adjusting the content and tone of the feedback.
[1592] The present invention provides a system that allows a user to learn correct form during training in real time and provides feedback according to the user's emotions using an emotion engine.
[1593] System Overview
[1594] The system includes the following major hardware and software components:
[1595] Imaging device means: A device for capturing the user's training movements in real time. The camera of a smartphone is used.
[1596] Communication device means: a device for transmitting the captured motion data to a cloud server in real time.
[1597] Analysis device means: A device for analyzing the transmitted video data. It runs on a cloud server and uses machine learning models such as TensorFlow to analyze user behavior.
[1598] Display device: A device for providing the user with an avatar image showing the correct behavior. Uses the display of a smartphone or tablet.
[1599] Output device means: A device for providing real-time feedback to the user on where to correct their actions. Feedback can be provided in the form of voice and text.
[1600] Emotion recognition device means: A device that recognizes the user's emotions and adjusts the content and tone of the feedback. Uses Microsoft Azure Emotion API.
[1601] Process Overview
[1602] 1. The user starts a workout. For example, when the user performs a squat, the user captures the movement with the smartphone camera.
[1603] 2. The video data captured by the camera means is transmitted in real time to the cloud server via the communication device means.
[1604] 3. On the cloud server, the video data is analyzed using an analyzer to identify the user's joint positions and movement patterns. A TensorFlow model is used here.
[1605] 4. Based on the analysis results, the server generates an avatar that resembles the user's body shape (generation means) and reproduces movements in an ideal form. This avatar image is provided to the user through the display means.
[1606] 5. The feedback method uses the analysis results and avatar images to identify errors in the user's actions and provide real-time feedback via voice and text.
[1607] 6. The emotion recognition device means recognizes the user's emotions from their facial expressions and voice, and adjusts the content and tone of the feedback. For example, if the user is recognized as tired, the feedback will be adjusted to be gentler.
[1608] Specific examples
[1609] For example, consider a user doing barbell squats:
[1610] 1. The user places their smartphone in a corner of the room, sets the camera to capture their entire body, and begins squatting.
[1611] 2. The camera captures the squat movement and transmits the data to a cloud server in real time.
[1612] 3. A TensorFlow model on a cloud server analyzes the data and identifies the user's knee angle and spine position.
[1613] 4. Based on these analysis results, the cloud server generates an avatar that reproduces the correct form and displays it on the smartphone screen.
[1614] 5. While watching this avatar video, the user can check their own form and understand what needs to be corrected.
[1615] 6. At the same time, the server provides real-time feedback, such as voice instructions like, "You need to open your knees a little more outward."
[1616] 7. The emotion engine determines the user's fatigue from their facial expressions and provides gentle feedback such as "Please take a short break before the next set."
[1617] Prompt Sentence Examples
[1618] "The camera captures the user performing a squat and sends the data to a cloud server in real time. The server then analyzes the video, measuring the angle of the knees and the position of the spine, and compares this with the correct form learned in advance. Based on the results, the system provides voice feedback such as, 'You need to open your knees a little more outward.' It also recognizes emotions from the user's facial expressions, and if the user is tired, it adjusts the content and tone of the feedback, such as, 'It's important to take a break.' All training data is stored in Firebase."
[1619] As a result, users can learn the correct form in real time and receive appropriate feedback based on their emotions, enabling them to train effectively and safely.
[1620] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1621] Flow of the system program that realizes the application example
[1622] Step 1:
[1623] The user starts training using the smartphone, activates the imaging device means (the camera of the smartphone), and captures the training movements.
[1624] Input: User action
[1625] Output: Captured video data
[1626] Specific actions: The user activates the smartphone camera, places the smartphone in the training space, and records their own actions.
[1627] Step 2:
[1628] The terminal compresses the captured video data in real time and transmits it to a cloud server using a communication device means.
[1629] Input: Captured video data
[1630] Output: Compressed data sent to the cloud server
[1631] How it works: The device compresses video data and uploads it to a cloud server in real time using communication technologies such as Wi-Fi or 4G / 5G.
[1632] Step 3:
[1633] The server analyzes the transmitted video data using an analysis device, identifying the user's joint positions and movement patterns for each movement frame and comparing them with the correct form learned in advance.
[1634] Input: Compressed video data
[1635] Output: Analysis results (joint position data, movement patterns)
[1636] Specific operation: A TensorFlow model on a cloud server analyzes video frames, detects the position of each user's joints and movement patterns, and compares them with data on correct form.
[1637] Step 4:
[1638] The server generates an avatar that resembles the user's body shape based on the analysis results (generation means), and transmits the generated avatar image to the terminal using the display means.
[1639] Input: Analysis results (joint position data, movement pattern)
[1640] Output: Generated avatar video
[1641] Specific operation: Based on the analysis results, an avatar with the ideal form is generated and its video data is sent to the device. A visualization library (e.g., Three.js) is used to generate the avatar.
[1642] Step 5:
[1643] The device displays the generated avatar image on a display, and the user compares their own movements with those of the avatar.
[1644] Input: Generated avatar video
[1645] Output: Avatar image displayed on the display
[1646] Specific operation: An avatar image is displayed on the device display in real time, and the user can check their own movements while watching the image.
[1647] Step 6:
[1648] The server uses the feedback means to identify errors in the user's actions and provide real-time feedback via voice and text.
[1649] Input: Analysis results (joint position data, movement pattern)
[1650] Output: Feedback message (audio, text)
[1651] Specific operation: Based on the analysis of the movement, the cloud server generates a feedback message, such as "You need to open your knees a little more outward," and sends it to the device. A TTS (Text-to-Speech) engine is used for voice output.
[1652] Step 7:
[1653] The server uses an emotion recognition device means to recognize emotions from the user's facial expressions and voice, and adjusts the content and tone of the feedback.
[1654] Input: User's facial expression data, voice data
[1655] Output: Adjusted feedback message
[1656] How it works: The Microsoft Azure Emotion API on a cloud server analyzes the user's facial expressions and voice data to determine their level of fatigue and stress. Based on the results, it adjusts the content and tone of the feedback and generates encouraging messages with gentler words.
[1657] Specific examples
[1658] For example, if a user were to perform a barbell squat, the steps above would be processed in the following order:
[1659] 1. The user activates the smartphone camera and begins barbell squats.
[1660] 2. The device captures the squat movements in real time and sends the data to a cloud server.
[1661] 3. The server analyzes the data, determines the user's knee angle and spine position, and compares them with the correct form.
[1662] 4. The server generates an avatar with the correct form and sends the image to the device.
[1663] 5. The device displays the avatar image on the screen and the user confirms the form.
[1664] 6. Based on the analysis results, the server sends audio feedback such as, "You need to open your knees a little more outward."
[1665] 7. If the server recognizes the user's emotions and determines that they are tired, it sends gentle feedback such as, "It's important to take breaks."
[1666] Through the above process, the user can train while checking the correct form in real time and receiving appropriate feedback according to their emotions.
[1667] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the control target 443 to output the result of the specific processing. The microphone 238 acquires voice indicating a user input regarding the result of the specific processing. The control unit 46A transmits voice data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the voice data.
[1668] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1669] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the robot 414.
[1670] The emotion identification model 59 as an emotion engine may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to an emotion map (see FIG. 9), which is a specific mapping. Similarly, the emotion identification model 59 may determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.
[1671] FIG. 9 is a diagram illustrating an emotion map 400 on which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. Emotions closer to the center of the concentric circles are more primitive. Emotions representing states and actions arising from a state of mind are arranged on the outer edges of the concentric circles. The concept of emotion includes both affect and mental states. Emotions generally generated from reactions occurring in the brain are arranged on the left side of the concentric circles. Emotions generally induced by situational judgment are arranged on the right side of the concentric circles. Emotions generally generated from reactions occurring in the brain and induced by situational judgment are arranged on the upper and lower sides of the concentric circles. Furthermore, the emotion of "pleasure" is arranged on the upper side of the concentric circles, and the emotion of "discomfort" is arranged on the lower side. In this way, in the emotion map 400, multiple emotions are mapped based on the structure by which emotions are generated, and emotions that tend to occur simultaneously are mapped close to each other.
[1672] These emotions are distributed in the 3 o'clock direction on emotion map 400, and typically fluctuate between relief and anxiety. In the right half of emotion map 400, situational awareness dominates over internal sensations, resulting in a sense of calm.
[1673] The inside of emotion map 400 represents what is going on in the mind, and the outside of emotion map 400 represents behavior, so the further you go outside emotion map 400, the more visible the emotions become (the more they are expressed in behavior).
[1674] Human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. Emotions can also be created for robots, automobiles, and motorcycles, based on various balances, such as posture and remaining battery life. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. An emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on Voice Emotion Recognition and Emotional Brain Physiological Signal Analysis Systems, Tokushima University, Doctoral Dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map lists emotions belonging to the "reaction" domain, where sensation is dominant. The right half of the emotion map lists emotions belonging to the "situation" domain, where situational awareness is dominant.
[1675] The emotion map defines two emotions that promote learning. One is a negative emotion on the situation side, around the middle of "repentance" or "reflection." In other words, this occurs when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is a positive emotion on the response side, around "desire." In other words, this occurs when the robot experiences positive feelings such as "I want more" or "I want to know more."
[1676] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values indicating each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple pieces of training data that are combinations of user input and emotion values indicating each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions that are located close to each other have similar values, as in the emotion map 900 shown in FIG. 10. FIG. 10 shows an example in which multiple emotions, "relieved," "calm," and "reassuring," have similar emotion values.
[1677] The system according to the present disclosure has been described above mainly with respect to the functions of the data processing device 12, but the system according to the present disclosure is not necessarily implemented on a server. The system according to the present disclosure may be implemented as a general information processing system. The present disclosure may be implemented, for example, as a software program running on a personal computer or an application running on a smartphone, etc. The method according to the present disclosure may be provided to users in the form of SaaS (Software as a Service).
[1678] In the above embodiment, an example was given in which the specific processing is performed by one computer 22, but the technology of the present disclosure is not limited to this, and the specific processing may be distributed and performed by a plurality of computers including the computer 22. For example, the data generation model 58 may be provided in an external device of the data processing device 12, and data may be generated in the external device in accordance with input data.
[1679] In the above embodiment, an example in which the specific processing program 56 is stored in the storage 32 has been described, but the technology of the present disclosure is not limited to this. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-transitory storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-transitory storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes the specific processing in accordance with the specific processing program 56.
[1680] Alternatively, the specific processing program 56 may be stored in a storage device such as a server connected to the data processing device 12 via the network 54, and the specific processing program 56 may be downloaded and installed on the computer 22 in response to a request from the data processing device 12.
[1681] It is not necessary to store all of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store all of the specific processing program 56 in the storage 32; only a portion of the specific processing program 56 may be stored.
[1682] The hardware resource for executing a specific process can be any of the following processors: An example of a processor is a CPU, which is a general-purpose processor that functions as a hardware resource for executing a specific process by executing software, i.e., a program. Another example of a processor is a dedicated electrical circuit, such as an FPGA (Field-Programmable Gate Array), a PLD (Programmable Logic Device), or an ASIC (Application Specific Integrated Circuit), which is a processor with a circuit configuration designed specifically for executing a specific process. Each processor has built-in or connected memory, and each processor uses the memory to execute the specific process.
[1683] The hardware resource that executes the specific processing may be configured with one of these various processors, or may be configured with a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Also, the hardware resource that executes the specific processing may be a single processor.
[1684] As an example of a system configured with a single processor, first, one processor is configured by combining one or more CPUs and software, and this processor functions as a hardware resource that executes a specific process. Second, there is a system that uses a processor that realizes the functions of an entire system including multiple hardware resources that execute a specific process on a single IC chip, as typified by SoC (System-on-a-chip). In this way, a specific process is realized using one or more of the above-mentioned various processors as hardware resources.
[1685] Furthermore, the hardware structure of these various processors can be, more specifically, an electric circuit that combines circuit elements such as semiconductor devices. The specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps may be deleted, new steps may be added, or the processing order may be rearranged, without departing from the spirit of the invention.
[1686] The above-described description and illustrations are a detailed explanation of the parts related to the technology of the present disclosure and are merely an example of the technology of the present disclosure. For example, the above description of the configuration, functions, actions, and effects is an explanation of an example of the configuration, functions, actions, and effects of the parts related to the technology of the present disclosure. Therefore, it goes without saying that unnecessary parts may be deleted, new elements may be added, or replacements may be made to the above-described description and illustrations within the scope of the gist of the technology of the present disclosure. Furthermore, to avoid confusion and facilitate understanding of the parts related to the technology of the present disclosure, the above-described description and illustrations omit explanations of common technical knowledge that do not require particular explanation to enable the implementation of the technology of the present disclosure.
[1687] All publications, patent applications, and technical standards mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication, patent application, or technical standard was specifically and individually indicated to be incorporated by reference.
[1688] The following is further disclosed regarding the above embodiment.
[1689] ---
[1690] (Claim 1)
[1691] camera means for capturing movements during training;
[1692] transmitting means for transmitting the captured motion data in real time;
[1693] an analysis means for analyzing the transmitted motion data and comparing it with a correct motion previously learned;
[1694] A generating means for generating an avatar for demonstrating correct behavior;
[1695] a display means for displaying the generated avatar image;
[1696] a feedback means for providing feedback in real time on corrections to the user's actions;
[1697] A system including:
[1698] (Claim 2)
[1699] 10. The system of claim 1, wherein the camera means is mounted on the training equipment.
[1700] (Claim 3)
[1701] 10. The system of claim 1, wherein the feedback means uses voice and text.
[1702] "Example 1"
[1703] (Claim 1)
[1704] imaging means for capturing movements during training;
[1705] a communication means for transmitting the captured motion data in real time;
[1706] an analysis means for analyzing the transmitted motion data and comparing it with a correct motion previously learned;
[1707] generating means for generating a virtual character for demonstrating correct behavior;
[1708] a display means for displaying the generated virtual character image;
[1709] a feedback means for providing feedback in real time on corrections to the user's actions;
[1710] A system including:
[1711] (Claim 2)
[1712] 10. The system of claim 1, wherein the imaging means is mounted on a training device.
[1713] (Claim 3)
[1714] 10. The system of claim 1, wherein the feedback means uses voice and text.
[1715] "Application Example 1"
[1716] (Claim 1)
[1717] camera means for capturing movements during training;
[1718] transmitting means for transmitting the captured motion data in real time;
[1719] an analysis means for analyzing the transmitted motion data and comparing it with a correct motion previously learned;
[1720] A generating means for generating an avatar for demonstrating correct behavior;
[1721] a display means for displaying the generated avatar image;
[1722] a feedback means for providing feedback in real time on corrections to the user's actions;
[1723] an application means installed on the smart glasses;
[1724] means for displaying the generated feedback on a display of the smart glasses;
[1725] A system including:
[1726] (Claim 2)
[1727] 10. The system of claim 1, wherein the camera means is mounted on the training equipment.
[1728] (Claim 3)
[1729] 10. The system of claim 1, wherein the feedback means uses voice and text.
[1730] "Example 2: Combining Emotion Engines"
[1731] (Claim 1)
[1732] a photographing means for capturing movements during training;
[1733] a communication means for transmitting the captured motion data in real time;
[1734] an analysis means for analyzing the transmitted motion data and comparing it with a correct motion previously learned;
[1735] A generating means for generating an avatar for demonstrating correct behavior;
[1736] a display means for displaying the generated avatar image;
[1737] a feedback means for providing feedback in real time on corrections to the user's actions;
[1738] An emotion analysis means for recognizing the user's emotions in real time and adjusting the feedback content;
[1739] A system including:
[1740] (Claim 2)
[1741] 2. The system according to claim 1, wherein the imaging means is installed on training equipment.
[1742] (Claim 3)
[1743] 10. The system of claim 1, wherein the feedback means uses voice and text.
[1744] "Application example 2 when combining emotion engines"
[1745] (Claim 1)
[1746] an image capture device means for capturing movements during training;
[1747] a communication device means for transmitting the captured motion data in real time;
[1748] an analyzer means for analyzing the transmitted motion data and comparing it with a correct motion previously learned;
[1749] display means for providing a visualization to indicate correct operation;
[1750] an output device means for providing feedback on corrections to the user's actions in real time;
[1751] an emotion recognition device means for recognizing the emotion of the user and adjusting the content of the feedback;
[1752] A system including:
[1753] (Claim 2)
[1754] 10. The system of claim 1, wherein the imager means is mounted on training equipment.
[1755] (Claim 3)
[1756] 10. The system of claim 1, wherein the output device means uses voice and text. [Explanation of symbols]
[1757] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot< / url:> < / url:> < / url:> < / url:>
Claims
1. camera means for capturing movements during training; transmitting means for transmitting the captured motion data in real time; an analysis means for analyzing the transmitted motion data and comparing it with a correct motion previously learned; A generating means for generating an avatar for demonstrating correct behavior; a display means for displaying the generated avatar image; a feedback means for providing feedback in real time on corrections to the user's actions; A system including:
2. 10. The system of claim 1, wherein the camera means is mounted on training equipment.
3. 2. The system of claim 1, wherein the feedback means uses voice and text.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A