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

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

Info

Publication number
WO2020012523A1
WO2020012523A1 PCT/JP2018/025849 JP2018025849W WO2020012523A1 WO 2020012523 A1 WO2020012523 A1 WO 2020012523A1 JP 2018025849 W JP2018025849 W JP 2018025849W WO 2020012523 A1 WO2020012523 A1 WO 2020012523A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
classifier
classes
learning
information processing
Prior art date
Application number
PCT/JP2018/025849
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 EP18926217.3A priority Critical patent/EP3822872A4/en
Priority to CN201880095424.7A priority patent/CN112384892A/zh
Priority to JP2020529849A priority patent/JP7028322B2/ja
Priority to PCT/JP2018/025849 priority patent/WO2020012523A1/ja
Publication of WO2020012523A1 publication Critical patent/WO2020012523A1/ja
Priority to US17/129,985 priority patent/US20210110215A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • 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/2111Selection of the most significant subset of features by using evolutionary computational techniques, e.g. genetic algorithms
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/2431Multiple classes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24323Tree-organised classifiers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • 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

Definitions

  • the present invention relates to an information processing device, an information processing method, and an information processing program.
  • an automatic generation method of an image classification program for classifying images has been proposed (for example, see Patent Document 1).
  • the image classification program for example, the object shown in the image can be classified into two classes, a good product and a bad product.
  • the object shown in the image can be classified not only into two classes of non-defective products and defective products, but also into multiple classes according to the degree of non-defective products and the defect mode (type of defect).
  • a representative classifier capable of performing multi-class classification for example, there is a SVM (Support @ Vector @ Machine) classifier.
  • an object of the present invention is to provide an information processing apparatus, an information processing method, and an information processing program capable of reducing a processing amount when generating a multi-class image classifier.
  • the information processing apparatus is an information processing apparatus that automatically generates an image classification program combining element filters based on genetic programming, and the first information processing apparatus classifies a first learning image group pre-classified into two classes.
  • a first generation unit that automatically generates an image classification program that classifies the image into two classes based on genetic programming; and the image classification program that is automatically generated by the first generation unit.
  • a second generating unit that generates a multi-class image classifier that classifies the second learning image group into the three or more classes.
  • FIG. 2 is a diagram illustrating an example of a hardware configuration of the image classification device according to the first embodiment.
  • FIG. 3 is a diagram illustrating an example of a basic configuration of a tree-structured filter sequence of an individual handled in genetic programming.
  • FIG. 9 is a diagram for describing an outline of a generation process of an image classification program by genetic programming.
  • FIGS. 4A to 4D are diagrams for explaining the outline of the processing of the first embodiment.
  • FIGS. 5A to 5C are views for explaining the generation processing of the pass / fail judgment discriminator including the failure mode.
  • FIG. 3 is a block diagram illustrating a configuration example of a processing function included in the image classification device.
  • 9 is a flowchart illustrating an example of a processing procedure of a program generation unit.
  • FIGS. 9A to 9C are diagrams showing verification test results of the pass / fail judgment discriminator including the failure mode generated according to the flowchart of FIG.
  • FIGS. 9A to 9C are views for explaining the second embodiment. It is a figure for explaining a 3rd embodiment. It is a figure for explaining a 4th embodiment. It is a figure for explaining a modification.
  • the image classification device has a function of automatically generating an image classification program combining element filters based on genetic programming, and a function of executing the generated image classification program to execute image classification processing.
  • FIG. 1 is a diagram illustrating an example of a hardware configuration of the image classification device 100 according to the first embodiment.
  • the image classification device 100 includes a processor 101, a RAM 102, an HDD 103, a graphic processing device 104, an input interface 105, a reading device 106, a communication interface 107, and a network interface 108. Each part of the image classification device 100 is connected to the bus 109.
  • the processor 101 controls the entire image classification device 100.
  • Processor 101 may be a multiprocessor.
  • the processor 101 is, for example, a CPU (Central Processing Unit), an MPU (Micro Processing Unit), a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), a PLD (Programmable Logic Device), or the like. Further, the processor 101 may be a combination of two or more elements among a CPU, an MPU, a DSP, an ASIC, and a PLD.
  • the RAM 102 is used as a main storage device of the image classification device 100.
  • the RAM 102 temporarily stores at least a part of an operating system (OS) program or an application program to be executed by the processor 101. Further, the RAM 102 stores various data necessary for processing by the processor 101.
  • OS operating system
  • the RAM 102 stores various data necessary for processing by the processor 101.
  • the HDD 103 is used as an auxiliary storage device of the image classification device 100.
  • the HDD 103 stores an OS program, an application program, and various data.
  • another type of non-volatile storage device such as an SSD (Solid State Drive) can be used as the auxiliary storage device.
  • a display device 104a is connected to the graphic processing device 104.
  • the graphic processing device 104 displays an image on the screen of the display device 104a according to a command from the processor 101.
  • Examples of the display device include a liquid crystal display and an organic EL (ElectroLuminescence) display.
  • the input device 105a is connected to the input interface 105.
  • the input interface 105 transmits a signal output from the input device 105a to the processor 101.
  • Examples of the input device 105a include a keyboard and a pointing device.
  • Examples of the pointing device include a mouse, a touch panel, a tablet, a touch pad, and a trackball.
  • a portable recording medium 106a is attached to and detached from the reader 106.
  • the reading device 106 reads data recorded on the portable recording medium 106a and transmits the data to the processor 101.
  • Examples of the portable recording medium 106a include an optical disk, a magneto-optical disk, and a semiconductor memory.
  • the communication interface 107 transmits and receives data to and from a connected external device.
  • a camera 107a is connected to the communication interface 107 as an external device, and the communication interface 107 transmits image data transmitted from the camera 107a to the processor 101.
  • the network interface 108 transmits and receives data to and from other devices via the network 108a.
  • the image classification device 100 automatically generates an image classification program for classifying an input image into one of two classes by genetic programming.
  • the image classification process based on the generated image classification program includes, for example, a process of determining whether a product or part shown in the input image is a non-defective product or a defective product, and a process of determining whether a face appears in the input image. Processing is included.
  • the processing realized by the image classification program includes a classifier generation process of generating a classifier (a pass / fail judgment classifier) for classifying an input image into two classes by learning using a learning image, and inputs the classifier to a pass / fail judgment classifier. And preprocessing for generating feature information based on the learning image. What features are extracted and used from training images to achieve high-precision image classification, and what kind of pass / fail decision classifier is generated based on the obtained features Both are important.
  • the image classification device 100 searches for an optimal combination of a generation algorithm of a pass / fail determination classifier and a preprocessing algorithm by genetic programming.
  • the image classification device 100 generates a classifier capable of performing multi-class pass / fail determination using the generated image classification program. The details of the classifier that can perform multi-class pass / fail determination will be described later.
  • FIG. 2 is a diagram illustrating an example of a basic configuration of a tree-structured filter sequence of an individual handled in the genetic programming.
  • the individual is represented by a tree structure in which a program module is set as an element of each node.
  • a feature extraction image is generated by applying various image transformations to an input image, an image feature amount is extracted from the generated image, a feature vector is created by combining the image feature amounts, and the image is generated by an SVM classifier. Learning or determination for determining the class (OK image and NG image) to which.
  • the OK image is an image in which a non-defective product is captured (non-defective product image)
  • the NG image is an image in which a defective product is captured (defective product image).
  • the tree structure representing an individual is divided into sections (processes) each including one or more adjacent layers.
  • the tree structure includes image conversion processing, image feature extraction processing, input data creation processing, SVM from the leaf side (upper side in FIG. 2) to the root side (lower side in FIG. 2). It is divided into a classifier generation process.
  • the SVM classifier generation processing includes SVM parameter setting processing, SVM classifier generation processing, and fitness calculation processing.
  • the image conversion processing, the image feature quantity extraction processing, and the input data creation processing are associated with preprocessing for generating data to be input to the classifier.
  • an input image is converted using an image conversion filter so as to be suitable for feature extraction.
  • an image conversion filter a Smooth filter, a Sobel filter, a Laplace filter, an And filter, a Sub filter, an Add filter, an Or filter, an Erode filter, a Dilate filter, a Threshold filter, and the like can be applied.
  • the image feature value extraction process is a process of extracting a feature value from the image converted by the image conversion process using a feature extraction filter.
  • a feature extraction filter a filter that calculates an average luminance, a filter that calculates a luminance histogram, a filter that performs FFT (Fast Fourier Transformation), or the like can be applied.
  • FFT Fast Fourier Transformation
  • a filter that extracts the same type of feature with different control parameters such as the number of area divisions can be applied.
  • the input data creation process is a process of generating input data (feature vector) to be input to the classifier based on the feature amount extracted in the image feature amount extraction process.
  • an input data generation module for generating input data to be input to the classifier for example, a program module having one or two inputs or a program module for executing normalization of input data, compression of input data, or the like is used. , Can be used.
  • the SVM parameter setting process includes, for example, a process of setting an absolute value of a learning parameter and a process of setting a relative value of a learning parameter.
  • a learning parameter hereinafter, also referred to as a hyper parameter
  • a learning parameter for generating a classifier is determined by increasing or decreasing the set absolute value by addition, subtraction, scaling, or the like using the set relative value.
  • the SVM discriminator generation processing determines a kernel function and an operation mode to be used.
  • the kernel function for example, a LINEAR kernel, a POLYNOMINAL kernel, an RBF (Radial Basic Function) kernel, a SIGMOID kernel, or the like can be applied.
  • the operation mode a mode in which learning of the tree structure and the SVM classifier is performed, and a mode in which the quality of the input image is determined is determined.
  • a classification process is performed to determine the acceptability of a learning image based on the input data created in the input data creation process in accordance with the classifier information generated in the SVM classifier creation process. I do.
  • the classification result obtained by the classification process is compared with the quality indicated by the label added to the learning image to determine whether the classification result is correct or incorrect.
  • the accuracy is calculated for the learning image by executing the determination a plurality of times using cross validation or the like, and the fitness of the individual is calculated based on the calculated accuracy.
  • the fitness is an index indicating how much the output result of the automatically generated tree structure filter sequence matches the target image recognition result.
  • the penalty term is also taken into account when calculating the fitness of each individual in the fitness calculation processing.
  • the number of feature dimensions of the classifier the size of the tree structure (the number of nodes included in the tree structure or the maximum number of nodes), the number of support vectors when the SVM classifier is used, and the like can be applied.
  • the number of feature dimensions can be determined based on the input data generation module set in the input data creation processing.
  • FIG. 3 is a diagram showing an outline of a procedure for generating an image classification program.
  • the learning data 20 includes an input image 21 and a correct classification result of the input image 21 (the classification correct data 22 in the present embodiment).
  • the input image 21 is obtained, for example, by imaging a subject with a camera.
  • an individual In the process of generating an image classification program by genetic programming, an individual (indicated by a white circle in FIG. 3) is configured by combining one or more image processing filters as described above.
  • F indicates an image processing filter incorporated in the node
  • I indicates an input terminal
  • O indicates an output terminal.
  • a plurality of image processing filters that can be incorporated in the individual are prepared in advance.
  • step S100 a plurality of initial individuals to be included in the population 11 are generated.
  • An image processing filter randomly selected from a plurality of image processing filters prepared in advance is incorporated in the node of each initial individual.
  • the fitness is calculated for each of the generated initial individuals. If the calculated maximum value of the fitness is equal to or greater than the predetermined threshold, the initial individual having the largest fitness is output as the final image classification program.
  • a certain number (for example, two in FIG. 3) of parent individuals are randomly selected from the population 11 in step S102.
  • a fixed number (two) of the selected parent individuals are subjected to the process of the evolution process, thereby generating a fixed number of two or more child individuals.
  • crossover processing and mutation processing are performed on two parent individuals.
  • three or more child individuals may be generated. That is, the number of generated child individuals is equal to or greater than the number of parent individuals selected from the population 11.
  • step S106 the fitness is calculated for each of the generated offspring individuals.
  • the individual is output as a final image classification program, and the program generation processing ends.
  • step S108 the surviving selection is performed from the population 12 including the generated offspring individuals and the original two parent individuals. Is performed. In this survival selection, the individual having the highest calculated fitness is selected from the individual group 12. In addition, one individual is selected from the remaining individuals in the individual group 12 by a predetermined method. For example, an individual is selected from the remaining individuals at a probability according to the fitness (roulette selection).
  • the two individuals selected by such survival selection are replaced with the two individuals selected as parent individuals among the individuals included in the population 11 in step S110.
  • the individuals included in the population 11 are changed to individuals of the next generation. Then, the same processing is repeated until an individual whose fitness is equal to or higher than a predetermined threshold appears.
  • an application of performing image processing on an image of a product to obtain a desired effect can be considered.
  • image processing it is conceivable to apply image processing to an image of the appearance of a product to extract a portion where a defect has occurred, or to extract a portion to be aligned.
  • an image classification program that can be used for such purposes only by preparing in advance the input image 21 and the corresponding classification correct answer data 22. . Further, by preparing a plurality of pairs (learning data 20) of the input image 21 and the classification correct data 22 having different imaging environments, an image classification program having high robustness against a change in the imaging environment can be automatically generated. You can also.
  • the multi-class pass / fail determination can be performed by using the image classification program capable of performing pass / fail determination (OK image / NG image determination) generated in the image classification program generation processing illustrated in FIG. Generate an SVM classifier.
  • the multi-class pass / fail determination means that the image belongs to a class of an OK image or a plurality of classes in which an NG image is further classified according to a failure mode.
  • an SVM classifier that can perform multi-class pass / fail determination is referred to as a “failure mode-inclusive pass / fail determination discriminator”.
  • the pass / fail judgment including defect mode, whether the target image which is an OK image (non-defective product) or an NG image (defective product) is a non-defective product or a defective product, and if the target image is defective, which defect is present It is possible to simultaneously determine whether the type is defective.
  • Input of correct answer data for learning Input correct answer data for learning in which a correct answer class is described for each image file.
  • a positive integer is assigned to the OK image
  • a negative integer is assigned to the NG image.
  • the difference in the numerical value of the NG image means the difference in the failure mode.
  • the multi-class learning correct data (FIG. 4 (a)) including the failure mode is directly used for the automatic generation result of the pass / fail judgment program (within the broken line frame of the tree structure filter row in FIG. 4 (c)).
  • generation of a multi-class image classifier (defective mode-conforming pass / fail judgment discriminator) is performed.
  • FOG. 4D failure mode-incorporated pass / fail judgment discriminator in which the image conversion process, the image feature amount extraction process, and the classifier hyperparameter setting are shared with the pass / fail judgment program.
  • FIG. 5A schematically shows a state in which the learning images are arranged in the feature space of the image features set at the beginning of learning.
  • the non-defective product data for learning is represented by a white figure
  • the defective product data is represented by a black figure. It is assumed that there are three types of defects (defective mode): scratches, dents, and rust.
  • the non-defective data also includes data having small scratches and small dents included in the normal range.
  • a pass / fail judgment program is applied to an input image to extract image feature amounts, and the feature amounts are given to a pass / fail judgment discriminator including a fault mode to perform multi-class classification (defects). Classification).
  • the pass / fail judgment may be performed in parallel using the pass / fail judgment program and the pass / fail judgment discriminator.
  • FIG. 6 is a block diagram illustrating a configuration example of a processing function included in the image classification device 100.
  • the image classification device 100 includes an image input unit 111, a correct data input unit 110, an image inspection processing unit 112 as a classification unit, a program generation unit 120, and a storage unit 150.
  • the processing of the image input unit 111, the correct answer data input unit 110, the image inspection processing unit 112, and the program generation unit 120 is, for example, that the processor 101 of the image classification device 100 executes a predetermined program (including an information processing program). Is realized.
  • the storage unit 150 is realized, for example, as a storage area of the RAM 102 of the image classification device 100.
  • the image input unit 111 acquires data of an image captured by the camera 107a and outputs the data to the program generation unit 120 or the image inspection processing unit 112.
  • the program generation unit 120 generates an image classification program (pass / fail judgment program) for pass / fail judgment by genetic programming, and stores data (data of the best individual) corresponding to the generated pass / fail judgment program in the storage unit 150.
  • the program generation unit 120 generates a pass / fail judgment including the failure mode using the pass / fail judgment program, and stores it in the storage unit 150.
  • the internal configuration of the program generator 120 will be described later.
  • the correct answer data input unit 110 outputs data (learning correct answer data in FIG. 4A) obtained by adding a label (+1, -1, -2, etc.) to the learning image acquired by the image input unit 111 from the camera 107a. For example, when the input is from the input device 105a, the learning correct data is acquired. Then, the correct answer data input unit 110 outputs the acquired correct answer data for learning to the program generating unit 120.
  • the image inspection processing unit 112 acquires data of an image captured by the camera 107a via the image input unit 111.
  • the image inspection processing unit 112 reads the data of the pass / fail judgment program (data of the best individual) and the pass / fail judgment discriminator including the failure mode stored in the storage unit 150, and performs multi-class classification (defect classification) of the acquired image. Execute The image inspection processing unit 112 displays the determination result on, for example, the display device 104a.
  • the storage unit 150 stores the data of the pass / fail judgment program (the data of the best individual) generated by the program generation unit 120 and the pass / fail judgment discriminator including the failure mode.
  • An image acquired by the image input unit 111 from the camera 107a can be used as the learning image.
  • the program generation unit 120 includes a GP (Genetic @ Programming) learning control unit 121, a correct answer data generation unit 122 as a generation unit, an image conversion unit 123, an image feature amount extraction unit 124, a classifier input data generation unit 125, a classifier parameter setting. It has a unit 126, a pass / fail judgment classifier generation unit 127, a fitness calculation unit 129, and a classifier generation unit 128 including a failure mode as a second generation unit.
  • GP Genetic @ Programming
  • the GP learning control unit 121 controls execution of the entire program generation process by genetic programming. For example, the GP learning control unit 121 performs processing such as generation of an initial individual and evolution processing of the individual.
  • the correct answer data creation unit 122 converts an OK image (+1) and an NG image ( ⁇ 1) as illustrated in FIG. 4B from the correct answer data for learning including the difference in the failure mode as illustrated in FIG. Create correct answer data for automatic generation of pass / fail judgment classified into. In this case, the correct answer data creation unit 122 converts a negative integer among the values in FIG. 4A into “ ⁇ 1”.
  • the learning correct answer data in FIG. 4B is used in the program generation processing by genetic programming in the GP learning control unit 121 and the like.
  • the image conversion unit 123 executes the image conversion process on the input image according to the image conversion filter set in the node of the image conversion process in the tree structure of the individual.
  • the image feature amount extraction unit 124 executes a feature amount extraction process from the input image after the image conversion according to a feature extraction filter set at a node of the image feature amount extraction process in the tree structure of the individual.
  • the discriminator input data creation unit 125 generates input data to be input to the discriminator based on the feature amount of the image according to the program module set in the node of the input data creation process in the tree structure of the individual.
  • the discriminator parameter setting unit 126 performs a process of setting a learning parameter (hyper parameter) of the discriminator according to the absolute value and the relative value set in the node of the SVM parameter setting process in the tree structure of the individual.
  • the pass / fail judgment discriminator generation unit 127 performs learning using the learning parameters set by the discriminator parameter setting unit 126 according to the kernel function and operation mode set at the node of the SVM discriminator generation processing in the tree structure of the individual. Is performed to generate a pass / fail judgment classifier.
  • the fitness calculation unit 129 determines whether the result of determining the class of the learning image using each individual is correct or incorrect based on whether or not the result matches the label added to the learning image, and based on the correct rate. Then, the fitness of each individual is calculated.
  • the failure mode-inclusive discriminator generation unit 128 performs the learning shown in FIG. 4A on each process in the broken line frame shown in FIG. 4C of the tree structure filter sequence generated by the GP learning control unit 121 and the like. By applying the correct answer data as it is, a pass / fail judgment discriminator including a failure mode is generated.
  • step S10 the GP learning control unit 121 acquires a learning image from the image input unit 111.
  • step S12 the correct answer data creation unit 122 acquires the correct answer data for learning (FIG. 4A) from the storage unit 150.
  • step S14 the correct answer data creation unit 122 creates correct answer data (FIG. 4 (b)) for automatic generation of pass / fail judgment from the acquired learning correct answer data (FIG. 4 (a)).
  • step S16 the GP learning control unit 121 generates a plurality of initial individuals and stores information indicating the generated initial individuals in the storage unit 150.
  • the individuals stored in the storage unit 150 are referred to as “individual groups”.
  • a node is set in a process of each hierarchy of the individual tree structure, and an element of each node is selected and set from a program module corresponding to the process to which the node belongs.
  • step S18 under the control of the GP learning control unit 121, the image conversion unit 123, the image feature amount extraction unit 124, the discriminator input data creation unit 125, the discriminator parameter setting unit 126, the pass / fail judgment discriminator generation unit 127 , And the fitness calculating unit 129 execute a generation change process of the pass / fail judgment program.
  • step S18 the processes of steps S102, S104, S106, S108, and S110 described with reference to FIG. 3 are performed.
  • step S20 the GP learning control unit 121 determines whether or not learning has ended.
  • step S20 it is determined that learning has ended when any of the fitness values of the child individuals generated in the process of step S18 is equal to or greater than a predetermined threshold. While the determination in step S20 is negative, the processing in step S18 is repeatedly executed, and when the determination in step S20 is affirmative, the process proceeds to step S22.
  • the failure mode-inclusive discriminator generation unit 128 sets hyperparameters of the defect mode-inclusive pass / fail judgment discriminator.
  • the hyperparameter of the pass / fail determination classifier set when the pass / fail determination program is generated is set as it is.
  • step S24 the failure mode-inclusive discriminator generation unit 128 applies the learning correct answer data (FIG. 4A) as it is to the pass / fail determination program generated by repeating step S18, thereby generating a failure.
  • a mode-inclusive pass / fail judgment classifier is generated.
  • Example 8 (a) to 8 (c) show the results of a verification experiment of the pass / fail judgment discriminator including the failure mode generated according to the flowchart of FIG.
  • the failure mode of the NG image was set to three types of foreign matter, dents, and rust.
  • a total of 80 learning images and a total of evaluation images were used. 100 sheets were prepared. The details of the number of images are as shown in FIG.
  • FIG. 8B shows an outline of a result of automatically generating a pass / fail judgment program using the learning image shown in FIG. 8A.
  • a 40-dimensional image feature is selected.
  • the hatched portion in FIG. 8B is correct, and the correct answer rate is 97% (3 incorrect judgments). ) was obtained.
  • a pass / fail judgment discriminator including a failure mode was generated by giving a total of four classes of correct answer data for learning of an OK image and an NG image (foreign matter, dents, rust) using an automatically generated pass / fail judgment program. Then, when the multi-class classification was performed on 100 evaluation images, the hatched portions in FIG. 8C were correct.
  • the classification accuracy narrowed down to the three failure modes of the NG image is correct except for two sheets in which a foreign substance is incorrectly classified as a rust, and the correct answer rate is 96% (48/50 ⁇ 100). A sufficiently high result was obtained with limited classification accuracy.
  • the classification error (the OK image was determined to be a dent or rust) continues to be made in the pass / fail judgment including the failure mode. This is presumed to be due to the common use of the image conversion process and the image feature amount extraction process of the pass / fail judgment program.
  • the GP learning control unit 121, the image conversion unit 123, the image feature amount extraction unit 124, the classifier input data creation unit 125, the classifier parameter setting unit 126, the pass / fail judgment identification A function as a first generation unit that automatically generates a pass / fail judgment program based on genetic data based on the correct answer data for pass / fail automatic generation is realized, including the unit generation unit 127 and the fitness calculation unit 129. .
  • the program generation unit 120 generates an image classification program (a pass / fail judgment program) for classifying a learning image previously classified into two classes into two classes by genetic programming. Automatically generated based on Then, the program generation unit 120 (the discriminator generation unit 128 including the failure mode) gives the learning images pre-classified into three or more classes to the automatically generated pass / fail determination program, and classifies the learning images into three or more classes. A pass / fail judgment discriminator including a failure mode is generated. As a result, the pass / fail judgment discriminator including the failure mode can be generated without adding much processing to the automatic generation processing of the pass / fail judgment program. Therefore, it is possible to reduce the processing amount and the processing time as compared with the case where the discriminator including the failure mode is automatically generated by learning.
  • an image classification program a pass / fail judgment program
  • the pass / fail judgment program automatically generated since the pass / fail judgment program automatically generated is used, the pass / fail judgment including defect mode can be generated while maintaining the accuracy of the pass / fail judgment.
  • the image classification device 100 includes the image inspection processing unit 112 that determines the quality of the inspection image by using the defect determination including the failure mode generated by the program generation unit 120. .
  • the inspection image can be classified into multiple classes with high accuracy, and the failure mode can be recognized.
  • the correct answer data creation unit 122 generates correct answer data (FIG. 4B) for automatically generating a pass / fail judgment based on the learning correct answer data (FIG. 4A).
  • the pass / fail judgment program can be automatically generated only by creating the correct answer data for learning used for generating the pass / fail judgment discriminator including the failure mode in advance.
  • the pass / fail decision discriminator including the failure mode is generated using the pass / fail decision program generated in the process up to that point.
  • the present invention is not limited to this. For example, each time the fitness of the best individual increases while repeating the processing of step S18, the pass / fail judgment including the bad mode of the generation using the best individual is performed using the best individual. You may make it generate
  • the OK image may be classified into a plurality of classes.
  • the OK images are classified into a plurality of classes, as shown in FIGS. 5A to 5C, they can be classified as complete non-defective products, small scratches, and small dents.
  • FIGS. 9A to 9C schematically show the processing of the second embodiment.
  • a pass / fail judgment program as shown in FIG. 9A is generated in the same manner as in the first embodiment (FIG. 4C), and then a multi-class classifier is generated.
  • the NG image other than the OK image is set as the classification target image, and the learning correct answer data (refer to FIG. 9B) of only the classification target image is obtained.
  • a defect mode limited discriminator is generated by applying the process in the broken line frame in the tree structure filter sequence of the pass / fail judgment program.
  • the learning correct answer data of only the NG image may be obtained by extracting data other than “+1” from the learning correct answer data shown in FIG.
  • the image inspection processing unit 112 when the image inspection processing unit 112 actually classifies the images, in the first stage, the pass / fail judgment of the OK image or the NG image is performed by using the pass / fail judgment discriminator shown in FIG. Then, in the second stage, the image inspection processing unit 112 may further classify the NG image using the failure mode limited discriminator shown in FIG. 9B.
  • FIG. 10 is a flowchart showing the processing of the program generation unit 120 according to the third embodiment.
  • step S23 is executed between step S22 and step S24 of the first embodiment (FIG. 6).
  • the failure mode-inclusive discriminator generation unit 128 After setting the hyperparameters of the pass / fail judgment discriminator including the failure mode in step S22 as in the first embodiment, the failure mode-inclusive discriminator generation unit 128 performs hyperparameter adjustment by neighborhood grid search in step S23. Specifically, the classifier generating unit 128 including the failure mode performs a cross-validation of the multi-class classification on the learning image while performing a grid search near the hyperparameter set in step S22, and the accuracy rate increases. Search for parameters. Then, after setting the hyper parameters obtained as a search result, the failure mode-inclusive discriminator generation unit 128 generates a final failure mode-inclusive pass / fail judgment discriminator in step S24.
  • the hyperparameter optimized for the two-class classification (pass / fail judgment) is further adjusted, so that the generalization property is improved. Classification boundaries can be obtained.
  • FIG. 11 is a flowchart showing a generation change process (S18 in FIG. 6: a process corresponding to steps S102, S104, S106, S108, and S110 in FIG. 3) of the pass / fail determination program in the fourth embodiment.
  • the accuracy of the pass / fail judgment and the accuracy of the multi-class classification are reflected in the fitness by reflecting the judgment accuracy of the multi-class classification (pass / fail judgment including the failure mode). It is decided to pursue learning while balancing both.
  • step S48 the GP learning control unit 121 performs a process of an evolution process on a parent individual randomly selected from a population, and generates a child individual group by the evolution process.
  • step S50 the GP learning control unit 121 selects one child individual from the generated child individual group.
  • step S52 the fitness calculating unit 129 calculates the fitness of the child individual.
  • step S54 the GP learning control unit 121 determines whether or not the fitness is greater than a predetermined threshold. If the determination in step S54 is denied, the process proceeds to step S62. If the determination is affirmed, the process proceeds to step S56.
  • step S56 the GP learning control unit 121 sets the hyperparameter of the selected child individual as it is as the hyperparameter of the pass / fail judgment discriminator including the failure mode in the same manner as in step S22.
  • step S58 the GP learning control unit 121 performs a cross-validation of the pass / fail judgment discriminator including the failure mode.
  • step S60 the GP learning control unit 121 recalculates (corrects) the fitness based on the correct answer rate of the learning image obtained by the cross-validation of the pass / fail judgment discriminator including the failure mode.
  • Various methods can be considered as a method of recalculating the fitness. For example, the following method can be adopted.
  • step S62 it is determined whether or not the child individuals have been completed, that is, whether or not all the child individuals generated in step S48 have been selected. If the determination in step S62 is negative, the process returns to step S50. After returning to step S50, the processing and determination of steps S50 to S62 are repeated, and when the determination of step S62 is affirmed, the process proceeds to step S64.
  • step S64 the GP learning control unit 121 selects the best individual (survival selection) based on the fitness of each individual obtained so far (survival selection) and executes replacement with the individual included in the population. Thereafter, the process proceeds to step S20 in FIG.
  • the fourth embodiment it is possible to improve the accuracy of the pass / fail determination including the failure mode by taking into account the determination accuracy of the pass / fail determination discriminator including the failure mode in the automatic generation process of the pass / fail determination program. it can.
  • the cross-validation of the pass / fail judgment discriminator including the failure mode is performed only when the fitness obtained by the automatic generation of the pass / fail judgment program exceeds a predetermined threshold. Thereby, an increase in the processing amount can be suppressed.
  • the quality of the image may be determined, and if the image is an NG image, an image inspection for classifying the type of defect may be provided as a service.
  • FIG. 12 schematically shows a configuration of the image classification system 200 in a case where the image inspection is provided as a service.
  • the image classification system 200 of FIG. 12 includes the server 10 and the user terminal 70.
  • the server 10 and the user terminal 70 are connected to a network 80 such as the Internet.
  • the user creates a learning image and correct answer data for learning at the user terminal 70 at the time of learning and transmits it to the server 10.
  • the server 10 automatically generates a pass / fail judgment program using the learning image and the correct answer data for learning, and generates a pass / fail judgment discriminator including a failure mode using the automatically generated result.
  • an inspection image is transmitted from the user terminal 70 to the server 10.
  • the server 10 extracts the image feature amount from the inspection image, inputs the feature amount to the pass / fail judgment discriminator including the failure mode, determines whether the image is an OK image or an NG image, and what kind of defect is the NG image. Is determined. Then, the server 10 transmits the determination result to the user terminal 70. That is, the server 10 has at least the same functions as the program generation unit 120 and the image inspection processing unit 112 in FIG.
  • the server 10 performs the process corresponding to the first embodiment.
  • the present invention is not limited thereto, and the server 10 may perform the process corresponding to the second to fourth embodiments. .
  • the inspection image may be determined at the user terminal 70 by transmitting the quality determination program and the quality mode determination identifier including the failure mode generated by the server 10 to the user terminal 70.
  • the above processing functions can be realized by a computer.
  • a program is provided that describes the processing contents of the functions that the processing device should have.
  • the program describing the processing content can be recorded on a computer-readable recording medium (excluding a carrier wave).
  • the program When the program is distributed, it is sold in the form of a portable recording medium such as a DVD (Digital Versatile Disc) or a CD-ROM (Compact Disc Only Only Memory) on which the program is recorded.
  • a portable recording medium such as a DVD (Digital Versatile Disc) or a CD-ROM (Compact Disc Only Only Memory) on which the program is recorded.
  • the program may be stored in a storage device of a server computer, and the program may be transferred from the server computer to another computer via a network.
  • the computer that executes the program stores, for example, the program recorded on the portable recording medium or the program transferred from the server computer in its own storage device. Then, the computer reads the program from its own storage device and executes processing according to the program. The computer can also read the program directly from the portable recording medium and execute processing according to the program. Further, the computer may execute the processing according to the received program each time the program is transferred from the server computer.
  • Image classification device information processing device
  • 112 Image inspection processing unit classification unit
  • 121 GP learning control unit part of the first generation unit
  • Correct answer data creation unit Creation unit
  • 123 Image conversion unit part of the first generation unit
  • 124 Image feature amount extraction unit part of first generation unit
  • Classifier input data creation unit part of first generation unit
  • 126 Classifier parameter setting unit part of first generation unit
  • 129 Fitness calculation unit part of first generation unit

