System
A system that collects and analyzes choreographer data to generate model videos and provide real-time feedback addresses the challenge of understanding choreographer intentions and receiving effective dance practice feedback, improving learning efficiency.
Patent Information
- Application Number
- JP2024133630
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-08
- Publication Date
- 2026-02-20
AI Technical Summary
Individuals practicing dance face challenges in understanding the choreographer's intentions and receiving effective feedback that reflects their distinctive movements and styles, hindering skill improvement.
A system that collects choreographer video data, analyzes characteristics, generates model videos, records and analyzes user practice sessions, and provides real-time feedback to improve practice efficiency.
The system effectively supports dance practice by providing real-time feedback that incorporates the choreographer's intentions and characteristics, enhancing learning efficiency and skill development.
Smart Images

Figure 2026030646000001_ABST
Abstract
Description
[Technical Field]
[0001] The technology of the present disclosure relates to a system. [Background technology]
[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]
[0004] Currently, when practicing dance individually, there is a problem that it is difficult to fully understand the choreographer's intentions, making it difficult to practice effectively. Furthermore, there are limited means of receiving feedback that reflects the distinctive movements and styles of the choreographer and other dancers, making it difficult for individuals to improve their skills. To solve these problems, the present invention aims to provide a system that analyzes the characteristics of a choreographer, generates model videos, and analyzes individual practice sessions to provide appropriate feedback. [Means for solving the problem]
[0005] The present invention is a system including a means for collecting video data of choreographers, a means for analyzing the collected video data to extract characteristics of the choreographer, a means for generating a model video based on the extracted characteristics, a means for recording a user's practice footage, a means for transmitting the recorded practice footage to a server, a means for analyzing the received practice footage and generating feedback for the user, and a means for providing the generated feedback to the user. Furthermore, by including a means for evaluating the user's practice footage by comparing it with the choreographer's characteristics when analyzing the user's practice footage and a means for displaying the generated feedback on the user's terminal in real time, efficient practice support is realized.
[0006] "Choreographer video data" refers to a digital video file that records a choreographer demonstrating dance movements and choreography.
[0007] "Analysis" refers to the process of extracting features and patterns from collected video data and processing them to understand and evaluate them.
[0008] "Features" refer to characteristics and patterns such as the movements, style, and rhythm of a choreographer or user.
[0009] A "model video" is a choreography demonstration video that is generated based on the analyzed features and can be used as a reference by the user when practicing.
[0010] "Recording" refers to recording a user's actions as digital video using a camera or other recording device.
[0011] A "server" is a high-performance computer system that performs processes such as analyzing, storing, sending and receiving data.
[0012] "Feedback" refers to advice and evaluations provided based on the results of analyzing the user's practice video.
[0013] A "terminal" is a device used by a user, such as a computer, smartphone, or tablet.
[0014] "Real-time" is a time characteristic that means immediate response to user input or actions.
[0015] "Practice scene" refers to a scene in which a user is actually practicing a dance.
[0016] Based on these definitions, the terms contained in the claims can be understood in a consistent manner. [Brief explanation of the drawings]
[0017] [Figure 1] 1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [Figure 2] 1 is a conceptual diagram showing an example of main functions of a data processing device and a smart device according to a first embodiment. [Figure 3] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a second embodiment. [Figure 4] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and smart glasses according to a second embodiment. [Figure 5] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a third embodiment. [Figure 6] FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and a headset-type terminal according to a third embodiment. [Figure 7] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a fourth embodiment. [Figure 8] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and a robot according to a fourth embodiment. [Figure 9] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 10] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 11]FIG. 3 is a sequence diagram showing a processing flow of the data processing system according to the first embodiment. [Figure 12] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 1. [Figure 13] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system according to the second embodiment when an emotion engine is combined. [Figure 14] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 2 when an emotion engine is combined. DETAILED DESCRIPTION OF THE INVENTION
[0018] An example of an embodiment of a system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.
[0019] First, the terms used in the following description will be explained.
[0020] In the following embodiments, a coded processor (hereinafter simply referred to as a "processor") may be a single arithmetic device or a combination of multiple arithmetic devices. Furthermore, a processor may be a single type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), and an APU (Accelerated Processing Unit).
[0021] In the following embodiments, a coded RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a working memory by a processor.
[0022] In the following embodiments, the coded storage is one or more non-volatile storage devices that store various programs, various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), and magnetic tapes.
[0023] In the following embodiments, a communication I / F (Interface) with a symbol is an interface including a communication processor, an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), Bluetooth (registered trademark), etc.
[0024] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" is also applied when three or more things are expressed connected by "and / or."
[0025] [First embodiment]
[0026] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0027] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.
[0028] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0029] The smart device 14 includes a computer 36, a reception device 38, an output device 40, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The reception device 38, the output device 40, and the camera 42 are also connected to the bus 52.
[0030] The reception device 38 includes a touch panel 38A, a microphone 38B, and the like, and receives user input. The touch panel 38A detects contact with an indicator (for example, a pen or a finger) to receive user input by the touch of the indicator. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.
[0031] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form of expression that the user 20 can perceive (for example, audio and / or text). The display 40A displays visible information such as text and images in accordance with instructions from the processor 46. The speaker 40B outputs audio in accordance with instructions from the processor 46. The camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0032] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54.
[0033] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0034] 2, in the data processing device 12, a specific process is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0035] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0036] In the smart device 14, the processor 46 performs the reception output process. The storage 50 stores a reception output program 60. The reception output program 60 is used in conjunction with the specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0037] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0038] The system of the present invention collects video data from choreographers and performs a series of processes to effectively support users' dance practice. The following elements are important for implementing this system:
[0039] Data collection
[0040] server
[0041] The choreographer's video data is collected from cloud storage, downloaded using a specified URL or API, and converted into a format that can be analyzed by the AI model.
[0042] Data analysis
[0043] server
[0044] The collected video data is analyzed using an AI model, which extracts the choreographer's characteristics and movement patterns, and stores and organizes this information in a database.
[0045] Sample video generation
[0046] server
[0047] Based on the analyzed choreographer's characteristic data, a demonstration video is generated, which includes intuitive demonstration footage that reflects the choreographer's intentions and can be used as a reference for users when practicing.
[0048] Recording of user practice sessions
[0049] Terminal
[0050] Users record their own dance practice using a camera, and the recorded video data is sent from the device to the server.
[0051] Analysis of practice sessions and provision of feedback
[0052] server
[0053] The system analyzes the user's practice video and evaluates it by comparing it with the choreographer's characteristics and model videos. Based on this, it generates feedback for the user.
[0054] server
[0055] The generated feedback is sent to the user's device and can be viewed in real time, including suggestions for improving behavior and specific advice.
[0056] View feedback and suggest improvements
[0057] Terminal
[0058] Feedback is displayed to the user in real time, allowing the user to continue practicing and improve their movements based on the feedback provided.
[0059] Specific examples
[0060] For example, if a dancer wants to learn a new choreography and collect practice videos, the server first downloads the choreographer's demonstration video from cloud storage. The server then converts the video data into a format that the AI model can analyze and extracts the choreographer's characteristics. Based on this information, a demonstration video is generated, and the user can use it as a reference for practicing.
[0061] Users record their own dance practice and send the video data to the server. The server analyzes the received practice video, evaluates it by comparing it with the choreographer's characteristics, and generates appropriate feedback. This feedback is then sent back to the device, where the user receives real-time feedback and uses it as a reference for improvement. By repeating this process, the user's dance skills will gradually improve.
[0062] As described above, the system of the present invention effectively supports the user's dance practice by providing real-time feedback that incorporates the choreographer's intentions and characteristics.
[0063] The processing flow will be explained below.
[0064] Step 1:
[0065] The server collects the choreographer's video data from cloud storage, downloads it using a specified URL or API, and converts it into a format that the AI model can analyze.
[0066] Step 2:
[0067] The server analyzes the collected video data using an AI model, extracting the choreographer's characteristics and movement patterns, and stores this information in a database.
[0068] Step 3:
[0069] The server generates a demonstration video based on the analyzed choreographer's characteristic data. This video includes an intuitive demonstration video that reflects the choreographer's intentions, and can be used as a reference for users during practice.
[0070] Step 4:
[0071] The user uses a camera to record their own dance practice, and the recorded video data is sent from the user's device to the server.
[0072] Step 5:
[0073] The server analyzes the user's practice video, compares it with the choreographer's characteristics and model videos, evaluates the user's performance, and generates feedback based on the analysis results.
[0074] Step 6:
[0075] The server then sends the generated feedback to the user's device, which includes suggestions for improving the user's behavior and specific advice.
[0076] Step 7:
[0077] The device provides real-time feedback to the user, who can then continue practicing and improve their movements based on this feedback.
[0078] In this way, a system is constructed in which the server, terminals, and users cooperate to effectively support dance practice.
[0079] Example 1
[0080] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0081] Conventional dance practice support systems have difficulty accurately analyzing choreographers' intentions and movement patterns and providing effective feedback to users on their practice in real time. Furthermore, the process of users reviewing their own practice videos and comparing them with the choreographer's movements to improve themselves is cumbersome, resulting in reduced learning efficiency.
[0082] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0083] In this invention, the server includes means for acquiring video data of the choreographer, means for analyzing the acquired video data and extracting the choreographer's movement patterns, means for generating a reference video based on the extracted movement patterns, means for recording the user's practice footage, means for transferring the recorded practice footage to the server, means for analyzing the transferred practice footage and generating evaluation information for the user, and means for delivering the generated evaluation information to the user. This enables practice support based on the choreographer's video data and real-time evaluation feedback.
[0084] A "choreographer" is a professional dance choreographer who designs and directs the movements and steps of a particular dance performance.
[0085] "Video data" is digital data containing video and audio information, stored in a format that can be played on a computer or digital device.
[0086] A "movement pattern" is a profile of a series of movements that indicates the continuity and characteristics of a particular movement or action, and serves as an index for analyzing the characteristics of a choreographer.
[0087] A "reference video" is a video generated based on a choreographer's movement patterns, and is intended for the user to use as a reference when practicing.
[0088] "Practice scenes" are video data showing a user practicing dance, and are used to record and analyze the user's movements.
[0089] A "server" is a computer system that stores, processes, and distributes data, and is responsible for analyzing users' practice sessions and providing feedback.
[0090] "Evaluation information" is feedback data generated by analyzing the user's practice footage, and includes information on areas for improvement and advice for the user's movements.
[0091] "Distribution" refers to the act of providing information or data to specific recipients via a network, and in this case refers to sending evaluation information to the user's terminal.
[0092] "Recording" refers to the act of recording video using a camera or digital device, which is done by a user to save footage of their own practice.
[0093] "Transfer" refers to the act of moving or sending data from one place to another, and in this case refers to sending the user's practice footage to a server.
[0094] The system of the present invention collects video data from choreographers and performs a series of processes to effectively support users' dance practice. The following elements are important for implementing this system:
[0095] Data collection
[0096] server
[0097] The server retrieves the choreographer's video data from cloud storage using a specified URL or API. For example, it downloads the video data via an HTTP request. It also performs an error check on the downloaded video data to confirm that it was retrieved successfully. It then converts the collected video data into a format that the AI model can analyze. Specifically, it converts the video format and adjusts the resolution. For example, it converts MP4 format videos to 1080p resolution.
[0098] Data analysis
[0099] server
[0100] The server analyzes the collected video data using an AI model. During this analysis process, the choreographer's movement patterns and characteristics are extracted. Software such as OpenPose and MediaPipe are used. Using this software, the movements of people in the video are detected as wireframes. The analyzed feature data is stored and organized in a database. For example, the timing of the start of a movement and patterns of limb movement are saved as features.
[0101] Sample video generation
[0102] server
[0103] The server generates demonstration videos based on the choreographer's characteristic data retrieved from the database. Specifically, it adds animation to the 3D model using Unity or Blender. The generated demonstration videos include intuitive demonstration footage that reflects the choreographer's intentions. The generated videos are uploaded to cloud storage or a web portal that users can access.
[0104] Recording of user practice sessions
[0105] Terminal
[0106] Users record their dance practice sessions using a smartphone or webcam. During this recording process, users use a camera application that can record their movements with high accuracy. The recorded video data is then transferred from the device to a server. At this time, users must check the communication status to ensure that data transmission is not interrupted.
[0107] Analysis of practice sessions and provision of feedback
[0108] server
[0109] The server uses an AI model to analyze the practice video sent by the user. During this analysis process, the server compares the video with the choreographer's characteristic data and evaluates the user's movements. For example, it generates a specific evaluation such as "your right foot movement is delayed." The server also automatically generates feedback content and provides it to the user's device. The feedback includes areas for improvement in the user's movements and specific advice.
[0110] View feedback and suggest improvements
[0111] Terminal
[0112] The user's device receives feedback from the server and displays it in real time. The user can continue practicing while correcting their movements based on the feedback displayed. The feedback is displayed as notifications or pop-ups in the application.
[0113] Specific examples
[0114] For example, when a dancer uses the system to learn a new choreography, the server first retrieves the choreographer's demonstration video from cloud storage. It then converts the video into a format that AI can analyze, extracting the choreographer's movement patterns and characteristics. Based on this information, a 3D animated demonstration video is generated using Unity and uploaded to cloud storage accessible to the user. The user then records their own dance practice and sends it to the server. The server analyzes the practice video, compares it with the choreographer's data, and generates feedback such as, "Your right foot is moving too slowly." The user receives this feedback in real time and continues practicing, consciously reminding themselves to "move your right foot faster" during the next practice session. In this way, the entire system efficiently supports the user's learning.
[0115] Example prompts to input to the generative AI model
[0116] "To learn new choreography, please extract features from a choreographer's demonstration video and generate a reference video. Also, please analyze my practice video and provide specific feedback in real time."
[0117] As described above, the system of the present invention effectively supports the user's dance practice by providing real-time feedback that incorporates the choreographer's intentions and characteristics.
[0118] keyword
[0119] Generative AI model, prompt sentence
[0120] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0121] Step 1: Obtaining video data
[0122] server
[0123] The server retrieves the choreographer's video data from cloud storage. The input data is request information including the URL of the video data and the API endpoint. Specifically, the server downloads the video data from the specified URL using the HTTP protocol. It checks whether the video data was retrieved correctly and retries if there is an error. The output data is the retrieved video file, which is saved in local storage.
[0124] Step 2: Convert the data format
[0125] server
[0126] The server converts the acquired video data into a format that can be analyzed by the AI model. The input data is a video file stored in local storage. Specifically, the video format is converted to MP4 format and the resolution is adjusted to 1080p. This conversion is performed using software such as FFmpeg. The converted video data becomes the output data and is used in the analysis stage.
[0127] Step 3: Analyze the video data
[0128] server
[0129] The server uses an AI model to analyze the converted video data. The input data is a video file whose format has been converted. Specifically, the video data is input into an AI model such as OpenPose or MediaPipe, and the movement patterns of the person are analyzed. As a result of the analysis, feature data such as the timing at which the movement begins and the movement patterns of the hands and feet are extracted. The output data is the extracted feature data, which is stored in a database.
[0130] Step 4: Generate a sample video
[0131] server
[0132] The server generates a model video based on the feature data retrieved from the database. The input data is the saved feature data. Specifically, Unity or Blender is used to add animation to the 3D model and generate the model video. The generated model video is uploaded to cloud storage or a web portal so that users can access it. The output data is the model video.
[0133] Step 5: Record your practice
[0134] Terminal
[0135] Users record their own dance practice using a smartphone or webcam. The input data is the user's practice footage. A camera application capable of capturing movements with high accuracy is used for recording. The recorded video data is saved on the device. The output data is the recorded user video.
[0136] Step 6: Send video data
[0137] Terminal
[0138] The user sends recorded video data to the server. The input data is the user's recorded video. The transmission is performed using the HTTP protocol or a dedicated API. During this process, the communication status is checked and pause and retransmission functions are implemented to ensure stable data transfer. The output data is the user's video uploaded to the server.
[0139] Step 7: Analyze the practice session
[0140] server
[0141] The server uses an AI model to analyze the practice video sent by the user. The input data is the user video uploaded to the server. Specifically, it compares it with the choreographer's characteristic data and performs an analysis to evaluate the user's movements. The output data is feedback content as evaluation information.
[0142] Step 8: Generate and provide feedback
[0143] server
[0144] The server generates feedback for the user based on the analysis results of the practice footage. The input data is the analysis results. Specifically, it generates evaluation information such as "The movement of the right foot is delayed." This feedback is provided to the user's device in real time. The output data is the feedback sent to the user's device.
[0145] Step 9: View your feedback
[0146] Terminal
[0147] The user's device displays the feedback received from the server. The input data is the feedback information sent from the server. The feedback is displayed as a notification or a pop-up in the application. The user checks this and corrects their actions to continue practicing. The output data is the user's improved practice data.
[0148] In this way, the system of the present invention supports the improvement of the user's skills through a series of processes from the choreographer's video data to the user's practice.
[0149] (Application example 1)
[0150] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0151] In dance practice, users face a lack of appropriate teaching materials and effective feedback to accurately learn choreographers' movements. In particular, there is a need for a system that improves learning efficiency by providing real-time feedback and comparison. Furthermore, considering use in physical facilities such as fitness and dance studios, an environment is needed where users can easily receive high-quality instruction using their own devices (such as smartphones or head-mounted displays).
[0152] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0153] In this invention, the server includes means for collecting video data of choreographers, means for analyzing the collected video data to extract characteristics of the choreographer, means for generating a model video based on the extracted characteristics, means for recording a user's practice footage, means for transmitting the recorded practice footage to the server, means for analyzing the received practice footage and generating feedback for the user, means for providing the generated feedback to the user, means for displaying the feedback in real time on the user's terminal, means for including a smartphone or a head-mounted display in the user's terminal, means for downloading the choreographer's video from cloud storage, and means for evaluating the user's practice footage in real time. This allows the user to accurately learn the choreographer's movements and progress with their practice while receiving real-time feedback.
[0154] A "choreographer" is a professional who designs and teaches dance movements to others.
[0155] "Video data" is data in a file format that expresses movement by continuously playing back discrete image frames.
[0156] A "collection instrument" is a technical method or device for obtaining data for a specific purpose.
[0157] An "analyzing means" is a technical method or device for analyzing data and extracting the information contained therein.
[0158] A "feature extraction means" is a technical method or device for extracting specific patterns or important elements from data.
[0159] A "model video" is a video that demonstrates correct movements and is used as a reference for learners to imitate.
[0160] "User" refers to a general learner who uses this system.
[0161] A "recording means" is a technical method or device for recording movements as a video file.
[0162] A "server" is a high-performance computer used for processing, storing, and communicating data.
[0163] The "means for generating feedback" is a method or device for evaluating the user's actions and providing specific suggestions for improvement based on the evaluation results.
[0164] The "means for providing" is a method or device for transmitting the generated information to the user's terminal.
[0165] "Means for displaying in real time" refers to a method or device for instantly displaying the contents of data on a user's terminal immediately after the data is generated.
[0166] A "user's terminal" is a device such as a smartphone or head-mounted display that the user owns.
[0167] "Cloud storage" is a service that allows you to store and manage data over the Internet.
[0168] A "means for downloading" is a method or apparatus for obtaining data from a remote server to a local device, such as via the Internet.
[0169] An "evaluating means" is a method or device for determining the accuracy or quality of a user's actions based on collected data.
[0170] The system of the present invention collects video data from choreographers and executes a series of processes based on that data to effectively support users' dance practice.
[0171] Data collection
[0172] The server collects the choreographer's video data from cloud storage. Specifically, it downloads the choreographer's video data stored in cloud storage (e.g., AWS S3) using a URL or API and stores it in local storage.
[0173] Data analysis
[0174] The server analyzes the collected video data using an AI model, which uses deep learning models such as ResNet and OpenPose. Through this analysis, the choreographer's movements, characteristic postures, and movement patterns are extracted.
[0175] Sample video generation
[0176] The server generates a demonstration video based on the analyzed choreographer's characteristic data. A video generation tool (e.g., FFmpeg) is used to generate the demonstration video, creating an intuitive demonstration video that users can refer to when practicing.
[0177] Recording of user practice sessions
[0178] Users record their dance practice using a camera, and this recording is done using a user device such as a smartphone or a head-mounted display.
[0179] Analysis of practice sessions and provision of feedback
[0180] The device sends the recorded practice video data to a server, which then analyzes the user's practice video using an AI model and evaluates the user's movements by comparing them with the choreographer's movements. Based on this evaluation, specific feedback is generated and sent to the user's device.
[0181] View feedback and suggest improvements
[0182] The device displays the generated feedback to the user in real time, and the user can improve their own movements by referring to the feedback provided via a smartphone or head-mounted display.
[0183] Specific examples
[0184] For example, consider a scenario in which a user wears smart glasses in a dance studio to learn a new dance choreography. The choreographer's video data is downloaded from cloud storage, and the server analyzes it using an AI model. Based on the analysis results, a demonstration video is generated and sent to the user's glasses. The user then records their own practice session using a camera and sends the data to the server. The server immediately analyzes the practice video and generates detailed feedback in real time, which is displayed on the glasses.
[0185] Example prompts to input to the generative AI model
[0186] "I'm going to start recording a dance lesson. First, download the choreographer's video and analyze it. Then, record your own movements, and have the AI model evaluate that data and give you instant feedback."
[0187] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0188] Step 1:
[0189] The server collects the choreographer's video data from cloud storage. Specifically, it downloads video files from cloud storage such as AWS S3 using a specified URL or API and saves them in local storage. The input is the cloud storage URL, and the output is the locally saved video file.
[0190] Step 2:
[0191] The server analyzes the collected video data using an AI model. Specifically, it uses deep learning models such as ResNet and OpenPose to extract heat maps and key points from video frames. The input is the video file stored in local storage, and the output is feature data of the choreographer's movements.
[0192] Step 3:
[0193] The server generates a demonstration video based on the analyzed choreographer's feature data. Specifically, it uses a video generation tool such as FFmpeg to create a demonstration video that emphasizes the choreographer's movements. The input is the feature data, and the output is the demonstration video.
[0194] Step 4:
[0195] The user records their dance practice using the camera on their smartphone or head-mounted display. Specifically, they start a camera app and continuously capture the practice footage. The input is the camera footage, and the output is the recorded practice video file.
[0196] Step 5:
[0197] The device sends the recorded practice video data to the server. Specifically, the video file is uploaded to the server's API via the Internet. The input is the practice video file, and the output is the video data sent to the server.
[0198] Step 6:
[0199] The server analyzes the received practice video using an AI model. Specifically, it compares it with the choreographer's characteristic data and evaluates the user's movements. The input is the practice video and the choreographer's characteristic data, and the output is the user's movement evaluation data.
[0200] Step 7:
[0201] The server generates feedback based on the user's motion evaluation data. Specifically, it generates points for improvement in the motion and specific advice, and summarizes them as a feedback message. The input is the motion evaluation data, and the output is the feedback message.
[0202] Step 8:
[0203] The server sends the generated feedback to the user's device. Specifically, the feedback message is pushed to the user's smartphone or head-mounted display in real time. The input is the feedback message, and the output is the feedback displayed to the user.
[0204] Step 9:
[0205] The device displays the feedback to the user in real time. Specifically, a feedback message pops up on the user's device (smartphone or head-mounted display) so that the user can check it. The input is the pushed feedback message, and the output is advice on improvements and next steps that is displayed to the user.
[0206] Furthermore, an emotion engine that estimates the user's emotion may be combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion.
[0207] The system of the present invention analyzes the characteristics of the choreographer and performs a series of processes to effectively support the user's dance practice, as well as includes a function to recognize the user's emotions and adjust feedback. The following elements are important in implementing this system:
[0208] Data collection
[0209] server
[0210] The choreographer's video data is collected from cloud storage, downloaded using a specified URL or API, and converted into a format that can be analyzed by the AI model.
[0211] Data analysis
[0212] server
[0213] The collected video data is analyzed using an AI model, which extracts the choreographer's characteristics and movement patterns and stores this information in a database.
[0214] Sample video generation
[0215] server
[0216] Based on the analyzed choreographer's characteristic data, a demonstration video is generated, which includes an intuitive demonstration video that reflects the choreographer's intentions and can be used as a reference for users when practicing.
[0217] Recording of user practice sessions
[0218] Terminal
[0219] Users record their dance practice using a camera. This recording data includes the user's facial expressions and voice, and the emotion engine recognizes emotions from this information.
[0220] Emotional Data Analysis
[0221] server
[0222] The system analyzes the user's practice video and simultaneously analyzes the user's emotional data. It evaluates the user's performance by comparing it with the choreographer's characteristics and model videos.
[0223] Feedback generation and provision
[0224] server
[0225] The feedback content is adjusted based on the user's emotional data. For example, if the user is having difficulty, the difficulty level may be lowered or an encouraging message may be displayed.
[0226] server
[0227] The generated feedback is sent to the user's device, and includes suggestions for improving the behavior and specific advice.
[0228] View feedback and suggest improvements
[0229] Terminal
[0230] It provides real-time feedback to the user, allowing them to continue practicing and improve their movements based on the feedback and emotion-based advice provided.
[0231] Specific examples
[0232] For example, if a dancer wants to learn a new choreography and collect practice videos, the server first downloads the choreographer's demonstration video from cloud storage. The server then converts the video data into a format that the AI model can analyze and extracts the choreographer's characteristics. Based on this information, a demonstration video is generated, and the user can use it as a reference for practicing.
[0233] Users record their dance practice and send the video data to the server. This video data includes facial expressions and voice, and the emotion engine analyzes the user's emotions. The server analyzes the received practice video and emotion data and generates feedback. The feedback includes areas for improvement and specific advice, as well as encouragement and advice based on the user's emotions. The feedback is sent to the device, where the user receives it in real time and can use it to improve their next practice.
[0234] As described above, the system of the present invention not only provides real-time feedback that incorporates the choreographer's intentions and characteristics, but also analyzes the user's emotions and adjusts the feedback, thereby increasing motivation for practice and providing effective practice support.
[0235] The processing flow will be explained below.
[0236] Step 1:
[0237] The server collects the choreographer's video data from cloud storage, downloads it using a specified URL or API, and converts it into a format that the AI model can analyze.
[0238] Step 2:
[0239] The server analyzes the collected video data using an AI model, extracting the choreographer's characteristics and movement patterns, and stores this information in a database.
[0240] Step 3:
[0241] The server generates a demonstration video based on the analyzed choreographer's characteristic data. This video includes an intuitive demonstration video that reflects the choreographer's intentions, and can be used as a reference for users during practice.
[0242] Step 4:
[0243] Users record their dance practice using a camera. This recording data includes the user's facial expressions and voice, and the emotion engine recognizes emotions from this information.
[0244] Step 5:
[0245] The device sends the recorded practice footage and emotional data to the server, where the data is appropriately compressed and transmitted to the server without delay.
[0246] Step 6:
[0247] The server analyzes the user's practice video and evaluates the user's performance by comparing it with the choreographer's characteristics and model videos, while also analyzing emotional data to understand the user's emotional state.
[0248] Step 7:
[0249] The server adjusts the feedback based on the user's emotional data. For example, if the user is having difficulty, it may lower the difficulty level or display an encouraging message.
[0250] Step 8:
[0251] The server sends the generated feedback to the user's device, which includes not only suggestions for improving behavior and specific advice, but also encouragement and advice based on the user's emotions.
[0252] Step 9:
[0253] The device provides real-time feedback to the user, allowing them to continue practicing and improve their movements.
[0254] Step 10:
[0255] The user can then use the system again during their next practice session, receiving continuous feedback and improving their dance technique. This cyclical process makes their dance practice more effective and motivating.
[0256] In this way, the system of the present invention not only analyzes the choreographer's characteristics and generates model videos, but also provides feedback that takes the user's emotions into consideration, thereby providing comprehensive support for the user's practice.
[0257] Example 2
[0258] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0259] Conventional dance practice support systems provide uniform feedback to users, making it difficult to provide appropriate feedback based on each user's emotions and practice situation. Furthermore, they do not adequately generate demonstration videos that reflect the choreographer's characteristics, nor do they compare and evaluate the videos with the user's own practice footage, making it difficult to improve the effectiveness of practice.
[0260] The identification process by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for collecting video data of choreographers, means for analyzing the collected video data and extracting characteristics of the choreographers, means for generating a model video based on the extracted characteristics, means for recording practice videos of users, means for transmitting the recorded practice videos to the server, means for analyzing the received practice videos and generating feedback based on the analysis results including the user's emotional data, and means for providing the generated feedback to the user. This makes it possible to provide appropriate feedback according to the situation of each individual user, thereby further improving the effectiveness of practice.
[0261] "Choreographer video data" refers to video data of a choreographer actually performing a dance.
[0262] "Means of collection" refers to the means of obtaining data from cloud storage using a specified URL or API.
[0263] "Means of analyzing and extracting the choreographer's characteristics" refers to means of using AI models and machine learning algorithms to identify and extract characteristics such as the choreographer's movement patterns and posture data.
[0264] The "means for generating a model video" is a means for generating a demonstration video for the user to follow based on the extracted characteristics of the choreographer.
[0265] The "means for recording the user's practice" refers to a means for the user to record the user's practice in video format using their own smartphone or webcam.
[0266] "Means for transmitting recorded practice footage to a server" refers to means for uploading video data from a user's device to cloud storage or a database.
[0267] The "means for analyzing the received practice footage" is a means by which the server analyzes the user's practice footage video and extracts movement patterns and emotional data.
[0268] The "means for generating feedback based on analysis results including user emotional data" refers to a means for creating appropriate advice or encouraging messages by combining emotional data extracted from the user's facial expressions and voice analysis with the results of behavioral evaluation.
[0269] The "means for providing the generated feedback to the user" refers to a means for displaying the generated feedback information on the user's terminal in real time or at any timing.
[0270] The present invention is a system that analyzes the characteristics of a choreographer, recognizes the user's emotions, and adjusts feedback to effectively support the user's dance practice. To implement this system, the following elements are important:
[0271] Data collection
[0272] server
[0273] The server collects the choreographer's video data from cloud storage (e.g., AWS S3, Google Cloud Storage). It downloads the video data using a specified URL or API. It then converts the video data into a format that the AI model can analyze (e.g., from MP4 to JPEG images for each frame). This conversion process uses libraries such as FFmpeg.
[0274] Data analysis
[0275] server
[0276] The server analyzes the collected video data using a pose estimation model (e.g., OpenPose, MediaPipe), extracts the choreographer's characteristics and movement patterns, and stores this information in a NoSQL database (e.g., MongoDB, Firebase Firestore).
[0277] Sample video generation
[0278] server
[0279] The server generates a demonstration video based on the analyzed choreographer's characteristic data. This generation uses a generative AI model (e.g., DeepMotion, Reallusion Animator) to create an intuitive demonstration video that reflects the choreographer's intentions.
[0280] Recording of user practice sessions
[0281] Terminal
[0282] Users record their dance practice using a smartphone or webcam. The recorded data includes the user's facial expressions and voice, which can be analyzed using an emotion engine (e.g., Affectiva, IBM Watson Tone Analyzer).
[0283] Emotional Data Analysis
[0284] server
[0285] The server analyzes the received user's practice video and simultaneously analyzes the user's emotional data. This includes analyzing facial and vocal data using an emotion engine. It also compares the choreographer's characteristic data with the user's movements to evaluate their performance.
[0286] Feedback generation and provision
[0287] server
[0288] The server adjusts the feedback content based on the user's emotional data. For example, if the user is experiencing difficulty, it uses a generative AI model (e.g., GPT-3 or GPT-4) to adjust the difficulty level or generate an encouraging message. The generated feedback is then sent to the user's device, and includes suggestions for improving their behavior and specific advice.
[0289] View feedback and suggest improvements
[0290] Terminal
[0291] The user's device has the ability to display real-time feedback, allowing the user to improve their movements and continue practicing based on the feedback and emotional advice displayed.
[0292] Specific examples
[0293] For example, when a dancer collects practice videos to learn a new choreography, the server first downloads the choreographer's demonstration video from cloud storage. Then, it extracts the choreographer's features using a pose estimation model (e.g., OpenPose). Based on this information, a demonstration video is generated by a generative AI model (e.g., DeepMotion), and the user can use it as a reference for practicing.
[0294] Users record their dance practice and send the video data to a server. The recorded video also includes the user's facial expressions and voice, and an emotion engine (e.g., Affectiva) analyzes the user's emotions. The server analyzes the practice video and emotion data and generates appropriate feedback using a generative AI model (e.g., GPT-3). The feedback includes points for improvement, specific advice, and encouraging messages tailored to the user's emotional state, and is displayed in real time on the user's device.
[0295] Prompt Sentence Examples
[0296] "Based on the movement and emotion data extracted from the dancer's practice videos, please create specific advice on how to improve the movement and how to practice. If the user is having difficulty, please also add an encouraging message."
[0297] As described above, the system of the present invention can maximize the effectiveness of the user's practice and increase their motivation by providing feedback in real time that incorporates the choreographer's intentions and characteristics.
[0298] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0299] Step 1:
[0300] server
[0301] Collect the choreographer's video data. The server downloads the video data from cloud storage using the specified URL or API (e.g., AWS S3 API).
[0302] Input: Choreographer video data URL or API key.
[0303] Data processing: Make an API call to obtain video data.
[0304] Output: Video data in MP4 format saved to local storage.
[0305] Specific behavior:
[0306] The server uses the AWS SDK to retrieve the choreographer's video from the S3 bucket.
[0307] The acquired video is saved in a specified folder on the server.
[0308] Step 2:
[0309] server
[0310] Analyze the video data to extract the choreographer's features. The server analyzes the video data using a pose estimation model (e.g., OpenPose) to extract pose data.
[0311] Input: MP4 video data stored in local storage.
[0312] Data processing: Videos were converted into frame-by-frame JPEG images using FFmpeg and analyzed with OpenPose.
[0313] Output: A JSON file containing the choreographer's feature data (e.g., joint position data).
[0314] Specific behavior:
[0315] Split the video into image frames using FFmpeg.
[0316] OpenPose is used to obtain pose data for each frame.
[0317] The acquired posture data is saved in JSON format.
[0318] Step 3:
[0319] server
[0320] Based on the extracted features, a demonstration video is generated. A generative AI model (e.g., DeepMotion) is used to create a demonstration video that reflects the choreographer's intentions.
[0321] Input: A JSON file containing choreographer feature data.
[0322] Data processing: Input feature data into a generative AI model to generate video data.
[0323] Output: MP4 file as example video.
[0324] Specific behavior:
[0325] The choreographer's characteristic data is input into DeepMotion to generate a demonstration video.
[0326] The generated example video is saved on the server.
[0327] Step 4:
[0328] User
[0329] Users record their own dance practice sessions in video format using their smartphones or webcams.
[0330] Input: Real-time video data recorded by the camera.
[0331] Data processing: Include the user's facial expressions and voice information in the recorded data.
[0332] Output: MP4 video of the recorded practice session.
[0333] Specific behavior:
[0334] Use your smartphone or webcam to record your practice sessions.
[0335] Stop recording and save the video data.
[0336] Step 5:
[0337] Terminal
[0338] The recorded practice video is sent to the server, and the device uploads the video data to cloud storage or a database.
[0339] Input: MP4 video of recorded practice session.
[0340] Data processing: Upload video data to cloud storage.
[0341] Output: Video data of the user's practice sessions stored on the server.
[0342] Specific behavior:
[0343] Upload the recorded video data to cloud storage.
[0344] The server confirms receipt.
[0345] Step 6:
[0346] server
[0347] The received practice video is analyzed and an analysis result including the user's emotional data is generated. The server uses an emotion engine (e.g., Affectiva) to analyze facial expressions and voice.
[0348] Input: Video data of the user's practice sessions stored on the server.
[0349] Data processing: Analyze videos and extract movement patterns and emotional data.
[0350] Output: A JSON file containing the user's behavior evaluation results and emotion data.
[0351] Specific behavior:
[0352] Video data is input into Affectiva to analyze facial expressions and voice.
[0353] The choreographer's characteristic data is compared with the user's movements to evaluate the movements.
[0354] Step 7:
[0355] server
[0356] Generate feedback based on the analysis results, using a generative AI model (e.g., GPT-3) to generate behavioral improvement advice and encouraging messages.
[0357] Input: A JSON file containing user behavior evaluation results and emotion data.
[0358] Data processing: The analysis results are input into a generative AI model to generate feedback messages.
[0359] Output: Text data containing the feedback message.
[0360] Specific behavior:
[0361] The emotion data and behavior evaluation results are input into GPT-3.
[0362] Generate feedback messages using GPT-3.
[0363] Step 8:
[0364] server
[0365] The generated feedback is sent to the user's terminal. The server sends the feedback information to the user's terminal in real time or at any time.
[0366] Input: Text data containing the feedback message.
[0367] Data processing: Send feedback data to the user's device.
[0368] Output: Feedback message displayed on the user's terminal.
[0369] Specific behavior:
[0370] The generated feedback is sent to the user's device via a REST API.
[0371] The user terminal sends an acknowledgement.
[0372] Step 9:
[0373] Terminal
[0374] The device provides real-time feedback, and users can use the feedback and emotion-based advice provided to improve their practice next time.
[0375] Input: The received feedback message.
[0376] Data processing: Display feedback messages in the user interface.
[0377] Output: Feedback information that is displayed to the user.
[0378] Specific behavior:
[0379] Display a feedback message on the screen.
[0380] The user reviews the feedback and reflects it in the next practice session.
[0381] The above are the specific processing steps of the program of this system.
[0382] (Application example 2)
[0383] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0384] Previously, systems designed to effectively support dance practice simply provided video data from choreographers, without taking into account the user's emotions or motivation, resulting in insufficient practice effectiveness. Another issue was that feedback to users was uniform, making it difficult to provide appropriate advice tailored to each individual user's condition. These issues made it easy for users to give up during practice, making it difficult to continue practicing.
[0385] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0386] In this invention, the server includes means for collecting video data of choreographers, means for analyzing the collected video data to extract characteristics of the choreographers, means for generating model videos based on the extracted characteristics, means for recording users' practice videos, means for transmitting the recorded practice videos to the server, means for analyzing the received practice videos and generating feedback for the users, means for providing the generated feedback to the users, means for analyzing user emotion data, and means for adjusting the feedback based on the user emotion data. This makes it possible to provide individual feedback according to the user's emotions and state, thereby increasing motivation for practice and achieving effective practice.
[0387] "Choreographer video data" refers to video data of the movements or performances of professional dancers or choreographers.
[0388] "Extracting features" means analyzing specific movement patterns, styles, rhythms, etc. from the choreographer's video data and extracting them as data.
[0389] A "model video" is a demonstration video generated based on the characteristics of a choreographer, allowing users to learn and imitate.
[0390] "User's practice footage" is video data of the user performing their own dance performance.
[0391] "Emotional data" is information that indicates the user's emotional state, analyzed from the user's facial expressions, voice, movements, etc.
[0392] "Feedback" is information that evaluates the user's practice performance and provides advice such as areas for improvement and encouragement.
[0393] A "server" is a computer system that collects and analyzes data, and generates and provides feedback.
[0394] "Device" refers to a device (smartphone, tablet, camera, etc.) that a user uses to record their practice session.
[0395] "Analyzing" means processing collected data using a computer system to extract useful information.
[0396] "Adjusting" means adapting the content and method of feedback according to the user's current situation and emotional state.
[0397] "Providing in real time" means providing instant feedback information while the user is dancing or practicing.
[0398] The system of the present invention effectively supports dance practice and increases the user's motivation. This system analyzes video data from choreographers and generates model videos that users can use as reference when practicing. It also includes a function that records the user's practice and sends the data to a server to evaluate the user's performance and provide feedback. Furthermore, by analyzing the user's emotional data and adjusting the feedback content, it is possible to provide appropriate support tailored to each individual user.
[0399] The server contains the following elements:
[0400] 1. A means of collecting video data from choreographers
[0401] 2. A method for analyzing collected video data and extracting the characteristics of choreographers
[0402] 3. A method for generating example videos based on extracted features
[0403] 4. A means of recording the user's practice and a means of sending the recorded data to the server
[0404] 5. A method for analyzing received practice footage and generating feedback for users
[0405] 6. Means of analyzing user emotion data
[0406] 7. A way to tailor feedback based on user emotional data
[0407] 8. A means of providing generated feedback to the user
[0408] Hardware and software used
[0409] Hardware:
[0410] Camera: A device used to record a user's dance practice.
[0411] Devices (smartphones, tablets, cameras, etc.): Used by users to record their practice sessions and send the data to the server.
[0412] software:
[0413] EmotionRecognizer: Software that analyzes emotional data from user facial expressions, etc.
[0414] DanceAnalyzer: Software for analyzing users' dance performances.
[0415] FeedbackGenerator: Software for evaluating user performance and generating feedback.
[0416] AI Model (ai_model): An artificial intelligence model that analyzes choreographer video data and extracts features.
[0417] Specific examples
[0418] For example, when a dancer is learning a new choreography in a dance class, the instructor projects a video of the choreographer demonstrating the technique onto a display. The user dances while watching the video, and a camera records the movement. The user's movements and emotions are analyzed, and feedback such as "Your jumps are unstable, so try bending your knees a bit more. You look like you're having a lot of fun dancing, so keep it up!" is displayed in real time. In this way, feedback based on the user's emotions and performance is provided, increasing motivation to practice.
[0419] Prompt Sentence Examples
[0420] "In an interactive dance lesson application, implement a system that analyzes the choreographer's video data and supports the user's dance practice. Analyze the user's emotional data and provide movement improvements and specific advice in real time. If the user is experiencing difficulty, display an encouraging message."
[0421] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0422] Step 1:
[0423] A user requests a video from a choreographer.
[0424] Input: Choreographer's video URL or ID.
[0425] Output: Choreographer video data.
[0426] The server downloads the choreographer's video data from cloud storage using the specified URL or ID, and converts this data into a format that the AI model can analyze.
[0427] Step 2:
[0428] The server analyzes the choreographer's video data and extracts features.
[0429] Input: Choreographer video data.
[0430] Output: Choreographer feature data.
[0431] The server inputs the downloaded video data into an AI model (for example, a dance motion analysis model) to extract the choreographer's characteristics and movement patterns. The analysis results are then stored in a database.
[0432] Step 3:
[0433] The server generates a demonstration video based on the choreographer's characteristic data.
[0434] Input: Choreographer feature data.
[0435] Output: Example video.
[0436] The server generates a demonstration video based on the analyzed feature data. This demonstration video is a demonstration video that reflects the choreographer's intentions and features.
[0437] Step 4:
[0438] The user records the practice session.
[0439] Input: A user practicing.
[0440] Output: User's practice video data.
[0441] The user records their dance practice using a device (smartphone or camera), and the video also includes the user's facial expressions and voice.
[0442] Step 5:
[0443] The server receives the user's practice video data.
[0444] Input: User's practice video data.
[0445] Output: None.
[0446] The user's recorded practice video data is transmitted from the terminal to the server.
[0447] Step 6:
[0448] The server analyzes the user's practice video data and emotional data.
[0449] Input: User's practice video data.
[0450] Output: Parsed performance and sentiment data.
[0451] The server inputs the practice video data into EmotionRecognizer and DanceAnalyzer, and analyzes the user's emotional data and performance data.
[0452] Step 7:
[0453] The server generates feedback based on the analysis data.
[0454] Input: Analyzed performance data, emotion data, and choreographer feature data.
[0455] Output: Feedback message.
[0456] The server uses a Feedback Generator to analyze the user's performance and emotional data and generate appropriate feedback messages.
[0457] Step 8:
[0458] The server provides the generated feedback to the user.
[0459] Input: Feedback message.
[0460] Output: Feedback messages that are displayed on the user's terminal.
[0461] The server sends the generated feedback message to the user's device and displays it in real time, allowing the user to improve their practice based on it.
[0462] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0463] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0464] In the above embodiment, an example in which the specific process is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific process may be performed by the smart device 14.
[0465] [Second embodiment]
[0466] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0467] 3, the data processing system 210 includes the data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0468] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0469] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, and the camera 42 are also connected to the bus 52.
[0470] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0471] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0472] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0473] Fig. 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Fig. 4, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0474] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0475] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0476] In the smart glasses 214, the reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0477] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal."
[0478] The system of the present invention collects video data from choreographers and performs a series of processes to effectively support users' dance practice. The following elements are important for implementing this system:
[0479] Data collection
[0480] server
[0481] The choreographer's video data is collected from cloud storage, downloaded using a specified URL or API, and converted into a format that can be analyzed by the AI model.
[0482] Data analysis
[0483] server
[0484] The collected video data is analyzed using an AI model, which extracts the choreographer's characteristics and movement patterns, and stores and organizes this information in a database.
[0485] Sample video generation
[0486] server
[0487] Based on the analyzed choreographer's characteristic data, a demonstration video is generated, which includes intuitive demonstration footage that reflects the choreographer's intentions and can be used as a reference for users when practicing.
[0488] Recording of user practice sessions
[0489] Terminal
[0490] Users record their own dance practice using a camera, and the recorded video data is sent from the device to the server.
[0491] Analysis of practice sessions and provision of feedback
[0492] server
[0493] The system analyzes the user's practice video and evaluates it by comparing it with the choreographer's characteristics and model videos. Based on this, it generates feedback for the user.
[0494] server
[0495] The generated feedback is sent to the user's device and can be viewed in real time, including suggestions for improving behavior and specific advice.
[0496] View feedback and suggest improvements
[0497] Terminal
[0498] Feedback is displayed to the user in real time, allowing the user to continue practicing and improve their movements based on the feedback provided.
[0499] Specific examples
[0500] For example, if a dancer wants to learn a new choreography and collect practice videos, the server first downloads the choreographer's demonstration video from cloud storage. The server then converts the video data into a format that the AI model can analyze and extracts the choreographer's characteristics. Based on this information, a demonstration video is generated, and the user can use it as a reference for practicing.
[0501] Users record their own dance practice and send the video data to the server. The server analyzes the received practice video, evaluates it by comparing it with the choreographer's characteristics, and generates appropriate feedback. This feedback is then sent back to the device, where the user receives real-time feedback and uses it as a reference for improvement. By repeating this process, the user's dance skills will gradually improve.
[0502] As described above, the system of the present invention effectively supports the user's dance practice by providing real-time feedback that incorporates the choreographer's intentions and characteristics.
[0503] The processing flow will be explained below.
[0504] Step 1:
[0505] The server collects the choreographer's video data from cloud storage, downloads it using a specified URL or API, and converts it into a format that the AI model can analyze.
[0506] Step 2:
[0507] The server analyzes the collected video data using an AI model, extracting the choreographer's characteristics and movement patterns, and stores this information in a database.
[0508] Step 3:
[0509] The server generates a demonstration video based on the analyzed choreographer's characteristic data. This video includes an intuitive demonstration video that reflects the choreographer's intentions, and can be used as a reference for users during practice.
[0510] Step 4:
[0511] The user uses a camera to record their own dance practice, and the recorded video data is sent from the user's device to the server.
[0512] Step 5:
[0513] The server analyzes the user's practice video, compares it with the choreographer's characteristics and model videos, evaluates the user's performance, and generates feedback based on the analysis results.
[0514] Step 6:
[0515] The server then sends the generated feedback to the user's device, which includes suggestions for improving the user's behavior and specific advice.
[0516] Step 7:
[0517] The device provides real-time feedback to the user, who can then continue practicing and improve their movements based on this feedback.
[0518] In this way, a system is constructed in which the server, terminals, and users cooperate to effectively support dance practice.
[0519] Example 1
[0520] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0521] Conventional dance practice support systems have difficulty accurately analyzing choreographers' intentions and movement patterns and providing effective feedback to users on their practice in real time. Furthermore, the process of users reviewing their own practice videos and comparing them with the choreographer's movements to improve themselves is cumbersome, resulting in reduced learning efficiency.
[0522] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0523] In this invention, the server includes means for acquiring video data of the choreographer, means for analyzing the acquired video data and extracting the choreographer's movement patterns, means for generating a reference video based on the extracted movement patterns, means for recording the user's practice footage, means for transferring the recorded practice footage to the server, means for analyzing the transferred practice footage and generating evaluation information for the user, and means for delivering the generated evaluation information to the user. This enables practice support based on the choreographer's video data and real-time evaluation feedback.
[0524] A "choreographer" is a professional dance choreographer who designs and directs the movements and steps of a particular dance performance.
[0525] "Video data" is digital data containing video and audio information, stored in a format that can be played on a computer or digital device.
[0526] A "movement pattern" is a profile of a series of movements that indicates the continuity and characteristics of a particular movement or action, and serves as an index for analyzing the characteristics of a choreographer.
[0527] A "reference video" is a video generated based on a choreographer's movement patterns, and is intended for the user to use as a reference when practicing.
[0528] "Practice scenes" are video data showing a user practicing dance, and are used to record and analyze the user's movements.
[0529] A "server" is a computer system that stores, processes, and distributes data, and is responsible for analyzing users' practice sessions and providing feedback.
[0530] "Evaluation information" is feedback data generated by analyzing the user's practice footage, and includes information on areas for improvement and advice for the user's movements.
[0531] "Distribution" refers to the act of providing information or data to specific recipients via a network, and in this case refers to sending evaluation information to the user's terminal.
[0532] "Recording" refers to the act of recording video using a camera or digital device, which is done by a user to save footage of their own practice.
[0533] "Transfer" refers to the act of moving or sending data from one place to another, and in this case refers to sending the user's practice footage to a server.
[0534] The system of the present invention collects video data from choreographers and performs a series of processes to effectively support users' dance practice. The following elements are important for implementing this system:
[0535] Data collection
[0536] server
[0537] The server retrieves the choreographer's video data from cloud storage using a specified URL or API. For example, it downloads the video data via an HTTP request. It also performs an error check on the downloaded video data to confirm that it was retrieved successfully. It then converts the collected video data into a format that the AI model can analyze. Specifically, it converts the video format and adjusts the resolution. For example, it converts MP4 format videos to 1080p resolution.
[0538] Data analysis
[0539] server
[0540] The server analyzes the collected video data using an AI model. During this analysis process, the choreographer's movement patterns and characteristics are extracted. Software such as OpenPose and MediaPipe are used. Using this software, the movements of people in the video are detected as wireframes. The analyzed feature data is stored and organized in a database. For example, the timing of the start of a movement and patterns of limb movement are saved as features.
[0541] Sample video generation
[0542] server
[0543] The server generates demonstration videos based on the choreographer's characteristic data retrieved from the database. Specifically, it adds animation to the 3D model using Unity or Blender. The generated demonstration videos include intuitive demonstration footage that reflects the choreographer's intentions. The generated videos are uploaded to cloud storage or a web portal that users can access.
[0544] Recording of user practice sessions
[0545] Terminal
[0546] Users record their dance practice sessions using a smartphone or webcam. During this recording process, users use a camera application that can record their movements with high accuracy. The recorded video data is then transferred from the device to a server. At this time, users must check the communication status to ensure that data transmission is not interrupted.
[0547] Analysis of practice sessions and provision of feedback
[0548] server
[0549] The server uses an AI model to analyze the practice video sent by the user. During this analysis process, the server compares the video with the choreographer's characteristic data and evaluates the user's movements. For example, it generates a specific evaluation such as "your right foot movement is delayed." The server also automatically generates feedback content and provides it to the user's device. The feedback includes areas for improvement in the user's movements and specific advice.
[0550] View feedback and suggest improvements
[0551] Terminal
[0552] The user's device receives feedback from the server and displays it in real time. The user can continue practicing while correcting their movements based on the feedback displayed. The feedback is displayed as notifications or pop-ups in the application.
[0553] Specific examples
[0554] For example, when a dancer uses the system to learn a new choreography, the server first retrieves the choreographer's demonstration video from cloud storage. It then converts the video into a format that AI can analyze, extracting the choreographer's movement patterns and characteristics. Based on this information, a 3D animated demonstration video is generated using Unity and uploaded to cloud storage accessible to the user. The user then records their own dance practice and sends it to the server. The server analyzes the practice video, compares it with the choreographer's data, and generates feedback such as, "Your right foot is moving too slowly." The user receives this feedback in real time and continues practicing, consciously reminding themselves to "move your right foot faster" during the next practice session. In this way, the entire system efficiently supports the user's learning.
[0555] Example prompts to input to the generative AI model
[0556] "To learn new choreography, please extract features from a choreographer's demonstration video and generate a reference video. Also, please analyze my practice video and provide specific feedback in real time."
[0557] As described above, the system of the present invention effectively supports the user's dance practice by providing real-time feedback that incorporates the choreographer's intentions and characteristics.
[0558] keyword
[0559] Generative AI model, prompt sentence
[0560] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0561] Step 1: Obtaining video data
[0562] server
[0563] The server retrieves the choreographer's video data from cloud storage. The input data is request information including the URL of the video data and the API endpoint. Specifically, the server downloads the video data from the specified URL using the HTTP protocol. It checks whether the video data was retrieved correctly and retries if there is an error. The output data is the retrieved video file, which is saved in local storage.
[0564] Step 2: Convert the data format
[0565] server
[0566] The server converts the acquired video data into a format that can be analyzed by the AI model. The input data is a video file stored in local storage. Specifically, the video format is converted to MP4 format and the resolution is adjusted to 1080p. This conversion is performed using software such as FFmpeg. The converted video data becomes the output data and is used in the analysis stage.
[0567] Step 3: Analyze the video data
[0568] server
[0569] The server uses an AI model to analyze the converted video data. The input data is a video file whose format has been converted. Specifically, the video data is input into an AI model such as OpenPose or MediaPipe, and the movement patterns of the person are analyzed. As a result of the analysis, feature data such as the timing at which the movement begins and the movement patterns of the hands and feet are extracted. The output data is the extracted feature data, which is stored in a database.
[0570] Step 4: Generate a sample video
[0571] server
[0572] The server generates a model video based on the feature data retrieved from the database. The input data is the saved feature data. Specifically, Unity or Blender is used to add animation to the 3D model and generate the model video. The generated model video is uploaded to cloud storage or a web portal so that users can access it. The output data is the model video.
[0573] Step 5: Record your practice
[0574] Terminal
[0575] Users record their own dance practice using a smartphone or webcam. The input data is the user's practice footage. A camera application capable of capturing movements with high accuracy is used for recording. The recorded video data is saved on the device. The output data is the recorded user video.
[0576] Step 6: Send video data
[0577] Terminal
[0578] The user sends recorded video data to the server. The input data is the user's recorded video. The transmission is performed using the HTTP protocol or a dedicated API. During this process, the communication status is checked and pause and retransmission functions are implemented to ensure stable data transfer. The output data is the user's video uploaded to the server.
[0579] Step 7: Analyze the practice session
[0580] server
[0581] The server uses an AI model to analyze the practice video sent by the user. The input data is the user video uploaded to the server. Specifically, it compares it with the choreographer's characteristic data and performs an analysis to evaluate the user's movements. The output data is feedback content as evaluation information.
[0582] Step 8: Generate and provide feedback
[0583] server
[0584] The server generates feedback for the user based on the analysis results of the practice footage. The input data is the analysis results. Specifically, it generates evaluation information such as "The movement of the right foot is delayed." This feedback is provided to the user's device in real time. The output data is the feedback sent to the user's device.
[0585] Step 9: View your feedback
[0586] Terminal
[0587] The user's device displays the feedback received from the server. The input data is the feedback information sent from the server. The feedback is displayed as a notification or a pop-up in the application. The user checks this and corrects their actions to continue practicing. The output data is the user's improved practice data.
[0588] In this way, the system of the present invention supports the improvement of the user's skills through a series of processes from the choreographer's video data to the user's practice.
[0589] (Application example 1)
[0590] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0591] In dance practice, users face a lack of appropriate teaching materials and effective feedback to accurately learn choreographers' movements. In particular, there is a need for a system that improves learning efficiency by providing real-time feedback and comparison. Furthermore, considering use in physical facilities such as fitness and dance studios, an environment is needed where users can easily receive high-quality instruction using their own devices (such as smartphones or head-mounted displays).
[0592] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0593] In this invention, the server includes means for collecting video data of choreographers, means for analyzing the collected video data to extract characteristics of the choreographer, means for generating a model video based on the extracted characteristics, means for recording a user's practice footage, means for transmitting the recorded practice footage to the server, means for analyzing the received practice footage and generating feedback for the user, means for providing the generated feedback to the user, means for displaying the feedback in real time on the user's terminal, means for including a smartphone or a head-mounted display in the user's terminal, means for downloading the choreographer's video from cloud storage, and means for evaluating the user's practice footage in real time. This allows the user to accurately learn the choreographer's movements and progress with their practice while receiving real-time feedback.
[0594] A "choreographer" is a professional who designs and teaches dance movements to others.
[0595] "Video data" is data in a file format that expresses movement by continuously playing back discrete image frames.
[0596] A "collection instrument" is a technical method or device for obtaining data for a specific purpose.
[0597] An "analyzing means" is a technical method or device for analyzing data and extracting the information contained therein.
[0598] A "feature extraction means" is a technical method or device for extracting specific patterns or important elements from data.
[0599] A "model video" is a video that demonstrates correct movements and is used as a reference for learners to imitate.
[0600] "User" refers to a general learner who uses this system.
[0601] A "recording means" is a technical method or device for recording movements as a video file.
[0602] A "server" is a high-performance computer used for processing, storing, and communicating data.
[0603] The "means for generating feedback" is a method or device for evaluating the user's actions and providing specific suggestions for improvement based on the evaluation results.
[0604] The "means for providing" is a method or device for transmitting the generated information to the user's terminal.
[0605] "Means for displaying in real time" refers to a method or device for instantly displaying the contents of data on a user's terminal immediately after the data is generated.
[0606] A "user's terminal" is a device such as a smartphone or head-mounted display that the user owns.
[0607] "Cloud storage" is a service that allows you to store and manage data over the Internet.
[0608] A "means for downloading" is a method or apparatus for obtaining data from a remote server to a local device, such as via the Internet.
[0609] An "evaluating means" is a method or device for determining the accuracy or quality of a user's actions based on collected data.
[0610] The system of the present invention collects video data from choreographers and executes a series of processes based on that data to effectively support users' dance practice.
[0611] Data collection
[0612] The server collects the choreographer's video data from cloud storage. Specifically, it downloads the choreographer's video data stored in cloud storage (e.g., AWS S3) using a URL or API and stores it in local storage.
[0613] Data analysis
[0614] The server analyzes the collected video data using an AI model, which uses deep learning models such as ResNet and OpenPose. Through this analysis, the choreographer's movements, characteristic postures, and movement patterns are extracted.
[0615] Sample video generation
[0616] The server generates a demonstration video based on the analyzed choreographer's characteristic data. A video generation tool (e.g., FFmpeg) is used to generate the demonstration video, creating an intuitive demonstration video that users can refer to when practicing.
[0617] Recording of user practice sessions
[0618] Users record their dance practice using a camera, and this recording is done using a user device such as a smartphone or a head-mounted display.
[0619] Analysis of practice sessions and provision of feedback
[0620] The device sends the recorded practice video data to a server, which then analyzes the user's practice video using an AI model and evaluates the user's movements by comparing them with the choreographer's movements. Based on this evaluation, specific feedback is generated and sent to the user's device.
[0621] View feedback and suggest improvements
[0622] The device displays the generated feedback to the user in real time, and the user can improve their own movements by referring to the feedback provided via a smartphone or head-mounted display.
[0623] Specific examples
[0624] For example, consider a scenario in which a user wears smart glasses in a dance studio to learn a new dance choreography. The choreographer's video data is downloaded from cloud storage, and the server analyzes it using an AI model. Based on the analysis results, a demonstration video is generated and sent to the user's glasses. The user then records their own practice session using a camera and sends the data to the server. The server immediately analyzes the practice video and generates detailed feedback in real time, which is displayed on the glasses.
[0625] Example prompts to input to the generative AI model
[0626] "I'm going to start recording a dance lesson. First, download the choreographer's video and analyze it. Then, record your own movements, and have the AI model evaluate that data and give you instant feedback."
[0627] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0628] Step 1:
[0629] The server collects the choreographer's video data from cloud storage. Specifically, it downloads video files from cloud storage such as AWS S3 using a specified URL or API and saves them in local storage. The input is the cloud storage URL, and the output is the locally saved video file.
[0630] Step 2:
[0631] The server analyzes the collected video data using an AI model. Specifically, it uses deep learning models such as ResNet and OpenPose to extract heat maps and key points from video frames. The input is the video file stored in local storage, and the output is feature data of the choreographer's movements.
[0632] Step 3:
[0633] The server generates a demonstration video based on the analyzed choreographer's feature data. Specifically, it uses a video generation tool such as FFmpeg to create a demonstration video that emphasizes the choreographer's movements. The input is the feature data, and the output is the demonstration video.
[0634] Step 4:
[0635] The user records their dance practice using the camera on their smartphone or head-mounted display. Specifically, they start a camera app and continuously capture the practice footage. The input is the camera footage, and the output is the recorded practice video file.
[0636] Step 5:
[0637] The device sends the recorded practice video data to the server. Specifically, the video file is uploaded to the server's API via the Internet. The input is the practice video file, and the output is the video data sent to the server.
[0638] Step 6:
[0639] The server analyzes the received practice video using an AI model. Specifically, it compares it with the choreographer's characteristic data and evaluates the user's movements. The input is the practice video and the choreographer's characteristic data, and the output is the user's movement evaluation data.
[0640] Step 7:
[0641] The server generates feedback based on the user's motion evaluation data. Specifically, it generates points for improvement in the motion and specific advice, and summarizes them as a feedback message. The input is the motion evaluation data, and the output is the feedback message.
[0642] Step 8:
[0643] The server sends the generated feedback to the user's device. Specifically, the feedback message is pushed to the user's smartphone or head-mounted display in real time. The input is the feedback message, and the output is the feedback displayed to the user.
[0644] Step 9:
[0645] The device displays the feedback to the user in real time. Specifically, a feedback message pops up on the user's device (smartphone or head-mounted display) so that the user can check it. The input is the pushed feedback message, and the output is advice on improvements and next steps that is displayed to the user.
[0646] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[0647] The system of the present invention analyzes the characteristics of the choreographer and performs a series of processes to effectively support the user's dance practice, as well as includes a function to recognize the user's emotions and adjust feedback. The following elements are important in implementing this system:
[0648] Data collection
[0649] server
[0650] The choreographer's video data is collected from cloud storage, downloaded using a specified URL or API, and converted into a format that can be analyzed by the AI model.
[0651] Data analysis
[0652] server
[0653] The collected video data is analyzed using an AI model, which extracts the choreographer's characteristics and movement patterns and stores this information in a database.
[0654] Sample video generation
[0655] server
[0656] Based on the analyzed choreographer's characteristic data, a demonstration video is generated, which includes an intuitive demonstration video that reflects the choreographer's intentions and can be used as a reference for users when practicing.
[0657] Recording of user practice sessions
[0658] Terminal
[0659] Users record their dance practice using a camera. This recording data includes the user's facial expressions and voice, and the emotion engine recognizes emotions from this information.
[0660] Emotional Data Analysis
[0661] server
[0662] The system analyzes the user's practice video and simultaneously analyzes the user's emotional data. It evaluates the user's performance by comparing it with the choreographer's characteristics and model videos.
[0663] Feedback generation and provision
[0664] server
[0665] The feedback content is adjusted based on the user's emotional data. For example, if the user is having difficulty, the difficulty level may be lowered or an encouraging message may be displayed.
[0666] server
[0667] The generated feedback is sent to the user's device, and includes suggestions for improving the behavior and specific advice.
[0668] View feedback and suggest improvements
[0669] Terminal
[0670] It provides real-time feedback to the user, allowing them to continue practicing and improve their movements based on the feedback and emotion-based advice provided.
[0671] Specific examples
[0672] For example, if a dancer wants to learn a new choreography and collect practice videos, the server first downloads the choreographer's demonstration video from cloud storage. The server then converts the video data into a format that the AI model can analyze and extracts the choreographer's characteristics. Based on this information, a demonstration video is generated, and the user can use it as a reference for practicing.
[0673] Users record their dance practice and send the video data to the server. This video data includes facial expressions and voice, and the emotion engine analyzes the user's emotions. The server analyzes the received practice video and emotion data and generates feedback. The feedback includes areas for improvement and specific advice, as well as encouragement and advice based on the user's emotions. The feedback is sent to the device, where the user receives it in real time and can use it to improve their next practice.
[0674] As described above, the system of the present invention not only provides real-time feedback that incorporates the choreographer's intentions and characteristics, but also analyzes the user's emotions and adjusts the feedback, thereby increasing motivation for practice and providing effective practice support.
[0675] The processing flow will be explained below.
[0676] Step 1:
[0677] The server collects the choreographer's video data from cloud storage, downloads it using a specified URL or API, and converts it into a format that the AI model can analyze.
[0678] Step 2:
[0679] The server analyzes the collected video data using an AI model, extracting the choreographer's characteristics and movement patterns, and stores this information in a database.
[0680] Step 3:
[0681] The server generates a demonstration video based on the analyzed choreographer's characteristic data. This video includes an intuitive demonstration video that reflects the choreographer's intentions, and can be used as a reference for users during practice.
[0682] Step 4:
[0683] Users record their dance practice using a camera. This recording data includes the user's facial expressions and voice, and the emotion engine recognizes emotions from this information.
[0684] Step 5:
[0685] The device sends the recorded practice footage and emotional data to the server, where the data is appropriately compressed and transmitted to the server without delay.
[0686] Step 6:
[0687] The server analyzes the user's practice video and evaluates the user's performance by comparing it with the choreographer's characteristics and model videos, while also analyzing emotional data to understand the user's emotional state.
[0688] Step 7:
[0689] The server adjusts the feedback based on the user's emotional data. For example, if the user is having difficulty, it may lower the difficulty level or display an encouraging message.
[0690] Step 8:
[0691] The server sends the generated feedback to the user's device, which includes not only suggestions for improving behavior and specific advice, but also encouragement and advice based on the user's emotions.
[0692] Step 9:
[0693] The device provides real-time feedback to the user, allowing them to continue practicing and improve their movements.
[0694] Step 10:
[0695] The user can then use the system again during their next practice session, receiving continuous feedback and improving their dance technique. This cyclical process makes their dance practice more effective and motivating.
[0696] In this way, the system of the present invention not only analyzes the choreographer's characteristics and generates model videos, but also provides feedback that takes the user's emotions into consideration, thereby providing comprehensive support for the user's practice.
[0697] Example 2
[0698] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0699] Conventional dance practice support systems provide uniform feedback to users, making it difficult to provide appropriate feedback based on each user's emotions and practice situation. Furthermore, they do not adequately generate demonstration videos that reflect the choreographer's characteristics, nor do they compare and evaluate the videos with the user's own practice footage, making it difficult to improve the effectiveness of practice.
[0700] The identification process by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for collecting video data of choreographers, means for analyzing the collected video data and extracting characteristics of the choreographers, means for generating a model video based on the extracted characteristics, means for recording practice videos of users, means for transmitting the recorded practice videos to the server, means for analyzing the received practice videos and generating feedback based on the analysis results including the user's emotional data, and means for providing the generated feedback to the user. This makes it possible to provide appropriate feedback according to the situation of each individual user, thereby further improving the effectiveness of practice.
[0701] "Choreographer video data" refers to video data of a choreographer actually performing a dance.
[0702] "Means of collection" refers to the means of obtaining data from cloud storage using a specified URL or API.
[0703] "Means of analyzing and extracting the choreographer's characteristics" refers to means of using AI models and machine learning algorithms to identify and extract characteristics such as the choreographer's movement patterns and posture data.
[0704] The "means for generating a model video" is a means for generating a demonstration video for the user to follow based on the extracted characteristics of the choreographer.
[0705] The "means for recording the user's practice" refers to a means for the user to record the user's practice in video format using their own smartphone or webcam.
[0706] "Means for transmitting recorded practice footage to a server" refers to means for uploading video data from a user's device to cloud storage or a database.
[0707] The "means for analyzing the received practice footage" is a means by which the server analyzes the user's practice footage video and extracts movement patterns and emotional data.
[0708] The "means for generating feedback based on analysis results including user emotional data" refers to a means for creating appropriate advice or encouraging messages by combining emotional data extracted from the user's facial expressions and voice analysis with the results of behavioral evaluation.
[0709] The "means for providing the generated feedback to the user" refers to a means for displaying the generated feedback information on the user's terminal in real time or at any timing.
[0710] The present invention is a system that analyzes the characteristics of a choreographer, recognizes the user's emotions, and adjusts feedback to effectively support the user's dance practice. To implement this system, the following elements are important:
[0711] Data collection
[0712] server
[0713] The server collects the choreographer's video data from cloud storage (e.g., AWS S3, Google Cloud Storage). It downloads the video data using a specified URL or API. It then converts the video data into a format that the AI model can analyze (e.g., from MP4 to JPEG images for each frame). This conversion process uses libraries such as FFmpeg.
[0714] Data analysis
[0715] server
[0716] The server analyzes the collected video data using a pose estimation model (e.g., OpenPose, MediaPipe), extracts the choreographer's characteristics and movement patterns, and stores this information in a NoSQL database (e.g., MongoDB, Firebase Firestore).
[0717] Sample video generation
[0718] server
[0719] The server generates a demonstration video based on the analyzed choreographer's characteristic data. This generation uses a generative AI model (e.g., DeepMotion, Reallusion Animator) to create an intuitive demonstration video that reflects the choreographer's intentions.
[0720] Recording of user practice sessions
[0721] Terminal
[0722] Users record their dance practice using a smartphone or webcam. The recorded data includes the user's facial expressions and voice, which can be analyzed using an emotion engine (e.g., Affectiva, IBM Watson Tone Analyzer).
[0723] Emotional Data Analysis
[0724] server
[0725] The server analyzes the received user's practice video and simultaneously analyzes the user's emotional data. This includes analyzing facial and vocal data using an emotion engine. It also compares the choreographer's characteristic data with the user's movements to evaluate their performance.
[0726] Feedback generation and provision
[0727] server
[0728] The server adjusts the feedback content based on the user's emotional data. For example, if the user is experiencing difficulty, it uses a generative AI model (e.g., GPT-3 or GPT-4) to adjust the difficulty level or generate an encouraging message. The generated feedback is then sent to the user's device, and includes suggestions for improving their behavior and specific advice.
[0729] View feedback and suggest improvements
[0730] Terminal
[0731] The user's device has the ability to display real-time feedback, allowing the user to improve their movements and continue practicing based on the feedback and emotional advice displayed.
[0732] Specific examples
[0733] For example, when a dancer collects practice videos to learn a new choreography, the server first downloads the choreographer's demonstration video from cloud storage. Then, it extracts the choreographer's features using a pose estimation model (e.g., OpenPose). Based on this information, a demonstration video is generated by a generative AI model (e.g., DeepMotion), and the user can use it as a reference for practicing.
[0734] Users record their dance practice and send the video data to a server. The recorded video also includes the user's facial expressions and voice, and an emotion engine (e.g., Affectiva) analyzes the user's emotions. The server analyzes the practice video and emotion data and generates appropriate feedback using a generative AI model (e.g., GPT-3). The feedback includes points for improvement, specific advice, and encouraging messages tailored to the user's emotional state, and is displayed in real time on the user's device.
[0735] Prompt Sentence Examples
[0736] "Based on the movement and emotion data extracted from the dancer's practice videos, please create specific advice on how to improve the movement and how to practice. If the user is having difficulty, please also add an encouraging message."
[0737] As described above, the system of the present invention can maximize the effectiveness of the user's practice and increase their motivation by providing feedback in real time that incorporates the choreographer's intentions and characteristics.
[0738] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0739] Step 1:
[0740] server
[0741] Collect the choreographer's video data. The server downloads the video data from cloud storage using the specified URL or API (e.g., AWS S3 API).
[0742] Input: Choreographer video data URL or API key.
[0743] Data processing: Make an API call to obtain video data.
[0744] Output: Video data in MP4 format saved to local storage.
[0745] Specific behavior:
[0746] The server uses the AWS SDK to retrieve the choreographer's video from the S3 bucket.
[0747] The acquired video is saved in a specified folder on the server.
[0748] Step 2:
[0749] server
[0750] Analyze the video data to extract the choreographer's features. The server analyzes the video data using a pose estimation model (e.g., OpenPose) to extract pose data.
[0751] Input: MP4 video data stored in local storage.
[0752] Data processing: Videos were converted into frame-by-frame JPEG images using FFmpeg and analyzed with OpenPose.
[0753] Output: A JSON file containing the choreographer's feature data (e.g., joint position data).
[0754] Specific behavior:
[0755] Split the video into image frames using FFmpeg.
[0756] OpenPose is used to obtain pose data for each frame.
[0757] The acquired posture data is saved in JSON format.
[0758] Step 3:
[0759] server
[0760] Based on the extracted features, a demonstration video is generated. A generative AI model (e.g., DeepMotion) is used to create a demonstration video that reflects the choreographer's intentions.
[0761] Input: A JSON file containing choreographer feature data.
[0762] Data processing: Input feature data into a generative AI model to generate video data.
[0763] Output: MP4 file as example video.
[0764] Specific behavior:
[0765] The choreographer's characteristic data is input into DeepMotion to generate a demonstration video.
[0766] The generated example video is saved on the server.
[0767] Step 4:
[0768] User
[0769] Users record their own dance practice sessions in video format using their smartphones or webcams.
[0770] Input: Real-time video data recorded by the camera.
[0771] Data processing: Include the user's facial expressions and voice information in the recorded data.
[0772] Output: MP4 video of the recorded practice session.
[0773] Specific behavior:
[0774] Use your smartphone or webcam to record your practice sessions.
[0775] Stop recording and save the video data.
[0776] Step 5:
[0777] Terminal
[0778] The recorded practice video is sent to the server, and the device uploads the video data to cloud storage or a database.
[0779] Input: MP4 video of recorded practice session.
[0780] Data processing: Upload video data to cloud storage.
[0781] Output: Video data of the user's practice sessions stored on the server.
[0782] Specific behavior:
[0783] Upload the recorded video data to cloud storage.
[0784] The server confirms receipt.
[0785] Step 6:
[0786] server
[0787] The received practice video is analyzed and an analysis result including the user's emotional data is generated. The server uses an emotion engine (e.g., Affectiva) to analyze facial expressions and voice.
[0788] Input: Video data of the user's practice sessions stored on the server.
[0789] Data processing: Analyze videos and extract movement patterns and emotional data.
[0790] Output: A JSON file containing the user's behavior evaluation results and emotion data.
[0791] Specific behavior:
[0792] Video data is input into Affectiva to analyze facial expressions and voice.
[0793] The choreographer's characteristic data is compared with the user's movements to evaluate the movements.
[0794] Step 7:
[0795] server
[0796] Generate feedback based on the analysis results, using a generative AI model (e.g., GPT-3) to generate behavioral improvement advice and encouraging messages.
[0797] Input: A JSON file containing user behavior evaluation results and emotion data.
[0798] Data processing: The analysis results are input into a generative AI model to generate feedback messages.
[0799] Output: Text data containing the feedback message.
[0800] Specific behavior:
[0801] The emotion data and behavior evaluation results are input into GPT-3.
[0802] Generate feedback messages using GPT-3.
[0803] Step 8:
[0804] server
[0805] The generated feedback is sent to the user's terminal. The server sends the feedback information to the user's terminal in real time or at any time.
[0806] Input: Text data containing the feedback message.
[0807] Data processing: Send feedback data to the user's device.
[0808] Output: Feedback message displayed on the user's terminal.
[0809] Specific behavior:
[0810] The generated feedback is sent to the user's device via a REST API.
[0811] The user terminal sends an acknowledgement.
[0812] Step 9:
[0813] Terminal
[0814] The device provides real-time feedback, and users can use the feedback and emotion-based advice provided to improve their practice next time.
[0815] Input: The received feedback message.
[0816] Data processing: Display feedback messages in the user interface.
[0817] Output: Feedback information that is displayed to the user.
[0818] Specific behavior:
[0819] Display a feedback message on the screen.
[0820] The user reviews the feedback and reflects it in the next practice session.
[0821] The above are the specific processing steps of the program of this system.
[0822] (Application example 2)
[0823] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0824] Previously, systems designed to effectively support dance practice simply provided video data from choreographers, without taking into account the user's emotions or motivation, resulting in insufficient practice effectiveness. Another issue was that feedback to users was uniform, making it difficult to provide appropriate advice tailored to each individual user's condition. These issues made it easy for users to give up during practice, making it difficult to continue practicing.
[0825] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0826] In this invention, the server includes means for collecting video data of choreographers, means for analyzing the collected video data to extract characteristics of the choreographers, means for generating model videos based on the extracted characteristics, means for recording users' practice videos, means for transmitting the recorded practice videos to the server, means for analyzing the received practice videos and generating feedback for the users, means for providing the generated feedback to the users, means for analyzing user emotion data, and means for adjusting the feedback based on the user emotion data. This makes it possible to provide individual feedback according to the user's emotions and state, thereby increasing motivation for practice and achieving effective practice.
[0827] "Choreographer video data" refers to video data of the movements or performances of professional dancers or choreographers.
[0828] "Extracting features" means analyzing specific movement patterns, styles, rhythms, etc. from the choreographer's video data and extracting them as data.
[0829] A "model video" is a demonstration video generated based on the characteristics of a choreographer, allowing users to learn and imitate.
[0830] "User's practice footage" is video data of the user performing their own dance performance.
[0831] "Emotional data" is information that indicates the user's emotional state, analyzed from the user's facial expressions, voice, movements, etc.
[0832] "Feedback" is information that evaluates the user's practice performance and provides advice such as areas for improvement and encouragement.
[0833] A "server" is a computer system that collects and analyzes data, and generates and provides feedback.
[0834] "Device" refers to a device (smartphone, tablet, camera, etc.) that a user uses to record their practice session.
[0835] "Analyzing" means processing collected data using a computer system to extract useful information.
[0836] "Adjusting" means adapting the content and method of feedback according to the user's current situation and emotional state.
[0837] "Providing in real time" means providing instant feedback information while the user is dancing or practicing.
[0838] The system of the present invention effectively supports dance practice and increases the user's motivation. This system analyzes video data from choreographers and generates model videos that users can use as reference when practicing. It also includes a function that records the user's practice and sends the data to a server to evaluate the user's performance and provide feedback. Furthermore, by analyzing the user's emotional data and adjusting the feedback content, it is possible to provide appropriate support tailored to each individual user.
[0839] The server contains the following elements:
[0840] 1. A means of collecting video data from choreographers
[0841] 2. A method for analyzing collected video data and extracting the characteristics of choreographers
[0842] 3. A method for generating example videos based on extracted features
[0843] 4. A means of recording the user's practice and a means of sending the recorded data to the server
[0844] 5. A method for analyzing received practice footage and generating feedback for users
[0845] 6. Means of analyzing user emotion data
[0846] 7. A way to tailor feedback based on user emotional data
[0847] 8. A means of providing generated feedback to the user
[0848] Hardware and software used
[0849] Hardware:
[0850] Camera: A device used to record a user's dance practice.
[0851] Devices (smartphones, tablets, cameras, etc.): Used by users to record their practice sessions and send the data to the server.
[0852] software:
[0853] EmotionRecognizer: Software that analyzes emotional data from user facial expressions, etc.
[0854] DanceAnalyzer: Software for analyzing users' dance performances.
[0855] FeedbackGenerator: Software for evaluating user performance and generating feedback.
[0856] AI Model (ai_model): An artificial intelligence model that analyzes choreographer video data and extracts features.
[0857] Specific examples
[0858] For example, when a dancer is learning a new choreography in a dance class, the instructor projects a video of the choreographer demonstrating the technique onto a display. The user dances while watching the video, and a camera records the movement. The user's movements and emotions are analyzed, and feedback such as "Your jumps are unstable, so try bending your knees a bit more. You look like you're having a lot of fun dancing, so keep it up!" is displayed in real time. In this way, feedback based on the user's emotions and performance is provided, increasing motivation to practice.
[0859] Prompt Sentence Examples
[0860] "In an interactive dance lesson application, implement a system that analyzes the choreographer's video data and supports the user's dance practice. Analyze the user's emotional data and provide movement improvements and specific advice in real time. If the user is experiencing difficulty, display an encouraging message."
[0861] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0862] Step 1:
[0863] A user requests a video from a choreographer.
[0864] Input: Choreographer's video URL or ID.
[0865] Output: Choreographer video data.
[0866] The server downloads the choreographer's video data from cloud storage using the specified URL or ID, and converts this data into a format that the AI model can analyze.
[0867] Step 2:
[0868] The server analyzes the choreographer's video data and extracts features.
[0869] Input: Choreographer video data.
[0870] Output: Choreographer feature data.
[0871] The server inputs the downloaded video data into an AI model (for example, a dance motion analysis model) to extract the choreographer's characteristics and movement patterns. The analysis results are then stored in a database.
[0872] Step 3:
[0873] The server generates a demonstration video based on the choreographer's characteristic data.
[0874] Input: Choreographer feature data.
[0875] Output: Example video.
[0876] The server generates a demonstration video based on the analyzed feature data. This demonstration video is a demonstration video that reflects the choreographer's intentions and features.
[0877] Step 4:
[0878] The user records the practice session.
[0879] Input: A user practicing.
[0880] Output: User's practice video data.
[0881] The user records their dance practice using a device (smartphone or camera), and the video also includes the user's facial expressions and voice.
[0882] Step 5:
[0883] The server receives the user's practice video data.
[0884] Input: User's practice video data.
[0885] Output: None.
[0886] The user's recorded practice video data is transmitted from the terminal to the server.
[0887] Step 6:
[0888] The server analyzes the user's practice video data and emotional data.
[0889] Input: User's practice video data.
[0890] Output: Parsed performance and sentiment data.
[0891] The server inputs the practice video data into EmotionRecognizer and DanceAnalyzer, and analyzes the user's emotional data and performance data.
[0892] Step 7:
[0893] The server generates feedback based on the analysis data.
[0894] Input: Analyzed performance data, emotion data, and choreographer feature data.
[0895] Output: Feedback message.
[0896] The server uses a Feedback Generator to analyze the user's performance and emotional data and generate appropriate feedback messages.
[0897] Step 8:
[0898] The server provides the generated feedback to the user.
[0899] Input: Feedback message.
[0900] Output: Feedback messages that are displayed on the user's terminal.
[0901] The server sends the generated feedback message to the user's device and displays it in real time, allowing the user to improve their practice based on it.
[0902] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0903] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0904] In the above embodiment, an example in which the specific processing is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the smart glasses 214.
[0905] [Third embodiment]
[0906] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0907] 5, the data processing system 310 includes the data processing device 12 and a headset type terminal 314. An example of the data processing device 12 is a server.
[0908] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0909] The headset type terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a display 343. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the display 343 are also connected to the bus 52.
[0910] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0911] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0912] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0913] Fig. 6 shows an example of the main functions of the data processing device 12 and the headset type terminal 314. As shown in Fig. 6, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0914] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0915] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0916] In the headset type terminal 314, a reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0917] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the headset type terminal 314 will be referred to as the "terminal."
[0918] The system of the present invention collects video data from choreographers and performs a series of processes to effectively support users' dance practice. The following elements are important for implementing this system:
[0919] Data collection
[0920] server
[0921] The choreographer's video data is collected from cloud storage, downloaded using a specified URL or API, and converted into a format that can be analyzed by the AI model.
[0922] Data analysis
[0923] server
[0924] The collected video data is analyzed using an AI model, which extracts the choreographer's characteristics and movement patterns, and stores and organizes this information in a database.
[0925] Sample video generation
[0926] server
[0927] Based on the analyzed choreographer's characteristic data, a demonstration video is generated, which includes intuitive demonstration footage that reflects the choreographer's intentions and can be used as a reference for users when practicing.
[0928] Recording of user practice sessions
[0929] Terminal
[0930] Users record their own dance practice using a camera, and the recorded video data is sent from the device to the server.
[0931] Analysis of practice sessions and provision of feedback
[0932] server
[0933] The system analyzes the user's practice video and evaluates it by comparing it with the choreographer's characteristics and model videos. Based on this, it generates feedback for the user.
[0934] server
[0935] The generated feedback is sent to the user's device and can be viewed in real time, including suggestions for improving behavior and specific advice.
[0936] View feedback and suggest improvements
[0937] Terminal
[0938] Feedback is displayed to the user in real time, allowing the user to continue practicing and improve their movements based on the feedback provided.
[0939] Specific examples
[0940] For example, if a dancer wants to learn a new choreography and collect practice videos, the server first downloads the choreographer's demonstration video from cloud storage. The server then converts the video data into a format that the AI model can analyze and extracts the choreographer's characteristics. Based on this information, a demonstration video is generated, and the user can use it as a reference for practicing.
[0941] Users record their own dance practice and send the video data to the server. The server analyzes the received practice video, evaluates it by comparing it with the choreographer's characteristics, and generates appropriate feedback. This feedback is then sent back to the device, where the user receives real-time feedback and uses it as a reference for improvement. By repeating this process, the user's dance skills will gradually improve.
[0942] As described above, the system of the present invention effectively supports the user's dance practice by providing real-time feedback that incorporates the choreographer's intentions and characteristics.
[0943] The processing flow will be explained below.
[0944] Step 1:
[0945] The server collects the choreographer's video data from cloud storage, downloads it using a specified URL or API, and converts it into a format that the AI model can analyze.
[0946] Step 2:
[0947] The server analyzes the collected video data using an AI model, extracting the choreographer's characteristics and movement patterns, and stores this information in a database.
[0948] Step 3:
[0949] The server generates a demonstration video based on the analyzed choreographer's characteristic data. This video includes an intuitive demonstration video that reflects the choreographer's intentions, and can be used as a reference for users during practice.
[0950] Step 4:
[0951] The user uses a camera to record their own dance practice, and the recorded video data is sent from the user's device to the server.
[0952] Step 5:
[0953] The server analyzes the user's practice video, compares it with the choreographer's characteristics and model videos, evaluates the user's performance, and generates feedback based on the analysis results.
[0954] Step 6:
[0955] The server then sends the generated feedback to the user's device, which includes suggestions for improving the user's behavior and specific advice.
[0956] Step 7:
[0957] The device provides real-time feedback to the user, who can then continue practicing and improve their movements based on this feedback.
[0958] In this way, a system is constructed in which the server, terminals, and users cooperate to effectively support dance practice.
[0959] Example 1
[0960] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[0961] Conventional dance practice support systems have difficulty accurately analyzing choreographers' intentions and movement patterns and providing effective feedback to users on their practice in real time. Furthermore, the process of users reviewing their own practice videos and comparing them with the choreographer's movements to improve themselves is cumbersome, resulting in reduced learning efficiency.
[0962] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0963] In this invention, the server includes means for acquiring video data of the choreographer, means for analyzing the acquired video data and extracting the choreographer's movement patterns, means for generating a reference video based on the extracted movement patterns, means for recording the user's practice footage, means for transferring the recorded practice footage to the server, means for analyzing the transferred practice footage and generating evaluation information for the user, and means for delivering the generated evaluation information to the user. This enables practice support based on the choreographer's video data and real-time evaluation feedback.
[0964] A "choreographer" is a professional dance choreographer who designs and directs the movements and steps of a particular dance performance.
[0965] "Video data" is digital data containing video and audio information, stored in a format that can be played on a computer or digital device.
[0966] A "movement pattern" is a profile of a series of movements that indicates the continuity and characteristics of a particular movement or action, and serves as an index for analyzing the characteristics of a choreographer.
[0967] A "reference video" is a video generated based on a choreographer's movement patterns, and is intended for the user to use as a reference when practicing.
[0968] "Practice scenes" are video data showing a user practicing dance, and are used to record and analyze the user's movements.
[0969] A "server" is a computer system that stores, processes, and distributes data, and is responsible for analyzing users' practice sessions and providing feedback.
[0970] "Evaluation information" is feedback data generated by analyzing the user's practice footage, and includes information on areas for improvement and advice for the user's movements.
[0971] "Distribution" refers to the act of providing information or data to specific recipients via a network, and in this case refers to sending evaluation information to the user's terminal.
[0972] "Recording" refers to the act of recording video using a camera or digital device, which is done by a user to save footage of their own practice.
[0973] "Transfer" refers to the act of moving or sending data from one place to another, and in this case refers to sending the user's practice footage to a server.
[0974] The system of the present invention collects video data from choreographers and performs a series of processes to effectively support users' dance practice. The following elements are important for implementing this system:
[0975] Data collection
[0976] server
[0977] The server retrieves the choreographer's video data from cloud storage using a specified URL or API. For example, it downloads the video data via an HTTP request. It also performs an error check on the downloaded video data to confirm that it was retrieved successfully. It then converts the collected video data into a format that the AI model can analyze. Specifically, it converts the video format and adjusts the resolution. For example, it converts MP4 format videos to 1080p resolution.
[0978] Data analysis
[0979] server
[0980] The server analyzes the collected video data using an AI model. During this analysis process, the choreographer's movement patterns and characteristics are extracted. Software such as OpenPose and MediaPipe are used. Using this software, the movements of people in the video are detected as wireframes. The analyzed feature data is stored and organized in a database. For example, the timing of the start of a movement and patterns of limb movement are saved as features.
[0981] Sample video generation
[0982] server
[0983] The server generates demonstration videos based on the choreographer's characteristic data retrieved from the database. Specifically, it adds animation to the 3D model using Unity or Blender. The generated demonstration videos include intuitive demonstration footage that reflects the choreographer's intentions. The generated videos are uploaded to cloud storage or a web portal that users can access.
[0984] Recording of user practice sessions
[0985] Terminal
[0986] Users record their dance practice sessions using a smartphone or webcam. During this recording process, users use a camera application that can record their movements with high accuracy. The recorded video data is then transferred from the device to a server. At this time, users must check the communication status to ensure that data transmission is not interrupted.
[0987] Analysis of practice sessions and provision of feedback
[0988] server
[0989] The server uses an AI model to analyze the practice video sent by the user. During this analysis process, the server compares the video with the choreographer's characteristic data and evaluates the user's movements. For example, it generates a specific evaluation such as "your right foot movement is delayed." The server also automatically generates feedback content and provides it to the user's device. The feedback includes areas for improvement in the user's movements and specific advice.
[0990] View feedback and suggest improvements
[0991] Terminal
[0992] The user's device receives feedback from the server and displays it in real time. The user can continue practicing while correcting their movements based on the feedback displayed. The feedback is displayed as notifications or pop-ups in the application.
[0993] Specific examples
[0994] For example, when a dancer uses the system to learn a new choreography, the server first retrieves the choreographer's demonstration video from cloud storage. It then converts the video into a format that AI can analyze, extracting the choreographer's movement patterns and characteristics. Based on this information, a 3D animated demonstration video is generated using Unity and uploaded to cloud storage accessible to the user. The user then records their own dance practice and sends it to the server. The server analyzes the practice video, compares it with the choreographer's data, and generates feedback such as, "Your right foot is moving too slowly." The user receives this feedback in real time and continues practicing, consciously reminding themselves to "move your right foot faster" during the next practice session. In this way, the entire system efficiently supports the user's learning.
[0995] Example prompts to input to the generative AI model
[0996] "To learn new choreography, please extract features from a choreographer's demonstration video and generate a reference video. Also, please analyze my practice video and provide specific feedback in real time."
[0997] As described above, the system of the present invention effectively supports the user's dance practice by providing real-time feedback that incorporates the choreographer's intentions and characteristics.
[0998] keyword
[0999] Generative AI model, prompt sentence
[1000] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1001] Step 1: Obtaining video data
[1002] server
[1003] The server retrieves the choreographer's video data from cloud storage. The input data is request information including the URL of the video data and the API endpoint. Specifically, the server downloads the video data from the specified URL using the HTTP protocol. It checks whether the video data was retrieved correctly and retries if there is an error. The output data is the retrieved video file, which is saved in local storage.
[1004] Step 2: Convert the data format
[1005] server
[1006] The server converts the acquired video data into a format that can be analyzed by the AI model. The input data is a video file stored in local storage. Specifically, the video format is converted to MP4 format and the resolution is adjusted to 1080p. This conversion is performed using software such as FFmpeg. The converted video data becomes the output data and is used in the analysis stage.
[1007] Step 3: Analyze the video data
[1008] server
[1009] The server uses an AI model to analyze the converted video data. The input data is a video file whose format has been converted. Specifically, the video data is input into an AI model such as OpenPose or MediaPipe, and the movement patterns of the person are analyzed. As a result of the analysis, feature data such as the timing at which the movement begins and the movement patterns of the hands and feet are extracted. The output data is the extracted feature data, which is stored in a database.
[1010] Step 4: Generate a sample video
[1011] server
[1012] The server generates a model video based on the feature data retrieved from the database. The input data is the saved feature data. Specifically, Unity or Blender is used to add animation to the 3D model and generate the model video. The generated model video is uploaded to cloud storage or a web portal so that users can access it. The output data is the model video.
[1013] Step 5: Record your practice
[1014] Terminal
[1015] Users record their own dance practice using a smartphone or webcam. The input data is the user's practice footage. A camera application capable of capturing movements with high accuracy is used for recording. The recorded video data is saved on the device. The output data is the recorded user video.
[1016] Step 6: Send video data
[1017] Terminal
[1018] The user sends recorded video data to the server. The input data is the user's recorded video. The transmission is performed using the HTTP protocol or a dedicated API. During this process, the communication status is checked and pause and retransmission functions are implemented to ensure stable data transfer. The output data is the user's video uploaded to the server.
[1019] Step 7: Analyze the practice session
[1020] server
[1021] The server uses an AI model to analyze the practice video sent by the user. The input data is the user video uploaded to the server. Specifically, it compares it with the choreographer's characteristic data and performs an analysis to evaluate the user's movements. The output data is feedback content as evaluation information.
[1022] Step 8: Generate and provide feedback
[1023] server
[1024] The server generates feedback for the user based on the analysis results of the practice footage. The input data is the analysis results. Specifically, it generates evaluation information such as "The movement of the right foot is delayed." This feedback is provided to the user's device in real time. The output data is the feedback sent to the user's device.
[1025] Step 9: View your feedback
[1026] Terminal
[1027] The user's device displays the feedback received from the server. The input data is the feedback information sent from the server. The feedback is displayed as a notification or a pop-up in the application. The user checks this and corrects their actions to continue practicing. The output data is the user's improved practice data.
[1028] In this way, the system of the present invention supports the improvement of the user's skills through a series of processes from the choreographer's video data to the user's practice.
[1029] (Application example 1)
[1030] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1031] In dance practice, users face a lack of appropriate teaching materials and effective feedback to accurately learn choreographers' movements. In particular, there is a need for a system that improves learning efficiency by providing real-time feedback and comparison. Furthermore, considering use in physical facilities such as fitness and dance studios, an environment is needed where users can easily receive high-quality instruction using their own devices (such as smartphones or head-mounted displays).
[1032] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[1033] In this invention, the server includes means for collecting video data of choreographers, means for analyzing the collected video data to extract characteristics of the choreographer, means for generating a model video based on the extracted characteristics, means for recording a user's practice footage, means for transmitting the recorded practice footage to the server, means for analyzing the received practice footage and generating feedback for the user, means for providing the generated feedback to the user, means for displaying the feedback in real time on the user's terminal, means for including a smartphone or a head-mounted display in the user's terminal, means for downloading the choreographer's video from cloud storage, and means for evaluating the user's practice footage in real time. This allows the user to accurately learn the choreographer's movements and progress with their practice while receiving real-time feedback.
[1034] A "choreographer" is a professional who designs and teaches dance movements to others.
[1035] "Video data" is data in a file format that expresses movement by continuously playing back discrete image frames.
[1036] A "collection instrument" is a technical method or device for obtaining data for a specific purpose.
[1037] An "analyzing means" is a technical method or device for analyzing data and extracting the information contained therein.
[1038] A "feature extraction means" is a technical method or device for extracting specific patterns or important elements from data.
[1039] A "model video" is a video that demonstrates correct movements and is used as a reference for learners to imitate.
[1040] "User" refers to a general learner who uses this system.
[1041] A "recording means" is a technical method or device for recording movements as a video file.
[1042] A "server" is a high-performance computer used for processing, storing, and communicating data.
[1043] The "means for generating feedback" is a method or device for evaluating the user's actions and providing specific suggestions for improvement based on the evaluation results.
[1044] The "means for providing" is a method or device for transmitting the generated information to the user's terminal.
[1045] "Means for displaying in real time" refers to a method or device for instantly displaying the contents of data on a user's terminal immediately after the data is generated.
[1046] A "user's terminal" is a device such as a smartphone or head-mounted display that the user owns.
[1047] "Cloud storage" is a service that allows you to store and manage data over the Internet.
[1048] A "means for downloading" is a method or apparatus for obtaining data from a remote server to a local device, such as via the Internet.
[1049] An "evaluating means" is a method or device for determining the accuracy or quality of a user's actions based on collected data.
[1050] The system of the present invention collects video data from choreographers and executes a series of processes based on that data to effectively support users' dance practice.
[1051] Data collection
[1052] The server collects the choreographer's video data from cloud storage. Specifically, it downloads the choreographer's video data stored in cloud storage (e.g., AWS S3) using a URL or API and stores it in local storage.
[1053] Data analysis
[1054] The server analyzes the collected video data using an AI model, which uses deep learning models such as ResNet and OpenPose. Through this analysis, the choreographer's movements, characteristic postures, and movement patterns are extracted.
[1055] Sample video generation
[1056] The server generates a demonstration video based on the analyzed choreographer's characteristic data. A video generation tool (e.g., FFmpeg) is used to generate the demonstration video, creating an intuitive demonstration video that users can refer to when practicing.
[1057] Recording of user practice sessions
[1058] Users record their dance practice using a camera, and this recording is done using a user device such as a smartphone or a head-mounted display.
[1059] Analysis of practice sessions and provision of feedback
[1060] The device sends the recorded practice video data to a server, which then analyzes the user's practice video using an AI model and evaluates the user's movements by comparing them with the choreographer's movements. Based on this evaluation, specific feedback is generated and sent to the user's device.
[1061] View feedback and suggest improvements
[1062] The device displays the generated feedback to the user in real time, and the user can improve their own movements by referring to the feedback provided via a smartphone or head-mounted display.
[1063] Specific examples
[1064] For example, consider a scenario in which a user wears smart glasses in a dance studio to learn a new dance choreography. The choreographer's video data is downloaded from cloud storage, and the server analyzes it using an AI model. Based on the analysis results, a demonstration video is generated and sent to the user's glasses. The user then records their own practice session using a camera and sends the data to the server. The server immediately analyzes the practice video and generates detailed feedback in real time, which is displayed on the glasses.
[1065] Example prompts to input to the generative AI model
[1066] "I'm going to start recording a dance lesson. First, download the choreographer's video and analyze it. Then, record your own movements, and have the AI model evaluate that data and give you instant feedback."
[1067] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1068] Step 1:
[1069] The server collects the choreographer's video data from cloud storage. Specifically, it downloads video files from cloud storage such as AWS S3 using a specified URL or API and saves them in local storage. The input is the cloud storage URL, and the output is the locally saved video file.
[1070] Step 2:
[1071] The server analyzes the collected video data using an AI model. Specifically, it uses deep learning models such as ResNet and OpenPose to extract heat maps and key points from video frames. The input is the video file stored in local storage, and the output is feature data of the choreographer's movements.
[1072] Step 3:
[1073] The server generates a demonstration video based on the analyzed choreographer's feature data. Specifically, it uses a video generation tool such as FFmpeg to create a demonstration video that emphasizes the choreographer's movements. The input is the feature data, and the output is the demonstration video.
[1074] Step 4:
[1075] The user records their dance practice using the camera on their smartphone or head-mounted display. Specifically, they start a camera app and continuously capture the practice footage. The input is the camera footage, and the output is the recorded practice video file.
[1076] Step 5:
[1077] The device sends the recorded practice video data to the server. Specifically, the video file is uploaded to the server's API via the Internet. The input is the practice video file, and the output is the video data sent to the server.
[1078] Step 6:
[1079] The server analyzes the received practice video using an AI model. Specifically, it compares it with the choreographer's characteristic data and evaluates the user's movements. The input is the practice video and the choreographer's characteristic data, and the output is the user's movement evaluation data.
[1080] Step 7:
[1081] The server generates feedback based on the user's motion evaluation data. Specifically, it generates points for improvement in the motion and specific advice, and summarizes them as a feedback message. The input is the motion evaluation data, and the output is the feedback message.
[1082] Step 8:
[1083] The server sends the generated feedback to the user's device. Specifically, the feedback message is pushed to the user's smartphone or head-mounted display in real time. The input is the feedback message, and the output is the feedback displayed to the user.
[1084] Step 9:
[1085] The device displays the feedback to the user in real time. Specifically, a feedback message pops up on the user's device (smartphone or head-mounted display) so that the user can check it. The input is the pushed feedback message, and the output is advice on improvements and next steps that is displayed to the user.
[1086] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[1087] The system of the present invention analyzes the characteristics of the choreographer and performs a series of processes to effectively support the user's dance practice, as well as includes a function to recognize the user's emotions and adjust feedback. The following elements are important in implementing this system:
[1088] Data collection
[1089] server
[1090] The choreographer's video data is collected from cloud storage, downloaded using a specified URL or API, and converted into a format that can be analyzed by the AI model.
[1091] Data analysis
[1092] server
[1093] The collected video data is analyzed using an AI model, which extracts the choreographer's characteristics and movement patterns and stores this information in a database.
[1094] Sample video generation
[1095] server
[1096] Based on the analyzed choreographer's characteristic data, a demonstration video is generated, which includes an intuitive demonstration video that reflects the choreographer's intentions and can be used as a reference for users when practicing.
[1097] Recording of user practice sessions
[1098] Terminal
[1099] Users record their dance practice using a camera. This recording data includes the user's facial expressions and voice, and the emotion engine recognizes emotions from this information.
[1100] Emotional Data Analysis
[1101] server
[1102] The system analyzes the user's practice video and simultaneously analyzes the user's emotional data. It evaluates the user's performance by comparing it with the choreographer's characteristics and model videos.
[1103] Feedback generation and provision
[1104] server
[1105] The feedback content is adjusted based on the user's emotional data. For example, if the user is having difficulty, the difficulty level may be lowered or an encouraging message may be displayed.
[1106] server
[1107] The generated feedback is sent to the user's device, and includes suggestions for improving the behavior and specific advice.
[1108] View feedback and suggest improvements
[1109] Terminal
[1110] It provides real-time feedback to the user, allowing them to continue practicing and improve their movements based on the feedback and emotion-based advice provided.
[1111] Specific examples
[1112] For example, if a dancer wants to learn a new choreography and collect practice videos, the server first downloads the choreographer's demonstration video from cloud storage. The server then converts the video data into a format that the AI model can analyze and extracts the choreographer's characteristics. Based on this information, a demonstration video is generated, and the user can use it as a reference for practicing.
[1113] Users record their dance practice and send the video data to the server. This video data includes facial expressions and voice, and the emotion engine analyzes the user's emotions. The server analyzes the received practice video and emotion data and generates feedback. The feedback includes areas for improvement and specific advice, as well as encouragement and advice based on the user's emotions. The feedback is sent to the device, where the user receives it in real time and can use it to improve their next practice.
[1114] As described above, the system of the present invention not only provides real-time feedback that incorporates the choreographer's intentions and characteristics, but also analyzes the user's emotions and adjusts the feedback, thereby increasing motivation for practice and providing effective practice support.
[1115] The processing flow will be explained below.
[1116] Step 1:
[1117] The server collects the choreographer's video data from cloud storage, downloads it using a specified URL or API, and converts it into a format that the AI model can analyze.
[1118] Step 2:
[1119] The server analyzes the collected video data using an AI model, extracting the choreographer's characteristics and movement patterns, and stores this information in a database.
[1120] Step 3:
[1121] The server generates a demonstration video based on the analyzed choreographer's characteristic data. This video includes an intuitive demonstration video that reflects the choreographer's intentions, and can be used as a reference for users during practice.
[1122] Step 4:
[1123] Users record their dance practice using a camera. This recording data includes the user's facial expressions and voice, and the emotion engine recognizes emotions from this information.
[1124] Step 5:
[1125] The device sends the recorded practice footage and emotional data to the server, where the data is appropriately compressed and transmitted to the server without delay.
[1126] Step 6:
[1127] The server analyzes the user's practice video and evaluates the user's performance by comparing it with the choreographer's characteristics and model videos, while also analyzing emotional data to understand the user's emotional state.
[1128] Step 7:
[1129] The server adjusts the feedback based on the user's emotional data. For example, if the user is having difficulty, it may lower the difficulty level or display an encouraging message.
[1130] Step 8:
[1131] The server sends the generated feedback to the user's device, which includes not only suggestions for improving behavior and specific advice, but also encouragement and advice based on the user's emotions.
[1132] Step 9:
[1133] The device provides real-time feedback to the user, allowing them to continue practicing and improve their movements.
[1134] Step 10:
[1135] The user can then use the system again during their next practice session, receiving continuous feedback and improving their dance technique. This cyclical process makes their dance practice more effective and motivating.
[1136] In this way, the system of the present invention not only analyzes the choreographer's characteristics and generates model videos, but also provides feedback that takes the user's emotions into consideration, thereby providing comprehensive support for the user's practice.
[1137] Example 2
[1138] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1139] Conventional dance practice support systems provide uniform feedback to users, making it difficult to provide appropriate feedback based on each user's emotions and practice situation. Furthermore, they do not adequately generate demonstration videos that reflect the choreographer's characteristics, nor do they compare and evaluate the videos with the user's own practice footage, making it difficult to improve the effectiveness of practice.
[1140] The identification process by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for collecting video data of choreographers, means for analyzing the collected video data and extracting characteristics of the choreographers, means for generating a model video based on the extracted characteristics, means for recording practice videos of users, means for transmitting the recorded practice videos to the server, means for analyzing the received practice videos and generating feedback based on the analysis results including the user's emotional data, and means for providing the generated feedback to the user. This makes it possible to provide appropriate feedback according to the situation of each individual user, thereby further improving the effectiveness of practice.
[1141] "Choreographer video data" refers to video data of a choreographer actually performing a dance.
[1142] "Means of collection" refers to the means of obtaining data from cloud storage using a specified URL or API.
[1143] "Means of analyzing and extracting the choreographer's characteristics" refers to means of using AI models and machine learning algorithms to identify and extract characteristics such as the choreographer's movement patterns and posture data.
[1144] The "means for generating a model video" is a means for generating a demonstration video for the user to follow based on the extracted characteristics of the choreographer.
[1145] The "means for recording the user's practice" refers to a means for the user to record the user's practice in video format using their own smartphone or webcam.
[1146] "Means for transmitting recorded practice footage to a server" refers to means for uploading video data from a user's device to cloud storage or a database.
[1147] The "means for analyzing the received practice footage" is a means by which the server analyzes the user's practice footage video and extracts movement patterns and emotional data.
[1148] The "means for generating feedback based on analysis results including user emotional data" refers to a means for creating appropriate advice or encouraging messages by combining emotional data extracted from the user's facial expressions and voice analysis with the results of behavioral evaluation.
[1149] The "means for providing the generated feedback to the user" refers to a means for displaying the generated feedback information on the user's terminal in real time or at any timing.
[1150] The present invention is a system that analyzes the characteristics of a choreographer, recognizes the user's emotions, and adjusts feedback to effectively support the user's dance practice. To implement this system, the following elements are important:
[1151] Data collection
[1152] server
[1153] The server collects the choreographer's video data from cloud storage (e.g., AWS S3, Google Cloud Storage). It downloads the video data using a specified URL or API. It then converts the video data into a format that the AI model can analyze (e.g., from MP4 to JPEG images for each frame). This conversion process uses libraries such as FFmpeg.
[1154] Data analysis
[1155] server
[1156] The server analyzes the collected video data using a pose estimation model (e.g., OpenPose, MediaPipe), extracts the choreographer's characteristics and movement patterns, and stores this information in a NoSQL database (e.g., MongoDB, Firebase Firestore).
[1157] Sample video generation
[1158] server
[1159] The server generates a demonstration video based on the analyzed choreographer's characteristic data. This generation uses a generative AI model (e.g., DeepMotion, Reallusion Animator) to create an intuitive demonstration video that reflects the choreographer's intentions.
[1160] Recording of user practice sessions
[1161] Terminal
[1162] Users record their dance practice using a smartphone or webcam. The recorded data includes the user's facial expressions and voice, which can be analyzed using an emotion engine (e.g., Affectiva, IBM Watson Tone Analyzer).
[1163] Emotional Data Analysis
[1164] server
[1165] The server analyzes the received user's practice video and simultaneously analyzes the user's emotional data. This includes analyzing facial and vocal data using an emotion engine. It also compares the choreographer's characteristic data with the user's movements to evaluate their performance.
[1166] Feedback generation and provision
[1167] server
[1168] The server adjusts the feedback content based on the user's emotional data. For example, if the user is experiencing difficulty, it uses a generative AI model (e.g., GPT-3 or GPT-4) to adjust the difficulty level or generate an encouraging message. The generated feedback is then sent to the user's device, and includes suggestions for improving their behavior and specific advice.
[1169] View feedback and suggest improvements
[1170] Terminal
[1171] The user's device has the ability to display real-time feedback, allowing the user to improve their movements and continue practicing based on the feedback and emotional advice displayed.
[1172] Specific examples
[1173] For example, when a dancer collects practice videos to learn a new choreography, the server first downloads the choreographer's demonstration video from cloud storage. Then, it extracts the choreographer's features using a pose estimation model (e.g., OpenPose). Based on this information, a demonstration video is generated by a generative AI model (e.g., DeepMotion), and the user can use it as a reference for practicing.
[1174] Users record their dance practice and send the video data to a server. The recorded video also includes the user's facial expressions and voice, and an emotion engine (e.g., Affectiva) analyzes the user's emotions. The server analyzes the practice video and emotion data and generates appropriate feedback using a generative AI model (e.g., GPT-3). The feedback includes points for improvement, specific advice, and encouraging messages tailored to the user's emotional state, and is displayed in real time on the user's device.
[1175] Prompt Sentence Examples
[1176] "Based on the movement and emotion data extracted from the dancer's practice videos, please create specific advice on how to improve the movement and how to practice. If the user is having difficulty, please also add an encouraging message."
[1177] As described above, the system of the present invention can maximize the effectiveness of the user's practice and increase their motivation by providing feedback in real time that incorporates the choreographer's intentions and characteristics.
[1178] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1179] Step 1:
[1180] server
[1181] Collect the choreographer's video data. The server downloads the video data from cloud storage using the specified URL or API (e.g., AWS S3 API).
[1182] Input: Choreographer video data URL or API key.
[1183] Data processing: Make an API call to obtain video data.
[1184] Output: Video data in MP4 format saved to local storage.
[1185] Specific behavior:
[1186] The server uses the AWS SDK to retrieve the choreographer's video from the S3 bucket.
[1187] The acquired video is saved in a specified folder on the server.
[1188] Step 2:
[1189] server
[1190] Analyze the video data to extract the choreographer's features. The server analyzes the video data using a pose estimation model (e.g., OpenPose) to extract pose data.
[1191] Input: MP4 video data stored in local storage.
[1192] Data processing: Videos were converted into frame-by-frame JPEG images using FFmpeg and analyzed with OpenPose.
[1193] Output: A JSON file containing the choreographer's feature data (e.g., joint position data).
[1194] Specific behavior:
[1195] Split the video into image frames using FFmpeg.
[1196] OpenPose is used to obtain pose data for each frame.
[1197] The acquired posture data is saved in JSON format.
[1198] Step 3:
[1199] server
[1200] Based on the extracted features, a demonstration video is generated. A generative AI model (e.g., DeepMotion) is used to create a demonstration video that reflects the choreographer's intentions.
[1201] Input: A JSON file containing choreographer feature data.
[1202] Data processing: Input feature data into a generative AI model to generate video data.
[1203] Output: MP4 file as example video.
[1204] Specific behavior:
[1205] The choreographer's characteristic data is input into DeepMotion to generate a demonstration video.
[1206] The generated example video is saved on the server.
[1207] Step 4:
[1208] User
[1209] Users record their own dance practice sessions in video format using their smartphones or webcams.
[1210] Input: Real-time video data recorded by the camera.
[1211] Data processing: Include the user's facial expressions and voice information in the recorded data.
[1212] Output: MP4 video of the recorded practice session.
[1213] Specific behavior:
[1214] Use your smartphone or webcam to record your practice sessions.
[1215] Stop recording and save the video data.
[1216] Step 5:
[1217] Terminal
[1218] The recorded practice video is sent to the server, and the device uploads the video data to cloud storage or a database.
[1219] Input: MP4 video of recorded practice session.
[1220] Data processing: Upload video data to cloud storage.
[1221] Output: Video data of the user's practice sessions stored on the server.
[1222] Specific behavior:
[1223] Upload the recorded video data to cloud storage.
[1224] The server confirms receipt.
[1225] Step 6:
[1226] server
[1227] The received practice video is analyzed and an analysis result including the user's emotional data is generated. The server uses an emotion engine (e.g., Affectiva) to analyze facial expressions and voice.
[1228] Input: Video data of the user's practice sessions stored on the server.
[1229] Data processing: Analyze videos and extract movement patterns and emotional data.
[1230] Output: A JSON file containing the user's behavior evaluation results and emotion data.
[1231] Specific behavior:
[1232] Video data is input into Affectiva to analyze facial expressions and voice.
[1233] The choreographer's characteristic data is compared with the user's movements to evaluate the movements.
[1234] Step 7:
[1235] server
[1236] Generate feedback based on the analysis results, using a generative AI model (e.g., GPT-3) to generate behavioral improvement advice and encouraging messages.
[1237] Input: A JSON file containing user behavior evaluation results and emotion data.
[1238] Data processing: The analysis results are input into a generative AI model to generate feedback messages.
[1239] Output: Text data containing the feedback message.
[1240] Specific behavior:
[1241] The emotion data and behavior evaluation results are input into GPT-3.
[1242] Generate feedback messages using GPT-3.
[1243] Step 8:
[1244] server
[1245] The generated feedback is sent to the user's terminal. The server sends the feedback information to the user's terminal in real time or at any time.
[1246] Input: Text data containing the feedback message.
[1247] Data processing: Send feedback data to the user's device.
[1248] Output: Feedback message displayed on the user's terminal.
[1249] Specific behavior:
[1250] The generated feedback is sent to the user's device via a REST API.
[1251] The user terminal sends an acknowledgement.
[1252] Step 9:
[1253] Terminal
[1254] The device provides real-time feedback, and users can use the feedback and emotion-based advice provided to improve their practice next time.
[1255] Input: The received feedback message.
[1256] Data processing: Display feedback messages in the user interface.
[1257] Output: Feedback information that is displayed to the user.
[1258] Specific behavior:
[1259] Display a feedback message on the screen.
[1260] The user reviews the feedback and reflects it in the next practice session.
[1261] The above are the specific processing steps of the program of this system.
[1262] (Application example 2)
[1263] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1264] Previously, systems designed to effectively support dance practice simply provided video data from choreographers, without taking into account the user's emotions or motivation, resulting in insufficient practice effectiveness. Another issue was that feedback to users was uniform, making it difficult to provide appropriate advice tailored to each individual user's condition. These issues made it easy for users to give up during practice, making it difficult to continue practicing.
[1265] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[1266] In this invention, the server includes means for collecting video data of choreographers, means for analyzing the collected video data to extract characteristics of the choreographers, means for generating model videos based on the extracted characteristics, means for recording users' practice videos, means for transmitting the recorded practice videos to the server, means for analyzing the received practice videos and generating feedback for the users, means for providing the generated feedback to the users, means for analyzing user emotion data, and means for adjusting the feedback based on the user emotion data. This makes it possible to provide individual feedback according to the user's emotions and state, thereby increasing motivation for practice and achieving effective practice.
[1267] "Choreographer video data" refers to video data of the movements or performances of professional dancers or choreographers.
[1268] "Extracting features" means analyzing specific movement patterns, styles, rhythms, etc. from the choreographer's video data and extracting them as data.
[1269] A "model video" is a demonstration video generated based on the characteristics of a choreographer, allowing users to learn and imitate.
[1270] "User's practice footage" is video data of the user performing their own dance performance.
[1271] "Emotional data" is information that indicates the user's emotional state, analyzed from the user's facial expressions, voice, movements, etc.
[1272] "Feedback" is information that evaluates the user's practice performance and provides advice such as areas for improvement and encouragement.
[1273] A "server" is a computer system that collects and analyzes data, and generates and provides feedback.
[1274] "Device" refers to a device (smartphone, tablet, camera, etc.) that a user uses to record their practice session.
[1275] "Analyzing" means processing collected data using a computer system to extract useful information.
[1276] "Adjusting" means adapting the content and method of feedback according to the user's current situation and emotional state.
[1277] "Providing in real time" means providing instant feedback information while the user is dancing or practicing.
[1278] The system of the present invention effectively supports dance practice and increases the user's motivation. This system analyzes video data from choreographers and generates model videos that users can use as reference when practicing. It also includes a function that records the user's practice and sends the data to a server to evaluate the user's performance and provide feedback. Furthermore, by analyzing the user's emotional data and adjusting the feedback content, it is possible to provide appropriate support tailored to each individual user.
[1279] The server contains the following elements:
[1280] 1. A means of collecting video data from choreographers
[1281] 2. A method for analyzing collected video data and extracting the characteristics of choreographers
[1282] 3. A method for generating example videos based on extracted features
[1283] 4. A means of recording the user's practice and a means of sending the recorded data to the server
[1284] 5. A method for analyzing received practice footage and generating feedback for users
[1285] 6. Means of analyzing user emotion data
[1286] 7. A way to tailor feedback based on user emotional data
[1287] 8. A means of providing generated feedback to the user
[1288] Hardware and software used
[1289] Hardware:
[1290] Camera: A device used to record a user's dance practice.
[1291] Devices (smartphones, tablets, cameras, etc.): Used by users to record their practice sessions and send the data to the server.
[1292] software:
[1293] EmotionRecognizer: Software that analyzes emotional data from user facial expressions, etc.
[1294] DanceAnalyzer: Software for analyzing users' dance performances.
[1295] FeedbackGenerator: Software for evaluating user performance and generating feedback.
[1296] AI Model (ai_model): An artificial intelligence model that analyzes choreographer video data and extracts features.
[1297] Specific examples
[1298] For example, when a dancer is learning a new choreography in a dance class, the instructor projects a video of the choreographer demonstrating the technique onto a display. The user dances while watching the video, and a camera records the movement. The user's movements and emotions are analyzed, and feedback such as "Your jumps are unstable, so try bending your knees a bit more. You look like you're having a lot of fun dancing, so keep it up!" is displayed in real time. In this way, feedback based on the user's emotions and performance is provided, increasing motivation to practice.
[1299] Prompt Sentence Examples
[1300] "In an interactive dance lesson application, implement a system that analyzes the choreographer's video data and supports the user's dance practice. Analyze the user's emotional data and provide movement improvements and specific advice in real time. If the user is experiencing difficulty, display an encouraging message."
[1301] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1302] Step 1:
[1303] A user requests a video from a choreographer.
[1304] Input: Choreographer's video URL or ID.
[1305] Output: Choreographer video data.
[1306] The server downloads the choreographer's video data from cloud storage using the specified URL or ID, and converts this data into a format that the AI model can analyze.
[1307] Step 2:
[1308] The server analyzes the choreographer's video data and extracts features.
[1309] Input: Choreographer video data.
[1310] Output: Choreographer feature data.
[1311] The server inputs the downloaded video data into an AI model (for example, a dance motion analysis model) to extract the choreographer's characteristics and movement patterns. The analysis results are then stored in a database.
[1312] Step 3:
[1313] The server generates a demonstration video based on the choreographer's characteristic data.
[1314] Input: Choreographer feature data.
[1315] Output: Example video.
[1316] The server generates a demonstration video based on the analyzed feature data. This demonstration video is a demonstration video that reflects the choreographer's intentions and features.
[1317] Step 4:
[1318] The user records the practice session.
[1319] Input: A user practicing.
[1320] Output: User's practice video data.
[1321] The user records their dance practice using a device (smartphone or camera), and the video also includes the user's facial expressions and voice.
[1322] Step 5:
[1323] The server receives the user's practice video data.
[1324] Input: User's practice video data.
[1325] Output: None.
[1326] The user's recorded practice video data is transmitted from the terminal to the server.
[1327] Step 6:
[1328] The server analyzes the user's practice video data and emotional data.
[1329] Input: User's practice video data.
[1330] Output: Parsed performance and sentiment data.
[1331] The server inputs the practice video data into EmotionRecognizer and DanceAnalyzer, and analyzes the user's emotional data and performance data.
[1332] Step 7:
[1333] The server generates feedback based on the analysis data.
[1334] Input: Analyzed performance data, emotion data, and choreographer feature data.
[1335] Output: Feedback message.
[1336] The server uses a Feedback Generator to analyze the user's performance and emotional data and generate appropriate feedback messages.
[1337] Step 8:
[1338] The server provides the generated feedback to the user.
[1339] Input: Feedback message.
[1340] Output: Feedback messages that are displayed on the user's terminal.
[1341] The server sends the generated feedback message to the user's device and displays it in real time, allowing the user to improve their practice based on it.
[1342] The specific processing unit 290 transmits the result of the specific processing to the headset type terminal 314. In the headset type terminal 314, the control unit 46A causes the speaker 240 and the display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[1343] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1344] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the headset type terminal 314.
[1345] [Fourth embodiment]
[1346] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1347] 7, a data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.
[1348] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[1349] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a control target 443. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the control target 443 are also connected to the bus 52.
[1350] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[1351] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[1352] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[1353] The control object 443 includes a display device, LEDs in the eyes, and motors for driving the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the emotions of the robot 414 can be expressed by controlling these motors. In addition, the facial expressions of the robot 414 can also be expressed by controlling the light emission state of the LEDs in the eyes of the robot 414.
[1354] Fig. 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Fig. 8, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[1355] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[1356] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[1357] In the robot 414, the processor 46 performs the reception output process. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[1358] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1359] The system of the present invention collects video data from choreographers and performs a series of processes to effectively support users' dance practice. The following elements are important for implementing this system:
[1360] Data collection
[1361] server
[1362] The choreographer's video data is collected from cloud storage, downloaded using a specified URL or API, and converted into a format that can be analyzed by the AI model.
[1363] Data analysis
[1364] server
[1365] The collected video data is analyzed using an AI model, which extracts the choreographer's characteristics and movement patterns, and stores and organizes this information in a database.
[1366] Sample video generation
[1367] server
[1368] Based on the analyzed choreographer's characteristic data, a demonstration video is generated, which includes intuitive demonstration footage that reflects the choreographer's intentions and can be used as a reference for users when practicing.
[1369] Recording of user practice sessions
[1370] Terminal
[1371] Users record their own dance practice using a camera, and the recorded video data is sent from the device to the server.
[1372] Analysis of practice sessions and provision of feedback
[1373] server
[1374] The system analyzes the user's practice video and evaluates it by comparing it with the choreographer's characteristics and model videos. Based on this, it generates feedback for the user.
[1375] server
[1376] The generated feedback is sent to the user's device and can be viewed in real time, including suggestions for improving behavior and specific advice.
[1377] View feedback and suggest improvements
[1378] Terminal
[1379] Feedback is displayed to the user in real time, allowing the user to continue practicing and improve their movements based on the feedback provided.
[1380] Specific examples
[1381] For example, if a dancer wants to learn a new choreography and collect practice videos, the server first downloads the choreographer's demonstration video from cloud storage. The server then converts the video data into a format that the AI model can analyze and extracts the choreographer's characteristics. Based on this information, a demonstration video is generated, and the user can use it as a reference for practicing.
[1382] Users record their own dance practice and send the video data to the server. The server analyzes the received practice video, evaluates it by comparing it with the choreographer's characteristics, and generates appropriate feedback. This feedback is then sent back to the device, where the user receives real-time feedback and uses it as a reference for improvement. By repeating this process, the user's dance skills will gradually improve.
[1383] As described above, the system of the present invention effectively supports the user's dance practice by providing real-time feedback that incorporates the choreographer's intentions and characteristics.
[1384] The processing flow will be explained below.
[1385] Step 1:
[1386] The server collects the choreographer's video data from cloud storage, downloads it using a specified URL or API, and converts it into a format that the AI model can analyze.
[1387] Step 2:
[1388] The server analyzes the collected video data using an AI model, extracting the choreographer's characteristics and movement patterns, and stores this information in a database.
[1389] Step 3:
[1390] The server generates a demonstration video based on the analyzed choreographer's characteristic data. This video includes an intuitive demonstration video that reflects the choreographer's intentions, and can be used as a reference for users during practice.
[1391] Step 4:
[1392] The user uses a camera to record their own dance practice, and the recorded video data is sent from the user's device to the server.
[1393] Step 5:
[1394] The server analyzes the user's practice video, compares it with the choreographer's characteristics and model videos, evaluates the user's performance, and generates feedback based on the analysis results.
[1395] Step 6:
[1396] The server then sends the generated feedback to the user's device, which includes suggestions for improving the user's behavior and specific advice.
[1397] Step 7:
[1398] The device provides real-time feedback to the user, who can then continue practicing and improve their movements based on this feedback.
[1399] In this way, a system is constructed in which the server, terminals, and users cooperate to effectively support dance practice.
[1400] Example 1
[1401] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1402] Conventional dance practice support systems have difficulty accurately analyzing choreographers' intentions and movement patterns and providing effective feedback to users on their practice in real time. Furthermore, the process of users reviewing their own practice videos and comparing them with the choreographer's movements to improve themselves is cumbersome, resulting in reduced learning efficiency.
[1403] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[1404] In this invention, the server includes means for acquiring video data of the choreographer, means for analyzing the acquired video data and extracting the choreographer's movement patterns, means for generating a reference video based on the extracted movement patterns, means for recording the user's practice footage, means for transferring the recorded practice footage to the server, means for analyzing the transferred practice footage and generating evaluation information for the user, and means for delivering the generated evaluation information to the user. This enables practice support based on the choreographer's video data and real-time evaluation feedback.
[1405] A "choreographer" is a professional dance choreographer who designs and directs the movements and steps of a particular dance performance.
[1406] "Video data" is digital data containing video and audio information, stored in a format that can be played on a computer or digital device.
[1407] A "movement pattern" is a profile of a series of movements that indicates the continuity and characteristics of a particular movement or action, and serves as an index for analyzing the characteristics of a choreographer.
[1408] A "reference video" is a video generated based on a choreographer's movement patterns, and is intended for the user to use as a reference when practicing.
[1409] "Practice scenes" are video data showing a user practicing dance, and are used to record and analyze the user's movements.
[1410] A "server" is a computer system that stores, processes, and distributes data, and is responsible for analyzing users' practice sessions and providing feedback.
[1411] "Evaluation information" is feedback data generated by analyzing the user's practice footage, and includes information on areas for improvement and advice for the user's movements.
[1412] "Distribution" refers to the act of providing information or data to specific recipients via a network, and in this case refers to sending evaluation information to the user's terminal.
[1413] "Recording" refers to the act of recording video using a camera or digital device, which is done by a user to save footage of their own practice.
[1414] "Transfer" refers to the act of moving or sending data from one place to another, and in this case refers to sending the user's practice footage to a server.
[1415] The system of the present invention collects video data from choreographers and performs a series of processes to effectively support users' dance practice. The following elements are important for implementing this system:
[1416] Data collection
[1417] server
[1418] The server retrieves the choreographer's video data from cloud storage using a specified URL or API. For example, it downloads the video data via an HTTP request. It also performs an error check on the downloaded video data to confirm that it was retrieved successfully. It then converts the collected video data into a format that the AI model can analyze. Specifically, it converts the video format and adjusts the resolution. For example, it converts MP4 format videos to 1080p resolution.
[1419] Data analysis
[1420] server
[1421] The server analyzes the collected video data using an AI model. During this analysis process, the choreographer's movement patterns and characteristics are extracted. Software such as OpenPose and MediaPipe are used. Using this software, the movements of people in the video are detected as wireframes. The analyzed feature data is stored and organized in a database. For example, the timing of the start of a movement and patterns of limb movement are saved as features.
[1422] Sample video generation
[1423] server
[1424] The server generates demonstration videos based on the choreographer's characteristic data retrieved from the database. Specifically, it adds animation to the 3D model using Unity or Blender. The generated demonstration videos include intuitive demonstration footage that reflects the choreographer's intentions. The generated videos are uploaded to cloud storage or a web portal that users can access.
[1425] Recording of user practice sessions
[1426] Terminal
[1427] Users record their dance practice sessions using a smartphone or webcam. During this recording process, users use a camera application that can record their movements with high accuracy. The recorded video data is then transferred from the device to a server. At this time, users must check the communication status to ensure that data transmission is not interrupted.
[1428] Analysis of practice sessions and provision of feedback
[1429] server
[1430] The server uses an AI model to analyze the practice video sent by the user. During this analysis process, the server compares the video with the choreographer's characteristic data and evaluates the user's movements. For example, it generates a specific evaluation such as "your right foot movement is delayed." The server also automatically generates feedback content and provides it to the user's device. The feedback includes areas for improvement in the user's movements and specific advice.
[1431] View feedback and suggest improvements
[1432] Terminal
[1433] The user's device receives feedback from the server and displays it in real time. The user can continue practicing while correcting their movements based on the feedback displayed. The feedback is displayed as notifications or pop-ups in the application.
[1434] Specific examples
[1435] For example, when a dancer uses the system to learn a new choreography, the server first retrieves the choreographer's demonstration video from cloud storage. It then converts the video into a format that AI can analyze, extracting the choreographer's movement patterns and characteristics. Based on this information, a 3D animated demonstration video is generated using Unity and uploaded to cloud storage accessible to the user. The user then records their own dance practice and sends it to the server. The server analyzes the practice video, compares it with the choreographer's data, and generates feedback such as, "Your right foot is moving too slowly." The user receives this feedback in real time and continues practicing, consciously reminding themselves to "move your right foot faster" during the next practice session. In this way, the entire system efficiently supports the user's learning.
[1436] Example prompts to input to the generative AI model
[1437] "To learn new choreography, please extract features from a choreographer's demonstration video and generate a reference video. Also, please analyze my practice video and provide specific feedback in real time."
[1438] As described above, the system of the present invention effectively supports the user's dance practice by providing real-time feedback that incorporates the choreographer's intentions and characteristics.
[1439] keyword
[1440] Generative AI model, prompt sentence
[1441] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1442] Step 1: Obtaining video data
[1443] server
[1444] The server retrieves the choreographer's video data from cloud storage. The input data is request information including the URL of the video data and the API endpoint. Specifically, the server downloads the video data from the specified URL using the HTTP protocol. It checks whether the video data was retrieved correctly and retries if there is an error. The output data is the retrieved video file, which is saved in local storage.
[1445] Step 2: Convert the data format
[1446] server
[1447] The server converts the acquired video data into a format that can be analyzed by the AI model. The input data is a video file stored in local storage. Specifically, the video format is converted to MP4 format and the resolution is adjusted to 1080p. This conversion is performed using software such as FFmpeg. The converted video data becomes the output data and is used in the analysis stage.
[1448] Step 3: Analyze the video data
[1449] server
[1450] The server uses an AI model to analyze the converted video data. The input data is a video file whose format has been converted. Specifically, the video data is input into an AI model such as OpenPose or MediaPipe, and the movement patterns of the person are analyzed. As a result of the analysis, feature data such as the timing at which the movement begins and the movement patterns of the hands and feet are extracted. The output data is the extracted feature data, which is stored in a database.
[1451] Step 4: Generate a sample video
[1452] server
[1453] The server generates a model video based on the feature data retrieved from the database. The input data is the saved feature data. Specifically, Unity or Blender is used to add animation to the 3D model and generate the model video. The generated model video is uploaded to cloud storage or a web portal so that users can access it. The output data is the model video.
[1454] Step 5: Record your practice
[1455] Terminal
[1456] Users record their own dance practice using a smartphone or webcam. The input data is the user's practice footage. A camera application capable of capturing movements with high accuracy is used for recording. The recorded video data is saved on the device. The output data is the recorded user video.
[1457] Step 6: Send video data
[1458] Terminal
[1459] The user sends recorded video data to the server. The input data is the user's recorded video. The transmission is performed using the HTTP protocol or a dedicated API. During this process, the communication status is checked and pause and retransmission functions are implemented to ensure stable data transfer. The output data is the user's video uploaded to the server.
[1460] Step 7: Analyze the practice session
[1461] server
[1462] The server uses an AI model to analyze the practice video sent by the user. The input data is the user video uploaded to the server. Specifically, it compares it with the choreographer's characteristic data and performs an analysis to evaluate the user's movements. The output data is feedback content as evaluation information.
[1463] Step 8: Generate and provide feedback
[1464] server
[1465] The server generates feedback for the user based on the analysis results of the practice footage. The input data is the analysis results. Specifically, it generates evaluation information such as "The movement of the right foot is delayed." This feedback is provided to the user's device in real time. The output data is the feedback sent to the user's device.
[1466] Step 9: View your feedback
[1467] Terminal
[1468] The user's device displays the feedback received from the server. The input data is the feedback information sent from the server. The feedback is displayed as a notification or a pop-up in the application. The user checks this and corrects their actions to continue practicing. The output data is the user's improved practice data.
[1469] In this way, the system of the present invention supports the improvement of the user's skills through a series of processes from the choreographer's video data to the user's practice.
[1470] (Application example 1)
[1471] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1472] In dance practice, users face a lack of appropriate teaching materials and effective feedback to accurately learn choreographers' movements. In particular, there is a need for a system that improves learning efficiency by providing real-time feedback and comparison. Furthermore, considering use in physical facilities such as fitness and dance studios, an environment is needed where users can easily receive high-quality instruction using their own devices (such as smartphones or head-mounted displays).
[1473] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[1474] In this invention, the server includes means for collecting video data of choreographers, means for analyzing the collected video data to extract characteristics of the choreographer, means for generating a model video based on the extracted characteristics, means for recording a user's practice footage, means for transmitting the recorded practice footage to the server, means for analyzing the received practice footage and generating feedback for the user, means for providing the generated feedback to the user, means for displaying the feedback in real time on the user's terminal, means for including a smartphone or a head-mounted display in the user's terminal, means for downloading the choreographer's video from cloud storage, and means for evaluating the user's practice footage in real time. This allows the user to accurately learn the choreographer's movements and progress with their practice while receiving real-time feedback.
[1475] A "choreographer" is a professional who designs and teaches dance movements to others.
[1476] "Video data" is data in a file format that expresses movement by continuously playing back discrete image frames.
[1477] A "collection instrument" is a technical method or device for obtaining data for a specific purpose.
[1478] An "analyzing means" is a technical method or device for analyzing data and extracting the information contained therein.
[1479] A "feature extraction means" is a technical method or device for extracting specific patterns or important elements from data.
[1480] A "model video" is a video that demonstrates correct movements and is used as a reference for learners to imitate.
[1481] "User" refers to a general learner who uses this system.
[1482] A "recording means" is a technical method or device for recording movements as a video file.
[1483] A "server" is a high-performance computer used for processing, storing, and communicating data.
[1484] The "means for generating feedback" is a method or device for evaluating the user's actions and providing specific suggestions for improvement based on the evaluation results.
[1485] The "means for providing" is a method or device for transmitting the generated information to the user's terminal.
[1486] "Means for displaying in real time" refers to a method or device for instantly displaying the contents of data on a user's terminal immediately after the data is generated.
[1487] A "user's terminal" is a device such as a smartphone or head-mounted display that the user owns.
[1488] "Cloud storage" is a service that allows you to store and manage data over the Internet.
[1489] A "means for downloading" is a method or apparatus for obtaining data from a remote server to a local device, such as via the Internet.
[1490] An "evaluating means" is a method or device for determining the accuracy or quality of a user's actions based on collected data.
[1491] The system of the present invention collects video data from choreographers and executes a series of processes based on that data to effectively support users' dance practice.
[1492] Data collection
[1493] The server collects the choreographer's video data from cloud storage. Specifically, it downloads the choreographer's video data stored in cloud storage (e.g., AWS S3) using a URL or API and stores it in local storage.
[1494] Data analysis
[1495] The server analyzes the collected video data using an AI model, which uses deep learning models such as ResNet and OpenPose. Through this analysis, the choreographer's movements, characteristic postures, and movement patterns are extracted.
[1496] Sample video generation
[1497] The server generates a demonstration video based on the analyzed choreographer's characteristic data. A video generation tool (e.g., FFmpeg) is used to generate the demonstration video, creating an intuitive demonstration video that users can refer to when practicing.
[1498] Recording of user practice sessions
[1499] Users record their dance practice using a camera, and this recording is done using a user device such as a smartphone or a head-mounted display.
[1500] Analysis of practice sessions and provision of feedback
[1501] The device sends the recorded practice video data to a server, which then analyzes the user's practice video using an AI model and evaluates the user's movements by comparing them with the choreographer's movements. Based on this evaluation, specific feedback is generated and sent to the user's device.
[1502] View feedback and suggest improvements
[1503] The device displays the generated feedback to the user in real time, and the user can improve their own movements by referring to the feedback provided via a smartphone or head-mounted display.
[1504] Specific examples
[1505] For example, consider a scenario in which a user wears smart glasses in a dance studio to learn a new dance choreography. The choreographer's video data is downloaded from cloud storage, and the server analyzes it using an AI model. Based on the analysis results, a demonstration video is generated and sent to the user's glasses. The user then records their own practice session using a camera and sends the data to the server. The server immediately analyzes the practice video and generates detailed feedback in real time, which is displayed on the glasses.
[1506] Example prompts to input to the generative AI model
[1507] "I'm going to start recording a dance lesson. First, download the choreographer's video and analyze it. Then, record your own movements, and have the AI model evaluate that data and give you instant feedback."
[1508] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1509] Step 1:
[1510] The server collects the choreographer's video data from cloud storage. Specifically, it downloads video files from cloud storage such as AWS S3 using a specified URL or API and saves them in local storage. The input is the cloud storage URL, and the output is the locally saved video file.
[1511] Step 2:
[1512] The server analyzes the collected video data using an AI model. Specifically, it uses deep learning models such as ResNet and OpenPose to extract heat maps and key points from video frames. The input is the video file stored in local storage, and the output is feature data of the choreographer's movements.
[1513] Step 3:
[1514] The server generates a demonstration video based on the analyzed choreographer's feature data. Specifically, it uses a video generation tool such as FFmpeg to create a demonstration video that emphasizes the choreographer's movements. The input is the feature data, and the output is the demonstration video.
[1515] Step 4:
[1516] The user records their dance practice using the camera on their smartphone or head-mounted display. Specifically, they start a camera app and continuously capture the practice footage. The input is the camera footage, and the output is the recorded practice video file.
[1517] Step 5:
[1518] The device sends the recorded practice video data to the server. Specifically, the video file is uploaded to the server's API via the Internet. The input is the practice video file, and the output is the video data sent to the server.
[1519] Step 6:
[1520] The server analyzes the received practice video using an AI model. Specifically, it compares it with the choreographer's characteristic data and evaluates the user's movements. The input is the practice video and the choreographer's characteristic data, and the output is the user's movement evaluation data.
[1521] Step 7:
[1522] The server generates feedback based on the user's motion evaluation data. Specifically, it generates points for improvement in the motion and specific advice, and summarizes them as a feedback message. The input is the motion evaluation data, and the output is the feedback message.
[1523] Step 8:
[1524] The server sends the generated feedback to the user's device. Specifically, the feedback message is pushed to the user's smartphone or head-mounted display in real time. The input is the feedback message, and the output is the feedback displayed to the user.
[1525] Step 9:
[1526] The device displays the feedback to the user in real time. Specifically, a feedback message pops up on the user's device (smartphone or head-mounted display) so that the user can check it. The input is the pushed feedback message, and the output is advice on improvements and next steps that is displayed to the user.
[1527] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[1528] The system of the present invention analyzes the characteristics of the choreographer and performs a series of processes to effectively support the user's dance practice, as well as includes a function to recognize the user's emotions and adjust feedback. The following elements are important in implementing this system:
[1529] Data collection
[1530] server
[1531] The choreographer's video data is collected from cloud storage, downloaded using a specified URL or API, and converted into a format that can be analyzed by the AI model.
[1532] Data analysis
[1533] server
[1534] The collected video data is analyzed using an AI model, which extracts the choreographer's characteristics and movement patterns and stores this information in a database.
[1535] Sample video generation
[1536] server
[1537] Based on the analyzed choreographer's characteristic data, a demonstration video is generated, which includes an intuitive demonstration video that reflects the choreographer's intentions and can be used as a reference for users when practicing.
[1538] Recording of user practice sessions
[1539] Terminal
[1540] Users record their dance practice using a camera. This recording data includes the user's facial expressions and voice, and the emotion engine recognizes emotions from this information.
[1541] Emotional Data Analysis
[1542] server
[1543] The system analyzes the user's practice video and simultaneously analyzes the user's emotional data. It evaluates the user's performance by comparing it with the choreographer's characteristics and model videos.
[1544] Feedback generation and provision
[1545] server
[1546] The feedback content is adjusted based on the user's emotional data. For example, if the user is having difficulty, the difficulty level may be lowered or an encouraging message may be displayed.
[1547] server
[1548] The generated feedback is sent to the user's device, and includes suggestions for improving the behavior and specific advice.
[1549] View feedback and suggest improvements
[1550] Terminal
[1551] It provides real-time feedback to the user, allowing them to continue practicing and improve their movements based on the feedback and emotion-based advice provided.
[1552] Specific examples
[1553] For example, if a dancer wants to learn a new choreography and collect practice videos, the server first downloads the choreographer's demonstration video from cloud storage. The server then converts the video data into a format that the AI model can analyze and extracts the choreographer's characteristics. Based on this information, a demonstration video is generated, and the user can use it as a reference for practicing.
[1554] Users record their dance practice and send the video data to the server. This video data includes facial expressions and voice, and the emotion engine analyzes the user's emotions. The server analyzes the received practice video and emotion data and generates feedback. The feedback includes areas for improvement and specific advice, as well as encouragement and advice based on the user's emotions. The feedback is sent to the device, where the user receives it in real time and can use it to improve their next practice.
[1555] As described above, the system of the present invention not only provides real-time feedback that incorporates the choreographer's intentions and characteristics, but also analyzes the user's emotions and adjusts the feedback, thereby increasing motivation for practice and providing effective practice support.
[1556] The processing flow will be explained below.
[1557] Step 1:
[1558] The server collects the choreographer's video data from cloud storage, downloads it using a specified URL or API, and converts it into a format that the AI model can analyze.
[1559] Step 2:
[1560] The server analyzes the collected video data using an AI model, extracting the choreographer's characteristics and movement patterns, and stores this information in a database.
[1561] Step 3:
[1562] The server generates a demonstration video based on the analyzed choreographer's characteristic data. This video includes an intuitive demonstration video that reflects the choreographer's intentions, and can be used as a reference for users during practice.
[1563] Step 4:
[1564] Users record their dance practice using a camera. This recording data includes the user's facial expressions and voice, and the emotion engine recognizes emotions from this information.
[1565] Step 5:
[1566] The device sends the recorded practice footage and emotional data to the server, where the data is appropriately compressed and transmitted to the server without delay.
[1567] Step 6:
[1568] The server analyzes the user's practice video and evaluates the user's performance by comparing it with the choreographer's characteristics and model videos, while also analyzing emotional data to understand the user's emotional state.
[1569] Step 7:
[1570] The server adjusts the feedback based on the user's emotional data. For example, if the user is having difficulty, it may lower the difficulty level or display an encouraging message.
[1571] Step 8:
[1572] The server sends the generated feedback to the user's device, which includes not only suggestions for improving behavior and specific advice, but also encouragement and advice based on the user's emotions.
[1573] Step 9:
[1574] The device provides real-time feedback to the user, allowing them to continue practicing and improve their movements.
[1575] Step 10:
[1576] The user can then use the system again during their next practice session, receiving continuous feedback and improving their dance technique. This cyclical process makes their dance practice more effective and motivating.
[1577] In this way, the system of the present invention not only analyzes the choreographer's characteristics and generates model videos, but also provides feedback that takes the user's emotions into consideration, thereby providing comprehensive support for the user's practice.
[1578] Example 2
[1579] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1580] Conventional dance practice support systems provide uniform feedback to users, making it difficult to provide appropriate feedback based on each user's emotions and practice situation. Furthermore, they do not adequately generate demonstration videos that reflect the choreographer's characteristics, nor do they compare and evaluate the videos with the user's own practice footage, making it difficult to improve the effectiveness of practice.
[1581] The identification process by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for collecting video data of choreographers, means for analyzing the collected video data and extracting characteristics of the choreographers, means for generating a model video based on the extracted characteristics, means for recording practice videos of users, means for transmitting the recorded practice videos to the server, means for analyzing the received practice videos and generating feedback based on the analysis results including the user's emotional data, and means for providing the generated feedback to the user. This makes it possible to provide appropriate feedback according to the situation of each individual user, thereby further improving the effectiveness of practice.
[1582] "Choreographer video data" refers to video data of a choreographer actually performing a dance.
[1583] "Means of collection" refers to the means of obtaining data from cloud storage using a specified URL or API.
[1584] "Means of analyzing and extracting the choreographer's characteristics" refers to means of using AI models and machine learning algorithms to identify and extract characteristics such as the choreographer's movement patterns and posture data.
[1585] The "means for generating a model video" is a means for generating a demonstration video for the user to follow based on the extracted characteristics of the choreographer.
[1586] The "means for recording the user's practice" refers to a means for the user to record the user's practice in video format using their own smartphone or webcam.
[1587] "Means for transmitting recorded practice footage to a server" refers to means for uploading video data from a user's device to cloud storage or a database.
[1588] The "means for analyzing the received practice footage" is a means by which the server analyzes the user's practice footage video and extracts movement patterns and emotional data.
[1589] The "means for generating feedback based on analysis results including user emotional data" refers to a means for creating appropriate advice or encouraging messages by combining emotional data extracted from the user's facial expressions and voice analysis with the results of behavioral evaluation.
[1590] The "means for providing the generated feedback to the user" refers to a means for displaying the generated feedback information on the user's terminal in real time or at any timing.
[1591] The present invention is a system that analyzes the characteristics of a choreographer, recognizes the user's emotions, and adjusts feedback to effectively support the user's dance practice. To implement this system, the following elements are important:
[1592] Data collection
[1593] server
[1594] The server collects the choreographer's video data from cloud storage (e.g., AWS S3, Google Cloud Storage). It downloads the video data using a specified URL or API. It then converts the video data into a format that the AI model can analyze (e.g., from MP4 to JPEG images for each frame). This conversion process uses libraries such as FFmpeg.
[1595] Data analysis
[1596] server
[1597] The server analyzes the collected video data using a pose estimation model (e.g., OpenPose, MediaPipe), extracts the choreographer's characteristics and movement patterns, and stores this information in a NoSQL database (e.g., MongoDB, Firebase Firestore).
[1598] Sample video generation
[1599] server
[1600] The server generates a demonstration video based on the analyzed choreographer's characteristic data. This generation uses a generative AI model (e.g., DeepMotion, Reallusion Animator) to create an intuitive demonstration video that reflects the choreographer's intentions.
[1601] Recording of user practice sessions
[1602] Terminal
[1603] Users record their dance practice using a smartphone or webcam. The recorded data includes the user's facial expressions and voice, which can be analyzed using an emotion engine (e.g., Affectiva, IBM Watson Tone Analyzer).
[1604] Emotional Data Analysis
[1605] server
[1606] The server analyzes the received user's practice video and simultaneously analyzes the user's emotional data. This includes analyzing facial and vocal data using an emotion engine. It also compares the choreographer's characteristic data with the user's movements to evaluate their performance.
[1607] Feedback generation and provision
[1608] server
[1609] The server adjusts the feedback content based on the user's emotional data. For example, if the user is experiencing difficulty, it uses a generative AI model (e.g., GPT-3 or GPT-4) to adjust the difficulty level or generate an encouraging message. The generated feedback is then sent to the user's device, and includes suggestions for improving their behavior and specific advice.
[1610] View feedback and suggest improvements
[1611] Terminal
[1612] The user's device has the ability to display real-time feedback, allowing the user to improve their movements and continue practicing based on the feedback and emotional advice displayed.
[1613] Specific examples
[1614] For example, when a dancer collects practice videos to learn a new choreography, the server first downloads the choreographer's demonstration video from cloud storage. Then, it extracts the choreographer's features using a pose estimation model (e.g., OpenPose). Based on this information, a demonstration video is generated by a generative AI model (e.g., DeepMotion), and the user can use it as a reference for practicing.
[1615] Users record their dance practice and send the video data to a server. The recorded video also includes the user's facial expressions and voice, and an emotion engine (e.g., Affectiva) analyzes the user's emotions. The server analyzes the practice video and emotion data and generates appropriate feedback using a generative AI model (e.g., GPT-3). The feedback includes points for improvement, specific advice, and encouraging messages tailored to the user's emotional state, and is displayed in real time on the user's device.
[1616] Prompt Sentence Examples
[1617] "Based on the movement and emotion data extracted from the dancer's practice videos, please create specific advice on how to improve the movement and how to practice. If the user is having difficulty, please also add an encouraging message."
[1618] As described above, the system of the present invention can maximize the effectiveness of the user's practice and increase their motivation by providing feedback in real time that incorporates the choreographer's intentions and characteristics.
[1619] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1620] Step 1:
[1621] server
[1622] Collect the choreographer's video data. The server downloads the video data from cloud storage using the specified URL or API (e.g., AWS S3 API).
[1623] Input: Choreographer video data URL or API key.
[1624] Data processing: Make an API call to obtain video data.
[1625] Output: Video data in MP4 format saved to local storage.
[1626] Specific behavior:
[1627] The server uses the AWS SDK to retrieve the choreographer's video from the S3 bucket.
[1628] The acquired video is saved in a specified folder on the server.
[1629] Step 2:
[1630] server
[1631] Analyze the video data to extract the choreographer's features. The server analyzes the video data using a pose estimation model (e.g., OpenPose) to extract pose data.
[1632] Input: MP4 video data stored in local storage.
[1633] Data processing: Videos were converted into frame-by-frame JPEG images using FFmpeg and analyzed with OpenPose.
[1634] Output: A JSON file containing the choreographer's feature data (e.g., joint position data).
[1635] Specific behavior:
[1636] Split the video into image frames using FFmpeg.
[1637] OpenPose is used to obtain pose data for each frame.
[1638] The acquired posture data is saved in JSON format.
[1639] Step 3:
[1640] server
[1641] Based on the extracted features, a demonstration video is generated. A generative AI model (e.g., DeepMotion) is used to create a demonstration video that reflects the choreographer's intentions.
[1642] Input: A JSON file containing choreographer feature data.
[1643] Data processing: Input feature data into a generative AI model to generate video data.
[1644] Output: MP4 file as example video.
[1645] Specific behavior:
[1646] The choreographer's characteristic data is input into DeepMotion to generate a demonstration video.
[1647] The generated example video is saved on the server.
[1648] Step 4:
[1649] User
[1650] Users record their own dance practice sessions in video format using their smartphones or webcams.
[1651] Input: Real-time video data recorded by the camera.
[1652] Data processing: Include the user's facial expressions and voice information in the recorded data.
[1653] Output: MP4 video of the recorded practice session.
[1654] Specific behavior:
[1655] Use your smartphone or webcam to record your practice sessions.
[1656] Stop recording and save the video data.
[1657] Step 5:
[1658] Terminal
[1659] The recorded practice video is sent to the server, and the device uploads the video data to cloud storage or a database.
[1660] Input: MP4 video of recorded practice session.
[1661] Data processing: Upload video data to cloud storage.
[1662] Output: Video data of the user's practice sessions stored on the server.
[1663] Specific behavior:
[1664] Upload the recorded video data to cloud storage.
[1665] The server confirms receipt.
[1666] Step 6:
[1667] server
[1668] The received practice video is analyzed and an analysis result including the user's emotional data is generated. The server uses an emotion engine (e.g., Affectiva) to analyze facial expressions and voice.
[1669] Input: Video data of the user's practice sessions stored on the server.
[1670] Data processing: Analyze videos and extract movement patterns and emotional data.
[1671] Output: A JSON file containing the user's behavior evaluation results and emotion data.
[1672] Specific behavior:
[1673] Video data is input into Affectiva to analyze facial expressions and voice.
[1674] The choreographer's characteristic data is compared with the user's movements to evaluate the movements.
[1675] Step 7:
[1676] server
[1677] Generate feedback based on the analysis results, using a generative AI model (e.g., GPT-3) to generate behavioral improvement advice and encouraging messages.
[1678] Input: A JSON file containing user behavior evaluation results and emotion data.
[1679] Data processing: The analysis results are input into a generative AI model to generate feedback messages.
[1680] Output: Text data containing the feedback message.
[1681] Specific behavior:
[1682] The emotion data and behavior evaluation results are input into GPT-3.
[1683] Generate feedback messages using GPT-3.
[1684] Step 8:
[1685] server
[1686] The generated feedback is sent to the user's terminal. The server sends the feedback information to the user's terminal in real time or at any time.
[1687] Input: Text data containing the feedback message.
[1688] Data processing: Send feedback data to the user's device.
[1689] Output: Feedback message displayed on the user's terminal.
[1690] Specific behavior:
[1691] The generated feedback is sent to the user's device via a REST API.
[1692] The user terminal sends an acknowledgement.
[1693] Step 9:
[1694] Terminal
[1695] The device provides real-time feedback, and users can use the feedback and emotion-based advice provided to improve their practice next time.
[1696] Input: The received feedback message.
[1697] Data processing: Display feedback messages in the user interface.
[1698] Output: Feedback information that is displayed to the user.
[1699] Specific behavior:
[1700] Display a feedback message on the screen.
[1701] The user reviews the feedback and reflects it in the next practice session.
[1702] The above are the specific processing steps of the program of this system.
[1703] (Application example 2)
[1704] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1705] Previously, systems designed to effectively support dance practice simply provided video data from choreographers, without taking into account the user's emotions or motivation, resulting in insufficient practice effectiveness. Another issue was that feedback to users was uniform, making it difficult to provide appropriate advice tailored to each individual user's condition. These issues made it easy for users to give up during practice, making it difficult to continue practicing.
[1706] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[1707] In this invention, the server includes means for collecting video data of choreographers, means for analyzing the collected video data to extract characteristics of the choreographers, means for generating model videos based on the extracted characteristics, means for recording users' practice videos, means for transmitting the recorded practice videos to the server, means for analyzing the received practice videos and generating feedback for the users, means for providing the generated feedback to the users, means for analyzing user emotion data, and means for adjusting the feedback based on the user emotion data. This makes it possible to provide individual feedback according to the user's emotions and state, thereby increasing motivation for practice and achieving effective practice.
[1708] "Choreographer video data" refers to video data of the movements or performances of professional dancers or choreographers.
[1709] "Extracting features" means analyzing specific movement patterns, styles, rhythms, etc. from the choreographer's video data and extracting them as data.
[1710] A "model video" is a demonstration video generated based on the characteristics of a choreographer, allowing users to learn and imitate.
[1711] "User's practice footage" is video data of the user performing their own dance performance.
[1712] "Emotional data" is information that indicates the user's emotional state, analyzed from the user's facial expressions, voice, movements, etc.
[1713] "Feedback" is information that evaluates the user's practice performance and provides advice such as areas for improvement and encouragement.
[1714] A "server" is a computer system that collects and analyzes data, and generates and provides feedback.
[1715] "Device" refers to a device (smartphone, tablet, camera, etc.) that a user uses to record their practice session.
[1716] "Analyzing" means processing collected data using a computer system to extract useful information.
[1717] "Adjusting" means adapting the content and method of feedback according to the user's current situation and emotional state.
[1718] "Providing in real time" means providing instant feedback information while the user is dancing or practicing.
[1719] The system of the present invention effectively supports dance practice and increases the user's motivation. This system analyzes video data from choreographers and generates model videos that users can use as reference when practicing. It also includes a function that records the user's practice and sends the data to a server to evaluate the user's performance and provide feedback. Furthermore, by analyzing the user's emotional data and adjusting the feedback content, it is possible to provide appropriate support tailored to each individual user.
[1720] The server contains the following elements:
[1721] 1. A means of collecting video data from choreographers
[1722] 2. A method for analyzing collected video data and extracting the characteristics of choreographers
[1723] 3. A method for generating example videos based on extracted features
[1724] 4. A means of recording the user's practice and a means of sending the recorded data to the server
[1725] 5. A method for analyzing received practice footage and generating feedback for users
[1726] 6. Means of analyzing user emotion data
[1727] 7. A way to tailor feedback based on user emotional data
[1728] 8. A means of providing generated feedback to the user
[1729] Hardware and software used
[1730] Hardware:
[1731] Camera: A device used to record a user's dance practice.
[1732] Devices (smartphones, tablets, cameras, etc.): Used by users to record their practice sessions and send the data to the server.
[1733] software:
[1734] EmotionRecognizer: Software that analyzes emotional data from user facial expressions, etc.
[1735] DanceAnalyzer: Software for analyzing users' dance performances.
[1736] FeedbackGenerator: Software for evaluating user performance and generating feedback.
[1737] AI Model (ai_model): An artificial intelligence model that analyzes choreographer video data and extracts features.
[1738] Specific examples
[1739] For example, when a dancer is learning a new choreography in a dance class, the instructor projects a video of the choreographer demonstrating the technique onto a display. The user dances while watching the video, and a camera records the movement. The user's movements and emotions are analyzed, and feedback such as "Your jumps are unstable, so try bending your knees a bit more. You look like you're having a lot of fun dancing, so keep it up!" is displayed in real time. In this way, feedback based on the user's emotions and performance is provided, increasing motivation to practice.
[1740] Prompt Sentence Examples
[1741] "In an interactive dance lesson application, implement a system that analyzes the choreographer's video data and supports the user's dance practice. Analyze the user's emotional data and provide movement improvements and specific advice in real time. If the user is experiencing difficulty, display an encouraging message."
[1742] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1743] Step 1:
[1744] A user requests a video from a choreographer.
[1745] Input: Choreographer's video URL or ID.
[1746] Output: Choreographer video data.
[1747] The server downloads the choreographer's video data from cloud storage using the specified URL or ID, and converts this data into a format that the AI model can analyze.
[1748] Step 2:
[1749] The server analyzes the choreographer's video data and extracts features.
[1750] Input: Choreographer video data.
[1751] Output: Choreographer feature data.
[1752] The server inputs the downloaded video data into an AI model (for example, a dance motion analysis model) to extract the choreographer's characteristics and movement patterns. The analysis results are then stored in a database.
[1753] Step 3:
[1754] The server generates a demonstration video based on the choreographer's characteristic data.
[1755] Input: Choreographer feature data.
[1756] Output: Example video.
[1757] The server generates a demonstration video based on the analyzed feature data. This demonstration video is a demonstration video that reflects the choreographer's intentions and features.
[1758] Step 4:
[1759] The user records the practice session.
[1760] Input: A user practicing.
[1761] Output: User's practice video data.
[1762] The user records their dance practice using a device (smartphone or camera), and the video also includes the user's facial expressions and voice.
[1763] Step 5:
[1764] The server receives the user's practice video data.
[1765] Input: User's practice video data.
[1766] Output: None.
[1767] The user's recorded practice video data is transmitted from the terminal to the server.
[1768] Step 6:
[1769] The server analyzes the user's practice video data and emotional data.
[1770] Input: User's practice video data.
[1771] Output: Parsed performance and sentiment data.
[1772] The server inputs the practice video data into EmotionRecognizer and DanceAnalyzer, and analyzes the user's emotional data and performance data.
[1773] Step 7:
[1774] The server generates feedback based on the analysis data.
[1775] Input: Analyzed performance data, emotion data, and choreographer feature data.
[1776] Output: Feedback message.
[1777] The server uses a Feedback Generator to analyze the user's performance and emotional data and generate appropriate feedback messages.
[1778] Step 8:
[1779] The server provides the generated feedback to the user.
[1780] Input: Feedback message.
[1781] Output: Feedback messages that are displayed on the user's terminal.
[1782] The server sends the generated feedback message to the user's device and displays it in real time, allowing the user to improve their practice based on it.
[1783] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the control target 443 to output the result of the specific processing. The microphone 238 acquires voice indicating a user input regarding the result of the specific processing. The control unit 46A transmits voice data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the voice data.
[1784] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1785] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the robot 414.
[1786] The emotion identification model 59 as an emotion engine may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to an emotion map (see FIG. 9), which is a specific mapping. Similarly, the emotion identification model 59 may determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.
[1787] FIG. 9 is a diagram illustrating an emotion map 400 on which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. Emotions closer to the center of the concentric circles are more primitive. Emotions representing states and actions arising from a state of mind are arranged on the outer edges of the concentric circles. The concept of emotion includes both affect and mental states. Emotions generally generated from reactions occurring in the brain are arranged on the left side of the concentric circles. Emotions generally induced by situational judgment are arranged on the right side of the concentric circles. Emotions generally generated from reactions occurring in the brain and induced by situational judgment are arranged on the upper and lower sides of the concentric circles. Furthermore, the emotion of "pleasure" is arranged on the upper side of the concentric circles, and the emotion of "discomfort" is arranged on the lower side. In this way, in the emotion map 400, multiple emotions are mapped based on the structure by which emotions are generated, and emotions that tend to occur simultaneously are mapped close to each other.
[1788] These emotions are distributed in the 3 o'clock direction on emotion map 400, and typically fluctuate between relief and anxiety. In the right half of emotion map 400, situational awareness dominates over internal sensations, resulting in a sense of calm.
[1789] The inside of emotion map 400 represents what is going on in the mind, and the outside of emotion map 400 represents behavior, so the further you go outside emotion map 400, the more visible the emotions become (the more they are expressed in behavior).
[1790] Human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. Emotions can also be created for robots, automobiles, and motorcycles, based on various balances, such as posture and remaining battery life. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. An emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on Voice Emotion Recognition and Emotional Brain Physiological Signal Analysis Systems, Tokushima University, Doctoral Dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map lists emotions belonging to the "reaction" domain, where sensation is dominant. The right half of the emotion map lists emotions belonging to the "situation" domain, where situational awareness is dominant.
[1791] The emotion map defines two emotions that promote learning. One is a negative emotion on the situation side, around the middle of "repentance" or "reflection." In other words, this occurs when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is a positive emotion on the response side, around "desire." In other words, this occurs when the robot experiences positive feelings such as "I want more" or "I want to know more."
[1792] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values indicating each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple pieces of training data that are combinations of user input and emotion values indicating each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions that are located close to each other have similar values, as in the emotion map 900 shown in FIG. 10. FIG. 10 shows an example in which multiple emotions, "relieved," "calm," and "reassuring," have similar emotion values.
[1793] The system according to the present disclosure has been described above mainly with respect to the functions of the data processing device 12, but the system according to the present disclosure is not necessarily implemented on a server. The system according to the present disclosure may be implemented as a general information processing system. The present disclosure may be implemented, for example, as a software program running on a personal computer or an application running on a smartphone, etc. The method according to the present disclosure may be provided to users in the form of SaaS (Software as a Service).
[1794] In the above embodiment, an example was given in which the specific processing is performed by one computer 22, but the technology of the present disclosure is not limited to this, and the specific processing may be distributed and performed by a plurality of computers including the computer 22. For example, the data generation model 58 may be provided in an external device of the data processing device 12, and data may be generated in the external device in accordance with input data.
[1795] In the above embodiment, an example in which the specific processing program 56 is stored in the storage 32 has been described, but the technology of the present disclosure is not limited to this. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-transitory storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-transitory storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes the specific processing in accordance with the specific processing program 56.
[1796] 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.
[1797] It is not necessary to store all of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store all of the specific processing program 56 in the storage 32; only a portion of the specific processing program 56 may be stored.
[1798] The hardware resource for executing a specific process can be any of the following processors: An example of a processor is a CPU, which is a general-purpose processor that functions as a hardware resource for executing a specific process by executing software, i.e., a program. Another example of a processor is a dedicated electrical circuit, such as an FPGA (Field-Programmable Gate Array), a PLD (Programmable Logic Device), or an ASIC (Application Specific Integrated Circuit), which is a processor with a circuit configuration designed specifically for executing a specific process. Each processor has built-in or connected memory, and each processor uses the memory to execute the specific process.
[1799] The hardware resource that executes the specific processing may be configured with one of these various processors, or may be configured with a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Also, the hardware resource that executes the specific processing may be a single processor.
[1800] As an example of a system configured with a single processor, first, one processor is configured by combining one or more CPUs and software, and this processor functions as a hardware resource that executes a specific process. Second, there is a system that uses a processor that realizes the functions of an entire system including multiple hardware resources that execute a specific process on a single IC chip, as typified by SoC (System-on-a-chip). In this way, a specific process is realized using one or more of the above-mentioned various processors as hardware resources.
[1801] Furthermore, the hardware structure of these various processors can be, more specifically, an electric circuit that combines circuit elements such as semiconductor devices. The specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps may be deleted, new steps may be added, or the processing order may be rearranged, without departing from the spirit of the invention.
[1802] The above-described description and illustrations are a detailed explanation of the parts related to the technology of the present disclosure and are merely an example of the technology of the present disclosure. For example, the above description of the configuration, functions, actions, and effects is an explanation of an example of the configuration, functions, actions, and effects of the parts related to the technology of the present disclosure. Therefore, it goes without saying that unnecessary parts may be deleted, new elements may be added, or replacements may be made to the above-described description and illustrations within the scope of the gist of the technology of the present disclosure. Furthermore, to avoid confusion and facilitate understanding of the parts related to the technology of the present disclosure, the above-described description and illustrations omit explanations of common technical knowledge that do not require particular explanation to enable the implementation of the technology of the present disclosure.
[1803] All publications, patent applications, and technical standards mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication, patent application, or technical standard was specifically and individually indicated to be incorporated by reference.
[1804] The following is further disclosed regarding the above embodiment.
[1805] (Claim 1)
[1806] A means of collecting video data of choreographers;
[1807] A means of analyzing the collected video data and extracting the characteristics of the choreographer;
[1808] A means for generating a model video based on the extracted features;
[1809] A means for recording the user's practice;
[1810] A means for transmitting the recorded practice footage to a server;
[1811] A means for analyzing the received practice footage and generating feedback for the user;
[1812] means for providing the generated feedback to a user;
[1813] A system including:
[1814] (Claim 2)
[1815] The system according to claim 1, further comprising means for comparing and evaluating the user's practice footage with the characteristics of a choreographer when analyzing the user's practice footage.
[1816] (Claim 3)
[1817] 10. The system of claim 1, further comprising means for displaying the generated feedback in real time on a user's terminal.
[1818] "Example 1"
[1819] (Claim 1)
[1820] A means for obtaining video data of the choreographer;
[1821] A means for analyzing the acquired video data and extracting the choreographer's movement patterns;
[1822] A means for generating a reference video based on the extracted movement pattern;
[1823] A means for recording the user's practice;
[1824] A means to transfer the recorded practice footage to the server,
[1825] A means for analyzing the transferred practice footage and generating evaluation information for the user;
[1826] means for distributing the generated evaluation information to users;
[1827] A system including:
[1828] (Claim 2)
[1829] The system according to claim 1, further comprising means for analyzing the user's practice and evaluating the same by comparing it with the choreographer's movement patterns.
[1830] (Claim 3)
[1831] 10. The system of claim 1, further comprising: means for providing the generated rating information in real time to a user display device.
[1832] "Application Example 1"
[1833] (Claim 1)
[1834] A means of collecting video data of choreographers;
[1835] A means of analyzing the collected video data and extracting the characteristics of the choreographer;
[1836] A means for generating a model video based on the extracted features;
[1837] A means for recording the user's practice;
[1838] A means for transmitting the recorded practice footage to a server;
[1839] A means for analyzing the received practice footage and generating feedback for the user;
[1840] means for providing the generated feedback to a user;
[1841] a means for displaying the feedback in real time on the user's device;
[1842] A means including a smartphone or a head-mounted display on a user's terminal;
[1843] A way to download choreographer videos from cloud storage,
[1844] A means of evaluating users' practice scenes in real time,
[1845] A system including:
[1846] (Claim 2)
[1847] The system of claim 1, further comprising means for evaluating the user's practice performance in comparison with the characteristics of the choreographer.
[1848] (Claim 3)
[1849] 10. The system of claim 1, further comprising means for displaying the feedback in real time on a smartphone, smart glasses, or head-mounted display.
[1850] "Example 2: Combining Emotion Engines"
[1851] (Claim 1)
[1852] A means of collecting video data of choreographers;
[1853] A means of analyzing the collected video data and extracting the characteristics of the choreographer;
[1854] A means for generating a model video based on the extracted features;
[1855] A means for recording the user's practice;
[1856] A means for transmitting the recorded practice footage to a server;
[1857] A means for analyzing the received practice footage and generating feedback based on the analysis results including the user's emotional data;
[1858] means for providing the generated feedback to a user;
[1859] A system including:
[1860] (Claim 2)
[1861] The system according to claim 1, further comprising means for comparing and evaluating the user's practice footage with the characteristics of a choreographer when analyzing the user's practice footage.
[1862] (Claim 3)
[1863] 10. The system of claim 1, further comprising means for displaying the generated feedback in real time on a user's terminal.
[1864] "Application example 2 when combining emotion engines"
[1865] (Claim 1)
[1866] A means of collecting video data of choreographers;
[1867] A means of analyzing the collected video data and extracting the characteristics of the choreographer;
[1868] A means for generating a model video based on the extracted features;
[1869] A means for recording the user's practice;
[1870] A means for transmitting the recorded practice footage to a server;
[1871] A means for analyzing the received practice footage and generating feedback for the user;
[1872] means for providing the generated feedback to a user;
[1873] means for analyzing user emotion data;
[1874] means for adjusting the feedback based on the user's emotional data;
[1875] A system including:
[1876] (Claim 2)
[1877] The system according to claim 1, further comprising means for comparing and evaluating the user's practice footage with the characteristics of a choreographer when analyzing the user's practice footage.
[1878] (Claim 3)
[1879] 10. The system of claim 1, further comprising means for displaying the generated feedback in real time on a user's terminal. [Explanation of symbols]
[1880] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot< / url:> < / url:> < / url:> < / url:>
Claims
1. A means of collecting video data of choreographers; A means of analyzing the collected video data and extracting the characteristics of the choreographer; A means for generating a model video based on the extracted features; A means for recording the user's practice; A means for transmitting the recorded practice footage to a server; A means for analyzing the received practice footage and generating feedback for the user; means for providing the generated feedback to a user; A system including:
2. The system according to claim 1, further comprising means for comparing and evaluating the user's practice footage with the characteristics of a choreographer when analyzing the user's practice footage.
3. 10. The system of claim 1, further comprising means for displaying the generated feedback in real time on a user's terminal.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A