WO2022065303A1 - 推論計算処理装置、及び推論計算処理方法 - Google Patents

推論計算処理装置、及び推論計算処理方法 Download PDF

Info

Publication number
WO2022065303A1
WO2022065303A1 PCT/JP2021/034571 JP2021034571W WO2022065303A1 WO 2022065303 A1 WO2022065303 A1 WO 2022065303A1 JP 2021034571 W JP2021034571 W JP 2021034571W WO 2022065303 A1 WO2022065303 A1 WO 2022065303A1
Authority
WO
WIPO (PCT)
Prior art keywords
inference
data
calculation processing
sub
trained model
Prior art date
Application number
PCT/JP2021/034571
Other languages
English (en)
French (fr)
Inventor
維佳 李
Original Assignee
ファナック株式会社
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 ファナック株式会社 filed Critical ファナック株式会社
Priority to JP2022551996A priority Critical patent/JPWO2022065303A1/ja
Priority to US18/024,122 priority patent/US20230368052A1/en
Priority to CN202180062891.1A priority patent/CN116057548A/zh
Priority to DE112021005016.8T priority patent/DE112021005016T5/de
Publication of WO2022065303A1 publication Critical patent/WO2022065303A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/046Forward inferencing; Production systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/776Validation; Performance evaluation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Definitions

  • the present invention relates to an inference calculation processing device and an inference calculation processing method.
  • GPU Graphics Processing Unit
  • the use of GPU (Graphics Processing Unit) devices is usually indispensable for high-speed calculation processing of applications that use deep learning, but the update speed of GPU devices is fast, and they are incorporated into products from the aspect of long-term maintenance. There are some difficult points.
  • the GPU device is an expensive device and the introduction cost is high.
  • the extraction of loosely stacked workpieces using deep learning is an application used in the production line of a factory, and is a normal inexpensive CPU (Central Processing Unit) in order to achieve the target cycle time of the production line at low cost. It is desirable to be able to perform inferences at high speed using the device.
  • a distance image of the workpieces stacked separately is generated and displayed, and the 3D point cloud data in the vicinity of the extraction position taught in the displayed distance image is used as input data, and the evaluation value or the evaluation value according to the teaching is used.
  • Machine learning is performed using the evaluation value according to the success / failure result of the extraction operation as a label, and a trained model that inputs the 3D point cloud data and outputs the evaluation value of the 3D point cloud data is generated, and the generated learning is performed.
  • the extraction position corresponding to the cut out distance image with the high evaluation value is selected.
  • the distance image of a predetermined area is cut out from the distance image, but once the size of the input data for learning used in machine learning is determined, the distance image cut out in the predetermined area input to the trained model. It is necessary to cut out from the distance image so that the size (hereinafter, also referred to as “cutout image”) is the same size as the input data for learning.
  • each of the 3D point cloud data of all the cropped images is input to the trained model and each evaluation value is output, and the extraction position corresponding to the cropped image having a high evaluation value is selected.
  • the robot executes the inference calculation process in a short time without waiting for a long time.
  • the inference calculation processing device of the present disclosure is an inference calculation processing device that inputs inference data into a trained model and executes inference calculation processing of the inference data, and the inference data and the trained inference calculation processing device.
  • the acquisition unit for acquiring the model, the preprocessing unit for dividing the acquired inference data into a plurality of inference sub-data by batch processing, and the inference calculation processing order of the plurality of inference sub-data are optimized. It includes an execution unit that executes inference calculation processing of the inference data based on each of at least a part of the plurality of inference subdatas and the trained model in the optimized inference calculation processing order.
  • One aspect of the inference calculation processing method of the present disclosure is an inference calculation processing method realized by a computer, in which inference data is input to a trained model and the inference calculation processing of the inference data is executed.
  • An acquisition process for acquiring the data for inference and the trained model, a preprocessing step for dividing the acquired inference data into a plurality of inference subdata by batch processing, and an inference calculation for the plurality of inference subdata.
  • the inference calculation process can be executed in a short time without the robot waiting for a long time.
  • the robot executes the inference calculation process in a short time without waiting for a long time by using a trained model that specifies the extraction positions of a plurality of workpieces in the overlapping state in which they are piled up in bulk.
  • a trained model that specifies the extraction positions of a plurality of workpieces in the overlapping state in which they are piled up in bulk.
  • inference in which a plurality of works in a state of being stacked and overlapping are imaged based on the size of the training image data which is the teacher data used in the machine learning to generate the trained model.
  • the image data for inference is divided by batch processing, and the feature amount is extracted from the image feature analysis for multiple inference sub-image data generated by the division, and the feature amount and training image data of each of the multiple inference sub-image data are extracted.
  • An evaluation score is given to each of the plurality of inference sub-image data based on the matching result with the feature amount from the image feature analysis, and the inference of the plurality of inference sub-image data is based on the priority of the given evaluation score. Optimize the calculation processing order.
  • feature points are extracted by image processing the inference image data, the inference image data is divided by batch processing according to the number of feature points, and based on the number of feature points.
  • the inference image data is divided by batch processing based on the three-dimensional point cloud data (or distance image data) in which the works acquired by the three-dimensional measuring machine or the like are stacked and overlapped, and the division is performed.
  • predetermined height the height from the bottom of the container
  • FIG. 1 is a diagram showing an example of the configuration of the robot system 1 according to the first embodiment.
  • a robot executes a trained model generated by machine learning based on image data when taking out works stacked in bulk in a container.
  • the present invention is not limited to the case where the robot executes the trained model generated by machine learning based on the image data when the robot takes out the workpieces stacked in the container.
  • it is not limited to robot movements, but it is also applicable to the case of executing a trained model generated by machine learning based on image data in a system that makes inferences to execute arbitrary tasks based on image data. can do.
  • the robot system 1 has a trained model execution device 10 as an inference calculation processing device, a robot control device 20, a robot 30, an image pickup device 40, a plurality of workpieces 50, and a container 60.
  • the trained model execution device 10, the robot control device 20, the robot 30, and the image pickup device 40 may be directly connected to each other via a connection interface (not shown).
  • the trained model execution device 10, the robot control device 20, the robot 30, and the image pickup device 40 may be connected to each other via a network (not shown) such as a LAN (Local Area Network) or the Internet.
  • the trained model execution device 10, the robot control device 20, the robot 30, and the image pickup device 40 include a communication unit (not shown) for communicating with each other by such a connection.
  • FIG. 1 depicts the trained model execution device 10 and the robot control device 20 independently, and the trained model execution device 10 in this case may be configured by, for example, a computer.
  • the trained model execution device 10 may be mounted inside the robot control device 20 and integrated with the robot control device 20, for example, without being limited to such a configuration.
  • the robot control device 20 is a device known to those skilled in the art for controlling the operation of the robot 30.
  • the robot control device 20 receives from the trained model execution device 10 the extraction position information of the work 50 selected by the trained model execution device 10 described later among the works 50 stacked separately.
  • the robot control device 20 generates a control signal for controlling the operation of the robot 30 so as to take out the work 50 at the take-out position received from the learned model execution device 10. Then, the robot control device 20 outputs the generated control signal to the robot 30.
  • the robot control device 20 may include a trained model execution device 10 as described later.
  • the robot 30 is a robot that operates based on the control of the robot control device 20.
  • the robot 30 includes a base portion for rotating about an axis in the vertical direction, an arm for moving and rotating, and a take-out hand 31 attached to the arm for holding the work 50.
  • the take-out hand 31 of the robot 30 is equipped with an air adsorption type take-out hand, but a grip-type take-out hand may be attached, or a magnetic type that takes out an iron work by magnetic force. A hand may be attached.
  • the robot 30 drives the arm and the take-out hand 31 in response to the control signal output by the robot control device 20, moves the take-out hand 31 to the take-out position selected by the trained model execution device 10, and stacks them in bulk.
  • the work 50 is held and taken out of the container 60.
  • the transfer destination of the removed work 50 is not shown. Further, since the specific configuration of the robot 30 is well known to those skilled in the art, detailed description thereof will be omitted.
  • the machine coordinate system for controlling the robot 30 and the camera coordinate system indicating the take-out position of the work 50 are associated with each other by the calibration performed in advance. It is assumed that there is.
  • the image pickup device 40 is a digital camera or the like, and captures two-dimensional image data obtained by projecting the workpieces 50 stacked in the container 60 onto a plane perpendicular to the optical axis of the image pickup device 40.
  • the image data captured by the image pickup apparatus 40 may be a visible light image such as an RGB color image, a gray scale image, or a depth image.
  • the image pickup apparatus 40 may be configured to include an infrared sensor to capture a thermal image, or may be configured to include an ultraviolet sensor to capture an ultraviolet image for inspection of scratches, spots, etc. on the surface of an object. You may.
  • the image pickup apparatus 40 may be configured to include an X-ray camera sensor and capture an X-ray image, or may be configured to include an ultrasonic sensor and capture an ultrasonic image.
  • the image pickup device 40 may be a three-dimensional measuring device such as a stereo camera, as will be described later.
  • the work 50 is randomly placed in the container 60 including the state of being piled up in bulk.
  • the work 50 may be any as long as it can be held by the take-out hand 31 attached to the arm of the robot 30, and its shape and the like are not particularly limited.
  • FIG. 2 is a functional block diagram showing a functional configuration example of the trained model execution device 10 according to the first embodiment.
  • the trained model execution device 10 is a computer known to those skilled in the art, and has a control unit 11 as shown in FIG. Further, the control unit 11 has an acquisition unit 110, a preprocessing unit 120, and an execution unit 130. Further, the acquisition unit 110 has a data storage unit 111. Further, the pretreatment unit 120 has a batch processing unit 121. Further, the execution unit 130 includes a feature analysis unit 131, an evaluation score calculation unit 132, an optimization calculation unit 133, an inference calculation processing unit 134, and an inference result storage unit 135.
  • the control unit 11 has a CPU (Central Processing Unit), a ROM, a RAM (Random Access Memory), a CMOS (Complementary Metal-Oxide-Semicondustor) memory, and the like, and these are configured to be communicable with each other via a bus.
  • the CPU is a processor that controls the trained model execution device 10 as a whole.
  • the CPU reads out the system program and the application program stored in the ROM via the bus, and controls the entire trained model execution device 10 according to the system program and the application program.
  • the control unit 11 is configured to realize the functions of the acquisition unit 110, the preprocessing unit 120, and the execution unit 130.
  • the acquisition unit 110 is configured to realize the function of the data storage unit 111.
  • the pre-processing unit 120 is configured to realize the function of the batch processing unit 121.
  • the execution unit 130 is configured to realize the functions of the feature analysis unit 131, the evaluation score calculation unit 132, the optimization calculation unit 133, the inference calculation processing unit 134, and the inference result storage unit 135.
  • Various data such as temporary calculation data and display data are stored in the RAM.
  • the CMOS memory is backed up by a battery (not shown), and is configured as a non-volatile memory in which the storage state is maintained even when the power of the trained model execution device 10 is turned off.
  • the acquisition unit 110 is used, for example, when acquiring image data as inference data from the image pickup device 40 and generating a trained model from a database 70 on a cloud or an edge device and the trained model by machine learning. Acquire the training image data that was used.
  • the acquisition unit 110 may be further configured to include a data storage unit 111 such as an HDD or a USB memory, and may be configured to store the acquired learned model in the data storage unit 111.
  • the acquisition unit 110 acquires a learned model recorded on a recording medium such as an HDD or a USB memory from a database 70 on a cloud or an edge device via a network such as a LAN, and acquires the acquired learned model. It may be copied and saved in the data storage unit 111.
  • the acquisition unit 110 acquires training image data recorded in a recording medium such as an HDD or a USB memory from a database 70 on a cloud or an edge device via a network such as a LAN, and acquires the training image.
  • the data may be copied to the data storage unit 111 and stored.
  • the acquisition unit 110 may acquire image data captured from the image pickup apparatus 40, copy the acquired image data as inference image data to the data storage unit 111, and store the image data, for example.
  • the acquisition unit 110 has acquired image data from the image pickup device 40, it may acquire three-dimensional point cloud data, distance image data, or the like, as will be described later.
  • the preprocessing unit 120 includes a batch processing unit 121, and the batch processing unit 121 batch processes the inference data based on the training image data acquired by the acquisition unit 110 and divides the inference data into a plurality of inference sub-image data. May be configured in. Specifically, the batch processing unit 121 may batch process the inference image data and divide it into a plurality of inference sub-image data, for example, based on the data size of the training image data used for machine learning. ..
  • the execution unit 130 optimizes the inference calculation processing order of the plurality of inference sub-image data divided by the preprocessing unit 120 in the batch processing, and the inference calculation optimized until the search target specified in advance is achieved. It may be configured to execute the inference calculation process of the inference data based on each of the plurality of inference sub-image data required in the processing order and the trained model. For example, the execution unit 130 performs image feature analysis on the vicinity image of the labeled teaching position on the training image data and each of the plurality of inference sub-image data divided by the batch processing of the preprocessing unit 120.
  • An evaluation score is given to each of the plurality of inference sub-image data based on the matching result of the extracted feature amount, and the priority is determined according to the size of the evaluation score value of each of the given multiple inference sub-image data. Based on this, it may be configured to optimize the inference calculation processing order of a plurality of inference sub-image data. Specifically, since the feature analysis unit 131 of the execution unit 130 has a label indicating the position where the work 50 can be taken out on the training image data, for example, the take-out position indicated by the label in the training image data can be used. Image processing is performed on the included nearby image area. The feature analysis unit 131 extracts a specific feature amount (hereinafter, also referred to as “local feature amount”) A by image processing, for example.
  • local feature amount a specific feature amount
  • the feature analysis unit 131 also performs image processing on the n inference sub-image data IMG1, IMG2 ..., IMGn divided by the batch processing of the preprocessing unit 120, and extracts the local feature amount (n). Is an integer greater than or equal to 2). For example, the feature analysis unit 131 extracts the local feature quantities A11 and A12 from the inference sub-image data IMG1, extracts the local feature quantities A21, A22, and A23 from the inference sub-image data IMG2, and extracts the inference sub-image data IMG3. It is assumed that the local feature quantities A31, A32, A33, and A34 are extracted from the above.
  • the feature analysis unit 131 performs matching processing between the extracted local feature amounts A11, A12, A21, A22, A23, A31, A32, A33, A34 and the local feature amount A of the training image data, and performs the matching process.
  • the analysis result data of the above is output to the evaluation score calculation unit 132 described later.
  • the evaluation score calculation unit 132 of the execution unit 130 receives the analysis result data output by the feature analysis unit 131, and for example, when the inference sub-image data IMG2 contains a local feature amount with a high degree of matching (for example, A22), inference is performed. A high evaluation score (for example, 70 points, etc.) is given to the sub-image data IMG2 for use. Further, in the evaluation score calculation unit 132, for example, when one inference sub-image data IMG3 includes a plurality of local feature quantities (for example, A32, A34) having a high degree of matching, the inference sub-image data IMG3 has a higher evaluation score (for example). For example, 80 points) will be given. The evaluation score calculation unit 132 outputs the evaluation score thus given to the optimization calculation unit 133, which will be described later.
  • a high evaluation score for example, 70 points, etc.
  • the optimization calculation unit 133 of the execution unit 130 preferentially performs inference calculation processing in order from the inference sub-image data having the highest evaluation score based on the evaluation score information output by the evaluation score calculation unit 132. Give high priority.
  • the optimization calculation unit 133 optimizes the inference calculation processing order of the n inference sub-image data divided by the batch processing of the preprocessing unit 120, and creates a processing order list of the optimized inference calculation processing order. Generate.
  • the optimization calculation unit 133 outputs the generated processing order list to the inference calculation processing unit 134, which will be described later.
  • the optimization calculation unit 133 may delete the inference sub-image data having a low evaluation score from the processing order list so as not to perform the inference calculation processing.
  • the inference calculation processing unit 134 of the execution unit 130 includes information on the processing order list received from the optimization calculation unit 133, n sub-image data for inference divided by the batch processing of the preprocessing unit 120, and the acquisition unit 110. Based on the trained model acquired by Performs inference calculation processing as much as necessary from the inference sub-image data.
  • the inference calculation processing unit 134 outputs the inference result data of the inference calculation processing to the inference result storage unit 135, which will be described later.
  • the inference result storage unit 135 of the execution unit 130 receives and stores the inference result data from the inference calculation processing unit 134.
  • the trained model execution device 10 Priority is given to inference calculation processing from the inference sub-image data having a high evaluation score. By doing so, the trained model execution device 10 quickly achieves the search for the number of targets of the work 50 specified in advance (hereinafter, also referred to as “predetermined number of candidates”), and finishes the inference calculation process early. By doing so, the inference calculation processing time can be shortened. In other words, the trained model execution device 10 is unlikely to have a better extraction position candidate having the same characteristics as the teaching position on the training image data in the inference sub-image data having a low evaluation score.
  • the trained model execution device 10 can realize high-speed inference calculation processing by optimizing the inference calculation processing order based on the priority by the evaluation score.
  • the predetermined number of candidates is preferably determined as appropriate according to the required accuracy of inference calculation processing, processing speed, and the like, but may be determined according to the production requirements of the production line of the factory.
  • FIG. 3 is a flowchart illustrating the inference calculation process of the trained model execution device 10.
  • step S11 the acquisition unit 110 acquires the trained model and training image data from the database 70.
  • step S12 the acquisition unit 110 acquires inference image data from the image pickup device 40.
  • step S13 the batch processing unit 121 of the preprocessing unit 120 divides the inference image data acquired in step S12 into n inference sub-image data by batch processing based on the training image data.
  • step S14 the feature analysis unit 131 of the execution unit 130 performs image feature analysis on the training image data and n inference sub-image data, and from the training image data and n inference sub-image data. Extract local features.
  • step S15 the feature analysis unit 131 performs matching processing between the local feature amount of the training image data and the local feature amount of each inference sub-image data, and outputs the analysis result data of the matching process to the evaluation score calculation unit 132. do.
  • step S16 the evaluation score calculation unit 132 evaluates each of the n inference sub-image data according to the degree of matching with the local feature amount of the training image data based on the analysis result data output from step S15. Give a score.
  • step S17 the optimization calculation unit 133 optimizes the inference calculation processing order of a plurality of inference sub-image data that performs inference calculation processing based on the information of the evaluation score given in step S16, and generates a processing order list. do.
  • step S18 the inference calculation processing unit 134 performs inference calculation processing based on the information of the processing order list generated in step S17, the inference sub-image data, and the trained model.
  • step S19 the inference calculation processing unit 134 determines whether or not the number of extraction position candidates searched by the inference calculation processing in step S18 has reached a predetermined number of candidates. When the number of extraction position candidates reaches a predetermined number of candidates, the inference calculation process is terminated. On the other hand, when the number of extraction position candidates is less than the predetermined number of candidates, the process returns to step S18.
  • the trained model execution device 10 acquires inference data from the image pickup device 40, and the trained model and training image data from the database 70, respectively.
  • the trained model execution device 10 divides the inference image data into n inference sub-image data by batch processing based on the size of the training image data.
  • the trained model execution device 10 extracts local features from each of the training image data and n inference sub-image data, and the extracted training image data local features and each inference sub-image data local features. Performs matching processing with the quantity.
  • the trained model execution device 10 assigns an evaluation score according to the degree of matching with the local feature amount of the training image data to each of the n inference sub-image data based on the analysis result data of the matching process, and evaluates the score.
  • the trained model execution device 10 can execute the inference calculation process in a short time without the robot 30 waiting for a long time. Further, the trained model execution device 10 can execute inference at high speed by using an ordinary inexpensive CPU device, and can realize high production efficiency required for a production line at a low cost.
  • the first embodiment has been described above.
  • the inference image data is divided by batch processing according to the size of the training image data, and for each of the plurality of inference sub-image data generated by the division.
  • the feature amount is extracted from the image feature analysis, and an evaluation score is given to each of the plurality of inference sub-image data based on the matching result between the feature amount of each of the multiple inference sub-image data and the feature amount of the training image data.
  • the inference calculation processing order of a plurality of inference sub-image data is optimized based on the priority according to the value of the given evaluation score.
  • the second embodiment by performing image processing on the inference image data, for example, specific feature points are extracted, and the inference image data is divided by batch processing according to the number of extracted feature points. It differs from the first embodiment in that an evaluation score is given to each of the plurality of inference sub-image data based on the number of feature points included in each region. As a result, the trained model execution device 10a can execute the inference calculation process in a short time without the robot 30 waiting for a long time.
  • the second embodiment will be described.
  • the robot system 1 has a trained model execution device 10a, a robot control device 20, a robot 30, an image pickup device 40, a plurality of workpieces 50, and a container, as in the case of the first embodiment of FIG. Has 60.
  • FIG. 4 is a functional block diagram showing a functional configuration example of the trained model execution device 10a according to the second embodiment.
  • the elements having the same functions as the elements of the trained model execution device 10 in FIG. 2 are designated by the same reference numerals, and detailed description thereof will be omitted.
  • the trained model execution device 10a has a control unit 11a as in the trained model execution device 10 according to the first embodiment. Further, the control unit 11a has an acquisition unit 110a, a preprocessing unit 120a, and an execution unit 130a. Further, the acquisition unit 110a has a data storage unit 111. Further, the pre-processing unit 120a has a batch processing unit 121a and an image processing unit 122. Further, the execution unit 130a includes an evaluation score calculation unit 132a, an optimization calculation unit 133, an inference calculation processing unit 134, and an inference result storage unit 135.
  • the acquisition unit 110a acquires image data as inference data from the image pickup device 40, and acquires a trained model from the database 70 on the cloud or an edge device.
  • the acquisition unit 110a stores the acquired trained model and image data in the data storage unit 111.
  • the data storage unit 111 has the same function as the data storage unit 111 according to the first embodiment.
  • the preprocessing unit 120a acquires image data as inference image data from the data storage unit 111 of the acquisition unit 110a, performs image processing on the acquired inference image data, and inference image data based on the image processing result. May be configured to be divided into a plurality of sub-image data for inference by batch processing.
  • the image processing unit 122 of the preprocessing unit 120a performs image processing on the inference image data, extracts features such as edges, corners, and feature points, and outputs them as image processing result data. You may.
  • the following describes a case where the image processing unit 122 extracts a specific feature point from the entire area of the inference image data by giving an example thereof. As shown in FIG.
  • the inference image data is an image obtained by capturing the situation of the work 50 in bulk in the container 60
  • the work is in the local image area where the number of extracted feature points is small. It can be predicted that there is a high possibility that one large plane (for example, the bottom of the container 60) in which 50 is almost nonexistent and the brightness and pixel values are uniform is shown. In this case, even if the trained model execution device 10a performs the inference calculation process on the image area, there is a high possibility that the work 50 to be extracted cannot be found. Therefore, it takes time for the useless inference calculation process. Will end up.
  • the trained model execution device 10a analyzes the position distribution of the feature points extracted by the image processing unit 122, so that there are many local image regions where more feature points are concentrated, that is, the work 50. It is possible to identify the local image area.
  • the image processing unit 122 has described the case where the feature points are extracted by performing the image processing of the inference image data as an example, but the present invention is not limited to this. For example, the image processing unit 122 may improve the efficiency by changing the features extracted by the image processing according to the shape of the actual work 50.
  • the batch processing unit 121a divides the inference image so that the local image area where the feature points are concentrated on the inference image becomes one inference sub-image, and the local image having few or no feature points.
  • the process of dividing the inference image is performed so that the area becomes one inference sub-image. By doing so, the local image area in which there is a high possibility that the work 50 is abundant becomes one inference sub-image, and the local image area in which the work 50 is small or none exists becomes one inference sub-image.
  • the inference image data may be divided into a plurality of parts to generate a plurality of inference sub-image data, and the data may be output to the execution unit 130a.
  • the batch processing unit 121a determines whether the feature points are concentrated or few feature points on the inference image data, for example, the number of feature points exceeds the threshold value D1 based on a preset threshold value. It may be determined that there are many things, and it is determined that there are few things less than the threshold value D2 (D2 ⁇ D1). As a result, the local image area that should be preferentially processed for inference calculation and the local image area that cannot be found even by inference calculation and are wasted are distinguished at the stage of batch processing of image data for inference. , The batch processing can be optimized so that the inference calculation processing order described later can be optimized efficiently and smoothly.
  • the execution unit 130a which will be described later, can efficiently and smoothly optimize the inference calculation processing order.
  • the execution unit 130a optimizes the inference calculation processing order of a plurality of inference sub-image data based on the image processing result data output by the image processing unit 122 of the preprocessing unit 120a, and performs a search target specified in advance. It is configured to perform inference calculation processing of inference data based on each of multiple inference sub-image data and a trained model as many as necessary in the optimized inference calculation processing order. You may. Specifically, as described above, the batch processing unit 121a of the preprocessing unit 120a extracts and infers feature points from the inference image obtained by capturing the workpieces 50 separately loaded in the container 60 described above.
  • the execution unit 130a includes an evaluation score calculation unit 132a, and the evaluation score calculation unit 132a gives a high evaluation score to the inference sub-image data having a large number of feature points, and the inference with a small number of feature points. A low evaluation score may be given to the sub-image data for use.
  • the optimization calculation unit 133 of the execution unit 130a generates a processing order list in descending order of the evaluation scores given by the evaluation score calculation unit 132a, similarly to the optimization calculation unit 133 of FIG. Output. Similar to the inference calculation processing unit 134 of FIG.
  • the inference calculation processing unit 134 of the execution unit 130a performs inference calculation processing based on the information of the processing order list, a plurality of inference sub-image data, and the trained model. This is performed, and the inference result data is stored in the inference result storage unit 135.
  • the trained model execution device 10a preferentially performs inference calculation processing on the inference sub-image data having a large number of extracted feature points and a high possibility that a large number of works 50 exist, and the feature points are
  • the inference calculation processing time for finding a predetermined number of candidates for the work 50 to be extracted in advance specified in advance from the inference image data by not performing the inference calculation processing on the inference sub-image data having a small number and few works 50 or none existing. Can be shortened.
  • the trained model execution device 10a can find a predetermined number of candidates for the work 50 to be extracted in advance from the inference image data, finish the inference calculation process early, and shorten the inference calculation processing time. can do.
  • FIG. 5 is a flowchart illustrating the inference calculation process of the trained model execution device 10a.
  • the processing of steps S26 to S28 is the same as that of steps S17 to S19 of the first embodiment of FIG. 3, and the description thereof will be omitted.
  • step S21 the acquisition unit 110a acquires the trained model from the database 70.
  • step S22 the acquisition unit 110a acquires inference image data from the image pickup device 40.
  • step S23 the image processing unit 122 of the preprocessing unit 120a performs image processing on the inference image data acquired in step S22, and extracts feature points from the entire area of the inference image data.
  • step S24 the batch processing unit 121a of the preprocessing unit 120a has one local image region in which the feature points are concentrated on the inference image data acquired in step S22 based on the feature points extracted in step S23.
  • the inference image is divided so as to be one inference sub-image, and the inference image data is divided so that the local image area having few or no feature points becomes one inference sub-image.
  • step S25 the evaluation score calculation unit 132a assigns an evaluation score to each inference sub-image data divided in step S24 based on the number of feature points.
  • the trained model execution device 10a acquires inference image data from the image pickup device 40 and the trained model from the database 70, respectively.
  • the trained model execution device 10a performs image processing on the acquired inference image data, extracts feature points from the entire area of the inference image data, and uses the inference image data as feature points based on the extracted feature points. It is divided into inference sub-image data in which is concentrated and inference sub-image data in which there are few feature points or none exist.
  • the trained model execution device 10a assigns and assigns an evaluation score to each inference sub-image data generated by dividing the inference image data based on the number of feature points in each inference sub-image area.
  • the trained model execution device 10a can execute the inference calculation process in a short time without the robot 30 waiting for a long time. Further, the trained model execution device 10a can execute inference at high speed by using an ordinary inexpensive CPU device, and can realize high production efficiency required for a production line at a low cost.
  • the second embodiment has been described above.
  • the inference image data is divided by batch processing according to the size of the training image data, and the image feature analysis for each of the divided plurality of inference sub-image data is performed.
  • the feature amount is extracted, and the evaluation score is given to each of the plurality of inference sub-image data based on the matching result between the feature amount of each of the plurality of inference sub-image data and the feature amount of the training image data, and the given evaluation is given.
  • the inference calculation processing order of a plurality of inference sub-image data is optimized based on the priority by the score value.
  • the inference image data is divided by batch processing according to the number of feature points, and a plurality of inference points are used based on the number of feature points.
  • An evaluation score is given to each of the sub-image data.
  • the inference image data is divided by batch processing based on the three-dimensional point cloud data (or distance image data) in which the workpieces acquired by the three-dimensional measuring machine 45 are stacked and overlapped.
  • an evaluation score is given to each of the plurality of inference sub-image data based on a predetermined height in each of the divided plurality of inference sub-image data. ..
  • the trained model execution device 10b according to the third embodiment can execute the inference calculation process in a short time without the robot 30 waiting for a long time.
  • the third embodiment will be described.
  • FIG. 6 is a diagram showing an example of the configuration of the robot system 1A according to the third embodiment.
  • the elements having the same functions as the elements of the robot system 1 of FIG. 1 are designated by the same reference numerals, and detailed description thereof will be omitted.
  • the robot system 1A includes a trained model execution device 10b, a robot control device 20, a robot 30, a three-dimensional measuring machine 45, a plurality of workpieces 50, and a container 60.
  • the robot control device 20 and the robot 30 have the same functions as the robot control device 20 and the robot 30 according to the first embodiment.
  • the 3D measuring machine 45 uses a value converted from the distance between a plane perpendicular to the optical axis of the 3D measuring machine 45 and each point on the surface of the loosely stacked workpieces 50 in the container 60 as a pixel value. It may be configured to acquire three-dimensional information (hereinafter, also referred to as “distance image”). For example, as shown in FIG. 6, the pixel value of the point A of the work 50 on the distance image is a three-dimensional measuring machine in the Z-axis direction of the three-dimensional coordinate system (X, Y, Z) of the three-dimensional measuring machine 45. It is converted from the distance (height from the three-dimensional measuring device 45) between the point A of the work 50 and the work 50.
  • distance image three-dimensional information
  • the Z-axis direction of the three-dimensional coordinate system is the optical axis direction of the three-dimensional measuring machine 45.
  • the three-dimensional measuring instrument 45 is composed of, for example, a stereo camera, one camera fixed to the hand of the robot 30 or a moving device, one camera, and a distance sensor such as a laser scanner or a sonic sensor, and is a container.
  • Three-dimensional point group data of a plurality of workpieces 50 loaded in 60 may be acquired.
  • the three-dimensional point cloud data acquired in this way can be displayed in a 3D view that can be confirmed from any viewpoint in the three-dimensional space, and the overlapping state of the plurality of works 50 loaded on the container 60 can be confirmed three-dimensionally. It is the discrete data that can be created.
  • the 3D measuring device 45 may acquire a 2D image such as a gray scale image or an RGB image together with the 3D point cloud data or the distance image.
  • the robot system 1A includes an image pickup device (not shown) such as a digital camera different from the 3D measuring device 45, and the trained model execution device 10b is a 3D point group data or a distance image from the 3D measuring machine 45.
  • a two-dimensional image may be acquired from an image pickup device (not shown).
  • FIG. 7 is a functional block diagram showing a functional configuration example of the trained model execution device 10b according to the third embodiment.
  • the elements having the same functions as the elements of the trained model execution device 10 in FIG. 1 are designated by the same reference numerals, and detailed description thereof will be omitted.
  • the trained model execution device 10b has a control unit 11b. Further, the control unit 11b has an acquisition unit 110b, a preprocessing unit 120b, and an execution unit 130b. Further, the acquisition unit 110b has a data storage unit 111. Further, the pretreatment unit 120b has a batch processing unit 121b and a three-dimensional processing unit 123. Further, the execution unit 130b includes an evaluation score calculation unit 132b, an optimization calculation unit 133, an inference calculation processing unit 134, and an inference result storage unit 135.
  • the acquisition unit 110b acquires, for example, three-dimensional point cloud data or a distance image from the three-dimensional measuring machine 45 together with image data as inference data. Further, the acquisition unit 110b acquires the trained model from the database 70 on the cloud or the edge device. The acquisition unit 110b stores the acquired trained model, three-dimensional point cloud data or distance image, and image data in the data storage unit 111.
  • the data storage unit 111 has the same function as the data storage unit 111 according to the first embodiment.
  • the preprocessing unit 120b may be configured to optimize the batch processing of the inference image data based on the three-dimensional point cloud data or the distance image data, and generate a plurality of inference sub-image data.
  • the three-dimensional processing unit 123 of the preprocessing unit 120b is, for example, the inference image data acquired by measuring a plurality of works 50 separately stacked in the container 60 in two dimensions and three dimensions. Compare with 3D point group data (or distance image data).
  • the three-dimensional processing unit 123 has a height (also referred to as “predetermined height”) from the bottom of the container 60 at the three-dimensional position in the real world corresponding to each pixel position on the image data for inference.
  • the distribution can be analyzed.
  • the three-dimensional processing unit 123 outputs the analysis result of the distribution of a predetermined height to the batch processing unit 121b as the three-dimensional processing result data.
  • the batch processing unit 121b receives the three-dimensional processing result data including the distribution information of the predetermined height, and reflects the difference in the predetermined height corresponding to each pixel position on the image data for inference.
  • the inference image data may be divided into a plurality of inference sub-image data. That is, at the stage of batch processing of inference image data, there are many inference image data and the inference sub-image data to be prioritized in inference calculation processing, and inference calculation has few works 50 or 1
  • the execution unit 130b which will be described later, can efficiently and smoothly optimize the inference calculation processing order.
  • the above-mentioned threshold value is preferably determined as appropriate according to the required accuracy of inference calculation processing, processing speed, and the like, but may be determined according to the production requirements of the production line of the factory.
  • the execution unit 130b optimizes the inference calculation processing order of a plurality of inference sub-image data based on the three-dimensional point cloud data or the distance image data, and is optimized until the search target specified in advance is achieved.
  • the inference calculation processing of the inference data may be executed based on each of the plurality of inference sub-image data required in the order and the trained model. For example, the evaluation score calculation unit 132b of the execution unit 130b assigns a high evaluation score to the inference sub-image data having a predetermined height equal to or higher than the threshold value when a plurality of works 50 are stacked in the container 60. , The inference calculation process for the inference sub-image data may be preferentially performed.
  • the evaluation score calculation unit 132b assigns a low evaluation score to the inference sub-image data whose predetermined height is lower than the threshold value, and performs the inference calculation process so as not to perform the inference calculation process on the inference sub-image data. Optimization may be performed.
  • the trained model execution device 10b can find the target work 50 with a predetermined number of target candidates from the enormous amount of image data within a short inference calculation processing time.
  • the evaluation score calculation unit 132b has a larger data omission area in the corresponding three-dimensional data for the plurality of inference sub-image data output by the batch processing unit 121b of the preprocessing unit 120b.
  • the priority of the inference calculation process of the sub-image data for inference which is often used, may be lowered. By doing so, the trained model execution device 10b can eliminate unnecessary inference calculation processing and shorten the inference calculation processing time.
  • the optimization calculation unit 133, the inference calculation processing unit 134, and the inference result storage unit 135 have the same functions as the optimization calculation unit 133, the inference calculation processing unit 134, and the inference result storage unit 135 according to the first embodiment. Has.
  • FIG. 8 is a flowchart illustrating the inference calculation process of the trained model execution device 10b.
  • the processing of steps S36 to S38 is the same as that of steps S17 to S19 of the first embodiment of FIG. 3, and the description thereof will be omitted.
  • step S31 the acquisition unit 110b acquires the trained model from the database 70.
  • step S32 the acquisition unit 110b acquires the inference image data and the three-dimensional point cloud data or the distance image from the three-dimensional measuring device 45.
  • step S33 the 3D processing unit 123 analyzes the distribution of a predetermined height of the inference image data based on the 3D point cloud data or the distance image acquired in step S32, and outputs the 3D processing result data. do.
  • step S34 the batch processing unit 121b divides the inference image data into a plurality of inference sub-image data based on the three-dimensional processing result data output in step S33.
  • step S35 the evaluation score calculation unit 132b assigns an evaluation score to each inference sub-image data based on the three-dimensional point cloud data or the distance image.
  • the trained model execution device 10b acquires the inference image data, the three-dimensional point cloud data or the distance image from the three-dimensional measuring machine 45, and the trained model from the database 70, respectively. do.
  • the trained model execution device 10b analyzes the distribution of a predetermined height of the inference image data based on the three-dimensional point cloud data or the distance image, and a plurality of inference image data based on the analyzed three-dimensional processing result data. Divide into sub-image data for inference.
  • the trained model execution device 10b assigns an evaluation score to each inference sub-image data based on the three-dimensional point cloud data or a distance image, and performs inference calculation processing based on the evaluation score information. Inference of data Optimize the calculation processing order.
  • the trained model execution device 10b can execute the inference calculation process in a short time without the robot 30 waiting for a long time. Further, the trained model execution device 10b can execute inference at high speed by using an ordinary inexpensive CPU device, and can realize high production efficiency required for a production line at a low cost.
  • the third embodiment has been described above.
  • the trained model execution device 10b also acquires and uses the image data for inference and the three-dimensional point cloud data or the distance image from the three-dimensional measuring machine 45, and takes out a plurality of works 50 stacked separately.
  • the case has been described, but it is not limited to this.
  • the type, shape, size, color, number, loading state, etc. of the work 50 are not limited.
  • the trained model execution device 10b acquires only the trained model from the database 70, but the training image data may also be acquired from the database 70.
  • FIG. 9 is a functional block diagram showing a functional configuration example of the trained model execution device 10b according to the modified example of the third embodiment when training image data is also acquired.
  • the elements having the same functions as the elements of the trained model execution device 10b of FIG. 7 and the trained model execution device 10a of FIG. 4 are designated by the same reference numerals, and detailed description thereof will be omitted.
  • the acquisition unit 110b acquires the trained model and the training image data from the database 70. Further, the image processing unit 122 of the preprocessing unit 120a performs image processing on the training image data and the inference image data as in the second embodiment, and the batch processing unit 121a performs inference based on the image processing result. It may be configured to be divided into a plurality of sub-image data for inference by batch processing of image data.
  • the execution unit 130b, the evaluation score calculation unit 132b, the optimization calculation unit 133, the inference calculation processing unit 134, and the inference result storage unit 135 are the evaluation score calculation unit 132b, the optimization calculation unit 133, according to the third embodiment. It has the same function as the inference calculation processing unit 134 and the inference result storage unit 135.
  • the trained model execution device 10b can execute the inference calculation process in a short time without the robot 30 waiting for a long time even when the training image data is acquired from the database 70. Further, the trained model execution device 10b can execute inference at high speed by using an ordinary inexpensive CPU device, and can realize high production efficiency required for a production line at a low cost.
  • the trained model execution devices 10, 10a, and 10b are not limited to the above-described embodiments, and can achieve the object. Includes deformation, improvement, etc. in the range.
  • the trained model execution devices 10, 10a, and 10b are exemplified as devices different from the robot control device 20, but the trained model execution device 10,
  • the robot control device 20 may be configured to have some or all of the functions of the 10a and 10b.
  • the server may include a part or all of the acquisition unit 110, the preprocessing unit 120, and the execution unit 130 of the trained model execution device 10.
  • the server may include a part or all of the acquisition unit 110a, the preprocessing unit 120a, and the execution unit 130a of the trained model execution device 10a.
  • the server may include a part or all of the acquisition unit 110b, the preprocessing unit 120b, and the execution unit 130b of the trained model execution device 10b.
  • each function of the trained model execution devices 10, 10a and 10b may be realized by using the virtual server function or the like on the cloud.
  • the trained model execution devices 10, 10a and 10b may be a distributed processing system in which the functions of the trained model execution devices 10, 10a and 10b are appropriately distributed to a plurality of servers.
  • the trained model execution device 10 is generated by machine learning based on image data when the robot 30 takes out a plurality of works 50 separately stacked in the container 60.
  • the inference image data is divided into a plurality of inference sub-image data by batch processing based on the size of the training image data used in machine learning, and the training image data and the training image data It was configured to perform matching processing between the training image data and each inference sub-image data based on the local feature amount extracted from each of the plurality of inference sub-image data.
  • the trained model execution device 10 assigns an evaluation score to each of the plurality of inference sub-image data according to the degree of matching, and optimizes the inference calculation processing order of the plurality of inference sub-image data based on the evaluation score.
  • An example of performing inference calculation processing of a plurality of inference sub-image data based on the optimized inference calculation processing order and calculating the extraction position candidates of the work 50 to be extracted by the robot 30 has been described. It is not limited to the case of executing the trained model generated by machine learning based on the image data in the case of taking out a plurality of works 50 separately stacked in 60.
  • the type, shape, size, color, number, loading state, etc. of the work 50 are not limited.
  • the trained model execution device 10 replaces the system in which the robot 30 takes out a plurality of works 50 separately stacked in the container 60, and performs an arbitrary task based on, for example, voice data during a conversation or a meeting of a plurality of people. It may be applied to a system that makes inferences to perform.
  • the image data is replaced with voice data
  • the voice inference data (hereinafter, also referred to as "inference voice data”) is batch-processed based on the voice training data (hereinafter, also referred to as "training voice data").
  • training voice data Is divided into a plurality of inference sub-voice data, and matching processing is performed between the training voice data and each inference sub-voice data based on the feature quantities extracted from the training voice data and the plurality of inference sub-voice data. May be good.
  • the trained model execution device 10 applies the same method as in the first embodiment to give an evaluation score to each of the plurality of inference sub-voice data according to the degree of matching, and a plurality of the trained model execution devices 10 based on the evaluation score.
  • the inference calculation processing order of the inference sub-voice data is optimized, the inference calculation processing of multiple inference sub-voice data is performed based on the optimized inference calculation processing order, and the training voice data specified from the huge voice data is used. Even if you try to find a certain conversation content (for example, content related to a specific target keyword such as "dog (dog)”, “cat (cat)”, “tenki (weather)") within a short inference calculation processing time. good. By doing so, in the case of a system in which the trained model execution device 10 infers and recognizes the conversation content based on, for example, the conversation of a plurality of people or the voice data during the conference, the specified voice data, for example, the voice data of a person.
  • the specified voice data for example, the voice data of a person.
  • the trained model execution device 10 is a system that makes inferences for executing an arbitrary task based on, for example, character data, instead of a system in which the robot 30 takes out a plurality of works 50 separately stacked in the container 60. It can also be applied to the case of executing a trained model generated by machine learning based on character data. Specifically, the image data is replaced with character data, the same method as in the first embodiment is applied, and the character inference data is applied based on the character training data (hereinafter, also referred to as "training character data").
  • inference character data (Hereinafter, also referred to as "inference character data”) is divided into a plurality of inference sub-character data by batch processing, and the training character is based on the feature amount extracted from each of the training character data and the plurality of inference sub-character data. Matching processing may be performed between the data and each inference sub-character data. Then, the trained model execution device 10 assigns an evaluation score to each of the plurality of inference sub-character data according to the matching degree, and optimizes the inference calculation processing order of the plurality of inference sub-character data based on the evaluation score.
  • Optimized inference calculation processing of multiple inference sub-character data is performed based on the order, and training character data specified from a huge amount of character data (for example, "year”, “month”, “day") (Contents related to a specific target keyword such as) may be found within a short inference calculation processing time.
  • the trained model execution device 10 may specify, for example, a predetermined failure (for example, the number of failures of the speed reducer, the failure time, and the location) based on the failure history data (character data) of the robot 30.
  • a sub for inference that includes an area that does not include specified character data for example, the target keyword "decelerator"
  • character data when character data is converted into cells, it becomes a plurality of cell groups; hereinafter also referred to as "cell group”). It is possible to avoid unnecessary inference calculation processing for character data and shorten the inference calculation processing time.
  • the inference data is (a) voice data and the case where (b) character data will be described more specifically.
  • FIG. 10 is a functional block diagram showing a functional configuration example of the trained model execution device 10 when the inference data is voice data.
  • the elements having the same functions as the elements of the trained model execution device 10 in FIG. 2 are designated by the same reference numerals, and detailed description thereof will be omitted.
  • the sub-voice data for inference is input, and the prescribed conversation content (for example, "dog (dog)", “cat (for example)” attached as a teaching label on the training voice data is used.
  • Information indicating the ratio of whether or not a specific target keyword (cat) ”,“ tenki (weather) ”, etc. shall be output.
  • the acquisition unit 110 may acquire voice data as inference data from, for example, a combination of a microphone and a computer, or a recording device 80 such as a computer having a built-in microphone, a smartphone, a tablet terminal, or a video camera.
  • a recording device 80 such as a computer having a built-in microphone, a smartphone, a tablet terminal, or a video camera.
  • the batch processing unit 121 of the preprocessing unit 120 divides the inference audio data by batch processing with the size of the training audio data as the minimum size, as in the case of the inference image data of FIG. 2, and performs a plurality of inference. It may be generated and output as sub audio data.
  • the execution unit 130 evaluates each of the plurality of inference sub-audio data divided by the batch processing of the preprocessing unit 120 based on the matching degree with the training audio data.
  • a score may be given, and the inference calculation processing order of the plurality of inference sub-voice data may be optimized based on the priority determined according to the magnitude of the value of the given plurality of evaluation scores.
  • the feature analysis unit 131 performs feature analysis (for example, frequency feature analysis) of training voice data, and defines a conversation content (for example, "dog", "for example”, which is attached as a teaching label.
  • a feature amount (hereinafter, also referred to as “frequency feature analysis result”) B of audio data of a specific target keyword (specific target keyword such as “cat” or “tenki”) is extracted.
  • the feature analysis unit 131 also performs frequency feature analysis on m sub-voice data for inference divided by the batch processing of the preprocessing section 120, AUD1, AUD2, ... AUDm, and extracts the frequency feature analysis result.
  • M is an integer of 2 or more).
  • the feature analysis unit 131 extracts frequency feature analysis results B11 and B12 from the inference sub-voice data AUD1, extracts frequency feature analysis results B21, B22 and B23 from the inference sub-voice data AUD2, and extracts the inference sub-voice.
  • the feature analysis unit 131 performs matching processing between the extracted frequency feature analysis results B11, B12, B21, B22, B23, B31, B32, B33, B34 and the frequency feature analysis result B of the training voice data for matching.
  • the analysis result data of the process is output to the evaluation score calculation unit 132.
  • the evaluation score calculation unit 132 receives the analysis result data output by the feature analysis unit 131, and for example, when the inference sub-voice data AUD2 includes a frequency feature analysis result (for example, B22) having a high degree of matching, the inference sub-voice A high evaluation score (for example, 70 points, etc.) is given to the data AUD2. Further, the evaluation score calculation unit 132 further evaluates the inference sub-voice data AUD3 even higher, for example, when one inference sub-voice data AUD3 includes a plurality of frequency feature analysis results (for example, B32 and B34) having a high degree of matching. A score (for example, 80 points, etc.) is given. The evaluation score calculation unit 132 outputs the evaluation score thus given to the optimization calculation unit 133.
  • a frequency feature analysis result for example, B22
  • a high evaluation score for example, 70 points, etc.
  • a score for example, 80 points, etc.
  • the optimization calculation unit 133 Based on the evaluation score information output by the evaluation score calculation unit 132, the optimization calculation unit 133 assigns a high priority so as to preferentially perform inference calculation processing in order from the inference sub-voice data having the highest evaluation score. do.
  • the optimization calculation unit 133 optimizes the inference calculation processing order of m sub-voice data for inference divided by the batch processing of the preprocessing unit 120, and creates a processing order list of the optimized inference calculation processing order. Generate.
  • the optimization calculation unit 133 outputs the generated processing order list to the inference calculation processing unit 134.
  • the optimization calculation unit 133 may delete the inference sub-voice data having a low evaluation score from the processing order list so as not to perform the inference calculation processing.
  • the inference calculation processing unit 134 is based on the information of the processing order list received from the optimization calculation unit 133, the m sub-voice data for inference divided by the batch processing of the preprocessing unit 120, and the trained model. Performs inference calculation processing.
  • the inference calculation processing unit 134 stores the inference result data of the inference calculation processing in the inference result storage unit 135.
  • the trained model execution device 10 since the inference sub-speech data having a high evaluation score is likely to include a specific target keyword attached to the teaching label of the target, the trained model execution device 10 has a high evaluation score. Priority is given to inference calculation processing from the inference sub-voice data. By doing so, the trained model execution device 10 can find out the predetermined conversation content early, finish the inference calculation process early, and shorten the inference calculation processing time. In other words, since the trained model execution device 10 is unlikely to include the target keyword in the inference sub-voice data having a low evaluation score, the inference calculation process of the inference sub-voice data having a low evaluation score is performed. By not doing so, wasteful calculation processing time can be eliminated. That is, the trained model execution device 10 can find out the defined conversation content from the huge amount of voice data within a short inference calculation processing time.
  • FIG. 11 is a functional block diagram showing a functional configuration example of the trained model execution device 10 when the inference data is character data.
  • the elements having the same functions as the elements of the trained model execution device 10 in FIG. 2 are designated by the same reference numerals, and detailed description thereof will be omitted.
  • the sub-character data for inference is input, and the specified character data (for example, "year” and “month” representing time) attached as a teaching label on the training character data. , "Specific target keywords such as" day "), etc.) shall be output.
  • the acquisition unit 110 acquires character data as inference data from, for example, a scanning device 90 such as a scanner, a camera, a printer with a scanning function, or a touch panel capable of handwriting input, which acquires an image of character data recorded on paper. You may try to do it.
  • a scanning device 90 such as a scanner, a camera, a printer with a scanning function, or a touch panel capable of handwriting input, which acquires an image of character data recorded on paper. You may try to do it.
  • the batch processing unit 121 of the preprocessing unit 120 divides the inference character data by batch processing with the size of the training character data as the minimum size, and divides the inference character data into a plurality of inferences, as in the case of the inference image data of FIG. It may be generated and output as sub-character data.
  • the execution unit 130 evaluates each of the plurality of inference sub-character data divided by the batch processing of the preprocessing unit 120 based on the matching degree with the training character data.
  • a score may be given, and the inference calculation processing order of the plurality of inference sub-character data may be optimized based on the priority determined according to the magnitude of the value of the given plurality of evaluation scores.
  • the feature analysis unit 131 performs feature analysis of training character data (for example, feature analysis of character aspect ratio, symmetry centered on the X-axis, symmetry centered on the Y-axis, etc.).
  • the feature amount (hereinafter, also referred to as "feature analysis result") of the specified character data (for example, specific target keywords such as "year”, “month”, and “day” representing time) attached as a teaching label. ) Extract C. Further, the feature analysis unit 131 performs the same feature analysis on the k inference sub-character data MOJI1, MOJI2, ... MOJIk divided by the batch processing of the preprocessing section 120, and extracts the feature analysis result ( k is an integer greater than or equal to 2).
  • the feature analysis unit 131 extracts the feature analysis results C11 and C12 from the inference sub-character data MOJI1, extracts the feature analysis results C21, C22 and C23 from the inference sub-character data MOJI2, and extracts the inference sub-character data MOJI3. It is assumed that the feature analysis results C31, C32, C33, and C34 are extracted from the characteristics.
  • the feature analysis unit 131 performs matching processing between the extracted feature analysis results C11, C12, C21, C22, C23, C31, C32, C33, and C34 and the feature analysis result C of the training character data, and performs matching processing.
  • the analysis result data is output to the evaluation score calculation unit 132.
  • the evaluation score calculation unit 132 receives the analysis result data output by the feature analysis unit 131, and for example, when the inference sub-character data MOJI2 includes a feature analysis result with a high degree of matching (for example, C22), the inference sub-character data. Give MOJI2 a high evaluation score (eg 70 points). Further, in the evaluation score calculation unit 132, for example, when one inference sub-character data MOJI3 includes a plurality of feature analysis results (for example, C32, C34) having a high degree of matching, the inference sub-character data MOJI3 has a higher evaluation score. (For example, 80 points, etc.) are given. The evaluation score calculation unit 132 outputs the evaluation score thus given to the optimization calculation unit 133.
  • the optimization calculation unit 133 Based on the evaluation score information output by the evaluation score calculation unit 132, the optimization calculation unit 133 assigns a high priority so as to preferentially perform inference calculation processing in order from the inference sub-character data having the highest evaluation score. do.
  • the optimization calculation unit 133 optimizes the inference calculation processing order of the k inference sub-character data divided by the batch processing of the preprocessing unit 120, and creates a processing order list of the optimized inference calculation processing order. Generate.
  • the optimization calculation unit 133 outputs the generated processing order list to the inference calculation processing unit 134.
  • the optimization calculation unit 133 may delete the inference sub-character data having a low evaluation score from the processing order list so as not to perform the inference calculation processing.
  • the inference calculation processing unit 134 is based on the information of the processing order list received from the optimization calculation unit 133, the k inference sub-character data divided by the batch processing of the preprocessing unit 120, and the trained model. Performs inference calculation processing.
  • the inference calculation processing unit 134 stores the inference result data of the inference calculation processing in the inference result storage unit 135.
  • the inference sub-character data having a high evaluation score is likely to include a specific target keyword attached to the teaching label of the target, so that the trained model execution device 10 is inferred with a high evaluation score.
  • Inference calculation processing is performed preferentially from the sub-character data.
  • the trained model execution device 10 is based on defined character data attached as teaching labels (eg, specific target keywords such as "year”, “month”, “day” representing time). It is possible to find out character data such as "a failure of the robot 30 that occurred on XX month XX day of XXX year” at an early stage, and it is possible to shorten the inference calculation processing time.
  • the trained model execution device 10 since the trained model execution device 10 is unlikely to include the target keyword in the inference sub-character data having a low evaluation score, the inference calculation process of the inference sub-character data having a low evaluation score is performed. By not doing so, wasteful calculation processing time can be eliminated. That is, the trained model execution device 10 can find the specified character data from the huge amount of character data within a short inference calculation processing time.
  • the trained model execution device 10a is generated by machine learning based on image data when the robot 30 takes out a plurality of works 50 separately stacked in the container 60.
  • the inference image data and the trained model are acquired from the image pickup apparatus 40, the acquired inference image data is subjected to image processing, and the inference image data is executed. Based on the feature points extracted from, the inference image data is divided into the inference sub-image data in which the feature points are concentrated and the inference sub-image data in which there are few or no feature points.
  • the trained model execution device 10a assigns an evaluation score to each inference sub-image data based on the number of feature points of each inference sub-image data, and a plurality of inference sub-image data based on the evaluation score.
  • An embodiment in which the inference calculation processing order is optimized, the inference calculation processing of a plurality of inference sub-image data is performed based on the optimized inference calculation processing order, and the extraction position candidate of the work 50 extracted by the robot 30 is calculated will be described.
  • the case is not limited to the case where the robot 30 executes the trained model generated by machine learning based on the image data when the robot 30 takes out a plurality of works 50 separately stacked in the container 60. The type, shape, size, color, number, loading state, etc.
  • a loading state of box-shaped workpieces 50 for example, a corrugated cardboard stacking state.
  • it may be applied to a system for making inferences for executing an arbitrary task based on, for example, recorded voice data during a conversation or a conference of a plurality of people.
  • the trained model execution device 10a acquires voice inference data (hereinafter, also referred to as “inference voice data”) from a recording device such as a microphone and a trained model from the database 70, and acquires the inference data.
  • voice inference data hereinafter, also referred to as “inference voice data”
  • Characteristic analysis for example, frequency analysis
  • the evaluation score is given to each inference sub-voice data by dividing the voice data into a plurality of inference sub-voice data based on the frequency analysis result extracted from the inference voice data. It may be given.
  • the trained model execution device 10a optimizes the inference calculation processing order of the plurality of inference sub-voice data based on the evaluation score, and the inference sub-voice data of the plurality of inference sub-voice data based on the optimized inference calculation processing order. Inference calculation processing is performed, and short inference calculation processing is performed on the conversation content (for example, human voice data such as "dog (dog)”, “cat (cat)", “tenki (weather)") specified from a huge amount of voice data. You may try to find it in time. By doing so, the trained model execution device 10a, for example, in the case of specifying the specified conversation content, with respect to the specified voice data, that is, the inference sub-voice data including the region (cell group) in which the human voice is not included. It is possible to avoid unnecessary inference calculation processing and shorten the inference calculation processing time.
  • the trained model execution device 10a is a system for performing inference for executing an arbitrary task based on, for example, character data, instead of a system in which the robot 30 takes out a plurality of works 50 separately stacked in the container 60. It can also be applied to the case of executing a trained model generated by machine learning based on character data. Specifically, the image data is replaced with character data, and the same method as in the second embodiment is applied to character inference data from a scanning device such as a scanner (hereinafter, also referred to as "inference character data").
  • a scanning device such as a scanner
  • the trained model is acquired from the database 70, feature analysis is performed on the acquired inference character data, and the data is divided into a plurality of inference sub-character data based on the feature analysis result extracted from the inference character data.
  • An evaluation score may be given to each inference sub-character data.
  • the trained model execution device 10a optimizes the inference calculation processing order of the plurality of inference sub-character data based on the evaluation score, and the inference sub-character data of the plurality of inference sub-character data based on the optimized inference calculation processing order.
  • Short inference of character data (for example, "capital”, “road”, “prefecture”, “prefecture”, “city”, “county”, “village”, etc.) specified from a huge amount of character data by performing inference calculation processing. It may be found within the calculation processing time. By doing so, for example, when the trained model execution device 10a specifies the destination of the mail and distributes the mail to each destination, the area (cell) that does not include the specified character data "capital” to "village". By not performing inference calculation processing on the inference sub-character data including the group), unnecessary inference calculation processing can be avoided and the inference calculation processing time can be shortened.
  • the inference data is (a) voice data and the case where (b) character data will be described more specifically.
  • FIG. 12 is a functional block diagram showing a functional configuration example of the trained model execution device 10a when the inference data is voice data.
  • the elements having the same functions as the elements of the trained model execution device 10a in FIG. 4 are designated by the same reference numerals, and detailed description thereof will be omitted.
  • each inference sub-voice data is input, and the conversation content specified in advance (for example, "dog (dog)", “cat (cat)", “tenki (weather)”).
  • the information indicating the ratio of whether or not the voice data of a person such as ", etc.” shall be output.
  • the acquisition unit 110a may acquire voice data as inference data from, for example, a combination of a microphone and a computer, or a recording device 80 such as a computer having a built-in microphone, a smartphone, a tablet terminal, or a video camera.
  • the preprocessing unit 120a may be configured to perform feature analysis of the inference voice data and divide the inference voice data into a plurality of inference sub voice data by batch processing based on the feature analysis result data.
  • the feature analysis unit 122a of the preprocessing unit 120a corresponds to the feature analysis unit 131 of FIG. 10, and performs feature analysis (for example, frequency feature analysis) on the inference voice data to perform feature analysis.
  • Analysis result data may be output.
  • the feature analysis result data (frequency analysis result)
  • the region of the inference voice data whose amplitude is too low includes the specified conversation content (for example, "dog") by the voice of the person to be specified. It can be regarded as data that contains only the ambient noise at the time of recording.
  • the inference calculation processing time is wasted even if the inference calculation processing is performed on the voice data in the relevant area and the specified conversation content by the voice of the person to be specified is to be found.
  • the region of the voice data for inference whose amplitude is too high is, for example, a portion of the voice data beyond the range that the recording device 80 can record, and the data that is missing because the voice data cannot be acquired well. There is a high possibility. Even if the inference calculation process is performed on the voice data in such an area, there is a high possibility that the inference (recognition) cannot be performed well.
  • the batch processing unit 121a of the preprocessing unit 120a may divide the inference voice data as a plurality of inference sub-voice data such that the above-mentioned voice data areas are cut out and the inference calculation processing is not performed. In addition, if a certain waveform appears periodically in the frequency analysis result of the inference voice data, it can be estimated that the same person continues to repeat the same word within a certain period of time, and it appears periodically.
  • the batch processing unit 121a may divide the inference voice data into a plurality of inference sub-voice data by batch processing with the waveform being cut as a cut.
  • the execution unit 130a may be configured to optimize the inference calculation processing order of a plurality of inference sub-voice data based on the feature analysis result data output by the feature analysis unit 122a of the preprocessing unit 120a. ..
  • the evaluation score calculation unit 132a may generate a plurality of inference sub-voice data based on the frequency analysis result, for example, the amplitude is too low or too high.
  • a low evaluation score may be given to the inference sub-voice data, and the optimization calculation unit 133 may lower the priority of those inference calculation processes so that the inference calculation process is not performed.
  • the inference sub-voice data including environmental noise that does not contain human voice and the range that can be recorded by the recording device 80 are exceeded.
  • the inference calculation processing time of the inference voice data can be shortened and a specific conversation content can be found quickly. That is, the trained model execution device 10a is useless for inference sub-voice data including an area (cell group) that does not include the specified voice data (that is, human voice), for example, when specifying the specified conversation content. Inference calculation processing can be avoided and the inference calculation processing time can be shortened.
  • FIG. 13 is a functional block diagram showing a functional configuration example of the trained model execution device 10a when the inference data is character data.
  • the elements having the same functions as the elements of the trained model execution device 10a in FIG. 4 are designated by the same reference numerals, and detailed description thereof will be omitted.
  • sub-character data for inference including the destination of mail is input, and predetermined character data (for example, "city” to "village” for specifying an address, etc.”
  • Information indicating the ratio of whether or not the specific target keyword) shall be output.
  • the acquisition unit 110a acquires character data as inference data from, for example, a scanning device 90 such as a scanner, a camera, a printer with a scanning function, or a touch panel capable of handwriting input, which acquires an image of character data recorded on paper. You may try to do it.
  • a scanning device 90 such as a scanner, a camera, a printer with a scanning function, or a touch panel capable of handwriting input, which acquires an image of character data recorded on paper. You may try to do it.
  • the preprocessing unit 120a may be configured to perform feature analysis of the inference character data and divide the inference character data into a plurality of inference sub-character data by batch processing based on the feature analysis result data.
  • the feature analysis unit 122a of the preprocessing unit 120a corresponds to the feature analysis unit 131 of FIG. 11, performs feature analysis on the inference character data, and outputs the feature analysis result data. May be good. For example, a task of performing character recognition of a handwritten address and automatically classifying mail according to the destination of the mail will be described as an example.
  • the acquisition unit 110a includes a data storage unit 111, for example, using a scanning device 90 to register character data obtained by scanning an area where a destination of mail is written as image data, and further, an HDD of a personal computer (not shown) or the like. Save it on the recording medium of.
  • the feature analysis unit 122a cells the entire area of the image data of the series of handwritten characters acquired in this way.
  • the feature analysis unit 122a digitizes the presence / absence state of characters in each small cell, labels the cells with characters in the area as "1", and "1" for the cells without characters in the area. Label it "0".
  • the feature analysis unit 122a continuously uses the feature map of the label extracted by labeling the entire area of the character image data with "0" and "1" to "0".
  • the area labeled with can be recognized as a space between characters and a character delimiter can be added.
  • the feature analysis unit 122a has a printed "city”, “road”, “prefecture”, “prefecture”, “city”, “county”, and “county” for each separated independent character.
  • the area (cell group) can be specified.
  • the feature analysis unit 122a outputs the feature map of the label thus obtained and the existence area information of the specific characters (“city” to “village”) as feature analysis result data.
  • the batch processing unit 121a of the preprocessing unit 120a receives the feature analysis result data (characteristic map of the label and the existence area information of the specific characters "city” to “village") output by the feature analysis unit 122a, and identifies the data. It is possible to divide the inference character data by batch processing with the area (cell group) in which the characters "capital” to "village" exist as a delimiter, and generate and output as a plurality of inference sub-character data.
  • the execution unit 130a may be configured to optimize the inference calculation processing order of a plurality of inference sub-character data based on the feature analysis result data output by the feature analysis unit 122a of the preprocessing unit 120a. .. For example, when a plurality of inference sub-character data is generated by the batch processing unit 121a of the preprocessing unit 120a, the area (cell group) in which no character does not exist and the specific characters "capital" to "village" are not included. Even if the inference calculation process is performed on the inference sub-character data including the area (cell group), the inference calculation process is useless and useless for the target of specifying the destination of the mail.
  • the evaluation score calculation unit 132a evaluates the inference sub-character data including the area (cell group) in which the character does not exist and the area (cell group) in which the specific characters "capital” to "village” are not included. Scores may be given and the priority of those inference calculation processes may be lowered so that the inference calculation processes are not performed. Further, the evaluation score calculation unit 132a assigns a high evaluation score to the inference sub-character data including the area (cell group) including the specific characters "capital” to "village", and assigns a high evaluation score. By giving priority to the inference calculation processing, the destination of the mail can be specified quickly, and the inference calculation processing time of the automatic mail classification task can be shortened.
  • the trained model execution device 10a acquires only the trained model from the database 70, but the training image data may also be acquired from the database 70.
  • FIG. 14 is a functional block diagram showing a functional configuration example of the trained model execution device 10a when training image data is also acquired.
  • the elements having the same functions as the elements of the trained model execution device 10a in FIG. 4 are designated by the same reference numerals, and detailed description thereof will be omitted.
  • the acquisition unit 110a acquires the trained model and the training image data from the database 70.
  • the preprocessing unit 120a is configured to perform image processing of the training image data and the inference image data, perform batch processing of the inference image data based on the image processing result, and divide the inference sub-image data into a plurality of inference sub-image data. May be done.
  • the image processing unit 122 of the preprocessing unit 120a as the feature analysis unit 131 of the execution unit 130 of FIG. 2, is a near image area including a extraction position indicated by a label attached to the training image data, and for inference. Image processing is performed on each image data, and for example, a specific local feature amount is extracted.
  • the image processing unit 122 matches the local features of the image near the labeled teaching position on the extracted training image data with the local features of a plurality of locations on the inference image data, and the matching degree. May be calculated and output as image processing result data.
  • the batch processing unit 121a of the preprocessing unit 120a so that the local image area on the inference image data having a high degree of matching with the image near the teaching position on the training image data becomes one independent inference sub-image data. Divide the image data for inference. Further, the batch processing unit 121a uses the inference image so that the local image area on the inference image data having a low degree of matching with the neighboring image of the teaching position on the training image data becomes one independent inference sub-image data. Divide the data. In other words, the batch processing unit 121a uses a local image area for which there is a high possibility that many work 50s to be extracted exist as one inference sub-image data, and the work 50s to be extracted are few or none exist.
  • the inference image data may be divided and output so that the local image area becomes one inference sub-image data. That is, the inference sub-image data in which the work 50 to be preferentially inferred and calculated is likely to be found, and the inference sub-image data in which the inference calculation is likely not to find the target work 50.
  • the execution unit 130a can efficiently and smoothly optimize the inference calculation processing order. The above has described the case where a plurality of works 50 stacked in bulk are taken out, but the present invention is not limited to this. The type, shape, size, color, number, loading state, etc. of the work 50 are not limited.
  • the inference data is the inference image data, it may be inference voice data, inference character data, or the like. If the image processing unit 122 is replaced with the feature analysis unit 131, the trained model execution device shown in FIG. 14 may be used. It can be applied to 10a.
  • the functions included in the trained model execution device 10 in the first embodiment, the trained model execution device 10a in the second embodiment, and the trained model execution device 10b in the third embodiment are hardware, software, or the like. Each of these combinations can be realized.
  • what is realized by software means that it is realized by a computer reading and executing a program.
  • Non-transitory computer-readable media include various types of tangible recording media (Tangible studio media). Examples of non-temporary computer-readable media include magnetic recording media (eg, flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (eg, magneto-optical disks), CD-ROMs (Read Only Memory), and CD-. R, CD-R / W, semiconductor memory (for example, mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, RAM) are included.
  • Non-transitory computer-readable media include various types of tangible recording media (Tangible studio media). Examples of non-temporary computer-readable media include magnetic recording media (eg, flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (eg, magneto-optical disks), CD-ROMs (Read Only Memory), and CD-. R, CD-R / W, semiconductor memory (for example, mask ROM, PROM (Programmable ROM), EPROM (Era
  • the program may also be supplied to the computer by various types of temporary computer-readable media (Transition computer readable medium).
  • temporary computer readable media include electrical, optical, and electromagnetic waves.
  • the temporary computer-readable medium can supply the program to the computer via a wired communication path such as an electric wire and an optical fiber, or a wireless communication path.
  • the step of describing the program to be recorded on the recording medium is not only the processing performed in chronological order but also the processing executed in parallel or individually even if it is not necessarily processed in chronological order. Also includes.
  • the inference calculation processing device and the inference calculation processing method of the present disclosure can take various embodiments having the following configurations.
  • the trained model execution device 10 as the inference calculation processing device of the present disclosure is an inference calculation processing device that inputs inference data to the trained model and executes inference calculation processing of the inference data.
  • the acquisition unit 110 that acquires the data and the trained model, the pre-processing unit 120 that divides the inference data acquired by the acquisition unit 110 into a plurality of inference sub-data by batch processing, and the pre-processing unit 120 batch.
  • Inference calculation of multiple inference subdata divided by processing The inference calculation processing order is optimized, and the inference calculation of the inference data is based on each of the multiple inference subdata and the trained model in the optimized inference calculation processing order.
  • An execution unit 130 for executing processing is provided. According to the trained model execution device 10, the robot 30 can execute the inference calculation process in a short time without waiting for a long time.
  • the acquisition unit 110 may acquire the training data used when generating the trained model by machine learning. By doing so, the trained model execution device 10 can divide the inference data based on the size of the training data.
  • the preprocessing unit 120 may divide the inference data into a plurality of inference sub-data by batch processing based on the size of the training data. By doing so, the trained model execution device 10 cannot reason well in the inference calculation process using the trained model after that, because the size of the sub-image for inference after division is too small to include the necessary image features. You can prevent that.
  • the execution unit 130 performs matching processing between the training data and each of the plurality of inference sub-data, and each of the plurality of inference sub-data.
  • An evaluation score according to the degree of matching may be given to the inference, and the inference calculation processing order of a plurality of inference subdata may be optimized based on the priority of the given evaluation score.
  • the trained model execution device 10 preferentially performs the inference calculation process of the inference subdata having a high degree of matching, thereby quickly finding the number of candidates of the work 50 specified in advance and ending the inference calculation process early. It is possible to shorten the inference calculation processing time.
  • the acquisition unit 110 may acquire image data as inference data. By doing so, the trained model execution device 10 can find the work 50 that can be taken out by the robot 30.
  • the preprocessing unit 120a may perform image processing for extracting the feature amount of the image data acquired as the inference data. By doing so, the trained model execution device 10a can optimally divide the inference image data into a plurality of inference sub-image data without acquiring training data.
  • the preprocessing unit 120a may divide the inference data into a plurality of inference sub-data by batch processing based on the result of image processing. By doing so, the trained model execution device 10a can optimally divide the inference image data into a plurality of inference sub-image data without acquiring training data.
  • the execution unit 130a assigns an evaluation score to each of the plurality of inference sub-data based on the result of image processing, and is assigned.
  • the inference calculation processing order of a plurality of inference sub-data may be optimized based on the priority by the evaluation score. By doing so, the trained model execution device 10a performs useless inference calculation processing such that a candidate for the work 50 to be extracted cannot be found even if the inference calculation processing of the inference subdata that is unlikely to include the work 50 to be extracted is performed. It can be eliminated and the inference calculation processing time can be shortened.
  • the trained model execution device 10a preferentially performs the inference calculation process of the inference sub-data including the work 50 to be extracted, so that the number of candidates of the work 50 specified in advance can be found quickly and the inference calculation is performed.
  • the processing can be completed early, and the inference calculation processing time can be shortened.
  • voice data may be acquired as inference data.
  • the trained model execution device 10 can find out the defined conversation content from the huge amount of voice data within a short inference calculation processing time.
  • the preprocessing unit 120a may perform feature analysis to extract features of voice data acquired as inference data. By doing so, the trained model execution device 10a can optimally divide the inference voice data into a plurality of inference sub-voice data without acquiring training data.
  • the preprocessing unit 120a may divide the inference data into a plurality of inference sub-data by batch processing based on the result of the feature analysis. By doing so, the trained model execution device 10a can optimally divide the inference voice data into a plurality of inference sub-voice data without acquiring training data.
  • the execution unit 130a assigns an evaluation score to each of the plurality of inference sub-data based on the result of the feature analysis, and is assigned.
  • the inference calculation processing order of a plurality of inference sub-data may be optimized based on the priority by the evaluation score.
  • the trained model execution device 10a can eliminate unnecessary inference calculation processing in which the specified conversation content cannot be found even if the inference calculation processing is performed, and the inference calculation processing time can be shortened. ..
  • the trained model execution device 10a preferentially performs the inference calculation process of the inference subdata having a high possibility of including the specified conversation content, so that the inference calculation process is completed early and the inference calculation process time is reduced. Can be shortened.
  • character data may be acquired as inference data.
  • the trained model execution device 10 can find the specified character data from the huge amount of character data within a short inference calculation processing time.
  • the preprocessing unit 120a may perform feature analysis to extract the feature amount of the character data acquired as the inference data. By doing so, the trained model execution device 10a can optimally divide the inference character data into a plurality of inference sub-character data without acquiring training data.
  • the preprocessing unit 120a may divide the inference data into a plurality of inference sub-data by batch processing based on the result of the feature analysis. By doing so, the trained model execution device 10a can optimally divide the inference character data into a plurality of inference sub-character data without acquiring training data.
  • the execution unit 130a assigns an evaluation score to each of the plurality of inference sub-data based on the result of the feature analysis, and is assigned.
  • the inference calculation processing order of a plurality of inference sub-data may be optimized based on the priority by the evaluation score.
  • the trained model execution device 10a can eliminate unnecessary inference calculation processing in which the specified character data cannot be found even if the inference calculation processing is performed, and the inference calculation processing time can be shortened. ..
  • the trained model execution device 10a preferentially performs the inference calculation process of the inference sub-data that is likely to include the specified character data, so that the inference calculation process is completed early and the inference calculation process time is reduced. Can be shortened.
  • the acquisition unit 110b may acquire three-dimensional measurement data. By doing so, the trained model execution device 10b can optimally divide the inference data into a plurality of inference sub-data without acquiring training data.
  • the preprocessing unit 120b may divide the inference data into a plurality of inference sub-data by batch processing based on the three-dimensional measurement data. By doing so, the trained model execution device 10b can optimally divide the inference data into a plurality of inference sub-data without acquiring training data.
  • the execution unit 130b assigns an evaluation score to each of the plurality of inference sub-data based on the three-dimensional measurement data, and is assigned.
  • the inference calculation processing order of a plurality of inference sub-data may be optimized based on the priority by the evaluation score. By doing so, the trained model execution device 10b performs useless inference calculation processing such that a candidate for the work 50 to be extracted cannot be found even if the inference calculation processing of the inference subdata that is unlikely to include the work 50 to be extracted is performed. It can be eliminated and the inference calculation processing time can be shortened.
  • the trained model execution device 10b preferentially performs the inference calculation process of the inference sub-data including the work 50 to be extracted, so that the number of candidates of the work 50 specified in advance can be found quickly and the inference calculation is performed.
  • the processing can be completed early, and the inference calculation processing time can be shortened.
  • the inference calculation processing method of the present disclosure is an inference calculation processing method realized by a computer, in which inference data is input to a trained model and the inference calculation process of the inference data is executed, and the inference data is executed. And the acquisition process to acquire the trained model, the preprocessing process to divide the acquired inference data into multiple inference sub-data by batch processing, and the inference calculation processing order of multiple inference sub-data is optimized. , Includes an execution step of executing inference calculation processing of inference data based on each of a plurality of inference sub-data and a trained model in an optimized inference calculation processing order. According to this inference calculation processing method, the same effect as in (1) can be obtained.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Acoustics & Sound (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Image Analysis (AREA)

Abstract

ロボットが長く待機することなく短時間で推論計算処理を実行すること。 推論計算処理装置は、学習済みモデルに推論用データを入力して前記推論用データの推論計算処理を実行する推論計算処理装置であって、前記推論用データと前記学習済みモデルとを取得する取得部と、取得された前記推論用データをバッチ処理で複数の推論用サブデータに分割する前処理部と、前記複数の推論用サブデータの推論計算処理順番を最適化し、最適化された前記推論計算処理順番で前記複数の推論用サブデータの少なくとも一部のそれぞれと前記学習済みモデルとに基づいて前記推論用データの推論計算処理を実行する実行部と、を備える。

Description

推論計算処理装置、及び推論計算処理方法
 本発明は、推論計算処理装置、及び推論計算処理方法に関する。
 深層学習を利用したアプリケーションの計算処理を高速に行うためには大抵GPU(Graphics Processing Unit)デバイスの利用は必須であるが、GPUデバイスの更新スピードは速く、長い時間の保守の面から商品に組み込むことは難しい点がある。また、GPUデバイスは高価なデバイスであり導入コストが高くなる点もある。また、深層学習を利用したバラ積みされたワークの取出しは工場の生産ラインで使用されるアプリケーションとして、低いコストで生産ラインの目標サイクルタイムを達成させるために通常の安価なCPU(Central Processing Unit)デバイスを使用して高速に推論を実行できることが望ましい。
 この点、バラ積みされているワークの距離画像を生成して表示し、表示された距離画像において教示された取り出し位置の近傍の3次元点群データを入力データとし、教示に応じた評価値又は取り出し動作の成否結果に応じた評価値をラベルとする機械学習を行い、3次元点群データを入力し前記3次元点群データの評価値を出力する学習済みモデルを生成し、生成された学習済みモデルに所定領域の大きさで切り抜いた距離画像の3次元点群データを入力することで出力される評価値に基づいて、評価値が高い切り抜かれた距離画像に対応する取り出し位置が選択されることで、バラ積みされているワークを取り出す技術が知られている。例えば、特許文献1参照。
特開2019-58960号公報
 ところで、距離画像から所定領域の距離画像が切り抜かれたが、機械学習で用いられる学習用の入力データの大きさが一旦決められると、学習済みモデルに入力される所定領域で切り抜かれた距離画像(以下、「切り抜き画像」ともいう)の大きさは学習用の入力データと同じ大きさとなるように距離画像から切り抜く必要がある。
 また、全ての切り抜き画像(取り出し位置候補)の3次元点群データそれぞれを学習済みモデルに入力してそれぞれの評価値を出力し、評価値が高い切り抜き画像に対応している取り出し位置が選択される。すなわち、全ての切り抜き画像(取り出し位置候補)を学習済みモデルに入力して推論計算処理を行うことから、評価値が低くて推論計算を行っても選択/使用されない切り抜き画像(取り出し位置候補)に対しても無駄な推論計算が行われることになる。
 特に、複雑な形状を有するワークの場合は解像度の高い(すなわちデータサイズが大きい)距離画像や3次元点群データが必要となる。また、サイズの大きいワークの場合に取得した距離画像や3次元点群データもデータサイズが大きくなる。このため、データサイズが大きなデータに対して推論計算処理を行うにあたり、全ての切り抜き画像(取り出し位置候補)を計算する手法では、評価値が低くて推論計算を行っても選択/使用されない切り抜き画像(取り出し位置候補)に対する無駄な計算処理時間も含む。これにより、トータルの推論時間が長くなり、その期間、工場の生産ラインのロボット等が待機状態となり、生産効率が低下してしまう。
 そこで、ロボットが長く待機することなく短時間で推論計算処理を実行することが望まれている。
 本開示の推論計算処理装置の一態様は、学習済みモデルに推論用データを入力して前記推論用データの推論計算処理を実行する推論計算処理装置であって、前記推論用データと前記学習済みモデルとを取得する取得部と、取得された前記推論用データをバッチ処理で複数の推論用サブデータに分割する前処理部と、前記複数の推論用サブデータの推論計算処理順番を最適化し、最適化された前記推論計算処理順番で前記複数の推論用サブデータの少なくとも一部のそれぞれと前記学習済みモデルとに基づいて前記推論用データの推論計算処理を実行する実行部と、を備える。
 本開示の推論計算処理方法の一態様は、コンピュータにより実現される、学習済みモデルに推論用データを入力して前記推論用データの推論計算処理を実行する推論計算処理方法であって、前記推論用データと前記学習済みモデルとを取得する取得工程と、取得された前記推論用データをバッチ処理で複数の推論用サブデータに分割する前処理工程と、前記複数の推論用サブデータの推論計算処理順番を最適化し、最適化された前記推論計算処理順番で前記複数の推論用サブデータの少なくとも一部のそれぞれと前記学習済みモデルとに基づいて前記推論用データの推論計算処理を実行する実行工程と、を備える。
 一態様によれば、ロボットが長く待機することなく短時間で推論計算処理を実行することができる。
第1実施形態に係るロボットシステムの構成の一例を示す図である。 第1実施形態に係る学習済みモデル実行装置の機能的構成例を示す機能ブロック図である。 学習済みモデル実行装置の推論計算処理について説明するフローチャートである。 第2実施形態に係る学習済みモデル実行装置の機能的構成例を示す機能ブロック図である。 学習済みモデル実行装置の推論計算処理について説明するフローチャートである。 第3実施形態に係るロボットシステムの構成の一例を示す図である。 第3実施形態に係る学習済みモデル実行装置の機能的構成例を示す機能ブロック図である。 学習済みモデル実行装置の推論計算処理について説明するフローチャートである。 トレーニング画像データも取得する場合の第3実施形態の変形例に係る学習済みモデル実行装置の機能的構成例を示す機能ブロック図である。 推論用データが音声データの場合の学習済みモデル実行装置の機能的構成例を示す機能ブロック図である。 推論用データが文字データの場合の学習済みモデル実行装置の機能的構成例を示す機能ブロック図である。 推論用データが音声データの場合の学習済みモデル実行装置の機能的構成例を示す機能ブロック図である。 推論用データが文字データの場合の学習済みモデル実行装置の機能的構成例を示す機能ブロック図である。 トレーニング画像データも取得する場合の学習済みモデル実行装置の機能的構成例を示す機能ブロック図である。
 第1実施形態から第3実施形態について図面を参照して詳細に説明をする。
 ここで、各実施形態は、バラ積みされた重なり合う状態の複数のワークの取り出し位置を特定する学習済みモデルを用いて、ロボットが長く待機することなく短時間で推論計算処理を実行するという構成において共通する。
 ただし、推論計算処理において、第1実施形態では学習済みモデルを生成する機械学習で用いた教師データであるトレーニング画像データのサイズに基づいて、バラ積みで重なり合う状態の複数のワークが撮像された推論用画像データをバッチ処理で分割し、分割することで生成された複数の推論用サブ画像データに対する画像特徴分析から特徴量を抽出し、複数の推論用サブ画像データそれぞれの特徴量とトレーニング画像データに対する画像特徴分析からの特徴量とのマッチング結果に基づいて複数の推論用サブ画像データそれぞれに評価スコアを付与し、付与された評価スコアによる優先順位に基づいて複数の推論用サブ画像データの推論計算処理順番を最適化する。これに対し、第2実施形態では推論用画像データを画像処理することにより特徴点を抽出し、特徴点の数に応じて推論用画像データをバッチ処理で分割し、特徴点の数に基づいて複数の推論用サブ画像データそれぞれに評価スコアを付与する点で、第1実施形態と相違する。また、第3実施形態では3次元計測機等で取得されたワークがバラ積みで重なり合う状態の3次元点群データ(又は距離画像データ)に基づいて推論用画像データをバッチ処理で分割し、分割された複数の推論用サブ画像データそれぞれにおけるコンテナ底からの高さ(以下、「所定の高さ」ともいう)に基づいて複数の推論用サブ画像データそれぞれに評価スコアを付与する点で、第1実施形態及び第2実施形態と相違する。
 以下では、まず第1実施形態について詳細に説明し、次に第2実施形態及び第3実施形態において特に第1実施形態と相違する部分について説明を行う。
 <第1実施形態>
 図1は、第1実施形態に係るロボットシステム1の構成の一例を示す図である。ここでは、ロボットがコンテナ内にバラ積みされたワークを取り出す場合において画像データに基づいて機械学習して生成された学習済みモデルを実行するケースを例示する。なお、本発明は、ロボットがコンテナ内にバラ積みされたワークを取り出す場合において画像データに基づいて機械学習して生成された学習済みモデルを実行するケースに限られない。例えば、ロボットの動作に限らず、画像データに基づいて任意のタスクを実行するための推論を行うシステムにおいて、画像データに基づいて機械学習して生成される学習済みモデルを実行するケースにも適用することができる。
 また、例えば、後述するように、音声データに基づいて任意のタスクを実行するための推論を行うシステムにおいて、音声データに基づいて機械学習して生成される学習済みモデルを実行するケースにも適用することができる。また、文字データに基づいて任意のタスクを実行するための推論を行うシステムにおいて、文字データに基づいて機械学習して生成される学習済みモデルを実行するケースにも適用することができる。
 図1に示すように、ロボットシステム1は、推論計算処理装置としての学習済みモデル実行装置10、ロボット制御装置20、ロボット30、撮像装置40、複数のワーク50、及びコンテナ60を有する。
 学習済みモデル実行装置10、ロボット制御装置20、ロボット30、及び撮像装置40は、図示しない接続インタフェースを介して互いに直接接続されてもよい。なお、学習済みモデル実行装置10、ロボット制御装置20、ロボット30、及び撮像装置40は、LAN(Local Area Network)やインターネット等の図示しないネットワークを介して相互に接続されていてもよい。この場合、学習済みモデル実行装置10、ロボット制御装置20、ロボット30、及び撮像装置40は、かかる接続によって相互に通信を行うための図示しない通信部を備えている。また、説明しやすくするために、図1は学習済みモデル実行装置10とロボット制御装置20をそれぞれ独立に描いていて、この場合の学習済みモデル実行装置10は例えばコンピュータより構成されてもよい。このような構成に限定されず、例えば、学習済みモデル実行装置10はロボット制御装置20の内部に実装され、ロボット制御装置20と一体化されてもよい。
 ロボット制御装置20は、ロボット30の動作を制御するための当業者にとって公知の装置である。ロボット制御装置20は、例えば、バラ積みされたワーク50のうち後述する学習済みモデル実行装置10によって選択されたワーク50の取り出し位置情報を学習済みモデル実行装置10から受信する。ロボット制御装置20は、学習済みモデル実行装置10から受信した取り出し位置にあるワーク50を取り出すように、ロボット30の動作を制御するための制御信号を生成する。そして、ロボット制御装置20は、生成した制御信号をロボット30に対して出力する。
 なお、ロボット制御装置20は、後述するように、学習済みモデル実行装置10を含んでもよい。
 ロボット30は、ロボット制御装置20の制御に基づいて動作するロボットである。ロボット30は、鉛直方向の軸を中心に回転するためのベース部や、移動及び回転するアームや、ワーク50を保持するためにアームに装着される取り出しハンド31を備える。なお、図1では、ロボット30の取り出しハンド31には、エア吸着式の取り出しハンドが装着されているが、把持式の取り出しハンドが装着されてもよいし、磁力で鉄製のワークを取り出す磁気式ハンドが装着されてもよい。
 ロボット30は、ロボット制御装置20が出力する制御信号に応じて、アームや取り出しハンド31を駆動して、学習済みモデル実行装置10により選択された取り出し位置まで取り出しハンド31を移動させて、バラ積みされたワーク50を保持してコンテナ60から取り出す。
 なお、取り出したワーク50の移載先については図示を省略する。また、ロボット30の具体的な構成については、当業者によく知られているので、詳細な説明は省略する。
 また、学習済みモデル実行装置10やロボット制御装置20は、予め行われたキャリブレーションにより、ロボット30を制御するための機械座標系と、ワーク50の取り出し位置を示すカメラ座標系とを対応付けているものとする。
 撮像装置40は、デジタルカメラ等であり、コンテナ60内のバラ積みされたワーク50を撮像装置40の光軸に対して垂直な平面に投影した2次元の画像データを撮像する。撮像装置40により撮像される画像データは、RGBカラー画像やグレースケール画像、深度画像等の可視光画像でもよい。また、撮像装置40は、赤外線センサを含むように構成されて熱画像を撮像してもよく、紫外線センサを含むように構成されて物体表面の傷や斑等の検査用の紫外線画像を撮像してもよい。また、撮像装置40は、X線カメラセンサを含むように構成されてX線画像を撮像してもよく、超音波センサを含むように構成されて超音波画像を撮像してもよい。
 なお、撮像装置40は、後述するように、ステレオカメラ等の3次元計測機でもよい。
 ワーク50は、コンテナ60内で、バラ積みされた状態を含んで乱雑に置かれる。ワーク50は、ロボット30のアームに装着された取り出しハンド31で保持可能なものであればよく、その形状等は特に限定されない。
<学習済みモデル実行装置10>
 図2は、第1実施形態に係る学習済みモデル実行装置10の機能的構成例を示す機能ブロック図である。
 学習済みモデル実行装置10は、当業者にとって公知のコンピュータであり、図2に示すように、制御部11を有する。また、制御部11は、取得部110、前処理部120、及び実行部130を有する。また、取得部110は、データ保存部111を有する。また、前処理部120は、バッチ処理部121を有する。また、実行部130は、特徴分析部131、評価スコア計算部132、最適化計算部133、推論計算処理部134、及び推論結果保存部135を有する。
<制御部11>
 制御部11は、CPU(Central Processing Unit)、ROM、RAM(Random Access Memory)、CMOS(Complementary Metal-Oxide-Semiconductor)メモリ等を有し、これらはバスを介して相互に通信可能に構成される、当業者にとって公知のものである。
 CPUは学習済みモデル実行装置10を全体的に制御するプロセッサである。CPUは、ROMに格納されたシステムプログラム及びアプリケーションプログラムを、バスを介して読み出し、システムプログラム及びアプリケーションプログラムに従って学習済みモデル実行装置10全体を制御する。これにより、図2に示すように、制御部11が、取得部110、前処理部120、及び実行部130の機能を実現するように構成される。また、取得部110は、データ保存部111の機能を実現するように構成される。また、前処理部120は、バッチ処理部121の機能を実現するように構成される。また、実行部130は、特徴分析部131、評価スコア計算部132、最適化計算部133、推論計算処理部134、及び推論結果保存部135の機能を実現するように構成される。RAMには一時的な計算データや表示データ等の各種データが格納される。また、CMOSメモリは図示しないバッテリでバックアップされ、学習済みモデル実行装置10の電源がオフされても記憶状態が保持される不揮発性メモリとして構成される。
<取得部110>
 取得部110は、例えば、推論用データとしての画像データを撮像装置40から取得するとともに、クラウド又はエッジデバイス上のデータベース70から学習済みモデル、及び前記学習済みモデルを機械学習で生成する際に用いたトレーニング画像データを取得する。
 取得部110はさらに、HDDやUSBメモリ等のデータ保存部111を含むように構成され、取得した学習済みモデルをデータ保存部111に保存するように構成されてもよい。例えば、取得部110は、クラウド又はエッジデバイス上のデータベース70からHDDやUSBメモリ等の記録媒体に記録されている学習済みモデルをLAN等のネットワークを経由して取得し、取得した学習済みモデルをデータ保存部111にコピーして保存してもよい。
 また、取得部110は、例えば、クラウド又はエッジデバイス上のデータベース70からHDDやUSBメモリ等の記録媒体に記録されているトレーニング画像データをLAN等のネットワークを経由して取得し、取得したトレーニング画像データをデータ保存部111にコピーして保存してもよい。
 また、取得部110は、例えば、撮像装置40から撮像された画像データを取得し、取得した画像データを推論用画像データとしてデータ保存部111にコピーして保存してもよい。
 なお、取得部110は、撮像装置40から画像データを取得したが、後述するように、3次元点群データ又は距離画像データ等を取得してもよい。
<前処理部120>
 前処理部120はバッチ処理部121を備え、バッチ処理部121は、取得部110により取得されたトレーニング画像データに基づいて推論用データをバッチ処理して複数の推論用サブ画像データに分割するように構成されてもよい。
 具体的には、バッチ処理部121は、例えば、機械学習に用いたトレーニング画像データのデータサイズを基準に、推論用画像データをバッチ処理して複数の推論用サブ画像データに分割してもよい。
<実行部130>
 実行部130は、前処理部120によりバッチ処理で分割された複数の推論用サブ画像データの推論計算処理順番を最適化し、予め指定された探索目標に達成するまでに、最適化された推論計算処理順番で必要な分だけの複数の推論用サブ画像データそれぞれと学習済みモデルとに基づいて推論用データの推論計算処理を実行するように構成されてもよい。
 例えば、実行部130は、トレーニング画像データ上のラベル付き教示位置の近傍画像と、前処理部120のバッチ処理で分割された複数の推論用サブ画像データそれぞれとに対して画像特徴分析を行い、抽出された特徴量のマッチング結果に基づいて複数の推論用サブ画像データそれぞれに評価スコアを付与し、付与された複数の推論用サブ画像データそれぞれの評価スコアの値の大きさに従って決まる優先順位に基づいて、複数の推論用サブ画像データの推論計算処理順番の最適化を行うように構成されてもよい。
 具体的に、実行部130の特徴分析部131は、例えば、トレーニング画像データ上にワーク50の取り出し可能な位置を示すラベルが付けられていることから、トレーニング画像データのうちラベルが示す取り出し位置を含む近傍画像領域に対して画像処理を行う。特徴分析部131は、例えば、画像処理により特定な特徴量(以下、「局所特徴量」ともいう)Aを抽出する。また、特徴分析部131は、前処理部120のバッチ処理で分割されたn個の推論用サブ画像データIMG1、IMG2…、IMGnに対しても画像処理を行い、局所特徴量を抽出する(nは2以上の整数)。例えば、特徴分析部131は、推論用サブ画像データIMG1から局所特徴量A11、A12を抽出し、推論用サブ画像データIMG2から局所特徴量A21、A22、A23を抽出し、推論用サブ画像データIMG3から局所特徴量A31、A32、A33、A34を抽出したとする。特徴分析部131は、抽出した局所特徴量A11、A12、A21、A22、A23、A31、A32、A33、A34それぞれと、トレーニング画像データの局所特徴量Aと、のマッチング処理を行い、前記マッチング処理の分析結果データを後述する評価スコア計算部132に出力する。
 実行部130の評価スコア計算部132は、特徴分析部131により出力された分析結果データを受け取り、例えば推論用サブ画像データIMG2がマッチング度の高い局所特徴量(例えば、A22)を含む場合、推論用サブ画像データIMG2に高い評価スコア(例えば、70点等)を付与する。また、評価スコア計算部132は、例えば1つの推論用サブ画像データIMG3がマッチング度の高い複数の局所特徴量(例えば、A32、A34)を含む場合、推論用サブ画像データIMG3により高い評価スコア(例えば、80点等)を付与する。評価スコア計算部132は、このように付与した評価スコアを後述する最適化計算部133に出力する。
 実行部130の最適化計算部133は、評価スコア計算部132により出力された評価スコアの情報に基づいて、高い評価スコアを有する推論用サブ画像データから順に優先的に推論計算処理されるように高い優先順位を付与する。最適化計算部133は、前処理部120のバッチ処理で分割されたn個の推論用サブ画像データの推論計算処理順番の最適化を行い、最適化された推論計算処理順番の処理順番リストを生成する。最適化計算部133は、生成した処理順番リストを後述する推論計算処理部134に出力する。
 なお、最適化計算部133は、低い評価スコアを有する推論用サブ画像データを推論計算処理しないように処理順番リストから削除するようにしてもよい。
 実行部130の推論計算処理部134は、最適化計算部133から受信した処理順番リストの情報と、前処理部120のバッチ処理で分割されたn個の推論用サブ画像データと、取得部110により取得された学習済みモデルとに基づいて、予め指定された探索目標(例えば、10個のワーク50の取り出し位置を見付け出すこと)に達成するまでに、処理順番リストの高い順でn個の推論用サブ画像データから必要な分だけの推論計算処理を行う。推論計算処理部134は、推論計算処理の推論結果データを後述する推論結果保存部135に出力する。
 実行部130の推論結果保存部135は、推論計算処理部134から推論結果データを受信して保存する。
 このように、高い評価スコアを有する推論用サブ画像データにトレーニング画像データ上の教示位置と同じ特徴を有するようなより良い取り出し位置候補が存在する可能性が高いことから、学習済みモデル実行装置10は、高い評価スコアを有する推論用サブ画像データから優先的に推論計算処理する。そうすることで、学習済みモデル実行装置10は、予め指定したワーク50の目標の取り出し数(以下、「所定の候補数」ともいう)の探索を早めに達成して推論計算処理を早めに終了することにより、推論計算処理時間を短縮することができる。換言すれば、学習済みモデル実行装置10は、低い評価スコアを有する推論用サブ画像データにトレーニング画像データ上の教示位置と同じ特徴を有するより良い取り出し位置候補が存在する可能性が低いことから、低い評価スコアを有する推論用サブ画像データの推論計算処理をしないようにすることで、無駄な推論計算処理をなくして推論計算処理時間を短縮できる。すなわち、学習済みモデル実行装置10は、評価スコアによる優先順位に基づいて推論計算処理順番を最適化することにより、推論計算処理の高速化を実現することができる。
 なお、所定の候補数は、要求される推論計算処理の精度や処理速度等に応じて適宜決定されることが好ましいが、工場の生産ラインの生産要求に応じて決定されてもよい。
<学習済みモデル実行装置10の推論計算処理>
 次に、本実施形態に係る学習済みモデル実行装置10の推論計算処理に係る動作について説明する。
 図3は、学習済みモデル実行装置10の推論計算処理について説明するフローチャートである。
 ステップS11において、取得部110は、データベース70から学習済みモデル、及びトレーニング画像データを取得する。
 ステップS12において、取得部110は、撮像装置40から推論用画像データを取得する。
 ステップS13において、前処理部120のバッチ処理部121は、トレーニング画像データに基づいてステップS12で取得された推論用画像データをバッチ処理でn個の推論用サブ画像データに分割する。
 ステップS14において、実行部130の特徴分析部131は、トレーニング画像データ、及びn個の推論用サブ画像データに対して画像特徴分析を行い、トレーニング画像データ、及びn個の推論用サブ画像データから局所特徴量を抽出する。
 ステップS15において、特徴分析部131は、トレーニング画像データの局所特徴量と、各推論用サブ画像データの局所特徴量とのマッチング処理を行い、マッチング処理の分析結果データを評価スコア計算部132に出力する。
 ステップS16において、評価スコア計算部132は、ステップS15より出力された分析結果データに基づいて、n個の推論用サブ画像データそれぞれに、トレーニング画像データの局所特徴量とのマッチング度に応じた評価スコアを付与する。
 ステップS17において、最適化計算部133は、ステップS16より付与された評価スコアの情報に基づいて推論計算処理を行う複数の推論用サブ画像データの推論計算処理順番を最適化し、処理順番リストを生成する。
 ステップS18において、推論計算処理部134は、ステップS17で生成された処理順番リストの情報と、推論用サブ画像データと、学習済みモデルとに基づいて推論計算処理を行う。
 ステップS19において、推論計算処理部134は、ステップS18での推論計算処理により探索された取り出し位置候補の数が所定の候補数に達したか否かを判定する。取り出し位置候補の数が所定の候補数に達した場合、推論計算処理を終了する。一方、取り出し位置候補の数が所定の候補数より少ない場合、処理はステップS18に戻る。
 以上により、第1実施形態に係る学習済みモデル実行装置10は、撮像装置40から推論用データと、データベース70から学習済みモデル及びトレーニング画像データと、をそれぞれ取得する。学習済みモデル実行装置10は、トレーニング画像データのサイズに基づいて推論用画像データをバッチ処理でn個の推論用サブ画像データに分割する。学習済みモデル実行装置10は、トレーニング画像データ、及びn個の推論用サブ画像データのそれぞれから局所特徴量を抽出し、抽出したトレーニング画像データの局所特徴量と各推論用サブ画像データの局所特徴量とのマッチング処理を行う。学習済みモデル実行装置10は、マッチング処理の分析結果データに基づいてn個の推論用サブ画像データそれぞれに、トレーニング画像データの局所特徴量とのマッチング度に応じた評価スコアを付与し、評価スコアの情報に基づいて推論計算処理を行う複数の推論用サブ画像データの推論計算処理順番を最適化する。
 これにより、学習済みモデル実行装置10は、ロボット30が長く待機することなく短時間で推論計算処理を実行することができる。
 また、学習済みモデル実行装置10は、通常の安価なCPUデバイスを使用して高速に推論を実行することができ、低いコストで生産ラインに求められる高い生産効率を実現することができる。
 以上、第1実施形態について説明した。
<第2実施形態>
 次に、第2実施形態について説明する。上述したように、推論計算処理において、第1実施形態ではトレーニング画像データのサイズに合わせて推論用画像データをバッチ処理で分割し、分割することで生成された複数の推論用サブ画像データそれぞれに対する画像特徴分析から特徴量を抽出し、複数の推論用サブ画像データそれぞれの特徴量とトレーニング画像データの特徴量とのマッチング結果に基づいて複数の推論用サブ画像データそれぞれに評価スコアを付与し、付与された評価スコアの値による優先順位に基づいて複数の推論用サブ画像データの推論計算処理順番を最適化する。これに対し、第2実施形態では推論用画像データを画像処理することにより、例えば特定な特徴点を抽出し、抽出された特徴点の数に応じて推論用画像データをバッチ処理で分割し、各領域内に含まれる特徴点の数に基づいて複数の推論用サブ画像データそれぞれに評価スコアを付与する点で、第1実施形態と相違する。
 これにより、学習済みモデル実行装置10aは、ロボット30が長く待機することなく短時間で推論計算処理を実行することができる。
 以下、第2実施形態について説明する。
 第2実施形態に係るロボットシステム1は、図1の第1実施形態の場合と同様に、学習済みモデル実行装置10a、ロボット制御装置20、ロボット30、撮像装置40、複数のワーク50、及びコンテナ60を有する。
<学習済みモデル実行装置10a>
 図4は、第2実施形態に係る学習済みモデル実行装置10aの機能的構成例を示す機能ブロック図である。なお、図2の学習済みモデル実行装置10の要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。
 学習済みモデル実行装置10aは、第1実施形態に係る学習済みモデル実行装置10と同様に、制御部11aを有する。また、制御部11aは、取得部110a、前処理部120a、及び実行部130aを有する。また、取得部110aは、データ保存部111を有する。また、前処理部120aは、バッチ処理部121a、及び画像処理部122を有する。また、実行部130aは、評価スコア計算部132a、最適化計算部133、推論計算処理部134、及び推論結果保存部135を有する。
<取得部110a>
 取得部110aは、例えば、推論用データとしての画像データを撮像装置40から取得するとともに、クラウド又はエッジデバイス上のデータベース70から学習済みモデルを取得する。取得部110aは、取得した学習済みモデル、及び画像データをデータ保存部111に保存する。
 なお、データ保存部111は、第1実施形態に係るデータ保存部111と同等の機能を有する。
<前処理部120a>
 前処理部120aは、例えば、取得部110aのデータ保存部111から画像データを推論用画像データとして取得し、取得した推論用画像データの画像処理を行い、画像処理結果に基づいて推論用画像データをバッチ処理で複数の推論用サブ画像データに分割するように構成されてもよい。
 具体的には、前処理部120aの画像処理部122は、例えば、推論用画像データに対して画像処理を行い、エッジやコーナー、特徴点等の特徴を抽出して画像処理結果データとして出力してもよい。以下はその一例を挙げて、画像処理部122は、推論用画像データの全領域に対して特定な特徴点を抽出する場合を述べる。図1に示すように、例えば、推論用画像データがコンテナ60内にバラ積みされたワーク50の状況を撮像した画像である場合、抽出された特徴点の数が少ない局所画像領域内にはワーク50が殆どなく、明るさも画素値も均一になっている1つ大きな平面(例えば、コンテナ60の底等)が写っている可能性が高いと予測することができる。この場合、学習済みモデル実行装置10aは、当該画像領域に対して推論計算処理を行っても、取り出す対象のワーク50を見つけられない可能性が高いことから、無駄な推論計算処理に時間をかけてしまうことになる。すなわち、学習済みモデル実行装置10aは、画像処理部122により抽出された特徴点の位置分布を分析することで、より多くの特徴点が集中している局所画像領域、すなわちワーク50が多く存在している局所画像領域を特定することができる。
 なお、画像処理部122は、推論用画像データの画像処理を行って特徴点を抽出した場合を一例として説明したが、これに限定されない。例えば、画像処理部122は、実際のワーク50の形状に合わせて画像処理で抽出する特徴を変えることで効率を上げるようにしてもよい。
 バッチ処理部121aは、推論用画像上に特徴点が集中している局所画像領域が1つの推論用サブ画像となるように推論用画像を分割し、特徴点が少ない又は1つも存在しない局所画像領域が1つの推論用サブ画像となるように推論用画像を分割する処理を行う。そうすることで、ワーク50が多く存在している可能性の高い局所画像領域が1つの推論用サブ画像になり、ワーク50が少ない又は1つも存在しない局所画像領域が1つの推論用サブ画像になるように推論用画像データを複数に分割して複数の推論用サブ画像データを生成して、実行部130aに出力してもよい。なお、バッチ処理部121aは、推論用画像データ上において特徴点が集中しているか、特徴点が少ないかを、予め設定された閾値に基づいて、例えば、特徴点の数が閾値D1を超えたものは多いと判定し、閾値D2(D2<D1)より少ないものは少ないと判定するようにしてもよい。
 これにより、優先して推論計算処理すべき局所画像領域と、推論計算しても対象ワークを見つけられなく、無駄になるような局所画像領域とを、推論用画像データのバッチ処理の段階で見分け、後述の推論計算処理順番の最適化が効率よくスムーズに行えるようにバッチ処理を最適化することができる。
 すなわち、優先して推論計算処理すべきワーク50を見つけられる可能性の高い推論用サブ画像データと、推論計算しても対象となるワーク50を見つけられず無駄になるような推論用サブ画像データとを推論用画像データのバッチ処理の段階で見分けるようにすることで、後述する実行部130aは推論計算処理順番の最適化を効率よくスムーズに行うことができる。
<実行部130a>
 実行部130aは、前処理部120aの画像処理部122により出力された画像処理結果データに基づいて、複数の推論用サブ画像データの推論計算処理順番の最適化を行い、予め指定された探索目標に達成するまでに、最適化された推論計算処理順番で必要な分だけの複数の推論用サブ画像データそれぞれと学習済みモデルとに基づいて推論用データの推論計算処理を実行するように構成されてもよい。
 具体的には、前述したように前処理部120aのバッチ処理部121aにより、前述したコンテナ60内にバラバラに積載しているワーク50を撮影した推論用画像に対して特徴点を抽出して推論用画像データを複数に分割して複数の推論用サブ画像データを生成して出力したとする。そうすることで、実行部130aは評価スコア計算部132aを備え、評価スコア計算部132aにより、特徴点の数が多い推論用サブ画像データに高い評価スコアを付与し、特徴点の数が少ない推論用サブ画像データに低い評価スコアを付与するようにしてもよい。
 そうすることで、実行部130aの最適化計算部133は、図2の最適化計算部133と同様に、評価スコア計算部132aにより付与された評価スコアの高い順で処理順番リストを生成して出力する。
 実行部130aの推論計算処理部134は、図2の推論計算処理部134と同様に、処理順番リストの情報と、複数の推論用サブ画像データと、学習済みモデルとに基づいて推論計算処理を行い、推論結果データを推論結果保存部135に保存する。
 このように、学習済みモデル実行装置10aは、抽出された特徴点の数が多くワーク50が多く存在している可能性の高い推論用サブ画像データを優先的に推論計算処理し、特徴点の数が少なくワーク50が少ない又は1つも存在しない推論用サブ画像データを推論計算処理しないことで、推論用画像データから予め指定した取り出すワーク50の所定の候補数を見つけるための推論計算処理時間を短縮することができる。
 そうすることで、学習済みモデル実行装置10aは、推論用画像データから予め指定した取り出すワーク50の所定の候補数を見つけ出すことができ、推論計算処理を早めに終了して推論計算処理時間を短縮することができる。
<学習済みモデル実行装置10aの推論計算処理>
 次に、本実施形態に係る学習済みモデル実行装置10aの推論計算処理に係る動作について説明する。
 図5は、学習済みモデル実行装置10aの推論計算処理について説明するフローチャートである。
 なお、ステップS26からステップS28の処理は、図3の第1実施形態のステップS17からステップS19と同様であり、説明は省略する。
 ステップS21において、取得部110aは、データベース70から学習済みモデルを取得する。
 ステップS22において、取得部110aは、撮像装置40から推論用画像データを取得する。
 ステップS23において、前処理部120aの画像処理部122は、ステップS22で取得された推論用画像データに対して画像処理を行い、推論用画像データの全領域から特徴点を抽出する。
 ステップS24において、前処理部120aのバッチ処理部121aは、ステップS23で抽出された特徴点に基づいてステップS22で取得された推論用画像データ上に特徴点が集中している局所画像領域が1つの推論用サブ画像となるように推論用画像を分割し、特徴点が少ない又は1つも存在しない局所画像領域が1つの推論用サブ画像となるように推論用画像データを分割する処理を行う。
 ステップS25において、評価スコア計算部132aは、特徴点の数に基づいてステップS24において分割された各推論用サブ画像データに評価スコアを付与する。
 以上により、第2実施形態に係る学習済みモデル実行装置10aは、撮像装置40から推論用画像データと、データベース70から学習済みモデルと、をそれぞれ取得する。学習済みモデル実行装置10aは、取得した推論用画像データに対して画像処理を行い、推論用画像データの全領域から特徴点を抽出し、抽出した特徴点に基づいて推論用画像データを特徴点が集中している推論用サブ画像データと特徴点が少ない又は1つも存在しない推論用サブ画像データとに分割する。学習済みモデル実行装置10aは、各推論用サブ画像領域内の特徴点の数に基づいて、推論用画像データを分割して生成された各推論用サブ画像データに評価スコアを付与し、付与した評価スコアの情報に基づいて推論計算処理を行う複数の推論用サブ画像データの推論計算処理順番を最適化する。
 これにより、学習済みモデル実行装置10aは、ロボット30が長く待機することなく短時間で推論計算処理を実行することができる。
 また、学習済みモデル実行装置10aは、通常の安価なCPUデバイスを使用して高速に推論を実行することができ、低いコストで生産ラインに求められる高い生産効率を実現することができる。
 以上、第2実施形態について説明した。
<第3実施形態>
 次に、第3実施形態について説明する。上述したように、推論計算処理において、第1実施形態ではトレーニング画像データのサイズに合わせて推論用画像データをバッチ処理で分割し、分割された複数の推論用サブ画像データそれぞれに対する画像特徴分析から特徴量を抽出し、複数の推論用サブ画像データそれぞれの特徴量とトレーニング画像データの特徴量とのマッチング結果に基づいて複数の推論用サブ画像データそれぞれに評価スコアを付与し、付与された評価スコアの値による優先順位に基づいて複数の推論用サブ画像データの推論計算処理順番を最適化する。第2実施形態では推論用画像データを画像処理することにより特徴点を抽出し、特徴点の数に応じて推論用画像データをバッチ処理で分割し、特徴点の数に基づいて複数の推論用サブ画像データそれぞれに評価スコアを付与する。これに対して、第3実施形態では3次元計測機45で取得されたワークがバラ積みで重なり合う状態の3次元点群データ(又は距離画像データ)に基づいて推論用画像データをバッチ処理で分割し、分割された複数の推論用サブ画像データそれぞれにおける所定の高さに基づいて複数の推論用サブ画像データそれぞれに評価スコアを付与する点で、第1実施形態及び第2実施形態と相違する。
 これにより、第3実施形態に係る学習済みモデル実行装置10bは、ロボット30が長く待機することなく短時間で推論計算処理を実行することができる。
 以下、第3実施形態について説明する。
 図6は、第3実施形態に係るロボットシステム1Aの構成の一例を示す図である。なお、図1のロボットシステム1の要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。
 図6に示すように、ロボットシステム1Aは、学習済みモデル実行装置10b、ロボット制御装置20、ロボット30、3次元計測機45、複数のワーク50、及びコンテナ60を有する。
 ロボット制御装置20、及びロボット30は、第1実施形態に係るロボット制御装置20、及びロボット30と同等の機能を有する。
 3次元計測機45は、3次元計測機45の光軸に対して垂直な平面とコンテナ60内のばら積みされたワーク50の表面の各点との間の距離から換算した値を画素値とする3次元情報(以下、「距離画像」ともいう)を取得するように構成されてもよい。例えば、図6に示すように、距離画像上のワーク50の点Aの画素値は、3次元計測機45の3次元座標系(X,Y,Z)のZ軸方向の、3次元計測機45とワーク50の点Aとの間の距離(3次元計測機45からの高さ)から換算したものである。すなわち、3次元座標系のZ軸方向は3次元計測機45の光軸方向である。また、3次元計測機45は、例えばステレオカメラ、又はロボット30の手先や移動装置に固定される1台のカメラ、カメラ1台とレーザスキャナや音波センサ等の距離センサの組み合わせにより構成され、コンテナ60内に積載の複数のワーク50の3次元点群データを取得してもよい。このように取得した3次元点群データは、3次元空間上のあらゆる視点から確認できる3Dビューの中で表示可能であり、コンテナ60に積載の複数のワーク50の重なり合う状態を3次元的に確認できる離散化されたデータである。
 また、3次元計測機45は、3次元点群データ又は距離画像とともに、グレースケール画像又はRGB画像等の2次元画像を取得してもよい。なお、ロボットシステム1Aは、3次元計測機45とは異なるデジタルカメラ等の撮像装置(図示しない)を含み、学習済みモデル実行装置10bは、3次元計測機45から3次元点群データ又は距離画像とともに撮像装置(図示しない)から2次元画像を取得してもよい。
<学習済みモデル実行装置10b>
 図7は、第3実施形態に係る学習済みモデル実行装置10bの機能的構成例を示す機能ブロック図である。なお、図1の学習済みモデル実行装置10の要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。
 学習済みモデル実行装置10bは、制御部11bを有する。また、制御部11bは、取得部110b、前処理部120b、及び実行部130bを有する。また、取得部110bは、データ保存部111を有する。また、前処理部120bは、バッチ処理部121b、及び3次元処理部123を有する。また、実行部130bは、評価スコア計算部132b、最適化計算部133、推論計算処理部134、及び推論結果保存部135を有する。
<取得部110b>
 取得部110bは、例えば、推論用データとしての画像データとともに、3次元点群データ又は距離画像を3次元計測機45から取得する。また、取得部110bは、クラウド又はエッジデバイス上のデータベース70から学習済みモデルを取得する。取得部110bは、取得した学習済みモデル、3次元点群データ又は距離画像、及び画像データをデータ保存部111に保存する。
 なお、データ保存部111は、第1実施形態に係るデータ保存部111と同等の機能を有する。
<前処理部120b>
 前処理部120bは、3次元点群データ又は距離画像データに基づいて推論用画像データのバッチ処理の最適化を行い、複数の推論用サブ画像データを生成するように構成されてもよい。
 具体的には、前処理部120bの3次元処理部123は、例えば、コンテナ60内にバラ積みされた複数のワーク50を2次元、3次元的に計測することにより取得した推論用画像データと3次元点群データ(又は距離画像データ)との照らし合わせを行う。これにより、3次元処理部123は、推論用画像データ上の各画素位置に対応している現実世界の3次元位置のコンテナ60の底からの高さ(「所定の高さ」ともいう)の分布を分析することができる。3次元処理部123は、所定の高さの分布の分析結果を3次元処理結果データとしてバッチ処理部121bに出力する。
 ここで、バッチ処理部121bは、所定の高さの分布情報が含まれる3次元処理結果データを受け取り、推論用画像データ上の各画素位置に対応している所定の高さの差を反映して推論用画像データを複数の推論用サブ画像データに分割してもよい。
 すなわち、推論用画像データのバッチ処理の段階で、推論用画像データをワーク50が多く存在し優先して推論計算処理すべき推論用サブ画像データと、推論計算してもワーク50が少ない又は1つも存在しない推論用サブ画像データとに分割することで、後述する実行部130bは推論計算処理順番の最適化を効率よくスムーズに行うことができる。
 なお、前述の閾値は、要求される推論計算処理の精度や処理速度等に応じて適宜決定されることが好ましいが、工場の生産ラインの生産要求に応じて決定されてもよい。
<実行部130b>
 実行部130bは、3次元点群データ又は距離画像データに基づいて複数の推論用サブ画像データの推論計算処理順番の最適化を行い、予め指定された探索目標に達成するまでに、最適化された推論計算処理順番で必要な分だけの複数の推論用サブ画像データそれぞれと学習済みモデルとに基づいて推論用データの推論計算処理を実行するように構成されてもよい。
 例えば、実行部130bの評価スコア計算部132bは、コンテナ60内に複数のワーク50がバラ積みされている場合、所定の高さが閾値以上の高い推論用サブ画像データに高い評価スコアを付与し、当該推論用サブ画像データに対する推論計算処理を優先的に行うようにしてもよい。一方、評価スコア計算部132bは、所定の高さが閾値より低い推論用サブ画像データに低い評価スコアを付与し、当該推論用サブ画像データに対する推論計算処理を行わないようにして推論計算処理の最適化を行ってもよい。これにより、学習済みモデル実行装置10bは、莫大な画像データから予め指定した目標の候補数の対象のワーク50を短い推論計算処理時間内で見つけ出すことができる。
 ところで、3次元計測機45の性能や照明条件によって3次元計測が失敗して3次元データを取得できなかった(データ抜け)領域が存在することもある。
 そこで、評価スコア計算部132bは、前処理部120bのバッチ処理部121bにより出力された複数の推論用サブ画像データに対して、対応している3次元データの中にデータ抜け領域がより大きくて多いような推論用サブ画像データの推論計算処理の優先度を下げるようにしてもよい。そうすることで、学習済みモデル実行装置10bは、無駄な推論計算処理をなくして、推論計算処理時間を短縮することができる。
 なお、最適化計算部133、推論計算処理部134、及び推論結果保存部135は、第1実施形態に係る最適化計算部133、推論計算処理部134、及び推論結果保存部135と同等の機能を有する。
<学習済みモデル実行装置10bの推論計算処理>
 次に、本実施形態に係る学習済みモデル実行装置10bの推論計算処理に係る動作について説明する。
 図8は、学習済みモデル実行装置10bの推論計算処理について説明するフローチャートである。
 なお、ステップS36からステップS38の処理は、図3の第1実施形態のステップS17からステップS19と同様であり、説明は省略する。
 ステップS31において、取得部110bは、データベース70から学習済みモデルを取得する。
 ステップS32において、取得部110bは、3次元計測機45から推論用画像データ、及び3次元点群データ又は距離画像を取得する。
 ステップS33において、3次元処理部123は、ステップS32で取得された3次元点群データ又は距離画像に基づいて推論用画像データの所定の高さの分布を分析し、3次元処理結果データを出力する。
 ステップS34において、バッチ処理部121bは、ステップS33で出力された3次元処理結果データに基づいて推論用画像データを複数の推論用サブ画像データに分割する。
 ステップS35において、評価スコア計算部132bは、3次元点群データ又は距離画像に基づいて各推論用サブ画像データに評価スコアを付与する。
 以上により、第3実施形態に係る学習済みモデル実行装置10bは、3次元計測機45から推論用画像データ、及び3次元点群データ又は距離画像と、データベース70から学習済みモデルと、をそれぞれ取得する。学習済みモデル実行装置10bは、3次元点群データ又は距離画像に基づいて推論用画像データの所定の高さの分布を分析し、分析した3次元処理結果データに基づいて推論用画像データを複数の推論用サブ画像データに分割する。学習済みモデル実行装置10bは、3次元点群データ又は距離画像に基づいて各推論用サブ画像データに評価スコアを付与し、評価スコアの情報に基づいて推論計算処理を行う複数の推論用サブ画像データの推論計算処理順番を最適化する。
 これにより、学習済みモデル実行装置10bは、ロボット30が長く待機することなく短時間で推論計算処理を実行することができる。
 また、学習済みモデル実行装置10bは、通常の安価なCPUデバイスを使用して高速に推論を実行することができ、低いコストで生産ラインに求められる高い生産効率を実現することができる。
 以上、第3実施形態について説明した。
<第3実施形態の変形例1>
 第3実施形態に係る学習済みモデル実行装置10bは、3次元計測機45から推論用画像データ、及び3次元点群データ又は距離画像も取得し利用し、バラ積みされた複数のワーク50を取り出す場合を説明したが、これに限定されない。ワーク50の種類、形状、サイズ、色、個数、積載状態などにも限定されない。
 例えば、ロボット30が複数のワーク50が重なり合う状態のない平積み状態や箱形状のワーク50の積荷状態(例えば、段ボールの段積み状態)からワーク50を取り出すタスクを実行するための推論を行うシステムに適用してもよい。
<第3実施形態の変形例2>
 第3実施形態では、学習済みモデル実行装置10bは、データベース70から学習済みモデルのみを取得したが、トレーニング画像データもデータベース70から取得してもよい。
 図9は、トレーニング画像データも取得する場合の第3実施形態の変形例に係る学習済みモデル実行装置10bの機能的構成例を示す機能ブロック図である。なお、図7の学習済みモデル実行装置10b、及び図4の学習済みモデル実行装置10aの要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。
 図9に示すように、取得部110bは、データベース70から学習済みモデル、及びトレーニング画像データを取得する。
 また、前処理部120aの画像処理部122は、第2実施形態と同様に、トレーニング画像データと推論用画像データとに画像処理を行い、バッチ処理部121aは、画像処理結果に基づいて推論用画像データのバッチ処理で複数の推論用サブ画像データに分割するように構成されてもよい。
 なお、実行部130b、評価スコア計算部132b、最適化計算部133、推論計算処理部134、及び推論結果保存部135は、第3実施形態に係る評価スコア計算部132b、最適化計算部133、推論計算処理部134、及び推論結果保存部135と同等の機能を有する。
 これにより、学習済みモデル実行装置10bは、データベース70からトレーニング画像データを取得する場合でもロボット30が長く待機することなく短時間で推論計算処理を実行することができる。また、学習済みモデル実行装置10bは、通常の安価なCPUデバイスを使用して高速に推論を実行することができ、低いコストで生産ラインに求められる高い生産効率を実現することができる。
 以上、第1実施形態、第2実施形態、及び第3実施形態について説明したが、学習済みモデル実行装置10、10a、10bは、上述の実施形態に限定されるものではなく、目的を達成できる範囲での変形、改良等を含む。
<変形例1>
 上述の第1実施形態、第2実施形態、及び第3実施形態では、学習済みモデル実行装置10、10a、10bは、ロボット制御装置20と異なる装置として例示したが、学習済みモデル実行装置10、10a、10bの一部又は全部の機能を、ロボット制御装置20が備えるように構成されてもよい。
 あるいは、学習済みモデル実行装置10の取得部110、前処理部120、及び実行部130の一部又は全部を、例えば、サーバが備えるようにしてもよい。また、学習済みモデル実行装置10aの取得部110a、前処理部120a、及び実行部130aの一部又は全部を、例えば、サーバが備えるようにしてもよい。また、学習済みモデル実行装置10bの取得部110b、前処理部120b、及び実行部130bの一部又は全部を、例えば、サーバが備えるようにしてもよい。また、クラウド上で仮想サーバ機能等を利用して、学習済みモデル実行装置10、10a、10bの各機能を実現してもよい。
 さらに、学習済みモデル実行装置10、10a、10bは、学習済みモデル実行装置10、10a、10bの各機能を適宜複数のサーバに分散される、分散処理システムとしてもよい。
<変形例2>
 また例えば、上述の第1実施形態に係る学習済みモデル実行装置10は、ロボット30がコンテナ60内にバラ積みされた複数のワーク50を取り出す場合において画像データに基づいて機械学習して生成された学習済みモデルを実行するケースであって、機械学習を行う際に用いたトレーニング画像データのサイズに基づいて推論用画像データをバッチ処理で複数の推論用サブ画像データに分割し、トレーニング画像データ及び複数の推論用サブ画像データのそれぞれから抽出した局所特徴量に基づいてトレーニング画像データと各推論用サブ画像データとのマッチング処理を行うように構成された。そして、学習済みモデル実行装置10は、マッチング度に応じて複数の推論用サブ画像データそれぞれに評価スコアを付与し、評価スコアに基づいて複数の推論用サブ画像データの推論計算処理順番を最適化し、最適化された推論計算処理順番に基づいて複数の推論用サブ画像データの推論計算処理を行い、ロボット30が取り出すワーク50の取り出し位置候補を計算した実施例を説明したが、ロボット30がコンテナ60内にバラ積みされた複数のワーク50を取り出す場合において画像データに基づいて機械学習して生成された学習済みモデルを実行するケースに限定されない。ワーク50の種類、形状、サイズ、色、個数、積載状態等にも限定されない。
 例えば、ロボット30が複数のワーク50が重なり合う状態のない平積み状態や箱形状のワーク50の積荷状態(例えば、段ボールの段積み状態)からワーク50を取り出すタスクを実行するための推論を行うシステムに適用してもよい。
 例えば、学習済みモデル実行装置10は、ロボット30がコンテナ60内にバラ積みされた複数のワーク50を取り出すシステムに換えて、例えば複数人の会話又は会議中の音声データに基づいて任意のタスクを実行するための推論を行うシステムに適用してもよい。この場合、画像データを音声データに換えて、音声のトレーニングデータ(以下、「トレーニング音声データ」ともいう)に基づいて音声の推論用データ(以下、「推論用音声データ」ともいう)をバッチ処理で複数の推論用サブ音声データに分割し、トレーニング音声データ及び複数の推論用サブ音声データから抽出した特徴量に基づいてトレーニング音声データと各推論用サブ音声データとのマッチング処理を行うようにしてもよい。そして、学習済みモデル実行装置10は、第1実施形態と同様の手法を適用して、マッチング度に応じて複数の推論用サブ音声データそれぞれに評価スコアを付与し、評価スコアに基づいて複数の推論用サブ音声データの推論計算処理順番を最適化し、最適化された推論計算処理順番に基づいて複数の推論用サブ音声データの推論計算処理を行い、莫大な音声データから規定したトレーニング音声データである会話内容(例えば、「イヌ(犬)」、「ネコ(猫)」、「テンキ(天気)」等の特定の目標キーワードに関連する内容)を短い推論計算処理時間内で見つけ出すようにしてもよい。そうすることで、学習済みモデル実行装置10は、例えば、複数人の会話又は会議中の音声データに基づいて会話内容を推論して認識するシステムの場合、規定の音声データ、例えば人の音声データが含まれない領域(音声データをセル化した場合は、複数のセル群となる。以下、「セル群」ともいう)を含む推論用サブ音声データに対する無駄な推論計算処理を回避でき、推論計算処理時間を短縮することができる。
 あるいは、学習済みモデル実行装置10は、ロボット30がコンテナ60内にバラ積みされた複数のワーク50を取り出すシステムに換えて、例えば文字データに基づいて任意のタスクを実行するための推論を行うシステムとして、文字データに基づいて機械学習して生成される学習済みモデルを実行するケースにも適用することができる。具体的には、画像データを文字データに換えて、第1実施形態と同様の手法を適用して、文字のトレーニングデータ(以下、「トレーニング文字データ」ともいう)に基づいて文字の推論用データ(以下、「推論用文字データ」ともいう)をバッチ処理で複数の推論用サブ文字データに分割し、トレーニング文字データ及び複数の推論用サブ文字データのそれぞれから抽出した特徴量に基づいてトレーニング文字データと各推論用サブ文字データとのマッチング処理を行ってもよい。そして、学習済みモデル実行装置10は、マッチング度に応じて複数の推論用サブ文字データそれぞれに評価スコアを付与し、評価スコアに基づいて複数の推論用サブ文字データの推論計算処理順番を最適化し、最適化された推論計算処理順番に基づいて複数の推論用サブ文字データの推論計算処理を行い、莫大な文字データから規定したトレーニング文字データ(例えば、「年」、「月」、「日」等の特定の目標キーワードに関連する内容)を短い推論計算処理時間内で見つけ出すようにしてもよい。そうすることで、学習済みモデル実行装置10は、例えば、ロボット30の故障履歴データ(文字データ)に基づいて所定の故障(例えば、減速機の故障件数と故障時間と場所)を特定する場合、規定の文字データ(例えば、「減速機」という目標キーワード)を含まない領域(文字データをセル化した場合は、複数のセル群となる。以下、「セル群」ともいう)を含む推論用サブ文字データに対する無駄な推論計算処理を回避でき、推論計算処理時間を短縮することができる。
 以下、より具体的に推論用データが(a)音声データの場合と、(b)文字データの場合と、についてそれぞれ説明する。
(a)推論用データが音声データの場合について
 図10は、推論用データが音声データの場合の学習済みモデル実行装置10の機能的構成例を示す機能ブロック図である。なお、図2の学習済みモデル実行装置10の要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。
 また、この場合の学習済みモデルは、例えば、各推論用サブ音声データを入力し、トレーニング音声データ上に教示ラベルとして付けられた規定の会話内容(例えば、「イヌ(犬)」、「ネコ(猫)」、「テンキ(天気)」等の特定の目標キーワード)を含むか否かの割合等を示す情報を出力するものとする。
 取得部110は、例えば、マイクとコンピュータとの組み合わせ、又は内蔵マイクを有するコンピュータ、スマートフォンやタブレット端末、ビデオカメラ等の録音装置80から推論用データとして音声データを取得するようにしてもよい。
 前処理部120のバッチ処理部121は、図2の推論用画像データの場合と同様に、トレーニング音声データのサイズを最小限のサイズとして推論用音声データをバッチ処理で分割し、複数の推論用サブ音声データとして生成し出力するようにしてもよい。
 実行部130は、図2の推論用画像データの場合と同様に、トレーニング音声データとのマッチング度に基づいて、前処理部120のバッチ処理で分割された複数の推論用サブ音声データそれぞれに評価スコアを付与し、付与された複数の評価スコアの値の大きさに従って決まる優先順位に基づいて、複数の推論用サブ音声データの推論計算処理順番の最適化を行うように構成されてもよい。
 具体的には、特徴分析部131は、例えば、トレーニング音声データの特徴分析(例えば、周波数特徴分析)を行い、教示ラベルとして付けられた規定の会話内容(例えば、「イヌ(犬)」、「ネコ(猫)」、「テンキ(天気)」等の特定の目標キーワード)の音声データの特徴量(以下、「周波数特徴分析結果」ともいう)Bを抽出する。また、特徴分析部131は、前処理部120のバッチ処理で分割されたm個の推論用サブ音声データAUD1、AUD2、…AUDmに対しても周波数特徴分析を行い、周波数特徴分析結果を抽出する(mは2以上の整数)。例えば、特徴分析部131は、推論用サブ音声データAUD1から周波数特徴分析結果B11、B12を抽出し、推論用サブ音声データAUD2から周波数特徴分析結果B21、B22、B23を抽出し、推論用サブ音声データAUD3から周波数特徴分析結果B31、B32、B33、B34を抽出したとする。特徴分析部131は、抽出した周波数特徴分析結果B11、B12、B21、B22、B23、B31、B32、B33、B34それぞれと、トレーニング音声データの周波数特徴分析結果Bと、のマッチング処理を行い、マッチング処理の分析結果データを評価スコア計算部132に出力する。
 評価スコア計算部132は、特徴分析部131により出力された分析結果データを受け取り、例えば推論用サブ音声データAUD2がマッチング度の高い周波数特徴分析結果(例えば、B22)を含む場合、推論用サブ音声データAUD2に高い評価スコア(例えば、70点等)を付与する。また、評価スコア計算部132は、例えば1つの推論用サブ音声データAUD3がマッチング度の高い複数の周波数特徴分析結果(例えば、B32、B34)を含む場合、推論用サブ音声データAUD3にさらに高い評価スコア(例えば、80点等)を付与する。評価スコア計算部132は、このように付与した評価スコアを最適化計算部133に出力する。
 最適化計算部133は、評価スコア計算部132により出力された評価スコアの情報に基づいて、高い評価スコアを有する推論用サブ音声データから順に優先的に推論計算処理するように高い優先順位を付与する。最適化計算部133は、前処理部120のバッチ処理で分割されたm個の推論用サブ音声データの推論計算処理順番の最適化を行い、最適化された推論計算処理順番の処理順番リストを生成する。最適化計算部133は、生成した処理順番リストを推論計算処理部134に出力する。
 なお、最適化計算部133は、低い評価スコアを有する推論用サブ音声データを推論計算処理しないように処理順番リストから削除するようにしてもよい。
 推論計算処理部134は、最適化計算部133から受信した処理順番リストの情報と、前処理部120のバッチ処理で分割されたm個の推論用サブ音声データと、学習済みモデルとに基づいて推論計算処理を行う。推論計算処理部134は、推論計算処理の推論結果データを推論結果保存部135に保存する。
 このように、高い評価スコアを有する推論用サブ音声データには目標の教示ラベルに付けられた特定の目標キーワードを含む可能性が高いことから、学習済みモデル実行装置10は、高い評価スコアを有する推論用サブ音声データから優先的に推論計算処理する。そうすることで、学習済みモデル実行装置10は、予め規定した会話内容を早めに見つけ出すことができ、推論計算処理を早めに終了して推論計算処理時間を短縮することができる。換言すれば、学習済みモデル実行装置10は、低い評価スコアを有する推論用サブ音声データには目標キーワードを含む可能性が低いことから、低い評価スコアを有する推論用サブ音声データの推論計算処理をしないようにすることで、無駄な計算処理時間をなくすことができる。すなわち、学習済みモデル実行装置10は、莫大な音声データから規定した会話内容を短い推論計算処理時間内で見つけ出すことができる。
(b)推論用データが文字データの場合について
 図11は、推論用データが文字データの場合の学習済みモデル実行装置10の機能的構成例を示す機能ブロック図である。なお、図2の学習済みモデル実行装置10の要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。
 また、この場合の学習済みモデルは、例えば、各推論用サブ文字データを入力し、トレーニング文字データ上に教示ラベルとして付けられた規定の文字データ(例えば、時間を表す「年」、「月」、「日」等の特定の目標キーワード)を含むか否かの割合等を示す情報を出力するものとする。
 取得部110は、例えば、紙に記録されている文字データの画像を取得するスキャナ、カメラ、スキャン機能付きのプリンタ、又は手書き入力可能なタッチパネル等のスキャン装置90から推論用データとして文字データを取得するようにしてもよい。
 前処理部120のバッチ処理部121は、図2の推論用画像データの場合と同様に、トレーニング文字データのサイズを最小限のサイズとして推論用文字データをバッチ処理で分割し、複数の推論用サブ文字データとして生成し出力するようにしてもよい。
 実行部130は、図2の推論用画像データの場合と同様に、トレーニング文字データとのマッチング度に基づいて、前処理部120のバッチ処理で分割された複数の推論用サブ文字データそれぞれに評価スコアを付与し、付与された複数の評価スコアの値の大きさに従って決まる優先順位に基づいて、複数の推論用サブ文字データの推論計算処理順番の最適化を行うように構成されてもよい。
 具体的には、特徴分析部131は、例えば、トレーニング文字データの特徴分析(例えば、文字の縦横比率、X軸を中心とした対称性、Y軸を中心とした対称性等の特徴分析)を行い、教示ラベルとして付けられた規定の文字データ(例えば、時間を表す「年」、「月」、「日」のような特定の目標キーワード)の特徴量(以下、「特徴分析結果」ともいう)Cを抽出する。また、特徴分析部131は、前処理部120のバッチ処理で分割されたk個の推論用サブ文字データMOJI1、MOJI2、…MOJIkに対しても同じ特徴分析を行い、特徴分析結果を抽出する(kは2以上の整数)。例えば、特徴分析部131は、推論用サブ文字データMOJI1から特徴分析結果C11、C12を抽出し、推論用サブ文字データMOJI2から特徴分析結果C21、C22、C23を抽出し、推論用サブ文字データMOJI3から特徴分析結果C31、C32、C33、C34を抽出したとする。特徴分析部131は、抽出した特徴分析結果C11、C12、C21、C22、C23、C31、C32、C33、C34それぞれと、トレーニング文字データの特徴分析結果Cと、のマッチング処理を行い、マッチング処理の分析結果データを評価スコア計算部132に出力する。
 評価スコア計算部132は、特徴分析部131により出力された分析結果データを受け取り、例えば推論用サブ文字データMOJI2がマッチング度の高い特徴分析結果(例えば、C22)を含む場合、推論用サブ文字データMOJI2に高い評価スコア(例えば、70点等)を付与する。また、評価スコア計算部132は、例えば1つの推論用サブ文字データMOJI3がマッチング度の高い複数の特徴分析結果(例えば、C32、C34)を含む場合、推論用サブ文字データMOJI3にさらに高い評価スコア(例えば、80点等)を付与する。評価スコア計算部132は、このように付与した評価スコアを最適化計算部133に出力する。
 最適化計算部133は、評価スコア計算部132により出力された評価スコアの情報に基づいて、高い評価スコアを有する推論用サブ文字データから順に優先的に推論計算処理するように高い優先順位を付与する。最適化計算部133は、前処理部120のバッチ処理で分割されたk個の推論用サブ文字データの推論計算処理順番の最適化を行い、最適化された推論計算処理順番の処理順番リストを生成する。最適化計算部133は、生成した処理順番リストを推論計算処理部134に出力する。
 なお、最適化計算部133は、低い評価スコアを有する推論用サブ文字データを推論計算処理しないように処理順番リストから削除するようにしてもよい。
 推論計算処理部134は、最適化計算部133から受信した処理順番リストの情報と、前処理部120のバッチ処理で分割されたk個の推論用サブ文字データと、学習済みモデルとに基づいて推論計算処理を行う。推論計算処理部134は、推論計算処理の推論結果データを推論結果保存部135に保存する。
 これにより、高い評価スコアを有する推論用サブ文字データには目標の教示ラベルに付けられた特定の目標キーワードを含む可能性が高いことから、学習済みモデル実行装置10は、高い評価スコアを有する推論用サブ文字データから優先的に推論計算処理する。そうすることで、学習済みモデル実行装置10は、教示ラベルとして付けられた規定の文字データ(例えば、時間を表す「年」、「月」、「日」のような特定の目標キーワード)に基づいて「XXXX年XX月XX日に発生したロボット30の故障」等の文字データを早めに見つけ出すことができ、推論計算処理時間を短縮することができる。換言すれば、学習済みモデル実行装置10は、低い評価スコアを有する推論用サブ文字データには目標キーワードを含む可能性が低いことから、低い評価スコアを有する推論用サブ文字データの推論計算処理をしないようにすることで、無駄な計算処理時間をなくすことができる。すなわち、学習済みモデル実行装置10は、莫大な文字データから規定した文字データを短い推論計算処理時間内で見つけ出すことができる。
<変形例3>
 また例えば、上述の第2実施形態に係る学習済みモデル実行装置10aは、ロボット30がコンテナ60内にバラ積みされた複数のワーク50を取り出す場合において画像データに基づいて機械学習して生成された学習済みモデルを実行するケースであって、撮像装置40から推論用画像データと、データベース70から学習済みモデルとを取得し、取得した推論用画像データに対して画像処理を行い、推論用画像データから抽出した特徴点に基づいて推論用画像データを特徴点が集中している推論用サブ画像データと特徴点が少ない又は1つも存在しない推論用サブ画像データとに分割する。そして、学習済みモデル実行装置10aは、各推論用サブ画像データの特徴点の数に基づいて各推論用サブ画像データに評価スコアを付与し、評価スコアに基づいて複数の推論用サブ画像データの推論計算処理順番を最適化し、最適化された推論計算処理順番に基づいて複数の推論用サブ画像データの推論計算処理を行い、ロボット30が取り出すワーク50の取り出し位置候補を計算する実施例を説明したが、ロボット30がコンテナ60内にバラ積みされた複数のワーク50を取り出す場合において画像データに基づいて機械学習して生成された学習済みモデルを実行するケースに限定されない。ワーク50の種類、形状、サイズ、色、個数、積載状態等にも限定されない。
 例えば、ロボット30が複数のワーク50が重なり合う状態のない平積み状態や箱形状のワーク50の積荷状態(例えば、段ボールの段積み状態)からワーク50を取り出すタスクを実行するための推論を行うシステムに適用してもよい。
 また、変形例2と同様に、例えば複数人の会話又は会議中の録音された音声データに基づいて任意のタスクを実行するための推論を行うシステムに適用してもよい。例えば、学習済みモデル実行装置10aは、マイク等の録音装置から音声の推論用データ(以下、「推論用音声データ」ともいう)と、データベース70から学習済みモデルとを取得し、取得した推論用音声データに対して特徴分析(例えば、周波数分析)を行い、推論用音声データから抽出した周波数分析結果に基づいて複数の推論用サブ音声データに分割して各推論用サブ音声データに評価スコアを付与してもよい。そして、学習済みモデル実行装置10aは、評価スコアに基づいて複数の推論用サブ音声データの推論計算処理順番を最適化し、最適化された推論計算処理順番に基づいて複数の推論用サブ音声データの推論計算処理を行い、莫大な音声データから規定した会話内容(例えば、「イヌ(犬)」、「ネコ(猫)」、「テンキ(天気)」等の人の音声データ)を短い推論計算処理時間内で見つけ出すようにしてもよい。そうすることで、学習済みモデル実行装置10aは、例えば、規定の会話内容を特定する場合、規定の音声データ、すなわち人の音声が含まれない領域(セル群)を含む推論用サブ音声データに対する無駄な推論計算処理を回避でき、推論計算処理時間を短縮することができる。
 あるいは、学習済みモデル実行装置10aは、ロボット30がコンテナ60内にバラ積みされた複数のワーク50を取り出すシステムに換えて、例えば文字データに基づいて任意のタスクを実行するための推論を行うシステムとして、文字データに基づいて機械学習して生成される学習済みモデルを実行するケースにも適用することができる。具体的には、画像データを文字データに換えて、第2実施形態と同様の手法を適用して、スキャナ等のスキャン装置から文字の推論用データ(以下、「推論用文字データ」ともいう)と、データベース70から学習済みモデルとを取得し、取得した推論用文字データに対して特徴分析を行い、推論用文字データから抽出した特徴分析結果に基づいて複数の推論用サブ文字データに分割して各推論用サブ文字データに評価スコアを付与してもよい。そして、学習済みモデル実行装置10aは、評価スコアに基づいて複数の推論用サブ文字データの推論計算処理順番を最適化し、最適化された推論計算処理順番に基づいて複数の推論用サブ文字データの推論計算処理を行い、莫大な文字データから規定した文字データ(例えば、「都」、「道」、「府」、「県」、「市」、「郡」、「村」等)を短い推論計算処理時間内で見つけ出すようにしてもよい。そうすることで、学習済みモデル実行装置10aは、例えば、郵便物の送り先を特定し郵便物を送り先毎に振り分ける場合、規定の文字データである「都」~「村」を含まない領域(セル群)を含む推論用サブ文字データに対する推論計算処理を行わないことで無駄な推論計算処理を回避でき、推論計算処理時間を短縮することができる。
 以下、より具体的に推論用データが(a)音声データの場合と、(b)文字データの場合と、についてそれぞれ説明する。
(a)推論用データが音声データの場合について
 図12は、推論用データが音声データの場合の学習済みモデル実行装置10aの機能的構成例を示す機能ブロック図である。なお、図4の学習済みモデル実行装置10aの要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。
 また、この場合の学習済みモデルは、例えば、各推論用サブ音声データを入力し、予め規定された会話内容(例えば、「イヌ(犬)」、「ネコ(猫)」、「テンキ(天気)」等の人の音声データ)を含むか否かの割合等を示す情報を出力するものとする。
 取得部110aは、例えば、マイクとコンピュータとの組み合わせ、又は内蔵マイクを有するコンピュータ、スマートフォンやタブレット端末、ビデオカメラ等の録音装置80から推論用データとして音声データを取得するようにしてもよい。
 前処理部120aは、推論用音声データの特徴分析を行い、特徴分析結果データに基づいて推論用音声データをバッチ処理で複数の推論用サブ音声データに分割するように構成されてもよい。
 具体的には、前処理部120aの特徴分析部122aは、図10の特徴分析部131に対応するものであり、推論用音声データに対して特徴分析(例えば、周波数特徴分析)を行い、特徴分析結果データを出力してもよい。特徴分析結果データ(周波数分析結果)として、推論用音声データのうち振幅が低すぎる領域には、特定したい人の音声による規定の会話内容(例えば、「イヌ(犬)」等)が含まれておらず、録音時の周囲環境ノイズしか含まれていないデータと見なすことができる。この場合、当該領域の音声データに対して推論計算処理を行い、特定したい人の音声による規定の会話内容を見つけようとしても推論計算処理時間を無駄にかかってしまうことになる。また、推論用音声データのうち振幅が高すぎる領域は、例えば、録音装置80が録音できる範囲を超えた音声データの部分であり、うまく音声データを取得できておらず欠けてしまっているデータである可能性が高い。このような領域の音声データに対して推論計算処理を行っても、うまく推論(認識)できない可能性が高い。
 前処理部120aのバッチ処理部121aは、前述のような音声データの領域をそれぞれ切り出して推論計算処理しないような複数の推論用サブ音声データとして推論用音声データを分割してもよい。
 また、推論用音声データの周波数分析結果の中で、ある波形が周期的に出現している場合、同じ人が同じ言葉を一定の時間内で復唱し続けていると推定でき、周期的に出現している波形を切り目として、バッチ処理部121aは推論用音声データをバッチ処理で複数の推論用サブ音声データに分割してもよい。
 実行部130aは、前処理部120aの特徴分析部122aにより出力された特徴分析結果データに基づいて、複数の推論用サブ音声データの推論計算処理順番の最適化を行うように構成されてもよい。
 例えば、バッチ処理部121aは、周波数分析結果に基づいて複数の推論用サブ音声データを生成した場合、評価スコア計算部132aは、周波数分析結果に基づいて、例えば振幅が低すぎる又は高すぎる複数の推論用サブ音声データに低い評価スコアを付与し、最適化計算部133は、それらの推論計算処理の優先順位を下げて推論計算処理を行わないようにしてもよい。
 これにより、長い会話の推論用音声データ中から特定の会話内容を探す時に、人の音声が入っていない環境ノイズを含む推論用サブ音声データや、録音装置80が録音できる範囲を超えてしまい、うまく取得できていない推論用サブ音声データに対する無駄な推論計算処理を行わないことで、推論用音声データの推論計算処理時間を短縮して、特定の会話内容を早く見つけることができる。すなわち、学習済みモデル実行装置10aは、例えば、規定の会話内容を特定する場合、規定の音声データ(すなわち人の音声)が含まれない領域(セル群)を含む推論用サブ音声データに対する無駄な推論計算処理を回避でき、推論計算処理時間を短縮することができる。
(b)推論用データが文字データの場合について
 図13は、推論用データが文字データの場合の学習済みモデル実行装置10aの機能的構成例を示す機能ブロック図である。なお、図4の学習済みモデル実行装置10aの要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。
 また、この場合の学習済みモデルは、例えば、郵便物の送り先を含む推論用サブ文字データを入力し、予め規定された文字データ(例えば、住所を特定するための「都」~「村」等の特定の目標キーワード)を含むか否かの割合等を示す情報を出力するものとする。
 取得部110aは、例えば、紙に記録されている文字データの画像を取得するスキャナ、カメラ、スキャン機能付きのプリンタ、又は手書き入力可能なタッチパネル等のスキャン装置90から推論用データとして文字データを取得するようにしてもよい。
 前処理部120aは、推論用文字データの特徴分析を行い、特徴分析結果データに基づいて推論用文字データをバッチ処理で複数の推論用サブ文字データに分割するように構成されてもよい。
 具体的には、前処理部120aの特徴分析部122aは、図11の特徴分析部131に対応するものであり、推論用文字データに対して特徴分析を行い、特徴分析結果データを出力してもよい。例えば、手書き住所の文字認識を行って郵便物の送り先に従って郵便物の自動分類を行うタスクを一例として説明する。取得部110aはデータ保存部111を備え、例えばスキャン装置90を用いて、郵便物の送り先が書かれている領域をスキャンした文字データを画像データとして登録し、さらにパソコン(図示しない)のHDD等の記録媒体に保存しておく。例えば、特徴分析部122aは、このように取得された一連の手書き文字の画像データの全領域をセル化する。特徴分析部122aは、例えば、小さい各セル内に文字の有無状態をデジタル化し、領域内に文字があるセルに対して「1」のラベルを付け、領域内に文字がないセルに対して「0」のラベルを付ける。このように、特徴分析部122aは、文字の画像データの全領域に対して「0」、「1」のラベルを付けることで抽出されるラベルの特徴マップを利用して、連続で「0」のラベルが付けられた領域を文字間のスペースとして認識して文字の区切りを付けることができる。さらに、特徴分析部122aは、分離された1つ1つの独立の文字に対して、印刷体の「都」、「道」、「府」、「県」、「市」、「郡」、「村」とのマッチングを行うことで、一連の手書き文字データの中から「都」、「道」、「府」、「県」、「市」、「郡」、「村」の文字が存在する領域(セル群)を特定することができる。特徴分析部122aは、このように得られたラベルの特徴マップと特定文字(「都」~「村」)の存在領域情報を特徴分析結果データとして出力する。
 前処理部120aのバッチ処理部121aは、特徴分析部122aにより出力された特徴分析結果データ(ラベルの特徴マップと特定文字である「都」~「村」の存在領域情報)を受け取って、特定文字である「都」~「村」が存在する領域(セル群)を区切りとして、推論用文字データをバッチ処理で分割し、複数の推論用サブ文字データとして生成して出力することができる。
 実行部130aは、前処理部120aの特徴分析部122aにより出力された特徴分析結果データに基づいて、複数の推論用サブ文字データの推論計算処理順番の最適化を行うように構成されてもよい。
 例えば、前処理部120aのバッチ処理部121aにより複数の推論用サブ文字データを生成した場合、文字が存在しない領域(セル群)や、特定文字である「都」~「村」が含まれない領域(セル群)を含む推論用サブ文字データに対して推論計算処理を行っても、郵便物の送り先を特定する目標に対しては役の立たない無駄な推論計算処理を行うことになる。そこで、評価スコア計算部132aは、文字が存在しない領域(セル群)や、特定文字である「都」~「村」が含まれない領域(セル群)を含む推論用サブ文字データに低い評価スコアを付与し、それらの推論計算処理の優先順位を下げて推論計算処理を行わないようにしてもよい。また、評価スコア計算部132aは、特定文字である「都」~「村」が含まれる領域(セル群)を含む推論用サブ文字データに対して高い評価スコアを付与し、高い評価スコアが付与された推論計算処理を優先的に行うことで、早く郵便物の送り先を特定でき、郵便物の自動分類タスクの推論計算処理時間を短縮することができる。
<変形例4>
 また例えば、第2実施形態に係る学習済みモデル実行装置10aは、データベース70から学習済みモデルのみを取得したが、トレーニング画像データもデータベース70から取得してもよい。
 図14は、トレーニング画像データも取得する場合の学習済みモデル実行装置10aの機能的構成例を示す機能ブロック図である。なお、図4の学習済みモデル実行装置10aの要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。
 図14に示すように、取得部110aは、データベース70から学習済みモデル、及びトレーニング画像データを取得する。
 前処理部120aは、トレーニング画像データと推論用画像データとの画像処理を行い、画像処理結果に基づいて推論用画像データのバッチ処理を行って複数の推論用サブ画像データに分割するように構成されてもよい。
 具体的には、前処理部120aの画像処理部122は、図2の実行部130の特徴分析部131として、トレーニング画像データに付けられたラベルが示す取り出し位置を含む近傍画像領域、及び推論用画像データそれぞれに対して画像処理を行い、例えば、特定な局所特徴量を抽出する。画像処理部122は、抽出されたトレーニング画像データ上のラベル付けられた教示位置の近傍画像の局所特徴量と、推論用画像データ上の複数箇所の局所特徴量それぞれとのマッチングを行い、マッチング度を計算し画像処理結果データとして出力してもよい。
 前処理部120aのバッチ処理部121aは、トレーニング画像データ上の教示位置の近傍画像とのマッチング度の高い推論用画像データ上の局所画像領域を独立した1つの推論用サブ画像データとなるように推論用画像データを分割する。また、バッチ処理部121aは、トレーニング画像データ上の教示位置の近傍画像とのマッチング度の低い推論用画像データ上の局所画像領域を独立した1つの推論用サブ画像データとなるように推論用画像データを分割する。
 換言すれば、バッチ処理部121aは、取り出せる対象のワーク50が多く存在している可能性の高い局所画像領域を1つの推論用サブ画像データとなり、取り出せる対象のワーク50が少ない又は1つも存在しない局所画像領域を1つの推論用サブ画像データとなるように推論用画像データを分割して出力するようにしてもよい。
 すなわち、優先して推論計算処理すべきワーク50を見つけられる可能性の高い推論用サブ画像データと、推論計算しても対象となるワーク50を見つけられない可能性の高い推論用サブ画像データとを、推論用画像データのバッチ処理の段階で見分けるようにすることで、実行部130aは推論計算処理順番の最適化を効率よくスムーズに行うことができる。
 以上はバラ積みされた複数のワーク50を取り出す場合を説明したが、これに限定されない。ワーク50の種類、形状、サイズ、色、個数、積載状態などにも限定されない。例えば、ロボット30が複数のワーク50が重なり合う状態のない平積み状態や箱形状のワーク50の積荷状態(例えば、段ボールの段積み状態)からワーク50を取り出すタスクを実行するための推論を行うシステムに適用してもよい。
 なお、推論用データは、推論用画像データとしたが、推論用音声データや推論用文字データ等でもよく、画像処理部122を特徴分析部131に置き換えれば、図14に示す学習済みモデル実行装置10aに適用することができる。
 なお、第1実施形態における学習済みモデル実行装置10、第2実施形態における学習済みモデル実行装置10a、及び第3実施形態における学習済みモデル実行装置10bに含まれる各機能は、ハードウェア、ソフトウェア又はこれらの組み合わせによりそれぞれ実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
 プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(Non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(Tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM)を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(Transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は、無線通信路を介して、プログラムをコンピュータに供給できる。
 なお、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
 以上を換言すると、本開示の推論計算処理装置、及び推論計算処理方法は、次のような構成を有する各種各様の実施形態を取ることができる。
 (1)本開示の推論計算処理装置としての学習済みモデル実行装置10は、学習済みモデルに推論用データを入力して推論用データの推論計算処理を実行する推論計算処理装置であって、推論用データと学習済みモデルとを取得する取得部110と、取得部110により取得された推論用データをバッチ処理で複数の推論用サブデータに分割する前処理部120と、前処理部120によりバッチ処理で分割された複数の推論用サブデータの推論計算処理順番を最適化し、最適化された推論計算処理順番で複数の推論用サブデータそれぞれと学習済みモデルとに基づいて推論用データの推論計算処理を実行する実行部130と、を備える。
 この学習済みモデル実行装置10によれば、ロボット30が長く待機することなく短時間で推論計算処理を実行することができる。
 (2) (1)に記載の学習済みモデル実行装置10において、取得部110は、学習済みモデルを機械学習で生成する際に用いられたトレーニングデータを取得してもよい。
 そうすることで、学習済みモデル実行装置10は、トレーニングデータのサイズに基づいて推論用データを分割することができる。
 (3) (2)に記載の学習済みモデル実行装置10において、前処理部120は、トレーニングデータのサイズに基づいて推論用データをバッチ処理で複数の推論用サブデータに分割してもよい。
 そうすることで、学習済みモデル実行装置10は、分割後の推論用サブ画像のサイズが小さすぎて必要な画像特徴を含まず、その後に学習済みモデルを利用した推論計算処理でうまく推論できなくなることを防ぐことができる。
 (4) (2)又は(3)に記載の学習済みモデル実行装置10において、実行部130は、トレーニングデータと複数の推論用サブデータそれぞれとのマッチング処理を行い、複数の推論用サブデータそれぞれに対してマッチングの度合いに応じた評価スコアを付与し、付与された評価スコアによる優先順位に基づいて複数の推論用サブデータの推論計算処理順番を最適化してもよい。
 そうすることで、例えば、コンテナ60内のバラ積みされた複数のワーク50を取り出す場合、学習済みモデル実行装置10は、マッチング度の低い推論用サブデータの推論計算処理を行っても取り出すワーク50の候補が見つからないような無駄な推論計算処理をなくすことができ、推論計算処理時間を短縮することができる。また、学習済みモデル実行装置10は、マッチング度の高い推論用サブデータの推論計算処理を優先的に行うことで、予め指定されたワーク50の候補数を早く見付けて推論計算処理を早めに終了させることができ、推論計算処理時間を短縮することができる。
 (5) (1)から(4)のいずれかに記載の学習済みモデル実行装置10において、取得部110は、推論用データとして画像データを取得してもよい。
 そうすることで、学習済みモデル実行装置10は、ロボット30が取り出せるワーク50を見つけ出すことができる。
 (6) (5)に記載の学習済みモデル実行装置10aにおいて、前処理部120aは、推論用データとして取得された画像データの特徴量を抽出する画像処理を行ってもよい。
 そうすることで、学習済みモデル実行装置10aは、トレーニングデータを取得しなくても推論用画像データを最適に複数の推論用サブ画像データに分割することができる。
 (7) (6)に記載の学習済みモデル実行装置10aにおいて、前処理部120aは、画像処理の結果に基づいて推論用データをバッチ処理で複数の推論用サブデータに分割してもよい。
 そうすることで、学習済みモデル実行装置10aは、トレーニングデータを取得しなくても推論用画像データを最適に複数の推論用サブ画像データに分割することができる。
 (8) (6)又は(7)に記載の学習済みモデル実行装置10aにおいて、実行部130aは、画像処理の結果に基づいて複数の推論用サブデータそれぞれに評価スコアを付与し、付与された評価スコアによる優先順位に基づいて複数の推論用サブデータの推論計算処理順番を最適化してもよい。
 そうすることで、学習済みモデル実行装置10aは、取り出すワーク50を含む可能性の低い推論用サブデータの推論計算処理を行っても取り出すワーク50の候補が見つからないような無駄な推論計算処理をなくすことができ、推論計算処理時間を短縮することができる。また、学習済みモデル実行装置10aは、取り出すワーク50を含む可能性の高い推論用サブデータの推論計算処理を優先的に行うことで、予め指定されたワーク50の候補数を早く見付けて推論計算処理を早めに終了させることができ、推論計算処理時間を短縮することができる。
 (9) (1)から(4)に記載の学習済みモデル実行装置10において、推論用データとして音声データを取得してもよい。
 そうすることで、学習済みモデル実行装置10は、莫大な音声データから規定した会話内容を短い推論計算処理時間内で見つけ出すことができる。
 (10) (9)に記載の学習済みモデル実行装置10aにおいて、前処理部120aは、推論用データとして取得された音声データの特徴量を抽出する特徴分析を行ってもよい。
 そうすることで、学習済みモデル実行装置10aは、トレーニングデータを取得しなくても推論用音声データを最適に複数の推論用サブ音声データに分割することができる。
 (11) (10)に記載の学習済みモデル実行装置10aにおいて、前処理部120aは、特徴分析の結果に基づいて推論用データをバッチ処理で複数の推論用サブデータに分割してもよい。
 そうすることで、学習済みモデル実行装置10aは、トレーニングデータを取得しなくても推論用音声データを最適に複数の推論用サブ音声データに分割することができる。
 (12) (10)又は(11)に記載の学習済みモデル実行装置10aにおいて、実行部130aは、特徴分析の結果に基づいて複数の推論用サブデータそれぞれに評価スコアを付与し、付与された評価スコアによる優先順位に基づいて複数の推論用サブデータの推論計算処理順番を最適化してもよい。
 そうすることで、学習済みモデル実行装置10aは、推論計算処理を行っても規定の会話内容が見つからないような無駄な推論計算処理をなくすことができ、推論計算処理時間を短縮することができる。また、学習済みモデル実行装置10aは、規定の会話内容を含む可能性の高い推論用サブデータの推論計算処理を優先的に行うことで、推論計算処理を早めに終了して推論計算処理時間を短縮することができる。
 (13) (1)から(4)に記載の学習済みモデル実行装置10において、推論用データとして文字データを取得してもよい。
 そうすることで、学習済みモデル実行装置10は、莫大な文字データから規定した文字データを短い推論計算処理時間内で見つけ出すことができる。
 (14) (13)に記載の学習済みモデル実行装置10aにおいて、前処理部120aは、推論用データとして取得された文字データの特徴量を抽出する特徴分析を行ってもよい。
 そうすることで、学習済みモデル実行装置10aは、トレーニングデータを取得しなくても推論用文字データを最適に複数の推論用サブ文字データに分割することができる。
 (15) (14)に記載の学習済みモデル実行装置10aにおいて、前処理部120aは、特徴分析の結果に基づいて推論用データをバッチ処理で複数の推論用サブデータに分割してもよい。
 そうすることで、学習済みモデル実行装置10aは、トレーニングデータを取得しなくても推論用文字データを最適に複数の推論用サブ文字データに分割することができる。
 (16) (14)又は(15)に記載の学習済みモデル実行装置10aにおいて、実行部130aは、特徴分析の結果に基づいて複数の推論用サブデータそれぞれに評価スコアを付与し、付与された評価スコアによる優先順位に基づいて複数の推論用サブデータの推論計算処理順番を最適化してもよい。
 そうすることで、学習済みモデル実行装置10aは、推論計算処理を行っても規定の文字データが見つからないような無駄な推論計算処理をなくすことができ、推論計算処理時間を短縮することができる。また、学習済みモデル実行装置10aは、規定の文字データを含む可能性の高い推論用サブデータの推論計算処理を優先的に行うことで、推論計算処理を早めに終了して推論計算処理時間を短縮することができる。
 (17) (1)から(4)に記載の学習済みモデル実行装置10bにおいて、取得部110bは、3次元計測データを取得してもよい。
 そうすることで、学習済みモデル実行装置10bは、トレーニングデータを取得しなくても推論用データを最適に複数の推論用サブデータに分割することができる。
 (18) (17)に記載の学習済みモデル実行装置10bにおいて、前処理部120bは、3次元計測データに基づいて推論用データをバッチ処理で複数の推論用サブデータに分割してもよい。
 そうすることで、学習済みモデル実行装置10bは、トレーニングデータを取得しなくても推論用データを最適に複数の推論用サブデータに分割することができる。
 (19) (17)又は(18)に記載の学習済みモデル実行装置10bにおいて、実行部130bは、3次元計測データに基づいて複数の推論用サブデータそれぞれに評価スコアを付与し、付与された評価スコアによる優先順位に基づいて複数の推論用サブデータの推論計算処理順番を最適化してもよい。
 そうすることで、学習済みモデル実行装置10bは、取り出すワーク50を含む可能性の低い推論用サブデータの推論計算処理を行っても取り出すワーク50の候補が見つからないような無駄な推論計算処理をなくすことができ、推論計算処理時間を短縮することができる。また、学習済みモデル実行装置10bは、取り出すワーク50を含む可能性の高い推論用サブデータの推論計算処理を優先的に行うことで、予め指定されたワーク50の候補数を早く見付けて推論計算処理を早めに終了させることができ、推論計算処理時間を短縮することができる。
 (20)本開示の推論計算処理方法は、コンピュータにより実現される、学習済みモデルに推論用データを入力して推論用データの推論計算処理を実行する推論計算処理方法であって、推論用データと学習済みモデルとを取得する取得工程と、取得された推論用データをバッチ処理で複数の推論用サブデータに分割する前処理工程と、複数の推論用サブデータの推論計算処理順番を最適化し、最適化された推論計算処理順番で複数の推論用サブデータそれぞれと学習済みモデルとに基づいて推論用データの推論計算処理を実行する実行工程と、を備える。
 この推論計算処理方法によれば、(1)と同様の効果を奏することができる。
 1、1A ロボットシステム
 10、10a、10b 推論計算処理装置としての学習済みモデル実行装置
 11、11a、11b 制御部
 110、110a、110b 取得部
 111 データ保存部
 120、120a、120b 前処理部
 121、121a、121b バッチ処理部
 122 画像処理部
 122a、131 特徴分析部
 123 3次元処理部
 130、130a、130b 実行部
 132、132a、132b 評価スコア計算部
 133 最適化計算部
 134 推論計算処理部
 135 推論結果保存部
 20 ロボット制御装置
 30 ロボット
 40 撮像装置
 45 3次元計測機
 50 ワーク
 60 コンテナ

Claims (20)

  1.  学習済みモデルに推論用データを入力して前記推論用データの推論計算処理を実行する推論計算処理装置であって、
     前記推論用データと前記学習済みモデルとを取得する取得部と、
     取得された前記推論用データをバッチ処理で複数の推論用サブデータに分割する前処理部と、
     前記複数の推論用サブデータの推論計算処理順番を最適化し、最適化された前記推論計算処理順番で前記複数の推論用サブデータの少なくとも一部のそれぞれと前記学習済みモデルとに基づいて前記推論用データの推論計算処理を実行する実行部と、
     を備える推論計算処理装置。
  2.  前記取得部は、前記学習済みモデルを機械学習で生成する際に用いられたトレーニングデータを取得する、請求項1に記載の推論計算処理装置。
  3.  前記前処理部は、前記トレーニングデータに基づいて前記推論用データの前記バッチ処理を行う、請求項2に記載の推論計算処理装置。
  4.  前記実行部は、前記トレーニングデータと前記複数の推論用サブデータそれぞれとのマッチング処理を行い、マッチングの度合いに応じた評価スコアを前記複数の推論用サブデータそれぞれに付与し、付与された前記評価スコアによる優先順位に基づいて前記複数の推論用サブデータの前記推論計算処理順番を最適化する、請求項2又は請求項3に記載の推論計算処理装置。
  5.  前記取得部は、前記推論用データとして画像データを取得する、請求項1から請求項4のいずれか1項に記載の推論計算処理装置。
  6.  前記前処理部は、前記推論用データとして取得された前記画像データの画像処理を行う、請求項5に記載の推論計算処理装置。
  7.  前記前処理部は、前記画像処理の結果に基づいて前記推論用データの前記バッチ処理を行う、請求項6に記載の推論計算処理装置。
  8.  前記実行部は、前記画像処理の結果に基づいて前記複数の推論用サブデータそれぞれに評価スコアを付与し、付与された前記評価スコアによる優先順位に基づいて前記複数の推論用サブデータの前記推論計算処理順番を最適化する、請求項6又は請求項7に記載の推論計算処理装置。
  9.  前記取得部は、前記推論用データとして音声データを取得する、請求項1から請求項4のいずれか1項に記載の推論計算処理装置。
  10.  前記前処理部は、前記推論用データとして取得された前記音声データの特徴分析を行う、請求項9に記載の推論計算処理装置。
  11.  前記前処理部は、前記特徴分析の結果に基づいて前記推論用データの前記バッチ処理を行う、請求項10に記載の推論計算処理装置。
  12.  前記実行部は、前記特徴分析の結果に基づいて前記複数の推論用サブデータそれぞれに評価スコアを付与し、付与された前記評価スコアによる優先順位に基づいて前記複数の推論用サブデータの前記推論計算処理順番を最適化する、請求項10又は請求項11に記載の推論計算処理装置。
  13.  前記取得部は、前記推論用データとして文字データを取得する、請求項1から請求項4のいずれか1項に記載の推論計算処理装置。
  14.  前記前処理部は、前記推論用データとして取得された前記文字データの特徴分析を行う、請求項13に記載の推論計算処理装置。
  15.  前記前処理部は、前記特徴分析の結果に基づいて前記推論用データの前記バッチ処理を行う、請求項14に記載の推論計算処理装置。
  16.  前記実行部は、前記特徴分析の結果に基づいて前記複数の推論用サブデータそれぞれに評価スコアを付与し、付与された前記評価スコアによる優先順位に基づいて前記複数の推論用サブデータの前記推論計算処理順番を最適化する、請求項14又は請求項15に記載の推論計算処理装置。
  17.  前記取得部は、3次元計測データを取得する、請求項1から請求項4のいずれか1項に記載の推論計算処理装置。
  18.  前記前処理部は、前記3次元計測データに基づいて前記推論用データの前記バッチ処理を行う、請求項17に記載の推論計算処理装置。
  19.  前記実行部は、前記3次元計測データに基づいて前記複数の推論用サブデータそれぞれに評価スコアを付与し、付与された前記評価スコアによる優先順位に基づいて前記複数の推論用サブデータの前記推論計算処理順番を最適化する、請求項17又は請求項18に記載の推論計算処理装置。
  20.  コンピュータにより実現される、学習済みモデルに推論用データを入力して前記推論用データの推論計算処理を実行する推論計算処理方法であって、
     前記推論用データと前記学習済みモデルとを取得する取得工程と、
     取得された前記推論用データをバッチ処理で複数の推論用サブデータに分割する前処理工程と、
     前記複数の推論用サブデータの推論計算処理順番を最適化し、最適化された前記推論計算処理順番で前記複数の推論用サブデータの少なくとも一部のそれぞれと前記学習済みモデルとに基づいて前記推論用データの推論計算処理を実行する実行工程と、
     を備える推論計算処理方法。
PCT/JP2021/034571 2020-09-25 2021-09-21 推論計算処理装置、及び推論計算処理方法 WO2022065303A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2022551996A JPWO2022065303A1 (ja) 2020-09-25 2021-09-21
US18/024,122 US20230368052A1 (en) 2020-09-25 2021-09-21 Inference calculation processing device and inference calculation processing method
CN202180062891.1A CN116057548A (zh) 2020-09-25 2021-09-21 推论计算处理装置以及推论计算处理方法
DE112021005016.8T DE112021005016T5 (de) 2020-09-25 2021-09-21 Vorrichtung zur Verarbeitung von Schlussfolgerungen und Verfahren zur Verarbeitung von Schlussfolgerungen

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020161213 2020-09-25
JP2020-161213 2020-09-25

Publications (1)

Publication Number Publication Date
WO2022065303A1 true WO2022065303A1 (ja) 2022-03-31

Family

ID=80845471

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/034571 WO2022065303A1 (ja) 2020-09-25 2021-09-21 推論計算処理装置、及び推論計算処理方法

Country Status (5)

Country Link
US (1) US20230368052A1 (ja)
JP (1) JPWO2022065303A1 (ja)
CN (1) CN116057548A (ja)
DE (1) DE112021005016T5 (ja)
WO (1) WO2022065303A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018136803A (ja) * 2017-02-23 2018-08-30 株式会社日立製作所 画像認識システム
WO2020026643A1 (ja) * 2018-08-03 2020-02-06 ソニー株式会社 情報処理装置、情報処理方法及び情報処理プログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6695843B2 (ja) 2017-09-25 2020-05-20 ファナック株式会社 装置、及びロボットシステム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018136803A (ja) * 2017-02-23 2018-08-30 株式会社日立製作所 画像認識システム
WO2020026643A1 (ja) * 2018-08-03 2020-02-06 ソニー株式会社 情報処理装置、情報処理方法及び情報処理プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MODEGI TOSHIO: "Development of Pattern Searching Tool for Satellite Images Using Conceptual Template Patterns", PROCEEDINGS OF THE 70TH NATIONAL CONVENTION OF IPSJ, 13 March 2008 (2008-03-13), pages 525 - 526, XP055913994 *

Also Published As

Publication number Publication date
CN116057548A (zh) 2023-05-02
US20230368052A1 (en) 2023-11-16
JPWO2022065303A1 (ja) 2022-03-31
DE112021005016T5 (de) 2023-07-27

Similar Documents

Publication Publication Date Title
JP6695843B2 (ja) 装置、及びロボットシステム
CN111695622B (zh) 变电作业场景的标识模型训练方法、标识方法及装置
CN109870983B (zh) 处理托盘堆垛图像的方法、装置及用于仓储拣货的系统
Konstantindis et al. Vision-based product tracking method for cyber-physical production systems in industry 4.0
CN110021033B (zh) 一种基于金字塔孪生网络的目标跟踪方法
CN112836734A (zh) 一种异源数据融合方法及装置、存储介质
CN106796677B (zh) 基于视觉提示进行自动化任务
JP4788525B2 (ja) 物体識別パラメータ学習システム、物体識別パラメータ学習方法および物体識別パラメータ学習用プログラム
JP2021504848A (ja) 画像処理システム及び画像処理方法
JP6895563B2 (ja) ロボットシステム、モデル生成方法、及びモデル生成プログラム
CN112947458A (zh) 基于多模态信息的机器人准确抓取方法及计算机可读介质
CN114743201A (zh) 一种基于旋转目标检测的万用表读数识别方法及系统
CN111223180A (zh) 一种料场的三维建模方法、装置、存储介质及电子终端
WO2022065303A1 (ja) 推論計算処理装置、及び推論計算処理方法
Wu et al. Optimized visual recognition algorithm in service robots
CN114627397A (zh) 行为识别模型构建方法以及行为识别方法
JP4165571B2 (ja) 画像処理装置および方法、プログラム
WO2022024877A1 (ja) 情報処理装置、及び情報処理方法
CN111291758B (zh) 用于识别印章文字的方法和装置
JPH0644282B2 (ja) 物体検索方式
CN115601586A (zh) 标签信息获取方法、装置、电子设备及计算机存储介质
US10708445B2 (en) Information processing apparatus and non-transitory computer readable medium
US20230154214A1 (en) Method and Arrangement for the digital Capture of Spaces in a Building
JP7456521B2 (ja) 物体認識装置、物体認識方法、プログラム
CN117216001B (zh) 一种基于云平台的档案管理系统和方法

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: 21872432

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022551996

Country of ref document: JP

Kind code of ref document: A

122 Ep: pct application non-entry in european phase

Ref document number: 21872432

Country of ref document: EP

Kind code of ref document: A1