Landscapes

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

Abstract

不良モード込み良否判定識別器を生成する際の処理量を低減するため、プログラム生成部は、2つのクラスに予め分類された学習画像を2つのクラスに分類する画像分類プログラム(良否判定プログラム)を遺伝的プログラミングに基づいて自動生成し、自動生成した良否判定プログラムに対し、3つ以上のクラスに予め分類された学習画像を与え、学習画像を3つ以上のクラスに分類する不良モード込み良否判定識別器を生成する。

Description

情報処理装置、情報処理方法及び情報処理プログラム
 本発明は、情報処理装置、情報処理方法及び情報処理プログラムに関する。
 従来、所望の画像処理を実行する画像処理プログラムを、遺伝的プログラミングによって自動生成する技術がある。この技術は、入力画像と目標となる処理結果(目標画像等)を用いて、画像処理プログラムを遺伝的プログラミングによって最適化していくものである。
 また、画像処理プログラムの自動生成の一つとして、画像のクラス分類(カテゴリー分類)を行う画像分類プログラムの自動生成法が提案されている(例えば、特許文献1等参照)。画像分類プログラムを用いることで、例えば、画像に写った対象物を良品と不良品の2クラスに分類することができる。
国際公開第2017/068675号
 上述したように画像に写った対象物を良品と不良品の2クラスに分類するだけでなく、良品の程度や不良モード(欠陥の種類)別に多クラスに分類することができれば有用である。多クラス分類を実行できる代表的な識別器としては、例えばSVM(Support Vector Machine)識別器などがある。
 しかしながら、2クラスに分類するためのSVM識別器を多クラスに拡張して画像分類プログラムの自動生成を行う場合、SVM分類器作成の処理量がクラス数の二乗のオーダーで増加し、全体の学習時間が非常に大きくなる。
 1つの側面では、本発明は、多クラス画像分類器を生成するときの処理量を低減することが可能な情報処理装置、情報処理方法及び情報処理プログラムを提供することを目的とする。
 一つの態様では、情報処理装置は、要素フィルタを組合せた画像分類プログラムを遺伝的プログラミングに基づいて自動生成する情報処理装置であって、2つのクラスに予め分類された第1学習画像群を前記2つのクラスに分類する画像分類プログラムを遺伝的プログラミングに基づいて自動生成する第1生成部と、前記第1生成部が自動生成した前記画像分類プログラムに対し、3つ以上のクラスに予め分類された第2学習画像群を与え、前記第2学習画像群を前記3つ以上のクラスに分類する多クラス画像分類器を生成する第2生成部と、を備えている。
 多クラス画像分類器を生成するときの処理量を低減することができる。
