WO2019176993A1 - 検査システム、画像識別システム、識別システム、識別器生成システム、及び学習データ生成装置 - Google Patents
検査システム、画像識別システム、識別システム、識別器生成システム、及び学習データ生成装置 Download PDFInfo
- Publication number
- WO2019176993A1 WO2019176993A1 PCT/JP2019/010183 JP2019010183W WO2019176993A1 WO 2019176993 A1 WO2019176993 A1 WO 2019176993A1 JP 2019010183 W JP2019010183 W JP 2019010183W WO 2019176993 A1 WO2019176993 A1 WO 2019176993A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- learning
- image data
- discriminator
- image
- Prior art date
Links
- 238000007689 inspection Methods 0.000 title claims abstract description 95
- 238000000034 method Methods 0.000 claims abstract description 189
- 238000010801 machine learning Methods 0.000 claims abstract description 152
- 230000008569 process Effects 0.000 claims description 139
- 238000012545 processing Methods 0.000 claims description 112
- 238000006243 chemical reaction Methods 0.000 claims description 93
- 230000015572 biosynthetic process Effects 0.000 claims description 8
- 238000003786 synthesis reaction Methods 0.000 claims description 8
- 230000000873 masking effect Effects 0.000 claims description 4
- 238000013528 artificial neural network Methods 0.000 description 65
- 230000004048 modification Effects 0.000 description 46
- 238000012986 modification Methods 0.000 description 46
- 238000004891 communication Methods 0.000 description 44
- 230000010365 information processing Effects 0.000 description 41
- 210000002569 neuron Anatomy 0.000 description 35
- 230000007547 defect Effects 0.000 description 18
- 230000002950 deficient Effects 0.000 description 13
- 238000011176 pooling Methods 0.000 description 11
- 238000004519 manufacturing process Methods 0.000 description 10
- 238000003672 processing method Methods 0.000 description 7
- 230000008878 coupling Effects 0.000 description 6
- 238000010168 coupling process Methods 0.000 description 6
- 238000005859 coupling reaction Methods 0.000 description 6
- 230000002159 abnormal effect Effects 0.000 description 5
- 238000013527 convolutional neural network Methods 0.000 description 5
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 4
- 238000010304 firing Methods 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 239000007787 solid Substances 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000008921 facial expression Effects 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 239000003990 capacitor Substances 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 239000000428 dust Substances 0.000 description 2
- 230000001815 facial effect Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002787 reinforcement Effects 0.000 description 2
- 239000000126 substance Substances 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000004804 winding Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000036772 blood pressure Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000032258 transport Effects 0.000 description 1
- 238000011179 visual inspection Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/046—Forward inferencing; Production systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
- G06T7/001—Industrial image inspection using an image reference approach
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/443—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
- G06V10/449—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
- G06V10/451—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
- G06V10/454—Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/06—Recognition of objects for industrial automation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/172—Classification, e.g. identification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/174—Facial expression recognition
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/48—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
- G10L25/51—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
Definitions
- the present invention relates to an inspection system, an image identification system, an identification system, a classifier generation system, and a learning data generation apparatus.
- Patent Document 1 when it is determined whether the inspection object shown in the image is normal or abnormal based on the learned first neural network, and it is determined that the inspection object is abnormal, There has been proposed an inspection apparatus for classifying the type of abnormality based on a learned second neural network.
- the present inventor uses the discriminator configured with a learning model such as a neural network as in Patent Document 1 and the following problems occur in the conventional technique for determining the quality of a product from image data. Found to get.
- a learning model such as a neural network
- the image data used as learning data and the product reflected in the image data A learning data set composed of a pair with correct data indicating a correct answer to pass / fail determination is prepared. If the number of learning data sets is small, the accuracy of pass / fail judgment using a learned learning model (discriminator) becomes insufficient. On the other hand, it is costly to prepare a sufficient number of learning data sets to increase the determination accuracy of the discriminator.
- the present inventor studied mass-producing a plurality of different image data from the image data prepared as learning data, and using the plurality of mass-produced image data as learning data.
- the quality of the product does not appear correctly in the mass-produced image data.
- image data that is not appropriate as learning data is included, a discriminator that can perform high-accuracy judgment even if machine learning is performed using the mass-produced image data as learning data The problem that it is impossible to obtain the error may occur.
- this problem is not unique to the scene where the quality of the product is judged and the scene where supervised learning is performed. Similar problems may occur in any scene where a classifier is constructed by machine learning using learning data, such as a scene where a certain feature of a subject is identified from image data or a scene where a certain feature is identified from data other than image data. That is, in order to perform machine learning of the learning model, data to be used as learning data is prepared. If the number of pieces of learning data is small, the accuracy of identifying a predetermined feature from target data by the classifier becomes insufficient. On the other hand, in order to increase the accuracy of identifying features, it is costly to prepare a sufficient number of learning data.
- the present invention has been made in view of such a situation, and an object thereof is to provide a technique capable of generating a discriminator with low cost and high inference accuracy.
- the present invention adopts the following configuration in order to solve the above-described problems.
- the inspection system is an inspection system that inspects the quality of a product, and corrects the first image data in which the product is reflected and the determination of the quality of the product in the first image data.
- a data acquisition unit that acquires first correct answer data indicating a plurality of second image data in which the product is captured by applying predetermined conversion processing to the first image data, respectively, from the first image data Inputting the second image data of each case into the first generation unit that performs learning and machine learning for determining whether or not to apply the given image data as learning data.
- the determination unit for determining whether or not to adopt the second image data of each case as the learning data, and the second image determined to be adopted as the learning data
- the second image data and the second image data are determined by adding to the data second correct data that is determined based on the first correct data and indicates a correct answer to the quality determination of the product in the second image data.
- the inspection system according to the configuration is generated by applying a predetermined conversion process to the first image data using the first discriminator that has acquired the ability to determine whether or not to adopt the learning data. The suitability of the second image data as learning data is determined.
- the inspection system according to the configuration generates a learning data set from the second image data determined to be adopted as learning data, and performs machine learning using the generated learning data set, thereby obtaining a product.
- a second discriminator that has acquired the ability to judge pass / fail is constructed.
- the inspection system which concerns on the said structure determines the quality of the product reflected in object image data using the constructed
- the second image data that is a candidate for learning data can be mass-produced, so that a sufficient number of learning data sets can be created. It can be prepared at low cost.
- second image data that is inappropriate as learning data can be excluded from learning data candidates based on the result of determination by the first discriminator. That is, by using the first discriminator, it is possible to prevent the second image data inappropriate as the learning data from being used for the machine learning of the second discriminator. Therefore, a sufficient number of appropriate learning data sets can be prepared at low cost, and machine learning using the prepared learning data sets can be used to achieve relatively high accuracy in determining the quality of a product.
- a high second discriminator can be constructed. Therefore, according to the said structure, the discriminator (2nd discriminator) with comparatively high inference (determination / defectiveness) precision can be produced
- the “product” is not particularly limited, and may be appropriately selected according to the embodiment.
- the “product” may be, for example, a product conveyed on a production line such as an electronic component or an automobile component.
- the electronic component is, for example, a substrate, a chip capacitor, a liquid crystal, a relay winding, or the like.
- the automobile parts are, for example, connecting rods, shafts, engine blocks, power window switches, panels, and the like. “Determining whether or not the product is good” may be simply determining whether or not the product is defective. In addition to determining whether or not the product is defective, the type of the defect is identified. May be included.
- the defects are, for example, scratches, dirt, cracks, dents, dust, burrs, color unevenness, and the like.
- the “learning data” may also be referred to as “training data”.
- the “conversion process” is a process for changing at least a part of the first image data, and is not particularly limited as long as it is a process capable of generating the second image data that does not completely match the first image data. Also good.
- the first generation unit performs a conversion process selected from photometric conversion, geometric conversion, image synthesis, image replacement, and a combination thereof on the first image data.
- a plurality of second image data may be generated from the first image data.
- the second image data that is a candidate for learning data can be mass-produced at low cost, thereby generating a discriminator (second discriminator) with relatively high inference accuracy at a lower cost.
- the photometric conversion process is a process of converting brightness such as luminance of an image, and is, for example, a brightness conversion process.
- the geometric conversion process is a process for converting a spatial coordinate of an image, and is, for example, an affine conversion, a projective conversion, or the like.
- the image synthesis is to synthesize a predetermined image such as noise in at least a partial region of the image data.
- Image replacement is to replace at least a part of the image data with another image.
- a converter constructed by machine learning may be used.
- the first discriminator machine-learns so as to generate fourth image data similar to the third image data for an image data group composed of the third image data.
- An identification model that performs machine learning to identify whether the input model is the fourth image data derived from the generation model or the third image data derived from the image data group.
- the generation model repeats machine learning to generate the fourth image data similar to the third image data such that the identification model misidentifies, and the identification model includes: Machine learning to discriminate between the fourth image data and the third learning data generated by the generation model repeatedly machine-learned Chino may be configured by the identification model.
- the first discriminator that can appropriately determine the suitability of the second image data as the image data can be prepared, so that the discriminator (second discriminator) with higher inference accuracy can be reduced. It can be generated at a cost.
- the determination unit performs machine learning using fifth image data and third correct answer data indicating whether or not the fifth image data is adopted as the learning data.
- the generated learned learner may be used as the first discriminator. According to this configuration, the first discriminator that can appropriately determine the suitability of the second image data as the image data can be prepared, so that the discriminator (second discriminator) with higher inference accuracy can be reduced. It can be generated at a cost.
- a part such as a part for generating a learning data group or a part for constructing a second discriminator may be extracted to constitute a system or apparatus according to another form.
- the discriminator generation system obtains first image data showing a product and first correct data indicating a correct answer to the quality determination of the product shown in the first image data.
- a first generation unit that generates a plurality of second image data in which the product is captured from the first image data by applying a predetermined conversion process to the first image data, and a given image
- the output obtained from the first discriminator is obtained.
- a determination unit that determines whether or not to adopt the second image data of each case as the learning data, and a second image data that is determined to be adopted as the learning data, based on the first correct answer data.
- the learning data composed of a pair of the second image data and the second correct data by giving the second correct data indicating the correct answer to the quality determination of the product reflected in the second image data.
- Learning to construct a learned second discriminator that has acquired the ability to judge the quality of the product by performing a machine learning using the generated learning data set and a second generating unit that generates a set A processing unit.
- the learning data generation device acquires first image data that shows a product, and first correct data that indicates a correct answer to the quality determination of the product that appears in the first image data.
- a data acquisition unit, and a first generation unit that generates a plurality of second image data in which the product is captured from the first image data by applying a predetermined conversion process to the first image data. Obtained from the first discriminator by inputting the second image data of each case into the learned first discriminator that has performed machine learning for determining whether or not to adopt the obtained image data as learning data.
- a determination unit that determines whether or not to adopt the second image data of each case as learning data based on the output, and second image data that is determined to be adopted as learning data. Learning that is composed of a pair of the second image data and the second correct data by assigning second correct data indicating the correct answer to the quality determination of the product that is determined in the second image data. And a second generation unit for generating a data set for use.
- machine learning such as an inspection system according to each of the above embodiments, a scene for identifying some feature from image data other than the image data of the product, a scene for identifying some feature from data including other types of data other than image data, etc. May be changed to be applicable to any scene in which a classifier is constructed.
- an image identification system includes a data acquisition unit that acquires first image data in which a predetermined subject is captured, and a predetermined conversion process applied to the first image data, thereby each of the subject
- a first generation unit that generates a plurality of second image data including the first image data, and machine learning for determining whether or not to apply the given image data as learning data Whether or not to adopt the second image data of each case as learning data is determined based on the output obtained from the first discriminator by inputting the second image data of each case to the first discriminator Learning data composed of a plurality of second image data determined to be adopted as learning data by collecting the determination unit and second image data determined to be adopted as learning data
- a learning processing unit that constructs a learned second classifier that has acquired the ability to identify the characteristics of the subject by performing machine learning using the generated learning data Obtained from the second discriminator by inputting the obtained target image data to the second discriminator, and a target data obtaining unit that obtains target image data in which the subject to be identified is
- the “subject” and the “feature” of the subject to be identified need not be particularly limited, and may be appropriately selected according to the embodiment.
- the “subject” may be, for example, the face of the subject, the body of the subject, the work to be worked, and the like.
- the features to be identified may be, for example, the type of facial expression, the state of facial parts, and the like.
- the feature to be identified may be, for example, a body pose.
- the feature to be identified may be, for example, the position and posture of the work.
- the discriminator generation system applies a predetermined conversion process to the data acquisition unit that acquires first image data in which a predetermined subject is captured, and the first image data, A first generation unit that generates a plurality of second image data in which the subject is captured from the first image data, and machine learning for determining whether or not to apply the given image data as learning data Whether or not to adopt the second image data of each case as learning data based on the output obtained from the first discriminator by inputting the second image data of each case to the learned first discriminator And learning configured by a plurality of second image data determined to be adopted as learning data by collecting second image data determined to be adopted as learning data A second generation unit that generates a data group and a machine-learning that uses the generated learning data group to construct a learned second discriminator that has acquired the ability to identify the characteristics of the subject.
- a learning processing unit that generates a data group and a machine-learning that uses the generated learning data group to construct a learned second discriminator that has acquired the ability to identify the characteristics of the subject.
- the learning data generation device applies a predetermined conversion process to the data acquisition unit that acquires first image data in which a predetermined subject is captured, and the first image data, A first generation unit that generates a plurality of second image data in which the subject is captured from the first image data, and machine learning for determining whether or not to apply the given image data as learning data Whether or not to adopt the second image data of each case as learning data based on the output obtained from the first discriminator by inputting the second image data of each case to the learned first discriminator And learning configured by a plurality of second image data determined to be adopted as learning data by collecting second image data determined to be adopted as learning data Comprising a second generator for generating a data group, the.
- the identification system includes a data acquisition unit that acquires first data including a predetermined feature, and a predetermined conversion process applied to the first data, whereby the first data
- a first generator that generates a plurality of pieces of second data from the first classifier that has been subjected to machine learning to determine whether or not to apply the given data as learning data.
- a determination unit Based on the output obtained from the first discriminator by inputting the second data, a determination unit that determines whether or not to adopt the second data of each case as the learning data, and it is determined to adopt as the learning data
- the second generation unit that generates the learning data group composed of the plurality of second data determined to be adopted as the learning data by collecting the second data, and the generated learning data group are used.
- Machine A learning processing unit that constructs a learned second discriminator that has acquired the ability to identify the features by performing learning, a target data acquisition unit that acquires target data including features to be identified, and An identification unit that identifies the feature included in the target data based on an output obtained from the second classifier by inputting the acquired target data to the second classifier.
- the “data” may include all kinds of data that can be analyzed by the discriminator. For example, in addition to image data, sound data (voice data), numerical data, text data, and other output data from sensors. Etc.
- a “feature” may include any feature identifiable from data. When the “data” is sound data, the “feature” may be, for example, whether or not a specific sound (for example, abnormal noise of a machine) is included. Further, when the “data” is numerical data or text data related to biological data such as blood pressure and activity amount, the “feature” may be, for example, the state of the subject. Further, when the “data” is numerical data such as a driving amount of the machine or text data, the “feature” may be, for example, the state of the machine.
- the “discriminator” may be configured by a learning model that can acquire the ability to perform predetermined inference by machine learning, such as a neural network, a support vector machine, a self-organizing map, and a reinforcement learning model.
- the first data may be sound data
- the first generator is selected from time stretch, pitch shift, masking, amplitude conversion, sound synthesis, and a combination thereof.
- a plurality of second data may be generated from the first data by applying the converted processing to the first data.
- the discriminator generation system includes a data acquisition unit that acquires first data including a predetermined feature, and a predetermined conversion process applied to the first data, thereby A first generator that generates a plurality of second data from one data, and a learned first discriminator that has performed machine learning to determine whether or not to apply the given data as learning data.
- a determination unit that determines whether or not to adopt the second data of each case as learning data based on the output obtained from the first discriminator by inputting the second data of the case, and adopting as the learning data
- a second generation unit that generates a learning data group composed of a plurality of second data determined to be adopted as learning data, and the generated learning data group use It was by implementing a machine learning, and a learning processing unit for constructing a second identifier of the learned who have learned the ability to identify the feature.
- the learning data generation device applies the predetermined conversion process to the data acquisition unit that acquires the first data including the predetermined characteristics, and the first data.
- a first generator that generates a plurality of second data from one data, and a learned first discriminator that has performed machine learning to determine whether or not to apply the given data as learning data.
- a determination unit that determines whether or not to adopt the second data of each case as learning data based on the output obtained from the first discriminator by inputting the second data of the case, and adopting as the learning data
- a second generation unit that collects the determined second data to generate a learning data group including a plurality of second data determined to be adopted as learning data.
- one aspect of the present invention includes all or one of the above components. It may be an information processing method that realizes a section, a program, or a storage medium that stores such a program and that can be read by a computer, other devices, machines, or the like.
- the computer-readable storage medium is a medium that stores information such as programs by electrical, magnetic, optical, mechanical, or chemical action.
- the inspection method is an information processing method for inspecting the quality of a product
- the computer is configured to check the quality of the product in the first image data and the first image data in the product.
- the second image data of each case is input to the learned first discriminator that has performed machine learning for determining whether or not to apply the given image data as learning data.
- a step of determining whether or not to adopt the second image data of each case as learning data and a decision to adopt as learning data By giving the second image data, which is determined based on the first correct data, the second correct data indicating the correct answer for the quality determination of the product shown in the second image data, The ability to determine the quality of the product was acquired by generating a learning data set composed of the second correct data pair and performing machine learning using the generated learning data set. Constructing a learned second discriminator, acquiring target image data in which the product to be inspected is captured, and inputting the acquired target image data to the second discriminator. And determining whether the product shown in the target image data is good or bad based on an output obtained from the two discriminator.
- the first correct answer indicating that the computer shows the first image data that shows the product and the correct answer for the quality determination of the product that appears in the first image data Obtaining data, applying a predetermined conversion process to the first image data, and generating a plurality of second image data each of which represents the product from the first image data; and Output obtained from the first discriminator by inputting the second image data of each case to the learned first discriminator that has performed machine learning for determining whether or not to adopt the image data as learning data. And determining whether to adopt the second image data of each case as the learning data, and adding the first correct answer to the second image data determined to be adopted as the learning data.
- the second correct data indicating the correct answer to the determination of the quality of the product shown in the second image data determined based on the data is given as a pair of the second image data and the second correct data.
- a learned second discriminator that has acquired the ability to determine the quality of the product by performing a step of generating a configured learning data set and machine learning using the generated learning data set.
- the first correct answer indicating that the computer shows the first image data in which the product is captured and the correctness determination for the product in the first image data.
- the generation program stores, in a computer, first image data that shows the product, and first correct data that indicates a correct answer to the quality determination of the product that appears in the first image data.
- first image data that shows the product
- first correct data that indicates a correct answer to the quality determination of the product that appears in the first image data.
- the computer acquires first image data in which a predetermined subject is captured, and a predetermined conversion process is applied to the first image data.
- a step of generating a plurality of second image data each including the subject from the first image data and a machine learning for determining whether or not to apply the given image data as learning data Whether or not to adopt the second image data of each case as learning data is determined based on the output obtained from the first discriminator by inputting the second image data of each case to the first discriminator
- the step and the plurality of second image data determined to be adopted as the learning data Generating a learning data group; and constructing a learned second discriminator that has acquired the ability to identify the characteristics of the subject by performing machine learning using the generated learning data;
- a step of acquiring target image data in which the subject to be characterized is captured, and an input obtained from the second discriminator by inputting the acquired target image data to the second discriminator.
- a computer acquires first image data in which a predetermined subject is captured, and a predetermined conversion process is applied to the first image data.
- a step of generating a plurality of second image data each containing the subject from the first image data, and learning performed by machine learning for determining whether or not to apply the given image data as learning data Determining whether to adopt the second image data of each case as learning data based on the output obtained from the first discriminator by inputting the second image data of each case to the completed first discriminator And collecting the second image data determined to be adopted as learning data, thereby comprising a plurality of second image data determined to be adopted as learning data.
- a computer acquires a first image data in which a predetermined subject is captured, and a predetermined conversion process is applied to the first image data.
- a step of generating a plurality of second image data each containing the subject from the first image data, and learning performed by machine learning for determining whether or not to apply the given image data as learning data Determining whether to adopt the second image data of each case as learning data based on the output obtained from the first discriminator by inputting the second image data of each case to the completed first discriminator And collecting the second image data determined to be adopted as learning data, and comprising a plurality of second image data determined to be adopted as learning data. And generating a learning data group is executed, an information processing method.
- the generation program obtains first image data in which a predetermined subject is captured in a computer, and applies predetermined conversion processing to the first image data, respectively.
- the computer obtains the first data including a predetermined feature, and applies a predetermined conversion process to the first data.
- a step of determining whether or not to adopt the second data of each case as learning data, and a second determined to be adopted as learning data By collecting data, a step of generating a learning data group composed of a plurality of second data determined to be adopted as learning data, and using the generated learning data group Performing the machine learning, constructing a learned second discriminator that has acquired the ability to identify the features, obtaining target data including the features to be identified, and the obtained And a step of identifying the feature included in the target data based on an output obtained from the second discriminator by inputting the target data to the second discriminator.
- the first data includes a step of obtaining first data including a predetermined feature, and applying a predetermined conversion process to the first data. Generating a plurality of pieces of second data from the first classifier, and learning the first data that has been subjected to machine learning for determining whether or not to apply the given data as learning data.
- determining whether to adopt the second data of each case as learning data based on the output obtained from the first discriminator, and the second data determined to be adopted as learning data Collecting learning data, a step of generating a learning data group composed of a plurality of second data determined to be adopted as learning data, and mechanics using the generated learning data group By carrying out, it executes the steps of constructing a second identifier was learned learning ability to identify the feature, an information processing method.
- the computer obtains the first data including a predetermined feature, and applies a predetermined conversion process to the first data.
- the generation program obtains the first data by applying a predetermined conversion process to the first data and a step of acquiring first data including predetermined characteristics in the computer.
- Based on the output obtained from the first discriminator by inputting data, a step of determining whether or not to adopt the second data of each case as learning data, and a second determined to be adopted as learning data Collecting data to generate a learning data group composed of a plurality of second data determined to be adopted as learning data.
- a gram A gram.
- FIG. 1 schematically illustrates an example of a scene to which the present invention is applied.
- FIG. 2 schematically illustrates an example of a hardware configuration of the learning data generation device according to the embodiment.
- FIG. 3 schematically illustrates an example of a hardware configuration of the first learning device according to the embodiment.
- FIG. 4 schematically illustrates an example of a hardware configuration of the second learning device according to the embodiment.
- FIG. 5 schematically illustrates an example of a hardware configuration of the inspection apparatus according to the embodiment.
- FIG. 6 schematically illustrates an example of the software configuration of the learning data generation device according to the embodiment.
- FIG. 7 schematically illustrates an example of the software configuration of the first learning device according to the embodiment.
- FIG. 8 schematically illustrates an example of the software configuration of the second learning device according to the embodiment.
- FIG. 1 schematically illustrates an example of a scene to which the present invention is applied.
- FIG. 2 schematically illustrates an example of a hardware configuration of the learning data generation device according to the embodiment.
- FIG. 9 schematically illustrates an example of the software configuration of the inspection apparatus according to the embodiment.
- FIG. 10 illustrates an example of a processing procedure of the learning data generation device according to the embodiment.
- FIG. 11 illustrates an example of a processing procedure of the first learning device according to the embodiment.
- FIG. 12 illustrates an example of a processing procedure of the second learning device according to the embodiment.
- FIG. 13 illustrates an example of a processing procedure of the inspection apparatus according to the embodiment.
- FIG. 14 schematically illustrates an example of the software configuration of the first learning device according to another embodiment.
- FIG. 15 illustrates an example of a processing procedure of the first learning device according to another embodiment.
- FIG. 16 schematically illustrates an example of a hardware configuration of an image identification device according to another embodiment.
- FIG. 17 schematically illustrates an example of the software configuration of an image identification device according to another embodiment.
- FIG. 18 schematically illustrates an example of a software configuration of a learning data generation apparatus according to another embodiment.
- FIG. 19 schematically illustrates an example of the software configuration of the first learning device according to another embodiment.
- FIG. 20 schematically illustrates an example of the software configuration of the second learning device according to another embodiment.
- FIG. 21 schematically illustrates an example of a hardware configuration of an identification device according to another embodiment.
- FIG. 22 schematically illustrates an example of the software configuration of the identification device according to another embodiment.
- this embodiment will be described with reference to the drawings.
- this embodiment described below is only an illustration of the present invention in all respects. It goes without saying that various improvements and modifications can be made without departing from the scope of the present invention. That is, in implementing the present invention, a specific configuration according to the embodiment may be adopted as appropriate.
- data appearing in this embodiment is described in a natural language, more specifically, it is specified by a pseudo language, a command, a parameter, a machine language, or the like that can be recognized by a computer.
- first data including a predetermined feature is acquired, and a predetermined conversion process is applied to the acquired first data, thereby generating a plurality of second data from the first data. .
- the second data of each case is adopted as learning data. It is determined whether or not.
- a learning data group constituted by a plurality of second data determined to be adopted as the learning data is generated.
- a learned second discriminator having acquired the ability to identify the target feature is constructed.
- the second data that is a candidate for the learning data can be mass-produced, so that the number of cases sufficient for performing machine learning is sufficient.
- Learning data can be prepared at low cost.
- second data inappropriate as learning data can be excluded from learning data candidates based on the result of determination by the first discriminator. Therefore, according to an example of the present invention, a sufficient number of pieces of appropriate learning data can be prepared at low cost, and target features are identified by performing machine learning using the prepared learning data group. Therefore, it is possible to construct a second classifier having a relatively high accuracy. Therefore, according to an example of the present invention, it is possible to generate a classifier having a relatively high reasoning system at low cost.
- FIG. 1 schematically illustrates an example of a scene in which the present invention is applied to an appearance inspection of a product R.
- the application range of the present invention is not limited to the example of visual inspection exemplified below.
- the present invention can be applied to any scene in which a classifier is constructed by machine learning using learning data.
- the inspection system 100 illustrated in FIG. 1 includes a learning data generation device 1, a first learning device 2, a second learning device 3, and an inspection device 4 that are connected via a network. Configured to inspect.
- the type of network between the learning data generation device 1, the first learning device 2, the second learning device 3, and the inspection device 4 is not particularly limited.
- the Internet a wireless communication network, a mobile communication network, You may select suitably from a telephone network, a private network, etc.
- each of the learning data generation device 1, the first learning device 2, the second learning device 3, and the inspection device 4 is a separate computer.
- the configuration of the inspection system 100 may not be limited to such an example.
- At least one pair of the learning data generation device 1, the first learning device 2, the second learning device 3, and the inspection device 4 may be an integrated computer.
- each of the learning data generation device 1, the first learning device 2, the second learning device 3, and the inspection device 4 may be configured by a plurality of computers.
- the learning data generation apparatus 1 is a computer configured to generate learning data used for machine learning that causes a discriminator to acquire the ability to determine the quality of a product. Specifically, the learning data generation device 1 acquires first image data 122 in which the product is captured, and first correct data 123 that indicates a correct answer to the quality determination of the product in the first image data 122. Then, the learning data generation device 1 applies a predetermined conversion process to the acquired first image data 122 to generate a plurality of second image data 125 each showing a product from the first image data 122.
- the predetermined conversion process is a process that changes at least a part of the first image data 122, and can be any process that can generate the second image data 125 that does not completely match the first image data 122. It does not have to be done.
- the predetermined conversion process may be selected from, for example, photometric conversion, geometric conversion, image composition, image replacement, and combinations thereof.
- the learning data generation device 1 repeatedly applies a predetermined conversion process to the first image data 122 while changing the parameters of the conversion process (for example, the amount of lightness to be converted, etc.).
- Image data 125 is generated.
- the generated second image data 125 for each case is a candidate for learning data to be used for machine learning for acquiring the ability to determine the quality of a product. However, there is a possibility that the second image data 125 of each case is not appropriate as learning data because it is an unnatural image or a product is not captured in a correct state.
- the learning data generation device 1 has the learning first discriminator 51 that has performed machine learning to determine whether or not to apply the given image data as learning data.
- an output is obtained from the first discriminator 51.
- the output of the 1st discriminator 51 shows the result of having determined whether it employ
- the learning data generation device 1 indicates the correct answer to the determination of the quality of the product shown in the second image data 125 determined based on the first correct data 123 in the second image data 125 determined as the learning data.
- Second correct answer data 126 is assigned.
- the learning data generation device 1 generates a learning data set 127 composed of a pair of the second image data 125 and the second correct answer data 126.
- the first learning device 2 is a computer configured to construct the first discriminator 51 used in the learning data generation device 1. Specifically, the first learning device 2 corrects image data (image data 2221 described later) and correct answer data (acceptance data 2222 described later) indicating a correct answer for determining whether or not the image data is to be adopted as learning data. Ability to determine whether or not to apply given image data as learning data by performing machine learning using a learning data set (a first learning data set 222 to be described later) configured by a combination of The learned first discriminator 51 is acquired.
- a learning data set a first learning data set 222 to be described later
- the second learning device 3 is a computer configured to construct a second discriminator 54 used by the inspection device 4. Specifically, the second learning device 3 determines the quality of the product by performing machine learning using a plurality of learning data sets including the learning data set 127 generated by the learning data generating device 1. A learned second discriminator 54 that has acquired the ability to determine is constructed. Therefore, the learning data generation device 1 and the second learning device 3 constitute a discriminator generation system that constructs the second discriminator 54.
- the inspection device 4 is a computer configured to determine the quality of the product R using the second discriminator 54 constructed by the second learning device 3. Specifically, the inspection apparatus 4 acquires target image data 422 in which the product R to be inspected is shown. In the present embodiment, the inspection apparatus 4 is connected to the camera 81, and acquires the target image data 422 by photographing the product R with the camera 81. The inspection apparatus 4 obtains an output from the second discriminator 54 by inputting the acquired target image data 422 to the second discriminator 54. The output of the second discriminator 54 indicates the result of determining the quality of the product R. Therefore, the inspection device 4 determines the quality of the product R shown in the target image data 422 based on the output obtained from the second discriminator 54.
- the learning data generation device 1 can mass-produce the second image data 125 that is a candidate for learning data by applying a predetermined conversion process to the first image data 122.
- a sufficient number of learning data sets can be prepared at low cost.
- the second image data 125 that is inappropriate as learning data for acquiring the ability to determine the quality of a product is prevented from being used for machine learning. it can. Therefore, according to the present embodiment, it is possible to prepare a sufficient number of appropriate learning data sets used for machine learning for acquiring the ability to determine the quality of a product at low cost.
- the second learning device 3 constructs the second discriminator 54 with relatively high accuracy for determining the quality of the product by performing machine learning using a sufficient number of prepared learning data sets. can do. Therefore, according to the present embodiment, it is possible to generate the second discriminator 54 with low cost and relatively high pass / fail judgment accuracy.
- the product R to be subjected to the appearance inspection may not be particularly limited, and may be appropriately selected according to the embodiment.
- the product R may be, for example, a product that is conveyed on a production line such as an electronic component or an automobile component.
- the electronic component is, for example, a substrate, a chip capacitor, a liquid crystal, a relay winding, or the like.
- the automobile parts are, for example, connecting rods, shafts, engine blocks, power window switches, panels, and the like.
- the determination of pass / fail may be simply determining whether or not the product R has a defect, and in addition to determining whether or not the product R has a defect, the type of the defect is identified. May include.
- the defects are, for example, scratches, dirt, cracks, dents, dust, burrs, color unevenness, and the like.
- FIG. 2 schematically illustrates an example of a hardware configuration of the learning data generation device 1 according to the present embodiment.
- the learning data generation device 1 includes a computer in which a control unit 11, a storage unit 12, a communication interface 13, an input device 14, an output device 15, and a drive 16 are electrically connected. It is.
- the communication interface is described as “communication I / F”.
- the control unit 11 includes a CPU (Central Processing Unit), a RAM (Random Access Memory), a ROM (Read Only Memory), etc., which are hardware processors, and is configured to execute information processing based on programs and various data.
- the storage unit 12 is an example of a memory, and includes, for example, a hard disk drive or a solid state drive. In the present embodiment, the storage unit 12 stores various information such as the generation program 121, the first image data 122, the first correct answer data 123, the second image data 125, the second correct answer data 126, the first learning result data 129, and the like. To do.
- the generation program 121 learns later-described information processing (FIG. 10) that generates a plurality of second image data 125 that can be used for machine learning to acquire the ability to determine the quality of a product from the first image data 122. It is a program for causing the data generation device 1 to execute.
- the generation program 121 includes a series of instructions for the information processing.
- the first image data 122 is image data from which the second image data 125 is generated.
- the first correct answer data 123 indicates the correct answer to the quality determination of the product shown in the first image data 122.
- the second image data 125 for each case is generated from the first image data 122.
- the second correct answer data 126 of each case indicates a correct answer to the determination of the quality of the product shown in the second image data 125 of each case.
- the first learning result data 129 is data for setting the first discriminator 51. Details will be described later.
- the communication interface 13 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 data generation device 1 can perform data communication via the network with other information processing devices (for example, the first learning device 2 and the second learning device 3) by using the communication interface 13.
- the input device 14 is a device for inputting, for example, a mouse and a keyboard.
- the output device 15 is a device for outputting, for example, a display or a speaker. The operator can operate the learning data generation device 1 by using the input device 14 and the output device 15.
- the drive 16 is, for example, a CD drive, a DVD drive, or the like, and is a drive device for reading a program stored in the storage medium 91.
- the type of the drive 16 may be appropriately selected according to the type of the storage medium 91.
- At least one of the generation program 121, the first image data 122, the first correct answer data 123, and the first learning result data 129 may be stored in the storage medium 91.
- the storage medium 91 stores information such as a program by electrical, magnetic, optical, mechanical, or chemical action so that a computer or other device, machine, or the like can read the recorded program or the like. It is a medium to accumulate.
- the learning data generation device 1 may acquire at least one of the generation program 121, the first image data 122, the first correct answer data 123, and the first learning result data 129 from the storage medium 91.
- a disk-type storage medium such as a CD or a DVD is illustrated.
- the type of the storage medium 91 is not limited to the disk type and may be other than the disk type.
- Examples of the storage medium other than the disk type include a semiconductor memory such as a flash memory.
- the control unit 11 may include a plurality of hardware processors.
- the hardware processor may be constituted by a microprocessor, an FPGA (field-programmable gate array), a DSP (digital signal processor), or the like.
- the storage unit 12 may be configured by a RAM and a ROM included in the control unit 11. At least one of the communication interface 13, the input device 14, the output device 15, and the drive 16 may be omitted.
- the learning data generation device 1 may be composed of a plurality of computers. In this case, the hardware configurations of the computers may or may not match.
- the learning data generation device 1 may be a general-purpose server device, a PC (Personal Computer), or the like, in addition to an information processing device designed exclusively for the provided service.
- FIG. 3 schematically illustrates an example of a hardware configuration of the first learning device 2 according to the present embodiment.
- the first learning device 2 includes a computer in which a control unit 21, a storage unit 22, a communication interface 23, an input device 24, an output device 25, and a drive 26 are electrically connected. It is.
- the communication interface is described as “communication I / F”.
- the control unit 21 to the drive 26 of the first learning device 2 may be configured similarly to the control unit 11 to the drive 16 of the learning data generation device 1, respectively. That is, the control unit 21 includes a CPU, RAM, ROM, and the like, which are hardware processors, and is configured to execute various types of information processing based on programs and data.
- the storage unit 22 is configured by, for example, a hard disk drive, a solid state drive, or the like. The storage unit 22 stores various kinds of information such as the acceptance / rejection learning program 221, the first learning data set 222, the first learning result data 129, and the like.
- the acceptance / rejection learning program 221 causes the first learning device 2 to execute the later-described machine learning information processing (FIG. 11) for constructing the first discriminator 51 and to generate the first learning result data 129 as a result. It is.
- the acceptance / rejection learning program 221 includes a series of instructions for the information processing.
- the first learning data set 222 is used for machine learning of the first discriminator 51. Details will be described later.
- the communication interface 23 is, for example, a wired LAN module, a wireless LAN module, or the like, and is an interface for performing wired or wireless communication via a network.
- the first learning device 2 can perform data communication via the network with another information processing device (for example, the learning data generation device 1).
- the input device 24 is a device for inputting, for example, a mouse and a keyboard.
- the output device 25 is a device for outputting a display, a speaker, or the like, for example. The operator can operate the first learning device 2 by using the input device 24 and the output device 25.
- the drive 26 is, for example, a CD drive, a DVD drive, or the like, and is a drive device for reading a program stored in the storage medium 92. At least one of the acceptance / rejection learning program 221 and the first learning data set 222 may be stored in the storage medium 92. The first learning device 2 may acquire at least one of the acceptance / rejection learning program 221 and the first learning data set 222 from the storage medium 92.
- the control unit 21 may include a plurality of hardware processors.
- the hardware processor may be configured by a microprocessor, FPGA, DSP, or the like.
- the storage unit 22 may be configured by a RAM and a ROM included in the control unit 21. At least one of the communication interface 23, the input device 24, the output device 25, and the drive 26 may be omitted.
- the first learning device 2 may be composed of a plurality of computers. In this case, the hardware configurations of the computers may or may not match.
- the first learning device 2 may be a general-purpose server device, a general-purpose PC, or the like, in addition to an information processing device designed exclusively for the service to be provided.
- FIG. 4 schematically illustrates an example of the hardware configuration of the second learning device 3 according to the present embodiment.
- the second learning device 3 includes a computer in which a control unit 31, a storage unit 32, a communication interface 33, an input device 34, an output device 35, and a drive 36 are electrically connected. It is.
- the communication interface is described as “communication I / F” as in FIG. 2.
- the control unit 31 to the drive 36 of the second learning device 3 may be configured similarly to the control unit 11 to the drive 16 of the learning data generation device 1, respectively. That is, the control unit 31 includes a CPU, RAM, ROM, and the like, which are hardware processors, and is configured to execute various types of information processing based on programs and data.
- the storage unit 32 is configured by, for example, a hard disk drive, a solid state drive, or the like. The storage unit 32 stores various information such as a learning program 321, a second learning data set 322, and second learning result data 323.
- the learning program 321 is a program for causing the second learning device 3 to execute later-described machine learning information processing (FIG. 12) for constructing the second discriminator 54 and generating second learning result data 323 as a result. is there.
- the learning program 321 includes a series of instructions for the information processing.
- the second learning data set 322 is used for machine learning of the second discriminator 54. Details will be described later.
- the communication interface 33 is, for example, a wired LAN module, a wireless LAN module, or the like, and is an interface for performing wired or wireless communication via a network.
- the second learning device 3 can perform data communication via the network with other information processing devices (for example, the learning data generation device 1 and the inspection device 4).
- the input device 34 is a device for inputting, for example, a mouse and a keyboard.
- the output device 35 is a device for outputting, for example, a display or a speaker. The operator can operate the second learning device 3 by using the input device 34 and the output device 35.
- the drive 36 is, for example, a CD drive, a DVD drive, or the like, and is a drive device for reading a program stored in the storage medium 93. At least one of the learning program 321 and the second learning data set 322 may be stored in the storage medium 93. Further, the second learning device 3 may acquire at least one of the learning program 321 and the second learning data set 322 from the storage medium 93.
- the control unit 31 may include a plurality of hardware processors.
- the hardware processor may be configured by a microprocessor, FPGA, DSP, or the like.
- the storage unit 32 may be configured by a RAM and a ROM included in the control unit 31. At least one of the communication interface 33, the input device 34, the output device 35, and the drive 36 may be omitted.
- the second learning device 3 may be composed of a plurality of computers. In this case, the hardware configurations of the computers may or may not match.
- the second learning device 3 may be a general-purpose server device, a general-purpose PC, or the like, in addition to an information processing device designed exclusively for the provided service.
- FIG. 5 schematically illustrates an example of a hardware configuration of the inspection apparatus 4 according to the present embodiment.
- the inspection device 4 includes a control unit 41, a storage unit 42, a communication interface 43, an external interface 44, an input device 45, an output device 46, and a drive 47 that are electrically connected.
- Computer In FIG. 5, the communication interface and the external interface are described as “communication I / F” and “external I / F”, respectively.
- the control unit 41 to the communication interface 43 and the input device 45 to the drive 47 of the inspection device 4 may be configured similarly to the control unit 11 to the drive 16 of the learning data generation device 1, respectively. That is, the control unit 41 includes a CPU, RAM, ROM, and the like, which are hardware processors, and is configured to execute various types of information processing based on programs and data.
- the storage unit 42 is configured by, for example, a hard disk drive, a solid state drive, or the like. The storage unit 42 stores various types of information such as the inspection program 421 and the second learning result data 323.
- the inspection program 421 is a program for causing the inspection apparatus 4 to execute information processing (FIG. 13) described later for determining the quality of the product R shown in the target image data 422 using the second discriminator 54.
- the inspection program 421 includes a series of instructions for information processing.
- the second learning result data 323 is data for setting the second discriminator 54. Details will be described later.
- the communication interface 43 is, for example, a wired LAN module, a wireless LAN module, or the like, and is an interface for performing wired or wireless communication via a network.
- the inspection device 4 can perform data communication via the network with another information processing device (for example, the second learning device 3).
- the external interface 44 is, for example, a USB (Universal Serial Bus) port, a dedicated port, or the like, and is an interface for connecting to an external device.
- the type and number of external interfaces 44 may be appropriately selected according to the type and number of external devices to be connected.
- the inspection apparatus 4 is connected to the camera 81 via the external interface 44.
- the camera 81 is used to acquire the target image data 422 by photographing the product R.
- the type and location of the camera 81 may not be particularly limited, and may be appropriately determined according to the embodiment.
- a known camera such as a digital camera or a video camera may be used.
- the camera 81 may be disposed in the vicinity of the production line on which the product R is conveyed.
- the inspection apparatus 4 may be connected to the camera 81 via the communication interface 43 instead of the external interface 44.
- the input device 45 is a device for inputting, for example, a mouse and a keyboard.
- the output device 46 is a device for outputting a display, a speaker, or the like, for example. The operator can operate the inspection device 4 by using the input device 45 and the output device 46.
- the drive 47 is, for example, a CD drive, a DVD drive, or the like, and is a drive device for reading a program stored in the storage medium 94. At least one of the inspection program 421 and the second learning result data 323 may be stored in the storage medium 94. Further, the inspection device 4 may acquire at least one of the inspection program 421 and the second learning result data 323 from the storage medium 94.
- the control unit 41 may include a plurality of hardware processors.
- the hardware processor may be configured by a microprocessor, FPGA, DSP, or the like.
- the storage unit 42 may be configured by a RAM and a ROM included in the control unit 41. At least one of the communication interface 43, the external interface 44, the input device 45, the output device 46, and the drive 47 may be omitted.
- the inspection device 4 may be composed of a plurality of computers. In this case, the hardware configurations of the computers may or may not match.
- the inspection device 4 may be a general-purpose server device, a general-purpose desktop PC, a notebook PC, a tablet PC, a mobile phone including a smartphone, or the like, in addition to an information processing device designed exclusively for the provided service.
- FIG. 6 schematically illustrates an example of the software configuration of the learning data generation device 1 according to the present embodiment.
- the control unit 11 of the learning data generation device 1 expands the generation program 121 stored in the storage unit 12 in the RAM. Then, the control unit 11 interprets and executes instructions included in the generation program 121 expanded in the RAM, and controls each component.
- the learning data generation device 1 is a computer including the data acquisition unit 111, the first generation unit 112, the determination unit 113, and the second generation unit 114 as software modules. Operate. That is, in the present embodiment, each software module is realized by the control unit 11 (CPU).
- the data acquisition unit 111 acquires the first image data 122 showing the product and the first correct data 123 indicating the correct answer for the quality determination of the product shown in the first image data 122.
- the first generation unit 112 applies a predetermined conversion process to the first image data 122 to generate a plurality of second image data 125 each showing a product from the first image data 122.
- the determination unit 113 includes a learned first discriminator 51 that has performed machine learning for determining whether or not to apply the given image data as learning data.
- the determination unit 113 inputs the second image data 125 for each case to the first discriminator 51 and, based on the output obtained from the first discriminator 51, the second image data 125 for each case is learned data. It is determined whether or not to adopt.
- the second generation unit 114 gives the second correct answer data 126 to the second image data 125 determined to be adopted as learning data used for machine learning for acquiring the ability to determine the quality of the product.
- the second correct answer data 126 indicates a correct answer for the quality determination of the product shown in the second image data 125, which is determined based on the first correct answer data 123.
- the second generation unit 114 generates a learning data set 127 composed of a pair of the second image data 125 and the second correct answer data 126.
- the first discriminator 51 is configured by a neural network.
- the first discriminator 51 is configured by a so-called convolutional neural network, and includes a convolution layer 511, a pooling layer 512, a full coupling layer 513, and an output layer 514.
- the convolutional neural network is a forward propagation type neural network having a structure in which convolutional layers and pooling layers are alternately connected.
- a plurality of convolution layers 511 and pooling layers 512 are alternately arranged on the input side. Then, the output of the pooling layer 512 disposed on the most output side is input to the total coupling layer 513, and the output of the total coupling layer 513 is input to the output layer 514.
- the convolution layer 511 is a layer that performs an operation of image convolution.
- Image convolution corresponds to processing for calculating the correlation between an image and a predetermined filter. Therefore, by performing image convolution, for example, a shading pattern similar to the shading pattern of the filter can be detected from the input image.
- the pooling layer 512 is a layer that performs a pooling process.
- the pooling process discards a part of the information of the position where the response to the image filter is strong, and realizes the invariance of the response to the minute position change of the feature appearing in the image.
- the total connection layer 513 is a layer in which all neurons between adjacent layers are connected. That is, each neuron included in all connection layers 513 is connected to all neurons included in adjacent layers.
- the total bonding layer 513 may be composed of two or more layers. Further, the number of neurons included in all connection layers 513 may be set as appropriate according to the embodiment.
- the output layer 514 is a layer arranged on the most output side of the first discriminator 51.
- the number of neurons included in the output layer 514 may be appropriately set according to the output format of the result of determining whether or not to employ as learning data. Note that the configuration of the first discriminator 51 is not limited to such an example, and may be set as appropriate according to the embodiment.
- Each neuron included in each layer 511 to 514 has a threshold value, and basically, the output of each neuron is determined depending on whether or not the sum of products of each input and each weight exceeds the threshold value.
- the determination unit 113 inputs the second image data 125 to the convolutional layer 511 arranged on the most input side of the first discriminator 51, and performs firing determination of each neuron included in each layer in order from the input side. Thereby, the determination unit 113 acquires an output value corresponding to a result of determining whether or not to use the input second image data 125 as learning data from the output layer 514.
- the configuration of the first discriminator 51 (the number of layers in the neural network, the number of neurons in each layer, the connection between neurons, the transfer function of each neuron), the weight of the connection between each neuron, Information indicating the threshold is included in the first learning result data 129.
- the determination unit 113 sets the learned first classifier 51 with reference to the first learning result data 129.
- FIG. 7 schematically illustrates an example of the software configuration of the first learning device 2 according to the present embodiment.
- the control unit 21 of the first learning device 2 expands the acceptance / rejection learning program 221 stored in the storage unit 22 in the RAM. Then, the control unit 21 interprets and executes instructions included in the acceptance / rejection learning program 221 expanded in the RAM, and controls each component. Accordingly, as illustrated in FIG. 7, the first learning device 2 according to the present embodiment is configured as a computer including the first learning data acquisition unit 211 and the first learning processing unit 212 as software modules. That is, in this embodiment, each software module is realized by the control unit 21 (CPU).
- the first learning data acquisition unit 211 includes a plurality of first data composed of a combination of image data 2221 that can show the product and a combination of acceptance data 2222 indicating a correct answer for determining whether to adopt the image data 2221 as learning data.
- a learning data set 222 is acquired.
- the image data 2221 is used as learning data (training data) for acceptance determination, and the acceptance data 2222 is used as teacher data (correct data).
- the image data 2221 is an example of the “fifth image data” in the present invention.
- the acceptance / rejection data 2222 is an example of the “third correct answer data” in the present invention.
- the first learning processing unit 212 performs machine learning of the neural network 52 using the acquired first learning data set 222 for each case. That is, when the image data 2221 is input, the first learning processing unit 212 performs a learning process of the neural network 52 so that an output value corresponding to the acceptance / rejection data 2222 is output.
- the neural network 52 is a learning model to be learned and is the first discriminator 51 before learning.
- the neural network 52 is configured in the same manner as the first discriminator 51. That is, the neural network 52 includes a convolution layer 521, a pooling layer 522, a total coupling layer 523, and an output layer 524.
- the layers 521 to 524 are configured in the same manner as the layers 511 to 514 of the first discriminator 51.
- the first learning processing unit 212 When the image data 2221 is input to the convolutional layer 521 arranged on the most input side by the learning processing of the neural network, the first learning processing unit 212 outputs an output value corresponding to the acceptance data 2222 from the output layer 524. Thus, the neural network 52 is learned. Thereby, the first learning processing unit 212 can construct the learned first discriminator 51 that has acquired the ability to determine whether or not to apply the given image data as learning data. The first learning processing unit 212 uses, as the first learning result data 129, information indicating the configuration of the neural network 52 after learning (that is, the first discriminator 51), the connection weight between the neurons, and the threshold value of each neuron. Store in the storage unit 22.
- FIG. 8 schematically illustrates an example of the software configuration of the second learning device 3 according to the present embodiment.
- the control unit 31 of the second learning device 3 expands the learning program 321 stored in the storage unit 32 in the RAM. And the control part 31 interprets and performs the command contained in the learning program 321 expand
- the second learning device 3 according to the present embodiment is configured as a computer including the second learning data acquisition unit 311 and the second learning processing unit 312 as software modules. That is, in this embodiment, each software module is realized by the control unit 31 (CPU).
- the second learning data acquisition unit 311 includes a plurality of second learning data sets each composed of a combination of image data 3221 in which the product is imaged and correct data 3222 indicating a correct answer to the quality determination of the product in the image data 3221. 322 is acquired.
- the image data 3221 is used as learning data (training data) for product quality determination, and the correct answer data 3222 is used as teacher data.
- the plurality of second learning data sets 322 include learning data sets 127 generated by the learning data generation device 1. That is, the image data 3221 of at least a part of the second learning data set 322 is the second image data 125, and the correct answer data 3222 is the second correct answer data 126. In addition, the combination (data set) of the first image data 122 and the first correct answer data 123 that is the basis for generating the learning data set 127 is the first selected from the plurality of second learning data sets 322. 2 learning data sets 322 may be used.
- the second learning data acquisition unit 311 transmits the second learning data set 322 to the learning data generation device 1 as a mass production source data set (first image data 122 and first correct answer data 123).
- a learning data set 127 may be generated.
- the second learning data acquisition unit 311 receives the plurality of generated learning data sets 127 as the second learning data set 322, so that the second learning data set 322 used for machine learning is stored. The number of cases can be increased.
- the second learning processing unit 312 performs machine learning of the neural network 53 using the acquired second learning data set 322 of each case. That is, when the image data 3221 is input, the second learning processing unit 312 performs learning processing of the neural network 53 so as to output an output value corresponding to the correct answer data 3222.
- the second learning processing unit 312 is an example of the “learning processing unit” in the present invention.
- the neural network 53 is a learning model to be learned and is a second discriminator 54 before learning.
- the neural network 53 (and the second discriminator 54) is a so-called convolutional neural network.
- the neural network 53 may be configured similarly to the first discriminator 51. That is, the neural network 53 includes a convolution layer 531, a pooling layer 532, a total coupling layer 533, and an output layer 534.
- the layers 531 to 534 may be configured in the same manner as the layers 511 to 514 of the first discriminator 51. However, the structure of the neural network 53 may not match the first discriminator 51. For example, the number of layers of the neural network 53, the number of neurons in each layer, and the connection relationship between the neurons may be different from those of the first discriminator 51.
- the second learning processing unit 312 When the image data 3221 is input to the convolutional layer 531 arranged on the most input side by the neural network learning processing, the second learning processing unit 312 outputs an output value corresponding to the correct answer data 3222 from the output layer 534. Thus, the neural network 53 is learned. As a result, the second learning processing unit 312 can construct the learned second discriminator 54 that has acquired the ability to determine the quality of the product shown in the target image data. The second learning processing unit 312 uses, as the second learning result data 323, information indicating the configuration of the neural network 53 after learning (that is, the second discriminator 54), the weight of connection between the neurons, and the threshold value of each neuron. Store in the storage unit 32.
- FIG. 9 schematically illustrates an example of the software configuration of the inspection apparatus 4 according to the present embodiment.
- the control unit 41 of the inspection apparatus 4 expands the inspection program 421 stored in the storage unit 42 in the RAM. And the control part 41 interprets and executes the instruction
- the inspection device 4 according to the present embodiment is configured as a computer including the target data acquisition unit 411, the pass / fail determination unit 412, and the output unit 413 as software modules. That is, in the present embodiment, each software module is realized by the control unit 41 (CPU).
- the target data acquisition unit 411 acquires target image data 422 in which the product R to be inspected is captured.
- the target data acquisition unit 411 acquires target image data 422 by photographing the product R with the camera 81.
- the pass / fail judgment unit 412 includes a learned second discriminator 54 that has acquired the ability to judge pass / fail of a product shown in the target image data.
- the quality determination unit 412 determines the quality of the product R shown in the target image data 422 using the second discriminator 54.
- the pass / fail judgment unit 412 sets the learned second discriminator 54 with reference to the second learning result data 323.
- the pass / fail judgment unit 412 inputs the acquired target image data 422 to the second discriminator 54, and executes the arithmetic processing of the second discriminator 54, thereby acquiring the output value from the second discriminator 54.
- the quality determination unit 412 determines quality of the product R shown in the target image data 422 based on the output value acquired from the second discriminator 54.
- the output unit 413 outputs the result of determining the quality of the product R, that is, the result of the appearance inspection.
- the second discriminator 54 is configured by a so-called convolutional neural network, and is configured in the same manner as the neural network 53 described above. That is, the second discriminator 54 includes a convolution layer 541, a pooling layer 542, a total coupling layer 543, and an output layer 534.
- the layers 541 to 544 are configured in the same manner as the layers 531 to 534 of the neural network 53.
- each software module of the learning data generation device 1, the first learning device 2, the second learning device 3, and the inspection device 4 is realized by a general-purpose CPU.
- some or all of the above software modules may be implemented by one or more dedicated processors.
- software modules are appropriately omitted, replaced, and added according to the embodiment. Also good.
- FIG. 10 is a flowchart illustrating an example of a processing procedure of the learning data generation device 1 according to this embodiment.
- the processing procedure described below is an example of a learning data generation method. However, the processing procedure described below is merely an example, and each processing may be changed as much as possible. Further, in the processing procedure described below, steps can be omitted, replaced, and added as appropriate according to the embodiment.
- Step S101 In step S ⁇ b> 101, the control unit 11 operates as the data acquisition unit 111 and acquires the first image data 122 and the first correct data 123 indicating the correct answer for the quality determination of the product shown in the first image data 122.
- the method for acquiring the first image data 122 and the first correct data 123 is not particularly limited, and may be determined as appropriate according to the embodiment.
- a camera is prepared, and photographing is performed with a camera that is a product of the same type as the product R to be inspected and has a defect or no defect.
- the 1st image data 122 in which the product showing the quality is shown can be acquired.
- first correct data 123 indicating the quality (correct answer) appearing on the product shown in the first image data 122 is appropriately acquired.
- a combination (data set) of the first image data 122 and the first correct answer data 123 can be created.
- the creation of the combination of the first image data 122 and the first correct data 123 may be performed by the learning data generation device 1.
- the control unit 11 may create a combination of the first image data 122 and the first correct answer data 123 according to the operation of the input device 14 by the operator. Further, the control unit 11 may automatically create a combination of the first image data 122 and the first correct answer data 123 by the processing of the generation program 121. By executing this creation process, in step S ⁇ b> 101, the control unit 11 can acquire a combination of the first image data 122 and the first correct answer data 123.
- the combination of the first image data 122 and the first correct answer data 123 may be created by an information processing device other than the learning data generation device 1, such as the second learning device 3, for example.
- the combination of the first image data 122 and the first correct answer data 123 may be manually created by an operator, or may be automatically created by program processing.
- the control unit 11 may acquire a combination of the first image data 122 and the first correct data 123 created by another information processing apparatus via the network, the storage medium 91, and the like. Good.
- the combination of the first image data 122 and the first correct answer data 123 is a second learning data set 322 selected from a plurality of second learning data sets 322 used in the second learning device 3. It may be.
- the plurality of second learning data sets 322 may be stored in the storage unit 22 of the second learning device 3 or may be stored in an external storage device such as NAS (Network Attached Storage).
- the control unit 11 converts the combination of the first image data 122 and the first correct answer data 123 to the second learning device 3, an external storage device, and the like via the network, the storage medium 91, and the like. It can be acquired from the storage area.
- the control unit 11 advances the processing to the next step S102.
- a plurality of data sets may be acquired.
- the control unit 11 performs the following steps S102 to S104 for each data set.
- Step S102 the control unit 11 operates as the first generation unit 112, and applies a predetermined conversion process to the first image data 122 acquired in step S101. As a result, the control unit 11 generates a plurality of second image data 125 each representing a product from the first image data 122.
- the predetermined conversion process may be appropriately selected according to the embodiment.
- the predetermined conversion process may be selected from a photometric conversion process, a geometric conversion process, an image composition process, an image replacement process, and a combination thereof.
- the photometric conversion process is a process of converting brightness such as luminance of an image, and is, for example, a brightness conversion process.
- the lightness conversion process is a process of changing at least some of the pixel values of the first image data 122.
- the geometric conversion process is a process for converting a spatial coordinate of an image, and is, for example, an affine conversion, a projective conversion, or the like.
- the affine transformation is a process that can linearly transform and translate at least a part of the first image data 122.
- the image synthesis is to synthesize a predetermined image such as noise with at least a part of the first image data 122.
- the image replacement is to replace at least a part of the first image data 122 with another image.
- a converter constructed by machine learning may be used for these conversion processes.
- the second image data 125 that does not completely match the first image data 122 can be generated from the first image data 122.
- the control unit 11 repeatedly applies the conversion process to the first image data 122 while appropriately changing parameters of the conversion process (for example, the amount of lightness to be converted, each value of the conversion matrix of the affine transformation, and the like).
- the parameter value of this conversion process may be given in advance by a plurality of templates, or may be changed as appropriate at random or according to a predetermined rule.
- control unit 11 can generate a plurality of different second image data 125.
- the number of the second image data 125 to be generated may be appropriately determined according to the embodiment.
- the generated second image data 125 for each case is a candidate for learning data to be used for machine learning for acquiring the ability to determine the quality of a product.
- the control unit 11 advances the processing to the next step S103.
- step S103 In step S ⁇ b> 103, the control unit 11 operates as the determination unit 113 and inputs the second image data 125 of each case generated in step S ⁇ b> 102 to the first discriminator 51 to obtain an output obtained from the first discriminator 51. Based on the above, it is determined whether or not to adopt the second image data 125 of each case as learning data.
- control unit 11 refers to the first learning result data 129 and sets the learned first discriminator 51. Subsequently, the control unit 11 inputs the second image data 125 of each case to the first discriminator 51 and executes the arithmetic processing of the first discriminator 51. Thereby, the control unit 11 acquires an output value from the first discriminator 51.
- control unit 11 inputs the second image data 125 of each case generated in step S102 into the convolution layer 511 arranged on the most input side of the first discriminator 51. Then, the control unit 11 performs firing determination of each neuron included in each layer 511 to 514 in order from the input side. Thereby, the control unit 11 acquires, from the output layer 514, an output value corresponding to a result of determining whether or not to adopt the second image data 125 of each case as learning data.
- the control part 11 determines whether the 2nd image data 125 of each case is employ
- the format of the output value obtained from the output layer 514 may be appropriately selected according to the embodiment.
- the output value obtained from the output layer 514 may indicate by binary whether or not to adopt it as learning data.
- the control unit 11 can specify whether or not to adopt the target second image data 125 as learning data in accordance with the output value obtained from the output layer 514.
- the output value obtained from the output layer 514 may indicate the degree of appropriateness or inappropriateness as learning data as a continuous value.
- control unit 11 can determine whether or not to adopt the target second image data 125 as learning data by comparing the output value obtained from the output layer 514 with a threshold value. Thus, when the determination as to whether or not to adopt the second image data 125 for each case as learning data is completed, the control unit 11 advances the processing to the next step S104.
- Step S104 the control unit 11 operates as the second generation unit 114, and the second image data 125 determined to be adopted as learning data used for machine learning for acquiring the ability to determine the quality of the product is added to the second image data 125. 2 correct answer data 126 is given.
- the second correct answer data 126 is appropriately set so as to indicate a correct answer to the quality determination of the product shown in the second image data 125.
- the correct answer indicated by the second correct answer data 126 is determined based on the first correct answer data 123. For example, even if the conversion process in step S102 is applied, if there is no change in the quality state that appears in the product, the control unit 11 may use the first correct answer data 123 as it is as the second correct answer data 126. .
- each correct answer data may indicate the quality of the product with a value that can be changed by the predetermined conversion process, such as indicating a defective part.
- the control unit 11 may derive the value of the second correct answer data 126 by applying the predetermined conversion process to the value of the first correct answer data 123.
- the control unit 11 determines whether or not the correct answer indicated by the first correct answer data 123 changes based on the predetermined conversion process applied in step S102, and based on the result of the determination, the second The content of the correct answer data 126 may be determined.
- the control unit 11 has the learning data set 127 configured by the pair of the second image data 125 showing the product and the second correct data 126 indicating the correct answer for the quality determination of the product shown in the second image data 125. Can be generated.
- the control unit 11 collects a plurality of second image data 125 determined to be adopted as learning data, and assigns the second correct answer data 126 to each collected second image data 125, thereby A learning data group constituted by the learning data set 127 may be generated.
- the form which provides the 2nd correct answer data 126 may be suitably selected according to embodiment.
- one piece of the second correct answer data 126 may be assigned to each piece of the second image data 125.
- one second correct answer data 126 may be collectively given to a plurality of second image data 125 having a common correct answer for the determination of product quality.
- a plurality of second image data 125 having the same correct answer may be grouped into a group so that one second correct answer data 126 is given.
- the control unit 11 After the generation of the learning data set 127 is completed, the control unit 11 stores the generated learning data set 127 in a predetermined storage area.
- the predetermined storage area may be the storage unit 12 or an external storage area such as NAS.
- the control unit 11 may distribute the generated learning data set 127 to the second learning device 3. Thereby, when the storage process of the generated learning data set 127 is completed, the control unit 11 ends the process according to this operation example.
- control unit 11 may repeat the series of processing in steps S101 to S104 until the number of generated learning data sets 127 exceeds a threshold value.
- the first image data 122 from which the second image data 125 is generated may be changed each time a series of processes is repeated, or may be commonly used at least a predetermined number of times.
- the process of step S101 may be omitted.
- the processing of the second image data 125 determined not to be adopted as learning data may be appropriately determined according to the embodiment.
- the control unit 11 may delete the second image data 125 determined not to be used as learning data.
- the learning data generation device 1 includes a display as the output device 15
- the control unit 11 may display the second image data 125 determined not to be used as learning data on the display.
- the control unit 11 may accept selection of whether to use or delete the second image data 125 as learning data.
- the operator can select whether to use or delete the second image data 125 determined not to be used as learning data by the first discriminator 51 by operating the input device 14. it can.
- FIG. 11 is a flowchart illustrating an example of a processing procedure of the first learning device 2 according to this embodiment.
- the processing procedure described below is merely an example, and each processing may be changed as much as possible. Further, in the processing procedure described below, steps can be omitted, replaced, and added as appropriate according to the embodiment.
- step S201 In step S ⁇ b> 201, the control unit 21 operates as the first learning data acquisition unit 211, and acquires a plurality of first learning data sets 222 each configured by a combination of the image data 2221 and the acceptance / rejection data 2222.
- the method for acquiring the first learning data set 222 is not particularly limited, and may be appropriately determined according to the embodiment.
- a camera is prepared, and photographing is performed with a camera that is a product of the same type as the product R to be inspected and has a defect or no defect.
- the captured image data obtained in this way may be used as the image data 2221.
- the image data 3221 included in the second learning data set 322 may be used as the image data 2221.
- the image data 2221 may be generated by applying the predetermined conversion process to the captured image data or the image data 3221.
- the first learning data set 222 can be created. By repeating this creation, a plurality of first learning data sets 222 can be created.
- the data format of the acceptance data 2222 may be appropriately determined according to the format of the output of the first discriminator 51 (that is, the output value obtained from the output layer 514).
- the acceptance / rejection data 2222 may be set so as to indicate in binary whether or not to adopt as learning data.
- the acceptance / rejection data 2222 may be set as appropriate so as to indicate the degree of appropriateness or inappropriateness as learning data by a continuous value.
- image data 2221 that is unnatural as an image of a product is set to indicate that the acceptance / rejection data 2222 is not adopted as learning data.
- the acceptance data 2222 is set to indicate that the image data 2221 that is more natural as an image of the product is adopted as learning data.
- An unnatural image of a product is, for example, a normal image obtained by shooting with a camera, such as when the product image is deformed to an extent that it is not possible to be real, or where the product image is unclear. A state that is not an image.
- the unnatural degree may be determined as appropriate.
- the creation of the first learning data set 222 may be performed by the first learning device 2.
- the control unit 21 may create a plurality of first learning data sets 222 according to the operation of the input device 24 by the operator. Further, the control unit 21 may automatically create a plurality of first learning data sets 222 by the process of the acceptance / rejection learning program 221. By executing this creation process, in step S201, the control unit 21 may acquire a plurality of first learning data sets 222.
- the creation of the first learning data set 222 may be performed by an information processing device other than the first learning device 2.
- the plurality of first learning data sets 222 may be created manually by an operator or automatically by processing of a program.
- the control unit 21 may acquire the first learning data set 222 created by another information processing apparatus via the network, the storage medium 92, or the like.
- the number of first learning data sets 222 to be acquired is not particularly limited, and may be determined as appropriate to the extent that machine learning of the first discriminator 51 can be performed, for example.
- the control unit 21 proceeds to the next step S202.
- Step S202 the control unit 21 operates as the first learning processing unit 212, and executes machine learning using the acquired first learning data set 222.
- the control unit 21 inputs the image data 2221 to the convolution layer 521 using the first learning data set 222 of each case, the output value corresponding to the correct answer indicated by the acceptance data 2222 is output to the output layer.
- Machine learning of the neural network 52 is executed so as to be output from 524.
- the control unit 21 prepares a neural network 52 (first discriminator 51 before learning) to be subjected to learning processing.
- Each parameter such as the configuration of the neural network 52 to be prepared, the initial value of the connection weight between the neurons, and the initial value of the threshold value of each neuron may be given by a template or by an operator input.
- the control unit 21 may prepare the neural network 52 before learning based on the first learning result data 129 to be re-learned.
- control unit 21 uses the image data 2221 included in the first learning data set 222 acquired in step S201 as input data, and uses the acceptance / rejection data 2222 as teacher data, thereby learning the neural network 52. Execute the process.
- a stochastic gradient descent method or the like may be used for the learning process of the neural network 52.
- control unit 21 inputs the image data 2221 to the convolutional layer 521 arranged on the most input side, and performs firing determination of each neuron included in each of the layers 521 to 524 in order from the input side. Thereby, the control unit 21 obtains an output value from the output layer 524. Next, the control unit 21 calculates an error between the output value obtained from the output layer 524 and the value corresponding to the correct answer indicated by the acceptance / rejection data 2222. Subsequently, the control unit 21 uses the error back-propagation method to calculate the weight of the connection between the neurons and the error of the threshold value of each neuron using the error of the calculated output value. Then, the control unit 21 updates the values of the connection weights between the neurons and the threshold values of the neurons based on the calculated errors.
- the output value obtained from the output layer 524 by inputting the image data 2221 to the convolutional layer 521 arranged on the most input side is associated with the input image data 2221.
- the control unit 21 repeats this series of processing until it matches the value corresponding to the correct answer indicated by the acceptance / rejection data 2222. Accordingly, when the image data 2221 is input, the control unit 21 constructs a learned neural network 52 (that is, the first discriminator 51) that outputs an output value corresponding to the correct answer of acceptance / rejection indicated by the acceptance / rejection data 2222. be able to.
- the control unit 21 proceeds to the next step S203.
- Step S203 the control unit 21 operates as the first learning processing unit 212.
- the control unit 21 may transfer the created first learning result data 129 to the learning data generation device 1 after the processing of step S203 is completed.
- the control unit 21 may update the first learning result data 129 by periodically executing the learning process in steps S201 to S203. Then, the control unit 21 periodically transfers the first learning result data 129 held by the learning data generation device 1 by transferring the created first learning result data 129 to the learning data generation device 1 every time the learning process is executed. May be updated.
- the control unit 21 may store the created first learning result data 129 in an external storage area such as NAS. In this case, the learning data generation device 1 may acquire the first learning result data 129 from this external storage area.
- the first learning result data 129 may be incorporated in the learning data generation device 1 in advance.
- FIG. 12 is a flowchart illustrating an example of a processing procedure of the second learning device 3 according to this embodiment.
- the processing procedure described below is merely an example, and each processing may be changed as much as possible. Further, in the processing procedure described below, steps can be omitted, replaced, and added as appropriate according to the embodiment.
- step S301 In step S ⁇ b> 301, the control unit 31 operates as the second learning data acquisition unit 311, and acquires a plurality of second learning data sets 322 each composed of a combination of image data 3221 and correct answer data 3222.
- the method for acquiring the second learning data set 322 is not particularly limited, and may be appropriately determined according to the embodiment.
- the second learning data set 322 of each case may be acquired by a method similar to the method of acquiring the combination of the first image data 122 and the first correct data 123. That is, the control unit 31 may create a second learning data set 322 for each case according to the operation of the input device 34 by the operator, or the second learning data set 322 for each case by the processing of the learning program 321. Data set 322 may be created automatically. Alternatively, the control unit 31 may acquire the second learning data set 322 created by another information processing apparatus via the network, the storage medium 93, or the like.
- the acquired second learning data set 322 is a learning data set 127 created by the learning data generation device 1.
- the control unit 31 may acquire the learning data set 127 created by the learning data generation device 1 as the second learning data set 322 via the network, the storage medium 93, and the like.
- the control unit 31 may acquire a combination of the first image data 122 and the first correct answer data 123 used for generating the learning data set 127 as the second learning data set 322.
- the data format of the correct answer data 3222 may be appropriately determined according to the output format of the second discriminator 54.
- the correct answer data 3222 may be set so as to indicate the quality of the product as a binary value.
- the correct answer data 3222 may be set so that the probability that the product is a non-defective product (that is, there is no defect) or the probability that the product is defective is indicated by a continuous value.
- the correct answer data 3222 may be set to indicate an index of product quality or defect type.
- the correct answer data 3222 may be set so as to indicate a defective part or the like.
- the number of second learning data sets 322 to be acquired is not particularly limited, and may be appropriately determined to such an extent that machine learning of the second discriminator 54 can be performed, for example.
- the control unit 31 advances the processing to the next step S302.
- Step S302 In step S ⁇ b> 302, the control unit 31 operates as the second learning processing unit 312 and uses machine learning using a plurality of second learning data sets 322 including the learning data set 127 generated by the learning data generating device 1. To implement.
- the control unit 31 when the image data 3221 is input to the convolution layer 531 using the second learning data set 322 of each case, the control unit 31 outputs an output value corresponding to the correct answer indicated by the correct data 3222 to the output layer.
- Machine learning of the neural network 53 is executed so as to output from 534. Thereby, the control unit 31 constructs the learned second discriminator 54 that has acquired the ability to judge the quality of the product.
- the machine learning method may be the same as that in step S202.
- the control unit 31 prepares a neural network 53 (a second discriminator 54 before learning) to be a learning process target. Then, the control unit 31 uses the image data 3221 included in the second learning data set 322 of each case acquired in step 301 as input data, and uses the correct answer data 3222 as teacher data, thereby learning processing of the neural network 53. Execute.
- the control unit 31 when the image data 3221 is input to the convolution layer 531 arranged on the most input side, the control unit 31 outputs an output value corresponding to the correct answer indicated by the correct answer data 3222 associated with the input image data 3221.
- a learned neural network 53 ie, second discriminator 54
- the control unit 31 advances the process to the next step S303.
- Step S303 the control unit 31 operates as the second learning processing unit 312.
- the configuration of the learned neural network 53 that is, the second discriminator 54 constructed by machine learning, the weight of the connection between the neurons.
- And information indicating the threshold value of each neuron is stored in the storage unit 32 as second learning result data 323.
- control unit 31 may transfer the created second learning result data 323 to the inspection apparatus 4 after the process of step S303 is completed.
- the control unit 31 may update the second learning result data 323 by periodically executing the learning processing in steps S301 to S303.
- control part 31 updates the 2nd learning result data 323 which the test
- the control unit 31 may store the created second learning result data 323 in an external storage area such as NAS. In this case, the inspection device 4 may acquire the second learning result data 323 from this external storage area. Further, the second learning result data 323 may be incorporated in the inspection apparatus 4 in advance.
- control unit 31 may evaluate the determination performance of the constructed second discriminator 54 using the evaluation data set.
- the evaluation data set can be configured in the same manner as the second learning data set 322.
- the evaluation data set may be composed of a combination of image data showing a product and correct data indicating a correct answer to the quality determination of the product shown in the image data.
- the controller 31 uses the second discriminator 54 to determine the quality of the product shown in the image data of the evaluation data set, as will be described later in step S402.
- the control unit 31 can evaluate the determination performance of the second discriminator 54 by collating this determination result with the correct answer indicated by the correct answer data.
- the control unit 31 selects 1 selected from a plurality of second learning data sets 322. Alternatively, a plurality of second learning data sets 322 may be transmitted to the learning data generation device 1. Then, the control unit 31 uses the transmitted second learning data set 322 as a combination of the first image data 122 and the first correct answer data 123 to request a request for generating a plurality of learning data sets 127 as learning data. You may go to the generation device 1. Accordingly, the control unit 31 increases the number of second learning data sets 322 used for machine learning by receiving a plurality of learning data sets 127 generated by the learning data generation device 1. Can do.
- FIG. 13 is a flowchart illustrating an example of a processing procedure of the inspection apparatus 4.
- the processing procedure described below is merely an example, and each processing may be changed as much as possible. Further, in the processing procedure described below, steps can be omitted, replaced, and added as appropriate according to the embodiment.
- Step S401 the control unit 41 operates as the target data acquisition unit 411, and acquires target image data 422 in which the product R to be inspected is captured.
- the inspection apparatus 4 is connected to the camera 81 via the external interface 44. Therefore, the control unit 41 acquires target image data 422 from the camera 81.
- the target image data 422 may be moving image data or still image data.
- the control unit 41 advances the processing to the next step S402.
- the route for acquiring the target image data 422 may not be limited to such an example, and may be appropriately selected according to the embodiment.
- another information processing device different from the inspection device 4 may be connected to the camera 81.
- the control unit 41 may acquire the target image data 422 by receiving transmission of the target image data 422 from another information processing apparatus.
- Step S402 In step S ⁇ b> 402, the control unit 41 operates as the quality determination unit 412, and determines the quality of the product R shown in the target image data 422 using the second discriminator 54.
- control unit 41 sets the learned second discriminator 54 with reference to the second learning result data 323. Subsequently, the control unit 41 inputs the target image data 422 to the convolutional layer 541 arranged on the most input side of the second discriminator 54, and determines firing of each neuron included in each of the layers 541 to 544 in order from the input side. I do. Thereby, the control unit 41 acquires an output value corresponding to the result of determining the quality of the product R shown in the target image data 422 from the output layer 544.
- the control part 41 determines the quality of the product R reflected in the object image data 422 based on the output value acquired from the output layer 544 of the 2nd discriminator 54.
- FIG. The method for determining the quality of the product R may be appropriately determined according to the output format of the second discriminator 54. For example, when the output value obtained from the second discriminator 54 indicates whether the product R is good or bad, the control unit 41 specifies the quality of the product R according to the output value obtained from the second discriminator 54. be able to. For example, when the output value obtained from the second discriminator 54 indicates the probability that the product R is a non-defective product or the probability that the product R is defective as a continuous value, the control unit 41 obtains from the second discriminator 54.
- the quality of the product R can be determined by comparing the output value and the threshold value. Further, for example, when the output value obtained from the second discriminator 54 indicates a defective part, the control unit 41, based on the output value obtained from the second discriminator 54, the product R reflected in the target image data 422. In addition, it is possible to determine whether the defect is present or not.
- the inspection device 4 determines whether the output value obtained from the second discriminator 54 and the quality of the product R are acceptable.
- reference information such as a table format in which defect types are associated may be held in the storage unit 42.
- the control unit 41 can determine the quality of the product R shown in the target image data 422 according to the output value obtained from the second discriminator 54 by referring to the reference information.
- control unit 41 can determine the quality of the product R shown in the target image data 422 using the second discriminator 54. When the determination of the quality of the product R is completed, the control unit 41 proceeds to the next step S403.
- step S403 the control unit 41 operates as the output unit 413, and outputs the result of determining the quality of the product R in step S402.
- the output format of the result of determining the quality of the product R may not be particularly limited, and may be appropriately selected according to the embodiment.
- the control unit 41 may output the determination result of the product R to the output device 46 as it is. If it is determined in step S402 that the product R has a defect, the control unit 41 may perform a warning for notifying that a defect has been found as the output process in step S403. Moreover, the control part 41 may perform the predetermined
- control unit 41 ends the process according to this operation example.
- the control unit 41 may execute a series of processes in steps S401 to S403 each time the product R conveyed on the production line enters the imaging range of the camera 81. Thereby, the inspection apparatus 4 can perform the appearance inspection of the product R conveyed on the production line.
- Data 125 can be mass-produced.
- the learning data generation device 1 is inappropriate as learning data for acquiring the ability to determine the quality of the product among the plurality of second image data 125 mass-produced by the process of step S103.
- the image data 125 can be prevented from being used for machine learning. Therefore, according to the learning data generation device 1 according to the present embodiment, by increasing the number of the second learning data set 322 by the learning data set 127 generated in step S104, a sufficient number of appropriate second The learning data set 322 can be prepared at low cost.
- the second learning device 3 performs the machine learning using the sufficient number of second learning data sets 322 prepared by the processes of steps S301 to S303, thereby improving the accuracy of determining the quality of the product.
- a relatively high second discriminator 54 can be constructed. Therefore, according to the present embodiment, it is possible to generate the second discriminator 54 with low cost and relatively high pass / fail judgment accuracy.
- each discriminator (51, 54) is configured by a convolutional neural network.
- the configuration of each discriminator (51, 54) may not be limited to such an example, and may be appropriately selected according to the embodiment.
- each discriminator (51, 54) may be constituted by a multi-layered fully connected neural network, a recursive neural network, or the like.
- a neural network is adopted as a learning model for each classifier (51, 54).
- the learning model of each discriminator (51, 54) may not be limited to such an example, and may be appropriately selected according to the embodiment.
- a learning model of each discriminator (51, 54) for example, a support vector machine, a self-organizing map, a learning model that performs machine learning by reinforcement learning, or the like may be employed.
- each correct data (2222, 3222) may be omitted in each learning data set (222, 322).
- the control unit 11 of the learning data generation device 1 may omit the acquisition of the first correct data 123 and acquire only the first image data 122 in which the product is captured.
- the control unit 11 omits the provision of the second correct answer data 126, and collects the second image data 125 determined to be used as learning data, thereby determining the plurality of data determined to be used as learning data.
- a learning data group including the second image data 125 may be generated.
- the second learning device 3 may construct the second discriminator 54 by using this learning data group for machine learning.
- each learning result data (129, 323) includes information indicating the configuration of the neural network.
- the configuration of each learning result data (129, 323) does not have to be limited to such an example. If the learning result data (129, 323) can be used to set each learned classifier (51, 54), the embodiment It may be determined appropriately according to For example, when the configuration of the neural network to be used is shared by each device, each learning result data (129, 323) may not include information indicating the configuration of the neural network.
- the inspection system 100 includes the first learning device 2 that constitutes the first discriminator 51.
- the first discriminator 51 may be configured by an information processing device outside the inspection system 100. In this case, in the inspection system 100, the first learning device 2 may be omitted.
- the control unit 11 of the learning data generation device 1 sets the content of the second correct answer data 126 based on the first correct answer data 123 in step S104.
- the method for setting the content of the second correct answer data 126 is not limited to such an example.
- the control unit 11 may accept an input of the content of the second correct answer data 126 by the operator via the input device 14. At this time, as a reference for the operator to determine the contents of the second correct answer data 126, the control unit 11 outputs at least one of the second image data 125 and the first correct answer data 123 via the output device 15. May be.
- the first discriminator 51 is constructed by machine learning using the first learning data set 222 configured by a combination of the image data 2221 and the acceptance / rejection data 2222.
- the method of constructing the first discriminator 51 may not be limited to such an example.
- FIG. 14 schematically illustrates an example of the software configuration of the first learning device 2A according to the present modification.
- the first learning device 2A according to the present modification has the same hardware configuration as that of the first learning device 2. That is, the first learning device 2A is a computer in which the control unit 21, the storage unit 22, the communication interface 23, the input device 24, the output device 25, and the drive 26 are electrically connected.
- the first learning device 2 ⁇ / b> A operates as a computer including the first learning data acquisition unit 211 ⁇ / b> A and the first learning processing unit 212 ⁇ / b> A as software modules by executing a program by the control unit 21. That is, also in the present modification, each software module is realized by the control unit 21 (CPU), as in the above embodiment.
- the first learning data acquisition unit 221A acquires an image data group 222A composed of a plurality of pieces of image data 2223.
- the image data 2223 is an example of the “third image data” in the present invention.
- the first learning processing unit 212A performs machine learning for each of the generation model 61 and the identification model 62.
- the generation model 61 performs machine learning on the image data group 222A so as to generate image data 611 similar to the image data 2223.
- the image data 611 is an example of the “fourth image data” in the present invention.
- the identification model 62 performs machine learning so as to identify the image data 611 derived from the generation model 61 or the image data 2223 derived from the image data group 222A.
- the network including the generation model 61 and the identification model 62 alternately performs machine learning of each model (61, 62).
- the generation model 61 repeats machine learning so as to generate image data 611 similar to the image data 2223 that the identification model 62 misidentifies.
- the identification model 62 performs machine learning so as to identify the image data 611 generated by the generation model 61 repeatedly machine-learned and the image data 2223 derived from the image data group 222A.
- the generation model 61 and the identification model 62 are configured by, for example, a neural network.
- the first learning processing unit 212A stores the constructed identification model 62 in the network as a first discriminator. That is, the first learning processing unit 212A stores, in the storage unit 22, information indicating the configuration of the identification model 62 after learning, the weight of connection between neurons, and the threshold value of each neuron as first learning result data 129.
- FIG. 15 is a flowchart illustrating an example of a processing procedure of the first learning device 2A according to the present modification.
- the processing procedure described below is merely an example, and each processing may be changed as much as possible. Further, in the processing procedure described below, steps can be omitted, replaced, and added as appropriate according to the embodiment.
- Step S501 the control unit 21 operates as the first learning data acquisition unit 211A, and acquires the image data group 222A configured by a plurality of pieces of image data 2223.
- the image data 2223 for each case may be acquired by the same method as that for the first image data 122.
- the control unit 21 advances the processing to the next step S502.
- Step S502 the control unit 21 performs machine learning of the generation model 61.
- the generation model 61 is configured by a neural network.
- the control unit 21 performs machine learning of the generation model 61 using meaningless data (for example, noise) as input data and using image data 2223 included in the image data group 222A as teacher data. That is, when the noise is input, the control unit 21 performs machine learning of the generation model 61 so that image data corresponding to the image data 2223 is output.
- the machine learning method may be the same as that in step S202.
- the generation model 61 is constructed so as to generate image data 611 similar to the image data 2223 for the image data group 222A.
- the control unit 21 advances the processing to the next step S503.
- step S503 the control unit 21 performs machine learning of the identification model 62.
- the identification model 62 is configured by a neural network.
- the control unit 21 is configured by a combination of image data 2223 included in the image data group 222A and correct data indicating that the image data 2223 is derived from the image data group 222A (that is, true). Generate a dataset.
- the control unit 21 also includes data composed of a combination of image data 611 generated by the generation model 61 and correct data indicating that the image data 611 is derived from the generation model 61 (that is, false). Generate a set.
- the control unit 21 uses the image data 2223 or the image data 611 as input data, and uses correct data associated with each image data (2223, 611) as teacher data to perform machine learning of the identification model 62. Do. That is, when each image data (2223, 611) is input, the control unit 21 performs machine learning of the identification model 62 so as to output a value corresponding to correct data associated with each image data (2223, 611). To do.
- the machine learning method may be the same as that in step S202.
- the identification model 62 is constructed so as to identify whether it is the image data 611 derived from the generation model 61 or the image data 2223 derived from the image data group 222A. When the machine learning of the identification model 62 is completed, the control unit 21 advances the processing to the next step S504.
- Step S504 the control unit 21 determines whether to repeat the machine learning process in steps S502 and S503.
- the reference for repeating the machine learning process may be appropriately determined according to the embodiment. For example, the number of times machine learning in steps S502 and S503 is performed may be set. In this case, the control unit 21 determines whether or not the number of times the machine learning in steps S502 and S503 has been performed has reached the set number. If it is determined that the number of times machine learning in steps S502 and S503 has not reached the set number, the control unit 21 returns the process to step S502. On the other hand, if it is determined that the number of times machine learning has been performed in steps S502 and S503 has reached the set number, the control unit 21 proceeds to the next step S505.
- the generation model 61 and the identification model 62 perform machine learning alternately.
- the generation model 61 is constructed so as to generate image data 611 similar to the image data 2223 such that the identification model 62 misidentifies.
- the identification model 62 is constructed so as to identify the image data 611 generated by the generation model 61 repeatedly machine-learned and the image data 2223 derived from the image data group 222A. That is, the generation model 61 is constructed so that image data 611 approximated by the image data 2223 can be generated, and the identification model 62 is constructed so that such image data 611 and image data 2223 can be identified.
- Step S505 the control unit 21 operates as the first learning processing unit 212A, and stores the identification model 62 as a first discriminator in the network constructed by repeating the processes of steps S502 and S503. That is, the control unit 21 stores, in the storage unit 22, information indicating the configuration of the identification model 62 after learning, the connection weight between the neurons, and the threshold value of each neuron as the first learning result data 129. Thereby, the control part 21 complete
- the output of the first discriminator shows the result of determining whether the image data 611 derived from the generation model 61 or the image data 2223 derived from the image data group 222A.
- determining that the image data 611 is derived from the generation model 61 corresponds to determining that the image data 611 is not adopted as learning data.
- determining that the image data 2223 is derived from the image data group 222A corresponds to determining that the image data 2223 is adopted as learning data. That is, according to this modification, it is possible to construct a first discriminator that determines that the pseudo image data 611 generated from noise is not adopted as learning data.
- this first discriminator it is possible to extract appropriate second image data 125 as learning data from a plurality of second image data 125 generated from the first image data 122. . Therefore, according to the present modification, a sufficient number of appropriate second learning data sets 322 can be prepared at a low cost, as in the above-described embodiment.
- a high second discriminator 54 can be generated.
- FIGS. 16 and 17 schematically illustrate an example of a hardware configuration and a software configuration of the image identification device 4B according to this modification.
- the image identification system according to this modification is configured by the learning data generation device 1, the first learning device 2, the second learning device 3, and the image identification device 4B.
- the image identification system according to the present modification may be configured in the same manner as the inspection system 100 except that the data to be processed is replaced with image data of a certain subject from image data showing a product.
- the learning data generation device 1 generates a learning data set used for machine learning that causes the classifier to acquire the ability to identify the characteristics of the subject.
- the first learning device 2 has learned the first identification that has acquired the ability to determine whether or not to use the given image data as machine learning learning data for acquiring the ability to identify the characteristics of the subject.
- the 1st discriminator which concerns on this modification may be comprised similarly to the 1st discriminator 51 which concerns on the said embodiment.
- the second learning device 3 performs the machine learning using the learning data set generated by the learning data generation device 1 to obtain the learned second discriminator 54B that has acquired the ability to identify the feature of the subject.
- the 2nd discriminator 54B which concerns on this modification may be comprised similarly to the 2nd discriminator 54 which concerns on the said embodiment.
- the image identification device 4B identifies the feature of the subject in the target image data 422B using the second identifier 54B.
- the characteristics of the subject and the subject to be identified need not be particularly limited, and may be appropriately selected according to the embodiment.
- the subject may be, for example, the subject's face, the subject's body, the work target work, or the like. Further, when the subject is the face of the target person, the features to be identified may be, for example, the type of facial expression, the state of facial parts, and the like.
- the feature to be identified may be, for example, a body pose.
- the feature to be identified may be, for example, the position and posture of the work.
- the image identification device 4B has the same hardware configuration as that of the inspection device 4.
- the storage unit 42 of the image identification device 4B stores various types of information such as an image identification program 421B and second learning result data 323B.
- the image identification program 421B is a program for causing the image identification device 4B to perform information processing for identifying the characteristics of the subject by the same processing procedure as the inspection device 4, and includes a series of instructions for the information processing.
- the second learning result data 323B is data for setting the second discriminator 54B.
- the image identification device 4B is connected to the camera 81 via the external interface 44 in the same manner as the inspection device 4.
- the camera 81 is appropriately arranged at a place where a subject to be identified can be photographed.
- the camera 81 may be disposed at a place where the subject who is the subject may exist.
- the camera 81 may be arranged toward a place where the work can exist.
- the image identification device 4B operates as a computer including the target data acquisition unit 411, the identification unit 412B, and the output unit 413 as software modules by executing the image identification program 421B by the control unit 41. . That is, also in the present modification, each software module is realized by the control unit 41 (CPU), as in the above embodiment.
- the target data acquisition unit 411 acquires target image data 422B in which a subject that is a target for identifying features is captured.
- the identification unit 412B inputs the acquired target image data 422B to the second discriminator 54B, and identifies the characteristics of the subject in the target image data 422B based on the output obtained from the second discriminator 54B.
- the output unit 413 outputs the result of identifying the characteristics of the subject.
- step S101 the control unit 11 of the learning data generation device 1 operates as the data acquisition unit 111, and shows the first image data in which a predetermined subject is captured, and a correct answer for identifying the feature of the subject in the first image data.
- One correct answer data is acquired. If the first correct data is unnecessary, such as when a learning model other than the neural network is employed in the second discriminator 54B and supervised learning is not performed as machine learning, the acquisition of the first correct data may be omitted. .
- step S ⁇ b> 102 the control unit 11 operates as the first generation unit 112 and applies a predetermined conversion process to the first image data, thereby obtaining a plurality of second image data in which the subject is captured, as the first image data.
- the predetermined conversion process may be selected from, for example, a photometric conversion process, a geometric conversion process, an image composition process, an image replacement process, and a combination thereof.
- step S103 the control unit 11 operates as the determination unit 113, based on the output obtained from the first discriminator by inputting the second image data of each case to the learned first discriminator. It is determined whether or not the second image data of each case is adopted as learning data.
- the second image data that is unnatural as the image of the subject is the face of the subject, for example, the second image data showing a face that is distorted beyond reality, the second image data that cannot identify the face of the subject, etc. may be excluded. it can.
- step S104 the control unit 11 operates as the second generation unit 114, and the first image data determined to be adopted as learning data for machine learning for acquiring the ability to identify the feature of the subject is added to the first image data.
- the second correct data indicating the correct answer for the identification of the feature of the subject in the second image data determined based on the correct data is given.
- the control part 11 produces
- control unit 11 collects a plurality of second image data determined to be adopted as learning data, and adds a plurality of second answer data to each collected second image data.
- a learning data group composed of learning data sets may be generated.
- the control unit 11 collects the second image data determined to be adopted as the learning data, and thereby selects a learning data group configured by a plurality of second image data determined to be adopted as the learning data. It may be generated.
- step S201 the control unit 21 operates as the first learning data acquisition unit 211, and the combination of acceptance data indicating the correct answer for determining whether or not to adopt image data and image data in which the subject can be captured as learning data.
- a plurality of first learning data sets each configured in (1) are acquired.
- the control unit 21 operates as the first learning processing unit 212, constructs a first discriminator by machine learning using a plurality of first learning data sets, and constructs the first discriminator constructed. Is stored in the storage unit 22 as first learning result data.
- the first discriminator according to the present modification may be configured by the identification model 62 as in the modification of ⁇ 4.6> above.
- image data 2223 image data showing a subject to be identified is used.
- the control unit 31 of the second learning device 3 constructs the learned second discriminator 54B that has acquired the ability to discriminate the characteristics of the subject in the target image data through the processing of the above steps S301 to S303.
- control unit 31 operates as the second learning data acquisition unit 311 and each includes a combination of image data showing the target subject and correct data indicating the correct answer to the identification of the subject feature shown in the image data.
- a plurality of configured second learning data sets are acquired. At least some of the plurality of second learning data sets are learning data sets generated by the learning data generation device 1.
- step S ⁇ b> 302 the control unit 31 operates as the second learning processing unit 312, performs learning using a plurality of second learning data sets, and learns the ability to identify the characteristics of the subject.
- the completed second discriminator 54B is constructed.
- step S303 the control unit 31 operates as the second learning processing unit 312 and stores information indicating the configuration of the constructed second discriminator 54B in the storage unit 32 as second learning result data 323B.
- step S401 the control unit 41 of the image identification device 4B operates as the target data acquisition unit 411, and acquires target image data 422B in which a subject to be identified is captured. In the present modification, the control unit 41 acquires target image data 422B from the camera 81.
- step S402 the control unit 41 operates as the identification unit 412B, and sets the learned second classifier 54B with reference to the second learning result data 323B. Subsequently, the control unit 41 inputs the target image data 422B acquired in step S401 to the second discriminator 54B, and executes the calculation process of the second discriminator 54B. Thereby, the control unit 41 acquires an output value corresponding to the result of identifying the characteristics of the subject in the target image data 422B from the second discriminator 54B. Based on the output value acquired from the second discriminator 54B, the control unit 41 identifies the characteristics of the subject in the target image data 422B.
- step S403 the control unit 41 operates as the output unit 413, and outputs the result of identifying the characteristics of the subject in the target image data 422B.
- the output format of the result of identifying the characteristics of the subject is not particularly limited, and may be appropriately selected according to the embodiment.
- the control unit 41 may output the result of identifying the characteristics of the subject to the output device 46 as it is. Further, for example, the control unit 41 may execute a predetermined output process according to the identification result.
- the control unit 11 plays music that calms the subject. You may output from the output device 46.
- the present modification by increasing the number of second learning data sets by the learning data set generated by the learning data generating device 1, a sufficient number of appropriate second learning data sets can be reduced in cost. Can be prepared. As a result, the second learning device 3 performs machine learning using a sufficient number of prepared second learning data sets, so that the second discriminator 54B having relatively high accuracy for identifying the characteristics of the subject is obtained. Can be built. Therefore, according to the present embodiment, it is possible to generate the second discriminator 54B having a relatively high identification accuracy of the feature of the subject at a low cost.
- FIG. 18 schematically illustrates an example of the software configuration of the learning data generation device 1C according to the present modification.
- FIG. 19 schematically illustrates an example of the software configuration of the first learning device 2C according to the present modification.
- FIG. 20 schematically illustrates an example of the software configuration of the second learning device 3C according to the present modification.
- 21 and 22 schematically illustrate an example of the hardware configuration and software configuration of the identification device 4C according to this modification.
- the identification system according to this modification includes a learning data generation device 1C, a first learning device 2C, a second learning device 3C, and an identification device 4C.
- the identification system according to this modification may be configured in the same manner as the inspection system 100, except that the data to be processed is replaced with other types of data including some characteristics from the image data representing the product.
- the learning data generation device 1 ⁇ / b> C has a hardware configuration similar to that of the learning data generation device 1. That is, the learning data generation device 1C is a computer in which the control unit 11, the storage unit 12, the communication interface 13, the input device 14, the output device 15, and the drive 16 are electrically connected.
- the storage unit 12 of the learning data generation device 1C stores various information such as the first learning result data 129C.
- the first learning result data 129C is data for setting the learned first discriminator 51C that has performed machine learning for determining whether or not to apply the given data as learning data.
- the first discriminator 51C is formed by a neural network as in the above embodiment.
- the first discriminator 51C may be constituted by, for example, a multi-layer fully connected neural network, a recursive neural network, or the like.
- the learning data generation device 1C operates as a computer including the data acquisition unit 111, the first generation unit 112, the determination unit 113, and the second generation unit 114 as software modules.
- the data acquisition unit 111, the first generation unit 112, the determination unit 113, and the second generation unit 114 are the same as in the above embodiment, except that the image data representing the product is replaced with other types of data including some characteristics. Operate.
- the data to be processed may include all types of data that can be analyzed by the classifier.
- the feature identified from the target data may include any feature that can be identified from the data.
- the target data is sound data
- the identified feature may be, for example, whether or not a specific sound (for example, mechanical noise) is included.
- the target data is numerical data or text data related to biological data such as activity data
- the identified feature may be, for example, the state of the subject (for example, whether or not he / she is healthy).
- the target data is numerical data such as driving amount of the machine or text data
- the identified feature is, for example, the state of the machine (for example, whether or not the machine is in a predetermined state) Good.
- the first learning device 2C has the same hardware configuration as that of the first learning device 2 described above. That is, the first learning device 2C is a computer in which the control unit 21, the storage unit 22, the communication interface 23, the input device 24, the output device 25, and the drive 26 are electrically connected. The first learning device 2C constructs a learned first discriminator 51C that has been subjected to machine learning for use in the learning data generation device 1C to determine whether or not to apply the given data as learning data. .
- the first learning device 2 ⁇ / b> C is configured as a computer including a first learning data acquisition unit 211 and a first learning processing unit 212 as software modules.
- Each of the first learning data acquisition unit 211 and the first learning processing unit 212 operates in the same manner as in the above embodiment, except that the image data representing the product is replaced with other types of data including some characteristics.
- the second learning device 3 ⁇ / b> C has the same hardware configuration as the second learning device 3.
- the second learning device 3C is a computer in which the control unit 31, the storage unit 32, the communication interface 33, the input device 34, the output device 35, and the drive 36 are electrically connected.
- the second learning device 3C performs the machine learning using the learning data generated by the learning data generation device 1C, thereby acquiring the learned second discriminator 54C that has acquired the ability to identify features from the target data. To construct.
- the second learning device 3C is configured as a computer including a second learning data acquisition unit 311 and a second learning processing unit 312 as software modules.
- the second learning data acquisition unit 311 and the second learning processing unit 312 each operate in the same manner as in the above embodiment except that the image data showing the product is replaced with other types of data including some characteristics.
- the identification device 4 ⁇ / b> C has a hardware configuration similar to that of the inspection device 4.
- the storage unit 42 of the identification device 4C stores various information such as the identification program 421C and the second learning result data 323C.
- the identification program 421C is a program for causing the identification device 4C to execute information processing for identifying features included in the target data by the same processing procedure as the inspection device 4, and includes a series of instructions for the information processing.
- the second learning result data 323C is data for setting the learned second discriminator 54C.
- the identification device 4C is connected to the measurement device 81C via the external interface 44.
- the measuring device 81C is appropriately configured so as to be able to acquire target data.
- the type of the measuring device 81C may be appropriately determined according to the data to be processed.
- the measuring device 81C is, for example, a microphone.
- the measurement device 81C is a device configured to be able to measure biometric information, such as an activity meter and a sphygmomanometer.
- the measuring device 81C is a device configured to be able to measure a target physical amount such as an encoder, for example.
- the arrangement of the measurement device 81C may be appropriately determined according to the embodiment.
- the identification device 4C operates as a computer including the target data acquisition unit 411, the identification unit 412C, and the output unit 413 as software modules by executing the identification program 421C by the control unit 41. That is, also in the present modification, each software module is realized by the control unit 41 (CPU), as in the above embodiment.
- the target data acquisition unit 411 acquires target data 422C including a feature to be identified.
- the identification unit 412C identifies the feature included in the target data 422C based on the output obtained from the second classifier 54C by inputting the acquired target data 422C to the second classifier 54C.
- the output unit 413 outputs the result of identifying the feature.
- the identification system according to the present modification operates according to a processing procedure substantially similar to that of the inspection system 100.
- step S101 the control unit 11 of the learning data generation apparatus 1C operates as the data acquisition unit 111, and includes first data 122C including a predetermined feature and a first answer indicating a correct answer for identifying a feature included in the first data 122C.
- Correct data 123C is acquired.
- the first data 122C may be acquired as appropriate. For example, when the data to be processed is sound data, a microphone is prepared, and recording is performed using the microphone that has prepared sound data that can include features to be identified. Thereby, the first data 122C can be acquired.
- the acquisition of the first correct answer data 123C is omitted. It's okay.
- the control unit 11 operates as the first generation unit 112, and generates a plurality of second data 125C from the first data 122C by applying a predetermined conversion process to the first data 122C.
- the predetermined conversion process may be appropriately selected according to the embodiment.
- the predetermined conversion process may be selected from, for example, time stretching, pitch shift, masking, amplitude conversion, synthesis of predetermined sounds such as noise, and combinations thereof.
- Time stretching is a process of changing the tempo (duration) while maintaining the pitch of the sound.
- the pitch shift is a process of changing the pitch without changing the tempo of the sound.
- Masking is a process of converting (for example, removing) a sound of a specific part.
- the predetermined conversion process may be selected from, for example, synthesis of predetermined data such as noise, conversion of data of a specific portion, and a combination thereof. .
- step S103 the control unit 11 operates as the determination unit 113, refers to the first learning result data 129C, and sets the learned first discriminator 51C. Then, the control unit 11 learns the second data 125C of each case based on the output obtained from the first discriminator 51C by inputting the second data 125C of each case to the learned first discriminator 51. Judge whether to adopt as data.
- unnatural second data 125C as data including features can be excluded from the plurality of second data 125C generated from the first data 122C.
- the first data 122C is sound data and the presence / absence of abnormal noise of the machine is identified as a feature, for example, the second data 125C or the like that cannot determine the presence / absence of abnormal noise of the machine can be excluded.
- step S104 the control unit 11 operates as the second generation unit 114, and the second data 125C determined to be adopted as learning data for machine learning for acquiring the ability to identify features included in the target data.
- the second correct data 126C indicating the correct answer to the feature identification included in the second data 125C, determined based on the first correct data 123C, is given.
- the control unit 11 generates a learning data set 127C configured by a pair of the second data 125C and the second correct answer data 126C.
- the control unit 11 collects a plurality of second data 125C determined to be adopted as learning data, and assigns the second correct answer data 126C to each collected second data 125C, thereby A learning data group constituted by the learning data set 127C may be generated. Similarly to the first correct answer data 123C, when the second correct answer data 126C is not necessary, the addition of the second correct answer data 126 to the second data 125C may be omitted. In this case, the control unit 11 may collect the second data 125C determined to be adopted as learning data, and generate a learning data group including a plurality of second data 125C.
- the control unit 21 of the first learning device 2 determines whether or not to use the given data as learning data for machine learning for acquiring the ability to identify features through the processing of steps S201 to S203.
- a learned first discriminator 51C that has acquired the ability is constructed.
- step S201 the control unit 21 operates as the first learning data acquisition unit 211, and the data 2221C that can include the features to be identified, and the correct answer for determining whether to use the data 2221C as the learning data
- a plurality of first learning data sets 222C each composed of a combination of acceptance / rejection data 2222C indicating the above are acquired.
- step S202 the control unit 21 operates as the first learning processing unit 212, and prepares a neural network 52C to be subjected to learning processing.
- the control unit 21 inputs the data 2221C using the first learning data set 222C for each case, the control unit 21 outputs the output value corresponding to the correct answer indicated by the acceptance / rejection data 2222C.
- the control part 21 can construct
- step S203 the control unit 21 operates as the first learning processing unit 212, and stores information indicating the configuration of the learned neural network 52C (that is, the first discriminator 51C) as first learning result data 129C. 22.
- the first discriminator 51C according to the present modification may be configured by the discrimination model 62 as in the above-described modification of ⁇ 4.6>.
- a predetermined type of data to be used for identifying features is used.
- the control unit 31 of the second learning device 3C constructs a learned second discriminator 54C that has acquired the ability to identify the features included in the target data by the processes of steps S301 to S303.
- the control unit 31 operates as the second learning data acquisition unit 311 and includes a combination of data 3221C including a predetermined feature and correct data 3222C indicating a correct answer for identification of the feature included in the data 3221C.
- a plurality of configured second learning data sets 322C are acquired. At least a part of the plurality of second learning data sets 322C is a learning data group (learning data set 127C) generated by the learning data generation device 1.
- step S302 the control unit 31 operates as the second learning processing unit 312 and prepares a neural network 53C to be subjected to learning processing.
- the control unit 31 inputs the data 3221C using the second learning data set 322C of each case, the control unit 31 outputs the output value corresponding to the correct answer indicated by the correct answer data 3222C. Do learning.
- the control part 31 can construct
- step S303 the control unit 31 operates as the second learning processing unit 312 and stores information indicating the configuration of the learned neural network 53C (that is, the second discriminator 54C) as second learning result data 323C. 32.
- the control unit 31 may transmit one or more second learning data sets 322C selected from the plurality of second learning data sets 322C to the learning data generation device 1C. Good.
- the control unit 31 uses the transmitted second learning data set 322C as a combination of the first data 122C and the first correct data 123C to generate a request for generating a plurality of learning data sets 127C. You may go to the apparatus 1C.
- the control unit 31 increases the number of second learning data sets 322C used for machine learning by receiving a plurality of learning data sets 127C generated by the learning data generating device 1C. Can do.
- step S401 the control unit 41 of the identification device 4C operates as the target data acquisition unit 411, and acquires target data 422C including a feature to be identified.
- the control unit 41 acquires the target data 422C from the measurement device 81C via the external interface 44.
- the route for acquiring the target data 422C is not limited to such an example, and may be appropriately selected according to the embodiment.
- step S402 the control unit 41 operates as the identification unit 412C, and sets the learned second classifier 54C with reference to the second learning result data 323C. Subsequently, the control unit 41 inputs the target data 422C acquired in step S401 to the second discriminator 54C and executes the calculation process of the second discriminator 54C. Thereby, the control unit 41 acquires an output value corresponding to the result of identifying the feature included in the target data 422C from the second discriminator 54C. The control unit 41 identifies the feature included in the target data 422C based on the output value acquired from the second discriminator 54C.
- step S403 the control unit 41 operates as the output unit 413, and outputs a result of identifying the features included in the target data 422C.
- the output format of the determined result is not particularly limited and may be appropriately selected according to the embodiment.
- the control unit 41 may output the result of determining the feature included in the target data 422C as it is from the output device 46. Further, for example, the control unit 41 may execute a predetermined output process according to the determination result.
- the control unit 41 includes machine noise in the target data 422C.
- an e-mail that warns the portable terminal of the manager of the machine may be transmitted as the output process.
- the control unit 41 may decrease the processing speed of the target machine or stop the operation of the target machine.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Molecular Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Multimedia (AREA)
- Computational Linguistics (AREA)
- Medical Informatics (AREA)
- Biophysics (AREA)
- Databases & Information Systems (AREA)
- Quality & Reliability (AREA)
- Biodiversity & Conservation Biology (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
低コストで推論精度の高い識別器を生成可能な技術を提供する。本発明の一側面に係る検査システムは、それぞれ製品の写る複数件の第2画像データを第1画像データから生成し、各件の第2画像データを学習データとして採用するか否かを第1識別器により判定し、学習データとして採用すると判定された第2画像データにより学習用データセットを生成し、生成した学習用データセットを利用した機械学習を実施することで、製品の良否を判定する第2識別器を構築し、構築した第2識別器を利用して、対象画像データに写る製品の良否を判定する。
Description
本発明は、検査システム、画像識別システム、識別システム、識別器生成システム、及び学習データ生成装置に関する。
従来、製造ライン等の製品を製造する場面では、製造される製品を撮影装置により撮影し、得られた画像データに基づいて製品の良否を検査する技術が利用されている。例えば、特許文献1では、学習済みの第1のニューラルネットワークに基づいて画像に写る検査対象物が正常であるか異常であるかを判定し、検査対象物が異常であると判定した場合に、学習済みの第2のニューラルネットワークに基づいて当該異常の種類を分類する検査装置が提案されている。
本件発明者は、特許文献1のようなニューラルネットワーク等の学習モデルで構成された識別器を利用して、画像データから製品の良否を判定する従来の技術には、次のような問題が生じ得ることを見出した。すなわち、製品の良否を判定する能力を学習モデルに習得させる機械学習を行うためには、機械学習として教師あり学習を採用する場合、学習データとして利用する画像データと、その画像データに写る製品の良否の判定に対する正解を示す正解データとの対で構成された学習用データセットを用意することになる。この学習用データセットの件数が少ないと、学習済みの学習モデル(識別器)による良否の判定精度が不十分になってしまう。一方で、識別器の判定精度を高めるために十分な件数の学習用データセットを用意するにはコストがかかってしまう。
そこで、本件発明者は、学習データとして用意した画像データから複数件の異なる画像データを量産し、量産した複数件の画像データを学習データとして利用することを検討した。しかしながら、量産された複数件の画像データには、製品の良否が正しく表れていない可能性がある。そのため、量産された複数件の画像データは、量産された複数件の画像データは学習データとして適切かどうか不明である。学習データとして適切でない画像データが含まれている場合には、その量産された複数件の画像データを学習データとして利用して機械学習を行っても、精度の高い良否判定を実行可能な識別器を得ることができないという問題点が生じ得る。
なお、この問題点は、製品の良否を判定する場面及び教師あり学習を実施する場面に特有のものではない。画像データから被写体の何らかの特徴を識別する場面、画像データ以外のデータから何らかの特徴を識別する場面等、学習データを利用した機械学習により識別器を構築するあらゆる場面で同様の問題点が生じ得る。すなわち、学習モデルの機械学習を行うためには、学習データとして利用するデータを用意することになる。この学習データの件数が少ないと、識別器により対象のデータから所定の特徴を識別する精度が不十分になってしまう。一方で、特徴を識別する精度を高めるために、十分な件数の学習データを用意するにはコストがかかってしまう。
本発明は、一側面では、このような実情を鑑みてなされたものであり、その目的は、低コストで推論精度の高い識別器を生成可能な技術を提供することである。
本発明は、上述した課題を解決するために、以下の構成を採用する。
すなわち、本発明の一側面に係る検査システムは、製品の良否を検査する検査システムであって、前記製品の写る第1画像データ、及び前記第1画像データに写る前記製品の良否の判定に対する正解を示す第1正解データを取得するデータ取得部と、前記第1画像データに所定の変換処理を適用することで、それぞれ前記製品の写る複数件の第2画像データを前記第1画像データから生成する第1生成部と、与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2画像データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2画像データを学習データとして採用するか否かを判定する判定部と、学習データとして採用すると判定された第2画像データに、前記第1正解データに基づいて決定された、前記第2画像データに写る前記製品の良否の判定に対する正解を示す第2正解データを付与することで、当該第2画像データ及び当該第2正解データの対で構成された学習用データセットを生成する第2生成部と、生成した前記学習用データセットを利用した機械学習を実施することで、前記製品の良否を判定する能力を習得した学習済みの第2識別器を構築する学習処理部と、検査の対象となる前記製品の写る対象画像データを取得する対象データ取得部と、取得した前記対象画像データを前記第2識別器に入力することで前記第2識別器から得られる出力に基づいて、前記対象画像データに写る前記製品の良否を判定する良否判定部と、を備える。
当該構成に係る検査システムは、学習データとして採用するか否かを判定する能力を習得した第1識別器を利用して、第1画像データに所定の変換処理を適用することで生成された各件の第2画像データの学習データとしての適格性を判定する。次に、当該構成に係る検査システムは、学習データとして採用すると判定された第2画像データにより学習用データセットを生成し、生成した学習用データセットを利用した機械学習を実施することで、製品の良否を判定する能力を習得した第2識別器を構築する。そして、当該構成に係る検査システムは、構築された第2識別器を利用して、対象画像データに写る製品の良否を判定する。
したがって、当該構成によれば、第1画像データに所定の変換処理を適用することで、学習データの候補となる第2画像データを量産することができるため、十分な件数の学習用データセットを低コストで用意することができる。加えて、第1識別器による判定の結果に基づいて、学習データとして不適切な第2画像データを学習データの候補から除外することができる。すなわち、第1識別器を利用することで、学習データとして不適切な第2画像データが第2識別器の機械学習に利用されないようにすることができる。そのため、十分な件数の適切な学習用データセットを低コストで用意することができ、用意した学習用データセットを利用した機械学習を実施することで、製品の良否を判定する精度の比較的に高い第2識別器を構築することができる。よって、当該構成によれば、低コストで推論(良否の判定)精度の比較的に高い識別器(第2識別器)を生成することができる。
なお、「製品」は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。「製品」は、例えば、電子部品、自動車部品等の製造ラインで搬送される物であってよい。電子部品は、例えば、基盤、チップコンデンサ、液晶、リレーの巻線等である。自動車部品は、例えば、コンロッド、シャフト、エンジンブロック、パワーウィンドウスイッチ、パネル等である。「良否の判定」は、製品に欠陥があるか否かを単に判定することであってもよいし、製品に欠陥がある否かを判定することに加えて、その欠陥の種類を識別することを含んでもよい。欠陥は、例えば、傷、汚れ、クラック、打痕、埃、バリ、色ムラ等である。「学習データ」は、「訓練データ」とも称されてよい。「変換処理」は、第1画像データの少なくとも一部を変更する処理であって、第1画像データと完全には一致しない第2画像データを生成可能な処理であれば、特に限定されなくてもよい。
上記一側面に係る検査システムにおいて、前記第1生成部は、フォトメトリックな変換、ジオメトリックな変換、画像の合成、画像の置換及びこれらの組合せから選択された変換処理を前記第1画像データに適用することで、前記第1画像データから複数件の第2画像データを生成してもよい。当該構成によれば、学習データの候補となる第2画像データを低コストで量産することができ、これによって、推論精度の比較的に高い識別器(第2識別器)をより低コストで生成することができるようになる。なお、フォトメトリックな変換処理とは、画像の輝度等の明るさを変換する処理であり、例えば、明度の変換処理等である。ジオメトリックな変換処理とは、画像の空間座標を変換する処理であり、例えば、アフィン変換、射影変換等である。画像の合成は、画像データの少なくとも一部の領域にノイズ等の所定の画像を合成することである。画像置換は、画像データの少なくとも一部の領域をその他の画像に置き換えることである。これらの変換処理には、機械学習により構築された変換器が利用されてもよい。
上記一側面に係る検査システムにおいて、前記第1識別器は、第3画像データから構成される画像データ群に対して、当該第3画像データに類似する第4画像データを生成するように機械学習する生成モデルと、入力された入力データが、前記生成モデル由来の前記第4画像データであるか、前記画像データ群由来の前記第3画像データであるかを識別するように機械学習する識別モデルとを含むネットワークであって、前記生成モデルは、前記識別モデルが識別を誤るような前記第3画像データに類似する前記第4画像データを生成するように機械学習を繰り返し、前記識別モデルは、繰り返し機械学習された前記生成モデルにより生成される前記第4画像データと前記第3学習データとを識別するように機械学習する、ネットワークのうちの前記識別モデルにより構成されてよい。当該構成によれば、第2画像データの画像データとしての適格性を適切に判定可能な第1識別器を用意することができるため、推論精度のより高い識別器(第2識別器)を低コストで生成することができるようになる。
上記一側面に係る検査システムにおいて、前記判定部は、第5画像データと、前記第5画像データを前記学習データとして採用するか否かの正解を示す第3正解データとを利用した機械学習により生成された学習済みの学習器を前記第1識別器として利用してもよい。当該構成によれば、第2画像データの画像データとしての適格性を適切に判定可能な第1識別器を用意することができるため、推論精度のより高い識別器(第2識別器)を低コストで生成することができるようになる。
また、上記各形態に係る検査システムから、例えば、学習データ群を生成する部分、第2識別器を構築する部分等の一部分を抽出して他の形態に係るシステム又は装置を構成してもよい。
例えば、本発明の一側面に係る識別器生成システムは、製品の写る第1画像データ、及び前記第1画像データに写る前記製品の良否の判定に対する正解を示す第1正解データを取得するデータ取得部と、前記第1画像データに所定の変換処理を適用することで、それぞれ前記製品の写る複数件の第2画像データを前記第1画像データから生成する第1生成部と、与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2画像データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2画像データを学習データとして採用するか否かを判定する判定部と、学習データとして採用すると判定された第2画像データに、前記第1正解データに基づいて決定された、前記第2画像データに写る前記製品の良否の判定に対する正解を示す第2正解データを付与することで、当該第2画像データ及び当該第2正解データの対で構成された学習用データセットを生成する第2生成部と、生成した前記学習用データセットを利用した機械学習を実施することで、前記製品の良否を判定する能力を習得した学習済みの第2識別器を構築する学習処理部と、を備える。
また、例えば、本発明の一側面に係る学習データ生成装置は、製品の写る第1画像データ、及び前記第1画像データに写る前記製品の良否の判定に対する正解を示す第1正解データを取得するデータ取得部と、前記第1画像データに所定の変換処理を適用することで、それぞれ前記製品の写る複数件の第2画像データを前記第1画像データから生成する第1生成部と、与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2画像データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2画像データを学習データとして採用するか否かを判定する判定部と、学習データとして採用すると判定された第2画像データに、前記第1正解データに基づいて決定された、前記第2画像データに写る前記製品の良否の判定に対する正解を示す第2正解データを付与することで、当該第2画像データ及び当該第2正解データの対で構成された学習用データセットを生成する第2生成部と、を備える。
また、上記各形態に係る検査システム、製品の写る画像データ以外の画像データから何らかの特徴を識別する場面、画像データ以外の他種のデータを含むデータから何らかの特徴を識別する場面などの、機械学習により識別器を構築するあらゆる場面に適用可能に変更されてよい。
例えば、本発明の一側面に係る画像識別システムは、所定の被写体の写る第1画像データを取得するデータ取得部と、前記第1画像データに所定の変換処理を適用することで、それぞれ前記被写体の写る複数件の第2画像データを前記第1画像データから生成する第1生成部と、与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2画像データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2画像データを学習データとして採用するか否かを判定する判定部と、学習データとして採用すると判定された第2画像データを収集することで、学習データとして採用すると判定された複数件の当該第2画像データにより構成された学習用データ群を生成する第2生成部と、生成した前記学習用データを利用した機械学習を実施することで、前記被写体の特徴を識別する能力を習得した学習済みの第2識別器を構築する学習処理部と、特徴を識別する対象となる前記被写体の写る対象画像データを取得する対象データ取得部と、取得した前記対象画像データを前記第2識別器に入力することで前記第2識別器から得られる出力に基づいて、前記対象画像データに写る前記被写体の特徴を識別する識別部と、を備える。
なお、「被写体」及び識別の対象となる被写体の「特徴」はそれぞれ、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。「被写体」は、例えば、対象者の顔、対象者の身体、作業対象のワーク等であってよい。また、被写体が対象者の顔である場合、識別の対象となる特徴は、例えば、表情の種別、顔のパーツの状態等であってよい。被写体が対象者の身体である場合には、識別の対象となる特徴は、例えば、身体のポーズ等であってよい。被写体が作業対象のワークである場合、識別の対象となる特徴は、例えば、ワークの位置、姿勢等であってよい。
また、例えば、本発明の一側面に係る識別器生成システムは、所定の被写体の写る第1画像データを取得するデータ取得部と、前記第1画像データに所定の変換処理を適用することで、それぞれ前記被写体の写る複数件の第2画像データを前記第1画像データから生成する第1生成部と、与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2画像データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2画像データを学習データとして採用するか否かを判定する判定部と、学習データとして採用すると判定された第2画像データを収集することで、学習データとして採用すると判定された複数件の当該第2画像データにより構成された学習用データ群を生成する第2生成部と、生成した前記学習用データ群を利用した機械学習を実施することで、前記被写体の特徴を識別する能力を習得した学習済みの第2識別器を構築する学習処理部と、を備える。
また、例えば、本発明の一側面に係る学習データ生成装置は、所定の被写体の写る第1画像データを取得するデータ取得部と、前記第1画像データに所定の変換処理を適用することで、それぞれ前記被写体の写る複数件の第2画像データを前記第1画像データから生成する第1生成部と、与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2画像データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2画像データを学習データとして採用するか否かを判定する判定部と、学習データとして採用すると判定された第2画像データを収集することで、学習データとして採用すると判定された複数件の当該第2画像データにより構成された学習用データ群を生成する第2生成部と、を備える。
また、例えば、本発明の一側面に係る識別システムは、所定の特徴を含む第1データを取得するデータ取得部と、前記第1データに所定の変換処理を適用することで、前記第1データから複数件の第2データを生成する第1生成部と、与えられたデータを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2データを学習データとして採用するか否かを判定する判定部と、学習データとして採用すると判定された第2データを収集することで、学習データとして採用すると判定された複数件の当該第2データにより構成された学習用データ群を生成する第2生成部と、生成した学習用データ群を利用した機械学習を実施することで、前記特徴を識別する能力を習得した学習済みの第2識別器を構築する学習処理部と、識別する対象となる特徴を含む対象データを取得する対象データ取得部と、取得した前記対象データを前記第2識別器に入力することで前記第2識別器から得られる出力に基づいて、前記対象データに含まれる前記特徴を識別する識別部と、を備える。
なお、「データ」は、識別器による解析の対象となり得るあらゆる種類のデータを含んでもよく、例えば、画像データの他、音データ(音声データ)、数値データ、テキストデータ、その他センサからの出力データ等であってよい。「特徴」は、データから識別可能なあらゆる特徴を含んでもよい。「データ」が音データである場合、「特徴」は、例えば、特定の音(例えば、機械の異音)が含まれているか否か等であってよい。また、「データ」が、血圧、活動量等の生体データに関する数値データ又はテキストデータである場合、「特徴」は、例えば、対象者の状態等であってよい。また、「データ」が、機械の駆動量等の数値データ又はテキストデータである場合、「特徴」は、例えば、機械の状態等であってよい。「識別器」は、例えば、ニューラルネットワーク、サポートベクタマシン、自己組織化マップ、強化学習モデル等の、機械学習により所定の推論を行う能力を獲得可能な学習モデルにより構成されてよい。
上記一側面に係る識別システムにおいて、前記第1データは、音データであってよく、前記第1生成部は、タイムストレッチ、ピッチシフト、マスキング、振幅の変換、音の合成及びこれらの組合せから選択された変換処理を前記第1データに適用することで、前記第1データから複数件の第2データを生成してもよい。
また、例えば、本発明の一側面に係る識別器生成システムは、所定の特徴を含む第1データを取得するデータ取得部と、前記第1データに所定の変換処理を適用することで、前記第1データから複数件の第2データを生成する第1生成部と、与えられたデータを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2データを学習データとして採用するか否かを判定する判定部と、学習データとして採用すると判定された第2データを収集することで、学習データとして採用すると判定された複数件の当該第2データにより構成された学習用データ群を生成する第2生成部と、生成した学習用データ群を利用した機械学習を実施することで、前記特徴を識別する能力を習得した学習済みの第2識別器を構築する学習処理部と、を備える。
また、例えば、本発明の一側面に係る学習データ生成装置は、所定の特徴を含む第1データを取得するデータ取得部と、前記第1データに所定の変換処理を適用することで、前記第1データから複数件の第2データを生成する第1生成部と、与えられたデータを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2データを学習データとして採用するか否かを判定する判定部と、学習データとして採用すると判定された第2データを収集することで、学習データとして採用すると判定された複数件の当該第2データにより構成された学習用データ群を生成する第2生成部と、を備える。
なお、上記各形態に係る検査システム、画像識別システム、識別システム、識別器生成システム、及び学習データ生成装置それぞれの別の態様として、本発明の一側面は、以上の各構成の全部又はその一部を実現する情報処理方法であってもよいし、プログラムであってもよいし、このようなプログラムを記憶した、コンピュータその他装置、機械等が読み取り可能な記憶媒体であってもよい。ここで、コンピュータ等が読み取り可能な記憶媒体とは、プログラム等の情報を、電気的、磁気的、光学的、機械的、又は、化学的作用によって蓄積する媒体である。
例えば、本発明の一側面に係る検査方法は、製品の良否を検査する情報処理方法であって、コンピュータが、前記製品の写る第1画像データ、及び前記第1画像データに写る前記製品の良否の判定に対する正解を示す第1正解データを取得するステップと、前記第1画像データに所定の変換処理を適用することで、それぞれ前記製品の写る複数件の第2画像データを前記第1画像データから生成するステップと、与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2画像データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2画像データを学習データとして採用するか否かを判定するステップと、学習データとして採用すると判定された第2画像データに、前記第1正解データに基づいて決定された、前記第2画像データに写る前記製品の良否の判定に対する正解を示す第2正解データを付与することで、当該第2画像データ及び当該第2正解データの対で構成された学習用データセットを生成するステップと、生成した前記学習用データセットを利用した機械学習を実施することで、前記製品の良否を判定する能力を習得した学習済みの第2識別器を構築するステップと、検査の対象となる前記製品の写る対象画像データを取得するステップと、取得した前記対象画像データを前記第2識別器に入力することで前記第2識別器から得られる出力に基づいて、前記対象画像データに写る前記製品の良否を判定するステップと、を実行する、情報処理方法である。
また、例えば、本発明の一側面に係る識別器生成方法は、コンピュータが、前記製品の写る第1画像データ、及び前記第1画像データに写る前記製品の良否の判定に対する正解を示す第1正解データを取得するステップと、前記第1画像データに所定の変換処理を適用することで、それぞれ前記製品の写る複数件の第2画像データを前記第1画像データから生成するステップと、与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2画像データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2画像データを学習データとして採用するか否かを判定するステップと、学習データとして採用すると判定された第2画像データに、前記第1正解データに基づいて決定された、前記第2画像データに写る前記製品の良否の判定に対する正解を示す第2正解データを付与することで、当該第2画像データ及び当該第2正解データの対で構成された学習用データセットを生成するステップと、生成した前記学習用データセットを利用した機械学習を実施することで、前記製品の良否を判定する能力を習得した学習済みの第2識別器を構築するステップと、を実行する、情報処理方法である。
また、例えば、本発明の一側面に係る学習データ生成方法は、コンピュータが、前記製品の写る第1画像データ、及び前記第1画像データに写る前記製品の良否の判定に対する正解を示す第1正解データを取得するステップと、前記第1画像データに所定の変換処理を適用することで、それぞれ前記製品の写る複数件の第2画像データを前記第1画像データから生成するステップと、与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2画像データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2画像データを学習データとして採用するか否かを判定するステップと、学習データとして採用すると判定された第2画像データに、前記第1正解データに基づいて決定された、前記第2画像データに写る前記製品の良否の判定に対する正解を示す第2正解データを付与することで、当該第2画像データ及び当該第2正解データの対で構成された学習用データセットを生成するステップと、を実行する、情報処理方法である。
また、例えば、本発明の一側面に係る生成プログラムは、コンピュータに、前記製品の写る第1画像データ、及び前記第1画像データに写る前記製品の良否の判定に対する正解を示す第1正解データを取得するステップと、前記第1画像データに所定の変換処理を適用することで、それぞれ前記製品の写る複数件の第2画像データを前記第1画像データから生成するステップと、与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2画像データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2画像データを学習データとして採用するか否かを判定するステップと、学習データとして採用すると判定された第2画像データに、前記第1正解データに基づいて決定された、前記第2画像データに写る前記製品の良否の判定に対する正解を示す第2正解データを付与することで、当該第2画像データ及び当該第2正解データの対で構成された学習用データセットを生成するステップと、を実行させるための、プログラムである。
また、例えば、本発明の一側面に係る画像識別方法は、コンピュータが、所定の被写体の写る第1画像データを取得するステップと、前記第1画像データに所定の変換処理を適用することで、それぞれ前記被写体の写る複数件の第2画像データを前記第1画像データから生成するステップと、与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2画像データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2画像データを学習データとして採用するか否かを判定するステップと、学習データとして採用すると判定された第2画像データを収集することで、学習データとして採用すると判定された複数件の当該第2画像データにより構成された学習用データ群を生成するステップと、生成した前記学習用データを利用した機械学習を実施することで、前記被写体の特徴を識別する能力を習得した学習済みの第2識別器を構築するステップと、特徴を識別する対象となる前記被写体の写る対象画像データを取得するステップと、取得した前記対象画像データを前記第2識別器に入力することで前記第2識別器から得られる出力に基づいて、前記対象画像データに写る前記被写体の特徴を識別するステップと、を実行する、情報処理方法である。
また、例えば、本発明の一側面に係る識別器生成方法は、コンピュータが、所定の被写体の写る第1画像データを取得するステップと、前記第1画像データに所定の変換処理を適用することで、それぞれ前記被写体の写る複数件の第2画像データを前記第1画像データから生成するステップと、与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2画像データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2画像データを学習データとして採用するか否かを判定するステップと、学習データとして採用すると判定された第2画像データを収集することで、学習データとして採用すると判定された複数件の当該第2画像データにより構成された学習用データ群を生成するステップと、生成した前記学習用データを利用した機械学習を実施することで、前記被写体の特徴を識別する能力を習得した学習済みの第2識別器を構築するステップと、を実行する、情報処理方法である。
また、例えば、本発明の一側面に係る学習データ生成方法は、コンピュータが、所定の被写体の写る第1画像データを取得するステップと、前記第1画像データに所定の変換処理を適用することで、それぞれ前記被写体の写る複数件の第2画像データを前記第1画像データから生成するステップと、与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2画像データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2画像データを学習データとして採用するか否かを判定するステップと、学習データとして採用すると判定された第2画像データを収集することで、学習データとして採用すると判定された複数件の当該第2画像データにより構成された学習用データ群を生成するステップと、を実行する、情報処理方法である。
また、例えば、本発明の一側面に係る生成プログラムは、コンピュータに、所定の被写体の写る第1画像データを取得するステップと、前記第1画像データに所定の変換処理を適用することで、それぞれ前記被写体の写る複数件の第2画像データを前記第1画像データから生成するステップと、与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2画像データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2画像データを学習データとして採用するか否かを判定するステップと、学習データとして採用すると判定された第2画像データを収集することで、学習データとして採用すると判定された複数件の当該第2画像データにより構成された学習用データ群を生成するステップと、を実行させるための、プログラムである。
また、例えば、本発明の一側面に係る識別方法は、コンピュータが、所定の特徴を含む第1データを取得するステップと、前記第1データに所定の変換処理を適用することで、前記第1データから複数件の第2データを生成するステップと、与えられたデータを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2データを学習データとして採用するか否かを判定するステップと、学習データとして採用すると判定された第2データを収集することで、学習データとして採用すると判定された複数件の当該第2データにより構成された学習用データ群を生成するステップと、生成した学習用データ群を利用した機械学習を実施することで、前記特徴を識別する能力を習得した学習済みの第2識別器を構築するステップと、識別する対象となる特徴を含む対象データを取得するステップと、取得した前記対象データを前記第2識別器に入力することで前記第2識別器から得られる出力に基づいて、前記対象データに含まれる前記特徴を識別するステップと、を実行する、情報処理方法である。
また、例えば、本発明の一側面に係る識別器生成方法は、所定の特徴を含む第1データを取得するステップと、前記第1データに所定の変換処理を適用することで、前記第1データから複数件の第2データを生成するステップと、与えられたデータを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2データを学習データとして採用するか否かを判定するステップと、学習データとして採用すると判定された第2データを収集することで、学習データとして採用すると判定された複数件の当該第2データにより構成された学習用データ群を生成するステップと、生成した学習用データ群を利用した機械学習を実施することで、前記特徴を識別する能力を習得した学習済みの第2識別器を構築するステップと、を実行する、情報処理方法である。
また、例えば、本発明の一側面に係る学習データ生成方法は、コンピュータが、所定の特徴を含む第1データを取得するステップと、前記第1データに所定の変換処理を適用することで、前記第1データから複数件の第2データを生成するステップと、与えられたデータを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2データを学習データとして採用するか否かを判定するステップと、学習データとして採用すると判定された第2データを収集することで、学習データとして採用すると判定された複数件の当該第2データにより構成された学習用データ群を生成するステップと、を実行する、情報処理方法である。
また、例えば、本発明の一側面に係る生成プログラムは、コンピュータに、所定の特徴を含む第1データを取得するステップと、前記第1データに所定の変換処理を適用することで、前記第1データから複数件の第2データを生成するステップと、与えられたデータを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2データを学習データとして採用するか否かを判定するステップと、学習データとして採用すると判定された第2データを収集することで、学習データとして採用すると判定された複数件の当該第2データにより構成された学習用データ群を生成するステップと、を実行させるための、プログラムである。
本発明によれば、低コストで推論精度の高い識別器を生成可能な技術を提供することができる。
以下、本発明の一側面に係る実施の形態(以下、「本実施形態」とも表記する)を、図面に基づいて説明する。ただし、以下で説明する本実施形態は、あらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。
§1 適用例
まず、本発明の基本的な構成の一例について説明する。学習データを利用した機械学習により識別器を構築する場合、次のような問題が生じ得る。すなわち、識別器を構成する学習モデルの機械学習を行うためには、学習データとして利用するデータを用意することになる。この学習データの件数が少ないと、識別器により対象のデータから所定の特徴を識別する精度が不十分になってしまう。一方で、特徴を識別する精度を高めるために、十分な件数の学習データを用意するにはコストがかかってしまう。
まず、本発明の基本的な構成の一例について説明する。学習データを利用した機械学習により識別器を構築する場合、次のような問題が生じ得る。すなわち、識別器を構成する学習モデルの機械学習を行うためには、学習データとして利用するデータを用意することになる。この学習データの件数が少ないと、識別器により対象のデータから所定の特徴を識別する精度が不十分になってしまう。一方で、特徴を識別する精度を高めるために、十分な件数の学習データを用意するにはコストがかかってしまう。
そこで、本発明の一例では、所定の特徴を含む第1データを取得し、取得した第1データに所定の変換処理を適用することで、当該第1データから複数件の第2データを生成する。次に、与えられたデータを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器を利用して、各件の第2データを学習データとして採用するか否かを判定する。学習データとして採用すると判定された第2データを収集することで、学習データとして採用すると判定された複数件の第2データにより構成された学習用データ群を生成する。そして、生成した学習用データ群を利用した機械学習を実施することで、対象の特徴を識別する能力を習得した学習済みの第2識別器を構築する。
これにより、本発明の一例では、第1データに所定の変換処理を適用することで、学習データの候補となる第2データを量産することができるため、機械学習を実施するのに十分な件数の学習データを低コストで用意することができる。加えて、第1識別器による判定の結果に基づいて、学習データとして不適切な第2データを学習データの候補から除外することができる。そのため、本発明の一例によれば、十分な件数の適切な学習データを低コストで用意することができ、用意した学習用データ群を利用した機械学習を実施することで、対象の特徴を識別する精度の比較的に高い第2識別器を構築することができる。したがって、本発明の一例によれば、低コストで推論制度の比較的に高い識別器を生成することができる。
次に、図1を用いて、本発明が適用される場面の一例について説明する。図1は、本発明を製品Rの外観検査に適用した場面の一例を模式的に例示する。ただし、本発明の適用範囲は、以下で例示する外観検査の例に限られる訳ではない。本発明は、学習データを利用した機械学習により識別器を構築するあらゆる場面に適用可能である。
図1で例示される検査システム100は、ネットワークを介して接続される学習データ生成装置1、第1学習装置2、第2学習装置3、及び検査装置4を備えており、製品Rの良否を検査するように構成される。学習データ生成装置1、第1学習装置2、第2学習装置3、及び検査装置4の間のネットワークの種類は、特に限定されなくてもよく、例えば、インターネット、無線通信網、移動通信網、電話網、専用網等から適宜選択されてよい。
なお、図1の例では、学習データ生成装置1、第1学習装置2、第2学習装置3、及び検査装置4はそれぞれ、別個のコンピュータである。しかしながら、検査システム100の構成は、このような例に限定されなくてもよい。学習データ生成装置1、第1学習装置2、第2学習装置3、及び検査装置4のうちの少なくともいずれかのペアは一体のコンピュータであってもよい。また、学習データ生成装置1、第1学習装置2、第2学習装置3、及び検査装置4はそれぞれ複数台のコンピュータにより構成されてもよい。
本実施形態に係る学習データ生成装置1は、製品の良否を判定する能力を識別器に習得させる機械学習に利用する学習データを生成するように構成されたコンピュータである。具体的には、学習データ生成装置1は、製品の写る第1画像データ122、及び第1画像データ122に写る製品の良否の判定に対する正解を示す第1正解データ123を取得する。そして、学習データ生成装置1は、取得した第1画像データ122に所定の変換処理を適用することで、それぞれ製品の写る複数件の第2画像データ125を第1画像データ122から生成する。
所定の変換処理は、第1画像データ122の少なくとも一部を変更する処理であって、第1画像データ122と完全には一致しない第2画像データ125を生成可能な処理であれば、特に限定されなくてもよい。所定の変換処理は、例えば、フォトメトリックな変換、ジオメトリックな変換、画像の合成、画像の置換及びこれらの組合せから選択されてよい。学習データ生成装置1は、変換処理のパラメータ(例えば、変換する明度の量等)を変更しながら、第1画像データ122に所定の変換処理を繰り返し適用することで、それぞれ異なる複数件の第2画像データ125を生成する。生成された各件の第2画像データ125は、製品の良否を判定する能力を習得するための機械学習に利用する学習データの候補となる。ただし、各件の第2画像データ125は、不自然な画像である、正しい状態で製品が写っていない等の理由により、学習データとして適切ではない可能性がある。
そこで、本実施形態に係る学習データ生成装置1は、与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器51に各件の第2画像データ125を入力することで、当該第1識別器51から出力を得る。第1識別器51の出力は、製品の良否を判定する能力を習得するための機械学習に利用する学習データとして採用するか否かを判定した結果を示す。そのため、学習データ生成装置1は、第1識別器51から得られる出力に基づいて、各件の第2画像データ125を学習データとして採用するか否かを判定する。
そして、学習データ生成装置1は、学習データとして判定された第2画像データ125に、第1正解データ123に基づいて決定された、第2画像データ125に写る製品の良否の判定に対する正解を示す第2正解データ126を付与する。これにより、学習データ生成装置1は、第2画像データ125及び第2正解データ126の対で構成された学習用データセット127を生成する。
一方、本実施形態に係る第1学習装置2は、学習データ生成装置1で利用する第1識別器51を構築するように構成されたコンピュータである。具体的には、第1学習装置2は、画像データ(後述する画像データ2221)、及び当該画像データを学習データとして採用するか否かの判定の正解を示す正解データ(後述する採否データ2222)の組み合わせで構成された学習用データセット(後述する第1学習用データセット222)を利用した機械学習を実施することで、与えられた画像データを学習データとして採用するか否かを判定する能力を習得した学習済みの第1識別器51を構築する。
また、本実施形態に係る第2学習装置3は、検査装置4で利用する第2識別器54を構築するように構成されたコンピュータである。具体的には、第2学習装置3は、学習データ生成装置1により生成された学習用データセット127を含む複数件の学習用データセットを利用した機械学習を実施することで、製品の良否を判定する能力を習得した学習済みの第2識別器54を構築する。そのため、学習データ生成装置1及び第2学習装置3により、第2識別器54を構築する識別器生成システムが構成される。
これに対して、本実施形態に係る検査装置4は、第2学習装置3で構築された第2識別器54を利用して、製品Rの良否を判定するように構成されたコンピュータである。具体的には、検査装置4は、検査の対象となる製品Rの写る対象画像データ422を取得する。本実施形態では、検査装置4は、カメラ81に接続されており、このカメラ81により製品Rを撮影することで、対象画像データ422を取得する。そして、検査装置4は、取得した対象画像データ422を第2識別器54に入力することで、第2識別器54から出力を得る。第2識別器54の出力は、製品Rの良否を判定した結果を示す。そのため、検査装置4は、第2識別器54から得られる出力に基づいて、対象画像データ422に写る製品Rの良否を判定する。
以上のとおり、本実施形態では、学習データ生成装置1により、第1画像データ122に所定の変換処理を適用することで、学習データの候補となる第2画像データ125を量産することができるため、十分な件数の学習用データセットを低コストで用意することができる。加えて、第1識別器51による判定の結果に基づいて、製品の良否を判定する能力を習得するための学習データとして不適切な第2画像データ125を機械学習に利用されないようにすることができる。そのため、本実施形態によれば、製品の良否を判定する能力を習得するための機械学習に利用する十分な件数の適切な学習用データセットを低コストで用意することができる。これにより、第2学習装置3では、用意した十分な件数の学習用データセットを利用した機械学習を実施することで、製品の良否を判定する精度の比較的に高い第2識別器54を構築することができる。したがって、本実施形態によれば、低コストで良否の判定精度の比較的に高い第2識別器54を生成することができる。
なお、外観検査の対象となる製品Rは、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。製品Rは、例えば、電子部品、自動車部品等の製造ラインで搬送される物であってよい。電子部品は、例えば、基盤、チップコンデンサ、液晶、リレーの巻線等である。自動車部品は、例えば、コンロッド、シャフト、エンジンブロック、パワーウィンドウスイッチ、パネル等である。また、良否の判定は、製品Rに欠陥があるか否かを単に判定することであってもよいし、製品Rに欠陥がある否かを判定することに加えて、その欠陥の種類を識別することを含んでもよい。欠陥は、例えば、傷、汚れ、クラック、打痕、埃、バリ、色ムラ等である。
§2 構成例
[ハードウェア構成]
<学習データ生成装置>
次に、図2を用いて、本実施形態に係る学習データ生成装置1のハードウェア構成の一例について説明する。図2は、本実施形態に係る学習データ生成装置1のハードウェア構成の一例を模式的に例示する。
[ハードウェア構成]
<学習データ生成装置>
次に、図2を用いて、本実施形態に係る学習データ生成装置1のハードウェア構成の一例について説明する。図2は、本実施形態に係る学習データ生成装置1のハードウェア構成の一例を模式的に例示する。
図2に示されるとおり、本実施形態に係る学習データ生成装置1は、制御部11、記憶部12、通信インタフェース13、入力装置14、出力装置15、及びドライブ16が電気的に接続されたコンピュータである。なお、図2では、通信インタフェースを「通信I/F」と記載している。
制御部11は、ハードウェアプロセッサであるCPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等を含み、プログラム及び各種データに基づいて情報処理を実行するように構成される。記憶部12は、メモリの一例であり、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。本実施形態では、記憶部12は、生成プログラム121、第1画像データ122、第1正解データ123、第2画像データ125、第2正解データ126、第1学習結果データ129等の各種情報を記憶する。
生成プログラム121は、製品の良否を判定する能力を習得するための機械学習に利用可能な複数件の第2画像データ125を第1画像データ122から生成する後述の情報処理(図10)を学習データ生成装置1に実行させるためのプログラムである。生成プログラム121は、当該情報処理の一連の命令を含む。第1画像データ122は、第2画像データ125を生成する元となる画像データである。第1正解データ123は、第1画像データ122に写る製品の良否の判定に対する正解を示す。各件の第2画像データ125は、第1画像データ122から生成される。各件の第2正解データ126は、各件の第2画像データ125に写る製品の良否の判定に対する正解を示す。第1学習結果データ129は、第1識別器51の設定を行うためのデータである。詳細は後述する。
通信インタフェース13は、例えば、有線LAN(Local Area Network)モジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。学習データ生成装置1は、この通信インタフェース13を利用することで、ネットワークを介したデータ通信を他の情報処理装置(例えば、第1学習装置2、第2学習装置3)と行うことができる。
入力装置14は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置15は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置14及び出力装置15を利用することで、学習データ生成装置1を操作することができる。
ドライブ16は、例えば、CDドライブ、DVDドライブ等であり、記憶媒体91に記憶されたプログラムを読み込むためのドライブ装置である。ドライブ16の種類は、記憶媒体91の種類に応じて適宜選択されてよい。上記生成プログラム121、第1画像データ122、第1正解データ123、及び第1学習結果データ129の少なくともいずれかは、この記憶媒体91に記憶されていてもよい。
記憶媒体91は、コンピュータその他装置、機械等が、記録されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。学習データ生成装置1は、この記憶媒体91から、上記生成プログラム121、第1画像データ122、第1正解データ123、及び第1学習結果データ129の少なくともいずれかを取得してもよい。
ここで、図2では、記憶媒体91の一例として、CD、DVD等のディスク型の記憶媒体を例示している。しかしながら、記憶媒体91の種類は、ディスク型に限定される訳ではなく、ディスク型以外であってもよい。ディスク型以外の記憶媒体として、例えば、フラッシュメモリ等の半導体メモリを挙げることができる。
なお、学習データ生成装置1の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部11は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA(field-programmable gate array)、DSP(digital signal processor)等で構成されてよい。記憶部12は、制御部11に含まれるRAM及びROMにより構成されてもよい。通信インタフェース13、入力装置14、出力装置15及びドライブ16の少なくともいずれかは省略されてもよい。学習データ生成装置1は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、学習データ生成装置1は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、PC(Personal Computer)等であってもよい。
<第1学習装置>
次に、図3を用いて、本実施形態に係る第1学習装置2のハードウェア構成の一例について説明する。図3は、本実施形態に係る第1学習装置2のハードウェア構成の一例を模式的に例示する。
次に、図3を用いて、本実施形態に係る第1学習装置2のハードウェア構成の一例について説明する。図3は、本実施形態に係る第1学習装置2のハードウェア構成の一例を模式的に例示する。
図3に示されるとおり、本実施形態に係る第1学習装置2は、制御部21、記憶部22、通信インタフェース23、入力装置24、出力装置25、及びドライブ26が電気的に接続されたコンピュータである。なお、図3では、図2と同様に、通信インタフェースを「通信I/F」と記載している。
第1学習装置2の制御部21~ドライブ26はそれぞれ、上記学習データ生成装置1の制御部11~ドライブ16それぞれと同様に構成されてよい。すなわち、制御部21は、ハードウェアプロセッサであるCPU、RAM、ROM等を含み、プログラム及びデータに基づいて各種情報処理を実行するように構成される。記憶部22は、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。記憶部22は、採否学習プログラム221、第1学習用データセット222、第1学習結果データ129等の各種情報を記憶する。
採否学習プログラム221は、第1識別器51を構築する後述の機械学習の情報処理(図11)を第1学習装置2に実行させ、その結果として第1学習結果データ129を生成させるためのプログラムである。採否学習プログラム221は、その情報処理の一連の命令を含む。第1学習用データセット222は、第1識別器51の機械学習に利用される。詳細は後述する。
通信インタフェース23は、例えば、有線LANモジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。第1学習装置2は、この通信インタフェース23を利用することで、ネットワークを介したデータ通信を他の情報処理装置(例えば、学習データ生成装置1)と行うことができる。
入力装置24は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置25は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置24及び出力装置25を利用することで、第1学習装置2を操作することができる。
ドライブ26は、例えば、CDドライブ、DVDドライブ等であり、記憶媒体92に記憶されたプログラムを読み込むためのドライブ装置である。上記採否学習プログラム221及び第1学習用データセット222のうちの少なくともいずれかは、記憶媒体92に記憶されていてもよい。また、第1学習装置2は、記憶媒体92から、上記採否学習プログラム221及び第1学習用データセット222のうちの少なくともいずれかを取得してもよい。
なお、第1学習装置2の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部21は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA、DSP等で構成されてよい。記憶部22は、制御部21に含まれるRAM及びROMにより構成されてもよい。通信インタフェース23、入力装置24、出力装置25及びドライブ26の少なくともいずれかは省略されてもよい。第1学習装置2は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、第1学習装置2は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC等であってもよい。
<第2学習装置>
次に、図4を用いて、本実施形態に係る第2学習装置3のハードウェア構成の一例について説明する。図4は、本実施形態に係る第2学習装置3のハードウェア構成の一例を模式的に例示する。
次に、図4を用いて、本実施形態に係る第2学習装置3のハードウェア構成の一例について説明する。図4は、本実施形態に係る第2学習装置3のハードウェア構成の一例を模式的に例示する。
図4に示されるとおり、本実施形態に係る第2学習装置3は、制御部31、記憶部32、通信インタフェース33、入力装置34、出力装置35、及びドライブ36が電気的に接続されたコンピュータである。なお、図4では、図2と同様に、通信インタフェースを「通信I/F」と記載している。
第2学習装置3の制御部31~ドライブ36はそれぞれ、上記学習データ生成装置1の制御部11~ドライブ16それぞれと同様に構成されてよい。すなわち、制御部31は、ハードウェアプロセッサであるCPU、RAM、ROM等を含み、プログラム及びデータに基づいて各種情報処理を実行するように構成される。記憶部32は、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。記憶部32は、学習プログラム321、第2学習用データセット322、第2学習結果データ323等の各種情報を記憶する。
学習プログラム321は、第2識別器54を構築する後述の機械学習の情報処理(図12)を第2学習装置3に実行させ、その結果として第2学習結果データ323を生成するためのプログラムである。学習プログラム321は、その情報処理の一連の命令を含む。第2学習用データセット322は、第2識別器54の機械学習に利用される。詳細は後述する。
通信インタフェース33は、例えば、有線LANモジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。第2学習装置3は、この通信インタフェース33を利用することで、ネットワークを介したデータ通信を他の情報処理装置(例えば、学習データ生成装置1、検査装置4)と行うことができる。
入力装置34は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置35は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置34及び出力装置35を利用することで、第2学習装置3を操作することができる。
ドライブ36は、例えば、CDドライブ、DVDドライブ等であり、記憶媒体93に記憶されたプログラムを読み込むためのドライブ装置である。上記学習プログラム321及び第2学習用データセット322のうちの少なくともいずれかは、記憶媒体93に記憶されていてもよい。また、第2学習装置3は、記憶媒体93から、上記学習プログラム321及び第2学習用データセット322のうちの少なくともいずれかを取得してもよい。
なお、第2学習装置3の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部31は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA、DSP等で構成されてよい。記憶部32は、制御部31に含まれるRAM及びROMにより構成されてもよい。通信インタフェース33、入力装置34、出力装置35及びドライブ36の少なくともいずれかは省略されてもよい。第2学習装置3は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、第2学習装置3は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC等であってもよい。
<検査装置>
次に、図5を用いて、本実施形態に係る検査装置4のハードウェア構成の一例について説明する。図5は、本実施形態に係る検査装置4のハードウェア構成の一例を模式的に例示する。
次に、図5を用いて、本実施形態に係る検査装置4のハードウェア構成の一例について説明する。図5は、本実施形態に係る検査装置4のハードウェア構成の一例を模式的に例示する。
図5に示されるとおり、本実施形態に係る検査装置4は、制御部41、記憶部42、通信インタフェース43、外部インタフェース44、入力装置45、出力装置46、及びドライブ47が電気的に接続されたコンピュータである。なお、図5では、通信インタフェース及び外部インタフェースをそれぞれ「通信I/F」及び「外部I/F」と記載している。
検査装置4の制御部41~通信インタフェース43及び入力装置45~ドライブ47はそれぞれ、上記学習データ生成装置1の制御部11~ドライブ16それぞれと同様に構成されてよい。すなわち、制御部41は、ハードウェアプロセッサであるCPU、RAM、ROM等を含み、プログラム及びデータに基づいて各種情報処理を実行するように構成される。記憶部42は、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。記憶部42は、検査プログラム421、第2学習結果データ323等の各種情報を記憶する。
検査プログラム421は、第2識別器54を利用して、対象画像データ422に写る製品Rの良否を判定する後述の情報処理(図13)を検査装置4に実行させるためのプログラムである。検査プログラム421は、その情報処理の一連の命令を含む。第2学習結果データ323は、第2識別器54の設定を行うためのデータである。詳細は後述する。
通信インタフェース43は、例えば、有線LANモジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。検査装置4は、この通信インタフェース43を利用することで、ネットワークを介したデータ通信を他の情報処理装置(例えば、第2学習装置3)と行うことができる。
外部インタフェース44は、例えば、USB(Universal Serial Bus)ポート、専用ポート等であり、外部装置と接続するためのインタフェースである。外部インタフェース44の種類及び数は、接続される外部装置の種類及び数に応じて適宜選択されてよい。本実施形態では、検査装置4は、外部インタフェース44を介して、カメラ81に接続される。
カメラ81は、製品Rを撮影することで、対象画像データ422を取得するのに利用される。カメラ81の種類及び配置場所は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。カメラ81には、例えば、デジタルカメラ、ビデオカメラ等の公知のカメラが利用されてよい。また、カメラ81は、製品Rが搬送される製造ラインの近傍に配置されてよい。なお、カメラ81が通信インタフェースを備える場合、検査装置4は、外部インタフェース44ではなく、通信インタフェース43を介して、カメラ81に接続されてもよい。
入力装置45は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置46は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置45及び出力装置46を利用することで、検査装置4を操作することができる。
ドライブ47は、例えば、CDドライブ、DVDドライブ等であり、記憶媒体94に記憶されたプログラムを読み込むためのドライブ装置である。上記検査プログラム421及び第2学習結果データ323のうちの少なくともいずれかは、記憶媒体94に記憶されていてもよい。また、検査装置4は、記憶媒体94から、上記検査プログラム421及び第2学習結果データ323のうちの少なくともいずれかを取得してもよい。
なお、検査装置4の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部41は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA、DSP等で構成されてよい。記憶部42は、制御部41に含まれるRAM及びROMにより構成されてもよい。通信インタフェース43、外部インタフェース44、入力装置45、出力装置46及びドライブ47の少なくともいずれかは省略されてもよい。検査装置4は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、検査装置4は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のデスクトップPC、ノートPC、タブレットPC、スマートフォンを含む携帯電話等が用いられてよい。
[ソフトウェア構成]
<学習データ生成装置>
次に、図6を用いて、本実施形態に係る学習データ生成装置1のソフトウェア構成の一例を説明する。図6は、本実施形態に係る学習データ生成装置1のソフトウェア構成の一例を模式的に例示する。
<学習データ生成装置>
次に、図6を用いて、本実施形態に係る学習データ生成装置1のソフトウェア構成の一例を説明する。図6は、本実施形態に係る学習データ生成装置1のソフトウェア構成の一例を模式的に例示する。
学習データ生成装置1の制御部11は、記憶部12に記憶された生成プログラム121をRAMに展開する。そして、制御部11は、RAMに展開された生成プログラム121に含まれる命令をCPUにより解釈及び実行して、各構成要素を制御する。これによって、図6に示されるとおり、本実施形態に係る学習データ生成装置1は、データ取得部111、第1生成部112、判定部113、及び第2生成部114をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、各ソフトウェアモジュールは、制御部11(CPU)により実現される。
データ取得部111は、製品の写る第1画像データ122、及び第1画像データ122に写る製品の良否の判定に対する正解を示す第1正解データ123を取得する。第1生成部112は、第1画像データ122に所定の変換処理を適用することで、それぞれ製品の写る複数件の第2画像データ125を第1画像データ122から生成する。
判定部113は、与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器51を含んでいる。判定部113は、この第1識別器51に各件の第2画像データ125を入力することで当該第1識別器51から得られる出力に基づいて、各件の第2画像データ125を学習データとして採用するか否かを判定する。
第2生成部114は、製品の良否を判定する能力を習得するための機械学習に利用する学習データとして採用すると判定された第2画像データ125に第2正解データ126を付与する。第2正解データ126は、第1正解データ123に基づいて決定された、第2画像データ125に写る製品の良否の判定に対する正解を示す。これにより、第2生成部114は、第2画像データ125及び第2正解データ126の対で構成された学習用データセット127を生成する。
(識別器)
次に、第1識別器51の構成について説明する。図6に示されるとおり、第1識別器51は、ニューラルネットワークにより構成されている。具体的には、第1識別器51には、いわゆる畳み込みニューラルネットワークにより構成されており、畳み込み層511、プーリング層512、全結合層513、及び出力層514を備えている。
次に、第1識別器51の構成について説明する。図6に示されるとおり、第1識別器51は、ニューラルネットワークにより構成されている。具体的には、第1識別器51には、いわゆる畳み込みニューラルネットワークにより構成されており、畳み込み層511、プーリング層512、全結合層513、及び出力層514を備えている。
畳み込みニューラルネットワークは、畳み込み層及びプーリング層を交互に接続した構造を有する順伝搬型ニューラルネットワークである。本実施形態に係る第1識別器51では、複数の畳み込み層511及びプーリング層512が入力側に交互に配置されている。そして、最も出力側に配置されたプーリング層512の出力が全結合層513に入力され、全結合層513の出力が出力層514に入力される。
畳み込み層511は、画像の畳み込みの演算を行う層である。画像の畳み込みとは、画像と所定のフィルタとの相関を算出する処理に相当する。そのため、画像の畳み込みを行うことで、例えば、フィルタの濃淡パターンと類似する濃淡パターンを入力される画像から検出することができる。
プーリング層512は、プーリング処理を行う層である。プーリング処理は、画像のフィルタに対する応答の強かった位置の情報を一部捨て、画像内に現れる特徴の微小な位置変化に対する応答の不変性を実現する。
全結合層513は、隣接する層の間のニューロン全てを結合した層である。すなわち、全結合層513に含まれる各ニューロンは、隣接する層に含まれる全てのニューロンに結合される。全結合層513は、2層以上で構成されてもよい。また、全結合層513に含まれるニューロンの個数は、実施の形態に応じて適宜設定されてよい。
出力層514は、第1識別器51の最も出力側に配置される層である。出力層514に含まれるニューロンの個数は、学習データとして採用するか否かを判定した結果の出力形式に応じて適宜設定されてよい。なお、第1識別器51の構成は、このような例に限定されなくてもよく、実施の形態に応じて適宜設定されてよい。
各層511~514に含まれる各ニューロンには閾値が設定されており、基本的には、各入力と各重みとの積の和が閾値を超えているか否かによって各ニューロンの出力が決定される。判定部113は、第1識別器51の最も入力側に配置された畳み込み層511に第2画像データ125を入力し、入力側から順に、各層に含まれる各ニューロンの発火判定を行う。これにより、判定部113は、入力された第2画像データ125を学習データとして採用するか否かを判定した結果に対応する出力値を出力層514から取得する。
なお、このような第1識別器51の構成(ニューラルネットワークの層数、各層におけるニューロンの個数、ニューロン同士の結合関係、各ニューロンの伝達関数)、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報は、第1学習結果データ129に含まれている。判定部113は、第1学習結果データ129を参照して、学習済みの第1識別器51の設定を行う。
<第1学習装置>
次に、図7を用いて、本実施形態に係る第1学習装置2のソフトウェア構成の一例について説明する。図7は、本実施形態に係る第1学習装置2のソフトウェア構成の一例を模式的に例示する。
次に、図7を用いて、本実施形態に係る第1学習装置2のソフトウェア構成の一例について説明する。図7は、本実施形態に係る第1学習装置2のソフトウェア構成の一例を模式的に例示する。
第1学習装置2の制御部21は、記憶部22に記憶された採否学習プログラム221をRAMに展開する。そして、制御部21は、RAMに展開された採否学習プログラム221に含まれる命令をCPUにより解釈及び実行して、各構成要素を制御する。これによって、図7に示されるとおり、本実施形態に係る第1学習装置2は、第1学習データ取得部211、及び第1学習処理部212をソフトウェアモジュールとして備えるコンピュータとして構成される。すなわち、本実施形態では、各ソフトウェアモジュールは、制御部21(CPU)により実現される。
第1学習データ取得部211は、製品の写り得る画像データ2221及び画像データ2221を学習データとして採用するか否かの判定の正解を示す採否データ2222の組み合わせでそれぞれ構成された複数件の第1学習用データセット222を取得する。画像データ2221は、採否判定の学習データ(訓練データ)として利用され、採否データ2222は、教師データ(正解データ)として利用される。画像データ2221は、本発明の「第5画像データ」の一例である。採否データ2222は、本発明の「第3正解データ」の一例である。
第1学習処理部212は、取得した各件の第1学習用データセット222を利用して、ニューラルネットワーク52の機械学習を実施する。すなわち、第1学習処理部212は、画像データ2221を入力すると、採否データ2222に対応する出力値を出力するようにニューラルネットワーク52の学習処理を行う。
ニューラルネットワーク52は、学習対象となる学習モデルであり、学習前の第1識別器51である。ニューラルネットワーク52は、上記第1識別器51と同様に構成される。すなわち、ニューラルネットワーク52は、畳み込み層521、プーリング層522、全結合層523、及び出力層524を備えている。各層521~524は、上記第1識別器51の各層511~514と同様に構成される。
第1学習処理部212は、ニューラルネットワークの学習処理により、最も入力側に配置された畳み込み層521に画像データ2221が入力されると、採否データ2222に対応する出力値を出力層524から出力するようにニューラルネットワーク52を学習させる。これにより、第1学習処理部212は、与えられた画像データを学習データとして採用するか否かを判定する能力を習得した学習済みの第1識別器51を構築することができる。第1学習処理部212は、学習後のニューラルネットワーク52(すなわち、第1識別器51)の構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報を第1学習結果データ129として記憶部22に格納する。
<第2学習装置>
次に、図8を用いて、本実施形態に係る第2学習装置3のソフトウェア構成の一例について説明する。図8は、本実施形態に係る第2学習装置3のソフトウェア構成の一例を模式的に例示する。
次に、図8を用いて、本実施形態に係る第2学習装置3のソフトウェア構成の一例について説明する。図8は、本実施形態に係る第2学習装置3のソフトウェア構成の一例を模式的に例示する。
第2学習装置3の制御部31は、記憶部32に記憶された学習プログラム321をRAMに展開する。そして、制御部31は、RAMに展開された学習プログラム321に含まれる命令をCPUにより解釈及び実行して、各構成要素を制御する。これによって、図8に示されるとおり、本実施形態に係る第2学習装置3は、第2学習データ取得部311、及び第2学習処理部312をソフトウェアモジュールとして備えるコンピュータとして構成される。すなわち、本実施形態では、各ソフトウェアモジュールは、制御部31(CPU)により実現される。
第2学習データ取得部311は、製品の写る画像データ3221、及び画像データ3221に写る製品の良否の判定に対する正解を示す正解データ3222の組み合わせでそれぞれ構成された複数件の第2学習用データセット322を取得する。画像データ3221は、製品の良否判定の学習データ(訓練データ)として利用され、正解データ3222は、教師データとして利用される。
複数件の第2学習用データセット322は、学習データ生成装置1により生成された学習用データセット127を含む。すなわち、少なくとも一部の第2学習用データセット322の画像データ3221は、上記第2画像データ125であり、正解データ3222は、上記第2正解データ126である。また、学習用データセット127を生成する元となった第1画像データ122及び第1正解データ123の組み合わせ(データセット)は、複数件の第2学習用データセット322のうちから選択された第2学習用データセット322であってもよい。
なお、第2学習データ取得部311は、第2学習用データセット322を量産元のデータセット(第1画像データ122及び第1正解データ123)として学習データ生成装置1に送信し、複数件の学習用データセット127を生成させてもよい。これにより、第2学習データ取得部311は、生成された複数件の学習用データセット127を第2学習用データセット322として受信することで、機械学習に利用する第2学習用データセット322の件数を増やすことができる。
第2学習処理部312は、取得した各件の第2学習用データセット322を利用して、ニューラルネットワーク53の機械学習を実施する。すなわち、第2学習処理部312は、画像データ3221を入力すると、正解データ3222に対応する出力値を出力するようにニューラルネットワーク53の学習処理を行う。第2学習処理部312は、本発明の「学習処理部」の一例である。
ニューラルネットワーク53は、学習対象となる学習モデルであり、学習前の第2識別器54である。本実施形態では、ニューラルネットワーク53(及び、第2識別器54)は、いわゆる畳み込みニューラルネットワークである。このニューラルネットワーク53は、上記第1識別器51と同様に構成されてよい。すなわち、ニューラルネットワーク53は、畳み込み層531、プーリング層532、全結合層533、及び出力層534を備えている。各層531~534は、上記第1識別器51の各層511~514と同様に構成されてよい。ただし、ニューラルネットワーク53の構造は、第1識別器51と一致していなくてもよい。例えば、ニューラルネットワーク53の層の数、各層におけるニューロンの個数、及びニューロン同士の結合関係は、第1識別器51と異なっていてもよい。
第2学習処理部312は、ニューラルネットワークの学習処理により、最も入力側に配置された畳み込み層531に画像データ3221が入力されると、正解データ3222に対応する出力値を出力層534から出力するようにニューラルネットワーク53を学習させる。これにより、第2学習処理部312は、対象の画像データに写る製品の良否を判定する能力を習得した学習済みの第2識別器54を構築することができる。第2学習処理部312は、学習後のニューラルネットワーク53(すなわち、第2識別器54)の構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報を第2学習結果データ323として記憶部32に格納する。
<検査装置>
次に、図9を用いて、本実施形態に係る検査装置4のソフトウェア構成の一例について説明する。図9は、本実施形態に係る検査装置4のソフトウェア構成の一例を模式的に例示する。
次に、図9を用いて、本実施形態に係る検査装置4のソフトウェア構成の一例について説明する。図9は、本実施形態に係る検査装置4のソフトウェア構成の一例を模式的に例示する。
検査装置4の制御部41は、記憶部42に記憶された検査プログラム421をRAMに展開する。そして、制御部41は、RAMに展開された検査プログラム421に含まれる命令をCPUにより解釈及び実行して、各構成要素を制御する。これによって、図9に示されるとおり、本実施形態に係る検査装置4は、対象データ取得部411、良否判定部412、及び出力部413をソフトウェアモジュールとして備えるコンピュータとして構成される。すなわち、本実施形態では、各ソフトウェアモジュールは、制御部41(CPU)により実現される。
対象データ取得部411は、検査の対象となる製品Rの写る対象画像データ422を取得する。本実施形態では、対象データ取得部411は、カメラ81により製品Rを撮影することで、対象画像データ422を取得する。良否判定部412は、対象の画像データに写る製品の良否を判定する能力を習得した学習済みの第2識別器54を含んでいる。良否判定部412は、第2識別器54を利用して、対象画像データ422に写る製品Rの良否を判定する。
具体的には、良否判定部412は、第2学習結果データ323を参照して、学習済みの第2識別器54の設定を行う。次に、良否判定部412は、取得した対象画像データ422を第2識別器54に入力して、第2識別器54の演算処理を実行することで、第2識別器54から出力値を取得する。そして、良否判定部412は、第2識別器54から取得した出力値に基づいて、対象画像データ422に写る製品Rの良否を判定する。出力部413は、製品Rの良否を判定した結果、すなわち、外観検査の結果を出力する。
なお、上記のとおり、本実施形態に係る第2識別器54は、いわゆる畳み込みニューラルネットワークにより構成されており、上記ニューラルネットワーク53と同様に構成される。すなわち、第2識別器54は、畳み込み層541、プーリング層542、全結合層543、及び出力層534を備えている。各層541~544は、上記ニューラルネットワーク53の各層531~534と同様に構成される。
<その他>
学習データ生成装置1、第1学習装置2、第2学習装置3、及び検査装置4の各ソフトウェアモジュールに関しては後述する動作例で詳細に説明する。なお、本実施形態では、学習データ生成装置1、第1学習装置2、第2学習装置3、及び検査装置4の各ソフトウェアモジュールがいずれも汎用のCPUによって実現される例について説明している。しかしながら、以上のソフトウェアモジュールの一部又は全部が、1又は複数の専用のプロセッサにより実現されてもよい。また、学習データ生成装置1、第1学習装置2、第2学習装置3、及び検査装置4それぞれのソフトウェア構成に関して、実施形態に応じて、適宜、ソフトウェアモジュールの省略、置換及び追加が行われてもよい。
学習データ生成装置1、第1学習装置2、第2学習装置3、及び検査装置4の各ソフトウェアモジュールに関しては後述する動作例で詳細に説明する。なお、本実施形態では、学習データ生成装置1、第1学習装置2、第2学習装置3、及び検査装置4の各ソフトウェアモジュールがいずれも汎用のCPUによって実現される例について説明している。しかしながら、以上のソフトウェアモジュールの一部又は全部が、1又は複数の専用のプロセッサにより実現されてもよい。また、学習データ生成装置1、第1学習装置2、第2学習装置3、及び検査装置4それぞれのソフトウェア構成に関して、実施形態に応じて、適宜、ソフトウェアモジュールの省略、置換及び追加が行われてもよい。
§3 動作例
[第1学習データ生成装置]
次に、図10を用いて、本実施形態に係る学習データ生成装置1の動作例について説明する。図10は、本実施形態に係る学習データ生成装置1の処理手順の一例を例示するフローチャートである。以下で説明する処理手順は、学習データ生成方法の一例である。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
[第1学習データ生成装置]
次に、図10を用いて、本実施形態に係る学習データ生成装置1の動作例について説明する。図10は、本実施形態に係る学習データ生成装置1の処理手順の一例を例示するフローチャートである。以下で説明する処理手順は、学習データ生成方法の一例である。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
(ステップS101)
ステップS101では、制御部11は、データ取得部111として動作し、第1画像データ122、及び第1画像データ122に写る製品の良否の判定に対する正解を示す第1正解データ123を取得する。
ステップS101では、制御部11は、データ取得部111として動作し、第1画像データ122、及び第1画像データ122に写る製品の良否の判定に対する正解を示す第1正解データ123を取得する。
第1画像データ122及び第1正解データ123を取得する方法は、特に限定されていなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、カメラを用意し、検査対象となる製品Rと同種の製品であって、欠陥のある又は欠陥のない製品を用意したカメラにより撮影する。これにより、良否の表れた製品の写る第1画像データ122を取得することができる。そして、得られた第1画像データ122に対して、その第1画像データ122に写る製品に表れた良否(正解)を示す第1正解データ123を適宜取得する。これにより、第1画像データ122及び第1正解データ123の組み合わせ(データセット)を作成することができる。
この第1画像データ122及び第1正解データ123の組み合わせの作成は、学習データ生成装置1により行われてもよい。この場合、制御部11は、オペレータによる入力装置14の操作に応じて、第1画像データ122及び第1正解データ123の組み合わせを作成してもよい。また、制御部11は、生成プログラム121の処理により、第1画像データ122及び第1正解データ123の組み合わせを自動的に作成してもよい。この作成処理を実行することで、本ステップS101では、制御部11は、第1画像データ122及び第1正解データ123の組み合わせを取得することができる。
あるいは、第1画像データ122及び第1正解データ123の組み合わせを作成は、例えば、第2学習装置3等の、学習データ生成装置1以外の他の情報処理装置により行われてもよい。他の情報処理装置では、第1画像データ122及び第1正解データ123の組み合わせは、オペレータにより手動で作成されてもよいし、プログラムの処理により自動的に作成されてもよい。この場合、本ステップS101では、制御部11は、ネットワーク、記憶媒体91等を介して、他の情報処理装置により作成された第1画像データ122及び第1正解データ123の組み合わせを取得してもよい。
また、この場合、第1画像データ122及び第1正解データ123の組み合わせは、第2学習装置3において利用される複数件の第2学習用データセット322から選択された第2学習用データセット322であってもよい。複数件の第2学習用データセット322は、第2学習装置3の記憶部22に格納されていてもよいし、NAS(Network Attached Storage)等の外部の記憶装置に格納されていてもよい。この場合、本ステップS101では、制御部11は、ネットワーク、記憶媒体91等を介して、第1画像データ122及び第1正解データ123の組み合わせを、第2学習装置3、外部の記憶装置等の記憶領域から取得することができる。
第1画像データ122及び第1正解データ123の組み合わせ(データセット)の取得が完了すると、制御部11は、次のステップS102に処理を進める。なお、本ステップS101では、複数件のデータセットが取得されてもよい。複数件のデータセットを取得した場合、制御部11は、各件のデータセットについて、以降のステップS102~S104を実行する。
(ステップS102)
ステップS102では、制御部11は、第1生成部112として動作し、ステップS101で取得した第1画像データ122に所定の変換処理を適用する。これにより、制御部11は、それぞれ製品の写る複数件の第2画像データ125を第1画像データ122から生成する。
ステップS102では、制御部11は、第1生成部112として動作し、ステップS101で取得した第1画像データ122に所定の変換処理を適用する。これにより、制御部11は、それぞれ製品の写る複数件の第2画像データ125を第1画像データ122から生成する。
所定の変換処理は、実施の形態に応じて適宜選択されてよい。例えば、所定の変換処理は、フォトメトリックな変換処理、ジオメトリックな変換処理、画像の合成処理、画像の置換処理及びこれらの組合せから選択されてよい。なお、フォトメトリックな変換処理とは、画像の輝度等の明るさを変換する処理であり、例えば、明度の変換処理等である。明度の変換処理は、第1画像データ122の少なくとも一部の画素値を変更する処理である。ジオメトリックな変換処理とは、画像の空間座標を変換する処理であり、例えば、アフィン変換、射影変換等である。アフィン変換は、第1画像データ122の少なくとも一部を線型変換及び平行移動可能な処理である。画像の合成は、第1画像データ122の少なくとも一部の領域にノイズ等の所定の画像を合成することである。画像置換は、第1画像データ122の少なくとも一部の領域をその他の画像に置き換えることである。これらの変換処理には、機械学習により構築された変換器が利用されてもよい。
これらの変換処理により、第1画像データ122から、当該第1画像データ122と完全には一致しない第2画像データ125を生成することができる。制御部11は、変換処理のパラメータ(例えば、変換する明度の量、アフィン変換の変換行列の各値等)を適宜変更しながら、第1画像データ122に当該変換処理を繰り返し適用する。この変換処理のパラメータの値は、複数のテンプレートにより予め与えられていてもよいし、ランダムに又は所定の規則に従って適宜変更されてよい。
これにより、制御部11は、それぞれ異なる複数件の第2画像データ125を生成することができる。生成する第2画像データ125の件数は、実施の形態に応じて適宜決定されてよい。生成された各件の第2画像データ125は、製品の良否を判定する能力を習得するための機械学習に利用する学習データの候補となる。複数件の第2画像データ125の生成が完了すると、制御部11は、次のステップS103に処理を進める。
(ステップS103)
ステップS103では、制御部11は、判定部113として動作し、ステップS102で生成した各件の第2画像データ125を第1識別器51に入力することで当該第1識別器51から得られる出力に基づいて、各件の第2画像データ125を学習データとして採用するか否かを判定する。
ステップS103では、制御部11は、判定部113として動作し、ステップS102で生成した各件の第2画像データ125を第1識別器51に入力することで当該第1識別器51から得られる出力に基づいて、各件の第2画像データ125を学習データとして採用するか否かを判定する。
本実施形態では、制御部11は、第1学習結果データ129を参照し、学習済みの第1識別器51の設定を行う。続いて、制御部11は、各件の第2画像データ125を第1識別器51に入力し、第1識別器51の演算処理を実行する。これにより、制御部11は、第1識別器51から出力値を取得する。
具体的には、制御部11は、ステップS102で生成した各件の第2画像データ125を、第1識別器51の最も入力側に配置された畳み込み層511に入力する。そして、制御部11は、入力側から順に、各層511~514に含まれる各ニューロンの発火判定を行う。これにより、制御部11は、各件の第2画像データ125を学習データとして採用するか否かを判定した結果に対応する出力値を出力層514から取得する。
そして、制御部11は、出力層514から取得した出力値に基づいて、各件の第2画像データ125を学習データとして採用するか否かを判定する。ここで、出力層514から得られる出力値の形式は、実施の形態に応じて適宜選択されてよい。例えば、出力層514から得られる出力値は、学習データとして採用するか否かを2値で示してもよい。この場合、制御部11は、出力層514から得られる出力値に応じて、対象の第2画像データ125を学習データとして採用するか否かを特定することができる。また、例えば、出力層514から得られる出力値は、学習データとして適切又は不適切である度合いを連続値で示してもよい。この場合、制御部11は、出力層514から得られる出力値と閾値とを比較することで、対象の第2画像データ125を学習データとして採用するか否かを判定することができる。これにより、各件の第2画像データ125を学習データとして採用するか否かの判定が完了すると、制御部11は、次のステップS104に処理を進める。
(ステップS104)
ステップS104では、制御部11は、第2生成部114として動作し、製品の良否を判定する能力を習得するための機械学習に利用する学習データとして採用すると判定された第2画像データ125に第2正解データ126を付与する。
ステップS104では、制御部11は、第2生成部114として動作し、製品の良否を判定する能力を習得するための機械学習に利用する学習データとして採用すると判定された第2画像データ125に第2正解データ126を付与する。
第2正解データ126は、第2画像データ125に写る製品の良否の判定に対する正解を示すように適宜設定される。本実施形態では、第2正解データ126により示される正解は、第1正解データ123に基づいて決定される。例えば、ステップS102における変換処理を適用しても、製品に表れる良否の状態に変更がない場合には、制御部11は、第1正解データ123をそのまま第2正解データ126として利用してもよい。
また、例えば、各正解データ(123、126)は、欠陥のある箇所を示す等のように、上記所定の変換処理により変化し得る値で製品の良否を示してもよい。この場合、制御部11は、第1正解データ123の値に上記所定の変換処理を適用することで、第2正解データ126の値を導出してもよい。
また、ステップS102で適用する変換処理によっては、例えば、欠陥箇所の画像が欠陥のない画像で上書きされる等のように、第1画像データ122と第2画像データ125との間で、製品に表れる良否の状態が変化する(例えば、入れ替わる)ケースがあり得る。この場合、制御部11は、ステップS102において適用した所定の変換処理に基づいて、第1正解データ123により示される正解が変化するか否かを判定し、当該判定の結果に基づいて、第2正解データ126の内容を決定してもよい。
以上により、制御部11は、製品の写る第2画像データ125、及び第2画像データ125に写る製品の良否の判定に対する正解を示す第2正解データ126の対で構成された学習用データセット127を生成することができる。制御部11は、学習データとして採用すると判定された複数件の第2画像データ125を収集し、収集した各件の第2画像データ125に第2正解データ126を付与することで、複数件の学習用データセット127により構成された学習用データ群を生成してもよい。
なお、第2正解データ126を付与する形態は、実施の形態に応じて適宜選択されてよい。例えば、1件の第2画像データ125毎に1件の第2正解データ126を付与してもよい。また、製品の良否の判定に対する正解が共通である複数件の第2画像データ125に1件の第2正解データ126を一括で付与してもよい。この場合、正解が共通である複数件の第2画像データ125をグループにまとめることで、1件の第2正解データ126が付与されていると取り扱ってもよい。
学習用データセット127の生成が完了した後、制御部11は、生成した学習用データセット127を所定の記憶領域に保存する。所定の記憶領域は、記憶部12であってもよいし、NAS等の外部の記憶領域であってもよい。また、制御部11は、生成した学習用データセット127を第2学習装置3に配信してもよい。これにより、生成した学習用データセット127の保存処理が完了すると、制御部11は、本動作例に係る処理を終了する。
なお、制御部11は、生成される学習用データセット127の件数が閾値を超えるまで、ステップS101~S104の一連の処理を繰り返してもよい。このとき、第2画像データ125を生成する元となる第1画像データ122は、一連の処理を繰り返す度に変更されてもよいし、少なくとも所定回数の繰り返しで共通に利用されてもよい。第1画像データ122を共通に利用する場合、ステップS101の処理は省略されてよい。
また、学習データとして採用しないと判定された第2画像データ125の処理は、実施の形態に応じて適宜決定されてよい。例えば、制御部11は、学習データとして採用しないと判定された第2画像データ125を削除してもよい。また、例えば、学習データ生成装置1が出力装置15としてディスプレイを備えている場合、制御部11は、学習データとして採用しないと判定された第2画像データ125をディスプレイに表示してもよい。これにより、制御部11は、第2画像データ125を学習データとして利用するか削除するかの選択を受け付けてもよい。この場合、オペレータは、入力装置14を操作することで、第1識別器51により学習データとして採用しないと判定された第2画像データ125を学習データとして利用するか削除するかを選択することができる。
[第1学習装置]
次に、図11を用いて、本実施形態に係る第1学習装置2の動作例について説明する。図11は、本実施形態に係る第1学習装置2の処理手順の一例を例示するフローチャートである。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
次に、図11を用いて、本実施形態に係る第1学習装置2の動作例について説明する。図11は、本実施形態に係る第1学習装置2の処理手順の一例を例示するフローチャートである。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
(ステップS201)
ステップS201では、制御部21は、第1学習データ取得部211として動作し、画像データ2221及び採否データ2222の組み合わせでそれぞれ構成された複数件の第1学習用データセット222を取得する。
ステップS201では、制御部21は、第1学習データ取得部211として動作し、画像データ2221及び採否データ2222の組み合わせでそれぞれ構成された複数件の第1学習用データセット222を取得する。
第1学習用データセット222を取得する方法は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、カメラを用意し、検査対象となる製品Rと同種の製品であって、欠陥のある又は欠陥のない製品を用意したカメラにより撮影する。これにより得られた撮影画像データを画像データ2221として利用してもよい。また、第2学習用データセット322に含まれる画像データ3221を画像データ2221として利用してもよい。更に、撮影画像データ又は画像データ3221に上記所定の変換処理を適用することで、画像データ2221を生成してもよい。
そして、得られた画像データ2221に対して、製品の良否を判定する能力を習得するための機械学習に利用する学習データとしてその画像データ2221を採用するか否かの正解を示す採否データ2222を組み合わせることで、第1学習用データセット222を作成することができる。この作成を繰り返すことで、複数件の第1学習用データセット222を作成することができる。
なお、採否データ2222のデータ形式は、第1識別器51の出力(すなわち、出力層514から得られる出力値)の形式に合わせて適宜決定されてよい。例えば、採否データ2222は、学習データとして採用するか否かを2値で示すように設定されてもよい。また、例えば、採否データ2222は、学習データとして適切又は不適切である度合いを連続値で示すように適宜設定されてよい。一つの指標として、製品の写る画像として不自然である画像データ2221ほど、採否データ2222は、学習データとして採用しないことを示すように設定される。他方、製品の写る画像として自然である画像データ2221ほど、採否データ2222は、学習データとして採用することを示すように設定される。製品の写る画像として不自然であるとは、例えば、現実ではありえない程度に製品の像が変形している、製品の写る領域が判別できないほど不鮮明である等、カメラにより撮影して得られる通常の画像ではない状態を指す。不自然な程度は、適宜決定されてよい。
この第1学習用データセット222の作成は、第1学習装置2により行われてもよい。この場合、制御部21は、オペレータによる入力装置24の操作に応じて、複数件の第1学習用データセット222を作成してもよい。また、制御部21は、採否学習プログラム221の処理により、複数件の第1学習用データセット222を自動的に作成してもよい。この作成処理を実行することで、本ステップS201では、制御部21は、複数件の第1学習用データセット222を取得してもよい。
あるいは、第1学習用データセット222の作成は、第1学習装置2以外の他の情報処理装置により行われてもよい。他の情報処理装置では、複数件の第1学習用データセット222は、オペレータにより手動で作成されてもよいし、プログラムの処理により自動的に作成されてもよい。この場合、本ステップS201では、制御部21は、ネットワーク、記憶媒体92等を介して、他の情報処理装置により作成された第1学習用データセット222を取得してもよい。
取得する第1学習用データセット222の件数は、特に限定されなくてもよく、例えば、第1識別器51の機械学習を実施可能な程度に適宜決定されてよい。これにより、複数件の第1学習用データセット222の取得が完了すると、制御部21は、次のステップS202に処理を進める。
(ステップS202)
ステップS202では、制御部21は、第1学習処理部212として動作し、取得した各件の第1学習用データセット222を利用した機械学習を実行する。本実施形態では、制御部21は、各件の第1学習用データセット222を用いて、画像データ2221を畳み込み層521に入力すると、採否データ2222により示される正解に対応する出力値を出力層524から出力するようにニューラルネットワーク52の機械学習を実行する。
ステップS202では、制御部21は、第1学習処理部212として動作し、取得した各件の第1学習用データセット222を利用した機械学習を実行する。本実施形態では、制御部21は、各件の第1学習用データセット222を用いて、画像データ2221を畳み込み層521に入力すると、採否データ2222により示される正解に対応する出力値を出力層524から出力するようにニューラルネットワーク52の機械学習を実行する。
具体的には、まず、制御部21は、学習処理を行う対象となるニューラルネットワーク52(学習前の第1識別器51)を用意する。用意するニューラルネットワーク52の構成、各ニューロン間の結合の重みの初期値、各ニューロンの閾値の初期値等の各パラメータは、テンプレートにより与えられてもよいし、オペレータの入力により与えられてもよい。再学習を行う場合、制御部21は、再学習を行う対象の第1学習結果データ129に基づいて、学習前のニューラルネットワーク52を用意してもよい。
次に、制御部21は、ステップS201で取得した各件の第1学習用データセット222に含まれる画像データ2221を入力データとして用い、採否データ2222を教師データとして用いて、ニューラルネットワーク52の学習処理を実行する。このニューラルネットワーク52の学習処理には、確率的勾配降下法等が用いられてよい。
例えば、制御部21は、最も入力側に配置された畳み込み層521に画像データ2221を入力し、入力側から順に各層521~524に含まれる各ニューロンの発火判定を行う。これにより、制御部21は、出力層524から出力値を得る。次に、制御部21は、出力層524から得た出力値と採否データ2222により示される正解に対応する値との誤差を算出する。続いて、制御部21は、誤差逆伝搬(Back propagation)法により、算出した出力値の誤差を用いて、各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの誤差を算出する。そして、制御部21は、算出した各誤差に基づいて、各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの値の更新を行う。
各件の第1学習用データセット222について、最も入力側に配置された畳み込み層521に画像データ2221を入力することにより出力層524から得られる出力値が、入力した画像データ2221に関連付けられた採否データ2222により示される正解に対応する値と一致するまで、制御部21は、この一連の処理を繰り返す。これにより、制御部21は、画像データ2221を入力すると、採否データ2222により示される採否の正解に対応する出力値を出力する学習済みのニューラルネットワーク52(すなわち、第1識別器51)を構築することができる。ニューラルネットワーク52の学習処理が完了すると、制御部21は、次のステップS203に処理を進める。
(ステップS203)
ステップS203では、制御部21は、第1学習処理部212として動作し、機械学習により構築された学習後のニューラルネットワーク52(すなわち、第1識別器51)の構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報を第1学習結果データ129として記憶部22に格納する。これにより、制御部21は、本動作例に係る処理を終了する。
ステップS203では、制御部21は、第1学習処理部212として動作し、機械学習により構築された学習後のニューラルネットワーク52(すなわち、第1識別器51)の構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報を第1学習結果データ129として記憶部22に格納する。これにより、制御部21は、本動作例に係る処理を終了する。
なお、制御部21は、上記ステップS203の処理が完了した後に、作成した第1学習結果データ129を学習データ生成装置1に転送してもよい。また、制御部21は、上記ステップS201~S203の学習処理を定期的に実行することで、第1学習結果データ129を更新してもよい。そして、制御部21は、作成した第1学習結果データ129を学習処理の実行毎に学習データ生成装置1に転送することで、学習データ生成装置1の保持する第1学習結果データ129を定期的に更新してもよい。また、例えば、制御部21は、作成した第1学習結果データ129をNAS等の外部の記憶領域に保存してもよい。この場合、学習データ生成装置1は、この外部の記憶領域から第1学習結果データ129を取得してもよい。また、第1学習結果データ129は、学習データ生成装置1に予め組み込まれてもよい。
[第2学習装置]
次に、図12を用いて、本実施形態に係る第2学習装置3の動作例について説明する。図12は、本実施形態に係る第2学習装置3の処理手順の一例を例示するフローチャートである。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
次に、図12を用いて、本実施形態に係る第2学習装置3の動作例について説明する。図12は、本実施形態に係る第2学習装置3の処理手順の一例を例示するフローチャートである。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
(ステップS301)
ステップS301では、制御部31は、第2学習データ取得部311として動作し、画像データ3221及び正解データ3222の組み合わせでそれぞれ構成された複数件の第2学習用データセット322を取得する。
ステップS301では、制御部31は、第2学習データ取得部311として動作し、画像データ3221及び正解データ3222の組み合わせでそれぞれ構成された複数件の第2学習用データセット322を取得する。
第2学習用データセット322を取得する方法は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。各件の第2学習用データセット322は、上記第1画像データ122及び第1正解データ123の組み合わせを取得する方法と同様の方法で取得されてよい。すなわち、制御部31は、オペレータによる入力装置34の操作に応じて、各件の第2学習用データセット322を作成してもよいし、学習プログラム321の処理により、各件の第2学習用データセット322を自動的に作成してもよい。あるいは、制御部31は、ネットワーク、記憶媒体93等を介して、他の情報処理装置により作成された第2学習用データセット322を取得してもよい。
また、取得される第2学習用データセット322の少なくとも一部は、学習データ生成装置1により作成された学習用データセット127である。制御部31は、ネットワーク、記憶媒体93等を介して、学習データ生成装置1により作成された学習用データセット127を第2学習用データセット322として取得してもよい。また、制御部31は、学習用データセット127の生成に利用された第1画像データ122及び第1正解データ123の組み合わせを第2学習用データセット322として取得してもよい。
なお、正解データ3222のデータ形式は、第2識別器54の出力の形式に合わせて適宜決定されてよい。例えば、正解データ3222は、製品の良否を2値で示すように設定されてもよい。また、例えば、正解データ3222は、製品が良品である(すなわち、欠陥がない)確率又は製品に欠陥がある確率を連続値で示すように設定されてもよい。また、例えば、正解データ3222は、製品の良否又は欠陥の種別のインデックスを示すように設定されてもよい。また、例えば、正解データ3222は、欠陥のある箇所等を示すように設定されてもよい。
取得する第2学習用データセット322の件数は、特に限定されなくてもよく、例えば、第2識別器54の機械学習を実施可能な程度に適宜決定されてよい。これにより、複数件の第2学習用データセット322の取得が完了すると、制御部31は、次のステップS302に処理を進める。
(ステップS302)
ステップS302では、制御部31は、第2学習処理部312として動作し、学習データ生成装置1により生成された学習用データセット127を含む複数件の第2学習用データセット322を利用した機械学習を実施する。本実施形態では、制御部31は、各件の第2学習用データセット322を用いて、画像データ3221を畳み込み層531に入力すると、正解データ3222により示される正解に対応する出力値を出力層534から出力するようにニューラルネットワーク53の機械学習を実行する。これにより、制御部31は、製品の良否を判定する能力を習得した学習済みの第2識別器54を構築する。
ステップS302では、制御部31は、第2学習処理部312として動作し、学習データ生成装置1により生成された学習用データセット127を含む複数件の第2学習用データセット322を利用した機械学習を実施する。本実施形態では、制御部31は、各件の第2学習用データセット322を用いて、画像データ3221を畳み込み層531に入力すると、正解データ3222により示される正解に対応する出力値を出力層534から出力するようにニューラルネットワーク53の機械学習を実行する。これにより、制御部31は、製品の良否を判定する能力を習得した学習済みの第2識別器54を構築する。
機械学習の方法は、上記ステップS202と同様であってよい。制御部31は、学習処理を行う対象となるニューラルネットワーク53(学習前の第2識別器54)を用意する。そして、制御部31は、ステップ301で取得した各件の第2学習用データセット322に含まれる画像データ3221を入力データとして用い、正解データ3222を教師データとして用いて、ニューラルネットワーク53の学習処理を実行する。
これにより、制御部31は、最も入力側に配置された畳み込み層531に画像データ3221が入力されると、入力した画像データ3221に関連付けられた正解データ3222により示される正解に対応する出力値を出力層534から出力する学習済みのニューラルネットワーク53(すなわち、第2識別器54)を構築することができる。ニューラルネットワーク53の学習処理が完了すると、制御部31は、次のステップS303に処理を進める。
(ステップS303)
ステップS303では、制御部31は、第2学習処理部312として動作し、機械学習により構築された学習後のニューラルネットワーク53(すなわち、第2識別器54)の構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報を第2学習結果データ323として記憶部32に格納する。これにより、制御部31は、本動作例に係る処理を終了する。
ステップS303では、制御部31は、第2学習処理部312として動作し、機械学習により構築された学習後のニューラルネットワーク53(すなわち、第2識別器54)の構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報を第2学習結果データ323として記憶部32に格納する。これにより、制御部31は、本動作例に係る処理を終了する。
なお、制御部31は、上記ステップS303の処理が完了した後に、作成した第2学習結果データ323を検査装置4に転送してもよい。また、制御部31は、上記ステップS301~303の学習処理を定期的に実行することで、第2学習結果データ323を更新してもよい。そして、制御部31は、作成した第2学習結果データ323を学習処理の実行毎に検査装置4に転送することで、検査装置4の保持する第2学習結果データ323を定期的に更新してもよい。また、例えば、制御部31は、作成した第2学習結果データ323をNAS等の外部の記憶領域に保存してもよい。この場合、検査装置4は、この外部の記憶領域から第2学習結果データ323を取得してもよい。また、第2学習結果データ323は、検査装置4に予め組み込まれてもよい。
更に、制御部31は、評価用データセットを利用して、構築した第2識別器54の判定性能を評価してもよい。評価用データセットは、第2学習用データセット322と同様に構成可能である。すなわち、評価用データセットは、製品の写る画像データ、及び画像データに写る製品の良否の判定に対する正解を示す正解データの組み合わせにより構成されてよい。制御部31は、後述するステップS402のとおり、第2識別器54を利用して、評価用データセットの画像データに写る製品の良否を判定する。制御部31は、この判定結果と正解データにより示される正解とを照合することで、第2識別器54の判定性能を評価することができる。
この第2識別器54の判定性能が所定の基準以下である(例えば、正答率が閾値以下である)場合には、制御部31は、複数件の第2学習用データセット322から選択した1又は複数件の第2学習用データセット322を学習データ生成装置1に送信してもよい。そして、制御部31は、送信した第2学習用データセット322を第1画像データ122及び第1正解データ123の組み合わせとして利用して、複数件の学習用データセット127を生成する要求を学習データ生成装置1に行ってもよい。これに応じて、学習データ生成装置1により生成された複数件の学習用データセット127を受信することで、制御部31は、機械学習に利用する第2学習用データセット322の件数を増やすことができる。
[検査装置]
次に、図13を用いて、検査装置4の動作例について説明する。図13は、検査装置4の処理手順の一例を例示するフローチャートである。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
次に、図13を用いて、検査装置4の動作例について説明する。図13は、検査装置4の処理手順の一例を例示するフローチャートである。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
(ステップS401)
ステップS401では、制御部41は、対象データ取得部411として動作し、検査の対象となる製品Rの写る対象画像データ422を取得する。本実施形態では、検査装置4は、外部インタフェース44を介してカメラ81に接続されている。そのため、制御部41は、カメラ81から対象画像データ422を取得する。この対象画像データ422は、動画像データであってもよいし、静止画像データであってもよい。対象画像データ422を取得すると、制御部41は、次のステップS402に処理を進める。
ステップS401では、制御部41は、対象データ取得部411として動作し、検査の対象となる製品Rの写る対象画像データ422を取得する。本実施形態では、検査装置4は、外部インタフェース44を介してカメラ81に接続されている。そのため、制御部41は、カメラ81から対象画像データ422を取得する。この対象画像データ422は、動画像データであってもよいし、静止画像データであってもよい。対象画像データ422を取得すると、制御部41は、次のステップS402に処理を進める。
ただし、対象画像データ422を取得する経路は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、検査装置4とは異なる他の情報処理装置が、カメラ81に接続されていてもよい。この場合、制御部41は、他の情報処理装置から対象画像データ422の送信を受け付けることで、対象画像データ422を取得してもよい。
(ステップS402)
ステップS402では、制御部41は、良否判定部412として動作し、第2識別器54を利用して、対象画像データ422に写る製品Rの良否を判定する。
ステップS402では、制御部41は、良否判定部412として動作し、第2識別器54を利用して、対象画像データ422に写る製品Rの良否を判定する。
具体的には、制御部41は、第2学習結果データ323を参照して、学習済みの第2識別器54の設定を行う。続いて、制御部41は、第2識別器54の最も入力側に配置された畳み込み層541に対象画像データ422を入力し、入力側から順に、各層541~544に含まれる各ニューロンの発火判定を行う。これにより、制御部41は、対象画像データ422に写る製品Rの良否を判定した結果に対応する出力値を出力層544から取得する。
そして、制御部41は、第2識別器54の出力層544から取得した出力値に基づいて、対象画像データ422に写る製品Rの良否を判定する。製品Rの良否を判定する方法は、第2識別器54の出力形式に応じて適宜決定されてよい。例えば、第2識別器54から得られる出力値が製品Rの良否を2値で示す場合、制御部41は、第2識別器54から得られる出力値に応じて、製品Rの良否を特定することができる。また、例えば、第2識別器54から得られる出力値が、製品Rが良品である確率又は製品Rに欠陥がある確率を連続値で示す場合、制御部41は、第2識別器54から得られる出力値と閾値とを比較することで、製品Rの良否を判定することができる。また、例えば、第2識別器54から得られる出力値が欠陥のある箇所を示す場合、制御部41は、第2識別器54から得られる出力値に基づいて、対象画像データ422に写る製品Rの良否を判定することができると共に、欠陥が存在する場合にはその欠陥の箇所を特定することができる。
また、例えば、第2識別器54から得られる出力値が、製品Rの良否又は欠陥の種別のインデックスを示す場合、検査装置4は、第2識別器54から得られる出力値と製品Rの良否又は欠陥の種別とを対応付けたテーブル形式等の参照情報(不図示)を記憶部42に保持していてもよい。この場合、制御部41は、この参照情報を参照することにより、第2識別器54から得られた出力値に応じて、対象画像データ422に写る製品Rの良否を判定することができる。
以上により、制御部41は、第2識別器54を利用して、対象画像データ422に写る製品Rの良否を判定することができる。製品Rの良否の判定が完了すると、制御部41は、次のステップS403に処理を進める。
(ステップS403)
ステップS403では、制御部41は、出力部413として動作し、ステップS402により製品Rの良否を判定した結果を出力する。
ステップS403では、制御部41は、出力部413として動作し、ステップS402により製品Rの良否を判定した結果を出力する。
製品Rの良否を判定した結果の出力形式は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、制御部41は、製品Rの良否を判定した結果をそのまま出力装置46に出力してもよい。また、ステップS402において、製品Rに欠陥があると判定した場合、制御部41は、欠陥を発見したことを知らせるための警告を本ステップS403の出力処理として行ってもよい。また、制御部41は、本ステップS403の出力処理として、製品Rの良否を判定した結果に応じた所定の制御処理を実行してもよい。具体例として、製品の搬送を行う製造ラインに検査装置4が接続されている場合、製品Rに欠陥があると判定したときに、制御部41は、欠陥のある製品Rを欠陥のない製品とは異なる経路で搬送する指令を製造ラインに送信する処理を本ステップ403の出力処理として行ってもよい。
製品Rの良否を判定した結果の出力処理が完了すると、制御部41は、本動作例に係る処理を終了する。なお、制御部41は、製造ライン上を搬送される製品Rがカメラ81の撮影範囲に入る度に、ステップS401~S403の一連の処理を実行してもよい。これにより、検査装置4は、製造ライン上を搬送される製品Rの外観検査を行うことができる。
[特徴]
以上のとおり、本実施形態に係る学習データ生成装置1によれば、上記ステップS102の処理により、第1画像データ122に所定の変換処理を適用することで、学習データの候補となる第2画像データ125を量産することができる。加えて、学習データ生成装置1は、上記ステップS103の処理により、量産した複数件の第2画像データ125のうち、製品の良否を判定する能力を習得するための学習データとして不適切な第2画像データ125を機械学習に利用されないようにすることができる。そのため、本実施形態に係る学習データ生成装置1によれば、ステップS104により生成した学習用データセット127により第2学習用データセット322の件数を増加させることで、十分な件数の適切な第2学習用データセット322を低コストで用意することができる。これにより、第2学習装置3では、ステップS301~S303の処理により、用意した十分な件数の第2学習用データセット322を利用した機械学習を実施することで、製品の良否を判定する精度の比較的に高い第2識別器54を構築することができる。したがって、本実施形態によれば、低コストで良否の判定精度の比較的に高い第2識別器54を生成することができる。
以上のとおり、本実施形態に係る学習データ生成装置1によれば、上記ステップS102の処理により、第1画像データ122に所定の変換処理を適用することで、学習データの候補となる第2画像データ125を量産することができる。加えて、学習データ生成装置1は、上記ステップS103の処理により、量産した複数件の第2画像データ125のうち、製品の良否を判定する能力を習得するための学習データとして不適切な第2画像データ125を機械学習に利用されないようにすることができる。そのため、本実施形態に係る学習データ生成装置1によれば、ステップS104により生成した学習用データセット127により第2学習用データセット322の件数を増加させることで、十分な件数の適切な第2学習用データセット322を低コストで用意することができる。これにより、第2学習装置3では、ステップS301~S303の処理により、用意した十分な件数の第2学習用データセット322を利用した機械学習を実施することで、製品の良否を判定する精度の比較的に高い第2識別器54を構築することができる。したがって、本実施形態によれば、低コストで良否の判定精度の比較的に高い第2識別器54を生成することができる。
§4 変形例
以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下では、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、適宜説明を省略した。以下の変形例は適宜組み合わせ可能である。
以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下では、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、適宜説明を省略した。以下の変形例は適宜組み合わせ可能である。
<4.1>
上記実施形態では、各識別器(51、54)は、畳み込みニューラルネットワークにより構成されている。しかしながら、各識別器(51、54)の構成は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、各識別器(51、54)は、多層構造の全結合ニューラルネットワーク、再帰型ニューラルネットワーク等により構成されてよい。
上記実施形態では、各識別器(51、54)は、畳み込みニューラルネットワークにより構成されている。しかしながら、各識別器(51、54)の構成は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、各識別器(51、54)は、多層構造の全結合ニューラルネットワーク、再帰型ニューラルネットワーク等により構成されてよい。
<4.2>
上記実施形態では、各識別器(51、54)の学習モデルとして、ニューラルネットワークを採用している。しかしながら、各識別器(51、54)の学習モデルは、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。各識別器(51、54)の学習モデルとして、例えば、サポートベクタマシン、自己組織化マップ、強化学習により機械学習を行う学習モデル等が採用されてよい。
上記実施形態では、各識別器(51、54)の学習モデルとして、ニューラルネットワークを採用している。しかしながら、各識別器(51、54)の学習モデルは、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。各識別器(51、54)の学習モデルとして、例えば、サポートベクタマシン、自己組織化マップ、強化学習により機械学習を行う学習モデル等が採用されてよい。
なお、機械学習として教師あり学習を採用しない場合には、各学習用データセット(222、322)において、各正解データ(2222、3222)は省略されてもよい。この場合、上記ステップS101において、学習データ生成装置1の制御部11は、第1正解データ123の取得を省略し、製品の写る第1画像データ122のみを取得してもよい。また、ステップS104では、制御部11は、第2正解データ126の付与を省略し、学習データとして採用すると判定された第2画像データ125を収集することで、学習データとして採用すると判定された複数件の第2画像データ125により構成された学習用データ群を生成してもよい。第2学習装置3は、この学習用データ群を機械学習に利用して、第2識別器54を構築してもよい。
<4.3>
上記実施形態では、各学習結果データ(129、323)は、ニューラルネットワークの構成を示す情報を含んでいる。しかしながら、各学習結果データ(129、323)の構成は、このような例に限定されなくてもよく、学習済みの各識別器(51、54)の設定に利用可能であれば、実施の形態に応じて適宜決定されてよい。例えば、利用するニューラルネットワークの構成が各装置で共通化されている場合には、各学習結果データ(129、323)は、ニューラルネットワークの構成を示す情報を含んでいなくてもよい。
上記実施形態では、各学習結果データ(129、323)は、ニューラルネットワークの構成を示す情報を含んでいる。しかしながら、各学習結果データ(129、323)の構成は、このような例に限定されなくてもよく、学習済みの各識別器(51、54)の設定に利用可能であれば、実施の形態に応じて適宜決定されてよい。例えば、利用するニューラルネットワークの構成が各装置で共通化されている場合には、各学習結果データ(129、323)は、ニューラルネットワークの構成を示す情報を含んでいなくてもよい。
<4.4>
上記実施形態では、検査システム100は、第1識別器51を構成する第1学習装置2を含んでいる。しかしながら、第1識別器51は、検査システム100の外部の情報処理装置により構成されてよい。この場合、検査システム100において、第1学習装置2は省略されてもよい。
上記実施形態では、検査システム100は、第1識別器51を構成する第1学習装置2を含んでいる。しかしながら、第1識別器51は、検査システム100の外部の情報処理装置により構成されてよい。この場合、検査システム100において、第1学習装置2は省略されてもよい。
<4.5>
上記実施形態では、学習データ生成装置1の制御部11は、ステップS104において、第1正解データ123に基づいて、第2正解データ126の内容を設定している。しかしながら、第2正解データ126の内容を設定する方法は、このような例に限られなくてもよい。例えば、制御部11は、入力装置14を介して、オペレータによる第2正解データ126の内容の入力を受け付けてもよい。このとき、オペレータが、第2正解データ126の内容を決定するための参考として、制御部11は、出力装置15を介して、第2画像データ125及び第1正解データ123の少なくとも一方を出力してもよい。
上記実施形態では、学習データ生成装置1の制御部11は、ステップS104において、第1正解データ123に基づいて、第2正解データ126の内容を設定している。しかしながら、第2正解データ126の内容を設定する方法は、このような例に限られなくてもよい。例えば、制御部11は、入力装置14を介して、オペレータによる第2正解データ126の内容の入力を受け付けてもよい。このとき、オペレータが、第2正解データ126の内容を決定するための参考として、制御部11は、出力装置15を介して、第2画像データ125及び第1正解データ123の少なくとも一方を出力してもよい。
<4.6>
上記実施形態では、第1識別器51は、画像データ2221及び採否データ2222の組み合わせにより構成された第1学習用データセット222を利用した機械学習により構築されている。しかしながら、第1識別器51を構築する方法は、このような例に限定されなくてもよい。
上記実施形態では、第1識別器51は、画像データ2221及び採否データ2222の組み合わせにより構成された第1学習用データセット222を利用した機械学習により構築されている。しかしながら、第1識別器51を構築する方法は、このような例に限定されなくてもよい。
[構成例]
まず、図14を用いて、上記実施形態とは異なる方法で第1識別器を構築する第1学習装置2Aの構成の一例について説明する。図14は、本変形例に係る第1学習装置2Aのソフトウェア構成の一例を模式的に例示する。本変形例に係る第1学習装置2Aは、上記第1学習装置2と同様のハードウェア構成を有する。すなわち、第1学習装置2Aは、制御部21、記憶部22、通信インタフェース23、入力装置24、出力装置25、及びドライブ26が電気的に接続されたコンピュータである。
まず、図14を用いて、上記実施形態とは異なる方法で第1識別器を構築する第1学習装置2Aの構成の一例について説明する。図14は、本変形例に係る第1学習装置2Aのソフトウェア構成の一例を模式的に例示する。本変形例に係る第1学習装置2Aは、上記第1学習装置2と同様のハードウェア構成を有する。すなわち、第1学習装置2Aは、制御部21、記憶部22、通信インタフェース23、入力装置24、出力装置25、及びドライブ26が電気的に接続されたコンピュータである。
図14に示されるとおり、第1学習装置2Aは、制御部21によりプログラムを実行することで、第1学習データ取得部211A及び第1学習処理部212Aをソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本変形例でも、上記実施形態と同様に、各ソフトウェアモジュールは、制御部21(CPU)により実現される。
第1学習データ取得部221Aは、複数件の画像データ2223で構成された画像データ群222Aを取得する。画像データ2223は、本発明の「第3画像データ」の一例である。第1学習処理部212Aは、生成モデル61及び識別モデル62それぞれの機械学習を実施する。生成モデル61は、画像データ群222Aに対して、画像データ2223に類似する画像データ611を生成するように機械学習を行う。画像データ611は、本発明の「第4画像データ」の一例である。一方、識別モデル62は、生成モデル61由来の画像データ611であるか、画像データ群222A由来の画像データ2223であるかを識別するように機械学習を行う。
生成モデル61及び識別モデル62を含むネットワークは、各モデル(61、62)の機械学習を交互に実施する。すなわち、生成モデル61は、識別モデル62が識別を誤るような画像データ2223に類似する画像データ611を生成するように機械学習を繰り返す。これに対して、識別モデル62は、繰り返し機械学習された生成モデル61により生成される画像データ611と画像データ群222A由来の画像データ2223とを識別するように機械学習を行う。
生成モデル61及び識別モデル62は、例えば、ニューラルネットワークにより構成される。第1学習処理部212Aは、このネットワークのうち、構築された識別モデル62を第1識別器として保存する。すなわち、第1学習処理部212Aは、学習後の識別モデル62の構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報を第1学習結果データ129として記憶部22に格納する。
[動作例]
次に、図15を用いて、本変形例に係る第1学習装置2Aの動作例について説明する。図15は、本変形例に係る第1学習装置2Aの処理手順の一例を例示するフローチャートである。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
次に、図15を用いて、本変形例に係る第1学習装置2Aの動作例について説明する。図15は、本変形例に係る第1学習装置2Aの処理手順の一例を例示するフローチャートである。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
(ステップS501)
ステップS501では、制御部21は、第1学習データ取得部211Aとして動作し、複数件の画像データ2223により構成された画像データ群222Aを取得する。各件の画像データ2223は、上記第1画像データ122と同様の方法により取得されてよい。画像データ群222Aを取得すると、制御部21は、次のステップS502に処理を進める。
ステップS501では、制御部21は、第1学習データ取得部211Aとして動作し、複数件の画像データ2223により構成された画像データ群222Aを取得する。各件の画像データ2223は、上記第1画像データ122と同様の方法により取得されてよい。画像データ群222Aを取得すると、制御部21は、次のステップS502に処理を進める。
(ステップS502)
ステップS502では、制御部21は、生成モデル61の機械学習を行う。上記のとおり、生成モデル61は、ニューラルネットワークにより構成される。例えば、制御部21は、無意味なデータ(例えば、ノイズ)を入力データとして利用し、画像データ群222Aに含まれる画像データ2223を教師データとして利用して、生成モデル61の機械学習を行う。すなわち、制御部21は、ノイズを入力すると、画像データ2223に対応する画像データを出力するように生成モデル61の機械学習を実施する。機械学習の方法は、上記ステップS202と同様であってよい。これにより、生成モデル61は、画像データ群222Aに対して、画像データ2223に類似する画像データ611を生成するように構築される。生成モデル61の機械学習が完了すると、制御部21は、次のステップS503に処理を進める。
ステップS502では、制御部21は、生成モデル61の機械学習を行う。上記のとおり、生成モデル61は、ニューラルネットワークにより構成される。例えば、制御部21は、無意味なデータ(例えば、ノイズ)を入力データとして利用し、画像データ群222Aに含まれる画像データ2223を教師データとして利用して、生成モデル61の機械学習を行う。すなわち、制御部21は、ノイズを入力すると、画像データ2223に対応する画像データを出力するように生成モデル61の機械学習を実施する。機械学習の方法は、上記ステップS202と同様であってよい。これにより、生成モデル61は、画像データ群222Aに対して、画像データ2223に類似する画像データ611を生成するように構築される。生成モデル61の機械学習が完了すると、制御部21は、次のステップS503に処理を進める。
(ステップS503)
ステップS503では、制御部21は、識別モデル62の機械学習を行う。上記のとおり、識別モデル62は、ニューラルネットワークにより構成される。例えば、制御部21は、画像データ群222Aに含まれる画像データ2223と、その画像データ2223が画像データ群222Aの由来である(すなわち、真である)ことを示す正解データとの組み合わせで構成されたデータセットを生成する。また、制御部21は、生成モデル61により生成される画像データ611と、その画像データ611が生成モデル61由来である(すなわち、偽である)ことを示す正解データとの組み合わせで構成されたデータセットを生成する。
ステップS503では、制御部21は、識別モデル62の機械学習を行う。上記のとおり、識別モデル62は、ニューラルネットワークにより構成される。例えば、制御部21は、画像データ群222Aに含まれる画像データ2223と、その画像データ2223が画像データ群222Aの由来である(すなわち、真である)ことを示す正解データとの組み合わせで構成されたデータセットを生成する。また、制御部21は、生成モデル61により生成される画像データ611と、その画像データ611が生成モデル61由来である(すなわち、偽である)ことを示す正解データとの組み合わせで構成されたデータセットを生成する。
そして、制御部21は、画像データ2223又は画像データ611を入力データとして利用し、各画像データ(2223、611)に関連付けられた正解データを教師データとして利用して、識別モデル62の機械学習を行う。すなわち、制御部21は、各画像データ(2223、611)を入力すると、各画像データ(2223、611)に関連付けられた正解データに対応する値を出力するように識別モデル62の機械学習を実施する。機械学習の方法は、上記ステップS202と同様であってよい。これにより、識別モデル62は、生成モデル61由来の画像データ611であるか、画像データ群222A由来の画像データ2223であるかを識別するように構築される。識別モデル62の機械学習が完了すると、制御部21は、次のステップS504に処理を進める。
(ステップS504)
ステップS504では、制御部21は、ステップS502及びS503の機械学習の処理を繰り返すか否かを判定する。機械学習の処理を繰り返す基準は、実施の形態に応じて適宜決定されてよい。例えば、ステップS502及びS503の機械学習の実施する回数が設定されていてもよい。この場合、制御部21は、ステップS502及びS503の機械学習を実施した回数が設定回数に到達したか否かを判定する。ステップS502及びS503の機械学習を実施した回数が設定回数に到達していないと判定した場合には、制御部21は、ステップS502に処理を戻す。一方、ステップS502及びS503の機械学習を実施した回数が設定回数に到達したと判定した場合には、制御部21は、次のステップS505に処理を進める。
ステップS504では、制御部21は、ステップS502及びS503の機械学習の処理を繰り返すか否かを判定する。機械学習の処理を繰り返す基準は、実施の形態に応じて適宜決定されてよい。例えば、ステップS502及びS503の機械学習の実施する回数が設定されていてもよい。この場合、制御部21は、ステップS502及びS503の機械学習を実施した回数が設定回数に到達したか否かを判定する。ステップS502及びS503の機械学習を実施した回数が設定回数に到達していないと判定した場合には、制御部21は、ステップS502に処理を戻す。一方、ステップS502及びS503の機械学習を実施した回数が設定回数に到達したと判定した場合には、制御部21は、次のステップS505に処理を進める。
これにより、生成モデル61及び識別モデル62は、互いに交互に機械学習を行う。この過程で、生成モデル61は、識別モデル62が識別を誤るような画像データ2223に類似する画像データ611を生成するように構築される。一方で、識別モデル62は、繰り返し機械学習された生成モデル61により生成される画像データ611と画像データ群222A由来の画像データ2223とを識別するように構築される。つまり、生成モデル61は、画像データ2223により近似した画像データ611を生成することができるように構築され、識別モデル62は、そのような画像データ611と画像データ2223とを識別できるように構築される。
(ステップS505)
ステップS505では、制御部21は、第1学習処理部212Aとして動作し、ステップS502及びS503の処理を繰り返すことで構築されたネットワークのうち識別モデル62を第1識別器として保存する。すなわち、制御部21は、学習後の識別モデル62の構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報を第1学習結果データ129として記憶部22に格納する。これにより、制御部21は、本動作例に係る処理を終了する。
ステップS505では、制御部21は、第1学習処理部212Aとして動作し、ステップS502及びS503の処理を繰り返すことで構築されたネットワークのうち識別モデル62を第1識別器として保存する。すなわち、制御部21は、学習後の識別モデル62の構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報を第1学習結果データ129として記憶部22に格納する。これにより、制御部21は、本動作例に係る処理を終了する。
なお、本変形例では、第1識別器(識別モデル62)の出力は、生成モデル61由来の画像データ611か画像データ群222A由来の画像データ2223であるかを判定した結果を示す。これらのうち、生成モデル61由来の画像データ611であると判定することが、学習データとして採用しないと判定することに対応する。一方、画像データ群222A由来の画像データ2223であると判定することが、学習データとして採用すると判定することに対応する。すなわち、本変形例によれば、ノイズから生成された疑似的な画像データ611を学習データとして採用しないと判定する第1識別器を構築することができる。そのため、この第1識別器を利用することで、第1画像データ122から生成された複数件の第2画像データ125から学習データとして適切な第2画像データ125を抽出することができるようになる。したがって、本変形例によれば、上記実施形態と同様に、十分な件数の適切な第2学習用データセット322を低コストで用意することができるため、低コストで良否の判定精度の比較的に高い第2識別器54を生成することができる。
<4.7>
上記実施形態では、製品Rの外観検査を行う他面に本発明を適用した例を示している。しかしながら、本発明の適用範囲は、このような外観検査の場面に限られなくてもよい。本発明は、画像データに写る被写体の特徴を識別するあらゆる場面に広く適用可能である。
上記実施形態では、製品Rの外観検査を行う他面に本発明を適用した例を示している。しかしながら、本発明の適用範囲は、このような外観検査の場面に限られなくてもよい。本発明は、画像データに写る被写体の特徴を識別するあらゆる場面に広く適用可能である。
図16及び図17を用いて、被写体の特徴を識別する場面に本発明を適用した変形例について説明する。図16及び図17は、本変形例に係る画像識別装置4Bのハードウェア構成及びソフトウェア構成の一例を模式的に例示する。本変形例に係る画像識別システムは、上記学習データ生成装置1、第1学習装置2、第2学習装置3、及び画像識別装置4Bにより構成される。処理対象となるデータが、製品の写る画像データから何らかの被写体の画像データに置き換わる点を除き、本変形例に係る画像識別システムは、上記検査システム100と同様に構成されてよい。
すなわち、学習データ生成装置1は、被写体の特徴を識別する能力を識別器に習得させる機械学習に利用する学習用データセットを生成する。第1学習装置2は、与えられた画像データを、被写体の特徴を識別する能力を習得するための機械学習の学習データとして採用するか否かを判定する能力を習得した学習済みの第1識別器を構築する。本変形例に係る第1識別器は、上記実施形態に係る第1識別器51と同様に構成されてよい。
第2学習装置3は、学習データ生成装置1により生成された学習用データセットを利用した機械学習を実施することで、被写体の特徴を識別する能力を習得した学習済みの第2識別器54Bを構築する。本変形例に係る第2識別器54Bは、上記実施形態に係る第2識別器54と同様に構成されてよい。画像識別装置4Bは、第2識別器54Bを利用して、対象画像データ422Bに写る被写体の特徴を識別する。
本変形例において、被写体、及び識別の対象となる被写体の特徴はそれぞれ、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。被写体は、例えば、対象者の顔、対象者の身体、作業対象のワーク等であってよい。また、被写体が対象者の顔である場合、識別の対象となる特徴は、例えば、表情の種別、顔のパーツの状態等であってよい。被写体が対象者の身体である場合には、識別の対象となる特徴は、例えば、身体のポーズ等であってよい。被写体が作業対象のワークである場合、識別の対象となる特徴は、例えば、ワークの位置、姿勢等であってよい。
図16に示されるとおり、本変形例に係る画像識別装置4Bは、上記検査装置4と同様のハードウェア構成を有する。画像識別装置4Bの記憶部42は、画像識別プログラム421B、第2学習結果データ323B等の各種情報を記憶する。画像識別プログラム421Bは、上記検査装置4と同様の処理手順により、被写体の特徴を識別する情報処理を画像識別装置4Bに実行させるためのプログラムであり、当該情報処理の一連の命令を含む。第2学習結果データ323Bは、第2識別器54Bの設定を行うためのデータである。
画像識別装置4Bは、上記検査装置4と同様に、外部インタフェース44を介してカメラ81に接続されている。カメラ81は、特徴を識別する対象となる被写体を撮影可能な場所に適宜配置される。例えば、被写体が対象者の顔又は身体である場合、カメラ81は、被写体となる対象者の存在し得る場所に配置されてよい。また、例えば、被写体が作業対象のワークである場合、カメラ81は、ワークの存在し得る場所に向けて配置されてよい。
図17に示されるとおり、画像識別装置4Bは、制御部41により画像識別プログラム421Bを実行することで、対象データ取得部411、識別部412B、及び出力部413をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本変形例でも、上記実施形態と同様に、各ソフトウェアモジュールは、制御部41(CPU)により実現される。
対象データ取得部411は、特徴を識別する対象となる被写体の写る対象画像データ422Bを取得する。識別部412Bは、取得した対象画像データ422Bを第2識別器54Bに入力することで第2識別器54Bから得られる出力に基づいて、対象画像データ422Bに写る被写体の特徴を識別する。出力部413は、被写体の特徴を識別した結果を出力する。
[動作例]
次に、本変形例に係る画像識別システムの動作例について説明する。本変形例に係る画像識別システムは、上記検査システム100とほぼ同様の処理手順で動作する。
次に、本変形例に係る画像識別システムの動作例について説明する。本変形例に係る画像識別システムは、上記検査システム100とほぼ同様の処理手順で動作する。
<学習データ生成装置>
学習データ生成装置1の制御部11は、ステップS101では、データ取得部111として動作し、所定の被写体の写る第1画像データ、及び第1画像データに写る被写体の特徴の識別に対する正解を示す第1正解データを取得する。なお、ニューラルネットワーク以外の学習モデルを第2識別器54Bに採用し、機械学習として教師あり学習を実施しない等、第1正解データが不要である場合、第1正解データの取得は省略されてよい。
学習データ生成装置1の制御部11は、ステップS101では、データ取得部111として動作し、所定の被写体の写る第1画像データ、及び第1画像データに写る被写体の特徴の識別に対する正解を示す第1正解データを取得する。なお、ニューラルネットワーク以外の学習モデルを第2識別器54Bに採用し、機械学習として教師あり学習を実施しない等、第1正解データが不要である場合、第1正解データの取得は省略されてよい。
ステップS102では、制御部11は、第1生成部112として動作して、第1画像データに所定の変換処理を適用することで、それぞれ被写体の写る複数件の第2画像データを第1画像データから生成する。所定の変換処理は、例えば、フォトメトリックな変換処理、ジオメトリックな変換処理、画像の合成処理、画像の置換処理及びこれらの組合せから選択されてよい。
ステップS103では、制御部11は、判定部113として動作して、学習済みの第1識別器に各件の第2画像データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2画像データを学習データとして採用するか否かを判定する。
これにより、第1画像データから生成した複数件の第2画像データのうち、被写体の写る画像として不自然な第2画像データを除外することができる。第1画像データに写る被写体が対象者の顔である場合に、例えば、現実ではありえないほど歪んだ顔が写る第2画像データ、対象者の顔を特定できない第2画像データ等を除外することができる。
ステップS104では、制御部11は、第2生成部114として動作して、被写体の特徴を識別する能力を習得するための機械学習の学習データとして採用すると判定された第2画像データに、第1正解データに基づいて決定された、第2画像データに写る被写体の特徴の識別に対する正解を示す第2正解データを付与する。これにより、制御部11は、第2画像データ及び第2正解データの対で構成された学習用データセットを生成する。
なお、制御部11は、学習用データとして採用すると判定された複数件の第2画像データを収集し、収集した各件の第2画像データに第2正解データを付与することで、複数件の学習用データセットにより構成された学習用データ群を生成してもよい。また、上記第1正解データと同様に、第2正解データが不要である場合、第2正解データの付与は省略されてよい。この場合、制御部11は、学習データとして採用すると判定された第2画像データを収集することで、学習データとして採用すると判定された複数件の第2画像データにより構成された学習用データ群を生成してもよい。
<第1学習装置>
第1学習装置2の制御部21は、上記ステップS201~S203の処理により、与えられた画像データを、被写体の特徴を識別する能力を習得するための機械学習の学習データとして採用するか否かを判定する能力を習得した学習済みの第1識別器を構築する。
第1学習装置2の制御部21は、上記ステップS201~S203の処理により、与えられた画像データを、被写体の特徴を識別する能力を習得するための機械学習の学習データとして採用するか否かを判定する能力を習得した学習済みの第1識別器を構築する。
すなわち、ステップS201では、制御部21は、第1学習データ取得部211として動作し、被写体の写り得る画像データ及び画像データを学習データとして採用するか否かの判定の正解を示す採否データの組み合わせでそれぞれ構成された複数件の第1学習用データセットを取得する。ステップS202及びS203では、制御部21は、第1学習処理部212として動作し、複数件の第1学習用データセットを利用した機械学習により第1識別器を構築し、構築した第1識別器の構成等を示す情報を第1学習結果データとして記憶部22に格納する。
なお、本変形例に係る第1識別器は、上記<4.6>の変形例と同様に、識別モデル62により構成されてよい。このとき、上記画像データ2223には、特徴を識別する対象となる被写体の写る画像データが用いられる。
<第2学習装置>
第2学習装置3の制御部31は、上記ステップS301~S303の処理により、対象の画像データに写る被写体の特徴を識別する能力を習得した学習済みの第2識別器54Bを構築する。
第2学習装置3の制御部31は、上記ステップS301~S303の処理により、対象の画像データに写る被写体の特徴を識別する能力を習得した学習済みの第2識別器54Bを構築する。
すなわち、ステップS301では、制御部31は、第2学習データ取得部311として動作し、対象の被写体の写る画像データ、及び画像データに写る被写体の特徴の識別に対する正解を示す正解データの組み合わせでそれぞれ構成された複数件の第2学習用データセットを取得する。複数件の第2学習用データセットの少なくとも一部は、学習データ生成装置1により生成された学習用データセットである。
ステップS302では、制御部31は、第2学習処理部312として動作し、複数件の第2学習用データセットを利用した機械学習を実施することで、被写体の特徴を識別する能力を習得した学習済みの第2識別器54Bを構築する。そして、ステップS303では、制御部31は、第2学習処理部312として動作し、構築した第2識別器54Bの構成等を示す情報を第2学習結果データ323Bとして記憶部32に格納する。
<画像識別装置>
画像識別装置4Bの制御部41は、ステップS401では、対象データ取得部411として動作し、特徴を識別する対象となる被写体の写る対象画像データ422Bを取得する。本変形例では、制御部41は、カメラ81から対象画像データ422Bを取得する。
画像識別装置4Bの制御部41は、ステップS401では、対象データ取得部411として動作し、特徴を識別する対象となる被写体の写る対象画像データ422Bを取得する。本変形例では、制御部41は、カメラ81から対象画像データ422Bを取得する。
ステップS402では、制御部41は、識別部412Bとして動作し、第2学習結果データ323Bを参照して、学習済みの第2識別器54Bの設定を行う。続いて、制御部41は、ステップS401により取得した対象画像データ422Bを第2識別器54Bに入力し、第2識別器54Bの演算処理を実行する。これにより、制御部41は、対象画像データ422Bに写る被写体の特徴を識別した結果に対応する出力値を第2識別器54Bから取得する。制御部41は、第2識別器54Bから取得した出力値に基づいて、対象画像データ422Bに写る被写体の特徴を識別する。
ステップS403では、制御部41は、出力部413として動作し、対象画像データ422Bに写る被写体の特徴を識別した結果を出力する。被写体の特徴を識別した結果の出力形式は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、制御部41は、被写体の特徴を識別した結果をそのまま出力装置46に出力してもよい。また、例えば、制御部41は、識別結果に応じて所定の出力処理を実行してもよい。具体例として、被写体の特徴として対象者の表情の種別を識別するケースでは、対象者の顔が怒っていると識別したときに、制御部11は、対象者に向けて気を落ち着かせる音楽を出力装置46から出力してもよい。
以上により、本変形例では、学習データ生成装置1により生成した学習用データセットにより第2学習用データセットの件数を増加させることで、十分な件数の適切な第2学習用データセットを低コストで用意することができる。これにより、第2学習装置3では、用意した十分な件数の第2学習用データセットを利用した機械学習を実施することで、被写体の特徴を識別する精度の比較的に高い第2識別器54Bを構築することができる。したがって、本実施形態によれば、被写体の特徴の識別精度の比較的に高い第2識別器54Bを低コストで生成することができる。
<4.8>
上記実施形態及び変形例では、画像データから何らかの特徴を識別する場面に本発明を提供した例を示している。しかしながら、本発明の適用可能な範囲は、このような画像データから特徴を識別する場面に限られなくてもよい。本発明は、画像データ以外のデータ又は複数種類のデータから何らかの特徴を識別する場面に広く適用可能である。
上記実施形態及び変形例では、画像データから何らかの特徴を識別する場面に本発明を提供した例を示している。しかしながら、本発明の適用可能な範囲は、このような画像データから特徴を識別する場面に限られなくてもよい。本発明は、画像データ以外のデータ又は複数種類のデータから何らかの特徴を識別する場面に広く適用可能である。
[構成例]
図18~図22を用いて、データに含まれる特徴を識別する場面に本発明を適用した変形例について説明する。図18は、本変形例に係る学習データ生成装置1Cのソフトウェア構成の一例を模式的に例示する。図19は、本変形例に係る第1学習装置2Cのソフトウェア構成の一例を模式的に例示する。図20は、本変形例に係る第2学習装置3Cのソフトウェア構成の一例を模式的に例示する。図21及び図22は、本変形例に係る識別装置4Cのハードウェア構成及びソフトウェア構成の一例を模式的に例示する。本変形例に係る識別システムは、学習データ生成装置1C、第1学習装置2C、第2学習装置3C、及び識別装置4Cにより構成される。処理対象となるデータが、製品の写る画像データから何らかの特徴を含む他種のデータに置き換わる点を除き、本変形例に係る識別システムは、上記検査システム100と同様に構成されてよい。
図18~図22を用いて、データに含まれる特徴を識別する場面に本発明を適用した変形例について説明する。図18は、本変形例に係る学習データ生成装置1Cのソフトウェア構成の一例を模式的に例示する。図19は、本変形例に係る第1学習装置2Cのソフトウェア構成の一例を模式的に例示する。図20は、本変形例に係る第2学習装置3Cのソフトウェア構成の一例を模式的に例示する。図21及び図22は、本変形例に係る識別装置4Cのハードウェア構成及びソフトウェア構成の一例を模式的に例示する。本変形例に係る識別システムは、学習データ生成装置1C、第1学習装置2C、第2学習装置3C、及び識別装置4Cにより構成される。処理対象となるデータが、製品の写る画像データから何らかの特徴を含む他種のデータに置き換わる点を除き、本変形例に係る識別システムは、上記検査システム100と同様に構成されてよい。
<学習データ生成装置>
本変形例に係る学習データ生成装置1Cは、上記学習データ生成装置1と同様のハードウェア構成を有する。すなわち、学習データ生成装置1Cは、制御部11、記憶部12、通信インタフェース13、入力装置14、出力装置15、及びドライブ16が電気的に接続されたコンピュータである。学習データ生成装置1Cの記憶部12は、第1学習結果データ129C等の各種情報を記憶する。
本変形例に係る学習データ生成装置1Cは、上記学習データ生成装置1と同様のハードウェア構成を有する。すなわち、学習データ生成装置1Cは、制御部11、記憶部12、通信インタフェース13、入力装置14、出力装置15、及びドライブ16が電気的に接続されたコンピュータである。学習データ生成装置1Cの記憶部12は、第1学習結果データ129C等の各種情報を記憶する。
第1学習結果データ129Cは、与えられたデータを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器51Cの設定を行うためのデータである。第1識別器51Cは、上記実施形態と同様に、ニューラルネットワークにより成される。第1識別器51Cは、例えば、多層構造の全結合ニューラルネットワーク、再帰型ニューラルネットワーク等により構成されてよい。
図18に示されるとおり、学習データ生成装置1Cは、データ取得部111、第1生成部112、判定部113、及び第2生成部114をソフトウェアモジュールとして備えるコンピュータとして動作する。製品の写る画像データから何らかの特徴を含む他種のデータに置き換わる点を除き、データ取得部111、第1生成部112、判定部113、及び第2生成部114はそれぞれ、上記実施形態と同様に動作する。
本変形例において、処理対象となるデータは、識別器による解析の対象となり得るあらゆる種類のデータを含んでもよく、例えば、画像データの他、音データ(音声データ)、数値データ、テキストデータ、その他センサからの出力データ等であってよい。また、対象のデータから識別される特徴は、データから識別可能なあらゆる特徴を含んでもよい。対象のデータが音データである場合、識別される特徴は、例えば、特定の音(例えば、機械の異音)が含まれているか否か等であってもよい。対象のデータが、活動量等の生体データに関する数値データ又はテキストデータである場合、識別される特徴は、例えば、対象者の状態(例えば、健康であるか否か)等であってもよい。対象のデータが、機械の駆動量等の数値データ又はテキストデータである場合、識別される特徴は、例えば、機械の状態(例えば、機械が所定の状態にあるか否か)等であってもよい。
<第1学習装置>
本変形例に係る第1学習装置2Cは、上記第1学習装置2と同様のハードウェア構成を有する。すなわち、第1学習装置2Cは、制御部21、記憶部22、通信インタフェース23、入力装置24、出力装置25、及びドライブ26が電気的に接続されたコンピュータである。第1学習装置2Cは、学習データ生成装置1Cで利用する、与えられたデータを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器51Cを構築する。
本変形例に係る第1学習装置2Cは、上記第1学習装置2と同様のハードウェア構成を有する。すなわち、第1学習装置2Cは、制御部21、記憶部22、通信インタフェース23、入力装置24、出力装置25、及びドライブ26が電気的に接続されたコンピュータである。第1学習装置2Cは、学習データ生成装置1Cで利用する、与えられたデータを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器51Cを構築する。
図19に示されるとおり、第1学習装置2Cは、第1学習データ取得部211及び第1学習処理部212をソフトウェアモジュールとして備えるコンピュータとして構成される。製品の写る画像データから何らかの特徴を含む他種のデータに置き換わる点を除き、第1学習データ取得部211及び第1学習処理部212はそれぞれ、上記実施形態と同様に動作する。
<第2学習装置>
本変形例に係る第2学習装置3Cは、上記第2学習装置3と同様のハードウェア構成を有する。すなわち、第2学習装置3Cは、制御部31、記憶部32、通信インタフェース33、入力装置34、出力装置35、及びドライブ36が電気的に接続されたコンピュータである。第2学習装置3Cは、学習データ生成装置1Cにより生成された学習データを利用した機械学習を実施することで、対象のデータから特徴を識別する能力を習得した学習済みの第2識別器54Cを構築する。
本変形例に係る第2学習装置3Cは、上記第2学習装置3と同様のハードウェア構成を有する。すなわち、第2学習装置3Cは、制御部31、記憶部32、通信インタフェース33、入力装置34、出力装置35、及びドライブ36が電気的に接続されたコンピュータである。第2学習装置3Cは、学習データ生成装置1Cにより生成された学習データを利用した機械学習を実施することで、対象のデータから特徴を識別する能力を習得した学習済みの第2識別器54Cを構築する。
図20に示されるとおり、第2学習装置3Cは、第2学習データ取得部311及び第2学習処理部312をソフトウェアモジュールとして備えるコンピュータとして構成される。製品の写る画像データから何らかの特徴を含む他種のデータに置き換わる点を除き、第2学習データ取得部311及び第2学習処理部312はそれぞれ、上記実施形態と同様に動作する。
<識別装置>
図21に示されるとおり、本変形例に係る識別装置4Cは、上記検査装置4と同様のハードウェア構成を有する。識別装置4Cの記憶部42は、識別プログラム421C、第2学習結果データ323C等の各種情報を記憶する。識別プログラム421Cは、上記検査装置4と同様の処理手順により、対象のデータに含まれる特徴を識別する情報処理を識別装置4Cに実行させるためのプログラムであり、当該情報処理の一連の命令を含む。第2学習結果データ323Cは、学習済みの第2識別器54Cの設定を行うためのデータである。
図21に示されるとおり、本変形例に係る識別装置4Cは、上記検査装置4と同様のハードウェア構成を有する。識別装置4Cの記憶部42は、識別プログラム421C、第2学習結果データ323C等の各種情報を記憶する。識別プログラム421Cは、上記検査装置4と同様の処理手順により、対象のデータに含まれる特徴を識別する情報処理を識別装置4Cに実行させるためのプログラムであり、当該情報処理の一連の命令を含む。第2学習結果データ323Cは、学習済みの第2識別器54Cの設定を行うためのデータである。
本変形例では、識別装置4Cは、外部インタフェース44を介して、計測装置81Cに接続されている。計測装置81Cは、対象のデータを取得可能に適宜構成される。計測装置81Cの種類は、処理対象のデータに応じて適宜決定されてよい。処理対象のデータが音データである場合、計測装置81Cは、例えば、マイクロフォン等である。処理対象のデータが生体データである場合、計測装置81Cは、例えば、活動量計、血圧計等の、生体情報を計測可能に構成された装置である。また、処理対象のデータが、機械の駆動量等の数値データ又はテキストデータである場合、計測装置81Cは、例えば、エンコーダ等の対象の物理量を測定可能に構成された装置である。計測装置81Cの配置は、実施の形態に応じて適宜決定されてよい。
図22に示されるとおり、識別装置4Cは、制御部41により識別プログラム421Cを実行することで、対象データ取得部411、識別部412C、及び出力部413をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本変形例でも、上記実施形態と同様に、各ソフトウェアモジュールは、制御部41(CPU)により実現される。
対象データ取得部411は、識別する対象となる特徴を含む対象データ422Cを取得する。識別部412Cは、取得した対象データ422Cを第2識別器54Cに入力することで第2識別器54Cから得られる出力に基づいて、対象データ422Cに含まれる特徴を識別する。出力部413は、特徴を識別した結果を出力する。
[動作例]
次に、本変形例に係る識別システムの動作例について説明する。本変形例に係る識別システムは、上記検査システム100とほぼ同様の処理手順で動作する。
次に、本変形例に係る識別システムの動作例について説明する。本変形例に係る識別システムは、上記検査システム100とほぼ同様の処理手順で動作する。
<学習データ生成装置>
学習データ生成装置1Cの制御部11は、ステップS101では、データ取得部111として動作し、所定の特徴を含む第1データ122C、及び第1データ122Cに含まれる特徴の識別に対する正解を示す第1正解データ123Cを取得する。第1データ122Cは、適宜取得されてよい。例えば、処理対象となるデータが音データである場合、マイクロフォンを用意し、識別する対象となる特徴を含みうる音データを用意したマイクロフォンにより録音する。これにより、第1データ122Cを取得することができる。なお、ニューラルネットワーク以外の学習モデルを第2識別器54Cに採用し、機械学習として教師あり学習を実施しない等、第1正解データ123Cが不要である場合、第1正解データ123Cの取得は省略されてよい。
学習データ生成装置1Cの制御部11は、ステップS101では、データ取得部111として動作し、所定の特徴を含む第1データ122C、及び第1データ122Cに含まれる特徴の識別に対する正解を示す第1正解データ123Cを取得する。第1データ122Cは、適宜取得されてよい。例えば、処理対象となるデータが音データである場合、マイクロフォンを用意し、識別する対象となる特徴を含みうる音データを用意したマイクロフォンにより録音する。これにより、第1データ122Cを取得することができる。なお、ニューラルネットワーク以外の学習モデルを第2識別器54Cに採用し、機械学習として教師あり学習を実施しない等、第1正解データ123Cが不要である場合、第1正解データ123Cの取得は省略されてよい。
ステップS102では、制御部11は、第1生成部112として動作し、第1データ122Cに所定の変換処理を適用することで、第1データ122Cから複数件の第2データ125Cを生成する。所定の変換処理は、実施の形態に応じて適宜選択されてよい。第1データ122Cが音データである場合、所定の変換処理は、例えば、タイムストレッチ、ピッチシフト、マスキング、振幅の変換、ノイズ等の所定の音の合成及びこれらの組合せから選択されてよい。タイムストレッチは、音のピッチはそのままで、テンポ(持続時間)を変更する処理である。ピッチシフトは、音のテンポはそのままで、ピッチを変更する処理である。マスキングは、特定の部分の音を変換(例えば、除去)する処理である。また、第1データ122Cが数値データ又はテキストデータである場合、所定の変換処理は、例えば、ノイズなどの所定のデータの合成、特定の部分のデータの変換、及びこれらの組み合わせから選択されてよい。
ステップS103では、制御部11は、判定部113として動作し、第1学習結果データ129Cを参照し、学習済みの第1識別器51Cの設定を行う。そして、制御部11は、学習済みの第1識別器51に各件の第2データ125Cを入力することで第1識別器51Cから得られる出力に基づいて、各件の第2データ125Cを学習データとして採用するか否かを判定する。
これにより、第1データ122Cから生成した複数件の第2データ125Cのうち、特徴を含むデータとして不自然な第2データ125Cを除外することができる。第1データ122Cが音データであり、機械の異音の有無を特徴として識別する場合、例えば、機械の異音の有無を判別できない第2データ125C等を除外することができる。
ステップS104では、制御部11は、第2生成部114として動作し、対象のデータに含まれる特徴を識別する能力を習得するための機械学習の学習データとして採用すると判定された第2データ125Cに、第1正解データ123Cに基づいて決定された、第2データ125Cに含まれる特徴の識別に対する正解を示す第2正解データ126Cを付与する。これにより、制御部11は、第2データ125C及び第2正解データ126Cの対で構成された学習用データセット127Cを生成する。
なお、制御部11は、学習データとして採用すると判定された複数件の第2データ125Cを収集し、収集した各件の第2データ125Cに第2正解データ126Cを付与することで、複数件の学習用データセット127Cにより構成された学習用データ群を生成してもよい。また、上記第1正解データ123Cと同様に、第2正解データ126Cが不要な場合、第2データ125Cに対する第2正解データ126の付与は省略されてよい。この場合、制御部11は、学習データとして採用すると判定された第2データ125Cを収集して、複数件の第2データ125Cにより構成された学習用データ群を生成してもよい。
<第1学習装置>
第1学習装置2の制御部21は、上記ステップS201~S203の処理により、与えられたデータを、特徴を識別する能力を習得するための機械学習の学習データとして採用するか否かを判定する能力を習得した学習済みの第1識別器51Cを構築する。
第1学習装置2の制御部21は、上記ステップS201~S203の処理により、与えられたデータを、特徴を識別する能力を習得するための機械学習の学習データとして採用するか否かを判定する能力を習得した学習済みの第1識別器51Cを構築する。
すなわち、ステップS201では、制御部21は、第1学習データ取得部211として動作し、識別する対象となる特徴を含みうるデータ2221C、及びデータ2221Cを学習データとして採用するか否かの判定の正解を示す採否データ2222Cの組み合わせでそれぞれ構成された複数件の第1学習用データセット222Cを取得する。
ステップS202では、制御部21は、第1学習処理部212として動作し、学習処理を行う対象となるニューラルネットワーク52Cを用意する。次に、制御部21は、各件の第1学習用データセット222Cを用いて、データ2221Cを入力すると、採否データ2222Cにより示される正解に対応する出力値を出力するようにニューラルネットワーク52Cの機械学習を行う。これにより、制御部21は、与えられたデータを学習データとして採用するか否かを判定する能力を習得した学習済みのニューラルネットワーク52C(すなわち、第1識別器51C)を構築することができる。
ステップS203では、制御部21は、第1学習処理部212として動作し、学習後のニューラルネットワーク52C(すなわち、第1識別器51C)の構成等を示す情報を第1学習結果データ129Cとして記憶部22に格納する。なお、本変形例に係る第1識別器51Cは、上記<4.6>の変形例と同様に、識別モデル62により構成されてよい。このとき、上記画像データ2223に置き換えて、特徴を識別する対象となる所定種類のデータが用いられる。
<第2学習装置>
第2学習装置3Cの制御部31は、上記ステップS301~S303の処理により、対象のデータに含まれる特徴を識別する能力を習得した学習済みの第2識別器54Cを構築る。
第2学習装置3Cの制御部31は、上記ステップS301~S303の処理により、対象のデータに含まれる特徴を識別する能力を習得した学習済みの第2識別器54Cを構築る。
すなわち、ステップS301では、制御部31は、第2学習データ取得部311として動作し、所定の特徴を含むデータ3221C、及びデータ3221Cに含まれる特徴の識別に対する正解を示す正解データ3222Cの組み合わせでそれぞれ構成された複数件の第2学習用データセット322Cを取得する。複数件の第2学習用データセット322Cの少なくとも一部は、学習データ生成装置1により生成された学習用データ群(学習用データセット127C)である。
ステップS302では、制御部31は、第2学習処理部312として動作し、学習処理を行う対象となるニューラルネットワーク53Cを用意する。次に、制御部31は、各件の第2学習用データセット322Cを用いて、データ3221Cを入力すると、正解データ3222Cにより示される正解に対応する出力値を出力するようにニューラルネットワーク53Cの機械学習を行う。これにより、制御部31は、対象のデータに含まれる特徴を識別する能力を習得した学習済みのニューラルネットワーク53C(すなわち、第2識別器54C)を構築することができる。
ステップS303では、制御部31は、第2学習処理部312として動作し、学習後のニューラルネットワーク53C(すなわち、第2識別器54C)の構成等を示す情報を第2学習結果データ323Cとして記憶部32に格納する。なお、制御部31は、上記実施形態と同様に、複数件の第2学習用データセット322Cから選択した1又は複数件の第2学習用データセット322Cを学習データ生成装置1Cに送信してもよい。そして、制御部31は、送信した第2学習用データセット322Cを第1データ122C及び第1正解データ123Cの組み合わせとして利用して、複数件の学習用データセット127Cを生成する要求を学習データ生成装置1Cに行ってもよい。これに応じて、学習データ生成装置1Cにより生成された複数件の学習用データセット127Cを受信することで、制御部31は、機械学習に利用する第2学習用データセット322Cの件数を増やすことができる。
<識別装置>
識別装置4Cの制御部41は、ステップS401では、対象データ取得部411として動作し、識別する対象となる特徴を含む対象データ422Cを取得する。本変形例では、制御部41は、外部インタフェース44を介して計測装置81Cから対象データ422Cを取得する。ただし、対象データ422Cを取得する経路は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。
識別装置4Cの制御部41は、ステップS401では、対象データ取得部411として動作し、識別する対象となる特徴を含む対象データ422Cを取得する。本変形例では、制御部41は、外部インタフェース44を介して計測装置81Cから対象データ422Cを取得する。ただし、対象データ422Cを取得する経路は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。
ステップS402では、制御部41は、識別部412Cとして動作し、第2学習結果データ323Cを参照して、学習済みの第2識別器54Cの設定を行う。続いて、制御部41は、ステップS401により取得した対象データ422Cを第2識別器54Cに入力し、第2識別器54Cの演算処理を実行する。これにより、制御部41は、対象データ422Cに含まれる特徴を識別した結果に対応する出力値を第2識別器54Cから取得する。制御部41は、第2識別器54Cから取得した出力値に基づいて、対象データ422Cに含まれる特徴を識別する。
ステップS403では、制御部41は、出力部413として動作し、対象データ422Cに含まれる特徴を識別した結果を出力する。判定した結果の出力形式は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、制御部41は、対象データ422Cに含まれる特徴を判定した結果をそのまま出力装置46から出力してもよい。また、例えば、制御部41は、判定結果に応じて所定の出力処理を実行してもよい。具体例として、対象データ422Cが音データであり、音データの特徴として機械の異音が含まれるか否かを判定するケースでは、制御部41は、対象データ422Cに機械の異音が含まれると識別したときに、その機械の管理者の携帯端末にそのことを警告する電子メールの送信を当該出力処理として行ってもよい。また、識別装置4Cが対象の機械と接続されている場合、制御部41は、対象の機械の処理速度を落としたり、対象の機械の動作を停止したりしてもよい。
以上により、本変形例では、学習データ生成装置1Cにより生成した学習用データセットにより第2学習用データセット322Cの件数を増加させることで、十分な件数の適切な第2学習用データセット322Cを低コストで用意することができる。これにより、第2学習装置3Cでは、用意した十分な件数の第2学習用データセット322Cを利用した機械学習を実施することで、対象のデータに含まれる特徴を識別する精度の比較的に高い第2識別器54Cを構築することができる。したがって、本実施形態によれば、推論精度の高い第2識別器54Cを低コストで生成することができる。
100…検査システム、
1…学習データ生成装置、
11…制御部、12…記憶部、13…通信インタフェース、
14…入力装置、15…出力装置、16…ドライブ、
111…データ取得部、112…第1生成部、
113…判定部、114…第2生成部、
121…生成プログラム、
122…第1画像データ、123…第1正解データ、
125…第2画像データ、126…第2正解データ、
127…学習用データセット、129…第1学習結果データ、
2…第1学習装置、
21…制御部、22…記憶部、23…通信インタフェース、
24…入力装置、25…出力装置、26…ドライブ、
211…第1学習データ取得部、
212…第1学習処理部、
221…採否学習プログラム、
222…第1学習用データセット、
2221…画像データ(第5画像データ)、
2222…採否データ(第3正解データ)、
3…第2学習装置、
31…制御部、32…記憶部、33…通信インタフェース、
34…入力装置、35…出力装置、36…ドライブ、
311…第2学習データ取得部、
312…第2学習処理部、
321…学習プログラム、
322…第2学習用データセット、
3221…画像データ、3222…正解データ、
323…第2学習結果データ、
4…検査装置、
41…制御部、42…記憶部、43…通信インタフェース、
44…外部インタフェース、45…入力装置、
46…出力装置、47…ドライブ、
411…対象データ取得部、412…良否判定部、
413…出力部、
421…検査プログラム、
51…第1識別器、
52…ニューラルネットワーク、
53…ニューラルネットワーク、
54…第2識別器、
511・521・531・541…畳み込み層、
512・522・532・542…プーリング層、
513・523・533・543…全結合層、
514・524・534・544…出力層、
2A…第1学習装置、
222A…画像データ群、
2223…画像データ(第3画像データ)、
61…生成モデル、611…画像データ(第4画像データ)、
62…識別モデル、
91・92・93・94…記憶媒体
1…学習データ生成装置、
11…制御部、12…記憶部、13…通信インタフェース、
14…入力装置、15…出力装置、16…ドライブ、
111…データ取得部、112…第1生成部、
113…判定部、114…第2生成部、
121…生成プログラム、
122…第1画像データ、123…第1正解データ、
125…第2画像データ、126…第2正解データ、
127…学習用データセット、129…第1学習結果データ、
2…第1学習装置、
21…制御部、22…記憶部、23…通信インタフェース、
24…入力装置、25…出力装置、26…ドライブ、
211…第1学習データ取得部、
212…第1学習処理部、
221…採否学習プログラム、
222…第1学習用データセット、
2221…画像データ(第5画像データ)、
2222…採否データ(第3正解データ)、
3…第2学習装置、
31…制御部、32…記憶部、33…通信インタフェース、
34…入力装置、35…出力装置、36…ドライブ、
311…第2学習データ取得部、
312…第2学習処理部、
321…学習プログラム、
322…第2学習用データセット、
3221…画像データ、3222…正解データ、
323…第2学習結果データ、
4…検査装置、
41…制御部、42…記憶部、43…通信インタフェース、
44…外部インタフェース、45…入力装置、
46…出力装置、47…ドライブ、
411…対象データ取得部、412…良否判定部、
413…出力部、
421…検査プログラム、
51…第1識別器、
52…ニューラルネットワーク、
53…ニューラルネットワーク、
54…第2識別器、
511・521・531・541…畳み込み層、
512・522・532・542…プーリング層、
513・523・533・543…全結合層、
514・524・534・544…出力層、
2A…第1学習装置、
222A…画像データ群、
2223…画像データ(第3画像データ)、
61…生成モデル、611…画像データ(第4画像データ)、
62…識別モデル、
91・92・93・94…記憶媒体
Claims (13)
- 製品の良否を検査する検査システムであって、
前記製品の写る第1画像データ、及び前記第1画像データに写る前記製品の良否の判定に対する正解を示す第1正解データを取得するデータ取得部と、
前記第1画像データに所定の変換処理を適用することで、それぞれ前記製品の写る複数件の第2画像データを前記第1画像データから生成する第1生成部と、
与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2画像データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2画像データを学習データとして採用するか否かを判定する判定部と、
学習データとして採用すると判定された第2画像データに、前記第1正解データに基づいて決定された、前記第2画像データに写る前記製品の良否の判定に対する正解を示す第2正解データを付与することで、当該第2画像データ及び当該第2正解データの対で構成された学習用データセットを生成する第2生成部と、
生成した前記学習用データセットを利用した機械学習を実施することで、前記製品の良否を判定する能力を習得した学習済みの第2識別器を構築する学習処理部と、
検査の対象となる前記製品の写る対象画像データを取得する対象データ取得部と、
取得した前記対象画像データを前記第2識別器に入力することで前記第2識別器から得られる出力に基づいて、前記対象画像データに写る前記製品の良否を判定する良否判定部と、
を備える、
検査システム。 - 前記第1生成部は、フォトメトリックな変換、ジオメトリックな変換、画像の合成、画像の置換及びこれらの組合せから選択された変換処理を前記第1画像データに適用することで、前記第1画像データから複数件の第2画像データを生成する、
請求項1に記載の検査システム。 - 前記第1識別器は、第3画像データから構成される画像データ群に対して、当該第3画像データに類似する第4画像データを生成するように機械学習する生成モデルと、入力された入力データが、前記生成モデル由来の前記第4画像データであるか、前記画像データ群由来の前記第3画像データであるかを識別するように機械学習する識別モデルとを含むネットワークであって、前記生成モデルは、前記識別モデルが識別を誤るような前記第3画像データに類似する前記第4画像データを生成するように機械学習を繰り返し、前記識別モデルは、繰り返し機械学習された前記生成モデルにより生成される前記第4画像データと前記第3学習データとを識別するように機械学習する、ネットワークのうちの前記識別モデルにより構成される、
請求項1又は2に記載の検査システム。 - 前記判定部は、第5画像データと、前記第5画像データを前記学習データとして採用するか否かの正解を示す第3正解データとを利用した機械学習により生成された学習済みの学習器を前記第1識別器として利用する、
請求項1又は2に記載の検査システム。 - 製品の写る第1画像データ、及び前記第1画像データに写る前記製品の良否の判定に対する正解を示す第1正解データを取得するデータ取得部と、
前記第1画像データに所定の変換処理を適用することで、それぞれ前記製品の写る複数件の第2画像データを前記第1画像データから生成する第1生成部と、
与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2画像データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2画像データを学習データとして採用するか否かを判定する判定部と、
学習データとして採用すると判定された第2画像データに、前記第1正解データに基づいて決定された、前記第2画像データに写る前記製品の良否の判定に対する正解を示す第2正解データを付与することで、当該第2画像データ及び当該第2正解データの対で構成された学習用データセットを生成する第2生成部と、
生成した前記学習用データセットを利用した機械学習を実施することで、前記製品の良否を判定する能力を習得した学習済みの第2識別器を構築する学習処理部と、
を備える、
識別器生成システム。 - 製品の写る第1画像データ、及び前記第1画像データに写る前記製品の良否の判定に対する正解を示す第1正解データを取得するデータ取得部と、
前記第1画像データに所定の変換処理を適用することで、それぞれ前記製品の写る複数件の第2画像データを前記第1画像データから生成する第1生成部と、
与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2画像データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2画像データを学習データとして採用するか否かを判定する判定部と、
学習データとして採用すると判定された第2画像データに、前記第1正解データに基づいて決定された、前記第2画像データに写る前記製品の良否の判定に対する正解を示す第2正解データを付与することで、当該第2画像データ及び当該第2正解データの対で構成された学習用データセットを生成する第2生成部と、
を備える、
学習データ生成装置。 - 所定の被写体の写る第1画像データを取得するデータ取得部と、
前記第1画像データに所定の変換処理を適用することで、それぞれ前記被写体の写る複数件の第2画像データを前記第1画像データから生成する第1生成部と、
与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2画像データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2画像データを学習データとして採用するか否かを判定する判定部と、
学習データとして採用すると判定された第2画像データを収集することで、学習データとして採用すると判定された複数件の当該第2画像データにより構成された学習用データ群を生成する第2生成部と、
生成した前記学習用データ群を利用した機械学習を実施することで、前記被写体の特徴を識別する能力を習得した学習済みの第2識別器を構築する学習処理部と、
特徴を識別する対象となる前記被写体の写る対象画像データを取得する対象データ取得部と、
取得した前記対象画像データを前記第2識別器に入力することで前記第2識別器から得られる出力に基づいて、前記対象画像データに写る前記被写体の特徴を識別する識別部と、
を備える、
画像識別システム。 - 所定の被写体の写る第1画像データを取得するデータ取得部と、
前記第1画像データに所定の変換処理を適用することで、それぞれ前記被写体の写る複数件の第2画像データを前記第1画像データから生成する第1生成部と、
与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2画像データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2画像データを学習データとして採用するか否かを判定する判定部と、
学習データとして採用すると判定された第2画像データを収集することで、学習データとして採用すると判定された複数件の当該第2画像データにより構成された学習用データ群を生成する第2生成部と、
生成した前記学習用データ群を利用した機械学習を実施することで、前記被写体の特徴を識別する能力を習得した学習済みの第2識別器を構築する学習処理部と、
を備える、
識別器生成システム。 - 所定の被写体の写る第1画像データを取得するデータ取得部と、
前記第1画像データに所定の変換処理を適用することで、それぞれ前記被写体の写る複数件の第2画像データを前記第1画像データから生成する第1生成部と、
与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2画像データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2画像データを学習データとして採用するか否かを判定する判定部と、
学習データとして採用すると判定された第2画像データを収集することで、学習データとして採用すると判定された複数件の当該第2画像データにより構成された学習用データ群を生成する第2生成部と、
を備える、
学習データ生成装置。 - 所定の特徴を含む第1データを取得するデータ取得部と、
前記第1データに所定の変換処理を適用することで、前記第1データから複数件の第2データを生成する第1生成部と、
与えられたデータを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2データを学習データとして採用するか否かを判定する判定部と、
学習データとして採用すると判定された第2データを収集することで、学習データとして採用すると判定された複数件の当該第2データにより構成された学習用データ群を生成する第2生成部と、
生成した学習用データ群を利用した機械学習を実施することで、前記特徴を識別する能力を習得した学習済みの第2識別器を構築する学習処理部と、
識別する対象となる特徴を含む対象データを取得する対象データ取得部と、
取得した前記対象データを前記第2識別器に入力することで前記第2識別器から得られる出力に基づいて、前記対象データに含まれる前記特徴を識別する識別部と、
を備える、
識別システム。 - 前記第1データは、音データであり、
前記第1生成部は、タイムストレッチ、ピッチシフト、マスキング、振幅の変換、音の合成及びこれらの組合せから選択された変換処理を前記第1データに適用することで、前記第1データから複数件の第2データを生成する、
請求項10に記載の識別システム。 - 所定の特徴を含む第1データを取得するデータ取得部と、
前記第1データに所定の変換処理を適用することで、前記第1データから複数件の第2データを生成する第1生成部と、
与えられたデータを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2データを学習データとして採用するか否かを判定する判定部と、
学習データとして採用すると判定された第2データを収集することで、学習データとして採用すると判定された複数件の当該第2データにより構成された学習用データ群を生成する第2生成部と、
生成した学習用データ群を利用した機械学習を実施することで、前記特徴を識別する能力を習得した学習済みの第2識別器を構築する学習処理部と、
を備える、
識別器生成システム。 - 所定の特徴を含む第1データを取得するデータ取得部と、
前記第1データに所定の変換処理を適用することで、前記第1データから複数件の第2データを生成する第1生成部と、
与えられたデータを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第1識別器に各件の第2データを入力することで当該第1識別器から得られる出力に基づいて、各件の第2データを学習データとして採用するか否かを判定する判定部と、
学習データとして採用すると判定された第2データを収集することで、学習データとして採用すると判定された複数件の当該第2データにより構成された学習用データ群を生成する第2生成部と、
を備える、
学習データ生成装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201980012730.4A CN111699499B (zh) | 2018-03-14 | 2019-03-13 | 检查、图像识别、识别器生成***及学习数据生成装置 |
US16/976,081 US11715190B2 (en) | 2018-03-14 | 2019-03-13 | Inspection system, image discrimination system, discrimination system, discriminator generation system, and learning data generation device |
EP19767411.2A EP3767551A4 (en) | 2018-03-14 | 2019-03-13 | INSPECTION SYSTEM, IMAGE RECOGNITION SYSTEM, RECOGNITION SYSTEM, DISCRIMINATOR GENERATION SYSTEM AND TRAINING DATA GENERATION DEVICE |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018-047292 | 2018-03-14 | ||
JP2018047292A JP6766839B2 (ja) | 2018-03-14 | 2018-03-14 | 検査システム、画像識別システム、識別システム、識別器生成システム、及び学習データ生成装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019176993A1 true WO2019176993A1 (ja) | 2019-09-19 |
Family
ID=67907944
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2019/010183 WO2019176993A1 (ja) | 2018-03-14 | 2019-03-13 | 検査システム、画像識別システム、識別システム、識別器生成システム、及び学習データ生成装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11715190B2 (ja) |
EP (1) | EP3767551A4 (ja) |
JP (1) | JP6766839B2 (ja) |
CN (1) | CN111699499B (ja) |
WO (1) | WO2019176993A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021075072A1 (ja) * | 2019-10-16 | 2021-04-22 | 新明和工業株式会社 | 対象検出装置、飛行体、対象検出方法、コンピュータプログラム及び学習モデルの生成方法 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
MX2021007733A (es) * | 2018-12-25 | 2021-08-05 | Jfe Steel Corp | Metodo de generacion de modelo aprendido, modelo aprendido, metodo de inspeccion de defectos de superficie, metodo de fabricacion de acero, metodo de determinacion de pasa/no pasa, metodo de determinacion de grado, programa de determinacion de defectos de superficie, programa de determinacion de pasa/no pasa, sistema de determinacion y equipo de fabricacion de acero. |
JP7349816B2 (ja) * | 2019-05-16 | 2023-09-25 | 株式会社キーエンス | 画像検査装置 |
JP7334478B2 (ja) * | 2019-06-04 | 2023-08-29 | 富士フイルムビジネスイノベーション株式会社 | 情報処理装置及びプログラム |
JP7238610B2 (ja) * | 2019-06-04 | 2023-03-14 | 富士フイルムビジネスイノベーション株式会社 | 情報処理装置及びプログラム |
JP7289448B2 (ja) * | 2019-06-11 | 2023-06-12 | 株式会社イシダ | 物品識別システム及び物品識別システムを備えた会計処理システム |
KR20190087351A (ko) * | 2019-07-05 | 2019-07-24 | 엘지전자 주식회사 | 머신 러닝 시스템, 방법 및 장치 |
JP7297705B2 (ja) * | 2020-03-18 | 2023-06-26 | 株式会社東芝 | 処理装置、処理方法、学習装置およびプログラム |
WO2021221030A1 (ja) * | 2020-04-27 | 2021-11-04 | 株式会社リョーワ | 良否判定システム、良否判定方法、サーバ及びプログラム |
KR20220046925A (ko) * | 2020-10-08 | 2022-04-15 | 삼성에스디에스 주식회사 | 딥러닝 모델 성능 평가 장치 및 방법 |
US20230245133A1 (en) * | 2022-01-31 | 2023-08-03 | Walmart Apollo, Llc | Systems and methods for assessing quality of retail products |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012026982A (ja) | 2010-07-27 | 2012-02-09 | Panasonic Electric Works Sunx Co Ltd | 検査装置 |
JP2015191426A (ja) * | 2014-03-28 | 2015-11-02 | セコム株式会社 | 学習データ生成装置 |
JP2017168057A (ja) * | 2016-03-18 | 2017-09-21 | 株式会社Spectee | 画像分類装置、画像分類システム及び画像分類方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011192032A (ja) * | 2010-03-15 | 2011-09-29 | Nippon Steel Corp | 疵学習装置、疵学習方法、及びコンピュータプログラム |
JP6208552B2 (ja) | 2013-11-14 | 2017-10-04 | 株式会社デンソーアイティーラボラトリ | 識別器、識別プログラム、及び識別方法 |
US10431428B2 (en) * | 2014-01-10 | 2019-10-01 | Reno Technologies, Inc. | System for providing variable capacitance |
WO2015192239A1 (en) * | 2014-06-20 | 2015-12-23 | Miovision Technologies Incorporated | Machine learning platform for performing large scale data analytics |
CN105938558B (zh) * | 2015-03-06 | 2021-02-09 | 松下知识产权经营株式会社 | 学习方法 |
CN106548127B (zh) | 2015-09-18 | 2022-11-04 | 松下电器(美国)知识产权公司 | 图像识别方法 |
JP2017211259A (ja) * | 2016-05-25 | 2017-11-30 | 株式会社シーイーシー | 検査装置、検査方法、及びプログラム |
US10706327B2 (en) * | 2016-08-03 | 2020-07-07 | Canon Kabushiki Kaisha | Information processing apparatus, information processing method, and storage medium |
US11379688B2 (en) * | 2017-03-16 | 2022-07-05 | Packsize Llc | Systems and methods for keypoint detection with convolutional neural networks |
CN106991439A (zh) * | 2017-03-28 | 2017-07-28 | 南京天数信息科技有限公司 | 基于深度学习与迁移学习的图像识别方法 |
CN107451661A (zh) * | 2017-06-29 | 2017-12-08 | 西安电子科技大学 | 一种基于虚拟图像数据集的神经网络迁移学习方法 |
CN107563389A (zh) * | 2017-09-11 | 2018-01-09 | 合肥工业大学 | 一种基于深度学习的农作物病害识别方法 |
CN107729948A (zh) | 2017-10-31 | 2018-02-23 | 京东方科技集团股份有限公司 | 图像处理方法及装置、计算机产品和存储介质 |
JP6924413B2 (ja) * | 2017-12-25 | 2021-08-25 | オムロン株式会社 | データ生成装置、データ生成方法及びデータ生成プログラム |
-
2018
- 2018-03-14 JP JP2018047292A patent/JP6766839B2/ja active Active
-
2019
- 2019-03-13 CN CN201980012730.4A patent/CN111699499B/zh active Active
- 2019-03-13 EP EP19767411.2A patent/EP3767551A4/en active Pending
- 2019-03-13 WO PCT/JP2019/010183 patent/WO2019176993A1/ja unknown
- 2019-03-13 US US16/976,081 patent/US11715190B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012026982A (ja) | 2010-07-27 | 2012-02-09 | Panasonic Electric Works Sunx Co Ltd | 検査装置 |
JP2015191426A (ja) * | 2014-03-28 | 2015-11-02 | セコム株式会社 | 学習データ生成装置 |
JP2017168057A (ja) * | 2016-03-18 | 2017-09-21 | 株式会社Spectee | 画像分類装置、画像分類システム及び画像分類方法 |
Non-Patent Citations (3)
Title |
---|
SALAMON, JUSTIN ET AL.: "Deep Convolutional Neural Networks and Data Augmentation for Environmental Sound Classification", 28 November 2016 (2016-11-28), pages 1 - 5, XP080720674, Retrieved from the Internet <URL:URL:https://arxiv.org/abs/1608.04363v2>> [retrieved on 20190514] * |
TRAN, TOAN ET AL.: "A Bayesian Data Augmentation Approach for Learning Deep Models", 29 October 2017 (2017-10-29), pages 1 - 10, XP080832636, Retrieved from the Internet <URL:URL:https://arxiv.org/abs/1710.10564>> [retrieved on 20190514] * |
UM T., TERRY ET AL.: "Data Augmentation of Wearable Sensor Data for Parkinson's Disease Monitoring using Convolutional Neural Networks", PROCEEDINGS OF THE 19TH ACM INTERNATIONAL CONFERENCE ON MULTIMODAL INTERACTION, 13 November 2017 (2017-11-13), pages 216 - 220, XP081281539, Retrieved from the Internet <URL:<URL:https://dl.acm.org/citation.cfm?id=3136817> [retrieved on 20190514] * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021075072A1 (ja) * | 2019-10-16 | 2021-04-22 | 新明和工業株式会社 | 対象検出装置、飛行体、対象検出方法、コンピュータプログラム及び学習モデルの生成方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111699499A (zh) | 2020-09-22 |
US11715190B2 (en) | 2023-08-01 |
CN111699499B (zh) | 2023-09-29 |
EP3767551A1 (en) | 2021-01-20 |
JP2019159961A (ja) | 2019-09-19 |
JP6766839B2 (ja) | 2020-10-14 |
US20200402221A1 (en) | 2020-12-24 |
EP3767551A4 (en) | 2022-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019176993A1 (ja) | 検査システム、画像識別システム、識別システム、識別器生成システム、及び学習データ生成装置 | |
US10997711B2 (en) | Appearance inspection device | |
WO2019176990A1 (ja) | 検査装置、画像識別装置、識別装置、検査方法、及び検査プログラム | |
JP7059883B2 (ja) | 学習装置、画像生成装置、学習方法、及び学習プログラム | |
JP2018190140A (ja) | 学習装置、学習方法、及び学習プログラム | |
JP2016085704A (ja) | 情報処理システム、情報処理装置、情報処理方法、及びプログラム | |
CN110009614A (zh) | 用于输出信息的方法和装置 | |
WO2019176989A1 (ja) | 検査システム、識別システム、及び学習データ生成装置 | |
CN109978870A (zh) | 用于输出信息的方法和装置 | |
CN115439694A (zh) | 一种基于深度学习的高精度点云补全方法及装置 | |
WO2019176988A1 (ja) | 検査システム、識別システム、及び識別器評価装置 | |
JP7298825B2 (ja) | 学習支援装置、学習装置、学習支援方法及び学習支援プログラム | |
CN115070780A (zh) | 基于数字孪生的工业机器人抓取方法、装置及存储介质 | |
JP2020064364A (ja) | 学習装置、画像生成装置、学習方法、及び学習プログラム | |
JP2019086473A (ja) | 学習プログラム、検出プログラム、学習方法、検出方法、学習装置および検出装置 | |
JP7070308B2 (ja) | 推定器生成装置、検査装置、推定器生成方法、及び推定器生成プログラム | |
JP7321452B2 (ja) | プログラム、情報処理装置、情報処理方法及び学習済みモデルの生成方法 | |
JP2021135603A (ja) | 判定装置、モデル生成装置、判定方法及び判定プログラム | |
WO2022196433A1 (ja) | モデル生成装置、分類装置、データ生成装置、モデル生成方法、及びモデル生成プログラム | |
KR102469669B1 (ko) | 아날로그 신호와 디지털 신호를 이용한 합성곱 신경망 모델 학습 방법 | |
WO2023166776A1 (ja) | 外観分析システム、外観分析方法、及びプログラム | |
JP2008083866A (ja) | 異常監視装置 | |
KR20220170658A (ko) | 합성곱 신경망 모델을 이용한 비전 불량 예측 방법 및 이를 수행하는 전자 장치 | |
JP2021026449A (ja) | 学習方法、判定方法及びプログラム | |
TWM631676U (zh) | 具人工智慧模組進行檢測緊固件的設備 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19767411 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2019767411 Country of ref document: EP Effective date: 20201014 |