WO2019176989A1 - 検査システム、識別システム、及び学習データ生成装置 - Google Patents

検査システム、識別システム、及び学習データ生成装置 Download PDF

Info

Publication number
WO2019176989A1
WO2019176989A1 PCT/JP2019/010179 JP2019010179W WO2019176989A1 WO 2019176989 A1 WO2019176989 A1 WO 2019176989A1 JP 2019010179 W JP2019010179 W JP 2019010179W WO 2019176989 A1 WO2019176989 A1 WO 2019176989A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
learning
learning data
discriminator
difficulty level
Prior art date
Application number
PCT/JP2019/010179
Other languages
English (en)
French (fr)
Inventor
善久 井尻
Original Assignee
オムロン株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by オムロン株式会社 filed Critical オムロン株式会社
Priority to CN201980013728.9A priority Critical patent/CN111758117B/zh
Priority to US16/976,461 priority patent/US20210004721A1/en
Priority to EP19767896.4A priority patent/EP3767582A4/en
Publication of WO2019176989A1 publication Critical patent/WO2019176989A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/211Selection of the most significant subset of features
    • G06F18/2115Selection of the most significant subset of features by evaluating different subsets according to an optimisation criterion, e.g. class separability, forward selection or backward elimination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • G06F18/2132Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on discrimination criteria, e.g. discriminant analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/771Feature selection, e.g. selecting representative features from a multi-dimensional feature space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/776Validation; Performance evaluation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Definitions

  • a learning data set that is easy to identify that is, easy to judge quality
  • a learning data set that is difficult to identify that is, difficult to judge quality
  • the 2nd discriminator which determines the quality of a product is constructed
  • the second classifier learns the overall (macro) tendency of the judgment of pass / fail that appears in the learning data group by the learning data set with low difficulty, and then learns with the learning data set with high difficulty. It is possible to cause the second discriminator to learn the detailed (micro) tendency of the quality determination appearing in the data group.
  • the difficulty level setting unit may determine whether the sum or product of output values acquired from each of the plurality of first discriminators conforms to a correct answer indicated by the correct answer data. You may set the difficulty level of the quality determination to each learning data set. According to the said structure, the difficulty of determination of a quality can be set appropriately for each learning data set. Therefore, it is possible to construct a second discriminator having a relatively high generalization performance that can be achieved by the prepared learning data group, and thereby, the quality of the product shown in the target image data is implemented with a relatively high accuracy. Will be able to.
  • the difficulty level setting unit determines that the result of determining the quality of the product based on the output value is equal to or higher than a predetermined confidence and the correct answer indicated by the correct answer data.
  • a learning data set having a larger number of one classifier may be set to a lower difficulty level.
  • the difficulty of determination of a quality can be set appropriately for each learning data set. Therefore, it is possible to construct a second discriminator having a relatively high generalization performance that can be achieved by the prepared learning data group, and thereby, the quality of the product shown in the target image data is implemented with a relatively high accuracy. Will be able to.
  • the difficulty of the data set for learning of each case can be set appropriately based on the distance of the determination boundary and output value of a 1st discriminator. Therefore, it is possible to construct a second discriminator having a relatively high generalization performance that can be achieved by the prepared learning data group, and thereby, the quality of the product shown in the target image data is implemented with a relatively high accuracy. Will be able to.
  • the learning data generation device includes a plurality of pieces of learning data each including a combination of image data showing a product and correct data indicating correct answers for the quality determination of the product shown in the image data.
  • a learning data acquisition unit configured to acquire a learning data group configured by a set, and a plurality of first discriminators that have already acquired the ability to determine the quality of the product by machine learning.
  • the learning data generating device includes a plurality of learnings each including 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.
  • a learning data acquisition unit configured to acquire a learning data group configured by a data set for learning, and a first discriminator that has acquired the ability to determine the quality of the product by machine learning.
  • the inspection system and the learning data generation device determine a state included in image data other than the image data in which the product is imaged, and characteristics included in other types of data other than the image data.
  • the present invention may be applied to any scene in which a discriminator is constructed by machine learning using learning data, such as a scene.
  • the “subject” may include any object that can appear in the image data, and may be, for example, the face of the subject, the body of the subject, the work to be worked, and the like.
  • the “state” of the subject may include any attribute of the subject that can be determined by the classifier.
  • the state to be determined is, for example, the type of facial expression, the position of a facial part (including an organ) (including the relative positional relationship between specific organs), the facial part It may be the shape, the color of the facial part, the state of the facial part (opening, angle, etc.), the individual who owns the face, and the like.
  • the determination target state may be, for example, a body pose.
  • the state to be determined may be, for example, the position and posture of the work.
  • Difficulty level setting unit difficulty level data indicating a correspondence relationship between the learning data set of each case and the set difficulty level is generated, and the generated difficulty level data together with the learning data group in a predetermined storage area
  • a storage processing unit for storing the data.
  • an output value corresponding to a result of determining the feature included in the input data is obtained from each of the plurality of first discriminators, and an output value obtained from each of the plurality of first discriminators is A difficulty level setting unit that sets a difficulty level of determination in each of the learning data sets according to the degree of conformity to the correct answer indicated by the correct answer data.
  • Including a learning processing unit that constructs a second discriminator that determines the feature by performing stepwise machine learning using the learning data set in order from the learning data set having the low difficulty level, and the feature to be determined A target data acquisition unit for acquiring target data and the output obtained from the second discriminator by acquiring an output value from the second discriminator by inputting the acquired target data to the second discriminator.
  • a feature determination unit that determines the feature included in the target data based on a value.
  • each of the first discriminators is constructed by machine learning using a partial data group composed of a plurality of learning data sets selected from the learning data group. Also good.
  • the learning data acquisition unit is configured to learn data sets having a specific difficulty level from the learning data group based on the difficulty levels set in the learning data sets of the respective cases. And collecting additional data similar to the data included in the extracted learning data set of the specific difficulty level, and determining the characteristics included in the data with respect to the collected additional data
  • a new learning data set may be generated by adding correct answer data indicating a correct answer to, and the generated new learning data set may be added to the learning data group.
  • the learning data generation device includes a plurality of learning data sets each including a predetermined type of data and a combination of correct data indicating correct answers for determination of features included in the data.
  • the learning data acquisition unit that acquires the configured learning data group, and the data of the learning data set for each of the plurality of first classifiers that have already acquired the ability to determine the characteristics by machine learning To obtain an output value corresponding to the result of determining the feature included in the inputted data from each of the plurality of first discriminators, and to obtain an output value obtained from each of the plurality of first discriminators.
  • the present invention may be an information processing method or a program that realizes each of the above configurations.
  • it may be a storage medium readable by a computer, other devices, machines, or the like that stores such a program.
  • a computer-readable storage medium is a medium that stores information such as programs by electrical, magnetic, optical, mechanical, or chemical action.
  • the step of setting the degree of difficulty in judging the quality of the learning data sets and the stepwise machine learning using the learning data set in order from the set learning data set with the low difficulty level A step of constructing a second discriminator for determining the object, a step of acquiring target image data in which the product to be inspected is captured, and inputting the acquired target image data into the second discriminator, Obtaining an output value from a second discriminator, and determining whether or not the product appears in the target image data based on the output value obtained from the second discriminator. is there.
  • an inspection method is an information processing method for inspecting the quality of a product, wherein the computer determines image data that shows the product and the quality of the product that appears in the image data.
  • a step of acquiring a learning data group composed of a plurality of learning data sets each including a combination of correct data indicating correct answers to the first answer, and the ability to determine the quality of the product by machine learning have been acquired.
  • an output value corresponding to the result of determining the quality of the product reflected in the input image data is acquired from the first classifier.
  • the distance between the output value acquired from the first discriminator and the decision boundary of the first discriminator for determining the quality of the product is calculated, and according to the calculated distance
  • a step of constructing a second discriminator for determining the quality of the product a step of acquiring target image data in which the product to be inspected is captured, and inputting the acquired target image data to the second discriminator. Obtaining an output value from the second discriminator, and determining whether the product shown in the target image data is good or bad based on the output value obtained from the second discriminator. Is the method.
  • an output value corresponding to a result of determining the state of the subject in the input image data is acquired from the first discriminator, and the output value acquired from the first discriminator and the state of the subject
  • the distance to the decision boundary of the first discriminator for determining the value of the first discriminator is calculated, and the learning data set of each case is determined according to the calculated distance.
  • a difficulty level data indicating a correspondence relationship between the learning data set for each case and the set difficulty level, and the generated difficulty level data together with the learning data group in a predetermined storage area And a storing step.
  • the computer includes a plurality of learning data sets each including a combination of correct data indicating a correct answer for determination of a feature included in the data and a predetermined type of data. And acquiring the data of the learning data set for each case to each of a plurality of first discriminators that have acquired the ability to determine the features by machine learning.
  • an output value corresponding to a result of determining the feature included in the input data is obtained from each of the plurality of first discriminators, and an output value obtained from each of the plurality of first discriminators is According to the degree of conformity to the correct answer indicated by the correct answer data, the step of setting the difficulty of determination in the learning data set for each case, and the set A step of constructing a second discriminator for judging the feature by performing stepwise machine learning sequentially using a learning data set having a low degree of difficulty, and subject data including the feature to be judged And obtaining the output value from the second discriminator by inputting the acquired target data to the second discriminator, and based on the output value obtained from the second discriminator, And determining the feature included in the target data.
  • FIG. 9 illustrates an example of a processing procedure of the learning data generation device according to the embodiment.
  • FIG. 10 illustrates an example of a processing procedure for constructing the second classifier by the learning device according to the embodiment.
  • FIG. 11 illustrates an example of a processing procedure of the inspection apparatus according to the embodiment.
  • FIG. 12 illustrates an example of a processing procedure for collecting additional learning data sets by the learning data generation device according to the embodiment.
  • FIG. 13 schematically illustrates an example of a software configuration of a learning data generation device according to another embodiment.
  • FIG. 14 schematically illustrates an example of the software configuration of the identification device according to another embodiment.
  • FIG. 15 schematically illustrates an example of a software configuration of a learning data generation apparatus according to another embodiment.
  • FIG. 16 schematically illustrates an example of a software configuration of a learning device according to another embodiment.
  • FIG. 17 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.
  • FIG. 1 schematically illustrates an example of a scene in which the present invention is applied to an appearance inspection of a product.
  • 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 where a classifier is constructed by machine learning using a learning data set.
  • the learning data generation device 1 is a computer configured to generate a learning data set in which a determination difficulty level is set. Specifically, first, the learning data generation device 1 includes a plurality of pieces of learning data each including a combination of image data 122 showing a product and correct data 123 indicating a correct answer to the quality determination of the product shown in the image data 122. The learning data group configured by the set 121 is acquired.
  • the inspection device 3 is a computer that performs an appearance inspection of the product R using the constructed second discriminator 6. Specifically, first, the inspection apparatus 3 acquires target image data 321 in which the product R to be inspected is captured. In the present embodiment, the inspection apparatus 3 is connected to the camera 41, and acquires the target image data 321 by photographing the product R with the camera 41.
  • the inspection device 3 acquires the output value from the second discriminator 6 by inputting the acquired target image data 321 to the second discriminator 6. Then, the inspection device 3 determines the quality of the product R shown in the target image data 321 based on the output value acquired from the second discriminator 6. Thereby, the inspection apparatus 3 performs an appearance inspection of the product R.
  • the 2nd discriminator 6 which judges the quality of a product is constructed
  • the second discriminator 6 it is possible to cause the second discriminator 6 to acquire the overall tendency of pass / fail judgment appearing in the learning data group 120 by machine learning using the learning data set 121 having a low difficulty level.
  • the second discriminator 6 can learn the detailed tendency of the quality determination that appears in the learning data group 120 by machine learning using the learning data set 121 having a high degree of difficulty.
  • the present embodiment it is possible to make it difficult to fall into a local solution for determining the quality of a product appearing in the learning data group 120 in the machine learning process, and the prepared learning data group 120 is effectively used.
  • Machine learning can be performed. That is, the second discriminator 6 having a relatively high generalization performance that can be achieved by the prepared learning data group 120 can be constructed. Therefore, in the inspection apparatus 3 according to the present embodiment, the quality of the product R shown in the target image data 321 can be determined with relatively high accuracy by using the second discriminator 6 constructed thereby. it can.
  • 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.
  • 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 types of information such as the generation program 81, the learning data group 120, a plurality of first learning result data 224, difficulty data 125, and the like.
  • 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 81, the learning data group 120, and the plurality of first learning result data 224 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 81, the learning data group 120, and a plurality of pieces of first learning result data 224 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 learning device 2 according to the present embodiment.
  • the learning program 82 causes the learning device 2 to execute later-described machine learning information processing (FIG. 8 and FIG. 10) for constructing the first discriminator 5 and the second discriminator 6, and as a result, the first learning result data 224 is a program for generating 224 and second learning result data 229.
  • the second learning result data 229 is data for setting the learned second discriminator 6. 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 learning device 2 can perform data communication via the network with other information processing devices (for example, the learning data generation device 1 and the inspection device 3) by using the communication interface 23.
  • FIG. 4 schematically illustrates an example of the hardware configuration of the inspection apparatus 3 according to the present embodiment.
  • the inspection device 3 includes a control unit 31, a storage unit 32, a communication interface 33, an external interface 34, an input device 35, an output device 36, and a drive 37 that are electrically connected.
  • Computer In FIG. 4, the communication interface and the external interface are described as “communication I / F” and “external I / F”, respectively.
  • the external interface 34 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 34 may be appropriately selected according to the type and number of external devices to be connected.
  • the inspection apparatus 3 is connected to the camera 41 via the external interface 34.
  • the input device 35 is a device for inputting, for example, a mouse and a keyboard.
  • the output device 36 is a device for outputting, for example, a display or a speaker. The operator can operate the inspection device 3 by using the input device 35 and the output device 36.
  • the control unit 11 of the learning data generation device 1 expands the generation program 81 stored in the storage unit 12 in the RAM. Then, the control unit 11 interprets and executes the generation program 81 expanded in the RAM, and controls each component. Accordingly, as illustrated in FIG. 5, the learning data generation device 1 according to the present embodiment operates as a computer including the learning data acquisition unit 111, the difficulty level setting unit 112, and the storage processing unit 113 as software modules. That is, in the present embodiment, each software module is realized by the control unit 11 (CPU).
  • the learning data acquisition unit 111 is composed of a plurality of learning data sets 121 each including a combination of image data 122 showing a product and correct data 123 indicating correct answers for determination of quality of the product shown in the image data 122.
  • the learning data group 120 is acquired.
  • the difficulty level setting unit 112 includes a plurality of first discriminators 5 that have already acquired the ability to determine the quality of a product by machine learning.
  • the difficulty level setting unit 112 inputs the image data 122 of each learning data set 121 to each first discriminator 5 to thereby output corresponding to the result of determining the quality of the product shown in the input image data 122.
  • a value is acquired from each first discriminator 5.
  • the difficulty level setting unit 112 makes it difficult to determine whether each learning data set 121 is acceptable or not according to the degree to which the output value acquired from each first discriminator 5 matches the correct answer indicated by the correct answer data 123. Set the degree.
  • each of the plurality of first discriminators 5 is constructed by machine learning under different learning conditions.
  • the plurality of first discriminators 5 included in the difficulty level setting unit 112 may not be limited to such an example. At least one pair of the plurality of first discriminators 5 included in the difficulty level setting unit 112 may be constructed by machine learning under the same learning condition.
  • Each layer 51 to 53 includes one or a plurality of neurons.
  • the number of neurons in the input layer 51 may be set according to the image data 122.
  • the number of neurons in the intermediate layer 52 may be set as appropriate according to the embodiment.
  • the number of neurons in the output layer 53 may be set according to the number of correct answer types indicated by the correct answer data 123.
  • each first discriminator 5 neural network
  • the configuration of each first discriminator 5 (for example, the number of layers in each network, the number of neurons in each layer, the connection relationship between neurons, the transfer function of each neuron), the weight of the connection between each neuron, Information indicating the threshold of each neuron is included in the first learning result data 224 of each case.
  • the difficulty level setting unit 112 refers to the first learning result data 224 of each case and sets each first classifier 5 used for determining the difficulty level.
  • FIG. 6 schematically illustrates an example of the software configuration of the learning device 2 according to the present embodiment.
  • the control unit 21 of the learning device 2 expands the learning program 82 stored in the storage unit 22 in the RAM. Then, the control unit 21 interprets and executes the learning program 82 expanded in the RAM, and controls each component. Accordingly, as illustrated in FIG. 6, the learning device 2 according to the present embodiment is configured as a computer including the data acquisition unit 211 and the learning processing unit 212 as software modules. That is, in this embodiment, each software module is realized by the control unit 21 (CPU).
  • the data acquisition unit 211 acquires a learning data group 120 used for machine learning.
  • the learning processing unit 212 performs machine learning of the classifier using a plurality of learning data sets 121 included in the learning data group 120.
  • the learning processing unit 212 selects a plurality of learning data sets 121 from the learning data group 120, so that the partial data group 221 composed of the selected plurality of learning data sets 121. Create The learning processing unit 212 performs machine learning of the first discriminator 5 using the partial data group 221. That is, when the learning processing unit 212 inputs the image data 122 to the input layer 51 for each learning data set 121 included in the partial data group 221, the learning processing unit 212 corresponds to the correct answer data 123 associated with the input image data 122. Machine learning of the first discriminator 5 is performed so that the output value to be output is output from the output layer 53.
  • the learning processing unit 212 performs machine learning of the second discriminator 6 using the learning data group 120. That is, the learning processing unit 212 has acquired the ability to determine the quality of the product by performing stepwise machine learning sequentially using the learning data set 121 having a low difficulty level, in order. Build up.
  • the learning processing unit 212 refers to the difficulty level data 125 and classifies each learning data set 121 included in the learning data group 120 into a plurality of groups according to the set difficulty level. And the learning process part 212 is utilized for machine learning in an order from the group containing the learning data set 121 with the low difficulty set among the some group classified.
  • the second discriminator 6 is configured by a neural network, like the first discriminator 5.
  • the second discriminator 6 may be configured similarly to the first discriminator 5. That is, the input layer 61, the intermediate layer (hidden layer) 62, and the output layer 63 may be configured similarly to the layers 51 to 53 of the first discriminator 5.
  • the structure of the neural network of the second discriminator 6 may not match the first discriminator 5.
  • the number of layers of the neural network constituting the second discriminator 6, the number of neurons in each layer, and the connection relationship between the neurons may be different from those of the neural network constituting the first discriminator 5.
  • the learning processing unit 212 uses, as the second learning result data 229, information indicating the configuration of the learned second discriminator 6, the weight of the connection between the neurons, and the threshold value of each neuron. Store in the storage unit 22.
  • the quality determination unit 312 determines the quality of the product R shown in the target image data 321 based on the output value acquired from the second discriminator 6.
  • the output unit 313 outputs the result of determining the quality of the product R, that is, the result of the appearance inspection.
  • each software module of the learning data generation device 1, the learning device 2, and the inspection device 3 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 may be omitted, replaced, and added as appropriate according to the embodiment.
  • FIG. 8 is a flowchart illustrating an example of a processing procedure for constructing the first discriminator 5 by the 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 S101 In step S ⁇ b> 101, the control unit 21 operates as the data acquisition unit 211 and acquires the learning data group 120.
  • the method for acquiring the learning data group 120 is not particularly limited, and may be appropriately determined according to the embodiment.
  • a camera is prepared, and a product of the same type as the product R to be inspected, and a defective product (defective product) and a product without a defect (non-defective product) are photographed under various conditions using the prepared camera.
  • the learning data set 121 can be created by combining the obtained image data 122 with the correct answer data 123 indicating the quality (correct answer) appearing in the product shown in the image data 122.
  • the specific content of the correct answer data 123 may be determined as appropriate according to a pass / fail judgment mode to be described later.
  • the learning data group 120 may be created by the learning device 2.
  • the control unit 21 may create the learning data group 120 according to the operation of the input device 24 by the operator. Further, the control unit 21 may automatically create the learning data group 120 by the processing of the learning program 82. By executing this creation processing, in step S101, the control unit 21 can acquire the learning data group 120.
  • the creation of the learning data group 120 may be performed by an information processing device other than the learning device 2 such as the learning data generation device 1, for example.
  • the learning data group 120 may be created manually by an operator or automatically by processing of a program.
  • the control unit 21 may acquire the learning data group 120 created by another information processing apparatus via the network, the storage medium 92, or the like.
  • step S102 In step S ⁇ b> 102, the control unit 21 operates as the learning processing unit 212 and selects a plurality of learning data sets 121 to be used for machine learning of the first discriminator 5 from the learning data group 120. As a result, the control unit 21 creates a partial data group 221 composed of a plurality of selected learning data sets 121.
  • the method for selecting the learning data set 121 to be used is not particularly limited, and may be appropriately determined according to the embodiment.
  • the control unit 21 may randomly select a plurality of learning data sets 121 to be used for machine learning of the first discriminator 5 from the learning data group 120.
  • the control unit 21 may select a plurality of learning data sets 121 from the learning data group 120 according to a predetermined criterion.
  • the control unit 21 may select a plurality of learning data sets 121 from the learning data group 120 in accordance with the operation of the input device 24 by the operator.
  • the control unit 21 advances the processing to the next step S103.
  • Step S103 the control unit 21 operates as the learning processing unit 212, and constructs the first discriminator 5 that has acquired the ability to determine the quality of the product by machine learning using the partial data group 221 created in step S102. To do.
  • the control unit 21 outputs an output value corresponding to the correct answer data 123 when the image data 122 is input to the input layer 51 using each learning data set 121 constituting the partial data group 221. Machine learning of the neural network is performed so as to output from the layer 53.
  • the control unit 21 prepares a neural network (first discriminator 5 before learning) to be subjected to learning processing.
  • a neural network first discriminator 5 before learning
  • Each parameter such as the configuration of the neural network 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.
  • control unit 21 uses the image data 122 included in the learning data set 121 of each case constituting the partial data group 221 created in step S102 as input data, and uses the correct data 123 as teacher data.
  • the neural network learning process is executed. A stochastic gradient descent method or the like may be used for this neural network learning process.
  • the control unit 21 performs this series of processing until the output value output from the neural network matches the value corresponding to the correct answer indicated by the correct answer data 123 for each learning data set 121 constituting the partial data group 221. repeat. Thereby, the control part 21 can construct
  • the control unit 21 proceeds to the next step S104.
  • Step S104 the control unit 21 operates as the learning processing unit 212, and firstly displays information indicating the configuration of the first discriminator 5 constructed by machine learning, the connection weight between the neurons, and the threshold value of each neuron.
  • the learning result data 224 is stored in the storage unit 22. Thereby, the control part 21 complete
  • the control unit 21 can construct a plurality of first discriminators 5 by repeating a series of processes in steps S101 to S104. When repeating this series of processing, the control unit 21 changes the learning data set 121 selected in step S102 and / or changes the value of the neural network parameter prepared in step S103. As a result, the control unit 21 constructs each of the plurality of first discriminators 5 that have been machine-learned under different learning conditions for determining whether the product is good or bad.
  • the plurality of first discriminators 5 need not be limited to such an example. At least one pair of the plurality of first discriminators 5 may be constructed by machine learning under the same learning condition.
  • the control unit 21 can construct two or more first discriminators 5 that have been machine-learned under the same learning condition by repeating the series of steps S101 to S104 without changing the learning condition. it can.
  • FIG. 9 is a flowchart illustrating an example of a processing procedure for creating a learning data set 121 with difficulty by the learning data generation device 1 according to the present 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.
  • control unit 11 refers to the first learning result data 224 of each case and sets each first discriminator 5 that has already acquired the ability to determine the quality of the product by machine learning.
  • each first discriminator 5 is constructed by machine learning under different learning conditions.
  • the control unit 11 inputs the image data 122 of each learning data set 121 to the input layer 51 of each first discriminator 5 and fires each neuron included in each layer 51 to 53 in order from the input side. Make a decision. Thereby, the control unit 11 acquires an output value corresponding to the result of determining the quality of the product shown in the input image data 122 from the output layer 53 of each first discriminator 5.
  • the control unit 11 matches the correct answer indicated by the correct answer data 123 with the result of determining the quality of the product based on the output values acquired from the plurality of first discriminators 5.
  • the degree of difficulty of the learning data set 121 for each case is determined using the ratio (hereinafter also referred to as “correct answer rate”).
  • control part 11 specifies whether the result of having determined the quality of the product based on the output value of each 1st discriminator 5 corresponds with the correct answer shown by the correct data 123, and each 1st The correct answer rate of the determination by the classifier 5 is derived. Whether the result of determining the quality of the product based on the output value of each first discriminator 5 matches the correct answer indicated by the correct data 123 is determined by the format of the output value of each first discriminator 5 It may be performed appropriately according to
  • each first discriminator 5 corresponds to the result of determining the quality of the product shown in the input image data 122. Therefore, the sum and product of the output values of each first discriminator 5 also correspond to the result of determining the quality of the product shown in the input image data 122. For example, when the output value of each first discriminator 5 indicates the probability that the product has or does not exist, the sum or product of the output values obtained from each of the plurality of first discriminators 5 is The degree to which a defect exists or does not exist is shown as it is.
  • control unit 11 increases the value of the learning data set 121 as the sum or product of the output values acquired from each of the plurality of first discriminators 5 matches the correct answer indicated by the correct data 123. Set the difficulty level low.
  • control unit 11 determines the difficulty level of the learning data set 121 such that the sum or product of the output values acquired from each of the plurality of first discriminators 5 does not match the correct answer indicated by the correct answer data 123. Set high.
  • control unit 11 determines that the product is good or bad based on the output value, and matches the correct answer indicated by the correct answer data 123 with a certainty degree or more. Using the number of first discriminators 5, the difficulty level of each learning data set 121 is determined.
  • the control unit 11 has a large number of first discriminators 5 in which the result of determining the quality of the product based on the output value is equal to or higher than a predetermined certainty and matches the correct answer indicated by the correct answer data 123.
  • the data set 121 is set to a lower difficulty level.
  • the control unit 11 has a small number of first discriminators 5 in which the result of determining the quality of the product based on the output value is equal to or higher than a predetermined certainty and matches the correct answer indicated by the correct answer data 123.
  • the degree of difficulty is set higher for the data set 121.
  • the certainty factor can be derived from the distance between the output value from each first discriminator 5 and the decision boundary.
  • the distance between the output value from the first discriminator 5 and the decision boundary can be calculated by Equation 1 described later. For example, when the distance between the output value obtained from the target first discriminator 5 and the decision boundary is equal to or greater than a predetermined threshold, the control unit 11 determines the result of the determination by the target first discriminator 5. Alternatively, it may be determined that the correct answer indicated by the correct answer data 123 is equal to or higher than a predetermined certainty factor. That is, the control unit 11 may set the difficulty level of each learning data set 121 according to the number of first discriminators 5 whose distance between the output value and the decision boundary is equal to or greater than a predetermined threshold. .
  • control unit 11 derives the difficulty level score of each learning data set 121 by each of the above methods, and sets the derived score as the difficulty level of each learning data set 121.
  • the control unit 11 advances the processing to the next step S204.
  • step S ⁇ b> 204 the control unit 11 operates as the storage processing unit 113, and generates difficulty level data 125 indicating a correspondence relationship between each learning data set 121 and the set difficulty level.
  • the data format of the difficulty level data 125 is not particularly limited, and may be appropriately determined according to the embodiment.
  • a known data format such as a table format can be adopted.
  • step S205 the control unit 11 operates as the storage processing unit 113, and stores the generated difficulty level data 125 together with the learning data group 120 in a predetermined storage area.
  • the predetermined storage area may be the storage unit 12 or may be an external storage area such as the storage unit 22 of the learning device 2 or NAS.
  • the control unit 11 ends the process according to this operation example.
  • control unit 11 may transfer the generated difficulty level data 125 to the learning device 2. Further, when the difficulty level data 125 is stored in the storage unit 12, NAS, or the like, the learning device 2 may acquire the difficulty level data 125 from the storage unit 12, NAS, or the like.
  • FIG. 10 is a flowchart illustrating an example of a processing procedure for constructing the second discriminator 6 by the 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 S301 In step S ⁇ b> 301, the control unit 21 operates as the data acquisition unit 211 and acquires the learning data group 120. This step S301 may be processed in the same manner as step S101. In addition, the control unit 21 acquires difficulty level data 125. When the learning data group 120 and the difficulty level data 125 are acquired, the control unit 21 proceeds to the next step S302.
  • Steps S302 and S303 In steps S302 and S303, the control unit 21 operates as the learning processing unit 212, and performs stepwise machine learning sequentially using the learning data set 121 having a low difficulty level, thereby determining the quality of the product.
  • a second discriminator 6 that has acquired the ability to determine is constructed.
  • step S ⁇ b> 302 the control unit 21 refers to the difficulty level data 125 and sets the learning data sets 121 included in the learning data group 120 according to the set difficulty level to a plurality of groups.
  • the number of groups to be set is not particularly limited, and may be appropriately determined according to, for example, the number of learning data sets 121, the type of difficulty (for example, grade type, score range), and the like.
  • the control unit 21 may classify the learning data sets 121 having different difficulty levels into the same group as long as each group is set in stages according to the difficulty levels. For example, it is assumed that the difficulty level is “1” to “5” and the learning data set 121 for each case is classified into two groups. In this case, the control unit 21 may classify the learning data sets 121 having the difficulty levels “1” and “2” and a part of the learning data sets 121 having the difficulty level “3” into the first group. Then, the control unit 21 may classify the learning data sets 121 having the difficulty levels “4” and “5” and the remaining learning data sets 121 having the difficulty level “3” into the second group.
  • step S303 the control unit 21 performs machine learning of the second discriminator 6 by sequentially using the group including the learning data set 121 having a low difficulty level among the plurality of classified groups. .
  • Machine learning using each group may be performed in the same manner as in step S103.
  • control unit 21 weights the connection between the neurons until the output value output from the neural network matches the value corresponding to the correct data 123 for each learning data set 121 included in each group.
  • the above-described series of processes for updating the respective threshold values of the neurons is repeated.
  • the control unit 21 can construct the learned second discriminator 6 that outputs an output value corresponding to the correct answer indicated by the correct answer data 123.
  • the control unit 21 applies the learning processing of the neural network in order from the group including the learning data set 121 having a low difficulty level. That is, the control unit 21 first applies the group 226 including the learning data set 121 having the lowest difficulty level to the learning process. Accordingly, when the control unit 21 inputs the image data 122 to the learning data sets 121 included in the group 226, the control unit 21 outputs an output value corresponding to the correct data 123 associated with the input image data 122. The learned second discriminator 6 to be output is constructed. Next, the control unit 21 selects a group having the next highest difficulty level after the group 226, and executes the same learning process for the selected group.
  • the control unit 21 repeats this series of machine learning processes until the learning process of the group 228 including the learning data set 121 having the highest difficulty level is completed. Thereby, the control part 21 implements the stepwise machine learning sequentially used from the learning data set 121 having a low difficulty level, and learns the second discriminator 6 that has acquired the ability to judge the quality of the product. Can be built.
  • Step S304 the control unit 21 operates as the learning processing unit 212, and stores information indicating the configuration of the second discriminator 6 constructed by machine learning, the connection weight between the neurons, and the threshold value of each neuron.
  • the learning result data 229 is stored in the storage unit 22. Thereby, the control part 21 complete
  • control unit 21 may transfer the created second learning result data 229 to the inspection device 3.
  • the control unit 21 may store the created second learning result data 229 in a data server such as NAS.
  • the inspection apparatus 3 may acquire the second learning result data 229 from this data server.
  • the second learning result data 229 created by the learning device 2 may be incorporated in the inspection device 3 in advance.
  • FIG. 11 is a flowchart illustrating an example of a processing procedure of the inspection apparatus 3.
  • 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 S402 In step S ⁇ b> 402, the control unit 31 operates as the pass / fail determination unit 312, inputs the acquired target image data 321 to the second discriminator 6, and executes the arithmetic processing of the second discriminator 6. An output value is acquired from the second discriminator 6. Then, the control unit 31 determines the quality of the product R shown in the target image data 321 based on the output value acquired from the second discriminator 6.
  • control unit 31 sets the learned second discriminator 6 with reference to the second learning result data 229. Subsequently, the control unit 31 inputs the target image data 321 to the input layer 61 of the second discriminator 6, and performs firing determination of each neuron included in each of the layers 61 to 63 in order from the input side. Thereby, the control unit 31 acquires an output value corresponding to the result of determining the quality of the product R shown in the input target image data 321 from the output layer 63 of the second discriminator 6.
  • the format of the output value of the second discriminator 6 may be appropriately selected according to the embodiment, similarly to the first discriminator 5 described above.
  • the output value of the second discriminator 6 may indicate whether or not there is a defect in the product, or may indicate the probability that the product has or does not exist.
  • the control unit 31 can determine whether or not the product R has a defect based on the output value acquired from the second discriminator 6.
  • the output value of the second discriminator 6 may indicate the type of defect present in the product.
  • the inspection apparatus 3 may hold reference information (not shown) such as a table format in which the output value of the second discriminator 6 is associated with the type of defect in the storage unit 32.
  • the control unit 31 can identify the type of defect corresponding to the output value acquired from the second discriminator 6 by referring to the reference information.
  • determining the quality of the product R according to the format of the output value of the second discriminator 6 is determining whether or not the product R has a defect, and whether or not the product has a defect. For example, the probability may be derived, or the type of defect existing in the product R may be specified.
  • the control unit 31 advances the processing to the next step S403.
  • step S403 the control unit 31 operates as the output unit 313, and outputs the result of determining whether the product R is good or bad 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 31 may output the determination result of the product R to the output device 36 as it is. If it is determined in step S402 that the product R has a defect, the control unit 31 may perform a warning for notifying that a defect has been detected as the output process in step S403.
  • the inspection apparatus 3 is connected to a production line that transports a product, when it is determined that the product R is defective, the control unit 31 determines that the defective product R is different from a product that does not have a defect.
  • a process of transmitting a command to be conveyed along the route to the production line may be performed as the output process of step S403.
  • control unit 31 ends the process according to this operation example.
  • control unit 31 may execute a series of processes in steps S401 to S403 each time the product R conveyed on the production line enters the photographing range of the camera 41. Thereby, the inspection apparatus 3 can perform the appearance inspection of the product R conveyed on the production line.
  • Step S501 the control unit 11 operates as the learning data acquisition unit 111, refers to the difficulty level data 125, and based on the difficulty level set in the learning data set 121 for each case, from the learning data group 120. A learning data set 180 having a specific difficulty level is extracted.
  • the difficulty level to be extracted may be appropriately determined according to the embodiment.
  • the control unit 11 may extract the learning data set 121 having the highest difficulty set as the learning data set 180.
  • the control unit 11 may accept designation of the difficulty level to be extracted through the operation of the input device 14 by the operator. In this case, the control unit 11 may extract the learning data set 121 having the difficulty level designated by the operator as the learning data set 180.
  • the control unit 11 advances the processing to the next step S502.
  • Step S502 the control unit 11 operates as the learning data acquisition unit 111 and collects additional image data 182 similar to the image data 122 included in the learning data set 180 of the specific difficulty extracted in step S501. To do.
  • the method for acquiring the additional image data 182 may be appropriately selected according to the embodiment.
  • the control unit 11 may acquire additional image data 182 by photographing a product with this camera.
  • image data representing a product is stored in a storage area such as the storage unit 12 or NAS separately from the learning data group 120, the control unit 11 adds the image data stored in the storage area.
  • the image data 182 may be acquired.
  • the number of additional image data 182 to be collected may be appropriately determined according to the embodiment.
  • the number of additional image data 182 to be collected may be defined by a setting value.
  • the control unit 11 may accept designation of the number of additional image data 182 to be collected through the operation of the input device 14 by the operator. When the collection of the additional image data 182 is completed, the control unit 11 advances the processing to the next step S503.
  • the specific contents of the correct answer data 183 may be determined as appropriate.
  • the control unit 11 may acquire the correct answer data 123 associated with the image data 122 from which the additional image data 182 is collected as the correct answer data 183 from the learning data group 120.
  • the control unit 11 may determine the content of the correct answer data 183 in accordance with the operation of the input device 14 by the operator.
  • Step S504 the control unit 11 operates as the learning data acquisition unit 111, and stores the generated new learning data set 181 in the storage area in which the learning data group 120 is stored. Thereby, the control unit 11 adds the generated new learning data set 181 to the learning data group 120. When the addition of the generated new learning data set 181 is completed, the control unit 11 ends the processing according to this operation example.
  • the learning device 2 is not capable of performance because the number of the learning data sets 121 constituting the learning data group 120 is insufficient, the number of the learning data sets 121 having a specific difficulty level is insufficient, or the like.
  • the second discriminator 6 having a high value may not be constructed. Accordingly, the learning data set addition processing in steps S501 to S504 may be executed when the performance of the second discriminator 6 constructed by the learning device 2 is insufficient. Thereby, the shortage of the number of cases of the learning data set 121 can be solved, and the high performance second discriminator 6 can be constructed by the learning device 2.
  • the evaluation data set collected in the same manner as the learning data set 121 of the learning data group 120 may be used to determine whether or not the performance of the second discriminator 6 is insufficient. That is, by inputting the image data included in the evaluation data set to the second discriminator 6, an output value corresponding to the result of determining the quality of the product shown in the image data can be obtained from the second discriminator 6. it can. Whether the second discriminator 6 can correctly judge whether the output value acquired from the second discriminator 6 matches the correct answer indicated by the correct data associated with the input image data. It can be determined whether or not. For example, the performance of the second discriminator 6 can be evaluated based on the ratio at which the second discriminator 6 can correctly judge pass / fail for this evaluation data set.
  • the series of evaluation processes of the second discriminator 6 may be executed by any one of the learning data generation device 1, the learning device 2, and the inspection device 3, or may be executed by another information processing device other than these. Also good.
  • the learning data generation device 1 performs the machine learning of the second discriminator 6 again using the updated learning data group 120 after the addition of the generated new learning data set 181 is completed.
  • the command may be transmitted to the learning device 2.
  • the learning device 2 may perform the re-learning of the second discriminator 6 by executing a series of processes in steps S301 to S304 in response to receiving this command.
  • the difficulty level of the new learning data set 181 may be set as appropriate.
  • the control unit 11 may set the difficulty level extracted in step S501 as the difficulty level of the new learning data set 181. Further, for example, the control unit 11 may set the difficulty level of the new learning data set 181 by executing the processes of steps S202 and S203 on the new learning data set 181.
  • control unit 11 displays the image data 122 included in the learning data set 180 of the specific difficulty extracted in step S501 on the display (output device 15), and collects additional image data 182 to the operator. You may be prompted. In response to this, the control unit 11 may acquire input image data as additional image data 182 by receiving input of image data.
  • the inspection system 100 uses the second discriminator 6 constructed in step S303 in the processing of steps S401 to S403, thereby determining the quality of the product R shown in the target image data 321. Can be carried out with relatively high accuracy.
  • each first discriminator 5 is constructed by the learning device 2.
  • the device for constructing the first discriminator 5 may not be limited to the learning device 2.
  • At least one of the plurality of first discriminators 5 may be constructed by an information processing device other than the learning device 2.
  • the execution of a series of processes in steps S101 to S104 may be omitted.
  • a plurality of learning data sets 121 selected from the learning data group 120 are used for machine learning of each first discriminator 5.
  • the learning data set used for the machine learning of each first discriminator 5 may not be limited to such an example.
  • a learning data set not derived from the learning data group 120 may be used for machine learning of each first discriminator 5. This learning data set may be acquired as appropriate.
  • each discriminator (5, 6) is configured by a fully connected neural network having a multilayer structure.
  • the type of neural network constituting each discriminator (5, 6) is not limited to such an example, and may be appropriately selected according to the embodiment.
  • a convolutional neural network, a recursive neural network, or the like may be employed as the neural network constituting each discriminator (5, 6).
  • the types of neural networks employed in at least some of the first classifiers 5 among the plurality of first classifiers 5 are different from the types of neural networks employed in other first classifiers 5. Also good.
  • a neural network is used as a learning model for each discriminator (5, 6).
  • the learning model of each discriminator (5, 6) may not be limited to such an example, and may be appropriately selected according to the embodiment.
  • a support vector machine or the like may be used for the learning model of each classifier (5, 6).
  • learning models employed in at least some of the first classifiers 5 among the plurality of first classifiers 5 may be different from learning models employed in other first classifiers 5.
  • the learning data acquisition unit 111 is configured to be able to add a new learning data set 181 to the learning data group 120 through a series of processes in steps S501 to S504.
  • the learning data acquisition unit 111 may not be configured in this way.
  • the execution of a series of processes in steps S501 to S504 may be omitted.
  • each of the first learning result data 224 and the second learning result data 229 includes information indicating the configuration of the neural network.
  • the configuration of the first learning result data 224 and the second learning result data 229 does not have to be limited to such an example, and can be used for setting the learned classifiers (5, 6).
  • each of the first learning result data 224 and the second learning result data 229 does not include information indicating the configuration of the neural network. Also good.
  • the learning data generation device 1 uses the plurality of first discriminators 5 to determine the difficulty level of the learning data set 121 for each case.
  • the method of determining the difficulty level of each learning data set 121 may not be limited to such an example.
  • the difficulty level of each learning data set 121 may be determined by one first discriminator 5.
  • the control unit of the learning data generation device 1A performs learning with difficulty according to the same processing procedure as the learning data generation device 1 according to the above embodiment, except that the processing contents of steps S202 and S203 are different.
  • a data set 121 can be created.
  • the control unit of the learning data generation device 1A can add a new learning data set 181 to the learning data group 120 by executing the processes of steps S501 to S504.
  • step S202 the control unit of the learning data generation device 1A operates as the difficulty level setting unit 112A and refers to the first learning result data 224, thereby determining the quality of the product by machine learning.
  • the control unit inputs the image data 122 of each learning data set 121 to the input layer 51 of the first discriminator 5, and determines firing of each neuron included in each layer 51 to 53 in order from the input side. Do. Accordingly, the control unit acquires an output value corresponding to the result of determining the quality of the product shown in the input image data 122 from the first discriminator 5.
  • the control unit sets the difficulty level of each learning data set 121 so as to be inversely proportional to the distance between the output value calculated from the first discriminator 5 and the decision boundary. That is, the control unit sets the learning data set 121 having a larger distance between the output value calculated from the first discriminator 5 and the decision boundary to a lower difficulty level. On the other hand, the control unit sets the learning data set 121 having a smaller distance between the output value calculated from the first discriminator 5 and the decision boundary to a higher difficulty level.
  • decision boundary of the first discriminator 5 can be expressed by the following equation 1 with respect to the coordinate space of the input data, for example.
  • x represents input data
  • b represents a constant.
  • Input data in which the value of the formula 1 is 0 indicates a decision boundary. Therefore, the control unit inputs the image data 122 to x in Equation 1 for each learning data set 121 and calculates the absolute value of Equation 1 to obtain the output value from the first discriminator 5. And the distance between the decision boundary and the decision boundary.
  • FIG. 14 schematically illustrates an example of the software configuration of the identification device 3B according to the present modification.
  • 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 image data showing a subject from image data showing a product. That is, the identification system according to this modification may be configured by the learning data generation device 1, the learning device 2, and the identification device 3B.
  • the hardware configuration of the identification device 3B may be the same as the hardware configuration of the inspection device 3.
  • the software configuration of the identification device 3B may be the same as the software configuration of the inspection device 3 except that the pass / fail determination unit 312 is replaced with the state determination unit 312B.
  • the subject may include any object that can be reflected in the image data, and may be, for example, the face of the subject, the body of the subject, the work to be worked, or the like.
  • the state of the subject may include all the attributes of the subject that can be determined by the classifier.
  • the state to be determined is, for example, the type of facial expression, the position of a facial part (including an organ) (including the relative positional relationship between specific organs), the facial part It may be the shape, the color of the facial part, the state of the facial part (opening, angle, etc.), the individual who owns the face, and the like.
  • the determination of the person who owns the face may be made to perform face authentication.
  • the state to be determined may be, for example, a body pose.
  • the state to be determined may be, for example, the position and posture of the work.
  • the learning data set 121 is replaced with a learning data set including a combination of image data and correct data indicating a correct answer to the determination of the state of the subject in the image data.
  • the learning apparatus 2 can construct each classifier that has already acquired the ability to determine the state of the subject by the same processing procedure as in the above embodiment. That is, the learning device 2 repeats the processes of steps S101 to S104 while changing the learning conditions, thereby acquiring a plurality of first discriminators who have acquired the ability to determine the state of the subject by machine learning under different learning conditions. Can be generated.
  • the learning data generating device 1 performs a plurality of learning data combinations each including image data and a combination of correct answer data indicating a correct answer to the determination of the state of the subject reflected in the image data by the process of step S201.
  • a learning data group composed of data sets is acquired.
  • the learning data generation device 1 inputs the image data of each item of learning data to each first discriminator that has already acquired the ability to determine the state of the subject by machine learning through the process of step S202.
  • the calculation process of each first discriminator is executed.
  • a plurality of first discriminators constructed by machine learning under different learning conditions may be used as in the above embodiment.
  • the learning data generation apparatus 1 acquires the output value corresponding to the result of determining the state of the subject in the input image data from each of the plurality of first discriminators. Subsequently, the learning data generation device 1 adds the output value acquired from each first discriminator to each learning data set according to the degree of matching with the correct answer indicated by the correct data by the process of step S203. Sets the difficulty level of the judgment. Any of the first to third methods may be employed as the difficulty determination method. Then, the learning data generation device 1 generates difficulty level data indicating a correspondence relationship between each learning data set and the set difficulty level through the above steps S204 and S205, and uses the generated difficulty level data as learning data. The data is saved together with the group in a predetermined storage area.
  • the learning device 2 performs the stepwise machine learning using the learning data set in the order of low difficulty in the order of the state of the subject by performing the processing in steps S301 to S303.
  • the second discriminator 6B for determining Then, the learning device 2 obtains information indicating the configuration of the second discriminator 6B constructed by machine learning, the weight of the connection between the neurons, and the threshold value of each neuron in the second learning result data by the process of step S304. It is stored in the storage unit 22 as 229B.
  • the control unit of the identification device 3B operates as the target data acquisition unit 311 through the process of step S401, and acquires target image data 321B in which a subject whose state is to be determined is captured.
  • the control unit of the identification device 3B operates as the state determination unit 312B, and sets the learned second classifier 6B with reference to the second learning result data 229B.
  • the control unit inputs the acquired target image data 321B to the second discriminator 6B, and executes the arithmetic processing of the second discriminator 6B.
  • the control unit acquires the output value from the second discriminator 6B, and determines the state of the subject in the target image data 321B based on the acquired output value.
  • the control unit operates as the output unit 313 by the process of step S403, and outputs the result of determining the state of the subject.
  • the learning data generation device 1 uses the processing in step S501 to learn learning data having a specific difficulty level from the learning data group based on the difficulty level set for each learning data set.
  • a set may be extracted.
  • the learning data generation apparatus 1 may collect additional image data similar to the image data included in the extracted learning data set of the specific difficulty level by the processing in step S502.
  • the learning data generation device 1 gives correct data indicating the correct answer to the determination of the state of the subject in the additional image data to the additional image data collected by the processing in step S503.
  • a new learning data set may be generated.
  • the learning data generation device 1 may add the new learning data set generated by the processing in step S504 to the learning data group.
  • each learning data set is The difficulty level. That is, in step S202, the learning data generation device 1 inputs the image data of each learning data set to the first classifier that has already acquired the ability to determine the state of the subject by machine learning. An output value corresponding to the result of determining the state of the subject in the input image data may be acquired from the first discriminator. In step S203, the learning data generation device 1 calculates the distance between the output value acquired from the first discriminator and the determination boundary of the first discriminator for determining the state of the subject. Accordingly, the determination difficulty may be set for each learning data set.
  • the software configuration of the learning device 2C may be the same as the software configuration of the learning device 2 except that the data to be processed is replaced.
  • the software configuration of the identification device 3C may be the same as the software configuration of the inspection device 3 except that the quality determination unit 312 is replaced with the feature determination unit 312C.
  • the data to be processed may include all kinds of data that can be analyzed by the classifier.
  • data to be processed in addition to image data, sound data (voice data), numerical data, text data, these It may be data configured by a combination of the above.
  • the feature may include any feature that can be identified from the data.
  • the characteristics to be determined may be, for example, whether or not a specific sound (for example, a mechanical noise) is included.
  • the data to be processed is numerical data or text data related to biological data such as blood pressure and activity amount
  • the determined feature may be, for example, the state of the subject.
  • the data to be processed is numerical data such as a driving amount of the machine or text data
  • the determined feature may be, for example, the state of the machine.
  • the controller of the learning device 2C has the ability to determine the state of the subject by machine learning under different learning conditions by repeating the processing of steps S101 to S104 while changing the learning conditions, as in the above embodiment.
  • a plurality of first discriminators 5C that have already learned the above may be constructed.
  • the control unit of the learning device 2C repeats the processes of steps S101 to S104 without changing the learning condition, thereby acquiring two or more abilities to determine the state of the subject by machine learning under the same learning condition.
  • the first discriminator 5C may be constructed.
  • the control unit of the learning device 2C After constructing each first discriminator 5C, the control unit of the learning device 2C provides information indicating the configuration of each first discriminator 5C, the weight of connection between the neurons, and the threshold value of each neuron to the first learning result data. It is stored in the storage unit as 224C.
  • the control unit of the learning data generation device 1 ⁇ / b> C performs a combination of the correct data 123 ⁇ / b> C indicating the correct answer to the determination of the feature included in the predetermined type of data 122 ⁇ / b> C and the data 122 ⁇ / b> C by the process of step S ⁇ b> 201.
  • a learning data group 120C configured by a plurality of learning data sets 121C included therein is acquired.
  • the control unit refers to the first learning result data 224C of each case by the process of step S202, and sets the settings of the first discriminators 5C that have acquired the ability to determine the features by machine learning. Do.
  • each first classifier 5C is constructed by machine learning under different learning conditions, as in the above embodiment.
  • the control unit inputs the data 122C of the learning data set 121C for each case to each first discriminator, and executes arithmetic processing of each first discriminator.
  • a control part acquires the output value corresponding to the result of having determined the characteristic contained in the input data 122C from each 1st discriminator 5C.
  • the control unit adds the output value acquired from each first discriminator 5C to the learning data set 121C for each case according to the degree to which the output value obtained from each first discriminator 5C matches the correct answer indicated by the correct answer data 123C. Sets the difficulty level of the judgment.
  • the control unit is less difficult as the learning data set 121C has a higher ratio that the result of determining the feature based on the output value acquired from each first discriminator 5C matches the correct answer indicated by the correct answer data 123C. You can set the degree.
  • the control unit has a large number of first discriminators 5C in which the result of determining the feature based on the output value is equal to or higher than a predetermined certainty and matches the correct answer indicated by the correct answer data 123C.
  • the degree of difficulty may be set as low as the learning data set 121C.
  • a control part produces
  • the generated difficulty level data 125 is used as learning data.
  • the data is stored in a predetermined storage area together with the group 120C.
  • control unit of the learning device 2C performs stepwise machine learning using the learning data set 121C having a low difficulty level in order from the set steps S301 to S303. Then, the second discriminator 6C for determining the characteristics is constructed. Then, the control unit obtains information indicating the configuration of the second discriminator 6C constructed by machine learning, the connection weight between the neurons, and the threshold value of each neuron by the process of step S204, as described in the second learning result data 229C. Is stored in the storage unit.
  • the control unit of the identification device 3C operates as the target data acquisition unit 311 through the process of step S401, and acquires target data 321C including a feature to be determined.
  • the method for acquiring the target data 321C may be appropriately determined according to the type of the target data 321C.
  • the control unit of the identification device 3C operates as the feature determination unit 312C, and sets the learned second classifier 6C with reference to the second learning result data 229C. Subsequently, the control unit inputs the acquired target data 321C to the second discriminator 6C, and executes a calculation process of the second discriminator 6C.
  • a control part acquires the output value from 6 C of 2nd discriminators, and determines the characteristic contained in object data 321C based on the acquired output value. And a control part operate