第1の実施形態に係る画像分類装置のハードウェア構成の一例を示す図である。 遺伝的プログラミングにおいて取り扱う個体の木構造フィルタ列の基本構成の例を示す図である。 遺伝的プログラミングによる画像分類プログラムの生成処理の概要について説明するための図である。 図4(a)~図4(d)は、第1の実施形態の処理の概要について説明するための図である。 図5(a)~図5(c)は、不良モード込み良否判定識別器の生成処理について説明するための図である。 画像分類装置が備える処理機能の構成例を示すブロック図である。 プログラム生成部の処理手順の例を示すフローチャートである。 図8(a)~図8(c)は、図7のフローチャートに沿って生成した不良モード込み良否判定識別器の検証実験結果を示す図である。 図9(a)~図9(c)は、第2の実施形態について説明するための図である。 第3の実施形態について説明するための図である。 第4の実施形態について説明するための図である。 変形例について説明するための図である。
《第1の実施形態》
 以下、情報処理装置としての画像分類装置の第1の実施形態について、図1~図8(c)に基づいて詳細に説明する。第1の実施形態に係る画像分類装置は、要素フィルタを組合せた画像分類プログラムを遺伝的プログラミングに基づいて自動生成する機能と、生成された画像分類プログラムを実行して画像分類処理を実行する機能とを備える。
 図1は、第1の実施形態に係る画像分類装置100のハードウェア構成の一例を示す図である。画像分類装置100は、プロセッサ101と、RAM102と、HDD103と、グラフィック処理装置104と、入力インタフェース105と、読み取り装置106と、通信インタフェース107と、ネットワークインタフェース108と、を備える。画像分類装置100の各部は、バス109に接続されている。
 プロセッサ101は、画像分類装置100全体を制御する。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)等である。また、プロセッサ101は、CPU、MPU、DSP、ASIC、PLDのうちの2以上の要素の組み合わせであってもよい。
 RAM102は、画像分類装置100の主記憶装置として使用される。RAM102には、プロセッサ101に実行させるOS(Operating System)プログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、プロセッサ101による処理に必要な各種データが格納される。
 HDD103は、画像分類装置100の補助記憶装置として使用される。HDD103には、OSプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、SSD(Solid State Drive)などの他の種類の不揮発性記憶装置を使用することもできる。
 グラフィック処理装置104には、表示装置104aが接続されている。グラフィック処理装置104は、プロセッサ101からの命令にしたがって、画像を表示装置104aの画面に表示させる。表示装置としては、液晶ディスプレイや有機EL(ElectroLuminescence)ディスプレイなどがある。
 入力インタフェース105には、入力装置105aが接続されている。入力インタフェース105は、入力装置105aから出力される信号をプロセッサ101に送信する。入力装置105aとしては、キーボードやポインティングデバイスなどがある。ポインティングデバイスとしては、マウス、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
 読み取り装置106には、可搬型記録媒体106aが脱着される。読み取り装置106は、可搬型記録媒体106aに記録されたデータを読み取ってプロセッサ101に送信する。可搬型記録媒体106aとしては、光ディスク、光磁気ディスク、半導体メモリなどがある。
 通信インタフェース107は、接続された外部デバイスとの間でデータの送受信を行う。本第1の実施形態では、通信インタフェース107には、外部デバイスとしてカメラ107aが接続され、通信インタフェース107は、カメラ107aから送信された画像データをプロセッサ101に送信する。
 ネットワークインタフェース108は、ネットワーク108aを介して他の装置との間でデータの送受信を行う。
 画像分類装置100は、入力画像を2クラスのうちの1つに分類するための画像分類プログラムを、遺伝的プログラミングによって自動的に生成する。生成された画像分類プログラムに基づく画像分類処理には、例えば、入力画像に写っている製品や部品が良品か不良品かを判定する処理や、入力画像に顔が写っているか否かを判定する処理などが含まれる。
 画像分類プログラムによって実現される処理には、学習画像を用いた学習によって入力画像を2クラスに分類する識別器(良否判定識別器)を生成する識別器生成処理と、良否判定識別器に入力する特徴情報を学習画像に基づいて生成する前処理とが含まれる。高精度な画像分類を実現する上で、学習画像からどのような特徴量を抽出して用いるかという点と、得られた特徴量に基づいてどのような良否判定識別器を生成するかという点の両方が重要である。画像分類装置100は、遺伝的プログラミングにより、良否判定識別器の生成アルゴリズムと前処理アルゴリズムの最適な組み合わせを探索する。
 また、画像分類装置100は、生成した画像分類プログラムを用いて多クラス良否判定が可能な識別器を生成する。なお、多クラス良否判定が可能な識別器の詳細については後述する。
