system
The system addresses the challenge of understanding choreographer intentions and providing effective feedback by analyzing user dance videos with AI to generate example videos and provide targeted feedback, improving dance practice efficiency and motivation.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- SOFTBANK GROUP CORP
- Filing Date
- 2024-12-06
- Publication Date
- 2026-06-18
AI Technical Summary
In personal dance practice, the effect of practice cannot be improved and motivation decreases because the intentions and characteristics of choreographers cannot be fully understood, and self-evaluation is difficult, leading to a need for better understanding and feedback to enhance skills.
A system that analyzes user dance videos using AI to estimate choreographer intentions, generates example videos demonstrating key points, and provides feedback on differences to improve technique.
Enhances understanding of choreographer intentions, provides targeted feedback, and improves dance skills by allowing users to grasp and replicate choreography effectively.
Smart Images

Figure 2026099327000001_ABST
Abstract
Description
Technical Field
[0001] The technology of the present disclosure relates to a system.
Background Art
[0002] Patent Document 1 discloses a persona chatbot control method performed by at least one processor, including steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to an explanation of a 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
Summary of the Invention
Problems to be Solved by the Invention
[0004] In personal dance practice, there are problems that the effect of practice cannot be improved and motivation decreases because the intentions and characteristics of choreographers cannot be fully understood. Also, since self-evaluation during practice is difficult, there is a problem that it takes time to improve skills. Therefore, it is required to grasp the intentions of choreographers and improve the quality of personal practice.
Means for Solving the Problems
[0005] This invention allows for the estimation of a choreographer's intentions by receiving video footage from a user and analyzing its features using a generated model. Furthermore, by generating example video footage based on the estimated intentions and providing it to the user, the system makes it easier for the user to grasp the intentions behind the choreography. This system also includes a function to compare the user's video footage with the example video footage and provide the differences as feedback, allowing the user to objectively evaluate their own performance and use it for practice.
[0006] A "user" refers to an individual or group of people who use the system to practice dancing.
[0007] "Motion images" refer to a series of video data that changes over time. They are typically provided in video file format, captured by a camera.
[0008] "Means" refers to the components or processes used to perform a specific function or process within a system.
[0009] A "model" refers to a machine learning-based algorithm or program used to analyze the characteristics and intentions of a choreographer.
[0010] "Characteristics" refer to the characteristics of the choreographer's movements and style extracted from video footage, and are important information for understanding the intention behind the choreography.
[0011] "Intention" refers to the purpose or message that a choreographer wants to express through a particular piece of choreography.
[0012] "Example videos" refer to reference videos that demonstrate the dance movements that users should aim for.
[0013] "Feedback" refers to information that shows the differences between the user's dance and the example video, and provides advice and suggestions for improving their technique.
[0014] "Generation" refers to the act of creating new images, videos, feedback information, etc., and in this context, it is done using AI technology. [Brief explanation of the drawing]
[0015] [Figure 1] This is a conceptual diagram showing an example of the configuration of a data processing system according to the first embodiment. [Figure 2] This is a conceptual diagram showing an example of the essential functions of a data processing device and a smart device according to the first embodiment. [Figure 3] This is a conceptual diagram showing an example of the configuration of a data processing system according to the second embodiment. [Figure 4] This is a conceptual diagram showing an example of the main functions of a data processing device and smart glasses according to the second embodiment. [Figure 5] This is a conceptual diagram showing an example of the configuration of a data processing system according to the third embodiment. [Figure 6] This is a conceptual diagram showing an example of the main functions of a data processing device and a headset-type terminal according to the third embodiment. [Figure 7] This is a conceptual diagram showing an example of the configuration of a data processing system according to the fourth embodiment. [Figure 8] This is a conceptual diagram showing an example of the main functions of a data processing device and a robot according to the fourth embodiment. [Figure 9] This shows an emotion map where multiple emotions are mapped. [Figure 10] This shows an emotion map where multiple emotions are mapped. [Figure 11] This is a sequence diagram showing the processing flow of the data processing system in Example 1. [Figure 12] This is a sequence diagram showing the processing flow of the data processing system in Application Example 1. [Figure 13] This is a sequence diagram showing the processing flow of the data processing system in Example 2, when an emotion engine is combined. [Figure 14]It is a sequence diagram showing the processing flow of a data processing system in Application Example 2 when a sentiment engine is combined.
Embodiments for Carrying out the Invention
[0016] Hereinafter, an example of an embodiment of a system according to the technology of the present disclosure will be described with reference to the accompanying drawings.
[0017] First, the terms used in the following description will be explained.
[0018] In the following embodiments, a numbered processor (hereinafter simply referred to as "processor") may be a single arithmetic unit or a combination of multiple arithmetic units. Also, the processor may be a single type of arithmetic unit or a combination of multiple types of arithmetic units. Examples of arithmetic units include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), an APU (Accelerated Processing Unit), and the like.
[0019] In the following embodiments, a numbered RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a work memory by the processor.
[0020] In the following embodiments, a numbered storage is one or more non-volatile storage devices that store various programs and various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), or magnetic tapes, etc.
[0021] In the following embodiments, the signed communication interface (I / F) is an interface that includes a communication processor and an antenna, etc. The communication interface manages communication between multiple computers. Examples of communication standards applicable to the communication interface include wireless communication standards such as 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), or Bluetooth (registered trademark).
[0022] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." That is, "A and / or B" means that it may be A alone, or B alone, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" applies when expressing three or more things linked by "and / or."
[0023] [First Embodiment]
[0024] Figure 1 shows an example of the configuration of the data processing system 10 according to the first embodiment.
[0025] As shown in Figure 1, the 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.
[0026] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0027] The smart device 14 comprises a computer 36, a reception device 38, an output device 40, a camera 42, and a communication interface 44. The computer 36 comprises a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The reception device 38, output device 40, and camera 42 are also connected to the bus 52.
[0028] The reception device 38 is equipped with a touch panel 38A and a microphone 38B, etc., and receives user input. The touch panel 38A receives user input by detecting contact with an object (e.g., a pen or finger). The microphone 38B receives user input by detecting the user's voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and 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.
[0029] 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 perceptible to the user 20 (e.g., audio and / or text). The display 40A displays visible information such as text and images according to instructions from the processor 46. The speaker 40B outputs audio according to instructions from the processor 46. The camera 42 is a small digital camera equipped with an optical system such as a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0030] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various types of information between processor 46 and processor 28 via network 54.
[0031] Figure 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0032] As shown in Figure 2, in the data processing device 12, a specific processing 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" related to the technology of this 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 according to the specific processing program 56 executed on the RAM 30.
[0033] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0034] In the smart device 14, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The reception output program 60 is used in conjunction with a 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0035] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the smart device 14 as the "terminal".
[0036] The system of this invention is designed to enable individual users to practice dance efficiently. The process begins when a user films their dance practice and uploads it to the system via a terminal. The server stores the received video and uses an AI model to extract characteristics of the choreographer.
[0037] The AI model analyzes the movements, rhythm, and expressions within the video to estimate the choreographer's intentions. Based on these estimations, the server generates a video that the user should use as a model. The generated example video is structured to visually demonstrate the key points and tips of the choreography, making it easy for the user to understand.
[0038] As a concrete example, suppose a user wants to learn a new dance step. After the user uploads a video of themselves practicing the dance, the server analyzes the choreographer's characteristics and generates a model video demonstrating the rhythm and posture of the step. The user can then continue practicing by comparing their own movements to this video. Furthermore, the system compares the user's actual movements with the model video and analyzes the differences. The server provides this analysis as feedback to the user, specifically pointing out what needs to be improved and how.
[0039] The device receives this feedback and displays it on the user's screen. The user can review this and incorporate it into their next practice session. This allows the user to go beyond mere imitation and truly understand the choreographer's intentions, thereby improving their dance technique.
[0040] The following describes the processing flow.
[0041] Step 1:
[0042] Users film themselves practicing their dance and upload the videos to the system via their device. The device then sends the uploaded videos to the server.
[0043] Step 2:
[0044] The server saves the received video and performs preprocessing such as resolution and format conversion. This process adjusts the video to a state suitable for analysis.
[0045] Step 3:
[0046] The server uses an AI model to analyze dance movements in saved videos. The AI model extracts characteristic movements from the videos and generates data to identify the choreographer's characteristics.
[0047] Step 4:
[0048] The server estimates the choreographer's intentions based on data extracted through AI analysis. This process identifies the expressive intent behind each movement and the continuity of the movements.
[0049] Step 5:
[0050] The server generates a sample video based on the estimated intent. This video highlights the characteristic points of the analyzed choreography and is structured to be easy for the user to understand.
[0051] Step 6:
[0052] The server compares the generated example video with the user's original video and analyzes the differences in movement and rhythm. The analysis results are then generated as feedback for the user.
[0053] Step 7:
[0054] The device receives feedback from the server and displays it to the user through the user interface. The user can then use this feedback to improve their next practice session.
[0055] (Example 1)
[0056] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."
[0057] In dance practice, accurately understanding the intentions behind others' choreography and rhythm, and efficiently mastering them, is difficult for many users. To solve this problem, a system is needed that allows users to easily compare their own movements and receive specific feedback on areas for improvement.
[0058] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0059] In this invention, the server includes a device for acquiring video footage captured by a user, a device for analyzing the motion characteristics of the acquired video using an artificial intelligence model, and a device for creating a model video based on the analyzed motion characteristics. This allows the user to compare their own movements with those intended by the choreographer and clearly identify specific areas for improvement.
[0060] A "user" refers to someone who provides videos to improve their own abilities and skills using the system.
[0061] "Video" refers to a video file that records a series of actions captured by the user.
[0062] "Acquisition" refers to the process of importing videos provided by users into the system.
[0063] "Device" refers to a collection of software and hardware used to perform processing or analysis.
[0064] "Storage" refers to the safe and efficient preservation of acquired information.
[0065] An "artificial intelligence model" refers to an algorithm that analyzes data to extract patterns and features.
[0066] "Motion characteristics" refers to the detailed features of the movements and behaviors contained within the video.
[0067] "Analysis" refers to the process of breaking down the content of a video and identifying its constituent elements.
[0068] "Intention" refers to the creator's purpose or aim in choreography or movement.
[0069] A "model video" refers to a reference video generated based on analyzed motion characteristics and intentions.
[0070] "Provision" refers to the process of communicating the generated results or information to the user.
[0071] "Contrast" refers to the process of comparing different pieces of information and clarifying their differences.
[0072] "Difference" refers to the point of difference that exists between two or more elements.
[0073] "Evaluation" refers to the feedback and analysis results obtained from comparisons.
[0074] "User interface" refers to the screens and methods that users use to interact with a system and receive information.
[0075] This invention is a system that allows users to receive effective feedback while practicing dance. Specifically, the user records their dance as a video using a recording device such as a smartphone or a dedicated camera. Afterwards, the user uploads the recorded video to a server using their device.
[0076] When a server receives a video, it first stores the data. Cloud storage services are used for receiving and storing the video. Next, an artificial intelligence model running on the server is activated and precisely analyzes the motion characteristics of the uploaded video. Deep learning technology, which performs motion pattern recognition, is used for this analysis.
[0077] Based on the analysis results, the server generates a video for the user to use as a model. This generation utilizes a generative AI model to create a video that reflects the choreographer's intentions and specific movement points. This model video is then provided to the user via their device, allowing them to compare their own movements with the model video.
[0078] Furthermore, the server analyzes the differences between the user's video and the generated model video, and generates an evaluation of specific areas for improvement. This evaluation information is displayed to the user through the terminal's user interface.
[0079] As a concrete example, if a user wants to learn a new dance step, they can film themselves dancing and upload the video. The server then analyzes the rhythm and posture of the step and provides an optimal example video. The user can then practice by comparing their own movements to this video. Furthermore, by using prompts such as, "Please tell me how to practice this step while emphasizing its rhythm," the system can generate more detailed feedback.
[0080] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0081] Step 1:
[0082] Users film their dance practice sessions using video equipment and upload the videos to the system via a terminal. The input is the video file filmed by the user, and the output is the transfer of video data from the terminal to the server. During this process, the video format and size are automatically checked and sent to the server in the appropriate format.
[0083] Step 2:
[0084] The server receives the uploaded video and saves it to secure storage. Simultaneously with saving the video file as input, the video's metadata (e.g., duration, resolution) is extracted. The output is the saved video data and its metadata. After this, the video is transferred from storage to an AI model for analysis.
[0085] Step 3:
[0086] The AI model on the server analyzes the stored video. The input is the video data stored on the server, and the output is the analysis results regarding the motion characteristics. Specifically, the data processing involves decomposing the motion frame by frame and calculating tracking information.
[0087] Step 4:
[0088] The server generates a model video based on the analysis results. The input is the analysis results of the movement characteristics, and the output is the model video provided to the user. In this generation process, the AI model considers the intent of the choreography and the movement points to create a new, easily understandable video.
[0089] Step 5:
[0090] The server compares the generated model video with the user's video and evaluates the differences. The input is the user's video and the model video, and the output is specific feedback evaluation information. In this step, the discrepancies are quantified, making it clear which points the user should correct.
[0091] Step 6:
[0092] The terminal receives evaluation information from the server and displays it through the user interface. Input is feedback information from the server, and output is information visually displayed on the user's screen. Specifically, important areas for improvement are highlighted, making it easy for the user to apply them to their next practice session.
[0093] (Application Example 1)
[0094] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."
[0095] There is a challenge in the lack of support for individual users to practice dance efficiently. In particular, it is difficult to accurately understand the choreographer's movements and intentions and reproduce exemplary movements, and there is a problem in that users have no way of knowing specifically what parts need to be corrected when they are making self-improvements. Furthermore, there is a need for means of learning that allow for more intuitive progress, such as using devices that can visually present exemplary movements.
[0096] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0097] In this invention, the server includes means for receiving video footage captured by a user, means for analyzing the features of the captured video footage using a generated model, means for generating a model video based on the estimated intent, and means for converting the generated model video into a motion demonstration device. This enables the user to receive visual and practical support to improve their own movements and understand the choreographer's intent.
[0098] "Video footage" refers to video data of dance movements filmed by the user.
[0099] "Means of analyzing features" refers to hardware or software that uses a generative AI model to analyze the movements and expressions in captured video footage and execute a process to estimate the choreographer's intentions.
[0100] "Means of inferring intent" refers to techniques for understanding the intentions behind the movements and rhythms that a choreographer is trying to convey, based on the analyzed characteristics.
[0101] "Example video" refers to video data that visually demonstrates exemplary actions generated by an AI model.
[0102] A "movement demonstration device" refers to a device that reproduces generated example videos as actual movements and presents them visually to the user.
[0103] "Feedback" refers to information that compares the user's actions with example videos and specifically points out the differences and areas for improvement.
[0104] An "information display device" refers to a device such as a display or mobile terminal that allows users to check feedback information.
[0105] This invention is a system that provides video analysis and visual feedback to help users practice dance effectively.
[0106] The device receives video footage of the dance captured by the user. The captured video footage is acquired using a smartphone or tablet and then uploaded to a cloud server via the internet. The cloud server uses Google Cloud Platform and a generative AI model based on TENSORFLOW to analyze the features of the video footage. This analysis detects movements, rhythms, and expressions within the video footage and estimates the choreographer's intentions.
[0107] The server generates example videos that the user should imitate, based on the estimated intent. These example videos clearly indicate the key points and tips of the choreography, serving as a learning guide for the user. The server also converts these example videos into control sequences for a home robot, enabling the robot to perform the exemplary movements in real time. This robot operates using, for example, ROS (Robot Operating System).
[0108] Users can view example videos and feedback on their smartphones or information display devices. The feedback analyzes the differences between the example video and the user's own video, specifically indicating areas for improvement. By continuing to practice based on this feedback, users can effectively improve their dance skills.
[0109] As a concrete example, consider a case where a user wants to learn the "cha-cha-cha" ballroom dance. The user films the basic steps of the cha-cha-cha and uploads it to a server via the cloud. The generation AI model analyzes this video and generates exemplary steps as a video example. A home robot then demonstrates these steps, allowing the user to instantly learn the correct movements visually. Through feedback, the user can receive specific advice on which steps to improve and how.
[0110] An example of a prompt for a generative AI model is: "Analyze the choreographer's intentions from the following dance video and generate a model video. Also generate a comparison result with the user's movements."
[0111] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0112] Step 1:
[0113] The terminal receives video footage of the user dancing. The user uses their smartphone to film dance practice videos and uploads them to the server via the cloud using a dedicated app. The input is the user's dance video, and the output is the video data stored on the server.
[0114] Step 2:
[0115] The server stores the received video footage and analyzes its features using a generative AI model. The stored video footage is then placed in a database, and the AI model extracts motion and rhythm through regression analysis and image processing. The input is the stored video footage, and the output is the analyzed feature data.
[0116] Step 3:
[0117] The server estimates the choreographer's intentions from the analyzed feature data. It applies an AI model's predictive algorithm to estimate the purpose of the choreography and the intention behind reproducing the rhythm. The input is feature data, and the output is data related to the estimated intentions.
[0118] Step 4:
[0119] The server generates example videos based on estimated intentions. The generating AI model creates exemplary movements as example videos based on the intentions of the choreography. The input is intention data, and the output is example videos.
[0120] Step 5:
[0121] The server converts a model video into a motion demonstration device. It then creates control data to convert the generated model video into a motion sequence for a home robot. The input is a model video, and the output is a control sequence for the robot.
[0122] Step 6:
[0123] The terminal or information display device shows the user a generated example video and a robot demonstration, which the user then visually confirms. The input is the example video and robot demonstration, and the output is the user's visual feedback.
[0124] Step 7:
[0125] The server compares newly uploaded videos from the user with example videos and generates feedback. Using deep learning-based image comparison technology, it analyzes differences between actions and generates feedback information. The inputs are the newly uploaded videos and example videos, and the output is the feedback information.
[0126] Step 8:
[0127] The device provides the user with generated feedback information and displays advice to help them improve their next practice session. The input is feedback information, and the output is improvement instructions delivered through the user interface.
[0128] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0129] This invention improves the quality of individual dance practice by incorporating an emotion engine into a system that supports individual dance practice, thereby responding to the user's emotions. The system begins with a terminal receiving practice videos recorded by the user and sending them to a server. The server stores the videos and analyzes the characteristics of the movements using an AI model. It then estimates the choreographer's intentions and generates example videos.
[0130] In addition, the server uses an emotion engine to recognize the user's emotions from their facial expressions and actions within the video. Based on this information, it optimizes the choreography and the content of the example video to match the user's emotions. For example, if the user is confused by a difficult step, the server will employ a method to explain that part in more detail when generating the video.
[0131] Furthermore, the feedback generation process also takes user emotions into consideration. The server adjusts the content and tone of the feedback to create feedback that is most encouraging to the user. This feedback is displayed on the device, and the user receives it and uses it to improve their practice.
[0132] For example, if the server's emotion engine determines that a user is finding a section of the choreography difficult, the server will repeatedly emphasize that section and generate a demonstration video. Furthermore, the feedback will highlight that section as a point to focus on improving during independent practice. This allows users to efficiently improve their practice and helps maintain motivation. In this way, flexible practice support tailored to individual emotions is possible.
[0133] The following describes the processing flow.
[0134] Step 1:
[0135] Users film their dance practice videos and upload them to the system via their device. The device prompts the user to submit the video through its user interface and sends the data to the server.
[0136] Step 2:
[0137] The server saves the video received from the terminal and performs preprocessing such as adjusting the resolution and format. This prepares the video for analysis.
[0138] Step 3:
[0139] The server uses an AI model to analyze the movements in the video and extract features. These features include the speed of the movement, the angle, and the nuances of expression.
[0140] Step 4:
[0141] The server uses data obtained from AI analysis to estimate the choreographer's intentions and generates the most suitable example video for the user. During this generation process, key dance elements are emphasized.
[0142] Step 5:
[0143] The server uses an emotion engine to recognize emotions from the user's facial expressions and actions within the practice video. This recognition result is used to optimize the choreography intent and the example video.
[0144] Step 6:
[0145] The server adjusts the feedback based on the recognized user's emotions. The server modifies the content and expression of the feedback to match the user's emotional state, providing the most effective advice.
[0146] Step 7:
[0147] The terminal receives feedback from the server and displays it to the user on the user interface. The user can review the feedback and use it to improve their next practice session.
[0148] (Example 2)
[0149] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the smart device 14 as the "terminal".
[0150] While conventional dance practice support systems had the functionality to analyze user movements, they could not adjust feedback or practice video content based on the user's emotions, resulting in only uniform instruction. This could hinder user motivation and efficient skill improvement. Therefore, there was a need to customize practice support based on the user's emotions to achieve more effective and individually optimized instruction.
[0151] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0152] In this invention, the server includes means for receiving video footage captured by the user, means for analyzing the features of the captured video footage using a generated model, and means for recognizing the user's emotions and generating example video footage optimized for those emotions. This makes it possible to provide optimal feedback and example videos that correspond to the user's emotions.
[0153] A "user" refers to an individual who uses the system to improve their own dance performance.
[0154] "Video footage" refers to video data that captures the user's dance movements.
[0155] "Means of receiving" refers to the function for acquiring video and image data sent by the user.
[0156] "Means of saving" refers to the function of storing received video images on a recording medium.
[0157] "Generated model" refers to an artificial intelligence model trained to analyze video images and extract features.
[0158] "Means of analysis" refers to the function that utilizes a model generated to identify the characteristics of user actions from video footage.
[0159] "Choreographic intent" refers to the concept that indicates the movement or expression that the dance actions should aim for.
[0160] "Means of estimation" refers to the function of determining the intent of the choreography based on the analyzed characteristics.
[0161] "Example videos" refer to exemplary dance videos that users can use as a reference.
[0162] "Generating means" refers to the function of creating example videos based on the estimated intent of the choreography.
[0163] "Means of provision" refers to the function of visually presenting the generated example video to the user.
[0164] "Recognizing emotions" refers to identifying a user's emotional state from their facial expressions and actions.
[0165] "Optimized example videos" refer to example videos that have been adjusted according to the user's emotions.
[0166] "Feedback" refers to information used to analyze the differences between a user's video and the example video, and to communicate areas for improvement.
[0167] This invention is a system for effectively supporting users' dance practice. The system consists of a terminal, a server, and associated software. The respective components and processes are described below.
[0168] Hardware and software configuration
[0169] Device: A device with camera and internet connectivity capabilities, such as a smartphone or tablet, is used. A dedicated application is installed, and the user records videos through it and sends them to the server.
[0170] Server: A cloud server with a high-performance computing environment is used. This server houses video storage capabilities, generative AI models, and an emotion recognition engine. The generative AI model utilizes machine learning frameworks such as TensorFlow.
[0171] Generative AI Model: This is a neural network model that analyzes the features of video footage, estimates the intent behind the choreography, and generates example videos.
[0172] Emotion recognition engine: This is software that analyzes the user's facial expressions and motion data to identify emotions. It can use libraries such as OpenCV.
[0173] Operation and Usage Instructions
[0174] User: Uses their smartphone camera to record their dance practice as a video. Then, uploads this video to the server via a dedicated app.
[0175] Server: Analyzes received video data and uses a generation AI model to analyze user actions. Based on the analysis results, it estimates the intent of the choreography and generates an optimal example video based on this. Using an emotion recognition engine, it recognizes the user's emotional state from their facial expressions and body movements, and customizes the example video and feedback by taking this emotional information into account.
[0176] Specific example
[0177] For example, if a user shows a confused expression in a video, the server will generate a more detailed example video explaining that part of the dance steps. The feedback will also include instructions to focus on practicing that difficult section.
[0178] Example of a prompt
[0179] The following prompt statements can be used to give specific instructions to the generative AI model.
[0180] "Users are confused in the middle of the choreography. Please create a demonstration video that highlights the confusing part and include feedback on how to improve that section."
[0181] This system allows users to receive personalized instruction tailored to their own emotions, contributing to the improvement of their dance skills.
[0182] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0183] Step 1:
[0184] The user records their dance practice as a video using their smartphone camera. The recorded video is saved to an application on the device. The input includes the user's video. The output is the recorded video file.
[0185] Step 2:
[0186] The device sends videos captured through the application to the server. The input is a video file, and the output is video data stored on the server's storage. The data is transferred over the internet with appropriate security protocols (e.g., SSL / TLS) applied.
[0187] Step 3:
[0188] The server stores the received video data and inputs it into the generating AI model. The input here is a video file stored on the server's storage. The AI model analyzes the user's movements within the video and extracts movement features. The output is the extracted movement feature data.
[0189] Step 4:
[0190] The server estimates the intent of choreography based on its movement characteristics. The input is movement characteristic data. AI is used to analyze the intent and set criteria for generating example videos. The output is estimated choreography intent data.
[0191] Step 5:
[0192] The server generates a sample video using a generative AI model based on the estimated choreographic intent. Inputs include the choreographic intent and the original video footage. The sample video may include music and visual guidelines. The output is the sample video.
[0193] Step 6:
[0194] The server uses an emotion recognition engine to recognize emotions from the user's facial expressions and posture. The input is the user's video data, and the output is the recognized emotion data. Image processing technology is used for emotion recognition.
[0195] Step 7:
[0196] The server considers the recognized emotions and optimizes the example video and feedback to match the user's emotions. The input consists of emotion data and example video data. The output is the optimized example video and feedback text.
[0197] Step 8:
[0198] The server sends the generated example video and feedback to the device. The input is optimized data, and the output is in a format viewable on the device. The data is transferred through a secure channel.
[0199] Step 9:
[0200] The device visually provides the user with example videos and feedback. Input is data received from the server, and output is content that the user can understand visually and audibly. This allows the user to receive specific guidance and improve their practice.
[0201] (Application Example 2)
[0202] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as a "server" and the smart device 14 as a "terminal".
[0203] Modern dance practice support systems often provide uniform feedback without considering the user's emotions, posing challenges to maintaining user motivation and improving practice efficiency. There is a need for support that improves the quality and effectiveness of practice by providing flexible feedback that responds to the user's emotions.
[0204] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.
[0205] In this invention, the server includes means for storing video footage captured by the user and analyzing its features; means for estimating the intent of the choreography based on the analyzed features and generating example video footage; and means for recognizing the user's emotions via a robot and optimizing practice feedback based on those emotions. This makes it possible to provide appropriate feedback and advice in accordance with the user's emotions and improve the quality of practice.
[0206] A "user" refers to an individual who uses the system to practice dancing.
[0207] "Means of recording" refers to devices and technologies for recording the user's dance movements.
[0208] "Video footage" refers to video data that records the user's dance movements.
[0209] "Means of storage" refers to a storage device or method for holding received video data.
[0210] "Generated model" refers to an algorithm for choreography analysis or emotion recognition that has been trained and built by an AI model.
[0211] "Methods for analyzing features" refer to technologies for analyzing information such as body movements and facial expressions extracted from video images.
[0212] "Means of estimating the intent of choreography" refers to the process of understanding the purpose and structure of a dance based on analyzed movement data.
[0213] "Methods for generating exemplary videos" refers to technology that creates standard dance videos that users can use as a reference, based on the estimated intent of the choreography.
[0214] "Means of provision" refers to methods for presenting generated example videos and feedback to users.
[0215] A "robot" is a mechanical device programmed to support a user's dance practice.
[0216] "Means of recognizing emotions" refers to technologies that analyze a user's facial expressions, movements, and voice to understand their emotional state.
[0217] "Methods for optimizing feedback" refer to the process of adjusting advice and information to improve the user's practice based on the results of emotion recognition.
[0218] "Speech synthesis" is a technology that generates speech based on textual information and provides it to the user as auditory information.
[0219] The system for realizing this invention consists of a robot that assists the user in dance practice and a cloud server that operates in the backend. The system mainly consists of the following elements:
[0220] The server receives video footage captured by users and stores it in the cloud. The stored video data is analyzed by an AI model built using Python, and motion characteristics are extracted. This analysis estimates the intention behind the user's dance movements, and based on the results, a model video is generated.
[0221] The robot is equipped with a camera and voice input device to recognize emotions in real time during user practice. This emotion recognition uses an emotion engine that combines the open-source computer vision libraries OpenCV and TensorFlow, determining the user's emotional state from their facial expressions and voice.
[0222] User emotion-based feedback is optimized on the server and delivered to the user via the robot's speech synthesis function. A general-purpose speech synthesis platform is used for speech synthesis. Visual feedback is also provided via the robot's display. This feedback employs a positive approach to engage the user.
[0223] A concrete example is when the robot provides feedback on the parts of the practice that the user finds difficult, along with the results of the motion analysis and recommended improvement methods. By providing feedback via speech synthesis, such as, "After a short break, I will slowly play the motion with explanations," the user can continue practicing and improve.
[0224] Examples of prompt messages include the following:
[0225] "Based on the user's facial expressions, identify their current emotional state. Then, based on the results of the choreography motion analysis, suggest the most suitable practice method. If the user is feeling down, consider providing encouraging feedback."
[0226] In this way, it becomes possible to support dance practice in a way that is tailored to the individual user's emotions, improving the quality and enjoyment of practice.
[0227] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0228] Step 1:
[0229] The user practices dancing and films their movements with a camera. This recorded video data is input into the robot's terminal. The robot's terminal transmits this video data to a server in the cloud via the network. Once the transmitted data reaches the server, the server saves the data.
[0230] Step 2:
[0231] The server receives the saved video footage and analyzes the characteristics of the movements using a generating AI model. This analysis extracts various motion parameters, such as the user's arm and leg movements and body twists. Once the motion characteristics are extracted, the server is ready to proceed to the next processing step.
[0232] Step 3:
[0233] The server estimates the intent of the choreography based on the extracted feature data. It then compares this data with a database of choreography patterns to recognize corresponding choreography patterns. Based on the estimation results, a generative AI model is used to generate example videos. The generated videos are recorded on the server and made available to users.
[0234] Step 4:
[0235] The server acquires the user's facial expressions and voice from the robot in real time and uses this data to recognize emotions. This recognition utilizes OpenCV and TensorFlow to estimate the user's emotional state (joy, anger, sadness, surprise, etc.). Based on the recognized emotion data, it generates feedback that matches the user's mental state.
[0236] Step 5:
[0237] The server sends the generated feedback to the robot. The robot converts this feedback information into speech using a speech synthesis engine and communicates it to the user verbally. Simultaneously, the robot's display shows images and text messages. Based on this feedback, the user can adjust and improve their practice.
[0238] This entire process enables dance practice support that is tailored to each individual's emotions and abilities.
[0239] 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 user input for the result of the specific processing. The control unit 46A transmits the audio data indicating 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.
[0240] Data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of data generation model 58 is ChatGPT (registered trademark) (Internet search).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0241] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart device 14.
[0242] [Second Embodiment]
[0243] Figure 3 shows an example of the configuration of the data processing system 210 according to the second embodiment.
[0244] As shown in Figure 3, the data processing system 210 includes a data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0245] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0246] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication interface 44. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, and camera 42 are also connected to the bus 52.
[0247] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0248] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[0249] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0250] Figure 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Figure 4, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0251] The specific processing program 56 is an example of a "program" relating to the technology of this 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.
[0252] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0253] In the smart glasses 214, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0254] Next, the identification processing performed by the identification processing unit 290 of the data processing device 12 will be described. 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".
[0255] The system of this invention is designed to enable individual users to practice dance efficiently. The process begins when a user films their dance practice and uploads it to the system via a terminal. The server stores the received video and uses an AI model to extract characteristics of the choreographer.
[0256] The AI model analyzes the movements, rhythm, and expressions within the video to estimate the choreographer's intentions. Based on these estimations, the server generates a video that the user should use as a model. The generated example video is structured to visually demonstrate the key points and tips of the choreography, making it easy for the user to understand.
[0257] As a concrete example, suppose a user wants to learn a new dance step. After the user uploads a video of themselves practicing the dance, the server analyzes the choreographer's characteristics and generates a model video demonstrating the rhythm and posture of the step. The user can then continue practicing by comparing their own movements to this video. Furthermore, the system compares the user's actual movements with the model video and analyzes the differences. The server provides this analysis as feedback to the user, specifically pointing out what needs to be improved and how.
[0258] The device receives this feedback and displays it on the user's screen. The user can review this and incorporate it into their next practice session. This allows the user to go beyond mere imitation and truly understand the choreographer's intentions, thereby improving their dance technique.
[0259] The following describes the processing flow.
[0260] Step 1:
[0261] Users film themselves practicing their dance and upload the videos to the system via their device. The device then sends the uploaded videos to the server.
[0262] Step 2:
[0263] The server saves the received video and performs preprocessing such as resolution and format conversion. This process adjusts the video to a state suitable for analysis.
[0264] Step 3:
[0265] The server uses an AI model to analyze dance movements in saved videos. The AI model extracts characteristic movements from the videos and generates data to identify the choreographer's characteristics.
[0266] Step 4:
[0267] The server estimates the choreographer's intentions based on data extracted through AI analysis. This process identifies the expressive intent behind each movement and the continuity of the movements.
[0268] Step 5:
[0269] The server generates a sample video based on the estimated intent. This video highlights the characteristic points of the analyzed choreography and is structured to be easy for the user to understand.
[0270] Step 6:
[0271] The server compares the generated example video with the user's original video and analyzes the differences in movement and rhythm. The analysis results are then generated as feedback for the user.
[0272] Step 7:
[0273] The device receives feedback from the server and displays it to the user through the user interface. The user can then use this feedback to improve their next practice session.
[0274] (Example 1)
[0275] Next, we will describe Example 1. 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."
[0276] In dance practice, accurately understanding the intentions behind others' choreography and rhythm, and efficiently mastering them, is difficult for many users. To solve this problem, a system is needed that allows users to easily compare their own movements and receive specific feedback on areas for improvement.
[0277] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0278] In this invention, the server includes a device for acquiring a video captured by a user, a device for analyzing the motion characteristics of the acquired video using an artificial intelligence model, and a device for creating a model video based on the analyzed motion characteristics. Thereby, the user can compare their own actions with the actions intended by the choreographer and clearly recognize specific areas for improvement.
[0279] The "user" refers to a person who provides a video in order to improve their own abilities and skills using the system.
[0280] The "video" refers to a video file that records a series of actions captured by the user.
[0281] "Acquisition" refers to the process of importing the video provided by the user into the system.
[0282] The "device" refers to an aggregate of software and hardware for executing processing and analysis.
[0283] "Storage" refers to safely and efficiently storing the acquired information. <0"Provision" refers to the process of communicating the generated results or information to the user.
[0290] "Contrast" refers to the process of comparing different pieces of information and clarifying their differences.
[0291] "Difference" refers to the point of difference that exists between two or more elements.
[0292] "Evaluation" refers to the feedback and analysis results obtained from comparisons.
[0293] "User interface" refers to the screens and methods that users use to interact with a system and receive information.
[0294] This invention is a system that allows users to receive effective feedback while practicing dance. Specifically, the user records their dance as a video using a recording device such as a smartphone or a dedicated camera. Afterwards, the user uploads the recorded video to a server using their device.
[0295] When a server receives a video, it first stores the data. Cloud storage services are used for receiving and storing the video. Next, an artificial intelligence model running on the server is activated and precisely analyzes the motion characteristics of the uploaded video. Deep learning technology, which performs motion pattern recognition, is used for this analysis.
[0296] Based on the analysis results, the server generates a video for the user to use as a model. This generation utilizes a generative AI model to create a video that reflects the choreographer's intentions and specific movement points. This model video is then provided to the user via their device, allowing them to compare their own movements with the model video.
[0297] Furthermore, the server analyzes the differences between the user's video and the generated model video, and generates an evaluation of specific areas for improvement. This evaluation information is displayed to the user through the terminal's user interface.
[0298] As a concrete example, if a user wants to learn a new dance step, they can film themselves dancing and upload the video. The server then analyzes the rhythm and posture of the step and provides an optimal example video. The user can then practice by comparing their own movements to this video. Furthermore, by using prompts such as, "Please tell me how to practice this step while emphasizing its rhythm," the system can generate more detailed feedback.
[0299] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0300] Step 1:
[0301] Users film their dance practice sessions using video equipment and upload the videos to the system via a terminal. The input is the video file filmed by the user, and the output is the transfer of video data from the terminal to the server. During this process, the video format and size are automatically checked and sent to the server in the appropriate format.
[0302] Step 2:
[0303] The server receives the uploaded video and saves it to secure storage. Simultaneously with saving the video file as input, the video's metadata (e.g., duration, resolution) is extracted. The output is the saved video data and its metadata. After this, the video is transferred from storage to an AI model for analysis.
[0304] Step 3:
[0305] The AI model on the server analyzes the stored video. The input is the video data stored on the server, and the output is the analysis results regarding the motion characteristics. Specifically, the data processing involves decomposing the motion frame by frame and calculating tracking information.
[0306] Step 4:
[0307] Based on the analysis results, the server generates a model video. The input is the analysis result of the operation characteristics, and the output is the model video provided to the user. In this generation process, the AI model creates a newly easily understandable video considering the choreography intention and operation points.
[0308] Step 5:
[0309] The server compares the generated model video with the user's video and evaluates the differences. The input is the user's video and the model video, and the output is specific feedback evaluation information. In this step, the deviation is quantified, and it becomes clear which points the user should correct.
[0310] Step 6:
[0311] The terminal receives the evaluation information from the server and displays it through the user interface. The input is the feedback information from the server, and the output is the information visually displayed on the user's screen. As a specific operation, important improvement points are highlighted and presented so that the user can easily utilize them in the next practice.
[0312] (Application Example 1)
[0313] Next, Application Example 1 will be described. In the following description, the data processing device 12 is referred to as the "server", and the smart glasses 214 are referred to as the "terminal".
[0314] There is a problem that individual users lack support for efficiently performing dance practice. In particular, it is difficult to accurately understand the movements and intentions of choreographers and reproduce exemplary movements, and there is no means for users to specifically know which parts should be corrected when making self-improvements. Furthermore, there is also a need for a means to more intuitively promote learning by using a device that can visually present exemplary movements.
[0315] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0316] In this invention, the server includes means for receiving video footage captured by a user, means for analyzing the features of the captured video footage using a generated model, means for generating a model video based on the estimated intent, and means for converting the generated model video into a motion demonstration device. This enables the user to receive visual and practical support to improve their own movements and understand the choreographer's intent.
[0317] "Video footage" refers to video data of dance movements filmed by the user.
[0318] "Means of analyzing features" refers to hardware or software that uses a generative AI model to analyze the movements and expressions in captured video footage and execute a process to estimate the choreographer's intentions.
[0319] "Means of inferring intent" refers to techniques for understanding the intentions behind the movements and rhythms that a choreographer is trying to convey, based on the analyzed characteristics.
[0320] "Example video" refers to video data that visually demonstrates exemplary actions generated by an AI model.
[0321] A "movement demonstration device" refers to a device that reproduces generated example videos as actual movements and presents them visually to the user.
[0322] "Feedback" refers to information that compares the user's actions with example videos and specifically points out the differences and areas for improvement.
[0323] An "information display device" refers to a device such as a display or mobile terminal that allows users to check feedback information.
[0324] This invention is a system that provides video analysis and visual feedback to help users practice dance effectively.
[0325] The device receives video footage of the dance captured by the user. The captured video footage is acquired using a smartphone or tablet and then uploaded to a cloud server via the internet. The cloud server uses Google Cloud Platform and a TensorFlow-based generative AI model to analyze the features of the video footage. This analysis detects movements, rhythms, and expressions within the video footage and estimates the choreographer's intentions.
[0326] The server generates example videos that the user should imitate, based on the estimated intent. These example videos clearly indicate the key points and tips of the choreography, serving as a learning guide for the user. The server also converts these example videos into control sequences for a home robot, enabling the robot to perform the exemplary movements in real time. This robot operates using, for example, ROS (Robot Operating System).
[0327] Users can view example videos and feedback on their smartphones or information display devices. The feedback analyzes the differences between the example video and the user's own video, specifically indicating areas for improvement. By continuing to practice based on this feedback, users can effectively improve their dance skills.
[0328] As a concrete example, consider a case where a user wants to learn the "cha-cha-cha" ballroom dance. The user films the basic steps of the cha-cha-cha and uploads it to a server via the cloud. The generation AI model analyzes this video and generates exemplary steps as a video example. A home robot then demonstrates these steps, allowing the user to instantly learn the correct movements visually. Through feedback, the user can receive specific advice on which steps to improve and how.
[0329] An example of a prompt for a generative AI model is: "Analyze the choreographer's intentions from the following dance video and generate a model video. Also generate a comparison result with the user's movements."
[0330] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0331] Step 1:
[0332] The terminal receives video footage of the user dancing. The user uses their smartphone to film dance practice videos and uploads them to the server via the cloud using a dedicated app. The input is the user's dance video, and the output is the video data stored on the server.
[0333] Step 2:
[0334] The server stores the received video footage and analyzes its features using a generative AI model. The stored video footage is then placed in a database, and the AI model extracts motion and rhythm through regression analysis and image processing. The input is the stored video footage, and the output is the analyzed feature data.
[0335] Step 3:
[0336] The server estimates the choreographer's intentions from the analyzed feature data. It applies an AI model's predictive algorithm to estimate the purpose of the choreography and the intention behind reproducing the rhythm. The input is feature data, and the output is data related to the estimated intentions.
[0337] Step 4:
[0338] The server generates example videos based on estimated intentions. The generating AI model creates exemplary movements as example videos based on the intentions of the choreography. The input is intention data, and the output is example videos.
[0339] Step 5:
[0340] The server converts a model video into a motion demonstration device. It then creates control data to convert the generated model video into a motion sequence for a home robot. The input is a model video, and the output is a control sequence for the robot.
[0341] Step 6:
[0342] The terminal or information display device shows the user a generated example video and a robot demonstration, which the user then visually confirms. The input is the example video and robot demonstration, and the output is the user's visual feedback.
[0343] Step 7:
[0344] The server compares newly uploaded videos from the user with example videos and generates feedback. Using deep learning-based image comparison technology, it analyzes differences between actions and generates feedback information. The inputs are the newly uploaded videos and example videos, and the output is the feedback information.
[0345] Step 8:
[0346] The device provides the user with generated feedback information and displays advice to help them improve their next practice session. The input is feedback information, and the output is improvement instructions delivered through the user interface.
[0347] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0348] This invention improves the quality of individual dance practice by incorporating an emotion engine into a system that supports individual dance practice, thereby responding to the user's emotions. The system begins with a terminal receiving practice videos recorded by the user and sending them to a server. The server stores the videos and analyzes the characteristics of the movements using an AI model. It then estimates the choreographer's intentions and generates example videos.
[0349] In addition, the server uses an emotion engine to recognize the user's emotions from their facial expressions and actions within the video. Based on this information, it optimizes the choreography and the content of the example video to match the user's emotions. For example, if the user is confused by a difficult step, the server will employ a method to explain that part in more detail when generating the video.
[0350] Furthermore, the feedback generation process also takes user emotions into consideration. The server adjusts the content and tone of the feedback to create feedback that is most encouraging to the user. This feedback is displayed on the device, and the user receives it and uses it to improve their practice.
[0351] For example, if the server's emotion engine determines that a user is finding a section of the choreography difficult, the server will repeatedly emphasize that section and generate a demonstration video. Furthermore, the feedback will highlight that section as a point to focus on improving during independent practice. This allows users to efficiently improve their practice and helps maintain motivation. In this way, flexible practice support tailored to individual emotions is possible.
[0352] The following describes the processing flow.
[0353] Step 1:
[0354] Users film their dance practice videos and upload them to the system via their device. The device prompts the user to send the video through its user interface and then sends the data to the server.
[0355] Step 2:
[0356] The server saves the video received from the terminal and performs preprocessing such as adjusting the resolution and format. This prepares the video for analysis.
[0357] Step 3:
[0358] The server uses an AI model to analyze the movements in the video and extract features. These features include the speed of the movement, the angle, and the nuances of expression.
[0359] Step 4:
[0360] The server uses data obtained from AI analysis to estimate the choreographer's intentions and generates the most suitable example video for the user. During this generation process, key dance elements are emphasized.
[0361] Step 5:
[0362] The server uses an emotion engine to recognize emotions from the user's facial expressions and actions within the practice video. This recognition result is used to optimize the choreography intent and the example video.
[0363] Step 6:
[0364] The server adjusts the feedback based on the recognized user's emotions. The server modifies the content and expression of the feedback to match the user's emotional state, providing the most effective advice.
[0365] Step 7:
[0366] The terminal receives feedback from the server and displays it to the user on the user interface. The user can review the feedback and use it to improve their next practice session.
[0367] (Example 2)
[0368] Next, we will describe Example 2. 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".
[0369] While conventional dance practice support systems had the functionality to analyze user movements, they could not adjust feedback or practice video content based on the user's emotions, resulting in only uniform instruction. This could hinder user motivation and efficient skill improvement. Therefore, there was a need to customize practice support based on the user's emotions to achieve more effective and individually optimized instruction.
[0370] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0371] In this invention, the server includes means for receiving video footage captured by the user, means for analyzing the features of the captured video footage using a generated model, and means for recognizing the user's emotions and generating example video footage optimized for those emotions. This makes it possible to provide optimal feedback and example videos that correspond to the user's emotions.
[0372] A "user" refers to an individual who uses the system to improve their own dance performance.
[0373] "Video footage" refers to video data that captures the user's dance movements.
[0374] "Means of receiving" refers to the function for acquiring video and image data sent by the user.
[0375] "Means of saving" refers to the function of storing received video images on a recording medium.
[0376] "Generated model" refers to an artificial intelligence model trained to analyze video images and extract features.
[0377] "Means of analysis" refers to the function that utilizes a model generated to identify the characteristics of user actions from video footage.
[0378] "Choreographic intent" refers to the concept that indicates the movement or expression that the dance actions should aim for.
[0379] "Means of estimation" refers to the function of determining the intent of the choreography based on the analyzed characteristics.
[0380] "Example videos" refer to exemplary dance videos that users can use as a reference.
[0381] "Generating means" refers to the function of creating example videos based on the estimated intent of the choreography.
[0382] "Means of provision" refers to the function of visually presenting the generated example video to the user.
[0383] "Recognizing emotions" refers to identifying a user's emotional state from their facial expressions and actions.
[0384] "Optimized example videos" refer to example videos that have been adjusted according to the user's emotions.
[0385] "Feedback" refers to information used to analyze the differences between a user's video and the example video, and to communicate areas for improvement.
[0386] This invention is a system for effectively supporting users' dance practice. The system consists of a terminal, a server, and associated software. The respective components and processes are described below.
[0387] Hardware and software configuration
[0388] Device: A device with camera and internet connectivity capabilities, such as a smartphone or tablet, is used. A dedicated application is installed, and the user records videos through it and sends them to the server.
[0389] Server: A cloud server with a high-performance computing environment is used. This server houses video storage capabilities, generative AI models, and an emotion recognition engine. The generative AI model utilizes machine learning frameworks such as TensorFlow.
[0390] Generative AI Model: This is a neural network model that analyzes the features of video footage, estimates the intent behind the choreography, and generates example videos.
[0391] Emotion recognition engine: This is software that analyzes the user's facial expressions and motion data to identify emotions. It can use libraries such as OpenCV.
[0392] Operation and Usage Instructions
[0393] User: Uses their smartphone camera to record their dance practice as a video. Then, uploads this video to the server via a dedicated app.
[0394] Server: Analyzes received video data and uses a generation AI model to analyze user actions. Based on the analysis results, it estimates the intent of the choreography and generates an optimal example video based on this. Using an emotion recognition engine, it recognizes the user's emotional state from their facial expressions and body movements, and customizes the example video and feedback by taking this emotional information into account.
[0395] Specific example
[0396] For example, if a user shows a confused expression in a video, the server will generate a more detailed example video explaining that part of the dance steps. The feedback will also include instructions to focus on practicing that difficult section.
[0397] Example of a prompt
[0398] The following prompt statements can be used to give specific instructions to the generative AI model.
[0399] "Users are confused in the middle of the choreography. Please create a demonstration video that highlights the confusing part and include feedback on how to improve that section."
[0400] This system allows users to receive personalized instruction tailored to their own emotions, contributing to the improvement of their dance skills.
[0401] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0402] Step 1:
[0403] The user records their dance practice as a video using their smartphone camera. The recorded video is saved to an application on the device. The input includes the user's video. The output is the recorded video file.
[0404] Step 2:
[0405] The device sends videos captured through the application to the server. The input is a video file, and the output is video data stored on the server's storage. The data is transferred over the internet with appropriate security protocols (e.g., SSL / TLS) applied.
[0406] Step 3:
[0407] The server stores the received video data and inputs it into the generating AI model. The input here is a video file stored on the server's storage. The AI model analyzes the user's movements within the video and extracts movement features. The output is the extracted movement feature data.
[0408] Step 4:
[0409] The server estimates the intent of choreography based on its movement characteristics. The input is movement characteristic data. AI is used to analyze the intent and set criteria for generating example videos. The output is estimated choreography intent data.
[0410] Step 5:
[0411] The server generates a sample video using a generative AI model based on the estimated choreographic intent. Inputs include the choreographic intent and the original video footage. The sample video may include music and visual guidelines. The output is the sample video.
[0412] Step 6:
[0413] The server uses an emotion recognition engine to recognize emotions from the user's facial expressions and posture. The input is the user's video data, and the output is the recognized emotion data. Image processing technology is used for emotion recognition.
[0414] Step 7:
[0415] The server considers the recognized emotions and optimizes the example video and feedback to match the user's emotions. The input consists of emotion data and example video data. The output is the optimized example video and feedback text.
[0416] Step 8:
[0417] The server sends the generated example video and feedback to the device. The input is optimized data, and the output is in a format viewable on the device. The data is transferred through a secure channel.
[0418] Step 9:
[0419] The device visually provides the user with example videos and feedback. Input is data received from the server, and output is content that the user can understand visually and audibly. This allows the user to receive specific guidance and improve their practice.
[0420] (Application Example 2)
[0421] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."
[0422] Modern dance practice support systems often provide uniform feedback without considering the user's emotions, posing challenges to maintaining user motivation and improving practice efficiency. There is a need for support that improves the quality and effectiveness of practice by providing flexible feedback that responds to the user's emotions.
[0423] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.
[0424] In this invention, the server includes means for storing video footage captured by the user and analyzing its features; means for estimating the intent of the choreography based on the analyzed features and generating example video footage; and means for recognizing the user's emotions via a robot and optimizing practice feedback based on those emotions. This makes it possible to provide appropriate feedback and advice in accordance with the user's emotions and improve the quality of practice.
[0425] A "user" refers to an individual who uses the system to practice dancing.
[0426] "Means of recording" refers to devices and technologies for recording the user's dance movements.
[0427] "Video footage" refers to video data that records the user's dance movements.
[0428] "Means of storage" refers to a storage device or method for holding received video data.
[0429] "Generated model" refers to an algorithm for choreography analysis or emotion recognition that has been trained and built by an AI model.
[0430] "Methods for analyzing features" refer to technologies for analyzing information such as body movements and facial expressions extracted from video images.
[0431] "Means of estimating the intent of choreography" refers to the process of understanding the purpose and structure of a dance based on analyzed movement data.
[0432] "Methods for generating exemplary videos" refers to technology that creates standard dance videos that users can use as a reference, based on the estimated intent of the choreography.
[0433] "Means of provision" refers to methods for presenting generated example videos and feedback to users.
[0434] A "robot" is a mechanical device programmed to support a user's dance practice.
[0435] "Means of recognizing emotions" refers to technologies that analyze a user's facial expressions, movements, and voice to understand their emotional state.
[0436] "Methods for optimizing feedback" refer to the process of adjusting advice and information to improve the user's practice based on the results of emotion recognition.
[0437] "Speech synthesis" is a technology that generates speech based on textual information and provides it to the user as auditory information.
[0438] The system for realizing this invention consists of a robot that assists the user in dance practice and a cloud server that operates in the backend. The system mainly consists of the following elements:
[0439] The server receives video footage captured by users and stores it in the cloud. The stored video data is analyzed by an AI model built using Python, and motion characteristics are extracted. This analysis estimates the intention behind the user's dance movements, and based on the results, a model video is generated.
[0440] The robot is equipped with a camera and voice input device to recognize emotions in real time during user practice. This emotion recognition uses an emotion engine that combines the open-source computer vision libraries OpenCV and TensorFlow, determining the user's emotional state from their facial expressions and voice.
[0441] User emotion-based feedback is optimized on the server and delivered to the user via the robot's speech synthesis function. A general-purpose speech synthesis platform is used for speech synthesis. Visual feedback is also provided via the robot's display. This feedback employs a positive approach to engage the user.
[0442] A concrete example is when the robot provides feedback on the parts of the practice that the user finds difficult, along with the results of the motion analysis and recommended improvement methods. By providing feedback via speech synthesis, such as, "After a short break, I will slowly play the motion with explanations," the user can continue practicing and improve.
[0443] Examples of prompt messages include the following:
[0444] "Based on the user's facial expressions, identify their current emotional state. Then, based on the results of the choreography motion analysis, suggest the most suitable practice method. If the user is feeling down, consider providing encouraging feedback."
[0445] In this way, it becomes possible to support dance practice in a way that is tailored to the individual user's emotions, improving the quality and enjoyment of practice.
[0446] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0447] Step 1:
[0448] The user practices dancing and films their movements with a camera. This recorded video data is input into the robot's terminal. The robot's terminal transmits this video data to a server in the cloud via the network. Once the transmitted data reaches the server, the server saves the data.
[0449] Step 2:
[0450] The server receives the saved video footage and analyzes the characteristics of the movements using a generating AI model. This analysis extracts various motion parameters, such as the user's arm and leg movements and body twists. Once the motion characteristics are extracted, the server is ready to proceed to the next processing step.
[0451] Step 3:
[0452] The server estimates the intent of the choreography based on the extracted feature data. It then compares this data with a database of choreography patterns to recognize corresponding choreography patterns. Based on the estimation results, a generative AI model is used to generate example videos. The generated videos are recorded on the server and made available to users.
[0453] Step 4:
[0454] The server acquires the user's facial expressions and voice from the robot in real time and uses this data to recognize emotions. This recognition utilizes OpenCV and TensorFlow to estimate the user's emotional state (joy, anger, sadness, surprise, etc.). Based on the recognized emotion data, it generates feedback that matches the user's mental state.
[0455] Step 5:
[0456] The server sends the generated feedback to the robot. The robot converts this feedback information into speech using a speech synthesis engine and communicates it to the user verbally. Simultaneously, the robot's display shows images and text messages. Based on this feedback, the user can adjust and improve their practice.
[0457] This entire process enables dance practice support that is tailored to each individual's emotions and abilities.
[0458] 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 user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[0459] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0460] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart glasses 214.
[0461] [Third Embodiment]
[0462] Figure 5 shows an example of the configuration of the data processing system 310 according to the third embodiment.
[0463] As shown in Figure 5, the data processing system 310 includes a data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.
[0464] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0465] The headset terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a display 343. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and display 343 are also connected to the bus 52.
[0466] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0467] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[0468] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0469] Figure 6 shows an example of the main functions of the data processing device 12 and the headset terminal 314. As shown in Figure 6, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0470] The specific processing program 56 is an example of a "program" relating to the technology of this 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.
[0471] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0472] In the headset terminal 314, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0473] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the headset terminal 314 will be referred to as the "terminal".
[0474] The system of this invention is designed to enable individual users to practice dance efficiently. The process begins when a user films their dance practice and uploads it to the system via a terminal. The server stores the received video and uses an AI model to extract characteristics of the choreographer.
[0475] The AI model analyzes the movements, rhythm, and expressions within the video to estimate the choreographer's intentions. Based on these estimations, the server generates a video that the user should use as a model. The generated example video is structured to visually demonstrate the key points and tips of the choreography, making it easy for the user to understand.
[0476] As a concrete example, suppose a user wants to learn a new dance step. After the user uploads a video of themselves practicing the dance, the server analyzes the choreographer's characteristics and generates a model video demonstrating the rhythm and posture of the step. The user can then continue practicing by comparing their own movements to this video. Furthermore, the system compares the user's actual movements with the model video and analyzes the differences. The server provides this analysis as feedback to the user, specifically pointing out what needs to be improved and how.
[0477] The device receives this feedback and displays it on the user's screen. The user can review this and incorporate it into their next practice session. This allows the user to go beyond mere imitation and truly understand the choreographer's intentions, thereby improving their dance technique.
[0478] The following describes the processing flow.
[0479] Step 1:
[0480] Users film themselves practicing their dance and upload the videos to the system via their device. The device then sends the uploaded videos to the server.
[0481] Step 2:
[0482] The server saves the received video and performs preprocessing such as resolution and format conversion. This process adjusts the video to a state suitable for analysis.
[0483] Step 3:
[0484] The server uses an AI model to analyze dance movements in saved videos. The AI model extracts characteristic movements from the videos and generates data to identify the choreographer's characteristics.
[0485] Step 4:
[0486] The server estimates the choreographer's intentions based on data extracted through AI analysis. This process identifies the expressive intent behind each movement and the continuity of the movements.
[0487] Step 5:
[0488] The server generates a sample video based on the estimated intent. This video highlights the characteristic points of the analyzed choreography and is structured to be easy for the user to understand.
[0489] Step 6:
[0490] The server compares the generated example video with the user's original video and analyzes the differences in movement and rhythm. The analysis results are then generated as feedback for the user.
[0491] Step 7:
[0492] The device receives feedback from the server and displays it to the user through the user interface. The user can then use this feedback to improve their next practice session.
[0493] (Example 1)
[0494] Next, we will describe Example 1. 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."
[0495] In dance practice, accurately understanding the intentions behind others' choreography and rhythm, and efficiently mastering them, is difficult for many users. To solve this problem, a system is needed that allows users to easily compare their own movements and receive specific feedback on areas for improvement.
[0496] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0497] In this invention, the server includes a device for acquiring video footage captured by a user, a device for analyzing the motion characteristics of the acquired video using an artificial intelligence model, and a device for creating a model video based on the analyzed motion characteristics. This allows the user to compare their own movements with those intended by the choreographer and clearly identify specific areas for improvement.
[0498] A "user" refers to someone who provides videos to improve their own abilities and skills using the system.
[0499] "Video" refers to a video file that records a series of actions captured by the user.
[0500] "Acquisition" refers to the process of importing videos provided by users into the system.
[0501] "Device" refers to a collection of software and hardware used to perform processing or analysis.
[0502] "Storage" refers to the safe and efficient preservation of acquired information.
[0503] An "artificial intelligence model" refers to an algorithm that analyzes data to extract patterns and features.
[0504] "Motion characteristics" refers to the detailed features of the movements and behaviors contained within the video.
[0505] "Analysis" refers to the process of breaking down the content of a video and identifying its constituent elements.
[0506] "Intention" refers to the creator's purpose or aim in choreography or movement.
[0507] A "model video" refers to a reference video generated based on analyzed motion characteristics and intentions.
[0508] "Provision" refers to the process of communicating the generated results or information to the user.
[0509] "Contrast" refers to the process of comparing different pieces of information and clarifying their differences.
[0510] "Difference" refers to the point of difference that exists between two or more elements.
[0511] "Evaluation" refers to the feedback and analysis results obtained from comparisons.
[0512] "User interface" refers to the screens and methods that users use to interact with a system and receive information.
[0513] This invention is a system that allows users to receive effective feedback while practicing dance. Specifically, the user records their dance as a video using a recording device such as a smartphone or a dedicated camera. Afterwards, the user uploads the recorded video to a server using their device.
[0514] When a server receives a video, it first stores the data. Cloud storage services are used for receiving and storing the video. Next, an artificial intelligence model running on the server is activated and precisely analyzes the motion characteristics of the uploaded video. Deep learning technology, which performs motion pattern recognition, is used for this analysis.
[0515] Based on the analysis results, the server generates a video for the user to use as a model. This generation utilizes a generative AI model to create a video that reflects the choreographer's intentions and specific movement points. This model video is then provided to the user via their device, allowing them to compare their own movements with the model video.
[0516] Furthermore, the server analyzes the differences between the user's video and the generated model video, and generates an evaluation of specific areas for improvement. This evaluation information is displayed to the user through the terminal's user interface.
[0517] As a concrete example, if a user wants to learn a new dance step, they can film themselves dancing and upload the video. The server then analyzes the rhythm and posture of the step and provides an optimal example video. The user can then practice by comparing their own movements to this video. Furthermore, by using prompts such as, "Please tell me how to practice this step while emphasizing its rhythm," the system can generate more detailed feedback.
[0518] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0519] Step 1:
[0520] Users film their dance practice sessions using video equipment and upload the videos to the system via a terminal. The input is the video file filmed by the user, and the output is the transfer of video data from the terminal to the server. During this process, the video format and size are automatically checked and sent to the server in the appropriate format.
[0521] Step 2:
[0522] The server receives the uploaded video and saves it to secure storage. Simultaneously with saving the video file as input, the video's metadata (e.g., duration, resolution) is extracted. The output is the saved video data and its metadata. After this, the video is transferred from storage to an AI model for analysis.
[0523] Step 3:
[0524] The AI model on the server analyzes the stored video. The input is the video data stored on the server, and the output is the analysis results regarding the motion characteristics. Specifically, the data processing involves decomposing the motion frame by frame and calculating tracking information.
[0525] Step 4:
[0526] The server generates a model video based on the analysis results. The input is the analysis results of the movement characteristics, and the output is the model video provided to the user. In this generation process, the AI model considers the intent of the choreography and the movement points to create a new, easily understandable video.
[0527] Step 5:
[0528] The server compares the generated model video with the user's video and evaluates the differences. The input is the user's video and the model video, and the output is specific feedback evaluation information. In this step, the discrepancies are quantified, making it clear which points the user should correct.
[0529] Step 6:
[0530] The terminal receives evaluation information from the server and displays it through the user interface. Input is feedback information from the server, and output is information visually displayed on the user's screen. Specifically, important areas for improvement are highlighted, making it easy for the user to apply them to their next practice session.
[0531] (Application Example 1)
[0532] Next, we will explain Application Example 1. In the following explanation, 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."
[0533] There is a challenge in the lack of support for individual users to practice dance efficiently. In particular, it is difficult to accurately understand the choreographer's movements and intentions and reproduce exemplary movements, and there is a problem in that users have no way of knowing specifically what parts need to be corrected when they are making self-improvements. Furthermore, there is a need for means of learning that allow for more intuitive progress, such as using devices that can visually present exemplary movements.
[0534] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0535] In this invention, the server includes means for receiving video footage captured by a user, means for analyzing the features of the captured video footage using a generated model, means for generating a model video based on the estimated intent, and means for converting the generated model video into a motion demonstration device. This enables the user to receive visual and practical support to improve their own movements and understand the choreographer's intent.
[0536] "Video footage" refers to video data of dance movements filmed by the user.
[0537] "Means of analyzing features" refers to hardware or software that uses a generative AI model to analyze the movements and expressions in captured video footage and execute a process to estimate the choreographer's intentions.
[0538] "Means of inferring intent" refers to techniques for understanding the intentions behind the movements and rhythms that a choreographer is trying to convey, based on the analyzed characteristics.
[0539] "Example video" refers to video data that visually demonstrates exemplary actions generated by an AI model.
[0540] A "movement demonstration device" refers to a device that reproduces generated example videos as actual movements and presents them visually to the user.
[0541] "Feedback" refers to information that compares the user's actions with example videos and specifically points out the differences and areas for improvement.
[0542] An "information display device" refers to a device such as a display or mobile terminal that allows users to check feedback information.
[0543] This invention is a system that provides video analysis and visual feedback to help users practice dance effectively.
[0544] The device receives video footage of the dance captured by the user. The captured video footage is acquired using a smartphone or tablet and then uploaded to a cloud server via the internet. The cloud server uses Google Cloud Platform and a TensorFlow-based generative AI model to analyze the features of the video footage. This analysis detects movements, rhythms, and expressions within the video footage and estimates the choreographer's intentions.
[0545] The server generates example videos that the user should imitate, based on the estimated intent. These example videos clearly indicate the key points and tips of the choreography, serving as a learning guide for the user. The server also converts these example videos into control sequences for a home robot, enabling the robot to perform the exemplary movements in real time. This robot operates using, for example, ROS (Robot Operating System).
[0546] Users can view example videos and feedback on their smartphones or information display devices. The feedback analyzes the differences between the example video and the user's own video, specifically indicating areas for improvement. By continuing to practice based on this feedback, users can effectively improve their dance skills.
[0547] As a concrete example, consider a case where a user wants to learn the "cha-cha-cha" ballroom dance. The user films the basic steps of the cha-cha-cha and uploads it to a server via the cloud. The generation AI model analyzes this video and generates exemplary steps as a video example. A home robot then demonstrates these steps, allowing the user to instantly learn the correct movements visually. Through feedback, the user can receive specific advice on which steps to improve and how.
[0548] An example of a prompt for a generative AI model is: "Analyze the choreographer's intentions from the following dance video and generate a model video. Also generate a comparison result with the user's movements."
[0549] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0550] Step 1:
[0551] The terminal receives video footage of the user dancing. The user uses their smartphone to film dance practice videos and uploads them to the server via the cloud using a dedicated app. The input is the user's dance video, and the output is the video data stored on the server.
[0552] Step 2:
[0553] The server stores the received video footage and analyzes its features using a generative AI model. The stored video footage is then placed in a database, and the AI model extracts motion and rhythm through regression analysis and image processing. The input is the stored video footage, and the output is the analyzed feature data.
[0554] Step 3:
[0555] The server estimates the choreographer's intentions from the analyzed feature data. It applies an AI model's predictive algorithm to estimate the purpose of the choreography and the intention behind reproducing the rhythm. The input is feature data, and the output is data related to the estimated intentions.
[0556] Step 4:
[0557] The server generates example videos based on estimated intentions. The generating AI model creates exemplary movements as example videos based on the intentions of the choreography. The input is intention data, and the output is example videos.
[0558] Step 5:
[0559] The server converts a model video into a motion demonstration device. It then creates control data to convert the generated model video into a motion sequence for a home robot. The input is a model video, and the output is a control sequence for the robot.
[0560] Step 6:
[0561] The terminal or information display device shows the user a generated example video and a robot demonstration, which the user then visually confirms. The input is the example video and robot demonstration, and the output is the user's visual feedback.
[0562] Step 7:
[0563] The server compares newly uploaded videos from the user with example videos and generates feedback. Using deep learning-based image comparison technology, it analyzes differences between actions and generates feedback information. The inputs are the newly uploaded videos and example videos, and the output is the feedback information.
[0564] Step 8:
[0565] The device provides the user with generated feedback information and displays advice to help them improve their next practice session. The input is feedback information, and the output is improvement instructions delivered through the user interface.
[0566] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0567] This invention improves the quality of individual dance practice by incorporating an emotion engine into a system that supports individual dance practice, thereby responding to the user's emotions. The system begins with a terminal receiving practice videos recorded by the user and sending them to a server. The server stores the videos and analyzes the characteristics of the movements using an AI model. It then estimates the choreographer's intentions and generates example videos.
[0568] In addition, the server uses an emotion engine to recognize the user's emotions from their facial expressions and actions within the video. Based on this information, it optimizes the choreography and the content of the example video to match the user's emotions. For example, if the user is confused by a difficult step, the server will employ a method to explain that part in more detail when generating the video.
[0569] Furthermore, the feedback generation process also takes user emotions into consideration. The server adjusts the content and tone of the feedback to create feedback that is most encouraging to the user. This feedback is displayed on the device, and the user receives it and uses it to improve their practice.
[0570] For example, if the server's emotion engine determines that a user is finding a section of the choreography difficult, the server will repeatedly emphasize that section and generate a demonstration video. Furthermore, the feedback will highlight that section as a point to focus on improving during independent practice. This allows users to efficiently improve their practice and helps maintain motivation. In this way, flexible practice support tailored to individual emotions is possible.
[0571] The following describes the processing flow.
[0572] Step 1:
[0573] Users film their dance practice videos and upload them to the system via their device. The device prompts the user to send the video through its user interface and then sends the data to the server.
[0574] Step 2:
[0575] The server saves the video received from the terminal and performs preprocessing such as adjusting the resolution and format. This prepares the video for analysis.
[0576] Step 3:
[0577] The server uses an AI model to analyze the movements in the video and extract features. These features include the speed of the movement, the angle, and the nuances of expression.
[0578] Step 4:
[0579] The server uses data obtained from AI analysis to estimate the choreographer's intentions and generates the most suitable example video for the user. During this generation process, key dance elements are emphasized.
[0580] Step 5:
[0581] The server uses an emotion engine to recognize emotions from the user's facial expressions and actions within the practice video. This recognition result is used to optimize the choreography intent and the example video.
[0582] Step 6:
[0583] The server adjusts the feedback based on the recognized user's emotions. The server modifies the content and expression of the feedback to match the user's emotional state, providing the most effective advice.
[0584] Step 7:
[0585] The terminal receives feedback from the server and displays it to the user on the user interface. The user can review the feedback and use it to improve their next practice session.
[0586] (Example 2)
[0587] Next, we will describe Example 2. 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."
[0588] While conventional dance practice support systems had the functionality to analyze user movements, they could not adjust feedback or practice video content based on the user's emotions, resulting in only uniform instruction. This could hinder user motivation and efficient skill improvement. Therefore, there was a need to customize practice support based on the user's emotions to achieve more effective and individually optimized instruction.
[0589] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0590] In this invention, the server includes means for receiving video footage captured by the user, means for analyzing the features of the captured video footage using a generated model, and means for recognizing the user's emotions and generating example video footage optimized for those emotions. This makes it possible to provide optimal feedback and example videos that correspond to the user's emotions.
[0591] A "user" refers to an individual who uses the system to improve their own dance performance.
[0592] "Video footage" refers to video data that captures the user's dance movements.
[0593] "Means of receiving" refers to the function for acquiring video and image data sent by the user.
[0594] "Means of saving" refers to the function of storing received video images on a recording medium.
[0595] "Generated model" refers to an artificial intelligence model trained to analyze video images and extract features.
[0596] "Means of analysis" refers to the function that utilizes a model generated to identify the characteristics of user actions from video footage.
[0597] "Choreographic intent" refers to the concept that indicates the movement or expression that the dance actions should aim for.
[0598] "Means of estimation" refers to the function of determining the intent of the choreography based on the analyzed characteristics.
[0599] "Example videos" refer to exemplary dance videos that users can use as a reference.
[0600] "Generating means" refers to the function of creating example videos based on the estimated intent of the choreography.
[0601] "Means of provision" refers to the function of visually presenting the generated example video to the user.
[0602] "Recognizing emotions" refers to identifying a user's emotional state from their facial expressions and actions.
[0603] "Optimized example videos" refer to example videos that have been adjusted according to the user's emotions.
[0604] "Feedback" refers to information used to analyze the differences between a user's video and the example video, and to communicate areas for improvement.
[0605] This invention is a system for effectively supporting users' dance practice. The system consists of a terminal, a server, and associated software. The respective components and processes are described below.
[0606] Hardware and software configuration
[0607] Device: A device with camera and internet connectivity capabilities, such as a smartphone or tablet, is used. A dedicated application is installed, and the user records videos through it and sends them to the server.
[0608] Server: A cloud server with a high-performance computing environment is used. This server houses video storage capabilities, generative AI models, and an emotion recognition engine. The generative AI model utilizes machine learning frameworks such as TensorFlow.
[0609] Generative AI Model: This is a neural network model that analyzes the features of video footage, estimates the intent behind the choreography, and generates example videos.
[0610] Emotion recognition engine: This is software that analyzes the user's facial expressions and motion data to identify emotions. It can use libraries such as OpenCV.
[0611] Operation and Usage Instructions
[0612] User: Uses their smartphone camera to record their dance practice as a video. Then, uploads this video to the server via a dedicated app.
[0613] Server: Analyzes received video data and uses a generation AI model to analyze user actions. Based on the analysis results, it estimates the intent of the choreography and generates an optimal example video based on this. Using an emotion recognition engine, it recognizes the user's emotional state from their facial expressions and body movements, and customizes the example video and feedback by taking this emotional information into account.
[0614] Specific example
[0615] For example, if a user shows a confused expression in a video, the server will generate a more detailed example video explaining that part of the dance steps. The feedback will also include instructions to focus on practicing that difficult section.
[0616] Example of a prompt
[0617] The following prompt statements can be used to give specific instructions to the generative AI model.
[0618] "Users are confused in the middle of the choreography. Please create a demonstration video that highlights the confusing part and include feedback on how to improve that section."
[0619] This system allows users to receive personalized instruction tailored to their own emotions, contributing to the improvement of their dance skills.
[0620] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0621] Step 1:
[0622] The user records their dance practice as a video using their smartphone camera. The recorded video is saved to an application on the device. The input includes the user's video. The output is the recorded video file.
[0623] Step 2:
[0624] The device sends videos captured through the application to the server. The input is a video file, and the output is video data stored on the server's storage. The data is transferred over the internet with appropriate security protocols (e.g., SSL / TLS) applied.
[0625] Step 3:
[0626] The server stores the received video data and inputs it into the generating AI model. The input here is a video file stored on the server's storage. The AI model analyzes the user's movements within the video and extracts movement features. The output is the extracted movement feature data.
[0627] Step 4:
[0628] The server estimates the intent of choreography based on its movement characteristics. The input is movement characteristic data. AI is used to analyze the intent and set criteria for generating example videos. The output is estimated choreography intent data.
[0629] Step 5:
[0630] The server generates a sample video using a generative AI model based on the estimated choreographic intent. Inputs include the choreographic intent and the original video footage. The sample video may include music and visual guidelines. The output is the sample video.
[0631] Step 6:
[0632] The server uses an emotion recognition engine to recognize emotions from the user's facial expressions and posture. The input is the user's video data, and the output is the recognized emotion data. Image processing technology is used for emotion recognition.
[0633] Step 7:
[0634] The server considers the recognized emotions and optimizes the example video and feedback to match the user's emotions. The input consists of emotion data and example video data. The output is the optimized example video and feedback text.
[0635] Step 8:
[0636] The server sends the generated example video and feedback to the device. The input is optimized data, and the output is in a format viewable on the device. The data is transferred through a secure channel.
[0637] Step 9:
[0638] The device visually provides the user with example videos and feedback. Input is data received from the server, and output is content that the user can understand visually and audibly. This allows the user to receive specific guidance and improve their practice.
[0639] (Application Example 2)
[0640] Next, we will explain application example 2. In the following explanation, 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."
[0641] Modern dance practice support systems often provide uniform feedback without considering the user's emotions, posing challenges to maintaining user motivation and improving practice efficiency. There is a need for support that improves the quality and effectiveness of practice by providing flexible feedback that responds to the user's emotions.
[0642] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.
[0643] In this invention, the server includes means for storing video footage captured by the user and analyzing its features; means for estimating the intent of the choreography based on the analyzed features and generating example video footage; and means for recognizing the user's emotions via a robot and optimizing practice feedback based on those emotions. This makes it possible to provide appropriate feedback and advice in accordance with the user's emotions and improve the quality of practice.
[0644] A "user" refers to an individual who uses the system to practice dancing.
[0645] "Means of recording" refers to devices and technologies for recording the user's dance movements.
[0646] "Video footage" refers to video data that records the user's dance movements.
[0647] "Means of storage" refers to a storage device or method for holding received video data.
[0648] "Generated model" refers to an algorithm for choreography analysis or emotion recognition that has been trained and built by an AI model.
[0649] "Methods for analyzing features" refer to technologies for analyzing information such as body movements and facial expressions extracted from video images.
[0650] "Means of estimating the intent of choreography" refers to the process of understanding the purpose and structure of a dance based on analyzed movement data.
[0651] "Methods for generating exemplary videos" refers to technology that creates standard dance videos that users can use as a reference, based on the estimated intent of the choreography.
[0652] "Means of provision" refers to methods for presenting generated example videos and feedback to users.
[0653] A "robot" is a mechanical device programmed to support a user's dance practice.
[0654] "Means of recognizing emotions" refers to technologies that analyze a user's facial expressions, movements, and voice to understand their emotional state.
[0655] "Methods for optimizing feedback" refer to the process of adjusting advice and information to improve the user's practice based on the results of emotion recognition.
[0656] "Speech synthesis" is a technology that generates speech based on textual information and provides it to the user as auditory information.
[0657] The system for realizing this invention consists of a robot that assists the user in dance practice and a cloud server that operates in the backend. The system mainly consists of the following elements:
[0658] The server receives video footage captured by users and stores it in the cloud. The stored video data is analyzed by an AI model built using Python, and motion characteristics are extracted. This analysis estimates the intention behind the user's dance movements, and based on the results, a model video is generated.
[0659] The robot is equipped with a camera and voice input device to recognize emotions in real time during user practice. This emotion recognition uses an emotion engine that combines the open-source computer vision libraries OpenCV and TensorFlow, determining the user's emotional state from their facial expressions and voice.
[0660] User emotion-based feedback is optimized on the server and delivered to the user via the robot's speech synthesis function. A general-purpose speech synthesis platform is used for speech synthesis. Visual feedback is also provided via the robot's display. This feedback employs a positive approach to engage the user.
[0661] A concrete example is when the robot provides feedback on the parts of the practice that the user finds difficult, along with the results of the motion analysis and recommended improvement methods. By providing feedback via speech synthesis, such as, "After a short break, I will slowly play the motion with explanations," the user can continue practicing and improve.
[0662] Examples of prompt messages include the following:
[0663] "Based on the user's facial expressions, identify their current emotional state. Then, based on the results of the choreography motion analysis, suggest the most suitable practice method. If the user is feeling down, consider providing encouraging feedback."
[0664] In this way, it becomes possible to support dance practice in a way that is tailored to the individual user's emotions, improving the quality and enjoyment of practice.
[0665] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0666] Step 1:
[0667] The user practices dancing and films their movements with a camera. This recorded video data is input into the robot's terminal. The robot's terminal transmits this video data to a server in the cloud via the network. Once the transmitted data reaches the server, the server saves the data.
[0668] Step 2:
[0669] The server receives the saved video footage and analyzes the characteristics of the movements using a generating AI model. This analysis extracts various motion parameters, such as the user's arm and leg movements and body twists. Once the motion characteristics are extracted, the server is ready to proceed to the next processing step.
[0670] Step 3:
[0671] The server estimates the intent of the choreography based on the extracted feature data. It then compares this data with a database of choreography patterns to recognize corresponding choreography patterns. Based on the estimation results, a generative AI model is used to generate example videos. The generated videos are recorded on the server and made available to users.
[0672] Step 4:
[0673] The server acquires the user's facial expressions and voice from the robot in real time and uses this data to recognize emotions. This recognition utilizes OpenCV and TensorFlow to estimate the user's emotional state (joy, anger, sadness, surprise, etc.). Based on the recognized emotion data, it generates feedback that matches the user's mental state.
[0674] Step 5:
[0675] The server sends the generated feedback to the robot. The robot converts this feedback information into speech using a speech synthesis engine and communicates it to the user verbally. Simultaneously, the robot's display shows images and text messages. Based on this feedback, the user can adjust and improve their practice.
[0676] This entire process enables dance practice support that is tailored to each individual's emotions and abilities.
[0677] The specific processing unit 290 transmits the result of the specific processing to the headset terminal 314. In the headset terminal 314, the control unit 46A causes the speaker 240 and display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[0678] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0679] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and specific processing may also be performed by the headset terminal 314.
[0680] [Fourth Embodiment]
[0681] Figure 7 shows an example of the configuration of the data processing system 410 according to the fourth embodiment.
[0682] As shown in Figure 7, the 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.
[0683] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0684] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a controlled object 443. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and controlled object 443 are also connected to the bus 52.
[0685] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0686] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[0687] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0688] The controlled object 443 includes a display device, LEDs in the eyes, and motors that drive 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 robot 414's emotions can be expressed by controlling these motors. Furthermore, the robot 414's facial expressions can also be expressed by controlling the illumination state of the LEDs in its eyes.
[0689] Figure 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Figure 8, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0690] The specific processing program 56 is an example of a "program" relating to the technology of this 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.
[0691] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0692] In robot 414, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0693] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[0694] The system of this invention is designed to enable individual users to practice dance efficiently. The process begins when a user films their dance practice and uploads it to the system via a terminal. The server stores the received video and uses an AI model to extract characteristics of the choreographer.
[0695] The AI model analyzes the movements, rhythm, and expressions within the video to estimate the choreographer's intentions. Based on these estimations, the server generates a video that the user should use as a model. The generated example video is structured to visually demonstrate the key points and tips of the choreography, making it easy for the user to understand.
[0696] As a concrete example, suppose a user wants to learn a new dance step. After the user uploads a video of themselves practicing the dance, the server analyzes the choreographer's characteristics and generates a model video demonstrating the rhythm and posture of the step. The user can then continue practicing by comparing their own movements to this video. Furthermore, the system compares the user's actual movements with the model video and analyzes the differences. The server provides this analysis as feedback to the user, specifically pointing out what needs to be improved and how.
[0697] The device receives this feedback and displays it on the user's screen. The user can review this and incorporate it into their next practice session. This allows the user to go beyond mere imitation and truly understand the choreographer's intentions, thereby improving their dance technique.
[0698] The following describes the processing flow.
[0699] Step 1:
[0700] Users film themselves practicing their dance and upload the videos to the system via their device. The device then sends the uploaded videos to the server.
[0701] Step 2:
[0702] The server saves the received video and performs preprocessing such as resolution and format conversion. This process adjusts the video to a state suitable for analysis.
[0703] Step 3:
[0704] The server uses an AI model to analyze dance movements in saved videos. The AI model extracts characteristic movements from the videos and generates data to identify the choreographer's characteristics.
[0705] Step 4:
[0706] The server estimates the choreographer's intentions based on data extracted through AI analysis. This process identifies the expressive intent behind each movement and the continuity of the movements.
[0707] Step 5:
[0708] The server generates a sample video based on the estimated intent. This video highlights the characteristic points of the analyzed choreography and is structured to be easy for the user to understand.
[0709] Step 6:
[0710] The server compares the generated example video with the user's original video and analyzes the differences in movement and rhythm. The analysis results are then generated as feedback for the user.
[0711] Step 7:
[0712] The device receives feedback from the server and displays it to the user through the user interface. The user can then use this feedback to improve their next practice session.
[0713] (Example 1)
[0714] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[0715] In dance practice, accurately understanding the intentions behind others' choreography and rhythm, and efficiently mastering them, is difficult for many users. To solve this problem, a system is needed that allows users to easily compare their own movements and receive specific feedback on areas for improvement.
[0716] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0717] In this invention, the server includes a device for acquiring video footage captured by a user, a device for analyzing the motion characteristics of the acquired video using an artificial intelligence model, and a device for creating a model video based on the analyzed motion characteristics. This allows the user to compare their own movements with those intended by the choreographer and clearly identify specific areas for improvement.
[0718] A "user" refers to someone who provides videos to improve their own abilities and skills using the system.
[0719] "Video" refers to a video file that records a series of actions captured by the user.
[0720] "Acquisition" refers to the process of importing videos provided by users into the system.
[0721] "Device" refers to a collection of software and hardware used to perform processing or analysis.
[0722] "Storage" refers to the safe and efficient preservation of acquired information.
[0723] An "artificial intelligence model" refers to an algorithm that analyzes data to extract patterns and features.
[0724] "Motion characteristics" refers to the detailed features of the movements and behaviors contained within the video.
[0725] "Analysis" refers to the process of breaking down the content of a video and identifying its constituent elements.
[0726] "Intention" refers to the creator's purpose or aim in choreography or movement.
[0727] A "model video" refers to a reference video generated based on analyzed motion characteristics and intentions.
[0728] "Provision" refers to the process of communicating the generated results or information to the user.
[0729] "Contrast" refers to the process of comparing different pieces of information and clarifying their differences.
[0730] "Difference" refers to the point of difference that exists between two or more elements.
[0731] "Evaluation" refers to the feedback and analysis results obtained from comparisons.
[0732] "User interface" refers to the screens and methods that users use to interact with a system and receive information.
[0733] This invention is a system that allows users to receive effective feedback while practicing dance. Specifically, the user records their dance as a video using a recording device such as a smartphone or a dedicated camera. Afterwards, the user uploads the recorded video to a server using their device.
[0734] When a server receives a video, it first stores the data. Cloud storage services are used for receiving and storing the video. Next, an artificial intelligence model running on the server is activated and precisely analyzes the motion characteristics of the uploaded video. Deep learning technology, which performs motion pattern recognition, is used for this analysis.
[0735] Based on the analysis results, the server generates a video for the user to use as a model. This generation utilizes a generative AI model to create a video that reflects the choreographer's intentions and specific movement points. This model video is then provided to the user via their device, allowing them to compare their own movements with the model video.
[0736] Furthermore, the server analyzes the differences between the user's video and the generated model video, and generates an evaluation of specific areas for improvement. This evaluation information is displayed to the user through the terminal's user interface.
[0737] As a concrete example, if a user wants to learn a new dance step, they can film themselves dancing and upload the video. The server then analyzes the rhythm and posture of the step and provides an optimal example video. The user can then practice by comparing their own movements to this video. Furthermore, by using prompts such as, "Please tell me how to practice this step while emphasizing its rhythm," the system can generate more detailed feedback.
[0738] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0739] Step 1:
[0740] Users film their dance practice sessions using video equipment and upload the videos to the system via a terminal. The input is the video file filmed by the user, and the output is the transfer of video data from the terminal to the server. During this process, the video format and size are automatically checked and sent to the server in the appropriate format.
[0741] Step 2:
[0742] The server receives the uploaded video and saves it to secure storage. Simultaneously with saving the video file as input, the video's metadata (e.g., duration, resolution) is extracted. The output is the saved video data and its metadata. After this, the video is transferred from storage to an AI model for analysis.
[0743] Step 3:
[0744] The AI model on the server analyzes the stored video. The input is the video data stored on the server, and the output is the analysis results regarding the motion characteristics. Specifically, the data processing involves decomposing the motion frame by frame and calculating tracking information.
[0745] Step 4:
[0746] The server generates a model video based on the analysis results. The input is the analysis results of the movement characteristics, and the output is the model video provided to the user. In this generation process, the AI model considers the intent of the choreography and the movement points to create a new, easily understandable video.
[0747] Step 5:
[0748] The server compares the generated model video with the user's video and evaluates the differences. The input is the user's video and the model video, and the output is specific feedback evaluation information. In this step, the discrepancies are quantified, making it clear which points the user should correct.
[0749] Step 6:
[0750] The terminal receives evaluation information from the server and displays it through the user interface. Input is feedback information from the server, and output is information visually displayed on the user's screen. Specifically, important areas for improvement are highlighted, making it easy for the user to apply them to their next practice session.
[0751] (Application Example 1)
[0752] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[0753] There is a challenge in the lack of support for individual users to practice dance efficiently. In particular, it is difficult to accurately understand the choreographer's movements and intentions and reproduce exemplary movements, and there is a problem in that users have no way of knowing specifically what parts need to be corrected when they are making self-improvements. Furthermore, there is a need for means of learning that allow for more intuitive progress, such as using devices that can visually present exemplary movements.
[0754] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0755] In this invention, the server includes means for receiving video footage captured by a user, means for analyzing the features of the captured video footage using a generated model, means for generating a model video based on the estimated intent, and means for converting the generated model video into a motion demonstration device. This enables the user to receive visual and practical support to improve their own movements and understand the choreographer's intent.
[0756] "Video footage" refers to video data of dance movements filmed by the user.
[0757] "Means of analyzing features" refers to hardware or software that uses a generative AI model to analyze the movements and expressions in captured video footage and execute a process to estimate the choreographer's intentions.
[0758] "Means of inferring intent" refers to techniques for understanding the intentions behind the movements and rhythms that a choreographer is trying to convey, based on the analyzed characteristics.
[0759] "Example video" refers to video data that visually demonstrates exemplary actions generated by an AI model.
[0760] A "movement demonstration device" refers to a device that reproduces generated example videos as actual movements and presents them visually to the user.
[0761] "Feedback" refers to information that compares the user's actions with example videos and specifically points out the differences and areas for improvement.
[0762] An "information display device" refers to a device such as a display or mobile terminal that allows users to check feedback information.
[0763] This invention is a system that provides video analysis and visual feedback to help users practice dance effectively.
[0764] The device receives video footage of the dance captured by the user. The captured video footage is acquired using a smartphone or tablet and then uploaded to a cloud server via the internet. The cloud server uses Google Cloud Platform and a TensorFlow-based generative AI model to analyze the features of the video footage. This analysis detects movements, rhythms, and expressions within the video footage and estimates the choreographer's intentions.
[0765] The server generates example videos that the user should imitate, based on the estimated intent. These example videos clearly indicate the key points and tips of the choreography, serving as a learning guide for the user. The server also converts these example videos into control sequences for a home robot, enabling the robot to perform the exemplary movements in real time. This robot operates using, for example, ROS (Robot Operating System).
[0766] Users can view example videos and feedback on their smartphones or information display devices. The feedback analyzes the differences between the example video and the user's own video, specifically indicating areas for improvement. By continuing to practice based on this feedback, users can effectively improve their dance skills.
[0767] As a concrete example, consider a case where a user wants to learn the "cha-cha-cha" ballroom dance. The user films the basic steps of the cha-cha-cha and uploads it to a server via the cloud. The generation AI model analyzes this video and generates exemplary steps as a video example. A home robot then demonstrates these steps, allowing the user to instantly learn the correct movements visually. Through feedback, the user can receive specific advice on which steps to improve and how.
[0768] An example of a prompt for a generative AI model is: "Analyze the choreographer's intentions from the following dance video and generate a model video. Also generate a comparison result with the user's movements."
[0769] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0770] Step 1:
[0771] The terminal receives video footage of the user dancing. The user uses their smartphone to film dance practice videos and uploads them to the server via the cloud using a dedicated app. The input is the user's dance video, and the output is the video data stored on the server.
[0772] Step 2:
[0773] The server stores the received video footage and analyzes its features using a generative AI model. The stored video footage is then placed in a database, and the AI model extracts motion and rhythm through regression analysis and image processing. The input is the stored video footage, and the output is the analyzed feature data.
[0774] Step 3:
[0775] The server estimates the choreographer's intentions from the analyzed feature data. It applies an AI model's predictive algorithm to estimate the purpose of the choreography and the intention behind reproducing the rhythm. The input is feature data, and the output is data related to the estimated intentions.
[0776] Step 4:
[0777] The server generates example videos based on estimated intentions. The generating AI model creates exemplary movements as example videos based on the intentions of the choreography. The input is intention data, and the output is example videos.
[0778] Step 5:
[0779] The server converts a model video into a motion demonstration device. It then creates control data to convert the generated model video into a motion sequence for a home robot. The input is a model video, and the output is a control sequence for the robot.
[0780] Step 6:
[0781] The terminal or information display device shows the user a generated example video and a robot demonstration, which the user then visually confirms. The input is the example video and robot demonstration, and the output is the user's visual feedback.
[0782] Step 7:
[0783] The server compares newly uploaded videos from the user with example videos and generates feedback. Using deep learning-based image comparison technology, it analyzes differences between actions and generates feedback information. The inputs are the newly uploaded videos and example videos, and the output is the feedback information.
[0784] Step 8:
[0785] The device provides the user with generated feedback information and displays advice to help them improve their next practice session. The input is feedback information, and the output is improvement instructions delivered through the user interface.
[0786] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0787] This invention improves the quality of individual dance practice by incorporating an emotion engine into a system that supports individual dance practice, thereby responding to the user's emotions. The system begins with a terminal receiving practice videos recorded by the user and sending them to a server. The server stores the videos and analyzes the characteristics of the movements using an AI model. It then estimates the choreographer's intentions and generates example videos.
[0788] In addition, the server uses an emotion engine to recognize the user's emotions from their facial expressions and actions within the video. Based on this information, it optimizes the choreography and the content of the example video to match the user's emotions. For example, if the user is confused by a difficult step, the server will employ a method to explain that part in more detail when generating the video.
[0789] Furthermore, the feedback generation process also takes user emotions into consideration. The server adjusts the content and tone of the feedback to create feedback that is most encouraging to the user. This feedback is displayed on the device, and the user receives it and uses it to improve their practice.
[0790] For example, if the server's emotion engine determines that a user is finding a section of the choreography difficult, the server will repeatedly emphasize that section and generate a demonstration video. Furthermore, the feedback will highlight that section as a point to focus on improving during independent practice. This allows users to efficiently improve their practice and helps maintain motivation. In this way, flexible practice support tailored to individual emotions is possible.
[0791] The following describes the processing flow.
[0792] Step 1:
[0793] Users film their dance practice videos and upload them to the system via their device. The device prompts the user to submit the video through its user interface and sends the data to the server.
[0794] Step 2:
[0795] The server saves the video received from the terminal and performs preprocessing such as adjusting the resolution and format. This prepares the video for analysis.
[0796] Step 3:
[0797] The server uses an AI model to analyze the movements in the video and extract features. These features include the speed of the movement, the angle, and the nuances of expression.
[0798] Step 4:
[0799] The server uses data obtained from AI analysis to estimate the choreographer's intentions and generates the most suitable example video for the user. During this generation process, key dance elements are emphasized.
[0800] Step 5:
[0801] The server uses an emotion engine to recognize emotions from the user's facial expressions and actions within the practice video. This recognition result is used to optimize the choreography intent and the example video.
[0802] Step 6:
[0803] The server adjusts the feedback based on the recognized user's emotions. The server modifies the content and expression of the feedback to match the user's emotional state, providing the most effective advice.
[0804] Step 7:
[0805] The terminal receives feedback from the server and displays it to the user on the user interface. The user can review the feedback and use it to improve their next practice session.
[0806] (Example 2)
[0807] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[0808] While conventional dance practice support systems had the functionality to analyze user movements, they could not adjust feedback or practice video content based on the user's emotions, resulting in only uniform instruction. This could hinder user motivation and efficient skill improvement. Therefore, there was a need to customize practice support based on the user's emotions to achieve more effective and individually optimized instruction.
[0809] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0810] In this invention, the server includes means for receiving video footage captured by the user, means for analyzing the features of the captured video footage using a generated model, and means for recognizing the user's emotions and generating example video footage optimized for those emotions. This makes it possible to provide optimal feedback and example videos that correspond to the user's emotions.
[0811] A "user" refers to an individual who uses the system to improve their own dance performance.
[0812] "Video footage" refers to video data that captures the user's dance movements.
[0813] "Means of receiving" refers to the function for acquiring video and image data sent by the user.
[0814] "Means of saving" refers to the function of storing received video images on a recording medium.
[0815] "Generated model" refers to an artificial intelligence model trained to analyze video images and extract features.
[0816] "Means of analysis" refers to the function that utilizes a model generated to identify the characteristics of user actions from video footage.
[0817] "Choreographic intent" refers to the concept that indicates the movement or expression that the dance actions should aim for.
[0818] "Means of estimation" refers to the function of determining the intent of the choreography based on the analyzed characteristics.
[0819] "Example videos" refer to exemplary dance videos that users can use as a reference.
[0820] "Generating means" refers to the function of creating example videos based on the estimated intent of the choreography.
[0821] "Means of provision" refers to the function of visually presenting the generated example video to the user.
[0822] "Recognizing emotions" refers to identifying a user's emotional state from their facial expressions and actions.
[0823] "Optimized example videos" refer to example videos that have been adjusted according to the user's emotions.
[0824] "Feedback" refers to information used to analyze the differences between a user's video and the example video, and to communicate areas for improvement.
[0825] This invention is a system for effectively supporting users' dance practice. The system consists of a terminal, a server, and associated software. The respective components and processes are described below.
[0826] Hardware and software configuration
[0827] Device: A device with camera and internet connectivity capabilities, such as a smartphone or tablet, is used. A dedicated application is installed, and the user records videos through it and sends them to the server.
[0828] Server: A cloud server with a high-performance computing environment is used. This server houses video storage capabilities, generative AI models, and an emotion recognition engine. The generative AI model utilizes machine learning frameworks such as TensorFlow.
[0829] Generative AI Model: This is a neural network model that analyzes the features of video footage, estimates the intent behind the choreography, and generates example videos.
[0830] Emotion recognition engine: This is software that analyzes the user's facial expressions and motion data to identify emotions. It can use libraries such as OpenCV.
[0831] Operation and Usage Instructions
[0832] User: Uses their smartphone camera to record their dance practice as a video. Then, uploads this video to the server via a dedicated app.
[0833] Server: Analyzes received video data and uses a generation AI model to analyze user actions. Based on the analysis results, it estimates the intent of the choreography and generates an optimal example video based on this. Using an emotion recognition engine, it recognizes the user's emotional state from their facial expressions and body movements, and customizes the example video and feedback by taking this emotional information into account.
[0834] Specific example
[0835] For example, if a user shows a confused expression in a video, the server will generate a more detailed example video explaining that part of the dance steps. The feedback will also include instructions to focus on practicing that difficult section.
[0836] Example of a prompt
[0837] The following prompt statements can be used to give specific instructions to the generative AI model.
[0838] "Users are confused in the middle of the choreography. Please create a demonstration video that highlights the confusing part and include feedback on how to improve that section."
[0839] This system allows users to receive personalized instruction tailored to their own emotions, contributing to the improvement of their dance skills.
[0840] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0841] Step 1:
[0842] The user records their dance practice as a video using their smartphone camera. The recorded video is saved to an application on the device. The input includes the user's video. The output is the recorded video file.
[0843] Step 2:
[0844] The device sends videos captured through the application to the server. The input is a video file, and the output is video data stored on the server's storage. The data is transferred over the internet with appropriate security protocols (e.g., SSL / TLS) applied.
[0845] Step 3:
[0846] The server stores the received video data and inputs it into the generating AI model. The input here is a video file stored on the server's storage. The AI model analyzes the user's movements within the video and extracts movement features. The output is the extracted movement feature data.
[0847] Step 4:
[0848] The server estimates the intent of choreography based on its movement characteristics. The input is movement characteristic data. AI is used to analyze the intent and set criteria for generating example videos. The output is estimated choreography intent data.
[0849] Step 5:
[0850] The server generates a sample video using a generative AI model based on the estimated choreographic intent. Inputs include the choreographic intent and the original video footage. The sample video may include music and visual guidelines. The output is the sample video.
[0851] Step 6:
[0852] The server uses an emotion recognition engine to recognize emotions from the user's facial expressions and posture. The input is the user's video data, and the output is the recognized emotion data. Image processing technology is used for emotion recognition.
[0853] Step 7:
[0854] The server considers the recognized emotions and optimizes the example video and feedback to match the user's emotions. The input consists of emotion data and example video data. The output is the optimized example video and feedback text.
[0855] Step 8:
[0856] The server sends the generated example video and feedback to the device. The input is optimized data, and the output is in a format viewable on the device. The data is transferred through a secure channel.
[0857] Step 9:
[0858] The device visually provides the user with example videos and feedback. Input is data received from the server, and output is content that the user can understand visually and audibly. This allows the user to receive specific guidance and improve their practice.
[0859] (Application Example 2)
[0860] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[0861] Modern dance practice support systems often provide uniform feedback without considering the user's emotions, posing challenges to maintaining user motivation and improving practice efficiency. There is a need for support that improves the quality and effectiveness of practice by providing flexible feedback that responds to the user's emotions.
[0862] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.
[0863] In this invention, the server includes means for storing video footage captured by the user and analyzing its features; means for estimating the intent of the choreography based on the analyzed features and generating example video footage; and means for recognizing the user's emotions via a robot and optimizing practice feedback based on those emotions. This makes it possible to provide appropriate feedback and advice in accordance with the user's emotions and improve the quality of practice.
[0864] A "user" refers to an individual who uses the system to practice dancing.
[0865] "Means of recording" refers to devices and technologies for recording the user's dance movements.
[0866] "Video footage" refers to video data that records the user's dance movements.
[0867] "Means of storage" refers to a storage device or method for holding received video data.
[0868] "Generated model" refers to an algorithm for choreography analysis or emotion recognition that has been trained and built by an AI model.
[0869] "Methods for analyzing features" refer to technologies for analyzing information such as body movements and facial expressions extracted from video images.
[0870] "Means of estimating the intent of choreography" refers to the process of understanding the purpose and structure of a dance based on analyzed movement data.
[0871] "Methods for generating exemplary videos" refers to technology that creates standard dance videos that users can use as a reference, based on the estimated intent of the choreography.
[0872] "Means of provision" refers to methods for presenting generated example videos and feedback to users.
[0873] A "robot" is a mechanical device programmed to support a user's dance practice.
[0874] "Means of recognizing emotions" refers to technologies that analyze a user's facial expressions, movements, and voice to understand their emotional state.
[0875] "Methods for optimizing feedback" refer to the process of adjusting advice and information to improve the user's practice based on the results of emotion recognition.
[0876] "Speech synthesis" is a technology that generates speech based on textual information and provides it to the user as auditory information.
[0877] The system for realizing this invention consists of a robot that assists the user in dance practice and a cloud server that operates in the backend. The system mainly consists of the following elements:
[0878] The server receives video footage captured by users and stores it in the cloud. The stored video data is analyzed by an AI model built using Python, and motion characteristics are extracted. This analysis estimates the intention behind the user's dance movements, and based on the results, a model video is generated.
[0879] The robot is equipped with a camera and voice input device to recognize emotions in real time during user practice. This emotion recognition uses an emotion engine that combines the open-source computer vision libraries OpenCV and TensorFlow, determining the user's emotional state from their facial expressions and voice.
[0880] User emotion-based feedback is optimized on the server and delivered to the user via the robot's speech synthesis function. A general-purpose speech synthesis platform is used for speech synthesis. Visual feedback is also provided via the robot's display. This feedback employs a positive approach to engage the user.
[0881] A concrete example is when the robot provides feedback on the parts of the practice that the user finds difficult, along with the results of the motion analysis and recommended improvement methods. By providing feedback via speech synthesis, such as, "After a short break, I will slowly play the motion with explanations," the user can continue practicing and improve.
[0882] Examples of prompt messages include the following:
[0883] "Based on the user's facial expressions, identify their current emotional state. Then, based on the results of the choreography motion analysis, suggest the most suitable practice method. If the user is feeling down, consider providing encouraging feedback."
[0884] In this way, it becomes possible to support dance practice in a way that is tailored to the individual user's emotions, improving the quality and enjoyment of practice.
[0885] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0886] Step 1:
[0887] The user practices dancing and films their movements with a camera. This recorded video data is input into the robot's terminal. The robot's terminal transmits this video data to a server in the cloud via the network. Once the transmitted data reaches the server, the server saves the data.
[0888] Step 2:
[0889] The server receives the saved video footage and analyzes the characteristics of the movements using a generating AI model. This analysis extracts various motion parameters, such as the user's arm and leg movements and body twists. Once the motion characteristics are extracted, the server is ready to proceed to the next processing step.
[0890] Step 3:
[0891] The server estimates the intent of the choreography based on the extracted feature data. It then compares this data with a database of choreography patterns to recognize corresponding choreography patterns. Based on the estimation results, a generative AI model is used to generate example videos. The generated videos are recorded on the server and made available to users.
[0892] Step 4:
[0893] The server acquires the user's facial expressions and voice from the robot in real time and uses this data to recognize emotions. This recognition utilizes OpenCV and TensorFlow to estimate the user's emotional state (joy, anger, sadness, surprise, etc.). Based on the recognized emotion data, it generates feedback that matches the user's mental state.
[0894] Step 5:
[0895] The server sends the generated feedback to the robot. The robot converts this feedback information into speech using a speech synthesis engine and communicates it to the user verbally. Simultaneously, the robot's display shows images and text messages. Based on this feedback, the user can adjust and improve their practice.
[0896] This entire process enables dance practice support that is tailored to each individual's emotions and abilities.
[0897] 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 controlled object 443 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[0898] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0899] 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 this disclosure is not limited thereto, and the specific processing may also be performed by the robot 414.
[0900] Furthermore, the emotion identification model 59, acting 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 a specific mapping, which is an emotion map (see Figure 9). Similarly, the emotion identification model 59 may also determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.
[0901] Figure 9 shows an emotion map 400 in which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. The closer to the center of the concentric circles, the more primitive the emotions are located. Further out of the concentric circles, emotions representing states and actions arising from mental states are located. Emotion is a concept that includes feelings and mental states. On the left side of the concentric circles, emotions that are generally generated from reactions occurring in the brain are located. On the right side of the concentric circles, emotions that are generally induced by situational judgment are located. Above and below the concentric circles, emotions that are generally generated from reactions occurring in the brain and induced by situational judgment are located. In addition, the emotion of "pleasure" is located on the upper side of the concentric circles, and the emotion of "displeasure" is located on the lower side. Thus, in the emotion map 400, multiple emotions are mapped based on the structure in which emotions arise, and emotions that are likely to occur simultaneously are mapped close together.
[0902] These emotions are distributed at the 3 o'clock position on the Emotion Map 400, and usually fluctuate between feelings of security and anxiety. In the right half of the Emotion Map 400, situational awareness takes precedence over internal feelings, resulting in a calm impression.
[0903] The inside of the Emotion Map 400 represents inner thoughts, while the outside represents actions. Therefore, the further you go from the outside of the Emotion Map 400, the more visible (expressed in actions) your emotions become.
[0904] Here, human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. Similarly, in robots, cars, motorcycles, etc., emotions can be created based on various balances, such as posture and battery level. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. The emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on a system for analyzing brain physiological signals of speech emotion recognition and emotion, Tokushima University, doctoral dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map contains emotions belonging to a region called "response," where sensation is dominant. The right half of the emotion map contains emotions belonging to a region called "situation," where situational awareness is dominant.
[0905] The emotion map defines two emotions that promote learning. One is the emotion around the middle of the negative "repentance" and "reflection" on the situation side. In other words, it is 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 the emotion around the positive "desire" on the reaction side. In other words, it is when the robot has positive feelings such as "I want more" or "I want to know more."
[0906] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values representing each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple training data sets, which are combinations of user input and emotion values representing each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions located close together have similar values, as shown in the emotion map 900 in Figure 10. Figure 10 shows an example where multiple emotions such as "reassured," "calm," and "confident" have similar emotion values.
[0907] The above description primarily focuses on the functions of the data processing device 12 in relation to this disclosure. However, the system related to this disclosure is not necessarily implemented on a server. The system related to this disclosure may be implemented as a general information processing system. This disclosure may be implemented, for example, as a software program that runs on a personal computer or as an application that runs on a smartphone. The method related to this disclosure may be provided to users in SaaS (Software as a Service) format.
[0908] In the above embodiment, an example was given in which a specific process is performed by a single computer 22. However, the technology of this disclosure is not limited thereto, and a distributed processing of the specific process may be performed by multiple computers, including computer 22. For example, a data generation model 58 may be provided in an external device of the data processing device 12, and the external device may generate data according to the input data.
[0909] In the above embodiment, an example was given in which the specific processing program 56 is stored in the storage 32, but the technology of this disclosure is not limited thereto. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-temporary storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-temporary storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes specific processing according to the specific processing program 56.
[0910] 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.
[0911] Furthermore, it is not necessary to store the entirety 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 the entirety of the specific processing program 56 in the storage 32; it is acceptable to store only a portion of the specific processing program 56.
[0912] The following types of processors can be used as hardware resources to perform specific processing. Examples of processors include a CPU, a general-purpose processor that functions as a hardware resource to perform specific processing by executing software, i.e., a program. Other examples of processors include dedicated electrical circuits, such as FPGAs (Field-Programmable Gate Arrays), PLDs (Programmable Logic Devices), or ASICs (Application Specific Integrated Circuits), which have circuit configurations specifically designed to perform specific processing. All of these processors have built-in or connected memory, and all of them perform specific processing by using memory.
[0913] The hardware resource that performs a specific process may consist of one of these various processors, or it may consist of 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). Alternatively, the hardware resource that performs a specific process may consist of a single processor.
[0914] Examples of configurations using a single processor include, firstly, a configuration in which one or more CPUs and software are combined to form a single processor, and this processor functions as a hardware resource that performs a specific process. Secondly, there is a configuration using a processor that realizes the functions of the entire system, including multiple hardware resources that perform a specific process, on a single IC chip, as exemplified by SoCs (System-on-a-chip). In this way, a specific process is realized using one or more of the above types of processors as hardware resources.
[0915] Furthermore, the hardware structure of these various processors can more specifically utilize electrical circuits that combine circuit elements such as semiconductor devices. Also, the specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps can be deleted, new steps added, or the processing order rearranged, as long as it does not deviate from the main purpose.
[0916] The descriptions and illustrations presented above are detailed explanations of the technical aspects of this disclosure and are merely examples of the technical aspects. For example, the above descriptions of the structure, function, operation, and effect are examples of the structure, function, operation, and effect of the technical aspects of this disclosure. Therefore, it goes without saying that you may delete unnecessary parts, add new elements, or replace elements in the descriptions and illustrations presented above, as long as you do not deviate from the essence of the technical aspects of this disclosure. Furthermore, in order to avoid confusion and facilitate understanding of the technical aspects of this disclosure, explanations of common technical knowledge and the like that do not require special explanation to enable the implementation of the technical aspects of this disclosure have been omitted from the descriptions and illustrations presented above.
[0917] All documents, patent applications, and technical standards described herein are incorporated by reference to the same extent as if each individual document, patent application, and technical standard were specifically and individually noted to be incorporated by reference.
[0918] The following is further disclosed regarding the embodiments described above.
[0919] (Claim 1)
[0920] A means for receiving video images captured by a user,
[0921] Means for saving the received video image,
[0922] A means for analyzing the features of the captured video image using the generated model,
[0923] A means for estimating the intention of the choreography based on the analyzed characteristics,
[0924] A means for generating a model video based on the estimated intention,
[0925] A means for providing the generated example video to the user,
[0926] A system that includes this.
[0927] (Claim 2)
[0928] The system according to claim 1, comprising means for comparing a user's video with a generated example video and generating feedback on the differences.
[0929] (Claim 3)
[0930] The system according to claim 1, comprising a user interface capable of displaying feedback information provided to the user.
[0931] "Example 1"
[0932] (Claim 1)
[0933] A device that acquires videos taken by the user,
[0934] A device for storing the acquired video,
[0935] A device for analyzing the operational characteristics of acquired videos using an artificial intelligence model,
[0936] A device that infers the intent of the operation based on the analyzed operating characteristics,
[0937] A device for creating a model video based on the inferred intent,
[0938] A device that provides the created model video to the user,
[0939] A system that includes this.
[0940] (Claim 2)
[0941] The system according to claim 1, comprising a device that compares a user's video with a created model video and generates an evaluation of the differences therebetween.
[0942] (Claim 3)
[0943] The system according to claim 1, comprising a user interface capable of displaying evaluation information provided to the user.
[0944] "Application Example 1"
[0945] (Claim 1)
[0946] A means for receiving video images captured by a user,
[0947] Means for saving the received video image,
[0948] A means for analyzing the features of the captured video image using the generated model,
[0949] A means for estimating the intention of the choreography based on the analyzed characteristics,
[0950] A means for generating a model video based on the estimated intention,
[0951] Means for converting the generated example video into an action demonstration device,
[0952] A means for visually presenting example video images using the demonstration device,
[0953] Means for providing the user with the generated example video and the operation of the demonstration device,
[0954] A system that includes this.
[0955] (Claim 2)
[0956] The system according to claim 1, comprising means for comparing a user's video with a generated example video and generating feedback on the differences.
[0957] (Claim 3)
[0958] The system according to claim 1, comprising an information display device capable of displaying feedback information provided to the user.
[0959] "Example 2 of combining an emotion engine"
[0960] (Claim 1)
[0961] A means for receiving video images captured by a user,
[0962] Means for saving the received video image,
[0963] A means for analyzing the features of the captured video image using the generated model,
[0964] A means for estimating the intention of the choreography based on the analyzed characteristics,
[0965] A means for generating a model video based on the estimated intention,
[0966] A means for recognizing a user's emotions and generating a model video optimized for those emotions,
[0967] A means of generating user-optimized feedback,
[0968] A means for providing the generated example video to the user,
[0969] A system that includes this.
[0970] (Claim 2)
[0971] The system according to claim 1, comprising means for comparing a user's video with a generated example video and generating feedback based on the differences and the user's emotions.
[0972] (Claim 3)
[0973] The system according to claim 1, comprising a user interface capable of displaying emotion-based feedback information provided to the user.
[0974] "Application example 2 when combining with an emotional engine"
[0975] (Claim 1)
[0976] A means for receiving video images captured by a user,
[0977] Means for saving the received video image,
[0978] A means for analyzing the features of the captured video image using the generated model,
[0979] A means for estimating the intention of the choreography based on the analyzed characteristics,
[0980] A means for generating a model video based on the estimated intention,
[0981] A means for providing the generated example video to the user,
[0982] A means of recognizing the user's emotions through a robot and optimizing practice feedback based on those emotions,
[0983] A means of adjusting the content of feedback according to the user's emotional state and providing it audibly and visually,
[0984] A system that includes this.
[0985] (Claim 2)
[0986] The system according to claim 1, comprising means for comparing a user's video with a generated example video and generating feedback about the differences, and adjusting the tone of the feedback based on the user's emotions.
[0987] (Claim 3)
[0988] The system according to claim 1, which is capable of displaying feedback information provided to the user and includes means for providing voice feedback by speech synthesis. [Explanation of Symbols]
[0989] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Devices 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robots< / url:> < / url:> < / url:> < / url:>
Claims
1. A means for receiving video images captured by a user, Means for saving the received video image, A means for analyzing the features of the captured video image using the generated model, A means for estimating the intention of the choreography based on the analyzed characteristics, A means for generating a model video based on the estimated intention, A means for providing the generated example video to the user, A system that includes this.
2. The system according to claim 1, comprising means for comparing a user's video with a generated example video and generating feedback on the differences.
3. The system according to claim 1, comprising a user interface capable of displaying feedback information provided to the user.