Landscapes

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

Abstract

データに含まれる特徴を比較的に精度よく判定する。本発明の一側面に係る検査システムは、画像データ及び正解データの組み合わせをそれぞれ含む複数件の学習用データセットを取得し、各件の学習用データセットの画像データに写る製品の良否を第1識別器により判定した結果が正解データの示す正解に適合する度合いに応じて、各件の学習用データセットに判定の難易度を設定する。そして、検査システムは、設定された難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することで、製品の良否を判定する第2識別器を構築する。

Description

検査システム、識別システム、及び学習データ生成装置
 本発明は、検査システム、識別システム、及び学習データ生成装置に関する。
 従来、生産ライン等の製品を製造する場面では、製造される製品を撮影装置により撮影し、得られた画像データに基づいて製品の良否を検査する技術が利用されている。例えば、特許文献1では、学習済みの第1のニューラルネットワークに基づいて画像に写る検査対象物が正常であるか異常であるかを判定し、検査対象物が異常であると判定した場合に、学習済みの第2のニューラルネットワークに基づいて当該異常の種類を分類する検査装置が提案されている。
特開2012-026982号公報
 本件発明者は、特許文献1のような学習済みのニューラルネットワーク等の識別器を利用して、画像データから製品の良否を判定する従来の技術には次のような問題点があることを見出した。すなわち、製品の良否判定を機械学習するには、良否の状態が表れた製品の写る多くの学習データを利用する。この多くの学習データを一度に利用して機械学習を実施した場合、学習データに表れる製品の良否を判定する局所解に陥ってしまう等の理由により、汎化能力の高い識別器を構築することができない可能性がある。例えば、学習データである画像に写る製品の欠陥が特定の欠陥(例えば、打痕)に偏っている場合には、その他の欠陥(例えば、汚れ)を判定する識別器を構築することができない。また、例えば、小さな打痕等の良否の識別が困難な学習データのみを収集して機械学習を実施すると、機械学習そのものに時間がかかってしまう他、不良品としなくてもよい小さなシミを不良品と判定する識別器が構築されてしまう可能性がある。すなわち、従来の技術では、製品の良否を判定する能力を獲得するための機械学習を実施するのに十分な件数の学習データを用意しても、性能の高い識別器を得ることができず、製品の良否の判定を精度よく実施することができない可能性があるという問題点があることを本件発明者は見出した。
 なお、この問題点は、製品の良否を判定する場面に特有のものではない。画像データから被写体の何らかの状態を識別する場面、画像データ以外のデータから何らかの特徴を識別する場面等、学習データを利用した機械学習により識別器を構築するあらゆる場面で同様の問題点が生じ得る。すなわち、データに含まれる特徴を判定する能力を習得するための機械学習を実施するのに十分な件数の学習データを用意しても、性能の高い識別器を得ることができない可能性がある。
 本発明は、一側面では、このような実情を鑑みてなされたものであり、その目的は、データに含まれる特徴を比較的に精度よく判定可能な技術を提供することである。
 本発明は、上述した課題を解決するために、以下の構成を採用する。
 すなわち、本発明の一側面に係る検査システムは、製品の良否を検査する検査システムであって、前記製品の写る画像データ、及び前記画像データに写る前記製品の良否の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、前記製品の良否を判定する能力を機械学習により習得済みである複数の第1識別器それぞれに前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記製品の良否を判定した結果に対応する出力値を当該複数の第1識別器それぞれから取得し、前記複数の第1識別器それぞれから取得した出力値が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに良否の判定の難易度を設定する難易度設定部と、設定された前記難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、前記製品の良否を判定する第2識別器を構築する学習処理部と、検査の対象となる前記製品の写る対象画像データを取得する対象データ取得部と、取得した前記対象画像データを前記第2識別器に入力することで、前記第2識別器から出力値を取得し、前記第2識別器から取得した前記出力値に基づいて、前記対象画像データに写る前記製品の良否を判定する良否判定部と、を備える。
 機械学習に利用するための学習用データセットのなかには、識別しやすい(すなわち、良否の判定が容易な)学習用データセットと、識別し難い(すなわち、良否の判定が困難な)学習用データセットとが存在する。識別しやすい学習用データセットのみを利用して機械学習を実施した場合には、製品の良否の判定が困難なケースに対応可能な識別器を構築することができない可能性がある。一方で、識別し難い学習用データセットのみを利用して機械学習を実施した場合でも、特殊なケースの識別に適合し過ぎてしまい、汎化能力の高い識別器を構築することができない可能性がある。
 そこで、当該構成では、製品の良否の判定を機械学習により習得済みである複数の第1識別器それぞれを利用して、学習用データ群に含まれる各件の学習用データセットに良否の判定の難易度を設定する。具体的には、各件の学習用データセットの画像データを各第1識別器に入力することで、入力した画像データに写る製品の良否を判定した結果に対応する出力値を各第1識別器から取得する。そして、各第1識別器から取得した出力値が正解データの示す正解に適合する度合いに応じて、各件の学習用データセットに良否の判定の難易度を設定する。すなわち、各第1識別器により良否の判定を正しく行うことができるほど、対応する学習用データセットの難易度を低く設定し、各第1識別器により良否の判定を正しく行うことができないほど、対応する学習用データセットの難易度を高く設定する。
 各第1識別器は、学習用データ群に含まれる一部の学習用データセットを利用した機械学習により構築された暫定的な識別器であってよい。難易度の低い学習用データセットに対する各第1識別器の良否の判定は誤り難い傾向にある一方で、難易度の高い学習用データセットに対する各第1識別器の良否の判定は誤りやすい傾向にある。そのため、各第1識別器が、学習用データセットに含まれる画像データに写る製品の良否の判定を完全に正しく実施することができなくても、上記の処理により、一応の確からしさをもって、各件の学習用データセットの難易度を設定することができる。
 そして、当該構成では、設定された難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、製品の良否を判定する第2識別器を構築する。これによって、難易度の低い学習用データセットにより学習用データ群に表れる良否の判定の全体的(マクロ)な傾向を第2識別器に習得させた後に、難易度の高い学習用データセットにより学習用データ群に表れる良否の判定の詳細(ミクロ)な傾向を第2識別器に習得させることができる。
 したがって、機械学習の過程において、学習用データセットに表れる製品の良否を判定する局所解に陥り難くすることができ、用意した学習用データ群を有効に利用した機械学習を行うことができるようになる。すなわち、用意した学習用データ群により達成可能な比較的に汎化性能の高い第2識別器を構築することができるようになる。そのため、当該構成によれば、これにより構築された第2識別器により、対象画像データに写る製品の良否の判定を比較的に精度よく実施することができる。
 なお、「製品」は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。「製品」は、例えば、電子部品、自動車部品等の製造ラインで搬送される物であってよい。電子部品は、例えば、基盤、チップコンデンサ、液晶、リレーの巻線等である。自動車部品は、例えば、コンロッド、シャフト、エンジンブロック、パワーウィンドウスイッチ、パネル等である。「製品の良否を判定する」ことは、例えば、製品に傷等の欠陥が存在するか否かを判定すること、製品に存在する欠陥の種別を特定すること、製品に欠陥が存在する又は存在しない確率を導出すること等の処理を含んでもよい。欠陥は、例えば、傷、汚れ、クラック、打痕、埃、バリ、色ムラ等である。また、各件の学習用データセットの難易度を適切に評価する観点からは、複数の第1識別器はそれぞれ、異なる学習条件の機械学習により構築されるのが好ましい。「学習条件」は、機械学習のパラメータ、利用する学習データ(学習用データセット)等によって特定することができる。「異なる学習条件」は、例えば、機械学習のパラメータ及び利用する学習データの少なくとも一方が相違することである。
 上記一側面に係る検査システムにおいて、前記難易度設定部は、前記複数の第1識別器から取得した出力値に基づいて前記製品の良否を判定した結果が前記正解データの示す正解と一致する比率が高い学習用データセットほど低い難易度に設定してもよい。当該構成によれば、各件の学習用データセットに良否の判定の難易度を適切に設定することができる。そのため、用意した学習用データ群により達成可能な比較的に汎化性能の高い第2識別器を構築することができ、これによって、対象画像データに写る製品の良否を比較的に精度よく実施することができるようになる。
 上記一側面に係る検査システムにおいて、前記難易度設定部は、前記複数の第1識別器それぞれから取得した出力値の和又は積が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに良否の判定の難易度を設定してもよい。当該構成によれば、各件の学習用データセットに良否の判定の難易度を適切に設定することができる。そのため、用意した学習用データ群により達成可能な比較的に汎化性能の高い第2識別器を構築することができ、これによって、対象画像データに写る製品の良否を比較的に精度よく実施することができるようになる。
 上記一側面に係る検査システムにおいて、前記難易度設定部は、前記出力値に基づいて前記製品の良否を判定した結果が、所定の確信度以上で前記正解データの示す正解と一致している第1識別器の数が多い学習用データセットほど低い難易度に設定してもよい。当該構成によれば、各件の学習用データセットに良否の判定の難易度を適切に設定することができる。そのため、用意した学習用データ群により達成可能な比較的に汎化性能の高い第2識別器を構築することができ、これによって、対象画像データに写る製品の良否を比較的に精度よく実施することができるようになる。
 上記一側面に係る検査システムにおいて、前記各第1識別器は、前記学習用データ群から選択された複数件の学習用データセットにより構成された部分データ群を利用した機械学習により構築されていてもよい。当該構成によれば、第2識別器を構築するために用意した学習用データセットを、各第1識別器を構築するための学習用データセットとしても利用可能である。そのため、各第1識別器の機械学習に利用する学習用データセットを別途用意する手間を省略することができる。
 上記一側面に係る検査システムにおいて、前記学習用データ取得部は、前記各件の学習用データセットに設定した前記難易度に基づいて、前記学習用データ群から特定の難易度の学習用データセットを抽出し、抽出した前記特定の難易度の学習用データセットに含まれる前記画像データと類似する追加の画像データを収集し、収集した前記追加の画像データに対して、前記追加の画像データに写る前記製品の良否の判定に対する正解を示す正解データを付与することで、新たな学習用データセットを生成し、生成した前記新たな学習用データセットを前記学習用データ群に追加してもよい。当該構成によれば、用意した学習用データ群に含まれる学習用データセットの件数が不十分である場合に、第2識別器の識別性能を高めるのに資する学習用データセットを追加的に収集することができる。そのため、識別性能の比較的に高い第2識別器を構築することができ、これによって、対象画像データに写る製品の良否を比較的に精度よく実施することができるようになる。
 また、上記各形態に係る検査システムでは、複数の識別器(第1識別器)を利用して、各件の学習用データセットの難易度を判定している。しかしながら、学習用データセットの難易度を判定する方法は、このような例に限定されなくてもよく、1つの識別器を利用することで、各件の学習用データセットの難易度を判定してもよい。例えば、本発明の一側面に係る検査システムは、製品の良否を検査する検査システムであって、前記製品の写る画像データ及び前記画像データに写る前記製品の良否の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、機械学習により前記製品の良否を判定する能力を習得済みである第1識別器に前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記製品の良否を判定した結果に対応する出力値を当該第1識別器から取得し、前記第1識別器から取得した出力値と前記製品の良否を判定するための前記第1識別器の決定境界との距離(ノルム)を算出し、算出した距離に応じて、前記各件の学習用データセットに良否の判定の難易度を設定する難易度設定部と、設定された前記難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、前記製品の良否を判定する第2識別器を構築する学習処理部と、検査の対象となる前記製品の写る対象画像データを取得する対象データ取得部と、取得した前記対象画像データを前記第2識別器に入力することで、前記第2識別器から出力値を取得し、前記第2識別器から取得した前記出力値に基づいて、前記対象画像データに写る前記製品の良否を判定する良否判定部と、を備える。
 識別器の決定境界と識別器の出力値との距離は、その出力値を得るのに入力した画像データに写る製品の良否の判定しやすさを示す。この距離は、例えば、ユークリッド距離により算出されてよい。すなわち、識別器の決定境界と識別器の出力値との距離が大きいほど、その出力値を得るのに入力した画像データに写る製品の良否の判定は容易である。一方で、識別器の決定境界と識別器の出力値との距離が小さいほど、対応する画像データに写る製品の良否の判定は困難である。したがって、当該構成によれば、第1識別器の決定境界と出力値との距離に基づいて、各件の学習用データセットの難易度を適切に設定することができる。そのため、用意した学習用データ群により達成可能な比較的に汎化性能の高い第2識別器を構築することができ、これによって、対象画像データに写る製品の良否を比較的に精度よく実施することができるようになる。
 また、上記各形態に係る検査システムから、例えば、難易度を設定する部分、第2識別器により良否の判定を行う部分等の一部分を抽出して他の形態に係る装置を構成してもよい。
 例えば、本発明の一側面に係る学習データ生成装置は、製品の写る画像データ、及び前記画像データに写る前記製品の良否の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、前記製品の良否を判定する能力を機械学習により習得済みである複数の第1識別器それぞれに前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記製品の良否を判定した結果に対応する出力値を当該複数の第1識別器それぞれから取得し、前記複数の第1識別器それぞれから取得した出力値が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに良否の判定の難易度を設定する難易度設定部と、前記各件の学習用データセットと設定した難易度との対応関係を示す難易度データを生成し、生成した当該難易度データを前記学習用データ群と共に所定の記憶領域に保存する保存処理部と、を備える。
 また、例えば、本発明の一側面に係る学習データ生成装置は、製品の写る画像データ、及び前記画像データに写る前記製品の良否の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、機械学習により前記製品の良否を判定する能力を習得済みである第1識別器に前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記製品の良否を判定した結果に対応する出力値を当該第1識別器から取得し、前記第1識別器から取得した出力値と前記製品の良否を判定するための前記第1識別器の決定境界との距離を算出し、算出した距離に応じて、前記各件の学習用データセットに良否の判定の難易度を設定する難易度設定部と、前記各件の学習用データセットと設定した難易度との対応関係を示す難易度データを生成し、生成した当該難易度データを前記学習用データ群と共に所定の記憶領域に保存する保存処理部と、を備える。
 更に、上記各形態に係る検査システム及び学習データ生成装置は、製品の写る画像データ以外の画像データに写る被写体の状態を判定する場面、画像データ以外の他種のデータに含まれる特徴を判定する場面等の、学習データを利用した機械学習により識別器を構築するあらゆる場面に適用されてよい。
 例えば、本発明の一側面に係る識別システムは、画像データ、及び前記画像データに写る被写体の状態の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、前記被写体の状態を判定する能力を機械学習により習得済みである複数の第1識別器それぞれに前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記被写体の状態を判定した結果に対応する出力値を当該複数の第1識別器それぞれから取得し、前記複数の第1識別器それぞれから取得した出力値が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに判定の難易度を設定する難易度設定部と、設定された前記難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、前記被写体の状態を判定する第2識別器を構築する学習処理部と、状態を判定する対象となる前記被写体の写る対象画像データを取得する対象データ取得部と、取得した前記対象画像データを前記第2識別器に入力することで、前記第2識別器から出力値を取得し、前記第2識別器から取得した前記出力値に基づいて、前記対象画像データに写る前記被写体の状態を判定する状態判定部と、を備える。
 なお、「被写体」は、画像データに写り得るあらゆる対象物を含んでもよく、例えば、対象者の顔、対象者の身体、作業対象のワーク等であってよい。また、被写体の「状態」は、識別器により判定可能な被写体のあらゆる属性を含んでもよい。被写体が顔である場合には、判定の対象となる状態は、例えば、表情の種別、顔のパーツ(器官を含む)の位置(特定の器官同士の相対位置関係を含む)、顔のパーツの形状、顔のパーツの色、顔のパーツの状態(開度、角度等)、その顔を所有する個人等であってよい。また、被写体が対象者の身体である場合には、判定の対象となる状態は、例えば、身体のポーズ等であってよい。被写体が作業対象のワークである場合、判定の対象となる状態は、例えば、ワークの位置、姿勢等であってよい。
 また、例えば、本発明の一側面に係る学習データ生成装置は、画像データ、及び前記画像データに写る被写体の状態の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、前記被写体の状態を判定する能力を機械学習により習得済みである複数の第1識別器それぞれに前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記被写体の状態を判定した結果に対応する出力値を当該複数の第1識別器それぞれから取得し、前記複数の第1識別器それぞれから取得した出力値が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに判定の難易度を設定する難易度設定部と、前記各件の学習用データセットと設定した難易度との対応関係を示す難易度データを生成し、生成した当該難易度データを前記学習用データ群と共に所定の記憶領域に保存する保存処理部と、を備える。
 また、例えば、本発明の一側面に係る識別システムは、画像データ、及び前記画像データに写る被写体の状態の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、機械学習により前記被写体の状態を判定する能力を習得済みである第1識別器に前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記被写体の状態を判定した結果に対応する出力値を当該第1識別器から取得し、前記第1識別器から取得した出力値と前記被写体の状態を判定するための前記第1識別器の決定境界との距離を算出し、算出した距離に応じて、前記各件の学習用データセットに判定の難易度を設定する難易度設定部と、設定された前記難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、前記被写体の状態を判定する第2識別器を構築する学習処理部と、状態を判定する対象となる前記被写体の写る対象画像データを取得する対象データ取得部と、取得した前記対象画像データを前記第2識別器に入力することで、前記第2識別器から出力値を取得し、前記第2識別器から取得した前記出力値に基づいて、前記対象画像データに写る前記被写体の状態を判定する状態判定部と、を備える。
 また、例えば、本発明の一側面に係る学習データ生成装置は、画像データ、及び前記画像データに写る被写体の状態の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、機械学習により前記被写体の状態を判定する能力を習得済みである第1識別器に前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記被写体の状態を判定した結果に対応する出力値を当該第1識別器から取得し、前記第1識別器から取得した出力値と前記被写体の状態を判定するための前記第1識別器の決定境界との距離を算出し、算出した距離に応じて、前記各件の学習用データセットに判定の難易度を設定する難易度設定部と、前記各件の学習用データセットと設定した難易度との対応関係を示す難易度データを生成し、生成した当該難易度データを前記学習用データ群と共に所定の記憶領域に保存する保存処理部と、を備える。
 また、例えば、本発明の一側面に係る識別システムは、所定種類のデータ、及び前記データに含まれる特徴の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、前記特徴を判定する能力を機械学習により習得済みである複数の第1識別器それぞれに前記各件の学習用データセットの前記データを入力することで、入力した前記データに含まれる前記特徴を判定した結果に対応する出力値を当該複数の第1識別器それぞれから取得し、前記複数の第1識別器それぞれから取得した出力値が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに判定の難易度を設定する難易度設定部と、設定された前記難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、前記特徴を判定する第2識別器を構築する学習処理部と、判定する対象となる前記特徴を含む対象データを取得する対象データ取得部と、取得した前記対象データを前記第2識別器に入力することで、前記第2識別器から出力値を取得し、前記第2識別器から取得した前記出力値に基づいて、前記対象データに含まれる前記特徴を判定する特徴判定部と、を備える。
 なお、所定種類の「データ」は、識別器による解析の対象となり得るあらゆる種類のデータを含んでもよく、例えば、画像データの他、音データ(音声データ)、数値データ、テキストデータ、これらの組み合わせで構成されたデータ等であってよい。「特徴」は、データから識別可能なあらゆる特徴を含んでもよい。「データ」が音データである場合、「特徴」は、例えば、特定の音(例えば、機械の異音)が含まれているか否か等であってよい。また、「データ」が、血圧、活動量等の生体データに関する数値データ又はテキストデータである場合、「特徴」は、例えば、対象者の状態等であってよい。また、「データ」が、機械の駆動量等の数値データ又はテキストデータである場合、「特徴」は、例えば、機械の状態等であってよい。
 上記一側面に係る識別システムにおいて、前記難易度設定部は、前記複数の第1識別器から取得した出力値に基づいて前記特徴を判定した結果が前記正解データの示す正解と一致する比率が高い学習用データセットほど低い難易度に設定してもよい。
 上記一側面に係る識別システムにおいて、前記難易度設定部は、前記複数の第1識別器それぞれから取得した出力値の和又は積が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに良否の判定の難易度を設定してもよい。
 上記一側面に係る識別システムにおいて、前記難易度設定部は、前記出力値に基づいて前記特徴を判定した結果が、所定の確信度以上で前記正解データの示す正解と一致している第1識別器の数が多い学習用データセットほど低い難易度に設定してもよい。
 上記一側面に係る識別システムにおいて、前記各第1識別器は、前記学習用データ群から選択された複数件の学習用データセットにより構成された部分データ群を利用した機械学習により構築されていてもよい。
 上記一側面に係る識別システムにおいて、前記学習用データ取得部は、前記各件の学習用データセットに設定した前記難易度に基づいて、前記学習用データ群から特定の難易度の学習用データセットを抽出し、抽出した前記特定の難易度の学習用データセットに含まれる前記データと類似する追加のデータを収集し、収集した前記追加のデータに対して、前記データに含まれる前記特徴の判定に対する正解を示す正解データを付与することで、新たな学習用データセットを生成し、生成した前記新たな学習用データセットを前記学習用データ群に追加してもよい。
 また、例えば、本発明の一側面に係る学習データ生成装置は、所定種類のデータ、及び前記データに含まれる特徴の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、前記特徴を判定する能力を機械学習により習得済みである複数の第1識別器それぞれに前記各件の学習用データセットの前記データを入力することで、入力した前記データに含まれる前記特徴を判定した結果に対応する出力値を当該複数の第1識別器それぞれから取得し、前記複数の第1識別器それぞれから取得した出力値が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに判定の難易度を設定する難易度設定部と、前記各件の学習用データセットと設定した難易度との対応関係を示す難易度データを生成し、生成した当該難易度データを前記学習用データ群と共に所定の記憶領域に保存する保存処理部と、を備える。
 また、例えば、本発明の一側面に係る識別システムは、所定種類のデータ、及び前記データに含まれる特徴の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、機械学習により前記特徴を判定する能力を習得済みである第1識別器に前記各件の学習用データセットの前記データを入力することで、入力した前記データに含まれる前記特徴を判定した結果に対応する出力値を当該第1識別器から取得し、前記第1識別器から取得した出力値と前記特徴を判定するための前記第1識別器の決定境界との距離を算出し、算出した距離に応じて、前記各件の学習用データセットに判定の難易度を設定する難易度設定部と、設定された前記難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、前記特徴を判定する第2識別器を構築する学習処理部と、判定する対象となる前記特徴を含む対象データを取得する対象データ取得部と、取得した前記対象データを前記第2識別器に入力することで、前記第2識別器から出力値を取得し、前記第2識別器から取得した前記出力値に基づいて、前記対象データに含まれる前記特徴を判定する特徴判定部と、を備える。
 また、例えば、本発明の一側面に係る学習データ生成装置は、所定種類のデータ、及び前記データに含まれる特徴の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、機械学習により前記特徴を判定する能力を習得済みである第1識別器に前記各件の学習用データセットの前記データを入力することで、入力した前記データに含まれる前記特徴を判定した結果に対応する出力値を当該第1識別器から取得し、前記第1識別器から取得した出力値と前記特徴を判定するための前記第1識別器の決定境界との距離を算出し、算出した距離に応じて、前記各件の学習用データセットに判定の難易度を設定する難易度設定部と、前記各件の学習用データセットと設定した難易度との対応関係を示す難易度データを生成し、生成した当該難易度データを前記学習用データ群と共に所定の記憶領域に保存する保存処理部と、を備える。
 なお、上記各形態に係る検査システム、識別システム、及び学習データ生成装置の別の態様として、本発明は、以上の各構成を実現する情報処理方法であってもよいし、プログラムであってもよいし、このようなプログラムを記憶した、コンピュータその他装置、機械等が読み取り可能な記憶媒体であってもよい。ここで、コンピュータ等が読み取り可能な記憶媒体とは、プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。
 例えば、本発明の一側面に係る検査方法は、製品の良否を検査する情報処理方法であって、コンピュータが、前記製品の写る画像データ、及び前記画像データに写る前記製品の良否の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得するステップと、前記製品の良否を判定する能力を機械学習により習得済みである複数の第1識別器それぞれに前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記製品の良否を判定した結果に対応する出力値を当該複数の第1識別器それぞれから取得し、前記複数の第1識別器それぞれから取得した出力値が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに良否の判定の難易度を設定するステップと、設定された前記難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、前記製品の良否を判定する第2識別器を構築するステップと、検査の対象となる前記製品の写る対象画像データを取得するステップと、取得した前記対象画像データを前記第2識別器に入力することで、前記第2識別器から出力値を取得し、前記第2識別器から取得した前記出力値に基づいて、前記対象画像データに写る前記製品の良否を判定するステップと、を実行する、情報処理方法である。
 また、例えば、本発明の一側面に係る学習データ生成方法は、コンピュータが、製品の写る画像データ、及び前記画像データに写る前記製品の良否の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得するステップと、前記製品の良否を判定する能力を機械学習により習得済みである複数の第1識別器それぞれに前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記製品の良否を判定した結果に対応する出力値を当該複数の第1識別器それぞれから取得し、前記複数の第1識別器それぞれから取得した出力値が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに良否の判定の難易度を設定するステップと、前記各件の学習用データセットと設定した難易度との対応関係を示す難易度データを生成し、生成した当該難易度データを前記学習用データ群と共に所定の記憶領域に保存するステップと、を実行する、情報処理方法である。
 また、例えば、本発明の一側面に係る検査方法は、製品の良否を検査する情報処理方法であって、コンピュータが、前記製品の写る画像データ、及び前記画像データに写る前記製品の良否の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得するステップと、機械学習により前記製品の良否を判定する能力を習得済みである第1識別器に前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記製品の良否を判定した結果に対応する出力値を当該第1識別器から取得し、前記第1識別器から取得した出力値と前記製品の良否を判定するための前記第1識別器の決定境界との距離を算出し、算出した距離に応じて、前記各件の学習用データセットに良否の判定の難易度を設定するステップと、設定された前記難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、前記製品の良否を判定する第2識別器を構築するステップと、検査の対象となる前記製品の写る対象画像データを取得するステップと、取得した前記対象画像データを前記第2識別器に入力することで、前記第2識別器から出力値を取得し、前記第2識別器から取得した前記出力値に基づいて、前記対象画像データに写る前記製品の良否を判定するステップと、を実行する、情報処理方法である。
 また、例えば、本発明の一側面に係る学習データ生成方法は、コンピュータが、製品の写る画像データ、及び前記画像データに写る前記製品の良否の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得するステップと、機械学習により前記製品の良否を判定する能力を習得済みである第1識別器に前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記製品の良否を判定した結果に対応する出力値を当該第1識別器から取得し、前記第1識別器から取得した出力値と前記製品の良否を判定するための前記第1識別器の決定境界との距離を算出し、算出した距離に応じて、前記各件の学習用データセットに良否の判定の難易度を設定するステップと、前記各件の学習用データセットと設定した難易度との対応関係を示す難易度データを生成し、生成した当該難易度データを前記学習用データ群と共に所定の記憶領域に保存するステップと、を実行する、情報処理方法である。
 また、例えば、本発明の一側面に係る識別方法は、コンピュータが、画像データ、及び前記画像データに写る被写体の状態の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得するステップと、前記被写体の状態を判定する能力を機械学習により習得済みである複数の第1識別器それぞれに前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記被写体の状態を判定した結果に対応する出力値を当該複数の第1識別器それぞれから取得し、前記複数の第1識別器それぞれから取得した出力値が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに判定の難易度を設定するステップと、設定された前記難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、前記被写体の状態を判定する第2識別器を構築する学習処理部と、状態を判定する対象となる前記被写体の写る対象画像データを取得するステップと、取得した前記対象画像データを前記第2識別器に入力することで、前記第2識別器から出力値を取得し、前記第2識別器から取得した前記出力値に基づいて、前記対象画像データに写る前記被写体の状態を判定するステップと、を実行する、情報処理方法である。
 また、例えば、本発明の一側面に係る学習データ生成方法は、コンピュータが、画像データ、及び前記画像データに写る被写体の状態の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得するステップと、前記被写体の状態を判定する能力を機械学習により習得済みである複数の第1識別器それぞれに前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記被写体の状態を判定した結果に対応する出力値を当該複数の第1識別器それぞれから取得し、前記複数の第1識別器それぞれから取得した出力値が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに判定の難易度を設定するステップと、前記各件の学習用データセットと設定した難易度との対応関係を示す難易度データを生成し、生成した当該難易度データを前記学習用データ群と共に所定の記憶領域に保存するステップと、を実行する、情報処理方法である。
 また、例えば、本発明の一側面に係る識別方法は、コンピュータが、画像データ、及び前記画像データに写る被写体の状態の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得するステップと、機械学習により前記被写体の状態を判定する能力を習得済みである第1識別器に前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記被写体の状態を判定した結果に対応する出力値を当該第1識別器から取得し、前記第1識別器から取得した出力値と前記被写体の状態を判定するための前記第1識別器の決定境界との距離を算出し、算出した距離に応じて、前記各件の学習用データセットに判定の難易度を設定するステップと、設定された前記難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、前記被写体の状態を判定する第2識別器を構築するステップと、状態を判定する対象となる前記被写体の写る対象画像データを取得するステップと、取得した前記対象画像データを前記第2識別器に入力することで、前記第2識別器から出力値を取得し、前記第2識別器から取得した前記出力値に基づいて、前記対象画像データに写る前記被写体の状態を判定するステップと、を実行する、情報処理方法である。
 また、例えば、本発明の一側面に係る学習データ生成方法は、コンピュータが、画像データ、及び前記画像データに写る被写体の状態の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得するステップと、機械学習により前記被写体の状態を判定する能力を習得済みである第1識別器に前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記被写体の状態を判定した結果に対応する出力値を当該第1識別器から取得し、前記第1識別器から取得した出力値と前記被写体の状態を判定するための前記第1識別器の決定境界との距離を算出し、算出した距離に応じて、前記各件の学習用データセットに判定の難易度を設定するステップと、前記各件の学習用データセットと設定した難易度との対応関係を示す難易度データを生成し、生成した当該難易度データを前記学習用データ群と共に所定の記憶領域に保存するステップと、を実行する、情報処理方法である。
 また、例えば、本発明の一側面に係る識別方法は、コンピュータが、所定種類のデータ、及び前記データに含まれる特徴の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得するステップと、前記特徴を判定する能力を機械学習により習得済みである複数の第1識別器それぞれに前記各件の学習用データセットの前記データを入力することで、入力した前記データに含まれる前記特徴を判定した結果に対応する出力値を当該複数の第1識別器それぞれから取得し、前記複数の第1識別器それぞれから取得した出力値が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに判定の難易度を設定するステップと、設定された前記難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、前記特徴を判定する第2識別器を構築するステップと、判定する対象となる前記特徴を含む対象データを取得するステップと、取得した前記対象データを前記第2識別器に入力することで、前記第2識別器から出力値を取得し、前記第2識別器から取得した前記出力値に基づいて、前記対象データに含まれる前記特徴を判定するステップと、を実行する、情報処理方法である。
 また、例えば、本発明の一側面に係る学習データ生成方法は、コンピュータが、所定種類のデータ、及び前記データに含まれる特徴の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得するステップと、前記特徴を判定する能力を機械学習により習得済みである複数の第1識別器それぞれに前記各件の学習用データセットの前記データを入力することで、入力した前記データに含まれる前記特徴を判定した結果に対応する出力値を当該複数の第1識別器それぞれから取得し、前記複数の第1識別器それぞれから取得した出力値が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに判定の難易度を設定するステップと、前記各件の学習用データセットと設定した難易度との対応関係を示す難易度データを生成し、生成した当該難易度データを前記学習用データ群と共に所定の記憶領域に保存するステップと、を実行する、情報処理方法である。
 また、例えば、本発明の一側面に係る識別方法は、コンピュータが、所定種類のデータ、及び前記データに含まれる特徴の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得するステップと、機械学習により前記特徴を判定する能力を習得済みである第1識別器に前記各件の学習用データセットの前記データを入力することで、入力した前記データに含まれる前記特徴を判定した結果に対応する出力値を当該第1識別器から取得し、前記第1識別器から取得した出力値と前記特徴を判定するための前記第1識別器の決定境界との距離を算出し、算出した距離に応じて、前記各件の学習用データセットに判定の難易度を設定するステップと、設定された前記難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、前記特徴を判定する第2識別器を構築するステップと、判定する対象となる前記特徴を含む対象データを取得するステップと、取得した前記対象データを前記第2識別器に入力することで、前記第2識別器から出力値を取得し、前記第2識別器から取得した前記出力値に基づいて、前記対象データに含まれる前記特徴を判定するステップと、を実行する、情報処理方法である。
 また、例えば、本発明の一側面に係る学習データ生成方法は、コンピュータが、所定種類のデータ、及び前記データに含まれる特徴の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得するステップと、機械学習により前記特徴を判定する能力を習得済みである第1識別器に前記各件の学習用データセットの前記データを入力することで、入力した前記データに含まれる前記特徴を判定した結果に対応する出力値を当該第1識別器から取得し、前記第1識別器から取得した出力値と前記特徴を判定するための前記第1識別器の決定境界との距離を算出し、算出した距離に応じて、前記各件の学習用データセットに判定の難易度を設定するステップと、前記各件の学習用データセットと設定した難易度との対応関係を示す難易度データを生成し、生成した当該難易度データを前記学習用データ群と共に所定の記憶領域に保存するステップと、を実行する、情報処理方法である。
 本発明によれば、データに含まれる特徴を比較的に精度よく判定可能な技術を提供することができる。