(遺伝的プログラミングにおいて取り扱う個体について)
 図2は、遺伝的プログラミングにおいて取り扱う個体の木構造フィルタ列の基本構成の例を示す図である。図2に示すように、個体は、各ノードの要素としてプログラムモジュールが設定された木構造によって表される。この木構造では、入力画像に様々な画像変換を加えて特徴抽出画像を生成し、生成した画像から画像特徴量を抽出し、画像特徴量を組み合わせて特徴ベクトルを作成し、SVM識別器によって画像が属するクラス(OK画像とNG画像)を判定するための学習あるいは判定を実行する。なお、OK画像は、良品が写っている画像(良品画像)であり、NG画像は不良品が写っている画像(不良品画像)を意味する。また、個体を表す木構造は、それぞれ1以上の隣接する階層を含む区間(処理)に区分される。本第1の実施形態では、木構造は、そのリーフ側(図2の上側)からルート側(図2の下側)に向かって画像変換処理、画像特徴量抽出処理、入力データ作成処理、SVM識別器生成処理に区分される。なお、SVM識別器生成処理には、SVMパラメータ設定処理、SVM識別器生成処理、適応度算出処理が含まれる。
 ここで、画像変換処理、画像特徴量抽出処理、入力データ作成処理は、識別器に入力するデータを生成するための前処理に対応づけられている。画像変換処理では、画像変換フィルタを用いて、入力画像を特徴抽出に適するように変換する。なお、画像変換フィルタとしては、Smoothフィルタ、Sobelフィルタ、Laplaceフィルタ、Andフィルタ、Subフィルタ、Addフィルタ、Orフィルタ、Erodeフィルタ、Dilateフィルタ、Thresholdフィルタなどを適用可能である。
 画像特徴量抽出処理は、画像変換処理で変換された画像から、特徴抽出フィルタを用いて特徴量を抽出する処理である。特徴抽出フィルタとしては、平均輝度を算出するフィルタ、輝度ヒストグラムを算出するフィルタ、FFT(Fast Fourier Transformation)を実行するフィルタなどを適用可能である。また、領域分割数などの制御パラメータが異なるが同じ種類の特徴を抽出するフィルタを適用することもできる。
 入力データ作成処理は、画像特徴量抽出処理で抽出された特徴量に基づいて、識別器に入力するための入力データ(特徴ベクトル)を生成する処理である。識別器に入力する入力データを生成するための入力データ生成モジュールとしては、例えば、入力数がそれぞれ1,2のプログラムモジュールや、入力データの正規化、入力データの圧縮などを実行するプログラムモジュールを、用いることができる。
 SVMパラメータ設定処理は、例えば、学習パラメータの絶対値を設定する処理と、学習パラメータの相対値を設定する処理を含む。設定された絶対値が、設定された相対値を用いた加減算やスケーリングなどによって増減されることで、識別器の生成のための学習パラメータ(以下、ハイパーパラメータとも呼ぶ)が決定される。
 SVM識別器生成処理は、使用するカーネル関数や動作モードを決定する。カーネル関数としては、例えば、LINEARカーネル、POLYNOMIALカーネル、RBF(Radial Basis Function)カーネル、SIGMOIDカーネルなどを適用可能である。また、動作モードとしては、木構造とSVM識別器の学習を実行するモードや、入力画像の良否判定を実行するモードが決定される。
 適応度算出処理は学習実行モードにおいて、SVM識別器生成処理で生成された識別器情報にしたがって、入力データ作成処理で作成された入力データに基づいて、学習画像の良否を判定する分類処理を実行する。また、適応度算出処理は、分類処理による分類結果と、学習画像に付加されたラベルが示す良否とを比較して、分類結果が正解か不正解かを判定する。そして、適応度算出処理は、交差検定などを用いて判定を複数回実行して学習画像に対する正解率を算出し、算出された正解率に基づいて、個体の適応度を算出する。ここで、適応度とは、目的とする画像認識結果に対して、自動生成した木構造フィルタ列の出力結果がどの程度一致しているかを示す指標である。本第1の実施形態では、適応度算出処理において、各個体の適応度を算出する際に、ペナルティ項も考慮するものとする。ペナルティ項としては、識別器の特徴次元数、木構造のサイズ(木構造に含まれるノード数またはノードの最大階層数)、SVM識別器が用いられる場合のサポートベクトル数などを適用可能である。例えば、一般に、得られるデータと比較して識別器の複雑さが大きくなるほど、過学習が起こりやすくなる。そこで、例えば、特徴次元数が大きいほど、また、木構造のサイズが大きいほど、また、サポートベクトル数が大きいほど、正解率を小さくするように補正して適応度を算出する。なお、特徴次元数は、入力データ作成処理において設定された入力データ生成モジュールに基づいて判別可能である。このように正解率をペナルティ項に応じて補正することで、学習結果の優劣を正確に評価でき、未知の画像に対しても分類精度の高い画像分類プログラムを生成できる。
