WO2024062882A1 - プログラム、情報処理方法、及び情報処理装置 - Google Patents

プログラム、情報処理方法、及び情報処理装置 Download PDF

Info

Publication number
WO2024062882A1
WO2024062882A1 PCT/JP2023/031608 JP2023031608W WO2024062882A1 WO 2024062882 A1 WO2024062882 A1 WO 2024062882A1 JP 2023031608 W JP2023031608 W JP 2023031608W WO 2024062882 A1 WO2024062882 A1 WO 2024062882A1
Authority
WO
WIPO (PCT)
Prior art keywords
video
cycle
videos
motion
work
Prior art date
Application number
PCT/JP2023/031608
Other languages
English (en)
French (fr)
Inventor
健斗 川合
明程 侯
巧輝 穂屋下
航平 開
風太 早稲田
和樹 茶田
稔樹 相原
堅士朗 戎
Original Assignee
株式会社Ollo
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社Ollo filed Critical 株式会社Ollo
Publication of WO2024062882A1 publication Critical patent/WO2024062882A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/04Manufacturing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition

Definitions

  • This disclosure relates to a program, an information processing method, and an information processing device.
  • Patent Document 1 discloses a technology that detects whether an object's behavior is following the order of each task in a process that consists of multiple tasks whose order is determined in advance. The technology disclosed in Patent Document 1 determines whether an object is performing a task as specified, according to process information that specifies the task name, task order, standard work time, etc. for each task that makes up the process.
  • Patent Document 1 it is determined whether each task is being performed in accordance with the regulations, depending on whether each task is being performed within a standard working time.
  • the work content action content
  • the work content is not necessarily as specified. Therefore, it is difficult to accurately determine whether or not the work content has been performed as specified by simply determining whether or not the work time is within the standard work time.
  • An object of the present disclosure is to provide a program etc. that can accurately determine whether or not a target is performing the work as specified.
  • a program causes a computer to execute a process that divides a video of a subject performing a task into the actions included in the task, determines whether each action is a standard action based on each divided video, and analyzes whether the task is a standard action based on the determination result for each action.
  • FIG. 2 is an explanatory diagram showing an example of a moving image to be processed.
  • FIG. 2 is an explanatory diagram showing an example of a moving image to be processed.
  • FIG. 1 is a block diagram illustrating a configuration example of an information processing device.
  • FIG. 2 is an explanatory diagram showing a configuration example of a learning model.
  • FIG. 2 is an explanatory diagram showing a configuration example of a learning model.
  • 3 is a flowchart illustrating an example of a motion analysis model generation process procedure.
  • FIG. 13 is an explanatory diagram showing an example of a screen. It is an explanatory diagram showing an example of a screen. It is an explanatory diagram showing an example of a screen. 13 is a flowchart showing an example of a procedure for an analysis process of an operation.
  • FIG. 3 is a flowchart illustrating an example of a procedure for analyzing factors for each work element. It is an explanatory diagram showing an example of a screen. It is an explanatory diagram showing an example of a screen. 3 is a flowchart illustrating an example of a processing procedure for analyzing operation time of each operation. It is an explanatory diagram showing an example of a screen. 3 is a flowchart illustrating an example of a Gantt chart creation process procedure. It is an explanatory diagram showing an example of a screen of a Gantt chart. 13 is an explanatory diagram showing a display example of two analysis result screens. FIG. FIG.
  • FIG. 13 is a flowchart illustrating an example of a cycle video comparison processing procedure according to the fifth embodiment.
  • FIG. 13 is an explanatory diagram showing an example of a screen. It is an explanatory diagram showing an example of a screen.
  • FIGS. 1A and 1B are explanatory diagrams showing examples of moving images to be processed.
  • the moving image to be processed in this embodiment is moving image data including a plurality of images (still images), for example, 30 or 15 images per second. This is a photographed image of the person performing the work. Further, as shown in FIG.
  • the video to be processed is, for example, an image taken from the start to the end of the work of assembling one product, and the video is divided into multiple work elements included in the assembly work (Work element videos (hereinafter referred to as cycle videos) are included. Furthermore, the cycle video includes videos that are divided into multiple actions included in each work element (classified videos, hereinafter referred to as action videos).
  • a video of a worker assembling a product of type A is a cycle video of a worker performing work elements such as "assembling case A” and "assembling part A.”
  • the cycle video of the work elements of "Assembling Case A” is a video of the worker performing actions such as "taking out the case,””walking,””installing the spacer,” and “covering the case.” It is possible to classify each action video.
  • FIG. 2 is a block diagram showing an example of the configuration of an information processing device.
  • the information processing device 10 is a device capable of various information processing and sending and receiving information, and is composed of, for example, a server computer, a personal computer, a workstation, etc.
  • the information processing device 10 includes a control unit 11, a memory unit 12, a communication unit 13, an input unit 14, a display unit 15, a reading unit 16, etc., and these units are connected to each other via a bus.
  • the control unit 11 includes one or more processors such as a CPU (Central Processing Unit), an MPU (Micro-Processing Unit), a GPU (Graphics Processing Unit), or an AI chip (semiconductor for AI).
  • the control unit 11 executes the information processing and control processing to be performed by the information processing device 10 by appropriately executing a program 12P stored in the memory unit 12.
  • the storage unit 12 includes a RAM (Random Access Memory), a flash memory, a hard disk, an SSD (Solid State Drive), and the like.
  • the storage unit 12 stores a program 12P (program product) executed by the control unit 11 and various data.
  • the storage unit 12 also temporarily stores data and the like generated when the control unit 11 executes the program 12P.
  • the program 12P and various data may be written in the storage unit 12 during the manufacturing stage of the information processing device 10, or may be downloaded by the control unit 11 from another device via the communication unit 13 and stored in the storage unit 12. Good too.
  • the storage unit 12 also stores learning models such as a product type prediction model M1, a cycle prediction model M2, a break prediction model M3, a motion analysis model M4, and a factor classification model M5, which have been trained using training data through machine learning.
  • the learning models M1 to M5 are expected to be used as program modules that constitute artificial intelligence software.
  • the learning models M1 to M5 perform predetermined calculations on input values and output the calculation results, and the storage unit 12 stores the learning models M1 to M5 as information that defines the learning models M1 to M5.
  • Information such as information on the layers provided, information on the nodes constituting each layer, and weights (coupling coefficients) between nodes is stored.
  • a plurality of cycle prediction models M2, break prediction models M3, and motion analysis models M4 are prepared for each type of product that the worker assembles.
  • the storage unit 12 stores a plurality of moving image files 12a to be processed.
  • the communication unit 13 is a communication module for performing processing related to wired communication or wireless communication, and sends and receives information to and from other devices via the network N.
  • the network N may be the Internet or a public communication line, or may be a LAN (Local Area Network) constructed within a facility where the information processing device 10 is installed.
  • the input unit 14 accepts operation input by the user and sends a control signal corresponding to the operation content to the control unit 11.
  • the display unit 15 is a liquid crystal display, an organic EL display, or the like, and displays various information according to instructions from the control unit 11. A part of the input section 14 and the display section 15 may be a touch panel configured as one unit.
  • the reading unit 16 reads information stored in a portable storage medium 10a including a CD (Compact Disc), a DVD (Digital Versatile Disc), a USB (Universal Serial Bus) memory, an SD (Secure Digital) card, etc.
  • the program 12P and various data stored in the storage unit 12 may be read by the control unit 11 from the portable storage medium 10a via the reading unit 16 and stored in the storage unit 12.
  • the information processing device 10 may be a multicomputer configured to include a plurality of computers, or may be a virtual machine virtually constructed by software within one device.
  • the information processing device 10 may be a local server or a cloud server communicatively connected via a network such as the Internet.
  • the program 12P may be executed on a single computer, or may be executed on multiple computers interconnected via the network N.
  • the information processing device 10 does not necessarily include the input unit 14 and the display unit 15, and may have a configuration that accepts operations through a connected computer, or a configuration that outputs information to be displayed to an external display device.
  • the learning models M1 to M5 are configured using, for example, RNN (Recurrent Neural Network) or LSTM (Long Short-Term Memory). Note that the learning models M1 to M5 may be configured using algorithms such as CNN (Convolution Neural Network) and Transformer in addition to RNN and LSTM, or may be configured by combining multiple algorithms.
  • RNN Recurrent Neural Network
  • LSTM Long Short-Term Memory
  • the product type prediction model M1 inputs a video of the whole body of a worker during work, and performs calculations based on the input video to determine the product type of the product that the photographed worker is assembling. This is a trained model that has been trained to perform calculations and output the calculated results. Note that the product type prediction model M1 is not limited to a configuration in which a video of the entire body of the worker is input; A configuration may also be adopted in which a video of the situation is input.
  • the product prediction model M1 includes an input layer into which a video is input, an intermediate layer that extracts features from the input video, and a product in which the worker in the video is assembling the product based on the calculation results of the intermediate layer. and an output layer that outputs information indicating the product type.
  • the input layer has input nodes into which time-series images (frames) included in a video are sequentially input.
  • the intermediate layer uses various functions, threshold values, and the like to calculate an output value based on the video input via the input layer.
  • the output layer has a plurality of output nodes each associated with a preset product type, and each output node determines that each product type is the type of product that the worker is assembling. Output the probability (confidence) to be determined.
  • the output value from each output node of the output layer is, for example, a value between 0 and 1, and the sum of the probabilities output from each output node is 1.0 (100%).
  • the information processing device 10 identifies the output node that outputs the largest output value among the output values (confidence) from each output node, and outputs the identified output.
  • the product type associated with the node is identified as the product type that the worker in the video is assembling.
  • the output layer of the product prediction model M1 may be configured to have one output node that outputs information indicating the product with the highest certainty, instead of having a plurality of output nodes that output the confidence for each product.
  • the product type prediction model M1 can be generated by machine learning using training data including a training video and information (correct label) indicating the product type that the worker in the video is assembling. .
  • the variety prediction model M1 when a video included in the training data is input, the output value from the output node corresponding to the variety indicated by the correct label included in the training data approaches 1, and the output value from other output nodes approaches 1. Learn so that the value approaches 0.
  • the product prediction model M1 performs calculations in the intermediate layer and output layer based on the input video, calculates the output value from each output node, and uses the calculated output value of each output node and the correct label.
  • the corresponding value (1 for the output node corresponding to the correct label, 0 for other output nodes) is compared and used for calculation processing in the intermediate layer and output layer so that the two approximate each other.
  • the parameters include weights (coupling coefficients) between nodes in the intermediate layer and the output layer, coefficients of functions, thresholds, and the like.
  • the parameter optimization method is not particularly limited, but an error backpropagation method, steepest descent method, etc. can be used.
  • the cycle prediction model M2 receives a video of the whole body of a worker working as an input, performs calculations to classify the video into cycle videos based on the input video, and is trained to output the results of the calculation. It is a completed model.
  • the cycle prediction model M2 is also not limited to a configuration in which a video of the entire body of the worker is input; for example, a video of the upper body or hands of the worker may be used to capture the state of the assembly work being performed by the worker. It may also be configured such that a captured video is input.
  • the cycle prediction model M2 includes an input layer into which a video is input, an intermediate layer that extracts feature amounts from the input video, and a start time and end time of each cycle video that divides the video based on the calculation results of the intermediate layer. and an output layer that outputs.
  • the intermediate layer of the cycle prediction model M2 calculates an output value based on the video input through the input layer, and the output layer has an output node that outputs the start time and end time of each cycle video that is divided into the video.
  • the start time and end time of a cycle video indicate the elapsed time from the start of reproduction of the video.
  • the cycle prediction model M2 is generated using a setting video for setting breaks between each cycle video (each work element) in the video.
  • the setting video is a video of a worker who is capable of performing standard actions for each action performing the work.
  • the cycle prediction model M2 calculates the output value from the output node by performing calculations in the intermediate layer and the output layer based on the input video. Calculate and output the break times (start time and end time of cycle videos) at which the setting video is divided into each cycle video.
  • the user can modify the break time of each cycle output by the cycle prediction model M2, and the cycle prediction model M2 makes corrections in the intermediate layer and the output layer based on the corrected break times of each cycle. Optimize the parameters used in the calculation process.
  • a cycle prediction model M2 that predicts the start time and end time of each cycle moving image in the moving image and outputs a prediction result is obtained.
  • the break prediction model M3 receives videos that have been segmented into cycle videos as input, performs calculations to segment each cycle video into motion videos based on the input videos, and calculates a time period in which breaks can be set other than breaks in the segmented motion videos. This is a trained model that has been trained to perform calculations to predict , and output the calculated results.
  • the break prediction model M3 includes an input layer into which a video is input, an intermediate layer that extracts features from the input video, and a start time and end time of a motion video that divides each cycle video based on the calculation results of the intermediate layer. It has an output layer that outputs the time and the time zone in which the break of the motion video can be set.
  • the middle layer of the break prediction model M3 calculates an output value based on the video input through the input layer, and the output layer calculates the start time and end time of each motion video that is divided into each cycle video in the video. , and an output node that outputs the settable time period of the break in the motion video.
  • the information processing device 10 classifies the cycle video in the video into each motion video based on the output values from the output node (start time and end time of the motion video). .
  • the break prediction model M3 is generated using a setting video for setting a break in each motion video (each motion).
  • the video used to generate the break prediction model M3 is the video used to generate the cycle prediction model M2, and is a video divided into cycle videos by the cycle prediction model M2.
  • the break prediction model M3 calculates the output value from the output node by performing calculations in the intermediate layer and output layer based on the input video, and calculates the output value from the output node. Outputs the break times (the start time and end time of the motion videos) that divide the video into each motion video, and the settable time periods of the breaks of the motion videos.
  • the user can modify the break time of each motion output by the break prediction model M3, and can also modify the settable time period of the break output by the break prediction model M3.
  • the break prediction model M3 optimizes the parameters used for calculation processing in the intermediate layer and the output layer based on the corrected time of each break and the settable time period. As a result, when a video is input, the break prediction model M3 predicts the start time and end time of each action video in the video and the settable time period of the break of each action video, and outputs the prediction result. can get.
  • the motion analysis model M4 inputs a video that has been divided into motion videos, that is, a video in which breaks between motion videos have been set, and classifies the motion videos into each motion video included in the cycle video based on the input video. This is a trained model that has been trained to perform calculations to determine whether the operator's movements in the divided movement videos are standard movements, and to output the calculated results.
  • the motion analysis model M4 includes an input layer into which a video is input, a middle layer which extracts feature amounts from the input video, and a start of motion video included in each cycle video in the video based on the calculation results of the middle layer.
  • the middle layer of the motion analysis model M4 calculates an output value based on the video input through the input layer, and the output layer calculates the start time and end time of each motion video in the video and the analysis for each motion video. Each has an output node that outputs the result.
  • the information processing device 10 converts the cycle video in the video into a motion video based on the output value from the output node (start time and end time of the motion video, analysis result). Then, it is determined whether the worker's motion in each motion video is a standard motion or not.
  • the motion analysis model M4 is generated using a video of a worker performing a standard motion for each motion as a setting video.
  • the video used to generate the motion analysis model M4 is the video used to generate the break prediction model M3, and is a video classified into each motion video by the break prediction model M3.
  • the motion analysis model M4 calculates the output value from the output node by performing calculations in the middle layer and output layer based on the input video, and calculates the output value from the output node.
  • the time at which the video is divided into each motion video start time and end time of the motion video
  • an analysis result indicating whether the motion of each motion video is a standard motion are output.
  • the user can modify the break times of each motion output by the motion analysis model M4, and the motion analysis model M4 makes corrections in the intermediate layer and the output layer based on the corrected break times of each motion.
  • the analysis results here are information indicating that each motion is a standard motion, so if the output analysis result is information indicating that the motion is not a standard motion, the motion analysis model M4 will Then, the parameters are optimized based on the revised analysis results.
  • a motion analysis model M4 that predicts the start time and end time of each motion video in the video and an analysis result for the motion of each motion video and outputs the prediction result is obtained. .
  • the motion analysis model M4 includes, in addition to analysis results indicating whether or not the worker's motion in each motion video is a standard motion, factors that indicate that the worker's motion is not a standard motion when the worker's motion is not a standard motion. It may also be configured to output information indicating.
  • the reason for non-standard operation is, for example, that the operation time is longer or shorter than the standard operation time by a predetermined amount of time or more.
  • the factor classification model M5 inputs the cycle videos classified from the videos, and performs calculations based on the input cycle videos to determine the factors that cause the work element performed by the worker in the cycle video to be not standard work. , is a trained model that has been trained to output the calculated results.
  • the factor classification model M5 has an input layer into which cycle videos are input, a middle layer which extracts features from the input cycle videos, and a standard work element of the worker in the cycle video based on the calculation results of the middle layer. and an output layer that outputs information indicating factors other than work (information related to factors).
  • the middle layer of the factor classification model M5 calculates an output value based on the cycle video input via the input layer, and the output layer has a plurality of output nodes associated with each of preset factors.
  • Each output node outputs the probability (confidence) that each factor should determine that the work element performed by the worker is not a standard work.
  • the output value from each output node of the output layer is, for example, a value between 0 and 1, and the sum of the probabilities output from each output node is 1.0 (100%).
  • Factors that make a worker's work element not standard work include, for example, the absence of an action included in the work element, a change in the execution order of the action included in the work element, and the movement of the action included in the work element being different from the standard action.
  • the operation time of the operation included in the work element may be longer or shorter than the standard operation time by a predetermined amount of time or more.
  • the information processing device 10 identifies and identifies the output node that outputs the maximum output value among the output values (confidence) from each output node.
  • the factors associated with the output node are identified as factors that cause the worker's work element in the cycle video to be not standard work.
  • the output layer of the factor classification model M5 may have a configuration in which it has one output node that outputs information indicating the factor with the highest degree of certainty, instead of having a plurality of output nodes that output the degree of certainty for each factor.
  • the factor classification model M5 is subjected to machine learning using training data including a training cycle video and information (correct label) indicating a factor that causes the worker's work element in this cycle video to not be a standard work. It can be generated by In the factor classification model M5, when the cycle video included in the training data is input, the output value from the output node corresponding to the factor indicated by the correct label included in the training data approaches 1, and the output value from other output nodes approaches 1. Learn so that the output value approaches 0. In the learning process, the factor classification model M5 performs calculations in the intermediate layer and output layer based on the input video, calculates the output value from each output node, and uses the calculated output value of each output node and the correct label.
  • the corresponding value (1 for the output node corresponding to the correct label, 0 for other output nodes) is compared and used for calculation processing in the intermediate layer and output layer so that the two approximate each other.
  • Optimize parameters are the weights (coupling coefficients) between nodes in the intermediate layer and the output layer, function coefficients, thresholds, etc., and the parameter optimization methods include error backpropagation method, steepest descent method, etc. Can be used.
  • a factor classification model M5 is obtained that predicts a factor in which the worker's work element in the cycle video is not a standard work, and outputs the prediction result.
  • the trained learning models M1 to M5 generated by learning performed by other learning devices are downloaded from the learning device to the information processing device 10 via the network N or the portable storage medium 10a, and are stored in the storage unit 12. be remembered.
  • the cycle prediction model M2, break prediction model M3, and motion analysis model M4 are generated by one-shot learning that performs learning using one set of training data (setting video) or a small number of training data. However, it may also be generated by learning using a large amount of training data.
  • the learning models M1 to M5 are not limited to a configuration in which a video of a worker or a cycle video segmented from the video is input.
  • the information processing device 10 generates skeletal data by estimating the skeletal structure of the worker based on each frame (each image) included in the video, and inputs the time-series skeletal data to the learning models M1 to M5. It may also be a configuration.
  • the control unit 11 of the information processing device 10 estimates the skeleton of the worker in each frame using a technique such as OpenPose that extracts the joint positions of the person in the image, and estimates the joint positions of the worker. Extract.
  • the control unit 11 acquires time-series skeletal data by performing a process of extracting joint positions for each frame included in the video, and applies the obtained time-series skeletal data to learning models M1 to M5. It can also be used as input.
  • FIG. 5 is a flowchart showing an example of the procedure for generating the motion analysis model M4
  • FIGS. 6A to 6C are explanatory diagrams showing examples of screens.
  • the following processing is executed by the control unit 11 of the information processing device 10 according to the program 12P stored in the storage unit 12.
  • the motion analysis model M4 setting video is a video that has been divided into motions included in each cycle (each work element) using the cycle prediction model M2 and the break prediction model M3.
  • the control unit 11 of the information processing device 10 receives selection of a video for setting the motion analysis model M4 by operation via the input unit 14 (S11).
  • the control unit 11 inputs the selected video into the motion analysis model M4, classifies the video to be processed into motion videos based on the output information from the motion analysis model M4, and extracts break candidates for each motion ( S12).
  • the control unit 11 sequentially inputs each frame included in the video file 12a to the motion analysis model M4, and calculates each frame based on the start time and end time of each motion video output from the motion analysis model M4. Identify the time of the motion break candidate.
  • the control unit 11 When the control unit 11 extracts break candidates for each motion video in the video to be processed, it displays a break editing screen as shown in FIG. 6A on the display unit 15 (S13).
  • the break editing screen is a screen for changing the time of a break candidate for each motion based on the start time and end time of each motion video output from the motion analysis model M4.
  • the screen shown in FIG. 6A includes a video area A1 where a video to be processed is displayed, and an editing area A2 where time of a break candidate extracted from the video is displayed.
  • the start time of each action video segmented from the video is displayed as the time of a break candidate between each action video and the immediately preceding action video, and the deletion is instructed for each break candidate.
  • a delete button B1 (x button) and an add button B2 (+ button) for instructing creation of a new break between each break candidate are provided.
  • the configuration may be such that a name can be assigned to a break in each motion, and in this case, the name given to each break may be displayed in the editing area A2 together with the time of each break candidate. .
  • the control unit 11 determines whether a deletion instruction for any break candidate has been received by operating the deletion button B1 in the editing area A2 (S14), and if it is determined that the deletion instruction has been received (S14: YES), the cut candidate for which deletion is instructed is deleted (S15). When a break candidate is deleted, the control unit 11 deletes the break candidate instructed to be deleted from the break candidates displayed in the editing area A2, and sequentially moves forward and displays break candidates after the deleted break candidate. . If it is determined that the deletion instruction has not been accepted (S14: NO), the control unit 11 skips step S15 and determines whether an instruction to add a new break has been received by operating the add button B2 in the editing area A2. It is determined whether or not (S16).
  • the control unit 11 displays a break addition screen as shown in FIG. 6B on the display unit 15 (S17).
  • the add button B2 between the second and third break candidates is operated, and in this case, as shown in FIG. 6B, the time period between the second and third break candidates is A break addition screen for adding a new break to any playback time is displayed.
  • the control unit 11 changes the settable time period to the break addition screen. may be displayed. In this case, the user can designate a new cutoff time, taking into consideration the settable time slots.
  • the user inputs the time to be set as a break on the break addition screen, and the control unit 11 receives the new break time via the break addition screen (S18).
  • the add button is operated on the screen shown in FIG. 6B
  • the control unit 11 adds a break to the accepted time (S19).
  • the control unit 11 adds a new break between the second and third break candidates, and sequentially moves the break candidates after the added break, as shown in FIG. 6C. Display. If it is determined that the instruction to add a new break has not been received (S16: NO), the control unit 11 skips steps S17 to S19.
  • the control unit 11 determines whether the save button has been operated on the screen shown in FIGS. 6A and 6C (S20), and if it is determined that the save button has not been operated (S20: NO), returns to step S14, The processing of steps S14 to S19 is repeated. Note that when the "Next" button is operated on the screen shown in FIGS. 6A and 6C, the control unit 11 changes the display content of the editing area A2 to a break candidate after the break candidate currently displayed at the bottom row. . Further, when the cancel button is operated on the screen shown in FIGS. 6A and 6C, the control unit 11 interrupts and ends the editing process of the break candidate.
  • the control unit 11 determines the break candidate edited (deleted and added) via the editing area A2 as a break, and stores the time of each break in the storage unit 12. (S21). Specifically, the control unit 11 associates a break number indicating the order of appearance of each break with the time of each break and stores them in a DB provided in the storage unit 12, for example. Note that if each cut is given a name, the name of each cut may also be stored. Then, the control unit 11 sets (optimizes) parameters used for arithmetic processing in the intermediate layer and output layer of the motion analysis model M4 based on the time of each break (S22).
  • control unit 11 sets the parameters of the motion analysis model M4 so that the setting video input to the motion analysis model M4 can be divided by the time of each break stored in step S21. Furthermore, the control unit 11 performs a motion analysis to output an analysis result indicating that the motion is a standard motion for each motion video, based on the analysis result output by the motion analysis model M4 when the setting video is input. Set the parameters of model M4. Thereby, when a video is input, it is possible to generate a motion analysis model M4 that divides the video into motion videos and outputs an analysis result as to whether or not the motion of each divided motion video is a standard motion.
  • the breaks between each action video are edited by deleting the breaks between the action videos extracted using the motion analysis model M4 and adding new breaks.
  • the editing method for each break is not limited to the above-described processing, and, for example, the editing area A2 may be configured so that the time of each break candidate can be directly changed.
  • FIG. 5 shows the process for setting the parameters of the motion analysis model M4
  • the parameters can also be set for the cycle prediction model M2 and the break prediction model M3 by the same process.
  • the control unit 11 inputs the video to be processed into the cycle prediction model M2, and sets the video to be processed to the cycle video based on the output information from the cycle prediction model M2. Then, break candidates for each cycle are extracted. Then, the control unit 11 accepts a user's edit for the break candidate of each cycle video, and can set the parameters of the cycle prediction model M2 based on the edited break time of each cycle video.
  • control unit 11 when setting the parameters of the break prediction model M3, the control unit 11 inputs the video to be processed into the break prediction model M3, and converts the video to be processed into a motion video based on the output information from the break prediction model M3. and extract break candidates for each motion. Then, the control unit 11 accepts the user's edits to the break candidates of each motion, and can set the parameters of the break prediction model M3 based on the edited break time of each motion.
  • Figure 7 is a flowchart showing an example of the procedure for the work analysis process
  • Figure 8 is an explanatory diagram showing an example screen. The following process is executed by the control unit 11 of the information processing device 10 in accordance with the program 12P stored in the memory unit 12.
  • the control unit 11 of the information processing device 10 receives selection of a moving image to be analyzed by operation via the input unit 14 (S31).
  • the control unit 11 inputs the selected video (video file 12a) into the product prediction model M1, and allows the worker photographed in the video to be analyzed to perform assembly work based on the output information from the product prediction model M1.
  • the type of product (work target) being performed is specified (S32).
  • the control unit 11 sequentially inputs each frame included in the video file 12a to the product prediction model M1, and if the maximum output value (confidence) from the product prediction model M1 is equal to or greater than a predetermined value (for example, 0.
  • the product type corresponding to the output node that outputs the maximum output value is specified as the product type that is being assembled by the worker in the video.
  • the control unit 11 may specify the product to be worked on without using the product prediction model M1. For example, when the work target includes different types of articles, the control unit 11 can detect the articles included in the video and specify the type according to the detected articles.
  • the control unit 11 selects a cycle prediction model M2, a cut prediction model M3, and a motion analysis model M4 according to the specified product (S33). Note that a plurality of cycle prediction models M2, break prediction models M3, and motion analysis models M4 are prepared for each product type. Using the selected cycle prediction model M2, the control unit 11 classifies the video to be analyzed into cycle videos, and extracts breaks in each cycle (S34). Here, the control unit 11 sequentially inputs each frame included in the video file 12a to the cycle prediction model M2, and based on the output information from the cycle prediction model M2, the start time and end of each cycle video included in the video. Identify (predict) the time.
  • control unit 11 displays an editing screen (see FIGS. 6A to 6C) for performing change processing (deletion, new addition, etc.) to the breaks in each cycle extracted from the video. 15, and may be configured to receive and change an instruction to change the break time of each cycle via an editing screen.
  • the control unit 11 uses the cut prediction model M3 selected in step S33 to divide the videos in which the breaks in each cycle are extracted into action videos in which the actions performed by the worker are captured.
  • the breaks in each motion are extracted (S35).
  • the control unit 11 sequentially inputs each frame included in the video that has been classified into cycle videos into the break prediction model M3, and based on the output information from the break prediction model M3, performs each operation included in each cycle video. Identify (predict) the start time and end time of a video.
  • the control unit 11 displays an editing screen (FIGS. 6A to 6C) for performing change processing (deletion, new addition, etc.) to the breaks (section positions) of each motion extracted from the video. ) may be displayed on the display unit 15, and an instruction to change the break time of each action may be received and changed via the editing screen.
  • the control unit 11 uses the motion analysis model M4 selected in step S33 to determine whether the worker's motions captured in each motion video included in the video are standard based on the video from which breaks in each motion have been extracted. It is analyzed whether it is a motion or not (S36).
  • the control unit 11 sequentially inputs each frame included in the video to the motion analysis model M4, and determines the start time and end time of each motion video included in the video based on the output information from the motion analysis model M4. , and an analysis result indicating whether or not the worker's motion in each motion video is a standard motion.
  • the control unit 11 (determination unit) can determine whether the movement performed by the worker is a standard movement based on the analysis result.
  • the control unit 11 determines whether the work element performed by the worker photographed in the cycle video is standard work, based on the analysis result of the operation video included in the cycle video. It is analyzed whether or not (S37). Here, if an analysis result is obtained that the operation video included in the cycle video is not a standard operation, the control unit 11 determines that the work element of the worker in the cycle video is not a standard operation. It is determined that For example, if any of the operation videos included in the cycle video in which one work element was shot is missing, the control unit 11 determines that the operation is missing and the work element of the worker in the cycle video is not standard work.
  • the control unit 11 changes the order and determines that the work element of the worker in the cycle video is not a standard work. Further, if the operator's movement in any of the action videos included in the cycle video is a movement different from the standard movement, the control unit 11 determines that the worker's work element in the cycle video is an abnormal movement and that the worker's work element in the cycle video is not a standard operation. It is determined that there is no. In addition, if the time (operation time by the operator) in any of the operation videos included in the cycle video is longer than a preset standard operation time by a predetermined time or more, the control unit 11 determines that the operation time is long.
  • the control unit 11 inputs the cycle video into the factor classification model M5, and analyzes whether the work element is a standard work based on the output information from the factor classification model M5. Note that the content of the operation that is not standard work is not limited to the above-mentioned example. If an analysis result indicating that all motion videos included in the cycle video are standard actions is obtained, the control unit 11 determines that the work element of the worker in the cycle video is a standard work.
  • the control unit 11 displays the analysis results for each cycle video on the display unit 15 (S38). For example, the control unit 11 generates an analysis result screen as shown in FIG. 8 and displays it on the display unit 15.
  • the analysis result screen shown in FIG. 8 includes a video area A3 in which a video to be analyzed is displayed, and a result area A4 in which analysis results for actions included in work elements performed by the worker in the video are displayed.
  • the action number indicating the order of appearance, the name assigned to each action, and the analysis result are displayed for the actions performed by the worker in each action video segmented from the video.
  • the analysis result includes the operation time required to execute each operation and a mark ( ⁇ or ⁇ ) indicating whether each operation is a standard operation.
  • the video area A3 is provided with a playback stop button B3 for instructing to play and stop the video being displayed, and when a playback instruction is given via the playback stop button B3, the control unit 11 performs analysis.
  • the target video is played back in the video area A3, and the analysis results for each action video analyzed based on the played video are displayed in the result area A4. This makes it possible to understand the analysis results while checking the actions of the worker through the played video.
  • the information processing device 10 recognizes the work elements performed by the worker and each action included in each work element based on the video of the worker, and determines whether each action is a standard action or not. Based on the analysis results of each operation, each work element is analyzed to determine whether it is standard work. In this way, the work performed by the worker is divided into action units, and the suitability of each action (specifically, whether it is a standard action or not) is determined, and the results are used to determine the work elements of the worker. (one cycle of work) can be determined with higher accuracy.
  • the suitability of each motion is determined using the motion analysis model M4, it is determined whether or not the standard motion has been performed, taking into consideration not only the motion time of each motion but also the motion content (worker's movement). Ru. Therefore, it is possible to accurately analyze whether the worker is performing the standard motion (work as prescribed) set in advance for the motion analysis model M4. Moreover, since inappropriate movements and work elements including inappropriate movements can be presented based on the result of determining the suitability of each movement, it becomes easy to provide improvement guidance to the worker.
  • the control unit 11 determines whether the above-described processing has been completed for all frames included in the video to be analyzed (S39), and if it is determined that the processing has not been completed (S39: NO). , returns to the process of step S34, and repeats the processes of steps S34 to S38. This makes it possible to analyze whether each work element performed by a worker is appropriate based on each cycle video included in the video to be analyzed, and to present the obtained analysis results to the user. can.
  • the control unit 11 determines that the above-described processing has been completed for the video to be analyzed (S39: YES)
  • the control unit 11 stores the analysis result in the storage unit 12 in association with the video to be analyzed (S40).
  • the control unit 11 includes identification information (for example, a cycle number indicating the order of appearance), the break time of each cycle, and analysis results for work elements (cycles), and for each cycle video.
  • identification information for example, a motion number indicating the order of appearance
  • a break time of each motion and an analysis result for the motion are stored in a DB prepared in the storage unit 12.
  • the type of work being performed by the operator is specified based on the video to be analyzed, and analysis processing is performed using the motion analysis model M4 prepared for each type. Therefore, even if multiple types of different types are being assembled at the same work site, analysis can be performed for each type, and the user performing the analysis should be aware of the types in each video. Analysis processing for each video can be performed with high precision without having to do so.
  • FIG. 9 is a flowchart showing an example of a procedure for analyzing factors for each work element
  • FIGS. 10A and 10B are explanatory diagrams showing examples of screens. The following processing is executed by the control unit 11 of the information processing device 10 according to the program 12P stored in the storage unit 12.
  • the video to be processed here is a video of a worker performing assembly work on a product of one type. Note that the following process may be performed to analyze the work content of a single worker based on multiple tasks performed by one worker, or may be performed based on tasks performed by multiple workers. , may be executed to analyze the work content of multiple workers.
  • the control unit 11 extracts a cycle video from the video to be processed (S51), and, based on the extracted cycle video, determines the factors that cause the work elements performed by the worker in the cycle video to be not standard work (S52). ).
  • the control unit 11 sequentially inputs each frame included in the cycle video to the factor classification model M5, and determines that the work of the worker in the cycle video is not standard work based on the output information from the factor classification model M5. Determine the cause.
  • the control unit 11 determines the factors that cause the work elements performed by the worker in each cycle video to be not standard work based on the analysis results for each cycle video obtained by the analysis process shown in FIG. 7. Good too.
  • the control unit 11 determines any one of the following factors: omission of an action, order change, abnormal movement, long action time, short action time, etc.
  • the control unit 11 associates the determined factor with the cycle video to be processed and stores it in the storage unit 12 (S53). For example, the control unit 11 stores the determined factor in association with the cycle number of each cycle video.
  • the control unit 11 calculates the occurrence rate of each factor based on the determined factors (S54), and displays the calculated occurrence rate of each factor on the display unit 15 (S55). For example, the control unit 11 generates a cause screen as shown in FIG. 10A and displays it on the display unit 15.
  • the factor screen shown in FIG. 10A displays a list of work elements included in the assembly work of product type A, and displays the order of appearance (cycle number), name, and occurrence rate of each factor for each work element.
  • the occurrence rate of each factor includes the rate of cycle videos determined to be standard work in addition to the rate of cycle videos determined to be non-standard work.
  • control unit 11 determines the factors based on the analysis results without performing steps S52 to S53. It is sufficient to read it from the storage unit 12 and perform the processing in steps S54 to S55.
  • the control unit 11 determines whether there is an unprocessed video that has not been processed in steps S51 to S55 (S56), and if it is determined that there is an unprocessed video (S56: YES), the control unit 11 performs step S51. Returning to the process, steps S51 to S55 are executed on the unprocessed moving image. If it is determined that there is no unprocessed video (S56: NO), the control unit 11 moves to the process of step S57.
  • the screen shown in FIG. 10A is configured to accept, via each factor for each work element, an instruction to play back a video in which each factor occurs. For example, by performing a predetermined operation (for example, left mouse click) on any factor of any work element, the user can instruct playback of the video in which the operated factor occurs. .
  • the control unit 11 receives a playback instruction for a moving image in which a cause of motion omission has occurred for a work element with a cycle number of 1, through an operation using a cursor as indicated by an arrow A5.
  • the control unit 11 determines whether or not the factor to be played back has been accepted (S57), and if it is determined that it has been accepted (S57: YES), the control unit 11 plays a video in which the selected factor occurs (a video corresponding to the factor). Specify (S58).
  • the control unit 11 searches the videos stored in the storage unit 12 for videos in which the factor for the selected work element occurs. Then, the control unit 11 reads the searched video from the storage unit 12 and displays it on the display unit 15 (S59). For example, the control unit 11 displays an analysis result screen as shown in FIG. 10B on the display unit 15.
  • the screen shown in FIG. 10B has the same configuration as the screen shown in FIG.
  • the control unit 11 is configured to sequentially play back the plurality of videos identified in step S58, and when the "previous video” button is operated via the screen shown in FIG. 10B, the video area A3 and the result The display contents of area A4 are changed to the video that was displayed immediately before and the analysis results for the video. Further, when the "next video” button is operated, the control unit 11 changes the display contents of the video area A3 and the result area A4 to a video scheduled to be displayed next and an analysis result for the video.
  • control unit 11 may be configured to play the plurality of videos identified in step S58 in an arbitrary order, for example, it may play the videos in order of oldest or newest recording date and time.
  • the videos of each worker may be played together or randomly.
  • a plurality of moving image areas A3 may be provided on the screen shown in FIG. 10B, and cycle moving images in which the selected factor occurs in each moving image may be displayed in synchronization in each moving image area A3.
  • control unit 11 determines that the factor for reproduction is not accepted (S57: NO), it skips the processes of steps S58 to S59 and ends the above-described process.
  • each cycle video included in the video can be grouped by factors that are considered to be non-standard work, and the occurrence rate of each factor can be analyzed. Furthermore, since a video in which each factor occurs can be played for each factor, it is possible to efficiently consider improvement measures for each cycle video (work element).
  • an analysis result is obtained for each cycle (work element) as to whether or not it is a standard operation, and an analysis result is obtained for each motion included in each cycle as to whether or not it is a standard operation. can get. Therefore, in addition to the analysis results for each cycle video, it is possible to search for videos based on the analysis results for each motion video. For example, for a predetermined cycle (e.g., the first work element), it is possible to search for videos in which a predetermined action (e.g., the first action) is determined not to be a standard action. Therefore, when verifying the work content of each worker, it is possible to perform a search process that takes into account the analysis results for each cycle and the analysis results for each operation, and it is possible to achieve efficient verification processing.
  • a predetermined cycle e.g., the first work element
  • a predetermined action e.g., the first action
  • FIG. 11 is a flowchart showing an example of a processing procedure for analyzing the operation time of each operation
  • FIG. 12 is an explanatory diagram showing an example of a screen. The following processing is executed by the control unit 11 of the information processing device 10 according to the program 12P stored in the storage unit 12.
  • the user selects a video to be analyzed that has been subjected to the analysis process for each movement by the process shown in FIG. 7.
  • the video to be processed is a video of a worker performing assembly work for one type of product, and may be multiple videos of one worker, or a video of multiple workers. It may be a video that was
  • the control unit 11 measures the operating time of each action based on each action video included in the processing target video (S71). For example, the control unit 11 acquires the motion number, start time, and end time (time of each break) of each motion video from each motion video. Then, the control unit 11 calculates the time from the start time to the end time for each motion video. The control unit 11 generates a scatter diagram (chart) in which the operation time calculated for each operation is plotted in association with each operation, and displays it on the display unit 15 (S72). For example, the control unit 11 generates and displays a scatter diagram as shown in the upper right corner of the screen in FIG. The scatter diagram shown in the upper right corner of FIG.
  • each position on the horizontal axis is associated with each movement, the vertical axis represents the operation time of each movement, and the operation time of each movement is plotted in correspondence with each position on the horizontal axis. has been done.
  • the control unit 11 measures the standard movement time of each movement based on each movement video in the video of the worker performing the standard work, which was used as the setting video of the movement analysis model M4.
  • the standard operating time for each operation is plotted as a white diamond on the scatter diagram. Thereby, the standard operation time of each operation can be presented, and the comparison result of each worker's operation time with respect to the standard operation time can be easily grasped.
  • control unit 11 when the control unit 11 measures the operation time of each operation for one cycle video, the control unit 11 totals each operation time to calculate the operation time (cycle time) for the relevant work element.
  • the control unit 11 also generates and displays a scatter diagram in which the calculated cycle times are plotted, as shown in the upper left of the screen in FIG. Thereby, in addition to the variation in the operation time of each operation, it is possible to present the variation in the cycle time required for each work element (cycle).
  • control unit 11 calculates the minimum value, first quartile, median value, third quartile, and maximum value of the operation time for each operation based on the operation time measured in step S71. (S73). Then, the control unit 11 generates a boxplot (chart) showing the variation in operation time of each operation based on each value calculated for each operation, and displays it on the display unit 15 (S74). For example, the control unit 11 generates and displays a box plot as shown in the lower right corner of the screen in FIG.
  • the boxplot shown in the lower right of Figure 12, like the scatterplot, has each movement associated with each position on the horizontal axis, the vertical axis shows the operation time of each movement, and the minimum value of the operation time of each movement.
  • the control unit 11 plots the standard operation time of each operation as a white diamond on the box plot. Further, regarding the cycle time, the control unit 11 calculates the minimum value, first quartile, median value, third quartile, and maximum value, and based on the calculated values, the control unit 11 calculates the minimum value, first quartile, median value, third quartile, and maximum value, As shown in the lower left corner of , a boxplot showing variations in cycle time is generated and displayed on the display unit 15.
  • the control unit 11 determines whether there is an unprocessed video that has not been processed in steps S71 to S74 (S75), and if it is determined that there is an unprocessed video (S75: YES), the control unit 11 performs step S71. Returning to the process, steps S71 to S74 are executed on the unprocessed moving image. If it is determined that there is no unprocessed video (S75: NO), the control unit 11 moves to the process of step S76.
  • the scatter diagram on the screen shown in FIG. 12 is configured to accept, via each plotted point (marker), an instruction to play a video corresponding to each marker. For example, by performing a predetermined operation (for example, left click of a mouse) on any marker, the user can instruct playback of the video corresponding to the operated marker.
  • the control unit 11 receives an instruction to play the moving image corresponding to the selected marker by operating the cursor as shown by arrow A6.
  • the control unit 11 determines whether or not a marker to be played back has been accepted (S76), and when determining that it has been accepted (S76: YES), specifies the video corresponding to the selected marker (S77).
  • the markers plotted in association with each motion are associated with the identification information of the video (for example, the video ID assigned to the video), so the control unit 11 is configured to By specifying the identification information of the video, the video corresponding to the marker can be specified. Thereby, the control unit 11 can specify the video to be played that is selected via the marker in the scatter diagram from the videos stored in the storage unit 12.
  • control unit 11 reads the specified moving image from the storage unit 12 and displays it on the display unit 15 (S78). In this case, the control unit 11 displays an analysis result screen as shown in FIG. 8 based on the specified video. Note that the control unit 11 may be configured to display an action video corresponding to the selected marker in the specified video. In this case, you can check the motion video of the selected motion.
  • the control unit 11 determines that the marker to be reproduced has not been accepted (S76: NO)
  • the control unit 11 skips the processes of steps S77 to S78 and ends the above-described process.
  • FIG. 13 is a flowchart showing an example of a Gantt chart creation process procedure
  • FIG. 14 is an explanatory diagram showing an example of a Gantt chart screen. The following processing is executed by the control unit 11 of the information processing device 10 according to the program 12P stored in the storage unit 12.
  • the control unit 11 accepts the selection of a video for which a Gantt chart is to be created by an operation via the input unit 14 (S81).
  • the control unit 11 acquires the start time and end time of each cycle video divided from the selected video (S82).
  • the start time and end time of each cycle video (the time at the end of each cycle) of the videos divided into cycle videos are stored in the memory unit 12 in association with the video, and the control unit 11 reads out the start time and end time of each cycle video from the memory unit 12.
  • the control unit 11 creates a band graph (horizontal bar) indicating the execution time period from the work start timing to the work end timing of each work element based on the start time and end time of each acquired cycle video.
  • a Gantt chart (diagram) in which band graphs of each work element are arranged is created (S83).
  • the control unit 11 creates a Gantt chart as shown in FIG.
  • the names of the work elements included in the assembly work of type A are displayed in the vertical direction, the horizontal axis shows the date and time, and a band graph showing the execution time period of each work element is displayed. , are displayed in association with each work element.
  • the control unit 11 displays the created Gantt chart on the display unit 15 (S84).
  • the Gantt chart shown in FIG. 14 may be configured such that, for example, when each work element is selected, a band graph indicating the start time and end time of each operation included in the selected work element is displayed. In this case, it is possible to provide a Gantt chart that can present the progress status of each operation included in each work element in addition to the progress status of each work element. In addition, if a Gantt chart is created based on a video of workers performing standard work, a process chart (standard work combination sheet) that specifies the order and standard work time of each work element included in a series of work. It becomes possible to create.
  • FIG. 15 is an explanatory diagram showing display examples of two analysis result screens.
  • the control unit 11 of the information processing device 10 receives an instruction to execute a process of comparing the analysis results of two videos, and when receiving a selection of two videos that have undergone analysis processing, the control unit 11 of the information processing device 10 selects the selected video and the analysis results for the video. Based on this, an analysis result screen for each video is generated and displayed side by side on the display unit 15. In the example shown in FIG.
  • analysis result screens for each video are displayed on the left and right sides of the screen.
  • Each analysis result screen has a configuration similar to that of FIG. 8, but a result area A4 is displayed below the video area A3.
  • the result area A4 in FIG. 15 is configured to display information regarding the motion video being displayed in the video region A3 and the motion videos before and after it, and as the video in the video region A3 progresses, Analysis results for the currently displayed motion video are displayed in sequence.
  • the screen shown in FIG. 15 includes an "Align to start” button for moving the playback positions of the two videos displayed in the video area A3 to the beginning position, and a simultaneous stop button for stopping the two videos together. , and a motion comparison mode button for displaying each motion video in two motion pictures in synchronization. Further, the screen shown in FIG. 15 is provided with a video change button for instructing to change the video displayed in each video area A3.
  • the control unit 11 of the information processing device 10 displays a list of video names of selectable videos, and when the selection of any video is accepted, the control unit 11 displays the selected video and an analysis of the video. Based on the results, the display contents of the moving image area A3 and the result area A4 are switched. This makes it possible to compare and display analysis results for any video.
  • the control unit 11 displays each motion video included in each video in the video area A3 in synchronization (interlocking) for each motion. This makes it possible to compare the details of the worker's actions in the two videos for each action.
  • the control unit 11 may display each cycle video included in each video in the video area A3 in synchronization with each operation in order from the beginning. Thereby, the control unit 11 can present analysis results for any two videos side by side, and can also display an action video or a cycle video for each action or for each work element. Therefore, for example, when videos taken when different workers assemble the same product are displayed in synchronization, the working states of the two workers can be compared. In addition, if videos taken when one worker assembles the same product are synchronized and displayed, it is possible to compare the work status of one worker on different days, for example. be able to.
  • each motion performed by the worker is a standard motion or not, and based on the determination result of each motion, each work element is a standard motion. Determine whether or not.
  • the motion content (worker's movement) of each motion is also taken into consideration to determine whether the standard motion was performed with accuracy. It is determined whether By using the results determined with high accuracy in this manner, it becomes possible to consider appropriate improvement measures, and it becomes possible to provide improvement guidance to workers.
  • the analysis process shown in FIG. 7 may be performed in real time based on a video of the worker while working, in addition to being performed after the worker has finished working based on a video of the worker.
  • a product prediction process using a product prediction model M1, a cycle video classification process using a cycle prediction model M2, a motion video classification process using a break prediction model M3, and a motion analysis model M4 are used.
  • At least one of the analysis processes is not limited to a configuration in which the information processing device 10 performs it locally.
  • a server may be provided that executes product prediction processing using the product prediction model M1.
  • the information processing device 10 is configured to transmit the moving image to be processed to the server, and the product predicted by the server using the product prediction model M1 is transmitted to the information processing device 10.
  • the information processing device 10 can execute, for example, the processes after step S33 in FIG. 7 based on the product type predicted by the server.
  • a server may be provided that performs classification processing of the cycle video using the cycle prediction model M2.
  • the information processing device 10 is configured to transmit the video to be processed to the server, and the video classified by the server as a cycle video is transmitted to the information processing device 10.
  • the information processing device 10 can perform processing from step S35 onward in FIG. 7, for example, based on the video classified by the server as a cycle video.
  • a server may be provided that performs classification processing of the motion video using the break prediction model M3.
  • the information processing device 10 is configured to transmit the video to be processed to the server, and the video classified by the server as a motion video is transmitted to the information processing device 10.
  • the information processing device 10 can perform processing from step S36 onward in FIG.
  • the information processing device 10 is configured to transmit the video to be processed to the server, and the results of the analysis processing performed by the server on the video are transmitted to the information processing device 10.
  • the information processing device 10 can also execute the processes from step S37 onward in FIG. 7, for example, based on the results of the analysis process performed by the server.
  • the configuration is such that it is analyzed whether the movements and work performed by the worker are standard movements and standard work based on the video taken of the worker performing the work.
  • it may be configured to analyze whether or not the movements and work of the robot are standard movements and standard work based on a video taken of a robot configured to perform a predetermined work.
  • cycle videos in which each work element is shot are extracted from videos of a worker repeatedly performing one work element (the same work element), and the extracted cycle videos are compared and presented.
  • An information processing device will be described.
  • the cycle video included in one video may be a video of one worker, or may be a video of a plurality of different workers.
  • the information processing device 10 of this embodiment has a configuration similar to that of the information processing device 10 of the first embodiment shown in FIG. 2, so a description of the configuration will be omitted.
  • the storage unit 12 of the information processing device 10 of this embodiment stores a cycle video extraction model M6 instead of the cycle prediction model M2.
  • FIG. 16 is an explanatory diagram showing a configuration example of the cycle video extraction model M6.
  • the cycle video extraction model M6 is configured using algorithms such as RNN, LSTM, CNN, Transformer, etc., or may be configured by combining a plurality of algorithms.
  • the cycle video extraction model M6 takes as input a video of a worker repeatedly performing one work element, and the start time and end time of one cycle video specified for the video, and extracts the input video. This is a trained model that has been trained to perform calculations to extract cycle videos similar to the specified cycle video from , and output the calculation results.
  • the cycle video extraction model M6 may also be configured to input a video of the worker's movements, such as a video of the whole body, upper body, or hand of the worker.
  • the cycle video extraction model M6 includes an input layer in which a video, a start time and end time of one cycle video in the video are input, and an input layer for workers included in the cycle video to which the start time and end time have been input.
  • the feature quantities of the motion and the feature quantities of the worker's motion included in the video are extracted, and a cycle video having the same feature quantities as the cycle video (a cycle video similar to the cycle video) is extracted from the input video. It has an intermediate layer that performs calculations to extract, and an output layer that outputs the start time and end time of each cycle video extracted from the video based on the calculation results of the intermediate layer.
  • the start time and end time of each cycle video output from the cycle video extraction model M6 indicate the elapsed time from the start of reproduction of the video.
  • the cycle video extraction model M6 calculates the start time and end time of a training video, one cycle video in this video, and the start time and end time of multiple cycle videos designated as correct answers for this video. It can be generated by machine learning using training data.
  • the cycle video extraction model M6 learns to output the start time and end time of each cycle video as a correct answer when the start time and end time of a video included in the training data and one cycle video are input. do.
  • the cycle video extraction model M6 performs calculations in the intermediate layer and output layer based on the input video and the start time and end time of one cycle video, and calculates the actions of the worker included in the video and cycle video.
  • a cycle video extraction model M6 that classifies each cycle video in the video and outputs the start time and end time of each cycle video is created. can get.
  • Learning of the cycle video extraction model M6 may also be performed by another learning device, and in this case, the learned cycle video extraction model M6 generated by the other learning device is transmitted via the network N or the portable storage medium 10a.
  • the information is downloaded from the learning device to the information processing device 10 and stored in the storage unit 12.
  • FIG. 17 is a flowchart showing an example of a cycle video comparison processing procedure
  • FIGS. 18A to 21B are explanatory diagrams showing screen examples.
  • the control unit 11 of the information processing device 10 displays, for example, a video selection screen as shown in FIG. 18A on the display unit 15, and accepts selection of any video from the screen by operation via the input unit 14 (S91). .
  • one moving image or multiple moving images may be selected.
  • two videos, video 1 and video 2 are selected.
  • the moving image to be processed includes a plurality of cycle moving images, with one cycle moving image representing the time required for a worker (target) to perform a series of work elements.
  • the screen in FIG. 18A is configured such that by selecting a camera, a thumbnail of a moving image shot with the selected camera is displayed.
  • the control unit 11 displays a screen as shown in FIG. 18B, for example, and receives designation of the start time and end time of one cycle video from the screen (S92).
  • the screen in FIG. 18B includes a display field for the selected video and an input field R1 for inputting the start time and end time of one cycle video among the displayed videos.
  • An indicator indicating the playback time of the video being displayed is displayed in the input field R1, and the user can move the start mark C1 and end mark C2 provided in the input field R1 to the desired playback time.
  • the user can enlarge or reduce the playback time interval shown on the indicator using the enlargement/reduction button C3.
  • the control unit 11 determines whether or not the "Search for similar work” button has been operated (S93), and if it is determined that it has not been operated (S93: NO), the process returns to step S92 and one cycle video Continue accepting input of start time and end time.
  • the control unit 11 determines that the "Search for similar work” button has been operated (S93: YES)
  • the control unit 11 extracts a cycle video similar to the cycle video specified in Step S92 from the videos selected in Step S91. (S94).
  • control unit 11 inputs the selected video (video file 12a) and the start time and end time of one specified cycle video to the cycle video extraction model M6, and extracts the selected video from the cycle video extraction model M6. As output information, the start time and end time of each cycle video extracted from the video to be processed is acquired.
  • the control unit 11 displays the start time and end information of each cycle video extracted from the video (S95). For example, as shown in FIG. 18C, the control unit 11 displays each cycle video in a rectangle C4 indicating the start time and end time with respect to the playback time of the video indicated by the indicator in the input field R1, and displays it in the video information field R2. , displays the start time and end time of each cycle video.
  • the control unit 11 assigns names such as Video 1, Video 2, etc. to each cycle video extracted from the video, and displays Video 1, Video 2, etc. in the video information column R2 in FIG. 18C. shows each cycle video.
  • the control unit 11 extracts one cycle video from the plurality of cycle videos extracted from the video (S96), and classifies the extracted cycle video into action videos using the break prediction model M3 (S97).
  • the process in step S97 is the same as step S35 in FIG. Based on the output information from the break prediction model M3, the start time and end time of each motion video included in the cycle video are specified (predicted).
  • the control unit 11 performs editing processing (see FIGS. 6A to 6C) to perform change processing (deletion, new addition, etc.) to the break (section position) of each action video. good.
  • the cycle video when dividing a cycle video into motion videos using the break prediction model M3, the cycle video is set to be divided into a predetermined number (for example, 10) of motion videos.
  • the number of segments of the motion video may be determined in advance and set in the break prediction model M3, or may be set arbitrarily by the user. In this case, the set number of segments may be used as input data for the break prediction model M3. It may be an input configuration.
  • the control unit 11 determines whether or not the processing of steps S96 to S97 has been completed for all the cycle videos extracted from the video in step S94 (S98), and if it is determined that the processing has not been completed (S98: NO). , returns to step S96, and repeats the processing of steps S96 to S97 for the unprocessed cycle video. As a result, all cycle videos are divided into a plurality of motion videos. If it is determined that the processing for all cycle videos has been completed (S98: YES), the control unit 11 displays analysis information for each cycle video (S99).
  • the control unit 11 counts the time required for each cycle video (cycle time from start time to end time), and displays a scatter diagram (chart) plotting the cycle time of each cycle video and the minimum value of the cycle time. , the first quartile, the median, the third quartile, and a boxplot showing the maximum value, and display them in the analysis information column R3 as shown in FIG. 18D.
  • the vertical axis shows the cycle time.
  • Each point (marker) plotted in the scatter diagram is configured to display the cycle time of the cycle video corresponding to the operated marker when a predetermined operation (for example, selection with a cursor) is performed.
  • control unit 11 displays the cycle time of the cycle video corresponding to the marker selected by the cursor indicated by arrow C5.
  • the video information column R2 in the screen of FIG. 18C is configured to be able to rearrange the display order of the cycle videos extracted from the video to be processed, and is provided with a rearrange button C6 for instructing execution of the rearrangement.
  • the sorting button C6 is provided with a pull-down menu that allows you to select a sorting rule such as start time, quickest work, or slowest work.
  • the sorting rule in descending order of work is selected, and the name, start time, end time, and cycle time of each cycle video are displayed in descending order of cycle time.
  • the video information column R2 on the screen in FIGS. 19A and 19B is provided with a check box for selecting each cycle video, and when two or more cycle videos are selected, as shown in FIG. 19B. Configured to display a "Compare All” button. After selecting the cycle videos that the user wants to compare and confirm using the checkboxes, the user operates the "Compare All” button.
  • the control unit 11 accepts the selection of cycle videos to be analyzed by checking the checkbox in the video information field R2 (S100), and when two or more cycle videos are selected, "comparison all" is selected. It is determined whether the button has been operated (S101). If it is determined that the "compare all” button has not been operated (S101: NO), the control unit 11 returns to step S100 and continues accepting cycle video selections.
  • the control unit 11 identifies a reference cycle video (reference video) to be used as a model from among the cycle videos selected in step S100. (S102). For example, the control unit 11 specifies a cycle video with a median cycle time as the reference cycle video. Note that the control unit 11 may specify a cycle video whose cycle time is closest to the average value of the cycle times of each cycle video as the reference cycle video, or may specify a cycle video with the shortest cycle time as the reference cycle video. It's okay. Further, the control unit 11 may specify the cycle video selected by the user via the input unit 14 as the reference cycle video.
  • the control unit 11 also calculates the degree of similarity with other cycle videos for each selected cycle video, and specifies, for example, the cycle video with the highest total similarity with other cycle videos as the reference cycle video. It's okay.
  • the similarity for example, a correlation coefficient or a cosine similarity can be used.
  • the control unit 11 may be configured to estimate the similarity between two cycle videos using a learning model constructed by machine learning. For example, a learning model formed of CNN and trained to output the degree of similarity between two cycle videos when two cycle videos are input may be used. In this case, the control unit 11 can input the two cycle videos to a trained learning model and estimate the degree of similarity between the two cycle videos based on the output information from the learning model.
  • control unit 11 is not limited to the configuration in which the reference cycle video is specified from the selected cycle videos, but may specify the reference cycle video from among the cycle videos extracted in step S94.
  • control unit 11 may specify the cycle video with the median value, average value, or shortest cycle time as the reference cycle video from among the cycle videos extracted in step S94, and may identify the cycle video with the median value, average value, or shortest cycle time as the reference cycle video.
  • the cycle video with the maximum total similarity may be specified as the reference cycle video.
  • the control unit 11 generates a comparison screen for comparing the reference cycle video and the analysis target cycle video (S103). For example, the control unit 11 generates a comparison screen as shown in FIG. 19C, and displays the generated comparison screen on the display unit 15 (S104).
  • the cycle video of video 115 is displayed as a reference cycle video (model video), and the cycle video of video 2 is displayed as an analysis target.
  • a reference cycle video (video 115) is displayed on the left side of the video display column R4, and a cycle video to be analyzed (video 2) is displayed on the right side. Note that the reference cycle video and the cycle video to be analyzed that are being displayed can be changed to any cycle video from among the cycle videos selected in step S100 by operation via the input unit 14.
  • the video display field R4 is provided with a reference cycle video switching button C7 and an analysis target switching button C8.
  • a pull-down menu is provided for selection.
  • cycle videos to be analyzed are provided with a switching button C9 that allows switching in the order in which they are displayed in the video information column R2 in FIG. 19B, for example.
  • the analysis information column R3 in the screen of FIG. 19C contains information on each divided motion video (indicated as section 1, section 2, etc. in FIG. 19C) for the reference cycle video and the analysis target cycle video displayed in the video display field R4. ) is displayed.
  • each movement (each section) is associated with each position on the horizontal axis, and the vertical axis is the analysis target's time for each movement video (section 1, section 2, etc.) of the reference cycle video. It shows the difference in time required for each motion video of the cycle video.
  • the time required for each motion video of the reference cycle video is plotted as white circles, and the time required for each motion video of the cycle video to be analyzed is plotted as black circles.
  • the analysis information column R3 includes a scatter diagram plotting the cycle time of each cycle video selected in step S100, the minimum value, the first quartile, the median value, the third quartile, and the maximum value of the cycle time. A boxplot showing the values is displayed.
  • the cycle time of the reference cycle video is plotted with white circles
  • the cycle time of the cycle video to be analyzed is plotted with large black circles
  • the cycle times of other cycle videos are plotted with small black circles.
  • the analysis information column R3 includes a scatter diagram of the required time of each operation video (each section) in the cycle video selected in step S100, as shown in FIG. 20A, below the graph D1 and the scatter diagram of cycle time. Display a boxplot.
  • the horizontal axis shows each section
  • the vertical axis shows the time required for each section
  • the time required for the reference cycle video is plotted as white circles
  • the time required for the cycle video to be analyzed is plotted as large black circles.
  • the time required for other cycle videos is plotted with small black circles.
  • the analysis information field R3 displays a stacked graph D2 in which the required time of each motion video (each section) is stacked and displayed for each cycle video selected in step S100.
  • the stacked graph D2 is a bar graph in which the required time of each motion video (section 1, section 2, etc.) is accumulated in order from the bottom for each cycle video.
  • a bar graph of a reference cycle video, a bar graph of a cycle video to be analyzed, and a bar graph of other cycle videos are displayed in order from the left side.
  • FIG. 20A only the required time for section 6 is shown with hatching, but the required time for each section is displayed in the same color (display mode).
  • Each section in the stacked graph D2 is configured to display the required time of the section of the corresponding cycle video when a predetermined operation (for example, selection with a cursor) is performed, and also when a predetermined operation (for example, selection with a cursor) is performed.
  • the device is configured such that when a left click of the mouse is performed, playback of the corresponding cycle video section (action video) is started.
  • section 6 of video 10 is selected, and the time required for selected section 6 is displayed.
  • the comparison screen further has a section comparison field R5, and in the section comparison field R5, the horizontal axis shows the playback time of the cycle video, and the reference cycle video and the cycle to be analyzed. It shows the start time and end time of each motion video (each section) in the video.
  • the start time and end time of each operation video are shown by matching the start times of the reference cycle video and the analysis target cycle video, and the video display column R4 of the two cycle videos A mark C10 indicating the playback position is added.
  • the comparison screen of this embodiment is configured to display (play) the reference cycle video and the cycle video to be analyzed in synchronization (interlocking) for each operation video (each section) into which each cycle video is divided.
  • the duration of section 1 of video 115 is longer than the duration of section 1 of video 2, so when two cycle videos are played, video 2 is After the reproduction of section 1 of the video 115 is finished, the process waits until the reproduction of section 1 of the video 115 is finished, and when the reproduction of section 1 of the video 115 is finished, the reproduction of section 2 of the two cycle moving images is started.
  • the section comparison column R5 in FIG. 20B shows the state at the time when the reproduction of section 1 of the two cycle videos is completed, and the mark C10 indicates the end point of section 1 of each cycle video, and after that, each Playback of section 2 of the cycle video is started.
  • each section displayed in the section comparison column R5 is displayed by matching the start time of the operated (selected) motion video (section) when a predetermined operation (for example, left click of the mouse) is performed. It is configured to indicate the start time and end time of the action video.
  • section 4 is selected, and the start time and end time of each section of the two cycle videos are shown to match the start time of section 4. Thereby, it is possible to easily understand the length of time required for the selected section.
  • motion videos of the selected motions (sections) in the two cycle videos may be loop-played (repeatedly played) in the video display field R4.
  • the operation videos in the two cycle videos for the selected section are synchronously displayed in the video display field R4. This makes it possible to compare the movements of the worker in the two cycle videos for each section.
  • the comparison screen will display the same section (motion) as the section (motion) currently being displayed.
  • the device is configured to start playing the reference cycle video and the analysis target cycle video for which switching has been instructed. Even if the reference cycle video is instructed to be switched using the switching button C7, playback of the reference cycle video for which the change was instructed and the currently displayed cycle video to be analyzed starts from the same section as the currently displayed section. Start.
  • the operation video of the operated (selected) section is divided into more detailed operation videos. is configured to do so.
  • the motion video obtained by one classification process for the cycle video to be processed is used as the motion video for each major classification, and the motion video obtained by one classification process for the motion video of the major classification.
  • the motion videos obtained by performing one classification process on the motion videos of the middle classification are defined as the motion videos for each of the small classification motions.
  • section 4 is selected, and in this case, the control unit 11 performs the same process as step S97, using the motion video of the selected section 4 (major classification motion video) as the processing target.
  • the motion video of section 4 is divided into motion videos of medium-class motions (section 4-1, section 4-2, . . . ) using the break prediction model M3.
  • the control unit 11 sequentially inputs each frame included in the motion video of section 4 to the break prediction model M3, and based on the output information from the break prediction model M3, the frames included in the motion video of section 4 are Specify (predict) the start time and end time of the motion video of each motion in the classification.
  • the control unit 11 may set or input into the break prediction model M3 the number of divisions (for example, 5) for dividing the motion videos of the major classification into the motion videos of the medium classification, and Editing processing may be performed on breaks in the motion video of each middle-class motion.
  • the section comparison column R5 in FIG. 20D shows the display state of the middle-class motion videos (section 4-1, section 4-2, . . . ) after classification.
  • any section for example, section 4-1) in the section comparison field R5 in FIG.
  • the same process as step S97 is performed using the motion video
  • the motion video in section 4-1 is divided into motion videos (not shown) of subclassified motions using the break prediction model M3.
  • the user can divide the cycle video into action videos in stages, and can perform analysis processing using the action videos with desired detail. Furthermore, since it is possible to divide into more detailed motion videos only the section that the user wants to check, unnecessary division processing can be suppressed.
  • the control unit 11 After displaying the comparison results shown in FIGS. 19C and 20A, the control unit 11 changes the reference cycle video to another selected cycle video, for example, when switching the reference cycle video is instructed by the switching button C7. , updates the contents of the comparison screen. Further, when switching of the cycle video to be analyzed is instructed by the switching buttons C8 and C9, the control unit 11 changes the target to be analyzed to another selected cycle video and updates the content of the comparison screen.
  • the control unit 11 also selects each marker plotted on the graph D1 displayed in the analysis information column R3, the scatter diagram of the cycle time of each cycle video, or the scatter diagram of the required time of each operation video (each section). If accepted, the required time or cycle time corresponding to the selected marker is displayed.
  • control unit 11 when the control unit 11 receives the selection of each section shown in the stacked graph D2 displayed in the analysis information column R3, it displays the required time of the selected section, and further instructs the reproduction of the section. In this case, the motion video of the section is displayed in the video display field R4.
  • the control unit 11 determines whether to end the above-mentioned processing (S105). For example, when the control unit 11 receives an instruction to end the process described above from the user via the input unit 14, it determines to end the process. If the control unit 11 determines not to end the above-described process (S105: NO), each time it receives an operation on the comparison screen, it waits while performing the process corresponding to the received operation. If it is determined that the above-described process is to be ended (S105: YES), the control unit 11 stores the comparative analysis result displayed on the comparison screen in the storage unit 12 (S106), and ends the series of processes.
  • S105 the control unit 11 determines whether to end the above-mentioned processing
  • control unit 11 determines the video selected in step S91, the start time and end time of the cycle video extracted from each video in step S94, the start time and end time of the operation video divided into each cycle video in step S97, etc. , are stored in one folder provided in the storage unit 12.
  • the folder in which a series of comparative analysis results are stored in this way you can check the comparative analysis results at any time, and by further operating the displayed comparison screen, you can perform further comparative analysis processing. be able to.
  • each folder may not only store a series of comparative analysis results, but also each cycle video extracted from the video to be processed.
  • multiple cycle videos are automatically extracted (divided) based on the specified cycle video from the video of the worker, and each cycle video is divided into multiple cycle videos based on the actions performed by the worker. It is automatically classified by
  • a reference cycle video to be used as a model is identified among multiple cycle videos selected for analysis from the cycle videos extracted from the videos, and comparison results between the reference cycle video and other cycle videos are presented. Ru. When displaying the reference cycle video and other cycle videos, by synchronizing and reproducing each motion video, it becomes easy to compare each motion video.
  • the comparison screen includes a library button C11 for instructing the display of a library screen from which the comparative analysis results generated by the above-described processing and stored in the folder of the storage unit 12 can be read out with one click.
  • the library button C11 When the library button C11 is operated, the control unit 11 displays a library screen R6 as shown in FIG. 21A.
  • the library screen R6 includes a comparison tab for displaying a selection screen for accepting selections of comparative analysis results stored in the storage unit 12, and a selection screen for accepting selections for videos taken of workers with a camera.
  • a video tab and an all tab for displaying a selection screen for accepting selections of either comparative analysis results or videos are provided.
  • FIG. 20A the comparison screen includes a library button C11 for instructing the display of a library screen from which the comparative analysis results generated by the above-described processing and stored in the folder of the storage unit 12 can be read out with one click.
  • a configuration may be adopted in which a plurality of cycle videos (video group) to be analyzed are displayed in the video display field R4.
  • cycle videos other than the reference cycle video may be displayed as analysis targets.
  • a graph D1 showing the comparison result of the time required for each section may be displayed in the analysis information field R3, and the graph D1 may be displayed in the analysis information field R3.
  • the time and end time may be displayed in the section comparison column R5.
  • the configuration is such that the time required for each movement video (each section) in the cycle videos to be compared (a reference cycle video and a cycle video to be analyzed) is compared and presented.
  • an information processing device is described that presents, from cycle videos selected for analysis, cycle videos in which the time required for each section is longer than that of the reference cycle video, and cycle videos in which the similarity of each section to the reference cycle video is low.
  • the information processing device 10 of this embodiment has a similar configuration to the information processing device 10 of the first embodiment shown in Figure 2, and therefore a description of the configuration will be omitted.
  • FIG. 22 is a flowchart showing an example of a cycle video comparison processing procedure according to the third embodiment
  • FIG. 23 is an explanatory diagram showing an example screen.
  • the process shown in FIG. 22 is the process shown in FIG. 17 with steps S111 to S114 added between steps S102 and S103. Description of the same steps as in FIG. 17 will be omitted.
  • illustration of steps S91 to S101 in FIG. 17 is omitted.
  • control unit 11 executes the same process as steps S91 to S102 in FIG. 17.
  • the control unit 11 then extracts one of the cycle videos selected for analysis in step S100 (S111), and calculates the difference in the required time for each section (each movement video) between the extracted cycle video and the reference cycle video (the difference in the excess amount based on the reference cycle video) (S112).
  • the control unit 11 also calculates the similarity of each section (each movement video) between the extracted cycle video and the reference cycle video (S113).
  • the similarity can be calculated using a correlation coefficient, cosine similarity, etc., and may also be configured to use a learning model that estimates the similarity between two movement videos.
  • the control unit 11 judges whether the processes in steps S112 to S113 have been completed for all cycle videos selected for analysis (S114). If it is judged that the processes have not been completed (S114: NO), the control unit 11 returns to step S111, and if it is judged that the processes have been completed (S114: YES), the control unit 11 proceeds to step S103.
  • step S103 the control unit 11 generates a comparison screen as shown in FIG. 23.
  • the screen in FIG. 23 has a similar configuration to the screen in FIG. 20A, and displays a message indicating that the required time of each section is the longest for a cycle video in which the difference in the required time of each section (the difference from the reference cycle video) calculated in step S112 is the largest in the stacked graph D2.
  • the message added to the stacked graph D2 is not limited to the configuration displayed when the difference from the reference cycle video is the largest, and may be the configuration displayed when the difference is the largest and is equal to or greater than a predetermined value.
  • a message indicating that the similarity of each section is the lowest may be added to the cycle video in which the similarity of each section (similarity to the reference cycle video) calculated in step S113 is the lowest in the stacked graph D2.
  • cycle videos in which the worker's movements in the action video are not similar (deviant) to the reference cycle video can be presented.
  • Cycle videos with sections that require a long time and cycle videos with sections that have little similarity to the reference cycle video are likely to indicate some problem with the worker's work, and by presenting such cycle videos and sections to the user, the user can verify whether the worker's work is appropriate.
  • control unit 11 calculates a score according to the difference in the required time of each section (for example, the smaller the difference, the higher the score), and evaluates the cycle video by using the sum of the scores for each section as the score of the cycle video. It's okay.
  • control unit 11 calculates a score according to the similarity of each section (each motion video) (for example, the higher the similarity, the higher the score) between the cycle video to be analyzed and the reference cycle video, and calculates the score for each section.
  • the cycle video may be evaluated by using the sum as the score of the cycle video.
  • the reference cycle video is determined from among the cycle videos selected as analysis targets.
  • an information processing apparatus that generates a reference cycle video from a cycle video extracted from a processing target video will be described.
  • the information processing device 10 of this embodiment has a configuration similar to that of the information processing device 10 of the first embodiment shown in FIG. 2, so a description of the configuration will be omitted.
  • FIG. 24 is a flowchart illustrating an example of a cycle video comparison processing procedure according to the fourth embodiment
  • FIG. 25 is an explanatory diagram showing an example of a reference cycle video.
  • the process shown in FIG. 24 is the process shown in FIG. 17 with steps S121 to S128 added between steps S99 and S100. Description of the same steps as in FIG. 17 will be omitted.
  • illustration of steps S91 to S98 and S103 to S106 in FIG. 17 is omitted.
  • the control unit 11 executes the same processing as steps S91 to S99 in FIG. 17. Thereby, the control unit 11 displays a screen as shown in FIG. 18C or FIG. 18D.
  • the screen displayed here is equipped with a button (not shown) for accepting instructions to generate a reference cycle video based on the cycle video extracted from the video to be processed. By doing so, an instruction to generate a reference cycle video is accepted.
  • the control unit 11 determines whether or not the reference cycle video generation instruction has been received (S121), and when determining that the instruction has not been received (S121: NO), the process moves to step S100. In this case, the control unit 11 executes the same process as in the second embodiment shown in FIG. 17.
  • the control unit 11 extracts motion videos of the same motion from each cycle video classified into motion videos in step S97 (S122).
  • the control unit 11 calculates a score according to the required time for the motion video extracted from each cycle video (S123). For example, the control unit 11 assigns a higher score to each action video as the required time is shorter. Then, the control unit 11 calculates the degree of similarity in all combinations of the action videos extracted from each cycle video (S124), and calculates a score according to the calculated degree of similarity (S125).
  • control unit 11 sequentially calculates the similarity of one action video with other action videos, assigns a higher score to a higher degree of similarity, and calculates the sum of the scores according to each degree of similarity as the score of the action video. shall be.
  • the control unit 11 calculates a score according to the degree of similarity with other motion videos by performing similar processing on all motion videos.
  • the control unit 11 For each movement (each section), the control unit 11 identifies an action video to be used as a reference cycle video based on the score calculated in step S123 and the score calculated in step S125 (S126). For example, the control unit 11 identifies the motion video with the highest total of the score calculated in step S123 and the score calculated in step S125 to be used as the reference cycle video. The control unit 11 determines whether or not the processing of steps S123 to S126 has been completed for all motion videos (S127), and if it is determined that the processing has not been completed (S127: NO), the process proceeds to step S122. Returning, the processing of steps S122 to S126 is repeated for unprocessed operations. Note that the motion video used as the reference cycle video may be a motion image extracted from the video to be processed, and may be a motion video of a different worker.
  • the control unit 11 connects the motion videos specified for each motion in step S126 to generate a reference cycle video (S128).
  • a reference cycle moving image as shown in FIG. 25 is generated.
  • a reference cycle video is generated by section 1 of the cycle video of video 20, section 2 of the cycle video of video 30, ..., section 9 of video 40, and section 10 of video 60.
  • the control unit 11 moves to step S100. Note that in step S102 in this case, the control unit 11 specifies the reference cycle video generated in step S128 as the reference cycle video to be used as a model.
  • the motion video used as the reference cycle video is not limited to the configuration specified from the sum of the score according to the required time and the score according to the degree of similarity with motion videos in other cycle videos. .
  • the motion video with the shortest required time, the motion video with the greatest degree of similarity to other motion videos, or the like may be specified as the motion video to be used as the reference cycle video.
  • the motion videos extracted from each cycle video are subjected to a process of determining whether or not they are standard motions using, for example, the factor classification model M5 used in Embodiment 1, and the motion videos that have been determined to be standard motions are Alternatively, the processes of steps S123 to S126 may be performed. In this case, it is possible to generate a reference cycle video based on a motion video of a more optimal and standard motion.
  • the processing target is a video shot by one worker.
  • an information processing apparatus that processes videos captured by a plurality of workers will be described.
  • the information processing device 10 of this embodiment has a configuration similar to that of the information processing device 10 of the first embodiment shown in FIG. 2, so a description of the configuration will be omitted.
  • FIG. 26 is a flowchart showing an example of a cycle video comparison processing procedure according to the fifth embodiment
  • FIGS. 27A and 27B are explanatory diagrams showing screen examples.
  • the process shown in FIG. 26 is the process shown in FIG. 17 with steps S131 to S136 added between steps S91 and S92. Description of the same steps as in FIG. 17 will be omitted.
  • illustration of steps S94 to S106 in FIG. 17 is omitted.
  • the control unit 11 accepts selection of any video from the video selection screen as shown in FIG. 18A (S91).
  • the control unit 11 performs object detection processing on the selected video to detect a subject (target person) in the video (S131).
  • Object detection processing uses object detection algorithms such as CNN, SSD (Single Shot Multibox Detector), and YOLO (You Only Look Once), or algorithms that realize semantic segmentation such as SegNet, FCN (Fully Convolutional Network), and U-Net. It may also be executed using a learning model composed of .
  • the control unit 11 determines whether or not there are a plurality of detected subjects (S132), and when it is determined that there is not a plurality of subjects (S132: NO), that is, when there is only one detected subject, the process moves to step S92. do. In this case, the control unit 11 executes the same process as in the second embodiment shown in FIG. 17.
  • the control unit 11 displays a message prompting the user to select one person to be analyzed from among the subjects in the video, as shown in FIG. 27A. (S133).
  • the video being displayed on the screen of FIG. 27A is configured such that one target person can be selected by a predetermined operation (for example, left click of the mouse), and the control unit 11 is configured to select one target person by a predetermined operation on the video.
  • the selection of the target person is accepted (S134). Note that the control unit 11 may accept the selection of any target person by clearly indicating the detected target person using a bounding box or the like in the video being displayed and accepting the selection of one of the bounding boxes. .
  • the control unit 11 identifies the region of the selected subject in the video (S135).
  • the control unit 11 may specify an area of a predetermined size centered on the point where the predetermined operation was performed as the area of the person to be analyzed, and among the areas of each person detected in step S131.
  • the region including the point where the predetermined operation was performed may be specified as the region of the person to be analyzed.
  • a pull-down menu is displayed by performing a predetermined operation on the target person on the right side of the video, and when "Select to target person" is selected from the pull-down menu, the control unit 11: Specify the subject as the subject of analysis.
  • the control unit 11 extracts a region including the person to be analyzed from each frame of the video selected in step S91, and generates a partial video including only the person to be analyzed (S136). Thereafter, the control unit 11 executes the processing from step S92 onwards, with the partial video including one person to be analyzed as the processing target.
  • the process from step S92 onward may be executed based on the area of the analysis subject in the processing target video without generating a partial video including the analysis subject from the processing target video. good.
  • the video to be processed is not limited to a video of a worker performing a task, but may also be a video of a robot configured to perform a predetermined task. .
  • Control unit 12 Storage unit 13 Communication unit 14 Input unit 15
  • Display unit M1 Product type prediction model M2 Cycle prediction model M3 Break prediction model M4 Motion analysis model M5 Factor classification model

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Primary Health Care (AREA)
  • Manufacturing & Machinery (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Human Computer Interaction (AREA)
  • Marketing (AREA)
  • Image Analysis (AREA)

Abstract

作業を行う対象が規定通りの作業を行っているか否かを正確に判定することが可能なプログラム等を提供する。コンピュータは、作業を行う対象を撮影した動画を、前記作業に含まれる動作毎に区分する。また、コンピュータは、それぞれ区分した区分動画に基づいて、各動作が標準動作であるか否かを判定する。そして、コンピュータは、各動作に対する判定結果に基づいて、前記作業が標準作業であるか否かを分析する。

Description

プログラム、情報処理方法、及び情報処理装置
 本開示は、プログラム、情報処理方法、及び情報処理装置に関する。
 特許文献1では、予め順序が定められた複数の作業から成る工程に対して、対象物の行動が、各作業の順序に従っているか否かを検知する技術が開示されている。特許文献1に開示の技術では、工程を構成する各作業について、作業名、作業順序、標準作業時間等が規定された工程情報に従って、対象物が規定通りの作業を行っているか否かが判定される。
特開2021-82137号公報
 特許文献1に開示された技術では、各作業が標準作業時間で行われているか否かに応じて、規定通りの作業が行われているか否かが判定される。しかし、標準作業時間で行われた作業であっても、規定通りの作業内容(動作内容)であるとは限らない。従って、作業時間が標準作業時間であるか否かの判定だけで、規定通りの作業内容が行われたか否かを正確に判定することは難しい。
 本開示は、作業を行う対象が規定通りの作業を行っているか否かを正確に判定することが可能なプログラム等を提供することを目的とする。
 本開示の一態様に係るプログラムは、作業を行う対象を撮影した動画を、前記作業に含まれる動作毎に区分し、それぞれ区分した区分動画に基づいて、各動作が標準動作であるか否かを判定し、各動作に対する判定結果に基づいて、前記作業が標準作業であるか否かを分析する処理をコンピュータに実行させる。
 本開示の一態様にあっては、作業を行う対象が規定通りの作業を行っているか否かを正確に判定することができる。
処理対象の動画例を示す説明図である。 処理対象の動画例を示す説明図である。 情報処理装置の構成例を示すブロック図である。 学習モデルの構成例を示す説明図である。 学習モデルの構成例を示す説明図である。 動作分析モデルの生成処理手順の一例を示すフローチャートである。 画面例を示す説明図である。 画面例を示す説明図である。 画面例を示す説明図である。 作業の分析処理手順の一例を示すフローチャートである。 画面例を示す説明図である。 各作業要素に対する要因の分析処理手順の一例を示すフローチャートである。 画面例を示す説明図である。 画面例を示す説明図である。 各動作の動作時間の分析処理手順の一例を示すフローチャートである。 画面例を示す説明図である。 ガントチャートの作成処理手順の一例を示すフローチャートである。 ガントチャートの画面例を示す説明図である。 2つの分析結果画面の表示例を示す説明図である。 サイクル動画抽出モデルの構成例を示す説明図である。 サイクル動画の比較処理手順の一例を示すフローチャートである。 画面例を示す説明図である。 画面例を示す説明図である。 画面例を示す説明図である。 画面例を示す説明図である。 画面例を示す説明図である。 画面例を示す説明図である。 画面例を示す説明図である。 画面例を示す説明図である。 画面例を示す説明図である。 画面例を示す説明図である。 画面例を示す説明図である。 画面例を示す説明図である。 画面例を示す説明図である。 実施形態3のサイクル動画の比較処理手順の一例を示すフローチャートである。 画面例を示す説明図である。 実施形態4のサイクル動画の比較処理手順の一例を示すフローチャートである。 基準サイクル動画の例を示す説明図である。 実施形態5のサイクル動画の比較処理手順の一例を示すフローチャートである。 画面例を示す説明図である。 画面例を示す説明図である。
 以下に、本開示のプログラム、情報処理方法、及び情報処理装置について、その実施形態を示す図面に基づいて詳述する。
(実施形態1)
 作業を行う作業者(対象)を撮影した動画に基づいて、当該作業者が行う作業が、予め設定された標準作業であるか否かを分析する情報処理装置について説明する。図1A及び図1Bは処理対象の動画例を示す説明図である。本実施形態の処理対象の動画は、例えば1秒間に30枚又は15枚等、複数の画像(静止画)を含む動画データであり、例えば図1Aに示すように、作業者の上方から作業者が作業を行う様子を撮影した撮影画像である。また、図1Bに示すように、処理対象の動画は、例えば1つの製品を組み立てる作業の開始から終了までを撮影した画像であり、組み立て作業に含まれる複数の作業要素毎に区分された動画(作業要素動画、以下ではサイクル動画という)を含む。また、サイクル動画は、各作業要素に含まれる複数の動作毎に区分された動画(区分動画、以下では動作動画という)を含む。図1Bに示す例では、品種Aの製品の組み立て作業を行う作業者を撮影した動画が、「ケースAの組立」、「部品Aの組立」等の作業要素を行う作業者を撮影したサイクル動画毎に区分可能であり、「ケースAの組立」の作業要素のサイクル動画が、「ケース取り出し」、「歩行」、「スペーサを取り付ける」、「ケースを被せる」等の動作を行う作業者を撮影した動作動画毎に区分可能である。
 図2は情報処理装置の構成例を示すブロック図である。情報処理装置10は、種々の情報処理及び情報の送受信が可能な装置であり、例えばサーバコンピュータ、パーソナルコンピュータ、ワークステーション等で構成される。情報処理装置10は、制御部11、記憶部12、通信部13、入力部14、表示部15、読み取り部16等を含み、これらの各部はバスを介して相互に接続されている。制御部11は、CPU(Central Processing Unit)、MPU(Micro-Processing Unit)、GPU(Graphics Processing Unit)、又はAIチップ(AI用半導体)等の1又は複数のプロセッサを含む。制御部11は、記憶部12に記憶してあるプログラム12Pを適宜実行することにより、情報処理装置10が行うべき情報処理及び制御処理を実行する。
 記憶部12は、RAM(Random Access Memory)、フラッシュメモリ、ハードディスク、SSD(Solid State Drive)等を含む。記憶部12は、制御部11が実行するプログラム12P(プログラム製品)及び各種のデータを記憶している。また記憶部12は、制御部11がプログラム12Pを実行する際に発生するデータ等を一時的に記憶する。プログラム12P及び各種のデータは、情報処理装置10の製造段階において記憶部12に書き込まれてもよく、制御部11が通信部13を介して他の装置からダウンロードして記憶部12に記憶してもよい。また記憶部12は、機械学習によって訓練データを学習済みの品種予測モデルM1、サイクル予測モデルM2、切れ目予測モデルM3、動作分析モデルM4、要因分類モデルM5等の学習モデルを記憶している。学習モデルM1~M5は、人工知能ソフトウェアを構成するプログラムモジュールとしての利用が想定される。学習モデルM1~M5は、入力値に対して所定の演算を行い、演算結果を出力するものであり、記憶部12には、学習モデルM1~M5を定義する情報として、学習モデルM1~M5が備える層の情報、各層を構成するノードの情報、ノード間の重み(結合係数)等の情報が記憶される。なお、サイクル予測モデルM2、切れ目予測モデルM3、及び動作分析モデルM4のそれぞれは、作業者が組み立て作業を行う製品の品種毎に複数用意されている。更に記憶部12は、処理対象の動画ファイル12aを複数記憶している。
 通信部13は、有線通信又は無線通信に関する処理を行うための通信モジュールであり、ネットワークNを介して他の装置との間で情報の送受信を行う。ネットワークNは、インターネット又は公衆通信回線であってもよく、情報処理装置10が設置されている施設内に構築されたLAN(Local Area Network)であってもよい。入力部14は、ユーザによる操作入力を受け付け、操作内容に対応した制御信号を制御部11へ送出する。表示部15は、液晶ディスプレイ又は有機ELディスプレイ等であり、制御部11からの指示に従って各種の情報を表示する。入力部14の一部及び表示部15は一体として構成されたタッチパネルであってもよい。
 読み取り部16は、CD(Compact Disc)、DVD(Digital Versatile Disc)、USB(Universal Serial Bus)メモリ、SD(Secure Digital)カード等を含む可搬型記憶媒体10aに記憶された情報を読み取る。記憶部12に記憶されるプログラム12P及び各種のデータは、制御部11が読み取り部16を介して可搬型記憶媒体10aから読み取って記憶部12に記憶してもよい。
 情報処理装置10は、複数のコンピュータを含んで構成されるマルチコンピュータであってもよく、1台の装置内にソフトウェアによって仮想的に構築された仮想マシンであってもよい。情報処理装置10をサーバコンピュータで構成する場合、情報処理装置10は、ローカルサーバであってもよく、インターネット等のネットワークを介して通信接続されたクラウドサーバであってもよい。また、プログラム12Pは単一のコンピュータ上で実行されてもよく、ネットワークNを介して相互に接続された複数のコンピュータ上で実行されてもよい。更に、情報処理装置10は、入力部14及び表示部15は必須ではなく、接続されたコンピュータを通じて操作を受け付ける構成でもよく、表示すべき情報を外部の表示装置へ出力する構成でもよい。
 図3及び図4は学習モデルM1~M5の構成例を示す説明図である。学習モデルM1~M5は、例えばRNN(Recurrent Neural Network)又はLSTM(Long Short-Term Memory)を用いて構成される。なお、学習モデルM1~M5は、RNN、LSTMのほかに、CNN(Convolution Neural Network)、Transformer等のアルゴリズムを用いて構成されてもよく、複数のアルゴリズムを組み合わせて構成されてもよい。
 品種予測モデルM1は、作業中の作業者の全身を撮影した動画を入力とし、入力された動画に基づいて、撮影されている作業者が組み立て作業を行っている製品の品種を判別する演算を行い、演算した結果を出力するように学習した学習済みモデルである。なお、品種予測モデルM1は、作業者の全身を撮影した動画が入力される構成に限定されず、例えば作業者の上半身又は手元を撮影した動画のように、作業者が実行中の組み立て作業の様子が撮影された動画が入力される構成でもよい。品種予測モデルM1は、動画が入力される入力層と、入力された動画から特徴量を抽出する中間層と、中間層の演算結果を基に動画中の作業者が組み立て作業を行っている製品の品種を示す情報を出力する出力層とを有する。入力層は、動画に含まれる時系列の画像(フレーム)が順次入力される入力ノードを有する。中間層は、各種の関数及び閾値等を用いて、入力層を介して入力された動画に基づいて出力値を算出する。出力層は、予め設定された品種のそれぞれに対応付けられた複数の出力ノードを有しており、各出力ノードから、各品種が、作業者が組み立て作業を行っている製品の品種であると判別すべき確率(確信度)を出力する。出力層の各出力ノードからの出力値は、例えば0~1の値であり、各出力ノードから出力された確率の合計が1.0(100%)となる。情報処理装置10は、例えば、品種予測モデルM1に動画を入力した場合に、各出力ノードからの出力値(確信度)のうちで最大の出力値を出力した出力ノードを特定し、特定した出力ノードに対応付けられている品種を、動画中の作業者が組み立て作業を行っている製品の品種に特定する。なお、品種予測モデルM1の出力層は、各品種に対する確信度を出力する複数の出力ノードを有する代わりに、確信度が最大の品種を示す情報を出力する1つの出力ノードを有する構成でもよい。
 品種予測モデルM1は、訓練用の動画と、この動画中の作業者が組み立て作業を行っている製品の品種を示す情報(正解ラベル)とを含む訓練データを用いて機械学習することにより生成できる。品種予測モデルM1は、訓練データに含まれる動画が入力された場合に、訓練データに含まれる正解ラベルが示す品種に対応する出力ノードからの出力値が1に近づき、他の出力ノードからの出力値が0に近づくように学習する。学習処理において品種予測モデルM1は、入力された動画に基づいて中間層及び出力層での演算を行い、各出力ノードからの出力値を算出し、算出した各出力ノードの出力値と正解ラベルに応じた値(正解ラベルに対応する出力ノードに対しては1、他の出力ノードに対しては0)とを比較し、両者が近似するように、中間層及び出力層での演算処理に用いるパラメータを最適化する。当該パラメータは、中間層及び出力層におけるノード間の重み(結合係数)、関数の係数、閾値等である。パラメータの最適化の方法は特に限定されないが、誤差逆伝播法、最急降下法等を用いることができる。これにより、動画が入力された場合に、動画中の作業者が組み立て作業を行っている製品の品種を予測し、予測結果を出力する品種予測モデルM1が得られる。
 サイクル予測モデルM2は、作業中の作業者の全身を撮影した動画を入力とし、入力された動画に基づいて動画をサイクル動画に区分する演算を行い、演算した結果を出力するように学習した学習済みモデルである。サイクル予測モデルM2も、作業者の全身を撮影した動画が入力される構成に限定されず、例えば作業者の上半身又は手元を撮影した動画のように、作業者が実行中の組み立て作業の様子が撮影された動画が入力される構成でもよい。サイクル予測モデルM2は、動画が入力される入力層と、入力された動画から特徴量を抽出する中間層と、中間層の演算結果を基に動画を区分した各サイクル動画の開始時間及び終了時間を出力する出力層とを有する。サイクル予測モデルM2の中間層は、入力層を介して入力された動画に基づいて出力値を算出し、出力層は、動画を区分した各サイクル動画の開始時間及び終了時間を出力する出力ノードを有する。なお、サイクル動画の開始時間及び終了時間は、当該動画の再生開始からの経過時間を示す。情報処理装置10は、サイクル予測モデルM2に動画を入力した場合に、出力ノードからの出力値(サイクル動画の開始時間及び終了時間)に基づいて、動画をサイクル動画毎に区分する。
 サイクル予測モデルM2は、動画中の各サイクル動画(各作業要素)の切れ目を設定するための設定用動画を用いて生成される。設定用動画は、各動作に対する標準動作の実行が可能な作業者が作業を行う様子を撮影した動画を用いる。具体的には、サイクル予測モデルM2に設定用動画が入力された場合、サイクル予測モデルM2は、入力された動画に基づいて中間層及び出力層での演算を行って出力ノードからの出力値を算出し、設定用動画を各サイクル動画に区分した切れ目の時間(サイクル動画の開始時間及び終了時間)を出力する。ユーザは、サイクル予測モデルM2が出力した各サイクルの切れ目の時間に対して修正を行うことが可能であり、サイクル予測モデルM2は、修正後の各切れ目の時間に基づいて中間層及び出力層での演算処理に用いるパラメータを最適化する。これにより、動画が入力された場合に、動画中の各サイクル動画の開始時間及び終了時間を予測し、予測結果を出力するサイクル予測モデルM2が得られる。
 切れ目予測モデルM3は、サイクル動画に区分済みの動画を入力とし、入力された動画に基づいて各サイクル動画を動作動画に区分する演算と、区分した動作動画の切れ目以外に切れ目を設定できる時間帯を予測する演算とを行い、演算した結果を出力するように学習した学習済みモデルである。切れ目予測モデルM3は、動画が入力される入力層と、入力された動画から特徴量を抽出する中間層と、中間層の演算結果を基に各サイクル動画を区分した動作動画の開始時間及び終了時間、並びに動作動画の切れ目を設定できる時間帯を出力する出力層とを有する。切れ目予測モデルM3の中間層は、入力層を介して入力された動画に基づいて出力値を算出し、出力層は、動画中の各サイクル動画を区分した各動作動画の開始時間及び終了時間と、動作動画の切れ目の設定可能時間帯とを出力する出力ノードをそれぞれ有する。情報処理装置10は、切れ目予測モデルM3に動画を入力した場合に、出力ノードからの出力値(動作動画の開始時間及び終了時間)に基づいて、動画中のサイクル動画を動作動画毎に区分する。
 切れ目予測モデルM3は、各動作動画(各動作)の切れ目を設定するための設定用動画を用いて生成される。切れ目予測モデルM3の生成に用いる動画は、サイクル予測モデルM2の生成に用いた動画であり、サイクル予測モデルM2によって各サイクル動画に区分された動画である。切れ目予測モデルM3に設定用動画が入力された場合、切れ目予測モデルM3は、入力された動画に基づいて中間層及び出力層での演算を行って出力ノードからの出力値を算出し、設定用動画を各動作動画に区分した切れ目の時間(動作動画の開始時間及び終了時間)と、動作動画の切れ目の設定可能時間帯とを出力する。ユーザは、切れ目予測モデルM3が出力した各動作の切れ目の時間に対して修正を行うことが可能であり、また、切れ目予測モデルM3が出力した切れ目の設定可能時間帯に対して修正を行うことが可能であり、切れ目予測モデルM3は、修正後の各切れ目の時間及び設定可能時間帯に基づいて中間層及び出力層での演算処理に用いるパラメータを最適化する。これにより、動画が入力された場合に、動画中の各動作動画の開始時間及び終了時間と、各動作動画の切れ目の設定可能時間帯とを予測し、予測結果を出力する切れ目予測モデルM3が得られる。
 動作分析モデルM4は、動作動画に区分済みの動画、即ち、動作動画間の切れ目が設定済みの動画を入力とし、入力された動画に基づいて動画中のサイクル動画に含まれる各動作動画に区分する演算と、区分した動作動画における作業者の動作が標準動作であるか否かを判定する演算とを行い、演算した結果を出力するように学習した学習済みモデルである。動作分析モデルM4は、動画が入力される入力層と、入力された動画から特徴量を抽出する中間層と、中間層の演算結果を基に動画中の各サイクル動画に含まれる動作動画の開始時間及び終了時間、並びに各動作動画中の作業者の動作が標準動作であるか否かを示す分析結果(作業者が行う動作に関する情報)を出力する出力層とを有する。動作分析モデルM4の中間層は、入力層を介して入力された動画に基づいて出力値を算出し、出力層は、動画中の各動作動画の開始時間及び終了時間と、各動作動画に対する分析結果とを出力する出力ノードをそれぞれ有する。情報処理装置10は、動作分析モデルM4に動画を入力した場合に、出力ノードからの出力値(動作動画の開始時間及び終了時間、分析結果)に基づいて、動画中のサイクル動画を動作動画に区分し、各動作動画における作業者の動作が標準動作であるか否かを特定する。
 動作分析モデルM4は、各動作に対する標準動作を実行する作業者を撮影した動画を設定用動画として用いて生成される。動作分析モデルM4の生成に用いる動画は、切れ目予測モデルM3の生成に用いた動画であり、切れ目予測モデルM3によって各動作動画に区分された動画である。動作分析モデルM4に設定用動画が入力された場合、動作分析モデルM4は、入力された動画に基づいて中間層及び出力層での演算を行って出力ノードからの出力値を算出し、設定用動画を各動作動画に区分した切れ目の時間(動作動画の開始時間及び終了時間)と、各動作動画の動作が標準動作であるか否かを示す分析結果とを出力する。ユーザは、動作分析モデルM4が出力した各動作の切れ目の時間に対して修正を行うことが可能であり、動作分析モデルM4は、修正後の各切れ目の時間に基づいて中間層及び出力層での演算処理に用いるパラメータを最適化する。なお、ここでの分析結果は、各動作が標準動作であることを示す情報であるので、動作分析モデルM4は、出力した分析結果が標準動作でないことを示す情報である場合、当該分析結果に対して修正を行い、修正後の分析結果に基づいてパラメータを最適化する。これにより、動画が入力された場合に、動画中の各動作動画の開始時間及び終了時間と、各動作動画の動作に対する分析結果とを予測し、予測結果を出力する動作分析モデルM4が得られる。このような動作分析モデルM4を用いることにより、標準動作との比較結果として、分析対象の動画に撮影された作業者の動作の適否が判定される。なお、動作分析モデルM4は、各動作動画における作業者の動作が標準動作であるか否かを示す分析結果に加えて、作業者の動作が標準動作でない場合には標準動作でないとされる要因を示す情報を出力する構成でもよい。標準動作でないとされる要因は、例えば動作時間が標準動作時間よりも所定時間以上長い又は短いことが挙げられる。
 要因分類モデルM5は、動画から区分されたサイクル動画を入力とし、入力されたサイクル動画に基づいて、サイクル動画中の作業者が行う作業要素が標準作業ではないとする要因を判別する演算を行い、演算した結果を出力するように学習した学習済みモデルである。要因分類モデルM5は、サイクル動画が入力される入力層と、入力されたサイクル動画から特徴量を抽出する中間層と、中間層の演算結果を基にサイクル動画中の作業者の作業要素が標準作業ではない要因を示す情報(要因に関する情報)を出力する出力層とを有する。要因分類モデルM5の中間層は、入力層を介して入力されたサイクル動画に基づいて出力値を算出し、出力層は、予め設定された要因のそれぞれに対応付けられた複数の出力ノードを有しており、各出力ノードから、各要因が、作業者が行う作業要素が標準作業ではない要因であると判別すべき確率(確信度)を出力する。出力層の各出力ノードからの出力値は、例えば0~1の値であり、各出力ノードから出力された確率の合計が1.0(100%)となる。作業者の作業要素が標準作業ではないとする要因は、例えば作業要素に含まれる動作の欠如、作業要素に含まれる動作の実行順序の変更、作業要素に含まれる動作の動きが標準動作と異なること、作業要素に含まれる動作の動作時間が標準動作時間よりも所定時間以上長い又は短いこと等が挙げられる。情報処理装置10は、例えば、要因分類モデルM5にサイクル動画を入力した場合に、各出力ノードからの出力値(確信度)のうちで最大の出力値を出力した出力ノードを特定し、特定した出力ノードに対応付けられている要因を、サイクル動画中の作業者の作業要素が標準作業ではないとする要因に特定する。なお、要因分類モデルM5の出力層は、各要因に対する確信度を出力する複数の出力ノードを有する代わりに、確信度が最大の要因を示す情報を出力する1つの出力ノードを有する構成でもよい。
 要因分類モデルM5は、訓練用のサイクル動画と、このサイクル動画中の作業者の作業要素が標準作業ではないとする要因を示す情報(正解ラベル)とを含む訓練データを用いて機械学習することにより生成できる。要因分類モデルM5は、訓練データに含まれるサイクル動画が入力された場合に、訓練データに含まれる正解ラベルが示す要因に対応する出力ノードからの出力値が1に近づき、他の出力ノードからの出力値が0に近づくように学習する。学習処理において要因分類モデルM5は、入力された動画に基づいて中間層及び出力層での演算を行い、各出力ノードからの出力値を算出し、算出した各出力ノードの出力値と正解ラベルに応じた値(正解ラベルに対応する出力ノードに対しては1、他の出力ノードに対しては0)とを比較し、両者が近似するように、中間層及び出力層での演算処理に用いるパラメータを最適化する。ここでも、最適化するパラメータは、中間層及び出力層におけるノード間の重み(結合係数)、関数の係数、閾値等であり、パラメータの最適化の方法は誤差逆伝播法、最急降下法等を用いることができる。これにより、サイクル動画が入力された場合に、サイクル動画中の作業者の作業要素が標準作業ではない要因を予測し、予測結果を出力する要因分類モデルM5が得られる。
 学習モデルM1~M5の学習は他の学習装置で行われてもよい。他の学習装置で学習が行われて生成された学習済みの学習モデルM1~M5は、例えばネットワークN経由又は可搬型記憶媒体10a経由で学習装置から情報処理装置10にダウンロードされて記憶部12に記憶される。本実施形態では、サイクル予測モデルM2、切れ目予測モデルM3、及び動作分析モデルM4は、1セットの訓練データ(設定用動画)、又は少ない数の訓練データを用いて学習を行うワンショット学習によって生成されるが、多数の訓練データを用いた学習によって生成されてもよい。また、学習モデルM1~M5は、作業者を撮影した動画又は動画から区分されたサイクル動画が入力される構成に限定されない。例えば、情報処理装置10が、動画に含まれる各フレーム(各画像)に基づいて、作業者の骨格推定を行って骨格データを生成し、時系列の骨格データを学習モデルM1~M5に入力する構成としてもよい。この場合、情報処理装置10の制御部11は、例えばOpenPoseのように画像中の人の関節位置を抽出する技術を用いて、各フレーム中の作業者の骨格推定を行い、作業者の関節位置を抽出する。制御部11は、動画に含まれる各フレームに対して、関節位置を抽出する処理を行うことにより、時系列の骨格データを取得し、得られた時系列の骨格データを学習モデルM1~M5の入力としてもよい。
 以下に、本実施形態の情報処理装置10において、動作分析モデルM4の生成処理について説明する。図5は動作分析モデルM4の生成処理手順の一例を示すフローチャート、図6A~図6Cは画面例を示す説明図である。以下の処理は、情報処理装置10の制御部11が、記憶部12に記憶してあるプログラム12Pに従って実行する。
 各品種用の動作分析モデルM4を生成する場合、ユーザは、動作分析モデルM4の設定用動画を選択する。動作分析モデルM4の設定用動画は、サイクル予測モデルM2及び切れ目予測モデルM3を用いて各サイクル(各作業要素)に含まれる各動作に区分済みの動画である。情報処理装置10の制御部11は、入力部14を介した操作によって、動作分析モデルM4の設定用動画の選択を受け付ける(S11)。制御部11は、選択された動画を動作分析モデルM4に入力し、動作分析モデルM4からの出力情報に基づいて、処理対象の動画を動作動画に区分し、各動作の切れ目候補を抽出する(S12)。具体的には、制御部11は、動画ファイル12aに含まれる各フレームを順次動作分析モデルM4に入力し、動作分析モデルM4から出力される各動作動画の開始時間及び終了時間に基づいて、各動作の切れ目候補の時間を特定する。
 制御部11は、処理対象の動画中の各動作動画の切れ目候補を抽出した場合、図6Aに示すような切れ目編集画面を表示部15に表示する(S13)。切れ目編集画面は、動作分析モデルM4から出力された各動作動画の開始時間及び終了時間に基づく各動作の切れ目候補の時間を変更するための画面である。図6Aに示す画面は、処理対象の動画が表示される動画領域A1と、当該動画から抽出された切れ目候補の時間が表示される編集領域A2とを有する。編集領域A2には、動画から区分された各動作動画の開始時間が、各動作動画と直前の動作動画との切れ目候補の時間として表示されており、各切れ目候補に対して削除を指示するための削除ボタンB1(×ボタン)と、各切れ目候補間に新たな切れ目の作成を指示するための追加ボタンB2(+ボタン)とが設けられている。なお、各動作の切れ目に対して名前を付与できるように構成されていてもよく、この場合、編集領域A2に、各切れ目候補の時間と共に、各切れ目に付与された名前が表示されてもよい。
 制御部11は、編集領域A2において削除ボタンB1が操作されることにより、いずれかの切れ目候補に対する削除指示を受け付けたか否かを判断し(S14)、削除指示を受け付けたと判断した場合(S14:YES)、削除指示された切れ目候補を削除する(S15)。切れ目候補を削除した場合、制御部11は、編集領域A2に表示されている切れ目候補から、削除指示された切れ目候補を削除し、削除した切れ目候補よりも後の切れ目候補を順次繰り上げて表示する。削除指示を受け付けていないと判断した場合(S14:NO)、制御部11は、ステップS15をスキップし、編集領域A2において追加ボタンB2が操作されることにより、新たな切れ目の追加指示を受け付けたか否かを判断する(S16)。
 新たな切れ目の追加指示を受け付けたと判断した場合(S16:YES)、制御部11は、図6Bに示すような切れ目追加画面を表示部15に表示する(S17)。図6Aに示す画面では、2番目と3番目の切れ目候補の間の追加ボタンB2が操作されており、この場合、図6Bに示すように、2番目と3番目の切れ目候補間の時間帯における任意の再生時間に新たな切れ目を追加するための切れ目追加画面が表示される。なお、動作分析モデルM4の設定用動画を生成する際に、切れ目予測モデルM3から出力された切れ目の設定可能時間帯を取得していた場合、制御部11は、設定可能時間帯を切れ目追加画面に表示してもよい。この場合、ユーザは、設定可能時間帯を考慮して、新たな切れ目の時間を指定できる。
 ユーザは、切れ目に設定したい時間を切れ目追加画面に入力し、制御部11は、切れ目追加画面を介して、新たな切れ目の時間を受け付ける(S18)。制御部11は、図6Bに示す画面において追加ボタンが操作された場合、受け付けた時間に切れ目を追加する(S19)。新たな切れ目を追加した場合、制御部11は、図6Cに示すように、2番目と3番目の切れ目候補の間に新たな切れ目を追加し、追加された切れ目の後の切れ目候補を順次繰り下げて表示する。新たな切れ目の追加指示を受け付けていないと判断した場合(S16:NO)、制御部11は、ステップS17~S19をスキップする。
 制御部11は、図6A,Cに示す画面において保存ボタンが操作されたか否かを判断し(S20)、保存ボタンが操作されていないと判断した場合(S20:NO)、ステップS14に戻り、ステップS14~S19の処理を繰り返す。なお、制御部11は、図6A,Cに示す画面において「次へ」ボタンが操作された場合、編集領域A2の表示内容を、最下段に表示中の切れ目候補の後の切れ目候補に変更する。また、制御部11は、図6A,Cに示す画面においてキャンセルボタンが操作された場合、切れ目候補の編集処理を中断して終了する。
 保存ボタンが操作されたと判断した場合(S20:YES)、制御部11は、編集領域A2を介して編集(削除及び追加)された切れ目候補を切れ目に決定し、各切れ目の時間を記憶部12に記憶する(S21)。具体的には、制御部11は、各切れ目の出現順序を示す切れ目番号と、各切れ目の時間とを対応付けて、例えば記憶部12に設けられたDBに記憶する。なお、各切れ目に名前が付与されている場合、各切れ目の名前も記憶してもよい。そして、制御部11は、各切れ目の時間に基づいて、動作分析モデルM4の中間層及び出力層での演算処理に用いるパラメータを設定(最適化)する(S22)。ここでは、制御部11は、動作分析モデルM4に入力した設定用動画を、ステップS21で記憶した各切れ目の時間毎に区分できるように、動作分析モデルM4のパラメータを設定する。また制御部11は、設定用動画を入力した場合に動作分析モデルM4が出力した分析結果に基づいて、各動作動画に対して、標準動作であることを示す分析結果を出力するように動作分析モデルM4のパラメータを設定する。これにより、動画が入力された場合に、動画を動作動画に区分し、区分した各動作動画の動作が標準動作であるか否かの分析結果を出力する動作分析モデルM4を生成できる。
 上述した処理では、動作分析モデルM4を用いて抽出された動作動画間の切れ目に対する削除と、新たな切れ目の追加とを行うことにより、各動作動画間の切れ目が編集される構成である。このような構成により、編集後の各動作動画間の切れ目に基づいて動作分析モデルM4のパラメータを精度よく設定することができる。また、各切れ目の編集方法は上述した処理に限定されず、例えば編集領域A2が、各切れ目候補の時間を直接変更できるように構成されていてもよい。
 図5には、動作分析モデルM4のパラメータを設定する際の処理を示したが、サイクル予測モデルM2及び切れ目予測モデルM3についても同様の処理によってパラメータの設定が可能である。例えば、サイクル予測モデルM2のパラメータを設定する場合、制御部11は、処理対象の動画をサイクル予測モデルM2に入力し、サイクル予測モデルM2からの出力情報に基づいて、処理対象の動画をサイクル動画に区分し、各サイクルの切れ目候補を抽出する。そして、制御部11は、各サイクル動画の切れ目候補に対するユーザの編集を受け付け、編集後の各サイクル動画の切れ目の時間に基づいて、サイクル予測モデルM2のパラメータの設定が可能である。また、切れ目予測モデルM3のパラメータを設定する場合、制御部11は、処理対象の動画を切れ目予測モデルM3に入力し、切れ目予測モデルM3からの出力情報に基づいて、処理対象の動画を動作動画に区分し、各動作の切れ目候補を抽出する。そして、制御部11は、各動作の切れ目候補に対するユーザの編集を受け付け、編集後の各動作の切れ目の時間に基づいて、切れ目予測モデルM3のパラメータの設定が可能である。
 次に、本実施形態の情報処理装置10において、作業を行う作業者を撮影した動画に基づいて当該作業者が標準作業を行っているか否かを分析する処理について説明する。図7は作業の分析処理手順の一例を示すフローチャート、図8は画面例を示す説明図である。以下の処理は、情報処理装置10の制御部11が、記憶部12に記憶してあるプログラム12Pに従って実行する。
 作業者の作業が標準作業であるか否かを分析する場合、ユーザは、分析対象の作業者を撮影した動画を選択する。情報処理装置10の制御部11は、入力部14を介した操作によって、分析対象の動画の選択を受け付ける(S31)。制御部11は、選択された動画(動画ファイル12a)を品種予測モデルM1に入力し、品種予測モデルM1からの出力情報に基づいて、分析対象の動画に撮影されている作業者が組み立て作業を行っている製品(作業対象)の品種を特定する(S32)。具体的には、制御部11は、動画ファイル12aに含まれる各フレームを順次品種予測モデルM1に入力し、品種予測モデルM1からの最大の出力値(確信度)が所定値以上(例えば0.7以上)となった場合に、最大出力値を出力した出力ノードに対応する品種を、動画中の作業者が組み立て中の製品の品種に特定する。なお、制御部11は、品種予測モデルM1を用いずに作業対象の品種を特定してもよい。例えば、品種毎に異なる物品が作業対象に含まれる場合、制御部11は、動画中に含まれる物品を検出し、検出した物品に応じて品種を特定することができる。
 制御部11は、作業者が組み立て中の品種を特定した場合、特定した品種に応じたサイクル予測モデルM2、切れ目予測モデルM3、及び動作分析モデルM4を選択する(S33)。なお、サイクル予測モデルM2、切れ目予測モデルM3、及び動作分析モデルM4はそれぞれ品種毎に複数用意されている。制御部11は、選択したサイクル予測モデルM2を用いて、分析対象の動画をサイクル動画に区分し、各サイクルの切れ目を抽出する(S34)。ここでは、制御部11は、動画ファイル12aに含まれる各フレームを順次サイクル予測モデルM2に入力し、サイクル予測モデルM2からの出力情報に基づいて、動画に含まれる各サイクル動画の開始時間及び終了時間を特定(予測)する。なお、ステップS34の処理後、制御部11は、動画から抽出された各サイクルの切れ目に対して変更処理(削除及び新規追加等)を行うための編集画面(図6A~図6C参照)を表示部15に表示し、編集画面を介して各サイクルの切れ目の時間の変更指示を受け付けて変更するように構成されていてもよい。
 次に制御部11(区分部)は、ステップS33で選択した切れ目予測モデルM3を用いて、各サイクルの切れ目が抽出された動画を、作業者が行う動作が撮影された動作動画に区分し、各動作の切れ目を抽出する(S35)。ここでは、制御部11は、サイクル動画に区分済みの動画に含まれる各フレームを順次切れ目予測モデルM3に入力し、切れ目予測モデルM3からの出力情報に基づいて、各サイクル動画に含まれる各動作動画の開始時間及び終了時間を特定(予測)する。なお、ステップS35の処理後、制御部11は、動画から抽出された各動作の切れ目(区分位置)に対して変更処理(削除及び新規追加等)を行うための編集画面(図6A~図6C参照)を表示部15に表示し、編集画面を介して各動作の切れ目の時間の変更指示を受け付けて変更するように構成されていてもよい。
 次に制御部11は、ステップS33で選択した動作分析モデルM4を用いて、各動作の切れ目が抽出された動画に基づいて、動画に含まれる各動作動画に撮影された作業者の動作が標準動作であるか否かを分析する(S36)。ここでは、制御部11は、動画に含まれる各フレームを順次動作分析モデルM4に入力し、動作分析モデルM4からの出力情報に基づいて、動画に含まれる各動作動画の開始時間及び終了時間と、各動作動画中の作業者の動作が標準動作であるか否かを示す分析結果とを特定(予測)する。制御部11(判定部)は、分析結果に基づいて、作業者が行う動作が標準動作であるか否かを判定できる。
 制御部11(分析部)は、動画中の各サイクル動画について、サイクル動画に含まれる動作動画に対する分析結果に基づいて、サイクル動画に撮影されている作業者が行う作業要素が標準作業であるか否かを分析する(S37)。ここでは、制御部11は、サイクル動画に含まれるいずれかの動作動画に対して、標準動作ではないとの分析結果が得られた場合、当該サイクル動画における作業者の作業要素は標準作業ではないと判定する。例えば、1つの作業要素が撮影されたサイクル動画に含まれる動作動画のいずれかが欠損している場合、制御部11は、動作抜けとして、当該サイクル動画における作業者の作業要素は標準作業ではないと判定する。また、サイクル動画に含まれる動作動画のいずれかの出現順序が異なっている場合、制御部11は、順番入れ替えとして、当該サイクル動画における作業者の作業要素は標準作業ではないと判定する。また、サイクル動画に含まれる動作動画のいずれかにおける作業者の動作が標準動作と異なる動作である場合、制御部11は、異常な動きとして、当該サイクル動画における作業者の作業要素は標準作業ではないと判定する。また、制御部11は、サイクル動画に含まれる動作動画のいずれかにおける時間(作業者による動作時間)が、予め設定されている標準動作時間よりも所定時間以上長い場合、動作時間が長いとして、当該サイクル動画における作業者の作業要素は標準作業ではないと判定し、所定時間以上短い場合、動作時間が短いとして、当該サイクル動画における作業者の作業要素は標準作業ではないと判定する。このような分析処理は、要因分類モデルM5を用いて行われてもよい。この場合、制御部11は、サイクル動画を要因分類モデルM5に入力し、要因分類モデルM5からの出力情報に基づいて、作業要素が標準作業であるか否かを分析する。なお、標準作業ではないとする動作内容は、上述した例に限定されない。制御部11は、サイクル動画に含まれる全ての動作動画に対して、標準動作であるとの分析結果が得られた場合、当該サイクル動画における作業者の作業要素は標準作業であると判定する。
 制御部11は、各サイクル動画に対する分析結果を表示部15に表示する(S38)。例えば制御部11は、図8に示すような分析結果画面を生成して表示部15に表示する。図8に示す分析結果画面は、分析対象の動画が表示される動画領域A3と、当該動画中の作業者が行う作業要素に含まれる動作に対する分析結果が表示される結果領域A4とを有する。結果領域A4には、動画から区分された各動作動画中の作業者が行う動作について、出現順序を示す動作番号、各動作に付与された名前及び分析結果が表示される。分析結果は、各動作の実行に要した動作時間と、各動作が標準動作であるか否かを示すマーク(〇又は×)とを含む。なお、動画領域A3には、表示中の動画の再生及び停止を指示するための再生停止ボタンB3が設けられており、再生停止ボタンB3を介して再生指示された場合、制御部11は、分析対象の動画を動画領域A3に再生させると共に、再生された動画に基づいて分析された各動作動画に対する分析結果を結果領域A4に表示する。これにより、再生された動画によって作業者の動作を確認しつつ、分析結果を把握できる。
 上述した処理により、情報処理装置10は、作業者を撮影した動画に基づいて、作業者が行う作業要素及び各作業要素に含まれる各動作を認識し、動作毎に標準動作であるか否かを分析し、各動作の分析結果に基づいて各作業要素が標準作業であるか否かを分析する。このように、作業者が行う作業を動作単位に区分して動作毎に適否(具体的には、標準動作であるか否か)が判定され、その結果を用いることにより、作業者の作業要素(1サイクルの作業)に対する適否をより精度よく判定することができる。また、各動作の適否は動作分析モデルM4を用いて判定されるので、各動作の動作時間だけでなく動作内容(作業者の動き)も考慮して標準動作が行われたか否かが判定される。よって、作業者が、予め動作分析モデルM4に対して設定された標準動作(規定通りの作業)を行っているかを精度よく分析できる。また、動作毎に適否が判定された結果に基づいて、適切でない動作及び適切でない動作を含む作業要素を提示することができるので、作業者に対する改善指導が容易となる。
 制御部11は、分析対象の動画に含まれる全てのフレームに対して、上述した処理を終了したか否かを判断しており(S39)、終了していないと判断した場合(S39:NO)、ステップS34の処理に戻り、ステップS34~S38の処理を繰り返す。これにより、分析対象の動画に含まれる各サイクル動画に基づいて、作業者が行う各作業要素が適切であるか否かを分析することができ、得られた分析結果をユーザに提示することができる。
 制御部11は、分析対象の動画に対して上述した処理を終了したと判断した場合(S39:YES)、分析対象の動画に対応付けて分析結果を記憶部12に記憶する(S40)。例えば制御部11は、分析対象の動画から抽出した各サイクル動画について、識別情報(例えば出現順序を示すサイクル番号)、各サイクルの切れ目の時間及び作業要素(サイクル)に対する分析結果と、各サイクル動画中の各動作動画について、識別情報(例えば出現順序を示す動作番号)、各動作の切れ目の時間及び動作に対する分析結果とを、記憶部12に用意されたDBに記憶する。上述した処理により、作業を行う作業者を撮影した動画に基づいて、作業者が、予め動作分析モデルM4に設定された標準動作を行っているか否かが分析され、分析結果が表示されてユーザに提示される。
 上述した処理では、分析対象の動画に基づいて、作業者が作業中の品種を特定し、品種毎に用意された動作分析モデルM4を用いた分析処理が実行される。従って、例えば同一の作業現場において異なる複数種類の品種の組み立て作業が行われている場合であっても、品種毎の分析処理が可能であり、分析処理を行うユーザは、各動画における品種を意識することなく、各動画に対する分析処理を精度よく行うことができる。
 上述した分析処理による各動画に対する分析結果は、作業者が行う作業内容の傾向を把握して、組み立て作業に対する改善策の検討に利用できる。例えば、各動画に含まれる各サイクル動画に対する分析結果から、各サイクル動画における作業要素が標準作業ではない場合の各要因の傾向を分析して対策を講じることが可能となる。図9は各作業要素に対する要因の分析処理手順の一例を示すフローチャート、図10A及び図10Bは画面例を示す説明図である。以下の処理は、情報処理装置10の制御部11が、記憶部12に記憶してあるプログラム12Pに従って実行する。
 作業者が行う各作業要素について、標準作業ではない場合の要因の発生状況を分析する場合、ユーザは、分析対象の作業者を撮影した動画であって、図7の処理によって各作業要素の分析処理が実行された後の動画を選択する。ここでの処理対象の動画は、1つの品種の製品の組み立て作業を行う作業者を撮影した動画である。なお、以下の処理は、1人の作業者が行った複数回の作業に基づいて当該作業者の作業内容を分析するために実行してもよく、複数の作業者が行った作業に基づいて、複数の作業者の作業内容を分析するために実行してもよい。
 制御部11は、処理対象の動画からサイクル動画を抽出し(S51)、抽出したサイクル動画に基づいて、サイクル動画中の作業者が行う作業要素が標準作業ではないとする要因を判別する(S52)。ここでは、制御部11は、サイクル動画に含まれる各フレームを順次要因分類モデルM5に入力し、要因分類モデルM5からの出力情報に基づいて、サイクル動画中の作業者の作業が標準作業ではない要因を判別する。なお、制御部11は、図7に示す分析処理によって得られた各サイクル動画に対する分析結果に基づいて、各サイクル動画中の作業者が行う作業要素が標準作業ではないとする要因を判別してもよい。制御部11は、動作抜け、順番入れ替え、異常な動き、動作時間が長い、動作時間が短い等のいずれかの要因を判別する。制御部11は、処理対象のサイクル動画に、判別した要因を対応付けて記憶部12に記憶する(S53)。例えば制御部11は、各サイクル動画のサイクル番号に、判別した要因を対応付けて記憶する。
 次に制御部11は、判別した要因に基づいて、各要因の発生割合を算出し(S54)、算出した各要因の発生割合を表示部15に表示する(S55)。例えば制御部11は、図10Aに示すような要因画面を生成して表示部15に表示する。図10Aに示す要因画面は、品種Aの組み立て作業に含まれる作業要素の一覧が表示され、各作業要素について、出現順序(サイクル番号)、名前、各要因の発生割合が表示される。なお、各要因の発生割合は、標準作業ではないと判別されたサイクル動画の割合に加えて、標準作業であると判別されたサイクル動画の割合を含む。各動作動画に対する分析結果に基づく要因が既に判別済みであり、動画と共に記憶部12に記憶されている場合、制御部11は、ステップS52~S53の処理を行わずに、分析結果に基づく要因を記憶部12から読み出して、ステップS54~S55の処理を行えばよい。
 制御部11は、ステップS51~S55の処理を実行していない未処理の動画があるか否かを判断し(S56)、未処理の動画があると判断した場合(S56:YES)、ステップS51の処理に戻り、未処理の動画に対してステップS51~S55の処理を実行する。未処理の動画がないと判断した場合(S56:NO)、制御部11は、ステップS57の処理に移行する。
 図10Aに示す画面は、各作業要素に対する各要因を介して、各要因が発生している動画の再生指示を受け付けるように構成されている。例えばユーザは、いずれかの作業要素のいずれかの要因に対して所定の操作(例えばマウスの左クリック)を行うことにより、操作された要因が発生している動画に対する再生指示を行うことができる。図10Aでは、制御部11は、矢符A5に示すようなカーソルによる操作によって、サイクル番号が1の作業要素について、動作抜けの要因が発生している動画に対する再生指示を受け付ける。制御部11は、再生対象の要因を受け付けたか否かを判断し(S57)、受け付けたと判断した場合(S57:YES)、選択された要因が発生している動画(要因に対応する動画)を特定する(S58)。ここでは、制御部11は、選択された作業要素に対する要因が発生している動画を、記憶部12に記憶してある動画から検索する。そして、制御部11は、検索した動画を記憶部12から読み出して表示部15に表示する(S59)。例えば制御部11は、図10Bに示すような分析結果画面を表示部15に表示する。図10Bに示す画面は、図8に示す画面と同様の構成を有し、更に「前の動画へ」ボタン及び「次の動画へ」ボタンを有する。制御部11は、ステップS58で特定した複数の動画を順次再生するように構成されており、図10Bに示す画面を介して「前の動画へ」ボタンが操作された場合、動画領域A3及び結果領域A4の表示内容を、直前に表示されていた動画、及び、当該動画に対する分析結果に変更する。また、制御部11は、「次の動画へ」ボタンが操作された場合、動画領域A3及び結果領域A4の表示内容を、次に表示予定の動画、及び、当該動画に対する分析結果に変更する。なお、制御部11は、ステップS58で特定した複数の動画を任意の順で再生するように構成されていてもよく、例えば、録画日時が古い順又は新しい順に各動画を再生してもよく、作業者毎に各作業者の動画をまとめて再生してもよく、ランダムに再生してもよい。また、図10Bに示す画面に複数の動画領域A3を設け、各動画領域A3に、各動画において、選択された要因が発生しているサイクル動画を同期させて表示してもよい。
 制御部11は、再生対象の要因を受け付けていないと判断した場合(S57:NO)、ステップS58~S59の処理をスキップして、上述した処理を終了する。上述した処理により、動画に含まれる各サイクル動画を、標準作業ではないとされる要因毎にグループ分けすることができ、各要因の発生割合を分析することができる。また、要因毎に、各要因が発生している動画を再生させることができるので、サイクル動画(作業要素)毎に効率よく改善策の検討を行うことができる。
 本実施形態では、各動画について、サイクル(作業要素)毎に標準作業であるか否かの分析結果が得られると共に、各サイクルに含まれる動作毎に標準動作であるか否かの分析結果が得られる。よって、各サイクル動画に対する分析結果に加えて、各動作動画に対する分析結果に基づいて動画の検索を行うことができる。例えば、所定のサイクル(例えば、1番目の作業要素)について、所定の動作(例えば1番目の動作)が標準動作ではないと判別された動画の検索が可能である。よって、各作業者の作業内容を検証する際に、サイクル毎の分析結果と、動作毎の分析結果とを考慮した検索処理が可能となり、効率の良い検証処理を実現できる。
 次に、動画に含まれる各動作動画に対する分析結果から、各作業要素に含まれる動作の動作時間のばらつきを分析する処理について説明する。図11は各動作の動作時間の分析処理手順の一例を示すフローチャート、図12は画面例を示す説明図である。以下の処理は、情報処理装置10の制御部11が、記憶部12に記憶してあるプログラム12Pに従って実行する。
 作業者が行う各動作について、動作時間のばらつきを分析する場合、ユーザは、分析対象の動画であって、図7の処理によって各動作の分析処理が実行された後の動画を選択する。ここでも処理対象の動画は、1つの品種の製品の組み立て作業を行う作業者を撮影した動画であり、1人の作業者を撮影した複数の動画であってもよく、複数の作業者を撮影した動画であってもよい。
 制御部11は、処理対象の動画に含まれる各動作動画に基づいて、各動作の動作時間を計測する(S71)。例えば制御部11は、各動作動画の動作番号と、開始時間及び終了時間(各切れ目の時間)とを各動画から取得する。そして、制御部11は、各動作動画について、開始時間から終了時間までの時間を算出する。制御部11は、各動作について算出した動作時間を、各動作に対応付けてプロットした散布図(図表)を生成して表示部15に表示する(S72)。例えば制御部11は、図12の画面の右上に示すような散布図を生成して表示する。図12の右上に示す散布図は、品種Aの組み立て作業に含まれる作業要素「ケースAの組立」に含まれる各動作について動作時間のばらつきを表示する。具体的には、横軸の各位置には各動作が対応付けられており、縦軸は、各動作の動作時間を示し、各動作の動作時間が、横軸の各位置に対応付けてプロットされている。なお、制御部11は、動作分析モデルM4の設定用動画として使用した、標準作業を行う作業者を撮影した動画中の各動作動画に基づいて、各動作の標準動作時間を計測し、計測した各動作の標準動作時間を、散布図上に白ひし形でプロットする。これにより、各動作の標準動作時間を提示することができ、標準動作時間に対する各作業者の動作時間の比較結果を容易に把握できる。
 なお、制御部11は、1つのサイクル動画について、各動作の動作時間を計測した場合、各動作時間を合計して、当該作業要素における動作時間(サイクル時間)を算出する。そして制御部11は、図12の画面の左上に示すように、算出したサイクル時間をプロットした散布図も生成して表示する。これにより、各動作の動作時間のばらつきに加えて、作業要素(サイクル)に要したサイクル時間のばらつきを提示できる。
 次に制御部11は、各動作について、ステップS71で計測した動作時間に基づいて、動作時間の最小値、第1四分位数、中央値、第3四分位数、最大値を算出する(S73)。そして制御部11は、各動作について算出した各値に基づいて、各動作の動作時間のばらつきを示す箱ひげ図(図表)を生成して表示部15に表示する(S74)。例えば制御部11は、図12の画面の右下に示すような箱ひげ図を生成して表示する。図12の右下に示す箱ひげ図は、散布図と同様に、横軸の各位置に各動作が対応付けられ、縦軸は各動作の動作時間を示し、各動作の動作時間の最小値、第1四分位数、中央値、第3四分位数、最大値をそれぞれ示す箱及びひげによって動作時間のばらつきを表現する。ここでも制御部11は、各動作の標準動作時間を、箱ひげ図上に白ひし形でプロットする。また、サイクル時間についても、制御部11は、最小値、第1四分位数、中央値、第3四分位数、最大値を算出し、算出した各値に基づいて、図12の画面の左下に示すように、サイクル時間のばらつきを示す箱ひげ図を生成して表示部15に表示する。
 制御部11は、ステップS71~S74の処理を実行していない未処理の動画があるか否かを判断し(S75)、未処理の動画があると判断した場合(S75:YES)、ステップS71の処理に戻り、未処理の動画に対してステップS71~S74の処理を実行する。未処理の動画がないと判断した場合(S75:NO)、制御部11は、ステップS76の処理に移行する。
 図12に示す画面中の散布図は、プロットされた各点(マーカ)を介して、各マーカに対応する動画の再生指示を受け付けるように構成されている。例えばユーザは、いずれかのマーカに対して所定の操作(例えばマウスの左クリック)を行うことにより、操作されたマーカに対応する動画に対する再生指示を行うことができる。図12では、制御部11は、矢符A6に示すようなカーソルによる操作によって、選択されたマーカに対応する動画の再生指示を受け付ける。制御部11は、再生対象のマーカを受け付けたか否かを判断し(S76)、受け付けたと判断した場合(S76:YES)、選択されたマーカに対応する動画を特定する(S77)。散布図において、各動作に対応付けてプロットされたマーカには動画の識別情報(例えば動画に割り当てられた動画ID)が対応付けられているので、制御部11は、選択されたマーカに対応する動画の識別情報を特定することにより、マーカに対応する動画を特定できる。これにより、制御部11は、散布図中のマーカを介して選択された再生対象の動画を、記憶部12に記憶してある動画から特定できる。
 そして、制御部11は、特定した動画を記憶部12から読み出して表示部15に表示する(S78)。この場合、制御部11は、特定した動画に基づいて、図8に示すような分析結果画面を表示する。なお、制御部11は、特定した動画において、選択されたマーカに対応する動作動画を表示する構成でもよい。この場合、選択された動作の動作動画を確認することができる。制御部11は、再生対象のマーカを受け付けていないと判断した場合(S76:NO)、ステップS77~S78の処理をスキップして、上述した処理を終了する。上述した処理により、動画に含まれる各サイクル動画について、サイクル時間のばらつきと共に、サイクル動画に含まれる各動作の動作時間のばらつきを散布図及び箱ひげ図によって提示することができる。また、散布図の各マーカを介して選択された動画を再生させることができる。これにより、各作業要素のサイクル時間のばらつき、及び、各動作の動作時間のばらつきを考慮して、作業要素毎又は動作毎に改善策の検討を行うことができる。
 次に、動画をサイクル動画に区分した結果を用いて、当該動画中の作業者が行う各作業要素の進捗状況を示すガントチャートを作成する処理について説明する。図13はガントチャートの作成処理手順の一例を示すフローチャート、図14はガントチャートの画面例を示す説明図である。以下の処理は、情報処理装置10の制御部11が、記憶部12に記憶してあるプログラム12Pに従って実行する。
 作業者が行う各作業要素の進捗状況を示すガントチャートを作成する場合、ユーザは、処理対象の動画を選択する。ここでの処理対象の動画は、サイクル予測モデルM2を用いてサイクル動画に区分された後の動画であり、例えば図7の処理によって各作業要素の分析処理が実行された後の動画であってもよい。制御部11は、入力部14を介した操作によって、ガントチャート作成対象の動画の選択を受け付ける(S81)。制御部11は、選択された動画から区分された各サイクル動画の開始時間及び終了時間を取得する(S82)。サイクル動画に区分された動画は、各サイクル動画の開始時間及び終了時間(各サイクルの切れ目の時間)が動画に対応付けて記憶部12に記憶されており、制御部11は、各サイクル動画の開始時間及び終了時間を記憶部12から読み出す。
 制御部11は、取得した各サイクル動画の開始時間及び終了時間に基づいて、各作業要素の作業開始タイミングから作業終了タイミングまでの実行時間帯を示す帯状グラフ(横棒)を作成し、作成した各作業要素の帯状グラフを並べたガントチャート(図表)を作成する(S83)。例えば制御部11は、図14に示すようなガントチャートを作成する。図14に示すガントチャートは、品種Aの組み立て作業に含まれる作業要素の名前が上下方向に表示されており、横軸は日時を示しており、各作業要素の実行時間帯を示す帯状グラフが、各作業要素に対応付けて表示されている。制御部11は、作成したガントチャートを表示部15に表示する(S84)。このようなガントチャートにより、各作業者による作業の進捗状況を容易に把握できる。図14に示すガントチャートは、例えば各作業要素を選択した場合に、選択した作業要素に含まれる各動作の開始時間及び終了時間を示す帯状グラフが表示されるように構成されていてもよい。この場合、作業要素毎の進捗状況に加えて、各作業要素に含まれる動作毎の進捗状況を提示できるガントチャートを提供できる。なお、標準作業を行う作業者を撮影した動画に基づいてガントチャートを作成した場合、一連の作業に含まれる各作業要素の順序及び標準作業時間が規定される工程表(標準作業組合せ票)の作成が可能となる。
 次に、複数の動画に対する分析処理の結果を並べて表示する処理について説明する。以下では、2つの動画に対する分析結果画面が並べて表示される構成を例に説明するが、3つ以上の動画に対する分析結果画面が並べて表示される構成でもよい。図15は、2つの分析結果画面の表示例を示す説明図である。情報処理装置10の制御部11は、2つの動画の分析結果を比較する処理の実行指示を受け付け、分析処理済みの2つの動画の選択を受け付けた場合、選択された動画及び当該動画に対する分析結果に基づいて、各動画に対する分析結果画面を生成し、並べて表示部15に表示する。図15に示す例では、画面の左側及び右側にそれぞれの動画の分析結果画面が表示されている。それぞれの分析結果画面は、図8と同様の構成を有するが、動画領域A3の下側に結果領域A4が表示されている。また、図15における結果領域A4には、動画領域A3に表示中の動作動画と、その前後の動作動画とに関する情報が表示される構成であり、動画領域A3での動画の再生が進むにつれて、表示中の動作動画に対する分析結果が順次表示される。
 図15に示す画面には、動画領域A3に表示される2つの動画の再生位置を先頭位置に移動させるための「開始に揃える」ボタンと、2つの動画を共に停止させるための同時停止ボタンと、2つの動画における各動作動画を同期させて表示させるための動作比較モードボタンとが設けられている。また、図15に示す画面には、それぞれの動画領域A3に表示される動画の変更を指示するための動画変更ボタンが設けられている。動画変更ボタンが操作された場合、情報処理装置10の制御部11は、選択可能な動画の動画名を一覧表示し、任意の動画の選択を受け付けた場合、選択された動画及び当該動画に対する分析結果に基づいて、動画領域A3及び結果領域A4の表示内容を切り替える。これにより、任意の動画に対する分析結果を比較して表示することが可能となる。
 動作比較モードボタンが操作された場合、制御部11は、それぞれの動画に含まれる各動作動画を、動作毎に同期(連動)させて動画領域A3に表示する。これにより、各動作について、2つの動画における作業者の動作内容を比較することができる。なお、制御部11は、それぞれの動画に含まれる各サイクル動画を、先頭から順に動作毎に同期させて動画領域A3に表示させてもよい。これにより、制御部11は、任意の2つの動画に対する分析結果を並べて提示することができ、また、動作毎に又は作業要素毎に動作動画又はサイクル動画を表示することができる。よって、例えば異なる作業者が同じ品種の組み立て作業を行った場合に撮影された動画を同期させて表示した場合には、2人の作業者の作業状態を比較することができる。また、1人の作業者が同じ品種の組み立て作業を行った場合に撮影された動画を同期させて表示した場合には、1人の作業者において、例えば異なる日に行った作業状態を比較することができる。
 本実施形態では、作業を行う作業者を撮影した動画に基づいて、作業者が行う動作毎に標準動作であるか否かを判定し、各動作の判定結果に基づいて各作業要素が標準作業であるか否かを判定する。また、各動作が標準動作であるか否かの判定は動作分析モデルM4を用いて行われるので、各動作の動作内容(作業者の動き)も考慮して精度よく標準動作が行われたか否かが判定される。このように精度よく判定された結果を用いることにより、適切な改善策の検討が可能となり、作業者に対する改善指導が可能となる。
 本実施形態において、図7に示す分析処理は、作業者を撮影した動画に基づいて作業終了後に実行される構成のほかに、作業中の作業者を撮影した動画に基づいてリアルタイムで実行されてもよい。この場合、作業者が実行中の組み立て作業について、各動作が標準作業であるか否かを判定し、判定結果に基づいて、各作業要素が標準作業であるか否かを判定する処理を行うことができ、作業の実行中においても改善指導が可能となる。
 本実施形態において、品種予測モデルM1を用いた品種の予測処理、サイクル予測モデルM2を用いたサイクル動画の区分処理、切れ目予測モデルM3を用いた動作動画の区分処理、動作分析モデルM4を用いた分析処理の少なくとも1つは、情報処理装置10がローカルで行う構成に限定されない。例えば、品種予測モデルM1を用いた品種の予測処理を実行するサーバを設けてもよい。この場合、情報処理装置10は、処理対象の動画をサーバへ送信し、サーバで品種予測モデルM1を用いて予測された品種が情報処理装置10へ送信されるように構成される。この場合にも、情報処理装置10は、サーバで予測された品種に基づいて、例えば図7のステップS33以降の処理を実行できる。
 また、サイクル予測モデルM2を用いたサイクル動画の区分処理を実行するサーバを設けてもよい。この場合、情報処理装置10は、処理対象の動画をサーバへ送信し、サーバでサイクル動画に区分された動画が情報処理装置10へ送信されるように構成される。この場合にも、情報処理装置10は、サーバでサイクル動画に区分された動画に基づいて、例えば図7のステップS35以降の処理を実行できる。また、切れ目予測モデルM3を用いた動作動画の区分処理を実行するサーバを設けてもよい。この場合、情報処理装置10は、処理対象の動画をサーバへ送信し、サーバで動作動画に区分された動画が情報処理装置10へ送信されるように構成される。この場合にも、情報処理装置10は、サーバで動作動画に区分された動画に基づいて、例えば図7のステップS36以降の処理を実行できる。更に、動作分析モデルM4を用いた分析処理を実行するサーバを設けてもよい。この場合、情報処理装置10は、処理対象の動画をサーバへ送信し、サーバで行われた動画に対する分析処理の結果が情報処理装置10へ送信されるように構成される。この場合にも、情報処理装置10は、サーバで行われた分析処理の結果に基づいて、例えば図7のステップS37以降の処理を実行できる。上述したような構成とした場合であっても、本実施形態と同様の処理が可能であり、同様の効果が得られる。
 本実施形態では、作業を行う作業者を撮影した動画に基づいて、作業者が行う動作及び作業が標準動作及び標準作業であるか否かを分析する構成であるが、分析対象は作業者に限定されない。例えば、所定の作業を行うように構成されたロボットを撮影した動画に基づいて、当該ロボットの動作及び作業が標準動作及び標準作業であるか否かを分析する構成であってもよい。
(実施形態2)
 本実施形態では、作業者が1つの作業要素(同じ作業要素)を繰り返して行う様子を撮影した動画から、各作業要素が撮影されたサイクル動画を抽出し、抽出したサイクル動画を比較して提示する情報処理装置について説明する。なお、1つの動画に含まれるサイクル動画は、1人の作業者を撮影したものであってもよく、異なる複数人の作業者を撮影したものであってもよい。本実施形態の情報処理装置10は、図2に示す実施形態1の情報処理装置10の構成と同様の構成を有するので、構成についての説明は省略する。なお、本実施形態の情報処理装置10の記憶部12は、サイクル予測モデルM2の代わりにサイクル動画抽出モデルM6を記憶している。
 図16はサイクル動画抽出モデルM6の構成例を示す説明図である。サイクル動画抽出モデルM6は、RNN、LSTM、CNN、Transformer等のアルゴリズムを用いて構成され、また、複数のアルゴリズムを組み合わせて構成されてもよい。サイクル動画抽出モデルM6は、1つの作業要素を繰り返して行う作業者を撮影した動画と、当該動画に対して指定された1つのサイクル動画の開始時間及び終了時間とを入力とし、入力された動画から、指定されたサイクル動画に類似するサイクル動画を抽出する演算を行い、演算結果を出力するように学習した学習済みモデルである。サイクル動画抽出モデルM6も、作業者の全身、上半身又は手元を撮影した動画のように、作業者の動作の様子が撮影された動画が入力される構成であればよい。
 サイクル動画抽出モデルM6は、動画と、当該動画中の1つのサイクル動画の開始時間及び終了時間とが入力される入力層と、開始時間及び終了時間が入力されたサイクル動画に含まれる作業者の動作の特徴量と、動画に含まれる作業者の動作の特徴量とを抽出し、当該サイクル動画と同じ特徴量を有するサイクル動画(当該サイクル動画に類似するサイクル動画)を、入力された動画から抽出する演算を行う中間層と、中間層の演算結果を基に動画から抽出された各サイクル動画の開始時間及び終了時間を出力する出力層とを有する。サイクル動画抽出モデルM6から出力される各サイクル動画の開始時間及び終了時間は、当該動画の再生開始からの経過時間を示す。
 サイクル動画抽出モデルM6は、訓練用の動画及びこの動画中の1つのサイクル動画の開始時間及び終了時間と、この動画に対して正解として指定された複数のサイクル動画の開始時間及び終了時間とを含む訓練データを用いて機械学習することにより生成できる。サイクル動画抽出モデルM6は、訓練データに含まれる動画及び1つのサイクル動画の開始時間及び終了時間が入力された場合に、正解とする各サイクル動画の開始時間及び終了時間が出力されるように学習する。学習処理においてサイクル動画抽出モデルM6は、入力された動画及び1つのサイクル動画の開始時間及び終了時間に基づいて中間層及び出力層での演算を行い、動画及びサイクル動画に含まれる作業者の動作の特徴を抽出し、抽出したサイクル動画の特徴と同じ特徴を持つサイクル動画を処理対象の動画から抽出し、抽出した各サイクル動画の開始時間及び終了時間と、正解の各サイクル動画の開始時間及び終了時間とを比較し、両者が近似するように、中間層及び出力層での演算処理に用いるパラメータを最適化する。最適化するパラメータは、中間層及び出力層におけるノード間の重み(結合係数)、関数の係数、閾値等であり、パラメータの最適化の方法は誤差逆伝播法、最急降下法等を用いることができる。これにより、動画及び1つサイクル動画の開始時間及び終了時間が入力された場合に、動画中の各サイクル動画を区分し、各サイクル動画の開始時間及び終了時間を出力するサイクル動画抽出モデルM6が得られる。サイクル動画抽出モデルM6の学習も他の学習装置で行われてもよく、この場合、他の学習装置で生成された学習済みのサイクル動画抽出モデルM6は、ネットワークN経由又は可搬型記憶媒体10a経由で学習装置から情報処理装置10にダウンロードされて記憶部12に記憶される。
 次に、本実施形態の情報処理装置10において、作業者を撮影した動画から、作業者が作業要素を行う様子を撮影したサイクル動画を抽出し、抽出した複数のサイクル動画を比較して提示する処理について説明する。図17はサイクル動画の比較処理手順の一例を示すフローチャート、図18A~図21Bは画面例を示す説明図である。
 サイクル動画によって作業者が行う作業の様子を確認する場合、ユーザは、処理対象の動画を選択する。情報処理装置10の制御部11は、例えば図18Aに示すような動画選択画面を表示部15に表示し、入力部14を介した操作によって、当該画面から任意の動画の選択を受け付ける(S91)。ここでは、1つの動画が選択されてもよく、複数の動画が選択されてもよい。図18Aの例では、動画1及び動画2の2つが選択されている。処理対象の動画は、作業者(対象)が一連の作業要素を行う時間を1サイクル動画とし、複数のサイクル動画を含んでいる。なお、図18Aの画面は、カメラを選択することにより、選択されたカメラで撮影された動画のサムネイルが表示されるように構成されている。
 次にユーザは、処理対象に選択した動画に対して、1つのサイクル動画の開始時間及び終了時間を指定する。制御部11は、例えば図18Bに示すような画面を表示し、当該画面から、1つのサイクル動画の開始時間及び終了時間の指定を受け付ける(S92)。図18Bの画面は、選択された動画の表示欄と、表示された動画中の1つのサイクル動画の開始時間及び終了時間を入力するための入力欄R1とを有する。入力欄R1には、表示中の動画の再生時間を示すインジケータが表示されており、ユーザは、入力欄R1に設けられた開始マークC1及び終了マークC2を所望の再生時間に移動させることにより、1つのサイクル動画の開始時間及び終了時間を指定する。その際、ユーザは、拡大縮小ボタンC3により、インジケータに示される再生時間の間隔を拡大又は縮小することができる。
 入力欄R1には、開始時間及び終了時間が指定された1つのサイクル動画に基づいて、処理対象の動画から、当該サイクル動画に類似するサイクル動画の抽出を指示するための「似た作業を探す」ボタンが設けられている。制御部11は、「似た作業を探す」ボタンが操作されたか否かを判断し(S93)、操作されていないと判断する場合(S93:NO)、ステップS92に戻り、1つのサイクル動画の開始時間及び終了時間の入力受付を継続する。制御部11は、「似た作業を探す」ボタンが操作されたと判断した場合(S93:YES)、ステップS91で選択された動画から、ステップS92で指定されたサイクル動画に類似するサイクル動画の抽出を行う(S94)。ここでは、制御部11は、選択された動画(動画ファイル12a)と、指定された1つのサイクル動画の開始時間及び終了時間とをサイクル動画抽出モデルM6に入力し、サイクル動画抽出モデルM6からの出力情報として、処理対象の動画から抽出された各サイクル動画の開始時間及び終了時間を取得する。
 制御部11は、動画から抽出した各サイクル動画の開始時間及び終了情報を表示する(S95)。例えば制御部11は、図18Cに示すように、入力欄R1のインジケータが示す動画の再生時間に対して、各サイクル動画を開始時間及び終了時間を示す矩形C4で表示し、動画情報欄R2に、各サイクル動画の開始時間及び終了時間を表示する。本実施形態では、制御部11は、動画から抽出した各サイクル動画にビデオ1、ビデオ2…の名称を付与しており、図18Cの動画情報欄R2に表示してあるビデオ1、ビデオ2…は各サイクル動画を示す。
 制御部11は、動画から抽出した複数のサイクル動画から1つを抽出し(S96)、抽出したサイクル動画を、切れ目予測モデルM3を用いて動作動画に区分する(S97)。ステップS97の処理は、図7中のステップS35と同じであり、制御部11は、動画中の作業者が作業中の品種に応じた切れ目予測モデルM3に、サイクル動画に含まれる各フレームを順次入力し、切れ目予測モデルM3からの出力情報に基づいて、サイクル動画に含まれる各動作動画の開始時間及び終了時間を特定(予測)する。ステップS97の処理後、制御部11は、各動作動画の切れ目(区分位置)に対して変更処理(削除及び新規追加等)を行うための編集処理(図6A~図6C参照)を行ってもよい。なお、本実施形態では、切れ目予測モデルM3を用いてサイクル動画を動作動画に区分する際に、所定数(例えば10個)の動作動画に区分するように設定されている。動作動画の区分数は、予め決定されて切れ目予測モデルM3に設定されていてもよく、ユーザによって任意に設定されてもよく、この場合、設定された区分数が切れ目予測モデルM3の入力データとして入力される構成でもよい。
 制御部11は、ステップS94で動画から抽出した全サイクル動画に対してステップS96~S97の処理を終了したか否かを判断し(S98)、終了していないと判断する場合(S98:NO)、ステップS96に戻り、未処理のサイクル動画に対してステップS96~S97の処理を繰り返す。これにより、全てのサイクル動画が複数の動作動画に区分される。全サイクル動画に対する処理を終了したと判断した場合(S98:YES)、制御部11は、各サイクル動画の分析情報を表示する(S99)。例えば制御部11は、各サイクル動画の所要時間(開始時間から終了時間までのサイクルタイム)を計数しており、各サイクル動画のサイクルタイムをプロットした散布図(図表)と、サイクルタイムの最小値、第1四分位数、中央値、第3四分位数、最大値を示す箱ひげ図とを生成し、図18Dに示すように分析情報欄R3に表示する。図18Dの散布図では、縦軸(縦方向)にサイクルタイムを示している。散布図中にプロットされた各点(マーカ)は、所定の操作(例えばカーソルによる選択)が行われた場合に、操作されたマーカに対応するサイクル動画のサイクルタイムを表示するように構成されており、更に所定の操作(例えばマウスの左クリック)が行われた場合に、対応するサイクル動画の再生が開始されるように構成されている。図18Dの例では、制御部11は、矢符C5に示すカーソルによって選択されたマーカに対応するサイクル動画のサイクルタイムを表示している。
 図18Cの画面中の動画情報欄R2は、処理対象の動画から抽出されたサイクル動画の表示順序を並べ替え可能に構成されており、並べ替えの実行を指示するための並べ替えボタンC6が設けられている。並べ替えボタンC6は、図19Aに示すように、並べ替えルールとして開始時間順、作業が速い順、又は作業が遅い順のいずれかを選択できるプルダウンメニューが設けてある。図19Bの例では、作業が遅い順での並べ替えルールが選択されており、サイクルタイムが長い順に各サイクル動画の名称、開始時間及び終了時間、サイクルタイムが表示されている。
 図19A及び図19Bの画面中の動画情報欄R2には、各サイクル動画を選択するためのチェックボックスが設けられており、2つ以上のサイクル動画が選択された場合、図19Bに示すように「まとめて比較」ボタンを表示するように構成されている。ユーザは、比較して確認したいサイクル動画をチェックボックスにて選択した後、「まとめて比較」ボタンを操作する。制御部11は、動画情報欄R2においてチェックボックスがチェックされることにより、分析対象のサイクル動画の選択を受け付け(S100)、2つ以上のサイクル動画が選択された場合に、「まとめて比較」ボタンが操作されたか否かを判断する(S101)。「まとめて比較」ボタンが操作されていないと判断する場合(S101:NO)、制御部11は、ステップS100に戻り、サイクル動画の選択受付を継続する。
 「まとめて比較」ボタンが操作されたと判断した場合(S101:YES)、制御部11は、ステップS100で選択されたサイクル動画の中から手本とすべき基準サイクル動画(基準動画)を特定する(S102)。例えば制御部11は、サイクルタイムが中央値のサイクル動画を基準サイクル動画に特定する。なお、制御部11は、サイクルタイムが、各サイクル動画のサイクルタイムの平均値に最も近いサイクル動画を基準サイクル動画に特定してもよく、サイクルタイムが最短のサイクル動画を基準サイクル動画に特定してもよい。また制御部11は、入力部14を介してユーザが選択したサイクル動画を基準サイクル動画に特定してもよい。また制御部11は、選択されたそれぞれのサイクル動画について、他のサイクル動画との類似度を算出し、例えば他のサイクル動画との類似度の合計が最も高いサイクル動画を基準サイクル動画に特定してもよい。類似度は、例えば相関係数、コサイン類似度を用いることができる。また、制御部11は、機械学習によって構築された学習モデルを用いて、2つのサイクル動画の類似度を推定する構成でもよい。例えばCNNで構成され、2つのサイクル動画が入力された場合に、2つのサイクル動画の類似度を出力するように学習された学習モデルを用いてもよい。この場合、制御部11は、2つのサイクル動画を学習済みの学習モデルに入力し、学習モデルからの出力情報に基づいて、2つのサイクル動画の類似度を推定できる。更に、制御部11は、選択されたサイクル動画から基準サイクル動画を特定する構成に限定されず、ステップS94で抽出したサイクル動画の中から基準サイクル動画を特定してもよい。この場合、制御部11は、ステップS94で抽出したサイクル動画の中から、サイクルタイムの中央値、平均値、又は最短のサイクル動画を基準サイクル動画に特定してもよく、他のサイクル動画との類似度の合計が最大のサイクル動画を基準サイクル動画に特定してもよい。
 制御部11は、基準サイクル動画と、分析対象のサイクル動画とを比較するための比較画面を生成する(S103)。例えば制御部11は、図19Cに示すような比較画面を生成し、生成した比較画面を表示部15に表示する(S104)。図19Cの画面では、ビデオ115のサイクル動画が基準サイクル動画(手本動画)として表示され、ビデオ2のサイクル動画が分析対象として表示されている。具体的には、動画表示欄R4の左側に基準サイクル動画(ビデオ115)が表示され、右側に分析対象のサイクル動画(ビデオ2)が表示されている。なお、表示中の基準サイクル動画及び分析対象のサイクル動画は、入力部14を介した操作によって、ステップS100で選択されたサイクル動画の中から任意のサイクル動画に変更可能に構成されている。具体的には、動画表示欄R4に、基準サイクル動画の切替ボタンC7と、分析対象の切替ボタンC8とが設けられており、切替ボタンC7,C8には、選択可能なサイクル動画のいずれかを選択できるプルダウンメニューが設けられている。また、分析対象のサイクル動画は、例えば図19Bの動画情報欄R2に表示された順序での切替が可能な切替ボタンC9が設けられている。
 図19Cの画面中の分析情報欄R3は、動画表示欄R4に表示された基準サイクル動画及び分析対象のサイクル動画について、区分された各動作動画(図19C中では区間1,区間2…と記載)の所要時間の比較結果を示すグラフD1を表示する。グラフD1は、横軸の各位置に各動作(各区間)が対応付けられており、縦軸は、基準サイクル動画の各動作動画(区間1,区間2…)の所要時間に対する、分析対象のサイクル動画の各動作動画の所要時間の差異を示している。グラフD1では、基準サイクル動画の各動作動画の所要時間を白丸でプロットしており、分析対象のサイクル動画の各動作動画の所要時間を黒丸でプロットしている。グラフD1により、動作動画単位(区間単位)で、基準サイクル動画及び分析対象のサイクル動画を比較でき、基準サイクル動画を基準として分析対象のサイクル動画の所要時間が長いか短いか(即ち、各動作が遅いか速いか)を容易に把握できる。また分析情報欄R3は、ステップS100で選択された各サイクル動画のサイクルタイムをプロットした散布図と、サイクルタイムの最小値、第1四分位数、中央値、第3四分位数、最大値を示す箱ひげ図とを表示する。図19Cの散布図は、基準サイクル動画のサイクルタイムを白丸でプロットし、分析対象のサイクル動画のサイクルタイムを大きい黒丸でプロットし、その他のサイクル動画のサイクルタイムを小さい黒丸でプロットしてある。
 また分析情報欄R3は、グラフD1及びサイクルタイムの散布図の下側に、図20Aに示すように、ステップS100で選択されたサイクル動画における各動作動画(各区間)の所要時間の散布図及び箱ひげ図を表示する。ここでの散布図は、横軸に各区間を示し、縦軸に各区間の所要時間を示し、基準サイクル動画の所要時間を白丸でプロットし、分析対象のサイクル動画の所要時間を大きい黒丸でプロットし、その他のサイクル動画の所要時間を小さい黒丸でプロットしてある。これにより、基準サイクル動画を含む選択されたサイクル動画について、区間毎の所要時間のばらつきを提示できる。更に分析情報欄R3は、ステップS100で選択された各サイクル動画について、各動作動画(各区間)の所要時間を積み上げて表示した積み上げグラフD2を表示する。積み上げグラフD2は、各サイクル動画について、下から順番に各動作動画(区間1,区間2…)の所要時間を積算した棒グラフを示す。なお、積み上げグラフD2は、左側から順に、基準サイクル動画の棒グラフ、分析対象のサイクル動画の棒グラフ、その他のサイクル動画の棒グラフが表示されている。図20Aの例では、区間6の所要時間のみハッチングを付けて示しているが、各区間の所要時間が同じ色(表示態様)で表示されている。これにより、各サイクル動画について、各動作動画の所要時間の長短を容易に把握できる。積み上げグラフD2中の各区間は、所定の操作(例えばカーソルによる選択)が行われた場合に、対応するサイクル動画の区間の所要時間を表示するように構成されており、更に所定の操作(例えばマウスの左クリック)が行われた場合に、対応するサイクル動画の区間(動作動画)の再生が開始されるように構成されている。図20Aの例では、ビデオ10の区間6が選択されており、選択された区間6の所要時間が表示されている。
 図19C及び図20Aに示すように、比較画面は更に区間比較欄R5を有しており、区間比較欄R5には、横軸にサイクル動画の再生時間を示し、基準サイクル動画及び分析対象のサイクル動画における各動作動画(各区間)の開始時間及び終了時間を示している。図19C及び図20Aの例では、基準サイクル動画及び分析対象のサイクル動画の開始時間を一致させて、各動作動画の開始時間及び終了時間が示されており、2つのサイクル動画の動画表示欄R4での再生位置を示すマークC10が付加されている。本実施形態の比較画面は、基準サイクル動画及び分析対象のサイクル動画を、各サイクル動画を区分した動作動画(各区間)毎に同期(連動)させて表示(再生)するように構成されている。例えば、図19C及び図20Aの例では、ビデオ115の区間1の所要時間が、ビデオ2の区間1の所要時間よりも長いので、2つのサイクル動画が再生された場合、ビデオ2は、区間1の再生を終了した後、ビデオ115の区間1の再生が終了するまで待機し、ビデオ115の区間1の再生が終了した場合に、2つのサイクル動画の区間2の再生が開始される。図20Bの区間比較欄R5は、2つのサイクル動画の区間1の再生が終了した時点の状態を示しており、マークC10は、各サイクル動画の区間1の終了時点を指し示して、この後、各サイクル動画の区間2の再生が開始される。
 また区間比較欄R5に表示された各区間は、所定の操作(例えばマウスの左クリック)が行われた場合に、操作(選択)された動作動画(区間)の開始時間を一致させて、各動作動画の開始時間及び終了時間を示すように構成されている。図20Cの例では、区間4が選択されており、区間4の開始時間を一致させて、2つのサイクル動画の各区間の開始時間及び終了時間が示されている。これにより、選択された区間の所要時間の長短を容易に把握できる。このとき、動画表示欄R4に、2つのサイクル動画における選択された動作(区間)の動作動画がループ再生(繰り返して再生)されてもよい。また、区間比較欄R5を介して任意の区間が選択された場合、選択された区間について2つのサイクル動画における動作動画が同期して動画表示欄R4に表示される。これにより、各区間について、2つのサイクル動画における作業者の動作を比較することができる。また、比較画面は、動画表示欄R4に2つのサイクル動画の表示中に、切替ボタンC8,C9によって分析対象の切替指示が行われた場合、この時点で表示中の区間(動作)と同じ区間から、基準サイクル動画と、切替指示された分析対象のサイクル動画との再生を開始するように構成されている。切替ボタンC7によって基準サイクル動画の切替指示が行われた場合でも、この時点で表示中の区間と同じ区間から、変更指示された基準サイクル動画と、表示中の分析対象のサイクル動画との再生を開始する。
 また、区間比較欄R5中の各区間は、所定の操作(例えばマウスのダブルクリック)が行われた場合に、操作(選択)された区間の動作動画について、更に詳細な動作動画に区分する処理を行うように構成されている。なお、処理対象のサイクル動画に対して1回の区分処理で得られた動作動画を大分類の動作毎の動作動画とし、大分類の動作の動作動画に対して1回の区分処理で得られた動作動画を中分類の動作毎の動作動画とし、中分類の動作の動作動画に対して1回の区分処理で得られた動作動画を小分類の動作毎の動作動画とする。図20Cの例では、区間4が選択されており、この場合、制御部11は、選択された区間4の動作動画(大分類の動作動画)を処理対象として、ステップS97と同様の処理を行い、区間4の動作動画を、切れ目予測モデルM3を用いて中分類の動作の動作動画(区間4-1,区間4-2…)に区分する。ここでは、制御部11は、切れ目予測モデルM3に、区間4の動作動画に含まれる各フレームを順次入力し、切れ目予測モデルM3からの出力情報に基づいて、区間4の動作動画に含まれる中分類の各動作の動作動画の開始時間及び終了時間を特定(予測)する。ここでも、制御部11は、大分類の動作の動作動画から中分類の動作の動作動画に区分する区分数(例えば5個)を切れ目予測モデルM3に設定又は入力してもよく、区分後の中分類の各動作の動作動画の切れ目に対して編集処理を行ってもよい。図20Dの区間比較欄R5は、中分類の動作の動作動画(区間4-1,区間4-2…)の区分後の表示状態を示している。なお、同様に、図20Dの区間比較欄R5中のいずれかの区間(例えば区間4-1)が選択された場合、制御部11は、選択された区間4-1の動作動画(中分類の動作動画)を処理対象として、ステップS97と同様の処理を行い、区間4-1の動作動画を、切れ目予測モデルM3を用いて小分類の動作の動作動画(図示せず)に区分する。ユーザは、このような処理を複数回行うことにより、サイクル動画を段階的に動作動画に分割でき、所望の細かさでの動作動画による分析処理が可能となる。また、ユーザが確認したい区間についてのみより詳細な動作動画への分割を行うことができるので、不要な分割処理を抑制できる。
 制御部11は、図19C及び図20Aに示す比較結果を表示した後、例えば切替ボタンC7によって基準サイクル動画の切替が指示された場合、基準サイクル動画を、選択された他のサイクル動画に変更し、比較画面の内容を更新する。また、制御部11は、切替ボタンC8,C9によって分析対象のサイクル動画の切替が指示された場合、分析対象を、選択された他のサイクル動画に変更し、比較画面の内容を更新する。また制御部11は、分析情報欄R3に表示されたグラフD1、各サイクル動画のサイクルタイムの散布図、又は各動作動画(各区間)の所要時間の散布図にプロットされた各マーカの選択を受け付けた場合、選択されたマーカに対応する所要時間又はサイクルタイムを表示する。更に制御部11は、分析情報欄R3に表示された積み上げグラフD2に示された各区間の選択を受け付けた場合、選択された区間の所要時間を表示し、更に当該区間の再生が指示された場合、当該区間の動作動画を動画表示欄R4に表示させる。
 制御部11は、上述した処理を終了するか否かを判断する(S105)。例えば制御部11は、入力部14を介してユーザから、上述した処理の終了指示を受け付けた場合、処理を終了すると判断する。制御部11は、上述した処理を終了しないと判断する場合(S105:NO)、比較画面に対する操作を受け付ける都度、受け付けた操作に対応する処理を行いつつ待機する。上述した処理を終了すると判断した場合(S105:YES)、制御部11は、比較画面に表示した比較分析結果を記憶部12に記憶し(S106)、一連の処理を終了する。例えば制御部11は、ステップS91で選択された動画、ステップS94で各動画から抽出したサイクル動画の開始時間及び終了時間、ステップS97で各サイクル動画を区分した動作動画の開始時間及び終了時間等を、記憶部12に設けられた1つのフォルダに記憶する。このように一連の比較分析結果が記憶されたフォルダを読み出すことにより、いつでも比較分析結果を確認することができ、また、表示された比較画面を更に操作することにより、更なる比較分析処理を行うことができる。なお、各フォルダには、一連の比較分析結果が記憶されるだけでなく、処理対象の動画から抽出された各サイクル動画が、それぞれのフォルダに記憶されてもよい。
 上述した処理により、本実施形態では、作業者を撮影した動画から、指定されたサイクル動画に基づいて複数のサイクル動画が自動で抽出(分割)され、それぞれのサイクル動画が、作業者が行う動作毎に自動で区分される。また、動画から抽出されたサイクル動画から分析対象に選択された複数のサイクル動画において、手本とすべき基準サイクル動画が特定され、基準サイクル動画と、他のサイクル動画との比較結果が提示される。基準サイクル動画と他のサイクル動画とを表示する際に、動作動画単位で同期させて再生することにより、動作動画単位での比較が容易となる。
 図20Aに示すように、比較画面には、上述した処理によって生成されて記憶部12のフォルダに記憶された比較分析結果をワンクリックで読み出し可能なライブラリ画面の表示を指示するためのライブラリボタンC11が設けられている。ライブラリボタンC11が操作された場合、制御部11は、図21Aに示すようなライブラリ画面R6を表示する。ライブラリ画面R6は、記憶部12に記憶してある比較分析結果の選択を受け付ける選択画面を表示させるための比較タブと、カメラで作業者を撮影した動画の選択を受け付ける選択画面を表示させるためのビデオタブと、比較分析結果及び動画のいずれかの選択を受け付ける選択画面を表示させるためのすべてタブとが設けられている。図21Aの例では、すべてタブが選択されており、比較分析結果及び動画の選択画面が表示されている。図21Aの画面中のライブラリ画面において、例えば「比較分析-ビデオ115×動画1」が選択された場合、制御部11は、対応する比較分析結果を記憶部12から読み出し、図19C及び図20Aに示す比較画面を表示部15に表示する。このようにライブラリ画面を用いることにより、ワンクリックで所望の比較分析結果又は動画を読み出して表示することができる。
 図19C、図20A及び図21Aの画面中の動画表示欄R4では、分析対象のサイクル動画は1つだけ表示され、切替ボタンC8,C9によって切替できる構成である。このほかに、図21Bに示すように、分析対象とすべき複数のサイクル動画(動画群)が動画表示欄R4に表示される構成でもよい。例えば図17中のステップS100で選択されたサイクル動画のうちで基準サイクル動画以外のサイクル動画が、分析対象として表示されてもよい。この場合、動画表示欄R4に表示された全てのサイクル動画について、各区間の所要時間の比較結果を示すグラフD1が分析情報欄R3に表示されてもよく、全てのサイクル動画の各区間の開始時間及び終了時間が区間比較欄R5に表示されてもよい。
(実施形態3)
 実施形態2では、比較するサイクル動画(基準サイクル動画及び分析対象のサイクル動画)中の各動作動画(各区間)の所要時間を比較して提示する構成である。本実施形態では、分析対象に選択されたサイクル動画から、基準サイクル動画と比較して各区間の所要時間が長いサイクル動画、及び、基準サイクル動画との各区間における類似度が低いサイクル動画を提示する情報処理装置について説明する。本実施形態の情報処理装置10は、図2に示す実施形態1の情報処理装置10の構成と同様の構成を有するので、構成についての説明は省略する。
 図22は実施形態3のサイクル動画の比較処理手順の一例を示すフローチャート、図23は画面例を示す説明図である。図22に示す処理は、図17に示す処理において、ステップS102,S103の間にステップS111~S114を追加したものである。図17と同じステップについては説明を省略する。図22では、図17中のステップS91~S101の図示を省略する。
 本実施形態の情報処理装置10において、制御部11は、図17中のステップS91~S102と同様の処理を実行する。そして、制御部11は、ステップS100で分析対象に選択されたサイクル動画から1つを抽出し(S111)、抽出したサイクル動画と基準サイクル動画とにおいて、各区間(各動作動画)の所要時間の差異(基準サイクル動画を基準とした超過分の差異)を算出する(S112)。また制御部11は、抽出したサイクル動画と基準サイクル動画とにおいて、各区間(各動作動画)の類似度を算出する(S113)。ここでも類似度は、相関係数、コサイン類似度等を用いることができ、また、2つの動作動画の類似度を推定する学習モデルを用いる構成でもよい。制御部11は、分析対象に選択された全サイクル動画に対してステップS112~S113の処理を終了したか否かを判断し(S114)、終了していないと判断する場合(S114:NO)、ステップS111に戻り、終了したと判断した場合(S114:YES)、ステップS103に移行する。ここでのステップS103では、制御部11は、図23に示すような比較画面を生成する。図23の画面は、図20Aの画面と同様の構成を有し、積み上げグラフD2において、ステップS112で算出した各区間の所要時間の差異(基準サイクル動画との差異)が最大であるサイクル動画に対して、各区間の所要時間が最大であることを示すメッセージが表示される。図23の例では、ビデオ2のサイクル動画において区間3,9の所要時間が最長であることが表示されている。なお、積み上げグラフD2に付加されるメッセージは、基準サイクル動画との差異が最大である場合に表示される構成に限定されず、最大であり且つ所定値以上である場合に表示される構成でもよい。また本実施形態では、図23の比較画面の代わりに、積み上げグラフD2において、ステップS113で算出した各区間の類似度(基準サイクル動画との類似度)が最小であるサイクル動画に対して、各区間の類似度が最小であることを示すメッセージが付加される構成でもよい。この場合、動作動画中の作業者の動作が基準サイクル動画と類似しない(乖離している)サイクル動画を提示できる。所要時間が長い区間を有するサイクル動画、及び、基準サイクル動画との類似度が小さい区間を有するサイクル動画は、作業者の作業に何らかの問題がある可能性が高く、このようなサイクル動画及び区間をユーザに提示することにより、ユーザは作業者の作業内容の適否を検証できる。
 なお、制御部11は、各区間の所要時間の差異に応じたスコア(例えば差異が小さいほど高いスコア)を算出し、各区間のスコアの合計を当該サイクル動画のスコアとして当該サイクル動画を評価してもよい。また制御部11は、分析対象のサイクル動画と基準サイクル動画とにおいて、各区間(各動作動画)の類似度に応じたスコア(例えば類似度が大きいほど高いスコア)を算出し、各区間のスコアの合計を当該サイクル動画のスコアとして当該サイクル動画を評価してもよい。
(実施形態4)
 実施形態2~3では、分析対象として選択されたサイクル動画の中から基準サイクル動画が決定される構成である。本実施形態では、処理対象の動画から抽出されたサイクル動画から、基準サイクル動画を生成する情報処理装置について説明する。本実施形態の情報処理装置10は、図2に示す実施形態1の情報処理装置10の構成と同様の構成を有するので、構成についての説明は省略する。
 図24は実施形態4のサイクル動画の比較処理手順の一例を示すフローチャート、図25は基準サイクル動画の例を示す説明図である。図24に示す処理は、図17に示す処理において、ステップS99,S100の間にステップS121~S128を追加したものである。図17と同じステップについては説明を省略する。図24では、図17中のステップS91~S98,S103~S106の図示を省略する。
 本実施形態の情報処理装置10において、制御部11は、図17中のステップS91~S99と同様の処理を実行する。これにより、制御部11は、図18C又は図18Dに示すような画面を表示する。ここで表示される画面には、処理対象の動画から抽出されたサイクル動画に基づいて基準サイクル動画を生成する指示を受け付けるためのボタン(図示せず)が設けられており、このボタンが操作されることにより、基準サイクル動画の生成指示を受け付ける。制御部11は、基準サイクル動画の生成指示を受け付けたか否かを判断しており(S121)、受け付けていないと判断する場合(S121:NO)、ステップS100に移行する。この場合、制御部11は、図17に示した実施形態2と同様の処理を実行する。
 基準サイクル動画の生成指示を受け付けたと判断した場合(S121:YES)、制御部11は、ステップS97で動作動画に区分した各サイクル動画から、同じ動作の動作動画を抽出する(S122)。制御部11は、各サイクル動画から抽出した動作動画に対して所要時間に応じたスコアを算出する(S123)。例えば制御部11は、所要時間が短いほど高いスコアを各動作動画に割り当てる。そして制御部11は、各サイクル動画から抽出した動作動画において、全ての組合せでの類似度を算出し(S124)、算出した類似度に応じたスコアを算出する(S125)。例えば制御部11は、1つの動作動画について、他の動作動画との類似度を順次算出し、類似度が高いほど高いスコアを割り当て、各類似度に応じたスコアの合計を当該動作動画のスコアとする。制御部11は、全ての動作動画について同様の処理を行うことにより他の動作動画との類似度に応じたスコアを算出する。
 制御部11は、各動作(各区間)について、ステップS123で算出したスコアと、ステップS125で算出したスコアとに基づいて、基準サイクル動画に用いる動作動画を特定する(S126)。例えば制御部11は、ステップS123で算出したスコアと、ステップS125で算出したスコアとの合計が最高の動作動画を、基準サイクル動画に用いる動作動画を特定する。制御部11は、全ての動作の動作動画に対してステップS123~S126の処理を終了したか否かを判断し(S127)、終了していないと判断する場合(S127:NO)、ステップS122に戻り、未処理の動作についてステップS122~S126の処理を繰り返す。なお、基準サイクル動画に用いる動作動画は、処理対象の動画から抽出された動作画像であればよく、異なる作業者の動作動画であってもよい。
 全ての動作の動作動画に対する処理を終了したと判断した場合(S127:YES)、制御部11は、ステップS126で各動作について特定した動作動画をつなぎ合わせて基準サイクル動画を生成する(S128)。これにより、図25に示すような基準サイクル動画が生成される。図25の例では、ビデオ20のサイクル動画の区間1と、ビデオ30のサイクル動画の区間2と、…、ビデオ40の区間9と、ビデオ60の区間10とによる基準サイクル動画が生成されている。その後、制御部11は、ステップS100に移行する。なお、この場合のステップS102では、制御部11は、ステップS128で生成した基準サイクル動画を、手本とすべき基準サイクル動画に特定する。上述した処理により、どの動作(区間)においても所要時間が短く、他のサイクル動画における動作動画との類似度が高い動作動画によって基準サイクル動画を生成することができる。作業者による動作動画は、他の動作動画との類似度が高いほど標準的な動作が行われているものと考えられる。よって、所要時間が短く標準的な動作が行われている動作動画による最適な基準サイクル動画を生成することができる。なお、上述した処理において、基準サイクル動画に用いる動作動画は、所要時間に応じたスコアと、他のサイクル動画における動作動画との類似度に応じたスコアとの合計から特定される構成に限定されない。例えば、所要時間が最短の動作動画、又は、他の動作動画との類似度が最大の動作動画等を、基準サイクル動画に用いる動作動画に特定してもよい。また、各サイクル動画から抽出した動作動画に対して、例えば実施形態1で用いた要因分類モデルM5によって標準動作であるか否かの判定処理を行い、標準動作であると判定された動作動画に対して、ステップS123~S126の処理を行ってもよい。この場合、より最適でより標準的な動作を撮影した動作動画による基準サイクル動画を生成できる。
(実施形態5)
 実施形態2~4では、1人の作業者が撮影された動画を処理対象とする構成である。本実施形態では、複数の作業者が撮影された動画を処理対象とする情報処理装置について説明する。本実施形態の情報処理装置10は、図2に示す実施形態1の情報処理装置10の構成と同様の構成を有するので、構成についての説明は省略する。
 図26は実施形態5のサイクル動画の比較処理手順の一例を示すフローチャート、図27A及び図27Bは画面例を示す説明図である。図26に示す処理は、図17に示す処理において、ステップS91,S92の間にステップS131~S136を追加したものである。図17と同じステップについては説明を省略する。図26では、図17中のステップS94~S106の図示を省略する。
 本実施形態の情報処理装置10において、制御部11は、図18Aに示すような動画選択画面から任意の動画の選択を受け付ける(S91)。制御部11は、選択された動画に対して物体検知処理を行い、動画中の被写体(対象者)を検知する(S131)。物体検知処理は、CNN、SSD(Single Shot Multibox Detector)、YOLO(You Only Look Once)等の物体検知アルゴリズム、又は、SegNet、FCN(Fully Convolutional Network )、U-Net等のセマンティックセグメンテーションを実現するアルゴリズムで構成された学習モデルを用いて実行されてもよい。制御部11は、検知した対象者が複数であるか否かを判断し(S132)、複数でないと判断した場合(S132:NO)、即ち検知した対象者が1人の場合、ステップS92に移行する。この場合、制御部11は、図17に示した実施形態2と同様の処理を実行する。
 検知した対象者が複数であると判断した場合(S132:YES)、制御部11は、図27Aに示すように、動画中の対象者から1人の分析対象者の選択を促すメッセージを表示する(S133)。図27Aの画面に表示中の動画は、所定の操作(例えばマウスの左クリック)によって1人の対象者を選択できるように構成されており、制御部11は、動画に対する所定操作によって1人の対象者の選択を受け付ける(S134)。なお、制御部11は、表示中の動画に対して、検知した対象者をバウンディングボックス等で明示し、いずれかのバウンディングボックスの選択を受け付けることにより、任意の対象者の選択を受け付けてもよい。制御部11は、動画において、選択された対象者の領域を特定する(S135)。ここでは、制御部11は、所定操作が行われた点を中心として所定の大きさの領域を分析対象者の領域に特定してもよく、ステップS131で検知した各対象者の領域のうちで所定操作が行われた点を含む領域を分析対象者の領域に特定してもよい。図27Bの例では、動画中の右側の対象者に対して所定操作が行われることによりプルダウンメニューが表示され、プルダウンメニューの「対象者に選択」が選択された場合に、制御部11は、当該対象者を分析対象に特定する。
 動画に複数の対象者が含まれる場合、各対象者は、動画中の同じ領域に撮影される。図27Aの例では、動画の左側に撮影されている対象者は常に左側に撮影され、右側に撮影されている対象者は常に右側に撮影される。よって、本実施形態では、制御部11は、ステップS91で選択した動画の各フレームから、分析対象者を含む領域を抽出して分析対象者のみを含む部分動画を生成する(S136)。その後、制御部11は、1人の分析対象者を含む部分動画を処理対象として、ステップS92以降の処理を実行する。これにより、実施形態2~4の情報処理装置10と同様の処理によって、部分動画から抽出されたサイクル動画の比較結果を提示することができる。なお、本実施形態では、処理対象の動画から、分析対象者を含む部分動画を生成することなく、処理対象の動画中の分析対象者の領域に基づいてステップS92以降の処理を実行する構成でもよい。
 上述した処理では、動画に複数の作業者が含まれる場合であっても、任意に選択された1人の作業者を分析対象者とすることができ、上述した実施形態2~4と同様の処理によって、分析対象者に選択された作業者を撮影した動画から抽出されたサイクル動画の比較を行うことができる。上述した実施形態2~5においても、処理対象の動画は、作業を行う作業者を撮影した動画に限定されず、所定の作業を行うように構成されたロボットを撮影した動画であってもよい。
 上述した実施形態に記載した事項は相互に組み合わせることが可能である。また、請求の範囲に記載した独立請求項及び従属請求項は、引用形式に関わらず全てのあらゆる組み合わせにおいて、相互に組み合わせることが可能である。さらに、請求の範囲には他の2以上のクレームを引用するクレームを記載する形式(マルチクレーム形式)を用いているが、これに限るものではない。マルチクレームを少なくとも一つ引用するマルチクレーム(マルチマルチクレーム)を記載する形式を用いて記載してもよい。
 今回開示された実施の形態はすべての点で例示であって、制限的なものでは無いと考えられるべきである。本発明の範囲は、上記した意味では無く、請求の範囲によって示され、請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
 10 情報処理装置
 11 制御部
 12 記憶部
 13 通信部
 14 入力部
 15 表示部
 M1 品種予測モデル
 M2 サイクル予測モデル
 M3 切れ目予測モデル
 M4 動作分析モデル
 M5 要因分類モデル
 

Claims (25)

  1.  作業を行う対象を撮影した動画を、前記作業に含まれる動作毎に区分し、
     それぞれ区分した区分動画に基づいて、各動作が標準動作であるか否かを判定し、
     各動作に対する判定結果に基づいて、前記作業が標準作業であるか否かを分析する
     処理をコンピュータに実行させるプログラム。
  2.  対象を撮影した動画を入力した場合に前記対象が行う動作に関する情報を出力するように学習してある学習モデルに、前記動画を入力して、前記動画に含まれる前記区分動画中の対象が行う動作に関する情報を出力し、
     出力した動作に関する情報に基づいて、前記区分動画における動作が標準動作であるか否かを判定する
     処理を前記コンピュータに実行させる請求項1に記載のプログラム。
  3.  各区分動画における各動作の動作時間が標準動作時間であるか否かに応じて、各動作が標準動作であるか否かを判定する
     処理を前記コンピュータに実行させる請求項1又は2に記載のプログラム。
  4.  前記動画を、複数の動作を含む作業要素毎に区分し、
     それぞれ区分した作業要素動画を、前記動作毎に区分する
     処理を前記コンピュータに実行させる請求項1に記載のプログラム。
  5.  前記動画に基づいて、前記動画中の対象が行う作業の作業対象の品種を判定し、
     判定した品種に応じた前記学習モデルを選択し、
     選択した学習モデルに、前記動画を入力して、前記動画に含まれる前記区分動画中の対象が行う動作に関する情報を出力する
     処理を前記コンピュータに実行させる請求項2に記載のプログラム。
  6.  作業を行う対象を撮影した動画を入力した場合に前記作業に含まれる動作に関する情報を出力するように学習してある学習モデルに、前記動画を入力して前記動画中の対象が行う動作に関する情報を出力し、
     出力した動作に関する情報に基づいて、前記動画を前記動作毎に区分する
     処理を前記コンピュータに実行させる請求項1に記載のプログラム。
  7.  前記動画を前記動作毎に区分した区分位置を出力し、
     各区分位置に対する変更を受け付ける
     処理を前記コンピュータに実行させる請求項1に記載のプログラム。
  8.  前記動画の任意の再生位置に対して、前記動作毎に区分する区分位置の設定を受け付ける
     処理を前記コンピュータに実行させる請求項1に記載のプログラム。
  9.  前記作業要素動画を入力した場合に前記作業要素動画中の対象が行う作業要素が標準作業ではない要因に関する情報を出力するように学習してある学習モデルに、複数の前記作業要素動画をそれぞれ入力して前記要因に関する情報を出力し、
     出力した前記要因に関する情報に基づいて、前記複数の作業要素動画を前記要因毎にグループ分けする
     処理を前記コンピュータに実行させる請求項4に記載のプログラム。
  10.  前記要因毎に、前記作業要素動画を含む動画を出力する
     処理を前記コンピュータに実行させる請求項9に記載のプログラム。
  11.  複数の動画のそれぞれを前記動作毎に区分した区分動画に基づいて、前記複数の動画中の各動作の区分動画を同期させて出力する
     処理を前記コンピュータに実行させる請求項1に記載のプログラム。
  12.  複数の動画のそれぞれを前記動作毎に区分した各区分動画に基づいて、各動画における各動作の動作時間を計測し、
     計測した各動画における各動作の動作時間のばらつきを示す図表を生成する
     処理を前記コンピュータに実行させる請求項1に記載のプログラム。
  13.  前記図表は、各動画における各動作の動作時間を、各動作に対応付けてプロットした図表であり、
     前記図表中にプロットされた点の選択を受け付けた場合、選択された点に対応する動画中の対応する動作の区分動画を出力する
     処理を前記コンピュータに実行させる請求項12に記載のプログラム。
  14.  前記動画を区分した前記作業要素動画に基づいて、前記作業要素毎に作業開始タイミング及び作業終了タイミングを示す図表を生成する
     処理を前記コンピュータに実行させる請求項4に記載のプログラム。
  15.  複数の前記動画を、前記作業に含まれる動作毎に区分し、
     それぞれ区分した区分動画に基づいて、前記複数の動画中の各動作の区分動画を同期させて出力する
     処理を前記コンピュータに実行させる請求項1又は2に記載のプログラム。
  16.  前記複数の動画の中から、他の動画と比較する基準動画を選択し、
     選択した基準動画と、前記基準動画以外の他の動画とにおける各動作の区分動画を同期させて出力する
     処理を前記コンピュータに実行させる請求項15に記載のプログラム。
  17.  前記基準動画及び前記他の動画におけるいずれかの動作の区分動画の出力中に、前記他の動画の変更指示を受け付けた場合、前記基準動画及び変更指示された他の動画を、出力中の前記動作の区分動画から同期させて出力する
     処理を前記コンピュータに実行させる請求項16に記載のプログラム。
  18.  複数の前記他の動画のそれぞれの区分動画の中から、前記基準動画中の各区分動画と、前記他の動画中の各区分動画とにおける類似度が低い区分動画を抽出する
     処理を前記コンピュータに実行させる請求項16に記載のプログラム。
  19.  複数の前記他の動画のそれぞれの区分動画の中から、前記区分動画に係る動作の所要時間が長い区分動画を抽出する
     処理を前記コンピュータに実行させる請求項16に記載のプログラム。
  20.  前記複数の動画中の各区分動画から、各動作について基準動画に含めるべき区分動画を抽出し、
     各動作について抽出した区分動画をつなぎ合わせて前記基準動画を生成する
     処理を前記コンピュータに実行させる請求項16に記載のプログラム。
  21.  前記動画は、前記対象が一連の前記作業を行う時間を1サイクル動画とし、複数のサイクル動画を含んでおり、
     前記動画中の1つのサイクル動画の指定を受け付け、
     前記動画から、指定されたサイクル動画に類似するサイクル動画を抽出し、
     抽出した各サイクル動画を前記動作毎に区分する
     処理を前記コンピュータに実行させる請求項1又は2に記載のプログラム。
  22.  1又は複数の前記対象を撮影した複数の前記動画が記憶部に記憶してあり、
     前記記憶部に記憶してある前記複数の動画から、前記指定されたサイクル動画に類似するサイクル動画を抽出し、
     抽出した各サイクル動画を前記動作毎に区分する
     処理を前記コンピュータに実行させる請求項21に記載のプログラム。
  23.  前記動画中に複数の対象が含まれる場合、いずれかの対象に対する選択を受け付け、
     選択された対象が行う動作毎に前記動画を区分する
     処理を前記コンピュータに実行させる請求項1又は2に記載のプログラム。
  24.  作業を行う対象を撮影した動画を、前記作業に含まれる動作毎に区分し、
     それぞれ区分した区分動画に基づいて、各動作が標準動作であるか否かを判定し、
     各動作に対する判定結果に基づいて、前記作業が標準作業であるか否かを分析する
     処理をコンピュータが実行する情報処理方法。
  25.  作業を行う対象を撮影した動画を、前記作業に含まれる動作毎に区分する区分部と、
     それぞれ区分した区分動画に基づいて、各動作が標準動作であるか否かを判定する判定部と、
     各動作に対する判定結果に基づいて、前記作業が標準作業であるか否かを分析する分析部と
     を備える情報処理装置。
     
PCT/JP2023/031608 2022-09-20 2023-08-30 プログラム、情報処理方法、及び情報処理装置 WO2024062882A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022-149255 2022-09-20
JP2022149255 2022-09-20

Publications (1)

Publication Number Publication Date
WO2024062882A1 true WO2024062882A1 (ja) 2024-03-28

Family

ID=90454147

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/031608 WO2024062882A1 (ja) 2022-09-20 2023-08-30 プログラム、情報処理方法、及び情報処理装置

Country Status (1)

Country Link
WO (1) WO2024062882A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006209657A (ja) * 2005-01-31 2006-08-10 Bandai Co Ltd オーサリング装置、オーサリング方法およびコンピュータプログラム
JP2014064110A (ja) * 2012-09-20 2014-04-10 Casio Comput Co Ltd 画像処理装置、画像処理方法及びプログラム
WO2017150211A1 (ja) * 2016-03-03 2017-09-08 コニカミノルタ株式会社 行動認識装置及び行動学習装置並びに行動認識プログラム及び行動学習プログラム
JP2020087437A (ja) * 2018-11-27 2020-06-04 富士ゼロックス株式会社 カメラシステムを使用した、ユーザの身体部分によって実行されるタスクの完了の評価のための方法、プログラム、及びシステム
JP2021071773A (ja) * 2019-10-29 2021-05-06 株式会社エクサウィザーズ 動作評価装置、動作評価方法、動作評価システム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006209657A (ja) * 2005-01-31 2006-08-10 Bandai Co Ltd オーサリング装置、オーサリング方法およびコンピュータプログラム
JP2014064110A (ja) * 2012-09-20 2014-04-10 Casio Comput Co Ltd 画像処理装置、画像処理方法及びプログラム
WO2017150211A1 (ja) * 2016-03-03 2017-09-08 コニカミノルタ株式会社 行動認識装置及び行動学習装置並びに行動認識プログラム及び行動学習プログラム
JP2020087437A (ja) * 2018-11-27 2020-06-04 富士ゼロックス株式会社 カメラシステムを使用した、ユーザの身体部分によって実行されるタスクの完了の評価のための方法、プログラム、及びシステム
JP2021071773A (ja) * 2019-10-29 2021-05-06 株式会社エクサウィザーズ 動作評価装置、動作評価方法、動作評価システム

Similar Documents

Publication Publication Date Title
US9448908B2 (en) System and method for model based session management
JP6319271B2 (ja) イベント解析装置、イベント解析システム、イベント解析方法、およびイベント解析プログラム
US20180004823A1 (en) System and method for data profile driven analytics
US20090164489A1 (en) Information processing apparatus and information processing method
US9904517B2 (en) System and method for automatic modeling of an application
WO2002073521A2 (en) Automatic algorithm generation
CN101989173A (zh) 图像编辑装置、图像编辑方法和程序
CN109753884A (zh) 一种基于关键帧提取的视频行为识别方法
Kwak et al. Detecting the starting frame of actions in video
KR20220090360A (ko) 하이퍼파라미터를 조정하는 빅데이터 분석 시각화 장치 및 방법
JP7273935B2 (ja) 外部設定機器、ロギング設定方法およびプログラム
WO2024062882A1 (ja) プログラム、情報処理方法、及び情報処理装置
JPWO2019087275A1 (ja) 作業分析装置、及び作業分析方法
JP7173826B2 (ja) プログラマブルロジックコントローラシステム、プログラム作成支援装置およびコンピュータプログラム
JP7212496B2 (ja) プログラマブルロジックコントローラシステム、プログラム作成支援装置およびコンピュータプログラム
US20220280086A1 (en) Management server, method of generating relative pattern information between pieces of imitation drawing data, and computer program
JP7440352B2 (ja) 教育コンテンツ作成システム及び方法
US11042274B2 (en) Extracting demonstrations from in-situ video content
JP4308113B2 (ja) データ分析装置及びその方法、プログラム
US20210216584A1 (en) Mobile device event control with topographical analysis of digital images inventors
JP3931890B2 (ja) 映像の検索方法および装置
US20230394803A1 (en) Method for annotating training data
US20230075067A1 (en) Systems and Methods for Resource Analysis, Optimization, or Visualization
JP7496799B2 (ja) モバイル作業分析装置及び作業分析方法
EP4083858A1 (en) Training data set reduction and image classification

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23868006

Country of ref document: EP

Kind code of ref document: A1