図1は、本発明が適用される場面の一例を模式的に例示する。 図2は、実施の形態に係る学習データ生成装置のハードウェア構成の一例を模式的に例示する。 図3は、実施の形態に係る学習装置のハードウェア構成の一例を模式的に例示する。 図4は、実施の形態に係る検査装置のハードウェア構成の一例を模式的に例示する。 図5は、実施の形態に係る学習データ生成装置のソフトウェア構成の一例を模式的に例示する。 図6は、実施の形態に係る学習装置のソフトウェア構成の一例を模式的に例示する。 図7は、実施の形態に係る検査装置のソフトウェア構成の一例を模式的に例示する。 図8は、実施の形態に係る学習装置により第1識別器を構築する処理手順の一例を例示する。 図9は、実施の形態に係る学習データ生成装置の処理手順の一例を例示する。 図10は、実施の形態に係る学習装置により第2識別器を構築する処理手順の一例を例示する。 図11は、実施の形態に係る検査装置の処理手順の一例を例示する。 図12は、実施の形態に係る学習データ生成装置により追加の学習用データセットを収集する処理手順の一例を例示する。 図13は、他の形態に係る学習データ生成装置のソフトウェア構成の一例を模式的に例示する。 図14は、他の形態に係る識別装置のソフトウェア構成の一例を模式的に例示する。 図15は、他の形態に係る学習データ生成装置のソフトウェア構成の一例を模式的に例示する。 図16は、他の形態に係る学習装置のソフトウェア構成の一例を模式的に例示する。 図17は、他の形態に係る識別装置のソフトウェア構成の一例を模式的に例示する。
 以下、本発明の一側面に係る実施の形態(以下、「本実施形態」とも表記する)を、図面に基づいて説明する。ただし、以下で説明する本実施形態は、あらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。
 §1 適用例
 まず、本発明の基本的な構成の一例について説明する。学習用データセットを利用した機械学習により識別器を構築する場合に、次のような問題が生じ得る。すなわち、多くの学習用データセットを一度に利用して機械学習を実施すると、学習用データ群に表れる特徴を判定する局所解に陥ってしまう等の理由により、汎化能力の高い識別器を構築することができない可能性がある。これにより、機械学習を実施するのに十分な件数の学習用データセットを用意しても、用意した学習用データセットにより構築した識別器では、対象のデータに含まれる特徴を比較的に精度よく判定することができない可能性がある。
 そこで、本発明の一例では、所定種類のデータ、及び当該所定種類のデータに含まれる特徴の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する。次に、特徴を判定する能力を予め機械学習済みである1又は複数の第1識別器を利用して、各件の学習用データセットに判定の難易度を設定する。そして、設定された難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することで、特徴を判定する能力を習得した第2識別器を構築する。
 これにより、本発明の一例では、機械学習の過程において、学習用データセットに表れる特徴を判定する局所解に陥り難くすることができ、用意した学習用データ群を有効に利用した機械学習を行うことができるようになる。したがって、本発明の一例によれば、これにより構築された第2識別器により、当該対象のデータに含まれる特徴の判定を比較的に精度よく実施することができる。
 次に、図1を用いて、本発明が適用される場面の一例について説明する。図1は、本発明を製品の外観検査に適用した場面の一例を模式的に例示する。ただし、本発明の適用範囲は、以下で例示する外観検査の例に限られる訳ではない。本発明は、学習用データセットを利用した機械学習により識別器を構築するあらゆる場面に適用可能である。
 図1で例示される検査システム100は、ネットワークを介して接続される学習データ生成装置1、学習装置2、及び検査装置3を備えており、製品の良否を検査するように構成される。学習データ生成装置1、学習装置2、及び検査装置3の間のネットワークの種類は、例えば、インターネット、無線通信網、移動通信網、電話網、専用網等から適宜選択されてよい。
 なお、図1の例では、学習データ生成装置1、学習装置2、及び検査装置3は、別個のコンピュータである。しかしながら、検査システム100の構成は、このような例に限定されなくてもよい。学習データ生成装置1、学習装置2、及び検査装置3のうちの少なくともいずれかのペアは一体のコンピュータであってもよい。また、学習データ生成装置1、学習装置2、及び検査装置3はそれぞれ複数台のコンピュータにより構成されてもよい。
 本実施形態に係る学習データ生成装置1は、判定の難易度が設定された学習用データセットを生成するように構成されたコンピュータである。具体的には、まず、学習データ生成装置1は、製品の写る画像データ122、及び画像データ122に写る製品の良否の判定に対する正解を示す正解データ123の組み合わせをそれぞれ含む複数件の学習用データセット121により構成された学習用データ群を取得する。
 次に、学習データ生成装置1は、製品の良否を判定する能力を機械学習により習得済みである複数の第1識別器5それぞれに各件の学習用データセット121の画像データ122を入力する。本実施形態では、複数の第1識別器5はそれぞれ、異なる学習条件の機械学習により構築される。これにより、学習データ生成装置1は、入力した画像データ122に写る製品の良否を判定した結果に対応する出力値を各第1識別器5から取得する。
 そして、学習データ生成装置1は、各第1識別器5から取得した出力値が、正解データ123により示される正解に適合する度合いに応じて、各件の学習用データセット121に良否の判定の難易度を設定する。具体的には、学習データ生成装置1は、各第1識別器5により良否の判定を正しく行うことができるほど、対応する学習用データセット121の難易度を低く設定し、各第1識別器5により良否の判定を正しく行うことができないほど、対応する学習用データセット121の難易度を高く設定する。
 一方、本実施形態に係る学習装置2は、難易度の設定された学習用データセット121を利用して、製品の良否を判定する第2識別器6を生成するコンピュータである。具体的には、学習装置2は、設定された難易度の低い学習用データセット121から順に利用した段階的な機械学習を実施することにより、製品の良否を判定する第2識別器6を構築する。
 また、本実施形態に係る検査装置3は、構築された第2識別器6を利用して、製品Rの外観検査を行うコンピュータである。具体的には、まず、検査装置3は、検査の対象となる製品Rの写る対象画像データ321を取得する。本実施形態では、検査装置3は、カメラ41と接続されており、このカメラ41により製品Rを撮影することで、対象画像データ321を取得する。
 次に、検査装置3は、取得した対象画像データ321を第2識別器6に入力することで、当該第2識別器6から出力値を取得する。そして、検査装置3は、第2識別器6から取得した出力値に基づいて、対象画像データ321に写る製品Rの良否を判定する。これにより、検査装置3は、製品Rの外観検査を行う。
 以上のとおり、本実施形態に係る検査システム100では、製品の良否の判定を機械学習により習得済みである複数の第1識別器5を利用して、学習用データ群120に含まれる各件の学習用データセット121に良否の判定の難易度を設定する。特に、本実施形態では、異なる学習条件の機械学習により構築された複数の第1識別器5を利用して、各件の学習用データセット121に良否の判定の難易度を設定する。難易度の低い学習用データセット121に対する良否の判定は誤り難い傾向にある一方で、難易度の高い学習用データセット121に対する良否の判定は誤りやすい傾向にある。そのため、各第1識別器5の判定性能が優れたものではなくても、上記各第1識別器5を利用した判定により、各件の学習用データセット121の難易度を適切に設定することができる。
 そして、本実施形態では、設定された難易度の低い学習用データセット121から順に利用した段階的な機械学習を実施することにより、製品の良否を判定する第2識別器6を構築する。これによって、まずは、難易度の低い学習用データセット121を利用した機械学習により、学習用データ群120に表れる良否の判定の全体的な傾向を第2識別器6に習得させることができる。その後、難易度の高い学習用データセット121を利用した機械学習により、学習用データ群120に表れる良否の判定の詳細な傾向を第2識別器6に習得させることができる。
 したがって、本実施形態によれば、機械学習の過程において、学習用データ群120に表れる製品の良否を判定する局所解に陥り難くすることができ、用意した学習用データ群120を有効に利用した機械学習を実施することができるようになる。すなわち、用意した学習用データ群120により達成可能な比較的に汎化性能の高い第2識別器6を構築することができるようになる。そのため、本実施形態に係る検査装置3では、これにより構築された第2識別器6を利用することで、対象画像データ321に写る製品Rの良否の判定を比較的に精度よく実施することができる。
 なお、外観検査の対象となる製品Rは、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。製品Rは、例えば、電子部品、自動車部品等の製造ラインで搬送される物であってよい。電子部品は、例えば、基盤、チップコンデンサ、液晶、リレーの巻線等である。自動車部品は、例えば、コンロッド、シャフト、エンジンブロック、パワーウィンドウスイッチ、パネル等である。また、良否の判定は、製品Rに欠陥があるか否かを単に判定することであってもよいし、製品Rに欠陥がある否かを判定することに加えて、その欠陥の種類を識別することを含んでもよい。欠陥は、例えば、傷、汚れ、クラック、打痕、埃、バリ、色ムラ等である。
 §2 構成例
 [ハードウェア構成]
 <学習データ生成装置>
 次に、図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は、生成プログラム81、学習用データ群120、複数件の第1学習結果データ224、難易度データ125等の各種情報を記憶する。
 生成プログラム81は、各件の学習用データセット121に良否の判定の難易度が設定された学習用データ群120を生成する後述の情報処理(図9、図12)を学習データ生成装置1に実行させるためのプログラムであり、当該情報処理の一連の命令を含む。学習用データ群120は、第2識別器6の機械学習に利用され、複数件の学習用データセット121により構成される。各件の学習用データセット121は、製品の写る画像データ122、及び画像データ122に写る製品の良否の判定に対する正解を示す正解データ123の組み合わせを含んでいる。各件の第1学習結果データ224は、学習済みの第1識別器5の設定を行うためのデータである。難易度データ125は、各件の学習用データセット121と後述の情報処理により設定した難易度との対応関係を示す。詳細は後述する。
 通信インタフェース13は、例えば、有線LAN(Local Area Network)モジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。学習データ生成装置1は、この通信インタフェース13を利用することで、ネットワークを介したデータ通信を他の情報処理装置(例えば、学習装置2)と行うことができる。
 入力装置14は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置15は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置14及び出力装置15を利用することで、学習データ生成装置1を操作することができる。
 ドライブ16は、例えば、CDドライブ、DVDドライブ等であり、記憶媒体91に記憶されたプログラムを読み込むためのドライブ装置である。ドライブ16の種類は、記憶媒体91の種類に応じて適宜選択されてよい。上記生成プログラム81、学習用データ群120、及び複数件の第1学習結果データ224の少なくともいずれかは、この記憶媒体91に記憶されていてもよい。
 記憶媒体91は、コンピュータその他装置、機械等が、記録されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。学習データ生成装置1は、この記憶媒体91から、上記生成プログラム81、学習用データ群120、及び複数件の第1学習結果データ224の少なくともいずれかを取得してもよい。
 ここで、図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)等であってもよい。
 <学習装置>
 次に、図3を用いて、本実施形態に係る学習装置2のハードウェア構成の一例について説明する。図3は、本実施形態に係る学習装置2のハードウェア構成の一例を模式的に例示する。
 図3に示されるとおり、本実施形態に係る学習装置2は、制御部21、記憶部22、通信インタフェース23、入力装置24、出力装置25、及びドライブ26が電気的に接続されたコンピュータである。なお、図3では、図2と同様に、通信インタフェースを「通信I/F」と記載している。
 学習装置2は、上記学習データ生成装置1と同様の構成を有している。制御部21は、ハードウェアプロセッサであるCPU、RAM、ROM等を含み、プログラム及びデータに基づいて各種情報処理を実行するように構成される。記憶部22は、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。記憶部22は、学習プログラム82、学習用データ群120、複数件の第1学習結果データ224、難易度データ125、第2学習結果データ229等の各種情報を記憶する。
 学習プログラム82は、各第1識別器5及び第2識別器6を構築する後述の機械学習の情報処理(図8、図10)を学習装置2に実行させ、その結果として第1学習結果データ224及び第2学習結果データ229を生成させるためのプログラムである。第2学習結果データ229は、学習済みの第2識別器6の設定を行うためのデータである。詳細は後述する。
 通信インタフェース23は、例えば、有線LANモジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。学習装置2は、この通信インタフェース23を利用することで、ネットワークを介したデータ通信を他の情報処理装置(例えば、学習データ生成装置1及び検査装置3)と行うことができる。
 入力装置24は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置25は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置24及び出力装置25を利用することで、学習装置2を操作することができる。
 ドライブ26は、例えば、CDドライブ、DVDドライブ等であり、記憶媒体92に記憶されたプログラムを読み込むためのドライブ装置である。ドライブ26及び記憶媒体91はそれぞれ、上記ドライブ16及び記憶媒体91それぞれと同様に構成されてよい。上記学習プログラム82、学習用データ群120、及び難易度データ125のうちの少なくともいずれかは、記憶媒体92に記憶されていてもよい。また、学習装置2は、記憶媒体92から、上記学習プログラム82、学習用データ群120、及び難易度データ125のうちの少なくともいずれかを取得してもよい。
 なお、学習装置2の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部21は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA、DSP等で構成されてよい。記憶部22は、制御部21に含まれるRAM及びROMにより構成されてもよい。通信インタフェース23、入力装置24、出力装置25及びドライブ26の少なくともいずれかは省略されてもよい。学習装置2は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、学習装置2は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC等であってもよい。
 <検査装置>
 次に、図4を用いて、本実施形態に係る検査装置3のハードウェア構成の一例について説明する。図4は、本実施形態に係る検査装置3のハードウェア構成の一例を模式的に例示する。
 図4に示されるとおり、本実施形態に係る検査装置3は、制御部31、記憶部32、通信インタフェース33、外部インタフェース34、入力装置35、出力装置36、及びドライブ37が電気的に接続されたコンピュータである。なお、図4では、通信インタフェース及び外部インタフェースをそれぞれ「通信I/F」及び「外部I/F」と記載している。
 外部インタフェース34を備える点を除き、検査装置3は、上記学習データ生成装置1及び学習装置2と同様の構成を有している。制御部31は、ハードウェアプロセッサであるCPU、RAM、ROM等を含み、プログラム及びデータに基づいて各種情報処理を実行するように構成される。記憶部32は、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。記憶部32は、検査プログラム83、第2学習結果データ229等の各種情報を記憶する。
 検査プログラム83は、第2識別器6を利用して、対象画像データ321に写る製品Rの良否を判定する後述の情報処理(図11)を検査装置3に実行させるためのプログラムであり、当該情報処理の一連の命令を含む。詳細は後述する。
 通信インタフェース33は、例えば、有線LANモジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。検査装置3は、この通信インタフェース33を利用することで、ネットワークを介したデータ通信を他の情報処理装置(例えば、学習装置2)と行うことができる。
 外部インタフェース34は、例えば、USB(Universal Serial Bus)ポート、専用ポート等であり、外部装置と接続するためのインタフェースである。外部インタフェース34の種類及び数は、接続される外部装置の種類及び数に応じて適宜選択されてよい。本実施形態では、検査装置3は、外部インタフェース34を介して、カメラ41に接続される。
 カメラ41は、製品Rを撮影することで、対象画像データ321を取得するのに利用される。カメラ41の種類及び配置場所は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。カメラ41には、例えば、デジタルカメラ、ビデオカメラ等の公知のカメラが利用されてよい。また、カメラ41は、製品Rが搬送される生産ラインの近傍に配置されてよい。なお、カメラ41が通信インタフェースを備える場合、検査装置3は、外部インタフェース34ではなく、通信インタフェース33を介して、カメラ41に接続されてもよい。
 入力装置35は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置36は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置35及び出力装置36を利用することで、検査装置3を操作することができる。
 ドライブ37は、例えば、CDドライブ、DVDドライブ等であり、記憶媒体93に記憶されたプログラムを読み込むためのドライブ装置である。ドライブ37及び記憶媒体93はそれぞれ、上記ドライブ16及び記憶媒体91それぞれと同様に構成されてよい。上記検査プログラム83及び第2学習結果データ229のうちの少なくともいずれかは、記憶媒体93に記憶されていてもよい。また、検査装置3は、記憶媒体93から、上記検査プログラム83及び第2学習結果データ229のうちの少なくともいずれかを取得してもよい。
 なお、検査装置3の具体的なハードウェア構成に関して、上記学習データ生成装置1及び学習装置2と同様に、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部31は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA、DSP等で構成されてよい。記憶部32は、制御部31に含まれるRAM及びROMにより構成されてもよい。通信インタフェース33、外部インタフェース34、入力装置35、出力装置36及びドライブ37の少なくともいずれかは省略されてもよい。検査装置3は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、検査装置3は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のデスクトップPC、ノートPC、タブレットPC、スマートフォンを含む携帯電話等が用いられてよい。
 [ソフトウェア構成]
 <学習データ生成装置>
 次に、図5を用いて、本実施形態に係る学習データ生成装置1のソフトウェア構成の一例を説明する。図5は、本実施形態に係る学習データ生成装置1のソフトウェア構成の一例を模式的に例示する。
 学習データ生成装置1の制御部11は、記憶部12に記憶された生成プログラム81をRAMに展開する。そして、制御部11は、RAMに展開された生成プログラム81をCPUにより解釈及び実行して、各構成要素を制御する。これによって、図5に示されるとおり、本実施形態に係る学習データ生成装置1は、学習用データ取得部111、難易度設定部112、及び保存処理部113をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、各ソフトウェアモジュールは、制御部11(CPU)により実現される。
 学習用データ取得部111は、製品の写る画像データ122、及び画像データ122に写る製品の良否の判定に対する正解を示す正解データ123の組み合わせをそれぞれ含む複数件の学習用データセット121により構成された学習用データ群120を取得する。
 難易度設定部112は、製品の良否を判定する能力を機械学習により習得済みである複数の第1識別器5を含んでいる。難易度設定部112は、各件の学習用データセット121の画像データ122を各第1識別器5に入力することで、入力した画像データ122に写る製品の良否を判定した結果に対応する出力値を各第1識別器5から取得する。そして、難易度設定部112は、各第1識別器5から取得した出力値が、正解データ123の示す正解に適合する度合いに応じて、各件の学習用データセット121に良否の判定の難易度を設定する。なお、本実施形態では、複数の第1識別器5はそれぞれ、異なる学習条件の機械学習により構築される。ただし、難易度設定部112に含まれる複数の第1識別器5は、このような例に限定されなくてもよい。難易度設定部112に含まれる複数の第1識別器5の少なくともいずれかのペアは、同一の学習条件の機械学習により構築されてよい。
 保存処理部113は、各件の学習用データセット121と設定した難易度との対応関係を示す難易度データ125を生成する。そして、保存処理部113は、生成した難易度データ125を学習用データ群120と共に所定の記憶領域(例えば、記憶部12)に保存する。
 また、学習用データ取得部111は、各件の学習用データセット121に設定した難易度に基づいて、学習用データ群120から特定の難易度の学習用データセット180を抽出する。次に、学習用データ取得部111は、抽出した特定の難易度の学習用データセット180に含まれる画像データ122と類似する追加の画像データ182を収集する。続いて、学習用データ取得部111は、収集した追加の画像データ182に対して、当該追加の画像データ182に写る製品の良否の判定に対する正解を示す正解データ183を付与することで、新たな学習用データセット181を生成する。そして、学習用データ取得部111は、生成した新たな学習用データセット181を学習用データ群120に追加する。
 (識別器)
 次に、各第1識別器5の構成について説明する。図5に示されるとおり、本実施形態に係る第1識別器5は、ニューラルネットワークにより構成される。具体的には、第1識別器5は、いわゆる深層学習に用いられる多層構造のニューラルネットワークにより構成されており、入力層51、中間層(隠れ層)52、及び出力層53を備えている。
 なお、図5の例では、第1識別器5を構成するニューラルネットワークは、1層の中間層52を備えており、入力層51の出力が中間層52に入力され、中間層52の出力が出力層53に入力されている。ただし、中間層52の数は、1層に限られなくてもよい。第1識別器5は、2層以上の中間層52を備えてもよい。
 各層51~53は、1又は複数のニューロンを備えている。例えば、入力層51のニューロンの数は、画像データ122に応じて設定されてよい。中間層52のニューロンの数は、実施の形態に応じて適宜設定されてよい。また、出力層53のニューロンの数は、正解データ123の示す正解の種別数等に応じて設定されてよい。
 隣接する層のニューロン同士は適宜結合され、各結合には重み(結合荷重)が設定されている。図5の例では、各ニューロンは、隣接する層の全てのニューロンと結合されている。しかしながら、ニューロンの結合は、このような例に限定されなくてもよく、実施の形態に応じて適宜設定されてよい。
 各ニューロンには閾値が設定されており、基本的には、各入力と各重みとの積の和が閾値を超えているか否かによって各ニューロンの出力が決定される。難易度設定部112は、各第1識別器5の入力層51に画像データ122を入力し、ニューラルネットワークの演算処理として、各層に含まれる各ニューロンの発火判定を入力側から順に行う。これにより、難易度設定部112は、入力した画像データ122に写る製品の良否を判定した結果に対応する出力値を出力層53から取得する。
 なお、各第1識別器5(ニューラルネットワーク)の構成(例えば、各ネットワークの層数、各層におけるニューロンの個数、ニューロン同士の結合関係、各ニューロンの伝達関数)、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報は、各件の第1学習結果データ224に含まれている。難易度設定部112は、各件の第1学習結果データ224を参照して、難易度の判定に利用する各第1識別器5の設定を行う。
 <学習装置>
 次に、図6を用いて、本実施形態に係る学習装置2のソフトウェア構成の一例について説明する。図6は、本実施形態に係る学習装置2のソフトウェア構成の一例を模式的に例示する。
 学習装置2の制御部21は、記憶部22に記憶された学習プログラム82をRAMに展開する。そして、制御部21は、RAMに展開された学習プログラム82をCPUにより解釈及び実行して、各構成要素を制御する。これによって、図6に示されるとおり、本実施形態に係る学習装置2は、データ取得部211、及び学習処理部212をソフトウェアモジュールとして備えるコンピュータとして構成される。すなわち、本実施形態では、各ソフトウェアモジュールは、制御部21(CPU)により実現される。
 データ取得部211は、機械学習に利用する学習用データ群120を取得する。学習処理部212は、学習用データ群120に含まれる複数件の学習用データセット121を利用して、識別器の機械学習を実施する。
 本実施形態では、学習処理部212は、学習用データ群120から複数件の学習用データセット121を選択することで、選択された複数件の学習用データセット121で構成される部分データ群221を作成する。そして、学習処理部212は、部分データ群221を利用して、第1識別器5の機械学習を行う。すなわち、学習処理部212は、部分データ群221に含まれる各件の学習用データセット121について、画像データ122を入力層51に入力すると、入力した画像データ122に関連付けられた正解データ123に対応する出力値を出力層53から出力するように第1識別器5の機械学習を行う。
 これにより、学習処理部212は、学習済みの第1識別器5を構築する。そして、学習処理部212は、学習済みの第1識別器5の構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報を第1学習結果データ224として記憶部22に格納する。なお、上記機械学習において、ニューラルネットワークのパラメータ及び部分データ群221を構成する学習用データセット121の少なくとも一方を変更することで、学習条件を異ならせることができる。学習処理部212は、学習条件を変更して上記一連の処理を繰り返すことで、異なる学習条件で機械学習済みである複数の第1識別器5を構築することができる。他方、学習処理部212は、学習条件を変更せずに上記一連の処理を繰り返すことで、同一の学習条件で機械学習済みである2つ以上の第1識別器5を構築することができる。
 また、学習処理部212は、学習用データ群120を利用して、第2識別器6の機械学習を行う。すなわち、学習処理部212は、設定された難易度の低い学習用データセット121から順に利用した段階的な機械学習を実施することにより、製品の良否を判定する能力を習得した第2識別器6を構築する。
 例えば、学習処理部212は、難易度データ125を参照して、設定された難易度に応じて学習用データ群120に含まれる各件の学習用データセット121を複数のグループに分類する。そして、学習処理部212は、分類した複数のグループのうち、設定された難易度の低い学習用データセット121を含むグループから順に機械学習に利用する。
 つまり、学習処理部212は、最も難易度の低い学習用データセット121を含むグループ226について、画像データ122を入力すると、入力した画像データ122に関連付けられた正解データ123に対応する出力値を出力するように第2識別器6の機械学習を行う。グループ226の機械学習が完了した後、学習処理部212は、グループ226の次に難易度の高いグループについて、同様の機械学習の処理を実行する。学習処理部212は、最も難易度の高い学習用データセット121を含むグループ228の機械学習が完了するまで、この一連の処理を繰り返す。これにより、学習処理部212は、設定された難易度の低い学習用データセット121から順に利用した段階的な機械学習を実施して、製品の良否を判定する能力を習得した第2識別器6を構築することができる。
 なお、図6に示されるとおり、第2識別器6は、第1識別器5と同様に、ニューラルネットワークにより構成されている。第2識別器6は、第1識別器5と同様に構成されてよい。すなわち、入力層61、中間層(隠れ層)62、及び出力層63は、第1識別器5の各層51~53と同様に構成されてよい。ただし、第2識別器6のニューラルネットワークの構造は、第1識別器5と一致していなくてもよい。例えば、第2識別器6を構成するニューラルネットワークの層の数、各層におけるニューロンの個数、及びニューロン同士の結合関係は、第1識別器5を構成するニューラルネットワークと異なっていてもよい。機械学習の処理が完了した後、学習処理部212は、学習済みの第2識別器6の構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報を第2学習結果データ229として記憶部22に格納する。
 <検査装置>
 次に、図7を用いて、本実施形態に係る検査装置3のソフトウェア構成の一例について説明する。図7は、本実施形態に係る検査装置3のソフトウェア構成の一例を模式的に例示する。
 検査装置3の制御部31は、記憶部32に記憶された検査プログラム83をRAMに展開する。そして、制御部31は、RAMに展開された検査プログラム83をCPUにより解釈及び実行して、各構成要素を制御する。これによって、図7に示されるとおり、本実施形態に係る検査装置3は、対象データ取得部311、良否判定部312、及び出力部313をソフトウェアモジュールとして備えるコンピュータとして構成される。すなわち、本実施形態では、各ソフトウェアモジュールは、制御部31(CPU)により実現される。
 対象データ取得部311は、検査の対象となる製品Rの写る対象画像データ321を取得する。本実施形態では、対象データ取得部311は、カメラ41により製品Rを撮影することで、対象画像データ321を取得する。良否判定部312は、学習済みの第2識別器6を含んでいる。良否判定部312は、第2学習結果データ229を参照して、学習済みの第2識別器6の設定を行う。そして、良否判定部312は、取得した対象画像データ321を第2識別器6に入力して、当該第2識別器6の演算処理を実行することで、当該第2識別器6から出力値を取得する。第2識別器6の出力値は、入力した対象画像データ321に写る製品Rの良否を判定した結果に対応する。そこで、良否判定部312は、第2識別器6から取得した出力値に基づいて、対象画像データ321に写る製品Rの良否を判定する。出力部313は、製品Rの良否を判定した結果、すなわち、外観検査の結果を出力する。
 <その他>
 学習データ生成装置1、学習装置2、及び検査装置3の各ソフトウェアモジュールに関しては後述する動作例で詳細に説明する。なお、本実施形態では、学習データ生成装置1、学習装置2、及び検査装置3の各ソフトウェアモジュールがいずれも汎用のCPUによって実現される例について説明している。しかしながら、以上のソフトウェアモジュールの一部又は全部が、1又は複数の専用のプロセッサにより実現されてもよい。また、学習データ生成装置1、学習装置2、及び検査装置3それぞれのソフトウェア構成に関して、実施形態に応じて、適宜、ソフトウェアモジュールの省略、置換及び追加が行われてもよい。
 §3 動作例
 [第1識別器の作成手順]
 次に、図8を用いて、第1識別器5を構築する際の学習装置2の動作例について説明する。図8は、本実施形態に係る学習装置2により第1識別器5を構築する処理手順の一例を例示するフローチャートである。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
 (ステップS101)
 ステップS101では、制御部21は、データ取得部211として動作し、学習用データ群120を取得する。
 学習用データ群120を取得する方法は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、カメラを用意し、検査対象となる製品Rと同種の製品であって、欠陥のある製品(不良品)及び欠陥のない製品(良品)それぞれを、用意したカメラにより様々な条件で撮影することで、良否の表れた製品の写る画像データ122を取得することができる。そして、得られた画像データ122に対して、その画像データ122に写る製品に表れた良否(正解)を示す正解データ123を組み合わせることで、学習用データセット121を作成することができる。正解データ123の具体的な内容は、後述する良否判定の形態に応じて適宜決定されてよい。この学習用データセット121の作成を繰り替えることで、複数件の学習用データセット121で構成された学習用データ群120を作成することができる。
 なお、この学習用データ群120の作成は、学習装置2により行われてもよい。この場合、制御部21は、オペレータによる入力装置24の操作に応じて、学習用データ群120を作成してもよい。また、制御部21は、学習プログラム82の処理により、学習用データ群120を自動的に作成してもよい。この作成処理を実行することで、本ステップS101では、制御部21は、学習用データ群120を取得することができる。
 あるいは、学習用データ群120の作成は、例えば、学習データ生成装置1等の学習装置2以外の他の情報処理装置により行われてもよい。他の情報処理装置では、学習用データ群120は、オペレータにより手動で作成されてもよいし、プログラムの処理により自動的に作成されてもよい。この場合、本ステップS101では、制御部21は、ネットワーク、記憶媒体92等を介して、他の情報処理装置により作成された学習用データ群120を取得してもよい。
 学習用データ群120を構成する学習用データセット121の件数は、特に限定されなくてもよく、例えば、後述する第2識別器6の機械学習を実施可能な程度に適宜決定されてよい。これにより、学習用データ群120を取得すると、制御部21は、次のステップS102に処理を進める。
 (ステップS102)
 ステップS102では、制御部21は、学習処理部212として動作し、第1識別器5の機械学習に利用する複数件の学習用データセット121を学習用データ群120から選択する。これにより、制御部21は、選択された複数件の学習用データセット121で構成される部分データ群221を作成する。
 利用する学習用データセット121を選択する方法は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、制御部21は、第1識別器5の機械学習に利用する複数件の学習用データセット121を学習用データ群120からランダムに選択してもよい。また、例えば、制御部21は、所定の基準に従って、複数件の学習用データセット121を学習用データ群120から選択してもよい。また、例えば、制御部21は、オペレータによる入力装置24の操作に応じて、複数件の学習用データセット121を学習用データ群120から選択してもよい。部分データ群221の作成が完了すると、制御部21は、次のステップS103に処理を進める。
 (ステップS103)
 ステップS103では、制御部21は、学習処理部212として動作し、ステップS102で作成した部分データ群221を利用した機械学習により、製品の良否を判定する能力を習得した第1識別器5を構築する。本実施形態では、制御部21は、部分データ群221を構成する各件の学習用データセット121を用いて、画像データ122を入力層51に入力すると、正解データ123に対応する出力値を出力層53から出力するようにニューラルネットワークの機械学習を実施する。
 具体的には、まず、制御部21は、学習処理を行う対象となるニューラルネットワーク(学習前の第1識別器5)を用意する。用意するニューラルネットワークの構成、各ニューロン間の結合の重みの初期値、各ニューロンの閾値の初期値等の各パラメータは、テンプレートにより与えられてもよいし、オペレータの入力により与えられてもよい。
 次に、制御部21は、ステップS102で作成した部分データ群221を構成する各件の学習用データセット121に含まれる画像データ122を入力データとして用い、正解データ123を教師データとして用いて、ニューラルネットワークの学習処理を実行する。このニューラルネットワークの学習処理には、確率的勾配降下法等が用いられてよい。
 例えば、制御部21は、画像データ122を入力層51に入力し、入力側から順に各層51~53に含まれる各ニューロンの発火判定を行う。これにより、制御部21は、出力層53から出力値を得る。次に、制御部21は、出力層53から得た出力値と正解データ123により示される正解に対応する値との誤差を算出する。続いて、制御部21は、誤差逆伝搬(Back propagation)法により、算出した出力値の誤差を用いて、各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの誤差を算出する。そして、制御部21は、算出した各誤差に基づいて、各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの値の更新を行う。
 制御部21は、部分データ群221を構成する各件の学習用データセット121について、ニューラルネットワークから出力される出力値が正解データ123により示される正解に対応する値と一致するまでこの一連の処理を繰り返す。これにより、制御部21は、画像データ122を入力すると、正解データ123により示される正解に対応する出力値を出力する学習済みの第1識別器5を構築することができる。第1識別器5の学習処理が完了すると、制御部21は、次のステップS104に処理を進める。
 (ステップS104)
 ステップS104では、制御部21は、学習処理部212として動作し、機械学習により構築された第1識別器5の構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報を第1学習結果データ224として記憶部22に格納する。これにより、制御部21は、本動作例に係る処理を終了する。
 制御部21は、上記ステップS101~S104の一連の処理を繰り返すことで、複数の第1識別器5を構築することができる。この一連の処理を繰り返す際に、制御部21は、ステップS102において選択する学習用データセット121を変更する、及び/又はステップS103において用意するニューラルネットワークのパラメータの値を変更する。これにより、制御部21は、製品の良否の判定を異なる学習条件で機械学習済みである複数の第1識別器5それぞれを構築する。
 ただし、複数の第1識別器5は、このような例に限定されなくてもよい。複数の第1識別器5の少なくともいずれかのペアは、同一の学習条件の機械学習により構築されてよい。制御部21は、学習条件を変更せずに上記ステップS101~S104の一連の処理を繰り返すことで、同一の学習条件で機械学習済みである2つ以上の第1識別器5を構築することができる。
 なお、学習済みの第1識別器5を構築した後、制御部21は、作成した第1学習結果データ224を学習データ生成装置1に転送してもよい。また、例えば、制御部21は、作成した第1学習結果データ224をNAS(Network Attached Storage)等のデータサーバに保管してもよい。この場合、学習データ生成装置1は、このデータサーバから第1学習結果データ224を取得してもよい。また、各件の第1学習結果データ224は、学習データ生成装置1に予め組み込まれていてもよい。
 [難易度付き学習用データセットの作成手順]
 次に、図9を用いて、難易度付きの学習用データセット121を作成する際の学習データ生成装置1の動作例について説明する。図9は、本実施形態に係る学習データ生成装置1により難易度付きの学習用データセット121を作成する処理手順の一例を例示するフローチャートである。以下で説明する処理手順は、学習データ生成方法の一例である。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
 (ステップS201)
 ステップS201では、制御部11は、学習用データ取得部111として動作し、画像データ122及び正解データ123の組み合わせをそれぞれ含む複数件の学習用データセット121により構成された学習用データ群120を取得する。
 学習用データ群120の作成は、上記のとおり、学習データ生成装置1により行われてもよいし、例えば、学習装置2等の学習データ生成装置1以外の他の情報処理装置により行われてもよい。すなわち、制御部11は、上記作成処理を実行することで、学習用データ群120を取得してもよい。あるいは、制御部11は、ネットワーク、記憶媒体91等を介して、他の情報処理装置により作成された学習用データ群120を取得してもよい。学習用データ群120を取得すると、制御部11は、次のステップS202に処理を進める。
 (ステップS202及びS203)
 ステップS202では、制御部11は、難易度設定部112として動作し、各件の学習用データセット121の画像データ122を各第1識別器5に入力し、各第1識別器5の演算処理を実行する。これにより、制御部11は、入力した画像データ122に写る製品の良否を判定した結果に対応する出力値を各第1識別器5から取得する。
 具体的には、制御部11は、各件の第1学習結果データ224を参照して、製品の良否を判定する能力を機械学習により習得済みである各第1識別器5の設定を行う。本実施形態では、各第1識別器5は、異なる学習条件の機械学習により構築されている。続いて、制御部11は、各件の学習用データセット121の画像データ122を各第1識別器5の入力層51に入力し、入力側から順に各層51~53に含まれる各ニューロンの発火判定を行う。これにより、制御部11は、入力した画像データ122に写る製品の良否を判定した結果に対応する出力値を各第1識別器5の出力層53から取得する。
 なお、各第1識別器5の出力値の形式は、製品の良否を判定可能であれば、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、各第1識別器5の出力値は、製品に欠陥が存在するか否かを示してもよい。また、例えば、各第1識別器5の出力値は、製品に欠陥が存在する又は存在しない確率を示してもよい。また、例えば、各第1識別器5の出力値は、製品に存在する欠陥の種別を示してもよい。
 そして、ステップS203では、制御部11は、各第1識別器5から取得した出力値が、正解データ123の示す正解に適合する度合いに応じて、各件の学習用データセット121に良否の判定の難易度を設定する。具体的には、制御部11は、各第1識別器5から取得した出力値が正解に適合する度合いに基づいて、各件の学習用データセット121の難易度を判定し、判定した難易度を各件の学習用データセット121に設定する。難易度の判定は、良否の判定が容易な学習用データセット121ほど難易度が低く設定され、良否の判定が困難な学習用データセット121ほど難易度が高く設定されるように適宜行われてよい。難易度の判定は、例えば、以下の3つの方法により行うことができる。
 (1)第1の方法
 第1の方法では、制御部11は、複数の第1識別器5から取得した出力値に基づいて製品の良否を判定した結果が正解データ123により示される正解と一致する比率(以下、「正答率」とも記載する)を利用して、各件の学習用データセット121の難易度を判定する。
 つまり、制御部11は、複数の第1識別器5から取得した出力値に基づいて製品の良否を判定した結果が正解データ123により示される正解と一致する比率が高い学習用データセット121ほど低い難易度に設定する。一方、制御部11は、複数の第1識別器5から取得した出力値に基づいて製品の良否を判定した結果が正解データ123により示される正解と一致する比率が低い学習用データセット121ほど高い難易度に設定する。
 例えば、10個の第1識別器5を利用して、第1の学習用データセット121及び第2の学習用データセット121それぞれに対して良否の判定を行った場面を想定する。この場合に、第1の学習用データセット121に対して9個の第1識別器5が良否の判定を正しく行えたのに対して、第2の学習用データセット121に対しては3個の第1識別器5しか良否の判定を正しく行えなかったとする。このとき、制御部11は、第1の学習用データセット121の難易度を低く設定し、第2の学習用データセット121の難易度を高く設定する。
 なお、制御部11は、各第1識別器5の出力値に基づいて製品の良否を判定した結果が正解データ123により示される正解に一致しているか否かを特定することで、各第1識別器5による判定の正答率を導出する。この各第1識別器5の出力値に基づいて製品の良否を判定した結果が正解データ123により示される正解に一致しているか否かの特定は、各第1識別器5の出力値の形式に応じて適宜行われてよい。
 例えば、各第1識別器5の出力値が、製品に欠陥が存在するか否か又は製品に存在する欠陥の種別を示している場合、各第1識別器5の出力値をそのまま良否を判定した結果として利用することができる。すなわち、制御部11は、各第1識別器5の出力値が正解データ123により示される正解値と一致しているか否かにより、各第1識別器5の出力値に基づいて製品の良否を判定した結果が正解に一致しているか否かを特定することができる。
 また、例えば、各第1識別器5の出力値が、製品に欠陥が存在する又は存在しない確率を示している場合、制御部11は、各第1識別器5の出力値を閾値と比較することで、製品の良否を判定することができる。その結果、制御部11は、各第1識別器5の出力値に基づいて製品の良否を判定した結果が正解データ123により示される正解に適合しているか否かを特定することができる。
 (2)第2の方法
 上記のとおり、各第1識別器5の出力値は、入力した画像データ122に写る製品の良否を判定した結果に対応する。そのため、各第1識別器5の出力値の和及び積も、入力した画像データ122に写る製品の良否を判定した結果に対応する。例えば、各第1識別器5の出力値が、製品に欠陥が存在する又は存在しない確率を示している場合、複数の第1識別器5それぞれから取得した出力値の和又は積は、製品に欠陥が存在する又は存在しない程度をそのまま示す。
 そこで、第2の方法では、制御部11は、複数の第1識別器5それぞれから取得した出力値の和又は積を利用して、各件の学習用データセット121の難易度を判定する。すなわち、制御部11は、複数の第1識別器5それぞれから取得した出力値の和又は積が、正解データ123により示される正解に適合する度合いに応じて、各件の学習用データセット121に良否の判定の難易度を設定する。
 具体的には、制御部11は、複数の第1識別器5それぞれから取得した出力値の和又は積が、正解データ123により示される正解に適合しているほど、その学習用データセット121の難易度を低く設定する。一方、制御部11は、複数の第1識別器5それぞれから取得した出力値の和又は積が、正解データ123により示される正解に適合していていないほど、その学習用データセット121の難易度を高く設定する。
 (3)第3の方法
 第3の方法では、制御部11は、出力値に基づいて製品の良否を判定した結果が、所定の確信度以上で正解データ123により示される正解と一致している第1識別器5の数を利用して、各件の学習用データセット121の難易度を判定する。
 すなわち、制御部11は、出力値に基づいて製品の良否を判定した結果が、所定の確信度以上で正解データ123により示される正解と一致している第1識別器5の数が多い学習用データセット121ほど低い難易度に設定する。一方、制御部11は、出力値に基づいて製品の良否を判定した結果が、所定の確信度以上で正解データ123により示される正解と一致している第1識別器5の数が少ない学習用データセット121ほど高い難易度に設定する。
 なお、確信度は、各第1識別器5からの出力値と決定境界との距離により導出可能である。第1識別器5からの出力値と決定境界との距離は、後述する数1により算出可能である。制御部11は、例えば、対象の第1識別器5からの得られた出力値と決定境界との距離が所定の閾値以上である場合に、その対象の第1識別器5による判定の結果が、正解データ123により示される正解と所定の確信度以上で一致していると判定してもよい。つまり、制御部11は、出力値と決定境界との距離が所定の閾値以上である第1識別器5の数に応じて、各件の学習用データセット121の難易度を設定してもよい。
 ステップS203では、制御部11は、上記第1~第3の方法の少なくともいずれかを採用することにより、各件の学習用データセット121の難易度を判定することができる。なお、難易度の表現形式は、高低を表現可能であれば、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、難易度は、複数の段階(グレード)で表現されてもよい。この場合、制御部11は、上記各方法により、各件の学習用データセット121の属するグレードを判定し、判定したグレードを各件の学習用データセット121の難易度として設定する。また、例えば、難易度は、数値(スコア)で表現されてもよい。この場合、制御部11は、上記各方法により、各件の学習用データセット121の難易度のスコアを導出し、導出したスコアを各件の学習用データセット121の難易度として設定する。各件の学習用データセット121の難易度の設定が完了すると、制御部11は、次のステップS204に処理を進める。
 (ステップS204及びS205)
 ステップS204では、制御部11は、保存処理部113として動作し、各件の学習用データセット121と設定した難易度との対応関係を示す難易度データ125を生成する。難易度データ125のデータ形式は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。難易度データ125のデータ形式には、例えば、テーブル形式等の公知のデータ形式を採用することができる。
 そして、ステップS205では、制御部11は、保存処理部113として動作し、生成した難易度データ125を学習用データ群120と共に所定の記憶領域に保存する。所定の記憶領域は、記憶部12であってもよいし、例えば、学習装置2の記憶部22、NAS等の外部の記憶領域であってもよい。難易度データ125の保存が完了すると、制御部11は、本動作例に係る処理を終了する。
 なお、難易度データ125を生成した後、制御部11は、生成した難易度データ125を学習装置2に転送してもよい。また、難易度データ125が記憶部12、NAS等に保存される場合、学習装置2は、記憶部12、NAS等から難易度データ125を取得してもよい。
 [第2識別器の作成手順]
 次に、図10を用いて、第2識別器6を構築する際の学習装置2の動作例について説明する。図10は、本実施形態に係る学習装置2により第2識別器6を構築する処理手順の一例を例示するフローチャートである。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
 (ステップS301)
 ステップS301では、制御部21は、データ取得部211として動作し、学習用データ群120を取得する。本ステップS301は、上記ステップS101と同様に処理されてよい。また、制御部21は、難易度データ125を取得する。学習用データ群120及び難易度データ125を取得すると、制御部21は、次のステップS302に処理を進める。
 (ステップS302及びS303)
 ステップS302及びS303では、制御部21は、学習処理部212として動作し、設定された難易度の低い学習用データセット121から順に利用した段階的な機械学習を実施することにより、製品の良否を判定する能力を習得した第2識別器6を構築する。
 具体的に、ステップS302では、制御部21は、難易度データ125を参照して、設定された難易度に応じて学習用データ群120に含まれる各件の学習用データセット121を複数のグループに分類する。設定するグループの数は、特に限定されなくてもよく、例えば、学習用データセット121の件数、難易度の種別(例えば、グレードの種類、スコアの範囲)等に応じて適宜決定されてよい。
 なお、制御部21は、各グループが難易度により段階的に設定されていれば、難易度の異なる学習用データセット121を同一のグループに分類してもよい。例えば、難易度の範囲が「1」~「5」であり、各件の学習用データセット121を2つのグループに分類する場面を想定する。この場合、制御部21は、難易度「1」及び「2」の学習用データセット121並びに難易度「3」の一部の学習用データセット121を第1のグループに分類してもよい。そして、制御部21は、難易度「4」及び「5」の学習用データセット121並びに難易度「3」の残りの学習用データセット121を第2のグループに分類してもよい。
 そして、ステップS303では、制御部21は、分類した複数のグループのうち、設定された難易度の低い学習用データセット121を含むグループから順に利用して、第2識別器6の機械学習を行う。各グループを利用した機械学習は、上記ステップS103と同様に行われてよい。
 すなわち、制御部21は、各グループに含まれる各件の学習用データセット121について、ニューラルネットワークから出力される出力値が正解データ123に対応する値と一致するまで、各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの値の更新を行う上記一連の処理を繰り返す。これにより、制御部21は、画像データ122を入力すると、正解データ123により示される正解に対応する出力値を出力する学習済みの第2識別器6を構築することができる。
 制御部21は、難易度の低い学習用データセット121を含むグループから順に、このニューラルネットワークの学習処理に適用する。つまり、制御部21は、まず、最も難易度の低い学習用データセット121を含むグループ226を学習処理に適用する。これにより、制御部21は、グループ226に含まれる各件の学習用データセット121に対して、画像データ122を入力すると、入力した画像データ122に関連付けられた正解データ123に対応する出力値を出力する学習済みの第2識別器6を構築する。次に、制御部21は、グループ226の次に難易度の高いグループを選択し、選択したグループについて同様の学習処理を実行する。制御部21は、最も難易度の高い学習用データセット121を含むグループ228の学習処理が完了するまで、この一連の機械学習の処理を繰り返す。これにより、制御部21は、設定された難易度の低い学習用データセット121から順に利用した段階的な機械学習を実施して、製品の良否を判定する能力を習得した第2識別器6を構築することができる。
 (ステップS304)
 ステップS304では、制御部21は、学習処理部212として動作し、機械学習により構築された第2識別器6の構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報を第2学習結果データ229として記憶部22に格納する。これにより、制御部21は、本動作例に係る処理を終了する。
 なお、第2識別器6を構築した後、制御部21は、作成した第2学習結果データ229を検査装置3に転送してもよい。また、制御部21は、作成した第2学習結果データ229をNAS等のデータサーバに保管してもよい。この場合、検査装置3は、このデータサーバから第2学習結果データ229を取得してもよい。また、学習装置2により作成された第2学習結果データ229は、検査装置3に予め組み込まれてもよい。
 [検査手順]
 次に、図11を用いて、検査装置3の動作例について説明する。図11は、検査装置3の処理手順の一例を例示するフローチャートである。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
 (ステップS401)
 ステップS401では、制御部31は、対象データ取得部311として動作し、検査の対象となる製品Rの写る対象画像データ321を取得する。本実施形態では、検査装置3は、外部インタフェース34を介してカメラ41に接続されている。そのため、制御部31は、カメラ41から対象画像データ321を取得する。この対象画像データ321は、動画像データであってもよいし、静止画像データであってもよい。対象画像データ321を取得すると、制御部31は、次のステップS402に処理を進める。
 ただし、対象画像データ321を取得する経路は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、検査装置3とは異なる他の情報処理装置が、カメラ41に接続されていてもよい。この場合、検査装置3は、他の情報処理装置から対象画像データ321の送信を受け付けることで、対象画像データ321を取得してもよい。
 (ステップS402)
 ステップS402では、制御部31は、良否判定部312として動作し、取得した対象画像データ321を第2識別器6に入力して、当該第2識別器6の演算処理を実行することで、当該第2識別器6から出力値を取得する。そして、制御部31は、第2識別器6から取得した出力値に基づいて、対象画像データ321に写る製品Rの良否を判定する。
 具体的には、制御部31は、第2学習結果データ229を参照して、学習済みの第2識別器6の設定を行う。続いて、制御部31は、対象画像データ321を第2識別器6の入力層61に入力し、入力側から順に各層61~63に含まれる各ニューロンの発火判定を行う。これにより、制御部31は、入力した対象画像データ321に写る製品Rの良否を判定した結果に対応する出力値を第2識別器6の出力層63から取得する。
 第2識別器6の出力値の形式は、上記第1識別器5と同様に、実施の形態に応じて適宜選択されてよい。例えば、第2識別器6の出力値は、製品に欠陥が存在するか否かを示してもよいし、製品に欠陥が存在する又は存在しない確率を示してもよい。この場合、制御部31は、第2識別器6から取得した出力値に基づいて、製品Rに欠陥が存在するか否かを判定することができる。
 また、例えば、第2識別器6の出力値は、製品に存在する欠陥の種別を示してもよい。この場合、検査装置3は、第2識別器6の出力値と欠陥の種別とを対応付けたテーブル形式等の参照情報(不図示)を記憶部32に保持していてもよい。本ステップS402では、制御部31は、参照情報を参照することにより、第2識別器6から取得した出力値に対応する欠陥の種別を特定することができる。
 すなわち、第2識別器6の出力値の形式に応じて、製品Rの良否を判定することは、製品Rに欠陥が存在するか否かを判定すること、製品に欠陥が存在する又は存在しない確率を導出する、製品Rに存在する欠陥の種別を特定すること等であってよい。製品Rの良否を判定が完了すると、制御部31は、次のステップS403に処理を進める。
 (ステップS403)
 ステップS403では、制御部31は、出力部313として動作し、ステップS402により製品Rの良否を判定した結果を出力する。
 製品Rの良否を判定した結果の出力形式は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、制御部31は、製品Rの良否を判定した結果をそのまま出力装置36に出力してもよい。また、ステップS402において、製品Rに欠陥があると判定した場合、制御部31は、欠陥を発見したことを知らせるための警告を本ステップS403の出力処理として行ってもよい。また、製品の搬送を行う製造ラインに検査装置3が接続されている場合、製品Rに欠陥があると判定したときに、制御部31は、欠陥のある製品Rを欠陥のない製品とは異なる経路で搬送する指令を製造ラインに送信する処理を本ステップS403の出力処理として行ってもよい。
 製品Rの良否を判定した結果の出力処理が完了すると、制御部31は、本動作例に係る処理を終了する。なお、制御部31は、製造ライン上を搬送される製品Rがカメラ41の撮影範囲に入る度に、ステップS401~S403の一連の処理を実行してもよい。これにより、検査装置3は、製造ライン上を搬送される製品Rの外観検査を行うことができる。
 [学習用データセットの追加手順]
 次に、図12を用いて、追加の学習用データセット181を収集する際の学習データ生成装置1の動作例について説明する。図12は、学習データ生成装置1により追加の学習用データセット181を収集する処理手順の一例を例示するフローチャートである。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
 (ステップS501)
 ステップS501では、制御部11は、学習用データ取得部111として動作し、難易度データ125を参照し、各件の学習用データセット121に設定した難易度に基づいて、学習用データ群120から特定の難易度の学習用データセット180を抽出する。
 抽出する難易度は、実施の形態に応じて適宜決定されてよい。例えば、制御部11は、設定された難易度が最も高い学習用データセット121を学習用データセット180として抽出してもよい。また、例えば、制御部11は、オペレータによる入力装置14の操作を介して、抽出する難易度の指定を受け付けてもよい。この場合、制御部11は、オペレータにより指定された難易度の学習用データセット121を学習用データセット180として抽出してもよい。学習用データセット180の抽出が完了すると、制御部11は、次のステップS502に処理を進める。
 (ステップS502)
 ステップS502では、制御部11は、学習用データ取得部111として動作し、ステップS501で抽出した特定の難易度の学習用データセット180に含まれる画像データ122と類似する追加の画像データ182を収集する。
 追加の画像データ182を取得する方法は、実施の形態に応じて適宜選択されてよい。学習データ生成装置1にカメラ(不図示)が接続されている場合、制御部11は、このカメラにより製品を撮影することで、追加の画像データ182を取得してもよい。また、学習用データ群120とは別に製品の写る画像データが記憶部12、NAS等の記憶領域に保存されている場合、制御部11は、この記憶領域に保存されている画像データを追加の画像データ182として取得してもよい。
 また、抽出した特定の難易度の学習用データセット180に含まれる画像データ122と追加の画像データ182とが類似しているか否かを判定する方法は、実施の形態に応じて適宜決定されてよい。例えば、制御部11は、各画素値の一致する程度に基づいて、追加の画像データ182の候補となる画像データと抽出した学習用データセット180の画像データ122との一致度を算出してもよい。そして、制御部11は、算出した一致度が所定の閾値を超えている場合に、抽出した学習用データセット180の画像データ122に候補の画像データは類似していると判定し、この候補の画像データを追加の画像データ182として取得してもよい。一方、算出した一致度が所定の閾値を超えていない場合、制御部11は、候補の画像データは画像データ122に類似していないと判定し、この画像データを追加の画像データ182の候補から除外してもよい。なお、閾値は、適宜決定されてよい。
 また、収集する追加の画像データ182の件数は、実施の形態に応じて適宜決定されてよい。例えば、収集する追加の画像データ182の件数は、設定値により規定されていてもよい。また、例えば、制御部11は、オペレータによる入力装置14の操作を介して、収集する追加の画像データ182の件数の指定を受け付けてもよい。追加の画像データ182の収集が完了すると、制御部11は、次のステップS503に処理を進める。
 (ステップS503)
 ステップS503では、制御部11は、学習用データ取得部111として動作し、ステップS502で収集した追加の画像データ182に対して、当該追加の画像データ182に写る製品の良否の判定に対する正解を示す正解データ183を付与することで、新たな学習用データセット181を生成する。
 正解データ183の具体的な内容は、適宜決定されてよい。例えば、制御部11は、追加の画像データ182を収集する元となった画像データ122に関連付けられた正解データ123を正解データ183として学習用データ群120から取得してもよい。また、例えば、制御部11は、オペレータによる入力装置14の操作に応じて、正解データ183の内容を決定してもよい。
 (ステップS504)
 ステップS504では、制御部11は、学習用データ取得部111として動作し、生成した新たな学習用データセット181を、学習用データ群120が保存されている記憶領域に保存する。これにより、制御部11は、生成した新たな学習用データセット181を学習用データ群120に追加する。生成した新たな学習用データセット181の追加が完了すると、制御部11は、本動作例に係る処理を終了する。
 学習用データ群120を構成する学習用データセット121の件数が不足している、特定の難易度の学習用データセット121の件数が不足している等の理由により、上記学習装置2が、性能の高い第2識別器6を構築できない可能性がある。そこで、上記ステップS501~S504による学習用データセットの追加処理は、上記学習装置2により構築された第2識別器6の性能が不十分である場合に実行されてよい。これにより、学習用データセット121の件数の不足を解消することができ、上記学習装置2により性能の高い第2識別器6を構築することができるようになる。
 なお、第2識別器6の性能が不十分であるか否かの判定には、学習用データ群120の学習用データセット121と同様に収集された評価用データセットが用いられてよい。すなわち、評価用データセットに含まれる画像データを第2識別器6に入力することで、当該画像データに写る製品の良否を判定した結果に対応する出力値を第2識別器6から得ることができる。そして、第2識別器6から取得された出力値が、入力した画像データに関連付けられた正解データにより示される正解と一致するか否かによって、第2識別器6が良否の判定を正しく行えるか否かを判定することができる。例えば、この評価用データセットに対して第2識別器6が良否の判定を正しく行えた比率に基づいて、第2識別器6の性能を評価することができる。この第2識別器6の一連の評価処理は、学習データ生成装置1、学習装置2、及び検査装置3のいずれかにより実行されてもよいし、これら以外の他の情報処理装置により実行されてもよい。
 また、学習データ生成装置1は、生成した新たな学習用データセット181の追加が完了した後、更新された学習用データ群120を利用して、第2識別器6の機械学習を再度実施する指令を学習装置2に送信してもよい。学習装置2は、この指令を受信したことに応じて、上記ステップS301~S304の一連の処理を実行することで、第2識別器6の再学習を実施してもよい。
 このとき、新たな学習用データセット181の難易度は、適宜設定されてよい。例えば、制御部11は、ステップS501で抽出した難易度を、新たな学習用データセット181の難易度として設定してもよい。また、例えば、制御部11は、新たな学習用データセット181に対して上記ステップS202及びS203の処理を実行することで、新たな学習用データセット181の難易度を設定してもよい。
 また、制御部11は、ステップS501で抽出した特定の難易度の学習用データセット180に含まれる画像データ122をディスプレイ(出力装置15)に表示して、追加の画像データ182の収集をオペレータに促してもよい。これに応じて、制御部11は、画像データの入力を受け付けることで、入力された画像データを追加の画像データ182として取得してもよい。
 [特徴]
 機械学習に利用するための学習用データセットのなかには、識別しやすい学習用データセットと、識別し難い学習用データセットとが存在する。識別しやすい学習用データセットのみを利用して機械学習を実施した場合には、製品の良否の判定が困難なケースに対応可能な識別器を構築することができない可能性がある。一方で、識別し難い学習用データセットのみを利用して機械学習を実施した場合でも、特殊なケースの識別に適合し過ぎてしまい、汎化能力の高い識別器を構築することができない可能性がある。更に、識別しやすい学習用データセットと識別し難い学習用データセットとを混合した状態で機械学習を実施すると、学習用データ群に表れる製品の良否を判定する局所解に陥ってしまう等の理由により、汎化能力の高い識別器を構築することができない可能性がある。
 これに対して、本実施形態に係る検査システム100では、上記ステップS202及びS203の処理により、複数の第1識別器5を利用して、学習用データ群120に含まれる各件の学習用データセット121に良否の判定の難易度を適切に設定することができる。そして、ステップS302及びS303では、本実施形態に係る検査システム100は、設定された難易度の低い学習用データセット121から順に利用した段階的な機械学習を実施することにより、製品の良否を判定する能力を習得した第2識別器6を構築する。これにより、まずは、難易度の低い学習用データセット121を利用した機械学習により、学習用データ群120に表れる良否の判定の全体的な傾向を第2識別器6に習得させることができる。その後、難易度の高い学習用データセット121を利用した機械学習により、学習用データ群120に表れる良否の判定の詳細な傾向を第2識別器6に習得させることができる。
 したがって、本実施形態によれば、ステップS303の処理において、用意した学習用データ群120により達成可能な比較的に汎化性能の高い第2識別器6を構築することができるようになる。そのため、本実施形態に係る検査システム100は、上記ステップS401~S403の処理において、ステップS303で構築された第2識別器6を利用することにより、対象画像データ321に写る製品Rの良否の判定を比較的に精度よく実施することができる。
 §4 変形例
 以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下では、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、適宜説明を省略した。以下の変形例は適宜組み合わせ可能である。
 <4.1>
 上記実施形態では、各第1識別器5は、学習装置2により構築されている。しかしながら、第1識別器5を構築する装置は、学習装置2に限られなくてもよい。複数の第1識別器5のうちの少なくともいずれかは、学習装置2以外の他の情報処理装置により構築されてもよい。各第1識別器5が、他の情報処理装置により構築される場合、上記ステップS101~S104の一連の処理の実行は省略されてよい。
 また、上記実施形態では、各第1識別器5の機械学習には、学習用データ群120から選択された複数件の学習用データセット121が利用されている。しかしながら、各第1識別器5の機械学習に利用する学習用データセットは、このような例に限定されなくてもよい。各第1識別器5の機械学習には、学習用データ群120由来ではない学習用データセットが用いられてもよい。この学習用データセットは、適宜取得されてよい。
 <4.2>
 上記実施形態では、各識別器(5、6)は、多層構造の全結合ニューラルネットワークにより構成されている。しかしながら、各識別器(5、6)を構成するニューラルネットワークの種類は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、各識別器(5、6)を構成するニューラルネットワークには、畳み込みニューラルネットワーク、再帰型ニューラルネットワーク等が採用されてよい。なお、複数の第1識別器5のうちの少なくとも一部の第1識別器5に採用されるニューラルネットワークの種類は、他の第1識別器5に採用されるニューラルネットワークの種類と異なっていてもよい。
 また、上記実施形態では、各識別器(5、6)の学習モデルとして、ニューラルネットワークが用いられている。しかしながら、各識別器(5、6)の学習モデルは、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。各識別器(5、6)の学習モデルには、例えば、サポートベクタマシン等が用いられてもよい。なお、複数の第1識別器5のうちの少なくとも一部の第1識別器5に採用される学習モデルは、他の第1識別器5に採用される学習モデルと異なっていてもよい。
 <4.3>
 上記実施形態では、学習用データ取得部111は、ステップS501~S504の一連の処理により、新たな学習用データセット181を学習用データ群120に追加可能に構成されている。しかしながら、学習用データ取得部111は、このように構成されていなくてもよい。この場合、上記実施形態において、ステップS501~S504の一連の処理の実行は省略されてもよい。
 <4.4>
 上記実施形態では、第1学習結果データ224及び第2学習結果データ229はそれぞれ、ニューラルネットワークの構成を示す情報を含んでいる。しかしながら、第1学習結果データ224及び第2学習結果データ229の構成は、このような例に限定されなくてもよく、学習済みの各識別器(5、6)の設定に利用可能であれば、実施の形態に応じて適宜決定されてよい。例えば、利用するニューラルネットワークの構成が各装置で共通化されている場合には、第1学習結果データ224及び第2学習結果データ229はそれぞれ、ニューラルネットワークの構成を示す情報を含んでいなくてもよい。
 <4.5>
 上記実施形態では、学習データ生成装置1は、複数の第1識別器5を利用して、各件の学習用データセット121の難易度を判定している。しかしながら、各件の学習用データセット121の難易度を判定する方法は、このような例に限定されなくてもよい。1つの第1識別器5により、各件の学習用データセット121の難易度を判定してもよい。
 図13は、本変形例に係る学習データ生成装置1Aのソフトウェア構成の一例を模式的に例示する。各件の学習用データセット121の難易度を判定する方法が異なる点を除き、学習データ生成装置1Aは、上記実施形態に係る学習データ生成装置1と同様に構成されてよい。すなわち、学習データ生成装置1Aのハードウェア構成は、上記学習データ生成装置1のハードウェア構成と同じであってよい。また、学習データ生成装置1Aのソフトウェア構成は、1つの第1識別器5を含む難易度設定部112Aに難易度設定部112が置き換わる点を除き、上記学習データ生成装置1のソフトウェア構成と同じであってよい。本変形例に係る検査システムは、この学習データ生成装置1A、上記学習装置2、及び上記検査装置3により構成されてよい。
 本変形例に係る学習データ生成装置1Aの制御部は、ステップS202及びS203の処理内容が異なる点を除き、上記実施形態に係る学習データ生成装置1と同様の処理手順により、難易度付きの学習用データセット121を作成することができる。また、学習データ生成装置1Aの制御部は、ステップS501~S504の処理を実行することで、新たな学習用データセット181を学習用データ群120に追加することができる。
 本変形例において、ステップS202では、学習データ生成装置1Aの制御部は、難易度設定部112Aとして動作し、第1学習結果データ224を参照することで、機械学習により製品の良否を判定する能力を習得済みである第1識別器5の設定を行う。続いて、制御部は、各件の学習用データセット121の画像データ122を第1識別器5の入力層51に入力し、入力側から順に各層51~53に含まれる各ニューロンの発火判定を行う。これにより、制御部は、入力した画像データ122に写る製品の良否を判定した結果に対応する出力値を第1識別器5から取得する。
 次のステップS203では、制御部は、難易度設定部112Aとして動作し、第1識別器5から算出した出力値と製品の良否を判定するための第1識別器5の決定境界との距離を算出する。そして、制御部は、算出した距離に応じて、各件の学習用データセット121に良否の判定の難易度を設定する。
 識別器の決定境界と識別器の出力値との距離は、その出力値を得るのに入力した画像データに写る製品の良否の判定しやすさを示す。すなわち、識別器の決定境界と識別器の出力値との距離が大きいほど、その出力値を得るのに入力した画像データに写る製品の良否の判定は容易である。一方で、識別器の決定境界と識別器の出力値との距離が小さいほど、対応する画像データに写る製品の良否の判定は困難である。
 そこで、制御部は、第1識別器5から算出した出力値と決定境界との距離と逆比例となるように、各件の学習用データセット121の難易度を設定する。すなわち、制御部は、第1識別器5から算出した出力値と決定境界との距離が大きい学習用データセット121ほど低い難易度に設定する。一方、制御部は、第1識別器5から算出した出力値と決定境界との距離が小さい学習用データセット121ほど高い難易度に設定する。これにより、本変形例に係る学習データ生成装置1Aは、上記実施形態と同様に、各件の学習用データセット121の難易度を適切に設定することができる。
 なお、第1識別器5の決定境界は、例えば、入力データの座標空間に対して、以下の数1の式により表すことができる。