(画像分類プログラム生成処理の概要)
 次に、図3に基づいて、遺伝的プログラミングによる画像分類プログラムの生成処理の概要について説明する。
 図3は、画像分類プログラムの生成処理手順の概要を示す図である。前提として、画像分類プログラムの生成処理の前に、1つ以上の学習用データ20が用意される。学習用データ20には、入力画像21と、入力画像21の正しい分類結果(本実施形態では分類正解データ22)とが含まれる。入力画像21は、例えば、カメラによって被写体を撮像することによって得られる。
 遺伝的プログラミングによる画像分類プログラムの生成処理では、個体(図3において白丸で表記)は、前述のように1つ以上の画像処理フィルタを組み合わせて構成される。なお、図3の左上において、“F”はノードに組み込まれた画像処理フィルタを示し、“I”は入力端子を示し、“O”は出力端子を示す。また、個体に組み込むことが可能な複数の画像処理フィルタも、あらかじめ用意される。
 遺伝的プログラミングによる画像分類プログラムの生成処理は、例えば、以下のように実行される。
 まず、ステップS100において、母集団11に含められる複数の初期個体が生成される。各初期個体のノードには、あらかじめ用意された複数の画像処理フィルタの中からランダムに選択された画像処理フィルタが組み込まれる。また、生成された各初期個体について、適応度が算出される。なお、算出された適応度の最大値が所定の閾値以上である場合には、適応度が最大の初期個体が最終的な画像分類プログラムとして出力される。
 適応度の最大値が所定の閾値未満である場合、ステップS102において、母集団11の中から、一定数(図3では、例えば2つ)の親個体がランダムに選択される。次いで、ステップS104では、選択された一定数(2つ)の親個体に対して進化過程の処理が施されることで、2以上の一定数の子個体が生成される。進化過程では、2つの親個体に対して交叉処理および突然変異処理が行われる。2つの親個体に対して、それぞれ異なる交叉処理や突然変異処理が行われることで、3つ以上の子個体が生成されてもよい。すなわち、生成される子個体の数は、母集団11から選択される親個体の数以上となる。
 次いで、ステップS106では、生成された各子個体について、適応度が算出される。
 ここで、生成された子個体のいずれかの適応度が所定の閾値以上であった場合には、その個体が最終的な画像分類プログラムとして出力され、プログラム生成処理が終了する。
 一方、これらすべての子個体の適応度が所定の閾値未満であった場合には、ステップS108において、生成された各子個体および元の2つの親個体を含む個体群12の中から、生存選択が行われる。この生存選択では、個体群12の中から、算出された適応度が最大の個体が選択される。また、個体群12内の残りの個体の中から、所定の方法で個体が1つ選択される。例えば、残りの個体の中から、適応度に応じた確率で個体が選択される(ルーレット選択)。
 このような生存選択によって選択された2つの個体は、ステップS110において、母集団11に含まれる個体のうち、親個体として選択された2つの個体と入れ替えられる。これにより、母集団11に含まれる個体が次世代の個体へ変更される。そして、適応度が所定の閾値以上となる個体が出現するまで、同様の処理が繰り返される。
 以上のような手順によって生成される画像分類プログラムの用途としては、例えば、FA(Factory Automation)分野において、製品を撮像した画像に画像処理を施して所望の効果を得るという用途が考えられる。例えば、製品の外観を撮像した画像に画像処理を施して、欠陥が生じた箇所を抽出する、位置合わせを行う箇所を抽出するといった用途が考えられる。
 このような用途では、被写体となる製品の変更や改良、それに伴う撮像環境の変化などに応じて、画像分類プログラムの再構築の必要が生じる場合がある。このため、画像分類プログラムの構築の容易性が求められている。また、照明条件の変化や被写体の形状、位置姿勢のバラツキなどの撮像環境の変化に対するロバスト性が高い画像分類プログラムを構築することが求められている。
 遺伝的プログラミングを利用することで、入力画像21とこれに対応する分類正解データ22とをあらかじめ用意しておくだけで、このような用途で使用可能な画像分類プログラムを容易に生成することができる。また、それぞれ撮像環境が異なる入力画像21と分類正解データ22とのペア(学習用データ20)を複数用意しておくことで、撮像環境の変化に対するロバスト性が高い画像分類プログラムを自動生成することもできる。
(処理の概要)
 次に、本第1の実施形態における処理の概要について説明する。本第1の実施形態では、図3に示した画像分類プログラム生成処理で生成された良否判定(OK画像/NG画像の判定)が可能な画像分類プログラムを用いて、多クラス良否判定が可能なSVM識別器を生成する。多クラス良否判定とは、画像が、OK画像のクラスと、NG画像を更に不良モード別に分類した複数クラスのいずれに属するかを判定することを意味する。以下においては、多クラス良否判定が可能なSVM識別器を「不良モード込み良否判定識別器」と呼ぶものとする。不良モード込み良否判定識別器によれば、OK画像(良品)とNG画像(不良品)のいずれかである対象画像が良品であるのか不良品であるのか、および、不良品であればどの欠陥種類の不良品であるのかを同時に判定することができる。
(1)学習用正解データの入力
 画像ファイルごとに正解クラスを記載した学習用正解データを入力する。このとき、例えば図4(a)に示すように、OK画像については正の整数、NG画像については負の整数を割り当てることとする。なお、NG画像の数値の違いは、不良モードの違いを意味する。図4(a)に示すような学習用正解データを入力することで、図4(b)に示すような良否判定自動生成用の正解データ(良品が「+1」で、不良品が「-1」)に自動的に変換することができる。
(2)良否判定プログラムの自動生成
 良否判定自動生成用の正解データを用いて、画像分類プログラムの自動生成を図3を用いて説明したように実行する。なお、以下においては、良否判定自動生成用の正解データを用いて生成される画像分類プログラムを「良否判定プログラム」と呼ぶ。上記自動生成の結果、良/否の判定精度を最適化した木構造フィルタ列が生成される(図4(c)参照)。木構造フィルタ列の最終段には、学習画像から生成した良否判定識別器が組み合わされる。この木構造フィルタ列は、画像変換処理、画像特徴量抽出処理、識別器生成ハイパーパラメータをトータルで最適化した結果となっており、汎化性の高い良否判定プログラムが得られている。
(3)不良モード込み良否判定識別器の生成
 良否の判定に最適化された画像変換処理と画像特徴量抽出処理は、必ずしもNG画像の種類を分類する精度において最適化されているとは限らないが、非常に有効な画像特徴量を抽出していることが予想される。また、識別器のハイパーパラメータについても、同じ画像特徴量で良否の2クラスを識別する識別器の作成において最適化されているため、多クラスの分類器作成においてもかなり有効なパラメータとなっていることが期待できる。
 その予測に従い、良否判定プログラムの自動生成結果(図4(c)の木構造フィルタ列の破線枠内)に対して不良モード込みの多クラスの学習用正解データ(図4(a))をそのまま適用することにより、多クラス画像分類器(不良モード込み良否判定識別器)の生成を実施する。これにより、画像変換処理、画像特徴量抽出処理、識別器ハイパーパラメータ設定を良否判定プログラムと共通化した不良モード込み良否判定識別器(図4(d))を得ることができる。
 ここで、不良モード込み良否判定識別器の生成処理について、図5(a)~図5(c)に基づいてより詳細に説明する。図5(a)には、学習初期に設定されている画像特徴の特徴空間に学習画像を配置した状態が模式的に示されている。図5(a)において、学習用の良品データが白塗りの図形で表され、不良品データが黒塗り図形で示されている。不良の種類(不良モード)には、キズ、打痕、サビの3種類があるものとする。また、良品データには、正常範囲内に含まれる小さいキズや小さい打痕があるものも含まれる。
 図5(a)に示すような学習初期においては、ランダムに画像特徴X1、X2が選ばれているため、学習用データの良否を正しく識別できる境界を得ることはできない。これに対し、遺伝的プログラミングにより学習が進んで適応度が十分に上昇してくると、図5(b)に示すように、学習用データを全て正しく良否判定できるようになる。このとき、画像変換および画像特徴量抽出処理が最適化され、画像特徴量としてはX3、X4が選択されているものとする。また、識別器のハイパーパラメータにより、良否の識別境界が図5(b)において点線で示すように正しく求められている。なお、図5(b)においては、不良の種類(不良モード)によってそれぞれの学習用データが特徴空間内でクラスタを構成していることもわかる。
 上述したとおりに得られた図5(b)の特徴量データについて、図4(a)に示すような学習用正解データを適用することで、良品、不良品(キズ)、不良品(打痕)、不良品(サビ)の4クラスに分類する不良モード込み良否判定識別器を生成する。その結果、図5(c)において破線で示すような分類境界を得ることができる。
(4)不良モード分類処理
 画像分類実行時には、入力画像に対して良否判定プログラムを適用して画像特徴量を抽出し、その特徴量を不良モード込み良否判定識別器に与えて多クラス分類(欠陥分類)を実行する。なお、良否判定プログラムとその良否判定識別器を使用して、良/不良の判定を並行して行っても構わない。
(画像分類装置100の処理機能について)
 図6は、画像分類装置100が備える処理機能の構成例を示すブロック図である。画像分類装置100は、画像入力部111、正解データ入力部110、分類部としての画像検査処理部112、プログラム生成部120、記憶部150、を有する。
 画像入力部111、正解データ入力部110、画像検査処理部112、及びプログラム生成部120の処理は、例えば、画像分類装置100のプロセッサ101が所定のプログラム(情報処理プログラムを含む)を実行することで実現される。記憶部150は、例えば、画像分類装置100のRAM102の記憶領域として実現される。
 画像入力部111は、カメラ107aが撮像した画像のデータを取得し、プログラム生成部120又は画像検査処理部112に出力する。プログラム生成部120は、遺伝的プログラミングにより良否判定用の画像分類プログラム(良否判定プログラム)を生成し、生成された良否判定プログラムに対応するデータ(最良個体のデータ)を記憶部150に保存する。また、プログラム生成部120は、良否判定プログラムを用いて不良モード込み良否判定識別器を生成し、記憶部150に保存する。なお、プログラム生成部120の内部構成については後述する。
 正解データ入力部110は、画像入力部111がカメラ107aから取得した学習画像に対してラベル(+1,-1,-2など)を付加したデータ(図4(a)の学習用正解データ)の入力が例えば入力装置105aからあった場合に、学習用正解データを取得する。そして、正解データ入力部110は、取得した学習用正解データをプログラム生成部120に出力する。
 画像検査処理部112は、カメラ107aが撮像した画像のデータを、画像入力部111を介して取得する。また、画像検査処理部112は、記憶部150に記憶されている良否判定プログラムのデータ(最良個体のデータ)と不良モード込み良否判定識別器を読み出し、取得した画像の多クラス分類(欠陥分類)を実行する。画像検査処理部112は、判定結果を、例えば表示装置104aに表示する。
 記憶部150は、プログラム生成部120で生成された良否判定プログラムのデータ(最良個体のデータ)、不良モード込み良否判定識別器を記憶する。学習画像としては、画像入力部111がカメラ107aから取得した画像を用いることができる。
 ここで、プログラム生成部120の詳細についてさらに説明する。プログラム生成部120は、GP(Genetic Programming)学習制御部121、作成部としての正解データ作成部122、画像変換部123、画像特徴量抽出部124、識別器入力データ作成部125、識別器パラメータ設定部126、良否判定識別器生成部127、適応度算出部129、第2生成部としての不良モード込み識別器生成部128、を有する。
 GP学習制御部121は、遺伝的プログラミングによるプログラム生成処理全体の実行を制御する。例えば、GP学習制御部121は、初期個体の生成、個体の進化処理などの処理を実行する。
 正解データ作成部122は、図4(a)に示すような不良モードの違いを含む学習用正解データから、図4(b)に示すようなOK画像(+1)とNG画像(-1)とに分類した良否判定自動生成用の正解データを作成する。この場合、正解データ作成部122は、図4(a)の各値のうち負の整数を「-1」に変換する。図4(b)の学習用正解データは、GP学習制御部121等において遺伝的プログラミングによるプログラム生成処理に利用される。
 画像変換部123は、個体の木構造における画像変換処理のノードに設定された画像変換フィルタにしたがって、入力画像に対する画像変換処理を実行する。
 画像特徴量抽出部124は、個体の木構造における画像特徴量抽出処理のノードに設定された特徴抽出フィルタにしたがって、画像変換後の入力画像からの特徴量抽出処理を実行する。
 識別器入力データ作成部125は、個体の木構造における入力データ作成処理のノードに設定されたプログラムモジュールにしたがって、識別器に入力する入力データを画像の特徴量に基づいて生成する。
 識別器パラメータ設定部126は、個体の木構造におけるSVMパラメータ設定処理のノードに設定された絶対値と相対値にしたがって、識別器の学習パラメータ(ハイパーパラメータ)を設定する処理を実行する。
 良否判定識別器生成部127は、個体の木構造におけるSVM識別器生成処理のノードに設定されたカーネル関数や動作モードにしたがって、識別器パラメータ設定部126によって設定された学習パラメータを用いて、学習により良否判定識別器を生成する処理を実行する。
 適応度算出部129は、各個体を用いて学習画像のクラスを判定した結果が、学習画像に付加されたラベルと一致するか否かにより正解か不正解かを判定し、その正解率に基づいて、各個体の適応度を算出する。
 不良モード込み識別器生成部128は、GP学習制御部121等により生成された木構造フィルタ列の図4(c)で示す破線枠内の各処理に対して、図4(a)に示す学習用正解データをそのまま適用することにより、不良モード込み良否判定識別器を生成する。
