System
The system addresses the challenge of providing accurate posture feedback in home training by using an imaging and analysis system integrated with augmented reality, enabling safe and effective training without large equipment or spaces.
Patent Information
- Application Number
- JP2024122771
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-29
- Publication Date
- 2026-02-10
AI Technical Summary
Existing home training systems face challenges in providing accurate posture feedback without requiring large fitness equipment and dedicated space, making it difficult for individuals to train correctly and safely at home.
A system that includes an imaging device to capture user movements, a real-time transmission mechanism, an analysis algorithm to detect posture, a feedback generation mechanism, a display for feedback, a scanning mechanism to capture body shape, and a menu generation mechanism to create personalized training plans, all integrated with augmented reality devices for real-time guidance.
Enables users to train at home with correct posture, reducing the risk of injury and eliminating the need for expensive equipment or large spaces, while providing personalized and effective training plans.
Smart Images

Figure 2026021089000001_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] In modern society, home training (taku-training) has become popular due to the impact of the COVID-19 pandemic, but there is a problem of difficulty in training with correct posture. Furthermore, large fitness equipment and dedicated space are required, making it difficult for the average home. Systems such as mirror fitness are expensive and have installation limitations, making them difficult for many people to use. There is a need for a system that can solve these issues and easily check correct training posture. [Means for solving the problem]
[0005] The present invention solves the above-mentioned problems by providing a system including an imaging means for capturing a user's movements, a transmission means for transmitting the image captured by the imaging means to the user's device in real time, an analysis means for analyzing the image transmitted by the transmission means and detecting the user's posture, a feedback generation means for generating posture feedback for the user based on the posture information detected by the analysis means, a display means for displaying the feedback generated by the feedback generation means on the user's device, a scanning means for scanning the user's body shape, a menu generation means for analyzing the body shape data scanned by the scanning means and generating a training menu suitable for the user, and a display means for displaying the training menu generated by the menu generation means on the user's device.
[0006] The "photography means" is a device for capturing the user's actions. Specifically, a wide-angle web camera is one example.
[0007] The "transmission means" is a device or system that transmits the video captured by the imaging means to the user's device in real time.
[0008] The "analysis means" is a device or algorithm that analyzes the video transmitted by the transmission means and detects the user's posture.
[0009] The "feedback generating means" is a device or algorithm that generates posture feedback to the user based on the posture information detected by the analyzing means.
[0010] The "display means" refers to a device or system that displays the feedback and training menu generated by the feedback generation means on the user's device. Specifically, this may include augmented reality glasses.
[0011] A "scanning means" is a device or system for measuring and recording a user's body shape.
[0012] The "menu generating means" is a device or algorithm that analyzes the body shape data scanned by the scanning means and generates a training menu suitable for the user.
[0013] "User device" refers to an information display device worn or used by a user. Specifically, this may include augmented reality glasses or a smartphone. [Brief explanation of the drawings]
[0014] [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
[0015] 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.
[0016] First, the terms used in the following description will be explained.
[0017] 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).
[0018] 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.
[0019] 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.
[0020] 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.
[0021] 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."
[0022] [First embodiment]
[0023] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0024] 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.
[0025] 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).
[0026] 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.
[0027] 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.
[0028] 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.
[0029] 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.
[0030] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0031] 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.
[0032] 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.
[0033] 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.
[0034] 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."
[0035] The present invention is a system that allows a user to train at home with correct posture. The system includes a camera that captures the user's movements, a transmitter that transmits the video to the user's device in real time, an analyzer that analyzes the video and detects posture, a feedback generator that generates feedback, a display that displays the feedback, a scanner that scans the body shape, and a menu generator that generates a training menu.
[0036] System Operation Overview
[0037] 1. The terminal uses a wide-angle webcam to capture the user's actions, and the captured image is transmitted in real time to the user's device, in this case the device, via a transmission means, to the augmented reality glasses.
[0038] 2. The device sends the video frame to the server, which analyzes the video frame and detects the user's posture.
[0039] 3. The server uses the feedback generation means to generate appropriate feedback based on the detected posture data, such as whether the user's knees are at the correct angle or their back is straight.
[0040] 4. The server sends the generated feedback to the device, which displays it on the user's device. The user can view the feedback through the AR glasses and adjust their posture.
[0041] 5. When the training is completed, the terminal uses the scanning means to scan the user's body shape data and transmits the data to the server.
[0042] 6. The server analyzes the scan data and generates an optimal training menu for the user using a menu generation means. The generated menu is sent to the terminal, which displays it on the user's device.
[0043] Specific examples
[0044] For example, consider a user training for squats. When the user starts squatting, the device captures the movement with a webcam. The captured video is sent to the server in real time. The server analyzes the video frames and detects that the user's knee angle is not greater than 90 degrees. The server generates feedback such as "Bend your knees more deeply" and displays it on the user's device via the device. The user checks the feedback and improves their posture by bending their knees more deeply. The server then analyzes the video frames again and determines that their posture is correct. It updates the feedback to "Good posture."
[0045] After completing the training, the device scans the user's body shape and sends the data to the server. The server analyzes the body shape data and generates the next training menu. For example, if the server determines that the user's leg muscles are weak, it will suggest training to strengthen the leg muscles. This suggestion is displayed on the user's device via the device.
[0046] Program processing overview
[0047] The device captures the video, the server analyzes it, and then provides the user with feedback and a training menu. The specific operations and algorithms will be explained in detail in the processing steps below, but the basic steps are capture, transmission, analysis, feedback, scanning, and menu generation.
[0048] This system allows users to train correctly anywhere without the need for large spaces or expensive equipment, and by receiving real-time feedback, it reduces the risk of injury and enables effective training.
[0049] The processing flow will be explained below.
[0050] Step 1:
[0051] The device activates the webcam and captures the user's movements in real time. The webcam uses a wide-angle lens to capture the user's entire body. The captured video frames are immediately ready for processing.
[0052] Step 2:
[0053] The device transmits the captured video frames to the server in real time, and simultaneously transmits the video frames to the user's device (augmented reality glasses) so that the user can see the action.
[0054] Step 3:
[0055] The server processes the received video frames using an analytical means. An AI model is used to extract the user's posture data. At this time, the AI model calculates the position of each user's joints and posture angle, and determines the posture based on the obtained data.
[0056] Step 4:
[0057] The server evaluates the analyzed posture data and determines whether the user's posture is correct. For example, it checks whether the knees are bent at 90 degrees when squatting and whether the back is straight. In case of incorrect posture, it generates appropriate feedback.
[0058] Step 5:
[0059] The server uses the feedback generating means to generate a feedback message for the user, for example, feedback including specific instructions such as "bend your knees more" or "keep your back straight."
[0060] Step 6:
[0061] The server sends the generated feedback to the terminal, which displays the feedback message on the user's device (augmented reality glasses) so that the user can see the instructions in real time.
[0062] Step 7:
[0063] The user adjusts their posture based on the displayed feedback. The user checks their own movements through the augmented reality glasses and strives to adopt the correct posture while referring to the provided feedback.
[0064] Step 8:
[0065] The device captures the user's improved posture again and sends the video frame to the server. The server analyzes the new video frame and reassessss whether the posture has improved. If an improvement is confirmed, it generates and displays new feedback such as "Your posture is correct."
[0066] Step 9:
[0067] After the training is completed, the device scans the user's body, capturing the user's body data as a 3D model and measuring detailed size and shape.
[0068] Step 10:
[0069] The server receives and analyzes the body shape data. Based on the data obtained by the scanning means, it evaluates changes in the user's body shape and the condition of specific muscle groups, and generates a training menu for the next training session.
[0070] Step 11:
[0071] The server generates an optimal training menu for the user and transmits it to the terminal, which displays the generated training menu on the user's device, allowing the user to prepare for the next training session.
[0072] Example 1
[0073] 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."
[0074] Conventional training systems make it difficult for users to receive appropriate feedback to ensure proper posture during exercise. They also require expensive equipment and a large space, making it difficult to effectively train at home. Furthermore, they lack the ability to correct posture in real time, potentially increasing the risk of injury.
[0075] 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.
[0076] In this invention, the server includes: a camera for capturing a user's movements; a transmitter for transmitting the image captured by the camera to the user's terminal in real time; a data analyzer for analyzing the image transmitted by the transmitter and detecting the user's posture; a feedback generator for generating posture feedback for the user based on the posture information detected by the data analyzer; a display unit for displaying the feedback generated by the feedback generator on the user's terminal; a scanner for scanning the user's body shape; a menu generator for analyzing the body shape data scanned by the scanner and generating an exercise plan suitable for the user; and a display unit for displaying the exercise plan generated by the menu generator on the user's terminal. This allows the user to receive feedback on correct posture in real time at home without the need for expensive equipment or a large space, enabling safe and effective training.
[0077] "User" refers to a person who uses the system to provide training.
[0078] "Movement" refers to the physical movements and postures of the user.
[0079] "Photographing means" refers to a camera device for capturing the user's actions.
[0080] "Transmission means" refers to a communication means for transmitting the video captured by the imaging means to a server or a user's terminal in real time.
[0081] The "analysis means" refers to a computer system or software for analyzing the video transmitted by the transmission means and detecting the user's posture.
[0082] The "feedback generating means" refers to a computer system or software for generating posture feedback to the user based on the posture information detected by the analyzing means.
[0083] "Display means" refers to a device or software for displaying the generated feedback and training menu on the user's terminal.
[0084] "Terminal" refers to a device used by a user, such as an augmented reality device or a smartphone.
[0085] "Scanning Means" means a 3D scanner or similar device used to capture the User's body shape.
[0086] The "menu generation means" refers to a computer system or software that analyzes the body shape data scanned by the scanning means and generates an exercise plan suitable for the user.
[0087] An "exercise plan" refers to a series of training menus generated based on the user's body type and training results.
[0088] The present invention provides a system that allows users to train at home with proper posture. This system captures the user's movements and provides real-time feedback, allowing the user to train while maintaining proper posture. Specific embodiments of the system are described below.
[0089] Hardware and Software Configuration
[0090] 1. Photographing means: A wide-angle camera device that captures the user's actions. For example, a wide-angle web camera is used.
[0091] 2. Transmission method: A communication method for transmitting the captured video to the server and the user's device in real time. Usually, Wi-Fi or a wired network is used.
[0092] 3. Data analysis means: A computer system that analyzes the video transmitted by the transmission means and detects the user's posture. For example, it utilizes a deep learning model using TensorFlow or PyTorch.
[0093] 4. Feedback generation means: A computer system for generating posture feedback to the user based on the posture information detected by the data analysis means. A natural language generation model (e.g., GPT-3) may be used.
[0094] 5. Display means: A device that displays the generated feedback on the user's terminal. For example, an augmented reality device (AR glasses) or a smartphone can be used.
[0095] 6. Scanning method: 3D scanner or depth camera to scan the user's body shape.
[0096] 7. Menu generation means: A computer system for analyzing the scan data and generating an exercise plan suitable for the user.
[0097] Example of a system
[0098] Take the example of a user training for squats. First, when the user starts squatting, the device captures the movement with a wide-angle webcam. The captured video is sent to the server in real time. The server analyzes the received video frames and detects the user's posture, such as the angle of the knees and the line of the back.
[0099] If the analysis finds that the user's knee angle is not greater than 90 degrees, the server generates feedback such as "Bend your knees more deeply." This feedback is displayed on the user's augmented reality device via the device. The user can confirm the feedback and improve their posture by bending their knees more deeply.
[0100] After the training is completed, the device scans the user's body shape and sends the data to the server. The server analyzes the scan data and generates the next training menu. For example, if the server determines that the user's leg muscles are weak, it will suggest training to strengthen the leg muscles. This suggestion is displayed on the user's device via the device, allowing the user to plan their next training.
[0101] Prompt Sentence Examples
[0102] Here is an example of a prompt to input to the generative AI model: "Write code for an AI model that detects in real time whether the knee angle is greater than 90 degrees when a user is doing squat training at home and provides appropriate feedback."
[0103] In this way, the present invention allows users to train at home without the need for expensive equipment or large spaces, while receiving accurate feedback in real time, thereby enabling users to achieve safe and effective training.
[0104] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0105] Step 1: Capture the action
[0106] The device captures the user's movements using a wide-angle webcam. The input is the user's actual movement (e.g., squatting), and the output is the captured video data. The captured video data is an image frame containing the user's movement information, which is the specific movement obtained in real time.
[0107] Step 2: Sending the video
[0108] The device transmits the captured video to the server in real time via a transmission means. The input is the video data acquired from the webcam, and the output is the transmission of this video data to the server. Wi-Fi or a wired network is used for transmission, and HTTPS or WebSocket is the common data communication protocol.
[0109] Step 3: Posture analysis
[0110] The server analyzes the received video frames using a data analysis method to detect the user's posture. The input is the transmitted video frame, and the output is posture data including the position information of each joint point (knee, elbow, shoulder, etc.). This is the specific operation in which a deep learning model (e.g., using TensorFlow or PyTorch) analyzes the video and extracts the user's posture information.
[0111] Step 4: Generate feedback
[0112] The server generates appropriate feedback using a feedback generation means based on the posture data obtained by the analysis means. The input is posture data, and the output is the generated feedback text. This is an operation that uses a natural language generation model (e.g., GPT-3) to generate specific feedback such as "Bend your knees more deeply."
[0113] Step 5: View your feedback
[0114] The server sends the generated feedback to the device, and the feedback is displayed on the user's device. The input is the generated feedback text, and the output is the feedback displayed on the user's device. A specific example of this behavior is the message "Bend your knees deeper" being displayed on the AR glasses.
[0115] Step 6: Body Scan
[0116] After the training is completed, the device scans the user's body shape data using a scanning means. The input is the user's body shape, and the output is the scanned body shape data. This is a specific operation that captures detailed body shape data using a 3D scanner or depth camera.
[0117] Step 7: Create a training menu
[0118] The server analyzes the scan data and generates an exercise plan suitable for the user using a menu generation method. The input is the scanned body shape data, and the output is the generated exercise plan. The analysis uses machine learning cluster analysis and feature extraction methods, and specific movements such as "exercises for strengthening leg muscles" are suggested.
[0119] Step 8: Display the menu
[0120] The server sends the exercise plan generated by the menu generation means to the terminal and displays it on the user's terminal. The input is the generated exercise plan, and the output is the exercise plan displayed on the user's device. Specific examples of this operation include a training menu displayed on AR glasses or a smartphone.
[0121] (Application example 1)
[0122] 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."
[0123] Conventional training systems are limited to providing feedback to ensure users are performing exercises with the correct posture, making it difficult to monitor and adjust the accuracy of robot movements in real time on factory floors. Furthermore, there was a lack of a means to properly evaluate user and robot posture data and work efficiency, and to generate training menus and work programs based on that evaluation, resulting in increased effort and time for robot operators.
[0124] 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.
[0125] In this invention, the server includes an image capturing means, a transmitting means, an analyzing means, a feedback generating means, a display means, a scanning means, and a menu generating means, which enables real-time monitoring of the postures of the user and the robot, and provides appropriate feedback and proposes an optimal execution plan.
[0126] "User" refers to a person who uses this system to perform training and work management.
[0127] "Motion capture" refers to recording the movements of a user or robot using a camera or other imaging means.
[0128] The "photography means" is a device that captures the movements of the user or robot in real time and records them as video data.
[0129] The "transmission means" refers to equipment or software for transmitting the video data captured by the image capture means to other devices or servers in real time.
[0130] The "analysis means" refers to a device or program that analyzes the transmitted video data and detects the posture and movement of the user or robot.
[0131] The "feedback generating means" is a device or program that generates appropriate feedback based on the posture and movement information detected by the analyzing means.
[0132] The "display means" is a device or program for displaying the feedback and training menu created by the feedback generation means on a device of the user or monitoring system.
[0133] "Scanning means" refers to a device or program for scanning the user's body shape data and the robot's shape data and recording them as digital data.
[0134] The "menu generation means" is a device or program that analyzes the data acquired by the scanning means and generates a training menu suitable for the user and an execution plan for the robot.
[0135] A "robot" is an automated mechanical device used to perform tasks in manufacturing.
[0136] "Monitoring system" refers to the entire system for monitoring the robot's operations in real time and displaying appropriate feedback.
[0137] The present invention is a system that enables users and factory robots to perform work with correct posture. This system includes an imaging means for capturing the movements of the user or robot, a transmission means for transmitting the images in real time, an analysis means for analyzing the transmitted images to detect the posture, a feedback generation means for generating feedback, a display means for displaying the generated feedback, a scanning means for scanning shape data, and a menu generation means for generating an optimal execution plan based on the analyzed data.
[0138] The operation of this system is outlined below.
[0139] First, a terminal (e.g., a device equipped with a wide-angle webcam) captures the movements of the user or robot. The captured video is sent to a server in real time. The server analyzes the video frames using an analysis means to detect the posture of the user or robot. Based on the detected posture data, a feedback generation means creates appropriate feedback. For example, it determines whether the angle of the user's knees is correct or the movement of the robot arm is accurate. The generated feedback is displayed on the user's device or a monitoring system. The user or operator can check this feedback and adjust their posture or movement appropriately.
[0140] Furthermore, when training or work is completed, the terminal uses the scanning means to scan the shape data of the user or robot and transmits the data to the server. The server analyzes the scanned data and uses the menu generation means to generate an optimal training menu and execution plan for the user or robot. The generated menu is displayed on the user's device or monitoring system via the terminal.
[0141] For example, consider a user training for squats. When the user starts squatting, the device captures the movement with a webcam. The captured video is sent to a server in real time, and the server analyzes the video frames and detects that the user's knee angle is not greater than 90 degrees. The server generates feedback such as "Bend your knees more deeply" and displays it on the user's device via the device. The user checks the feedback and improves their posture by bending their knees more deeply.
[0142] In factories, it is also important for robot arms to perform their work with accurate posture. A wide-angle web camera captures the movement of the robot arm and sends the video in real time to a monitoring system. The server analyzes the video frames and generates feedback based on the robot arm's posture data. If the correct posture or movement is not detected, a warning message is displayed on the operator's device, allowing immediate correction.
[0143] As a concrete example, by inputting a prompt sentence into the generative AI model, it is possible to obtain an algorithm for generating feedback that matches the context and an example of a user interface design. For example, by inputting "Monitor the movement of the robot arm captured by this camera in real time, and display a warning if the posture is not appropriate," it is possible to obtain a method for generating appropriate feedback.
[0144] In this way, the present invention enables users and robots to perform precise and efficient movements and training anywhere, without the need for expensive equipment or a large space.
[0145] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0146] Step 1:
[0147] The motion of the user or robot is captured. The terminal uses a wide-angle web camera to capture video in real time and acquires the video. It receives the motion video as input and generates the captured video data as output. This video data is processed by the transmitting means in the next step.
[0148] Step 2:
[0149] The captured video is transmitted in real time. The terminal encodes the captured video data and transmits it to the server through the transmission means. The terminal receives the captured video data as input and performs data encoding and transmission. The terminal generates the video data transmitted to the server as output.
[0150] Step 3:
[0151] Analyze the transmitted video data. The server uses an analysis means to analyze the received video frames and detect posture data of the user and robot. It takes the received video data as input and analyzes the posture using an image recognition algorithm. It generates posture data as output.
[0152] Step 4:
[0153] Generate feedback. The server utilizes the feedback generation means to generate appropriate feedback based on the posture data obtained by the analysis means. It receives posture data as input and generates an appropriate feedback message (e.g., "Bend your knees more deeply") based on it. It generates the feedback message as output.
[0154] Step 5:
[0155] Displaying the generated feedback: The terminal displays the generated feedback on the user's device (e.g., augmented reality glasses or a tablet) or on a monitoring system. It receives the feedback message as input and generates the feedback that is displayed on the user's device or on the monitoring system as output.
[0156] Step 6:
[0157] Scanning shape data. After the training or task is completed, the terminal uses the scanning means to scan the shape data of the user or robot and acquires the data. The scanned shape data is used as input, and the scanned shape data is generated as output.
[0158] Step 7:
[0159] Analyze the scan data and generate an action plan. The server analyzes the data acquired by the scanning means and creates an optimal training menu and action plan using the menu generation means. It receives the scan data as input and generates a new training menu and action plan as output.
[0160] Step 8:
[0161] Display the generated execution plan. The terminal displays the generated training menu and execution plan on the user's device or monitoring system. It receives a new execution plan as input and generates an execution plan that is displayed to the user or operator as output.
[0162] This series of processes enables real-time monitoring and adjustment of the posture and movements of users and robots, enabling optimal training and work management.
[0163] 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.
[0164] The present invention provides a system that allows a user to train at home with correct posture and further has the function of recognizing the user's emotions and adjusting the training based on the emotions. The system includes a camera that captures the user's movements, a transmitter that transmits the video to the user's device in real time, an analyzer that analyzes the video and detects the user's posture, a feedback generator that generates feedback, a displayer that displays the feedback, a scanner that scans the body shape, a menu generator that generates a training menu, and an emotion recognizer that recognizes the user's emotions.
[0165] System Operation Overview
[0166] 1. The device uses a wide-angle webcam to capture the user's movements in real time, and the captured video frames are immediately ready for processing.
[0167] 2. The device transmits the captured video frames to the server in real time, and simultaneously transmits the video frames to the user's device (augmented reality glasses) so that the user can see the action.
[0168] 3. The server processes the received video frames using an analytical tool. It uses an AI model to extract the user's posture data. The AI model calculates the position of each joint and the angle of the user's posture, and determines the posture based on the obtained data.
[0169] 4. The server evaluates the analyzed posture data and determines whether the user's posture is correct. If the posture is incorrect, it generates appropriate feedback.
[0170] 5. The server generates a feedback message for the user using the feedback generation means, for example, feedback including specific instructions such as "bend your knees more" or "keep your back straight."
[0171] 6. The server sends the generated feedback to the device, which displays it on the user's device. The user checks the feedback and adjusts their posture.
[0172] 7. The server analyzes the user's emotional state using emotion recognition means, for example, by analyzing the user's facial expressions and tone of voice using a camera and microphone.
[0173] 8. The server uses the emotional data to provide feedback and adjust the training menu. For example, if the user is tired, it might instruct them to reduce the intensity of their training, or if they are unmotivated, it might send them encouraging messages.
[0174] 9. After the training is completed, the device uses a scanning means to obtain the user's body data as a 3D model and measure its detailed size and shape.
[0175] 10. The server analyzes the body shape data and generates an optimal training menu for the user using a menu generation means. The generated menu is sent to the terminal, which displays it on the user's device.
[0176] Specific examples
[0177] For example, consider a case where a user is training to do squats. When the user starts squatting, the device captures the movement with a webcam. The video frames are sent to a server in real time, and an analysis means detects that the user's knee angle is not greater than 90 degrees. The server generates feedback such as "Bend your knees more deeply" and displays it on the user's device via the device. The user checks the feedback and improves their posture by bending their knees more deeply.
[0178] The server then uses emotion recognition to analyze the user's facial expressions and voice, and if the user feels dissatisfied or fatigued with the training, adjusts the feedback accordingly. For example, it can motivate the user by sending an encouraging message such as, "You're almost there! Keep up the great work!"
[0179] After completing the training, the device scans the user's body shape and sends the data to the server. The server analyzes the body shape data and generates a training menu for the next training session. For example, if the server determines that the user's leg muscles are weak, it will suggest training to strengthen the leg muscles. The generated training menu is then displayed on the user's device via the device.
[0180] This system allows users to train properly anywhere without requiring a large space or expensive equipment. Real-time feedback reduces the risk of injury and enables effective training. Furthermore, by combining it with emotion recognition, it is possible to provide flexible training tailored to the user's physical condition and emotions.
[0181] The processing flow will be explained below.
[0182] Step 1:
[0183] The device activates the webcam and captures the user's movements in real time. The webcam uses a wide-angle lens to capture the user's entire body. The captured video frames are immediately ready for processing.
[0184] Step 2:
[0185] The device transmits the captured video frames to the server in real time, and simultaneously transmits the video frames to the user's device (augmented reality glasses) so that the user can see their own movements.
[0186] Step 3:
[0187] The server processes the received video frames using an analytical means. An AI model is used to extract the user's posture data. At this time, the AI model calculates the position of each user's joints and posture angle, and determines the posture based on the obtained data.
[0188] Step 4:
[0189] The server evaluates the analyzed posture data and determines whether the user's posture is correct. For example, it checks whether the knees are bent at 90 degrees when squatting and whether the back is straight. In case of incorrect posture, it generates appropriate feedback.
[0190] Step 5:
[0191] The server uses the feedback generating means to generate a feedback message for the user, for example, feedback including specific instructions such as "bend your knees more" or "keep your back straight."
[0192] Step 6:
[0193] The server sends the generated feedback to the terminal, which displays the feedback message on the user's device (augmented reality glasses) so that the user can see the instructions in real time.
[0194] Step 7:
[0195] The user adjusts their posture based on the displayed feedback. The user checks their own movements through the augmented reality glasses and strives to adopt the correct posture while referring to the provided feedback.
[0196] Step 8:
[0197] The device captures the user's improved posture again and sends the video frame to the server. The server analyzes the new video frame and reassessss whether the posture has improved. If an improvement is confirmed, it generates and displays new feedback such as "Your posture is correct."
[0198] Step 9:
[0199] The server uses emotion recognition means to analyze the user's facial expressions and voice to analyze the user's emotional state, for example, by using a camera and microphone to analyze emotions from the user's facial expressions and tone of voice.
[0200] Step 10:
[0201] The server uses the emotional data to provide feedback and adjust the training menu, for example, by instructing the user to reduce the intensity of their training if they are tired, or by sending encouraging messages if they are unmotivated.
[0202] Step 11:
[0203] After the training is completed, the terminal uses a scanning means to acquire the user's body shape data as a 3D model and measure its detailed size and shape.
[0204] Step 12:
[0205] The server receives and analyzes the body shape data, evaluates changes in the user's body shape and the condition of specific muscle groups based on the data obtained by the scanning means, and generates a training menu for the next training session.
[0206] Step 13:
[0207] The server generates an optimal training menu for the user and transmits it to the terminal, which displays the generated training menu on the user's device, allowing the user to prepare for the next training session.
[0208] Example 2
[0209] 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."
[0210] Previously, users needed specialized knowledge and equipment to train with the correct posture at home, and doing it on their own carried the risk of injury due to incorrect posture. It was also difficult to adjust training to suit the user's emotions and physical condition, making it difficult to maintain motivation.
[0211] The identification process by the identification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes a photographing means for capturing the user's movements, a transmitting means for transmitting the video captured by the photographing means to the user's device in real time, and an analyzing means for analyzing the video transmitted by the transmitting means to detect the user's posture. This enables real-time feedback to help the user train with correct posture.
[0212] "Photographing means" refers to an apparatus or device for capturing user actions, such as a wide-angle web camera.
[0213] "Transmission means" refers to the communications equipment and protocols used to transmit the captured video in real time to a user's device or server.
[0214] The "analysis means" refers to software or algorithms for analyzing the video data transmitted by the transmission means and detecting the user's posture.
[0215] The "feedback generating means" is a means for providing the user with specific instructions and warnings for correcting their posture based on the posture information detected by the analyzing means.
[0216] The "display means" refers to a device or interface for displaying the feedback and training menu generated by the feedback generation means on the user's device.
[0217] "Scanning Means" means any device or technology used to scan a user's body shape and generate detailed 3D model data.
[0218] The "menu generating means" is a means for creating a training menu suited to the user based on the body shape data obtained by the scanning means and the analyzed posture information.
[0219] "Emotion recognition means" refers to technologies and algorithms for analyzing and evaluating a user's emotional state from facial expressions, voice, etc.
[0220] The "adjustment means" is a means for adjusting the feedback content and the intensity of the training menu based on the emotion information obtained by the emotion recognition means.
[0221] The present invention provides a system that allows a user to train at home with correct posture and further has the function of recognizing the user's emotions and adjusting the training based on the emotions. The system includes a camera that captures the user's movements, a transmitter that transmits the video to the user's device in real time, an analyzer that analyzes the video and detects the user's posture, a feedback generator that generates feedback, a displayer that displays the feedback, a scanner that scans the body shape, a menu generator that generates a training menu, and an emotion recognizer that recognizes the user's emotions.
[0222] Specifically, the device first captures the user's movements in real time using a wide-angle webcam. The captured video frames are then immediately ready for processing. The device then transmits the captured video frames to a server in real time, and simultaneously transmits the video frames to the user's device (e.g., augmented reality glasses), allowing the user to view the movements themselves.
[0223] The server then processes the received video frames using an analytical method, extracting the user's posture data using a specific AI model. The AI model calculates the position of each user's joints and posture angles, and determines the user's posture based on the obtained data. For example, it uses TensorFlow or PyTorch libraries to execute advanced posture estimation algorithms.
[0224] The server then evaluates the analyzed posture data to determine whether the user's posture is correct. If the posture is incorrect, it generates appropriate feedback. The generated feedback message contains specific instructions and is created using natural language generation technology. Possible feedback might be, "Bend your knees more."
[0225] The server sends the generated feedback to the terminal, which then displays it on the user's device, allowing the user to check the feedback and adjust their posture. At this time, the user interface is designed to reliably convey the feedback content.
[0226] Furthermore, the server uses emotion recognition to analyze the user's emotional state. Using a camera and microphone, emotions are analyzed from the user's facial expressions and tone of voice, and emotions such as "tired" or "low motivation" are identified. Emotion analysis utilizes Google Cloud Speech-to-Text API as a voice analysis technology, and libraries such as OpenCV and dlib for facial expression analysis.
[0227] The server uses the emotional data to provide feedback and adjust the training menu. For example, if the user is tired, the server can instruct them to reduce the intensity of their training or send them a message of encouragement such as, "You're almost there! Keep up the great work!"
[0228] After the training is completed, the terminal uses a scanning means to acquire the user's body shape data as a 3D model and measure its detailed size and shape. The server analyzes the body shape data and uses a menu generation means to generate an optimal training menu for the user. For example, if it is determined that the leg muscles are weak, it will suggest training to strengthen the leg muscles. The generated training menu is displayed on the user's device via the terminal.
[0229] Specific examples
[0230] For example, consider a case where a user is training to do squats. When the user starts squatting, the device captures the movement with a webcam. The video frames are sent to a server in real time, and an analysis means detects that the user's knee angle is not greater than 90 degrees. The server generates feedback such as "Bend your knees more deeply" and displays it on the user's device via the device. The user checks the feedback and improves their posture by bending their knees more deeply.
[0231] The server then uses emotion recognition to analyze the user's facial expressions and voice, and if the user feels dissatisfied or fatigued with the training, adjusts the feedback accordingly. For example, it can motivate the user by sending an encouraging message such as, "You're almost there! Keep up the great work!"
[0232] After completing the training, the device scans the user's body shape and sends the data to the server. The server analyzes the body shape data and generates a training menu for the next training session. For example, if the server determines that the user's leg muscles are weak, it will suggest training to strengthen the leg muscles. The generated training menu is then displayed on the user's device via the device.
[0233] Example prompt
[0234] Here is an example of how the following prompt sentence is input to a generative AI model:
[0235] This system allows users to train at home with correct posture and receive real-time feedback. The system captures the user's movements with a wide-angle webcam, analyzes their posture using an AI model, and generates feedback. It also analyzes the user's emotions and adjusts the training menu based on the emotional data. As a concrete example, please show us the steps a user takes to perform squats.
[0236] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0237] Step 1:
[0238] The device captures the user's movements in real time using a wide-angle webcam. When the user starts training, the wide-angle webcam captures the user's movements and acquires the video frames. The input is the user's movements, and the output is the video frames captured in real time.
[0239] Step 2:
[0240] The terminal transmits the captured video frames to the server in real time, and simultaneously transmits the video frames to the user's device (e.g., augmented reality glasses) so that the user can see their own movements. The input is the captured video frames, and the output is the video frames transmitted to the server and the user's device.
[0241] Step 3:
[0242] The video frames received by the server are processed by an analytical means. Specifically, an AI model is used to extract the user's posture data. The input is the video frame sent to the server, and the output is posture data including the position of each joint and the posture angle of the user. In this case, the posture estimation algorithm is executed using the TensorFlow and PyTorch libraries.
[0243] Step 4:
[0244] The server evaluates the analyzed posture data and determines whether the user's posture is correct. If the posture is incorrect, it generates an appropriate feedback message. The input is posture data, and the output is the posture evaluation result and a feedback message. For example, natural language generation technology is used to create feedback such as "Bend your knees more deeply."
[0245] Step 5:
[0246] The server sends the generated feedback to the terminal, which displays it on the user's device. The user checks the feedback and adjusts their posture. The input is the feedback message, and the output is the feedback displayed on the user's device. The display uses the interface of the user device.
[0247] Step 6:
[0248] The server uses emotion recognition to analyze the user's emotional state. It uses a camera and microphone to analyze emotions from the user's facial expressions and tone of voice, identifying emotions such as "tired" or "low motivation." The input is the user's video and audio data, and the output is the analyzed emotional information. Emotion analysis uses OpenCV, dlib, Google Cloud Speech-to-Text API, etc.
[0249] Step 7:
[0250] The server adjusts feedback and training menus based on emotional data. If the user is tired, it may instruct them to reduce the intensity of their training or send an encouraging message such as "You're almost there! Keep up the great work!" The input is emotional information, and the output is the adjusted feedback message and training menu.
[0251] Step 8:
[0252] After the training is completed, the device uses a scanning means to acquire the user's body shape data as a 3D model and measure its detailed size and shape. The input is the user's body shape after the training is completed, and the output is the acquired 3D model data. A dedicated scanner device is used for the scanning.
[0253] Step 9:
[0254] The server analyzes the body shape data and generates an optimal training menu for the user using a menu generation means. For example, if it is determined that the leg muscles are weak, it will suggest training to strengthen the leg muscles. The input is the scanned body shape data, and the output is a newly generated training menu. The generated training menu is displayed on the user's device via the terminal.
[0255] (Application example 2)
[0256] 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."
[0257] Modern lifestyles demand effective training at home, but maintaining proper posture without professional instruction can be difficult, reducing effectiveness and increasing the risk of injury. Furthermore, the lack of feedback that takes into account the user's emotional state during training makes it difficult to maintain motivation. In particular, there is a need for real-time posture correction instructions and training adjustments based on the user's emotions.
[0258] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0259] In this invention, the server includes a photographing means for capturing a user's movements, a transmitting means for transmitting the image captured by the photographing means to the user's computer in real time, a analyzing means for analyzing the image transmitted by the transmitting means and detecting the user's posture, a feedback generating means for generating posture feedback for the user based on the posture information detected by the analyzing means, a display means for displaying the feedback generated by the feedback generating means on the user's computer, a scanning means for scanning the user's body shape, an emotion recognizing means for recognizing the user's emotion based on the image of the user's movements acquired by the scanning means, an adjusting means for adjusting the feedback and training menu based on the emotional state recognized by the emotion recognizing means, a menu generating means for analyzing the body shape data scanned by the scanning means and generating a training menu suitable for the user, and a display means for displaying the training menu generated by the menu generating means on the user's computer. This enables the user to perform effective training at home while maintaining correct posture, and further allows the user to receive appropriate feedback and training adjustments according to their emotions.
[0260] The "photography means for capturing the user's movements" refers to a device for recording the user's training movements, and includes a wide-angle photographing device and a camera.
[0261] The "transmission means" is a device or function for transmitting the image captured by the image capture means to the user's computer in real time.
[0262] The "analysis means" is software or hardware for processing the video transmitted by the transmission means and detecting the user's posture.
[0263] The "feedback generating means" is a function for generating instructions to the user to improve or correct their posture based on the posture information obtained by the analyzing means.
[0264] The "display means" is a device or function for displaying the feedback generated by the feedback generation means on the user's computer.
[0265] The "scanning means" refers to a device or function for scanning the user's body shape and acquiring the data.
[0266] The "emotion recognition means" is a device or function for analyzing the emotional state of a user based on the video of the user's actions acquired by the scanning means.
[0267] The "adjustment means" is a function for appropriately adjusting feedback and training menus based on the user's emotional state recognized by the emotion recognition means.
[0268] The "menu generation means" is a function for generating an optimal training menu for a user based on the body shape data obtained by the scanning means and past training results.
[0269] An "augmented reality device" is a device that allows a user to visually see additional information superimposed on it, typically in the form of glasses or a headset.
[0270] A "wide-angle imaging device" is a camera or imaging device that has a wide viewing angle and can capture the entire user's movements.
[0271] The present invention provides a system that allows users to train with proper posture at home. Specific embodiments are described below.
[0272] 1. Hardware and Software Requirements
[0273] The server performs processing using multiple hardware and software components, including a wide-angle camera, an augmented reality device, and a network interface for data transmission, using libraries and frameworks such as Python, OpenCV, TensorFlow, and Keras.
[0274] 2. Processing Overview
[0275] Motion capture and transmission
[0276] The user's movements are captured in real time by a wide-angle camera, and the captured images are sent to a server over a network and simultaneously to an augmented reality device.
[0277] Posture analysis and feedback generation
[0278] The server analyzes the received video frames and uses an AI model to detect the user's posture. Based on the analysis results, it determines whether the posture is appropriate, and if it is inappropriate, it generates specific feedback using a feedback generation means.
[0279] Emotion recognition and feedback regulation
[0280] The emotional state of the user is analyzed using emotion recognition means based on video of the user's movements. For example, this includes analyzing facial expressions and voice tone using a camera and microphone. Training menus and feedback can be adjusted based on this emotional state.
[0281] Body scan and menu generation
[0282] After the training is completed, the user's body shape is scanned to obtain detailed data. Based on this data, a menu generation means generates an optimal training menu for the user. This menu is also displayed via the augmented reality device.
[0283] 3. Specific Examples
[0284] For example, when a user performs a plank exercise, a wide-angle camera captures the user's movements and sends them to a server. This data is used to analyze whether the user's posture is appropriate, and feedback such as "Lift your abdomen a little more" is generated and displayed on the user's augmented reality device. If the system detects signs of fatigue in the user's facial expression, it displays an encouraging message such as "Keep up! 10 seconds left!"
[0285] Example prompts to input to the generative AI model
[0286] "The user is in a plank position. Video analysis detects that the abdomen is not lifted properly. You provide feedback to the user saying, 'Lift your abdomen a bit more.' Additionally, facial analysis indicates signs of fatigue. If you were a coach, what encouraging message would you send and how would you suggest improving the next movement?"
[0287] This allows users to maintain correct posture while training effectively at home, and also allows them to receive appropriate feedback and training adjustments based on their emotions.
[0288] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0289] Step 1:
[0290] A wide-angle camera is used to capture the user's movements. The user's training movements are input as video frames. These video frames are sent to the user's computer in real time. The output is the real-time captured video frames.
[0291] Step 2:
[0292] The user's computer sends the captured video frames to the server in real time. At the same time, the video frames are also sent to the user's augmented reality device, allowing the user to see the action. The input is the video frames captured in step 1, and the output is the video frames sent to the server and the user's augmented reality device.
[0293] Step 3:
[0294] The server processes the received video frames using an analytical method. It uses an AI model (for example, a model using TensorFlow or Keras) to extract the user's posture data. The server then calculates the position of each joint and the posture angle based on this data. The input is the video frame sent in step 2, and the output is the user's posture data.
[0295] Step 4:
[0296] The server evaluates the analyzed posture data and determines whether the user's posture is correct. If the posture is incorrect, it uses a feedback generation means to generate appropriate feedback. For example, it generates instructions such as "bend your knees more" or "keep your back straight." The input is the posture data obtained in step 3, and the output is a feedback message.
[0297] Step 5:
[0298] The server sends the generated feedback to the user's computer, which then displays it on the augmented reality device. The user checks this feedback and adjusts their posture. The input is the feedback message generated in step 4, and the output is the feedback message displayed on the augmented reality device.
[0299] Step 6:
[0300] The server analyzes the user's emotional state using emotion recognition means, for example, by analyzing emotions from the user's facial expressions and tone of voice using a camera and microphone. The input obtained from this analysis is video frames and audio data, and the output is the user's emotional data.
[0301] Step 7:
[0302] The server adjusts the feedback and training menu based on the emotional data. For example, if the user is tired, it instructs them to reduce the intensity of their training, or if their motivation is low, it sends them an encouraging message. The input is the emotional data obtained in step 6, and the output is the adjusted feedback message and training menu.
[0303] Step 8:
[0304] After the training is completed, the device uses a scanning device to acquire the user's body shape data as a 3D model. This scanned data is input, and the results of measuring the user's detailed size and shape are output.
[0305] Step 9:
[0306] The server analyzes the body shape data and generates an optimal training menu for the user using the menu generation means. For example, if it is determined that the user's leg muscles are weak, it will suggest training to strengthen the leg muscles. The input is the body shape data acquired in step 8, and the output is the optimal training menu for the user.
[0307] Step 10:
[0308] The generated training menu is sent to the user's computer, and the terminal displays it on the augmented reality device. The user checks the new training menu and prepares for the next training. The input is the training menu generated in step 9, and the output is the training menu displayed on the augmented reality device.
[0309] 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.
[0310] 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.
[0311] 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.
[0312] [Second embodiment]
[0313] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0314] 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.
[0315] 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).
[0316] 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.
[0317] 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.
[0318] 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).
[0319] 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.
[0320] 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.
[0321] 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.
[0322] 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.
[0323] 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.
[0324] 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."
[0325] The present invention is a system that allows a user to train at home with correct posture. The system includes a camera that captures the user's movements, a transmitter that transmits the video to the user's device in real time, an analyzer that analyzes the video and detects posture, a feedback generator that generates feedback, a display that displays the feedback, a scanner that scans the body shape, and a menu generator that generates a training menu.
[0326] System Operation Overview
[0327] 1. The terminal uses a wide-angle webcam to capture the user's actions, and the captured image is transmitted in real time to the user's device, in this case the device, via a transmission means, to the augmented reality glasses.
[0328] 2. The device sends the video frame to the server, which analyzes the video frame and detects the user's posture.
[0329] 3. The server uses the feedback generation means to generate appropriate feedback based on the detected posture data, such as whether the user's knees are at the correct angle or their back is straight.
[0330] 4. The server sends the generated feedback to the device, which displays it on the user's device. The user can view the feedback through the AR glasses and adjust their posture.
[0331] 5. When the training is completed, the terminal uses the scanning means to scan the user's body shape data and transmits the data to the server.
[0332] 6. The server analyzes the scan data and generates an optimal training menu for the user using a menu generation means. The generated menu is sent to the terminal, which displays it on the user's device.
[0333] Specific examples
[0334] For example, consider a user training for squats. When the user starts squatting, the device captures the movement with a webcam. The captured video is sent to the server in real time. The server analyzes the video frames and detects that the user's knee angle is not greater than 90 degrees. The server generates feedback such as "Bend your knees more deeply" and displays it on the user's device via the device. The user checks the feedback and improves their posture by bending their knees more deeply. The server then analyzes the video frames again and determines that their posture is correct. It updates the feedback to "Good posture."
[0335] After completing the training, the device scans the user's body shape and sends the data to the server. The server analyzes the body shape data and generates the next training menu. For example, if the server determines that the user's leg muscles are weak, it will suggest training to strengthen the leg muscles. This suggestion is displayed on the user's device via the device.
[0336] Program processing overview
[0337] The device captures the video, the server analyzes it, and then provides the user with feedback and a training menu. The specific operations and algorithms will be explained in detail in the processing steps below, but the basic steps are capture, transmission, analysis, feedback, scanning, and menu generation.
[0338] This system allows users to train correctly anywhere without the need for large spaces or expensive equipment, and by receiving real-time feedback, it reduces the risk of injury and enables effective training.
[0339] The processing flow will be explained below.
[0340] Step 1:
[0341] The device activates the webcam and captures the user's movements in real time. The webcam uses a wide-angle lens to capture the user's entire body. The captured video frames are immediately ready for processing.
[0342] Step 2:
[0343] The device transmits the captured video frames to the server in real time, and simultaneously transmits the video frames to the user's device (augmented reality glasses) so that the user can see the action.
[0344] Step 3:
[0345] The server processes the received video frames using an analytical means. An AI model is used to extract the user's posture data. At this time, the AI model calculates the position of each user's joints and posture angle, and determines the posture based on the obtained data.
[0346] Step 4:
[0347] The server evaluates the analyzed posture data and determines whether the user's posture is correct. For example, it checks whether the knees are bent at 90 degrees when squatting and whether the back is straight. In case of incorrect posture, it generates appropriate feedback.
[0348] Step 5:
[0349] The server uses the feedback generating means to generate a feedback message for the user, for example, feedback including specific instructions such as "bend your knees more" or "keep your back straight."
[0350] Step 6:
[0351] The server sends the generated feedback to the terminal, which displays the feedback message on the user's device (augmented reality glasses) so that the user can see the instructions in real time.
[0352] Step 7:
[0353] The user adjusts their posture based on the displayed feedback. The user checks their own movements through the augmented reality glasses and strives to adopt the correct posture while referring to the provided feedback.
[0354] Step 8:
[0355] The device captures the user's improved posture again and sends the video frame to the server. The server analyzes the new video frame and reassessss whether the posture has improved. If an improvement is confirmed, it generates and displays new feedback such as "Your posture is correct."
[0356] Step 9:
[0357] After the training is completed, the device scans the user's body, capturing the user's body data as a 3D model and measuring detailed size and shape.
[0358] Step 10:
[0359] The server receives and analyzes the body shape data. Based on the data obtained by the scanning means, it evaluates changes in the user's body shape and the condition of specific muscle groups, and generates a training menu for the next training session.
[0360] Step 11:
[0361] The server generates an optimal training menu for the user and transmits it to the terminal, which displays the generated training menu on the user's device, allowing the user to prepare for the next training session.
[0362] Example 1
[0363] 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."
[0364] Conventional training systems make it difficult for users to receive appropriate feedback to ensure proper posture during exercise. They also require expensive equipment and a large space, making it difficult to effectively train at home. Furthermore, they lack the ability to correct posture in real time, potentially increasing the risk of injury.
[0365] 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.
[0366] In this invention, the server includes: a camera for capturing a user's movements; a transmitter for transmitting the image captured by the camera to the user's terminal in real time; a data analyzer for analyzing the image transmitted by the transmitter and detecting the user's posture; a feedback generator for generating posture feedback for the user based on the posture information detected by the data analyzer; a display unit for displaying the feedback generated by the feedback generator on the user's terminal; a scanner for scanning the user's body shape; a menu generator for analyzing the body shape data scanned by the scanner and generating an exercise plan suitable for the user; and a display unit for displaying the exercise plan generated by the menu generator on the user's terminal. This allows the user to receive feedback on correct posture in real time at home without the need for expensive equipment or a large space, enabling safe and effective training.
[0367] "User" refers to a person who uses the system to provide training.
[0368] "Movement" refers to the physical movements and postures of the user.
[0369] "Photographing means" refers to a camera device for capturing the user's actions.
[0370] "Transmission means" refers to a communication means for transmitting the video captured by the imaging means to a server or a user's terminal in real time.
[0371] The "analysis means" refers to a computer system or software for analyzing the video transmitted by the transmission means and detecting the user's posture.
[0372] The "feedback generating means" refers to a computer system or software for generating posture feedback to the user based on the posture information detected by the analyzing means.
[0373] "Display means" refers to a device or software for displaying the generated feedback and training menu on the user's terminal.
[0374] "Terminal" refers to a device used by a user, such as an augmented reality device or a smartphone.
[0375] "Scanning Means" means a 3D scanner or similar device used to capture the User's body shape.
[0376] The "menu generation means" refers to a computer system or software that analyzes the body shape data scanned by the scanning means and generates an exercise plan suitable for the user.
[0377] An "exercise plan" refers to a series of training menus generated based on the user's body type and training results.
[0378] The present invention provides a system that allows users to train at home with proper posture. This system captures the user's movements and provides real-time feedback, allowing the user to train while maintaining proper posture. Specific embodiments of the system are described below.
[0379] Hardware and Software Configuration
[0380] 1. Photographing means: A wide-angle camera device that captures the user's actions. For example, a wide-angle web camera is used.
[0381] 2. Transmission method: A communication method for transmitting the captured video to the server and the user's device in real time. Usually, Wi-Fi or a wired network is used.
[0382] 3. Data analysis means: A computer system that analyzes the video transmitted by the transmission means and detects the user's posture. For example, it utilizes a deep learning model using TensorFlow or PyTorch.
[0383] 4. Feedback generation means: A computer system for generating posture feedback to the user based on the posture information detected by the data analysis means. A natural language generation model (e.g., GPT-3) may be used.
[0384] 5. Display means: A device that displays the generated feedback on the user's terminal. For example, an augmented reality device (AR glasses) or a smartphone can be used.
[0385] 6. Scanning method: 3D scanner or depth camera to scan the user's body shape.
[0386] 7. Menu generation means: A computer system for analyzing the scan data and generating an exercise plan suitable for the user.
[0387] Example of a system
[0388] Take the example of a user training for squats. First, when the user starts squatting, the device captures the movement with a wide-angle webcam. The captured video is sent to the server in real time. The server analyzes the received video frames and detects the user's posture, such as the angle of the knees and the line of the back.
[0389] If the analysis finds that the user's knee angle is not greater than 90 degrees, the server generates feedback such as "Bend your knees more deeply." This feedback is displayed on the user's augmented reality device via the device. The user can confirm the feedback and improve their posture by bending their knees more deeply.
[0390] After the training is completed, the device scans the user's body shape and sends the data to the server. The server analyzes the scan data and generates the next training menu. For example, if the server determines that the user's leg muscles are weak, it will suggest training to strengthen the leg muscles. This suggestion is displayed on the user's device via the device, allowing the user to plan their next training.
[0391] Prompt Sentence Examples
[0392] Here is an example of a prompt to input to the generative AI model: "Write code for an AI model that detects in real time whether the knee angle is greater than 90 degrees when a user is doing squat training at home and provides appropriate feedback."
[0393] In this way, the present invention allows users to train at home without the need for expensive equipment or large spaces, while receiving accurate feedback in real time, thereby enabling users to achieve safe and effective training.
[0394] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0395] Step 1: Capture the action
[0396] The device captures the user's movements using a wide-angle webcam. The input is the user's actual movement (e.g., squatting), and the output is the captured video data. The captured video data is an image frame containing the user's movement information, which is the specific movement obtained in real time.
[0397] Step 2: Sending the video
[0398] The device transmits the captured video to the server in real time via a transmission means. The input is the video data acquired from the webcam, and the output is the transmission of this video data to the server. Wi-Fi or a wired network is used for transmission, and HTTPS or WebSocket is the common data communication protocol.
[0399] Step 3: Posture analysis
[0400] The server analyzes the received video frames using a data analysis method to detect the user's posture. The input is the transmitted video frame, and the output is posture data including the position information of each joint point (knee, elbow, shoulder, etc.). This is the specific operation in which a deep learning model (e.g., using TensorFlow or PyTorch) analyzes the video and extracts the user's posture information.
[0401] Step 4: Generate feedback
[0402] The server generates appropriate feedback using a feedback generation means based on the posture data obtained by the analysis means. The input is posture data, and the output is the generated feedback text. This is an operation that uses a natural language generation model (e.g., GPT-3) to generate specific feedback such as "Bend your knees more deeply."
[0403] Step 5: View your feedback
[0404] The server sends the generated feedback to the device, and the feedback is displayed on the user's device. The input is the generated feedback text, and the output is the feedback displayed on the user's device. A specific example of this behavior is the message "Bend your knees deeper" being displayed on the AR glasses.
[0405] Step 6: Body Scan
[0406] After the training is completed, the device scans the user's body shape data using a scanning means. The input is the user's body shape, and the output is the scanned body shape data. This is a specific operation that captures detailed body shape data using a 3D scanner or depth camera.
[0407] Step 7: Create a training menu
[0408] The server analyzes the scan data and generates an exercise plan suitable for the user using a menu generation method. The input is the scanned body shape data, and the output is the generated exercise plan. The analysis uses machine learning cluster analysis and feature extraction methods, and specific movements such as "exercises for strengthening leg muscles" are suggested.
[0409] Step 8: Display the menu
[0410] The server sends the exercise plan generated by the menu generation means to the terminal and displays it on the user's terminal. The input is the generated exercise plan, and the output is the exercise plan displayed on the user's device. Specific examples of this operation include a training menu displayed on AR glasses or a smartphone.
[0411] (Application example 1)
[0412] 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."
[0413] Conventional training systems are limited to providing feedback to ensure users are performing exercises with the correct posture, making it difficult to monitor and adjust the accuracy of robot movements in real time on factory floors. Furthermore, there was a lack of a means to properly evaluate user and robot posture data and work efficiency, and to generate training menus and work programs based on that evaluation, resulting in increased effort and time for robot operators.
[0414] 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.
[0415] In this invention, the server includes an image capturing means, a transmitting means, an analyzing means, a feedback generating means, a display means, a scanning means, and a menu generating means, which enables real-time monitoring of the postures of the user and the robot, and provides appropriate feedback and proposes an optimal execution plan.
[0416] "User" refers to a person who uses this system to perform training and work management.
[0417] "Motion capture" refers to recording the movements of a user or robot using a camera or other imaging means.
[0418] The "photography means" is a device that captures the movements of the user or robot in real time and records them as video data.
[0419] The "transmission means" refers to equipment or software for transmitting the video data captured by the image capture means to other devices or servers in real time.
[0420] The "analysis means" refers to a device or program that analyzes the transmitted video data and detects the posture and movement of the user or robot.
[0421] The "feedback generating means" is a device or program that generates appropriate feedback based on the posture and movement information detected by the analyzing means.
[0422] The "display means" is a device or program for displaying the feedback and training menu created by the feedback generation means on a device of the user or monitoring system.
[0423] "Scanning means" refers to a device or program for scanning the user's body shape data and the robot's shape data and recording them as digital data.
[0424] The "menu generation means" is a device or program that analyzes the data acquired by the scanning means and generates a training menu suitable for the user and an execution plan for the robot.
[0425] A "robot" is an automated mechanical device used to perform tasks in manufacturing.
[0426] "Monitoring system" refers to the entire system for monitoring the robot's operations in real time and displaying appropriate feedback.
[0427] The present invention is a system that enables users and factory robots to perform work with correct posture. This system includes an imaging means for capturing the movements of the user or robot, a transmission means for transmitting the images in real time, an analysis means for analyzing the transmitted images to detect the posture, a feedback generation means for generating feedback, a display means for displaying the generated feedback, a scanning means for scanning shape data, and a menu generation means for generating an optimal execution plan based on the analyzed data.
[0428] The operation of this system is outlined below.
[0429] First, a terminal (e.g., a device equipped with a wide-angle webcam) captures the movements of the user or robot. The captured video is sent to a server in real time. The server analyzes the video frames using an analysis means to detect the posture of the user or robot. Based on the detected posture data, a feedback generation means creates appropriate feedback. For example, it determines whether the angle of the user's knees is correct or the movement of the robot arm is accurate. The generated feedback is displayed on the user's device or a monitoring system. The user or operator can check this feedback and adjust their posture or movement appropriately.
[0430] Furthermore, when training or work is completed, the terminal uses the scanning means to scan the shape data of the user or robot and transmits the data to the server. The server analyzes the scanned data and uses the menu generation means to generate an optimal training menu and execution plan for the user or robot. The generated menu is displayed on the user's device or monitoring system via the terminal.
[0431] For example, consider a user training for squats. When the user starts squatting, the device captures the movement with a webcam. The captured video is sent to a server in real time, and the server analyzes the video frames and detects that the user's knee angle is not greater than 90 degrees. The server generates feedback such as "Bend your knees more deeply" and displays it on the user's device via the device. The user checks the feedback and improves their posture by bending their knees more deeply.
[0432] In factories, it is also important for robot arms to perform their work with accurate posture. A wide-angle web camera captures the movement of the robot arm and sends the video in real time to a monitoring system. The server analyzes the video frames and generates feedback based on the robot arm's posture data. If the correct posture or movement is not detected, a warning message is displayed on the operator's device, allowing immediate correction.
[0433] As a concrete example, by inputting a prompt sentence into the generative AI model, it is possible to obtain an algorithm for generating feedback that matches the context and an example of a user interface design. For example, by inputting "Monitor the movement of the robot arm captured by this camera in real time, and display a warning if the posture is not appropriate," it is possible to obtain a method for generating appropriate feedback.
[0434] In this way, the present invention enables users and robots to perform precise and efficient movements and training anywhere, without the need for expensive equipment or a large space.
[0435] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0436] Step 1:
[0437] The motion of the user or robot is captured. The terminal uses a wide-angle web camera to capture video in real time and acquires the video. It receives the motion video as input and generates the captured video data as output. This video data is processed by the transmitting means in the next step.
[0438] Step 2:
[0439] The captured video is transmitted in real time. The terminal encodes the captured video data and transmits it to the server through the transmission means. The terminal receives the captured video data as input and performs data encoding and transmission. The terminal generates the video data transmitted to the server as output.
[0440] Step 3:
[0441] Analyze the transmitted video data. The server uses an analysis means to analyze the received video frames and detect posture data of the user and robot. It takes the received video data as input and analyzes the posture using an image recognition algorithm. It generates posture data as output.
[0442] Step 4:
[0443] Generate feedback. The server utilizes the feedback generation means to generate appropriate feedback based on the posture data obtained by the analysis means. It receives posture data as input and generates an appropriate feedback message (e.g., "Bend your knees more deeply") based on it. It generates the feedback message as output.
[0444] Step 5:
[0445] Displaying the generated feedback: The terminal displays the generated feedback on the user's device (e.g., augmented reality glasses or a tablet) or on a monitoring system. It receives the feedback message as input and generates the feedback that is displayed on the user's device or on the monitoring system as output.
[0446] Step 6:
[0447] Scanning shape data. After the training or task is completed, the terminal uses the scanning means to scan the shape data of the user or robot and acquires the data. The scanned shape data is used as input, and the scanned shape data is generated as output.
[0448] Step 7:
[0449] Analyze the scan data and generate an action plan. The server analyzes the data acquired by the scanning means and creates an optimal training menu and action plan using the menu generation means. It receives the scan data as input and generates a new training menu and action plan as output.
[0450] Step 8:
[0451] Display the generated execution plan. The terminal displays the generated training menu and execution plan on the user's device or monitoring system. It receives a new execution plan as input and generates an execution plan that is displayed to the user or operator as output.
[0452] This series of processes enables real-time monitoring and adjustment of the posture and movements of users and robots, enabling optimal training and work management.
[0453] 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.
[0454] The present invention provides a system that allows a user to train at home with correct posture and further has the function of recognizing the user's emotions and adjusting the training based on the emotions. The system includes a camera that captures the user's movements, a transmitter that transmits the video to the user's device in real time, an analyzer that analyzes the video and detects the user's posture, a feedback generator that generates feedback, a displayer that displays the feedback, a scanner that scans the body shape, a menu generator that generates a training menu, and an emotion recognizer that recognizes the user's emotions.
[0455] System Operation Overview
[0456] 1. The device uses a wide-angle webcam to capture the user's movements in real time, and the captured video frames are immediately ready for processing.
[0457] 2. The device transmits the captured video frames to the server in real time, and simultaneously transmits the video frames to the user's device (augmented reality glasses) so that the user can see the action.
[0458] 3. The server processes the received video frames using an analytical tool. It uses an AI model to extract the user's posture data. The AI model calculates the position of each joint and the angle of the user's posture, and determines the posture based on the obtained data.
[0459] 4. The server evaluates the analyzed posture data and determines whether the user's posture is correct. If the posture is incorrect, it generates appropriate feedback.
[0460] 5. The server generates a feedback message for the user using the feedback generation means, for example, feedback including specific instructions such as "bend your knees more" or "keep your back straight."
[0461] 6. The server sends the generated feedback to the device, which displays it on the user's device. The user checks the feedback and adjusts their posture.
[0462] 7. The server analyzes the user's emotional state using emotion recognition means, for example, by analyzing the user's facial expressions and tone of voice using a camera and microphone.
[0463] 8. The server uses the emotional data to provide feedback and adjust the training menu. For example, if the user is tired, it might instruct them to reduce the intensity of their training, or if they are unmotivated, it might send them encouraging messages.
[0464] 9. After the training is completed, the device uses a scanning means to obtain the user's body data as a 3D model and measure its detailed size and shape.
[0465] 10. The server analyzes the body shape data and generates an optimal training menu for the user using a menu generation means. The generated menu is sent to the terminal, which displays it on the user's device.
[0466] Specific examples
[0467] For example, consider a case where a user is training to do squats. When the user starts squatting, the device captures the movement with a webcam. The video frames are sent to a server in real time, and an analysis means detects that the user's knee angle is not greater than 90 degrees. The server generates feedback such as "Bend your knees more deeply" and displays it on the user's device via the device. The user checks the feedback and improves their posture by bending their knees more deeply.
[0468] The server then uses emotion recognition to analyze the user's facial expressions and voice, and if the user feels dissatisfied or fatigued with the training, adjusts the feedback accordingly. For example, it can motivate the user by sending an encouraging message such as, "You're almost there! Keep up the great work!"
[0469] After completing the training, the device scans the user's body shape and sends the data to the server. The server analyzes the body shape data and generates a training menu for the next training session. For example, if the server determines that the user's leg muscles are weak, it will suggest training to strengthen the leg muscles. The generated training menu is then displayed on the user's device via the device.
[0470] This system allows users to train properly anywhere without requiring a large space or expensive equipment. Real-time feedback reduces the risk of injury and enables effective training. Furthermore, by combining it with emotion recognition, it is possible to provide flexible training tailored to the user's physical condition and emotions.
[0471] The processing flow will be explained below.
[0472] Step 1:
[0473] The device activates the webcam and captures the user's movements in real time. The webcam uses a wide-angle lens to capture the user's entire body. The captured video frames are immediately ready for processing.
[0474] Step 2:
[0475] The device transmits the captured video frames to the server in real time, and simultaneously transmits the video frames to the user's device (augmented reality glasses) so that the user can see their own movements.
[0476] Step 3:
[0477] The server processes the received video frames using an analytical means. An AI model is used to extract the user's posture data. At this time, the AI model calculates the position of each user's joints and posture angle, and determines the posture based on the obtained data.
[0478] Step 4:
[0479] The server evaluates the analyzed posture data and determines whether the user's posture is correct. For example, it checks whether the knees are bent at 90 degrees when squatting and whether the back is straight. In case of incorrect posture, it generates appropriate feedback.
[0480] Step 5:
[0481] The server uses the feedback generating means to generate a feedback message for the user, for example, feedback including specific instructions such as "bend your knees more" or "keep your back straight."
[0482] Step 6:
[0483] The server sends the generated feedback to the terminal, which displays the feedback message on the user's device (augmented reality glasses) so that the user can see the instructions in real time.
[0484] Step 7:
[0485] The user adjusts their posture based on the displayed feedback. The user checks their own movements through the augmented reality glasses and strives to adopt the correct posture while referring to the provided feedback.
[0486] Step 8:
[0487] The device captures the user's improved posture again and sends the video frame to the server. The server analyzes the new video frame and reassessss whether the posture has improved. If an improvement is confirmed, it generates and displays new feedback such as "Your posture is correct."
[0488] Step 9:
[0489] The server uses emotion recognition means to analyze the user's facial expressions and voice to analyze the user's emotional state, for example, by using a camera and microphone to analyze emotions from the user's facial expressions and tone of voice.
[0490] Step 10:
[0491] The server uses the emotional data to provide feedback and adjust the training menu, for example, by instructing the user to reduce the intensity of their training if they are tired, or by sending encouraging messages if they are unmotivated.
[0492] Step 11:
[0493] After the training is completed, the terminal uses a scanning means to acquire the user's body shape data as a 3D model and measure its detailed size and shape.
[0494] Step 12:
[0495] The server receives and analyzes the body shape data, evaluates changes in the user's body shape and the condition of specific muscle groups based on the data obtained by the scanning means, and generates a training menu for the next training session.
[0496] Step 13:
[0497] The server generates an optimal training menu for the user and transmits it to the terminal, which displays the generated training menu on the user's device, allowing the user to prepare for the next training session.
[0498] Example 2
[0499] 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."
[0500] Previously, users needed specialized knowledge and equipment to train with the correct posture at home, and doing it on their own carried the risk of injury due to incorrect posture. It was also difficult to adjust training to suit the user's emotions and physical condition, making it difficult to maintain motivation.
[0501] The identification process by the identification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes a photographing means for capturing the user's movements, a transmitting means for transmitting the video captured by the photographing means to the user's device in real time, and an analyzing means for analyzing the video transmitted by the transmitting means to detect the user's posture. This enables real-time feedback to help the user train with correct posture.
[0502] "Photographing means" refers to an apparatus or device for capturing user actions, such as a wide-angle web camera.
[0503] "Transmission means" refers to the communications equipment and protocols used to transmit the captured video in real time to a user's device or server.
[0504] The "analysis means" refers to software or algorithms for analyzing the video data transmitted by the transmission means and detecting the user's posture.
[0505] The "feedback generating means" is a means for providing the user with specific instructions and warnings for correcting their posture based on the posture information detected by the analyzing means.
[0506] The "display means" refers to a device or interface for displaying the feedback and training menu generated by the feedback generation means on the user's device.
[0507] "Scanning Means" means any device or technology used to scan a user's body shape and generate detailed 3D model data.
[0508] The "menu generating means" is a means for creating a training menu suited to the user based on the body shape data obtained by the scanning means and the analyzed posture information.
[0509] "Emotion recognition means" refers to technologies and algorithms for analyzing and evaluating a user's emotional state from facial expressions, voice, etc.
[0510] The "adjustment means" is a means for adjusting the feedback content and the intensity of the training menu based on the emotion information obtained by the emotion recognition means.
[0511] The present invention provides a system that allows a user to train at home with correct posture and further has the function of recognizing the user's emotions and adjusting the training based on the emotions. The system includes a camera that captures the user's movements, a transmitter that transmits the video to the user's device in real time, an analyzer that analyzes the video and detects the user's posture, a feedback generator that generates feedback, a displayer that displays the feedback, a scanner that scans the body shape, a menu generator that generates a training menu, and an emotion recognizer that recognizes the user's emotions.
[0512] Specifically, the device first captures the user's movements in real time using a wide-angle webcam. The captured video frames are then immediately ready for processing. The device then transmits the captured video frames to a server in real time, and simultaneously transmits the video frames to the user's device (e.g., augmented reality glasses), allowing the user to view the movements themselves.
[0513] The server then processes the received video frames using an analytical method, extracting the user's posture data using a specific AI model. The AI model calculates the position of each user's joints and posture angles, and determines the user's posture based on the obtained data. For example, it uses TensorFlow or PyTorch libraries to execute advanced posture estimation algorithms.
[0514] The server then evaluates the analyzed posture data to determine whether the user's posture is correct. If the posture is incorrect, it generates appropriate feedback. The generated feedback message contains specific instructions and is created using natural language generation technology. Possible feedback might be, "Bend your knees more."
[0515] The server sends the generated feedback to the terminal, which then displays it on the user's device, allowing the user to check the feedback and adjust their posture. At this time, the user interface is designed to reliably convey the feedback content.
[0516] Furthermore, the server uses emotion recognition to analyze the user's emotional state. Using a camera and microphone, emotions are analyzed from the user's facial expressions and tone of voice, and emotions such as "tired" or "low motivation" are identified. Emotion analysis utilizes Google Cloud Speech-to-Text API as a voice analysis technology, and libraries such as OpenCV and dlib for facial expression analysis.
[0517] The server uses the emotional data to provide feedback and adjust the training menu. For example, if the user is tired, the server can instruct them to reduce the intensity of their training or send them a message of encouragement such as, "You're almost there! Keep up the great work!"
[0518] After the training is completed, the terminal uses a scanning means to acquire the user's body shape data as a 3D model and measure its detailed size and shape. The server analyzes the body shape data and uses a menu generation means to generate an optimal training menu for the user. For example, if it is determined that the leg muscles are weak, it will suggest training to strengthen the leg muscles. The generated training menu is displayed on the user's device via the terminal.
[0519] Specific examples
[0520] For example, consider a case where a user is training to do squats. When the user starts squatting, the device captures the movement with a webcam. The video frames are sent to a server in real time, and an analysis means detects that the user's knee angle is not greater than 90 degrees. The server generates feedback such as "Bend your knees more deeply" and displays it on the user's device via the device. The user checks the feedback and improves their posture by bending their knees more deeply.
[0521] The server then uses emotion recognition to analyze the user's facial expressions and voice, and if the user feels dissatisfied or fatigued with the training, adjusts the feedback accordingly. For example, it can motivate the user by sending an encouraging message such as, "You're almost there! Keep up the great work!"
[0522] After completing the training, the device scans the user's body shape and sends the data to the server. The server analyzes the body shape data and generates a training menu for the next training session. For example, if the server determines that the user's leg muscles are weak, it will suggest training to strengthen the leg muscles. The generated training menu is then displayed on the user's device via the device.
[0523] Example prompt
[0524] Here is an example of how the following prompt sentence is input to a generative AI model:
[0525] This system allows users to train at home with correct posture and receive real-time feedback. The system captures the user's movements with a wide-angle webcam, analyzes their posture using an AI model, and generates feedback. It also analyzes the user's emotions and adjusts the training menu based on the emotional data. As a concrete example, please show us the steps a user takes to perform squats.
[0526] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0527] Step 1:
[0528] The device captures the user's movements in real time using a wide-angle webcam. When the user starts training, the wide-angle webcam captures the user's movements and acquires the video frames. The input is the user's movements, and the output is the video frames captured in real time.
[0529] Step 2:
[0530] The terminal transmits the captured video frames to the server in real time, and simultaneously transmits the video frames to the user's device (e.g., augmented reality glasses) so that the user can see their own movements. The input is the captured video frames, and the output is the video frames transmitted to the server and the user's device.
[0531] Step 3:
[0532] The video frames received by the server are processed by an analytical means. Specifically, an AI model is used to extract the user's posture data. The input is the video frame sent to the server, and the output is posture data including the position of each joint and the posture angle of the user. In this case, the posture estimation algorithm is executed using the TensorFlow and PyTorch libraries.
[0533] Step 4:
[0534] The server evaluates the analyzed posture data and determines whether the user's posture is correct. If the posture is incorrect, it generates an appropriate feedback message. The input is posture data, and the output is the posture evaluation result and a feedback message. For example, natural language generation technology is used to create feedback such as "Bend your knees more deeply."
[0535] Step 5:
[0536] The server sends the generated feedback to the terminal, which displays it on the user's device. The user checks the feedback and adjusts their posture. The input is the feedback message, and the output is the feedback displayed on the user's device. The display uses the interface of the user device.
[0537] Step 6:
[0538] The server uses emotion recognition to analyze the user's emotional state. It uses a camera and microphone to analyze emotions from the user's facial expressions and tone of voice, identifying emotions such as "tired" or "low motivation." The input is the user's video and audio data, and the output is the analyzed emotional information. Emotion analysis uses OpenCV, dlib, Google Cloud Speech-to-Text API, etc.
[0539] Step 7:
[0540] The server adjusts feedback and training menus based on emotional data. If the user is tired, it may instruct them to reduce the intensity of their training or send an encouraging message such as "You're almost there! Keep up the great work!" The input is emotional information, and the output is the adjusted feedback message and training menu.
[0541] Step 8:
[0542] After the training is completed, the device uses a scanning means to acquire the user's body shape data as a 3D model and measure its detailed size and shape. The input is the user's body shape after the training is completed, and the output is the acquired 3D model data. A dedicated scanner device is used for the scanning.
[0543] Step 9:
[0544] The server analyzes the body shape data and generates an optimal training menu for the user using a menu generation means. For example, if it is determined that the leg muscles are weak, it will suggest training to strengthen the leg muscles. The input is the scanned body shape data, and the output is a newly generated training menu. The generated training menu is displayed on the user's device via the terminal.
[0545] (Application example 2)
[0546] 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."
[0547] Modern lifestyles demand effective training at home, but maintaining proper posture without professional instruction can be difficult, reducing effectiveness and increasing the risk of injury. Furthermore, the lack of feedback that takes into account the user's emotional state during training makes it difficult to maintain motivation. In particular, there is a need for real-time posture correction instructions and training adjustments based on the user's emotions.
[0548] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0549] In this invention, the server includes a photographing means for capturing a user's movements, a transmitting means for transmitting the image captured by the photographing means to the user's computer in real time, a analyzing means for analyzing the image transmitted by the transmitting means and detecting the user's posture, a feedback generating means for generating posture feedback for the user based on the posture information detected by the analyzing means, a display means for displaying the feedback generated by the feedback generating means on the user's computer, a scanning means for scanning the user's body shape, an emotion recognizing means for recognizing the user's emotion based on the image of the user's movements acquired by the scanning means, an adjusting means for adjusting the feedback and training menu based on the emotional state recognized by the emotion recognizing means, a menu generating means for analyzing the body shape data scanned by the scanning means and generating a training menu suitable for the user, and a display means for displaying the training menu generated by the menu generating means on the user's computer. This enables the user to perform effective training at home while maintaining correct posture, and further allows the user to receive appropriate feedback and training adjustments according to their emotions.
[0550] The "photography means for capturing the user's movements" refers to a device for recording the user's training movements, and includes a wide-angle photographing device and a camera.
[0551] The "transmission means" is a device or function for transmitting the image captured by the image capture means to the user's computer in real time.
[0552] The "analysis means" is software or hardware for processing the video transmitted by the transmission means and detecting the user's posture.
[0553] The "feedback generating means" is a function for generating instructions to the user to improve or correct their posture based on the posture information obtained by the analyzing means.
[0554] The "display means" is a device or function for displaying the feedback generated by the feedback generation means on the user's computer.
[0555] The "scanning means" refers to a device or function for scanning the user's body shape and acquiring the data.
[0556] The "emotion recognition means" is a device or function for analyzing the emotional state of a user based on the video of the user's actions acquired by the scanning means.
[0557] The "adjustment means" is a function for appropriately adjusting feedback and training menus based on the user's emotional state recognized by the emotion recognition means.
[0558] The "menu generation means" is a function for generating an optimal training menu for a user based on the body shape data obtained by the scanning means and past training results.
[0559] An "augmented reality device" is a device that allows a user to visually see additional information superimposed on it, typically in the form of glasses or a headset.
[0560] A "wide-angle imaging device" is a camera or imaging device that has a wide viewing angle and can capture the entire user's movements.
[0561] The present invention provides a system that allows users to train with proper posture at home. Specific embodiments are described below.
[0562] 1. Hardware and Software Requirements
[0563] The server performs processing using multiple hardware and software components, including a wide-angle camera, an augmented reality device, and a network interface for data transmission, using libraries and frameworks such as Python, OpenCV, TensorFlow, and Keras.
[0564] 2. Processing Overview
[0565] Motion capture and transmission
[0566] The user's movements are captured in real time by a wide-angle camera, and the captured images are sent to a server over a network and simultaneously to an augmented reality device.
[0567] Posture analysis and feedback generation
[0568] The server analyzes the received video frames and uses an AI model to detect the user's posture. Based on the analysis results, it determines whether the posture is appropriate, and if it is inappropriate, it generates specific feedback using a feedback generation means.
[0569] Emotion recognition and feedback regulation
[0570] The emotional state of the user is analyzed using emotion recognition means based on video of the user's movements. For example, this includes analyzing facial expressions and voice tone using a camera and microphone. Training menus and feedback can be adjusted based on this emotional state.
[0571] Body scan and menu generation
[0572] After the training is completed, the user's body shape is scanned to obtain detailed data. Based on this data, a menu generation means generates an optimal training menu for the user. This menu is also displayed via the augmented reality device.
[0573] 3. Specific Examples
[0574] For example, when a user performs a plank exercise, a wide-angle camera captures the user's movements and sends them to a server. This data is used to analyze whether the user's posture is appropriate, and feedback such as "Lift your abdomen a little more" is generated and displayed on the user's augmented reality device. If the system detects signs of fatigue in the user's facial expression, it displays an encouraging message such as "Keep up! 10 seconds left!"
[0575] Example prompts to input to the generative AI model
[0576] "The user is in a plank position. Video analysis detects that the abdomen is not lifted properly. You provide feedback to the user saying, 'Lift your abdomen a bit more.' Additionally, facial analysis indicates signs of fatigue. If you were a coach, what encouraging message would you send and how would you suggest improving the next movement?"
[0577] This allows users to maintain correct posture while training effectively at home, and also allows them to receive appropriate feedback and training adjustments based on their emotions.
[0578] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0579] Step 1:
[0580] A wide-angle camera is used to capture the user's movements. The user's training movements are input as video frames. These video frames are sent to the user's computer in real time. The output is the real-time captured video frames.
[0581] Step 2:
[0582] The user's computer sends the captured video frames to the server in real time. At the same time, the video frames are also sent to the user's augmented reality device, allowing the user to see the action. The input is the video frames captured in step 1, and the output is the video frames sent to the server and the user's augmented reality device.
[0583] Step 3:
[0584] The server processes the received video frames using an analytical method. It uses an AI model (for example, a model using TensorFlow or Keras) to extract the user's posture data. The server then calculates the position of each joint and the posture angle based on this data. The input is the video frame sent in step 2, and the output is the user's posture data.
[0585] Step 4:
[0586] The server evaluates the analyzed posture data and determines whether the user's posture is correct. If the posture is incorrect, it uses a feedback generation means to generate appropriate feedback. For example, it generates instructions such as "bend your knees more" or "keep your back straight." The input is the posture data obtained in step 3, and the output is a feedback message.
[0587] Step 5:
[0588] The server sends the generated feedback to the user's computer, which then displays it on the augmented reality device. The user checks this feedback and adjusts their posture. The input is the feedback message generated in step 4, and the output is the feedback message displayed on the augmented reality device.
[0589] Step 6:
[0590] The server analyzes the user's emotional state using emotion recognition means, for example, by analyzing emotions from the user's facial expressions and tone of voice using a camera and microphone. The input obtained from this analysis is video frames and audio data, and the output is the user's emotional data.
[0591] Step 7:
[0592] The server adjusts the feedback and training menu based on the emotional data. For example, if the user is tired, it instructs them to reduce the intensity of their training, or if their motivation is low, it sends them an encouraging message. The input is the emotional data obtained in step 6, and the output is the adjusted feedback message and training menu.
[0593] Step 8:
[0594] After the training is completed, the device uses a scanning device to acquire the user's body shape data as a 3D model. This scanned data is input, and the results of measuring the user's detailed size and shape are output.
[0595] Step 9:
[0596] The server analyzes the body shape data and generates an optimal training menu for the user using the menu generation means. For example, if it is determined that the user's leg muscles are weak, it will suggest training to strengthen the leg muscles. The input is the body shape data acquired in step 8, and the output is the optimal training menu for the user.
[0597] Step 10:
[0598] The generated training menu is sent to the user's computer, and the terminal displays it on the augmented reality device. The user checks the new training menu and prepares for the next training. The input is the training menu generated in step 9, and the output is the training menu displayed on the augmented reality device.
[0599] 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.
[0600] 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.
[0601] 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.
[0602] [Third embodiment]
[0603] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0604] 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.
[0605] 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).
[0606] 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.
[0607] 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.
[0608] 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).
[0609] 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.
[0610] 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.
[0611] 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.
[0612] 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.
[0613] 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.
[0614] 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."
[0615] The present invention is a system that allows a user to train at home with correct posture. The system includes a camera that captures the user's movements, a transmitter that transmits the video to the user's device in real time, an analyzer that analyzes the video and detects posture, a feedback generator that generates feedback, a display that displays the feedback, a scanner that scans the body shape, and a menu generator that generates a training menu.
[0616] System Operation Overview
[0617] 1. The terminal uses a wide-angle webcam to capture the user's actions, and the captured image is transmitted in real time to the user's device, in this case the device, via a transmission means, to the augmented reality glasses.
[0618] 2. The device sends the video frame to the server, which analyzes the video frame and detects the user's posture.
[0619] 3. The server uses the feedback generation means to generate appropriate feedback based on the detected posture data, such as whether the user's knees are at the correct angle or their back is straight.
[0620] 4. The server sends the generated feedback to the device, which displays it on the user's device. The user can view the feedback through the AR glasses and adjust their posture.
[0621] 5. When the training is completed, the terminal uses the scanning means to scan the user's body shape data and transmits the data to the server.
[0622] 6. The server analyzes the scan data and generates an optimal training menu for the user using a menu generation means. The generated menu is sent to the terminal, which displays it on the user's device.
[0623] Specific examples
[0624] For example, consider a user training for squats. When the user starts squatting, the device captures the movement with a webcam. The captured video is sent to the server in real time. The server analyzes the video frames and detects that the user's knee angle is not greater than 90 degrees. The server generates feedback such as "Bend your knees more deeply" and displays it on the user's device via the device. The user checks the feedback and improves their posture by bending their knees more deeply. The server then analyzes the video frames again and determines that their posture is correct. It updates the feedback to "Good posture."
[0625] After completing the training, the device scans the user's body shape and sends the data to the server. The server analyzes the body shape data and generates the next training menu. For example, if the server determines that the user's leg muscles are weak, it will suggest training to strengthen the leg muscles. This suggestion is displayed on the user's device via the device.
[0626] Program processing overview
[0627] The device captures the video, the server analyzes it, and then provides the user with feedback and a training menu. The specific operations and algorithms will be explained in detail in the processing steps below, but the basic steps are capture, transmission, analysis, feedback, scanning, and menu generation.
[0628] This system allows users to train correctly anywhere without the need for large spaces or expensive equipment, and by receiving real-time feedback, it reduces the risk of injury and enables effective training.
[0629] The processing flow will be explained below.
[0630] Step 1:
[0631] The device activates the webcam and captures the user's movements in real time. The webcam uses a wide-angle lens to capture the user's entire body. The captured video frames are immediately ready for processing.
[0632] Step 2:
[0633] The device transmits the captured video frames to the server in real time, and simultaneously transmits the video frames to the user's device (augmented reality glasses) so that the user can see the action.
[0634] Step 3:
[0635] The server processes the received video frames using an analytical means. An AI model is used to extract the user's posture data. At this time, the AI model calculates the position of each user's joints and posture angle, and determines the posture based on the obtained data.
[0636] Step 4:
[0637] The server evaluates the analyzed posture data and determines whether the user's posture is correct. For example, it checks whether the knees are bent at 90 degrees when squatting and whether the back is straight. In case of incorrect posture, it generates appropriate feedback.
[0638] Step 5:
[0639] The server uses the feedback generating means to generate a feedback message for the user, for example, feedback including specific instructions such as "bend your knees more" or "keep your back straight."
[0640] Step 6:
[0641] The server sends the generated feedback to the terminal, which displays the feedback message on the user's device (augmented reality glasses) so that the user can see the instructions in real time.
[0642] Step 7:
[0643] The user adjusts their posture based on the displayed feedback. The user checks their own movements through the augmented reality glasses and strives to adopt the correct posture while referring to the provided feedback.
[0644] Step 8:
[0645] The device captures the user's improved posture again and sends the video frame to the server. The server analyzes the new video frame and reassessss whether the posture has improved. If an improvement is confirmed, it generates and displays new feedback such as "Your posture is correct."
[0646] Step 9:
[0647] After the training is completed, the device scans the user's body, capturing the user's body data as a 3D model and measuring detailed size and shape.
[0648] Step 10:
[0649] The server receives and analyzes the body shape data. Based on the data obtained by the scanning means, it evaluates changes in the user's body shape and the condition of specific muscle groups, and generates a training menu for the next training session.
[0650] Step 11:
[0651] The server generates an optimal training menu for the user and transmits it to the terminal, which displays the generated training menu on the user's device, allowing the user to prepare for the next training session.
[0652] Example 1
[0653] 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."
[0654] Conventional training systems make it difficult for users to receive appropriate feedback to ensure proper posture during exercise. They also require expensive equipment and a large space, making it difficult to effectively train at home. Furthermore, they lack the ability to correct posture in real time, potentially increasing the risk of injury.
[0655] 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.
[0656] In this invention, the server includes: a camera for capturing a user's movements; a transmitter for transmitting the image captured by the camera to the user's terminal in real time; a data analyzer for analyzing the image transmitted by the transmitter and detecting the user's posture; a feedback generator for generating posture feedback for the user based on the posture information detected by the data analyzer; a display unit for displaying the feedback generated by the feedback generator on the user's terminal; a scanner for scanning the user's body shape; a menu generator for analyzing the body shape data scanned by the scanner and generating an exercise plan suitable for the user; and a display unit for displaying the exercise plan generated by the menu generator on the user's terminal. This allows the user to receive feedback on correct posture in real time at home without the need for expensive equipment or a large space, enabling safe and effective training.
[0657] "User" refers to a person who uses the system to provide training.
[0658] "Movement" refers to the physical movements and postures of the user.
[0659] "Photographing means" refers to a camera device for capturing the user's actions.
[0660] "Transmission means" refers to a communication means for transmitting the video captured by the imaging means to a server or a user's terminal in real time.
[0661] The "analysis means" refers to a computer system or software for analyzing the video transmitted by the transmission means and detecting the user's posture.
[0662] The "feedback generating means" refers to a computer system or software for generating posture feedback to the user based on the posture information detected by the analyzing means.
[0663] "Display means" refers to a device or software for displaying the generated feedback and training menu on the user's terminal.
[0664] "Terminal" refers to a device used by a user, such as an augmented reality device or a smartphone.
[0665] "Scanning Means" means a 3D scanner or similar device used to capture the User's body shape.
[0666] The "menu generation means" refers to a computer system or software that analyzes the body shape data scanned by the scanning means and generates an exercise plan suitable for the user.
[0667] An "exercise plan" refers to a series of training menus generated based on the user's body type and training results.
[0668] The present invention provides a system that allows users to train at home with proper posture. This system captures the user's movements and provides real-time feedback, allowing the user to train while maintaining proper posture. Specific embodiments of the system are described below.
[0669] Hardware and Software Configuration
[0670] 1. Photographing means: A wide-angle camera device that captures the user's actions. For example, a wide-angle web camera is used.
[0671] 2. Transmission method: A communication method for transmitting the captured video to the server and the user's device in real time. Usually, Wi-Fi or a wired network is used.
[0672] 3. Data analysis means: A computer system that analyzes the video transmitted by the transmission means and detects the user's posture. For example, it utilizes a deep learning model using TensorFlow or PyTorch.
[0673] 4. Feedback generation means: A computer system for generating posture feedback to the user based on the posture information detected by the data analysis means. A natural language generation model (e.g., GPT-3) may be used.
[0674] 5. Display means: A device that displays the generated feedback on the user's terminal. For example, an augmented reality device (AR glasses) or a smartphone can be used.
[0675] 6. Scanning method: 3D scanner or depth camera to scan the user's body shape.
[0676] 7. Menu generation means: A computer system for analyzing the scan data and generating an exercise plan suitable for the user.
[0677] Example of a system
[0678] Take the example of a user training for squats. First, when the user starts squatting, the device captures the movement with a wide-angle webcam. The captured video is sent to the server in real time. The server analyzes the received video frames and detects the user's posture, such as the angle of the knees and the line of the back.
[0679] If the analysis finds that the user's knee angle is not greater than 90 degrees, the server generates feedback such as "Bend your knees more deeply." This feedback is displayed on the user's augmented reality device via the device. The user can confirm the feedback and improve their posture by bending their knees more deeply.
[0680] After the training is completed, the device scans the user's body shape and sends the data to the server. The server analyzes the scan data and generates the next training menu. For example, if the server determines that the user's leg muscles are weak, it will suggest training to strengthen the leg muscles. This suggestion is displayed on the user's device via the device, allowing the user to plan their next training.
[0681] Prompt Sentence Examples
[0682] Here is an example of a prompt to input to the generative AI model: "Write code for an AI model that detects in real time whether the knee angle is greater than 90 degrees when a user is doing squat training at home and provides appropriate feedback."
[0683] In this way, the present invention allows users to train at home without the need for expensive equipment or large spaces, while receiving accurate feedback in real time, thereby enabling users to achieve safe and effective training.
[0684] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0685] Step 1: Capture the action
[0686] The device captures the user's movements using a wide-angle webcam. The input is the user's actual movement (e.g., squatting), and the output is the captured video data. The captured video data is an image frame containing the user's movement information, which is the specific movement obtained in real time.
[0687] Step 2: Sending the video
[0688] The device transmits the captured video to the server in real time via a transmission means. The input is the video data acquired from the webcam, and the output is the transmission of this video data to the server. Wi-Fi or a wired network is used for transmission, and HTTPS or WebSocket is the common data communication protocol.
[0689] Step 3: Posture analysis
[0690] The server analyzes the received video frames using a data analysis method to detect the user's posture. The input is the transmitted video frame, and the output is posture data including the position information of each joint point (knee, elbow, shoulder, etc.). This is the specific operation in which a deep learning model (e.g., using TensorFlow or PyTorch) analyzes the video and extracts the user's posture information.
[0691] Step 4: Generate feedback
[0692] The server generates appropriate feedback using a feedback generation means based on the posture data obtained by the analysis means. The input is posture data, and the output is the generated feedback text. This is an operation that uses a natural language generation model (e.g., GPT-3) to generate specific feedback such as "Bend your knees more deeply."
[0693] Step 5: View your feedback
[0694] The server sends the generated feedback to the device, and the feedback is displayed on the user's device. The input is the generated feedback text, and the output is the feedback displayed on the user's device. A specific example of this behavior is the message "Bend your knees deeper" being displayed on the AR glasses.
[0695] Step 6: Body Scan
[0696] After the training is completed, the device scans the user's body shape data using a scanning means. The input is the user's body shape, and the output is the scanned body shape data. This is a specific operation that captures detailed body shape data using a 3D scanner or depth camera.
[0697] Step 7: Create a training menu
[0698] The server analyzes the scan data and generates an exercise plan suitable for the user using a menu generation method. The input is the scanned body shape data, and the output is the generated exercise plan. The analysis uses machine learning cluster analysis and feature extraction methods, and specific movements such as "exercises for strengthening leg muscles" are suggested.
[0699] Step 8: Display the menu
[0700] The server sends the exercise plan generated by the menu generation means to the terminal and displays it on the user's terminal. The input is the generated exercise plan, and the output is the exercise plan displayed on the user's device. Specific examples of this operation include a training menu displayed on AR glasses or a smartphone.
[0701] (Application example 1)
[0702] 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."
[0703] Conventional training systems are limited to providing feedback to ensure users are performing exercises with the correct posture, making it difficult to monitor and adjust the accuracy of robot movements in real time on factory floors. Furthermore, there was a lack of a means to properly evaluate user and robot posture data and work efficiency, and to generate training menus and work programs based on that evaluation, resulting in increased effort and time for robot operators.
[0704] 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.
[0705] In this invention, the server includes an image capturing means, a transmitting means, an analyzing means, a feedback generating means, a display means, a scanning means, and a menu generating means, which enables real-time monitoring of the postures of the user and the robot, and provides appropriate feedback and proposes an optimal execution plan.
[0706] "User" refers to a person who uses this system to perform training and work management.
[0707] "Motion capture" refers to recording the movements of a user or robot using a camera or other imaging means.
[0708] The "photography means" is a device that captures the movements of the user or robot in real time and records them as video data.
[0709] The "transmission means" refers to equipment or software for transmitting the video data captured by the image capture means to other devices or servers in real time.
[0710] The "analysis means" refers to a device or program that analyzes the transmitted video data and detects the posture and movement of the user or robot.
[0711] The "feedback generating means" is a device or program that generates appropriate feedback based on the posture and movement information detected by the analyzing means.
[0712] The "display means" is a device or program for displaying the feedback and training menu created by the feedback generation means on a device of the user or monitoring system.
[0713] "Scanning means" refers to a device or program for scanning the user's body shape data and the robot's shape data and recording them as digital data.
[0714] The "menu generation means" is a device or program that analyzes the data acquired by the scanning means and generates a training menu suitable for the user and an execution plan for the robot.
[0715] A "robot" is an automated mechanical device used to perform tasks in manufacturing.
[0716] "Monitoring system" refers to the entire system for monitoring the robot's operations in real time and displaying appropriate feedback.
[0717] The present invention is a system that enables users and factory robots to perform work with correct posture. This system includes an imaging means for capturing the movements of the user or robot, a transmission means for transmitting the images in real time, an analysis means for analyzing the transmitted images to detect the posture, a feedback generation means for generating feedback, a display means for displaying the generated feedback, a scanning means for scanning shape data, and a menu generation means for generating an optimal execution plan based on the analyzed data.
[0718] The operation of this system is outlined below.
[0719] First, a terminal (e.g., a device equipped with a wide-angle webcam) captures the movements of the user or robot. The captured video is sent to a server in real time. The server analyzes the video frames using an analysis means to detect the posture of the user or robot. Based on the detected posture data, a feedback generation means creates appropriate feedback. For example, it determines whether the angle of the user's knees is correct or the movement of the robot arm is accurate. The generated feedback is displayed on the user's device or a monitoring system. The user or operator can check this feedback and adjust their posture or movement appropriately.
[0720] Furthermore, when training or work is completed, the terminal uses the scanning means to scan the shape data of the user or robot and transmits the data to the server. The server analyzes the scanned data and uses the menu generation means to generate an optimal training menu and execution plan for the user or robot. The generated menu is displayed on the user's device or monitoring system via the terminal.
[0721] For example, consider a user training for squats. When the user starts squatting, the device captures the movement with a webcam. The captured video is sent to a server in real time, and the server analyzes the video frames and detects that the user's knee angle is not greater than 90 degrees. The server generates feedback such as "Bend your knees more deeply" and displays it on the user's device via the device. The user checks the feedback and improves their posture by bending their knees more deeply.
[0722] In factories, it is also important for robot arms to perform their work with accurate posture. A wide-angle web camera captures the movement of the robot arm and sends the video in real time to a monitoring system. The server analyzes the video frames and generates feedback based on the robot arm's posture data. If the correct posture or movement is not detected, a warning message is displayed on the operator's device, allowing immediate correction.
[0723] As a concrete example, by inputting a prompt sentence into the generative AI model, it is possible to obtain an algorithm for generating feedback that matches the context and an example of a user interface design. For example, by inputting "Monitor the movement of the robot arm captured by this camera in real time, and display a warning if the posture is not appropriate," it is possible to obtain a method for generating appropriate feedback.
[0724] In this way, the present invention enables users and robots to perform precise and efficient movements and training anywhere, without the need for expensive equipment or a large space.
[0725] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0726] Step 1:
[0727] The motion of the user or robot is captured. The terminal uses a wide-angle web camera to capture video in real time and acquires the video. It receives the motion video as input and generates the captured video data as output. This video data is processed by the transmitting means in the next step.
[0728] Step 2:
[0729] The captured video is transmitted in real time. The terminal encodes the captured video data and transmits it to the server through the transmission means. The terminal receives the captured video data as input and performs data encoding and transmission. The terminal generates the video data transmitted to the server as output.
[0730] Step 3:
[0731] Analyze the transmitted video data. The server uses an analysis means to analyze the received video frames and detect posture data of the user and robot. It takes the received video data as input and analyzes the posture using an image recognition algorithm. It generates posture data as output.
[0732] Step 4:
[0733] Generate feedback. The server utilizes the feedback generation means to generate appropriate feedback based on the posture data obtained by the analysis means. It receives posture data as input and generates an appropriate feedback message (e.g., "Bend your knees more deeply") based on it. It generates the feedback message as output.
[0734] Step 5:
[0735] Displaying the generated feedback: The terminal displays the generated feedback on the user's device (e.g., augmented reality glasses or a tablet) or on a monitoring system. It receives the feedback message as input and generates the feedback that is displayed on the user's device or on the monitoring system as output.
[0736] Step 6:
[0737] Scanning shape data. After the training or task is completed, the terminal uses the scanning means to scan the shape data of the user or robot and acquires the data. The scanned shape data is used as input, and the scanned shape data is generated as output.
[0738] Step 7:
[0739] Analyze the scan data and generate an action plan. The server analyzes the data acquired by the scanning means and creates an optimal training menu and action plan using the menu generation means. It receives the scan data as input and generates a new training menu and action plan as output.
[0740] Step 8:
[0741] Display the generated execution plan. The terminal displays the generated training menu and execution plan on the user's device or monitoring system. It receives a new execution plan as input and generates an execution plan that is displayed to the user or operator as output.
[0742] This series of processes enables real-time monitoring and adjustment of the posture and movements of users and robots, enabling optimal training and work management.
[0743] 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.
[0744] The present invention provides a system that allows a user to train at home with correct posture and further has the function of recognizing the user's emotions and adjusting the training based on the emotions. The system includes a camera that captures the user's movements, a transmitter that transmits the video to the user's device in real time, an analyzer that analyzes the video and detects the user's posture, a feedback generator that generates feedback, a displayer that displays the feedback, a scanner that scans the body shape, a menu generator that generates a training menu, and an emotion recognizer that recognizes the user's emotions.
[0745] System Operation Overview
[0746] 1. The device uses a wide-angle webcam to capture the user's movements in real time, and the captured video frames are immediately ready for processing.
[0747] 2. The device transmits the captured video frames to the server in real time, and simultaneously transmits the video frames to the user's device (augmented reality glasses) so that the user can see the action.
[0748] 3. The server processes the received video frames using an analytical tool. It uses an AI model to extract the user's posture data. The AI model calculates the position of each joint and the angle of the user's posture, and determines the posture based on the obtained data.
[0749] 4. The server evaluates the analyzed posture data and determines whether the user's posture is correct. If the posture is incorrect, it generates appropriate feedback.
[0750] 5. The server generates a feedback message for the user using the feedback generation means, for example, feedback including specific instructions such as "bend your knees more" or "keep your back straight."
[0751] 6. The server sends the generated feedback to the device, which displays it on the user's device. The user checks the feedback and adjusts their posture.
[0752] 7. The server analyzes the user's emotional state using emotion recognition means, for example, by analyzing the user's facial expressions and tone of voice using a camera and microphone.
[0753] 8. The server uses the emotional data to provide feedback and adjust the training menu. For example, if the user is tired, it might instruct them to reduce the intensity of their training, or if they are unmotivated, it might send them encouraging messages.
[0754] 9. After the training is completed, the device uses a scanning means to obtain the user's body data as a 3D model and measure its detailed size and shape.
[0755] 10. The server analyzes the body shape data and generates an optimal training menu for the user using a menu generation means. The generated menu is sent to the terminal, which displays it on the user's device.
[0756] Specific examples
[0757] For example, consider a case where a user is training to do squats. When the user starts squatting, the device captures the movement with a webcam. The video frames are sent to a server in real time, and an analysis means detects that the user's knee angle is not greater than 90 degrees. The server generates feedback such as "Bend your knees more deeply" and displays it on the user's device via the device. The user checks the feedback and improves their posture by bending their knees more deeply.
[0758] The server then uses emotion recognition to analyze the user's facial expressions and voice, and if the user feels dissatisfied or fatigued with the training, adjusts the feedback accordingly. For example, it can motivate the user by sending an encouraging message such as, "You're almost there! Keep up the great work!"
[0759] After completing the training, the device scans the user's body shape and sends the data to the server. The server analyzes the body shape data and generates a training menu for the next training session. For example, if the server determines that the user's leg muscles are weak, it will suggest training to strengthen the leg muscles. The generated training menu is then displayed on the user's device via the device.
[0760] This system allows users to train properly anywhere without requiring a large space or expensive equipment. Real-time feedback reduces the risk of injury and enables effective training. Furthermore, by combining it with emotion recognition, it is possible to provide flexible training tailored to the user's physical condition and emotions.
[0761] The processing flow will be explained below.
[0762] Step 1:
[0763] The device activates the webcam and captures the user's movements in real time. The webcam uses a wide-angle lens to capture the user's entire body. The captured video frames are immediately ready for processing.
[0764] Step 2:
[0765] The device transmits the captured video frames to the server in real time, and simultaneously transmits the video frames to the user's device (augmented reality glasses) so that the user can see their own movements.
[0766] Step 3:
[0767] The server processes the received video frames using an analytical means. An AI model is used to extract the user's posture data. At this time, the AI model calculates the position of each user's joints and posture angle, and determines the posture based on the obtained data.
[0768] Step 4:
[0769] The server evaluates the analyzed posture data and determines whether the user's posture is correct. For example, it checks whether the knees are bent at 90 degrees when squatting and whether the back is straight. In case of incorrect posture, it generates appropriate feedback.
[0770] Step 5:
[0771] The server uses the feedback generating means to generate a feedback message for the user, for example, feedback including specific instructions such as "bend your knees more" or "keep your back straight."
[0772] Step 6:
[0773] The server sends the generated feedback to the terminal, which displays the feedback message on the user's device (augmented reality glasses) so that the user can see the instructions in real time.
[0774] Step 7:
[0775] The user adjusts their posture based on the displayed feedback. The user checks their own movements through the augmented reality glasses and strives to adopt the correct posture while referring to the provided feedback.
[0776] Step 8:
[0777] The device captures the user's improved posture again and sends the video frame to the server. The server analyzes the new video frame and reassessss whether the posture has improved. If an improvement is confirmed, it generates and displays new feedback such as "Your posture is correct."
[0778] Step 9:
[0779] The server uses emotion recognition means to analyze the user's facial expressions and voice to analyze the user's emotional state, for example, by using a camera and microphone to analyze emotions from the user's facial expressions and tone of voice.
[0780] Step 10:
[0781] The server uses the emotional data to provide feedback and adjust the training menu, for example, by instructing the user to reduce the intensity of their training if they are tired, or by sending encouraging messages if they are unmotivated.
[0782] Step 11:
[0783] After the training is completed, the terminal uses a scanning means to acquire the user's body shape data as a 3D model and measure its detailed size and shape.
[0784] Step 12:
[0785] The server receives and analyzes the body shape data, evaluates changes in the user's body shape and the condition of specific muscle groups based on the data obtained by the scanning means, and generates a training menu for the next training session.
[0786] Step 13:
[0787] The server generates an optimal training menu for the user and transmits it to the terminal, which displays the generated training menu on the user's device, allowing the user to prepare for the next training session.
[0788] Example 2
[0789] 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."
[0790] Previously, users needed specialized knowledge and equipment to train with the correct posture at home, and doing it on their own carried the risk of injury due to incorrect posture. It was also difficult to adjust training to suit the user's emotions and physical condition, making it difficult to maintain motivation.
[0791] The identification process by the identification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes a photographing means for capturing the user's movements, a transmitting means for transmitting the video captured by the photographing means to the user's device in real time, and an analyzing means for analyzing the video transmitted by the transmitting means to detect the user's posture. This enables real-time feedback to help the user train with correct posture.
[0792] "Photographing means" refers to an apparatus or device for capturing user actions, such as a wide-angle web camera.
[0793] "Transmission means" refers to the communications equipment and protocols used to transmit the captured video in real time to a user's device or server.
[0794] The "analysis means" refers to software or algorithms for analyzing the video data transmitted by the transmission means and detecting the user's posture.
[0795] The "feedback generating means" is a means for providing the user with specific instructions and warnings for correcting their posture based on the posture information detected by the analyzing means.
[0796] The "display means" refers to a device or interface for displaying the feedback and training menu generated by the feedback generation means on the user's device.
[0797] "Scanning Means" means any device or technology used to scan a user's body shape and generate detailed 3D model data.
[0798] The "menu generating means" is a means for creating a training menu suited to the user based on the body shape data obtained by the scanning means and the analyzed posture information.
[0799] "Emotion recognition means" refers to technologies and algorithms for analyzing and evaluating a user's emotional state from facial expressions, voice, etc.
[0800] The "adjustment means" is a means for adjusting the feedback content and the intensity of the training menu based on the emotion information obtained by the emotion recognition means.
[0801] The present invention provides a system that allows a user to train at home with correct posture and further has the function of recognizing the user's emotions and adjusting the training based on the emotions. The system includes a camera that captures the user's movements, a transmitter that transmits the video to the user's device in real time, an analyzer that analyzes the video and detects the user's posture, a feedback generator that generates feedback, a displayer that displays the feedback, a scanner that scans the body shape, a menu generator that generates a training menu, and an emotion recognizer that recognizes the user's emotions.
[0802] Specifically, the device first captures the user's movements in real time using a wide-angle webcam. The captured video frames are then immediately ready for processing. The device then transmits the captured video frames to a server in real time, and simultaneously transmits the video frames to the user's device (e.g., augmented reality glasses), allowing the user to view the movements themselves.
[0803] The server then processes the received video frames using an analytical method, extracting the user's posture data using a specific AI model. The AI model calculates the position of each user's joints and posture angles, and determines the user's posture based on the obtained data. For example, it uses TensorFlow or PyTorch libraries to execute advanced posture estimation algorithms.
[0804] The server then evaluates the analyzed posture data to determine whether the user's posture is correct. If the posture is incorrect, it generates appropriate feedback. The generated feedback message contains specific instructions and is created using natural language generation technology. Possible feedback might be, "Bend your knees more."
[0805] The server sends the generated feedback to the terminal, which then displays it on the user's device, allowing the user to check the feedback and adjust their posture. At this time, the user interface is designed to reliably convey the feedback content.
[0806] Furthermore, the server uses emotion recognition to analyze the user's emotional state. Using a camera and microphone, emotions are analyzed from the user's facial expressions and tone of voice, and emotions such as "tired" or "low motivation" are identified. Emotion analysis utilizes Google Cloud Speech-to-Text API as a voice analysis technology, and libraries such as OpenCV and dlib for facial expression analysis.
[0807] The server uses the emotional data to provide feedback and adjust the training menu. For example, if the user is tired, the server can instruct them to reduce the intensity of their training or send them a message of encouragement such as, "You're almost there! Keep up the great work!"
[0808] After the training is completed, the terminal uses a scanning means to acquire the user's body shape data as a 3D model and measure its detailed size and shape. The server analyzes the body shape data and uses a menu generation means to generate an optimal training menu for the user. For example, if it is determined that the leg muscles are weak, it will suggest training to strengthen the leg muscles. The generated training menu is displayed on the user's device via the terminal.
[0809] Specific examples
[0810] For example, consider a case where a user is training to do squats. When the user starts squatting, the device captures the movement with a webcam. The video frames are sent to a server in real time, and an analysis means detects that the user's knee angle is not greater than 90 degrees. The server generates feedback such as "Bend your knees more deeply" and displays it on the user's device via the device. The user checks the feedback and improves their posture by bending their knees more deeply.
[0811] The server then uses emotion recognition to analyze the user's facial expressions and voice, and if the user feels dissatisfied or fatigued with the training, adjusts the feedback accordingly. For example, it can motivate the user by sending an encouraging message such as, "You're almost there! Keep up the great work!"
[0812] After completing the training, the device scans the user's body shape and sends the data to the server. The server analyzes the body shape data and generates a training menu for the next training session. For example, if the server determines that the user's leg muscles are weak, it will suggest training to strengthen the leg muscles. The generated training menu is then displayed on the user's device via the device.
[0813] Example prompt
[0814] Here is an example of how the following prompt sentence is input to a generative AI model:
[0815] This system allows users to train at home with correct posture and receive real-time feedback. The system captures the user's movements with a wide-angle webcam, analyzes their posture using an AI model, and generates feedback. It also analyzes the user's emotions and adjusts the training menu based on the emotional data. As a concrete example, please show us the steps a user takes to perform squats.
[0816] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0817] Step 1:
[0818] The device captures the user's movements in real time using a wide-angle webcam. When the user starts training, the wide-angle webcam captures the user's movements and acquires the video frames. The input is the user's movements, and the output is the video frames captured in real time.
[0819] Step 2:
[0820] The terminal transmits the captured video frames to the server in real time, and simultaneously transmits the video frames to the user's device (e.g., augmented reality glasses) so that the user can see their own movements. The input is the captured video frames, and the output is the video frames transmitted to the server and the user's device.
[0821] Step 3:
[0822] The video frames received by the server are processed by an analytical means. Specifically, an AI model is used to extract the user's posture data. The input is the video frame sent to the server, and the output is posture data including the position of each joint and the posture angle of the user. In this case, the posture estimation algorithm is executed using the TensorFlow and PyTorch libraries.
[0823] Step 4:
[0824] The server evaluates the analyzed posture data and determines whether the user's posture is correct. If the posture is incorrect, it generates an appropriate feedback message. The input is posture data, and the output is the posture evaluation result and a feedback message. For example, natural language generation technology is used to create feedback such as "Bend your knees more deeply."
[0825] Step 5:
[0826] The server sends the generated feedback to the terminal, which displays it on the user's device. The user checks the feedback and adjusts their posture. The input is the feedback message, and the output is the feedback displayed on the user's device. The display uses the interface of the user device.
[0827] Step 6:
[0828] The server uses emotion recognition to analyze the user's emotional state. It uses a camera and microphone to analyze emotions from the user's facial expressions and tone of voice, identifying emotions such as "tired" or "low motivation." The input is the user's video and audio data, and the output is the analyzed emotional information. Emotion analysis uses OpenCV, dlib, Google Cloud Speech-to-Text API, etc.
[0829] Step 7:
[0830] The server adjusts feedback and training menus based on emotional data. If the user is tired, it may instruct them to reduce the intensity of their training or send an encouraging message such as "You're almost there! Keep up the great work!" The input is emotional information, and the output is the adjusted feedback message and training menu.
[0831] Step 8:
[0832] After the training is completed, the device uses a scanning means to acquire the user's body shape data as a 3D model and measure its detailed size and shape. The input is the user's body shape after the training is completed, and the output is the acquired 3D model data. A dedicated scanner device is used for the scanning.
[0833] Step 9:
[0834] The server analyzes the body shape data and generates an optimal training menu for the user using a menu generation means. For example, if it is determined that the leg muscles are weak, it will suggest training to strengthen the leg muscles. The input is the scanned body shape data, and the output is a newly generated training menu. The generated training menu is displayed on the user's device via the terminal.
[0835] (Application example 2)
[0836] 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."
[0837] Modern lifestyles demand effective training at home, but maintaining proper posture without professional instruction can be difficult, reducing effectiveness and increasing the risk of injury. Furthermore, the lack of feedback that takes into account the user's emotional state during training makes it difficult to maintain motivation. In particular, there is a need for real-time posture correction instructions and training adjustments based on the user's emotions.
[0838] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0839] In this invention, the server includes a photographing means for capturing a user's movements, a transmitting means for transmitting the image captured by the photographing means to the user's computer in real time, a analyzing means for analyzing the image transmitted by the transmitting means and detecting the user's posture, a feedback generating means for generating posture feedback for the user based on the posture information detected by the analyzing means, a display means for displaying the feedback generated by the feedback generating means on the user's computer, a scanning means for scanning the user's body shape, an emotion recognizing means for recognizing the user's emotion based on the image of the user's movements acquired by the scanning means, an adjusting means for adjusting the feedback and training menu based on the emotional state recognized by the emotion recognizing means, a menu generating means for analyzing the body shape data scanned by the scanning means and generating a training menu suitable for the user, and a display means for displaying the training menu generated by the menu generating means on the user's computer. This enables the user to perform effective training at home while maintaining correct posture, and further allows the user to receive appropriate feedback and training adjustments according to their emotions.
[0840] The "photography means for capturing the user's movements" refers to a device for recording the user's training movements, and includes a wide-angle photographing device and a camera.
[0841] The "transmission means" is a device or function for transmitting the image captured by the image capture means to the user's computer in real time.
[0842] The "analysis means" is software or hardware for processing the video transmitted by the transmission means and detecting the user's posture.
[0843] The "feedback generating means" is a function for generating instructions to the user to improve or correct their posture based on the posture information obtained by the analyzing means.
[0844] The "display means" is a device or function for displaying the feedback generated by the feedback generation means on the user's computer.
[0845] The "scanning means" refers to a device or function for scanning the user's body shape and acquiring the data.
[0846] The "emotion recognition means" is a device or function for analyzing the emotional state of a user based on the video of the user's actions acquired by the scanning means.
[0847] The "adjustment means" is a function for appropriately adjusting feedback and training menus based on the user's emotional state recognized by the emotion recognition means.
[0848] The "menu generation means" is a function for generating an optimal training menu for a user based on the body shape data obtained by the scanning means and past training results.
[0849] An "augmented reality device" is a device that allows a user to visually see additional information superimposed on it, typically in the form of glasses or a headset.
[0850] A "wide-angle imaging device" is a camera or imaging device that has a wide viewing angle and can capture the entire user's movements.
[0851] The present invention provides a system that allows users to train with proper posture at home. Specific embodiments are described below.
[0852] 1. Hardware and Software Requirements
[0853] The server performs processing using multiple hardware and software components, including a wide-angle camera, an augmented reality device, and a network interface for data transmission, using libraries and frameworks such as Python, OpenCV, TensorFlow, and Keras.
[0854] 2. Processing Overview
[0855] Motion capture and transmission
[0856] The user's movements are captured in real time by a wide-angle camera, and the captured images are sent to a server over a network and simultaneously to an augmented reality device.
[0857] Posture analysis and feedback generation
[0858] The server analyzes the received video frames and uses an AI model to detect the user's posture. Based on the analysis results, it determines whether the posture is appropriate, and if it is inappropriate, it generates specific feedback using a feedback generation means.
[0859] Emotion recognition and feedback regulation
[0860] The emotional state of the user is analyzed using emotion recognition means based on video of the user's movements. For example, this includes analyzing facial expressions and voice tone using a camera and microphone. Training menus and feedback can be adjusted based on this emotional state.
[0861] Body scan and menu generation
[0862] After the training is completed, the user's body shape is scanned to obtain detailed data. Based on this data, a menu generation means generates an optimal training menu for the user. This menu is also displayed via the augmented reality device.
[0863] 3. Specific Examples
[0864] For example, when a user performs a plank exercise, a wide-angle camera captures the user's movements and sends them to a server. This data is used to analyze whether the user's posture is appropriate, and feedback such as "Lift your abdomen a little more" is generated and displayed on the user's augmented reality device. If the system detects signs of fatigue in the user's facial expression, it displays an encouraging message such as "Keep up! 10 seconds left!"
[0865] Example prompts to input to the generative AI model
[0866] "The user is in a plank position. Video analysis detects that the abdomen is not lifted properly. You provide feedback to the user saying, 'Lift your abdomen a bit more.' Additionally, facial analysis indicates signs of fatigue. If you were a coach, what encouraging message would you send and how would you suggest improving the next movement?"
[0867] This allows users to maintain correct posture while training effectively at home, and also allows them to receive appropriate feedback and training adjustments based on their emotions.
[0868] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0869] Step 1:
[0870] A wide-angle camera is used to capture the user's movements. The user's training movements are input as video frames. These video frames are sent to the user's computer in real time. The output is the real-time captured video frames.
[0871] Step 2:
[0872] The user's computer sends the captured video frames to the server in real time. At the same time, the video frames are also sent to the user's augmented reality device, allowing the user to see the action. The input is the video frames captured in step 1, and the output is the video frames sent to the server and the user's augmented reality device.
[0873] Step 3:
[0874] The server processes the received video frames using an analytical method. It uses an AI model (for example, a model using TensorFlow or Keras) to extract the user's posture data. The server then calculates the position of each joint and the posture angle based on this data. The input is the video frame sent in step 2, and the output is the user's posture data.
[0875] Step 4:
[0876] The server evaluates the analyzed posture data and determines whether the user's posture is correct. If the posture is incorrect, it uses a feedback generation means to generate appropriate feedback. For example, it generates instructions such as "bend your knees more" or "keep your back straight." The input is the posture data obtained in step 3, and the output is a feedback message.
[0877] Step 5:
[0878] The server sends the generated feedback to the user's computer, which then displays it on the augmented reality device. The user checks this feedback and adjusts their posture. The input is the feedback message generated in step 4, and the output is the feedback message displayed on the augmented reality device.
[0879] Step 6:
[0880] The server analyzes the user's emotional state using emotion recognition means, for example, by analyzing emotions from the user's facial expressions and tone of voice using a camera and microphone. The input obtained from this analysis is video frames and audio data, and the output is the user's emotional data.
[0881] Step 7:
[0882] The server adjusts the feedback and training menu based on the emotional data. For example, if the user is tired, it instructs them to reduce the intensity of their training, or if their motivation is low, it sends them an encouraging message. The input is the emotional data obtained in step 6, and the output is the adjusted feedback message and training menu.
[0883] Step 8:
[0884] After the training is completed, the device uses a scanning device to acquire the user's body shape data as a 3D model. This scanned data is input, and the results of measuring the user's detailed size and shape are output.
[0885] Step 9:
[0886] The server analyzes the body shape data and generates an optimal training menu for the user using the menu generation means. For example, if it is determined that the user's leg muscles are weak, it will suggest training to strengthen the leg muscles. The input is the body shape data acquired in step 8, and the output is the optimal training menu for the user.
[0887] Step 10:
[0888] The generated training menu is sent to the user's computer, and the terminal displays it on the augmented reality device. The user checks the new training menu and prepares for the next training. The input is the training menu generated in step 9, and the output is the training menu displayed on the augmented reality device.
[0889] 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.
[0890] 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.
[0891] 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.
[0892] [Fourth embodiment]
[0893] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[0894] 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.
[0895] 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).
[0896] 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.
[0897] 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.
[0898] 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).
[0899] 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.
[0900] 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.
[0901] 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.
[0902] 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.
[0903] 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.
[0904] 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.
[0905] 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."
[0906] The present invention is a system that allows a user to train at home with correct posture. The system includes a camera that captures the user's movements, a transmitter that transmits the video to the user's device in real time, an analyzer that analyzes the video and detects posture, a feedback generator that generates feedback, a display that displays the feedback, a scanner that scans the body shape, and a menu generator that generates a training menu.
[0907] System Operation Overview
[0908] 1. The terminal uses a wide-angle webcam to capture the user's actions, and the captured image is transmitted in real time to the user's device, in this case the device, via a transmission means, to the augmented reality glasses.
[0909] 2. The device sends the video frame to the server, which analyzes the video frame and detects the user's posture.
[0910] 3. The server uses the feedback generation means to generate appropriate feedback based on the detected posture data, such as whether the user's knees are at the correct angle or their back is straight.
[0911] 4. The server sends the generated feedback to the device, which displays it on the user's device. The user can view the feedback through the AR glasses and adjust their posture.
[0912] 5. When the training is completed, the terminal uses the scanning means to scan the user's body shape data and transmits the data to the server.
[0913] 6. The server analyzes the scan data and generates an optimal training menu for the user using a menu generation means. The generated menu is sent to the terminal, which displays it on the user's device.
[0914] Specific examples
[0915] For example, consider a user training for squats. When the user starts squatting, the device captures the movement with a webcam. The captured video is sent to the server in real time. The server analyzes the video frames and detects that the user's knee angle is not greater than 90 degrees. The server generates feedback such as "Bend your knees more deeply" and displays it on the user's device via the device. The user checks the feedback and improves their posture by bending their knees more deeply. The server then analyzes the video frames again and determines that their posture is correct. It updates the feedback to "Good posture."
[0916] After completing the training, the device scans the user's body shape and sends the data to the server. The server analyzes the body shape data and generates the next training menu. For example, if the server determines that the user's leg muscles are weak, it will suggest training to strengthen the leg muscles. This suggestion is displayed on the user's device via the device.
[0917] Program processing overview
[0918] The device captures the video, the server analyzes it, and then provides the user with feedback and a training menu. The specific operations and algorithms will be explained in detail in the processing steps below, but the basic steps are capture, transmission, analysis, feedback, scanning, and menu generation.
[0919] This system allows users to train correctly anywhere without the need for large spaces or expensive equipment, and by receiving real-time feedback, it reduces the risk of injury and enables effective training.
[0920] The processing flow will be explained below.
[0921] Step 1:
[0922] The device activates the webcam and captures the user's movements in real time. The webcam uses a wide-angle lens to capture the user's entire body. The captured video frames are immediately ready for processing.
[0923] Step 2:
[0924] The device transmits the captured video frames to the server in real time, and simultaneously transmits the video frames to the user's device (augmented reality glasses) so that the user can see the action.
[0925] Step 3:
[0926] The server processes the received video frames using an analytical means. An AI model is used to extract the user's posture data. At this time, the AI model calculates the position of each user's joints and posture angle, and determines the posture based on the obtained data.
[0927] Step 4:
[0928] The server evaluates the analyzed posture data and determines whether the user's posture is correct. For example, it checks whether the knees are bent at 90 degrees when squatting and whether the back is straight. In case of incorrect posture, it generates appropriate feedback.
[0929] Step 5:
[0930] The server uses the feedback generating means to generate a feedback message for the user, for example, feedback including specific instructions such as "bend your knees more" or "keep your back straight."
[0931] Step 6:
[0932] The server sends the generated feedback to the terminal, which displays the feedback message on the user's device (augmented reality glasses) so that the user can see the instructions in real time.
[0933] Step 7:
[0934] The user adjusts their posture based on the displayed feedback. The user checks their own movements through the augmented reality glasses and strives to adopt the correct posture while referring to the provided feedback.
[0935] Step 8:
[0936] The device captures the user's improved posture again and sends the video frame to the server. The server analyzes the new video frame and reassessss whether the posture has improved. If an improvement is confirmed, it generates and displays new feedback such as "Your posture is correct."
[0937] Step 9:
[0938] After the training is completed, the device scans the user's body, capturing the user's body data as a 3D model and measuring detailed size and shape.
[0939] Step 10:
[0940] The server receives and analyzes the body shape data. Based on the data obtained by the scanning means, it evaluates changes in the user's body shape and the condition of specific muscle groups, and generates a training menu for the next training session.
[0941] Step 11:
[0942] The server generates an optimal training menu for the user and transmits it to the terminal, which displays the generated training menu on the user's device, allowing the user to prepare for the next training session.
[0943] Example 1
[0944] 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."
[0945] Conventional training systems make it difficult for users to receive appropriate feedback to ensure proper posture during exercise. They also require expensive equipment and a large space, making it difficult to effectively train at home. Furthermore, they lack the ability to correct posture in real time, potentially increasing the risk of injury.
[0946] 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.
[0947] In this invention, the server includes: a camera for capturing a user's movements; a transmitter for transmitting the image captured by the camera to the user's terminal in real time; a data analyzer for analyzing the image transmitted by the transmitter and detecting the user's posture; a feedback generator for generating posture feedback for the user based on the posture information detected by the data analyzer; a display unit for displaying the feedback generated by the feedback generator on the user's terminal; a scanner for scanning the user's body shape; a menu generator for analyzing the body shape data scanned by the scanner and generating an exercise plan suitable for the user; and a display unit for displaying the exercise plan generated by the menu generator on the user's terminal. This allows the user to receive feedback on correct posture in real time at home without the need for expensive equipment or a large space, enabling safe and effective training.
[0948] "User" refers to a person who uses the system to provide training.
[0949] "Movement" refers to the physical movements and postures of the user.
[0950] "Photographing means" refers to a camera device for capturing the user's actions.
[0951] "Transmission means" refers to a communication means for transmitting the video captured by the imaging means to a server or a user's terminal in real time.
[0952] The "analysis means" refers to a computer system or software for analyzing the video transmitted by the transmission means and detecting the user's posture.
[0953] The "feedback generating means" refers to a computer system or software for generating posture feedback to the user based on the posture information detected by the analyzing means.
[0954] "Display means" refers to a device or software for displaying the generated feedback and training menu on the user's terminal.
[0955] "Terminal" refers to a device used by a user, such as an augmented reality device or a smartphone.
[0956] "Scanning Means" means a 3D scanner or similar device used to capture the User's body shape.
[0957] The "menu generation means" refers to a computer system or software that analyzes the body shape data scanned by the scanning means and generates an exercise plan suitable for the user.
[0958] An "exercise plan" refers to a series of training menus generated based on the user's body type and training results.
[0959] The present invention provides a system that allows users to train at home with proper posture. This system captures the user's movements and provides real-time feedback, allowing the user to train while maintaining proper posture. Specific embodiments of the system are described below.
[0960] Hardware and Software Configuration
[0961] 1. Photographing means: A wide-angle camera device that captures the user's actions. For example, a wide-angle web camera is used.
[0962] 2. Transmission method: A communication method for transmitting the captured video to the server and the user's device in real time. Usually, Wi-Fi or a wired network is used.
[0963] 3. Data analysis means: A computer system that analyzes the video transmitted by the transmission means and detects the user's posture. For example, it utilizes a deep learning model using TensorFlow or PyTorch.
[0964] 4. Feedback generation means: A computer system for generating posture feedback to the user based on the posture information detected by the data analysis means. A natural language generation model (e.g., GPT-3) may be used.
[0965] 5. Display means: A device that displays the generated feedback on the user's terminal. For example, an augmented reality device (AR glasses) or a smartphone can be used.
[0966] 6. Scanning method: 3D scanner or depth camera to scan the user's body shape.
[0967] 7. Menu generation means: A computer system for analyzing the scan data and generating an exercise plan suitable for the user.
[0968] Example of a system
[0969] Take the example of a user training for squats. First, when the user starts squatting, the device captures the movement with a wide-angle webcam. The captured video is sent to the server in real time. The server analyzes the received video frames and detects the user's posture, such as the angle of the knees and the line of the back.
[0970] If the analysis finds that the user's knee angle is not greater than 90 degrees, the server generates feedback such as "Bend your knees more deeply." This feedback is displayed on the user's augmented reality device via the device. The user can confirm the feedback and improve their posture by bending their knees more deeply.
[0971] After the training is completed, the device scans the user's body shape and sends the data to the server. The server analyzes the scan data and generates the next training menu. For example, if the server determines that the user's leg muscles are weak, it will suggest training to strengthen the leg muscles. This suggestion is displayed on the user's device via the device, allowing the user to plan their next training.
[0972] Prompt Sentence Examples
[0973] Here is an example of a prompt to input to the generative AI model: "Write code for an AI model that detects in real time whether the knee angle is greater than 90 degrees when a user is doing squat training at home and provides appropriate feedback."
[0974] In this way, the present invention allows users to train at home without the need for expensive equipment or large spaces, while receiving accurate feedback in real time, thereby enabling users to achieve safe and effective training.
[0975] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0976] Step 1: Capture the action
[0977] The device captures the user's movements using a wide-angle webcam. The input is the user's actual movement (e.g., squatting), and the output is the captured video data. The captured video data is an image frame containing the user's movement information, which is the specific movement obtained in real time.
[0978] Step 2: Sending the video
[0979] The device transmits the captured video to the server in real time via a transmission means. The input is the video data acquired from the webcam, and the output is the transmission of this video data to the server. Wi-Fi or a wired network is used for transmission, and HTTPS or WebSocket is the common data communication protocol.
[0980] Step 3: Posture analysis
[0981] The server analyzes the received video frames using a data analysis method to detect the user's posture. The input is the transmitted video frame, and the output is posture data including the position information of each joint point (knee, elbow, shoulder, etc.). This is the specific operation in which a deep learning model (e.g., using TensorFlow or PyTorch) analyzes the video and extracts the user's posture information.
[0982] Step 4: Generate feedback
[0983] The server generates appropriate feedback using a feedback generation means based on the posture data obtained by the analysis means. The input is posture data, and the output is the generated feedback text. This is an operation that uses a natural language generation model (e.g., GPT-3) to generate specific feedback such as "Bend your knees more deeply."
[0984] Step 5: View your feedback
[0985] The server sends the generated feedback to the device, and the feedback is displayed on the user's device. The input is the generated feedback text, and the output is the feedback displayed on the user's device. A specific example of this behavior is the message "Bend your knees deeper" being displayed on the AR glasses.
[0986] Step 6: Body Scan
[0987] After the training is completed, the device scans the user's body shape data using a scanning means. The input is the user's body shape, and the output is the scanned body shape data. This is a specific operation that captures detailed body shape data using a 3D scanner or depth camera.
[0988] Step 7: Create a training menu
[0989] The server analyzes the scan data and generates an exercise plan suitable for the user using a menu generation method. The input is the scanned body shape data, and the output is the generated exercise plan. The analysis uses machine learning cluster analysis and feature extraction methods, and specific movements such as "exercises for strengthening leg muscles" are suggested.
[0990] Step 8: Display the menu
[0991] The server sends the exercise plan generated by the menu generation means to the terminal and displays it on the user's terminal. The input is the generated exercise plan, and the output is the exercise plan displayed on the user's device. Specific examples of this operation include a training menu displayed on AR glasses or a smartphone.
[0992] (Application example 1)
[0993] 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."
[0994] Conventional training systems are limited to providing feedback to ensure users are performing exercises with the correct posture, making it difficult to monitor and adjust the accuracy of robot movements in real time on factory floors. Furthermore, there was a lack of a means to properly evaluate user and robot posture data and work efficiency, and to generate training menus and work programs based on that evaluation, resulting in increased effort and time for robot operators.
[0995] 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.
[0996] In this invention, the server includes an image capturing means, a transmitting means, an analyzing means, a feedback generating means, a display means, a scanning means, and a menu generating means, which enables real-time monitoring of the postures of the user and the robot, and provides appropriate feedback and proposes an optimal execution plan.
[0997] "User" refers to a person who uses this system to perform training and work management.
[0998] "Motion capture" refers to recording the movements of a user or robot using a camera or other imaging means.
[0999] The "photography means" is a device that captures the movements of the user or robot in real time and records them as video data.
[1000] The "transmission means" refers to equipment or software for transmitting the video data captured by the image capture means to other devices or servers in real time.
[1001] The "analysis means" refers to a device or program that analyzes the transmitted video data and detects the posture and movement of the user or robot.
[1002] The "feedback generating means" is a device or program that generates appropriate feedback based on the posture and movement information detected by the analyzing means.
[1003] The "display means" is a device or program for displaying the feedback and training menu created by the feedback generation means on a device of the user or monitoring system.
[1004] "Scanning means" refers to a device or program for scanning the user's body shape data and the robot's shape data and recording them as digital data.
[1005] The "menu generation means" is a device or program that analyzes the data acquired by the scanning means and generates a training menu suitable for the user and an execution plan for the robot.
[1006] A "robot" is an automated mechanical device used to perform tasks in manufacturing.
[1007] "Monitoring system" refers to the entire system for monitoring the robot's operations in real time and displaying appropriate feedback.
[1008] The present invention is a system that enables users and factory robots to perform work with correct posture. This system includes an imaging means for capturing the movements of the user or robot, a transmission means for transmitting the images in real time, an analysis means for analyzing the transmitted images to detect the posture, a feedback generation means for generating feedback, a display means for displaying the generated feedback, a scanning means for scanning shape data, and a menu generation means for generating an optimal execution plan based on the analyzed data.
[1009] The operation of this system is outlined below.
[1010] First, a terminal (e.g., a device equipped with a wide-angle webcam) captures the movements of the user or robot. The captured video is sent to a server in real time. The server analyzes the video frames using an analysis means to detect the posture of the user or robot. Based on the detected posture data, a feedback generation means creates appropriate feedback. For example, it determines whether the angle of the user's knees is correct or the movement of the robot arm is accurate. The generated feedback is displayed on the user's device or a monitoring system. The user or operator can check this feedback and adjust their posture or movement appropriately.
[1011] Furthermore, when training or work is completed, the terminal uses the scanning means to scan the shape data of the user or robot and transmits the data to the server. The server analyzes the scanned data and uses the menu generation means to generate an optimal training menu and execution plan for the user or robot. The generated menu is displayed on the user's device or monitoring system via the terminal.
[1012] For example, consider a user training for squats. When the user starts squatting, the device captures the movement with a webcam. The captured video is sent to a server in real time, and the server analyzes the video frames and detects that the user's knee angle is not greater than 90 degrees. The server generates feedback such as "Bend your knees more deeply" and displays it on the user's device via the device. The user checks the feedback and improves their posture by bending their knees more deeply.
[1013] In factories, it is also important for robot arms to perform their work with accurate posture. A wide-angle web camera captures the movement of the robot arm and sends the video in real time to a monitoring system. The server analyzes the video frames and generates feedback based on the robot arm's posture data. If the correct posture or movement is not detected, a warning message is displayed on the operator's device, allowing immediate correction.
[1014] As a concrete example, by inputting a prompt sentence into the generative AI model, it is possible to obtain an algorithm for generating feedback that matches the context and an example of a user interface design. For example, by inputting "Monitor the movement of the robot arm captured by this camera in real time, and display a warning if the posture is not appropriate," it is possible to obtain a method for generating appropriate feedback.
[1015] In this way, the present invention enables users and robots to perform precise and efficient movements and training anywhere, without the need for expensive equipment or a large space.
[1016] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1017] Step 1:
[1018] The motion of the user or robot is captured. The terminal uses a wide-angle web camera to capture video in real time and acquires the video. It receives the motion video as input and generates the captured video data as output. This video data is processed by the transmitting means in the next step.
[1019] Step 2:
[1020] The captured video is transmitted in real time. The terminal encodes the captured video data and transmits it to the server through the transmission means. The terminal receives the captured video data as input and performs data encoding and transmission. The terminal generates the video data transmitted to the server as output.
[1021] Step 3:
[1022] Analyze the transmitted video data. The server uses an analysis means to analyze the received video frames and detect posture data of the user and robot. It takes the received video data as input and analyzes the posture using an image recognition algorithm. It generates posture data as output.
[1023] Step 4:
[1024] Generate feedback. The server utilizes the feedback generation means to generate appropriate feedback based on the posture data obtained by the analysis means. It receives posture data as input and generates an appropriate feedback message (e.g., "Bend your knees more deeply") based on it. It generates the feedback message as output.
[1025] Step 5:
[1026] Displaying the generated feedback: The terminal displays the generated feedback on the user's device (e.g., augmented reality glasses or a tablet) or on a monitoring system. It receives the feedback message as input and generates the feedback that is displayed on the user's device or on the monitoring system as output.
[1027] Step 6:
[1028] Scanning shape data. After the training or task is completed, the terminal uses the scanning means to scan the shape data of the user or robot and acquires the data. The scanned shape data is used as input, and the scanned shape data is generated as output.
[1029] Step 7:
[1030] Analyze the scan data and generate an action plan. The server analyzes the data acquired by the scanning means and creates an optimal training menu and action plan using the menu generation means. It receives the scan data as input and generates a new training menu and action plan as output.
[1031] Step 8:
[1032] Display the generated execution plan. The terminal displays the generated training menu and execution plan on the user's device or monitoring system. It receives a new execution plan as input and generates an execution plan that is displayed to the user or operator as output.
[1033] This series of processes enables real-time monitoring and adjustment of the posture and movements of users and robots, enabling optimal training and work management.
[1034] 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.
[1035] The present invention provides a system that allows a user to train at home with correct posture and further has the function of recognizing the user's emotions and adjusting the training based on the emotions. The system includes a camera that captures the user's movements, a transmitter that transmits the video to the user's device in real time, an analyzer that analyzes the video and detects the user's posture, a feedback generator that generates feedback, a displayer that displays the feedback, a scanner that scans the body shape, a menu generator that generates a training menu, and an emotion recognizer that recognizes the user's emotions.
[1036] System Operation Overview
[1037] 1. The device uses a wide-angle webcam to capture the user's movements in real time, and the captured video frames are immediately ready for processing.
[1038] 2. The device transmits the captured video frames to the server in real time, and simultaneously transmits the video frames to the user's device (augmented reality glasses) so that the user can see the action.
[1039] 3. The server processes the received video frames using an analytical tool. It uses an AI model to extract the user's posture data. The AI model calculates the position of each joint and the angle of the user's posture, and determines the posture based on the obtained data.
[1040] 4. The server evaluates the analyzed posture data and determines whether the user's posture is correct. If the posture is incorrect, it generates appropriate feedback.
[1041] 5. The server generates a feedback message for the user using the feedback generation means, for example, feedback including specific instructions such as "bend your knees more" or "keep your back straight."
[1042] 6. The server sends the generated feedback to the device, which displays it on the user's device. The user checks the feedback and adjusts their posture.
[1043] 7. The server analyzes the user's emotional state using emotion recognition means, for example, by analyzing the user's facial expressions and tone of voice using a camera and microphone.
[1044] 8. The server uses the emotional data to provide feedback and adjust the training menu. For example, if the user is tired, it might instruct them to reduce the intensity of their training, or if they are unmotivated, it might send them encouraging messages.
[1045] 9. After the training is completed, the device uses a scanning means to obtain the user's body data as a 3D model and measure its detailed size and shape.
[1046] 10. The server analyzes the body shape data and generates an optimal training menu for the user using a menu generation means. The generated menu is sent to the terminal, which displays it on the user's device.
[1047] Specific examples
[1048] For example, consider a case where a user is training to do squats. When the user starts squatting, the device captures the movement with a webcam. The video frames are sent to a server in real time, and an analysis means detects that the user's knee angle is not greater than 90 degrees. The server generates feedback such as "Bend your knees more deeply" and displays it on the user's device via the device. The user checks the feedback and improves their posture by bending their knees more deeply.
[1049] The server then uses emotion recognition to analyze the user's facial expressions and voice, and if the user feels dissatisfied or fatigued with the training, adjusts the feedback accordingly. For example, it can motivate the user by sending an encouraging message such as, "You're almost there! Keep up the great work!"
[1050] After completing the training, the device scans the user's body shape and sends the data to the server. The server analyzes the body shape data and generates a training menu for the next training session. For example, if the server determines that the user's leg muscles are weak, it will suggest training to strengthen the leg muscles. The generated training menu is then displayed on the user's device via the device.
[1051] This system allows users to train properly anywhere without requiring a large space or expensive equipment. Real-time feedback reduces the risk of injury and enables effective training. Furthermore, by combining it with emotion recognition, it is possible to provide flexible training tailored to the user's physical condition and emotions.
[1052] The processing flow will be explained below.
[1053] Step 1:
[1054] The device activates the webcam and captures the user's movements in real time. The webcam uses a wide-angle lens to capture the user's entire body. The captured video frames are immediately ready for processing.
[1055] Step 2:
[1056] The device transmits the captured video frames to the server in real time, and simultaneously transmits the video frames to the user's device (augmented reality glasses) so that the user can see their own movements.
[1057] Step 3:
[1058] The server processes the received video frames using an analytical means. An AI model is used to extract the user's posture data. At this time, the AI model calculates the position of each user's joints and posture angle, and determines the posture based on the obtained data.
[1059] Step 4:
[1060] The server evaluates the analyzed posture data and determines whether the user's posture is correct. For example, it checks whether the knees are bent at 90 degrees when squatting and whether the back is straight. In case of incorrect posture, it generates appropriate feedback.
[1061] Step 5:
[1062] The server uses the feedback generating means to generate a feedback message for the user, for example, feedback including specific instructions such as "bend your knees more" or "keep your back straight."
[1063] Step 6:
[1064] The server sends the generated feedback to the terminal, which displays the feedback message on the user's device (augmented reality glasses) so that the user can see the instructions in real time.
[1065] Step 7:
[1066] The user adjusts their posture based on the displayed feedback. The user checks their own movements through the augmented reality glasses and strives to adopt the correct posture while referring to the provided feedback.
[1067] Step 8:
[1068] The device captures the user's improved posture again and sends the video frame to the server. The server analyzes the new video frame and reassessss whether the posture has improved. If an improvement is confirmed, it generates and displays new feedback such as "Your posture is correct."
[1069] Step 9:
[1070] The server uses emotion recognition means to analyze the user's facial expressions and voice to analyze the user's emotional state, for example, by using a camera and microphone to analyze emotions from the user's facial expressions and tone of voice.
[1071] Step 10:
[1072] The server uses the emotional data to provide feedback and adjust the training menu, for example, by instructing the user to reduce the intensity of their training if they are tired, or by sending encouraging messages if they are unmotivated.
[1073] Step 11:
[1074] After the training is completed, the terminal uses a scanning means to acquire the user's body shape data as a 3D model and measure its detailed size and shape.
[1075] Step 12:
[1076] The server receives and analyzes the body shape data, evaluates changes in the user's body shape and the condition of specific muscle groups based on the data obtained by the scanning means, and generates a training menu for the next training session.
[1077] Step 13:
[1078] The server generates an optimal training menu for the user and transmits it to the terminal, which displays the generated training menu on the user's device, allowing the user to prepare for the next training session.
[1079] Example 2
[1080] 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."
[1081] Previously, users needed specialized knowledge and equipment to train with the correct posture at home, and doing it on their own carried the risk of injury due to incorrect posture. It was also difficult to adjust training to suit the user's emotions and physical condition, making it difficult to maintain motivation.
[1082] The identification process by the identification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes a photographing means for capturing the user's movements, a transmitting means for transmitting the video captured by the photographing means to the user's device in real time, and an analyzing means for analyzing the video transmitted by the transmitting means to detect the user's posture. This enables real-time feedback to help the user train with correct posture.
[1083] "Photographing means" refers to an apparatus or device for capturing user actions, such as a wide-angle web camera.
[1084] "Transmission means" refers to the communications equipment and protocols used to transmit the captured video in real time to a user's device or server.
[1085] The "analysis means" refers to software or algorithms for analyzing the video data transmitted by the transmission means and detecting the user's posture.
[1086] The "feedback generating means" is a means for providing the user with specific instructions and warnings for correcting their posture based on the posture information detected by the analyzing means.
[1087] The "display means" refers to a device or interface for displaying the feedback and training menu generated by the feedback generation means on the user's device.
[1088] "Scanning Means" means any device or technology used to scan a user's body shape and generate detailed 3D model data.
[1089] The "menu generating means" is a means for creating a training menu suited to the user based on the body shape data obtained by the scanning means and the analyzed posture information.
[1090] "Emotion recognition means" refers to technologies and algorithms for analyzing and evaluating a user's emotional state from facial expressions, voice, etc.
[1091] The "adjustment means" is a means for adjusting the feedback content and the intensity of the training menu based on the emotion information obtained by the emotion recognition means.
[1092] The present invention provides a system that allows a user to train at home with correct posture and further has the function of recognizing the user's emotions and adjusting the training based on the emotions. The system includes a camera that captures the user's movements, a transmitter that transmits the video to the user's device in real time, an analyzer that analyzes the video and detects the user's posture, a feedback generator that generates feedback, a displayer that displays the feedback, a scanner that scans the body shape, a menu generator that generates a training menu, and an emotion recognizer that recognizes the user's emotions.
[1093] Specifically, the device first captures the user's movements in real time using a wide-angle webcam. The captured video frames are then immediately ready for processing. The device then transmits the captured video frames to a server in real time, and simultaneously transmits the video frames to the user's device (e.g., augmented reality glasses), allowing the user to view the movements themselves.
[1094] The server then processes the received video frames using an analytical method, extracting the user's posture data using a specific AI model. The AI model calculates the position of each user's joints and posture angles, and determines the user's posture based on the obtained data. For example, it uses TensorFlow or PyTorch libraries to execute advanced posture estimation algorithms.
[1095] The server then evaluates the analyzed posture data to determine whether the user's posture is correct. If the posture is incorrect, it generates appropriate feedback. The generated feedback message contains specific instructions and is created using natural language generation technology. Possible feedback might be, "Bend your knees more."
[1096] The server sends the generated feedback to the terminal, which then displays it on the user's device, allowing the user to check the feedback and adjust their posture. At this time, the user interface is designed to reliably convey the feedback content.
[1097] Furthermore, the server uses emotion recognition to analyze the user's emotional state. Using a camera and microphone, emotions are analyzed from the user's facial expressions and tone of voice, and emotions such as "tired" or "low motivation" are identified. Emotion analysis utilizes Google Cloud Speech-to-Text API as a voice analysis technology, and libraries such as OpenCV and dlib for facial expression analysis.
[1098] The server uses the emotional data to provide feedback and adjust the training menu. For example, if the user is tired, the server can instruct them to reduce the intensity of their training or send them a message of encouragement such as, "You're almost there! Keep up the great work!"
[1099] After the training is completed, the terminal uses a scanning means to acquire the user's body shape data as a 3D model and measure its detailed size and shape. The server analyzes the body shape data and uses a menu generation means to generate an optimal training menu for the user. For example, if it is determined that the leg muscles are weak, it will suggest training to strengthen the leg muscles. The generated training menu is displayed on the user's device via the terminal.
[1100] Specific examples
[1101] For example, consider a case where a user is training to do squats. When the user starts squatting, the device captures the movement with a webcam. The video frames are sent to a server in real time, and an analysis means detects that the user's knee angle is not greater than 90 degrees. The server generates feedback such as "Bend your knees more deeply" and displays it on the user's device via the device. The user checks the feedback and improves their posture by bending their knees more deeply.
[1102] The server then uses emotion recognition to analyze the user's facial expressions and voice, and if the user feels dissatisfied or fatigued with the training, adjusts the feedback accordingly. For example, it can motivate the user by sending an encouraging message such as, "You're almost there! Keep up the great work!"
[1103] After completing the training, the device scans the user's body shape and sends the data to the server. The server analyzes the body shape data and generates a training menu for the next training session. For example, if the server determines that the user's leg muscles are weak, it will suggest training to strengthen the leg muscles. The generated training menu is then displayed on the user's device via the device.
[1104] Example prompt
[1105] Here is an example of how the following prompt sentence is input to a generative AI model:
[1106] This system allows users to train at home with correct posture and receive real-time feedback. The system captures the user's movements with a wide-angle webcam, analyzes their posture using an AI model, and generates feedback. It also analyzes the user's emotions and adjusts the training menu based on the emotional data. As a concrete example, please show us the steps a user takes to perform squats.
[1107] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1108] Step 1:
[1109] The device captures the user's movements in real time using a wide-angle webcam. When the user starts training, the wide-angle webcam captures the user's movements and acquires the video frames. The input is the user's movements, and the output is the video frames captured in real time.
[1110] Step 2:
[1111] The terminal transmits the captured video frames to the server in real time, and simultaneously transmits the video frames to the user's device (e.g., augmented reality glasses) so that the user can see their own movements. The input is the captured video frames, and the output is the video frames transmitted to the server and the user's device.
[1112] Step 3:
[1113] The video frames received by the server are processed by an analytical means. Specifically, an AI model is used to extract the user's posture data. The input is the video frame sent to the server, and the output is posture data including the position of each joint and the posture angle of the user. In this case, the posture estimation algorithm is executed using the TensorFlow and PyTorch libraries.
[1114] Step 4:
[1115] The server evaluates the analyzed posture data and determines whether the user's posture is correct. If the posture is incorrect, it generates an appropriate feedback message. The input is posture data, and the output is the posture evaluation result and a feedback message. For example, natural language generation technology is used to create feedback such as "Bend your knees more deeply."
[1116] Step 5:
[1117] The server sends the generated feedback to the terminal, which displays it on the user's device. The user checks the feedback and adjusts their posture. The input is the feedback message, and the output is the feedback displayed on the user's device. The display uses the interface of the user device.
[1118] Step 6:
[1119] The server uses emotion recognition to analyze the user's emotional state. It uses a camera and microphone to analyze emotions from the user's facial expressions and tone of voice, identifying emotions such as "tired" or "low motivation." The input is the user's video and audio data, and the output is the analyzed emotional information. Emotion analysis uses OpenCV, dlib, Google Cloud Speech-to-Text API, etc.
[1120] Step 7:
[1121] The server adjusts feedback and training menus based on emotional data. If the user is tired, it may instruct them to reduce the intensity of their training or send an encouraging message such as "You're almost there! Keep up the great work!" The input is emotional information, and the output is the adjusted feedback message and training menu.
[1122] Step 8:
[1123] After the training is completed, the device uses a scanning means to acquire the user's body shape data as a 3D model and measure its detailed size and shape. The input is the user's body shape after the training is completed, and the output is the acquired 3D model data. A dedicated scanner device is used for the scanning.
[1124] Step 9:
[1125] The server analyzes the body shape data and generates an optimal training menu for the user using a menu generation means. For example, if it is determined that the leg muscles are weak, it will suggest training to strengthen the leg muscles. The input is the scanned body shape data, and the output is a newly generated training menu. The generated training menu is displayed on the user's device via the terminal.
[1126] (Application example 2)
[1127] 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."
[1128] Modern lifestyles demand effective training at home, but maintaining proper posture without professional instruction can be difficult, reducing effectiveness and increasing the risk of injury. Furthermore, the lack of feedback that takes into account the user's emotional state during training makes it difficult to maintain motivation. In particular, there is a need for real-time posture correction instructions and training adjustments based on the user's emotions.
[1129] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[1130] In this invention, the server includes a photographing means for capturing a user's movements, a transmitting means for transmitting the image captured by the photographing means to the user's computer in real time, a analyzing means for analyzing the image transmitted by the transmitting means and detecting the user's posture, a feedback generating means for generating posture feedback for the user based on the posture information detected by the analyzing means, a display means for displaying the feedback generated by the feedback generating means on the user's computer, a scanning means for scanning the user's body shape, an emotion recognizing means for recognizing the user's emotion based on the image of the user's movements acquired by the scanning means, an adjusting means for adjusting the feedback and training menu based on the emotional state recognized by the emotion recognizing means, a menu generating means for analyzing the body shape data scanned by the scanning means and generating a training menu suitable for the user, and a display means for displaying the training menu generated by the menu generating means on the user's computer. This enables the user to perform effective training at home while maintaining correct posture, and further allows the user to receive appropriate feedback and training adjustments according to their emotions.
[1131] The "photography means for capturing the user's movements" refers to a device for recording the user's training movements, and includes a wide-angle photographing device and a camera.
[1132] The "transmission means" is a device or function for transmitting the image captured by the image capture means to the user's computer in real time.
[1133] The "analysis means" is software or hardware for processing the video transmitted by the transmission means and detecting the user's posture.
[1134] The "feedback generating means" is a function for generating instructions to the user to improve or correct their posture based on the posture information obtained by the analyzing means.
[1135] The "display means" is a device or function for displaying the feedback generated by the feedback generation means on the user's computer.
[1136] The "scanning means" refers to a device or function for scanning the user's body shape and acquiring the data.
[1137] The "emotion recognition means" is a device or function for analyzing the emotional state of a user based on the video of the user's actions acquired by the scanning means.
[1138] The "adjustment means" is a function for appropriately adjusting feedback and training menus based on the user's emotional state recognized by the emotion recognition means.
[1139] The "menu generation means" is a function for generating an optimal training menu for a user based on the body shape data obtained by the scanning means and past training results.
[1140] An "augmented reality device" is a device that allows a user to visually see additional information superimposed on it, typically in the form of glasses or a headset.
[1141] A "wide-angle imaging device" is a camera or imaging device that has a wide viewing angle and can capture the entire user's movements.
[1142] The present invention provides a system that allows users to train with proper posture at home. Specific embodiments are described below.
[1143] 1. Hardware and Software Requirements
[1144] The server performs processing using multiple hardware and software components, including a wide-angle camera, an augmented reality device, and a network interface for data transmission, using libraries and frameworks such as Python, OpenCV, TensorFlow, and Keras.
[1145] 2. Processing Overview
[1146] Motion capture and transmission
[1147] The user's movements are captured in real time by a wide-angle camera, and the captured images are sent to a server over a network and simultaneously to an augmented reality device.
[1148] Posture analysis and feedback generation
[1149] The server analyzes the received video frames and uses an AI model to detect the user's posture. Based on the analysis results, it determines whether the posture is appropriate, and if it is inappropriate, it generates specific feedback using a feedback generation means.
[1150] Emotion recognition and feedback regulation
[1151] The emotional state of the user is analyzed using emotion recognition means based on video of the user's movements. For example, this includes analyzing facial expressions and voice tone using a camera and microphone. Training menus and feedback can be adjusted based on this emotional state.
[1152] Body scan and menu generation
[1153] After the training is completed, the user's body shape is scanned to obtain detailed data. Based on this data, a menu generation means generates an optimal training menu for the user. This menu is also displayed via the augmented reality device.
[1154] 3. Specific Examples
[1155] For example, when a user performs a plank exercise, a wide-angle camera captures the user's movements and sends them to a server. This data is used to analyze whether the user's posture is appropriate, and feedback such as "Lift your abdomen a little more" is generated and displayed on the user's augmented reality device. If the system detects signs of fatigue in the user's facial expression, it displays an encouraging message such as "Keep up! 10 seconds left!"
[1156] Example prompts to input to the generative AI model
[1157] "The user is in a plank position. Video analysis detects that the abdomen is not lifted properly. You provide feedback to the user saying, 'Lift your abdomen a bit more.' Additionally, facial analysis indicates signs of fatigue. If you were a coach, what encouraging message would you send and how would you suggest improving the next movement?"
[1158] This allows users to maintain correct posture while training effectively at home, and also allows them to receive appropriate feedback and training adjustments based on their emotions.
[1159] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1160] Step 1:
[1161] A wide-angle camera is used to capture the user's movements. The user's training movements are input as video frames. These video frames are sent to the user's computer in real time. The output is the real-time captured video frames.
[1162] Step 2:
[1163] The user's computer sends the captured video frames to the server in real time. At the same time, the video frames are also sent to the user's augmented reality device, allowing the user to see the action. The input is the video frames captured in step 1, and the output is the video frames sent to the server and the user's augmented reality device.
[1164] Step 3:
[1165] The server processes the received video frames using an analytical method. It uses an AI model (for example, a model using TensorFlow or Keras) to extract the user's posture data. The server then calculates the position of each joint and the posture angle based on this data. The input is the video frame sent in step 2, and the output is the user's posture data.
[1166] Step 4:
[1167] The server evaluates the analyzed posture data and determines whether the user's posture is correct. If the posture is incorrect, it uses a feedback generation means to generate appropriate feedback. For example, it generates instructions such as "bend your knees more" or "keep your back straight." The input is the posture data obtained in step 3, and the output is a feedback message.
[1168] Step 5:
[1169] The server sends the generated feedback to the user's computer, which then displays it on the augmented reality device. The user checks this feedback and adjusts their posture. The input is the feedback message generated in step 4, and the output is the feedback message displayed on the augmented reality device.
[1170] Step 6:
[1171] The server analyzes the user's emotional state using emotion recognition means, for example, by analyzing emotions from the user's facial expressions and tone of voice using a camera and microphone. The input obtained from this analysis is video frames and audio data, and the output is the user's emotional data.
[1172] Step 7:
[1173] The server adjusts the feedback and training menu based on the emotional data. For example, if the user is tired, it instructs them to reduce the intensity of their training, or if their motivation is low, it sends them an encouraging message. The input is the emotional data obtained in step 6, and the output is the adjusted feedback message and training menu.
[1174] Step 8:
[1175] After the training is completed, the device uses a scanning device to acquire the user's body shape data as a 3D model. This scanned data is input, and the results of measuring the user's detailed size and shape are output.
[1176] Step 9:
[1177] The server analyzes the body shape data and generates an optimal training menu for the user using the menu generation means. For example, if it is determined that the user's leg muscles are weak, it will suggest training to strengthen the leg muscles. The input is the body shape data acquired in step 8, and the output is the optimal training menu for the user.
[1178] Step 10:
[1179] The generated training menu is sent to the user's computer, and the terminal displays it on the augmented reality device. The user checks the new training menu and prepares for the next training. The input is the training menu generated in step 9, and the output is the training menu displayed on the augmented reality device.
[1180] 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.
[1181] 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.
[1182] 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.
[1183] 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.
[1184] 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.
[1185] 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.
[1186] 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).
[1187] 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.
[1188] 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."
[1189] 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.
[1190] 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).
[1191] 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.
[1192] 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.
[1193] 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.
[1194] 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.
[1195] 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.
[1196] 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.
[1197] 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.
[1198] 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.
[1199] 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.
[1200] 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.
[1201] The following is further disclosed regarding the above embodiment.
[1202] (Claim 1)
[1203] a photographing means for capturing the user's actions;
[1204] a transmitting means for transmitting the video captured by the imaging means to a user's device in real time;
[1205] analysis means for analyzing the video transmitted by the transmission means and detecting the posture of the user;
[1206] a feedback generating means for generating posture feedback to a user based on the posture information detected by the analyzing means;
[1207] a display means for displaying the feedback generated by the feedback generating means on a user's device;
[1208] a scanning means for scanning the user's body shape;
[1209] a menu generation means for analyzing the body shape data scanned by the scanning means and generating a training menu suitable for the user;
[1210] The system includes a display means for displaying the training menu generated by the menu generation means on a user's device.
[1211] (Claim 2)
[1212] 10. The system of claim 1, wherein the device is an augmented reality pair of glasses.
[1213] (Claim 3)
[1214] 2. The system according to claim 1, wherein the image capturing means is a wide-angle web camera.
[1215] "Example 1"
[1216] (Claim 1)
[1217] a photographing means for capturing the user's actions;
[1218] a transmitting means for transmitting the video captured by the imaging means to a user's terminal in real time;
[1219] data analysis means for analyzing the video transmitted by the transmission means and detecting the posture of the user;
[1220] a feedback generating means for generating posture feedback to a user based on posture information detected by the data analyzing means;
[1221] a display means for displaying the feedback generated by the feedback generating means on a terminal of the user;
[1222] a scanning means for scanning the user's body shape;
[1223] a menu generating means for analyzing the body shape data scanned by the scanning means and generating an exercise plan suitable for the user;
[1224] The system further includes a display means for displaying the exercise plan generated by the menu generating means on a user's terminal.
[1225] (Claim 2)
[1226] 2. The system of claim 1, wherein the terminal is an augmented reality device.
[1227] (Claim 3)
[1228] 2. The system according to claim 1, wherein the imaging means is a wide-angle imaging device.
[1229] "Application Example 1"
[1230] (Claim 1)
[1231] a photographing means for capturing the user's actions;
[1232] a transmitting means for transmitting the video captured by the imaging means to a user's device in real time;
[1233] analysis means for analyzing the video transmitted by the transmission means and detecting the posture of the user;
[1234] a feedback generating means for generating posture feedback to a user based on the posture information detected by the analyzing means;
[1235] a display means for displaying the feedback generated by the feedback generating means on a user's device;
[1236] a scanning means for scanning the user's shape data;
[1237] a menu generating means for analyzing the shape data scanned by the scanning means and generating an execution plan suitable for the user;
[1238] a display means for displaying the execution plan generated by the menu generating means on a user's device;
[1239] a photographing means for capturing the motion of the robot;
[1240] a transmitting means for transmitting the video captured by the imaging means to a monitoring system in real time;
[1241] analysis means for analyzing the video transmitted by the transmission means and detecting the posture of the robot;
[1242] a feedback generating means for generating a feedback of a posture of the robot based on the posture information detected by the analyzing means;
[1243] The system further comprises a display means for displaying the feedback generated by the feedback generating means on a device of the monitoring system.
[1244] (Claim 2)
[1245] 10. The system of claim 1, wherein the device is an augmented reality pair of glasses.
[1246] (Claim 3)
[1247] 2. The system according to claim 1, wherein the image capturing means is a wide-angle web camera.
[1248] "Example 2: Combining Emotion Engines"
[1249] (Claim 1)
[1250] a photographing means for capturing the user's actions;
[1251] a transmitting means for transmitting the video captured by the imaging means to a user's device in real time;
[1252] analysis means for analyzing the video transmitted by the transmission means and detecting the posture of the user;
[1253] a feedback generating means for generating posture feedback to a user based on the posture information detected by the analyzing means;
[1254] a display means for displaying the feedback generated by the feedback generating means on a user's device;
[1255] a scanning means for scanning the user's body shape;
[1256] a menu generation means for analyzing the body shape data scanned by the scanning means and generating a training menu suitable for the user;
[1257] emotion recognition means for analyzing the emotion of a user;
[1258] a means for adjusting feedback and training menus based on the emotion information analyzed by the emotion recognition means;
[1259] The system includes a display means for displaying the training menu generated by the menu generation means on a user's device.
[1260] (Claim 2)
[1261] 10. The system of claim 1, wherein the device is an augmented reality pair of glasses.
[1262] (Claim 3)
[1263] 2. The system according to claim 1, wherein the image capturing means is a wide-angle web camera.
[1264] "Application example 2 when combining emotion engines"
[1265] (Claim 1)
[1266] a photographing means for capturing the user's actions;
[1267] a transmitting means for transmitting the video captured by the imaging means to a user's computer in real time;
[1268] analysis means for analyzing the video transmitted by the transmission means and detecting the posture of the user;
[1269] a feedback generating means for generating posture feedback to a user based on the posture information detected by the analyzing means;
[1270] a display means for displaying the feedback generated by the feedback generating means on the user's computer;
[1271] a scanning means for scanning the user's body shape;
[1272] emotion recognition means for recognizing an emotion of a user based on the image of the user's actions acquired by the scanning means;
[1273] an adjustment means for adjusting feedback and a training menu based on the emotional state recognized by the emotion recognition means;
[1274] a menu generation means for analyzing the body shape data scanned by the scanning means and generating a training menu suitable for the user;
[1275] The system includes a display means for displaying the training menu generated by the menu generation means on the user's computer.
[1276] (Claim 2)
[1277] 10. The system of claim 1, wherein the computer is an augmented reality device.
[1278] (Claim 3)
[1279] 2. The system according to claim 1, wherein the imaging means is a wide-angle imaging device. [Explanation of symbols]
[1280] 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. a photographing means for capturing the user's actions; a transmitting means for transmitting the video captured by the imaging means to a user's device in real time; analysis means for analyzing the video transmitted by the transmission means and detecting the posture of the user; a feedback generating means for generating posture feedback to a user based on the posture information detected by the analyzing means; a display means for displaying the feedback generated by the feedback generating means on a user's device; a scanning means for scanning the user's body shape; a menu generation means for analyzing the body shape data scanned by the scanning means and generating a training menu suitable for the user; The system includes a display means for displaying the training menu generated by the menu generation means on a user's device.
2. The system of claim 1 , wherein the device is an augmented reality pair of glasses.
3. 2. The system according to claim 1, wherein the image capturing means is a wide-angle web camera.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A