Figure JPOXMLDOC01-appb-M000001
 xは、入力データを示し、bは、定数を示す。数1の式の値が0になる入力データが決定境界を示す。そのため、制御部は、各件の学習用データセット121について、画像データ122を数1のxに入力し、数1の式の絶対値を算出することで、第1識別器5からの出力値と決定境界との距離を算出することができる。
 <4.6>
 上記実施形態では、製品の外観検査を行う場面に本発明を適用した例を示している。しかしながら、本発明の適用範囲は、このような外観検査の場面に限られなくてもよい。本発明は、画像データから何らかの特徴、すなわち、被写体の状態を判定する場面に広く適用可能である。
 図14は、本変形例に係る識別装置3Bのソフトウェア構成の一例を模式的に例示する。処理対象となるデータが、製品の写る画像データから何らかの被写体の写る画像データに置き換わる点を除き、本変形例に係る識別システムは、上記検査システム100と同様に構成されてよい。すなわち、本変形例に係る識別システムは、上記学習データ生成装置1、学習装置2、及び識別装置3Bにより構成されてよい。識別装置3Bのハードウェア構成は、上記検査装置3のハードウェア構成と同じであってよい。また、識別装置3Bのソフトウェア構成は、良否判定部312が状態判定部312Bに置き換わる点を除き、上記検査装置3のソフトウェア構成と同じであってよい。
 本変形例において、被写体は、画像データに写り得るあらゆる対象物を含んでもよく、例えば、対象者の顔、対象者の身体、作業対象のワーク等であってよい。また、被写体の状態は、識別器により判定可能な被写体のあらゆる属性を含んでもよい。被写体が顔である場合には、判定の対象となる状態は、例えば、表情の種別、顔のパーツ(器官を含む)の位置(特定の器官同士の相対位置関係を含む)、顔のパーツの形状、顔のパーツの色、顔のパーツの状態(開度、角度等)、その顔を所有する個人等であってよい。顔を所有する個人の判定は、顔認証を実施するために行われてよい。被写体が対象者の身体である場合には、判定の対象となる状態は、例えば、身体のポーズ等であってもよい。被写体が作業対象のワークである場合、判定の対象となる状態は、例えば、ワークの位置、姿勢等であってもよい。
 本変形例では、上記学習用データセット121が、画像データ、及び画像データに写る被写体の状態の判定に対する正解を示す正解データの組み合わせを含む学習用データセットに置き換えられる。これにより、学習装置2は、上記実施形態と同様の処理手順により、被写体の状態を判定する能力を習得済みである各識別器を構築することができる。すなわち、学習装置2は、学習条件を変更しながら上記ステップS101~S104の処理を繰り返すことで、異なる学習条件の機械学習により被写体の状態を判定する能力を習得済みである複数の第1識別器を生成することができる。
 また、本変形例において、学習データ生成装置1は、上記ステップS201の処理により、画像データ、及び画像データに写る被写体の状態の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する。次に、学習データ生成装置1は、上記ステップS202の処理により、被写体の状態を判定する能力を機械学習により習得済みである各第1識別器に各件の学習用データの画像データを入力し、各第1識別器の演算処理を実行する。本変形例でも、上記実施形態と同様に、異なる学習条件の機械学習により構築された複数の第1識別器が用いられてよい。これにより、学習データ生成装置1は、入力した画像データに写る被写体の状態を判定した結果に対応する出力値を当該複数の第1識別器それぞれから取得する。続いて、学習データ生成装置1は、上記ステップS203の処理により、各第1識別器から取得した出力値が、正解データの示す正解に適合する度合いに応じて、各件の学習用データセットに判定の難易度を設定する。難易度の判定方法には、上記第1~第3の方法のいずれかが採用されてよい。そして、学習データ生成装置1は、上記ステップS204及びS205により、各件の学習用データセットと設定した難易度との対応関係を示す難易度データを生成し、生成した難易度データを学習用データ群と共に所定の記憶領域に保存する。
 また、本変形例において、学習装置2は、上記ステップS301~S303の処理により、設定された難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、被写体の状態を判定する第2識別器6Bを構築する。そして、学習装置2は、上記ステップS304の処理により、機械学習により構築された第2識別器6Bの構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報を第2学習結果データ229Bとして記憶部22に格納する。
 また、本変形例において、識別装置3Bの制御部は、上記ステップS401の処理により、対象データ取得部311として動作し、状態を判定する対象となる被写体の写る対象画像データ321Bを取得する。ステップS402では、識別装置3Bの制御部は、状態判定部312Bとして動作し、第2学習結果データ229Bを参照して、学習済みの第2識別器6Bの設定を行う。続いて、制御部は、取得した対象画像データ321Bを第2識別器6Bに入力し、当該第2識別器6Bの演算処理を実行する。これにより、制御部は、第2識別器6Bから出力値を取得し、取得した出力値に基づいて、対象画像データ321Bに写る被写体の状態を判定する。そして、制御部は、上記ステップS403の処理により、出力部313として動作し、被写体の状態を判定した結果を出力する。
 以上により、本変形例では、対象の画像データに写る被写体の状態を比較的に精度よく判定可能な第2識別器6Bを構築することができる。そのため、識別装置3Bでは、対象画像データ321Bに写る被写体の状態を比較的に精度よく判定することができる。
 なお、本変形例において、学習データ生成装置1は、上記ステップS501の処理により、各件の学習用データセットに設定した難易度に基づいて、学習用データ群から特定の難易度の学習用データセットを抽出してもよい。次に、学習データ生成装置1は、上記ステップS502の処理により、抽出した特定の難易度の学習用データセットに含まれる画像データと類似する追加の画像データを収集してもよい。続いて、学習データ生成装置1は、上記ステップS503の処理により、収集した追加の画像データに対して、当該追加の画像データに写る被写体の状態の判定に対する正解を示す正解データを付与することで、新たな学習用データセットを生成してもよい。そして、学習データ生成装置1は、上記ステップS504の処理により、生成した新たな学習用データセットを学習用データ群に追加してもよい。
 また、上記<4.5>と同様に、本変形例においても、複数の第1識別器を利用するのではなく、1つの第1識別器を利用して、各件の学習用データセットの難易度を判定してもよい。すなわち、学習データ生成装置1は、上記ステップS202において、機械学習により被写体の状態を判定する能力を習得済みである第1識別器に各件の学習用データセットの画像データを入力することで、入力した画像データに写る被写体の状態を判定した結果に対応する出力値を当該第1識別器から取得してもよい。そして、学習データ生成装置1は、上記ステップS203において、第1識別器から取得した出力値と被写体の状態を判定するための第1識別器の決定境界との距離を算出し、算出した距離に応じて、各件の学習用データセットに判定の難易度を設定してもよい。
 <4.7>
 上記実施形態及び変形例では、画像データから何らかの特徴(被写体の状態)を判定する場面に本発明を提供した例を示している。しかしながら、本発明の適用可能な範囲は、このような画像データから特徴を判定する場面に限られなくてもよい。本発明は、画像データ以外のデータ又は複数種類のデータから何らかの特徴を識別する場面に広く適用可能である。
 図15~図17は、本変形例に係る学習データ生成装置1C、学習装置2C、及び識別装置3Cそれぞれのソフトウェア構成の一例を模式的に例示する。処理対象となるデータが、画像データから他種のデータに置き換わる点を除き、本変形例に係る識別システムは、上記検査システム100と同様に構成されてよい。すなわち、学習データ生成装置1C、学習装置2C、及び識別装置3Cそれぞれのハードウェア構成は、上記学習データ生成装置1、学習装置2、及び検査装置3それぞれのハードウェア構成と同じであってよい。学習データ生成装置1Cのソフトウェア構成は、処理対象となるデータが置き換わる点を除き、上記学習データ生成装置1のソフトウェア構成と同じであってよい。同様に、学習装置2Cのソフトウェア構成は、処理対象となるデータが置き換わる点を除き、上記学習装置2のソフトウェア構成と同じであってよい。また、識別装置3Cのソフトウェア構成は、良否判定部312が特徴判定部312Cに置き換わる点を除き、上記検査装置3のソフトウェア構成と同じであってよい。
 本変形例において、処理対象となるデータは、識別器による解析の対象となり得るあらゆる種類のデータを含んでもよく、例えば、画像データの他、音データ(音声データ)、数値データ、テキストデータ、これらの組み合わせで構成されたデータ等であってよい。特徴は、データから識別可能なあらゆる特徴を含んでもよい。処理対象となるデータが音データである場合、判定される特徴は、例えば、特定の音(例えば、機械の異音)が含まれているか否か等であってよい。処理対象となるデータが、血圧、活動量等の生体データに関する数値データ又はテキストデータである場合、判定される特徴は、例えば、対象者の状態等であってよい。また、処理対象となるデータが、機械の駆動量等の数値データ又はテキストデータである場合、判定される特徴は、例えば、機械の状態等であってよい。
 本変形例では、上記学習用データセット121が、所定種類のデータ122C、及び当該データに含まれる特徴を判定した結果の正解を示す正解データ123Cの組み合わせを含む学習用データセット121Cに置き換えられる。これにより、学習装置2Cは、上記実施形態と同様の処理手順により、被写体の状態を判定する能力を習得済みである各識別器を構築することができる。
 このとき、学習装置2Cの制御部は、上記実施形態と同様に、学習条件を変更しながら上記ステップS101~S104の処理を繰り返すことで、異なる学習条件の機械学習により被写体の状態を判定する能力を習得済みである複数の第1識別器5Cを構築してもよい。ただし、複数の第1識別器5Cは、このような例に限定されなくてもよい。学習装置2Cの制御部は、学習条件を変更せずに上記ステップS101~S104の処理を繰り返すことで、同一の学習条件の機械学習により被写体の状態を判定する能力を習得済みである2つ以上の第1識別器5Cを構築してもよい。各第1識別器5Cを構築した後、学習装置2Cの制御部は、各第1識別器5Cの構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報を第1学習結果データ224Cとして記憶部に格納する。
 また、本変形例において、学習データ生成装置1Cの制御部は、上記ステップS201の処理により、所定種類のデータ122C、及び当該データ122Cに含まれる特徴の判定に対する正解を示す正解データ123Cの組み合わせをそれぞれ含む複数件の学習用データセット121Cにより構成された学習用データ群120Cを取得する。次に、制御部は、上記ステップS202の処理により、各件の第1学習結果データ224Cを参照して、特徴を判定する能力を機械学習により習得済みである各第1識別器5Cの設定を行う。本変形例では、上記実施形態と同様に、各第1識別器5Cは、異なる学習条件の機械学習により構築されている。続いて、制御部は、各件の学習用データセット121Cのデータ122Cを各第1識別器に入力し、各第1識別器の演算処理を実行する。これにより、制御部は、入力したデータ122Cに含まれる特徴を判定した結果に対応する出力値を各第1識別器5Cから取得する。更に、制御部は、上記ステップS203の処理により、各第1識別器5Cから取得した出力値が、正解データ123Cにより示される正解に適合する度合いに応じて、各件の学習用データセット121Cに判定の難易度を設定する。難易度の判定方法には、上記第1~第3の方法のいずれかが採用されてよい。第1の方法では、制御部は、各第1識別器5Cから取得した出力値に基づいて特徴を判定した結果が正解データ123Cの示す正解と一致する比率が高い学習用データセット121Cほど低い難易度を設定してよい。また、第3の方法では、制御部は、出力値に基づいて特徴を判定した結果が、所定の確信度以上で正解データ123Cの示す正解と一致している第1識別器5Cの数が多い学習用データセット121Cほど低い難易度に設定してよい。そして、制御部は、上記ステップS204及びS205により、各件の学習用データセット121Cと設定した難易度との対応関係を示す難易度データ125を生成し、生成した難易度データ125を学習用データ群120Cと共に所定の記憶領域に保存する。
 また、本変形例において、学習装置2Cの制御部は、上記ステップS301~S303の処理により、設定された難易度の低い学習用データセット121Cから順に利用した段階的な機械学習を実施することにより、特徴を判定する第2識別器6Cを構築する。そして、制御部は、上記ステップS204の処理により、機械学習により構築された第2識別器6Cの構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報を第2学習結果データ229Cとして記憶部に格納する。
 また、本変形例において、識別装置3Cの制御部は、上記ステップS401の処理により、対象データ取得部311として動作し、判定する対象となる特徴を含む対象データ321Cを取得する。対象データ321Cを取得する方法は、対象データ321Cの種類に応じて適宜決定されてよい。ステップS402では、識別装置3Cの制御部は、特徴判定部312Cとして動作し、第2学習結果データ229Cを参照して、学習済みの第2識別器6Cの設定を行う。続いて、制御部は、取得した対象データ321Cを第2識別器6Cに入力し、当該第2識別器6Cの演算処理を実行する。これにより、制御部は、第2識別器6Cから出力値を取得し、取得した出力値に基づいて、対象データ321Cに含まれる特徴を判定する。そして、制御部は、上記ステップS403の処理により、出力部313として動作し、特徴を判定した結果を出力する。
 以上により、本変形例では、対象のデータに含まれる特徴を比較的に精度よく判定可能な第2識別器6Cを構築することができる。そのため、識別装置3Cでは、対象データ321Cに含まれる特徴を比較的に精度よく判定することができる。
 なお、本変形例において、学習データ生成装置1Cの制御部は、上記ステップS501の処理により、各件の学習用データセット121Cに設定した難易度に基づいて、学習用データ群120Cから特定の難易度の学習用データセット180Cを抽出してもよい。次に、制御部は、上記ステップS502の処理により、抽出した特定の難易度の学習用データセット180Cに含まれるデータ122Cと類似する追加のデータ182Cを収集してもよい。追加のデータ182Cの候補となるデータと学習用データセット180Cに含まれるデータ122Cとが類似するか否かは、データ122Cの種類に応じて適宜判定されてよい。続いて、制御部は、上記ステップS503の処理により、収集した追加のデータ182Cに対して、当該追加のデータ182Cに含まれる特徴の判定に対する正解を示す正解データ183Cを付与することで、新たな学習用データセット181Cを生成してもよい。そして、制御部は、上記ステップS504の処理により、生成した新たな学習用データセット181Cを学習用データ群120Cに追加してもよい。
 また、上記<4.5>と同様に、本変形例においても、複数の第1識別器5Cを利用するのではなく、1つの第1識別器を利用して、各件の学習用データセット121Cの難易度を判定してもよい。すなわち、学習データ生成装置1Cの制御部は、上記ステップS202において、機械学習により特徴を判定する能力を習得済みである第1識別器に各件の学習用データセット121Cのデータ122Cを入力することで、入力したデータ122Cに含まれた特徴を判定した結果に対応する出力値を当該第1識別器から取得してもよい。そして、制御部、上記ステップS203において、第1識別器から取得した出力値と特徴を判定するための第1識別器の決定境界との距離を算出し、算出した距離に応じて、各件の学習用データセット121Cに判定の難易度を設定してもよい。
 1…学習データ生成装置、
 11…制御部、12…記憶部、13…通信インタフェース、
 14…入力装置、15…出力装置、16…ドライブ、
 81…生成プログラム、91…記憶媒体、
 111…学習用データ取得部、112…難易度設定部、
 113…保存処理部、
 120…学習用データ群、
 121…学習用データセット、
 122…画像データ、123…正解データ、
 125…難易度データ、
 2…学習装置、
 21…制御部、22…記憶部、23…通信インタフェース、
 24…入力装置、25…出力装置、26…ドライブ、
 82…学習プログラム、92…記憶媒体、
 211…データ取得部、212…学習処理部、
 221…部分データ群、224…第1学習結果データ、
 226…(難易度の低い)グループ、
 228…(難易度の高い)グループ、
 229…第2学習結果データ、
 3…検査装置、
 31…制御部、32…記憶部、33…通信インタフェース、
 34…外部インタフェース、
 35…入力装置、36…出力装置、37…ドライブ、
 83…検査プログラム、93…記憶媒体、
 311…対象データ取得部、312…良否判定部、
 313…出力部、
 321…対象画像データ、
 41…カメラ、
 5…第1識別器、
 51…入力層、52…中間層(隠れ層)、53…出力層、
 6…第2識別器、
 61…入力層、62…中間層(隠れ層)、63…出力層