(プログラム生成部120の処理について)
 次に、プログラム生成部120の処理について、図7のフローチャートに沿って説明する。
 図7の処理の前提として、カメラ107aで撮影された学習画像が画像入力部111に入力されているものとする。また、入力装置105aから正解データ入力部110に入力された学習用正解データ(図4(a))が、記憶部150に格納されているものとする。
 図7においては、まずステップS10において、GP学習制御部121が、画像入力部111から学習画像を取得する。
 次いで、ステップS12では、正解データ作成部122が、記憶部150から学習用正解データ(図4(a))を取得する。
 次いで、ステップS14では、正解データ作成部122が、取得した学習用正解データ(図4(a))から良否判定自動生成用の正解データ(図4(b))を作成する。
 次いで、ステップS16では、GP学習制御部121が、複数の初期個体を生成し、生成した初期個体を示す情報を記憶部150に格納する。以下、記憶部150に格納される個体のことを「個体群」と呼ぶ。
 初期個体の生成手順としては、基本的に、個体の木構造の各階層の処理にノードが設定され、各ノードの要素が、ノードが属する処理に対応するプログラムモジュールの中から選択されて設定される。
 次いで、ステップS18では、GP学習制御部121の制御の下、画像変換部123、画像特徴量抽出部124、識別器入力データ作成部125、識別器パラメータ設定部126、良否判定識別器生成部127、及び適応度算出部129が、良否判定プログラムの世代交代処理を実行する。このステップS18では、図3を用いて説明したステップS102、S104、S106、S108、S110の処理が実行されることになる。
 次いで、ステップS20では、GP学習制御部121は、学習終了か否かを判断する。このステップS20では、ステップS18の処理において生成された子個体のいずれかの適応度が所定の閾値以上であった場合に学習終了と判断される。ステップS20の判断が否定されている間は、ステップS18の処理を繰り返し実行し、ステップS20の判断が肯定された場合には、ステップS22に移行する。
 ステップS22に移行すると、不良モード込み識別器生成部128は、不良モード込み良否判定識別器のハイパーパラメータを設定する。この場合、良否判定プログラム生成の際に設定した良否判定識別器のハイパーパラメータをそのまま設定する。
 次いで、ステップS24では、不良モード込み識別器生成部128が、ステップS18の繰り返しにより生成された良否判定プログラムに対して、学習用正解データ(図4(a))をそのまま適用することで、不良モード込み良否判定識別器を生成する。
 以上により、図7の全処理が終了する。本第1の実施形態では、図7の処理を実行することで、良否判定プログラムの自動生成処理に対してほとんど処理を追加することなく、不良モード込み良否判定識別器を生成することができる。
(実施例)
 図8(a)~図8(c)には、図7のフローチャートに沿って生成した不良モード込み良否判定識別器の検証実験結果が示されている。本検証実験においては、図8(a)に示すように、OK画像の他、NG画像の不良モードを異物、打痕、サビの3種類とし、学習画像として合計80枚、評価用画像として合計100枚を用意した。なお、各画像の枚数の内訳は図8(a)に示す通りである。
 図8(a)に示す学習画像を用いて良否判定プログラムの自動生成を行った結果の概要が図8(b)に示されている。本例では、画像変換および画像特徴量抽出処理の最適化の結果、40次元の画像特徴量が選択された。また、識別器のハイパーパラメータとして、3次多項式カーネルでCost=18.0、γ=3.0の最適パラメータ値が得られた。この良否判定プログラムを使用して、評価用画像100枚に対して良否判定を実行した結果、図8(b)においてハッチングを付して示す部分が正解となり、正解率97%(誤判定3枚)の良否判定精度を得ることができた。
 また、自動生成した良否判定プログラムを用いて、OK画像、NG画像(異物、打痕、サビ)の合計4クラスの学習用正解データを与えることにより、不良モード込み良否判定識別器を生成した。そして、評価用画像100枚について多クラス分類を実施したところ、図8(c)においてハッチングを付して示す部分が正解となった。
 図8(c)からは、OK画像および3種類の不良モードのトータルの分類正解率は95%(=95/100×100)であり、十分に高い精度で4つのクラスに分類することができたことがわかる。また、NG画像の3つの不良モードに絞った分類精度は、異物をサビとして誤分類した2枚を除いて正解しており、正解率は96%(48/50×100)で、NG画像に限定した分類精度も十分高い結果を得ることができた。
 なお、良否判定の評価で過剰検出となっていたOK画像3枚については、不良モード込み良否判定でも引き続き分類誤り(OK画像を打痕あるいはサビと判定)となっている。これは、良否判定プログラムの画像変換処理や画像特徴量抽出処理を共通に用いていることによるものと推定される。
 これまでの説明からわかるように、本実施形態では、GP学習制御部121、画像変換部123、画像特徴量抽出部124、識別器入力データ作成部125、識別器パラメータ設定部126、良否判定識別器生成部127、適応度算出部129を含んで、良否判定自動生成用の正解データに基づいて良否判定プログラムを遺伝的プログラミングに基づいて自動生成する第1生成部としての機能が実現されている。
 以上、詳細に説明したように、本実施形態によると、プログラム生成部120は、2つのクラスに予め分類された学習画像を2つのクラスに分類する画像分類プログラム(良否判定プログラム)を遺伝的プログラミングに基づいて自動生成する。そして、プログラム生成部120(不良モード込み識別器生成部128)は、自動生成した良否判定プログラムに対し、3つ以上のクラスに予め分類された学習画像を与え、学習画像を3つ以上のクラスに分類する不良モード込み良否判定識別器を生成する。これにより、良否判定プログラムの自動生成処理に対してほとんど処理を追加することなく、不良モード込み良否判定識別器を生成することができる。したがって、不良モード込み識別器生成部を学習により自動生成する場合と比べ、処理量の低減及び処理時間の短縮を図ることができる。
 また、本第1の実施形態では、自動生成された良否判定プログラムを用いるため、良否判定の精度を維持したうえで、不良モード込み良否判定識別器を生成することができる。
 また、本第1の実施形態では、画像分類装置100が、プログラム生成部120において生成された不良モード込み良否判定識別器を用いて検査画像の良否を判定する画像検査処理部112を備えている。これにより、画像分類装置100に検査画像を入力することで、検査画像を精度よく多クラスに分類し、不良モードを認識することができる。
 また、本第1の実施形態では、正解データ作成部122は、学習用正解データ(図4(a))に基づいて良否判定自動生成用の正解データ(図4(b))を生成する。これにより、不良モード込み良否判定識別器の生成に用いる学習用正解データをあらかじめ作成しておくだけで、良否判定プログラムを自動生成することができる。
 なお、上記第1の実施形態では、図7の処理において、ステップS20の判断が肯定された場合に、それまでの処理で生成された良否判定プログラムを用いて不良モード込み良否判定識別器を生成する場合について説明した。しかしながら、これに限られるものではなく、例えば、ステップS18の処理を繰り返している間に、最良個体の適応度が上昇するごとに、最良個体を用いてその世代の不良モード込み良否判定識別器を生成するようにしてもよい。
 なお、上記第1の実施形態では、NG画像を複数クラスに分類する場合について説明したが、これに限られるものではない。すなわち、NG画像を複数クラスに分類するのに代えて又はこれとともに、OK画像を複数クラスに分類することとしてもよい。OK画像を複数クラスに分類する場合、図5(a)~図5(c)に示したように、完全な良品、小さなキズ、小さな打痕のように分類することができる。
《第2の実施形態》
 次に、第2の実施形態について、図9(a)~図9(c)に基づいて説明する。図9(a)~図9(c)には、第2の実施形態の処理が模式的に示されている。
 本第2の実施形態では、第1の実施形態(図4(c))と同様にして図9(a)に示すような良否判定プログラムを生成した後、多クラスの識別器を生成する。この多クラスの識別器を生成する際に、OK画像以外のNG画像を分類対象画像として、当該分類対象画像のみの学習用正解データ(図9(b)参照)を、図9(a)の良否判定プログラムの木構造フィルタ列のうち破線枠内の処理に適用することで、不良モード限定識別器を生成する。なお、NG画像のみの学習用正解データは、図4(a)に示す学習用正解データから「+1」のデータ以外を抽出するようにすればよい。
 このようにNG画像の学習用正解データだけを学習対象とすることで、画像の特徴によっては不良モードの判定精度を向上させることが可能となる。
 この場合、画像検査処理部112が実際に画像を分類する際には、第1段階において、図9(a)に示す良否判定識別器を用いてOK画像かNG画像かの良否判定を行う。そして、画像検査処理部112は、第2段階において、図9(b)に示す不良モード限定識別器を用いてNG画像を更に分類するようにすればよい。
《第3の実施形態》
 次に、第3の実施形態について、図10に基づいて説明する。
 図10は、第3の実施形態におけるプログラム生成部120の処理を示すフローチャートである。本第3の実施形態では、第1の実施形態(図6)のステップS22とステップS24の間にステップS23を実行する。
 不良モード込み識別器生成部128は、ステップS22において、第1の実施形態と同様に不良モード込み良否判定識別器のハイパーパラメータを設定した後、ステップS23において、近傍グリッドサーチによるハイパーパラメータ調整を行う。具体的には、不良モード込み識別器生成部128は、ステップS22で設定したハイパーパラメータの近傍をグリッドサーチしながら、学習画像に対して多クラス分類の交差検定を実施し、正解率が上昇するパラメータを探索する。そして、不良モード込み識別器生成部128は、探索結果として得られたハイパーパラメータを設定した上で、ステップS24において、最終的な不良モード込み良否判定識別器を生成する。
 このようにすることで、不良モード込み良否判定識別器を生成する際に、2クラス分類(良否判定)のために最適化されたハイパーパラメータをさらに調節することで、汎化性のより高い多クラス分類境界を得ることができる。
