system
The system addresses the challenge of technology transfer in manufacturing and construction by overlaying text information on work videos, enhancing efficiency and quality through precise video and text integration.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- SOFTBANK GROUP CORP
- Filing Date
- 2024-10-02
- Publication Date
- 2026-04-14
AI Technical Summary
In manufacturing and construction industries, the departure of experienced workers leads to difficulties in technology inheritance and efficient knowledge transfer, resulting in decreased work efficiency and varying quality due to the lack of effective means to convey technology to new workers.
A system that selects work videos, inputs text information, overlays it on the videos, generates and saves the overlaid videos, and transmits them to a terminal, allowing for precise control over display position, start time, and duration.
Facilitates efficient and effective transfer of technical skills by integrating video and text information, enabling visual learning and improving work efficiency and quality.
Smart Images

Figure 2026064588000001_ABST
Abstract
Description
Technical Field
[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, including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to an explanation of the chatbot's character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance that responds to the user utterance.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] In the manufacturing and construction industries, when experienced workers leave the site due to retirement or resignation, it becomes difficult to inherit technology and know-how. In addition, since there is a lack of means to efficiently and effectively convey technology to new workers, the accumulation of experience and the sharing of technology are not sufficiently carried out, and as a result, the work efficiency may decrease and the quality may vary. There is a need for means to solve such problems.
Means for Solving the Problems
[0005] To solve this problem, the present invention provides a system that includes means for selecting a work video, means for inputting text information to be displayed on the work video, means for receiving the work video and the text information and overlaying the text information on the work video, and means for generating and saving the overlaid work video. Furthermore, the system may include means for transmitting the overlaid work video to a terminal, and means for setting the display position, display start time, and display duration of the text information. This facilitates the transfer of technology and improves work efficiency and quality.
[0006] A "work video" is a video recording of specific tasks performed at a work site, such as in manufacturing or construction.
[0007] "Text information" refers to string data to be displayed in the aforementioned work video, and is an explanatory text that includes tips and key points for the work.
[0008] "Means" refers to elements, including methods, processes, or equipment, used to achieve an objective.
[0009] "Means of selection" refers to an interface or function that allows the user to specify and select a work video.
[0010] "Method of overlaying" refers to a function that processes and displays text information overlaid on a video of the work in progress.
[0011] "Means of generating and saving" refers to the function of creating a new video of the overlaid work and saving it as a file.
[0012] "Means of transmission" refers to the function for sending the generated video file to the device.
[0013] "Display position" refers to the location within the video where the overlaid text information is placed.
[0014] "Display start time" refers to the timing when text information starts to be displayed in the video.
[0015] "Display duration" refers to the length of time that text information continues to be displayed in the video.
Brief Description of Drawings
[0016] [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 an 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
[0017] Hereinafter, an example of an embodiment of the system according to the technology of the present disclosure will be described with reference to the accompanying drawings.
[0018] First, the terms used in the following description will be explained.
[0019] In the following embodiments, the labeled 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.
[0020] In the following embodiments, the labeled RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a work memory by the processor.
[0021] In the following embodiments, the labeled storage is one or more non-volatile storage devices that store various programs and various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), or magnetic tapes, etc.
[0022] 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).
[0023] 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."
[0024] [First Embodiment]
[0025] Figure 1 shows an example of the configuration of the data processing system 10 according to the first embodiment.
[0026] 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.
[0027] 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).
[0028] 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.
[0029] 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.
[0030] 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.
[0031] 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.
[0032] Figure 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0033] 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.
[0034] 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.
[0035] 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.
[0036] 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".
[0037] This invention is a system for effectively transferring technology in industries such as manufacturing and construction, where technology transfer is difficult. It streamlines technology transfer and training by generating manual videos that overlay work videos with tips and techniques. This system includes means for selecting work videos, inputting text information, overlaying, generating and saving, and transmitting to a terminal.
[0038] System Program Overview
[0039] The user first selects a work video and then inputs specific tips and key points of the work as text information. This information is sent to the server via the terminal.
[0040] The server analyzes the path and text information of the received video file and begins the process of overlaying the working video with the text information. Specifically, the processing is performed using natural language as follows:
[0041] 1. The server loads the specified video file.
[0042] 2. The server analyzes the input text information and sets its display position, display start time, and display duration.
[0043] 3. The server overlays text information onto the video footage and generates clips to display according to the specified time and position.
[0044] 4. The server combines text clips and work videos to generate the final instructional video.
[0045] 5. The server saves the generated instructional video.
[0046] After all these steps are completed, the terminal receives the path information for the manual video generated from the server and displays it to the user. The user can then review the presented manual video and use it for technical knowledge transfer and training new employees.
[0047] Specific examples of program processing
[0048] For example, consider a case in manufacturing where machine maintenance work is recorded on video, and important points of the work are added as text information. The process proceeds as follows:
[0049] 1. The user selects a video file named maintenance.mp4 and enters the text information "Maintain a constant torque when tightening screws."
[0050] 2. The device sends the video file path and text information to the server in JSON format.
[0051] 3. The server receives the video file and text information, and loads the video.
[0052] 4. The server sets the display position of the text information, the display start time (e.g., display after 10 seconds), and the display duration (e.g., display for 5 seconds).
[0053] 5. The server uses the MoviePy library to create a clip with text information overlaid at the specified time.
[0054] 6. The server generates the final manual video and saves it as manual_video.mp4.
[0055] 7. The server sends the file path of the generated instructional video back to the terminal.
[0056] 8. The terminal displays the received file path to the user. The user can then view the generated manual video and use it for technical learning and education.
[0057] In this way, we can provide a system that enables efficient and effortless transfer of technical skills. By integrating video and text information, the system of the present invention makes it possible to visually understand actual work and transmit technical skills in an easy-to-learn format.
[0058] The following describes the processing flow.
[0059] Step 1:
[0060] The user selects a work video on their device (e.g., maintenance.mp4) and inputs tips and key points about the work as text information (e.g., "When tightening screws, maintain a constant torque").
[0061] Step 2:
[0062] The terminal constructs the video file path and text information entered by the user in JSON format and sends a POST request to the server.
[0063] Step 3:
[0064] The server receives a POST request sent from the terminal and parses the JSON data in the request body. From the JSON data, it retrieves the video file path and text information (including display position, display start time, and display duration).
[0065] Step 4:
[0066] The server uses the MoviePy library to load the specified video file (maintenance.mp4).
[0067] Step 5:
[0068] The server generates text clips based on each piece of text information. These text clips are configured according to the specified font size, color, position, display start time, and display duration. For example, a text clip might be generated stating, "Maintain a constant torque when tightening screws," and its display position and duration are set.
[0069] Step 6:
[0070] The server overlays the generated text clips onto the working video clip. It uses MoviePy's CompositeVideoClip function to combine the original video clip with multiple text clips.
[0071] Step 7:
[0072] The server generates the combined video clips as a final manual video and saves it in the specified format (e.g., MP4). For example, the video is saved with the filename manual_video.mp4.
[0073] Step 8:
[0074] The server confirms that the generated instructional video has been saved. The server constructs a response containing the file path of the instructional video and sends it back to the terminal.
[0075] Step 9:
[0076] The terminal analyzes the response received from the server and obtains the path to the generated manual video (e.g., manual_video.mp4).
[0077] Step 10:
[0078] The device displays the path to the instructional video to the user. By checking the path to the video file displayed on the device and playing the generated instructional video, the user can visually learn specific tips and key points for the task.
[0079] (Example 1)
[0080] 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."
[0081] Traditional methods of technology transfer in manufacturing and construction typically involve direct instruction from experienced workers, which presents challenges due to the significant time and effort required. Furthermore, conventional video manuals often contain static content, making it difficult to visually convey actual work processes in real time. This has resulted in inefficient technology transfer.
[0082] 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.
[0083] In this invention, the server includes means for receiving and analyzing work videos and text information, means for setting the display position, display start time, and display duration of the text information, and means for overlaying, generating, and saving the text information on the work video based on the analysis results. This makes it possible to efficiently overlay text information on work videos, enabling the visual and effective transfer of technology.
[0084] A "work video" is video data that records the procedures and processes of a work.
[0085] "Text information" refers to data that describes the key points and tips for a task in written form.
[0086] "Means of selection" refers to the interface or device that a user uses to select a specific work video.
[0087] "Means for input" refers to interfaces or devices that allow users to input key points and tips for their work as text.
[0088] "Means of analysis" refers to processing devices or programs that process received video files and text information and extract necessary data.
[0089] "Display position" refers to data indicating the location where text information is displayed on the work video.
[0090] "Display start time" is data that indicates the time when text information begins to appear on the work video.
[0091] "Display duration" refers to data indicating the amount of time that text information remains displayed on the work video.
[0092] "Methods for overlaying" refer to processing devices or programs that overlay text information onto a video at specific positions and timings.
[0093] "Means for generating and saving" refers to a processing device or program that generates a new video file from the superimposed work videos and saves it to a storage device.
[0094] This invention is a system for effectively transferring technology in fields such as manufacturing and construction, where technology transfer is difficult. This system streamlines technology transfer and education by generating manual videos that overlay work videos with tips and techniques.
[0095] This system includes means for selecting work videos, means for inputting text information, means for analyzing received information, means for setting the display position, display start time, and display duration of the text information, means for generating and saving text information overlaid on work videos, and means for transmitting data.
[0096] First, the user selects a specific work video and enters key points and tips for the work as text. This information is sent to the server via the user's device. The device converts the video file path and text information into JSON format and sends it to the server via an HTTP request.
[0097] The server analyzes the received video file path and text information, and sets the display position, display start time, and display duration of the text information. Specifically, the information received by the server includes the video file path, text information, display start time, display duration, and display position. For example, if the text information is "Maintain a constant torque when tightening screws," and the start time is 10 seconds later, the display duration is 5 seconds, and the display position is the center of the screen, these settings will be applied.
[0098] The server uses the MoviePy library to overlay text information onto the work video at specified positions and timings. Based on the overlaid clips, it generates a final manual video and saves it as manual_video.mp4. The server then sends the file path of the generated manual video to the terminal. The terminal displays the received file path to the user, who can then review the generated manual video and use it for technical learning and education.
[0099] For example, in the manufacturing industry, when recording machine maintenance work on video and adding important points of the work as text information, the following specific examples can be considered:
[0100] 1. The user selects a video file named maintenance.mp4 and enters the text information, "Maintain a constant torque when tightening screws."
[0101] 2. The terminal converts the video file path and text information into JSON format and sends it to the server.
[0102] 3. The server receives the video file and text information, loads the video, and sets the display position, display start time, and display duration of the text.
[0103] 4. The server uses the MoviePy library to create a clip that overlays text information onto the video at the specified time and location.
[0104] 5. The server generates and saves the final instructional video.
[0105] 6. The server sends the file path of the generated instructional video to the terminal.
[0106] 7. The terminal displays the file path to the user.
[0107] 8. Users will review the generated instructional videos and use them for learning and teaching the technology.
[0108] Examples of prompt statements include the following:
[0109] "The following work procedure is explained in video format and its key points in text. Please generate the manual video based on the information you enter."
[0110] This system integrates video and text information to convey technology in a visually easy-to-understand format, significantly improving the efficiency of technology transfer.
[0111] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0112] Step 1:
[0113] The user selects a work video and enters text information.
[0114] Specific actions:
[0115] 1. The user uses the terminal to open a file selection dialog and selects the video file maintenance.mp4.
[0116] 2. The user enters the text information "Maintain a constant torque when tightening screws" into the text input field.
[0117] input:
[0118] Path to the work video file (maintenance.mp4)
[0119] Text information ("When tightening screws, maintain a constant torque.")
[0120] output:
[0121] Video file path and text information
[0122] Step 2:
[0123] The terminal sends the entered information to the server.
[0124] Specific actions:
[0125] 1. The terminal converts the input video file path and text information into JSON format.
[0126] json
[0127] {
[0128] "video_path": "maintenance.mp4",
[0129] "text_info": {
[0130] "content": "When tightening screws, maintain a constant torque",
[0131] "start_time": 10,
[0132] "duration": 5,
[0133] "position": {"x": 50, "y": 50}
[0134] }
[0135] }
[0136] 2. The device sends this JSON data to the server via an HTTP request.
[0137] input:
[0138] Video file path and text information
[0139] output:
[0140] JSON data sent to the server
[0141] Step 3:
[0142] The server receives the video file path and text information and begins analysis.
[0143] Specific actions:
[0144] 1. The server receives the HTTP request and extracts the video file path and text information from the JSON data.
[0145] 2. The server loads the video file maintenance.mp4.
[0146] input:
[0147] Received JSON data
[0148] output:
[0149] Loaded video files and text information
[0150] Step 4:
[0151] The server sets the display position, display start time, and display duration of the text information.
[0152] Specific actions:
[0153] 1. The server extracts the display start time (10 seconds later), display duration (5 seconds), and display position (x: 50, y: 50) of the text information from the JSON data.
[0154] 2. The server analyzes the text information, "Maintain a constant torque when tightening screws," and applies these settings.
[0155] input:
[0156] Extracted text information and display settings
[0157] output:
[0158] Text information with settings applied
[0159] Step 5:
[0160] The server generates clips that overlay text information onto the video, according to the specified time and location.
[0161] Specific actions:
[0162] 1. The server uses the MoviePy library to create a new video clip.
[0163] python
[0164] from moviepy.editor import VideoFileClip, TextClip, CompositeVideoClip
[0165] video = VideoFileClip("maintenance.mp4")
[0166] text = TextClip("When tightening screws, maintain a constant torque", fontsize=24, color='white')
[0167] text = text.set_pos(('center', 'center')).set_duration(5).set_start(10)
[0168] video_with_text = CompositeVideoClip([video, text])
[0169] input:
[0170] Work video and text information with settings applied.
[0171] output:
[0172] Overlapping video clips
[0173] Step 6:
[0174] The server combines the text clips with the original work video to generate and save the final instructional video.
[0175] Specific actions:
[0176] 1. The server generates and saves the final manual video, named manual_video.mp4, based on the generated clips.
[0177] python
[0178] video_with_text.write_videofile("manual_video.mp4")
[0179] input:
[0180] Overlapping video clips
[0181] output:
[0182] Saved manual video files
[0183] Step 7:
[0184] The server sends the file path of the generated instructional video back to the terminal.
[0185] Specific actions:
[0186] 1. The server sends the path information of the generated manual video (e.g., / path / to / manual_video.mp4) to the terminal as an HTTP response.
[0187] input:
[0188] Saved manual video files
[0189] output:
[0190] Video file path sent to the terminal
[0191] Step 8:
[0192] The terminal displays the received file path to the user.
[0193] Specific actions:
[0194] 1. The device displays a link to manual_video.mp4 and a player to the user.
[0195] 2. Users can review the provided instructional videos and use them for learning and teaching the technology.
[0196] input:
[0197] Received video file path
[0198] output:
[0199] Manual video presented to the user
[0200] (Application Example 1)
[0201] 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."
[0202] In recent years, factory automation has advanced, but a challenge remains in the difficulty of passing on tasks that require advanced skills and knowledge. In particular, there is a lack of appropriate training methods to efficiently convey how to operate factory robots and maintenance procedures to new workers. Furthermore, the difficulty in intuitively grasping specific points to note and tips in the actual work environment leads to a decrease in learning efficiency.
[0203] 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.
[0204] In this invention, the server includes means for selecting a work video, means for inputting text information to be displayed on the work video, means for receiving the work video and the text information and overlaying the text information onto the work video, means for generating and saving the overlaid work video, and means for recording work using a video device attached to an industrial automation device. This makes it possible to efficiently educate on how to operate and maintain factory robots and to visually learn specific points to note and tips.
[0205] A "work video" is a video recording the procedures for operating or maintaining industrial automation equipment.
[0206] "Text information" refers to written information displayed in the instructional video, such as supplementary explanations, points to note, and tips for operation.
[0207] "Overlaying methods" refer to technical means for appropriately positioning text information at specified locations and times within a work video.
[0208] "Means of generation and saving" refers to the technical means of generating the superimposed work videos into a single file and saving it to a database or storage.
[0209] "Industrial automation equipment" refers to the entire set of equipment and systems used to perform automated tasks within a factory.
[0210] "Video equipment" refers to cameras and video devices attached to industrial automation equipment to record the work being done.
[0211] "Terminal" refers to a computer or mobile device on which a user can view the generated instructional videos.
[0212] A "server" is a central processing unit that performs processing such as analysis and editing of video files and text information, and stores and distributes the generated instructional videos.
[0213] This invention is a system for streamlining technology transfer and training in factory automation equipment, and generates manual videos by overlaying work videos and text information. The system includes a video device as a work video recording device, a means for inputting text information, a means for overlaying video and text information, a means for saving the generated manual video, and a means for transmitting it to a terminal. This makes it possible to efficiently learn how to operate and maintain industrial automation equipment.
[0214] First, the user records a video of the work using a video device attached to the industrial automation equipment. Next, the user selects the recorded work video via a terminal and inputs important points and tips for the work as text information. This text information is entered with specified display position, start time, and duration.
[0215] The server analyzes the path and text information of the received video file and uses the MoviePy library to overlay the text information onto the working video. Specifically, it generates clips that display the text information according to the specified positions and times, and combines them with the working video to create the final manual video. The generated manual video is then saved and sent to the user's terminal.
[0216] The specific hardware used to achieve this includes industrial automation equipment equipped with cameras and terminals (computers and mobile devices) connected to them. The software used will be Python and the MoviePy library.
[0217] For example, when recording robot maintenance work in a factory and adding important points of that work as text information, the process proceeds as follows: The user selects a video recording of "robot grease application work" and enters the text information "apply grease evenly." This text information is specified to be displayed 5 seconds after the start of the video and to last for 4 seconds.
[0218] Examples of prompt messages include the following:
[0219] "Please create videos for robot maintenance and add text information detailing important points and tips for specific work processes. For example, for the grease application process, please provide specific instructions on application methods and precautions."
[0220] This allows for the visual communication of specific points to note and operating tips within the factory, providing a system that is extremely useful for training new employees and transferring technical skills.
[0221] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0222] Step 1:
[0223] The user records work videos using a video device attached to the industrial automation equipment. The input in this step is the video file captured by the video device. The output is the recorded video file.
[0224] Step 2:
[0225] The user selects a video of a task recorded via their device and inputs important points and tips for that task as text information. The input in this step includes the video file path and text information (display position, start time, and duration). The output is JSON data containing the video file path and text information.
[0226] Step 3:
[0227] The terminal sends the video file path and text information to the server in JSON format. The input in this step is data in JSON format. The output is the transmission of data to the server.
[0228] Step 4:
[0229] The server parses the received video file path and text information and loads the video file. The input for this step is the video file path and text information. The output is the video data loaded into memory.
[0230] Step 5:
[0231] The server uses the MoviePy library to create a clip with the text information overlaid, based on the text information's display position, start time, and duration. The inputs for this step are video data and text information. The output is a video clip with the text overlaid.
[0232] Step 6:
[0233] The server combines the video clips with the original working video to generate the final manual video. The inputs in this step are the video clips and the original video data. The output is the generated manual video.
[0234] Step 7:
[0235] The server saves the generated manual video. The input in this step is the manual video data. The output is the saved manual video file.
[0236] Step 8:
[0237] The server returns the file path of the generated instructional video to the terminal. The input in this step is the file path of the instructional video. The output is the file path returned to the terminal.
[0238] Step 9:
[0239] The terminal presents the received file path to the user. The user can then view the presented manual video and use it for technical learning and education. The input in this step is the file path of the manual video. The output is the manual video presented to the user.
[0240] 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.
[0241] This invention combines a system that selects work videos, inputs text information, overlays text information, and generates and saves the overlaid work videos with an emotion engine that recognizes the user's emotions. This system can analyze the user's emotions in real time and dynamically adjust the content and timing of the video display according to the emotions. This allows the user to learn tips and key points of the work in the most optimal state.
[0242] System Program Overview
[0243] The user first selects a work video (e.g., maintenance.mp4) and then inputs tips and key points about the work as text information (e.g., "Maintain a constant torque when tightening screws"). This information is then sent to the server via the terminal.
[0244] The device acquires user emotion data in real time through facial recognition and other means, and sends it to the server.
[0245] The server analyzes the path and text information of the received video file, overlays the working video and text information, and then uses an emotion engine to generate a video with optimal timing and content that matches the user's emotions. Specifically, processing is performed using natural language as follows:
[0246] 1. The server loads the specified video file.
[0247] 2. The server analyzes the input text information and sets its display position, display start time, and display duration.
[0248] 3. The server uses an emotion engine to dynamically adjust the content and display timing of text information based on the acquired emotion data.
[0249] 4. The server overlays text information, adjusted by the emotion engine, onto the working video and generates clips that are displayed according to the specified time and position.
[0250] 5. The server combines text clips and work videos to generate the final instructional video.
[0251] 6. The server saves the generated instructional video.
[0252] After all these steps are completed, the terminal receives the path information for the manual video generated from the server and displays it to the user. The user can then review the presented manual video and use it for technical knowledge transfer and training new employees.
[0253] Specific examples of program processing
[0254] For example, consider a case in manufacturing where machine maintenance work is recorded on video, and important points of the work are added as text information. The process proceeds as follows:
[0255] 1. The user selects a video file named maintenance.mp4 and enters the text information "Maintain a constant torque when tightening screws." The system also captures the user's facial expressions (e.g., focused, fatigued) in real time.
[0256] 2. The device sends the video file path, text information, and sentiment data to the server in JSON format.
[0257] 3. The server receives the video file, text information, and sentiment data, and then loads the video.
[0258] 4. The server sets the display position of the text information, the display start time (e.g., display after 10 seconds), and the display duration (e.g., display for 5 seconds).
[0259] 5. The server uses an emotion engine to adjust the content and timing of displays based on the user's emotional data. For example, if the user is focused, text will be displayed promptly, while if they are fatigued, the display will be paused to allow for a refresh.
[0260] 6. The server uses the MoviePy library to create a clip with text information overlaid at the specified time.
[0261] 7. The server generates the final manual video and saves it as manual_video.mp4.
[0262] 8. The server sends the file path of the generated instructional video back to the terminal.
[0263] 9. The terminal displays the received file path to the user. The user can then view the generated manual video and use it for technical learning and education.
[0264] In this way, a system can be provided that enables efficient and effective transfer of technical skills without requiring much effort. The system of the present invention not only integrates video and text information, but also optimizes the learning environment by taking into account the user's emotions, making it possible to understand actual work in a visual and customized manner.
[0265] The following describes the processing flow.
[0266] Step 1:
[0267] The user selects a work video on their device (e.g., maintenance.mp4) and inputs tips and key points about the work as text information (e.g., "When tightening screws, maintain a constant torque").
[0268] Step 2:
[0269] The terminal constructs the video file path and text information entered by the user in JSON format and sends a POST request to the server.
[0270] Step 3:
[0271] The device uses cameras and sensors to acquire emotional data in order to recognize the user's emotions in real time. This emotional data includes levels of concentration, fatigue, and excitement.
[0272] Step 4:
[0273] The terminal sends the acquired emotion data to the server together with the path of the video file and the text information.
[0274] Step 5:
[0275] The server receives the POST request sent from the terminal and analyzes the JSON data in the request body. The server obtains the path of the video file, the text information, and the emotion data from the JSON data.
[0276] Step 6:
[0277] The server uses the MoviePy library to load the specified video file (maintenance.mp4).
[0278] Step 7:
[0279] The server generates a text clip based on the input text information. The text clip is set according to the specified font size, color, position, display start time, and display duration.
[0280] Step 8:
[0281] The server uses the emotion engine to dynamically adjust the content and display timing of the text information based on the acquired emotion data. For example, when the user is concentrated, the text display is synchronized, and when the user is tired, the display is delayed.
[0282] Step 9:
[0283] The server overlays the text information adjusted by the emotion engine on the working video and generates a clip for display according to the specified time and position.
[0284] Step 10:
[0285] The server combines the text clip and the working video to generate the final manual video.
[0286] Step 11:
[0287] The server saves the generated manual video in a specified format (e.g., MP4 format). As an example, the video is saved with the file name manual_video.mp4.
[0288] Step 12:
[0289] The server confirms that the saving of the generated manual video is completed. The server constructs a response including the file path of the manual video and returns it to the terminal.
[0290] Step 13:
[0291] The terminal analyzes the response received from the server and obtains the path of the generated manual video (e.g., manual_video.mp4).
[0292] Step 14:
[0293] The terminal presents the path of the manual video to the user. The user can visually learn the tips and key points of the specific operation by checking the path of the video file presented on the terminal and playing the generated manual video.
[0294] In this way, by using the user's emotional data as a whole system to overlay the text information on the video at the optimal timing and content, it becomes possible to efficiently and effectively conduct technology inheritance and education.
[0295] (Example 2)
[0296] Next, Example 2 will be described. In the following description, the data processing device 12 is referred to as the "server", and the smart device 14 is referred to as the "terminal".
[0297] Conventional video-based learning systems could not adjust video content or display timing to take into account the user's emotional state. Therefore, information was displayed uniformly regardless of whether the user was concentrating or fatigued, making efficient learning and skill transfer difficult. Furthermore, even when text information was overlaid on the video, the content and timing could not be optimized, preventing users from effectively absorbing the information.
[0298] 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.
[0299] In this invention, the server includes means for selecting a work video, means for inputting text information to be displayed on the work video, means for receiving the work video and text information and overlaying the text information onto the work video, means for acquiring user emotion data in real time, means for dynamically adjusting the content and display timing of the text information based on the emotion data, and means for generating and saving the overlaid work video. This makes it possible to display information at the optimal timing according to the user's emotional state, enabling more efficient and effective learning and skill transfer.
[0300] A "work video" is a video file that records specific work procedures and techniques selected by the user.
[0301] "Text information" refers to textual information that is displayed overlaid on the work video, specifically describing work procedures, important points, and precautions.
[0302] "Emotional data" refers to data that represents the user's emotional state (for example, whether they are focused or fatigued) obtained by analyzing the user's facial expressions and body movements.
[0303] "Real-time" means that data processing and acquisition occur almost simultaneously with actual time.
[0304] "Overlay" means synthesizing both by displaying text information on top of the work video.
[0305] "Display position" refers to information indicating where the text information is displayed on the work video.
[0306] "Display start time" is the time from when the playback of the work video starts until the text information begins to be displayed.
[0307] "Display duration" is the length of time for which the text information continues to be displayed.
[0308] "Dynamically adjust" means changing the display content and timing of the text information in real time based on the user's emotional data.
[0309] "Generate" means creating a new manual video. <�
[0310] "Save" means storing the generated video file in a storage device.
[0311] This system performs selection of a work video, input of text information, overlay of the text information, and generation and storage of the overlaid work video. Also, it can analyze the user's emotions in real time and dynamically adjust the display content and timing of the video according to the emotions.
[0312] The user first selects a work video. In this example, the user selects a work video named maintenance.mp4. Next, the user inputs important points and precautions of the work as text information. For example, the user inputs text information such as "Keep the torque constant when tightening the screw".
[0313] The device uses its built-in camera or external devices to capture the user's facial expressions in real time. This facial expression data is sent to an emotion engine for analysis. As a result of the analysis, emotion data such as whether the user is focused or fatigued is obtained.
[0314] The device sends the user's selected video file path, entered text information, and analyzed sentiment data to the server in JSON format. HTTP is used as the communication protocol.
[0315] The server extracts the video file path, text information, and sentiment data from the received JSON data. Next, it reads the video file maintenance.mp4 from the file system. Then, it sets the display position, start time, and duration of the text information entered by the user. Specifically, the text "Maintain a constant torque when tightening screws" is displayed 10 seconds into the video and lasts for 5 seconds.
[0316] The server uses an emotion engine to dynamically adjust the content and timing of text information based on the user's emotional data. For example, if the user is focused, text will be displayed promptly; conversely, if the user is fatigued, the display will be paused to allow for a refresh period.
[0317] The server uses the MoviePy library to create clips overlaid with text information at specified times and positions. Finally, these clips are combined with the original working video to generate a manual video, which is saved as manual_video.mp4.
[0318] Finally, the server sends the path to the generated manual video back to the terminal. The terminal presents this path to the user, who can then view the generated manual video. This video is used for technical knowledge transfer and training new employees.
[0319] Specific example
[0320] For example, the following processing is performed on a video (e.g., maintenance.mp4) showing machine maintenance work in a manufacturing industry.
[0321] 1. The user selects the video file maintenance.mp4 and enters the text information "Maintain a constant torque when tightening screws."
[0322] 2. The device uses its built-in camera to capture the user's facial expressions and analyzes the emotional data in real time.
[0323] 3. The device sends the video file path, text information, and sentiment data to the server in JSON format.
[0324] 4. The server loads the video file, sets the display position, start time, and duration of the text information, and then the emotion engine makes adjustments.
[0325] 5. The server creates a video clip with the text overlaid using the MoviePy library, generates the final manual video, and saves it.
[0326] 6. The server sends the path to the generated instructional video back to the terminal.
[0327] 7. The device presents the user with a link to a manual video, and the user watches the video.
[0328] Example of a prompt
[0329] "You are envisioning a system for creating instructional videos that can be used for technology transfer in the manufacturing industry. This system would input text information highlighting key points and tips into user-selected work videos, and then optimize the video's content and timing based on user sentiment data. Please generate the optimal instructional video for each user based on the following information:
[0330] Video file: maintenance.mp4
[0331] Text information: "When tightening screws, maintain a constant torque."
[0332] User sentiment data: focused, fatigued
[0333] Please adjust the display position, start time, duration, and timing of the text information to match the user's emotions, and then generate the final instructional video.
[0334] This system can efficiently and effectively support the transfer of technical knowledge by dynamically adjusting the displayed content and timing according to the user's emotional state.
[0335] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0336] Step 1:
[0337] The user logs into the system. Next, the user selects a work video (for example, specifying maintenance.mp4). The user enters important points and precautions for the work as text information (e.g., "Maintain a constant torque when tightening screws").
[0338] Input: Path and text information of the work video file.
[0339] Output: Video file path and text information to send to the terminal.
[0340] Step 2:
[0341] The device captures the user's facial expressions in real time using its built-in camera or external devices. The captured facial data is analyzed by an emotion engine to determine the user's emotional state (e.g., focused, fatigued) in real time.
[0342] Input: User's real-time facial expression data.
[0343] Output: Analyzed sentiment data.
[0344] Step 3:
[0345] The device sends the path to the selected video file, the entered text information, and the analyzed sentiment data to the server in JSON format. This communication uses the HTTP protocol.
[0346] Input: Video file path, text information, sentiment data.
[0347] Output: JSON data sent to the server.
[0348] Step 4:
[0349] The server parses the received JSON data and extracts the video file path, text information, and sentiment data. After extraction, it reads the video file (e.g., maintenance.mp4) from the file system.
[0350] Input: JSON data, video file path.
[0351] Output: Loaded video file, text information, sentiment data.
[0352] Step 5:
[0353] The server sets the display position, start time, and duration of text information for dynamic display. Specifically, the text "Maintain a constant torque when tightening screws" is displayed 10 seconds after the start of the video and displayed for 5 seconds.
[0354] Input: Text information.
[0355] Output: Set display position, display start time, display duration.
[0356] Step 6:
[0357] The server uses an emotion engine to dynamically adjust the content and display timing of text information based on the user's emotional data. For example, if the user is fatigued, the display will be paused and a refresh time will be provided.
[0358] Input: Analyzed emotion data, configured display information.
[0359] Output: Dynamically adjusted display information.
[0360] Step 7:
[0361] The server uses the MoviePy library to create a video clip with text information overlaid at the set time and position. Text is added using the TextClip function and then composited onto the video clip.
[0362] Input: Video file, dynamically adjusted text information.
[0363] Output: A video clip with text information overlaid on it.
[0364] Step 8:
[0365] The server combines the created video clips with the original working video to generate the final manual video. The generated manual video is saved to the file system as manual_video.mp4.
[0366] Input: Video clip with overlaid text information, original working video.
[0367] Output: Generated instructional video.
[0368] Step 9:
[0369] The server sends the file path of the generated instructional video back to the terminal.
[0370] Input: Generated instructional video.
[0371] Output: The file path sent to the terminal.
[0372] Step 10:
[0373] The terminal displays the file path received from the server to the user. The user can watch instructional videos to learn the technology.
[0374] Input: File path from the server.
[0375] Output: Displays the file path to the user.
[0376] Through the above processing steps, we realize a system that provides an optimal learning environment tailored to the user's emotional state, enabling efficient and effective transfer of technical skills.
[0377] (Application Example 2)
[0378] 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".
[0379] The maintenance and operation of autonomous vehicles are complex, making support crucial for efficient and accurate learning. Current systems lack dynamic adjustments based on the user's emotional state, potentially reducing learning efficiency. Furthermore, the lack of emotionally-adjusted timing and content in text information makes it difficult for users to learn essential tips and techniques in an optimal state.
[0380] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for selecting a work video, means for inputting text information to be displayed on the work video, means for receiving the work video and the text information and overlaying the text information on the work video, means for analyzing the user's emotional data in real time and dynamically adjusting the display content and timing of the text information based on the emotional data, and means for generating and saving the overlaid work video. This makes it possible to dynamically adjust the display content and timing of the text information according to the user's emotional state, enabling efficient and accurate learning of maintenance and operation methods for autonomous vehicles.
[0381] A "work video" is a video file that shows the learning or work procedures selected by the user.
[0382] "Text information" refers to written information, including specific points to note and key points, that is displayed in relation to the work video.
[0383] "Emotional data" refers to emotional information acquired in real time from the user's facial expressions, tone of voice, and other factors.
[0384] A "dynamic adjustment method" refers to a method that has the function of changing the content and timing of text information displayed in real time based on acquired sentiment data.
[0385] "Real-time analysis" refers to a method of processing input data immediately and reflecting the results instantly.
[0386] "Means of generation and saving" refers to the means of creating a new video file by integrating text information superimposed on the work video, and saving it to a storage device.
[0387] This invention provides a system for efficiently learning maintenance and operation methods for autonomous vehicles. The system includes means for selecting work videos, inputting text information to be displayed on those videos, and dynamically adjusting emotional data in real time. A detailed embodiment of this system is described below.
[0388] System Overview
[0389] 1. Select and enter video and text information:
[0390] The user launches the smartphone application and selects a video file containing maintenance or operating instructions. For example, they might choose a file like auto_maintenance.mp4.
[0391] Next, enter text information related to the video (e.g., "Check your engine oil regularly").
[0392] 2. Acquisition and analysis of emotional data:
[0393] The device (in this case, a smartphone) uses its camera and microphone to capture the user's facial expressions and voice tone in real time.
[0394] The acquired emotional data is analyzed by EmotionEngine (an emotion analysis engine) to determine states such as concentration, fatigue, and excitement.
[0395] 3. Overlaying video and text information:
[0396] The server receives the specified video file and the entered text information, and dynamically adjusts the content and timing of the text information display.
[0397] The MoviePy library is used for video editing to create clips with text information overlaid at specific points in the video.
[0398] 4. Video generation and saving:
[0399] The server generates a final manual video optimized based on emotion data and saves it to the specified location. The generated video file is saved as manual_video.mp4.
[0400] 5. Presenting videos to users:
[0401] The terminal displays the file path of the generated video sent back from the server to the user. The user can then review the generated manual video and use it for technical learning or training new employees.
[0402] Specific examples of the system
[0403] For example, consider a scenario where a user is learning "how to change engine oil." While the user is watching a video, text information appears stating, "Check your engine oil regularly." If the user is focused, the text information appears immediately, but if they are fatigued, the display is adjusted to be delayed.
[0404] The technologies used
[0405] Hardware: Smartphone camera and microphone.
[0406] Software used: OpenCV (for capturing facial expressions), EmotionEngine (for emotion analysis), MoviePy (for video editing).
[0407] Example of a prompt
[0408] Design an application that analyzes the user's facial expressions (concentrated, fatigued) in real time and overlays text information onto a maintenance procedure video. The timing of the text display will be dynamically set based on the user's emotions.
[0409] This will provide a system that allows users to efficiently and accurately learn how to maintain and operate autonomous vehicles, just as they would in a real-world work environment.
[0410] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0411] Step 1:
[0412] The user launches a smartphone application and selects a video file containing maintenance and operating procedures for autonomous vehicles. For example, they might select auto_maintenance.mp4. The user also enters text information related to this video (e.g., "Check the engine oil regularly"). At this time, the video file path and text information are saved on the device in JSON format.
[0413] Step 2:
[0414] The device receives the path and text information of the input video file and captures the user's facial expressions and voice tone in real time using the camera and microphone. The acquired emotional data is analyzed by EmotionEngine (emotion analysis engine) to determine the user's emotional state (e.g., focused, tired). This emotional data is also temporarily stored on the device.
[0415] Step 3:
[0416] The terminal sends the video file path, text information, and acquired emotion data to the server. The server receives this information and loads the video file. The video editing library used here is MoviePy.
[0417] Step 4:
[0418] The server sets the display position, start time, and duration of the received text information. For example, it might display the text "Check your engine oil regularly" for 5 seconds starting 10 seconds into the video. This setting information is temporarily stored in memory.
[0419] Step 5:
[0420] The server dynamically adjusts the timing of text display based on emotion data acquired using EmotionEngine. Specifically, it displays text as configured when the user is focused, and delays the display by 2 seconds when the user is fatigued. This adjustment is also stored in memory.
[0421] Step 6:
[0422] The server uses the MoviePy library to generate a clip in which text information is overlaid on the video, according to the adjusted display timing and position. This clip is stored in memory as a temporary intermediate product.
[0423] Step 7:
[0424] The server combines the generated text clips with the original work video to produce the final manual video. The generated video file is saved to the server's storage as manual_video.mp4.
[0425] Step 8:
[0426] The server sends the file path of the generated instructional video back to the terminal. The terminal presents the received file path to the user, who can then view the generated instructional video through a smartphone application and use it for technical learning and education.
[0427] 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.
[0428] 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.
[0429] 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.
[0430] [Second Embodiment]
[0431] Figure 3 shows an example of the configuration of the data processing system 210 according to the second embodiment.
[0432] 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.
[0433] 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).
[0434] 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.
[0435] 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.
[0436] 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).
[0437] 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.
[0438] 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.
[0439] 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.
[0440] 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.
[0441] 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.
[0442] 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".
[0443] This invention is a system for effectively transferring technology in industries such as manufacturing and construction, where technology transfer is difficult. It streamlines technology transfer and training by generating manual videos that overlay work videos with tips and techniques. This system includes means for selecting work videos, inputting text information, overlaying, generating and saving, and transmitting to a terminal.
[0444] System Program Overview
[0445] The user first selects a work video and then inputs specific tips and key points of the work as text information. This information is sent to the server via the terminal.
[0446] The server analyzes the path and text information of the received video file and begins the process of overlaying the working video with the text information. Specifically, the processing is performed using natural language as follows:
[0447] 1. The server loads the specified video file.
[0448] 2. The server analyzes the input text information and sets its display position, display start time, and display duration.
[0449] 3. The server overlays text information onto the video footage and generates clips to display according to the specified time and position.
[0450] 4. The server combines text clips and work videos to generate the final instructional video.
[0451] 5. The server saves the generated instructional video.
[0452] After all these steps are completed, the terminal receives the path information for the manual video generated from the server and displays it to the user. The user can then review the presented manual video and use it for technical knowledge transfer and training new employees.
[0453] Specific examples of program processing
[0454] For example, consider a case in manufacturing where machine maintenance work is recorded on video, and important points of the work are added as text information. The process proceeds as follows:
[0455] 1. The user selects a video file named maintenance.mp4 and enters the text information "Maintain a constant torque when tightening screws."
[0456] 2. The device sends the video file path and text information to the server in JSON format.
[0457] 3. The server receives the video file and text information, and loads the video.
[0458] 4. The server sets the display position of the text information, the display start time (e.g., display after 10 seconds), and the display duration (e.g., display for 5 seconds).
[0459] 5. The server uses the MoviePy library to create a clip with text information overlaid at the specified time.
[0460] 6. The server generates the final manual video and saves it as manual_video.mp4.
[0461] 7. The server sends the file path of the generated instructional video back to the terminal.
[0462] 8. The terminal displays the received file path to the user. The user can then view the generated manual video and use it for technical learning and education.
[0463] In this way, we can provide a system that enables efficient and effortless transfer of technical skills. By integrating video and text information, the system of the present invention makes it possible to visually understand actual work and transmit technical skills in an easy-to-learn format.
[0464] The following describes the processing flow.
[0465] Step 1:
[0466] The user selects a work video on their device (e.g., maintenance.mp4) and inputs tips and key points about the work as text information (e.g., "When tightening screws, maintain a constant torque").
[0467] Step 2:
[0468] The terminal constructs the video file path and text information entered by the user in JSON format and sends a POST request to the server.
[0469] Step 3:
[0470] The server receives a POST request sent from the terminal and parses the JSON data in the request body. From the JSON data, it retrieves the video file path and text information (including display position, display start time, and display duration).
[0471] Step 4:
[0472] The server uses the MoviePy library to load the specified video file (maintenance.mp4).
[0473] Step 5:
[0474] The server generates text clips based on each piece of text information. These text clips are configured according to the specified font size, color, position, display start time, and display duration. For example, a text clip might be generated stating, "Maintain a constant torque when tightening screws," and its display position and duration are set.
[0475] Step 6:
[0476] The server overlays the generated text clips onto the working video clip. It uses MoviePy's CompositeVideoClip function to combine the original video clip with multiple text clips.
[0477] Step 7:
[0478] The server generates the combined video clips as a final manual video and saves it in the specified format (e.g., MP4). For example, the video is saved with the filename manual_video.mp4.
[0479] Step 8:
[0480] The server confirms that the generated instructional video has been saved. The server constructs a response containing the file path of the instructional video and sends it back to the terminal.
[0481] Step 9:
[0482] The terminal analyzes the response received from the server and obtains the path to the generated manual video (e.g., manual_video.mp4).
[0483] Step 10:
[0484] The device displays the path to the instructional video to the user. By checking the path to the video file displayed on the device and playing the generated instructional video, the user can visually learn specific tips and key points for the task.
[0485] (Example 1)
[0486] 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."
[0487] Traditional methods of technology transfer in manufacturing and construction typically involve direct instruction from experienced workers, which presents challenges due to the significant time and effort required. Furthermore, conventional video manuals often contain static content, making it difficult to visually convey actual work processes in real time. This has resulted in inefficient technology transfer.
[0488] 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.
[0489] In this invention, the server includes means for receiving and analyzing work videos and text information, means for setting the display position, display start time, and display duration of the text information, and means for overlaying, generating, and saving the text information on the work video based on the analysis results. This makes it possible to efficiently overlay text information on work videos, enabling the visual and effective transfer of technology.
[0490] A "work video" is video data that records the procedures and processes of a work.
[0491] "Text information" refers to data that describes the key points and tips for a task in written form.
[0492] "Means of selection" refers to the interface or device that a user uses to select a specific work video.
[0493] "Means for input" refers to interfaces or devices that allow users to input key points and tips for their work as text.
[0494] "Means of analysis" refers to processing devices or programs that process received video files and text information and extract necessary data.
[0495] "Display position" refers to data indicating the location where text information is displayed on the work video.
[0496] "Display start time" is data that indicates the time when text information begins to appear on the work video.
[0497] "Display duration" refers to data indicating the amount of time that text information remains displayed on the work video.
[0498] "Methods for overlaying" refer to processing devices or programs that overlay text information onto a video at specific positions and timings.
[0499] "Means for generating and saving" refers to a processing device or program that generates a new video file from the superimposed work videos and saves it to a storage device.
[0500] This invention is a system for effectively transferring technology in fields such as manufacturing and construction, where technology transfer is difficult. This system streamlines technology transfer and education by generating manual videos that overlay work videos with tips and techniques.
[0501] This system includes means for selecting work videos, means for inputting text information, means for analyzing received information, means for setting the display position, display start time, and display duration of the text information, means for generating and saving text information overlaid on work videos, and means for transmitting data.
[0502] First, the user selects a specific work video and enters key points and tips for the work as text. This information is sent to the server via the user's device. The device converts the video file path and text information into JSON format and sends it to the server via an HTTP request.
[0503] The server analyzes the received video file path and text information, and sets the display position, display start time, and display duration of the text information. Specifically, the information received by the server includes the video file path, text information, display start time, display duration, and display position. For example, if the text information is "Maintain a constant torque when tightening screws," and the start time is 10 seconds later, the display duration is 5 seconds, and the display position is the center of the screen, these settings will be applied.
[0504] The server uses the MoviePy library to overlay text information onto the work video at specified positions and timings. Based on the overlaid clips, it generates a final manual video and saves it as manual_video.mp4. The server then sends the file path of the generated manual video to the terminal. The terminal displays the received file path to the user, who can then review the generated manual video and use it for technical learning and education.
[0505] For example, in the manufacturing industry, when recording machine maintenance work on video and adding important points of the work as text information, the following specific examples can be considered:
[0506] 1. The user selects a video file named maintenance.mp4 and enters the text information, "Maintain a constant torque when tightening screws."
[0507] 2. The terminal converts the video file path and text information into JSON format and sends it to the server.
[0508] 3. The server receives the video file and text information, loads the video, and sets the display position, display start time, and display duration of the text.
[0509] 4. The server uses the MoviePy library to create a clip that overlays text information onto the video at the specified time and location.
[0510] 5. The server generates and saves the final instructional video.
[0511] 6. The server sends the file path of the generated instructional video to the terminal.
[0512] 7. The terminal displays the file path to the user.
[0513] 8. Users will review the generated instructional videos and use them for learning and teaching the technology.
[0514] Examples of prompt statements include the following:
[0515] "The following work procedure is explained in video format and its key points in text. Please generate the manual video based on the information you enter."
[0516] This system integrates video and text information to convey technology in a visually easy-to-understand format, significantly improving the efficiency of technology transfer.
[0517] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0518] Step 1:
[0519] The user selects a work video and enters text information.
[0520] Specific actions:
[0521] 1. The user uses the terminal to open a file selection dialog and selects the video file maintenance.mp4.
[0522] 2. The user enters the text information "Maintain a constant torque when tightening screws" into the text input field.
[0523] input:
[0524] Path to the work video file (maintenance.mp4)
[0525] Text information ("When tightening screws, maintain a constant torque.")
[0526] output:
[0527] Video file path and text information
[0528] Step 2:
[0529] The terminal sends the entered information to the server.
[0530] Specific actions:
[0531] 1. The terminal converts the input video file path and text information into JSON format.
[0532] json
[0533] {
[0534] "video_path": "maintenance.mp4",
[0535] "text_info": {
[0536] "content": "When tightening screws, maintain a constant torque",
[0537] "start_time": 10,
[0538] "duration": 5,
[0539] "position": {"x": 50, "y": 50}
[0540] }
[0541] }
[0542] 2. The device sends this JSON data to the server via an HTTP request.
[0543] input:
[0544] Video file path and text information
[0545] output:
[0546] JSON data sent to the server
[0547] Step 3:
[0548] The server receives the video file path and text information and begins analysis.
[0549] Specific actions:
[0550] 1. The server receives the HTTP request and extracts the video file path and text information from the JSON data.
[0551] 2. The server loads the video file maintenance.mp4.
[0552] input:
[0553] Received JSON data
[0554] output:
[0555] Loaded video files and text information
[0556] Step 4:
[0557] The server sets the display position, display start time, and display duration of the text information.
[0558] Specific actions:
[0559] 1. The server extracts the display start time (10 seconds later), display duration (5 seconds), and display position (x: 50, y: 50) of the text information from the JSON data.
[0560] 2. The server analyzes the text information, "Maintain a constant torque when tightening screws," and applies these settings.
[0561] input:
[0562] Extracted text information and display settings
[0563] output:
[0564] Text information with settings applied
[0565] Step 5:
[0566] The server generates clips that overlay text information onto the video, according to the specified time and location.
[0567] Specific actions:
[0568] 1. The server uses the MoviePy library to create a new video clip.
[0569] python
[0570] from moviepy.editor import VideoFileClip, TextClip, CompositeVideoClip
[0571] video = VideoFileClip("maintenance.mp4")
[0572] text = TextClip("When tightening screws, maintain a constant torque", fontsize=24, color='white')
[0573] text = text.set_pos(('center', 'center')).set_duration(5).set_start(10)
[0574] video_with_text = CompositeVideoClip([video, text])
[0575] input:
[0576] Work video and text information with settings applied.
[0577] output:
[0578] Overlapping video clips
[0579] Step 6:
[0580] The server combines the text clips with the original work video to generate and save the final instructional video.
[0581] Specific actions:
[0582] 1. The server generates and saves the final manual video, named manual_video.mp4, based on the generated clips.
[0583] python
[0584] video_with_text.write_videofile("manual_video.mp4")
[0585] input:
[0586] Overlapping video clips
[0587] output:
[0588] Saved manual video files
[0589] Step 7:
[0590] The server sends the file path of the generated instructional video back to the terminal.
[0591] Specific actions:
[0592] 1. The server sends the path information of the generated manual video (e.g., / path / to / manual_video.mp4) to the terminal as an HTTP response.
[0593] input:
[0594] Saved manual video files
[0595] output:
[0596] Video file path sent to the terminal
[0597] Step 8:
[0598] The terminal displays the received file path to the user.
[0599] Specific actions:
[0600] 1. The device displays a link to manual_video.mp4 and a player to the user.
[0601] 2. Users can review the provided instructional videos and use them for learning and teaching the technology.
[0602] input:
[0603] Received video file path
[0604] output:
[0605] Manual video presented to the user
[0606] (Application Example 1)
[0607] 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."
[0608] In recent years, factory automation has advanced, but a challenge remains in the difficulty of passing on tasks that require advanced skills and knowledge. In particular, there is a lack of appropriate training methods to efficiently convey how to operate factory robots and maintenance procedures to new workers. Furthermore, the difficulty in intuitively grasping specific points to note and tips in the actual work environment leads to a decrease in learning efficiency.
[0609] 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.
[0610] In this invention, the server includes means for selecting a work video, means for inputting text information to be displayed on the work video, means for receiving the work video and the text information and overlaying the text information onto the work video, means for generating and saving the overlaid work video, and means for recording work using a video device attached to an industrial automation device. This makes it possible to efficiently educate on how to operate and maintain factory robots and to visually learn specific points to note and tips.
[0611] A "work video" is a video recording the procedures for operating or maintaining industrial automation equipment.
[0612] "Text information" refers to written information displayed in the instructional video, such as supplementary explanations, points to note, and tips for operation.
[0613] "Overlaying methods" refer to technical means for appropriately positioning text information at specified locations and times within a work video.
[0614] "Means of generation and saving" refers to the technical means of generating the superimposed work videos into a single file and saving it to a database or storage.
[0615] "Industrial automation equipment" refers to the entire set of equipment and systems used to perform automated tasks within a factory.
[0616] "Video equipment" refers to cameras and video devices attached to industrial automation equipment to record the work being done.
[0617] "Terminal" refers to a computer or mobile device on which a user can view the generated instructional videos.
[0618] A "server" is a central processing unit that performs processing such as analysis and editing of video files and text information, and stores and distributes the generated instructional videos.
[0619] This invention is a system for streamlining technology transfer and training in factory automation equipment, and generates manual videos by overlaying work videos and text information. The system includes a video device as a work video recording device, a means for inputting text information, a means for overlaying video and text information, a means for saving the generated manual video, and a means for transmitting it to a terminal. This makes it possible to efficiently learn how to operate and maintain industrial automation equipment.
[0620] First, the user records a video of the work using a video device attached to the industrial automation equipment. Next, the user selects the recorded work video via a terminal and inputs important points and tips for the work as text information. This text information is entered with specified display position, start time, and duration.
[0621] The server analyzes the path and text information of the received video file and uses the MoviePy library to overlay the text information onto the working video. Specifically, it generates clips that display the text information according to the specified positions and times, and combines them with the working video to create the final manual video. The generated manual video is then saved and sent to the user's terminal.
[0622] The specific hardware used to achieve this includes industrial automation equipment equipped with cameras and terminals (computers and mobile devices) connected to them. The software used will be Python and the MoviePy library.
[0623] For example, when recording robot maintenance work in a factory and adding important points of that work as text information, the process proceeds as follows: The user selects a video recording of "robot grease application work" and enters the text information "apply grease evenly." This text information is specified to be displayed 5 seconds after the start of the video and to last for 4 seconds.
[0624] Examples of prompt messages include the following:
[0625] "Please create videos for robot maintenance and add text information detailing important points and tips for specific work processes. For example, for the grease application process, please provide specific instructions on application methods and precautions."
[0626] This allows for the visual communication of specific points to note and operating tips within the factory, providing a system that is extremely useful for training new employees and transferring technical skills.
[0627] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0628] Step 1:
[0629] The user records work videos using a video device attached to the industrial automation equipment. The input in this step is the video file captured by the video device. The output is the recorded video file.
[0630] Step 2:
[0631] The user selects a video of a task recorded via their device and inputs important points and tips for that task as text information. The input in this step includes the video file path and text information (display position, start time, and duration). The output is JSON data containing the video file path and text information.
[0632] Step 3:
[0633] The terminal sends the video file path and text information to the server in JSON format. The input in this step is data in JSON format. The output is the transmission of data to the server.
[0634] Step 4:
[0635] The server parses the received video file path and text information and loads the video file. The input for this step is the video file path and text information. The output is the video data loaded into memory.
[0636] Step 5:
[0637] The server uses the MoviePy library to create a clip with the text information overlaid, based on the text information's display position, start time, and duration. The inputs for this step are video data and text information. The output is a video clip with the text overlaid.
[0638] Step 6:
[0639] The server combines the video clips with the original working video to generate the final manual video. The inputs in this step are the video clips and the original video data. The output is the generated manual video.
[0640] Step 7:
[0641] The server saves the generated manual video. The input in this step is the manual video data. The output is the saved manual video file.
[0642] Step 8:
[0643] The server returns the file path of the generated instructional video to the terminal. The input in this step is the file path of the instructional video. The output is the file path returned to the terminal.
[0644] Step 9:
[0645] The terminal presents the received file path to the user. The user can then view the presented manual video and use it for technical learning and education. The input in this step is the file path of the manual video. The output is the manual video presented to the user.
[0646] 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.
[0647] This invention combines a system that selects work videos, inputs text information, overlays text information, and generates and saves the overlaid work videos with an emotion engine that recognizes the user's emotions. This system can analyze the user's emotions in real time and dynamically adjust the content and timing of the video display according to the emotions. This allows the user to learn tips and key points of the work in the most optimal state.
[0648] System Program Overview
[0649] The user first selects a work video (e.g., maintenance.mp4) and then inputs tips and key points about the work as text information (e.g., "Maintain a constant torque when tightening screws"). This information is then sent to the server via the terminal.
[0650] The device acquires user emotion data in real time through facial recognition and other means, and sends it to the server.
[0651] The server analyzes the path and text information of the received video file, overlays the working video and text information, and then uses an emotion engine to generate a video with optimal timing and content that matches the user's emotions. Specifically, processing is performed using natural language as follows:
[0652] 1. The server loads the specified video file.
[0653] 2. The server analyzes the input text information and sets its display position, display start time, and display duration.
[0654] 3. The server uses an emotion engine to dynamically adjust the content and display timing of text information based on the acquired emotion data.
[0655] 4. The server overlays text information, adjusted by the emotion engine, onto the working video and generates clips that are displayed according to the specified time and position.
[0656] 5. The server combines text clips and work videos to generate the final instructional video.
[0657] 6. The server saves the generated instructional video.
[0658] After all these steps are completed, the terminal receives the path information for the manual video generated from the server and displays it to the user. The user can then review the presented manual video and use it for technical knowledge transfer and training new employees.
[0659] Specific examples of program processing
[0660] For example, consider a case in manufacturing where machine maintenance work is recorded on video, and important points of the work are added as text information. The process proceeds as follows:
[0661] 1. The user selects a video file named maintenance.mp4 and enters the text information "Maintain a constant torque when tightening screws." The system also captures the user's facial expressions (e.g., focused, fatigued) in real time.
[0662] 2. The device sends the video file path, text information, and sentiment data to the server in JSON format.
[0663] 3. The server receives the video file, text information, and sentiment data, and then loads the video.
[0664] 4. The server sets the display position of the text information, the display start time (e.g., display after 10 seconds), and the display duration (e.g., display for 5 seconds).
[0665] 5. The server uses an emotion engine to adjust the content and timing of displays based on the user's emotional data. For example, if the user is focused, text will be displayed promptly, while if they are fatigued, the display will be paused to allow for a refresh.
[0666] 6. The server uses the MoviePy library to create a clip with text information overlaid at the specified time.
[0667] 7. The server generates the final manual video and saves it as manual_video.mp4.
[0668] 8. The server sends the file path of the generated instructional video back to the terminal.
[0669] 9. The terminal displays the received file path to the user. The user can then view the generated manual video and use it for technical learning and education.
[0670] In this way, a system can be provided that enables efficient and effective transfer of technical skills without requiring much effort. The system of the present invention not only integrates video and text information, but also optimizes the learning environment by taking into account the user's emotions, making it possible to understand actual work in a visual and customized manner.
[0671] The following describes the processing flow.
[0672] Step 1:
[0673] The user selects a work video on their device (e.g., maintenance.mp4) and inputs tips and key points about the work as text information (e.g., "When tightening screws, maintain a constant torque").
[0674] Step 2:
[0675] The terminal constructs the video file path and text information entered by the user in JSON format and sends a POST request to the server.
[0676] Step 3:
[0677] The device uses cameras and sensors to acquire emotional data in order to recognize the user's emotions in real time. This emotional data includes levels of concentration, fatigue, and excitement.
[0678] Step 4:
[0679] The device sends the acquired emotion data, along with the video file path and text information, to the server.
[0680] Step 5:
[0681] The server receives a POST request from the terminal and parses the JSON data in the request body. From the JSON data, it extracts the video file path, text information, and sentiment data.
[0682] Step 6:
[0683] The server uses the MoviePy library to load the specified video file (maintenance.mp4).
[0684] Step 7:
[0685] The server generates a text clip based on the input text information. The text clip is configured according to the specified font size, color, position, display start time, and display duration.
[0686] Step 8:
[0687] The server uses an emotion engine to dynamically adjust the content and display timing of text information based on acquired emotion data. For example, it synchronizes text display when the user is focused and delays it when the user is fatigued.
[0688] Step 9:
[0689] The server overlays text information, adjusted by the emotion engine, onto the video footage and generates clips that are displayed according to specified times and positions.
[0690] Step 10:
[0691] The server combines text clips and work videos to generate the final instructional video.
[0692] Step 11:
[0693] The server saves the generated manual video in the specified format (e.g., MP4). For example, it saves the video with the filename manual_video.mp4.
[0694] Step 12:
[0695] The server confirms that the generated instructional video has been saved. The server constructs a response containing the file path of the instructional video and sends it back to the terminal.
[0696] Step 13:
[0697] The terminal analyzes the response received from the server and obtains the path to the generated manual video (e.g., manual_video.mp4).
[0698] Step 14:
[0699] The device displays the path to the instructional video to the user. By checking the path to the video file displayed on the device and playing the generated instructional video, the user can visually learn specific tips and key points for the task.
[0700] In this way, by using user sentiment data as a whole system to overlay text information onto videos at the optimal timing and content, it becomes possible to efficiently and effectively transfer technology and provide education.
[0701] (Example 2)
[0702] 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".
[0703] Conventional video-based learning systems could not adjust video content or display timing to take into account the user's emotional state. Therefore, information was displayed uniformly regardless of whether the user was concentrating or fatigued, making efficient learning and skill transfer difficult. Furthermore, even when text information was overlaid on the video, the content and timing could not be optimized, preventing users from effectively absorbing the information.
[0704] 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.
[0705] In this invention, the server includes means for selecting a work video, means for inputting text information to be displayed on the work video, means for receiving the work video and text information and overlaying the text information onto the work video, means for acquiring user emotion data in real time, means for dynamically adjusting the content and display timing of the text information based on the emotion data, and means for generating and saving the overlaid work video. This makes it possible to display information at the optimal timing according to the user's emotional state, enabling more efficient and effective learning and skill transfer.
[0706] A "work video" is a video file that records specific work procedures and techniques selected by the user.
[0707] "Text information" refers to textual information that is displayed overlaid on the work video, specifically describing work procedures, important points, and precautions.
[0708] "Emotional data" refers to data that represents the user's emotional state (for example, whether they are focused or fatigued) obtained by analyzing the user's facial expressions and body movements.
[0709] "Real-time" means that data processing and acquisition occur almost simultaneously with actual time.
[0710] "Overlaying" means merging the two by displaying text information on top of the video footage.
[0711] "Display position" refers to information indicating where text information will appear within the video.
[0712] "Display start time" refers to the time from when the video playback begins until the text information starts to be displayed.
[0713] "Display duration" refers to the length of time that text information remains displayed.
[0714] "Dynamic adjustment" means changing the content and timing of text information displayed in real time based on user sentiment data.
[0715] "Generation" refers to creating a new instructional video.
[0716] "Saving" means saving the generated video file to a storage device.
[0717] This system selects work videos, inputs text information, overlays the text information, and generates and saves the overlaid work video. It can also analyze the user's emotions in real time and dynamically adjust the video content and timing according to those emotions.
[0718] The user first selects a work video. In this example, the user selects a work video called maintenance.mp4. Next, the user enters important points and precautions for the work as text information. For example, they might enter the text information, "Maintain a constant torque when tightening screws."
[0719] The device uses its built-in camera or external devices to capture the user's facial expressions in real time. This facial expression data is sent to an emotion engine for analysis. As a result of the analysis, emotion data such as whether the user is focused or fatigued is obtained.
[0720] The device sends the user's selected video file path, entered text information, and analyzed sentiment data to the server in JSON format. HTTP is used as the communication protocol.
[0721] The server extracts the video file path, text information, and sentiment data from the received JSON data. Next, it reads the video file maintenance.mp4 from the file system. Then, it sets the display position, start time, and duration of the text information entered by the user. Specifically, the text "Maintain a constant torque when tightening screws" is displayed 10 seconds into the video and lasts for 5 seconds.
[0722] The server uses an emotion engine to dynamically adjust the content and timing of text information based on the user's emotional data. For example, if the user is focused, text will be displayed promptly; conversely, if the user is fatigued, the display will be paused to allow for a refresh period.
[0723] The server uses the MoviePy library to create clips overlaid with text information at specified times and positions. Finally, these clips are combined with the original working video to generate a manual video, which is saved as manual_video.mp4.
[0724] Finally, the server sends the path to the generated manual video back to the terminal. The terminal presents this path to the user, who can then view the generated manual video. This video is used for technical knowledge transfer and training new employees.
[0725] Specific example
[0726] For example, the following processing is performed on a video (e.g., maintenance.mp4) showing machine maintenance work in a manufacturing industry.
[0727] 1. The user selects the video file maintenance.mp4 and enters the text information "Maintain a constant torque when tightening screws."
[0728] 2. The device uses its built-in camera to capture the user's facial expressions and analyzes the emotional data in real time.
[0729] 3. The device sends the video file path, text information, and sentiment data to the server in JSON format.
[0730] 4. The server loads the video file, sets the display position, start time, and duration of the text information, and then the emotion engine makes adjustments.
[0731] 5. The server creates a video clip with the text overlaid using the MoviePy library, generates the final manual video, and saves it.
[0732] 6. The server sends the path to the generated instructional video back to the terminal.
[0733] 7. The device presents the user with a link to a manual video, and the user watches the video.
[0734] Example of a prompt
[0735] "You are envisioning a system for creating instructional videos that can be used for technology transfer in the manufacturing industry. This system would input text information highlighting key points and tips into user-selected work videos, and then optimize the video's content and timing based on user sentiment data. Please generate the optimal instructional video for each user based on the following information:
[0736] Video file: maintenance.mp4
[0737] Text information: "When tightening screws, maintain a constant torque."
[0738] User sentiment data: focused, fatigued
[0739] Please adjust the display position, start time, duration, and timing of the text information to match the user's emotions, and then generate the final instructional video.
[0740] This system can efficiently and effectively support the transfer of technical knowledge by dynamically adjusting the displayed content and timing according to the user's emotional state.
[0741] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0742] Step 1:
[0743] The user logs into the system. Next, the user selects a work video (for example, specifying maintenance.mp4). The user enters important points and precautions for the work as text information (e.g., "Maintain a constant torque when tightening screws").
[0744] Input: Path and text information of the work video file.
[0745] Output: Video file path and text information to send to the terminal.
[0746] Step 2:
[0747] The device captures the user's facial expressions in real time using its built-in camera or external devices. The captured facial data is analyzed by an emotion engine to determine the user's emotional state (e.g., focused, fatigued) in real time.
[0748] Input: User's real-time facial expression data.
[0749] Output: Analyzed sentiment data.
[0750] Step 3:
[0751] The device sends the path to the selected video file, the entered text information, and the analyzed sentiment data to the server in JSON format. This communication uses the HTTP protocol.
[0752] Input: Video file path, text information, sentiment data.
[0753] Output: JSON data sent to the server.
[0754] Step 4:
[0755] The server parses the received JSON data and extracts the video file path, text information, and sentiment data. After extraction, it reads the video file (e.g., maintenance.mp4) from the file system.
[0756] Input: JSON data, video file path.
[0757] Output: Loaded video file, text information, sentiment data.
[0758] Step 5:
[0759] The server sets the display position, start time, and duration of text information for dynamic display. Specifically, the text "Maintain a constant torque when tightening screws" is displayed 10 seconds after the start of the video and displayed for 5 seconds.
[0760] Input: Text information.
[0761] Output: Set display position, display start time, display duration.
[0762] Step 6:
[0763] The server uses an emotion engine to dynamically adjust the content and display timing of text information based on the user's emotional data. For example, if the user is fatigued, the display will be paused and a refresh time will be provided.
[0764] Input: Analyzed emotion data, configured display information.
[0765] Output: Dynamically adjusted display information.
[0766] Step 7:
[0767] The server uses the MoviePy library to create a video clip with text information overlaid at the set time and position. Text is added using the TextClip function and then composited onto the video clip.
[0768] Input: Video file, dynamically adjusted text information.
[0769] Output: A video clip with text information overlaid on it.
[0770] Step 8:
[0771] The server combines the created video clips with the original working video to generate the final manual video. The generated manual video is saved to the file system as manual_video.mp4.
[0772] Input: Video clip with overlaid text information, original working video.
[0773] Output: Generated instructional video.
[0774] Step 9:
[0775] The server sends the file path of the generated instructional video back to the terminal.
[0776] Input: Generated instructional video.
[0777] Output: The file path sent to the terminal.
[0778] Step 10:
[0779] The terminal displays the file path received from the server to the user. The user can watch instructional videos to learn the technology.
[0780] Input: File path from the server.
[0781] Output: Displays the file path to the user.
[0782] Through the above processing steps, we realize a system that provides an optimal learning environment tailored to the user's emotional state, enabling efficient and effective transfer of technical skills.
[0783] (Application Example 2)
[0784] 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."
[0785] The maintenance and operation of autonomous vehicles are complex, making support crucial for efficient and accurate learning. Current systems lack dynamic adjustments based on the user's emotional state, potentially reducing learning efficiency. Furthermore, the lack of emotionally-adjusted timing and content in text information makes it difficult for users to learn essential tips and techniques in an optimal state.
[0786] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for selecting a work video, means for inputting text information to be displayed on the work video, means for receiving the work video and the text information and overlaying the text information on the work video, means for analyzing the user's emotional data in real time and dynamically adjusting the display content and timing of the text information based on the emotional data, and means for generating and saving the overlaid work video. This makes it possible to dynamically adjust the display content and timing of the text information according to the user's emotional state, enabling efficient and accurate learning of maintenance and operation methods for autonomous vehicles.
[0787] A "work video" is a video file that shows the learning or work procedures selected by the user.
[0788] "Text information" refers to written information, including specific points to note and key points, that is displayed in relation to the work video.
[0789] "Emotional data" refers to emotional information acquired in real time from the user's facial expressions, tone of voice, and other factors.
[0790] A "dynamic adjustment method" refers to a method that has the function of changing the content and timing of text information displayed in real time based on acquired sentiment data.
[0791] "Real-time analysis" refers to a method of processing input data immediately and reflecting the results instantly.
[0792] "Means of generation and saving" refers to the means of creating a new video file by integrating text information superimposed on the work video, and saving it to a storage device.
[0793] This invention provides a system for efficiently learning maintenance and operation methods for autonomous vehicles. The system includes means for selecting work videos, inputting text information to be displayed on those videos, and dynamically adjusting emotional data in real time. A detailed embodiment of this system is described below.
[0794] System Overview
[0795] 1. Select and enter video and text information:
[0796] The user launches the smartphone application and selects a video file containing maintenance or operating instructions. For example, they might choose a file like auto_maintenance.mp4.
[0797] Next, enter text information related to the video (e.g., "Check your engine oil regularly").
[0798] 2. Acquisition and analysis of emotional data:
[0799] The device (in this case, a smartphone) uses its camera and microphone to capture the user's facial expressions and voice tone in real time.
[0800] The acquired emotional data is analyzed by EmotionEngine (an emotion analysis engine) to determine states such as concentration, fatigue, and excitement.
[0801] 3. Overlaying video and text information:
[0802] The server receives the specified video file and the entered text information, and dynamically adjusts the content and timing of the text information display.
[0803] The MoviePy library is used for video editing to create clips with text information overlaid at specific points in the video.
[0804] 4. Video generation and saving:
[0805] The server generates a final manual video optimized based on emotion data and saves it to the specified location. The generated video file is saved as manual_video.mp4.
[0806] 5. Presenting videos to users:
[0807] The terminal displays the file path of the generated video sent back from the server to the user. The user can then review the generated manual video and use it for technical learning or training new employees.
[0808] Specific examples of the system
[0809] For example, consider a scenario where a user is learning "how to change engine oil." While the user is watching a video, text information appears stating, "Check your engine oil regularly." If the user is focused, the text information appears immediately, but if they are fatigued, the display is adjusted to be delayed.
[0810] The technologies used
[0811] Hardware: Smartphone camera and microphone.
[0812] Software used: OpenCV (for capturing facial expressions), EmotionEngine (for emotion analysis), MoviePy (for video editing).
[0813] Example of a prompt
[0814] Design an application that analyzes the user's facial expressions (concentrated, fatigued) in real time and overlays text information onto a maintenance procedure video. The timing of the text display will be dynamically set based on the user's emotions.
[0815] This will provide a system that allows users to efficiently and accurately learn how to maintain and operate autonomous vehicles, just as they would in a real-world work environment.
[0816] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0817] Step 1:
[0818] The user launches a smartphone application and selects a video file containing maintenance and operating procedures for autonomous vehicles. For example, they might select auto_maintenance.mp4. The user also enters text information related to this video (e.g., "Check the engine oil regularly"). At this time, the video file path and text information are saved on the device in JSON format.
[0819] Step 2:
[0820] The device receives the path and text information of the input video file and captures the user's facial expressions and voice tone in real time using the camera and microphone. The acquired emotional data is analyzed by EmotionEngine (emotion analysis engine) to determine the user's emotional state (e.g., focused, tired). This emotional data is also temporarily stored on the device.
[0821] Step 3:
[0822] The terminal sends the video file path, text information, and acquired emotion data to the server. The server receives this information and loads the video file. The video editing library used here is MoviePy.
[0823] Step 4:
[0824] The server sets the display position, start time, and duration of the received text information. For example, it might display the text "Check your engine oil regularly" for 5 seconds starting 10 seconds into the video. This setting information is temporarily stored in memory.
[0825] Step 5:
[0826] The server dynamically adjusts the timing of text display based on emotion data acquired using EmotionEngine. Specifically, it displays text as configured when the user is focused, and delays the display by 2 seconds when the user is fatigued. This adjustment is also stored in memory.
[0827] Step 6:
[0828] The server uses the MoviePy library to generate a clip in which text information is overlaid on the video, according to the adjusted display timing and position. This clip is stored in memory as a temporary intermediate product.
[0829] Step 7:
[0830] The server combines the generated text clips with the original work video to produce the final manual video. The generated video file is saved to the server's storage as manual_video.mp4.
[0831] Step 8:
[0832] The server sends the file path of the generated instructional video back to the terminal. The terminal presents the received file path to the user, who can then view the generated instructional video through a smartphone application and use it for technical learning and education.
[0833] 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.
[0834] 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.
[0835] 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.
[0836] [Third Embodiment]
[0837] Figure 5 shows an example of the configuration of the data processing system 310 according to the third embodiment.
[0838] 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.
[0839] 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).
[0840] 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.
[0841] 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.
[0842] 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).
[0843] 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.
[0844] 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.
[0845] 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.
[0846] 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.
[0847] 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.
[0848] 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".
[0849] This invention is a system for effectively transferring technology in industries such as manufacturing and construction, where technology transfer is difficult. It streamlines technology transfer and training by generating manual videos that overlay work videos with tips and techniques. This system includes means for selecting work videos, inputting text information, overlaying, generating and saving, and transmitting to a terminal.
[0850] System Program Overview
[0851] The user first selects a work video and then inputs specific tips and key points of the work as text information. This information is sent to the server via the terminal.
[0852] The server analyzes the path and text information of the received video file and begins the process of overlaying the working video with the text information. Specifically, the processing is performed using natural language as follows:
[0853] 1. The server loads the specified video file.
[0854] 2. The server analyzes the input text information and sets its display position, display start time, and display duration.
[0855] 3. The server overlays text information onto the video footage and generates clips to display according to the specified time and position.
[0856] 4. The server combines text clips and work videos to generate the final instructional video.
[0857] 5. The server saves the generated instructional video.
[0858] After all these steps are completed, the terminal receives the path information for the manual video generated from the server and displays it to the user. The user can then review the presented manual video and use it for technical knowledge transfer and training new employees.
[0859] Specific examples of program processing
[0860] For example, consider a case in manufacturing where machine maintenance work is recorded on video, and important points of the work are added as text information. The process proceeds as follows:
[0861] 1. The user selects a video file named maintenance.mp4 and enters the text information "Maintain a constant torque when tightening screws."
[0862] 2. The device sends the video file path and text information to the server in JSON format.
[0863] 3. The server receives the video file and text information, and loads the video.
[0864] 4. The server sets the display position of the text information, the display start time (e.g., display after 10 seconds), and the display duration (e.g., display for 5 seconds).
[0865] 5. The server uses the MoviePy library to create a clip with text information overlaid at the specified time.
[0866] 6. The server generates the final manual video and saves it as manual_video.mp4.
[0867] 7. The server sends the file path of the generated instructional video back to the terminal.
[0868] 8. The terminal displays the received file path to the user. The user can then view the generated manual video and use it for technical learning and education.
[0869] In this way, we can provide a system that enables efficient and effortless transfer of technical skills. By integrating video and text information, the system of the present invention makes it possible to visually understand actual work and transmit technical skills in an easy-to-learn format.
[0870] The following describes the processing flow.
[0871] Step 1:
[0872] The user selects a work video on their device (e.g., maintenance.mp4) and inputs tips and key points about the work as text information (e.g., "When tightening screws, maintain a constant torque").
[0873] Step 2:
[0874] The terminal constructs the video file path and text information entered by the user in JSON format and sends a POST request to the server.
[0875] Step 3:
[0876] The server receives a POST request sent from the terminal and parses the JSON data in the request body. From the JSON data, it retrieves the video file path and text information (including display position, display start time, and display duration).
[0877] Step 4:
[0878] The server uses the MoviePy library to load the specified video file (maintenance.mp4).
[0879] Step 5:
[0880] The server generates text clips based on each piece of text information. These text clips are configured according to the specified font size, color, position, display start time, and display duration. For example, a text clip might be generated stating, "Maintain a constant torque when tightening screws," and its display position and duration are set.
[0881] Step 6:
[0882] The server overlays the generated text clips onto the working video clip. It uses MoviePy's CompositeVideoClip function to combine the original video clip with multiple text clips.
[0883] Step 7:
[0884] The server generates the combined video clips as a final manual video and saves it in the specified format (e.g., MP4). For example, the video is saved with the filename manual_video.mp4.
[0885] Step 8:
[0886] The server confirms that the generated instructional video has been saved. The server constructs a response containing the file path of the instructional video and sends it back to the terminal.
[0887] Step 9:
[0888] The terminal analyzes the response received from the server and obtains the path to the generated manual video (e.g., manual_video.mp4).
[0889] Step 10:
[0890] The device displays the path to the instructional video to the user. By checking the path to the video file displayed on the device and playing the generated instructional video, the user can visually learn specific tips and key points for the task.
[0891] (Example 1)
[0892] 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."
[0893] Traditional methods of technology transfer in manufacturing and construction typically involve direct instruction from experienced workers, which presents challenges due to the significant time and effort required. Furthermore, conventional video manuals often contain static content, making it difficult to visually convey actual work processes in real time. This has resulted in inefficient technology transfer.
[0894] 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.
[0895] In this invention, the server includes means for receiving and analyzing work videos and text information, means for setting the display position, display start time, and display duration of the text information, and means for overlaying, generating, and saving the text information on the work video based on the analysis results. This makes it possible to efficiently overlay text information on work videos, enabling the visual and effective transfer of technology.
[0896] A "work video" is video data that records the procedures and processes of a work.
[0897] "Text information" refers to data that describes the key points and tips for a task in written form.
[0898] "Means of selection" refers to the interface or device that a user uses to select a specific work video.
[0899] "Means for input" refers to interfaces or devices that allow users to input key points and tips for their work as text.
[0900] "Means of analysis" refers to processing devices or programs that process received video files and text information and extract necessary data.
[0901] "Display position" refers to data indicating the location where text information is displayed on the work video.
[0902] "Display start time" is data that indicates the time when text information begins to appear on the work video.
[0903] "Display duration" refers to data indicating the amount of time that text information remains displayed on the work video.
[0904] "Methods for overlaying" refer to processing devices or programs that overlay text information onto a video at specific positions and timings.
[0905] "Means for generating and saving" refers to a processing device or program that generates a new video file from the superimposed work videos and saves it to a storage device.
[0906] This invention is a system for effectively transferring technology in fields such as manufacturing and construction, where technology transfer is difficult. This system streamlines technology transfer and education by generating manual videos that overlay work videos with tips and techniques.
[0907] This system includes means for selecting work videos, means for inputting text information, means for analyzing received information, means for setting the display position, display start time, and display duration of the text information, means for generating and saving text information overlaid on work videos, and means for transmitting data.
[0908] First, the user selects a specific work video and enters key points and tips for the work as text. This information is sent to the server via the user's device. The device converts the video file path and text information into JSON format and sends it to the server via an HTTP request.
[0909] The server analyzes the received video file path and text information, and sets the display position, display start time, and display duration of the text information. Specifically, the information received by the server includes the video file path, text information, display start time, display duration, and display position. For example, if the text information is "Maintain a constant torque when tightening screws," and the start time is 10 seconds later, the display duration is 5 seconds, and the display position is the center of the screen, these settings will be applied.
[0910] The server uses the MoviePy library to overlay text information onto the work video at specified positions and timings. Based on the overlaid clips, it generates a final manual video and saves it as manual_video.mp4. The server then sends the file path of the generated manual video to the terminal. The terminal displays the received file path to the user, who can then review the generated manual video and use it for technical learning and education.
[0911] For example, in the manufacturing industry, when recording machine maintenance work on video and adding important points of the work as text information, the following specific examples can be considered:
[0912] 1. The user selects a video file named maintenance.mp4 and enters the text information, "Maintain a constant torque when tightening screws."
[0913] 2. The terminal converts the video file path and text information into JSON format and sends it to the server.
[0914] 3. The server receives the video file and text information, loads the video, and sets the display position, display start time, and display duration of the text.
[0915] 4. The server uses the MoviePy library to create a clip that overlays text information onto the video at the specified time and location.
[0916] 5. The server generates and saves the final instructional video.
[0917] 6. The server sends the file path of the generated instructional video to the terminal.
[0918] 7. The terminal displays the file path to the user.
[0919] 8. Users will review the generated instructional videos and use them for learning and teaching the technology.
[0920] Examples of prompt statements include the following:
[0921] "The following work procedure is explained in video format and its key points in text. Please generate the manual video based on the information you enter."
[0922] This system integrates video and text information to convey technology in a visually easy-to-understand format, significantly improving the efficiency of technology transfer.
[0923] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0924] Step 1:
[0925] The user selects a work video and enters text information.
[0926] Specific actions:
[0927] 1. The user uses the terminal to open a file selection dialog and selects the video file maintenance.mp4.
[0928] 2. The user enters the text information "Maintain a constant torque when tightening screws" into the text input field.
[0929] input:
[0930] Path to the work video file (maintenance.mp4)
[0931] Text information ("When tightening screws, maintain a constant torque.")
[0932] output:
[0933] Video file path and text information
[0934] Step 2:
[0935] The terminal sends the entered information to the server.
[0936] Specific actions:
[0937] 1. The terminal converts the input video file path and text information into JSON format.
[0938] json
[0939] {
[0940] "video_path": "maintenance.mp4",
[0941] "text_info": {
[0942] "content": "When tightening screws, maintain a constant torque",
[0943] "start_time": 10,
[0944] "duration": 5,
[0945] "position": {"x": 50, "y": 50}
[0946] }
[0947] }
[0948] 2. The device sends this JSON data to the server via an HTTP request.
[0949] input:
[0950] Video file path and text information
[0951] output:
[0952] JSON data sent to the server
[0953] Step 3:
[0954] The server receives the video file path and text information and begins analysis.
[0955] Specific actions:
[0956] 1. The server receives the HTTP request and extracts the video file path and text information from the JSON data.
[0957] 2. The server loads the video file maintenance.mp4.
[0958] input:
[0959] Received JSON data
[0960] output:
[0961] Loaded video files and text information
[0962] Step 4:
[0963] The server sets the display position, display start time, and display duration of the text information.
[0964] Specific actions:
[0965] 1. The server extracts the display start time (10 seconds later), display duration (5 seconds), and display position (x: 50, y: 50) of the text information from the JSON data.
[0966] 2. The server analyzes the text information, "Maintain a constant torque when tightening screws," and applies these settings.
[0967] input:
[0968] Extracted text information and display settings
[0969] output:
[0970] Text information with settings applied
[0971] Step 5:
[0972] The server generates clips that overlay text information onto the video, according to the specified time and location.
[0973] Specific actions:
[0974] 1. The server uses the MoviePy library to create a new video clip.
[0975] python
[0976] from moviepy.editor import VideoFileClip, TextClip, CompositeVideoClip
[0977] video = VideoFileClip("maintenance.mp4")
[0978] text = TextClip("When tightening screws, maintain a constant torque", fontsize=24, color='white')
[0979] text = text.set_pos(('center', 'center')).set_duration(5).set_start(10)
[0980] video_with_text = CompositeVideoClip([video, text])
[0981] input:
[0982] Work video and text information with settings applied.
[0983] output:
[0984] Overlapping video clips
[0985] Step 6:
[0986] The server combines the text clips with the original work video to generate and save the final instructional video.
[0987] Specific actions:
[0988] 1. The server generates and saves the final manual video, named manual_video.mp4, based on the generated clips.
[0989] python
[0990] video_with_text.write_videofile("manual_video.mp4")
[0991] input:
[0992] Overlapping video clips
[0993] output:
[0994] Saved manual video files
[0995] Step 7:
[0996] The server sends the file path of the generated instructional video back to the terminal.
[0997] Specific actions:
[0998] 1. The server sends the path information of the generated manual video (e.g., / path / to / manual_video.mp4) to the terminal as an HTTP response.
[0999] input:
[1000] Saved manual video files
[1001] output:
[1002] Video file path sent to the terminal
[1003] Step 8:
[1004] The terminal displays the received file path to the user.
[1005] Specific actions:
[1006] 1. The device displays a link to manual_video.mp4 and a player to the user.
[1007] 2. Users can review the provided instructional videos and use them for learning and teaching the technology.
[1008] input:
[1009] Received video file path
[1010] output:
[1011] Manual video presented to the user
[1012] (Application Example 1)
[1013] 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."
[1014] In recent years, factory automation has advanced, but a challenge remains in the difficulty of passing on tasks that require advanced skills and knowledge. In particular, there is a lack of appropriate training methods to efficiently convey how to operate factory robots and maintenance procedures to new workers. Furthermore, the difficulty in intuitively grasping specific points to note and tips in the actual work environment leads to a decrease in learning efficiency.
[1015] 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.
[1016] In this invention, the server includes means for selecting a work video, means for inputting text information to be displayed on the work video, means for receiving the work video and the text information and overlaying the text information onto the work video, means for generating and saving the overlaid work video, and means for recording work using a video device attached to an industrial automation device. This makes it possible to efficiently educate on how to operate and maintain factory robots and to visually learn specific points to note and tips.
[1017] A "work video" is a video recording the procedures for operating or maintaining industrial automation equipment.
[1018] "Text information" refers to written information displayed in the instructional video, such as supplementary explanations, points to note, and tips for operation.
[1019] "Overlaying methods" refer to technical means for appropriately positioning text information at specified locations and times within a work video.
[1020] "Means of generation and saving" refers to the technical means of generating the superimposed work videos into a single file and saving it to a database or storage.
[1021] "Industrial automation equipment" refers to the entire set of equipment and systems used to perform automated tasks within a factory.
[1022] "Video equipment" refers to cameras and video devices attached to industrial automation equipment to record the work being done.
[1023] "Terminal" refers to a computer or mobile device on which a user can view the generated instructional videos.
[1024] A "server" is a central processing unit that performs processing such as analysis and editing of video files and text information, and stores and distributes the generated instructional videos.
[1025] This invention is a system for streamlining technology transfer and training in factory automation equipment, and generates manual videos by overlaying work videos and text information. The system includes a video device as a work video recording device, a means for inputting text information, a means for overlaying video and text information, a means for saving the generated manual video, and a means for transmitting it to a terminal. This makes it possible to efficiently learn how to operate and maintain industrial automation equipment.
[1026] First, the user records a video of the work using a video device attached to the industrial automation equipment. Next, the user selects the recorded work video via a terminal and inputs important points and tips for the work as text information. This text information is entered with specified display position, start time, and duration.
[1027] The server analyzes the path and text information of the received video file and uses the MoviePy library to overlay the text information onto the working video. Specifically, it generates clips that display the text information according to the specified positions and times, and combines them with the working video to create the final manual video. The generated manual video is then saved and sent to the user's terminal.
[1028] The specific hardware used to achieve this includes industrial automation equipment equipped with cameras and terminals (computers and mobile devices) connected to them. The software used will be Python and the MoviePy library.
[1029] For example, when recording robot maintenance work in a factory and adding important points of that work as text information, the process proceeds as follows: The user selects a video recording of "robot grease application work" and enters the text information "apply grease evenly." This text information is specified to be displayed 5 seconds after the start of the video and to last for 4 seconds.
[1030] Examples of prompt messages include the following:
[1031] "Please create videos for robot maintenance and add text information detailing important points and tips for specific work processes. For example, for the grease application process, please provide specific instructions on application methods and precautions."
[1032] This allows for the visual communication of specific points to note and operating tips within the factory, providing a system that is extremely useful for training new employees and transferring technical skills.
[1033] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[1034] Step 1:
[1035] The user records work videos using a video device attached to the industrial automation equipment. The input in this step is the video file captured by the video device. The output is the recorded video file.
[1036] Step 2:
[1037] The user selects a video of a task recorded via their device and inputs important points and tips for that task as text information. The input in this step includes the video file path and text information (display position, start time, and duration). The output is JSON data containing the video file path and text information.
[1038] Step 3:
[1039] The terminal sends the video file path and text information to the server in JSON format. The input in this step is data in JSON format. The output is the transmission of data to the server.
[1040] Step 4:
[1041] The server parses the received video file path and text information and loads the video file. The input for this step is the video file path and text information. The output is the video data loaded into memory.
[1042] Step 5:
[1043] The server uses the MoviePy library to create a clip with the text information overlaid, based on the text information's display position, start time, and duration. The inputs for this step are video data and text information. The output is a video clip with the text overlaid.
[1044] Step 6:
[1045] The server combines the video clips with the original working video to generate the final manual video. The inputs in this step are the video clips and the original video data. The output is the generated manual video.
[1046] Step 7:
[1047] The server saves the generated manual video. The input in this step is the manual video data. The output is the saved manual video file.
[1048] Step 8:
[1049] The server returns the file path of the generated instructional video to the terminal. The input in this step is the file path of the instructional video. The output is the file path returned to the terminal.
[1050] Step 9:
[1051] The terminal presents the received file path to the user. The user can then view the presented manual video and use it for technical learning and education. The input in this step is the file path of the manual video. The output is the manual video presented to the user.
[1052] 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.
[1053] This invention combines a system that selects work videos, inputs text information, overlays text information, and generates and saves the overlaid work videos with an emotion engine that recognizes the user's emotions. This system can analyze the user's emotions in real time and dynamically adjust the content and timing of the video display according to the emotions. This allows the user to learn tips and key points of the work in the most optimal state.
[1054] System Program Overview
[1055] The user first selects a work video (e.g., maintenance.mp4) and then inputs tips and key points about the work as text information (e.g., "Maintain a constant torque when tightening screws"). This information is then sent to the server via the terminal.
[1056] The device acquires user emotion data in real time through facial recognition and other means, and sends it to the server.
[1057] The server analyzes the path and text information of the received video file, overlays the working video and text information, and then uses an emotion engine to generate a video with optimal timing and content that matches the user's emotions. Specifically, processing is performed using natural language as follows:
[1058] 1. The server loads the specified video file.
[1059] 2. The server analyzes the input text information and sets its display position, display start time, and display duration.
[1060] 3. The server uses an emotion engine to dynamically adjust the content and display timing of text information based on the acquired emotion data.
[1061] 4. The server overlays text information, adjusted by the emotion engine, onto the working video and generates clips that are displayed according to the specified time and position.
[1062] 5. The server combines text clips and work videos to generate the final instructional video.
[1063] 6. The server saves the generated instructional video.
[1064] After all these steps are completed, the terminal receives the path information for the manual video generated from the server and displays it to the user. The user can then review the presented manual video and use it for technical knowledge transfer and training new employees.
[1065] Specific examples of program processing
[1066] For example, consider a case in manufacturing where machine maintenance work is recorded on video, and important points of the work are added as text information. The process proceeds as follows:
[1067] 1. The user selects a video file named maintenance.mp4 and enters the text information "Maintain a constant torque when tightening screws." The system also captures the user's facial expressions (e.g., focused, fatigued) in real time.
[1068] 2. The device sends the video file path, text information, and sentiment data to the server in JSON format.
[1069] 3. The server receives the video file, text information, and sentiment data, and then loads the video.
[1070] 4. The server sets the display position of the text information, the display start time (e.g., display after 10 seconds), and the display duration (e.g., display for 5 seconds).
[1071] 5. The server uses an emotion engine to adjust the content and timing of displays based on the user's emotional data. For example, if the user is focused, text will be displayed promptly, while if they are fatigued, the display will be paused to allow for a refresh.
[1072] 6. The server uses the MoviePy library to create a clip with text information overlaid at the specified time.
[1073] 7. The server generates the final manual video and saves it as manual_video.mp4.
[1074] 8. The server sends the file path of the generated instructional video back to the terminal.
[1075] 9. The terminal displays the received file path to the user. The user can then view the generated manual video and use it for technical learning and education.
[1076] In this way, a system can be provided that enables efficient and effective transfer of technical skills without requiring much effort. The system of the present invention not only integrates video and text information, but also optimizes the learning environment by taking into account the user's emotions, making it possible to understand actual work in a visual and customized manner.
[1077] The following describes the processing flow.
[1078] Step 1:
[1079] The user selects a work video on their device (e.g., maintenance.mp4) and inputs tips and key points about the work as text information (e.g., "When tightening screws, maintain a constant torque").
[1080] Step 2:
[1081] The terminal constructs the video file path and text information entered by the user in JSON format and sends a POST request to the server.
[1082] Step 3:
[1083] The device uses cameras and sensors to acquire emotional data in order to recognize the user's emotions in real time. This emotional data includes levels of concentration, fatigue, and excitement.
[1084] Step 4:
[1085] The device sends the acquired emotion data, along with the video file path and text information, to the server.
[1086] Step 5:
[1087] The server receives a POST request from the terminal and parses the JSON data in the request body. From the JSON data, it extracts the video file path, text information, and sentiment data.
[1088] Step 6:
[1089] The server uses the MoviePy library to load the specified video file (maintenance.mp4).
[1090] Step 7:
[1091] The server generates a text clip based on the input text information. The text clip is configured according to the specified font size, color, position, display start time, and display duration.
[1092] Step 8:
[1093] The server uses an emotion engine to dynamically adjust the content and display timing of text information based on acquired emotion data. For example, it synchronizes text display when the user is focused and delays it when the user is fatigued.
[1094] Step 9:
[1095] The server overlays text information, adjusted by the emotion engine, onto the video footage and generates clips that are displayed according to specified times and positions.
[1096] Step 10:
[1097] The server combines text clips and work videos to generate the final instructional video.
[1098] Step 11:
[1099] The server saves the generated manual video in the specified format (e.g., MP4). For example, it saves the video with the filename manual_video.mp4.
[1100] Step 12:
[1101] The server confirms that the generated instructional video has been saved. The server constructs a response containing the file path of the instructional video and sends it back to the terminal.
[1102] Step 13:
[1103] The terminal analyzes the response received from the server and obtains the path to the generated manual video (e.g., manual_video.mp4).
[1104] Step 14:
[1105] The device displays the path to the instructional video to the user. By checking the path to the video file displayed on the device and playing the generated instructional video, the user can visually learn specific tips and key points for the task.
[1106] In this way, by using user sentiment data as a whole system to overlay text information onto videos at the optimal timing and content, it becomes possible to efficiently and effectively transfer technology and provide education.
[1107] (Example 2)
[1108] 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."
[1109] Conventional video-based learning systems could not adjust video content or display timing to take into account the user's emotional state. Therefore, information was displayed uniformly regardless of whether the user was concentrating or fatigued, making efficient learning and skill transfer difficult. Furthermore, even when text information was overlaid on the video, the content and timing could not be optimized, preventing users from effectively absorbing the information.
[1110] 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.
[1111] In this invention, the server includes means for selecting a work video, means for inputting text information to be displayed on the work video, means for receiving the work video and text information and overlaying the text information onto the work video, means for acquiring user emotion data in real time, means for dynamically adjusting the content and display timing of the text information based on the emotion data, and means for generating and saving the overlaid work video. This makes it possible to display information at the optimal timing according to the user's emotional state, enabling more efficient and effective learning and skill transfer.
[1112] A "work video" is a video file that records specific work procedures and techniques selected by the user.
[1113] "Text information" refers to textual information that is displayed overlaid on the work video, specifically describing work procedures, important points, and precautions.
[1114] "Emotional data" refers to data that represents the user's emotional state (for example, whether they are focused or fatigued) obtained by analyzing the user's facial expressions and body movements.
[1115] "Real-time" means that data processing and acquisition occur almost simultaneously with actual time.
[1116] "Overlaying" means merging the two by displaying text information on top of the video footage.
[1117] "Display position" refers to information indicating where text information will appear within the video.
[1118] "Display start time" refers to the time from when the video playback begins until the text information starts to be displayed.
[1119] "Display duration" refers to the length of time that text information remains displayed.
[1120] "Dynamic adjustment" means changing the content and timing of text information displayed in real time based on user sentiment data.
[1121] "Generation" refers to creating a new instructional video.
[1122] "Saving" means saving the generated video file to a storage device.
[1123] This system selects work videos, inputs text information, overlays the text information, and generates and saves the overlaid work video. It can also analyze the user's emotions in real time and dynamically adjust the video content and timing according to those emotions.
[1124] The user first selects a work video. In this example, the user selects a work video called maintenance.mp4. Next, the user enters important points and precautions for the work as text information. For example, they might enter the text information, "Maintain a constant torque when tightening screws."
[1125] The device uses its built-in camera or external devices to capture the user's facial expressions in real time. This facial expression data is sent to an emotion engine for analysis. As a result of the analysis, emotion data such as whether the user is focused or fatigued is obtained.
[1126] The device sends the user's selected video file path, entered text information, and analyzed sentiment data to the server in JSON format. HTTP is used as the communication protocol.
[1127] The server extracts the video file path, text information, and sentiment data from the received JSON data. Next, it reads the video file maintenance.mp4 from the file system. Then, it sets the display position, start time, and duration of the text information entered by the user. Specifically, the text "Maintain a constant torque when tightening screws" is displayed 10 seconds into the video and lasts for 5 seconds.
[1128] The server uses an emotion engine to dynamically adjust the content and timing of text information based on the user's emotional data. For example, if the user is focused, text will be displayed promptly; conversely, if the user is fatigued, the display will be paused to allow for a refresh period.
[1129] The server uses the MoviePy library to create clips overlaid with text information at specified times and positions. Finally, these clips are combined with the original working video to generate a manual video, which is saved as manual_video.mp4.
[1130] Finally, the server sends the path to the generated manual video back to the terminal. The terminal presents this path to the user, who can then view the generated manual video. This video is used for technical knowledge transfer and training new employees.
[1131] Specific example
[1132] For example, the following processing is performed on a video (e.g., maintenance.mp4) showing machine maintenance work in a manufacturing industry.
[1133] 1. The user selects the video file maintenance.mp4 and enters the text information "Maintain a constant torque when tightening screws."
[1134] 2. The device uses its built-in camera to capture the user's facial expressions and analyzes the emotional data in real time.
[1135] 3. The device sends the video file path, text information, and sentiment data to the server in JSON format.
[1136] 4. The server loads the video file, sets the display position, start time, and duration of the text information, and then the emotion engine makes adjustments.
[1137] 5. The server creates a video clip with the text overlaid using the MoviePy library, generates the final manual video, and saves it.
[1138] 6. The server sends the path to the generated instructional video back to the terminal.
[1139] 7. The device presents the user with a link to a manual video, and the user watches the video.
[1140] Example of a prompt
[1141] "You are envisioning a system for creating instructional videos that can be used for technology transfer in the manufacturing industry. This system would input text information highlighting key points and tips into user-selected work videos, and then optimize the video's content and timing based on user sentiment data. Please generate the optimal instructional video for each user based on the following information:
[1142] Video file: maintenance.mp4
[1143] Text information: "When tightening screws, maintain a constant torque."
[1144] User sentiment data: focused, fatigued
[1145] Please adjust the display position, start time, duration, and timing of the text information to match the user's emotions, and then generate the final instructional video.
[1146] This system can efficiently and effectively support the transfer of technical knowledge by dynamically adjusting the displayed content and timing according to the user's emotional state.
[1147] The flow of the specific processing in Example 2 will be explained using Figure 13.
[1148] Step 1:
[1149] The user logs into the system. Next, the user selects a work video (for example, specifying maintenance.mp4). The user enters important points and precautions for the work as text information (e.g., "Maintain a constant torque when tightening screws").
[1150] Input: Path and text information of the work video file.
[1151] Output: Video file path and text information to send to the terminal.
[1152] Step 2:
[1153] The device captures the user's facial expressions in real time using its built-in camera or external devices. The captured facial data is analyzed by an emotion engine to determine the user's emotional state (e.g., focused, fatigued) in real time.
[1154] Input: User's real-time facial expression data.
[1155] Output: Analyzed sentiment data.
[1156] Step 3:
[1157] The device sends the path to the selected video file, the entered text information, and the analyzed sentiment data to the server in JSON format. This communication uses the HTTP protocol.
[1158] Input: Video file path, text information, sentiment data.
[1159] Output: JSON data sent to the server.
[1160] Step 4:
[1161] The server parses the received JSON data and extracts the video file path, text information, and sentiment data. After extraction, it reads the video file (e.g., maintenance.mp4) from the file system.
[1162] Input: JSON data, video file path.
[1163] Output: Loaded video file, text information, sentiment data.
[1164] Step 5:
[1165] The server sets the display position, start time, and duration of text information for dynamic display. Specifically, the text "Maintain a constant torque when tightening screws" is displayed 10 seconds after the start of the video and displayed for 5 seconds.
[1166] Input: Text information.
[1167] Output: Set display position, display start time, display duration.
[1168] Step 6:
[1169] The server uses an emotion engine to dynamically adjust the content and display timing of text information based on the user's emotional data. For example, if the user is fatigued, the display will be paused and a refresh time will be provided.
[1170] Input: Analyzed emotion data, configured display information.
[1171] Output: Dynamically adjusted display information.
[1172] Step 7:
[1173] The server uses the MoviePy library to create a video clip with text information overlaid at the set time and position. Text is added using the TextClip function and then composited onto the video clip.
[1174] Input: Video file, dynamically adjusted text information.
[1175] Output: A video clip with text information overlaid on it.
[1176] Step 8:
[1177] The server combines the created video clips with the original working video to generate the final manual video. The generated manual video is saved to the file system as manual_video.mp4.
[1178] Input: Video clip with overlaid text information, original working video.
[1179] Output: Generated instructional video.
[1180] Step 9:
[1181] The server sends the file path of the generated instructional video back to the terminal.
[1182] Input: Generated instructional video.
[1183] Output: The file path sent to the terminal.
[1184] Step 10:
[1185] The terminal displays the file path received from the server to the user. The user can watch instructional videos to learn the technology.
[1186] Input: File path from the server.
[1187] Output: Displays the file path to the user.
[1188] Through the above processing steps, we realize a system that provides an optimal learning environment tailored to the user's emotional state, enabling efficient and effective transfer of technical skills.
[1189] (Application Example 2)
[1190] 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."
[1191] The maintenance and operation of autonomous vehicles are complex, making support crucial for efficient and accurate learning. Current systems lack dynamic adjustments based on the user's emotional state, potentially reducing learning efficiency. Furthermore, the lack of emotionally-adjusted timing and content in text information makes it difficult for users to learn essential tips and techniques in an optimal state.
[1192] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for selecting a work video, means for inputting text information to be displayed on the work video, means for receiving the work video and the text information and overlaying the text information on the work video, means for analyzing the user's emotional data in real time and dynamically adjusting the display content and timing of the text information based on the emotional data, and means for generating and saving the overlaid work video. This makes it possible to dynamically adjust the display content and timing of the text information according to the user's emotional state, enabling efficient and accurate learning of maintenance and operation methods for autonomous vehicles.
[1193] A "work video" is a video file that shows the learning or work procedures selected by the user.
[1194] "Text information" refers to written information, including specific points to note and key points, that is displayed in relation to the work video.
[1195] "Emotional data" refers to emotional information acquired in real time from the user's facial expressions, tone of voice, and other factors.
[1196] A "dynamic adjustment method" refers to a method that has the function of changing the content and timing of text information displayed in real time based on acquired sentiment data.
[1197] "Real-time analysis" refers to a method of processing input data immediately and reflecting the results instantly.
[1198] "Means of generation and saving" refers to the means of creating a new video file by integrating text information superimposed on the work video, and saving it to a storage device.
[1199] This invention provides a system for efficiently learning maintenance and operation methods for autonomous vehicles. The system includes means for selecting work videos, inputting text information to be displayed on those videos, and dynamically adjusting emotional data in real time. A detailed embodiment of this system is described below.
[1200] System Overview
[1201] 1. Select and enter video and text information:
[1202] The user launches the smartphone application and selects a video file containing maintenance or operating instructions. For example, they might choose a file like auto_maintenance.mp4.
[1203] Next, enter text information related to the video (e.g., "Check your engine oil regularly").
[1204] 2. Acquisition and analysis of emotional data:
[1205] The device (in this case, a smartphone) uses its camera and microphone to capture the user's facial expressions and voice tone in real time.
[1206] The acquired emotional data is analyzed by EmotionEngine (an emotion analysis engine) to determine states such as concentration, fatigue, and excitement.
[1207] 3. Overlaying video and text information:
[1208] The server receives the specified video file and the entered text information, and dynamically adjusts the content and timing of the text information display.
[1209] The MoviePy library is used for video editing to create clips with text information overlaid at specific points in the video.
[1210] 4. Video generation and saving:
[1211] The server generates a final manual video optimized based on emotion data and saves it to the specified location. The generated video file is saved as manual_video.mp4.
[1212] 5. Presenting videos to users:
[1213] The terminal displays the file path of the generated video sent back from the server to the user. The user can then review the generated manual video and use it for technical learning or training new employees.
[1214] Specific examples of the system
[1215] For example, consider a scenario where a user is learning "how to change engine oil." While the user is watching a video, text information appears stating, "Check your engine oil regularly." If the user is focused, the text information appears immediately, but if they are fatigued, the display is adjusted to be delayed.
[1216] The technologies used
[1217] Hardware: Smartphone camera and microphone.
[1218] Software used: OpenCV (for capturing facial expressions), EmotionEngine (for emotion analysis), MoviePy (for video editing).
[1219] Example of a prompt
[1220] Design an application that analyzes the user's facial expressions (concentrated, fatigued) in real time and overlays text information onto a maintenance procedure video. The timing of the text display will be dynamically set based on the user's emotions.
[1221] This will provide a system that allows users to efficiently and accurately learn how to maintain and operate autonomous vehicles, just as they would in a real-world work environment.
[1222] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[1223] Step 1:
[1224] The user launches a smartphone application and selects a video file containing maintenance and operating procedures for autonomous vehicles. For example, they might select auto_maintenance.mp4. The user also enters text information related to this video (e.g., "Check the engine oil regularly"). At this time, the video file path and text information are saved on the device in JSON format.
[1225] Step 2:
[1226] The device receives the path and text information of the input video file and captures the user's facial expressions and voice tone in real time using the camera and microphone. The acquired emotional data is analyzed by EmotionEngine (emotion analysis engine) to determine the user's emotional state (e.g., focused, tired). This emotional data is also temporarily stored on the device.
[1227] Step 3:
[1228] The terminal sends the video file path, text information, and acquired emotion data to the server. The server receives this information and loads the video file. The video editing library used here is MoviePy.
[1229] Step 4:
[1230] The server sets the display position, start time, and duration of the received text information. For example, it might display the text "Check your engine oil regularly" for 5 seconds starting 10 seconds into the video. This setting information is temporarily stored in memory.
[1231] Step 5:
[1232] The server dynamically adjusts the timing of text display based on emotion data acquired using EmotionEngine. Specifically, it displays text as configured when the user is focused, and delays the display by 2 seconds when the user is fatigued. This adjustment is also stored in memory.
[1233] Step 6:
[1234] The server uses the MoviePy library to generate a clip in which text information is overlaid on the video, according to the adjusted display timing and position. This clip is stored in memory as a temporary intermediate product.
[1235] Step 7:
[1236] The server combines the generated text clips with the original work video to produce the final manual video. The generated video file is saved to the server's storage as manual_video.mp4.
[1237] Step 8:
[1238] The server sends the file path of the generated instructional video back to the terminal. The terminal presents the received file path to the user, who can then view the generated instructional video through a smartphone application and use it for technical learning and education.
[1239] 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.
[1240] 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.
[1241] 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.
[1242] [Fourth Embodiment]
[1243] Figure 7 shows an example of the configuration of the data processing system 410 according to the fourth embodiment.
[1244] 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.
[1245] 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).
[1246] 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.
[1247] 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.
[1248] 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).
[1249] 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.
[1250] 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.
[1251] 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.
[1252] 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.
[1253] 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.
[1254] 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.
[1255] 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".
[1256] This invention is a system for effectively transferring technology in industries such as manufacturing and construction, where technology transfer is difficult. It streamlines technology transfer and training by generating manual videos that overlay work videos with tips and techniques. This system includes means for selecting work videos, inputting text information, overlaying, generating and saving, and transmitting to a terminal.
[1257] System Program Overview
[1258] The user first selects a work video and then inputs specific tips and key points of the work as text information. This information is sent to the server via the terminal.
[1259] The server analyzes the path and text information of the received video file and begins the process of overlaying the working video with the text information. Specifically, the processing is performed using natural language as follows:
[1260] 1. The server loads the specified video file.
[1261] 2. The server analyzes the input text information and sets its display position, display start time, and display duration.
[1262] 3. The server overlays text information onto the video footage and generates clips to display according to the specified time and position.
[1263] 4. The server combines text clips and work videos to generate the final instructional video.
[1264] 5. The server saves the generated instructional video.
[1265] After all these steps are completed, the terminal receives the path information for the manual video generated from the server and displays it to the user. The user can then review the presented manual video and use it for technical knowledge transfer and training new employees.
[1266] Specific examples of program processing
[1267] For example, consider a case in manufacturing where machine maintenance work is recorded on video, and important points of the work are added as text information. The process proceeds as follows:
[1268] 1. The user selects a video file named maintenance.mp4 and enters the text information "Maintain a constant torque when tightening screws."
[1269] 2. The device sends the video file path and text information to the server in JSON format.
[1270] 3. The server receives the video file and text information, and loads the video.
[1271] 4. The server sets the display position of the text information, the display start time (e.g., display after 10 seconds), and the display duration (e.g., display for 5 seconds).
[1272] 5. The server uses the MoviePy library to create a clip with text information overlaid at the specified time.
[1273] 6. The server generates the final manual video and saves it as manual_video.mp4.
[1274] 7. The server sends the file path of the generated instructional video back to the terminal.
[1275] 8. The terminal displays the received file path to the user. The user can then view the generated manual video and use it for technical learning and education.
[1276] In this way, we can provide a system that enables efficient and effortless transfer of technical skills. By integrating video and text information, the system of the present invention makes it possible to visually understand actual work and transmit technical skills in an easy-to-learn format.
[1277] The following describes the processing flow.
[1278] Step 1:
[1279] The user selects a work video on their device (e.g., maintenance.mp4) and inputs tips and key points about the work as text information (e.g., "When tightening screws, maintain a constant torque").
[1280] Step 2:
[1281] The terminal constructs the video file path and text information entered by the user in JSON format and sends a POST request to the server.
[1282] Step 3:
[1283] The server receives a POST request sent from the terminal and parses the JSON data in the request body. From the JSON data, it retrieves the video file path and text information (including display position, display start time, and display duration).
[1284] Step 4:
[1285] The server uses the MoviePy library to load the specified video file (maintenance.mp4).
[1286] Step 5:
[1287] The server generates text clips based on each piece of text information. These text clips are configured according to the specified font size, color, position, display start time, and display duration. For example, a text clip might be generated stating, "Maintain a constant torque when tightening screws," and its display position and duration are set.
[1288] Step 6:
[1289] The server overlays the generated text clips onto the working video clip. It uses MoviePy's CompositeVideoClip function to combine the original video clip with multiple text clips.
[1290] Step 7:
[1291] The server generates the combined video clips as a final manual video and saves it in the specified format (e.g., MP4). For example, the video is saved with the filename manual_video.mp4.
[1292] Step 8:
[1293] The server confirms that the generated instructional video has been saved. The server constructs a response containing the file path of the instructional video and sends it back to the terminal.
[1294] Step 9:
[1295] The terminal analyzes the response received from the server and obtains the path to the generated manual video (e.g., manual_video.mp4).
[1296] Step 10:
[1297] The device displays the path to the instructional video to the user. By checking the path to the video file displayed on the device and playing the generated instructional video, the user can visually learn specific tips and key points for the task.
[1298] (Example 1)
[1299] 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".
[1300] Traditional methods of technology transfer in manufacturing and construction typically involve direct instruction from experienced workers, which presents challenges due to the significant time and effort required. Furthermore, conventional video manuals often contain static content, making it difficult to visually convey actual work processes in real time. This has resulted in inefficient technology transfer.
[1301] 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.
[1302] In this invention, the server includes means for receiving and analyzing work videos and text information, means for setting the display position, display start time, and display duration of the text information, and means for overlaying, generating, and saving the text information on the work video based on the analysis results. This makes it possible to efficiently overlay text information on work videos, enabling the visual and effective transfer of technology.
[1303] A "work video" is video data that records the procedures and processes of a work.
[1304] "Text information" refers to data that describes the key points and tips for a task in written form.
[1305] "Means of selection" refers to the interface or device that a user uses to select a specific work video.
[1306] "Means for input" refers to interfaces or devices that allow users to input key points and tips for their work as text.
[1307] "Means of analysis" refers to processing devices or programs that process received video files and text information and extract necessary data.
[1308] "Display position" refers to data indicating the location where text information is displayed on the work video.
[1309] "Display start time" is data that indicates the time when text information begins to appear on the work video.
[1310] "Display duration" refers to data indicating the amount of time that text information remains displayed on the work video.
[1311] "Methods for overlaying" refer to processing devices or programs that overlay text information onto a video at specific positions and timings.
[1312] "Means for generating and saving" refers to a processing device or program that generates a new video file from the superimposed work videos and saves it to a storage device.
[1313] This invention is a system for effectively transferring technology in fields such as manufacturing and construction, where technology transfer is difficult. This system streamlines technology transfer and education by generating manual videos that overlay work videos with tips and techniques.
[1314] This system includes means for selecting work videos, means for inputting text information, means for analyzing received information, means for setting the display position, display start time, and display duration of the text information, means for generating and saving text information overlaid on work videos, and means for transmitting data.
[1315] First, the user selects a specific work video and enters key points and tips for the work as text. This information is sent to the server via the user's device. The device converts the video file path and text information into JSON format and sends it to the server via an HTTP request.
[1316] The server analyzes the received video file path and text information, and sets the display position, display start time, and display duration of the text information. Specifically, the information received by the server includes the video file path, text information, display start time, display duration, and display position. For example, if the text information is "Maintain a constant torque when tightening screws," and the start time is 10 seconds later, the display duration is 5 seconds, and the display position is the center of the screen, these settings will be applied.
[1317] The server uses the MoviePy library to overlay text information onto the work video at specified positions and timings. Based on the overlaid clips, it generates a final manual video and saves it as manual_video.mp4. The server then sends the file path of the generated manual video to the terminal. The terminal displays the received file path to the user, who can then review the generated manual video and use it for technical learning and education.
[1318] For example, in the manufacturing industry, when recording machine maintenance work on video and adding important points of the work as text information, the following specific examples can be considered:
[1319] 1. The user selects a video file named maintenance.mp4 and enters the text information, "Maintain a constant torque when tightening screws."
[1320] 2. The terminal converts the video file path and text information into JSON format and sends it to the server.
[1321] 3. The server receives the video file and text information, loads the video, and sets the display position, display start time, and display duration of the text.
[1322] 4. The server uses the MoviePy library to create a clip that overlays text information onto the video at the specified time and location.
[1323] 5. The server generates and saves the final instructional video.
[1324] 6. The server sends the file path of the generated instructional video to the terminal.
[1325] 7. The terminal displays the file path to the user.
[1326] 8. Users will review the generated instructional videos and use them for learning and teaching the technology.
[1327] Examples of prompt statements include the following:
[1328] "The following work procedure is explained in video format and its key points in text. Please generate the manual video based on the information you enter."
[1329] This system integrates video and text information to convey technology in a visually easy-to-understand format, significantly improving the efficiency of technology transfer.
[1330] The flow of the specific processing in Example 1 will be explained using Figure 11.
[1331] Step 1:
[1332] The user selects a work video and enters text information.
[1333] Specific actions:
[1334] 1. The user uses the terminal to open a file selection dialog and selects the video file maintenance.mp4.
[1335] 2. The user enters the text information "Maintain a constant torque when tightening screws" into the text input field.
[1336] input:
[1337] Path to the work video file (maintenance.mp4)
[1338] Text information ("When tightening screws, maintain a constant torque.")
[1339] output:
[1340] Video file path and text information
[1341] Step 2:
[1342] The terminal sends the entered information to the server.
[1343] Specific actions:
[1344] 1. The terminal converts the input video file path and text information into JSON format.
[1345] json
[1346] {
[1347] "video_path": "maintenance.mp4",
[1348] "text_info": {
[1349] "content": "When tightening screws, maintain a constant torque",
[1350] "start_time": 10,
[1351] "duration": 5,
[1352] "position": {"x": 50, "y": 50}
[1353] }
[1354] }
[1355] 2. The device sends this JSON data to the server via an HTTP request.
[1356] input:
[1357] Video file path and text information
[1358] output:
[1359] JSON data sent to the server
[1360] Step 3:
[1361] The server receives the video file path and text information and begins analysis.
[1362] Specific actions:
[1363] 1. The server receives the HTTP request and extracts the video file path and text information from the JSON data.
[1364] 2. The server loads the video file maintenance.mp4.
[1365] input:
[1366] Received JSON data
[1367] output:
[1368] Loaded video files and text information
[1369] Step 4:
[1370] The server sets the display position, display start time, and display duration of the text information.
[1371] Specific actions:
[1372] 1. The server extracts the display start time (10 seconds later), display duration (5 seconds), and display position (x: 50, y: 50) of the text information from the JSON data.
[1373] 2. The server analyzes the text information, "Maintain a constant torque when tightening screws," and applies these settings.
[1374] input:
[1375] Extracted text information and display settings
[1376] output:
[1377] Text information with settings applied
[1378] Step 5:
[1379] The server generates clips that overlay text information onto the video, according to the specified time and location.
[1380] Specific actions:
[1381] 1. The server uses the MoviePy library to create a new video clip.
[1382] python
[1383] from moviepy.editor import VideoFileClip, TextClip, CompositeVideoClip
[1384] video = VideoFileClip("maintenance.mp4")
[1385] text = TextClip("When tightening screws, maintain a constant torque", fontsize=24, color='white')
[1386] text = text.set_pos(('center', 'center')).set_duration(5).set_start(10)
[1387] video_with_text = CompositeVideoClip([video, text])
[1388] input:
[1389] Work video and text information with settings applied.
[1390] output:
[1391] Overlapping video clips
[1392] Step 6:
[1393] The server combines the text clips with the original work video to generate and save the final instructional video.
[1394] Specific actions:
[1395] 1. The server generates and saves the final manual video, named manual_video.mp4, based on the generated clips.
[1396] python
[1397] video_with_text.write_videofile("manual_video.mp4")
[1398] input:
[1399] Overlapping video clips
[1400] output:
[1401] Saved manual video files
[1402] Step 7:
[1403] The server sends the file path of the generated instructional video back to the terminal.
[1404] Specific actions:
[1405] 1. The server sends the path information of the generated manual video (e.g., / path / to / manual_video.mp4) to the terminal as an HTTP response.
[1406] input:
[1407] Saved manual video files
[1408] output:
[1409] Video file path sent to the terminal
[1410] Step 8:
[1411] The terminal displays the received file path to the user.
[1412] Specific actions:
[1413] 1. The device displays a link to manual_video.mp4 and a player to the user.
[1414] 2. Users can review the provided instructional videos and use them for learning and teaching the technology.
[1415] input:
[1416] Received video file path
[1417] output:
[1418] Manual video presented to the user
[1419] (Application Example 1)
[1420] 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".
[1421] In recent years, factory automation has advanced, but a challenge remains in the difficulty of passing on tasks that require advanced skills and knowledge. In particular, there is a lack of appropriate training methods to efficiently convey how to operate factory robots and maintenance procedures to new workers. Furthermore, the difficulty in intuitively grasping specific points to note and tips in the actual work environment leads to a decrease in learning efficiency.
[1422] 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.
[1423] In this invention, the server includes means for selecting a work video, means for inputting text information to be displayed on the work video, means for receiving the work video and the text information and overlaying the text information onto the work video, means for generating and saving the overlaid work video, and means for recording work using a video device attached to an industrial automation device. This makes it possible to efficiently educate on how to operate and maintain factory robots and to visually learn specific points to note and tips.
[1424] A "work video" is a video recording the procedures for operating or maintaining industrial automation equipment.
[1425] "Text information" refers to written information displayed in the instructional video, such as supplementary explanations, points to note, and tips for operation.
[1426] "Overlaying methods" refer to technical means for appropriately positioning text information at specified locations and times within a work video.
[1427] "Means of generation and saving" refers to the technical means of generating the superimposed work videos into a single file and saving it to a database or storage.
[1428] "Industrial automation equipment" refers to the entire set of equipment and systems used to perform automated tasks within a factory.
[1429] "Video equipment" refers to cameras and video devices attached to industrial automation equipment to record the work being done.
[1430] "Terminal" refers to a computer or mobile device on which a user can view the generated instructional videos.
[1431] A "server" is a central processing unit that performs processing such as analysis and editing of video files and text information, and stores and distributes the generated instructional videos.
[1432] This invention is a system for streamlining technology transfer and training in factory automation equipment, and generates manual videos by overlaying work videos and text information. The system includes a video device as a work video recording device, a means for inputting text information, a means for overlaying video and text information, a means for saving the generated manual video, and a means for transmitting it to a terminal. This makes it possible to efficiently learn how to operate and maintain industrial automation equipment.
[1433] First, the user records a video of the work using a video device attached to the industrial automation equipment. Next, the user selects the recorded work video via a terminal and inputs important points and tips for the work as text information. This text information is entered with specified display position, start time, and duration.
[1434] The server analyzes the path and text information of the received video file and uses the MoviePy library to overlay the text information onto the working video. Specifically, it generates clips that display the text information according to the specified positions and times, and combines them with the working video to create the final manual video. The generated manual video is then saved and sent to the user's terminal.
[1435] The specific hardware used to achieve this includes industrial automation equipment equipped with cameras and terminals (computers and mobile devices) connected to them. The software used will be Python and the MoviePy library.
[1436] For example, when recording robot maintenance work in a factory and adding important points of that work as text information, the process proceeds as follows: The user selects a video recording of "robot grease application work" and enters the text information "apply grease evenly." This text information is specified to be displayed 5 seconds after the start of the video and to last for 4 seconds.
[1437] Examples of prompt messages include the following:
[1438] "Please create videos for robot maintenance and add text information detailing important points and tips for specific work processes. For example, for the grease application process, please provide specific instructions on application methods and precautions."
[1439] This allows for the visual communication of specific points to note and operating tips within the factory, providing a system that is extremely useful for training new employees and transferring technical skills.
[1440] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[1441] Step 1:
[1442] The user records work videos using a video device attached to the industrial automation equipment. The input in this step is the video file captured by the video device. The output is the recorded video file.
[1443] Step 2:
[1444] The user selects a video of a task recorded via their device and inputs important points and tips for that task as text information. The input in this step includes the video file path and text information (display position, start time, and duration). The output is JSON data containing the video file path and text information.
[1445] Step 3:
[1446] The terminal sends the video file path and text information to the server in JSON format. The input in this step is data in JSON format. The output is the transmission of data to the server.
[1447] Step 4:
[1448] The server parses the received video file path and text information and loads the video file. The input for this step is the video file path and text information. The output is the video data loaded into memory.
[1449] Step 5:
[1450] The server uses the MoviePy library to create a clip with the text information overlaid, based on the text information's display position, start time, and duration. The inputs for this step are video data and text information. The output is a video clip with the text overlaid.
[1451] Step 6:
[1452] The server combines the video clips with the original working video to generate the final manual video. The inputs in this step are the video clips and the original video data. The output is the generated manual video.
[1453] Step 7:
[1454] The server saves the generated manual video. The input in this step is the manual video data. The output is the saved manual video file.
[1455] Step 8:
[1456] The server returns the file path of the generated instructional video to the terminal. The input in this step is the file path of the instructional video. The output is the file path returned to the terminal.
[1457] Step 9:
[1458] The terminal presents the received file path to the user. The user can then view the presented manual video and use it for technical learning and education. The input in this step is the file path of the manual video. The output is the manual video presented to the user.
[1459] 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.
[1460] This invention combines a system that selects work videos, inputs text information, overlays text information, and generates and saves the overlaid work videos with an emotion engine that recognizes the user's emotions. This system can analyze the user's emotions in real time and dynamically adjust the content and timing of the video display according to the emotions. This allows the user to learn tips and key points of the work in the most optimal state.
[1461] System Program Overview
[1462] The user first selects a work video (e.g., maintenance.mp4) and then inputs tips and key points about the work as text information (e.g., "Maintain a constant torque when tightening screws"). This information is then sent to the server via the terminal.
[1463] The device acquires user emotion data in real time through facial recognition and other means, and sends it to the server.
[1464] The server analyzes the path and text information of the received video file, overlays the working video and text information, and then uses an emotion engine to generate a video with optimal timing and content that matches the user's emotions. Specifically, processing is performed using natural language as follows:
[1465] 1. The server loads the specified video file.
[1466] 2. The server analyzes the input text information and sets its display position, display start time, and display duration.
[1467] 3. The server uses an emotion engine to dynamically adjust the content and display timing of text information based on the acquired emotion data.
[1468] 4. The server overlays text information, adjusted by the emotion engine, onto the working video and generates clips that are displayed according to the specified time and position.
[1469] 5. The server combines text clips and work videos to generate the final instructional video.
[1470] 6. The server saves the generated instructional video.
[1471] After all these steps are completed, the terminal receives the path information for the manual video generated from the server and displays it to the user. The user can then review the presented manual video and use it for technical knowledge transfer and training new employees.
[1472] Specific examples of program processing
[1473] For example, consider a case in manufacturing where machine maintenance work is recorded on video, and important points of the work are added as text information. The process proceeds as follows:
[1474] 1. The user selects a video file named maintenance.mp4 and enters the text information "Maintain a constant torque when tightening screws." The system also captures the user's facial expressions (e.g., focused, fatigued) in real time.
[1475] 2. The device sends the video file path, text information, and sentiment data to the server in JSON format.
[1476] 3. The server receives the video file, text information, and sentiment data, and then loads the video.
[1477] 4. The server sets the display position of the text information, the display start time (e.g., display after 10 seconds), and the display duration (e.g., display for 5 seconds).
[1478] 5. The server uses an emotion engine to adjust the content and timing of displays based on the user's emotional data. For example, if the user is focused, text will be displayed promptly, while if they are fatigued, the display will be paused to allow for a refresh.
[1479] 6. The server uses the MoviePy library to create a clip with text information overlaid at the specified time.
[1480] 7. The server generates the final manual video and saves it as manual_video.mp4.
[1481] 8. The server sends the file path of the generated instructional video back to the terminal.
[1482] 9. The terminal displays the received file path to the user. The user can then view the generated manual video and use it for technical learning and education.
[1483] In this way, a system can be provided that enables efficient and effective transfer of technical skills without requiring much effort. The system of the present invention not only integrates video and text information, but also optimizes the learning environment by taking into account the user's emotions, making it possible to understand actual work in a visual and customized manner.
[1484] The following describes the processing flow.
[1485] Step 1:
[1486] The user selects a work video on their device (e.g., maintenance.mp4) and inputs tips and key points about the work as text information (e.g., "When tightening screws, maintain a constant torque").
[1487] Step 2:
[1488] The terminal constructs the video file path and text information entered by the user in JSON format and sends a POST request to the server.
[1489] Step 3:
[1490] The device uses cameras and sensors to acquire emotional data in order to recognize the user's emotions in real time. This emotional data includes levels of concentration, fatigue, and excitement.
[1491] Step 4:
[1492] The device sends the acquired emotion data, along with the video file path and text information, to the server.
[1493] Step 5:
[1494] The server receives a POST request from the terminal and parses the JSON data in the request body. From the JSON data, it extracts the video file path, text information, and sentiment data.
[1495] Step 6:
[1496] The server uses the MoviePy library to load the specified video file (maintenance.mp4).
[1497] Step 7:
[1498] The server generates a text clip based on the input text information. The text clip is configured according to the specified font size, color, position, display start time, and display duration.
[1499] Step 8:
[1500] The server uses an emotion engine to dynamically adjust the content and display timing of text information based on acquired emotion data. For example, it synchronizes text display when the user is focused and delays it when the user is fatigued.
[1501] Step 9:
[1502] The server overlays text information, adjusted by the emotion engine, onto the video footage and generates clips that are displayed according to specified times and positions.
[1503] Step 10:
[1504] The server combines text clips and work videos to generate the final instructional video.
[1505] Step 11:
[1506] The server saves the generated manual video in the specified format (e.g., MP4). For example, it saves the video with the filename manual_video.mp4.
[1507] Step 12:
[1508] The server confirms that the generated instructional video has been saved. The server constructs a response containing the file path of the instructional video and sends it back to the terminal.
[1509] Step 13:
[1510] The terminal analyzes the response received from the server and obtains the path to the generated manual video (e.g., manual_video.mp4).
[1511] Step 14:
[1512] The device displays the path to the instructional video to the user. By checking the path to the video file displayed on the device and playing the generated instructional video, the user can visually learn specific tips and key points for the task.
[1513] In this way, by using user sentiment data as a whole system to overlay text information onto videos at the optimal timing and content, it becomes possible to efficiently and effectively transfer technology and provide education.
[1514] (Example 2)
[1515] 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".
[1516] Conventional video-based learning systems could not adjust video content or display timing to take into account the user's emotional state. Therefore, information was displayed uniformly regardless of whether the user was concentrating or fatigued, making efficient learning and skill transfer difficult. Furthermore, even when text information was overlaid on the video, the content and timing could not be optimized, preventing users from effectively absorbing the information.
[1517] 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.
[1518] In this invention, the server includes means for selecting a work video, means for inputting text information to be displayed on the work video, means for receiving the work video and text information and overlaying the text information onto the work video, means for acquiring user emotion data in real time, means for dynamically adjusting the content and display timing of the text information based on the emotion data, and means for generating and saving the overlaid work video. This makes it possible to display information at the optimal timing according to the user's emotional state, enabling more efficient and effective learning and skill transfer.
[1519] A "work video" is a video file that records specific work procedures and techniques selected by the user.
[1520] "Text information" refers to textual information that is displayed overlaid on the work video, specifically describing work procedures, important points, and precautions.
[1521] "Emotional data" refers to data that represents the user's emotional state (for example, whether they are focused or fatigued) obtained by analyzing the user's facial expressions and body movements.
[1522] "Real-time" means that data processing and acquisition occur almost simultaneously with actual time.
[1523] "Overlaying" means merging the two by displaying text information on top of the video footage.
[1524] "Display position" refers to information indicating where text information will appear within the video.
[1525] "Display start time" refers to the time from when the video playback begins until the text information starts to be displayed.
[1526] "Display duration" refers to the length of time that text information remains displayed.
[1527] "Dynamic adjustment" means changing the content and timing of text information displayed in real time based on user sentiment data.
[1528] "Generation" refers to creating a new instructional video.
[1529] "Saving" means saving the generated video file to a storage device.
[1530] This system selects work videos, inputs text information, overlays the text information, and generates and saves the overlaid work video. It can also analyze the user's emotions in real time and dynamically adjust the video content and timing according to those emotions.
[1531] The user first selects a work video. In this example, the user selects a work video called maintenance.mp4. Next, the user enters important points and precautions for the work as text information. For example, they might enter the text information, "Maintain a constant torque when tightening screws."
[1532] The device uses its built-in camera or external devices to capture the user's facial expressions in real time. This facial expression data is sent to an emotion engine for analysis. As a result of the analysis, emotion data such as whether the user is focused or fatigued is obtained.
[1533] The device sends the user's selected video file path, entered text information, and analyzed sentiment data to the server in JSON format. HTTP is used as the communication protocol.
[1534] The server extracts the video file path, text information, and sentiment data from the received JSON data. Next, it reads the video file maintenance.mp4 from the file system. Then, it sets the display position, start time, and duration of the text information entered by the user. Specifically, the text "Maintain a constant torque when tightening screws" is displayed 10 seconds into the video and lasts for 5 seconds.
[1535] The server uses an emotion engine to dynamically adjust the content and timing of text information based on the user's emotional data. For example, if the user is focused, text will be displayed promptly; conversely, if the user is fatigued, the display will be paused to allow for a refresh period.
[1536] The server uses the MoviePy library to create clips overlaid with text information at specified times and positions. Finally, these clips are combined with the original working video to generate a manual video, which is saved as manual_video.mp4.
[1537] Finally, the server sends the path to the generated manual video back to the terminal. The terminal presents this path to the user, who can then view the generated manual video. This video is used for technical knowledge transfer and training new employees.
[1538] Specific example
[1539] For example, the following processing is performed on a video (e.g., maintenance.mp4) showing machine maintenance work in a manufacturing industry.
[1540] 1. The user selects the video file maintenance.mp4 and enters the text information "Maintain a constant torque when tightening screws."
[1541] 2. The device uses its built-in camera to capture the user's facial expressions and analyzes the emotional data in real time.
[1542] 3. The device sends the video file path, text information, and sentiment data to the server in JSON format.
[1543] 4. The server loads the video file, sets the display position, start time, and duration of the text information, and then the emotion engine makes adjustments.
[1544] 5. The server creates a video clip with the text overlaid using the MoviePy library, generates the final manual video, and saves it.
[1545] 6. The server sends the path to the generated instructional video back to the terminal.
[1546] 7. The device presents the user with a link to a manual video, and the user watches the video.
[1547] Example of a prompt
[1548] "You are envisioning a system for creating instructional videos that can be used for technology transfer in the manufacturing industry. This system would input text information highlighting key points and tips into user-selected work videos, and then optimize the video's content and timing based on user sentiment data. Please generate the optimal instructional video for each user based on the following information:
[1549] Video file: maintenance.mp4
[1550] Text information: "When tightening screws, maintain a constant torque."
[1551] User sentiment data: focused, fatigued
[1552] Please adjust the display position, start time, duration, and timing of the text information to match the user's emotions, and then generate the final instructional video.
[1553] This system can efficiently and effectively support the transfer of technical knowledge by dynamically adjusting the displayed content and timing according to the user's emotional state.
[1554] The flow of the specific processing in Example 2 will be explained using Figure 13.
[1555] Step 1:
[1556] The user logs into the system. Next, the user selects a work video (for example, specifying maintenance.mp4). The user enters important points and precautions for the work as text information (e.g., "Maintain a constant torque when tightening screws").
[1557] Input: Path and text information of the work video file.
[1558] Output: Video file path and text information to send to the terminal.
[1559] Step 2:
[1560] The device captures the user's facial expressions in real time using its built-in camera or external devices. The captured facial data is analyzed by an emotion engine to determine the user's emotional state (e.g., focused, fatigued) in real time.
[1561] Input: User's real-time facial expression data.
[1562] Output: Analyzed sentiment data.
[1563] Step 3:
[1564] The device sends the path to the selected video file, the entered text information, and the analyzed sentiment data to the server in JSON format. This communication uses the HTTP protocol.
[1565] Input: Video file path, text information, sentiment data.
[1566] Output: JSON data sent to the server.
[1567] Step 4:
[1568] The server parses the received JSON data and extracts the video file path, text information, and sentiment data. After extraction, it reads the video file (e.g., maintenance.mp4) from the file system.
[1569] Input: JSON data, video file path.
[1570] Output: Loaded video file, text information, sentiment data.
[1571] Step 5:
[1572] The server sets the display position, start time, and duration of text information for dynamic display. Specifically, the text "Maintain a constant torque when tightening screws" is displayed 10 seconds after the start of the video and displayed for 5 seconds.
[1573] Input: Text information.
[1574] Output: Set display position, display start time, display duration.
[1575] Step 6:
[1576] The server uses an emotion engine to dynamically adjust the content and display timing of text information based on the user's emotional data. For example, if the user is fatigued, the display will be paused and a refresh time will be provided.
[1577] Input: Analyzed emotion data, configured display information.
[1578] Output: Dynamically adjusted display information.
[1579] Step 7:
[1580] The server uses the MoviePy library to create a video clip with text information overlaid at the set time and position. Text is added using the TextClip function and then composited onto the video clip.
[1581] Input: Video file, dynamically adjusted text information.
[1582] Output: A video clip with text information overlaid on it.
[1583] Step 8:
[1584] The server combines the created video clips with the original working video to generate the final manual video. The generated manual video is saved to the file system as manual_video.mp4.
[1585] Input: Video clip with overlaid text information, original working video.
[1586] Output: Generated instructional video.
[1587] Step 9:
[1588] The server sends the file path of the generated instructional video back to the terminal.
[1589] Input: Generated instructional video.
[1590] Output: The file path sent to the terminal.
[1591] Step 10:
[1592] The terminal displays the file path received from the server to the user. The user can watch instructional videos to learn the technology.
[1593] Input: File path from the server.
[1594] Output: Displays the file path to the user.
[1595] Through the above processing steps, we realize a system that provides an optimal learning environment tailored to the user's emotional state, enabling efficient and effective transfer of technical skills.
[1596] (Application Example 2)
[1597] 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".
[1598] The maintenance and operation of autonomous vehicles are complex, making support crucial for efficient and accurate learning. Current systems lack dynamic adjustments based on the user's emotional state, potentially reducing learning efficiency. Furthermore, the lack of emotionally-adjusted timing and content in text information makes it difficult for users to learn essential tips and techniques in an optimal state.
[1599] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for selecting a work video, means for inputting text information to be displayed on the work video, means for receiving the work video and the text information and overlaying the text information on the work video, means for analyzing the user's emotional data in real time and dynamically adjusting the display content and timing of the text information based on the emotional data, and means for generating and saving the overlaid work video. This makes it possible to dynamically adjust the display content and timing of the text information according to the user's emotional state, enabling efficient and accurate learning of maintenance and operation methods for autonomous vehicles.
[1600] A "work video" is a video file that shows the learning or work procedures selected by the user.
[1601] "Text information" refers to written information, including specific points to note and key points, that is displayed in relation to the work video.
[1602] "Emotional data" refers to emotional information acquired in real time from the user's facial expressions, tone of voice, and other factors.
[1603] A "dynamic adjustment method" refers to a method that has the function of changing the content and timing of text information displayed in real time based on acquired sentiment data.
[1604] "Real-time analysis" refers to a method of processing input data immediately and reflecting the results instantly.
[1605] "Means of generation and saving" refers to the means of creating a new video file by integrating text information superimposed on the work video, and saving it to a storage device.
[1606] This invention provides a system for efficiently learning maintenance and operation methods for autonomous vehicles. The system includes means for selecting work videos, inputting text information to be displayed on those videos, and dynamically adjusting emotional data in real time. A detailed embodiment of this system is described below.
[1607] System Overview
[1608] 1. Select and enter video and text information:
[1609] The user launches the smartphone application and selects a video file containing maintenance or operating instructions. For example, they might choose a file like auto_maintenance.mp4.
[1610] Next, enter text information related to the video (e.g., "Check your engine oil regularly").
[1611] 2. Acquisition and analysis of emotional data:
[1612] The device (in this case, a smartphone) uses its camera and microphone to capture the user's facial expressions and voice tone in real time.
[1613] The acquired emotional data is analyzed by EmotionEngine (an emotion analysis engine) to determine states such as concentration, fatigue, and excitement.
[1614] 3. Overlaying video and text information:
[1615] The server receives the specified video file and the entered text information, and dynamically adjusts the content and timing of the text information display.
[1616] The MoviePy library is used for video editing to create clips with text information overlaid at specific points in the video.
[1617] 4. Video generation and saving:
[1618] The server generates a final manual video optimized based on emotion data and saves it to the specified location. The generated video file is saved as manual_video.mp4.
[1619] 5. Presenting videos to users:
[1620] The terminal displays the file path of the generated video sent back from the server to the user. The user can then review the generated manual video and use it for technical learning or training new employees.
[1621] Specific examples of the system
[1622] For example, consider a scenario where a user is learning "how to change engine oil." While the user is watching a video, text information appears stating, "Check your engine oil regularly." If the user is focused, the text information appears immediately, but if they are fatigued, the display is adjusted to be delayed.
[1623] The technologies used
[1624] Hardware: Smartphone camera and microphone.
[1625] Software used: OpenCV (for capturing facial expressions), EmotionEngine (for emotion analysis), MoviePy (for video editing).
[1626] Example of a prompt
[1627] Design an application that analyzes the user's facial expressions (concentrated, fatigued) in real time and overlays text information onto a maintenance procedure video. The timing of the text display will be dynamically set based on the user's emotions.
[1628] This will provide a system that allows users to efficiently and accurately learn how to maintain and operate autonomous vehicles, just as they would in a real-world work environment.
[1629] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[1630] Step 1:
[1631] The user launches a smartphone application and selects a video file containing maintenance and operating procedures for autonomous vehicles. For example, they might select auto_maintenance.mp4. The user also enters text information related to this video (e.g., "Check the engine oil regularly"). At this time, the video file path and text information are saved on the device in JSON format.
[1632] Step 2:
[1633] The device receives the path and text information of the input video file and captures the user's facial expressions and voice tone in real time using the camera and microphone. The acquired emotional data is analyzed by EmotionEngine (emotion analysis engine) to determine the user's emotional state (e.g., focused, tired). This emotional data is also temporarily stored on the device.
[1634] Step 3:
[1635] The terminal sends the video file path, text information, and acquired emotion data to the server. The server receives this information and loads the video file. The video editing library used here is MoviePy.
[1636] Step 4:
[1637] The server sets the display position, start time, and duration of the received text information. For example, it might display the text "Check your engine oil regularly" for 5 seconds starting 10 seconds into the video. This setting information is temporarily stored in memory.
[1638] Step 5:
[1639] The server dynamically adjusts the timing of text display based on emotion data acquired using EmotionEngine. Specifically, it displays text as configured when the user is focused, and delays the display by 2 seconds when the user is fatigued. This adjustment is also stored in memory.
[1640] Step 6:
[1641] The server uses the MoviePy library to generate a clip in which text information is overlaid on the video, according to the adjusted display timing and position. This clip is stored in memory as a temporary intermediate product.
[1642] Step 7:
[1643] The server combines the generated text clips with the original work video to produce the final manual video. The generated video file is saved to the server's storage as manual_video.mp4.
[1644] Step 8:
[1645] The server sends the file path of the generated instructional video back to the terminal. The terminal presents the received file path to the user, who can then view the generated instructional video through a smartphone application and use it for technical learning and education.
[1646] 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.
[1647] 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.
[1648] 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.
[1649] 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.
[1650] 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.
[1651] 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.
[1652] 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.
[1653] 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.
[1654] 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."
[1655] 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.
[1656] 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.
[1657] 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.
[1658] 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.
[1659] 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.
[1660] 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.
[1661] 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.
[1662] 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.
[1663] 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.
[1664] 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.
[1665] 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.
[1666] 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.
[1667] The following is further disclosed regarding the embodiments described above.
[1668] (Claim 1)
[1669] Methods for selecting work videos,
[1670] A means for inputting text information to be displayed on the aforementioned work video,
[1671] A means for receiving the aforementioned work video and the aforementioned text information, and for overlaying the aforementioned text information onto the aforementioned work video,
[1672] A means for generating and saving the superimposed work video,
[1673] A system that includes this.
[1674] (Claim 2)
[1675] The system according to claim 1, further comprising means for transmitting the superimposed work videos to a terminal.
[1676] (Claim 3)
[1677] The system according to claim 1, further comprising means for setting the display position, display start time, and display duration of the text information in the superimposed work video.
[1678] "Example 1"
[1679] (Claim 1)
[1680] Methods for selecting work videos,
[1681] A means for inputting text information to be displayed on the aforementioned work video,
[1682] A means for receiving and analyzing the aforementioned work video and the aforementioned text information,
[1683] Means for setting the display position, display start time, and display duration of the aforementioned text information,
[1684] Based on the results of the analysis, a means for overlaying the text information onto the work video,
[1685] A means for generating and saving the superimposed work video,
[1686] A system that includes this.
[1687] (Claim 2)
[1688] The system according to claim 1, further comprising means for transmitting the generated work video to a terminal.
[1689] (Claim 3)
[1690] The system according to claim 1, further comprising means for using a software library for analyzing the text information in the superimposed work videos.
[1691] "Application Example 1"
[1692] (Claim 1)
[1693] Methods for selecting work videos,
[1694] A means for inputting text information to be displayed on the aforementioned work video,
[1695] A means for receiving the aforementioned work video and the aforementioned text information, and for overlaying the aforementioned text information onto the aforementioned work video,
[1696] A means for generating and saving the superimposed work video,
[1697] A means of recording work using a video device attached to an industrial automation device,
[1698] A system that includes this.
[1699] (Claim 2)
[1700] The system according to claim 1, further comprising means for transmitting the superimposed work videos to a terminal.
[1701] (Claim 3)
[1702] The system according to claim 1, further comprising means for setting the display position, display start time, and display duration of the text information in the superimposed work video.
[1703] "Example 2 of combining an emotion engine"
[1704] (Claim 1)
[1705] Methods for selecting work videos,
[1706] A means for inputting text information to be displayed on the aforementioned work video,
[1707] A means for receiving the aforementioned work video and the aforementioned text information, and for overlaying the aforementioned text information onto the aforementioned work video,
[1708] A means of acquiring user sentiment data in real time,
[1709] Means for dynamically adjusting the content and display timing of text information based on the aforementioned sentiment data,
[1710] A means for generating and saving the superimposed work video,
[1711] A system that includes this.
[1712] (Claim 2)
[1713] The system according to claim 1, further comprising means for transmitting the superimposed work videos to a terminal.
[1714] (Claim 3)
[1715] The system according to claim 1, further comprising means for setting the display position, display start time, and display duration of the text information in the superimposed work video.
[1716] "Application example 2 when combining with an emotional engine"
[1717] (Claim 1)
[1718] Methods for selecting work videos,
[1719] A means for inputting text information to be displayed on the aforementioned work video,
[1720] A means for receiving the aforementioned work video and the aforementioned text information, and for overlaying the aforementioned text information onto the aforementioned work video,
[1721] A means for analyzing user sentiment data in real time and dynamically adjusting the display content and timing of the text information based on the sentiment data,
[1722] A means for generating and saving the superimposed work video,
[1723] A system that includes this.
[1724] (Claim 2)
[1725] The system according to claim 1, further comprising means for transmitting the superimposed work videos to a terminal.
[1726] (Claim 3)
[1727] The system according to claim 1, further comprising means for setting the display position, display start time, and display duration of the text information in the superimposed work video, and for dynamically adjusting the display timing based on user emotion data. [Explanation of symbols]
[1728] 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. Methods for selecting work videos, A means for inputting text information to be displayed on the aforementioned work video, A means for receiving the aforementioned work video and the aforementioned text information, and for overlaying the aforementioned text information onto the aforementioned work video, A means for generating and saving the superimposed work video, A system that includes this.
2. The system according to claim 1, further comprising means for transmitting the superimposed work videos to a terminal.
3. The system according to claim 1, further comprising means for setting the display position, display start time, and display duration of the text information in the superimposed work video.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A