Claims (23)

  1.  製品の良否を検査する検査システムであって、
     前記製品の写る画像データ、及び前記画像データに写る前記製品の良否の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、
     前記製品の良否を判定する能力を機械学習により習得済みである複数の第1識別器それぞれに前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記製品の良否を判定した結果に対応する出力値を当該複数の第1識別器それぞれから取得し、前記複数の第1識別器それぞれから取得した出力値が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに良否の判定の難易度を設定する難易度設定部と、
     設定された前記難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、前記製品の良否を判定する第2識別器を構築する学習処理部と、
     検査の対象となる前記製品の写る対象画像データを取得する対象データ取得部と、
     取得した前記対象画像データを前記第2識別器に入力することで、前記第2識別器から出力値を取得し、前記第2識別器から取得した前記出力値に基づいて、前記対象画像データに写る前記製品の良否を判定する良否判定部と、
    を備える、
    検査システム。
  2.  前記難易度設定部は、前記複数の第1識別器から取得した出力値に基づいて前記製品の良否を判定した結果が前記正解データの示す正解と一致する比率が高い学習用データセットほど低い難易度に設定する、
    請求項1に記載の検査システム。
  3.  前記難易度設定部は、前記複数の第1識別器それぞれから取得した出力値の和又は積が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに良否の判定の難易度を設定する、
    請求項1に記載の検査システム。
  4.  前記難易度設定部は、前記出力値に基づいて前記製品の良否を判定した結果が、所定の確信度以上で前記正解データの示す正解と一致している第1識別器の数が多い学習用データセットほど低い難易度に設定する、
    請求項1に記載の検査システム。
  5.  前記各第1識別器は、前記学習用データ群から選択された複数件の学習用データセットにより構成された部分データ群を利用した機械学習により構築されている、
    請求項1から4のいずれか1項に記載の検査システム。
  6.  前記学習用データ取得部は、
      前記各件の学習用データセットに設定した前記難易度に基づいて、前記学習用データ群から特定の難易度の学習用データセットを抽出し、
      抽出した前記特定の難易度の学習用データセットに含まれる前記画像データと類似する追加の画像データを収集し、
      収集した前記追加の画像データに対して、前記追加の画像データに写る前記製品の良否の判定に対する正解を示す正解データを付与することで、新たな学習用データセットを生成し、
      生成した前記新たな学習用データセットを前記学習用データ群に追加する、
    請求項1から5のいずれか1項に記載の検査システム。
  7.  製品の写る画像データ、及び前記画像データに写る前記製品の良否の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、
     前記製品の良否を判定する能力を機械学習により習得済みである複数の第1識別器それぞれに前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記製品の良否を判定した結果に対応する出力値を当該複数の第1識別器それぞれから取得し、前記複数の第1識別器それぞれから取得した出力値が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに良否の判定の難易度を設定する難易度設定部と、
     前記各件の学習用データセットと設定した難易度との対応関係を示す難易度データを生成し、生成した当該難易度データを前記学習用データ群と共に所定の記憶領域に保存する保存処理部と、
    を備える、
    学習データ生成装置。
  8.  製品の良否を検査する検査システムであって、
     前記製品の写る画像データ、及び前記画像データに写る前記製品の良否の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、
     機械学習により前記製品の良否を判定する能力を習得済みである第1識別器に前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記製品の良否を判定した結果に対応する出力値を当該第1識別器から取得し、前記第1識別器から取得した出力値と前記製品の良否を判定するための前記第1識別器の決定境界との距離を算出し、算出した距離に応じて、前記各件の学習用データセットに良否の判定の難易度を設定する難易度設定部と、
     設定された前記難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、前記製品の良否を判定する第2識別器を構築する学習処理部と、
     検査の対象となる前記製品の写る対象画像データを取得する対象データ取得部と、
     取得した前記対象画像データを前記第2識別器に入力することで、前記第2識別器から出力値を取得し、前記第2識別器から取得した前記出力値に基づいて、前記対象画像データに写る前記製品の良否を判定する良否判定部と、
    を備える、
    検査システム。
  9.  製品の写る画像データ、及び前記画像データに写る前記製品の良否の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、
     機械学習により前記製品の良否を判定する能力を習得済みである第1識別器に前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記製品の良否を判定した結果に対応する出力値を当該第1識別器から取得し、前記第1識別器から取得した出力値と前記製品の良否を判定するための前記第1識別器の決定境界との距離を算出し、算出した距離に応じて、前記各件の学習用データセットに良否の判定の難易度を設定する難易度設定部と、
     前記各件の学習用データセットと設定した難易度との対応関係を示す難易度データを生成し、生成した当該難易度データを前記学習用データ群と共に所定の記憶領域に保存する保存処理部と、
    を備える、
    学習データ生成装置。
  10.  画像データ、及び前記画像データに写る被写体の状態の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、
     前記被写体の状態を判定する能力を機械学習により習得済みである複数の第1識別器それぞれに前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記被写体の状態を判定した結果に対応する出力値を当該複数の第1識別器それぞれから取得し、前記複数の第1識別器それぞれから取得した出力値が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに判定の難易度を設定する難易度設定部と、
     設定された前記難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、前記被写体の状態を判定する第2識別器を構築する学習処理部と、
     状態を判定する対象となる前記被写体の写る対象画像データを取得する対象データ取得部と、
     取得した前記対象画像データを前記第2識別器に入力することで、前記第2識別器から出力値を取得し、前記第2識別器から取得した前記出力値に基づいて、前記対象画像データに写る前記被写体の状態を判定する状態判定部と、
    を備える、
    識別システム。
  11.  画像データ、及び前記画像データに写る被写体の状態の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、
     前記被写体の状態を判定する能力を機械学習により習得済みである複数の第1識別器それぞれに前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記被写体の状態を判定した結果に対応する出力値を当該複数の第1識別器それぞれから取得し、前記複数の第1識別器それぞれから取得した出力値が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに判定の難易度を設定する難易度設定部と、
     前記各件の学習用データセットと設定した難易度との対応関係を示す難易度データを生成し、生成した当該難易度データを前記学習用データ群と共に所定の記憶領域に保存する保存処理部と、
    を備える、
    学習データ生成装置。
  12.  画像データ、及び前記画像データに写る被写体の状態の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、
     機械学習により前記被写体の状態を判定する能力を習得済みである第1識別器に前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記被写体の状態を判定した結果に対応する出力値を当該第1識別器から取得し、前記第1識別器から取得した出力値と前記被写体の状態を判定するための前記第1識別器の決定境界との距離を算出し、算出した距離に応じて、前記各件の学習用データセットに判定の難易度を設定する難易度設定部と、
     設定された前記難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、前記被写体の状態を判定する第2識別器を構築する学習処理部と、
     状態を判定する対象となる前記被写体の写る対象画像データを取得する対象データ取得部と、
     取得した前記対象画像データを前記第2識別器に入力することで、前記第2識別器から出力値を取得し、前記第2識別器から取得した前記出力値に基づいて、前記対象画像データに写る前記被写体の状態を判定する状態判定部と、
    を備える、
    識別システム。
  13.  画像データ、及び前記画像データに写る被写体の状態の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、
     機械学習により前記被写体の状態を判定する能力を習得済みである第1識別器に前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記被写体の状態を判定した結果に対応する出力値を当該第1識別器から取得し、前記第1識別器から取得した出力値と前記被写体の状態を判定するための前記第1識別器の決定境界との距離を算出し、算出した距離に応じて、前記各件の学習用データセットに判定の難易度を設定する難易度設定部と、
     前記各件の学習用データセットと設定した難易度との対応関係を示す難易度データを生成し、生成した当該難易度データを前記学習用データ群と共に所定の記憶領域に保存する保存処理部と、
    を備える、
    学習データ生成装置。
  14.  所定種類のデータ、及び前記データに含まれる特徴の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、
     前記特徴を判定する能力を機械学習により習得済みである複数の第1識別器それぞれに前記各件の学習用データセットの前記データを入力することで、入力した前記データに含まれる前記特徴を判定した結果に対応する出力値を当該複数の第1識別器それぞれから取得し、前記複数の第1識別器それぞれから取得した出力値が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに判定の難易度を設定する難易度設定部と、
     設定された前記難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、前記特徴を判定する第2識別器を構築する学習処理部と、
     判定する対象となる前記特徴を含む対象データを取得する対象データ取得部と、
     取得した前記対象データを前記第2識別器に入力することで、前記第2識別器から出力値を取得し、前記第2識別器から取得した前記出力値に基づいて、前記対象データに含まれる前記特徴を判定する特徴判定部と、
    を備える、
    識別システム。
  15.  前記難易度設定部は、前記複数の第1識別器から取得した出力値に基づいて前記特徴を判定した結果が前記正解データの示す正解と一致する比率が高い学習用データセットほど低い難易度に設定する、
    請求項14に記載の識別システム。
  16.  前記難易度設定部は、前記複数の第1識別器それぞれから取得した出力値の和又は積が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに良否の判定の難易度を設定する、
    請求項14に記載の識別システム。
  17.  前記難易度設定部は、前記出力値に基づいて前記特徴を判定した結果が、所定の確信度以上で前記正解データの示す正解と一致している第1識別器の数が多い学習用データセットほど低い難易度に設定する、
    請求項14に記載の識別システム。
  18.  前記各第1識別器は、前記学習用データ群から選択された複数件の学習用データセットにより構成された部分データ群を利用した機械学習により構築されている、
    請求項14から17のいずれか1項に記載の識別システム。
  19.  前記学習用データ取得部は、
      前記各件の学習用データセットに設定した前記難易度に基づいて、前記学習用データ群から特定の難易度の学習用データセットを抽出し、
      抽出した前記特定の難易度の学習用データセットに含まれる前記データと類似する追加のデータを収集し、
      収集した前記追加のデータに対して、前記データに含まれる前記特徴の判定に対する正解を示す正解データを付与することで、新たな学習用データセットを生成し、
      生成した前記新たな学習用データセットを前記学習用データ群に追加する、
    請求項14から18のいずれか1項に記載の識別システム。
  20.  前記複数の第1識別器はそれぞれ、異なる学習条件の機械学習により構築されている、
    請求項14から19のいずれか1項に記載の識別システム。
  21.  所定種類のデータ、及び前記データに含まれる特徴の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、
     前記特徴を判定する能力を機械学習により習得済みである複数の第1識別器それぞれに前記各件の学習用データセットの前記データを入力することで、入力した前記データに含まれる前記特徴を判定した結果に対応する出力値を当該複数の第1識別器それぞれから取得し、前記複数の第1識別器それぞれから取得した出力値が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに判定の難易度を設定する難易度設定部と、
     前記各件の学習用データセットと設定した難易度との対応関係を示す難易度データを生成し、生成した当該難易度データを前記学習用データ群と共に所定の記憶領域に保存する保存処理部と、
    を備える、
    学習データ生成装置。
  22.  所定種類のデータ、及び前記データに含まれる特徴の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、
     機械学習により前記特徴を判定する能力を習得済みである第1識別器に前記各件の学習用データセットの前記データを入力することで、入力した前記データに含まれる前記特徴を判定した結果に対応する出力値を当該第1識別器から取得し、前記第1識別器から取得した出力値と前記特徴を判定するための前記第1識別器の決定境界との距離を算出し、算出した距離に応じて、前記各件の学習用データセットに判定の難易度を設定する難易度設定部と、
     設定された前記難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、前記特徴を判定する第2識別器を構築する学習処理部と、
     判定する対象となる前記特徴を含む対象データを取得する対象データ取得部と、
     取得した前記対象データを前記第2識別器に入力することで、前記第2識別器から出力値を取得し、前記第2識別器から取得した前記出力値に基づいて、前記対象データに含まれる前記特徴を判定する特徴判定部と、
    を備える、
    識別システム。
  23.  所定種類のデータ、及び前記データに含まれる特徴の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、
     機械学習により前記特徴を判定する能力を習得済みである第1識別器に前記各件の学習用データセットの前記データを入力することで、入力した前記データに含まれる前記特徴を判定した結果に対応する出力値を当該第1識別器から取得し、前記第1識別器から取得した出力値と前記特徴を判定するための前記第1識別器の決定境界との距離を算出し、算出した距離に応じて、前記各件の学習用データセットに判定の難易度を設定する難易度設定部と、
     前記各件の学習用データセットと設定した難易度との対応関係を示す難易度データを生成し、生成した当該難易度データを前記学習用データ群と共に所定の記憶領域に保存する保存処理部と、
    を備える、
    学習データ生成装置。