《第4の実施形態》
 次に、第4の実施形態について、図11に基づいて説明する。
 図11は、第4の実施形態における良否判定プログラムの世代交代処理(図6のS18:図3のステップS102,S104、S106、S108、S110に対応する処理)を示すフローチャートである。本第4の実施形態では、良否判定プログラムの自動生成過程において、多クラス分類(不良モード込みの良否判定)の判定精度を適応度に反映させることにより、良否判定の精度と多クラス分類の精度を両立させながら学習を進めることとしている。
 以下、図11の処理について、詳細に説明する。
 図11の処理において、まずステップS48では、GP学習制御部121が、母集団からランダムに選択した親個体に進化過程の処理を施し、進化過程により子個体群を生成する。
 次いで、ステップS50では、GP学習制御部121が、生成された子個体群の中から1つの子個体を選択する。次いで、ステップS52では、適応度算出部129が子個体の適応度を算出する。次いで、ステップS54では、GP学習制御部121が、適応度が予め定められている閾値よりも大きいか否かを判断する。このステップS54の判断が否定された場合にはステップS62に移行するが、肯定された場合には、ステップS56に移行する。
 ステップS56に移行すると、GP学習制御部121は、ステップS22と同様にして、選択している子個体のハイパーパラメータをそのまま不良モード込み良否判定識別器のハイパーパラメータとして設定する。
 次いで、ステップS58では、GP学習制御部121は、不良モード込み良否判定識別器の交差検定を実行する。そして、ステップS60では、GP学習制御部121は、不良モード込み良否判定識別器の交差検定で求められた学習画像の正解率に基づいて適応度を再計算(補正)する。適応度の再計算の方法としては種々の方法が考えられるが、例えば以下の方法を採用することができる。
(再計算方法(その1))
 次式(1)のように、良否判定の交差検定の正解率aと不良モード込み良否判定識別器の交差検定の正解率bとの平均を適応度とする。
 適応度=(a+b)/2   …(1)
(再計算方法(その2))
 重み係数k(0≦k≦1)を用いて次式(2)のように一般化し、正解率a,bのバランスを調整する。
 適応度=k×a+(1-k)×b   …(2)
(再計算方法(その3))
 正解率以外に、汎化性を高めるためのペナルティ項を加えて、次式(3)のように適応度を計算する。
 適応度=k×a+(1-k)×b-汎化性ペナルティ項   …(3)
 次いで、ステップS62に移行すると、子個体が終了か否か、すなわちステップS48で生成された子個体を全て選択したか否かを判断する。このステップS62の判断が否定された場合には、ステップS50に戻る。ステップS50に戻った後は、ステップS50~S62の処理・判断を繰り返し、ステップS62の判断が肯定された段階で、ステップS64に移行する。ステップS64に移行すると、GP学習制御部121は、これまでに求められた各個体の適応度に基づいて最良個体を選択し(生存選択)、母集団に含まれる個体との入れ替えを実行する。その後は、図6のステップS20に移行する。
 以上のように、本第4の実施形態によると、良否判定プログラムの自動生成過程において不良モード込み良否判定識別器の判定精度を考慮することで、不良モード込み良否判定の精度を向上することができる。
 また、本第4の実施形態では、良否判定プログラム自動生成で得られた適応度が所定の閾値を超えたときにのみ、不良モード込み良否判定識別器の交差検定を行うこととしている。これにより、処理量の増加を抑制することができる。
(変形例)
 なお、上記各実施形態では、画像の良否を判定するとともに、NG画像である場合に欠陥の種類を分類する画像検査を、サービスとして提供することとしてもよい。図12には、画像検査をサービスとして提供する場合の画像分類システム200の構成が概略的に示されている。
 図12の画像分類システム200は、サーバ10と、利用者端末70と、を備える。サーバ10と利用者端末70は、インターネットなどのネットワーク80に接続されている。
 利用者は、利用者端末70においては、学習時に学習画像と学習用正解データを作成し、サーバ10に送信する。サーバ10では、第1実施形態と同様、学習画像と学習用正解データを用いて良否判定プログラムを自動生成するとともに、自動生成結果を利用して不良モード込み良否判定識別器を生成する。
 画像検査の際には、利用者端末70から検査画像をサーバ10に対して送信する。サーバ10では、検査画像から画像特徴量を抽出し、その特徴量を不良モード込み良否判定識別器に入力してOK画像かNG画像かの判定及びNG画像であればどのような欠陥であるかの判定を行う。そして、サーバ10は、利用者端末70に対して判定結果を送信する。すなわち、サーバ10は、少なくとも図6のプログラム生成部120及び画像検査処理部112と同様の機能を有している。
 なお、上記説明では、サーバ10が第1実施形態に対応する処理を行う例について説明したが、これに限らず、サーバ10は、第2~第4実施形態に対応する処理を行ってもよい。
 また、サーバ10が生成した良否判定プログラムや不良モード込み良否判定識別器を利用者端末70に送信しておくことで、利用者端末70において検査画像の判定を行うようにしてもよい。
 なお、上記の処理機能は、コンピュータによって実現することができる。その場合、処理装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体(ただし、搬送波は除く)に記録しておくことができる。
 プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD(Digital Versatile Disc)、CD-ROM(Compact Disc Read Only Memory)などの可搬型記録媒体の形態で販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
 プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
 上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
  100 画像分類装置(情報処理装置)
  112 画像検査処理部(分類部)
  121 GP学習制御部(第1生成部の一部)
  122 正解データ作成部(作成部)
  123 画像変換部(第1生成部の一部)
  124 画像特徴量抽出部(第1生成部の一部)
  125 識別器入力データ作成部(第1生成部の一部)
  126 識別器パラメータ設定部(第1生成部の一部)
  127 良否判定識別器生成部(第1生成部の一部)
  128 不良モード込み識別器生成部(第2生成部)
  129 適応度算出部(第1生成部の一部)

Claims (19)

  1.  要素フィルタを組合せた画像分類プログラムを遺伝的プログラミングに基づいて自動生成する情報処理装置であって、
     2つのクラスに予め分類された第1学習画像群を前記2つのクラスに分類する画像分類プログラムを遺伝的プログラミングに基づいて自動生成する第1生成部と、
     前記第1生成部が自動生成した前記画像分類プログラムに対し、3つ以上のクラスに予め分類された第2学習画像群を与え、前記第2学習画像群を前記3つ以上のクラスに分類する多クラス画像分類器を生成する第2生成部と、を備える情報処理装置。
  2.  前記第2生成部が生成した前記多クラス画像分類器を用いて、画像を前記3つ以上のクラスに分類する分類部を更に備える請求項1に記載の情報処理装置。
  3.  前記第1学習画像群に含まれる画像と、前記第2学習画像群に含まれる画像は同一であり、前記3つ以上のクラスに予め分類された前記第2学習画像群を2つのクラスに分類しなおすことで前記第1学習画像群を作成する作成部を更に備える請求項1又は2に記載の情報処理装置。
  4.  前記第1生成部は、画像を良品画像と不良品画像に分類する画像分類プログラムを自動生成し、
     前記第2生成部は、前記良品画像及び前記不良品画像の少なくとも一方を細分化した複数クラスに分類する多クラス画像分類器を生成する、
    ことを特徴とする請求項1~3のいずれか一項に記載の情報処理装置。
  5.  前記第2生成部は、前記不良品画像を不良の内容ごとに複数クラスに分類する多クラス画像分類器を生成する、ことを特徴とする請求項4に記載の情報処理装置。
  6.  前記第2生成部は、前記第1生成部が生成した前記画像分類プログラムに含まれる、画像変換処理、画像特徴量抽出処理、識別器作成用ハイパーパラメータ設定処理を実行する木構造フィルタ列を利用して、前記多クラス画像分類器を生成する、ことを特徴とする請求項1~5のいずれか一項に記載の情報処理装置。
  7.  前記第1生成部は、画像を良品画像と不良品画像に分類する画像分類プログラムを自動生成し、
     前記第2生成部は、前記第1学習画像群に含まれる前記良品画像及び前記不良品画像のいずれか一方である分類対象画像を前記第2学習画像群として、前記第2学習画像群を細分化した複数クラスに分類する多クラス画像分類器を生成し、
     前記分類部は、前記画像分類プログラムを用いて前記分類対象画像に分類された画像を、前記多クラス画像分類器を用いて分類する、ことを特徴とする請求項2に記載の情報処理装置。
  8.  前記第2生成部は、前記第1生成部が生成した前記画像分類プログラムにおいて設定された識別器作成用ハイパーパラメータを基準とした所定幅内において、前記識別器作成用ハイパーパラメータを変更しつつ、前記3つ以上のクラスに分類するのに適した前記識別器作成用ハイパーパラメータを特定し、特定した前記識別器作成用ハイパーパラメータを用いて前記多クラス画像分類器を生成する、ことを特徴とする請求項6に記載の情報処理装置。
  9.  前記第1生成部は、前記画像分類プログラムの自動生成において前記第1学習画像群を用いて算出された適応度が所定値より大きい場合に、該適応度に対応する画像分類プログラムを用いて生成される多クラス画像分類器の判定精度に基づいて前記適応度を補正する、ことを特徴とする請求項1~8のいずれか一項に記載の情報処理装置。
  10.  要素フィルタを組合せた画像分類プログラムを遺伝的プログラミングに基づいて自動生成する情報処理方法であって、
     2つのクラスに予め分類された第1学習画像群を前記2つのクラスに分類する画像分類プログラムを遺伝的プログラミングに基づいて自動生成し、
     自動生成した前記画像分類プログラムに対し、3つ以上のクラスに予め分類された第2学習画像群を与え、前記第2学習画像群を前記3つ以上のクラスに分類する多クラス画像分類器を生成する、
    処理をコンピュータが実行することを特徴とする情報処理方法。
  11.  生成した前記多クラス画像分類器を用いて、画像を前記3つ以上のクラスに分類する、処理をコンピュータが更に実行することを特徴とする請求項10に記載の情報処理方法。
  12.  前記第1学習画像群に含まれる画像と、前記第2学習画像群に含まれる画像は同一であり、前記3つ以上のクラスに予め分類された前記第2学習画像群を2つのクラスに分類しなおすことで前記第1学習画像群を作成する、処理をコンピュータが更に実行することを特徴とする請求項10又は11に記載の情報処理方法。
  13.  前記画像分類プログラムを自動生成する処理では、画像を良品画像と不良品画像に分類する画像分類プログラムを自動生成し、
     前記多クラス画像分類器を生成する処理では、前記良品画像及び前記不良品画像の少なくとも一方を細分化した複数クラスに分類する多クラス画像分類器を生成する、
    ことを特徴とする請求項10~12のいずれか一項に記載の情報処理方法。
  14.  前記多クラス画像分類器を生成する処理では、前記不良品画像を不良の内容ごとに複数クラスに分類する多クラス画像分類器を生成する、ことを特徴とする請求項13に記載の情報処理方法。
  15.  前記多クラス画像分類器を生成する処理では、自動生成された前記画像分類プログラムに含まれる、画像変換処理、画像特徴量抽出処理、識別器作成用ハイパーパラメータ設定処理を実行する木構造フィルタ列を利用して、前記多クラス画像分類器を生成する、ことを特徴とする請求項10~14のいずれか一項に記載の情報処理方法。
  16.  前記画像分類プログラムを自動生成する処理では、画像を良品画像と不良品画像に分類する画像分類プログラムを自動生成し、
     前記多クラス画像分類器を生成する処理では、前記第1学習画像群に含まれる前記良品画像及び前記不良品画像のいずれか一方である分類対象画像を前記第2学習画像群として、前記第2学習画像群を細分化した複数クラスに分類する多クラス画像分類器を生成し、
     前記分類する処理では、前記画像分類プログラムを用いて前記分類対象画像に分類された画像を、前記多クラス画像分類器を用いて分類する、ことを特徴とする請求項11に記載の情報処理方法。
  17.  前記多クラス画像分類器を生成する処理では、自動生成された前記画像分類プログラムにおいて設定された識別器作成用ハイパーパラメータを基準とした所定幅内において、前記識別器作成用ハイパーパラメータを変更しつつ、前記3つ以上のクラスに分類するのに適した前記識別器作成用ハイパーパラメータを特定し、特定した前記識別器作成用ハイパーパラメータを用いて前記多クラス画像分類器を生成する、ことを特徴とする請求項15に記載の情報処理方法。
  18.  前記画像分類プログラムを自動生成する処理では、前記画像分類プログラムの自動生成において前記第1学習画像群を用いて算出された適応度が所定値より大きい場合に、該適応度に対応する画像分類プログラムを用いて生成される多クラス画像分類器の判定精度に基づいて前記適応度を補正する、ことを特徴とする請求項10~17のいずれか一項に記載の情報処理方法。
  19.  要素フィルタを組合せた画像分類プログラムを遺伝的プログラミングに基づいて自動生成する情報処理プログラムであって、
     2つのクラスに予め分類された第1学習画像群を前記2つのクラスに分類する画像分類プログラムを遺伝的プログラミングに基づいて自動生成し、
     自動生成した前記画像分類プログラムに対し、3つ以上のクラスに予め分類された第2学習画像群を与え、前記第2学習画像群を前記3つ以上のクラスに分類する多クラス画像分類器を生成する、
    処理をコンピュータに実行させるための情報処理プログラム。
     
