system
A system that detects and generates reproducible instruction data from video data of skilled craftsmen's movements addresses the challenge of accurately inheriting their techniques, enabling effective skill transmission.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-09-05
- Publication Date
- 2026-03-17
AI Technical Summary
Existing methods struggle to accurately record and transmit the skills and actions of skilled craftsmen, particularly losing fine movements and timings, and there is a need for a simple and effective way to inherit these techniques.
A system that detects specific movements from video data, inputs this data into a generative model to generate reproducible instruction data, and saves this data for later use.
Enables accurate reproduction of intricate techniques and movements, allowing anyone to learn them effectively, overcoming the limitations of conventional video recordings.
Smart Images

Figure 2026048552000001_ABST
Abstract
Description
Technical Field
[0004] , , , ,
[0005] , , , , ,
[0003] , ,
[0001] The technology of the present disclosure relates to a system.
Background Art
[0002] Patent Document 1 discloses a method for controlling a persona chatbot, which is performed by at least one processor and includes steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to an explanation of a chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] The inheritance of traditional techniques has the problem that it is difficult to accurately record and transmit the skills and actions of particularly skilled craftsmen to the next generation. Just recording the craftsman's skills on video tends to lose important information such as their fine movements and timings, making it difficult to inherit them appropriately. Furthermore, as the shortage of successors progresses, there is a need for a method to simply and effectively inherit such techniques.
Means for Solving the Problems
[0005] This invention provides a system that detects specific movements from video data, inputs that movement data into a generative model to generate reproducible instruction data, and saves that instruction data. This system makes it possible to accurately reproduce the techniques and movements of craftsmen, creating manuals that allow anyone to learn the same movements. Specifically, it detects hand movements from video data and inputs that data into a generative model using machine learning to generate instruction data that faithfully reproduces the movements of craftsmen. Saving this instruction data enables the transmission of skills to future generations.
[0006]
[0007] "Video data" refers to video files that record the skills and movements of craftsmen.
[0008] "Action" refers to a specific action or movement, including the techniques and gestures of a craftsman.
[0009] "Detection" refers to identifying specific actions from video data and acquiring them as data.
[0010] "Action data" refers to the detected actions represented as numerical values or coordinates.
[0011] A "generative model" is a mathematical model that uses machine learning algorithms to generate reproducible instruction data from behavioral data.
[0012] "Input" refers to supplying behavioral data to a generative model for processing.
[0013] "Reproducible instruction data" refers to information that specifically instructs an action, and which allows the action to be reproduced based on this data.
[0014] "Saving" means recording the generated instruction data in a file or other format, making it available for later use.
[0015] The "system" is a set of devices or software that detects actions from video data and executes a series of processes to reproduce and save them as instruction data using a generation model.
[0016] "Hand movement" refers to the detailed actions such as the position, movement, and angle of the hand when a craftsman executes a technique.
[0017] "Machine learning" is a technology in which an algorithm learns patterns from given data and analyzes and generates new data based on the results.
Brief Explanation of Drawings
[0018] [Figure 1] It is a conceptual diagram showing an example of the configuration of a data processing system according to the first embodiment. [Figure 2] It is a conceptual diagram showing an example of the main functions of a data processing device and a smart device according to the first embodiment. [Figure 3] It is a conceptual diagram showing an example of the configuration of a data processing system according to the second embodiment. [Figure 4] It is a conceptual diagram showing an example of the main functions of a data processing device and smart glasses according to the second embodiment. [Figure 5] It is a conceptual diagram showing an example of the configuration of a data processing system according to the third embodiment. [Figure 6] It is a conceptual diagram showing an example of the main functions of a data processing device and a headset-type terminal according to the third embodiment. [Figure 7] It is a conceptual diagram showing an example of the configuration of a data processing system according to the fourth embodiment. [Figure 8] It is a conceptual diagram showing an example of the main functions of a data processing device and a robot according to the fourth embodiment. [Figure 9] It shows an emotion map to which a plurality of emotions are mapped. [Figure 10] It shows an emotion map to which a plurality of emotions are mapped. [Figure 11] It is a sequence diagram showing the processing flow of the data processing system in Example 1. [Figure 12] It is a sequence diagram showing the processing flow of the data processing system in Application Example 1. [Figure 13] It is a sequence diagram showing the processing flow of the data processing system in Example 2 when the emotion engine is combined. [Figure 14] It is a sequence diagram showing the processing flow of the data processing system in Application Example 2 when the emotion engine is combined.
Embodiments for Carrying Out the Invention
[0019] Hereinafter, an example of an embodiment of a system according to the technology of the present disclosure will be described with reference to the accompanying drawings.
[0020] First, the terms used in the following description will be explained.
[0021] In the following embodiments, a numbered processor (hereinafter simply referred to as "processor") may be a single arithmetic unit or a combination of multiple arithmetic units. Also, the processor may be a single type of arithmetic unit or a combination of multiple types of arithmetic units. Examples of arithmetic units include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), an APU (Accelerated Processing Unit), and the like.
[0022] In the following embodiments, a numbered RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a work memory by the processor.
[0023] In the following embodiments, the signed storage is one or more non-volatile storage devices that store various programs and various parameters. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), or magnetic tapes.
[0024] In the following embodiments, the signed communication interface (I / F) is an interface that includes a communication processor and an antenna, etc. The communication interface manages communication between multiple computers. Examples of communication standards applicable to the communication interface include wireless communication standards such as 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), or Bluetooth (registered trademark).
[0025] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." That is, "A and / or B" means that it may be A alone, or B alone, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" applies when expressing three or more things linked by "and / or."
[0026] [First Embodiment]
[0027] Figure 1 shows an example of the configuration of the data processing system 10 according to the first embodiment.
[0028] As shown in Figure 1, the data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.
[0029] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0030] The smart device 14 comprises a computer 36, a reception device 38, an output device 40, a camera 42, and a communication interface 44. The computer 36 comprises a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The reception device 38, output device 40, and camera 42 are also connected to the bus 52.
[0031] The reception device 38 is equipped with a touch panel 38A and a microphone 38B, etc., and receives user input. The touch panel 38A receives user input by detecting contact with an object (e.g., a pen or finger). The microphone 38B receives user input by detecting the user's voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.
[0032] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form perceptible to the user 20 (e.g., audio and / or text). The display 40A displays visible information such as text and images according to instructions from the processor 46. The speaker 40B outputs audio according to instructions from the processor 46. The camera 42 is a small digital camera equipped with an optical system such as a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0033] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various types of information between processor 46 and processor 28 via network 54.
[0034] Figure 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0035] As shown in Figure 2, in the data processing device 12, a specific processing is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" related to the technology of this disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 according to the specific processing program 56 executed on the RAM 30.
[0036] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0037] In the smart device 14, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The reception output program 60 is used in conjunction with a specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0038] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the smart device 14 as the "terminal".
[0039] This invention relates to a system that detects specific actions from video data, inputs that action data into a generation model, and generates and stores reproducible instruction data. Specific embodiments of this system are described below.
[0040] This system primarily involves servers, terminals, and users. The following describes how to use the system from the user's perspective.
[0041] First, the user prepares a video file containing a specific traditional technique they wish to learn (e.g., lacquerware or pottery techniques). The user uploads this video file to the server through the system interface. After receiving the uploaded video file, the server analyzes it frame by frame using an image processing library such as OpenCV.
[0042] The server detects specific movements, specifically the hand movements of the craftsman, from each analyzed frame. Joint detection algorithms and hand position tracking algorithms are used to detect hand movements. This data is recorded as motion data, either numerically or as coordinates.
[0043] Next, the server inputs the collected motion data into a generative model using a machine learning algorithm. The generative model generates reproducible instruction data based on the given motion data. This instruction data includes detailed information about the craftsman's hand movements and instructions for reproducing those movements.
[0044] The generated instruction data is saved by the server in an appropriate format (e.g., NumPy array or JSON format). The saved instruction data is retained on the server for later access and use by the user.
[0045] Users can access the server using their devices (e.g., PCs, tablets, smartphones) and download the generated instruction data. By viewing the downloaded instruction data, users can learn the craftsman's techniques in detail. Specifically, the downloaded instruction data is displayed as videos to reproduce hand movements and step-by-step instructions.
[0046] For example, suppose a user who wants to learn pottery techniques uploads a video file recording their pottery work. The server analyzes the video, detects the hand movements of the craftsman, and inputs that motion data into a generative model. The generative model generates instruction data to reproduce the specific movements for each step of pottery (e.g., shaping the clay, painting, applying glaze), and saves it. The user can later download this saved instruction data and use it as a reference when actually performing pottery work.
[0047] This invention makes it possible to accurately record the intricate techniques and movements of traditional crafts, and to easily pass them on to future generations. It can accurately reproduce even the most subtle movements that cannot be captured by conventional video recordings alone, and provide them as a manual that allows anyone to acquire the same skills.
[0048] The following describes the processing flow.
[0049] Step 1:
[0050] Users prepare video files containing the traditional techniques they wish to learn and upload them to the server through the system's interface.
[0051] Step 2:
[0052] The server receives video files uploaded by users and analyzes them frame by frame using the OpenCV library. Specifically, it reads the video file using the cv2.VideoCapture function.
[0053] Step 3:
[0054] The server detects the hand position for each frame of the video. This hand detection uses joint detection algorithms and hand position tracking algorithms to collect hand position data.
[0055] Step 4:
[0056] The server saves the detected hand movement data in a list format for each frame. This list includes the hand position data for each frame (e.g., x-coordinate, y-coordinate, hand angle).
[0057] Step 5:
[0058] The server inputs the collected hand movement data into a generative model. The generative model uses a machine learning algorithm to generate reproducible instruction data based on the hand movement data.
[0059] Step 6:
[0060] The server saves the generated instruction data in an appropriate format (e.g., NumPy array or JSON format). The saved instruction data is stored on the server and made accessible to the user later.
[0061] Step 7:
[0062] The user accesses the server using a terminal and downloads the generated instruction data. The download is performed after the user logs into the system.
[0063] Step 8:
[0064] Users learn and practice techniques using downloaded instruction data. Specifically, they practice by reproducing hand movements and following step-by-step instructions based on the instruction data.
[0065] Step 9:
[0066] If necessary, users can review the instruction data multiple times to deepen their understanding of the techniques. This allows users to effectively acquire traditional techniques.
[0067] (Example 1)
[0068] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."
[0069] Accurately recording the intricate techniques and movements of traditional crafts and easily passing them on to future generations is difficult with conventional video recordings alone. Furthermore, there is a lack of means to accurately reproduce the skills of craftsmen and provide them as manuals that allow anyone to acquire the same techniques.
[0070] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0071] In this invention, the server includes means for a user to upload video data to the server, means for the server to analyze the uploaded video data frame by frame, means for detecting specific movements from the analyzed frames and recording the movement data as numerical values or coordinates, means for inputting the recorded movement data into a generative model using a machine learning algorithm to generate reproducible instruction data, means for saving the generated instruction data, and means for the user to download the saved instruction data. This makes it possible to accurately reproduce even the minute movements of traditional techniques and easily pass them on to the next generation. Furthermore, it enables users to learn the techniques of craftsmen in detail and acquire them as their own skills.
[0072] "Video data" refers to video files recorded in digital format, and examples include videos of traditional techniques being performed.
[0073] A "server" refers to a dedicated computer that provides services to other computer terminals on a network. This system receives and analyzes video data, generates instruction data, and stores it.
[0074] "Analyzing on a frame-by-frame basis" refers to dividing video data into a series of still images over time and then analyzing each still image individually.
[0075] "Specific actions" refers to specific actions or movements performed within a video, and in this system, it specifically refers to the hand movements of a craftsman.
[0076] A "generative model" refers to a model that uses machine learning algorithms to generate new data or instructions based on input data. In this system, it is used to generate reproducible instruction data from behavioral data.
[0077] A "machine learning algorithm" refers to mathematical methods and algorithms that learn from data and perform tasks such as prediction, classification, and generation.
[0078] "Instruction data" refers to data containing detailed procedures and information for reproducing a specific detected action. This data serves as a reference for users to acquire the necessary skills.
[0079] "Numerical values and coordinates" refers to a format in which motion data is represented using numerical information (e.g., joint angles) or coordinate information (e.g., the coordinates of the hand's position).
[0080] "Means of preservation" refers to methods of recording generated instruction data in databases, file systems, etc., in order to retain it for a long period of time.
[0081] "Downloading" refers to the process of transferring data stored on a server to a user's device for retrieval.
[0082] This invention relates to a system for detecting specific actions from video data and generating and storing reproducible instruction data using a generative model. Specific embodiments are described below.
[0083] This system primarily involves servers, terminals, and users. The following describes how to use the system from the user's perspective.
[0084] First, the user prepares a video file recording a specific traditional technique they wish to learn (e.g., lacquerware or pottery techniques). The user uploads this video file to the server through the system interface. After receiving the uploaded video file, the server analyzes it frame by frame using an image processing library such as OpenCV.
[0085] The server detects specific movements from each analyzed frame. Specifically, it uses joint detection algorithms (e.g., MediaPipe Hands) and hand position tracking algorithms (e.g., OpenPose) to detect the movements of the craftsman's hands. This data is recorded as motion data, either numerically or as coordinates. For example, the coordinates of each joint in the hand are saved in (x, y, z) format.
[0086] Next, the server inputs the collected motion data into a generative model using a machine learning algorithm. Specifically, it uses machine learning frameworks such as TENSORFLOW® or PyTorch. The generative model generates reproducible instruction data based on the given motion data. This instruction data includes detailed information about hand movements and the steps to reproduce those movements.
[0087] The generated instruction data is stored by the server in an appropriate format (e.g., NumPy array or JSON). The storage location will be a database (e.g., MongoDB) or a specific directory on the file system. Furthermore, the server will configure appropriate permission management to allow access to the instruction data.
[0088] Users can access the server using their devices (e.g., PCs, tablets, smartphones) and download the generated instruction data. The downloaded instruction data can be displayed as, for example, an HTML document or another video file. Using the instruction data, users can learn the techniques of craftsmen in detail and acquire them as their own skills.
[0089] Specific example
[0090] For example, a user who wants to learn pottery techniques uploads a video file of their pottery work to the system. The server analyzes the video, detects the hand movements of the craftsman, and inputs that motion data into a generative model. The generative model generates instruction data to reproduce the specific movements of each step of pottery (e.g., shaping the clay, painting, applying glaze), and saves it. The user can later download this saved instruction data and use it as a reference when actually performing pottery work.
[0091] Example of a prompt
[0092] The following prompts are used as input to the generating AI model:
[0093] "After analyzing the video and detecting specific movements, generate and save reproducible instruction data based on this data. A specific example is video data of 'lacquer painting.' From this video data, accurately extract the hand movements of the craftsman and generate detailed instruction data to reproduce those movements."
[0094] The above describes a specific embodiment of this system. This invention makes it possible to accurately record the intricate techniques and movements of traditional skills and easily pass them on to future generations. Furthermore, it can accurately reproduce even the most subtle movements that cannot be captured by conventional video recordings alone, providing a manual that allows anyone to acquire the same skills.
[0095] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0096] Step 1:
[0097] Users prepare video files containing recordings of specific traditional techniques they wish to learn and upload them to the server through the system's interface.
[0098] Input: Video file (e.g., "pottery_technique.mp4")
[0099] Output: Video files uploaded to the server
[0100] Step 2:
[0101] The server receives video files uploaded by users and analyzes them frame by frame using image processing libraries such as OpenCV.
[0102] Input: Uploaded video file
[0103] Output: Each frame of the video (e.g., 30 frames per second means 30 still images every second)
[0104] Step 3:
[0105] The server detects specific movements from each analyzed frame. It uses MediaPipe Hands or OpenPose to detect the movements of the craftsman's hands and obtains coordinate data (in x, y, z format) of the hand joints.
[0106] Input: Each frame of the video
[0107] Output: Coordinate data of the hand joints (e.g., coordinate information of hand movement for each frame)
[0108] Step 4:
[0109] The server inputs the collected behavioral data into a generative model using a machine learning algorithm (e.g., TensorFlow or PyTorch). The generative model generates reproducible instruction data based on the given behavioral data.
[0110] Input: Coordinate data of the hand joints
[0111] Output: Reproducible instruction data (e.g., detailed instructions describing hand movements)
[0112] Step 5:
[0113] The server saves the generated instruction data in an appropriate format (e.g., NumPy array or JSON). The storage location will be a database (e.g., MongoDB) or a specific directory on the file system.
[0114] Input: Reproducible instruction data
[0115] Output: Saved instruction data (e.g., "instruction_data.json")
[0116] Step 6:
[0117] The user accesses the server using their device and downloads the generated instruction data. The downloaded instruction data is displayed as, for example, an HTML document or another video file.
[0118] Input: Saved instruction data
[0119] Output: Downloaded instruction data
[0120] Specific example:
[0121] For example, if a user wants to learn pottery techniques, they upload a video file called "pottery_technique.mp4" recording their pottery work to the system. The server analyzes the video frame by frame and detects hand movements using MediaPipe Hands. The detected hand movement data is input into a generative model using TensorFlow, which generates reproducible instruction data. This instruction data is saved as "instruction_data.json," which the user downloads from their device to learn pottery techniques.
[0122] (Application Example 1)
[0123] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."
[0124] Conventional technologies have made it difficult to detect specific movements from video data and generate instruction data to accurately reproduce them. In particular, automating precise tasks and delicate operations in factory automation equipment requires detecting and reproducing hand movements with extremely high precision. However, current technology makes it difficult to realize such advanced automation systems.
[0125] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0126] In this invention, the server includes means for detecting a specific action from video data, means for inputting the detected action data into a generation model to generate reproducible instruction data, means for storing the generated instruction data, and means for reproducing the specific action in an automated device within a factory. This makes it possible to detect a specific action from video data with high accuracy and to reproduce that action in an automated device within a factory.
[0127] "Video data" is a digital format of data that expresses movement by displaying multiple still images in sequence.
[0128] "Specific actions" refer to predefined movements or behaviors detected within video data.
[0129] "Means of detection" refers to methods or devices for recognizing and identifying target behaviors or movements, such as image processing algorithms.
[0130] A "generative model" refers to a machine learning or AI algorithm used to generate new data from input data.
[0131] "Reproducible instruction data" refers to data that contains specific instructions and parameters necessary to faithfully reproduce the detected operation by other systems or devices.
[0132] "Means of preservation" refers to a method or apparatus for electronically recording generated data and making it accessible at a later date.
[0133] A "system" refers to a comprehensive device or program in which multiple elements work together to achieve a specific function.
[0134] "Factory automation equipment" refers to machines and devices designed to automate tasks such as production and assembly within a factory.
[0135] Modes for carrying out the invention
[0136] This invention relates to a system for detecting specific actions from video data, inputting that action data into a generation model to generate and store reproducible instruction data, and reproducing that action using automated equipment in a factory. The system primarily involves a server, terminals, and users.
[0137] System Overview
[0138] 1. Preparing and uploading video data
[0139] Users prepare video files recording specific tasks performed within the factory and upload them to the server via the system interface. These video files include precise tasks and delicate operations that automated equipment within the factory must perform.
[0140] 2. Analysis of video data
[0141] The server receives the uploaded video file and analyzes it frame by frame using image processing libraries such as OpenCV. Specifically, it uses joint detection algorithms and hand position tracking algorithms to detect specific movements within the video, particularly hand movements. This data is recorded as motion data, either numerically or as coordinates.
[0142] 3. Generation and storage of operation data
[0143] The server inputs the collected motion data into a generative model using a machine learning algorithm. The generative model generates reproducible instruction data based on the given motion data. The generated instruction data includes detailed information about the craftsman's hand movements and instructions for reproducing those movements using automated equipment in the factory. This instruction data is stored on the server in NumPy array or JSON format.
[0144] 4. Use of instruction data
[0145] Users can access the server using their devices (e.g., PCs, tablets, smartphones) and download the generated instruction data. The downloaded instruction data is then installed on automated equipment within the factory and used to reproduce specified actions.
[0146] Hardware and software used
[0147] Hardware: Servers, factory automation equipment, cameras, user terminals (PCs, tablets, smartphones)
[0148] Software: OpenCV, machine learning frameworks (e.g., Keras), Python, NumPy, JSON data storage.
[0149] Specific example of processing
[0150] For example, when learning the assembly process of precision parts, the user uploads a video file recording a craftsman's assembly work. The server analyzes the video, detects hand movements, and saves them as motion data. A generative model generates and saves reproducible instruction data from the detected motion data. By downloading this instruction data and installing it into automated equipment in the factory, it becomes possible to reproduce similar assembly work with high accuracy.
[0151] Example of a prompt:
[0152] "For a robot performing high-precision assembly work in a factory, please analyze the following video and generate instruction data that replicates the hand movements of a skilled craftsman."
[0153] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0154] Step 1:
[0155] The user prepares a video file recording a specific task within the factory and uploads it to the server using a terminal. The input is the video file, and the output is the video data stored on the server. This process moves the video data to the server, where it is ready for analysis.
[0156] Step 2:
[0157] The server receives the uploaded video data and analyzes the video frame by frame using image processing libraries such as OpenCV. Specifically, it breaks down the video data into frames and detects the hand movements within each frame. The input is each frame of the video file, and the output is motion data including hand position and joint data.
[0158] Step 3:
[0159] The server uses joint detection algorithms and hand position tracking algorithms to record hand movements frame by frame as numerical data and coordinates. This process processes and stores the analyzed hand movements frame by frame as numerical data. The input is the hand movement data for each frame obtained in step 2, and the output is continuous hand movement data.
[0160] Step 4:
[0161] The server inputs collected motion data into a generative model using a machine learning algorithm. The generative model generates reproducible instruction data based on the given motion data. The input is motion data, and the output is the generated reproducible instruction data. The generative model analyzes the motion data and generates detailed instructions to faithfully reproduce its movements.
[0162] Step 5:
[0163] The server stores the generated instruction data. Specifically, it saves the generated instruction data to a file in NumPy array or JSON format. The input is reproducible instruction data generated by the generative model, and the output is the instruction data file stored on the server. The stored data is accessible to users and automated devices at a later date.
[0164] Step 6:
[0165] The user accesses the server using a terminal and downloads stored instruction data. The input is the instruction data stored on the server, and the output is the instruction data downloaded to the terminal. The downloaded data is used by the user to install it on automated equipment within the factory.
[0166] Step 7:
[0167] The automated equipment in the factory reproduces specific actions based on instruction data acquired from a terminal. Specifically, it accurately reproduces hand movements according to the instruction data, performing high-precision tasks. The input is instruction data downloaded by the user and installed on the device, and the output is the reproduced specific action. This process enables the automated equipment to perform tasks based on video data with high precision.
[0168] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0169] This invention relates to a system that detects specific actions from video data, inputs that action data into a generation model to generate reproducible instruction data, and further combines it with an emotion engine that recognizes the user's emotions to provide optimal instruction data. A specific embodiment of this system is described below.
[0170] This system primarily involves servers, terminals, and users. The following describes how to use the system from the user's perspective.
[0171] First, the user prepares a video file containing a specific traditional technique they wish to learn and uploads it to the server through the system interface. After receiving the uploaded video file, the server analyzes it frame by frame using image processing libraries such as OpenCV.
[0172] The server detects specific actions, particularly the hand movements of the craftsman, from each frame of the video. Joint detection algorithms and hand position tracking algorithms are used to detect the hands and collect hand position data. This action data is stored in a list format for each frame.
[0173] Next, the server inputs the collected motion data into a generative model using a machine learning algorithm. The generative model generates reproducible instruction data based on the motion data. This instruction data includes detailed information about the craftsman's hand movements and instructions for reproducing those movements.
[0174] The generated instruction data is stored by the server in an appropriate format. The stored instruction data is retained on the server for later access and use by the user.
[0175] Furthermore, this system incorporates an emotion engine that recognizes the user's emotions. The emotion engine analyzes the user's facial expressions and voice to recognize the user's emotional state in real time. The emotion data recognized by the emotion engine is sent to the server. The server evaluates the user's state based on the emotion data from the emotion engine and adjusts and provides the optimal instruction data.
[0176] For example, when a user wants to learn pottery techniques, they upload a video file recording their pottery work. The server analyzes the video, detects the craftsman's hand movements, and collects motion data. Then, a generative model generates instruction data, which is stored. When the user downloads the pottery instruction data and learns, the emotion engine analyzes the user's facial expressions and voice. If the server detects that the user is in a confused emotional state, it can adjust the instruction data based on that information, providing more detailed explanations and additional supplementary information.
[0177] This invention makes it possible to accurately record the intricate techniques and movements of traditional crafts, and to provide optimal instruction data while considering the user's emotional state. This allows for the reproduction of even the most subtle movements that cannot be captured by conventional video recordings alone, and can be provided as a manual for effectively learning the techniques.
[0178] The following describes the processing flow.
[0179] Step 1:
[0180] Users prepare video files containing recordings of specific traditional techniques they wish to learn and upload these video files to the server through the system's interface.
[0181] Step 2:
[0182] The server receives video files uploaded by users and analyzes them frame by frame using the OpenCV library. Specifically, it reads the video file using the cv2.VideoCapture function.
[0183] Step 3:
[0184] The server detects the hand position for each frame of the video. This hand detection uses joint detection algorithms and hand position tracking algorithms to collect hand position data.
[0185] Step 4:
[0186] The server saves the detected hand movement data in a list format for each frame. This list includes the hand position data for each frame (e.g., x-coordinate, y-coordinate, hand angle).
[0187] Step 5:
[0188] The server inputs the collected hand movement data into a generative model. The generative model uses a machine learning algorithm to generate reproducible instruction data based on the hand movement data.
[0189] Step 6:
[0190] The server saves the generated instruction data in an appropriate format (e.g., NumPy array or JSON format). The saved instruction data is stored on the server and made accessible to the user later.
[0191] Step 7:
[0192] The user accesses the server using a terminal and downloads the generated instruction data. The download is performed after the user logs into the system.
[0193] Step 8:
[0194] Users learn and practice techniques using downloaded instruction data. Specifically, they practice by reproducing hand movements and following step-by-step instructions based on the instruction data.
[0195] Step 9:
[0196] The device records the user's facial expressions and voice in real time, and an emotion engine recognizes the user's emotions. The emotion engine analyzes the user's facial expressions and voice to determine the user's emotional state (e.g., confused, excited, focused).
[0197] Step 10:
[0198] The server receives the user's emotional data, recognized by the emotion engine, and evaluates the user's state. If the server detects that the user is confused, it adjusts the instruction data and regenerates it to include more detailed explanations and additional support information.
[0199] Step 11:
[0200] The server then provides the user with the adjusted instruction data again, and the user downloads the new instruction data to continue learning the technique.
[0201] Step 12:
[0202] The user uses the regenerated instruction data to continue practicing the technique and deepen their understanding. If necessary, the system repeatedly performs emotion recognition by the emotion engine and adjusts the instruction data by the server.
[0203] This series of steps allows users to effectively learn traditional techniques and accurately reproduce even the intricate skills and movements of artisans. Furthermore, the emotional engine monitors the user's learning progress in real time and provides appropriate support, thereby enhancing the learning effect.
[0204] (Example 2)
[0205] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the smart device 14 as the "terminal".
[0206] Conventional technologies, while detecting specific movements from video data and providing reproducible instruction data, had the challenge of being unable to provide adaptive support that took user emotions into account. As a result, user learning effectiveness was often insufficient, making it difficult to acquire the necessary skills. In particular, it was difficult to generate instruction data that accurately reproduced subtle hand movements, making it impossible to respond appropriately when users felt confused or bewildered.
[0207] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0208] In this invention, the server includes means for detecting specific actions from video data, means for inputting the detected action data into a generation model to generate reproducible instruction data, means for storing the generated instruction data, and means for collecting user emotion data using an emotion analysis engine and adjusting and providing instruction data based on the collected emotion data.
[0209] This allows for the accurate detection of specific movements and their provision as reproducible instruction data, as well as adaptive support that takes into account the user's emotional state. Furthermore, it can reduce user confusion and hesitation, thereby enhancing learning effectiveness. In particular, because instruction data for reproducing subtle hand movements is adjusted based on the user's emotions, it becomes possible to efficiently acquire advanced skills such as traditional techniques.
[0210] "Video data" refers to a file or stream containing video information, and this is what will be analyzed.
[0211] "Specific action" refers to the movement of a specific object (for example, a human hand or arm) observed within the video data.
[0212] "Means of detection" refers to technologies and devices for identifying specific actions from video data and extracting this data.
[0213] A "generative model" refers to an algorithm or model that uses machine learning or deep learning to generate specific deliverables (e.g., instruction data) based on input behavioral data.
[0214] "Instruction data" refers to data containing specific instructions and information necessary to reproduce the detected action.
[0215] "Means of storage" refers to technologies and devices that store generated instruction data in a memory device or similar, making it accessible later.
[0216] An "emotion analysis engine" refers to a technology or system that analyzes data such as a user's facial expressions and voice to identify the user's emotional state.
[0217] "User sentiment data" refers to information about the user's emotional state collected by the sentiment analysis engine.
[0218] "Means of adjusting and providing" refers to technologies and devices that adaptively modify the content of instruction data based on collected user emotion data, and provide the user with the most optimal instruction data.
[0219] This invention relates to a system that detects specific actions from video data, inputs that action data into a generation model to generate reproducible instruction data, and further combines it with an emotion engine that recognizes the user's emotions to provide optimal instruction data. A specific embodiment of this system is described below.
[0220] This system primarily involves servers, terminals, and users.
[0221] First, the user prepares a video file containing the specific technique they want to learn and uploads this video file to the server through the system's interface. For example, if a user wants to learn pottery techniques, they would prepare a video file named "tougei_video.mp4" recording the pottery process and upload it to the server. To do this, the user accesses the system's web interface using a browser, clicks the "Select File" button, chooses the video file from their local folder, and uploads it.
[0222] After receiving an uploaded video file, the server uses image processing libraries such as OpenCV to analyze the video file frame by frame. For example, the server receives "tougei_video.mp4", uses the OpenCV library to divide it into 30 frames per second, and prepares each frame as image data. This makes it possible to analyze the movements of the craftsmen in detail frame by frame.
[0223] Next, the server detects specific actions, particularly the hand movements of the craftsman, from each frame of the video. Joint detection algorithms and hand position tracking algorithms are used to detect these hand movements and collect hand position data. For example, the server extracts the hand position in each frame as coordinate data and stores it as coordinate data in the "motion data list". Specifically, the coordinates of frame 1 are stored as (100, 150), the coordinates of frame 2 are stored as (105, 155), and so on.
[0224] The collected motion data is input into a generative model by the server, generating reproducible instruction data. The generative model uses machine learning to create instruction data based on the motion data. For example, the generative model creates data that includes specific instructions such as "raise your right hand" or "rotate your left hand." The generated instruction data is saved by the server in an appropriate format. For example, the generated instruction data is saved as "indications.json" so that the user can access it later.
[0225] Furthermore, this system incorporates an emotion engine that recognizes the user's emotions. The terminal captures the user's facial expressions and voice in real time using its camera and microphone, and sends this data to the emotion engine. The emotion engine analyzes the user's facial expressions and voice data and recognizes the user's emotional state in real time. For example, the terminal's camera and microphone are used to record the user's facial expressions and voice, and this data is passed to the emotion engine. The emotion engine recognizes the user's emotional state, such as confusion or satisfaction, from their facial expressions and sends that information to the server.
[0226] The server adjusts the instruction data based on the user's emotional data analyzed by the emotion engine. It adaptively modifies the content of the instruction data based on the collected emotional data to provide the user with the most suitable instruction data. For example, if the user is confused, the server generates and provides instruction data that includes additional explanations and supplementary information. Specifically, if the user appears confused, the server can provide an additional explanatory video showing hand positions with red lines.
[0227] Examples of prompt messages include the following:
[0228] "I want to learn pottery techniques. Please analyze this video file and generate reproducible instruction data."
[0229] "Please establish guidelines for adjusting the instruction data provided when users are confused."
[0230] In this way, the system helps users efficiently learn craftsmanship. Furthermore, by considering the user's emotional state using an emotion engine, it can provide a more personalized learning experience.
[0231] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0232] Step 1: Upload video file
[0233] Subject: User
[0234] Users prepare a video file containing the specific technology they wish to learn and upload it to the server through the system's interface. Specifically, they access the system's web interface using a browser, click the "Select File" button to choose a video file from their local folder, and then click the upload button. The input in this process is the video file, and the output is the video data sent to the server.
[0235] Step 2: Receiving and analyzing video data
[0236] Subject: Server
[0237] The server receives video files uploaded by users. It then analyzes the received video files frame by frame using image processing libraries such as OpenCV. Specifically, the server divides the video file into 30 frames per second and prepares each frame as image data. The input to this process is the received video file, and the output is the image data of each individual frame. For example, it receives "tougei_video.mp4" and converts it into image data of 3000 frames.
[0238] Step 3: Collecting operational data
[0239] Subject: Server
[0240] The server detects specific actions, particularly the hand movements of the craftsman, from each frame of the video. Joint detection algorithms and hand position tracking algorithms are used to collect hand position data. Specifically, the position of the hand in each frame is extracted as coordinate data and stored in a "motion data list." The input to this process is frame image data, and the output is a motion data list containing hand position data. For example, the coordinates of frame 1 are stored as (100, 150), and the coordinates of frame 2 are stored as (105, 155).
[0241] Step 4: Generating instruction data
[0242] Subject: Server
[0243] The server inputs collected motion data into a generative model to generate reproducible instruction data. The generative model uses machine learning algorithms to create reproducible instruction data based on the motion data. Specifically, the generative model creates data that includes specific instructions such as "raise your right hand" or "rotate your left hand." The input to this process is a list of motion data, and the output is reproducible instruction data. For example, the generative model might generate "detailed instruction data that includes arrows indicating hand movements."
[0244] Step 5: Save the instruction data
[0245] Subject: Server
[0246] The generated instruction data is saved by the server in an appropriate format. Specifically, the generated instruction data is saved as "indications.json" so that the user can access it later. The input to this process is the generated instruction data, and the output is the saved file. For example, the data is saved with the filename "indications.json".
[0247] Step 6: Collecting emotional data
[0248] Subject: terminal
[0249] The device uses a camera and microphone to capture the user's facial expressions and voice in real time and sends this data to the emotion engine. Specifically, the device's camera records the user's facial expressions and the microphone records the user's voice, and this data is sent to the emotion engine in real time. The input to this process is the user's facial image and voice data, and the output is emotion data sent to the emotion engine. For example, images of the moment the user's facial expression changes and changes in voice tone are sent.
[0250] Step 7: Analyzing emotional data
[0251] Subject: Server
[0252] The server analyzes the emotional data sent from the emotion engine. Specifically, it recognizes the user's emotional state, such as confusion or satisfaction, and collects that information. For example, the emotion engine identifies a confused state from the user's facial image and sends that information to the server. The input to this process is emotional data from the emotion engine, and the output is the analyzed emotional state information.
[0253] Step 8: Providing optimal instruction data
[0254] Subject: Server
[0255] The server adjusts instruction data based on the analyzed emotional data and provides the user with the most suitable instruction data. Specifically, if the user is confused, the server generates instruction data that includes additional explanations and supplementary information and provides it to the user. The input to this process is the analyzed emotional data, and the output is the adjusted instruction data. For example, depending on the state of confusion, it generates and provides an explanatory video with arrows indicating detailed hand positions.
[0256] Through the above processing steps, this system helps users efficiently learn craftsmanship and provides adaptive support according to their emotional state.
[0257] (Application Example 2)
[0258] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as a "server" and the smart device 14 as a "terminal".
[0259] Traditional systems that teach skills from video data have difficulty accurately detecting actions, making it difficult for users to properly acquire skills. Furthermore, because they only provide one-sided instructions without considering the user's emotional state, they hinder effective learning when the user becomes confused.
[0260] In Application Example 2, the specific processing performed by the specific processing unit 290 of the data processing device 12 is realized by the following means. In this invention, the server includes means for detecting a specific action from video data, means for inputting the detected action data into a generation model and generating reproducible instruction data, means for adjusting the instruction data based on the user's emotional state, and means for storing the generated instruction data. This makes it possible to accurately analyze technical actions and provide appropriate instructions according to the user's emotional state.
[0261] "Video data" is data that creates the illusion of movement by playing a series of still images at regular time intervals.
[0262] "Specific actions" refers to a series of consecutive movements or actions recognized within video data.
[0263] "Detection means" refers to functions or devices for analyzing and identifying specific actions from video data.
[0264] A "generative model" is a machine learning algorithm or statistical model used to generate new data based on input data.
[0265] "Reproducible instruction data" refers to data that contains detailed instructions and information necessary to accurately reproduce a particular action.
[0266] "Emotional state" refers to the psychological state and feedback analyzed from the user's facial expressions, voice, etc.
[0267] "Adjustment means" refers to functions or methods for modifying or supplementing instruction data based on the user's emotional state.
[0268] "Storage means" refers to functions or devices for temporarily or permanently recording and retaining generated instruction data.
[0269] This invention relates to a system that detects specific actions from video data, generates instruction data that can reproduce those actions using a generative model, and further adjusts the instruction data based on the user's emotional state. A specific embodiment of this system is described below.
[0270] First, the user uploads video data from their device to the server. This video data might, for example, be a recording of the work movements of a skilled worker in a factory. After receiving this video data, the server analyzes it frame by frame using image processing libraries such as OpenCV to detect specific movements, particularly hand movements. Joint detection algorithms and hand position tracking algorithms are used for this analysis. The detected movement data is saved in list format for each frame.
[0271] Next, the server inputs the collected motion data into a generative model. Based on machine learning algorithms, the generative model analyzes the motion data and generates reproducible instruction data. This instruction data includes detailed information about hand movements and specific instructions for reproducing those movements. The generated instruction data is stored by the server in an appropriate format and retained for later access and use by the user.
[0272] Furthermore, this system incorporates an emotion engine. This emotion engine analyzes the user's facial expressions and voice, recognizing the user's emotional state in real time. An emotion recognition library is used for the analysis. The server receives emotional data from the emotion engine and evaluates the user's state. The server then adjusts the instruction data based on the user's emotional state, enabling the user to learn appropriately.
[0273] For example, consider a scenario where a user is learning pottery techniques. The user uploads a video file recording their pottery work through the interface. The server analyzes the video, detecting the craftsman's hand movements and collecting motion data. Then, a generative model generates instruction data, which is saved. When the user downloads the saved instruction data to learn, the emotion engine analyzes the user's facial expressions and voice. If the server detects that the user is in a confused emotional state, it adjusts the instruction data based on that information, providing instruction data that includes more detailed explanations and additional supplementary information.
[0274] Examples of specific prompt messages include the following:
[0275] "Analyze this video of pottery making and generate instruction data for the robot to accurately reproduce the same task. Analyze the hand movements in the video in detail and adjust the instructions as needed based on the user's emotional state."
[0276] This system allows users to receive precise analysis of their technical actions and flexible instructions tailored to their emotional state, enabling effective skill acquisition.
[0277] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0278] Step 1:
[0279] The user uploads video data recording the technology they want to learn from the terminal to the server. The uploaded video file is received by the server and stored for analysis.
[0280] Input: Video data
[0281] Output: Video file stored on the server
[0282] Step 2:
[0283] The server uses the OpenCV library to split the video into image frames in order to analyze the received video data frame by frame.
[0284] Input: Video data
[0285] Output: List of split image frames
[0286] Step 3:
[0287] The server uses a joint detection algorithm or a hand position tracking algorithm for each frame to detect specific actions, especially hand movements. This motion data is stored in list form for each frame.
[0288] Input: Image frame
[0289] Output: List of detected hand motion data
[0290] Step 4:
[0291] The server inputs the collected motion data into a generation model and uses a machine learning algorithm to generate reproducible instruction data. Libraries such as TensorFlow and PyTorch are used for the generation model.
[0292] Input: List of motion data
[0293] Output: Reproducible instruction data
[0294] Step 5:
[0295] The server stores the generated instruction data in an appropriate format and stores it for later access and use by the user.
[0296] Input: Instruction data
[0297] Output: Stored instruction data
[0298] Step 6:
[0299] The user downloads the instruction data and starts learning. During learning, the user's expressions and voices are received by sending real-time feeds from the terminal's camera and microphone to the server.
[0300] Input: Real-time feeds (expressions, voices)
[0301] Output: Real-time feeds sent to the server
[0302] Step 7:
[0303] The server analyzes the real-time feeds and uses an emotion engine to recognize the user's emotional state. OpenCV and voice analysis libraries are used for this analysis.
[0304] Input: Real-time feeds
[0305] Output: User's emotion data
[0306] Step 8:
[0307] The server adjusts the instruction data based on the user's emotion data. For example, when the user is confused, the instruction data is made more detailed and includes additional explanations and auxiliary information.
[0308] Input: User's emotion data
[0309] Output: Adjusted instruction data
[0310] Step 9:
[0311] The server provides users with adjusted instruction data, ensuring they continue to receive appropriate guidance.
[0312] Input: Adjusted instruction data
[0313] Output: Instruction data provided to the user
[0314] This allows the entire system to improve the user's learning experience.
[0315] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0316] Data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of data generation model 58 is ChatGPT (registered trademark) (Internet search).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0317] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart device 14.
[0318] [Second Embodiment]
[0319] Figure 3 shows an example of the configuration of the data processing system 210 according to the second embodiment.
[0320] As shown in Figure 3, the data processing system 210 includes a data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0321] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0322] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication interface 44. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, and camera 42 are also connected to the bus 52.
[0323] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0324] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[0325] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0326] Figure 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Figure 4, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0327] The specific processing program 56 is an example of a "program" relating to the technology of this disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0328] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0329] In the smart glasses 214, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0330] Next, the identification processing performed by the identification processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal".
[0331] This invention relates to a system that detects specific actions from video data, inputs that action data into a generation model, and generates and stores reproducible instruction data. Specific embodiments of this system are described below.
[0332] This system primarily involves servers, terminals, and users. The following describes how to use the system from the user's perspective.
[0333] First, the user prepares a video file containing a specific traditional technique they wish to learn (e.g., lacquerware or pottery techniques). The user uploads this video file to the server through the system interface. After receiving the uploaded video file, the server analyzes it frame by frame using an image processing library such as OpenCV.
[0334] The server detects specific movements, specifically the hand movements of the craftsman, from each analyzed frame. Joint detection algorithms and hand position tracking algorithms are used to detect hand movements. This data is recorded as motion data, either numerically or as coordinates.
[0335] Next, the server inputs the collected motion data into a generative model using a machine learning algorithm. The generative model generates reproducible instruction data based on the given motion data. This instruction data includes detailed information about the craftsman's hand movements and instructions for reproducing those movements.
[0336] The generated instruction data is saved by the server in an appropriate format (e.g., NumPy array or JSON format). The saved instruction data is retained on the server for later access and use by the user.
[0337] Users can access the server using their devices (e.g., PCs, tablets, smartphones) and download the generated instruction data. By viewing the downloaded instruction data, users can learn the craftsman's techniques in detail. Specifically, the downloaded instruction data is displayed as videos to reproduce hand movements and step-by-step instructions.
[0338] For example, suppose a user who wants to learn pottery techniques uploads a video file recording their pottery work. The server analyzes the video, detects the hand movements of the craftsman, and inputs that motion data into a generative model. The generative model generates instruction data to reproduce the specific movements for each step of pottery (e.g., shaping the clay, painting, applying glaze), and saves it. The user can later download this saved instruction data and use it as a reference when actually performing pottery work.
[0339] This invention makes it possible to accurately record the intricate techniques and movements of traditional crafts, and to easily pass them on to future generations. It can accurately reproduce even the most subtle movements that cannot be captured by conventional video recordings alone, and provide them as a manual that allows anyone to acquire the same skills.
[0340] The following describes the processing flow.
[0341] Step 1:
[0342] Users prepare video files containing the traditional techniques they wish to learn and upload them to the server through the system's interface.
[0343] Step 2:
[0344] The server receives video files uploaded by users and analyzes them frame by frame using the OpenCV library. Specifically, it reads the video file using the cv2.VideoCapture function.
[0345] Step 3:
[0346] The server detects the hand position for each frame of the video. This hand detection uses joint detection algorithms and hand position tracking algorithms to collect hand position data.
[0347] Step 4:
[0348] The server saves the detected hand movement data in a list format for each frame. This list includes the hand position data for each frame (e.g., x-coordinate, y-coordinate, hand angle).
[0349] Step 5:
[0350] The server inputs the collected hand movement data into a generative model. The generative model uses a machine learning algorithm to generate reproducible instruction data based on the hand movement data.
[0351] Step 6:
[0352] The server saves the generated instruction data in an appropriate format (e.g., NumPy array or JSON format). The saved instruction data is stored on the server and made accessible to the user later.
[0353] Step 7:
[0354] The user accesses the server using a terminal and downloads the generated instruction data. The download is performed after the user logs into the system.
[0355] Step 8:
[0356] Users learn and practice techniques using downloaded instruction data. Specifically, they practice by reproducing hand movements and following step-by-step instructions based on the instruction data.
[0357] Step 9:
[0358] If necessary, users can review the instruction data multiple times to deepen their understanding of the techniques. This allows users to effectively acquire traditional techniques.
[0359] (Example 1)
[0360] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal".
[0361] Accurately recording the intricate techniques and movements of traditional crafts and easily passing them on to future generations is difficult with conventional video recordings alone. Furthermore, there is a lack of means to accurately reproduce the skills of craftsmen and provide them as manuals that allow anyone to acquire the same techniques.
[0362] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0363] In this invention, the server includes means for a user to upload video data to the server, means for the server to analyze the uploaded video data frame by frame, means for detecting specific movements from the analyzed frames and recording the movement data as numerical values or coordinates, means for inputting the recorded movement data into a generative model using a machine learning algorithm to generate reproducible instruction data, means for saving the generated instruction data, and means for the user to download the saved instruction data. This makes it possible to accurately reproduce even the minute movements of traditional techniques and easily pass them on to the next generation. Furthermore, it enables users to learn the techniques of craftsmen in detail and acquire them as their own skills.
[0364] "Video data" refers to video files recorded in digital format, and examples include videos of traditional techniques being performed.
[0365] A "server" refers to a dedicated computer that provides services to other computer terminals on a network. This system receives and analyzes video data, generates instruction data, and stores it.
[0366] "Analyzing on a frame-by-frame basis" refers to dividing video data into a series of still images over time and then analyzing each still image individually.
[0367] "Specific actions" refers to specific actions or movements performed within a video, and in this system, it specifically refers to the hand movements of a craftsman.
[0368] A "generative model" refers to a model that uses machine learning algorithms to generate new data or instructions based on input data. In this system, it is used to generate reproducible instruction data from behavioral data.
[0369] A "machine learning algorithm" refers to mathematical methods and algorithms that learn from data and perform tasks such as prediction, classification, and generation.
[0370] "Instruction data" refers to data containing detailed procedures and information for reproducing a specific detected action. This data serves as a reference for users to acquire the necessary skills.
[0371] "Numerical values and coordinates" refers to a format in which motion data is represented using numerical information (e.g., joint angles) or coordinate information (e.g., the coordinates of the hand's position).
[0372] "Means of preservation" refers to methods of recording generated instruction data in databases, file systems, etc., in order to retain it for a long period of time.
[0373] "Downloading" refers to the process of transferring data stored on a server to a user's device for retrieval.
[0374] This invention relates to a system for detecting specific actions from video data and generating and storing reproducible instruction data using a generative model. Specific embodiments are described below.
[0375] This system primarily involves servers, terminals, and users. The following describes how to use the system from the user's perspective.
[0376] First, the user prepares a video file recording a specific traditional technique they wish to learn (e.g., lacquerware or pottery techniques). The user uploads this video file to the server through the system interface. After receiving the uploaded video file, the server analyzes it frame by frame using an image processing library such as OpenCV.
[0377] The server detects specific movements from each analyzed frame. Specifically, it uses joint detection algorithms (e.g., MediaPipe Hands) and hand position tracking algorithms (e.g., OpenPose) to detect the movements of the craftsman's hands. This data is recorded as motion data, either numerically or as coordinates. For example, the coordinates of each joint in the hand are saved in (x, y, z) format.
[0378] Next, the server inputs the collected motion data into a generative model using a machine learning algorithm. Specifically, it uses machine learning frameworks such as TensorFlow or PyTorch. The generative model generates reproducible instruction data based on the given motion data. This instruction data includes detailed information about hand movements and the steps to reproduce those movements.
[0379] The generated instruction data is stored by the server in an appropriate format (e.g., NumPy array or JSON). The storage location will be a database (e.g., MongoDB) or a specific directory on the file system. Furthermore, the server will configure appropriate permission management to allow access to the instruction data.
[0380] Users can access the server using their devices (e.g., PCs, tablets, smartphones) and download the generated instruction data. The downloaded instruction data can be displayed as, for example, an HTML document or another video file. Using the instruction data, users can learn the techniques of craftsmen in detail and acquire them as their own skills.
[0381] Specific example
[0382] For example, a user who wants to learn pottery techniques uploads a video file of their pottery work to the system. The server analyzes the video, detects the hand movements of the craftsman, and inputs that motion data into a generative model. The generative model generates instruction data to reproduce the specific movements of each step of pottery (e.g., shaping the clay, painting, applying glaze), and saves it. The user can later download this saved instruction data and use it as a reference when actually performing pottery work.
[0383] Example of a prompt
[0384] The following prompts are used as input to the generating AI model:
[0385] "After analyzing the video and detecting specific movements, generate and save reproducible instruction data based on this data. A specific example is video data of 'lacquer painting.' From this video data, accurately extract the hand movements of the craftsman and generate detailed instruction data to reproduce those movements."
[0386] The above describes a specific embodiment of this system. This invention makes it possible to accurately record the intricate techniques and movements of traditional skills and easily pass them on to future generations. Furthermore, it can accurately reproduce even the most subtle movements that cannot be captured by conventional video recordings alone, providing a manual that allows anyone to acquire the same skills.
[0387] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0388] Step 1:
[0389] Users prepare video files containing recordings of specific traditional techniques they wish to learn and upload them to the server through the system's interface.
[0390] Input: Video file (e.g., "pottery_technique.mp4")
[0391] Output: Video files uploaded to the server
[0392] Step 2:
[0393] The server receives video files uploaded by users and analyzes them frame by frame using image processing libraries such as OpenCV.
[0394] Input: Uploaded video file
[0395] Output: Each frame of the video (e.g., 30 frames per second means 30 still images every second)
[0396] Step 3:
[0397] The server detects specific movements from each analyzed frame. It uses MediaPipe Hands or OpenPose to detect the movements of the craftsman's hands and obtains coordinate data (in x, y, z format) of the hand joints.
[0398] Input: Each frame of the video
[0399] Output: Coordinate data of the hand joints (e.g., coordinate information of hand movement for each frame)
[0400] Step 4:
[0401] The server inputs the collected behavioral data into a generative model using a machine learning algorithm (e.g., TensorFlow or PyTorch). The generative model generates reproducible instruction data based on the given behavioral data.
[0402] Input: Coordinate data of the hand joints
[0403] Output: Reproducible instruction data (e.g., detailed instructions describing hand movements)
[0404] Step 5:
[0405] The server saves the generated instruction data in an appropriate format (e.g., NumPy array or JSON). The storage location will be a database (e.g., MongoDB) or a specific directory on the file system.
[0406] Input: Reproducible instruction data
[0407] Output: Saved instruction data (e.g., "instruction_data.json")
[0408] Step 6:
[0409] The user accesses the server using their device and downloads the generated instruction data. The downloaded instruction data is displayed as, for example, an HTML document or another video file.
[0410] Input: Saved instruction data
[0411] Output: Downloaded instruction data
[0412] Specific example:
[0413] For example, if a user wants to learn pottery techniques, they upload a video file called "pottery_technique.mp4" recording their pottery work to the system. The server analyzes the video frame by frame and detects hand movements using MediaPipe Hands. The detected hand movement data is input into a generative model using TensorFlow, which generates reproducible instruction data. This instruction data is saved as "instruction_data.json," which the user downloads from their device to learn pottery techniques.
[0414] (Application Example 1)
[0415] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."
[0416] Conventional technologies have made it difficult to detect specific movements from video data and generate instruction data to accurately reproduce them. In particular, automating precise tasks and delicate operations in factory automation equipment requires detecting and reproducing hand movements with extremely high precision. However, current technology makes it difficult to realize such advanced automation systems.
[0417] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0418] In this invention, the server includes means for detecting a specific action from video data, means for inputting the detected action data into a generation model to generate reproducible instruction data, means for storing the generated instruction data, and means for reproducing the specific action in an automated device within a factory. This makes it possible to detect a specific action from video data with high accuracy and to reproduce that action in an automated device within a factory.
[0419] "Video data" is a digital format of data that expresses movement by displaying multiple still images in sequence.
[0420] "Specific actions" refer to predefined movements or behaviors detected within video data.
[0421] "Means of detection" refers to methods or devices for recognizing and identifying target behaviors or movements, such as image processing algorithms.
[0422] A "generative model" refers to a machine learning or AI algorithm used to generate new data from input data.
[0423] "Reproducible instruction data" refers to data that contains specific instructions and parameters necessary to faithfully reproduce the detected operation by other systems or devices.
[0424] "Means of preservation" refers to a method or apparatus for electronically recording generated data and making it accessible at a later date.
[0425] A "system" refers to a comprehensive device or program in which multiple elements work together to achieve a specific function.
[0426] "Factory automation equipment" refers to machines and devices designed to automate tasks such as production and assembly within a factory.
[0427] Modes for carrying out the invention
[0428] This invention relates to a system for detecting specific actions from video data, inputting that action data into a generation model to generate and store reproducible instruction data, and reproducing that action using automated equipment in a factory. The system primarily involves a server, terminals, and users.
[0429] System Overview
[0430] 1. Preparing and uploading video data
[0431] Users prepare video files recording specific tasks performed within the factory and upload them to the server via the system interface. These video files include precise tasks and delicate operations that automated equipment within the factory must perform.
[0432] 2. Analysis of video data
[0433] The server receives the uploaded video file and analyzes it frame by frame using image processing libraries such as OpenCV. Specifically, it uses joint detection algorithms and hand position tracking algorithms to detect specific movements within the video, particularly hand movements. This data is recorded as motion data, either numerically or as coordinates.
[0434] 3. Generation and storage of operation data
[0435] The server inputs the collected motion data into a generative model using a machine learning algorithm. The generative model generates reproducible instruction data based on the given motion data. The generated instruction data includes detailed information about the craftsman's hand movements and instructions for reproducing those movements using automated equipment in the factory. This instruction data is stored on the server in NumPy array or JSON format.
[0436] 4. Use of instruction data
[0437] Users can access the server using their devices (e.g., PCs, tablets, smartphones) and download the generated instruction data. The downloaded instruction data is then installed on automated equipment within the factory and used to reproduce specified actions.
[0438] Hardware and software used
[0439] Hardware: Servers, factory automation equipment, cameras, user terminals (PCs, tablets, smartphones)
[0440] Software: OpenCV, machine learning frameworks (e.g., Keras), Python, NumPy, JSON data storage.
[0441] Specific example of processing
[0442] For example, when learning the assembly process of precision parts, the user uploads a video file recording a craftsman's assembly work. The server analyzes the video, detects hand movements, and saves them as motion data. A generative model generates and saves reproducible instruction data from the detected motion data. By downloading this instruction data and installing it into automated equipment in the factory, it becomes possible to reproduce similar assembly work with high accuracy.
[0443] Example of a prompt:
[0444] "For a robot performing high-precision assembly work in a factory, please analyze the following video and generate instruction data that replicates the hand movements of a skilled craftsman."
[0445] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0446] Step 1:
[0447] The user prepares a video file recording a specific task within the factory and uploads it to the server using a terminal. The input is the video file, and the output is the video data stored on the server. This process moves the video data to the server, where it is ready for analysis.
[0448] Step 2:
[0449] The server receives the uploaded video data and analyzes the video frame by frame using image processing libraries such as OpenCV. Specifically, it breaks down the video data into frames and detects the hand movements within each frame. The input is each frame of the video file, and the output is motion data including hand position and joint data.
[0450] Step 3:
[0451] The server uses joint detection algorithms and hand position tracking algorithms to record hand movements frame by frame as numerical data and coordinates. This process processes and stores the analyzed hand movements frame by frame as numerical data. The input is the hand movement data for each frame obtained in step 2, and the output is continuous hand movement data.
[0452] Step 4:
[0453] The server inputs collected motion data into a generative model using a machine learning algorithm. The generative model generates reproducible instruction data based on the given motion data. The input is motion data, and the output is the generated reproducible instruction data. The generative model analyzes the motion data and generates detailed instructions to faithfully reproduce its movements.
[0454] Step 5:
[0455] The server stores the generated instruction data. Specifically, it saves the generated instruction data to a file in NumPy array or JSON format. The input is reproducible instruction data generated by the generative model, and the output is the instruction data file stored on the server. The stored data is accessible to users and automated devices at a later date.
[0456] Step 6:
[0457] The user accesses the server using a terminal and downloads stored instruction data. The input is the instruction data stored on the server, and the output is the instruction data downloaded to the terminal. The downloaded data is used by the user to install it on automated equipment within the factory.
[0458] Step 7:
[0459] The automated equipment in the factory reproduces specific actions based on instruction data acquired from a terminal. Specifically, it accurately reproduces hand movements according to the instruction data, performing high-precision tasks. The input is instruction data downloaded by the user and installed on the device, and the output is the reproduced specific action. This process enables the automated equipment to perform tasks based on video data with high precision.
[0460] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0461] This invention relates to a system that detects specific actions from video data, inputs that action data into a generation model to generate reproducible instruction data, and further combines it with an emotion engine that recognizes the user's emotions to provide optimal instruction data. A specific embodiment of this system is described below.
[0462] This system primarily involves servers, terminals, and users. The following describes how to use the system from the user's perspective.
[0463] First, the user prepares a video file containing a specific traditional technique they wish to learn and uploads it to the server through the system interface. After receiving the uploaded video file, the server analyzes it frame by frame using image processing libraries such as OpenCV.
[0464] The server detects specific actions, particularly the hand movements of the craftsman, from each frame of the video. Joint detection algorithms and hand position tracking algorithms are used to detect the hands and collect hand position data. This action data is stored in a list format for each frame.
[0465] Next, the server inputs the collected motion data into a generative model using a machine learning algorithm. The generative model generates reproducible instruction data based on the motion data. This instruction data includes detailed information about the craftsman's hand movements and instructions for reproducing those movements.
[0466] The generated instruction data is stored by the server in an appropriate format. The stored instruction data is retained on the server for later access and use by the user.
[0467] Furthermore, this system incorporates an emotion engine that recognizes the user's emotions. The emotion engine analyzes the user's facial expressions and voice to recognize the user's emotional state in real time. The emotion data recognized by the emotion engine is sent to the server. The server evaluates the user's state based on the emotion data from the emotion engine and adjusts and provides the optimal instruction data.
[0468] For example, when a user wants to learn pottery techniques, they upload a video file recording their pottery work. The server analyzes the video, detects the craftsman's hand movements, and collects motion data. Then, a generative model generates instruction data, which is stored. When the user downloads the pottery instruction data and learns, the emotion engine analyzes the user's facial expressions and voice. If the server detects that the user is in a confused emotional state, it can adjust the instruction data based on that information, providing more detailed explanations and additional supplementary information.
[0469] This invention makes it possible to accurately record the intricate techniques and movements of traditional crafts, and to provide optimal instruction data while considering the user's emotional state. This allows for the reproduction of even the most subtle movements that cannot be captured by conventional video recordings alone, and can be provided as a manual for effectively learning the techniques.
[0470] The following describes the processing flow.
[0471] Step 1:
[0472] Users prepare video files containing recordings of specific traditional techniques they wish to learn and upload these video files to the server through the system's interface.
[0473] Step 2:
[0474] The server receives video files uploaded by users and analyzes them frame by frame using the OpenCV library. Specifically, it reads the video file using the cv2.VideoCapture function.
[0475] Step 3:
[0476] The server detects the hand position for each frame of the video. This hand detection uses joint detection algorithms and hand position tracking algorithms to collect hand position data.
[0477] Step 4:
[0478] The server saves the detected hand movement data in a list format for each frame. This list includes the hand position data for each frame (e.g., x-coordinate, y-coordinate, hand angle).
[0479] Step 5:
[0480] The server inputs the collected hand movement data into a generative model. The generative model uses a machine learning algorithm to generate reproducible instruction data based on the hand movement data.
[0481] Step 6:
[0482] The server saves the generated instruction data in an appropriate format (e.g., NumPy array or JSON format). The saved instruction data is stored on the server and made accessible to the user later.
[0483] Step 7:
[0484] The user accesses the server using a terminal and downloads the generated instruction data. The download is performed after the user logs into the system.
[0485] Step 8:
[0486] Users learn and practice techniques using downloaded instruction data. Specifically, they practice by reproducing hand movements and following step-by-step instructions based on the instruction data.
[0487] Step 9:
[0488] The device records the user's facial expressions and voice in real time, and an emotion engine recognizes the user's emotions. The emotion engine analyzes the user's facial expressions and voice to determine the user's emotional state (e.g., confused, excited, focused).
[0489] Step 10:
[0490] The server receives the user's emotional data, recognized by the emotion engine, and evaluates the user's state. If the server detects that the user is confused, it adjusts the instruction data and regenerates it to include more detailed explanations and additional support information.
[0491] Step 11:
[0492] The server then provides the user with the adjusted instruction data again, and the user downloads the new instruction data to continue learning the technique.
[0493] Step 12:
[0494] The user uses the regenerated instruction data to continue practicing the technique and deepen their understanding. If necessary, the system repeatedly performs emotion recognition by the emotion engine and adjusts the instruction data by the server.
[0495] This series of steps allows users to effectively learn traditional techniques and accurately reproduce even the intricate skills and movements of artisans. Furthermore, the emotional engine monitors the user's learning progress in real time and provides appropriate support, thereby enhancing the learning effect.
[0496] (Example 2)
[0497] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal".
[0498] Conventional technologies, while detecting specific movements from video data and providing reproducible instruction data, had the challenge of being unable to provide adaptive support that took user emotions into account. As a result, user learning effectiveness was often insufficient, making it difficult to acquire the necessary skills. In particular, it was difficult to generate instruction data that accurately reproduced subtle hand movements, making it impossible to respond appropriately when users felt confused or bewildered.
[0499] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0500] In this invention, the server includes means for detecting specific actions from video data, means for inputting the detected action data into a generation model to generate reproducible instruction data, means for storing the generated instruction data, and means for collecting user emotion data using an emotion analysis engine and adjusting and providing instruction data based on the collected emotion data.
[0501] This allows for the accurate detection of specific movements and their provision as reproducible instruction data, as well as adaptive support that takes into account the user's emotional state. Furthermore, it can reduce user confusion and hesitation, thereby enhancing learning effectiveness. In particular, because instruction data for reproducing subtle hand movements is adjusted based on the user's emotions, it becomes possible to efficiently acquire advanced skills such as traditional techniques.
[0502] "Video data" refers to a file or stream containing video information, and this is what will be analyzed.
[0503] "Specific action" refers to the movement of a specific object (for example, a human hand or arm) observed within the video data.
[0504] "Means of detection" refers to technologies and devices for identifying specific actions from video data and extracting this data.
[0505] A "generative model" refers to an algorithm or model that uses machine learning or deep learning to generate specific deliverables (e.g., instruction data) based on input behavioral data.
[0506] "Instruction data" refers to data containing specific instructions and information necessary to reproduce the detected action.
[0507] "Means of storage" refers to technologies and devices that store generated instruction data in a memory device or similar, making it accessible later.
[0508] An "emotion analysis engine" refers to a technology or system that analyzes data such as a user's facial expressions and voice to identify the user's emotional state.
[0509] "User sentiment data" refers to information about the user's emotional state collected by the sentiment analysis engine.
[0510] "Means of adjusting and providing" refers to technologies and devices that adaptively modify the content of instruction data based on collected user emotion data, and provide the user with the most optimal instruction data.
[0511] This invention relates to a system that detects specific actions from video data, inputs that action data into a generation model to generate reproducible instruction data, and further combines it with an emotion engine that recognizes the user's emotions to provide optimal instruction data. A specific embodiment of this system is described below.
[0512] This system primarily involves servers, terminals, and users.
[0513] First, the user prepares a video file containing the specific technique they want to learn and uploads this video file to the server through the system's interface. For example, if a user wants to learn pottery techniques, they would prepare a video file named "tougei_video.mp4" recording the pottery process and upload it to the server. To do this, the user accesses the system's web interface using a browser, clicks the "Select File" button, chooses the video file from their local folder, and uploads it.
[0514] After receiving an uploaded video file, the server uses image processing libraries such as OpenCV to analyze the video file frame by frame. For example, the server receives "tougei_video.mp4", uses the OpenCV library to divide it into 30 frames per second, and prepares each frame as image data. This makes it possible to analyze the movements of the craftsmen in detail frame by frame.
[0515] Next, the server detects specific actions, particularly the hand movements of the craftsman, from each frame of the video. Joint detection algorithms and hand position tracking algorithms are used to detect these hand movements and collect hand position data. For example, the server extracts the hand position in each frame as coordinate data and stores it as coordinate data in the "motion data list". Specifically, the coordinates of frame 1 are stored as (100, 150), the coordinates of frame 2 are stored as (105, 155), and so on.
[0516] The collected motion data is input into a generative model by the server, generating reproducible instruction data. The generative model uses machine learning to create instruction data based on the motion data. For example, the generative model creates data that includes specific instructions such as "raise your right hand" or "rotate your left hand." The generated instruction data is saved by the server in an appropriate format. For example, the generated instruction data is saved as "indications.json" so that the user can access it later.
[0517] Furthermore, this system incorporates an emotion engine that recognizes the user's emotions. The terminal captures the user's facial expressions and voice in real time using its camera and microphone, and sends this data to the emotion engine. The emotion engine analyzes the user's facial expressions and voice data and recognizes the user's emotional state in real time. For example, the terminal's camera and microphone are used to record the user's facial expressions and voice, and this data is passed to the emotion engine. The emotion engine recognizes the user's emotional state, such as confusion or satisfaction, from their facial expressions and sends that information to the server.
[0518] The server adjusts the instruction data based on the user's emotional data analyzed by the emotion engine. It adaptively modifies the content of the instruction data based on the collected emotional data to provide the user with the most suitable instruction data. For example, if the user is confused, the server generates and provides instruction data that includes additional explanations and supplementary information. Specifically, if the user appears confused, the server can provide an additional explanatory video showing hand positions with red lines.
[0519] Examples of prompt messages include the following:
[0520] "I want to learn pottery techniques. Please analyze this video file and generate reproducible instruction data."
[0521] "Please establish guidelines for adjusting the instruction data provided when users are confused."
[0522] In this way, the system helps users efficiently learn craftsmanship. Furthermore, by considering the user's emotional state using an emotion engine, it can provide a more personalized learning experience.
[0523] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0524] Step 1: Upload video file
[0525] Subject: User
[0526] Users prepare a video file containing the specific technology they wish to learn and upload it to the server through the system's interface. Specifically, they access the system's web interface using a browser, click the "Select File" button to choose a video file from their local folder, and then click the upload button. The input in this process is the video file, and the output is the video data sent to the server.
[0527] Step 2: Receiving and analyzing video data
[0528] Subject: Server
[0529] The server receives video files uploaded by users. It then analyzes the received video files frame by frame using image processing libraries such as OpenCV. Specifically, the server divides the video file into 30 frames per second and prepares each frame as image data. The input to this process is the received video file, and the output is the image data of each individual frame. For example, it receives "tougei_video.mp4" and converts it into image data of 3000 frames.
[0530] Step 3: Collecting operational data
[0531] Subject: Server
[0532] The server detects specific actions, particularly the hand movements of the craftsman, from each frame of the video. Joint detection algorithms and hand position tracking algorithms are used to collect hand position data. Specifically, the position of the hand in each frame is extracted as coordinate data and stored in a "motion data list." The input to this process is frame image data, and the output is a motion data list containing hand position data. For example, the coordinates of frame 1 are stored as (100, 150), and the coordinates of frame 2 are stored as (105, 155).
[0533] Step 4: Generating instruction data
[0534] Subject: Server
[0535] The server inputs collected motion data into a generative model to generate reproducible instruction data. The generative model uses machine learning algorithms to create reproducible instruction data based on the motion data. Specifically, the generative model creates data that includes specific instructions such as "raise your right hand" or "rotate your left hand." The input to this process is a list of motion data, and the output is reproducible instruction data. For example, the generative model might generate "detailed instruction data that includes arrows indicating hand movements."
[0536] Step 5: Save the instruction data
[0537] Subject: Server
[0538] The generated instruction data is saved by the server in an appropriate format. Specifically, the generated instruction data is saved as "indications.json" so that the user can access it later. The input to this process is the generated instruction data, and the output is the saved file. For example, the data is saved with the filename "indications.json".
[0539] Step 6: Collecting emotional data
[0540] Subject: terminal
[0541] The device uses a camera and microphone to capture the user's facial expressions and voice in real time and sends this data to the emotion engine. Specifically, the device's camera records the user's facial expressions and the microphone records the user's voice, and this data is sent to the emotion engine in real time. The input to this process is the user's facial image and voice data, and the output is emotion data sent to the emotion engine. For example, images of the moment the user's facial expression changes and changes in voice tone are sent.
[0542] Step 7: Analyzing emotional data
[0543] Subject: Server
[0544] The server analyzes the emotional data sent from the emotion engine. Specifically, it recognizes the user's emotional state, such as confusion or satisfaction, and collects that information. For example, the emotion engine identifies a confused state from the user's facial image and sends that information to the server. The input to this process is emotional data from the emotion engine, and the output is the analyzed emotional state information.
[0545] Step 8: Providing optimal instruction data
[0546] Subject: Server
[0547] The server adjusts instruction data based on the analyzed emotional data and provides the user with the most suitable instruction data. Specifically, if the user is confused, the server generates instruction data that includes additional explanations and supplementary information and provides it to the user. The input to this process is the analyzed emotional data, and the output is the adjusted instruction data. For example, depending on the state of confusion, it generates and provides an explanatory video with arrows indicating detailed hand positions.
[0548] Through the above processing steps, this system helps users efficiently learn craftsmanship and provides adaptive support according to their emotional state.
[0549] (Application Example 2)
[0550] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."
[0551] Traditional systems that teach skills from video data have difficulty accurately detecting actions, making it difficult for users to properly acquire skills. Furthermore, because they only provide one-sided instructions without considering the user's emotional state, they hinder effective learning when the user becomes confused.
[0552] In Application Example 2, the specific processing performed by the specific processing unit 290 of the data processing device 12 is realized by the following means. In this invention, the server includes means for detecting a specific action from video data, means for inputting the detected action data into a generation model and generating reproducible instruction data, means for adjusting the instruction data based on the user's emotional state, and means for storing the generated instruction data. This makes it possible to accurately analyze technical actions and provide appropriate instructions according to the user's emotional state.
[0553] "Video data" is data that creates the illusion of movement by playing a series of still images at regular time intervals.
[0554] "Specific actions" refers to a series of consecutive movements or actions recognized within video data.
[0555] "Detection means" refers to functions or devices for analyzing and identifying specific actions from video data.
[0556] A "generative model" is a machine learning algorithm or statistical model used to generate new data based on input data.
[0557] "Reproducible instruction data" refers to data that contains detailed instructions and information necessary to accurately reproduce a particular action.
[0558] "Emotional state" refers to the psychological state and feedback analyzed from the user's facial expressions, voice, etc.
[0559] "Adjustment means" refers to functions or methods for modifying or supplementing instruction data based on the user's emotional state.
[0560] "Storage means" refers to functions or devices for temporarily or permanently recording and retaining generated instruction data.
[0561] This invention relates to a system that detects specific actions from video data, generates instruction data that can reproduce those actions using a generative model, and further adjusts the instruction data based on the user's emotional state. A specific embodiment of this system is described below.
[0562] First, the user uploads video data from their device to the server. This video data might, for example, be a recording of the work movements of a skilled worker in a factory. After receiving this video data, the server analyzes it frame by frame using image processing libraries such as OpenCV to detect specific movements, particularly hand movements. Joint detection algorithms and hand position tracking algorithms are used for this analysis. The detected movement data is saved in list format for each frame.
[0563] Next, the server inputs the collected motion data into a generative model. Based on machine learning algorithms, the generative model analyzes the motion data and generates reproducible instruction data. This instruction data includes detailed information about hand movements and specific instructions for reproducing those movements. The generated instruction data is stored by the server in an appropriate format and retained for later access and use by the user.
[0564] Furthermore, this system incorporates an emotion engine. This emotion engine analyzes the user's facial expressions and voice, recognizing the user's emotional state in real time. An emotion recognition library is used for the analysis. The server receives emotional data from the emotion engine and evaluates the user's state. The server then adjusts the instruction data based on the user's emotional state, enabling the user to learn appropriately.
[0565] For example, consider a scenario where a user is learning pottery techniques. The user uploads a video file recording their pottery work through the interface. The server analyzes the video, detecting the craftsman's hand movements and collecting motion data. Then, a generative model generates instruction data, which is saved. When the user downloads the saved instruction data to learn, the emotion engine analyzes the user's facial expressions and voice. If the server detects that the user is in a confused emotional state, it adjusts the instruction data based on that information, providing instruction data that includes more detailed explanations and additional supplementary information.
[0566] Examples of specific prompt messages include the following:
[0567] "Analyze this video of pottery making and generate instruction data for the robot to accurately reproduce the same task. Analyze the hand movements in the video in detail and adjust the instructions as needed based on the user's emotional state."
[0568] This system allows users to receive precise analysis of their technical actions and flexible instructions tailored to their emotional state, enabling effective skill acquisition.
[0569] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0570] Step 1:
[0571] The user uploads video data containing the technology they want to learn from their device to the server. The uploaded video files are received by the server and stored for analysis.
[0572] Input: Video data
[0573] Output: Video files saved on the server
[0574] Step 2:
[0575] The server analyzes the received video data frame by frame, so it uses the OpenCV library to divide the video into image frames.
[0576] Input: Video data
[0577] Output: List of divided image frames
[0578] Step 3:
[0579] The server uses joint detection algorithms and hand position tracking algorithms to detect specific movements, particularly hand movements, for each frame. This movement data is stored in a list format for each frame.
[0580] Input: Image frame
[0581] Output: List of detected hand movement data
[0582] Step 4:
[0583] The server inputs collected behavioral data into a generative model and generates reproducible instruction data using machine learning algorithms. Libraries such as TensorFlow and PyTorch are used for the generative model.
[0584] Input: List of operation data
[0585] Output: Reproducible instruction data
[0586] Step 5:
[0587] The server saves the generated instruction data in an appropriate format and stores it so that users can access and use it later.
[0588] Input: Instruction data
[0589] Output: Saved instruction data
[0590] Step 6:
[0591] The user downloads instruction data and begins learning. During learning, the system receives real-time feeds from the device's camera and microphone, capturing the user's facial expressions and voice.
[0592] Input: Real-time feed (facial expressions, voice)
[0593] Output: Real-time feed sent to the server
[0594] Step 7:
[0595] The server analyzes the real-time feed and uses an emotion engine to recognize the user's emotional state. This analysis utilizes OpenCV and speech analysis libraries.
[0596] Input: Real-time feed
[0597] Output: User sentiment data
[0598] Step 8:
[0599] The server adjusts the instruction data based on the user's emotional data. For example, if the user is confused, the instruction data will be more detailed, including additional explanations and supplementary information.
[0600] Input: User sentiment data
[0601] Output: Adjusted instruction data
[0602] Step 9:
[0603] The server provides users with adjusted instruction data, ensuring they continue to receive appropriate guidance.
[0604] Input: Adjusted instruction data
[0605] Output: Instruction data provided to the user
[0606] This allows the entire system to improve the user's learning experience.
[0607] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[0608] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0609] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart glasses 214.
[0610] [Third Embodiment]
[0611] Figure 5 shows an example of the configuration of the data processing system 310 according to the third embodiment.
[0612] As shown in Figure 5, the data processing system 310 includes a data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.
[0613] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0614] The headset terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a display 343. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and display 343 are also connected to the bus 52.
[0615] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0616] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[0617] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0618] Figure 6 shows an example of the main functions of the data processing device 12 and the headset terminal 314. As shown in Figure 6, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0619] The specific processing program 56 is an example of a "program" relating to the technology of this disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0620] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0621] In the headset terminal 314, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0622] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the headset terminal 314 will be referred to as the "terminal".
[0623] This invention relates to a system that detects specific actions from video data, inputs that action data into a generation model, and generates and stores reproducible instruction data. Specific embodiments of this system are described below.
[0624] This system primarily involves servers, terminals, and users. The following describes how to use the system from the user's perspective.
[0625] First, the user prepares a video file containing a specific traditional technique they wish to learn (e.g., lacquerware or pottery techniques). The user uploads this video file to the server through the system interface. After receiving the uploaded video file, the server analyzes it frame by frame using an image processing library such as OpenCV.
[0626] The server detects specific movements, specifically the hand movements of the craftsman, from each analyzed frame. Joint detection algorithms and hand position tracking algorithms are used to detect hand movements. This data is recorded as motion data, either numerically or as coordinates.
[0627] Next, the server inputs the collected motion data into a generative model using a machine learning algorithm. The generative model generates reproducible instruction data based on the given motion data. This instruction data includes detailed information about the craftsman's hand movements and instructions for reproducing those movements.
[0628] The generated instruction data is saved by the server in an appropriate format (e.g., NumPy array or JSON format). The saved instruction data is retained on the server for later access and use by the user.
[0629] Users can access the server using their devices (e.g., PCs, tablets, smartphones) and download the generated instruction data. By viewing the downloaded instruction data, users can learn the craftsman's techniques in detail. Specifically, the downloaded instruction data is displayed as videos to reproduce hand movements and step-by-step instructions.
[0630] For example, suppose a user who wants to learn pottery techniques uploads a video file recording their pottery work. The server analyzes the video, detects the hand movements of the craftsman, and inputs that motion data into a generative model. The generative model generates instruction data to reproduce the specific movements for each step of pottery (e.g., shaping the clay, painting, applying glaze), and saves it. The user can later download this saved instruction data and use it as a reference when actually performing pottery work.
[0631] This invention makes it possible to accurately record the intricate techniques and movements of traditional crafts, and to easily pass them on to future generations. It can accurately reproduce even the most subtle movements that cannot be captured by conventional video recordings alone, and provide them as a manual that allows anyone to acquire the same skills.
[0632] The following describes the processing flow.
[0633] Step 1:
[0634] Users prepare video files containing the traditional techniques they wish to learn and upload them to the server through the system's interface.
[0635] Step 2:
[0636] The server receives video files uploaded by users and analyzes them frame by frame using the OpenCV library. Specifically, it reads the video file using the cv2.VideoCapture function.
[0637] Step 3:
[0638] The server detects the hand position for each frame of the video. This hand detection uses joint detection algorithms and hand position tracking algorithms to collect hand position data.
[0639] Step 4:
[0640] The server saves the detected hand movement data in a list format for each frame. This list includes the hand position data for each frame (e.g., x-coordinate, y-coordinate, hand angle).
[0641] Step 5:
[0642] The server inputs the collected hand movement data into a generative model. The generative model uses a machine learning algorithm to generate reproducible instruction data based on the hand movement data.
[0643] Step 6:
[0644] The server saves the generated instruction data in an appropriate format (e.g., NumPy array or JSON format). The saved instruction data is stored on the server and made accessible to the user later.
[0645] Step 7:
[0646] The user accesses the server using a terminal and downloads the generated instruction data. The download is performed after the user logs into the system.
[0647] Step 8:
[0648] Users learn and practice techniques using downloaded instruction data. Specifically, they practice by reproducing hand movements and following step-by-step instructions based on the instruction data.
[0649] Step 9:
[0650] If necessary, users can review the instruction data multiple times to deepen their understanding of the techniques. This allows users to effectively acquire traditional techniques.
[0651] (Example 1)
[0652] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."
[0653] Accurately recording the intricate techniques and movements of traditional crafts and easily passing them on to future generations is difficult with conventional video recordings alone. Furthermore, there is a lack of means to accurately reproduce the skills of craftsmen and provide them as manuals that allow anyone to acquire the same techniques.
[0654] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0655] In this invention, the server includes means for a user to upload video data to the server, means for the server to analyze the uploaded video data frame by frame, means for detecting specific movements from the analyzed frames and recording the movement data as numerical values or coordinates, means for inputting the recorded movement data into a generative model using a machine learning algorithm to generate reproducible instruction data, means for saving the generated instruction data, and means for the user to download the saved instruction data. This makes it possible to accurately reproduce even the minute movements of traditional techniques and easily pass them on to the next generation. Furthermore, it enables users to learn the techniques of craftsmen in detail and acquire them as their own skills.
[0656] "Video data" refers to video files recorded in digital format, and examples include videos of traditional techniques being performed.
[0657] A "server" refers to a dedicated computer that provides services to other computer terminals on a network. This system receives and analyzes video data, generates instruction data, and stores it.
[0658] "Analyzing on a frame-by-frame basis" refers to dividing video data into a series of still images over time and then analyzing each still image individually.
[0659] "Specific actions" refers to specific actions or movements performed within a video, and in this system, it specifically refers to the hand movements of a craftsman.
[0660] A "generative model" refers to a model that uses machine learning algorithms to generate new data or instructions based on input data. In this system, it is used to generate reproducible instruction data from behavioral data.
[0661] A "machine learning algorithm" refers to mathematical methods and algorithms that learn from data and perform tasks such as prediction, classification, and generation.
[0662] "Instruction data" refers to data containing detailed procedures and information for reproducing a specific detected action. This data serves as a reference for users to acquire the necessary skills.
[0663] "Numerical values and coordinates" refers to a format in which motion data is represented using numerical information (e.g., joint angles) or coordinate information (e.g., the coordinates of the hand's position).
[0664] "Means of preservation" refers to methods of recording generated instruction data in databases, file systems, etc., in order to retain it for a long period of time.
[0665] "Downloading" refers to the process of transferring data stored on a server to a user's device for retrieval.
[0666] This invention relates to a system for detecting specific actions from video data and generating and storing reproducible instruction data using a generative model. Specific embodiments are described below.
[0667] This system primarily involves servers, terminals, and users. The following describes how to use the system from the user's perspective.
[0668] First, the user prepares a video file recording a specific traditional technique they wish to learn (e.g., lacquerware or pottery techniques). The user uploads this video file to the server through the system interface. After receiving the uploaded video file, the server analyzes it frame by frame using an image processing library such as OpenCV.
[0669] The server detects specific movements from each analyzed frame. Specifically, it uses joint detection algorithms (e.g., MediaPipe Hands) and hand position tracking algorithms (e.g., OpenPose) to detect the movements of the craftsman's hands. This data is recorded as motion data, either numerically or as coordinates. For example, the coordinates of each joint in the hand are saved in (x, y, z) format.
[0670] Next, the server inputs the collected motion data into a generative model using a machine learning algorithm. Specifically, it uses machine learning frameworks such as TensorFlow or PyTorch. The generative model generates reproducible instruction data based on the given motion data. This instruction data includes detailed information about hand movements and the steps to reproduce those movements.
[0671] The generated instruction data is stored by the server in an appropriate format (e.g., NumPy array or JSON). The storage location will be a database (e.g., MongoDB) or a specific directory on the file system. Furthermore, the server will configure appropriate permission management to allow access to the instruction data.
[0672] Users can access the server using their devices (e.g., PCs, tablets, smartphones) and download the generated instruction data. The downloaded instruction data can be displayed as, for example, an HTML document or another video file. Using the instruction data, users can learn the techniques of craftsmen in detail and acquire them as their own skills.
[0673] Specific example
[0674] For example, a user who wants to learn pottery techniques uploads a video file of their pottery work to the system. The server analyzes the video, detects the hand movements of the craftsman, and inputs that motion data into a generative model. The generative model generates instruction data to reproduce the specific movements of each step of pottery (e.g., shaping the clay, painting, applying glaze), and saves it. The user can later download this saved instruction data and use it as a reference when actually performing pottery work.
[0675] Example of a prompt
[0676] The following prompts are used as input to the generating AI model:
[0677] "After analyzing the video and detecting specific movements, generate and save reproducible instruction data based on this data. A specific example is video data of 'lacquer painting.' From this video data, accurately extract the hand movements of the craftsman and generate detailed instruction data to reproduce those movements."
[0678] The above describes a specific embodiment of this system. This invention makes it possible to accurately record the intricate techniques and movements of traditional skills and easily pass them on to future generations. Furthermore, it can accurately reproduce even the most subtle movements that cannot be captured by conventional video recordings alone, providing a manual that allows anyone to acquire the same skills.
[0679] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0680] Step 1:
[0681] Users prepare video files containing recordings of specific traditional techniques they wish to learn and upload them to the server through the system's interface.
[0682] Input: Video file (e.g., "pottery_technique.mp4")
[0683] Output: Video files uploaded to the server
[0684] Step 2:
[0685] The server receives video files uploaded by users and analyzes them frame by frame using image processing libraries such as OpenCV.
[0686] Input: Uploaded video file
[0687] Output: Each frame of the video (e.g., 30 frames per second means 30 still images every second)
[0688] Step 3:
[0689] The server detects specific movements from each analyzed frame. It uses MediaPipe Hands or OpenPose to detect the movements of the craftsman's hands and obtains coordinate data (in x, y, z format) of the hand joints.
[0690] Input: Each frame of the video
[0691] Output: Coordinate data of the hand joints (e.g., coordinate information of hand movement for each frame)
[0692] Step 4:
[0693] The server inputs the collected behavioral data into a generative model using a machine learning algorithm (e.g., TensorFlow or PyTorch). The generative model generates reproducible instruction data based on the given behavioral data.
[0694] Input: Coordinate data of the hand joints
[0695] Output: Reproducible instruction data (e.g., detailed instructions describing hand movements)
[0696] Step 5:
[0697] The server saves the generated instruction data in an appropriate format (e.g., NumPy array or JSON). The storage location will be a database (e.g., MongoDB) or a specific directory on the file system.
[0698] Input: Reproducible instruction data
[0699] Output: Saved instruction data (e.g., "instruction_data.json")
[0700] Step 6:
[0701] The user accesses the server using their device and downloads the generated instruction data. The downloaded instruction data is displayed as, for example, an HTML document or another video file.
[0702] Input: Saved instruction data
[0703] Output: Downloaded instruction data
[0704] Specific example:
[0705] For example, if a user wants to learn pottery techniques, they upload a video file called "pottery_technique.mp4" recording their pottery work to the system. The server analyzes the video frame by frame and detects hand movements using MediaPipe Hands. The detected hand movement data is input into a generative model using TensorFlow, which generates reproducible instruction data. This instruction data is saved as "instruction_data.json," which the user downloads from their device to learn pottery techniques.
[0706] (Application Example 1)
[0707] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."
[0708] Conventional technologies have made it difficult to detect specific movements from video data and generate instruction data to accurately reproduce them. In particular, automating precise tasks and delicate operations in factory automation equipment requires detecting and reproducing hand movements with extremely high precision. However, current technology makes it difficult to realize such advanced automation systems.
[0709] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0710] In this invention, the server includes means for detecting a specific action from video data, means for inputting the detected action data into a generation model to generate reproducible instruction data, means for storing the generated instruction data, and means for reproducing the specific action in an automated device within a factory. This makes it possible to detect a specific action from video data with high accuracy and to reproduce that action in an automated device within a factory.
[0711] "Video data" is a digital format of data that expresses movement by displaying multiple still images in sequence.
[0712] "Specific actions" refer to predefined movements or behaviors detected within video data.
[0713] "Means of detection" refers to methods or devices for recognizing and identifying target behaviors or movements, such as image processing algorithms.
[0714] A "generative model" refers to a machine learning or AI algorithm used to generate new data from input data.
[0715] "Reproducible instruction data" refers to data that contains specific instructions and parameters necessary to faithfully reproduce the detected operation by other systems or devices.
[0716] "Means of preservation" refers to a method or apparatus for electronically recording generated data and making it accessible at a later date.
[0717] A "system" refers to a comprehensive device or program in which multiple elements work together to achieve a specific function.
[0718] "Factory automation equipment" refers to machines and devices designed to automate tasks such as production and assembly within a factory.
[0719] Modes for carrying out the invention
[0720] This invention relates to a system for detecting specific actions from video data, inputting that action data into a generation model to generate and store reproducible instruction data, and reproducing that action using automated equipment in a factory. The system primarily involves a server, terminals, and users.
[0721] System Overview
[0722] 1. Preparing and uploading video data
[0723] Users prepare video files recording specific tasks performed within the factory and upload them to the server via the system interface. These video files include precise tasks and delicate operations that automated equipment within the factory must perform.
[0724] 2. Analysis of video data
[0725] The server receives the uploaded video file and analyzes it frame by frame using image processing libraries such as OpenCV. Specifically, it uses joint detection algorithms and hand position tracking algorithms to detect specific movements within the video, particularly hand movements. This data is recorded as motion data, either numerically or as coordinates.
[0726] 3. Generation and storage of operation data
[0727] The server inputs the collected motion data into a generative model using a machine learning algorithm. The generative model generates reproducible instruction data based on the given motion data. The generated instruction data includes detailed information about the craftsman's hand movements and instructions for reproducing those movements using automated equipment in the factory. This instruction data is stored on the server in NumPy array or JSON format.
[0728] 4. Use of instruction data
[0729] Users can access the server using their devices (e.g., PCs, tablets, smartphones) and download the generated instruction data. The downloaded instruction data is then installed on automated equipment within the factory and used to reproduce specified actions.
[0730] Hardware and software used
[0731] Hardware: Servers, factory automation equipment, cameras, user terminals (PCs, tablets, smartphones)
[0732] Software: OpenCV, machine learning frameworks (e.g., Keras), Python, NumPy, JSON data storage.
[0733] Specific example of processing
[0734] For example, when learning the assembly process of precision parts, the user uploads a video file recording a craftsman's assembly work. The server analyzes the video, detects hand movements, and saves them as motion data. A generative model generates and saves reproducible instruction data from the detected motion data. By downloading this instruction data and installing it into automated equipment in the factory, it becomes possible to reproduce similar assembly work with high accuracy.
[0735] Example of a prompt:
[0736] "For a robot performing high-precision assembly work in a factory, please analyze the following video and generate instruction data that replicates the hand movements of a skilled craftsman."
[0737] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0738] Step 1:
[0739] The user prepares a video file recording a specific task within the factory and uploads it to the server using a terminal. The input is the video file, and the output is the video data stored on the server. This process moves the video data to the server, where it is ready for analysis.
[0740] Step 2:
[0741] The server receives the uploaded video data and analyzes the video frame by frame using image processing libraries such as OpenCV. Specifically, it breaks down the video data into frames and detects the hand movements within each frame. The input is each frame of the video file, and the output is motion data including hand position and joint data.
[0742] Step 3:
[0743] The server uses joint detection algorithms and hand position tracking algorithms to record hand movements frame by frame as numerical data and coordinates. This process processes and stores the analyzed hand movements frame by frame as numerical data. The input is the hand movement data for each frame obtained in step 2, and the output is continuous hand movement data.
[0744] Step 4:
[0745] The server inputs collected motion data into a generative model using a machine learning algorithm. The generative model generates reproducible instruction data based on the given motion data. The input is motion data, and the output is the generated reproducible instruction data. The generative model analyzes the motion data and generates detailed instructions to faithfully reproduce its movements.
[0746] Step 5:
[0747] The server stores the generated instruction data. Specifically, it saves the generated instruction data to a file in NumPy array or JSON format. The input is reproducible instruction data generated by the generative model, and the output is the instruction data file stored on the server. The stored data is accessible to users and automated devices at a later date.
[0748] Step 6:
[0749] The user accesses the server using a terminal and downloads stored instruction data. The input is the instruction data stored on the server, and the output is the instruction data downloaded to the terminal. The downloaded data is used by the user to install it on automated equipment within the factory.
[0750] Step 7:
[0751] The automated equipment in the factory reproduces specific actions based on instruction data acquired from a terminal. Specifically, it accurately reproduces hand movements according to the instruction data, performing high-precision tasks. The input is instruction data downloaded by the user and installed on the device, and the output is the reproduced specific action. This process enables the automated equipment to perform tasks based on video data with high precision.
[0752] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0753] This invention relates to a system that detects specific actions from video data, inputs that action data into a generation model to generate reproducible instruction data, and further combines it with an emotion engine that recognizes the user's emotions to provide optimal instruction data. A specific embodiment of this system is described below.
[0754] This system primarily involves servers, terminals, and users. The following describes how to use the system from the user's perspective.
[0755] First, the user prepares a video file containing a specific traditional technique they wish to learn and uploads it to the server through the system interface. After receiving the uploaded video file, the server analyzes it frame by frame using image processing libraries such as OpenCV.
[0756] The server detects specific actions, particularly the hand movements of the craftsman, from each frame of the video. Joint detection algorithms and hand position tracking algorithms are used to detect the hands and collect hand position data. This action data is stored in a list format for each frame.
[0757] Next, the server inputs the collected motion data into a generative model using a machine learning algorithm. The generative model generates reproducible instruction data based on the motion data. This instruction data includes detailed information about the craftsman's hand movements and instructions for reproducing those movements.
[0758] The generated instruction data is stored by the server in an appropriate format. The stored instruction data is retained on the server for later access and use by the user.
[0759] Furthermore, this system incorporates an emotion engine that recognizes the user's emotions. The emotion engine analyzes the user's facial expressions and voice to recognize the user's emotional state in real time. The emotion data recognized by the emotion engine is sent to the server. The server evaluates the user's state based on the emotion data from the emotion engine and adjusts and provides the optimal instruction data.
[0760] For example, when a user wants to learn pottery techniques, they upload a video file recording their pottery work. The server analyzes the video, detects the craftsman's hand movements, and collects motion data. Then, a generative model generates instruction data, which is stored. When the user downloads the pottery instruction data and learns, the emotion engine analyzes the user's facial expressions and voice. If the server detects that the user is in a confused emotional state, it can adjust the instruction data based on that information, providing more detailed explanations and additional supplementary information.
[0761] This invention makes it possible to accurately record the intricate techniques and movements of traditional crafts, and to provide optimal instruction data while considering the user's emotional state. This allows for the reproduction of even the most subtle movements that cannot be captured by conventional video recordings alone, and can be provided as a manual for effectively learning the techniques.
[0762] The following describes the processing flow.
[0763] Step 1:
[0764] Users prepare video files containing recordings of specific traditional techniques they wish to learn and upload these video files to the server through the system's interface.
[0765] Step 2:
[0766] The server receives video files uploaded by users and analyzes them frame by frame using the OpenCV library. Specifically, it reads the video file using the cv2.VideoCapture function.
[0767] Step 3:
[0768] The server detects the hand position for each frame of the video. This hand detection uses joint detection algorithms and hand position tracking algorithms to collect hand position data.
[0769] Step 4:
[0770] The server saves the detected hand movement data in a list format for each frame. This list includes the hand position data for each frame (e.g., x-coordinate, y-coordinate, hand angle).
[0771] Step 5:
[0772] The server inputs the collected hand movement data into a generative model. The generative model uses a machine learning algorithm to generate reproducible instruction data based on the hand movement data.
[0773] Step 6:
[0774] The server saves the generated instruction data in an appropriate format (e.g., NumPy array or JSON format). The saved instruction data is stored on the server and made accessible to the user later.
[0775] Step 7:
[0776] The user accesses the server using a terminal and downloads the generated instruction data. The download is performed after the user logs into the system.
[0777] Step 8:
[0778] Users learn and practice techniques using downloaded instruction data. Specifically, they practice by reproducing hand movements and following step-by-step instructions based on the instruction data.
[0779] Step 9:
[0780] The device records the user's facial expressions and voice in real time, and an emotion engine recognizes the user's emotions. The emotion engine analyzes the user's facial expressions and voice to determine the user's emotional state (e.g., confused, excited, focused).
[0781] Step 10:
[0782] The server receives the user's emotional data, recognized by the emotion engine, and evaluates the user's state. If the server detects that the user is confused, it adjusts the instruction data and regenerates it to include more detailed explanations and additional support information.
[0783] Step 11:
[0784] The server then provides the user with the adjusted instruction data again, and the user downloads the new instruction data to continue learning the technique.
[0785] Step 12:
[0786] The user uses the regenerated instruction data to continue practicing the technique and deepen their understanding. If necessary, the system repeatedly performs emotion recognition by the emotion engine and adjusts the instruction data by the server.
[0787] This series of steps allows users to effectively learn traditional techniques and accurately reproduce even the intricate skills and movements of artisans. Furthermore, the emotional engine monitors the user's learning progress in real time and provides appropriate support, thereby enhancing the learning effect.
[0788] (Example 2)
[0789] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."
[0790] Conventional technologies, while detecting specific movements from video data and providing reproducible instruction data, had the challenge of being unable to provide adaptive support that took user emotions into account. As a result, user learning effectiveness was often insufficient, making it difficult to acquire the necessary skills. In particular, it was difficult to generate instruction data that accurately reproduced subtle hand movements, making it impossible to respond appropriately when users felt confused or bewildered.
[0791] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0792] In this invention, the server includes means for detecting specific actions from video data, means for inputting the detected action data into a generation model to generate reproducible instruction data, means for storing the generated instruction data, and means for collecting user emotion data using an emotion analysis engine and adjusting and providing instruction data based on the collected emotion data.
[0793] This allows for the accurate detection of specific movements and their provision as reproducible instruction data, as well as adaptive support that takes into account the user's emotional state. Furthermore, it can reduce user confusion and hesitation, thereby enhancing learning effectiveness. In particular, because instruction data for reproducing subtle hand movements is adjusted based on the user's emotions, it becomes possible to efficiently acquire advanced skills such as traditional techniques.
[0794] "Video data" refers to a file or stream containing video information, and this is what will be analyzed.
[0795] "Specific action" refers to the movement of a specific object (for example, a human hand or arm) observed within the video data.
[0796] "Means of detection" refers to technologies and devices for identifying specific actions from video data and extracting this data.
[0797] A "generative model" refers to an algorithm or model that uses machine learning or deep learning to generate specific deliverables (e.g., instruction data) based on input behavioral data.
[0798] "Instruction data" refers to data containing specific instructions and information necessary to reproduce the detected action.
[0799] "Means of storage" refers to technologies and devices that store generated instruction data in a memory device or similar, making it accessible later.
[0800] An "emotion analysis engine" refers to a technology or system that analyzes data such as a user's facial expressions and voice to identify the user's emotional state.
[0801] "User sentiment data" refers to information about the user's emotional state collected by the sentiment analysis engine.
[0802] "Means of adjusting and providing" refers to technologies and devices that adaptively modify the content of instruction data based on collected user emotion data, and provide the user with the most optimal instruction data.
[0803] This invention relates to a system that detects specific actions from video data, inputs that action data into a generation model to generate reproducible instruction data, and further combines it with an emotion engine that recognizes the user's emotions to provide optimal instruction data. A specific embodiment of this system is described below.
[0804] This system primarily involves servers, terminals, and users.
[0805] First, the user prepares a video file containing the specific technique they want to learn and uploads this video file to the server through the system's interface. For example, if a user wants to learn pottery techniques, they would prepare a video file named "tougei_video.mp4" recording the pottery process and upload it to the server. To do this, the user accesses the system's web interface using a browser, clicks the "Select File" button, chooses the video file from their local folder, and uploads it.
[0806] After receiving an uploaded video file, the server uses image processing libraries such as OpenCV to analyze the video file frame by frame. For example, the server receives "tougei_video.mp4", uses the OpenCV library to divide it into 30 frames per second, and prepares each frame as image data. This makes it possible to analyze the movements of the craftsmen in detail frame by frame.
[0807] Next, the server detects specific actions, particularly the hand movements of the craftsman, from each frame of the video. Joint detection algorithms and hand position tracking algorithms are used to detect these hand movements and collect hand position data. For example, the server extracts the hand position in each frame as coordinate data and stores it as coordinate data in the "motion data list". Specifically, the coordinates of frame 1 are stored as (100, 150), the coordinates of frame 2 are stored as (105, 155), and so on.
[0808] The collected motion data is input into a generative model by the server, generating reproducible instruction data. The generative model uses machine learning to create instruction data based on the motion data. For example, the generative model creates data that includes specific instructions such as "raise your right hand" or "rotate your left hand." The generated instruction data is saved by the server in an appropriate format. For example, the generated instruction data is saved as "indications.json" so that the user can access it later.
[0809] Furthermore, this system incorporates an emotion engine that recognizes the user's emotions. The terminal captures the user's facial expressions and voice in real time using its camera and microphone, and sends this data to the emotion engine. The emotion engine analyzes the user's facial expressions and voice data and recognizes the user's emotional state in real time. For example, the terminal's camera and microphone are used to record the user's facial expressions and voice, and this data is passed to the emotion engine. The emotion engine recognizes the user's emotional state, such as confusion or satisfaction, from their facial expressions and sends that information to the server.
[0810] The server adjusts the instruction data based on the user's emotional data analyzed by the emotion engine. It adaptively modifies the content of the instruction data based on the collected emotional data to provide the user with the most suitable instruction data. For example, if the user is confused, the server generates and provides instruction data that includes additional explanations and supplementary information. Specifically, if the user appears confused, the server can provide an additional explanatory video showing hand positions with red lines.
[0811] Examples of prompt messages include the following:
[0812] "I want to learn pottery techniques. Please analyze this video file and generate reproducible instruction data."
[0813] "Please establish guidelines for adjusting the instruction data provided when users are confused."
[0814] In this way, the system helps users efficiently learn craftsmanship. Furthermore, by considering the user's emotional state using an emotion engine, it can provide a more personalized learning experience.
[0815] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0816] Step 1: Upload video file
[0817] Subject: User
[0818] Users prepare a video file containing the specific technology they wish to learn and upload it to the server through the system's interface. Specifically, they access the system's web interface using a browser, click the "Select File" button to choose a video file from their local folder, and then click the upload button. The input in this process is the video file, and the output is the video data sent to the server.
[0819] Step 2: Receiving and analyzing video data
[0820] Subject: Server
[0821] The server receives video files uploaded by users. It then analyzes the received video files frame by frame using image processing libraries such as OpenCV. Specifically, the server divides the video file into 30 frames per second and prepares each frame as image data. The input to this process is the received video file, and the output is the image data of each individual frame. For example, it receives "tougei_video.mp4" and converts it into image data of 3000 frames.
[0822] Step 3: Collecting operational data
[0823] Subject: Server
[0824] The server detects specific actions, particularly the hand movements of the craftsman, from each frame of the video. Joint detection algorithms and hand position tracking algorithms are used to collect hand position data. Specifically, the position of the hand in each frame is extracted as coordinate data and stored in a "motion data list." The input to this process is frame image data, and the output is a motion data list containing hand position data. For example, the coordinates of frame 1 are stored as (100, 150), and the coordinates of frame 2 are stored as (105, 155).
[0825] Step 4: Generating instruction data
[0826] Subject: Server
[0827] The server inputs collected motion data into a generative model to generate reproducible instruction data. The generative model uses machine learning algorithms to create reproducible instruction data based on the motion data. Specifically, the generative model creates data that includes specific instructions such as "raise your right hand" or "rotate your left hand." The input to this process is a list of motion data, and the output is reproducible instruction data. For example, the generative model might generate "detailed instruction data that includes arrows indicating hand movements."
[0828] Step 5: Save the instruction data
[0829] Subject: Server
[0830] The generated instruction data is saved by the server in an appropriate format. Specifically, the generated instruction data is saved as "indications.json" so that the user can access it later. The input to this process is the generated instruction data, and the output is the saved file. For example, the data is saved with the filename "indications.json".
[0831] Step 6: Collecting emotional data
[0832] Subject: terminal
[0833] The device uses a camera and microphone to capture the user's facial expressions and voice in real time and sends this data to the emotion engine. Specifically, the device's camera records the user's facial expressions and the microphone records the user's voice, and this data is sent to the emotion engine in real time. The input to this process is the user's facial image and voice data, and the output is emotion data sent to the emotion engine. For example, images of the moment the user's facial expression changes and changes in voice tone are sent.
[0834] Step 7: Analyzing emotional data
[0835] Subject: Server
[0836] The server analyzes the emotional data sent from the emotion engine. Specifically, it recognizes the user's emotional state, such as confusion or satisfaction, and collects that information. For example, the emotion engine identifies a confused state from the user's facial image and sends that information to the server. The input to this process is emotional data from the emotion engine, and the output is the analyzed emotional state information.
[0837] Step 8: Providing optimal instruction data
[0838] Subject: Server
[0839] The server adjusts instruction data based on the analyzed emotional data and provides the user with the most suitable instruction data. Specifically, if the user is confused, the server generates instruction data that includes additional explanations and supplementary information and provides it to the user. The input to this process is the analyzed emotional data, and the output is the adjusted instruction data. For example, depending on the state of confusion, it generates and provides an explanatory video with arrows indicating detailed hand positions.
[0840] Through the above processing steps, this system helps users efficiently learn craftsmanship and provides adaptive support according to their emotional state.
[0841] (Application Example 2)
[0842] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."
[0843] Traditional systems that teach skills from video data have difficulty accurately detecting actions, making it difficult for users to properly acquire skills. Furthermore, because they only provide one-sided instructions without considering the user's emotional state, they hinder effective learning when the user becomes confused.
[0844] In Application Example 2, the specific processing performed by the specific processing unit 290 of the data processing device 12 is realized by the following means. In this invention, the server includes means for detecting a specific action from video data, means for inputting the detected action data into a generation model and generating reproducible instruction data, means for adjusting the instruction data based on the user's emotional state, and means for storing the generated instruction data. This makes it possible to accurately analyze technical actions and provide appropriate instructions according to the user's emotional state.
[0845] "Video data" is data that creates the illusion of movement by playing a series of still images at regular time intervals.
[0846] "Specific actions" refers to a series of consecutive movements or actions recognized within video data.
[0847] "Detection means" refers to functions or devices for analyzing and identifying specific actions from video data.
[0848] A "generative model" is a machine learning algorithm or statistical model used to generate new data based on input data.
[0849] "Reproducible instruction data" refers to data that contains detailed instructions and information necessary to accurately reproduce a particular action.
[0850] "Emotional state" refers to the psychological state and feedback analyzed from the user's facial expressions, voice, etc.
[0851] "Adjustment means" refers to functions or methods for modifying or supplementing instruction data based on the user's emotional state.
[0852] "Storage means" refers to functions or devices for temporarily or permanently recording and retaining generated instruction data.
[0853] This invention relates to a system that detects specific actions from video data, generates instruction data that can reproduce those actions using a generative model, and further adjusts the instruction data based on the user's emotional state. A specific embodiment of this system is described below.
[0854] First, the user uploads video data from their device to the server. This video data might, for example, be a recording of the work movements of a skilled worker in a factory. After receiving this video data, the server analyzes it frame by frame using image processing libraries such as OpenCV to detect specific movements, particularly hand movements. Joint detection algorithms and hand position tracking algorithms are used for this analysis. The detected movement data is saved in list format for each frame.
[0855] Next, the server inputs the collected motion data into a generative model. Based on machine learning algorithms, the generative model analyzes the motion data and generates reproducible instruction data. This instruction data includes detailed information about hand movements and specific instructions for reproducing those movements. The generated instruction data is stored by the server in an appropriate format and retained for later access and use by the user.
[0856] Furthermore, this system incorporates an emotion engine. This emotion engine analyzes the user's facial expressions and voice, recognizing the user's emotional state in real time. An emotion recognition library is used for the analysis. The server receives emotional data from the emotion engine and evaluates the user's state. The server then adjusts the instruction data based on the user's emotional state, enabling the user to learn appropriately.
[0857] For example, consider a scenario where a user is learning pottery techniques. The user uploads a video file recording their pottery work through the interface. The server analyzes the video, detecting the craftsman's hand movements and collecting motion data. Then, a generative model generates instruction data, which is saved. When the user downloads the saved instruction data to learn, the emotion engine analyzes the user's facial expressions and voice. If the server detects that the user is in a confused emotional state, it adjusts the instruction data based on that information, providing instruction data that includes more detailed explanations and additional supplementary information.
[0858] Examples of specific prompt messages include the following:
[0859] "Analyze this video of pottery making and generate instruction data for the robot to accurately reproduce the same task. Analyze the hand movements in the video in detail and adjust the instructions as needed based on the user's emotional state."
[0860] This system allows users to receive precise analysis of their technical actions and flexible instructions tailored to their emotional state, enabling effective skill acquisition.
[0861] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0862] Step 1:
[0863] The user uploads video data containing the technology they want to learn from their device to the server. The uploaded video files are received by the server and stored for analysis.
[0864] Input: Video data
[0865] Output: Video files saved on the server
[0866] Step 2:
[0867] The server analyzes the received video data frame by frame, so it uses the OpenCV library to divide the video into image frames.
[0868] Input: Video data
[0869] Output: List of divided image frames
[0870] Step 3:
[0871] The server uses joint detection algorithms and hand position tracking algorithms to detect specific movements, particularly hand movements, for each frame. This movement data is stored in a list format for each frame.
[0872] Input: Image frame
[0873] Output: List of detected hand movement data
[0874] Step 4:
[0875] The server inputs collected behavioral data into a generative model and generates reproducible instruction data using machine learning algorithms. Libraries such as TensorFlow and PyTorch are used for the generative model.
[0876] Input: List of operation data
[0877] Output: Reproducible instruction data
[0878] Step 5:
[0879] The server saves the generated instruction data in an appropriate format and stores it so that users can access and use it later.
[0880] Input: Instruction data
[0881] Output: Saved instruction data
[0882] Step 6:
[0883] The user downloads instruction data and begins learning. During learning, the system receives real-time feeds from the device's camera and microphone, capturing the user's facial expressions and voice.
[0884] Input: Real-time feed (facial expressions, voice)
[0885] Output: Real-time feed sent to the server
[0886] Step 7:
[0887] The server analyzes the real-time feed and uses an emotion engine to recognize the user's emotional state. This analysis utilizes OpenCV and speech analysis libraries.
[0888] Input: Real-time feed
[0889] Output: User sentiment data
[0890] Step 8:
[0891] The server adjusts the instruction data based on the user's emotional data. For example, if the user is confused, the instruction data will be more detailed, including additional explanations and supplementary information.
[0892] Input: User sentiment data
[0893] Output: Adjusted instruction data
[0894] Step 9:
[0895] The server provides users with adjusted instruction data, ensuring they continue to receive appropriate guidance.
[0896] Input: Adjusted instruction data
[0897] Output: Instruction data provided to the user
[0898] This allows the entire system to improve the user's learning experience.
[0899] The specific processing unit 290 transmits the result of the specific processing to the headset terminal 314. In the headset terminal 314, the control unit 46A causes the speaker 240 and display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[0900] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0901] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and specific processing may also be performed by the headset terminal 314.
[0902] [Fourth Embodiment]
[0903] Figure 7 shows an example of the configuration of the data processing system 410 according to the fourth embodiment.
[0904] As shown in Figure 7, the data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.
[0905] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0906] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a controlled object 443. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and controlled object 443 are also connected to the bus 52.
[0907] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0908] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[0909] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0910] The controlled object 443 includes a display device, LEDs in the eyes, and motors that drive the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the robot 414's emotions can be expressed by controlling these motors. Furthermore, the robot 414's facial expressions can also be expressed by controlling the illumination state of the LEDs in its eyes.
[0911] Figure 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Figure 8, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0912] The specific processing program 56 is an example of a "program" relating to the technology of this disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0913] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0914] In robot 414, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0915] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[0916] This invention relates to a system that detects specific actions from video data, inputs that action data into a generation model, and generates and stores reproducible instruction data. Specific embodiments of this system are described below.
[0917] This system primarily involves servers, terminals, and users. The following describes how to use the system from the user's perspective.
[0918] First, the user prepares a video file containing a specific traditional technique they wish to learn (e.g., lacquerware or pottery techniques). The user uploads this video file to the server through the system interface. After receiving the uploaded video file, the server analyzes it frame by frame using an image processing library such as OpenCV.
[0919] The server detects specific movements, specifically the hand movements of the craftsman, from each analyzed frame. Joint detection algorithms and hand position tracking algorithms are used to detect hand movements. This data is recorded as motion data, either numerically or as coordinates.
[0920] Next, the server inputs the collected motion data into a generative model using a machine learning algorithm. The generative model generates reproducible instruction data based on the given motion data. This instruction data includes detailed information about the craftsman's hand movements and instructions for reproducing those movements.
[0921] The generated instruction data is saved by the server in an appropriate format (e.g., NumPy array or JSON format). The saved instruction data is retained on the server for later access and use by the user.
[0922] Users can access the server using their devices (e.g., PCs, tablets, smartphones) and download the generated instruction data. By viewing the downloaded instruction data, users can learn the craftsman's techniques in detail. Specifically, the downloaded instruction data is displayed as videos to reproduce hand movements and step-by-step instructions.
[0923] For example, suppose a user who wants to learn pottery techniques uploads a video file recording their pottery work. The server analyzes the video, detects the hand movements of the craftsman, and inputs that motion data into a generative model. The generative model generates instruction data to reproduce the specific movements for each step of pottery (e.g., shaping the clay, painting, applying glaze), and saves it. The user can later download this saved instruction data and use it as a reference when actually performing pottery work.
[0924] This invention makes it possible to accurately record the intricate techniques and movements of traditional crafts, and to easily pass them on to future generations. It can accurately reproduce even the most subtle movements that cannot be captured by conventional video recordings alone, and provide them as a manual that allows anyone to acquire the same skills.
[0925] The following describes the processing flow.
[0926] Step 1:
[0927] Users prepare video files containing the traditional techniques they wish to learn and upload them to the server through the system's interface.
[0928] Step 2:
[0929] The server receives video files uploaded by users and analyzes them frame by frame using the OpenCV library. Specifically, it reads the video file using the cv2.VideoCapture function.
[0930] Step 3:
[0931] The server detects the hand position for each frame of the video. This hand detection uses joint detection algorithms and hand position tracking algorithms to collect hand position data.
[0932] Step 4:
[0933] The server saves the detected hand movement data in a list format for each frame. This list includes the hand position data for each frame (e.g., x-coordinate, y-coordinate, hand angle).
[0934] Step 5:
[0935] The server inputs the collected hand movement data into a generative model. The generative model uses a machine learning algorithm to generate reproducible instruction data based on the hand movement data.
[0936] Step 6:
[0937] The server saves the generated instruction data in an appropriate format (e.g., NumPy array or JSON format). The saved instruction data is stored on the server and made accessible to the user later.
[0938] Step 7:
[0939] The user accesses the server using a terminal and downloads the generated instruction data. The download is performed after the user logs into the system.
[0940] Step 8:
[0941] Users learn and practice techniques using downloaded instruction data. Specifically, they practice by reproducing hand movements and following step-by-step instructions based on the instruction data.
[0942] Step 9:
[0943] If necessary, users can review the instruction data multiple times to deepen their understanding of the techniques. This allows users to effectively acquire traditional techniques.
[0944] (Example 1)
[0945] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[0946] Accurately recording the intricate techniques and movements of traditional crafts and easily passing them on to future generations is difficult with conventional video recordings alone. Furthermore, there is a lack of means to accurately reproduce the skills of craftsmen and provide them as manuals that allow anyone to acquire the same techniques.
[0947] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0948] In this invention, the server includes means for a user to upload video data to the server, means for the server to analyze the uploaded video data frame by frame, means for detecting specific movements from the analyzed frames and recording the movement data as numerical values or coordinates, means for inputting the recorded movement data into a generative model using a machine learning algorithm to generate reproducible instruction data, means for saving the generated instruction data, and means for the user to download the saved instruction data. This makes it possible to accurately reproduce even the minute movements of traditional techniques and easily pass them on to the next generation. Furthermore, it enables users to learn the techniques of craftsmen in detail and acquire them as their own skills.
[0949] "Video data" refers to video files recorded in digital format, and examples include videos of traditional techniques being performed.
[0950] A "server" refers to a dedicated computer that provides services to other computer terminals on a network. This system receives and analyzes video data, generates instruction data, and stores it.
[0951] "Analyzing on a frame-by-frame basis" refers to dividing video data into a series of still images over time and then analyzing each still image individually.
[0952] "Specific actions" refers to specific actions or movements performed within a video, and in this system, it specifically refers to the hand movements of a craftsman.
[0953] A "generative model" refers to a model that uses machine learning algorithms to generate new data or instructions based on input data. In this system, it is used to generate reproducible instruction data from behavioral data.
[0954] A "machine learning algorithm" refers to mathematical methods and algorithms that learn from data and perform tasks such as prediction, classification, and generation.
[0955] "Instruction data" refers to data containing detailed procedures and information for reproducing a specific detected action. This data serves as a reference for users to acquire the necessary skills.
[0956] "Numerical values and coordinates" refers to a format in which motion data is represented using numerical information (e.g., joint angles) or coordinate information (e.g., the coordinates of the hand's position).
[0957] "Means of preservation" refers to methods of recording generated instruction data in databases, file systems, etc., in order to retain it for a long period of time.
[0958] "Downloading" refers to the process of transferring data stored on a server to a user's device for retrieval.
[0959] This invention relates to a system for detecting specific actions from video data and generating and storing reproducible instruction data using a generative model. Specific embodiments are described below.
[0960] This system primarily involves servers, terminals, and users. The following describes how to use the system from the user's perspective.
[0961] First, the user prepares a video file recording a specific traditional technique they wish to learn (e.g., lacquerware or pottery techniques). The user uploads this video file to the server through the system interface. After receiving the uploaded video file, the server analyzes it frame by frame using an image processing library such as OpenCV.
[0962] The server detects specific movements from each analyzed frame. Specifically, it uses joint detection algorithms (e.g., MediaPipe Hands) and hand position tracking algorithms (e.g., OpenPose) to detect the movements of the craftsman's hands. This data is recorded as motion data, either numerically or as coordinates. For example, the coordinates of each joint in the hand are saved in (x, y, z) format.
[0963] Next, the server inputs the collected motion data into a generative model using a machine learning algorithm. Specifically, it uses machine learning frameworks such as TensorFlow or PyTorch. The generative model generates reproducible instruction data based on the given motion data. This instruction data includes detailed information about hand movements and the steps to reproduce those movements.
[0964] The generated instruction data is stored by the server in an appropriate format (e.g., NumPy array or JSON). The storage location will be a database (e.g., MongoDB) or a specific directory on the file system. Furthermore, the server will configure appropriate permission management to allow access to the instruction data.
[0965] Users can access the server using their devices (e.g., PCs, tablets, smartphones) and download the generated instruction data. The downloaded instruction data can be displayed as, for example, an HTML document or another video file. Using the instruction data, users can learn the techniques of craftsmen in detail and acquire them as their own skills.
[0966] Specific example
[0967] For example, a user who wants to learn pottery techniques uploads a video file of their pottery work to the system. The server analyzes the video, detects the hand movements of the craftsman, and inputs that motion data into a generative model. The generative model generates instruction data to reproduce the specific movements of each step of pottery (e.g., shaping the clay, painting, applying glaze), and saves it. The user can later download this saved instruction data and use it as a reference when actually performing pottery work.
[0968] Example of a prompt
[0969] The following prompts are used as input to the generating AI model:
[0970] "After analyzing the video and detecting specific movements, generate and save reproducible instruction data based on this data. A specific example is video data of 'lacquer painting.' From this video data, accurately extract the hand movements of the craftsman and generate detailed instruction data to reproduce those movements."
[0971] The above describes a specific embodiment of this system. This invention makes it possible to accurately record the intricate techniques and movements of traditional skills and easily pass them on to future generations. Furthermore, it can accurately reproduce even the most subtle movements that cannot be captured by conventional video recordings alone, providing a manual that allows anyone to acquire the same skills.
[0972] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0973] Step 1:
[0974] Users prepare video files containing recordings of specific traditional techniques they wish to learn and upload them to the server through the system's interface.
[0975] Input: Video file (e.g., "pottery_technique.mp4")
[0976] Output: Video files uploaded to the server
[0977] Step 2:
[0978] The server receives video files uploaded by users and analyzes them frame by frame using image processing libraries such as OpenCV.
[0979] Input: Uploaded video file
[0980] Output: Each frame of the video (e.g., 30 frames per second means 30 still images every second)
[0981] Step 3:
[0982] The server detects specific movements from each analyzed frame. It uses MediaPipe Hands or OpenPose to detect the movements of the craftsman's hands and obtains coordinate data (in x, y, z format) of the hand joints.
[0983] Input: Each frame of the video
[0984] Output: Coordinate data of the hand joints (e.g., coordinate information of hand movement for each frame)
[0985] Step 4:
[0986] The server inputs the collected behavioral data into a generative model using a machine learning algorithm (e.g., TensorFlow or PyTorch). The generative model generates reproducible instruction data based on the given behavioral data.
[0987] Input: Coordinate data of the hand joints
[0988] Output: Reproducible instruction data (e.g., detailed instructions describing hand movements)
[0989] Step 5:
[0990] The server saves the generated instruction data in an appropriate format (e.g., NumPy array or JSON). The storage location will be a database (e.g., MongoDB) or a specific directory on the file system.
[0991] Input: Reproducible instruction data
[0992] Output: Saved instruction data (e.g., "instruction_data.json")
[0993] Step 6:
[0994] The user accesses the server using their device and downloads the generated instruction data. The downloaded instruction data is displayed as, for example, an HTML document or another video file.
[0995] Input: Saved instruction data
[0996] Output: Downloaded instruction data
[0997] Specific example:
[0998] For example, if a user wants to learn pottery techniques, they upload a video file called "pottery_technique.mp4" recording their pottery work to the system. The server analyzes the video frame by frame and detects hand movements using MediaPipe Hands. The detected hand movement data is input into a generative model using TensorFlow, which generates reproducible instruction data. This instruction data is saved as "instruction_data.json," which the user downloads from their device to learn pottery techniques.
[0999] (Application Example 1)
[1000] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[1001] Conventional technologies have made it difficult to detect specific movements from video data and generate instruction data to accurately reproduce them. In particular, automating precise tasks and delicate operations in factory automation equipment requires detecting and reproducing hand movements with extremely high precision. However, current technology makes it difficult to realize such advanced automation systems.
[1002] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[1003] In this invention, the server includes means for detecting a specific action from video data, means for inputting the detected action data into a generation model to generate reproducible instruction data, means for storing the generated instruction data, and means for reproducing the specific action in an automated device within a factory. This makes it possible to detect a specific action from video data with high accuracy and to reproduce that action in an automated device within a factory.
[1004] "Video data" is a digital format of data that expresses movement by displaying multiple still images in sequence.
[1005] "Specific actions" refer to predefined movements or behaviors detected within video data.
[1006] "Means of detection" refers to methods or devices for recognizing and identifying target behaviors or movements, such as image processing algorithms.
[1007] A "generative model" refers to a machine learning or AI algorithm used to generate new data from input data.
[1008] "Reproducible instruction data" refers to data that contains specific instructions and parameters necessary to faithfully reproduce the detected operation by other systems or devices.
[1009] "Means of preservation" refers to a method or apparatus for electronically recording generated data and making it accessible at a later date.
[1010] A "system" refers to a comprehensive device or program in which multiple elements work together to achieve a specific function.
[1011] "Factory automation equipment" refers to machines and devices designed to automate tasks such as production and assembly within a factory.
[1012] Modes for carrying out the invention
[1013] This invention relates to a system for detecting specific actions from video data, inputting that action data into a generation model to generate and store reproducible instruction data, and reproducing that action using automated equipment in a factory. The system primarily involves a server, terminals, and users.
[1014] System Overview
[1015] 1. Preparing and uploading video data
[1016] Users prepare video files recording specific tasks performed within the factory and upload them to the server via the system interface. These video files include precise tasks and delicate operations that automated equipment within the factory must perform.
[1017] 2. Analysis of video data
[1018] The server receives the uploaded video file and analyzes it frame by frame using image processing libraries such as OpenCV. Specifically, it uses joint detection algorithms and hand position tracking algorithms to detect specific movements within the video, particularly hand movements. This data is recorded as motion data, either numerically or as coordinates.
[1019] 3. Generation and storage of operation data
[1020] The server inputs the collected motion data into a generative model using a machine learning algorithm. The generative model generates reproducible instruction data based on the given motion data. The generated instruction data includes detailed information about the craftsman's hand movements and instructions for reproducing those movements using automated equipment in the factory. This instruction data is stored on the server in NumPy array or JSON format.
[1021] 4. Use of instruction data
[1022] Users can access the server using their devices (e.g., PCs, tablets, smartphones) and download the generated instruction data. The downloaded instruction data is then installed on automated equipment within the factory and used to reproduce specified actions.
[1023] Hardware and software used
[1024] Hardware: Servers, factory automation equipment, cameras, user terminals (PCs, tablets, smartphones)
[1025] Software: OpenCV, machine learning frameworks (e.g., Keras), Python, NumPy, JSON data storage.
[1026] Specific example of processing
[1027] For example, when learning the assembly process of precision parts, the user uploads a video file recording a craftsman's assembly work. The server analyzes the video, detects hand movements, and saves them as motion data. A generative model generates and saves reproducible instruction data from the detected motion data. By downloading this instruction data and installing it into automated equipment in the factory, it becomes possible to reproduce similar assembly work with high accuracy.
[1028] Example of a prompt:
[1029] "For a robot performing high-precision assembly work in a factory, please analyze the following video and generate instruction data that replicates the hand movements of a skilled craftsman."
[1030] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[1031] Step 1:
[1032] The user prepares a video file recording a specific task within the factory and uploads it to the server using a terminal. The input is the video file, and the output is the video data stored on the server. This process moves the video data to the server, where it is ready for analysis.
[1033] Step 2:
[1034] The server receives the uploaded video data and analyzes the video frame by frame using image processing libraries such as OpenCV. Specifically, it breaks down the video data into frames and detects the hand movements within each frame. The input is each frame of the video file, and the output is motion data including hand position and joint data.
[1035] Step 3:
[1036] The server uses joint detection algorithms and hand position tracking algorithms to record hand movements frame by frame as numerical data and coordinates. This process processes and stores the analyzed hand movements frame by frame as numerical data. The input is the hand movement data for each frame obtained in step 2, and the output is continuous hand movement data.
[1037] Step 4:
[1038] The server inputs collected motion data into a generative model using a machine learning algorithm. The generative model generates reproducible instruction data based on the given motion data. The input is motion data, and the output is the generated reproducible instruction data. The generative model analyzes the motion data and generates detailed instructions to faithfully reproduce its movements.
[1039] Step 5:
[1040] The server stores the generated instruction data. Specifically, it saves the generated instruction data to a file in NumPy array or JSON format. The input is reproducible instruction data generated by the generative model, and the output is the instruction data file stored on the server. The stored data is accessible to users and automated devices at a later date.
[1041] Step 6:
[1042] The user accesses the server using a terminal and downloads stored instruction data. The input is the instruction data stored on the server, and the output is the instruction data downloaded to the terminal. The downloaded data is used by the user to install it on automated equipment within the factory.
[1043] Step 7:
[1044] The automated equipment in the factory reproduces specific actions based on instruction data acquired from a terminal. Specifically, it accurately reproduces hand movements according to the instruction data, performing high-precision tasks. The input is instruction data downloaded by the user and installed on the device, and the output is the reproduced specific action. This process enables the automated equipment to perform tasks based on video data with high precision.
[1045] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[1046] This invention relates to a system that detects specific actions from video data, inputs that action data into a generation model to generate reproducible instruction data, and further combines it with an emotion engine that recognizes the user's emotions to provide optimal instruction data. A specific embodiment of this system is described below.
[1047] This system primarily involves servers, terminals, and users. The following describes how to use the system from the user's perspective.
[1048] First, the user prepares a video file containing a specific traditional technique they wish to learn and uploads it to the server through the system interface. After receiving the uploaded video file, the server analyzes it frame by frame using image processing libraries such as OpenCV.
[1049] The server detects specific actions, particularly the hand movements of the craftsman, from each frame of the video. Joint detection algorithms and hand position tracking algorithms are used to detect the hands and collect hand position data. This action data is stored in a list format for each frame.
[1050] Next, the server inputs the collected motion data into a generative model using a machine learning algorithm. The generative model generates reproducible instruction data based on the motion data. This instruction data includes detailed information about the craftsman's hand movements and instructions for reproducing those movements.
[1051] The generated instruction data is stored by the server in an appropriate format. The stored instruction data is retained on the server for later access and use by the user.
[1052] Furthermore, this system incorporates an emotion engine that recognizes the user's emotions. The emotion engine analyzes the user's facial expressions and voice to recognize the user's emotional state in real time. The emotion data recognized by the emotion engine is sent to the server. The server evaluates the user's state based on the emotion data from the emotion engine and adjusts and provides the optimal instruction data.
[1053] For example, when a user wants to learn pottery techniques, they upload a video file recording their pottery work. The server analyzes the video, detects the craftsman's hand movements, and collects motion data. Then, a generative model generates instruction data, which is stored. When the user downloads the pottery instruction data and learns, the emotion engine analyzes the user's facial expressions and voice. If the server detects that the user is in a confused emotional state, it can adjust the instruction data based on that information, providing more detailed explanations and additional supplementary information.
[1054] This invention makes it possible to accurately record the intricate techniques and movements of traditional crafts, and to provide optimal instruction data while considering the user's emotional state. This allows for the reproduction of even the most subtle movements that cannot be captured by conventional video recordings alone, and can be provided as a manual for effectively learning the techniques.
[1055] The following describes the processing flow.
[1056] Step 1:
[1057] Users prepare video files containing recordings of specific traditional techniques they wish to learn and upload these video files to the server through the system's interface.
[1058] Step 2:
[1059] The server receives video files uploaded by users and analyzes them frame by frame using the OpenCV library. Specifically, it reads the video file using the cv2.VideoCapture function.
[1060] Step 3:
[1061] The server detects the hand position for each frame of the video. This hand detection uses joint detection algorithms and hand position tracking algorithms to collect hand position data.
[1062] Step 4:
[1063] The server saves the detected hand movement data in a list format for each frame. This list includes the hand position data for each frame (e.g., x-coordinate, y-coordinate, hand angle).
[1064] Step 5:
[1065] The server inputs the collected hand movement data into a generative model. The generative model uses a machine learning algorithm to generate reproducible instruction data based on the hand movement data.
[1066] Step 6:
[1067] The server saves the generated instruction data in an appropriate format (e.g., NumPy array or JSON format). The saved instruction data is stored on the server and made accessible to the user later.
[1068] Step 7:
[1069] The user accesses the server using a terminal and downloads the generated instruction data. The download is performed after the user logs into the system.
[1070] Step 8:
[1071] Users learn and practice techniques using downloaded instruction data. Specifically, they practice by reproducing hand movements and following step-by-step instructions based on the instruction data.
[1072] Step 9:
[1073] The device records the user's facial expressions and voice in real time, and an emotion engine recognizes the user's emotions. The emotion engine analyzes the user's facial expressions and voice to determine the user's emotional state (e.g., confused, excited, focused).
[1074] Step 10:
[1075] The server receives the user's emotional data, recognized by the emotion engine, and evaluates the user's state. If the server detects that the user is confused, it adjusts the instruction data and regenerates it to include more detailed explanations and additional support information.
[1076] Step 11:
[1077] The server then provides the user with the adjusted instruction data again, and the user downloads the new instruction data to continue learning the technique.
[1078] Step 12:
[1079] The user uses the regenerated instruction data to continue practicing the technique and deepen their understanding. If necessary, the system repeatedly performs emotion recognition by the emotion engine and adjusts the instruction data by the server.
[1080] This series of steps allows users to effectively learn traditional techniques and accurately reproduce even the intricate skills and movements of artisans. Furthermore, the emotional engine monitors the user's learning progress in real time and provides appropriate support, thereby enhancing the learning effect.
[1081] (Example 2)
[1082] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[1083] Conventional technologies, while detecting specific movements from video data and providing reproducible instruction data, had the challenge of being unable to provide adaptive support that took user emotions into account. As a result, user learning effectiveness was often insufficient, making it difficult to acquire the necessary skills. In particular, it was difficult to generate instruction data that accurately reproduced subtle hand movements, making it impossible to respond appropriately when users felt confused or bewildered.
[1084] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[1085] In this invention, the server includes means for detecting specific actions from video data, means for inputting the detected action data into a generation model to generate reproducible instruction data, means for storing the generated instruction data, and means for collecting user emotion data using an emotion analysis engine and adjusting and providing instruction data based on the collected emotion data.
[1086] This allows for the accurate detection of specific movements and their provision as reproducible instruction data, as well as adaptive support that takes into account the user's emotional state. Furthermore, it can reduce user confusion and hesitation, thereby enhancing learning effectiveness. In particular, because instruction data for reproducing subtle hand movements is adjusted based on the user's emotions, it becomes possible to efficiently acquire advanced skills such as traditional techniques.
[1087] "Video data" refers to a file or stream containing video information, and this is what will be analyzed.
[1088] "Specific action" refers to the movement of a specific object (for example, a human hand or arm) observed within the video data.
[1089] "Means of detection" refers to technologies and devices for identifying specific actions from video data and extracting this data.
[1090] A "generative model" refers to an algorithm or model that uses machine learning or deep learning to generate specific deliverables (e.g., instruction data) based on input behavioral data.
[1091] "Instruction data" refers to data containing specific instructions and information necessary to reproduce the detected action.
[1092] "Means of storage" refers to technologies and devices that store generated instruction data in a memory device or similar, making it accessible later.
[1093] An "emotion analysis engine" refers to a technology or system that analyzes data such as a user's facial expressions and voice to identify the user's emotional state.
[1094] "User sentiment data" refers to information about the user's emotional state collected by the sentiment analysis engine.
[1095] "Means of adjusting and providing" refers to technologies and devices that adaptively modify the content of instruction data based on collected user emotion data, and provide the user with the most optimal instruction data.
[1096] This invention relates to a system that detects specific actions from video data, inputs that action data into a generation model to generate reproducible instruction data, and further combines it with an emotion engine that recognizes the user's emotions to provide optimal instruction data. A specific embodiment of this system is described below.
[1097] This system primarily involves servers, terminals, and users.
[1098] First, the user prepares a video file containing the specific technique they want to learn and uploads this video file to the server through the system's interface. For example, if a user wants to learn pottery techniques, they would prepare a video file named "tougei_video.mp4" recording the pottery process and upload it to the server. To do this, the user accesses the system's web interface using a browser, clicks the "Select File" button, chooses the video file from their local folder, and uploads it.
[1099] After receiving an uploaded video file, the server uses image processing libraries such as OpenCV to analyze the video file frame by frame. For example, the server receives "tougei_video.mp4", uses the OpenCV library to divide it into 30 frames per second, and prepares each frame as image data. This makes it possible to analyze the movements of the craftsmen in detail frame by frame.
[1100] Next, the server detects specific actions, particularly the hand movements of the craftsman, from each frame of the video. Joint detection algorithms and hand position tracking algorithms are used to detect these hand movements and collect hand position data. For example, the server extracts the hand position in each frame as coordinate data and stores it as coordinate data in the "motion data list". Specifically, the coordinates of frame 1 are stored as (100, 150), the coordinates of frame 2 are stored as (105, 155), and so on.
[1101] The collected motion data is input into a generative model by the server, generating reproducible instruction data. The generative model uses machine learning to create instruction data based on the motion data. For example, the generative model creates data that includes specific instructions such as "raise your right hand" or "rotate your left hand." The generated instruction data is saved by the server in an appropriate format. For example, the generated instruction data is saved as "indications.json" so that the user can access it later.
[1102] Furthermore, this system incorporates an emotion engine that recognizes the user's emotions. The terminal captures the user's facial expressions and voice in real time using its camera and microphone, and sends this data to the emotion engine. The emotion engine analyzes the user's facial expressions and voice data and recognizes the user's emotional state in real time. For example, the terminal's camera and microphone are used to record the user's facial expressions and voice, and this data is passed to the emotion engine. The emotion engine recognizes the user's emotional state, such as confusion or satisfaction, from their facial expressions and sends that information to the server.
[1103] The server adjusts the instruction data based on the user's emotional data analyzed by the emotion engine. It adaptively modifies the content of the instruction data based on the collected emotional data to provide the user with the most suitable instruction data. For example, if the user is confused, the server generates and provides instruction data that includes additional explanations and supplementary information. Specifically, if the user appears confused, the server can provide an additional explanatory video showing hand positions with red lines.
[1104] Examples of prompt messages include the following:
[1105] "I want to learn pottery techniques. Please analyze this video file and generate reproducible instruction data."
[1106] "Please establish guidelines for adjusting the instruction data provided when users are confused."
[1107] In this way, the system helps users efficiently learn craftsmanship. Furthermore, by considering the user's emotional state using an emotion engine, it can provide a more personalized learning experience.
[1108] The flow of the specific processing in Example 2 will be explained using Figure 13.
[1109] Step 1: Upload video file
[1110] Subject: User
[1111] Users prepare a video file containing the specific technology they wish to learn and upload it to the server through the system's interface. Specifically, they access the system's web interface using a browser, click the "Select File" button to choose a video file from their local folder, and then click the upload button. The input in this process is the video file, and the output is the video data sent to the server.
[1112] Step 2: Receiving and analyzing video data
[1113] Subject: Server
[1114] The server receives video files uploaded by users. It then analyzes the received video files frame by frame using image processing libraries such as OpenCV. Specifically, the server divides the video file into 30 frames per second and prepares each frame as image data. The input to this process is the received video file, and the output is the image data of each individual frame. For example, it receives "tougei_video.mp4" and converts it into image data of 3000 frames.
[1115] Step 3: Collecting operational data
[1116] Subject: Server
[1117] The server detects specific actions, particularly the hand movements of the craftsman, from each frame of the video. Joint detection algorithms and hand position tracking algorithms are used to collect hand position data. Specifically, the position of the hand in each frame is extracted as coordinate data and stored in a "motion data list." The input to this process is frame image data, and the output is a motion data list containing hand position data. For example, the coordinates of frame 1 are stored as (100, 150), and the coordinates of frame 2 are stored as (105, 155).
[1118] Step 4: Generating instruction data
[1119] Subject: Server
[1120] The server inputs collected motion data into a generative model to generate reproducible instruction data. The generative model uses machine learning algorithms to create reproducible instruction data based on the motion data. Specifically, the generative model creates data that includes specific instructions such as "raise your right hand" or "rotate your left hand." The input to this process is a list of motion data, and the output is reproducible instruction data. For example, the generative model might generate "detailed instruction data that includes arrows indicating hand movements."
[1121] Step 5: Save the instruction data
[1122] Subject: Server
[1123] The generated instruction data is saved by the server in an appropriate format. Specifically, the generated instruction data is saved as "indications.json" so that the user can access it later. The input to this process is the generated instruction data, and the output is the saved file. For example, the data is saved with the filename "indications.json".
[1124] Step 6: Collecting emotional data
[1125] Subject: terminal
[1126] The device uses a camera and microphone to capture the user's facial expressions and voice in real time and sends this data to the emotion engine. Specifically, the device's camera records the user's facial expressions and the microphone records the user's voice, and this data is sent to the emotion engine in real time. The input to this process is the user's facial image and voice data, and the output is emotion data sent to the emotion engine. For example, images of the moment the user's facial expression changes and changes in voice tone are sent.
[1127] Step 7: Analyzing emotional data
[1128] Subject: Server
[1129] The server analyzes the emotional data sent from the emotion engine. Specifically, it recognizes the user's emotional state, such as confusion or satisfaction, and collects that information. For example, the emotion engine identifies a confused state from the user's facial image and sends that information to the server. The input to this process is emotional data from the emotion engine, and the output is the analyzed emotional state information.
[1130] Step 8: Providing optimal instruction data
[1131] Subject: Server
[1132] The server adjusts instruction data based on the analyzed emotional data and provides the user with the most suitable instruction data. Specifically, if the user is confused, the server generates instruction data that includes additional explanations and supplementary information and provides it to the user. The input to this process is the analyzed emotional data, and the output is the adjusted instruction data. For example, depending on the state of confusion, it generates and provides an explanatory video with arrows indicating detailed hand positions.
[1133] Through the above processing steps, this system helps users efficiently learn craftsmanship and provides adaptive support according to their emotional state.
[1134] (Application Example 2)
[1135] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[1136] Traditional systems that teach skills from video data have difficulty accurately detecting actions, making it difficult for users to properly acquire skills. Furthermore, because they only provide one-sided instructions without considering the user's emotional state, they hinder effective learning when the user becomes confused.
[1137] In Application Example 2, the specific processing performed by the specific processing unit 290 of the data processing device 12 is realized by the following means. In this invention, the server includes means for detecting a specific action from video data, means for inputting the detected action data into a generation model and generating reproducible instruction data, means for adjusting the instruction data based on the user's emotional state, and means for storing the generated instruction data. This makes it possible to accurately analyze technical actions and provide appropriate instructions according to the user's emotional state.
[1138] "Video data" is data that creates the illusion of movement by playing a series of still images at regular time intervals.
[1139] "Specific actions" refers to a series of consecutive movements or actions recognized within video data.
[1140] "Detection means" refers to functions or devices for analyzing and identifying specific actions from video data.
[1141] A "generative model" is a machine learning algorithm or statistical model used to generate new data based on input data.
[1142] "Reproducible instruction data" refers to data that contains detailed instructions and information necessary to accurately reproduce a particular action.
[1143] "Emotional state" refers to the psychological state and feedback analyzed from the user's facial expressions, voice, etc.
[1144] "Adjustment means" refers to functions or methods for modifying or supplementing instruction data based on the user's emotional state.
[1145] "Storage means" refers to functions or devices for temporarily or permanently recording and retaining generated instruction data.
[1146] This invention relates to a system that detects specific actions from video data, generates instruction data that can reproduce those actions using a generative model, and further adjusts the instruction data based on the user's emotional state. A specific embodiment of this system is described below.
[1147] First, the user uploads video data from their device to the server. This video data might, for example, be a recording of the work movements of a skilled worker in a factory. After receiving this video data, the server analyzes it frame by frame using image processing libraries such as OpenCV to detect specific movements, particularly hand movements. Joint detection algorithms and hand position tracking algorithms are used for this analysis. The detected movement data is saved in list format for each frame.
[1148] Next, the server inputs the collected motion data into a generative model. Based on machine learning algorithms, the generative model analyzes the motion data and generates reproducible instruction data. This instruction data includes detailed information about hand movements and specific instructions for reproducing those movements. The generated instruction data is stored by the server in an appropriate format and retained for later access and use by the user.
[1149] Furthermore, this system incorporates an emotion engine. This emotion engine analyzes the user's facial expressions and voice, recognizing the user's emotional state in real time. An emotion recognition library is used for the analysis. The server receives emotional data from the emotion engine and evaluates the user's state. The server then adjusts the instruction data based on the user's emotional state, enabling the user to learn appropriately.
[1150] For example, consider a scenario where a user is learning pottery techniques. The user uploads a video file recording their pottery work through the interface. The server analyzes the video, detecting the craftsman's hand movements and collecting motion data. Then, a generative model generates instruction data, which is saved. When the user downloads the saved instruction data to learn, the emotion engine analyzes the user's facial expressions and voice. If the server detects that the user is in a confused emotional state, it adjusts the instruction data based on that information, providing instruction data that includes more detailed explanations and additional supplementary information.
[1151] Examples of specific prompt messages include the following:
[1152] "Analyze this video of pottery making and generate instruction data for the robot to accurately reproduce the same task. Analyze the hand movements in the video in detail and adjust the instructions as needed based on the user's emotional state."
[1153] This system allows users to receive precise analysis of their technical actions and flexible instructions tailored to their emotional state, enabling effective skill acquisition.
[1154] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[1155] Step 1:
[1156] The user uploads video data containing the technology they want to learn from their device to the server. The uploaded video files are received by the server and stored for analysis.
[1157] Input: Video data
[1158] Output: Video files saved on the server
[1159] Step 2:
[1160] The server analyzes the received video data frame by frame, so it uses the OpenCV library to divide the video into image frames.
[1161] Input: Video data
[1162] Output: List of divided image frames
[1163] Step 3:
[1164] The server uses joint detection algorithms and hand position tracking algorithms to detect specific movements, particularly hand movements, for each frame. This movement data is stored in a list format for each frame.
[1165] Input: Image frame
[1166] Output: List of detected hand movement data
[1167] Step 4:
[1168] The server inputs collected behavioral data into a generative model and generates reproducible instruction data using machine learning algorithms. Libraries such as TensorFlow and PyTorch are used for the generative model.
[1169] Input: List of operation data
[1170] Output: Reproducible instruction data
[1171] Step 5:
[1172] The server saves the generated instruction data in an appropriate format and stores it so that users can access and use it later.
[1173] Input: Instruction data
[1174] Output: Saved instruction data
[1175] Step 6:
[1176] The user downloads instruction data and begins learning. During learning, the system receives real-time feeds from the device's camera and microphone, capturing the user's facial expressions and voice.
[1177] Input: Real-time feed (facial expressions, voice)
[1178] Output: Real-time feed sent to the server
[1179] Step 7:
[1180] The server analyzes the real-time feed and uses an emotion engine to recognize the user's emotional state. This analysis utilizes OpenCV and speech analysis libraries.
[1181] Input: Real-time feed
[1182] Output: User sentiment data
[1183] Step 8:
[1184] The server adjusts the instruction data based on the user's emotional data. For example, if the user is confused, the instruction data will be more detailed, including additional explanations and supplementary information.
[1185] Input: User sentiment data
[1186] Output: Adjusted instruction data
[1187] Step 9:
[1188] The server provides users with adjusted instruction data, ensuring they continue to receive appropriate guidance.
[1189] Input: Adjusted instruction data
[1190] Output: Instruction data provided to the user
[1191] This allows the entire system to improve the user's learning experience.
[1192] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the controlled object 443 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[1193] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1194] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the robot 414.
[1195] Furthermore, the emotion identification model 59, acting as an emotion engine, may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to a specific mapping, which is an emotion map (see Figure 9). Similarly, the emotion identification model 59 may also determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.
[1196] Figure 9 shows an emotion map 400 in which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. The closer to the center of the concentric circles, the more primitive the emotions are located. Further out of the concentric circles, emotions representing states and actions arising from mental states are located. Emotion is a concept that includes feelings and mental states. On the left side of the concentric circles, emotions that are generally generated from reactions occurring in the brain are located. On the right side of the concentric circles, emotions that are generally induced by situational judgment are located. Above and below the concentric circles, emotions that are generally generated from reactions occurring in the brain and induced by situational judgment are located. In addition, the emotion of "pleasure" is located on the upper side of the concentric circles, and the emotion of "displeasure" is located on the lower side. Thus, in the emotion map 400, multiple emotions are mapped based on the structure in which emotions arise, and emotions that are likely to occur simultaneously are mapped close together.
[1197] These emotions are distributed at the 3 o'clock position on the Emotion Map 400, and usually fluctuate between feelings of security and anxiety. In the right half of the Emotion Map 400, situational awareness takes precedence over internal feelings, resulting in a calm impression.
[1198] The inside of the Emotion Map 400 represents inner thoughts, while the outside represents actions. Therefore, the further you go from the outside of the Emotion Map 400, the more visible (expressed in actions) your emotions become.
[1199] Here, human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. Similarly, in robots, cars, motorcycles, etc., emotions can be created based on various balances, such as posture and battery level. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. The emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on a system for analyzing brain physiological signals of speech emotion recognition and emotion, Tokushima University, doctoral dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map contains emotions belonging to a region called "response," where sensation is dominant. The right half of the emotion map contains emotions belonging to a region called "situation," where situational awareness is dominant.
[1200] The emotion map defines two emotions that promote learning. One is the emotion around the middle of the negative "repentance" and "reflection" on the situation side. In other words, it is when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is the emotion around the positive "desire" on the reaction side. In other words, it is when the robot has positive feelings such as "I want more" or "I want to know more."
[1201] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values representing each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple training data sets, which are combinations of user input and emotion values representing each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions located close together have similar values, as shown in the emotion map 900 in Figure 10. Figure 10 shows an example where multiple emotions such as "reassured," "calm," and "confident" have similar emotion values.
[1202] The above description primarily focuses on the functions of the data processing device 12 in relation to this disclosure. However, the system related to this disclosure is not necessarily implemented on a server. The system related to this disclosure may be implemented as a general information processing system. This disclosure may be implemented, for example, as a software program that runs on a personal computer or as an application that runs on a smartphone. The method related to this disclosure may be provided to users in SaaS (Software as a Service) format.
[1203] In the above embodiment, an example was given in which a specific process is performed by a single computer 22. However, the technology of this disclosure is not limited thereto, and a distributed processing of the specific process may be performed by multiple computers, including computer 22. For example, a data generation model 58 may be provided in an external device of the data processing device 12, and the external device may generate data according to the input data.
[1204] In the above embodiment, an example was given in which the specific processing program 56 is stored in the storage 32, but the technology of this disclosure is not limited thereto. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-temporary storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-temporary storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes specific processing according to the specific processing program 56.
[1205] 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.
[1206] Furthermore, it is not necessary to store the entirety of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store the entirety of the specific processing program 56 in the storage 32; it is acceptable to store only a portion of the specific processing program 56.
[1207] The following types of processors can be used as hardware resources to perform specific processing. Examples of processors include a CPU, a general-purpose processor that functions as a hardware resource to perform specific processing by executing software, i.e., a program. Other examples of processors include dedicated electrical circuits, such as FPGAs (Field-Programmable Gate Arrays), PLDs (Programmable Logic Devices), or ASICs (Application Specific Integrated Circuits), which have circuit configurations specifically designed to perform specific processing. All of these processors have built-in or connected memory, and all of them perform specific processing by using memory.
[1208] The hardware resource that performs a specific process may consist of one of these various processors, or it may consist of a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Alternatively, the hardware resource that performs a specific process may consist of a single processor.
[1209] Examples of configurations using a single processor include, firstly, a configuration in which one or more CPUs and software are combined to form a single processor, and this processor functions as a hardware resource that performs a specific process. Secondly, there is a configuration using a processor that realizes the functions of the entire system, including multiple hardware resources that perform a specific process, on a single IC chip, as exemplified by SoCs (System-on-a-chip). In this way, a specific process is realized using one or more of the above types of processors as hardware resources.
[1210] Furthermore, the hardware structure of these various processors can more specifically utilize electrical circuits that combine circuit elements such as semiconductor devices. Also, the specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps can be deleted, new steps added, or the processing order rearranged, as long as it does not deviate from the main purpose.
[1211] The descriptions and illustrations presented above are detailed explanations of the technical aspects of this disclosure and are merely examples of the technical aspects. For example, the above descriptions of the structure, function, operation, and effect are examples of the structure, function, operation, and effect of the technical aspects of this disclosure. Therefore, it goes without saying that you may delete unnecessary parts, add new elements, or replace elements in the descriptions and illustrations presented above, as long as you do not deviate from the essence of the technical aspects of this disclosure. Furthermore, in order to avoid confusion and facilitate understanding of the technical aspects of this disclosure, explanations of common technical knowledge and the like that do not require special explanation to enable the implementation of the technical aspects of this disclosure have been omitted from the descriptions and illustrations presented above.
[1212] All documents, patent applications, and technical standards described herein are incorporated by reference to the same extent as if each individual document, patent application, and technical standard were specifically and individually noted to be incorporated by reference.
[1213] The following is further disclosed regarding the embodiments described above.
[1214] (Claim 1)
[1215] A means for detecting specific actions from video data,
[1216] A means for inputting detected motion data into a generation model and generating reproducible instruction data,
[1217] A means for saving the generated instruction data,
[1218] A system that includes this.
[1219] (Claim 2)
[1220] The system according to claim 1, wherein the detected motion data includes hand movements.
[1221] (Claim 3)
[1222] The system according to claim 1, wherein the generative model utilizes machine learning.
[1223]
[1224] "Example 1"
[1225] (Claim 1)
[1226] A means for users to upload video data to a server,
[1227] A means for the server to analyze uploaded video data frame by frame,
[1228] A means for detecting specific movements from analyzed frames and recording those movement data as numerical values or coordinates,
[1229] A means for inputting recorded motion data into a generative model using a machine learning algorithm to generate reproducible instruction data,
[1230] A means for saving the generated instruction data,
[1231] A means for users to download saved instruction data,
[1232] A system that includes this.
[1233] (Claim 2)
[1234] The system according to claim 1, wherein the detected motion data includes hand movements.
[1235] (Claim 3)
[1236] The system according to claim 1, wherein the generative model utilizes machine learning.
[1237] "Application Example 1"
[1238] (Claim 1)
[1239] A means for detecting specific actions from video data,
[1240] A means for inputting detected motion data into a generation model and generating reproducible instruction data,
[1241] A means for saving the generated instruction data,
[1242] In automated equipment within a factory, means for reproducing specific operations,
[1243] A system that includes this.
[1244] (Claim 2)
[1245] The system according to claim 1, wherein the detected motion data includes hand movements.
[1246] (Claim 3)
[1247] The system according to claim 1, wherein the generative model utilizes machine learning.
[1248] "Example 2 of combining an emotion engine"
[1249] (Claim 1)
[1250] A means for detecting specific actions from video data,
[1251] A means for inputting detected motion data into a generation model and generating reproducible instruction data,
[1252] A means for saving the generated instruction data,
[1253] The emotion analysis engine collects user emotion data,
[1254] A means of adjusting and providing instruction data based on collected emotional data,
[1255] A system that includes this.
[1256] (Claim 2)
[1257] The system according to claim 1, wherein the detected motion data includes upper limb movement.
[1258] (Claim 3)
[1259] The system according to claim 1, wherein the generative model utilizes automatic learning.
[1260] "Application example 2 when combining with an emotional engine"
[1261] (Claim 1)
[1262] A means for detecting specific actions from video data,
[1263] A means for inputting detected motion data into a generation model and generating reproducible instruction data,
[1264] Means for adjusting the aforementioned instruction data based on the user's emotional state,
[1265] A means for saving the generated instruction data,
[1266] A system that includes this.
[1267] (Claim 2)
[1268] The system according to claim 1, wherein the detected motion data includes hand movements.
[1269] (Claim 3)
[1270] The system according to claim 1, wherein the generative model utilizes machine learning. [Explanation of symbols]
[1271] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Devices 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robots< / url:> < / url:> < / url:> < / url:>
Claims
1. A means for detecting specific actions from video data, A means for inputting detected motion data into a generation model and generating reproducible instruction data, A means for saving the generated instruction data, A system that includes this.
2. The system according to claim 1, wherein the detected motion data includes hand movements.
3. The system according to claim 1, wherein the generative model utilizes machine learning.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A