PCT/JP2019/010179 2018-03-14 2019-03-13 検査システム、識別システム、及び学習データ生成装置 WO2019176989A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201980013728.9A CN111758117B (zh) 2018-03-14 2019-03-13 检查系统、识别系统以及学习数据生成装置
US16/976,461 US20210004721A1 (en) 2018-03-14 2019-03-13 Inspection system, discrimination system, and learning data generation device
EP19767896.4A EP3767582A4 (en) 2018-03-14 2019-03-13 INSPECTION SYSTEM, DISCRIMINATION SYSTEM AND LEARNING DATA GENERATOR

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018047260A JP6844564B2 (ja) 2018-03-14 2018-03-14 検査システム、識別システム、及び学習データ生成装置
JP2018-047260 2018-03-14

Publications (1)

Publication Number Publication Date
WO2019176989A1 true WO2019176989A1 (ja) 2019-09-19

Family

ID=67907902

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/010179 WO2019176989A1 (ja) 2018-03-14 2019-03-13 検査システム、識別システム、及び学習データ生成装置

Country Status (5)

Country Link
US (1) US20210004721A1 (ja)
EP (1) EP3767582A4 (ja)
JP (1) JP6844564B2 (ja)
CN (1) CN111758117B (ja)
WO (1) WO2019176989A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200364491A1 (en) * 2019-05-15 2020-11-19 Getac Technology Corporation Image detection scanning method for object surface defects and image detection scanning system thereof
JP7453767B2 (ja) 2019-09-25 2024-03-21 キヤノン株式会社 情報処理装置、情報処理方法
US20230237774A1 (en) * 2020-07-07 2023-07-27 Sony Group Corporation Data collection system, sensor device, data collection device, and data collection method
JP2022139796A (ja) * 2021-03-12 2022-09-26 オムロン株式会社 支援装置および方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11344450A (ja) * 1998-06-03 1999-12-14 Hitachi Ltd 教示用データ作成方法並びに欠陥分類方法およびその装置
JP2009140369A (ja) * 2007-12-07 2009-06-25 Sony Corp 集団学習装置及び集団学習方法、対象物検出装置及び対象物検出方法、並びにコンピュータ・プログラム
JP2011096291A (ja) * 2011-02-18 2011-05-12 Panasonic Corp 特徴抽出装置、対象物検出装置、特徴抽出方法、および対象物検出方法
JP2012026982A (ja) 2010-07-27 2012-02-09 Panasonic Electric Works Sunx Co Ltd 検査装置
JP2015191426A (ja) * 2014-03-28 2015-11-02 セコム株式会社 学習データ生成装置
JP2016051429A (ja) * 2014-09-02 2016-04-11 株式会社Screenホールディングス 教師データ作成支援方法、画像分類方法、教師データ作成支援装置および画像分類装置
JP2017211690A (ja) * 2016-05-23 2017-11-30 株式会社ツクタ技研 画像処理装置、画像処理方法、および画像処理プログラム

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100538498C (zh) * 2003-07-15 2009-09-09 欧姆龙株式会社 对象决定装置和摄像装置
JP4767595B2 (ja) * 2005-06-15 2011-09-07 パナソニック株式会社 対象物検出装置及びその学習装置
EP1986046B1 (en) * 2007-03-08 2014-07-16 Cellavision AB A method for determining an in-focus position and a vision inspection system
JP2010231455A (ja) * 2009-03-26 2010-10-14 Panasonic Electric Works Co Ltd 信号識別方法および信号識別装置
JP5546317B2 (ja) * 2010-03-31 2014-07-09 株式会社デンソーアイティーラボラトリ 外観検査装置、外観検査用識別器の生成装置及び外観検査用識別器生成方法ならびに外観検査用識別器生成用コンピュータプログラム
WO2012064976A1 (en) * 2010-11-11 2012-05-18 Google Inc. Learning tags for video annotation using latent subtags
JP5941782B2 (ja) * 2012-07-27 2016-06-29 株式会社日立ハイテクノロジーズ マッチング処理装置、マッチング処理方法、及びそれを用いた検査装置
JP6299299B2 (ja) * 2014-03-14 2018-03-28 オムロン株式会社 事象検出装置および事象検出方法
CN106462801A (zh) * 2014-10-07 2017-02-22 谷歌公司 在分区训练数据上训练神经网络
JP6606849B2 (ja) * 2015-04-06 2019-11-20 大日本印刷株式会社 識別器生成装置、識別器生成方法、推定装置、推定方法、およびプログラム
JP2017102906A (ja) * 2015-11-25 2017-06-08 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
JP2017211259A (ja) * 2016-05-25 2017-11-30 株式会社シーイーシー 検査装置、検査方法、及びプログラム
JP2018005640A (ja) * 2016-07-04 2018-01-11 タカノ株式会社 分類器生成装置、画像検査装置、及び、プログラム
CN106548179B (zh) * 2016-09-29 2019-09-17 北京市商汤科技开发有限公司 物体和服饰关键点的检测方法、装置和电子设备
US10664722B1 (en) * 2016-10-05 2020-05-26 Digimarc Corporation Image processing arrangements
US20200151591A1 (en) * 2017-01-31 2020-05-14 Mocsy Inc. Information extraction from documents
US11475351B2 (en) * 2017-11-15 2022-10-18 Uatc, Llc Systems and methods for object detection, tracking, and motion prediction

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11344450A (ja) * 1998-06-03 1999-12-14 Hitachi Ltd 教示用データ作成方法並びに欠陥分類方法およびその装置
JP2009140369A (ja) * 2007-12-07 2009-06-25 Sony Corp 集団学習装置及び集団学習方法、対象物検出装置及び対象物検出方法、並びにコンピュータ・プログラム
JP2012026982A (ja) 2010-07-27 2012-02-09 Panasonic Electric Works Sunx Co Ltd 検査装置
JP2011096291A (ja) * 2011-02-18 2011-05-12 Panasonic Corp 特徴抽出装置、対象物検出装置、特徴抽出方法、および対象物検出方法
JP2015191426A (ja) * 2014-03-28 2015-11-02 セコム株式会社 学習データ生成装置
JP2016051429A (ja) * 2014-09-02 2016-04-11 株式会社Screenホールディングス 教師データ作成支援方法、画像分類方法、教師データ作成支援装置および画像分類装置
JP2017211690A (ja) * 2016-05-23 2017-11-30 株式会社ツクタ技研 画像処理装置、画像処理方法、および画像処理プログラム