PCT/JP2018/025849 2018-07-09 2018-07-09 情報処理装置、情報処理方法及び情報処理プログラム WO2020012523A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
EP18926217.3A EP3822872A4 (en) 2018-07-09 2018-07-09 INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD AND INFORMATION PROCESSING PROGRAM
CN201880095424.7A CN112384892A (zh) 2018-07-09 2018-07-09 信息处理装置、信息处理方法以及信息处理程序
JP2020529849A JP7028322B2 (ja) 2018-07-09 2018-07-09 情報処理装置、情報処理方法及び情報処理プログラム
PCT/JP2018/025849 WO2020012523A1 (ja) 2018-07-09 2018-07-09 情報処理装置、情報処理方法及び情報処理プログラム
US17/129,985 US20210110215A1 (en) 2018-07-09 2020-12-22 Information processing device, information processing method, and computer-readable recording medium recording information processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/025849 WO2020012523A1 (ja) 2018-07-09 2018-07-09 情報処理装置、情報処理方法及び情報処理プログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/129,985 Continuation US20210110215A1 (en) 2018-07-09 2020-12-22 Information processing device, information processing method, and computer-readable recording medium recording information processing program

Publications (1)

Publication Number Publication Date
WO2020012523A1 true WO2020012523A1 (ja) 2020-01-16

Family

ID=69141664

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/025849 WO2020012523A1 (ja) 2018-07-09 2018-07-09 情報処理装置、情報処理方法及び情報処理プログラム

Country Status (5)

Country Link
US (1) US20210110215A1 (ja)
EP (1) EP3822872A4 (ja)
JP (1) JP7028322B2 (ja)
CN (1) CN112384892A (ja)
WO (1) WO2020012523A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113592728A (zh) * 2021-07-01 2021-11-02 温州理工学院 一种图像复原方法、系统、处理终端及计算机介质
WO2022065216A1 (ja) * 2020-09-23 2022-03-31 富士フイルム株式会社 特徴量選択方法、特徴量選択プログラム、及び特徴量選択装置、マルチクラス分類方法、マルチクラス分類プログラム、及びマルチクラス分類装置、並びに特徴量セット
WO2023032549A1 (ja) * 2021-09-01 2023-03-09 株式会社エフ・シー・シー 欠陥検査装置、欠陥検査方法および予測モデル生成方法
JP2023035618A (ja) * 2021-09-01 2023-03-13 ダイハツ工業株式会社 異常検知装置および異常検知方法
WO2023095416A1 (ja) * 2021-11-25 2023-06-01 株式会社ジャパンディスプレイ 表示装置の検査方法及び情報処理装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109461495B (zh) * 2018-11-01 2023-04-14 腾讯科技(深圳)有限公司 一种医学图像的识别方法、模型训练的方法及服务器
JP2022164146A (ja) * 2021-04-16 2022-10-27 株式会社キーエンス 画像検査装置、画像処理方法、画像処理プログラム及びコンピュータで読取可能な記録媒体並びに記録した機器

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0896136A (ja) * 1994-09-26 1996-04-12 Kawasaki Heavy Ind Ltd 溶接欠陥の評価システム
JP2012026982A (ja) * 2010-07-27 2012-02-09 Panasonic Electric Works Sunx Co Ltd 検査装置
JP2014126445A (ja) * 2012-12-26 2014-07-07 Sharp Corp 位置合せ装置、欠陥検査装置、位置合せ方法、及び制御プログラム
WO2017068675A1 (ja) 2015-10-22 2017-04-27 富士通株式会社 プログラム生成装置、プログラム生成方法および生成プログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008133509A1 (en) * 2007-04-25 2008-11-06 Nederlandse Organisatie Voor Toegepast-Natuurwetenschappelijk Onderzoek Tno Machine learning hyperparameter estimation
JP6344469B2 (ja) * 2014-06-11 2018-06-20 富士通株式会社 プログラム生成装置、プログラム生成方法およびプログラム
CN105938558B (zh) 2015-03-06 2021-02-09 松下知识产权经营株式会社 学习方法
CN106897746B (zh) * 2017-02-28 2020-03-03 北京京东尚科信息技术有限公司 数据分类模型训练方法和装置
CN108023876B (zh) * 2017-11-20 2021-07-30 西安电子科技大学 基于可持续性集成学习的入侵检测方法及入侵检测系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0896136A (ja) * 1994-09-26 1996-04-12 Kawasaki Heavy Ind Ltd 溶接欠陥の評価システム
JP2012026982A (ja) * 2010-07-27 2012-02-09 Panasonic Electric Works Sunx Co Ltd 検査装置
JP2014126445A (ja) * 2012-12-26 2014-07-07 Sharp Corp 位置合せ装置、欠陥検査装置、位置合せ方法、及び制御プログラム
WO2017068675A1 (ja) 2015-10-22 2017-04-27 富士通株式会社 プログラム生成装置、プログラム生成方法および生成プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3822872A4

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022065216A1 (ja) * 2020-09-23 2022-03-31 富士フイルム株式会社 特徴量選択方法、特徴量選択プログラム、及び特徴量選択装置、マルチクラス分類方法、マルチクラス分類プログラム、及びマルチクラス分類装置、並びに特徴量セット
JP7551231B2 (ja) 2020-09-23 2024-09-17 富士フイルム株式会社 特徴量選択方法、特徴量選択プログラム、及び特徴量選択装置、マルチクラス分類方法、マルチクラス分類プログラム、及びマルチクラス分類装置、並びに記録媒体
CN113592728A (zh) * 2021-07-01 2021-11-02 温州理工学院 一种图像复原方法、系统、处理终端及计算机介质
CN113592728B (zh) * 2021-07-01 2024-04-05 温州理工学院 一种图像复原方法、系统、处理终端及计算机介质
WO2023032549A1 (ja) * 2021-09-01 2023-03-09 株式会社エフ・シー・シー 欠陥検査装置、欠陥検査方法および予測モデル生成方法
JP2023035643A (ja) * 2021-09-01 2023-03-13 株式会社エフ・シー・シー 欠陥検査装置、欠陥検査方法および予測モデル生成方法
JP2023035618A (ja) * 2021-09-01 2023-03-13 ダイハツ工業株式会社 異常検知装置および異常検知方法
JP7257470B2 (ja) 2021-09-01 2023-04-13 株式会社エフ・シー・シー 欠陥検査装置、欠陥検査方法および予測モデル生成方法
JP7535484B2 (ja) 2021-09-01 2024-08-16 ダイハツ工業株式会社 異常検知装置および異常検知方法
WO2023095416A1 (ja) * 2021-11-25 2023-06-01 株式会社ジャパンディスプレイ 表示装置の検査方法及び情報処理装置

Also Published As

Publication number Publication date
CN112384892A (zh) 2021-02-19
JPWO2020012523A1 (ja) 2021-05-13
EP3822872A4 (en) 2021-08-04
JP7028322B2 (ja) 2022-03-02
EP3822872A1 (en) 2021-05-19
US20210110215A1 (en) 2021-04-15

Similar Documents

Publication Publication Date Title
WO2020012523A1 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP6798619B2 (ja) 情報処理装置、情報処理プログラム及び情報処理方法
US10902314B2 (en) Neural network-based classification method and classification device thereof
JP4618098B2 (ja) 画像処理システム
JP6208552B2 (ja) 識別器、識別プログラム、及び識別方法
JP6646234B2 (ja) プログラム生成装置、プログラム生成方法および生成プログラム
US9152926B2 (en) Systems, methods, and media for updating a classifier
JP2015506026A (ja) 画像分類
CN103927550B (zh) 一种手写体数字识别方法及系统
JP6641195B2 (ja) 最適化方法、最適化装置、プログラムおよび画像処理装置
CN111062806B (zh) 个人金融信用风险评价方法、系统和存储介质
CN109993229A (zh) 一种严重不平衡数据分类方法
WO2020065908A1 (ja) パターン認識装置、パターン認識方法およびパターン認識プログラム
CN116664928A (zh) 一种基于CNN与Transformer的糖尿病视网膜病变分级方法与系统
CN113762265A (zh) 肺炎的分类分割方法及系统
US20210042550A1 (en) Information processing device, information processing method, and computer-readable recording medium recording information processing program
CN117576009A (zh) 一种基于改进YOLOv5s的高精度太阳能电池板缺陷检测方法
JP2011257805A (ja) 情報処理装置および方法、並びにプログラム
CN113627538B (zh) 训练非对称生成对抗网络产生图像的方法及电子装置
CN115294405B (zh) 农作物病害分类模型的构建方法、装置、设备及介质
AU2021240188B1 (en) Face-hand correlation degree detection method and apparatus, device and storage medium
CN103886345B (zh) 投影变换矩阵的获取方法及装置、样本分类方法及装置
KR20210104299A (ko) 영상 객체 속성 분류 장치 및 방법
JP2022089430A (ja) 画像処理システム、及び画像処理プログラム
CN108921021A (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: 18926217

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020529849

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE