WO2024004278A1 - 学習装置、学習方法およびプログラム - Google Patents

学習装置、学習方法およびプログラム Download PDF

Info

Publication number
WO2024004278A1
WO2024004278A1 PCT/JP2023/008301 JP2023008301W WO2024004278A1 WO 2024004278 A1 WO2024004278 A1 WO 2024004278A1 JP 2023008301 W JP2023008301 W JP 2023008301W WO 2024004278 A1 WO2024004278 A1 WO 2024004278A1
Authority
WO
WIPO (PCT)
Prior art keywords
images
image
evaluation
learning
model
Prior art date
Application number
PCT/JP2023/008301
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 オムロン株式会社
Publication of WO2024004278A1 publication Critical patent/WO2024004278A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • 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

Definitions

  • the present disclosure relates to a learning device, a learning method, and a program.
  • the accuracy of attribute discrimination by the model depends on the images used for machine learning. Active learning is known as a method for selecting images that are effective in improving discrimination accuracy (“B. Settles, “Active Learning Literature Survey”, Computer Sciences Technical Report 1648, University of Wisconsin, 2010” (Non-patent Document 1) )reference).
  • active learning a model is generated by performing machine learning using a training dataset consisting of a small amount of images arbitrarily selected from a plurality of images. Next, images that are difficult to distinguish among the remaining images are selected by the model until the evaluation results of the model using all of the remaining images other than the images used for learning satisfy the predetermined criteria. The process of updating the training data set to include the data and relearning the model using the updated training data set is repeated.
  • a learning device includes an acquisition unit that acquires a model used to determine attributes of an object appearing in an input image by performing machine learning using a training dataset; and an active learning unit that updates the model by executing the above active learning process.
  • the training data set includes one or more learning images selected from a plurality of images to which labels indicating attributes of objects are attached.
  • Each of one or more active learning processes involves selecting one or more evaluation images from a group of images that are not used for learning among a plurality of images, and evaluating a model using the one or more evaluation images. repeating the relearning process until the results meet the termination criteria.
  • the relearning process involves updating the training dataset to include one or more additional images selected from one or more evaluation images, and relearning the model using the updated training dataset.
  • Selecting one or more evaluation images in at least one of the one or more active learning processes is based on the reliability of attribute discrimination by the latest model for each image included in the image group. and selecting images with relatively low reliability from the image group as one or more images for evaluation based on the first evaluation value.
  • an image with relatively low reliability is selected as an evaluation image from among the image group. Therefore, by relearning the model using additional images selected from one or more evaluation images, the discrimination accuracy of the model is likely to be improved. Further, in each of one or more active learning processes, the model is evaluated each time a relearning process is performed. The model can be evaluated by inputting one or more evaluation images selected from the image group into the model. Therefore, compared to a method of evaluating a model by inputting all images of a group of images that are not used for learning among a plurality of images into a model, the time required for evaluating the model can be shortened. In this way, according to the above disclosure, a model with high attribute discrimination accuracy can be generated in a short time.
  • the relearning process includes calculating, for each of the one or more evaluation images, a second evaluation value indicating the reliability of attribute discrimination by the latest model, and based on the second evaluation value, The method further includes selecting an evaluation image with a relatively low reliability from among the one or more evaluation images as the one or more additional images.
  • an image that is more difficult to distinguish among one or more evaluation images is selected as an additional image. This makes it easier to improve the discrimination accuracy of the model.
  • the model outputs feature amounts indicating the features of the input image.
  • the feature amount is compared with a discrimination boundary for determining the attribute.
  • the first evaluation value for the target image included in the image group indicates the distance between the feature amount calculated from the target image and the discrimination boundary.
  • images that are difficult to distinguish are more likely to be selected as evaluation images. This makes it possible to improve model discrimination accuracy in a shorter time.
  • the model outputs feature amounts indicating the features of the input image.
  • the first evaluation value for the target image included in the image group is the feature amount calculated from the target image and the feature amount calculated from the image used for learning the latest model and assigned the same label as the target image. Indicates the distance from
  • the distribution of features of one or more selected evaluation images becomes wider. This makes it possible to generate a model with high discrimination accuracy in a short time even when images labeled with the same attribute have various characteristics.
  • the one or more active learning processes include M active learning processes, and N active learning processes that are executed after the M active learning processes and correspond to at least one active learning process. ,including. M and N are integers of 1 or more.
  • selecting one or more images for evaluation means selecting one or more evaluation images from the image group randomly or according to a predetermined rule without using the first evaluation value. including selecting images for use.
  • the discrimination accuracy of the model acquired by the acquisition unit is low.
  • the active learning process M times one or more evaluation images are selected randomly or according to a predetermined rule without using the first evaluation value. Therefore, images having various characteristics are selected as evaluation images. Thereby, by performing the active learning process M times, it is possible to converge the discrimination accuracy of the model to a somewhat high state using evaluation images having various features. Then, in N active learning processes, an image suitable for learning is selected as an evaluation image based on the first evaluation value obtained by applying a model whose discrimination accuracy has been improved to some extent by M active learning processes. be done. As a result, a model with high discrimination accuracy is generated in a shorter time.
  • the one or more active learning processes include the M+N+1-th active learning process that is executed after N active learning processes.
  • selecting one or more images for evaluation includes selecting all images included in the image group as one or more images for evaluation.
  • the discrimination accuracy of the model can be evaluated more accurately in the M+N+1-th active learning process.
  • N is an integer of 2 or more.
  • at least one of the number of evaluation images selected from the image group, the type of first evaluation value, and the termination criterion may be different from each other.
  • M is an integer of 2 or more
  • the number of evaluation images selected from the image group, the selection method of 1 or more evaluation images, and the termination criteria in M active learning processes. may be different from each other.
  • the label includes a first label indicating that the object is a non-defective item and a second label indicating that the object is a defective item.
  • the plurality of images includes a plurality of non-defective product images to which a first label has been assigned, and one or more defective product images to which a second label has been assigned.
  • One or more learning images are selected from a plurality of non-defective images.
  • the one or more evaluation images include one or more non-defective images and one or more defective images selected from the image group. The first evaluation value is calculated for each non-defective image included in the image group.
  • a learning method includes a step in which a computer performs machine learning using a training data set to obtain a model used to determine attributes of an object appearing in an input image; the computer updating the model by performing one or more active learning processes.
  • the training data set includes one or more learning images selected from a plurality of images to which labels indicating attributes of objects are attached.
  • Each of one or more active learning processes involves selecting one or more evaluation images from a group of images that are not used for learning among a plurality of images, and evaluating a model using the one or more evaluation images. repeating the relearning process until the results meet the termination criteria.
  • the relearning process involves updating the training dataset to include one or more additional images selected from one or more evaluation images, and relearning the model using the updated training dataset.
  • Selecting one or more evaluation images in at least one of the one or more active learning processes is based on the reliability of attribute discrimination by the latest model for each image included in the image group. and selecting images with relatively low reliability from the image group as one or more images for evaluation based on the first evaluation value.
  • a program according to one aspect of the present disclosure causes a computer to execute the above learning method.
  • a model with high attribute discrimination accuracy can be generated in a short time.
  • a model with high attribute discrimination accuracy can be generated in a short time.
  • FIG. 1 is a schematic diagram showing the overall configuration of a system including a learning device according to an embodiment.
  • 3 is a schematic diagram showing an example of the hardware configuration of the learning device shown in FIG. 2.
  • FIG. 3 is a schematic diagram showing an example of the hardware configuration of the discrimination device shown in FIG. 2.
  • FIG. 2 is a diagram schematically showing an example of a software configuration of a learning device.
  • FIG. 7 is a diagram illustrating another example of a user interface screen provided by the labeling section.
  • FIG. 3 is a diagram illustrating an example of a user interface screen provided by the acquisition unit.
  • FIG. 13 is a flowchart showing the flow of a subroutine of a reference example of step S5 shown in FIG. 12.
  • FIG. 14 is a diagram illustrating active learning processing according to the flowchart shown in FIG. 13.
  • FIG. 3 is a diagram showing an example of a screen for setting conditions for active learning processing.
  • 13 is a flowchart showing the flow of the subroutine of the first embodiment of step S5 shown in FIG. 12.
  • FIG. 17 is a diagram illustrating active learning processing according to the flowchart shown in FIG. 16.
  • FIG. 13 is a flowchart showing the flow of a subroutine of the second embodiment of step S5 shown in FIG. 12.
  • FIG. 19 is a flowchart showing the flow of the subroutine of step S21 shown in FIG. 18.
  • 20 is a diagram illustrating active learning processing according to the flowchart shown in FIG. 19.
  • FIG. 13 is a flowchart showing the flow of a subroutine of the third embodiment of step S5 shown in FIG. 12.
  • FIG. 13 is a flowchart showing the flow of a subroutine of the fourth embodiment of step S5 shown in FIG. 12.
  • FIG. 23 is a flowchart showing the flow of the subroutine of step S23 shown in FIG. 22.
  • FIG. 22 is a flowchart showing the flow of the subroutine of step S23 shown in FIG. 22.
  • FIG. 7 is a diagram showing another example of a screen showing the results of active learning processing.
  • 7 is a diagram illustrating a model acquisition method in Modification 1.
  • FIG. 7 is a diagram illustrating active learning processing in Modification 1.
  • FIG. 7 is a diagram showing an example of evaluation values E1 and E2 in Modification 1.
  • FIG. 7 is a diagram showing another example of evaluation values E1 and E2 in Modification 1.
  • FIG. 7 is a diagram showing another example of evaluation values E1 and E2 in Modification 1.
  • FIG. 1 is a diagram illustrating an example of a learning method according to an embodiment. As shown in FIG. 1, a plurality of images 3 showing the object 2 are prepared in advance. Each of the plurality of images 3 is given a label indicating the attribute of the object 2 shown in the image 3.
  • a computer performs machine learning using a training data set 6 that includes one or more learning images selected from a plurality of images 3 to determine the attributes of the object 2 shown in the input image.
  • the learning method further includes a step (2) in which the computer updates the model 7 by executing active learning processing one or more times.
  • Each of the one or more active learning processes includes a step (2-1) of selecting one or more evaluation images 4 from an image group 8 that is not used for learning among a plurality of images 3, and one or more evaluation images 4.
  • the method includes a step (2-2) of repeatedly executing the relearning process until the evaluation result of the model 7 using the image 4 satisfies the termination criterion.
  • the number of evaluation images 4 selected from the image group 8 is determined in advance. In the example shown in FIG. 1, five evaluation images 4 are selected.
  • the relearning process includes a step (2-2-1) of updating the training dataset 6 to include one or more additional images selected from the one or more evaluation images 4, and updating the training dataset after the update.
  • the method includes a step (2-2-2) of relearning the model 7 using the model 6.
  • an evaluation image 4 that is difficult to distinguish by the model 7 is selected as an additional image.
  • the evaluation image 4a is selected as the additional image.
  • the step (2-1) of selecting one or more evaluation images 4 includes steps (2-1-1) and (2-1). -2).
  • Step (2-1-1) is a step of calculating an evaluation value E1 indicating the reliability of attribute discrimination by the latest model 7 for the images included in the image group 8.
  • Step (2-1-2) is a step of selecting images 3 with relatively low reliability from the image group 8 as one or more evaluation images 4 based on the evaluation value E1.
  • step (2-1-2) the image 3 with relatively low reliability is selected from the image group 8 as the evaluation image 4. Therefore, by relearning the model 7 using additional images selected from one or more evaluation images 4, the discrimination accuracy of the model 7 is likely to be improved.
  • the model 7 is evaluated according to step (2-2) each time the relearning process is executed.
  • the model 7 can be evaluated. Therefore, compared to the conventional active learning method that evaluates the model 7 by inputting all images of the image group 8 that are not used for learning among the plurality of images 3 to the model 7, the amount of time required to evaluate the model 7 is It can save time.
  • a model 7 with high attribute discrimination accuracy can be generated in a short time.
  • FIG. 2 is a schematic diagram showing the overall configuration of a system including a learning device according to an embodiment.
  • the system 1 illustrated in FIG. 2 is installed in a manufacturing line or the like, and uses an image of the object 2, which is a product, to determine the attributes of the object 2.
  • the attributes of the object 2 include, for example, whether the appearance is good or bad, the presence or absence of defects, and the type of defects.
  • the system 1 includes a learning device 100 and a discrimination device 200.
  • the learning device 100 is a computer configured to generate a model 7 used to determine the attributes of the object 2 shown in the input image.
  • a display device 600 and an input device 700 are connected to the learning device 100.
  • Display device 600 typically includes a liquid crystal display and displays various screens.
  • Input device 700 includes, for example, a keyboard and a mouse. Note that the display device 600 and the input device 700 may be integrated as a touch panel.
  • the discrimination device 200 is a computer configured to discriminate the attributes of the object 2 using the model 7 transferred from the learning device 100.
  • a camera 300 is connected to the discrimination device 200. Camera 300 is installed so that object 2 is included in its field of view. Thereby, the discrimination device 200 acquires an image of the target object 2 from the camera 300.
  • the discrimination device 200 discriminates the attributes of the object 2 using the output information of the model 7 when the acquired image is input.
  • the determination device 200 determines whether the object 2 is a good item or a defective item, depending on whether the appearance of the object 2 includes a defect.
  • the defects may be, for example, scratches, dirt, cracks, dents, burrs, color unevenness, foreign matter contamination, and the like.
  • the learning device 100 and the discriminating device 200 illustrated in FIG. 2 are connected to each other via a network.
  • the type of network may be appropriately selected from, for example, the Internet, a wireless communication network, a mobile communication network, a telephone network, a dedicated network, and the like.
  • the method of exchanging data between the learning device 100 and the discriminating device 200 does not need to be limited to this example, and may be selected as appropriate depending on the embodiment.
  • data may be exchanged between the learning device 100 and the discriminating device 200 using a storage medium.
  • the learning device 100 and the discriminating device 200 are separate computers.
  • the configuration of the system 1 does not need to be limited to such an example, and may be determined as appropriate depending on the embodiment.
  • the learning device 100 and the discriminating device 200 may be an integrated computer. Further, for example, at least one of the learning device 100 and the discriminating device 200 may be configured by a plurality of computers.
  • the learning device 100 is typically a computer having a general-purpose architecture, and executes various processes according to the present embodiment by executing programs (instruction codes) installed in advance. Such programs are typically distributed in a state stored in various recording media or installed in the learning device 100 via a network or the like.
  • an OS Operating System
  • the program according to the present embodiment may call necessary modules at a predetermined timing in a predetermined sequence among the program modules provided as part of the OS to execute processing. good. That is, the program itself according to this embodiment does not include the above-mentioned modules, and the processing may be executed in cooperation with the OS.
  • the program according to this embodiment may be in a form that does not include some of these modules.
  • the program according to this embodiment may be provided by being incorporated into a part of another program. Even in that case, the program itself does not include modules included in other programs to be combined as described above, and processing is executed in cooperation with the other programs. That is, the program according to this embodiment may be incorporated into such another program. Note that part or all of the functions provided by executing the program may be implemented as a dedicated hardware circuit.
  • FIG. 3 is a schematic diagram showing an example of the hardware configuration of the learning device shown in FIG. 2.
  • the learning device 100 includes a CPU (Central Processing Unit) 110, a RAM (Random Access Memory) 111, a ROM (Read Only Memory) 112, a communication interface 113, an input interface 114, It includes a display controller 115, a drive 116, and a storage 120. These units are connected to each other via a bus so that they can communicate data.
  • a CPU Central Processing Unit
  • RAM Random Access Memory
  • ROM Read Only Memory
  • the CPU 110 executes various calculations by expanding programs (codes) installed in the storage 120 into the RAM 111 and executing them in a predetermined order.
  • RAM 111 is typically a volatile storage device such as DRAM (Dynamic Random Access Memory).
  • the communication interface 113 is, for example, a wired LAN (Local Area Network) module, a wireless LAN module, or the like, and is an interface for performing wired or wireless communication via a network.
  • the learning device 100 can perform data communication with other information processing devices (for example, the discriminating device 200).
  • the input interface 114 mediates data transmission between the CPU 110 and the input device 700. That is, the input interface 114 accepts input information input by the user into the input device 700.
  • the display controller 115 is connected to the display device 600 and controls the screen of the display device 600 so as to notify the user of processing results in the CPU 110 and the like.
  • the storage 120 is composed of, for example, a hard disk drive, a solid state drive, or the like.
  • the storage 120 stores a plurality of images 3 in which the object 2 is captured.
  • the storage 120 stores a learning program 122 and a labeling program 124.
  • the learning program 122 is a program for causing the learning device 100 to execute machine learning processing for generating the model 7.
  • the labeling program 124 is a program for causing the learning device 100 to perform a process of assigning, to each of the plurality of images 3, a label indicating the attribute of the object 2 appearing in the image 3.
  • Each of the learning program 122 and the labeling program 124 includes a series of information processing instructions.
  • the storage 120 stores the model 7 obtained by executing the learning program 122.
  • the drive 116 is, for example, a CD drive, a DVD drive, etc., and is a drive device for reading a program stored in the storage medium 130.
  • the type of drive 116 may be selected as appropriate depending on the type of storage medium 130.
  • At least one of the learning program 122 and the labeling program 124 may be stored in this storage medium 130.
  • the storage medium 130 stores information such as a recorded program by electrical, magnetic, optical, mechanical, or chemical action so that a computer, other device, machine, etc. can read the recorded program information. It is a medium for The learning device 100 may acquire at least one of the learning program 122 and the labeling program 124 from this storage medium 130.
  • a disk-type storage medium such as a CD or a DVD is illustrated as an example of the storage medium 130.
  • the type of storage medium 130 is not limited to the disk type, and may be other than the disk type.
  • An example of a storage medium other than a disk type is a semiconductor memory such as a flash memory.
  • learning device 100 may include multiple hardware processors.
  • the hardware processor may be configured with a microprocessor, an FPGA (field-programmable gate array), a DSP (digital signal processor), or the like. At least one of the communication interface 113 and the drive 116 may be omitted.
  • the learning device 100 may include, for example, a controller that is connected to an output device other than the display device 600, such as a speaker, and controls the output device.
  • the learning device 100 may be composed of multiple computers. In this case, the hardware configurations of the computers may or may not match.
  • the learning device 100 may be an information processing device designed exclusively for the provided service, or may be a general-purpose server device, a general-purpose PC (Personal Computer), or the like.
  • FIG. 4 is a schematic diagram showing an example of the hardware configuration of the discrimination device shown in FIG. 2.
  • the discrimination device 200 includes a CPU 210, a RAM 211, a ROM 212, a communication interface 213, an external interface 214, an input interface 215, a display controller 216, a drive 217, and a storage 220. . These units are connected to each other via a bus so that they can communicate data.
  • the CPU 210 executes various calculations by expanding programs (codes) installed in the storage 220 into the RAM 211 and executing them in a predetermined order.
  • RAM 211 is typically a volatile storage device such as DRAM.
  • the communication interface 213 is, for example, a wired LAN module, a wireless LAN module, etc., and is an interface for performing wired or wireless communication via a network.
  • the discrimination device 200 can perform data communication with another information processing device (for example, the learning device 100) by using the communication interface 213.
  • the external interface 214 is, for example, a USB (Universal Serial Bus) port, a dedicated port, etc., and is an interface for connecting to an external device.
  • the type and number of external interfaces 214 may be selected as appropriate depending on the type and number of external devices to be connected.
  • the discrimination device 200 is connected to the camera 300 via an external interface 214.
  • the camera 300 is used to obtain an image 3 of the object 2 to be inspected.
  • the type and location of camera 300 are not particularly limited and may be determined as appropriate depending on the embodiment.
  • a general digital camera, a depth camera, an infrared camera, etc. may be used as the camera 300.
  • the camera 300 may be appropriately placed so as to be able to observe the object 2 being transported by the manufacturing line.
  • the camera 300 may be placed, for example, near a production line that conveys the object 2.
  • the discrimination device 200 may be connected to the camera 300 via the communication interface 213 instead of the external interface 214.
  • the input interface 215 mediates data transmission between the CPU 210 and an input device (not shown). That is, the input interface 215 accepts input information input by a user into an input device.
  • the display controller 216 is connected to a display device (not shown) and controls the screen of the display device so as to notify the user of processing results in the CPU 210 and the like.
  • the storage 220 is composed of, for example, a hard disk drive, a solid state drive, or the like.
  • the storage 220 stores various information such as the discrimination program 221 and the model 7.
  • the discrimination program 221 is a program for causing the discrimination device 200 to perform information processing for discriminating the attributes of the object 2 appearing in the image 3 using the model 7 generated by the learning device 100.
  • the information processing for determining the attributes of the object 2 is information processing for determining whether the object 2 is good or bad.
  • the determination program 221 includes a series of instructions for the information processing.
  • the drive 217 is, for example, a CD drive, a DVD drive, etc., and is a drive device for reading a program stored in a storage medium (not shown). At least one of the discrimination program 221 and the model 7 may be stored in a storage medium. Furthermore, the discriminating device 200 may acquire at least one of the discriminating program 221 and the model 7 from the storage medium.
  • FIG. 5 is a diagram schematically showing an example of the software configuration of the learning device.
  • the learning device 100 includes a storage section 10, a labeling section 11, an acquisition section 12, and an active learning section 13.
  • the storage unit 10 is realized by the storage 120 and RAM 111 shown in FIG.
  • the labeling unit 11 is realized by the CPU 110 interpreting and executing instructions included in the labeling program 124.
  • the acquisition unit 12 and the active learning unit 13 are realized by the CPU 110 interpreting and executing instructions included in the learning program 122.
  • the storage unit 10 stores a plurality of images 3 obtained by imaging with the camera 300.
  • the target object 2 is captured in each of the plurality of images 3.
  • the labeling unit 11 applies a label to each of the plurality of images 3 stored in the storage unit 10 in response to a user operation.
  • the label indicates the attribute of the object 2 appearing in the image 3.
  • the labeling unit 11 adds a label "good item” to the image 3 in which a non-defective object 2 (object 2 without defects) is captured.
  • the labeling unit 11 adds a label "defective product” to the image 3 in which the defective object 2 is captured.
  • FIG. 6 is a diagram showing an example of a user interface screen provided by the labeling section.
  • the user interface screen 70 shown in FIG. 6 is displayed on the display device 600 shown in FIG. 3.
  • the user interface screen 70 includes an image list 71, a non-defective image list 72, a defective image list 73, an area 74, add buttons 75a and 75b, a move button 76, and a button 78. and, including.
  • the image list 71 is a list of multiple images 3 stored in the storage unit 10.
  • the non-defective image list 72 shows a list of images 3 in which non-defective objects 2 are captured among the plurality of images 3 .
  • the defective product image list 73 shows a list of images 3 in which the defective object 2 is captured among the plurality of images 3 . In the area 74, one image 3 selected from the image list 71, the non-defective image list 72, and the defective image list 73 is displayed.
  • the add button 75a is a button for adding the image 3 selected from the image list 71 to the non-defective image list 72.
  • the user selects the image 3 showing the good object 2 from the image list 71 while looking at the area 74, and operates the add button 75a.
  • the add button 75a When the add button 75a is operated, the labeling unit 11 adds the image 3 selected from the image list 71 to the non-defective image list 72. As a result, the non-defective image list 72 is also updated.
  • the add button 75b is a button for adding the image 3 selected from the image list 71 to the defective product image list 73.
  • the user selects the image 3 showing the defective object 2 from the image list 71 while looking at the area 74, and operates the add button 75b.
  • the add button 75b is operated, the labeling unit 11 adds the image 3 selected from the image list 71 to the defective product image list 73. As a result, the defective product image list 73 is also updated.
  • the move button 76 is a button for accepting an operation to move one image 3 selected from either the non-defective image list 72 or the defective image list 73 to the other. For example, when the user confirms that the defective object 2 is included in the image 3 included in the non-defective image list 72 while looking at the area 74, the user selects the image 3 and operates the move button 76. Alternatively, when the user confirms that the good object 2 is included in the image 3 included in the defective image list 73 while looking at the area 74, the user selects the image 3 and operates the move button 76.
  • the labeling unit 11 deletes the selected image 3 from the non-defective image list 72 and deletes the selected image 3 from the non-defective image list 72. Image 3 is added to the defective product image list 73.
  • the labeling unit 11 deletes the selected image 3 from the defective product image list 73 and deletes the selected image 3 from the defective product image list 73. 3 is added to the non-defective image list 72.
  • the labeling unit 11 labels each image 3 included in the non-defective image list 72 with a label "non-defective” and labels each image 3 included in the defective image list 73. Assign "defective product”.
  • FIG. 7 is a diagram showing another example of the user interface screen provided by the labeling section.
  • the user interface screen 80 shown in FIG. 7 is displayed on the display device 600 shown in FIG. 3.
  • the user interface screen 80 includes a defective product image list 81 and an area 83.
  • the defective product image list 81 shows a list of images 3 to which the label "defective product" has been added.
  • the image 3 selected in the defective product image list 81 is displayed.
  • the user adjusts the size and position of the frame line 84 to surround the defect D while checking the area 83.
  • the labeling unit 11 records the area surrounded by the frame line 84 as the area where the defect is captured.
  • the labeling unit 11 adds information indicating the recorded area (hereinafter referred to as "defect position information”) to each image 3 included in the defective product image list 81.
  • the acquisition unit 12 shown in FIG. 5 performs machine learning using a training data set 6 including one or more learning images selected from a plurality of images 3 to determine the attributes of the object 2 appearing in the input image.
  • Obtain model 7 that is used to determine.
  • the acquisition unit 12 selects one or more learning images from the plurality of images 3 in response to a user operation.
  • FIG. 8 is a diagram showing an example of a user interface screen provided by the acquisition unit.
  • User interface screen 86 shown in FIG. 8 is displayed on display device 600 shown in FIG. 3.
  • the user interface screen 86 includes a defective product image list 81 and a non-defective product image list 82.
  • the non-defective image list 82 shows a list of images 3 that have been given the label "non-defective".
  • the user attaches a marker 87 to an image to be used as a learning image in each of the defective product image list 81 and the non-defective product image list 82.
  • a marker 87 is attached to image 3 with the file name "Img003.bmp" in the defective product image list 81
  • a marker 87 is attached to image 3 with the file name "Img001.bmp" in the non-defective product image list 82. is attached.
  • the acquisition unit 12 selects the image 3 to which the marker 87 is attached as a learning image.
  • the acquisition unit 12 generates the model 7 by performing machine learning using a training data set 6 including one or more learning images.
  • the acquisition unit 12 generates an optimal model 7 based on the learning images included in the training data set 6 and the labels given to the learning images.
  • the acquisition unit 12 may perform machine learning by further using defect position information given to the learning image in which the target object 2, which is a defective product, is captured. By learning the defect position along with the learning image, the defect position is specified and inspection accuracy is improved.
  • As a method for machine learning of defect locations along with images there are known techniques (for example, Tatsuro Yamane, Zenkoku Kugi, “Detection of concrete surface cracks using semantic segmentation using deep learning”, Journal of Structural Engineering, Vol.
  • Non-Patent Document 2 (Non-Patent Document 2) is used.
  • Known algorithms for example, linear identification, Bayesian identification, logistic regression, support vector machine, decision tree, K-nearest neighbor method, neural network, local outlier factor method, mixed normal distribution method, etc.
  • the machine learning algorithm may be employed as the machine learning algorithm.
  • FIG. 9 is a diagram explaining the model acquisition method.
  • the model 7 shown in FIG. 9 calculates the feature amount in the feature space from the input image, and determines the attribute of the object 2 appearing in the input image based on the positional relationship between the calculated feature amount and the discrimination boundary 60.
  • the acquisition unit 12 uses the training data set 6, calculates points 63 corresponding to the feature amounts calculated from the learning image labeled "good product” and the learning image labeled "defective product”.
  • a model 7 is generated that defines a feature space and a discrimination boundary 60 such that the distance from the point 64 corresponding to the feature amount is maximized.
  • the discrimination boundary 60 is defined by a region 61 in the feature space where there is a point corresponding to the feature amount calculated from the training image to which the label "good product” is assigned, and a region 61 from the training image to which the label "defective product” is assigned. This is the boundary with the area 62 where the point corresponding to the calculated feature amount exists.
  • the active learning unit 13 shown in FIG. 5 updates the model 7 by performing active learning processing one or more times in order to improve the discrimination accuracy of the model 7.
  • each of one or more active learning processes involves selecting one or more evaluation images 4 from an image group 8 that is not used for learning among a plurality of images 3. and repeatedly executing the relearning process until the evaluation result of the model 7 using one or more evaluation images 4 satisfies a predetermined criterion.
  • the relearning process involves updating the training dataset 6 to include one or more additional images selected from the one or more evaluation images 4, and updating the model 7 using the updated training dataset 6. This includes relearning.
  • selecting one or more evaluation images 4 means selecting an image included in an image group 8 that is not used for learning among a plurality of images 3.
  • the evaluation value E1 indicating the reliability of attribute discrimination by the latest model 7 is calculated, and based on the evaluation value E1, image 3 with relatively low reliability is selected from image group 8 as 1. This includes selecting the evaluation image 4 as described above.
  • the active learning unit 13 may cause the display device 600 to display a screen showing the results of the active learning process during or after the active learning process is executed.
  • FIG. 10 is a diagram showing an example of the types of evaluation values E1.
  • the image 3 to which the label "good product” is attached will be referred to as the "good product image”
  • the image 3 to which the label "defective product” has been assigned will be referred to as the "defective product image”.
  • the evaluation value E1 calculated for each image 3 is represented by the length of an arrow. That is, the evaluation value E1 shown in FIG. 10 indicates the distance between the point corresponding to the feature amount calculated from each image 3 and the discrimination boundary 60 in the feature space.
  • the evaluation value E1 is determined when a point corresponding to the feature amount calculated from the non-defective image exists in the region 61 (an area where the feature amount calculated from the learning image to which the label "non-defective product" is attached) exists. Takes a positive value.
  • the evaluation value E1 is negative if a point corresponding to the feature amount calculated from the non-defective product image exists in the region 62 (the region where the feature amount calculated from the training image with the label "defective product” exists). takes the value of
  • the evaluation value E1 takes a positive value when a point corresponding to the feature amount calculated from the defective product image exists in the region 62.
  • the evaluation value E1 takes a negative value when a point corresponding to the feature quantity calculated from the defective product image exists in the region 61. In the case of the evaluation value E1 shown in FIG. 10, the smaller the evaluation value E1, the lower the reliability of attribute discrimination.
  • FIG. 11 is a diagram showing another example of the types of evaluation values E1.
  • the evaluation value E1 calculated for each image 3 is represented by the length of an arrow.
  • the evaluation value E1 shown in FIG. 11 is calculated based on the point corresponding to the feature amount calculated from each image 3 in the feature space and the feature amount calculated from the learning image assigned the same label as the image 3. Indicates the shortest distance to the corresponding point.
  • the larger the evaluation value E1 the lower the reliability of attribute discrimination.
  • the evaluation value E1 shown in FIG. 10 when using the evaluation value E1 shown in FIG. 10, although the image 3 that is difficult to distinguish is more likely to be selected as the evaluation image 4, the distribution of the feature amount calculated from the image 3 included in the training data set 6 is within a narrow range. tend to be biased toward On the other hand, when using the evaluation value E1 shown in FIG. 11, although the distribution of the feature amount calculated from one or more selected evaluation images 4 becomes wider, the image 3 that is the most difficult to distinguish is not selected as the evaluation image 4. there is a possibility. Therefore, it is preferable that the type of evaluation value E1 is appropriately selected depending on the defects that may occur in the object 2. For example, the evaluation value E1 shown in FIG. 11 is suitable when the variation in the feature amounts calculated from the non-defective images is large, and the evaluation value E1 shown in FIG. 10 is suitable when the variation is small.
  • FIG. 12 is a flowchart illustrating an example of the processing flow of the learning device according to the embodiment.
  • the CPU 110 of the learning device 100 acquires a plurality of images 3 (step S1).
  • the plurality of images 3 are obtained by imaging with the camera 300.
  • the learning device 100 may receive a plurality of images 3 from the camera 300 or may receive a plurality of images 3 from the discrimination device 200.
  • the CPU 110 gives each of the plurality of images 3 a label indicating the attribute of the object 2 shown in the image 3 in accordance with the user's operation (step S2).
  • the CPU 110 records the defect position for each image 3 to which the label "defective product" has been assigned in response to a user's operation.
  • the CPU 110 determines an initial training data set 6 that includes one or more learning images selected from among the plurality of images 3 according to the user's operation (step S3).
  • the number of learning images included in the initial training data set 6 may be small.
  • the CPU 110 selects one non-defective product image and one defective product image as learning images.
  • the CPU 110 performs machine learning using the initial training data set 6 to obtain the model 7 used to determine the attributes of the object 2 appearing in the input image (step S4).
  • the CPU 110 updates the model 7 by executing the active learning process one or more times (step S5).
  • FIG. 13 is a flowchart showing the flow of a reference example subroutine of step S5 shown in FIG.
  • FIG. 13 shows the flow of steps S101 to S105.
  • FIG. 14 is a diagram illustrating active learning processing according to the flowchart shown in FIG. 13.
  • the plurality of images 3 include a plurality of non-defective product images 30 to which a label "good product" is attached, and a plurality of defective product images 32 to which a label "defective product" is assigned.
  • step S101 all images 3 that are not used for learning among the plurality of images 3 are selected as evaluation images.
  • a non-defective image 30a among the plurality of non-defective images 30 is selected as the learning image
  • a defective image 32a among the plurality of defective images 32 is selected as the learning image. Therefore, all the non-defective images 30 except for the non-defective image 30a and all the defective images 32 except for the defective image 32a are selected as images for evaluation.
  • step S102 the latest model 7 is evaluated using all the selected evaluation images. Specifically, the discrimination accuracy of the model 7 and the evaluation value E2 indicating the reliability of attribute discrimination are calculated for each evaluation image.
  • the discrimination accuracy is, for example, the sum of the number of good product images in which the attribute of object 2 is determined to be "defective product” and the number of defective product images in which the attribute of object 2 is determined to be "defective product”.
  • the error rate is calculated by dividing the error rate by the total number of evaluation images.
  • the evaluation value E2 is calculated in the same manner as the evaluation value E1 described above.
  • the evaluation value E1 of each evaluation image indicates, for example, the distance between the discrimination boundary 60 and a point in the feature space that corresponds to the feature amount calculated from the evaluation image (see FIG. 10).
  • the evaluation value E2 of each evaluation image corresponds to a point corresponding to a feature amount calculated from the evaluation image and a feature amount calculated from a learning image that is given the same label as the evaluation image. It may also indicate the shortest distance to the point (see FIG. 11). In the example shown in FIG. 14, the shortest distance between the point corresponding to the feature amount calculated from the evaluation image and the point corresponding to the feature amount calculated from the training image given the same label as the evaluation image An evaluation value E2 indicating . Therefore, the larger the evaluation value E2, the lower the reliability of attribute discrimination.
  • step S103 it is determined whether the evaluation result satisfies the termination criteria.
  • the termination criteria include a first criterion that the error rate is less than a first predetermined threshold.
  • the termination criterion may further include a second criterion that the proportion of images 3 included in the training data set 6 among the plurality of images 3 exceeds a second threshold.
  • the termination criterion includes a first criterion and a second criterion
  • the termination criterion is satisfied when at least one of the first criterion and the second criterion is satisfied. If the termination criteria are met (YES in step S103), step S5 ends.
  • an evaluation image with a relatively low reliability is selected as an additional image from among all evaluation images based on the evaluation value E2 (step S104).
  • the non-defective image 30b with the maximum evaluation value E2 is selected as the additional image from the evaluation images to which the label "non-defective" has been added.
  • the defective product image 32b with the maximum evaluation value E2 is selected as an additional image from among the evaluation images to which the label "defective product" has been assigned.
  • step S105 after step S104, the training dataset 6 is updated to include the additional images, and the model 7 is retrained using the updated training dataset 6.
  • the process returns to step S102. In this way, steps S102 to S105 are repeatedly executed until the evaluation result of model 7 satisfies the termination criteria.
  • Step S102 is repeatedly executed until the evaluation result of model 7 satisfies the termination criteria. Therefore, the time required to execute step S5 according to the reference example becomes longer.
  • FIG. 15 is a diagram showing an example of a screen for setting conditions for active learning processing.
  • FIG. 16 is a flowchart showing the flow of the subroutine of the first embodiment of step S5 shown in FIG.
  • FIG. 17 is a diagram illustrating active learning processing according to the flowchart shown in FIG. 16.
  • the CPU 110 of the learning device 100 sets the conditions for active learning processing in advance according to the input to the screen 90 shown in FIG. As shown in FIG. 15, screen 90 includes input fields 91-93.
  • the number of evaluation images is input.
  • the CPU 110 sets the number of evaluation images to be selected from the plurality of images 3 according to the input to the input field 91 .
  • a first threshold (error rate threshold) that defines a first criterion included in the termination criteria is input.
  • the CPU 110 sets the first threshold according to the input to the input field 93.
  • a second threshold value (maximum proportion of learning images) that defines a second criterion that can be included in the termination criterion is input.
  • the CPU 110 sets the second threshold according to the input to the input field 93.
  • the CPU 110 of the learning device 100 calculates an evaluation value E1 indicating the reliability of attribute discrimination by the model 7 for each image 3 that is not used for learning among the plurality of images 3 (step S11).
  • the plurality of images 3 include a plurality of non-defective product images 30 to which a label "good product” has been assigned, and a plurality of defective product images 32 to which a label "defective product” has been assigned.
  • the non-defective product image 30a is selected as the learning image
  • the defective product image 32a is selected as the learning image.
  • the CPU 110 applies the model 7 to the image group 8g of non-defective images 30 excluding the non-defective image 30a, and calculates the evaluation value E1 for each non-defective image 30 included in the image group 8g. Furthermore, the CPU 110 applies the model 7 to the image group 8ng of defective product images 32 excluding the defective product image 32a, and calculates the evaluation value E1 for each defective product image 32 included in the image group 8ng.
  • the CPU 110 selects images 3 with relatively low reliability as one or more evaluation images 4 from among the image groups not used for learning among the plurality of images 3. (Step S12).
  • the non-defective image 30 and the defective image 32 which have relatively low reliability, are selected from the image groups 8g and 8ng as the evaluation images 40 and 42, respectively.
  • the evaluation image 40 is the image 3 to which the label "good product" has been assigned.
  • the evaluation image 42 is the image 3 to which the label "defective product" has been added.
  • CPU 110 selects a preset number of evaluation images. In the example shown in FIG. 17, the CPU 110 selects an evaluation image group 9g consisting of six evaluation images 40 and an evaluation image group 9ng consisting of four evaluation images 42. Note that the ratio between the number of evaluation images 40 and the number of evaluation images 42 is determined in advance.
  • the CPU 110 evaluates the latest model 7 using one or more evaluation images 4 (evaluation images 40, 42) (step S13). Specifically, as in step S102, the CPU 110 calculates an error rate as the discrimination accuracy of the model 7, and also calculates an evaluation value E2 indicating the reliability of attribute discrimination for each evaluation image 4.
  • the CPU 110 calculates an error rate as the discrimination accuracy of the model 7, and also calculates an evaluation value E2 indicating the reliability of attribute discrimination for each evaluation image 4.
  • E2 indicating the reliability of attribute discrimination for each evaluation image 4.
  • An evaluation value E2 indicating distance has been calculated. Therefore, the larger the evaluation value E2, the lower the reliability of attribute discrimination.
  • the termination criteria include a first criterion that the error rate is less than a first predetermined threshold.
  • the termination criterion may further include a second criterion that the proportion of images 3 included in the training data set among the plurality of images 3 exceeds a second threshold.
  • the termination criterion includes a first criterion and a second criterion
  • the termination criterion is satisfied when at least one of the first criterion and the second criterion is satisfied.
  • the first criterion and the second criterion are set in advance using a screen 90 shown in FIG. 15. If the termination criteria are met (YES in step S14), step S5 ends. By including the second criterion in the termination criteria, step S5 can be terminated even if the model 7 converges to an inappropriate state and the first criterion is not satisfied even after repeated relearning many times. .
  • the CPU 110 determines the ratio a of the non-defective images 30 included in the training data set 6 among the plurality of non-defective product images 30 and the proportion a of the non-defective product images 30 included in the training data set 6 among the plurality of defective product images 32.
  • the ratio b of the included defective product images 32 is calculated.
  • the CPU 110 determines that the second criterion is satisfied when both the ratio a and the ratio b exceed the second threshold, and when at least one of the ratio a and the ratio b is less than or equal to the second threshold, the CPU 110 determines that the second criterion is satisfied. It is determined that two criteria are not met.
  • the CPU 110 selects evaluation images 4 with relatively low reliability as additional images based on the evaluation value E2 (step S15).
  • the evaluation image 40a with the highest evaluation value E2 is selected as the additional image from the evaluation image group 9g. Further, from the evaluation image group 9ng, the evaluation image 42a with the maximum evaluation value E2 is selected as an additional image.
  • the CPU 110 selects an additional image from the evaluation image group 9g when the above ratio a is below the second threshold, and when the above ratio b is below the second threshold. In this case, an additional image is selected from the evaluation image group 9ng. In other words, the CPU 110 does not select additional images from the evaluation image group 9g when the ratio a exceeds the second threshold, and selects additional images from the evaluation image group 9ng when the ratio b exceeds the second threshold. Not selected.
  • step S15 the CPU 110 updates the training dataset 6 to include the additional images, and relearns the model 7 using the updated training dataset 6 (step S16).
  • step S16 the process returns to step S13. In this way, steps S13 to S16 are repeatedly executed until the evaluation result of model 7 satisfies the termination criteria.
  • Example 1 shown in FIGS. 16 and 17 some of the images 3 of the image groups 8g and 8ng that are not used for learning among the plurality of images 3 are selected as evaluation images. Therefore, the time required to execute step S13 is shorter than the time required to execute step S102 shown in FIG. 13. As a result, the time required to execute step S5 according to the first embodiment is shortened.
  • FIG. 18 is a flowchart showing the flow of the subroutine of the second embodiment of step S5 shown in FIG.
  • the CPU 110 sets the conditions for the active learning process (the number of evaluation images, the first threshold, and the second threshold) in advance according to the input to the screen 90 shown in FIG. 15. .
  • step S5 in the second embodiment includes active learning processing twice. Therefore, the CPU 110 sets the conditions (the number of evaluation images, the first threshold value, and the second threshold value) for each of the two active learning processes. Note that the number of evaluation images may be the same or different in the two active learning processes.
  • the first threshold value for the second active learning process is set smaller than the first threshold value for the first active learning process.
  • the second threshold value for the second active learning process is set to be greater than or equal to the second threshold value for the first active learning process.
  • the CPU 110 of the learning device 100 executes the first active learning process in step S21, and executes the second active learning process in the next step S22.
  • FIG. 19 is a flowchart showing the flow of the subroutine of step S21 shown in FIG. 18.
  • FIG. 20 is a diagram illustrating active learning processing according to the flowchart shown in FIG. 19.
  • the CPU 110 randomly or according to a predetermined rule selects one or more of the image groups 8 that are not used for learning among the plurality of images 3 without using the evaluation value E1.
  • the evaluation image 4 is selected (step S31).
  • the predetermined rule is, for example, a rule to select the image 3 located at a predetermined position when the images are arranged according to file name or imaging date and time.
  • CPU 110 selects a preset number of evaluation images. In the example shown in FIG. 20, the CPU 110 selects an evaluation image group 9g' consisting of six evaluation images 40 and an evaluation image group 9ng' consisting of four evaluation images 42. Note that the ratio between the number of evaluation images 40 and the number of evaluation images 42 is determined in advance.
  • step S34 the evaluation image 40b with the highest evaluation value E2 is selected as the additional image from the evaluation image group 9g'. Furthermore, the evaluation image 42b with the maximum evaluation value E2 is selected as an additional image from the evaluation image group 9ng'.
  • step S22 The process flow of the subroutine of step S22 shown in FIG. 18 is the same as the flowchart shown in FIG. 16. That is, based on the evaluation value E1, images 3 with relatively low reliability are selected as one or more evaluation images 4 from the image group 8 not used for learning. Then, the relearning process is repeatedly executed using the selected one or more evaluation images 4 until the evaluation result of the model 7 satisfies the termination criteria. Note that in step S22, the image group 8 not used for learning includes images 3 other than the learning image determined in step S3 and the additional image selected in step S21.
  • the attribute discrimination accuracy by the initial model 7 acquired in step S4 is low. Therefore, when one or more evaluation images 4 are selected based on the evaluation value E1 calculated using the initial model 7, an image suitable for learning may not be selected as the evaluation image 4. As a result, by relearning the model 7, the model 7 may converge to an inappropriate state, and even if the relearning process is repeated, the discrimination accuracy of the model 7 may not satisfy the first criterion.
  • the discrimination accuracy of the model 7 converges to a somewhat high state, and the discrimination accuracy of the model 7 easily satisfies the first criterion.
  • an image suitable for learning is selected as the evaluation image 4 based on the evaluation value E1 obtained by applying the model 7 whose discrimination accuracy has been improved to some extent by the first active learning process. selected.
  • a model 7 with high discrimination accuracy is generated in a shorter time.
  • FIG. 21 is a flowchart showing the flow of the subroutine of the third embodiment of step S5 shown in FIG.
  • the CPU 110 sets the conditions for the active learning process (the number of evaluation images, the first threshold value, and the second threshold value) in advance according to the input to the screen 90 shown in FIG. 15. .
  • step S5 of the third embodiment includes active learning processing M+N times. Therefore, the CPU 110 sets the conditions (the number of evaluation images, the first threshold value, and the second threshold value) for each of the M+N active learning processes.
  • M and N are integers of 1 or more. However, at least one of M and N is 2 or more.
  • the number of evaluation images may be the same or different in M+N active learning processes.
  • the first threshold value of the i-th active learning process is set smaller than the first threshold value of the i-1-th active learning process (i is an integer of 2 or more).
  • the second threshold for the i-th active learning process is set to be equal to or higher than the second threshold for the i-1-th active learning process.
  • the CPU 110 of the learning device 100 sequentially executes the first to Mth active learning processes (steps S21_1 to S21_M), and then sequentially executes the M+1st to M+Nth active learning processes. (Steps S22_1 to S22_N).
  • each subroutine of steps S21_1 to S21_M shown in FIG. 21 is the same as the flowchart shown in FIG. 19. That is, one or more evaluation images 4 are selected from among the image groups 8 that are not used for learning among the plurality of images 3, without using the evaluation value E1, or randomly or according to a predetermined rule. . Then, the relearning process is repeatedly executed using the selected one or more evaluation images 4 until the evaluation result of the model 7 satisfies the termination criteria.
  • the image group 8 not used for learning includes images 3 other than the learning image determined in step S3 and the additional images selected in steps S21_1 to S21_k-1.
  • step S21_1 one or more evaluation images 4 are randomly selected from the image group 8
  • step S21_M one or more evaluation images 4 are selected from the image group 8 according to a predetermined rule. may be done.
  • the CPU 110 sets in advance the selection method of the evaluation image 4 in the first to Mth active learning processes according to the user's operation.
  • one or more evaluation images 4 may be selected from among the images 3 of the image group 8 excluding the evaluation images 4 selected in steps S21_1 to S21_k-1.
  • the types of evaluation values E1 calculated in steps S22_1 to S22_N may be different from each other.
  • the CPU 110 presets the type of evaluation value E1 in the M+1-th to M+N-th active learning processes according to the user's operation.
  • FIG. 22 is a flowchart showing the flow of the subroutine of the fourth embodiment of step S5 shown in FIG.
  • the CPU 110 sets the conditions for the active learning process (the number of evaluation images, the first threshold, and the second threshold) in advance according to the input to the screen 90 shown in FIG. 15. .
  • step S5 of the fourth embodiment includes active learning processing three times. Therefore, the CPU 110 sets the conditions (the number of evaluation images, the first threshold value, and the second threshold value) for each of the three active learning processes. Note that, as will be described later, in the third active learning process, all images 3 that are not used for learning are selected as evaluation images 4. Therefore, the CPU 110 does not set the number of evaluation images for the three active learning processes.
  • the number of evaluation images may be the same or different in the first and second active learning processes.
  • the first threshold value for the i-th active learning process is set smaller than the first threshold value for the i-1-th active learning process.
  • the second threshold for the i-th active learning process is set to be equal to or higher than the second threshold for the i-1-th active learning process.
  • the CPU 110 of the learning device 100 executes the first active learning process in step S21, the second active learning process in the next step S22, and the third active learning process in the next step S23. Executes active learning processing.
  • the process flow of the subroutine of step S21 shown in FIG. 22 is the same as the flowchart shown in FIG. 19.
  • the process flow of the subroutine of step S22 shown in FIG. 22 is the same as the flowchart shown in FIG. 16.
  • FIG. 23 is a flowchart showing the flow of the subroutine of step S23 shown in FIG.
  • the CPU 110 selects all images 3 that are not used for learning among the plurality of images 3 as evaluation images 4 (step S41). That is, the CPU 110 selects all of the images 3 other than the learning image determined in step S3 and the additional images selected in steps S21 and S22 as the evaluation image 4.
  • steps S42 to S45 The processing contents of steps S42 to S45 are the same as steps S13 to S16 shown in FIG. 16, respectively. Therefore, detailed explanation of steps S42 to S45 will be omitted.
  • step S5 combines the third and fourth embodiments described above. That is, the fifth embodiment of step S5 includes steps S21_1 to S21_M and S22_1 to S22_N shown in FIG. 21, and step S23 shown in FIG. 22, which is executed after step S22_N.
  • FIG. 24 is a diagram showing an example of a screen showing the results of the active learning process. Screen 95 shown in FIG. 24 is generated by CPU 110 and displayed on display device 600.
  • the screen 95 includes a defective product image list 81 and a non-defective product image list 82.
  • each of the defective product image list 81 and the non-defective product image list 82 includes a marker 87 for identifying the image 3 selected as the learning image, and an image 3 selected as the additional image in one or more active learning processes.
  • FIG. 25 is a diagram showing another example of the screen showing the results of the active learning process.
  • a screen 50 shown in FIG. 25 is generated by the CPU 110 and displayed on the display device 600 during execution of the active learning process.
  • the screen 50 includes a graph 51 showing the transition of the error rate, which is the evaluation result of the model 7, and a display column 52.
  • the screen 50 shown in FIG. 25 is displayed during execution of the 12th relearning process in the second active learning process (step S22) according to the second embodiment described above. Therefore, the graph 51 shows the transition between the error rate calculated in the first active learning process (step S21) and the error rate calculated in the 1st to 11th relearning processes in the second active learning process. is shown.
  • the display field 52 displays the ratio of the number of evaluation images 4 selected as additional images to the total number of evaluation images 4 selected in the second active learning process.
  • the user has already selected 12 of the 224 evaluation images to which the label "good product” has been assigned as additional images, and the 12 images to which the label "defective product” has been assigned. It can be confirmed that six of the evaluation images have been selected as additional images.
  • the plurality of images 3 include the plurality of non-defective product images 30 and the plurality of defective product images 32, and one or more learning images are selected from each of the plurality of non-defective product images 30 and the plurality of defective product images 32. be done. However, depending on the object 2, defects may occur very infrequently. In such a case, the plurality of images 3 include a plurality of non-defective product images 30 and one or more defective product images 32. If a small number of defective product images 32 are used for learning, there will be a shortage of defective product images 32 to be used for evaluating the model 7. In such a case, machine learning may be performed using only the non-defective image 30.
  • FIG. 26 is a diagram illustrating a model acquisition method in Modification 1.
  • the CPU 110 which operates as the acquisition unit 12, performs machine learning using one or more learning images to which the label "good product" has been assigned, so that the Obtain model 7' that outputs .
  • the CPU 110 generates a model 7' that defines a feature space in which the distance between points corresponding to feature amounts corresponding to one or more learning images is minimized.
  • the CPU 110 inputs one or more non-defective product images 30 and one or more defective product images 32 that are not used for learning into the model 7', and calculates points 65 corresponding to feature amounts obtained from the non-defective product images 30 and points 65 obtained from the defective product images 32.
  • a discrimination boundary 60' is determined that separates the point 66 corresponding to the feature amount.
  • step S4 the model 7' that defines the feature space is obtained, and the discrimination boundary 60' is not determined.
  • step S5 in modification 1 follows any of the above embodiments 1 to 4 (see FIG. 16, FIG. 18, FIG. 19, and FIG. 21 to FIG. 23), similarly to the above embodiment.
  • the CPU 110 calculates the evaluation value E1 only for each non-defective image 30 included in the image group 8. Then, in step S12, the CPU 110 selects one or more good product images 30 with relatively low reliability as the evaluation images 4 based on the evaluation value E1, and selects one or more defective product images 32 as the evaluation images 4. Select as 4. Further, in step S31 of FIG.
  • the CPU 110 randomly or according to a predetermined rule selects one or more non-defective images 30 included in the image group 8 as the evaluation image 4, and selects one or more defective images 30 as the evaluation image 4.
  • the non-defective image 32 is selected as the evaluation image 4. Furthermore, in step S13 of FIG. 16, step S32 of FIG. 19, and step S42 of FIG. After determining ', the discrimination accuracy and evaluation value E2 are calculated.
  • FIG. 27 is a diagram illustrating active learning processing in Modification 1.
  • FIG. 27 shows active learning processing according to the flowchart shown in FIG. 16, steps S22 in FIGS. 18 and 22, and steps S22_1 to S22_N in FIG. 21 in Modification 1.
  • the plurality of images 3 include a plurality of non-defective product images 30 and one or more defective product images 32.
  • the initial model 7' is obtained by machine learning using an initial training data set 6 including a learning image (non-defective image 30a in FIG. 27) selected from a plurality of non-defective images 30.
  • the image group 8g includes non-defective images 30 that are not used for learning.
  • An evaluation value E1 is calculated for each non-defective image 30 of the image group 8g, and based on the evaluation value E1, a non-defective image 30 with relatively low reliability of discrimination is selected as the evaluation image 4 (evaluation image 40). . Furthermore, one or more defective product images 32 are also selected as the evaluation images 4. Note that the evaluation images 40 to which the label "good product" has been assigned constitute an image group for evaluation.
  • a discrimination boundary 60' is determined based on the feature amount obtained by inputting one or more evaluation images 4 to the model 7'. Specifically, in the feature space, there is a region where there are points corresponding to the feature amount calculated from one or more evaluation images 40 and a region where there is a point corresponding to the feature amount calculated from the one or more defective product images 32. A discrimination boundary 60' that separates the existing area is determined.
  • the evaluation value E2 is calculated for each evaluation image 40 included in the evaluation image group 9g until the evaluation result of the model 7' using one or more evaluation images 4 satisfies the termination criteria. Based on this, the evaluation image 40 with relatively low reliability is selected as an additional image.
  • the training data set 6 is then updated to include the additional images, and the model 7' is retrained using the updated training data set 6.
  • FIG. 28 is a diagram showing an example of evaluation values E1 and E2 in Modification 1.
  • the evaluation values E1 and E2 calculated for the non-defective image 30 are represented by the lengths of arrows. That is, the evaluation values E1 and E2 shown in FIG. 10 indicate the distance between the point corresponding to the feature amount calculated from the non-defective image 30 and the discrimination boundary 60' in the feature space. Note that the evaluation values E1 and E2 indicate that a point corresponding to the feature amount calculated from the non-defective image 30 exists in the region 67 (an area where the feature amount calculated from the learning image to which the label "good product" is attached) exists. If so, take a positive value.
  • the evaluation values E1 and E2 take negative values when a point corresponding to the feature amount calculated from the non-defective product image 30 exists in a region 68 different from the region 67. In the case of the evaluation values E1 and E2 shown in FIG. 28, the smaller the evaluation values E1 and E2, the lower the reliability of attribute discrimination.
  • FIG. 29 is a diagram showing another example of evaluation values E1 and E2 in Modification 1.
  • evaluation values E1 and E2 calculated for the non-defective image 30 are represented by the length of an arrow.
  • the evaluation values E1 and E2 shown in FIG. 29 are calculated from points corresponding to the feature amount calculated from the non-defective image 30 in the feature space and the feature amount calculated from the learning image to which the label "good product" is assigned. Indicates the shortest distance to the corresponding point.
  • the larger the evaluation values E1 and E2 the lower the reliability of attribute discrimination.
  • the discrimination boundary 60' is not determined in step S4. Therefore, when the subroutine of step S5 in the first modification follows the first embodiment described above, the evaluation value E1 shown in FIG. 29 is calculated in step S11.
  • step S5 in modification 1 follows any of the above embodiments 2 to 4, the discrimination boundary 60' is determined before calculating the evaluation value E1. Therefore, in steps S22, S22_1 to S22_N, the evaluation value E1 shown in either FIG. 28 or FIG. 29 is calculated.
  • the CPU 110 sets the number of evaluation images 4 according to the input on the screen 90 shown in FIG.
  • the CPU 110 may set the ratio of the number of evaluation images 4 to the number of images 3 included in the image group 8. In this case, the CPU 110 may select the evaluation image 4 from the image group 8 so as to achieve the set ratio.
  • ⁇ Modification 3> In the embodiment described above, a situation is shown in which it is detected whether or not a defect exists in the object 2.
  • the scope of the present disclosure is not limited to such an example of visual inspection.
  • the present disclosure is applicable, for example, to any situation where some feature is detected from an image of the object 2.
  • the target object 2 is not limited to a stationary object, but may be a movable object such as a person or a vehicle (for example, a car).
  • this embodiment includes the following disclosures.
  • the training data set (6) includes one or more learning images selected from a plurality of images (3) attached with a label indicating an attribute of the object (2),
  • Each of the one or more active learning processes includes: Selecting one or more evaluation images (4, 40, 42) from among the image groups (8, 8g, 8ng) that are not used for learning among the plurality of images (3); Repeatedly performing a relearning process until the evaluation result of the model (7, 7') using the one or more evaluation images (4, 40, 42) satisfies a termination criterion,
  • the relearning process is updating the training data set (6) to include one or more additional images selected from the one or more evaluation images (4, 40, 42); relearning the model (7, 7') using the updated training data set (6); In at least one active learning process of the one or more active learning processes, selecting the one or
  • the relearning process is For each of the one or more evaluation images (4, 40, 42), calculating a second evaluation value indicating the reliability of the attribute discrimination by the latest model (7, 7'); Based on the second evaluation value, from among the one or more evaluation images (4, 40, 42), evaluation images (40a, 42a) with relatively low reliability are selected as the one or more additional images.
  • the model (7, 7') outputs a feature amount indicating the feature of the input image, The feature amount is compared with a discrimination boundary (60, 60') for discriminating the attribute, Learning according to configuration 1 or 2, wherein the first evaluation value for a target image included in the image group indicates a distance between the feature amount calculated from the target image and the discrimination boundary (60, 60').
  • a discrimination boundary 60, 60'
  • the model (7, 7') outputs a feature amount indicating the feature of the input image
  • the first evaluation value for the target image included in the image group (8, 8g, 8ng) is used for learning the feature amount calculated from the target image and the latest model (7, 7').
  • the learning device (100) according to configuration 1 or 2, wherein the learning device (100) indicates the distance between the target image and the feature amount calculated from an image that is given the same label as the target image.
  • the one or more active learning processes include M active learning processes and N active learning processes that are executed after the M active learning processes and correspond to the at least one active learning process.
  • M and N are integers of 1 or more,
  • selecting the one or more evaluation images may be performed randomly or according to a predetermined rule from among the image groups without using the first evaluation value.
  • the learning device (100) according to any one of configurations 1 to 4, including selecting the one or more evaluation images (4, 40, 42).
  • the one or more active learning processes include an M+N+1 active learning process executed after the N active learning processes, In the M+N+1 active learning process, selecting the one or more evaluation images means selecting all images included in the image group as the one or more evaluation images (4, 40, 42).
  • N is an integer of 2 or more, In the N times of active learning processing, at least one of the number of evaluation images selected from the image group (8, 8g, 8ng), the type of the first evaluation value, and the termination criterion is different from each other.
  • M is an integer of 2 or more
  • the M active learning processes at least one of the number of evaluation images selected from the image group (8, 8g, 8ng), the method for selecting the one or more evaluation images, and the termination criterion. are learning devices (100) according to any one of configurations 5 to 7, which are different from each other.
  • the label includes a first label indicating that the object (2) is a non-defective item, and a second label indicating that the object (2) is a defective item
  • the plurality of images (3) include a plurality of non-defective product images (30) to which the first label is attached, and one or more defective product images (32) to which the second label is attached
  • the one or more learning images are selected from the plurality of non-defective images (30)
  • the one or more evaluation images include one or more good product images (30) selected from the image group (8g) and the one or more defective product images (32),
  • the learning device (100) according to any one of configurations 1 to 8, wherein the first evaluation value is calculated for each non-defective image included in the image group (8g).
  • a learning method A computer (100) performs machine learning using a training dataset (6) to obtain a model (7, 7') used to determine the attributes of an object (2) appearing in an input image.
  • the training data set (6) includes one or more learning images selected from a plurality of images (3) attached with a label indicating an attribute of the object (2),
  • Each of the one or more active learning processes includes: Selecting one or more evaluation images (4, 40, 42) from among the image groups (8, 8g, 8ng) that are not used for learning among the plurality of images (3); Repeatedly performing a relearning process until the evaluation result of the model (7, 7') using the one or more evaluation images (4, 40, 42) satisfies a termination criterion,
  • the relearning process is updating the training data set (6) to include one or more additional images selected from the one or more evaluation images
  • the training data set (6) includes one or more learning images selected from a plurality of images (3) attached with a label indicating an attribute of the object (2),
  • Each of the one or more active learning processes includes: Selecting one or more evaluation images (4, 40, 42) from among the image groups (8, 8g, 8ng) that are not used for learning among the plurality of images (3); Repeatedly performing a relearning process until the evaluation result of the model (7, 7') using the one or more evaluation images (4, 40, 42) satisfies a termination criterion,
  • the relearning process is updating the training data set (6) to include one or more additional images selected from the one or more evaluation images (4, 40, 42); relearning the model (7, 7') using the updated training data set (6);

Landscapes

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

Abstract

学習装置は、1回以上の能動学習処理を実行することによりモデルを更新する。1回以上の能動学習処理の各々は、学習に用いていない画像グループの中から1以上の評価用画像を選択することと、1以上の評価用画像を用いたモデルの評価結果が終了基準を満たすまで、再学習処理を繰り返し実行することと、を含む。少なくとも1回の能動学習処理において、1以上の評価用画像を選択することは、画像グループの各画像について、最新のモデルによる判別の信頼度を示す評価値を算出することと、信頼度が相対的に低い画像を1以上の評価用画像として選択することと、を含む。これにより、属性の判別精度の高いモデルが短時間で生成される。

Description

学習装置、学習方法およびプログラム
 本開示は、学習装置、学習方法およびプログラムに関する。
 近年、製品を製造する場面では、製造される製品を撮影装置により撮影し、得られた画像に基づいて製品の外観に関する属性を自動的に判別する技術の開発が進んでいる。具体的には、属性が既知である製品の写る複数の画像を用いた機械学習を行なうことにより得られたモデルを用いて製品の属性が判別される。
 モデルによる属性の判別精度は、機械学習に用いる画像に依存する。判別精度の向上に有効な画像を選択する手法として能動学習が知られている(「B. Settles、“Active Learning Literature Survey”、Computer Sciences Technical Report 1648、University of Wisconsin、2010」(非特許文献1)参照)。公知の能動学習では、複数の画像の中から任意に選択された少量の画像からなる訓練データセットを用いて機械学習を行なうことによりモデルが生成される。次に、複数の画像のうち学習に用いた画像以外の残りの画像の全てを用いたモデルの評価結果が予め定められた基準を満たすまで、当該残りの画像のうちモデルによって判別しにくい画像を含むように訓練データセットを更新し、更新後の訓練データセットを用いてモデルを再学習する処理が繰り返される。
B. Settles、"Active Learning Literature Survey"、Computer Sciences Technical Report 1648. University of Wisconsin、2010、[online]、[令和4年6月14日検索]、インターネット〈URL:https://burrsettles.com/pub/settles.activelearning.pdf〉 山根達郎、全邦釘、"Deep learningによるSemantic Segmentationを用いたコンクリート表面ひび割れの検出"、構造工学論文集、Vol.65A(2019)、[online]、[令和4年6月14日検索]、インターネット<https://www.jstage.jst.go.jp/article/structcivil/65A/0/65A_130/_pdf>
 公知の能動学習の手法では、繰り返し実施される再学習の処理に要する時間が長くなる。
 本開示は、このような実情を鑑みてなされたものであり、その目的は、属性の判別精度の高いモデルを短時間で生成することが可能な学習装置、学習方法およびプログラムを提供することである。
 本開示の一側面に係る学習装置は、訓練データセットを用いた機械学習を行なうことにより、入力画像に写る対象物の属性を判別するために使用されるモデルを取得する取得部と、1回以上の能動学習処理を実行することによりモデルを更新する能動学習部と、を備える。訓練データセットは、対象物の属性を示すラベルが付与された複数の画像の中から選択された1以上の学習用画像を含む。1回以上の能動学習処理の各々は、複数の画像のうち学習に用いていない画像グループの中から1以上の評価用画像を選択することと、1以上の評価用画像を用いたモデルの評価結果が終了基準を満たすまで、再学習処理を繰り返し実行することと、を含む。再学習処理は、1以上の評価用画像の中から選択された1以上の追加画像を含むように訓練データセットを更新することと、更新後の訓練データセットを用いてモデルの再学習を行なうことと、を含む。1回以上の能動学習処理のうちの少なくとも1回の能動学習処理において、1以上の評価用画像を選択することは、画像グループに含まれる各画像について、最新のモデルによる属性の判別の信頼度を示す第1評価値を算出することと、第1評価値に基づいて、画像グループの中から、信頼度が相対的に低い画像を1以上の評価用画像として選択することと、を含む。
 この開示によれば、画像グループの中から、信頼度の相対的に低い画像が評価用画像として選択される。そのため、1以上の評価用画像から選択される追加画像を用いてモデルを再学習することにより、モデルの判別精度が向上しやすい。さらに、1回以上の能動学習処理の各々において、再学習処理が実行されるたびにモデルが評価される。画像グループの中から選択された1以上の評価用画像をモデルに入力することにより、モデルを評価できる。そのため、複数の画像のうち学習に用いていない画像グループの全ての画像をモデルに入力することによりモデルを評価する手法と比較して、モデルの評価に要する時間を短縮できる。このように、上記の開示によれば、属性の判別精度の高いモデルを短時間で生成できる。
 上述の開示において、再学習処理は、1以上の評価用画像の各々について、最新のモデルによる属性の判別の信頼度を示す第2評価値を算出することと、第2評価値に基づいて、1以上の評価用画像の中から、信頼度が相対的に低い評価用画像を1以上の追加画像として選択することと、をさらに含む。
 この開示によれば、1以上の評価用画像のうち、より判別しにくい画像が追加画像として選択される。これにより、モデルの判別精度がより向上しやすくなる。
 上述の開示において、モデルは、入力画像の特徴を示す特徴量を出力する。特徴量は、属性を判別するための判別境界と比較される。画像グループに含まれる対象画像に対する第1評価値は、対象画像から算出される特徴量と判別境界との距離を示す。
 この開示によれば、判別しにくい画像が評価用画像として選択されやすくなる。これにより、より短時間でモデルの判別精度を向上させることができる。
 上述の開示において、モデルは、入力画像の特徴を示す特徴量を出力する。画像グループに含まれる対象画像に対する第1評価値は、対象画像から算出される特徴量と、最新のモデルの学習に用いられ、かつ対象画像と同じラベルが付与された画像から算出される特徴量との距離を示す。
 この開示によれば、選択される1以上の評価用画像の特徴の分布が広くなる。これにより、同じ属性を示すラベルの付与された画像の特徴が多様である場合であっても、判別精度の高いモデルを短時間で生成できる。
 上述の開示において、1回以上の能動学習処理は、M回の能動学習処理と、M回の能動学習処理の後に実行され、少なくとも1回の能動学習処理に対応するN回の能動学習処理と、を含む。MおよびNは、1以上の整数である。M回の能動学習処理において、1以上の評価用画像を選択することは、第1評価値を用いることなく、ランダムに、または、予め定められたルールに従って、画像グループの中から1以上の評価用画像を選択することを含む。
 学習用画像の個数が少ない場合、取得部によって取得されるモデルの判別精度が低い。この開示によれば、M回の能動学習処理では、第1評価値を用いることなく、ランダムに、または、予め定められたルールに従って、1以上の評価用画像が選択される。そのため、多様な特徴を有する画像が評価用画像として選択される。これにより、M回の能動学習処理によって、多様な特徴を有する評価用画像を用いて、モデルの判別精度をある程度高い状態に収束させることができる。そして、N回の能動学習処理では、M回の能動学習処理によって判別精度がある程度向上したモデルを適用することにより得られる第1評価値に基づいて、学習に適した画像が評価用画像として選択される。その結果、判別精度の高いモデルがより短時間で生成される。
 上述の開示において、1回以上の能動学習処理は、N回の能動学習処理の後に実行されるM+N+1回目の能動学習処理を含む。M+N+1回目の能動学習処理において、1以上の評価用画像を選択することは、画像グループに含まれる全ての画像を1以上の評価用画像として選択することを含む。
 この開示によれば、M+N+1回目の能動学習処理において、モデルの判別精度をより正確に評価できる。
 上述の開示において、Nが2以上の整数である場合。N回の能動学習処理において、画像グループの中から選択される評価用画像の個数、第1評価値の種類、および終了基準の少なくとも1つは、互いに異なってもよい。
 上述の開示において、Mが2以上の整数である場合、M回の能動学習処理において、画像グループの中から選択される評価用画像の個数、1以上の評価用画像の選択方法、および終了基準の少なくとも1つは、互いに異なってもよい。
 上述の開示において、ラベルは、対象物が良品であることを示す第1ラベルと、対象物が不良品であることを示す第2ラベルと、を含む。複数の画像は、第1ラベルが付与された複数の良品画像と、第2ラベルが付与された1以上の不良品画像と、を含む。1以上の学習用画像は、複数の良品画像から選択される。1以上の評価用画像は、画像グループから選択される1以上の良品画像と、1以上の不良品画像と、を含む。第1評価値は、画像グループに含まれる各良品画像に対して算出される。
 この開示によれば、第2ラベルが付与された不良品画像の個数が少ない場合であっても、良品画像のみから、判別精度の高いモデルを短時間で生成することができる。
 本開示の一側面に係る学習方法は、コンピュータが、訓練データセットを用いた機械学習を行なうことにより、入力画像に写る対象物の属性を判別するために使用されるモデルを取得するステップと、コンピュータが、1回以上の能動学習処理を実行することによりモデルを更新するステップと、を備える。訓練データセットは、対象物の属性を示すラベルが付与された複数の画像の中から選択された1以上の学習用画像を含む。1回以上の能動学習処理の各々は、複数の画像のうち学習に用いていない画像グループの中から1以上の評価用画像を選択することと、1以上の評価用画像を用いたモデルの評価結果が終了基準を満たすまで再学習処理を繰り返し実行することと、を含む。再学習処理は、1以上の評価用画像の中から選択された1以上の追加画像を含むように訓練データセットを更新することと、更新後の訓練データセットを用いてモデルの再学習を行なうことと、を含む。1回以上の能動学習処理のうちの少なくとも1回の能動学習処理において、1以上の評価用画像を選択することは、画像グループに含まれる各画像について、最新のモデルによる属性の判別の信頼度を示す第1評価値を算出することと、第1評価値に基づいて、画像グループの中から、信頼度が相対的に低い画像を1以上の評価用画像として選択することと、を含む。
 本開示の一側面に係るプログラムは、上記の学習方法をコンピュータに実行させる。これらの開示によっても、属性の判別精度の高いモデルを短時間で生成できる。
 本開示によれば、属性の判別精度の高いモデルを短時間で生成できる。
実施形態に係る学習方法の一例を示す図である。 実施の形態に係る学習装置を含むシステムの全体構成を示す概略図である。 図2に示す学習装置のハードウェア構成の一例を示す概略図である。 図2に示す判別装置のハードウェア構成の一例を示す概略図である。 学習装置のソフトウェア構成の一例を模式的に示す図である。 ラベル付与部によって提供されるユーザインターフェイス画面の一例を示す図である。 ラベル付与部によって提供されるユーザインターフェイス画面の別の例を示す図である。 取得部によって提供されるユーザインターフェイス画面の一例を示す図である。 モデルの取得方法を説明する図である。 評価値E1の種類の一例を示す図である。 評価値E1の種類の別の例を示す図である。 実施の形態に係る学習装置の処理の流れの一例を示すフローチャートである。 図12に示すステップS5の参考例のサブルーチンの流れを示すフローチャートである。 図13に示すフローチャートに従った能動学習処理を説明する図である。 能動学習処理の条件を設定するための画面の一例を示す図である。 図12に示すステップS5の実施例1のサブルーチンの流れを示すフローチャートである。 図16に示すフローチャートに従った能動学習処理を説明する図である。 図12に示すステップS5の実施例2のサブルーチンの流れを示すフローチャートである。 図18に示すステップS21のサブルーチンの流れを示すフローチャートである。 図19に示すフローチャートに従った能動学習処理を説明する図である。 図12に示すステップS5の実施例3のサブルーチンの流れを示すフローチャートである。 図12に示すステップS5の実施例4のサブルーチンの流れを示すフローチャートである。 図22に示すステップS23のサブルーチンの流れを示すフローチャートである。 能動学習処理の結果を示す画面の一例を示す図である。 能動学習処理の結果を示す画面の別の例を示す図である。 変形例1におけるモデルの取得方法を説明する図である。 変形例1における能動学習処理を説明する図である。 変形例1における評価値E1,E2の一例を示す図である。 変形例1における評価値E1,E2の別の例を示す図である。
 本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
 §1 適用例
 まず、図1を用いて、本発明が適用される場面の一例について説明する。図1は、実施形態に係る学習方法の一例を示す図である。図1に示されるように、対象物2の写る複数の画像3が予め準備される。複数の画像3の各々には、当該画像3に写る対象物2の属性を示すラベルが付与されている。
 学習方法は、コンピュータが、複数の画像3の中から選択された1以上の学習用画像を含む訓練データセット6を用いた機械学習を行なうことにより、入力画像に写る対象物2の属性を判別するために使用されるモデル7を取得するステップ(1)を備える。図1に示す例では、画像3aが学習用画像として選択されている。
 学習方法は、さらに、コンピュータが、1回以上の能動学習処理を実行することによりモデル7を更新するステップ(2)を備える。
 1回以上の能動学習処理の各々は、複数の画像3のうち学習に用いていない画像グループ8の中から1以上の評価用画像4を選択するステップ(2-1)と、1以上の評価用画像4を用いたモデル7の評価結果が終了基準を満たすまで、再学習処理を繰り返し実行するステップ(2-2)と、を含む。画像グループ8の中から選択される評価用画像4の個数は、予め定められる。図1に示す例では、5個の評価用画像4が選択される。
 再学習処理は、1以上の評価用画像4の中から選択された1以上の追加画像を含むように訓練データセット6を更新するステップ(2-2-1)と、更新後の訓練データセット6を用いてモデル7の再学習を行なうステップ(2-2-2)と、を含む。1以上の評価用画像4のうちモデル7によって判別しにくい評価用画像4が追加画像として選択される。図1に示す例では、評価用画像4aが追加画像として選択されている。
 1回以上の能動学習処理のうちの少なくとも1回の能動学習処理において、1以上の評価用画像4を選択するステップ(2-1)は、ステップ(2-1-1),(2-1-2)を含む。ステップ(2-1-1)は、画像グループ8に含まれる画像について、最新のモデル7による属性の判別の信頼度を示す評価値E1を算出するステップである。ステップ(2-1-2)は、評価値E1に基づいて、画像グループ8の中から、信頼度が相対的に低い画像3を1以上の評価用画像4として選択するステップである。
 ステップ(2-1-2)によれば、画像グループ8の中から、信頼度の相対的に低い画像3が評価用画像4として選択される。そのため、1以上の評価用画像4から選択される追加画像を用いてモデル7を再学習することにより、モデル7の判別精度が向上しやすい。
 1回以上の能動学習処理の各々において、ステップ(2-2)に従って、再学習処理が実行されるたびにモデル7が評価される。本実施の形態に係る学習方法によれば、複数の画像3のうち学習に用いていない画像グループ8の中から選択された1以上の評価用画像4をモデル7に入力することにより、モデル7を評価できる。そのため、複数の画像3のうち学習に用いていない画像グループ8の全ての画像をモデル7に入力することによりモデル7を評価する従来の能動学習の手法と比較して、モデル7の評価に要する時間を短縮できる。
 このように、本実施の形態に係る学習方法によれば、属性の判別精度の高いモデル7を短時間で生成できる。
 §2 具体例
 <システム構成>
 図2は、実施の形態に係る学習装置を含むシステムの全体構成を示す概略図である。図2に例示されるシステム1は、製造ラインなどに組み込まれ、製品である対象物2の写る画像を利用して、対象物2の属性を判別する。対象物2の属性は、例えば、外観の良否、欠陥の有無、欠陥の種別などが含まれる。図2に示されるように、システム1は、学習装置100と判別装置200とを備える。
 学習装置100は、入力画像に写る対象物2の属性を判別するために使用されるモデル7を生成するように構成されたコンピュータである。学習装置100には、表示装置600および入力装置700が接続されている。表示装置600は、典型的には液晶ディスプレイからなり、各種画面を表示する。入力装置700は、例えばキーボードおよびマウスを含む。なお、表示装置600および入力装置700は、タッチパネルとして一体化されてもよい。
 判別装置200は、学習装置100から転送されたモデル7を用いて、対象物2の属性を判別するように構成されたコンピュータである。判別装置200にはカメラ300が接続されている。カメラ300は、対象物2が視野に含まれるように設置される。これにより、判別装置200は、対象物2の写る画像をカメラ300から取得する。判別装置200は、取得した画像を入力したときのモデル7の出力情報を用いて、対象物2の属性を判別する。
 例えば、判別装置200は、対象物2の外観に欠陥が含まれるか否かに応じて、対象物2が良品か不良品かを判別する。欠陥は、例えば、傷、汚れ、クラック、打痕、バリ、色ムラ、異物混入等であってよい。
 図2に例示される学習装置100および判別装置200は、ネットワークを介して互いに接続されている。ネットワークの種類は、例えば、インターネット、無線通信網、移動通信網、電話網、専用網等から適宜選択されてよい。
 学習装置100および判別装置200の間でデータをやりとりする方法は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、学習装置100および判別装置200の間では、記憶媒体を利用して、データがやりとりされてよい。また、本実施形態では、学習装置100および判別装置200は互いに別個のコンピュータである。しかしながら、システム1の構成は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、学習装置100および判別装置200は一体のコンピュータであってもよい。また、例えば、学習装置100および判別装置200の少なくとも一方は、複数台のコンピュータにより構成されてよい。
 <学習装置のハードウェア構成>
 学習装置100は、典型的には、汎用的なアーキテクチャを有しているコンピュータであり、予めインストールされたプログラム(命令コード)を実行することで、本実施の形態に係る各種処理を実行する。このようなプログラムは、典型的には、各種記録媒体などに格納された状態で流通し、あるいは、ネットワークなどを介して学習装置100にインストールされる。
 このような汎用的なコンピュータを利用する場合には、本実施の形態に係る各種処理を実行するためのアプリケーションに加えて、コンピュータの基本的な処理を実行するためのOS(Operating System)がインストールされていてもよい。この場合には、本実施の形態に係るプログラムは、OSの一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。すなわち、本実施の形態に係るプログラム自体は、上記のようなモジュールを含んでおらず、OSと協働して処理が実行されてもよい。本実施の形態に係るプログラムとしては、このような一部のモジュールを含まない形態であってもよい。
 さらに、本実施の形態に係るプログラムは、他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には、上記のような組合せられる他のプログラムに含まれるモジュールを含んでおらず、当該他のプログラムと協働して処理が実行される。すなわち、本実施の形態に係るプログラムとしては、このような他のプログラムに組込まれた形態であってもよい。なお、プログラムの実行により提供される機能の一部もしくは全部を専用のハードウェア回路として実装してもよい。
 図3は、図2に示す学習装置のハードウェア構成の一例を示す概略図である。図3に示されるように、学習装置100は、CPU(Central Processing Unit)110と、RAM(Random Access Memory)111と、ROM(Read Only Memory)112と、通信インターフェース113と、入力インターフェース114と、表示コントローラ115と、ドライブ116と、ストレージ120とを含む。これらの各部は、バスを介して、互いにデータ通信可能に接続される。
 CPU110は、ストレージ120にインストールされたプログラム(コード)をRAM111に展開して、これらを所定順序で実行することで、各種の演算を実施する。RAM111は、典型的には、DRAM(Dynamic Random Access Memory)などの揮発性の記憶装置である。
 通信インターフェース113は、例えば、有線LAN(Local Area Network)モジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインターフェースである。学習装置100は、この通信インターフェース113を利用することで、他の情報処理装置(例えば、判別装置200)とデータ通信を行なうことができる。
 入力インターフェース114は、CPU110と入力装置700との間のデータ伝送を仲介する。すなわち、入力インターフェース114は、ユーザが入力装置700に入力した入力情報を受け付ける。
 表示コントローラ115は、表示装置600と接続され、CPU110における処理結果などをユーザに通知するように表示装置600の画面を制御する。
 ストレージ120は、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。ストレージ120は、対象物2の写る複数の画像3を記憶する。さらに、ストレージ120は、学習プログラム122およびラベル付与プログラム124を記憶する。学習プログラム122は、モデル7を生成するための機械学習の処理を学習装置100に実行させるためのプログラムである。ラベル付与プログラム124は、複数の画像3の各々について、当該画像3に写る対象物2の属性を示すラベルを付与する処理を学習装置100に実行させるためのプログラムである。学習プログラム122およびラベル付与プログラム124の各々は、情報処理の一連の命令を含む。さらに、ストレージ120は、学習プログラム122の実行により得られるモデル7を記憶する。
 ドライブ116は、例えば、CDドライブ、DVDドライブ等であり、記憶媒体130に記憶されるプログラムを読み込むためのドライブ装置である。ドライブ116の種類は、記憶媒体130の種類に応じて適宜選択されてよい。学習プログラム122およびラベル付与プログラム124の少なくとも1つは、この記憶媒体130に記憶されていてもよい。
 記憶媒体130は、コンピュータその他装置、機械等が記録されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。学習装置100は、この記憶媒体130から、学習プログラム122およびラベル付与プログラム124の少なくとも1つを取得してもよい。
 ここで、図2では、記憶媒体130の一例として、CD、DVD等のディスク型の記憶媒体を例示している。しかしながら、記憶媒体130の種類は、ディスク型に限定される訳ではなく、ディスク型以外であってもよい。ディスク型以外の記憶媒体として、例えば、フラッシュメモリ等の半導体メモリを挙げることができる。
 なお、学習装置100の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、学習装置100は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA(field-programmable gate array)、DSP(digital signal processor)等で構成されてよい。通信インターフェース113及びドライブ116の少なくとも一方は省略されてもよい。学習装置100は、例えば、スピーカ等の表示装置600以外の出力装置に接続され、出力装置を制御するコントローラを備えてもよい。学習装置100は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、学習装置100は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC(Personal Computer)等であってもよい。
 <判定装置のハードウェア構成>
 図4は、図2に示す判別装置のハードウェア構成の一例を示す概略図である。図4に示されるとおり、判別装置200は、CPU210と、RAM211と、ROM212と、通信インターフェース213と、外部インターフェース214と、入力インターフェース215と、表示コントローラ216と、ドライブ217と、ストレージ220とを含む。これらの各部は、バスを介して互いにデータ通信可能に接続される。
 CPU210は、ストレージ220にインストールされたプログラム(コード)をRAM211に展開して、これらを所定順序で実行することで、各種の演算を実施する。RAM211は、典型的には、DRAMなどの揮発性の記憶装置である。
 通信インターフェース213は、例えば、有線LANモジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインターフェースである。判別装置200は、通信インターフェース213を利用することで、他の情報処理装置(例えば、学習装置100)とデータ通信を行なうことができる。
 外部インターフェース214は、例えば、USB(Universal Serial Bus)ポート、専用ポート等であり、外部装置と接続するためのインターフェースである。外部インターフェース214の種類及び数は、接続される外部装置の種類及び数に応じて適宜選択されてよい。本実施形態では、判別装置200は、外部インターフェース214を介して、カメラ300に接続される。
 カメラ300は、外観検査の対象となる対象物2を写した画像3を取得するのに利用される。カメラ300の種類及び配置場所は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。カメラ300には、例えば、一般的なデジタルカメラ、深度カメラ、赤外線カメラ等が用いられてよい。また、カメラ300は、製造ラインにより搬送される対象物2を観測可能なように適宜配置されてよい。カメラ300は、例えば、対象物2を搬送する製造ラインの近傍に配置されてよい。なお、カメラ300が通信インターフェースを備える場合、判別装置200は、外部インターフェース214ではなく、通信インターフェース213を介して、カメラ300に接続されてもよい。
 入力インターフェース215は、CPU210と図示しない入力装置との間のデータ伝送を仲介する。すなわち、入力インターフェース215は、ユーザが入力装置に入力した入力情報を受け付ける。
 表示コントローラ216は、図示しない表示装置と接続され、CPU210における処理結果などをユーザに通知するように表示装置の画面を制御する。
 ストレージ220は、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。ストレージ220は、判別プログラム221、モデル7等の各種情報を記憶する。
 判別プログラム221は、学習装置100により生成されたモデル7を利用して、画像3に写る対象物2の属性を判別する情報処理を判別装置200に実行させるためのプログラムである。本実施の形態では、対象物2の属性を判別する情報処理は、対象物2の良否を判別する情報処理である。判別プログラム221は、当該情報処理の一連の命令を含む。
 ドライブ217は、例えば、CDドライブ、DVDドライブ等であり、図示しない記憶媒体に記憶されたプログラムを読み込むためのドライブ装置である。判別プログラム221およびモデル7のうちの少なくともいずれかは、記憶媒体に記憶されていてもよい。また、判別装置200は、記憶媒体から、判別プログラム221およびモデル7のうちの少なくともいずれかを取得してもよい。
 <学習装置のソフトウェア構成>
 図5は、学習装置のソフトウェア構成の一例を模式的に示す図である。図5に示されるように、学習装置100は、記憶部10と、ラベル付与部11と、取得部12と、能動学習部13と、を備える。記憶部10は、図3に示すストレージ120およびRAM111によって実現される。ラベル付与部11は、CPU110がラベル付与プログラム124に含まれる命令を解釈および実行することにより実現される。取得部12および能動学習部13は、CPU110が学習プログラム122に含まれる命令を解釈および実行することにより実現される。
 記憶部10は、カメラ300の撮像によって得られた複数の画像3を記憶する。複数の画像3の各々には、対象物2が写る。
 ラベル付与部11は、ユーザ操作に応じて、記憶部10が記憶する複数の画像3の各々にラベルを付与する。ラベルは、画像3に写る対象物2の属性を示す。本実施の形態では、ラベル付与部11は、良品の対象物2(欠陥のない対象物2)が写る画像3に対してラベル「良品」を付与する。ラベル付与部11は、欠陥のある対象物2が写る画像3に対してラベル「不良品」を付与する。
 図6は、ラベル付与部によって提供されるユーザインターフェイス画面の一例を示す図である。図6に示すユーザインターフェイス画面70は、図3に示す表示装置600に表示される。
 図6に示されるように、ユーザインターフェイス画面70は、画像リスト71と、良品画像リスト72と、不良品画像リスト73と、領域74と、追加ボタン75a,75bと、移動ボタン76と、ボタン78と、を含む。
 画像リスト71は、記憶部10が記憶する複数の画像3のリストである。良品画像リスト72は、複数の画像3のうち良品の対象物2の写る画像3の一覧を示す。不良品画像リスト73は、複数の画像3のうち不良品の対象物2の写る画像3の一覧を示す。領域74には、画像リスト71、良品画像リスト72および不良品画像リスト73の中から選択された1つの画像3が表示される。
 追加ボタン75aは、画像リスト71の中から選択された画像3を良品画像リスト72に追加するためのボタンである。ユーザは、領域74を見ながら、良品の対象物2の写る画像3を画像リスト71の中から選択し、追加ボタン75aを操作する。追加ボタン75aが操作されると、ラベル付与部11は、画像リスト71の中から選択された画像3を良品画像リスト72に追加する。これにより、良品画像リスト72も更新される。
 追加ボタン75bは、画像リスト71の中から選択された画像3を不良品画像リスト73に追加するためのボタンである。ユーザは、領域74を見ながら、不良品の対象物2の写る画像3を画像リスト71の中から選択し、追加ボタン75bを操作する。追加ボタン75bが操作されると、ラベル付与部11は、画像リスト71の中から選択された画像3を不良品画像リスト73に追加する。これにより、不良品画像リスト73も更新される。
 移動ボタン76は、良品画像リスト72および不良品画像リスト73の一方の中から選択された1つの画像3を他方に移動する操作を受け付けるためのボタンである。例えば、ユーザは、領域74を見ながら、良品画像リスト72に含まれる画像3に不良品の対象物2が写っていることを確認すると、当該画像3を選択し、移動ボタン76を操作する。あるいは、ユーザは、領域74を見ながら、不良品画像リスト73に含まれる画像3に良品の対象物2が写っていることを確認すると、当該画像3を選択し、移動ボタン76を操作する。
 良品画像リスト72の中の1つの画像3が選択された状態で移動ボタン76が操作されると、ラベル付与部11は、選択された画像3を良品画像リスト72から削除するとともに、選択された画像3を不良品画像リスト73に追加する。不良品画像リスト73の中の1つの画像3が選択された状態で移動ボタン76が操作されると、ラベル付与部11は、選択された画像3を不良品画像リスト73から削除するとともに、選択された画像3を良品画像リスト72に追加する。
 ユーザは、複数の画像3の各々を良品画像リスト72および不良品画像リスト73のいずれかに分類した後、ボタン78を押下する。ボタン78が押下されると、ラベル付与部11は、良品画像リスト72に含まれる各画像3に対してラベル「良品」を付与し、不良品画像リスト73に含まれる各画像3に対してラベル「不良品」を付与する。
 さらに、ラベル付与部11は、ユーザ操作に応じて、ラベル「不良品」が付与された画像3について、欠陥の写るエリアを特定する。
 図7は、ラベル付与部によって提供されるユーザインターフェイス画面の別の例を示す図である。図7に示すユーザインターフェイス画面80は、図3に示す表示装置600に表示される。
 図7に示されるように、ユーザインターフェイス画面80は、不良品画像リスト81と、領域83と、を含む。不良品画像リスト81は、ラベル「不良品」が付与された画像3の一覧を示す。領域83には、不良品画像リスト81において選択された画像3が表示される。ユーザは、領域83を確認しながら、欠陥Dを囲むように枠線84のサイズおよび位置を調整する。ラベル付与部11は、枠線84によって囲まれるエリアを欠陥の写るエリアとして記録する。ラベル付与部11は、不良品画像リスト81に含まれる各画像3に対して、記録したエリアを示す情報(以下、「欠陥位置情報」と称する。)を付与する。
 図5に示す取得部12は、複数の画像3の中から選択された1以上の学習用画像を含む訓練データセット6を用いた機械学習を行なうことにより、入力画像に写る対象物2の属性を判別するために使用されるモデル7を取得する。取得部12は、ユーザ操作に応じて、複数の画像3の中から1以上の学習用画像を選択する。
 図8は、取得部によって提供されるユーザインターフェイス画面の一例を示す図である。図8に示すユーザインターフェイス画面86は、図3に示す表示装置600に表示される。
 図8に示されるように、ユーザインターフェイス画面86は、不良品画像リスト81と、良品画像リスト82と、を含む。良品画像リスト82は、ラベル「良品」が付与された画像3の一覧を示す。ユーザは、不良品画像リスト81および良品画像リスト82の各々において、学習用画像として使用する画像にマーカ87を付ける。図8に示す例では、不良品画像リスト81において、ファイル名「Img003.bmp」の画像3にマーカ87が付けられ、良品画像リスト82において、ファイル名「Img001.bmp」の画像3にマーカ87が付けられている。取得部12は、マーカ87が付けられた画像3を学習用画像として選択する。
 取得部12は、1以上の学習用画像を含む訓練データセット6を用いた機械学習を行なうことによりモデル7を生成する。取得部12は、訓練データセット6に含まれる学習用画像と学習用画像に付与されたラベルとに基づいて、最適なモデル7を生成する。取得部12は、不良品である対象物2の写る学習用画像に対して付与された欠陥位置情報をさらに用いて機械学習を行なってもよい。学習用画像とともに欠陥位置を学習することにより、欠陥位置が特定され、検査精度が向上する。画像とともに欠陥位置を機械学習する手法として、公知の技術(例えば、山根達郎、全邦釘、“Deep learningによるSemantic Segmentationを用いたコンクリート表面ひび割れの検出”、構造工学論文集、Vol.65A(2019)(非特許文献2))が用いられる。機械学習アルゴリズムとして、公知のアルゴリズム(例えば、線形識別、ベイズ識別、ロジスティック回帰、サポートベクターマシン、決定木、K近傍法、ニューラルネットワーク、局所外れ値因子法、混合正規分布法など)が採用され得る。
 図9は、モデルの取得方法を説明する図である。図9に示すモデル7は、入力画像から特徴空間上の特徴量を算出し、算出した特徴量と判別境界60との位置関係に基づいて、入力画像に写る対象物2の属性を判別する。取得部12は、訓練データセット6を用いて、ラベル「良品」が付与された学習用画像から算出される特徴量に対応する点63とラベル「不良品」が付与された学習用画像から算出される特徴量に対応する点64との距離が最大となるような特徴空間と判別境界60とを定義するモデル7を生成する。判別境界60は、特徴空間において、ラベル「良品」が付与された学習用画像から算出される特徴量に対応する点が存在する領域61と、ラベル「不良品」が付与された学習用画像から算出される特徴量に対応する点が存在する領域62との境界である。
 なお、図8を用いて選択される学習用画像の個数は少ない。そのため、取得部12によって取得されるモデル7(初期のモデル7)の判別精度は低い。
 図5に示す能動学習部13は、モデル7の判別精度を向上させるために、1回以上の能動学習処理を実行することによりモデル7を更新する。図1を参照して説明したように、1回以上の能動学習処理の各々は、複数の画像3のうち学習に用いていない画像グループ8の中から1以上の評価用画像4を選択することと、1以上の評価用画像4を用いたモデル7の評価結果が予め定められた基準を満たすまで再学習処理を繰り返し実行することと、を含む。再学習処理は、1以上の評価用画像4の中から選択された1以上の追加画像を含むように訓練データセット6を更新することと、更新後の訓練データセット6を用いてモデル7の再学習を行なうことと、を含む。1回以上の能動学習処理のうちの少なくとも1回の能動学習処理において、1以上の評価用画像4を選択することは、複数の画像3のうち学習に用いていない画像グループ8に含まれる画像3について、最新のモデル7による属性の判別の信頼度を示す評価値E1を算出することと、評価値E1に基づいて、画像グループ8の中から、信頼度が相対的に低い画像3を1以上の評価用画像4として選択することと、を含む。
 能動学習部13は、能動学習処理の実行中または終了後に、能動学習処理の結果を示す画面を表示装置600に表示させてもよい。
 図10は、評価値E1の種類の一例を示す図である。以下、複数の画像3のうち、ラベル「良品」が付与された画像3を「良品画像」と称し、ラベル「不良品」が付与された画像3を「不良品画像」と称する。図10において、各画像3について算出される評価値E1は、矢印の長さで表される。すなわち、図10に示す評価値E1は、特徴空間において、各画像3から算出される特徴量に対応する点と判別境界60との距離を示す。なお、評価値E1は、良品画像から算出される特徴量に対応する点が領域61(ラベル「良品」が付与された学習用画像から算出される特徴量が存在する領域)に存在する場合、プラスの値をとる。評価値E1は、良品画像から算出される特徴量に対応する点が領域62(ラベル「不良品」が付与された学習用画像から算出される特徴量が存在する領域)に存在する場合、マイナスの値をとる。評価値E1は、不良品画像から算出される特徴量に対応する点が領域62に存在する場合、プラスの値をとる。評価値E1は、不良品画像から算出される特徴量に対応する点が領域61に存在する場合、マイナスの値をとる。図10に示す評価値E1の場合、評価値E1が小さいほど、属性の判別の信頼度が低い。
 図11は、評価値E1の種類の別の例を示す図である。図11において、各画像3について算出される評価値E1は、矢印の長さで表される。すなわち、図11に示す評価値E1は、特徴空間において、各画像3から算出される特徴量に対応する点と、当該画像3と同じラベルが付与された学習用画像から算出される特徴量に対応する点との最短距離を示す。図11に示す評価値E1の場合、評価値E1が大きいほど、属性の判別の信頼度が低い。
 なお、図10に示す評価値E1を用いる場合、判別しにくい画像3が評価用画像4として選択されやすくなるものの、訓練データセット6に含まれる画像3から算出される特徴量の分布が狭い範囲に偏りやすくなる。一方、図11に示す評価値E1を用いる場合、選択される1以上の評価用画像4から算出される特徴量の分布が広くなるものの、最も判別しにくい画像3が評価用画像4として選択されない可能性がある。そのため、評価値E1の種類は、対象物2に生じ得る欠陥に応じて適宜選択されることが好ましい。例えば、良品画像から算出される特徴量のばらつきが大きい場合には図11に示す評価値E1が適しており、当該ばらつきが小さい場合には図10に示す評価値E1が適している。
 <学習装置の処理の流れ>
 図12は、実施の形態に係る学習装置の処理の流れの一例を示すフローチャートである。図12に示されるように、学習装置100のCPU110は、複数の画像3を取得する(ステップS1)。複数の画像3は、カメラ300の撮像によって得られる。学習装置100は、カメラ300から複数の画像3を受けてもよいし、判別装置200から複数の画像3を受けてもよい。
 次に、CPU110は、ユーザ操作に応じて、複数の画像3の各々に対して、当該画像3に写る対象物2の属性を示すラベルを付与する(ステップS2)。ステップS2において、CPU110は、ユーザ操作に応じて、ラベル「不良品」が付与された各画像3について欠陥位置を記録する。
 次に、CPU110は、ユーザ操作に応じて複数の画像3の中から選択した1以上の学習用画像を含む、初期の訓練データセット6を決定する(ステップS3)。初期の訓練データセット6に含まれる学習用画像の数は少なくてよい。例えば、CPU110は、1つの良品画像と1つの不良品画像とを学習用画像として選択する。
 次に、CPU110は、初期の訓練データセット6を用いた機械学習を行なうことにより、入力画像に写る対象物2の属性を判別するために使用されるモデル7を取得する(ステップS4)。
 初期の訓練データセット6に含まれる学習用画像の数が少ないため、ステップS4で取得されるモデル7による属性の判別精度は低い。そのため、CPU110は、1回以上の能動学習処理を実行することによりモデル7を更新する(ステップS5)。
  (ステップS5の参考例)
 図13および図14を参照して、ステップS5の参考例について説明する。図13は、図12に示すステップS5の参考例のサブルーチンの流れを示すフローチャートである。図13には、ステップS101~S105の流れが示される。図14は、図13に示すフローチャートに従った能動学習処理を説明する図である。図14に示されるように、複数の画像3は、ラベル「良品」が付与された複数の良品画像30と、ラベル「不良品」が付与された複数の不良品画像32と、を含む。
 図13に示されるように、ステップS101において、複数の画像3のうち学習に用いていない全ての画像3が評価用画像として選択される。図14に示す例では、複数の良品画像30のうち良品画像30aが学習用画像として選択されており、複数の不良品画像32のうち不良品画像32aが学習用画像として選択されている。そのため、良品画像30aを除く全ての良品画像30と、不良品画像32aを除く全ての不良品画像32とが評価用画像として選択される。
 次にステップS102において、選択された全ての評価用画像を用いて最新のモデル7が評価される。具体的には、モデル7の判別精度と、各評価用画像について、属性の判別の信頼度を示す評価値E2とが算出される。判別精度として、例えば、対象物2の属性が「不良品」であると判別された良品画像の数と対象物2の属性が「良品」であると判別された不良品画像の数との和を評価用画像の総数で割った誤り率が算出される。評価値E2は、上記の評価値E1と同様の方法で算出される。すなわち、各評価用画像の評価値E1は、例えば、特徴空間における、当該評価用画像から算出される特徴量に対応する点と判別境界60との距離(図10参照)を示す。あるいは、各評価用画像の評価値E2は、当該評価用画像から算出される特徴量に対応する点と、当該評価用画像と同じラベルが付与された学習用画像から算出される特徴量に対応する点との最短距離(図11参照)を示してもよい。図14に示す例では、評価用画像から算出される特徴量に対応する点と、当該評価用画像と同じラベルが付与された学習用画像から算出される特徴量に対応する点との最短距離を示す評価値E2が算出されている。そのため、評価値E2が大きいほど、属性の判別の信頼度が低い。
 次にステップS103において、評価結果が終了基準を満たすか否かが判定される。終了基準は、誤り率が予め定められた第1閾値未満であるという第1基準を含む。終了基準は、さらに、複数の画像3のうち訓練データセット6に含まれる画像3の割合が第2閾値を超えるという第2基準を含んでもよい。終了基準が第1基準および第2基準を含む場合、第1基準および第2基準の少なくとも一方が満たされる場合に終了基準が満たされる。終了基準が満たされる場合(ステップS103でYES)、ステップS5は終了する。
 終了基準が満たされない場合(ステップS103でNO)、評価値E2に基づいて、全ての評価用画像の中から、信頼度が相対的に低い評価用画像が追加画像として選択される(ステップS104)。図14に示す例では、ラベル「良品」が付与された評価用画像から、評価値E2が最大となる良品画像30bが追加画像として選択される。さらに、ラベル「不良品」が付与された評価用画像から、評価値E2が最大となる不良品画像32bが追加画像として選択される。
 ステップS104の後のステップS105において、追加画像を含むように訓練データセット6が更新され、更新後の訓練データセット6を用いてモデル7が再学習される。信頼度が相対的に低い追加画像を含む訓練データセット6を用いた再学習が実行されることにより、モデル7による属性の判別精度が向上する。ステップS105の後、処理はステップS102に戻る。このようにして、モデル7の評価結果が終了基準を満たすまで、ステップS102~S105が繰り返し実行される。
 図13および図14に示す参考例では、複数の画像3のうち学習に用いていない全ての画像3が評価用画像として選択されるため、ステップS102の実行に要する時間が長くなる。ステップS102は、モデル7の評価結果が終了基準を満たすまで繰り返し実行される。そのため、参考例に係るステップS5の実行に要する時間が長くなる。
  (ステップS5の実施例1)
 図15~図17を参照して、ステップS5の実施例1について説明する。図15は、能動学習処理の条件を設定するための画面の一例を示す図である。図16は、図12に示すステップS5の実施例1のサブルーチンの流れを示すフローチャートである。図17は、図16に示すフローチャートに従った能動学習処理を説明する図である。
 実施例1では、学習装置100のCPU110は、図15に示す画面90への入力に従って、事前に能動学習処理の条件を設定する。図15に示されるように、画面90は、入力欄91~93を含む。
 入力欄91には、評価用画像の個数が入力される。CPU110は、入力欄91への入力に従って、複数の画像3から選択される評価用画像の個数を設定する。
 入力欄92には、終了基準に含まれる第1基準を規定する第1閾値(誤り率閾値)が入力される。CPU110は、入力欄93への入力に従って、第1閾値を設定する。
 入力欄93には、終了基準に含まれ得る第2基準を規定する第2閾値(学習用画像の最大割合)が入力される。CPU110は、入力欄93への入力に従って、第2閾値を設定する。
 図16に示されるように、学習装置100のCPU110は、複数の画像3のうち学習に用いていない各画像3について、モデル7による属性の判別の信頼度を示す評価値E1を算出する(ステップS11)。図17に示す例では、複数の画像3は、ラベル「良品」が付与された複数の良品画像30と、ラベル「不良品」が付与された複数の不良品画像32と、を含む。そして、複数の良品画像30のうち良品画像30aが学習用画像として選択されており、複数の不良品画像32のうち不良品画像32aが学習用画像として選択されている。そのため、CPU110は、良品画像30aを除く良品画像30の画像グループ8gにモデル7を適用し、画像グループ8gに含まれる各良品画像30について評価値E1を算出する。さらに、CPU110は、不良品画像32aを除く不良品画像32の画像グループ8ngにモデル7を適用し、画像グループ8ngに含まれる各不良品画像32について評価値E1を算出する。
 次に、CPU110は、評価値E1に基づいて、複数の画像3のうち学習に用いていない画像グループの中から、信頼度が相対的に低い画像3を1以上の評価用画像4として選択する(ステップS12)。図17に示す例では、画像グループ8g,8ngの中から、信頼度が相対的に低い良品画像30および不良品画像32が評価用画像40,42としてそれぞれ選択される。評価用画像40は、ラベル「良品」が付与された画像3である。評価用画像42は、ラベル「不良品」が付与された画像3である。CPU110は、事前に設定された個数だけ評価用画像を選択する。図17に示す例では、CPU110は、6個の評価用画像40からなる評価用画像グループ9gと4個の評価用画像42からなる評価用画像グループ9ngとを選択している。なお、評価用画像40の個数と評価用画像42の個数との比は、予め定められる。
 次に、CPU110は、1以上の評価用画像4(評価用画像40,42)を用いて最新のモデル7を評価する(ステップS13)。具体的には、CPU110は、ステップS102と同様に、モデル7の判別精度として誤り率を算出するとともに、各評価用画像4について、属性の判別の信頼度を示す評価値E2とを算出する。図17に示す例では、各評価用画像から算出される特徴量に対応する点と、当該評価用画像と同じラベルが付与された学習用画像から算出される特徴量に対応する点との最短距離を示す評価値E2が算出されている。そのため、評価値E2が大きいほど、属性の判別の信頼度が低い。
 次に、CPU110は、評価結果が終了基準を満たすか否かを判定する(ステップS14)。終了基準は、誤り率が予め定められた第1閾値未満であるという第1基準を含む。終了基準は、さらに、複数の画像3のうち訓練データセットに含まれる画像3の割合が第2閾値を超えるという第2基準を含んでもよい。終了基準が第1基準および第2基準を含む場合、第1基準および第2基準の少なくとも一方が満たされる場合に終了基準が満たされる。第1基準および第2基準は、図15に示す画面90を用いて事前に設定される。終了基準が満たされる場合(ステップS14でYES)、ステップS5は終了する。第2基準を終了基準に含めることにより、不適切な状態にモデル7が収束し、再学習を多数回繰り返しても第1基準が満たされない場合であっても、ステップS5を終了させることができる。
 なお、終了基準が第2基準を含む場合、CPU110は、複数の良品画像30のうち訓練データセット6に含まれる良品画像30の割合aと、複数の不良品画像32のうち訓練データセット6に含まれる不良品画像32の割合bと、を算出する。CPU110は、割合aおよび割合bの両方が第2閾値を超える場合に、第2基準が満たされると判定し、割合aおよび割合bのうちの少なくとも一方が第2閾値以下である場合に、第2基準が満たされないと判定する。
 終了基準が満たされない場合(ステップS14でNO)、CPU110は、評価値E2に基づいて、信頼度が相対的に低い評価用画像4を追加画像としてそれぞれ選択する(ステップS15)。図17に示す例では、評価用画像グループ9gから、評価値E2が最大となる評価用画像40aが追加画像として選択される。さらに、評価用画像グループ9ngから、評価値E2が最大となる評価用画像42aが追加画像として選択される。
 なお、終了基準が第2基準を含む場合、CPU110は、上記の割合aが第2閾値以下である場合に、評価用画像グループ9gから追加画像を選択し、上記の割合bが第2閾値以下である場合に、評価用画像グループ9ngから追加画像を選択する。言い換えると、CPU110は、割合aが第2閾値を超える場合に、評価用画像グループ9gから追加画像を選択せず、割合bが第2閾値を超える場合に、評価用画像グループ9ngから追加画像を選択しない。
 ステップS15の後、CPU110は、追加画像を含むように訓練データセット6を更新し、更新後の訓練データセット6を用いてモデル7を再学習する(ステップS16)。信頼度が相対的に低い追加画像を含む訓練データセット6を用いた再学習が実行されることにより、モデル7による属性の判別精度が向上する。ステップS16の後、処理はステップS13に戻る。このようにして、モデル7の評価結果が終了基準を満たすまで、ステップS13~S16が繰り返し実行される。
 図16および図17に示す実施例1では、複数の画像3のうち学習に用いていない画像グループ8g,8ngのうちの一部の画像3が評価用画像として選択される。そのため、ステップS13の実行に要する時間は、図13に示すステップS102の実行に要する時間よりも短縮される。その結果、実施例1に係るステップS5の実行に要する時間が短縮される。
  (ステップS5の実施例2)
 図18~図20を参照して、ステップS5の実施例2について説明する。図18は、図12に示すステップS5の実施例2のサブルーチンの流れを示すフローチャートである。
 実施例2でも、実施例1と同様に、CPU110は、図15に示す画面90への入力に従って能動学習処理の条件(評価用画像の個数、第1閾値および第2閾値)を事前に設定する。ただし、実施例2のステップS5は、2回の能動学習処理を含む。そのため、CPU110は、2回の能動学習処理の各々の条件(評価用画像の個数、第1閾値および第2閾値)を設定する。なお、評価用画像の個数は、2回の能動学習処理において、互いに同一であってもよいし、互いに異なっていてもよい。2回目の能動学習処理の第1閾値は、1回目の能動学習処理の第1閾値よりも小さく設定される。2回目の能動学習処理の第2閾値は、1回目の能動学習処理の第2閾値以上に設定される。
 図18に示されるように、学習装置100のCPU110は、ステップS21において1回目の能動学習処理を実行し、次のステップS22において2回目の能動学習処理を実行する。
 図19は、図18に示すステップS21のサブルーチンの流れを示すフローチャートである。図20は、図19に示すフローチャートに従った能動学習処理を説明する図である。
 図19に示されるように、CPU110は、評価値E1を用いることなく、ランダムに、または、予め定められたルールに従って、複数の画像3のうち学習に用いていない画像グループ8の中から1以上の評価用画像4を選択する(ステップS31)。予め定められたルールは、例えば、ファイル名または撮像日時に従って並べたときに所定番目に位置する画像3を選択するというルールである。CPU110は、事前に設定された個数だけ評価用画像を選択する。図20に示す例では、CPU110は、6個の評価用画像40からなる評価用画像グループ9g’と4個の評価用画像42からなる評価用画像グループ9ng’とを選択している。なお、評価用画像40の個数と評価用画像42の個数との比は、予め定められる。
 次に、CPU110は、ステップS32~S35を実行する。ステップS32~S35の処理内容は、図16に示すステップS13~S16とそれぞれ同じである。そのため、ステップS32~S35の詳細な説明を省略する。なお、図20に示す例では、ステップS34において、評価用画像グループ9g’から、評価値E2が最大となる評価用画像40bが追加画像として選択される。さらに、評価用画像グループ9ng’から、評価値E2が最大となる評価用画像42bが追加画像として選択される。
 図18に示すステップS22のサブルーチンの処理の流れは、図16に示すフローチャートと同じである。すなわち、評価値E1に基づいて、学習に用いていない画像グループ8の中から、信頼度が相対的に低い画像3が1以上の評価用画像4として選択される。そして、選択された1以上の評価用画像4を用いて、モデル7の評価結果が終了基準を満たすまで、再学習処理が繰り返し実行される。なお、ステップS22において、学習に用いていない画像グループ8は、ステップS3で決定された学習用画像およびステップS21で選択された追加画像以外の画像3を含む。
 上述したように、初期の訓練データセット6に含まれる学習用画像の数が少ないため、ステップS4で取得される初期のモデル7による属性の判別精度は低い。そのため、初期のモデル7を用いて算出される評価値E1に基づいて1以上の評価用画像4を選択した場合、学習に適した画像が評価用画像4として選択されない可能性がある。その結果、モデル7の再学習によって、不適切な状態にモデル7が収束し、再学習処理を繰り返しても、モデル7の判別精度が第1基準を満たさない可能性がある。
 しかしながら、実施例2によれば、1回目の能動学習処理では、評価値E1を用いることなく、ランダムに、または、予め定められたルールに従って、画像グループ8の中から1以上の評価用画像4が選択される。そのため、1回目の能動学習処理によって、モデル7の判別精度がある程度高い状態に収束し、モデル7の判別精度が第1基準を満たしやすくなる。そして、2回目の能動学習処理では、1回目の能動学習処理によって判別精度がある程度向上したモデル7を適用することにより得られる評価値E1に基づいて、学習に適した画像が評価用画像4として選択される。その結果、判別精度の高いモデル7がより短時間で生成される。
  (ステップS5の実施例3)
 図21を参照して、ステップS5の実施例3について説明する。図21は、図12に示すステップS5の実施例3のサブルーチンの流れを示すフローチャートである。
 実施例3でも、実施例1と同様に、CPU110は、図15に示す画面90への入力に従って能動学習処理の条件(評価用画像の個数、第1閾値および第2閾値)を事前に設定する。ただし、実施例3のステップS5は、M+N回の能動学習処理を含む。そのため、CPU110は、M+N回の能動学習処理の各々の条件(評価用画像の個数、第1閾値および第2閾値)を設定する。なお、M,Nは、1以上の整数である。ただし、M,Nのうち少なくとも1つは2以上である。
 なお、評価用画像の個数は、M+N回の能動学習処理において、互いに同一であってもよいし、互いに異なっていてもよい。i回目の能動学習処理の第1閾値は、i-1回目の能動学習処理の第1閾値よりも小さく設定される(iは2以上の整数)。i回目の能動学習処理の第2閾値は、i-1回目の能動学習処理の第2閾値以上に設定される。
 図21に示されるように、学習装置100のCPU110は、1回目~M回目の能動学習処理を順に実行し(ステップS21_1~S21_M)、次にM+1回目~M+N回目の能動学習処理を順に実行する(ステップS22_1~S22_N)。
 図21に示すステップS21_1~S21_Mの各々のサブルーチンの処理の流れは、図19に示すフローチャートと同じである。すなわち、評価値E1を用いることなく、ランダムに、または、予め定められたルールに従って、複数の画像3のうち学習に用いていない画像グループ8の中から1以上の評価用画像4が選択される。そして、選択された1以上の評価用画像4を用いて、モデル7の評価結果が終了基準を満たすまで、再学習処理が繰り返し実行される。なお、ステップS21_kにおいて、学習に用いていない画像グループ8は、ステップS3で決定された学習用画像およびステップS21_1~S21_k-1で選択された追加画像以外の画像3を含む。
 なお、ステップS21_1~S21_Mにおける評価用画像4の選択方法は、互いに異なっていてもよい。例えば、ステップS21_1では、画像グループ8の中からランダムに1以上の評価用画像4が選択され、ステップS21_Mでは、画像グループ8の中から予め定められたルールに従って1以上の評価用画像4が選択されてもよい。この場合、CPU110は、ユーザ操作に応じて、1回目からM回目までの能動学習処理における評価用画像4の選択方法を事前に設定する。
 また、ステップS21_kでは、画像グループ8のうち、ステップS21_1~ステップS21_k-1において選択された評価用画像4を除く画像3の中から1以上の評価用画像4が選択されてもよい。
 ステップS22_1~S22_Nにおいて算出される評価値E1の種類(図10に示す評価値E1、図11に示す評価値E1)は、互いに異なっていてもよい。この場合、CPU110は、ユーザ操作に応じて、M+1回目からM+N回目までの能動学習処理における評価値E1の種類を事前に設定する。
  (ステップS5の実施例4)
 図22および図23を参照して、ステップS5の実施例4について説明する。図22は、図12に示すステップS5の実施例4のサブルーチンの流れを示すフローチャートである。
 実施例4でも、実施例1と同様に、CPU110は、図15に示す画面90への入力に従って能動学習処理の条件(評価用画像の個数、第1閾値および第2閾値)を事前に設定する。ただし、実施例4のステップS5は、3回の能動学習処理を含む。そのため、CPU110は、3回の能動学習処理の各々の条件(評価用画像の個数、第1閾値および第2閾値)を設定する。なお、後述するように3回目の能動学習処理では、学習に用いていない全ての画像3が評価用画像4として選択される。そのため、CPU110は、3回の能動学習処理について評価用画像の個数を設定しない。実施例2と同様に、評価用画像の個数は、1回目および2回目の能動学習処理において、互いに同一であってもよいし、互いに異なっていてもよい。実施例3と同様に、i回目の能動学習処理の第1閾値は、i-1回目の能動学習処理の第1閾値よりも小さく設定される。i回目の能動学習処理の第2閾値は、i-1回目の能動学習処理の第2閾値以上に設定される。
 図22に示されるように、学習装置100のCPU110は、ステップS21において1回目の能動学習処理を実行し、次のステップS22において2回目の能動学習処理を実行し、次のステップS23において3回目の能動学習処理を実行する。図22に示すステップS21のサブルーチンの処理の流れは、図19に示すフローチャートと同じである。図22に示すステップS22のサブルーチンの処理の流れは、図16に示すフローチャートと同じである。
 図23は、図22に示すステップS23のサブルーチンの流れを示すフローチャートである。図23に示されるように、CPU110は、複数の画像3のうち学習に用いていない全ての画像3を評価用画像4として選択する(ステップS41)。すなわち、CPU110は、ステップS3で決定した学習用画像およびステップS21,S22で選択した追加画像以外の画像3の全てを評価用画像4として選択する。
 次に、CPU110は、ステップS42~S45を実行する。ステップS42~S45の処理内容は、図16に示すステップS13~S16とそれぞれ同じである。そのため、ステップS42~S45の詳細な説明を省略する。
 実施例4によれば、3回目の能動学習処理において、学習に用いていない画像3の全てが評価用画像4として選択される。そのため、モデル7の判別精度をより正確に評価できる。
  (ステップS5の実施例5)
 ステップS5の実施例5は、上記の実施例3,4を組み合わせる。すなわち、ステップS5の実施例5は、図21に示すステップS21_1~S21_M,S22_1~S22_Nと、ステップS22_Nの後に実行される図22に示すステップS23と、を含む。
 <能動学習処理の結果>
 図24は、能動学習処理の結果を示す画面の一例を示す図である。図24に示す画面95は、CPU110によって生成され、表示装置600に表示される。
 図24に示されるように、画面95は、不良品画像リスト81と良品画像リスト82とを含む。画面95において、不良品画像リスト81および良品画像リスト82の各々は、学習用画像として選択された画像3を識別するマーカ87と、1回以上の能動学習処理において追加画像として選択された画像3を識別するマーカ88と、を含む。これにより、ユーザは、複数の画像3のうち学習に用いられた画像3を把握できる。
 図25は、能動学習処理の結果を示す画面の別の例を示す図である。図25に示す画面50は、CPU110によって生成され、能動学習処理の実行中に表示装置600に表示される。
 図25に示されるように、画面50は、モデル7の評価結果である誤り率の推移を示すグラフ51と、表示欄52と、を含む。図25に示す画面50は、上記の実施例2に従った2回目の能動学習処理(ステップS22)における12回目の再学習処理の実施中に表示される。そのため、グラフ51には、1回目の能動学習処理(ステップS21)で算出された誤り率と、2回目の能動学習処理における1回目から11回目の再学習処理で算出された誤り率との推移が示される。
 表示欄52には、2回目の能動学習処理において選択された評価用画像4の総数に対する、追加画像として選択された評価用画像4の個数の比率が表示される。図25に示す例では、ユーザは、ラベル「良品」が付与されている224個の評価用画像のうち12個が追加画像として選択済みであり、ラベル「不良品」が付与されている12個の評価用画像のうち6個が追加画像として選択済みであることを確認できる。
 <変形例1>
 上記の説明では、複数の画像3が複数の良品画像30と複数の不良品画像32とを含み、複数の良品画像30と複数の不良品画像32との各々から1以上の学習用画像が選択される。しかしながら、対象物2によっては、欠陥が発生する頻度が非常に少ない場合がある。このような場合、複数の画像3は、複数の良品画像30と1以上の不良品画像32とを含む。数少ない不良品画像32を学習に用いてしまうと、モデル7の評価に使用する不良品画像32が不足する。このような場合、良品画像30のみを用いて機械学習を行なってもよい。
 図26は、変形例1におけるモデルの取得方法を説明する図である。図26に示されるように、取得部12として動作するCPU110は、ラベル「良品」が付与された1以上の学習用画像を用いた機械学習を行なうことにより、入力画像から特徴空間上の特徴量を出力するモデル7’を取得する。CPU110は、1以上の学習用画像に対応する特徴量に対応する点間の距離が最小となるような特徴空間を定義するモデル7’を生成する。
 CPU110は、学習に用いていない1以上の良品画像30および1以上の不良品画像32をモデル7’に入力し、良品画像30から得られる特徴量に対応する点65と不良品画像32から得られる特徴量に対応する点66とを分離する判別境界60’を決定する。
 変形例1に係る学習装置の処理の流れは、上記の実施の形態と同様に、図12に示すフローチャートに従う。ただし、ステップS4では、特徴空間を定義するモデル7’が取得され、判別境界60’が決定されない。
 変形例1におけるステップS5のサブルーチンは、上記の実施の形態と同様に、上記の実施例1~4のいずれかに従う(図16,図18,図19,図21~図23参照)。ただし、図16のステップS11において、CPU110は、画像グループ8に含まれる各良品画像30に対してのみ評価値E1を算出する。そして、ステップS12において、CPU110は、評価値E1に基づいて、信頼度が相対的に低い1以上の良品画像30を評価用画像4として選択するとともに、1以上の不良品画像32を評価用画像4として選択する。また、図19のステップS31において、CPU110は、ランダムに、または、予め定められたルールに従って、画像グループ8に含まれる1以上の良品画像30を評価用画像4として選択するとともに、1以上の不良品画像32を評価用画像4として選択する。さらに、図16のステップS13,図19のステップS32および図23のステップS42において、CPU110は、1以上の評価用画像4をモデル7’に入力することにより得られる特徴量に基づいて判別境界60’を決定した上で、判別精度および評価値E2を算出する。
 図27は、変形例1における能動学習処理を説明する図である。図27には、変形例1における、図16に示すフローチャート、図18および図22のステップS22、図21のステップS22_1~S22_Nに従った能動学習処理が示される。
 図27に示されるように、複数の画像3は、複数の良品画像30と1以上の不良品画像32とを含む。初期のモデル7’は、複数の良品画像30から選択された学習用画像(図27では良品画像30a)を含む初期の訓練データセット6を用いた機械学習によって取得される。また、画像グループ8gは、学習に用いていない良品画像30を含む。
 画像グループ8gの各良品画像30について評価値E1が算出され、評価値E1に基づいて、判別の信頼度が相対的に低い良品画像30が評価用画像4(評価用画像40)として選択される。さらに、1以上の不良品画像32も評価用画像4として選択される。なお、ラベル「良品」が付与された評価用画像40は、画像グループ評価用を構成する。
 そして、1以上の評価用画像4をモデル7’に入力することにより得られる特徴量に基づいて判別境界60’が決定される。具体的には、特徴空間において、1以上の評価用画像40から算出される特徴量に対応する点が存在する領域と、1以上の不良品画像32から算出される特徴量に対応する点が存在する領域とを分離する判別境界60’が決定される。
 さらに、1以上の評価用画像4を用いたモデル7’の評価結果が終了基準を満たすまで、評価用画像グループ9gに含まれる各評価用画像40について評価値E2が算出され、評価値E2に基づいて、信頼度の相対的に低い評価用画像40が追加画像として選択される。そして、追加画像を含むように訓練データセット6が更新され、更新後の訓練データセット6を用いてモデル7’が再学習される。
 図28は、変形例1における評価値E1,E2の一例を示す図である。図28において、良品画像30について算出される評価値E1,E2は、矢印の長さで表される。すなわち、図10に示す評価値E1,E2は、特徴空間において、良品画像30から算出される特徴量に対応する点と判別境界60’との距離を示す。なお、評価値E1,E2は、良品画像30から算出される特徴量に対応する点が領域67(ラベル「良品」が付与された学習用画像から算出される特徴量が存在する領域)に存在する場合、プラスの値をとる。評価値E1,E2は、良品画像30から算出される特徴量に対応する点が領域67とは異なる領域68に存在する場合、マイナスの値をとる。図28に示す評価値E1,E2の場合、評価値E1,E2が小さいほど、属性の判別の信頼度が低い。
 図29は、変形例1における評価値E1,E2の別の例を示す図である。図29において、良品画像30について算出される評価値E1,E2は、矢印の長さで表される。すなわち、図29に示す評価値E1,E2は、特徴空間において、良品画像30から算出される特徴量に対応する点と、ラベル「良品」が付与された学習用画像から算出される特徴量に対応する点との最短距離を示す。図29に示す評価値E1,E2の場合、評価値E1,E2が大きいほど、属性の判別の信頼度が低い。
 変形例1によれば、ステップS4において、判別境界60’が決定されていない。そのため、変形例1におけるステップS5のサブルーチンが上記の実施例1に従う場合、ステップS11において、図29に示す評価値E1が算出される。
 変形例1におけるステップS5のサブルーチンが上記の実施例2~4のいずれかに従う場合、評価値E1を算出する前に判別境界60’が決定されている。そのため、ステップS22,S22_1~S22_Nにおいて、図28または図29のいずれかに示す評価値E1が算出される。
 <変形例2>
 上記の実施の形態では、CPU110は、図15に示す画面90への入力に従って、評価用画像4の個数を設定する。しかしながら、CPU110は、評価用画像4の個数の代わりに、画像グループ8に含まれる画像3の個数に対する評価用画像4の個数の割合を設定してもよい。この場合、CPU110は、設定された割合となるように、画像グループ8の中から評価用画像4を選択すればよい。
 <変形例3>
 上記の実施の形態では、対象物2に欠陥が存在するか否かを検出する場面を示している。しかしながら、本開示の適用範囲は、このような外観検査の例に限られる訳ではない。本開示は、例えば、対象物2の写る画像から何らかの特徴を検出するあらゆる場面に適用可能である。対象物2は、静止している物体に限定されず、人物、車両(例えば、自動車)等の移動し得る物体であってもよい。
 §3 付記
 以上のように、本実施の形態は以下のような開示を含む。
 (構成1)
 学習装置(100)であって、
 訓練データセット(6)を用いた機械学習を行なうことにより、入力画像に写る対象物(2)の属性を判別するために使用されるモデル(7,7’)を取得する取得部(12,110)と、
 1回以上の能動学習処理を実行することにより前記モデル(7,7’)を更新する能動学習部(13,110)と、を備え、
 前記訓練データセット(6)は、前記対象物(2)の属性を示すラベルが付与された複数の画像(3)の中から選択された1以上の学習用画像を含み、
 前記1回以上の能動学習処理の各々は、
  前記複数の画像(3)のうち学習に用いていない画像グループ(8,8g,8ng)の中から1以上の評価用画像(4,40,42)を選択することと、
  前記1以上の評価用画像(4,40,42)を用いた前記モデル(7,7’)の評価結果が終了基準を満たすまで、再学習処理を繰り返し実行することと、を含み、
 前記再学習処理は、
  前記1以上の評価用画像(4,40,42)の中から選択された1以上の追加画像を含むように前記訓練データセット(6)を更新することと、
  更新後の前記訓練データセット(6)を用いて前記モデル(7,7’)の再学習を行なうことと、を含み、
 前記1回以上の能動学習処理のうちの少なくとも1回の能動学習処理において、前記1以上の評価用画像(4,40,42)を選択することは、
  前記画像グループ(8,8g,8ng)に含まれる各画像(3)について、最新の前記モデル(7,7’)による前記属性の判別の信頼度を示す第1評価値を算出することと、
  前記第1評価値に基づいて、前記画像グループ(8,8g,8ng)の中から、信頼度が相対的に低い画像を前記1以上の評価用画像(4,40,42)として選択することと、を含む、学習装置(100)。
 (構成2)
 前記再学習処理は、
  前記1以上の評価用画像(4,40,42)の各々について、最新の前記モデル(7,7’)による前記属性の判別の信頼度を示す第2評価値を算出することと、
  前記第2評価値に基づいて、前記1以上の評価用画像(4,40,42)の中から、信頼度が相対的に低い評価用画像(40a,42a)を前記1以上の追加画像として選択することと、をさらに含む、構成1に記載の学習装置(100)。
 (構成3)
 前記モデル(7,7’)は、前記入力画像の特徴を示す特徴量を出力し、
 前記特徴量は、前記属性を判別するための判別境界(60,60’)と比較され、
 前記画像グループに含まれる対象画像に対する前記第1評価値は、前記対象画像から算出される前記特徴量と前記判別境界(60,60’)との距離を示す、構成1または2に記載の学習装置。
 (構成4)
 前記モデル(7,7’)は、前記入力画像の特徴を示す特徴量を出力し、
 前記画像グループ(8,8g,8ng)に含まれる対象画像に対する前記第1評価値は、前記対象画像から算出される前記特徴量と、最新の前記モデル(7,7’)の学習に用いられ、かつ前記対象画像と同じラベルが付与された画像から算出される前記特徴量との距離を示す、構成1または2に記載の学習装置(100)。
 (構成5)
 前記1回以上の能動学習処理は、M回の能動学習処理と、前記M回の能動学習処理の後に実行され、前記少なくとも1回の能動学習処理に対応するN回の能動学習処理と、を含み、MおよびNは、1以上の整数であり、
 前記M回の能動学習処理において、前記1以上の評価用画像を選択することは、前記第1評価値を用いることなく、ランダムに、または、予め定められたルールに従って、前記画像グループの中から前記1以上の評価用画像(4,40,42)を選択することを含む、構成1から4のいずれかに記載の学習装置(100)。
 (構成6)
 前記1回以上の能動学習処理は、前記N回の能動学習処理の後に実行されるM+N+1回目の能動学習処理を含み、
 前記M+N+1回目の能動学習処理において、前記1以上の評価用画像を選択することは、前記画像グループに含まれる全ての画像を前記1以上の評価用画像(4,40,42)として選択することを含む、構成5に記載の学習装置(100)。
 (構成7)
 Nは、2以上の整数であり、
 前記N回の能動学習処理において、前記画像グループ(8,8g,8ng)の中から選択される評価用画像の個数、前記第1評価値の種類、および前記終了基準の少なくとも1つは、互いに異なる、構成5または6に記載の学習装置(100)。
 (構成8)
 Mは、2以上の整数であり、
 前記M回の能動学習処理において、前記画像グループ(8,8g,8ng)の中から選択される評価用画像の個数、前記1以上の評価用画像の選択方法、および前記終了基準の少なくとも1つは、互いに異なる、構成5から7のいずれかに記載の学習装置(100)。
 (構成9)
 前記ラベルは、前記対象物(2)が良品であることを示す第1ラベルと、前記対象物(2)が不良品であることを示す第2ラベルと、を含み、
 前記複数の画像(3)は、前記第1ラベルが付与された複数の良品画像(30)と、前記第2ラベルが付与された1以上の不良品画像(32)と、を含み、
 前記1以上の学習用画像は、前記複数の良品画像(30)から選択され、
 前記1以上の評価用画像は、前記画像グループ(8g)から選択される1以上の良品画像(30)と、前記1以上の不良品画像(32)と、を含み、
 前記第1評価値は、前記画像グループ(8g)に含まれる各良品画像に対して算出される、構成1から8のいずれかに記載の学習装置(100)。
 (構成10)
 学習方法であって、
 コンピュータ(100)が、訓練データセット(6)を用いた機械学習を行なうことにより、入力画像に写る対象物(2)の属性を判別するために使用されるモデル(7,7’)を取得するステップ(S4)と、
 前記コンピュータ(100)が、1回以上の能動学習処理を実行することにより前記モデル(7,7’)を更新するステップ(S5)と、を備え、
 前記訓練データセット(6)は、前記対象物(2)の属性を示すラベルが付与された複数の画像(3)の中から選択された1以上の学習用画像を含み、
 前記1回以上の能動学習処理の各々は、
  前記複数の画像(3)のうち学習に用いていない画像グループ(8,8g,8ng)の中から1以上の評価用画像(4,40,42)を選択することと、
  前記1以上の評価用画像(4,40,42)を用いた前記モデル(7,7’)の評価結果が終了基準を満たすまで、再学習処理を繰り返し実行することと、を含み、
 前記再学習処理は、
  前記1以上の評価用画像(4,40,42)の中から選択された1以上の追加画像を含むように前記訓練データセット(6)を更新することと、
  更新後の前記訓練データセット(6)を用いて前記モデル(7,7’)の再学習を行なうことと、を含み、
 前記1回以上の能動学習処理のうちの少なくとも1回の能動学習処理において、前記1以上の評価用画像(4,40,42)を選択することは、
  前記画像グループ(8,8g,8ng)に含まれる各画像(3)について、最新の前記モデル(7,7’)による前記属性の判別の信頼度を示す第1評価値を算出することと、
  前記第1評価値に基づいて、前記画像グループ(8,8g,8ng)の中から、信頼度が相対的に低い画像を前記1以上の評価用画像(4,40,42)として選択することと、を含む、学習方法。
 (構成11)
 コンピュータに、
 訓練データセット(6)を用いた機械学習を行なうことにより、入力画像に写る対象物(2)の属性を判別するために使用されるモデル(7,7’)を取得するステップと、
 1回以上の能動学習処理を実行することにより前記モデル(7,7’)を更新するステップと、を実行させ、
 前記訓練データセット(6)は、前記対象物(2)の属性を示すラベルが付与された複数の画像(3)の中から選択された1以上の学習用画像を含み、
 前記1回以上の能動学習処理の各々は、
  前記複数の画像(3)のうち学習に用いていない画像グループ(8,8g,8ng)の中から1以上の評価用画像(4,40,42)を選択することと、
  前記1以上の評価用画像(4,40,42)を用いた前記モデル(7,7’)の評価結果が終了基準を満たすまで、再学習処理を繰り返し実行することと、を含み、
 前記再学習処理は、
  前記1以上の評価用画像(4,40,42)の中から選択された1以上の追加画像を含むように前記訓練データセット(6)を更新することと、
  更新後の前記訓練データセット(6)を用いて前記モデル(7,7’)の再学習を行なうことと、を含み、
 前記1回以上の能動学習処理のうちの少なくとも1回の能動学習処理において、前記1以上の評価用画像(4,40,42)を選択することは、
  前記画像グループ(8,8g,8ng)に含まれる各画像(3)について、最新の前記モデル(7,7’)による前記属性の判別の信頼度を示す第1評価値を算出することと、
  前記第1評価値に基づいて、前記画像グループ(8,8g,8ng)の中から、信頼度が相対的に低い画像を前記1以上の評価用画像(4,40,42)として選択することと、を含む、プログラム。
 本発明の実施の形態について説明したが、今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
 1 システム、2 対象物、3,3a 画像、4,4a,40,40a,40b,42,42a,42b 評価用画像、6 訓練データセット、7,7’ モデル、8,8g,8ng 画像グループ、9g,9ng,9g’,9ng’ 評価用画像グループ、10 記憶部、11 ラベル付与部、12 取得部、13 能動学習部、30,30a,30b 良品画像、32,32a,32b 不良品画像、50,90,95 画面、51 グラフ、52 表示欄、60,60’ 判別境界、61,62,67,68,74,83 領域、70,80,86 ユーザインターフェイス画面、71 画像リスト、72,82 良品画像リスト、73,81 不良品画像リスト、75a,75b 追加ボタン、76 移動ボタン、78 ボタン、84 枠線、87,88 マーカ、91,92,93 入力欄、100 学習装置、110,210 CPU、111,211 RAM、112,212 ROM、113,213 通信インターフェース、114,215 入力インターフェース、115,216 表示コントローラ、116,217 ドライブ、120,220 ストレージ、122 学習プログラム、124 ラベル付与プログラム、130 記憶媒体、200 判別装置、214 外部インターフェース、221 判別プログラム、300 カメラ、600 表示装置、700 入力装置、D 欠陥。

Claims (11)

  1.  学習装置であって、
     訓練データセットを用いた機械学習を行なうことにより、入力画像に写る対象物の属性を判別するために使用されるモデルを取得する取得部と、
     1回以上の能動学習処理を実行することにより前記モデルを更新する能動学習部と、を備え、
     前記訓練データセットは、前記対象物の属性を示すラベルが付与された複数の画像の中から選択された1以上の学習用画像を含み、
     前記1回以上の能動学習処理の各々は、
      前記複数の画像のうち学習に用いていない画像グループの中から1以上の評価用画像を選択することと、
      前記1以上の評価用画像を用いた前記モデルの評価結果が終了基準を満たすまで、再学習処理を繰り返し実行することと、を含み、
     前記再学習処理は、
      前記1以上の評価用画像の中から選択された1以上の追加画像を含むように前記訓練データセットを更新することと、
      更新後の前記訓練データセットを用いて前記モデルの再学習を行なうことと、を含み、
     前記1回以上の能動学習処理のうちの少なくとも1回の能動学習処理において、前記1以上の評価用画像を選択することは、
      前記画像グループに含まれる各画像について、最新の前記モデルによる前記属性の判別の信頼度を示す第1評価値を算出することと、
      前記第1評価値に基づいて、前記画像グループの中から、信頼度が相対的に低い画像を前記1以上の評価用画像として選択することと、を含む、学習装置。
  2.  前記再学習処理は、
      前記1以上の評価用画像の各々について、最新の前記モデルによる前記属性の判別の信頼度を示す第2評価値を算出することと、
      前記第2評価値に基づいて、前記1以上の評価用画像の中から、信頼度が相対的に低い評価用画像を前記1以上の追加画像として選択することと、をさらに含む、請求項1に記載の学習装置。
  3.  前記モデルは、前記入力画像の特徴を示す特徴量を出力し、
     前記特徴量は、前記属性を判別するための判別境界と比較され、
     前記画像グループに含まれる対象画像に対する前記第1評価値は、前記対象画像から算出される前記特徴量と前記判別境界との距離を示す、請求項1または2に記載の学習装置。
  4.  前記モデルは、前記入力画像の特徴を示す特徴量を出力し、
     前記画像グループに含まれる対象画像に対する前記第1評価値は、前記対象画像から算出される前記特徴量と、最新の前記モデルの学習に用いられ、かつ前記対象画像と同じラベルが付与された画像から算出される前記特徴量との距離を示す、請求項1または2に記載の学習装置。
  5.  前記1回以上の能動学習処理は、M回の能動学習処理と、前記M回の能動学習処理の後に実行され、前記少なくとも1回の能動学習処理に対応するN回の能動学習処理と、を含み、MおよびNは、1以上の整数であり、
     前記M回の能動学習処理において、前記1以上の評価用画像を選択することは、前記第1評価値を用いることなく、ランダムに、または、予め定められたルールに従って、前記画像グループの中から前記1以上の評価用画像を選択することを含む、請求項1から4のいずれか1項に記載の学習装置。
  6.  前記1回以上の能動学習処理は、前記N回の能動学習処理の後に実行されるM+N+1回目の能動学習処理を含み、
     前記M+N+1回目の能動学習処理において、前記1以上の評価用画像を選択することは、前記画像グループに含まれる全ての画像を前記1以上の評価用画像として選択することを含む、請求項5に記載の学習装置。
  7.  Nは、2以上の整数であり、
     前記N回の能動学習処理において、前記画像グループの中から選択される評価用画像の個数、前記第1評価値の種類、および前記終了基準の少なくとも1つは、互いに異なる、請求項5または6に記載の学習装置。
  8.  Mは、2以上の整数であり、
     前記M回の能動学習処理において、前記画像グループの中から選択される評価用画像の個数、前記1以上の評価用画像の選択方法、および前記終了基準の少なくとも1つは、互いに異なる、請求項5から7のいずれか1項に記載の学習装置。
  9.  前記ラベルは、前記対象物が良品であることを示す第1ラベルと、前記対象物が不良品であることを示す第2ラベルと、を含み、
     前記複数の画像は、前記第1ラベルが付与された複数の良品画像と、前記第2ラベルが付与された1以上の不良品画像と、を含み、
     前記1以上の学習用画像は、前記複数の良品画像から選択され、
     前記1以上の評価用画像は、前記画像グループから選択される1以上の良品画像と、前記1以上の不良品画像と、を含み、
     前記第1評価値は、前記画像グループに含まれる各良品画像に対して算出される、請求項1から8のいずれか1項に記載の学習装置。
  10.  学習方法であって、
     コンピュータが、訓練データセットを用いた機械学習を行なうことにより、入力画像に写る対象物の属性を判別するために使用されるモデルを取得するステップと、
     前記コンピュータが、1回以上の能動学習処理を実行することにより前記モデルを更新するステップと、を備え、
     前記訓練データセットは、前記対象物の属性を示すラベルが付与された複数の画像の中から選択された1以上の学習用画像を含み、
     前記1回以上の能動学習処理の各々は、
      前記複数の画像のうち学習に用いていない画像グループの中から1以上の評価用画像を選択することと、
      前記1以上の評価用画像を用いた前記モデルの評価結果が終了基準を満たすまで、再学習処理を繰り返し実行することと、を含み、
     前記再学習処理は、
      前記1以上の評価用画像の中から選択された1以上の追加画像を含むように前記訓練データセットを更新することと、
      更新後の前記訓練データセットを用いて前記モデルの再学習を行なうことと、を含み、
     前記1回以上の能動学習処理のうちの少なくとも1回の能動学習処理において、前記1以上の評価用画像を選択することは、
      前記画像グループに含まれる各画像について、最新の前記モデルによる前記属性の判別の信頼度を示す第1評価値を算出することと、
      前記第1評価値に基づいて、前記画像グループの中から、信頼度が相対的に低い画像を前記1以上の評価用画像として選択することと、を含む、学習方法。
  11.  コンピュータに、
     訓練データセットを用いた機械学習を行なうことにより、入力画像に写る対象物の属性を判別するために使用されるモデルを取得するステップと、
     1回以上の能動学習処理を実行することにより前記モデルを更新するステップと、を実行させ、
     前記訓練データセットは、前記対象物の属性を示すラベルが付与された複数の画像の中から選択された1以上の学習用画像を含み、
     前記1回以上の能動学習処理の各々は、
      前記複数の画像のうち学習に用いていない画像グループの中から1以上の評価用画像を選択することと、
      前記1以上の評価用画像を用いた前記モデルの評価結果が終了基準を満たすまで、再学習処理を繰り返し実行することと、を含み、
     前記再学習処理は、
      前記1以上の評価用画像の中から選択された1以上の追加画像を含むように前記訓練データセットを更新することと、
      更新後の前記訓練データセットを用いて前記モデルの再学習を行なうことと、を含み、
     前記1回以上の能動学習処理のうちの少なくとも1回の能動学習処理において、前記1以上の評価用画像を選択することは、
      前記画像グループに含まれる各画像について、最新の前記モデルによる前記属性の判別の信頼度を示す第1評価値を算出することと、
      前記第1評価値に基づいて、前記画像グループの中から、信頼度が相対的に低い画像を前記1以上の評価用画像として選択することと、を含む、プログラム。
PCT/JP2023/008301 2022-06-30 2023-03-06 学習装置、学習方法およびプログラム WO2024004278A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022-106027 2022-06-30
JP2022106027A JP2024005710A (ja) 2022-06-30 2022-06-30 学習装置、学習方法およびプログラム

Publications (1)

Publication Number Publication Date
WO2024004278A1 true WO2024004278A1 (ja) 2024-01-04

Family

ID=89381960

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/008301 WO2024004278A1 (ja) 2022-06-30 2023-03-06 学習装置、学習方法およびプログラム

Country Status (2)

Country Link
JP (1) JP2024005710A (ja)
WO (1) WO2024004278A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003208595A (ja) * 2002-01-10 2003-07-25 Mitsubishi Electric Corp 類識別装置及び類識別方法
JP2017211765A (ja) * 2016-05-24 2017-11-30 アイシン精機株式会社 物体認識装置
JP2021086382A (ja) * 2019-11-27 2021-06-03 オムロン株式会社 学習装置、検出装置、学習方法、及び学習プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003208595A (ja) * 2002-01-10 2003-07-25 Mitsubishi Electric Corp 類識別装置及び類識別方法
JP2017211765A (ja) * 2016-05-24 2017-11-30 アイシン精機株式会社 物体認識装置
JP2021086382A (ja) * 2019-11-27 2021-06-03 オムロン株式会社 学習装置、検出装置、学習方法、及び学習プログラム

Also Published As

Publication number Publication date
JP2024005710A (ja) 2024-01-17

Similar Documents

Publication Publication Date Title
Shin et al. Accurate lithography hotspot detection using deep convolutional neural networks
Huang et al. From quantitative microscopy to automated image understanding
TWI748122B (zh) 用於對多個項進行分類的系統、方法和電腦程式產品
Davoudi et al. Structural load estimation using machine vision and surface crack patterns for shear-critical RC beams and slabs
US20020165839A1 (en) Segmentation and construction of segmentation classifiers
US20150242761A1 (en) Interactive visualization of machine-learning performance
JP2015087903A (ja) 情報処理装置及び情報処理方法
JP2001521249A (ja) 生産分析において分類及び属性を拡張するソフトウエアシステム及び方法
US6754375B1 (en) Method and system for interactively developing at least one grid pattern and computer-readable storage medium having a program for executing the method
US11416711B2 (en) Defect detection system
US11308352B2 (en) Apparatus for processing labeled data to be used in learning of discriminator, method of controlling the apparatus, and non-transitory computer-readable recording medium
US10846889B2 (en) Color handle generation for digital image color gradients using machine learning
Singh et al. When to choose ranked area integrals versus integrated gradient for explainable artificial intelligence–a comparison of algorithms
JP2006292615A (ja) 外観検査装置、外観検査方法、コンピュータを外観検査装置として機能させるためのプログラムおよび記録媒体
WO2024004278A1 (ja) 学習装置、学習方法およびプログラム
US7359537B2 (en) DNA microarray image analysis system
JP4418272B2 (ja) 欠陥分類辞書教示装置
US20240071059A1 (en) Active Learning Management System for Automated Inspection Systems
JP7321452B2 (ja) プログラム、情報処理装置、情報処理方法及び学習済みモデルの生成方法
Rana et al. Deep machine learning based Image classification in hard disk drive manufacturing
JP2005301789A (ja) クラスタ解析装置、クラスタ解析方法、及びクラスタ解析プログラム
Riely et al. Reducing annotation cost and uncertainty in computer-aided diagnosis through selective iterative classification
JP4342299B2 (ja) 共通パターン抽出プログラムおよび共通パターン抽出方法
Pretorius et al. Visual Parameter Optimization for Biomedical Image Analysis: A Case Study.
JP7390337B2 (ja) デジタルソリューション選定装置及びデジタルソリューションを選定する方法

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

Country of ref document: EP

Kind code of ref document: A1