Also Published As

Publication number Publication date
JP2019159959A (ja) 2019-09-19
CN111758117B (zh) 2023-10-27
JP6844564B2 (ja) 2021-03-17
EP3767582A4 (en) 2021-12-15
EP3767582A1 (en) 2021-01-20
CN111758117A (zh) 2020-10-09
US20210004721A1 (en) 2021-01-07

Similar Documents

Publication Publication Date Title
WO2019176989A1 (ja) 検査システム、識別システム、及び学習データ生成装置
Gao et al. Balanced semisupervised generative adversarial network for damage assessment from low‐data imbalanced‐class regime
JP6924413B2 (ja) データ生成装置、データ生成方法及びデータ生成プログラム
JP6573226B2 (ja) データ生成装置、データ生成方法及びデータ生成プログラム
US11715190B2 (en) Inspection system, image discrimination system, discrimination system, discriminator generation system, and learning data generation device
JP7059883B2 (ja) 学習装置、画像生成装置、学習方法、及び学習プログラム
WO2019176990A1 (ja) 検査装置、画像識別装置、識別装置、検査方法、及び検査プログラム
JP2017062713A (ja) 識別器作成装置、識別器作成方法、およびプログラム
JP2016085704A (ja) 情報処理システム、情報処理装置、情報処理方法、及びプログラム
JPWO2019026104A1 (ja) 情報処理装置、情報処理プログラム及び情報処理方法
WO2008016109A1 (fr) Procédé d'optimisation de jeu de données d'apprentissage pour dispositif d'identification du signal et dispositif d'identification du signal capable d'optimiser le jeu de données d'apprentissage
CN113557536B (zh) 学习系统、数据生成装置、数据生成方法及存储介质
US20220405586A1 (en) Model generation apparatus, estimation apparatus, model generation method, and computer-readable storage medium storing a model generation program
WO2019176988A1 (ja) 検査システム、識別システム、及び識別器評価装置
JP7298825B2 (ja) 学習支援装置、学習装置、学習支援方法及び学習支援プログラム
CN115439694A (zh) 一种基于深度学习的高精度点云补全方法及装置
JP6177649B2 (ja) データ処理装置、測長システム、欠陥検査システム、画像トラッキングシステム、及びデータ処理方法
JP2005115569A (ja) 信号識別装置および信号識別方法
JP7059889B2 (ja) 学習装置、画像生成装置、学習方法、及び学習プログラム
CN111428224B (zh) 基于人脸识别的电脑账户登录的方法
JP7070308B2 (ja) 推定器生成装置、検査装置、推定器生成方法、及び推定器生成プログラム
US20240135172A1 (en) Model generation device, sorting device, data generation device, model generation method, and non-transitory computer storage media
JP2023128940A (ja) 外観分析システム、外観分析方法、及びプログラム
CN116977751A (zh) 一种图像处理方法、装置及计算机可读存储介质
CN115641486A (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: 19767896

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

Country of ref document: EP

Effective date: 20201014