WO2019026104A1 - 情報処理装置、情報処理プログラム及び情報処理方法 - Google Patents
情報処理装置、情報処理プログラム及び情報処理方法 Download PDFInfo
- Publication number
- WO2019026104A1 WO2019026104A1 PCT/JP2017/027633 JP2017027633W WO2019026104A1 WO 2019026104 A1 WO2019026104 A1 WO 2019026104A1 JP 2017027633 W JP2017027633 W JP 2017027633W WO 2019026104 A1 WO2019026104 A1 WO 2019026104A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- image
- data
- learning
- information processing
- program
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/24765—Rule-based classification
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
- G06T7/001—Industrial image inspection using an image reference approach
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/443—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20021—Dividing image into blocks, subimages or windows
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/161—Detection; Localisation; Normalisation
Definitions
- the present invention relates to an information processing apparatus, an information processing program, and an information processing method.
- an image processing program is optimized by genetic programming using an input image and a target processing result (target image, etc.).
- an automatic generation method of an image classification program for performing class classification (category classification) of an image has been proposed (for example, see Patent Document 1 etc.).
- the image classification program for example, an object shown in an image can be classified into two classes of non-defective product and defective product.
- the present invention aims to provide an information processing apparatus, an information processing program, and an information processing method capable of automatically generating an image classification program capable of classifying an image with high accuracy.
- the information processing apparatus is an information processing apparatus that automatically generates an image classification program combining element filters based on genetic programming, and receives specification of a feature region including a characteristic part in a learning image.
- a first data creation unit for creating first data indicating a degree of overlap between the reception unit, each divided region obtained by dividing the learning image, and the feature region; and image conversion of the learning image by a predetermined image classification program
- a second data creation unit configured to calculate an image feature amount of each of the divided areas from the obtained image, and to create second data indicating the image feature amount corresponding to each of the divided areas;
- a calculation unit for calculating a degree of similarity with the second data; and a result of evaluating the predetermined image classification program based on the degree of similarity, the genetic
- a processing unit for use in the execution of the programming, and a.
- FIG. 3A to FIG. 3C are diagrams for explaining the teaching method of the NG region.
- FIGS. 4A to 4D are diagrams for explaining the indexing of the NG region, and
- FIG. 4E is a diagram for explaining the indexing of the image feature quantity of the divided region. is there.
- FIGS. 5A and 5B are diagrams (part 1) for describing a specific example of similarity calculation.
- FIGS. 6A and 6B are diagrams (part 2) for describing a specific example of similarity calculation.
- FIGS. 7A to 7F are diagrams for explaining the estimation of the NG portion. It is a block diagram showing an example of composition of a processing function with which an image classification device is provided. It is a flowchart which shows the example of the process sequence of a program production
- 14 (a) to 14 (e) are diagrams (part 1) for explaining the results of performing learning and pass / fail judgment on a pseudo NG image. It is a figure (2) for explaining the result of having carried out learning and quality decision about a false NG picture. It is a figure (the 3) for explaining the result of having carried out learning and quality decision about a false NG picture. It is a figure which shows the outline
- 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 an image classification process.
- FIG. 1 is a diagram showing an example of the 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.
- the processor 101 may be a multiprocessor.
- the processor 101 is, for example, a central processing unit (CPU), a micro processing unit (MPU), a digital signal processor (DSP), an application specific integrated circuit (ASIC), a programmable logic device (PLD), or the like.
- the processor 101 may be a combination of two or more elements of 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 OS (Operating System) program and application programs to be executed by the processor 101.
- the RAM 102 also 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.
- the auxiliary storage device another type of non-volatile storage device such as a solid state drive (SSD) can also be used.
- SSD solid state drive
- a display device 104 a is connected to the graphic processing device 104.
- the graphic processing device 104 displays an image on the screen of the display device 104 a in accordance with an instruction from the processor 101.
- Examples of the display device include a liquid crystal display and an organic EL (ElectroLuminescence) display.
- An input device 105 a is connected to the input interface 105.
- the input interface 105 transmits the signal output from the input device 105 a to the processor 101.
- the input device 105a includes a keyboard, a pointing device, and the like. Examples of pointing devices include a mouse, a touch panel, a tablet, a touch pad, and a trackball.
- the portable recording medium 106 a is attached to and detached from the reading device 106.
- the reading device 106 reads the data recorded on the portable recording medium 106 a and transmits the data to the processor 101.
- Examples of the portable recording medium 106 a include an optical disc, a magneto-optical disc, a semiconductor memory, and the like.
- the communication interface 107 transmits and receives data to and from the connected external device.
- a camera 107a is connected as an external device to the communication interface 107, and the communication interface 107 transmits image data transmitted from the camera 107a to the processor 101.
- the network interface 108 exchanges data with 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 a plurality of classes by genetic programming.
- an image classification process based on the generated image classification program 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, or determines whether a face is shown in the input image Processing etc. are included.
- the process realized by the image classification program includes a discriminator generation process of generating a discriminator by learning using a learning image, and a preprocess of generating feature information to be input to the discriminator based on a learning image .
- a discriminator generation process of generating a discriminator by learning using a learning image
- a preprocess of generating feature information to be input to the discriminator based on a learning image In order to realize high-accuracy image classification, it is both in terms of what kind of feature quantity is extracted and used from a learning image and what kind of classifier is generated based on the obtained feature quantity. is important.
- the image classification device 100 searches for an optimal combination of a classifier generation algorithm and a pre-processing algorithm by genetic programming. As a result, an image classification program that realizes the processing of a classifier capable of highly accurate image classification is generated.
- FIG. 2 is a diagram showing an example of the basic configuration of an individual tree structured filter row handled in genetic programming.
- an individual is represented by a tree structure in which a program module is set as an element of each node, and in this tree structure, various image transformations are added to an input image to generate and extract a feature extraction image
- the image feature quantity is extracted from the captured image, the image feature quantity is combined to create a feature vector, and learning or determination for determining an OK image and an NG image is executed by the SVM classifier.
- the OK image is an image showing a non-defective item
- the NG image means an image showing a non-defective item.
- a tree structure representing an individual is divided into sections (processes) each including one or more adjacent layers.
- the tree structure is an image conversion process, an image feature extraction process, an input data creation process, an SVM process from its leaf side (upper side in FIG. 2) to the root side (lower side in FIG. 2). It is classified into classifier creation processing.
- the SVM classifier generation process includes SVM parameter setting process, SVM classifier generation process, and fitness calculation process.
- the image conversion process, the image feature quantity extraction process, and the input data creation process are associated with pre-processing for generating data to be input to the classifier.
- image conversion processing an input image is converted to be suitable for feature extraction using an image conversion filter.
- an image conversion filter a Smooth filter, Sobel filter, Laplace filter, And filter, Sub filter, Add filter, Or filter, Erode filter, Dilate filter, Threshold filter, etc. can be applied.
- the image feature quantity extraction process is a process of extracting a feature quantity from the image converted by the image conversion process using a feature extraction filter.
- a feature extraction filter a filter for calculating an average luminance, a filter for calculating a luminance histogram, a filter for executing Fast Fourier Transformation (FFT), or the like can be applied. Also, the same type of filter having different control parameters such as the number of area divisions can be applied.
- FFT Fast Fourier Transformation
- the input data creation process is a process of creating input data (feature vector) to be input to the classifier based on the feature quantity extracted by the image feature quantity extraction process.
- an input data generation module for generating input data to be input to the discriminator for example, a program module that executes one or two program modules, and a program module that executes normalization of input data, compression of input data, etc. , 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 for generating a discriminator is determined by increasing or decreasing the set absolute value by addition / subtraction or scaling using the set relative value.
- the SVM discriminator generation process determines the kernel function and operation mode to be used.
- a kernel function for example, a LINEAR kernel, a POLYNOMIAL kernel, a RBF (Radial Basis Function) kernel, a SIGMOID kernel, etc. can be applied.
- the operation mode learning of the tree structure and the SVM discriminator and determination of quality of the input image are determined.
- the fitness calculation process is a classification that determines the quality (OK image or NG image) of the learning image based on the input data created in the input data creation process according to the classifier information created in the SVM classifier creation process.
- the processing is executed, and the classification result by the classification processing 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 determination is performed a plurality of times using cross-validation or the like to calculate the accuracy rate for the learning image, and the fitness of the individual is calculated based on the calculated accuracy rate.
- the fitness is an index indicating how much the output result of the automatically generated tree structure filter row matches the target image recognition result.
- a penalty term is also considered when calculating the fitness of each individual.
- 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 layers of nodes), the number of support vectors when the SVM classifier is used, and the like are applicable.
- the number of feature dimensions can be determined based on the input data generation module set in the input data generation process.
- a penalty is based on the similarity between the position of the NG region specified on the image by the user and the distribution of the feature value obtained from the image converted by the image conversion process. Also consider the terms. In this case, if the similarity is high, the value of the penalty term is decreased, and if the similarity is low, the value of the penalty term is increased.
- the image classification device 100 first generates a plurality of initial individuals to be included in the population, then generates offspring based on the parent individuals selected from this population, and a child individual with high fitness is a parent within the population. Replace with individual.
- the image classification device 100 repeatedly executes such processing, and outputs an individual having a certain degree or more (more than a predetermined threshold) of fitness as the best individual.
- the changed element is a program module prepared in advance for the section to which the node belongs. For example, when the element of the image conversion process is changed by mutation, the changed element is selected from the image conversion filters corresponding to the image conversion process.
- Such processing optimizes the combination of processing algorithms in each section. For example, the combination of the processing algorithm for extracting the feature value input to the classifier and the processing algorithm for generating the classifier is optimized. As a result, an appropriate classifier type and learning parameters for image classification can be selected, and feature quantities suitable for input to the classifier can be extracted. Therefore, an image classification program with high classification accuracy can be generated.
- the user inputs an NG region which becomes a ground to be determined as NG among the learning images (NG images), and sends the image classification device 100 Teach. It is assumed that the user is familiar with the criteria of the quality determination, visually identifies the NG region, and inputs the coordinates of the NG region through the input device 105a. Then, the image classification device 100 calculates the degree of similarity between the position of the NG region in the learning image and the distribution of the feature amount of the image after converting the learning image. Furthermore, in the image classification device 100, the fitness of the individual is calculated in consideration of the calculated similarity, and used to learn an image classification program by genetic programming.
- the NG area is an area including a characteristic portion (a flaw or a foreign substance) in the learning image.
- FIG. 3A shows an example of a learning image.
- a rectangular object is present, and a region where the object is present is referred to as a region of interest (ROI).
- ROI region of interest
- the ROI is set at an arbitrary position in the image, and learning and inspection are performed only in the ROI, but the ROI is the entire image. It may be.
- the OK image of the learning image there is no foreign matter or flaw in the object (see FIG. 3A), and in the NG image, it is assumed that foreign matter or flaw is present (see FIG. 3B) .
- a rectangular area as indicated by a broken line frame in FIG. 3B is designated as the NG area.
- NG areas In this case, as shown in the right end of FIG. 3B, in the case where foreign matter and flaws are distributed in a complicated manner, a plurality of rectangular areas (NG areas) may be taught. As shown in the second drawing from the right of 3 (b), one large rectangular area (NG area) may be taught. Further, as shown in the left end of FIG. 3B, a rectangular area (NG area) may be taught without including some foreign substances and flaws.
- the inspection image (unknown image) given after learning does not have to have an NG region at the same position as the learning image, and the same NG (foreign substance or flaw) is also present. It is assumed that it is not limited.
- the user may teach the NG area with a basic figure other than a rectangle, such as a circle or an oval.
- FIG. 4A shows an NG image in which a circular part (object) exists near the center of the image.
- the NG image in FIG. 4A is a test image (learning image) in which an ellipse that is a dent or foreign object is drawn on the surface of the object. It is assumed that the user teaches an area indicated by a thick white rectangular frame in FIG. 4A as an NG area with respect to this learning image.
- the ROI of this image is set as a white thin rectangular frame in FIG. 4 (b).
- the term “within the image” may be used simply in the sense of within the range of the ROI.
- a divided region is set for the ROI in the image. For example, when dividing into M horizontally and N vertically, the ROI is divided into M ⁇ N regions.
- region is shown in FIG.4 (b).
- the number of divisions can be set by the user. However, not limited to this, the number of divisions may be determined in advance. It is assumed that the divided areas are respectively numbered (see FIG. 4C).
- FIG. 4C a black thick line rectangular frame (corresponding to a white thick line rectangular frame in FIG. 4A) is an NG area.
- a value as to which proportion of the NG region occupies in each divided region is determined as an index value.
- FIG. 4 (d) is a graph showing the determined index value. The graph of FIG. 4 (d) shows where the taught NG area is distributed in the image, and the index value takes a value of 0.0 to 1.0 in each divided area.
- the index value is not limited to this, and may be a value indicating how often the NG area is divided into the respective divided areas. In this case, the sum of index values in all divided areas is 1.0.
- NG teaching area data data indicating the distribution of the NG area in the image as shown in FIG. 4D is referred to as “NG teaching area data” or “NG teaching area index” or the like.
- the NG teaching area data can be said to be first data indicating the degree of overlap between each of the divided areas obtained by dividing the learning image and the NG area.
- FIG. 4E is a graph showing how the feature amounts of the feature extraction image (converted image) obtained by the image conversion processing described later are distributed in each divided region.
- the feature extraction image is the original image as it is, and the average luminance in each divided area is calculated as the image feature amount.
- the image feature amount is extracted from the feature extraction image by various feature extraction filters to create a good / not good judgment classifier, and an image important in good / good judgment It has become.
- the standard deviation or the range of the variation can also be used as the feature value of the divided area.
- image feature distribution data data representing how the image feature amount in the converted image is distributed in each divided region
- image feature distribution index data representing how the image feature amount in the converted image is distributed in each divided region. It shall be called etc.
- the image feature distribution data can be said to be second data indicating an image feature amount for each divided area calculated from the converted image.
- FIG. 5 The input image (learning image) of the NG image is shown in the upper part of FIGS. 5 (a) and 5 (b). Also, in the middle part of FIGS. 5 (a) and 5 (b), an input image showing an NG area in a white rectangular frame and a feature extraction image after image conversion of each input image in the learning initial stage are shown. There is. Furthermore, in the lower part of FIGS. 5A and 5B, an NG teaching area index and an image feature distribution index are shown.
- FIGS. 5 and 6 (b) show diagrams corresponding to FIGS. 5 (a) and 5 (b) at the end of learning.
- the NG teaching area index is the ratio of the NG area in each divided area
- the image feature amount is the average luminance in each divided area of the converted image.
- FIG. 5 and FIG. 6 shows the result of finding the similarity between the NG teaching area index and the image feature distribution index by the normalized correlation calculation.
- FIGS. 5 (a) and 5 (b) in the early stage of learning, the degree of similarity of the NG image 2 is still very small.
- FIGS. 6 (a) and 6 (b) the similarity between the NG image 1 and the NG image 2 approaches 1.0, and the learning end is the feature extraction image It can be seen that only the NG part can be extracted accurately in.
- a plurality of branches may exist in the tree structure filter row, so the similarity of the NG region is also calculated by the number of branches. Therefore, it is necessary to calculate the degree of similarity (total degree of similarity) in which a plurality of similarities are integrated, and methods such as the following (a) and (b) can be considered as an example.
- the overall similarity is calculated for each NG image.
- A Average absolute value, maximum value or minimum value of similarity values of multiple branches
- b Average value, maximum value or minimum value of similarities of multiple branches
- the overall similarity of each NG image may be simply averaged, or a weighted average of the overall similarity of each NG image may be taken.
- a weighting factor according to the area of the NG region can be considered.
- Fitness degree Correct rate-Discriminator penalty term-Penalty term based on similarity (1) The fitness indicates the evaluation value of the automatically generated program, and the higher the fitness, the better the program.
- Penalty term based on similarity 1.0-average value of the whole NG image of similarity ... (2)
- the higher the similarity the smaller the penalty term. Therefore, the fitness expressed by the equation (1) is corrected to be high as the sum of each term.
- the accuracy rate the accuracy rate of the cross-validation on the learning image can be used.
- the penalty based on the similarity between the NG teaching area data and the image feature distribution data will be simply referred to as “a similarity term based penalty term”.
- the penalty term based on the similarity may be multiplied by a fixed or variable weighting factor in order to reflect the penalty term based on the similarity in the fitness in an appropriate manner.
- a normalized correlation operation is used to calculate the degree of similarity
- the average value of the absolute values of the degrees of similarity of a plurality of branches is determined as the total similarity
- the penalty term of the degree of similarity is 1.0 It is assumed that the average value of the absolute value of the degree).
- the value of the similarity may be converted to a negative or a reciprocal so that the penalty value decreases as the similarity increases.
- an NG part means the division area
- the image feature amount of each divided region is used as in FIGS. 4 (b) and 4 (c).
- the image feature amount of the NG image is targeted, in the present processing, the image feature amount is obtained from the OK image.
- region division is performed on the ROI (white solid rectangular frame) of the OK image for learning in the same manner as described above. Then, after obtaining a feature extraction image by image conversion for each of the learning OK images, the distribution (average and standard deviation) of the image feature amount is calculated in each divided region.
- the distribution of image feature quantities obtained in this way is represented as shown in FIG. 7 (b).
- the data in FIG. 7B is stored as a normal distribution (normal range) at the time of learning.
- the image feature quantities of the respective divided areas are similarly obtained from the inspection target image (target image) as shown in FIG. 7C as shown in FIG. Based on the difference with b), an anomaly score for the normal distribution is calculated.
- the abnormality score can be determined, for example, by the following equation (3).
- Image feature abnormality score (image feature amount of target image ⁇ normal distribution average value) / normal distribution standard deviation (3)
- This abnormality score can be expressed as shown in FIG. 7E because it is obtained for each divided area.
- a divided area whose abnormality score is larger than a predetermined threshold is estimated as an NG portion.
- the estimated NG portion is shown by a white rectangular frame.
- FIG. 8 is a block diagram showing a configuration example of processing functions provided in the image classification device 100.
- the image classification device 100 includes an image input unit 111, an image inspection processing unit 112 as a determination unit, a program generation unit 120, and a storage unit 150.
- the processing of the image input unit 111, the image inspection processing unit 112, and the program generation unit 120 is realized, for example, by the processor 101 of the image classification device 100 executing a predetermined program (including an image classification program).
- 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 107 a 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 by genetic programming, and stores data (data of the best individual) corresponding to the generated image classification program in the storage unit 150.
- the internal configuration of the program generation unit 120 will be described later.
- the image inspection processing unit 112 acquires data of an image captured by the camera 107 a via the image input unit 111. Further, the image inspection processing unit 112 reads data (data of the best individual) of the image classification program stored in the storage unit 150, and determines the quality of the acquired image using the read image classification program. The image inspection processing unit 112 displays the determination result, for example, on the display device 104a.
- the storage unit 150 stores a learning image and data (data of the best individual) of the image classification program generated by the program generation unit 120.
- a label indicating the quality (OK image or NG image) of the learning image is added to the learning image.
- a learning image the image which the image input part 111 acquired from the camera 107a can be used.
- the program generation unit 120 includes a GP (Genetic Programming) learning control unit 121 as a processing unit, an image conversion unit 122, an image feature quantity extraction unit 123 as a third data generation unit, an input data generation unit 124, and a classifier parameter setting unit 125, a classifier generation unit 126, an NG area input unit 127 as a reception unit, a divided area setting unit 128, an NG area index calculation unit 129 as a first data generation unit, and a divided area feature extraction as a second data generation unit
- the unit 130 includes a similarity degree calculation unit 131 as a calculation unit, and a fitness degree calculation unit 132.
- the GP learning control unit 121 controls the execution of the entire program generation process by genetic programming. For example, the GP learning control unit 121 executes processing such as generation of an initial individual and evolution processing of the individual.
- the image conversion unit 122 performs 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 quantity extraction unit 123 executes feature quantity extraction processing from the input image after image conversion according to the feature extraction filter set in the node of the image feature quantity extraction processing in the tree structure of the individual.
- the input data generation unit 124 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 generation processing in the tree structure of the individual.
- the discriminator parameter setting unit 125 executes processing of setting a learning parameter of the discriminator in accordance with the absolute value and the relative value set in the node of the SVM parameter setting processing in the tree structure of the individual.
- the classifier generation unit 126 performs classification by learning using the learning parameter set by the classifier parameter setting unit 125 according to the kernel function and the operation mode set in the node of the SVM classifier generation process in the individual tree structure. Execute the process to generate the
- the NG area input unit 127 receives the specification of the NG area input by the user via the input device 105a, and inputs information (coordinates) of the NG area to the NG area index calculation unit 129.
- the divided region setting unit 128 sets a divided region with respect to the ROI, as indicated by a white broken line in FIG. 4B.
- the NG area index calculation unit 129 calculates an NG teaching area index as shown in FIG.
- the divided area feature quantity extraction unit 130 extracts the image feature quantity of each divided area, and calculates an image feature distribution index as shown in FIG.
- the similarity calculation unit 131 calculates the similarity between the NG taught area index (FIG. 4D) and the image feature distribution index (FIG. 4E) by normalized correlation calculation.
- the fitness calculation unit 132 calculates the fitness based on the similarity calculated by the similarity calculation unit 131.
- FIG. 9 is a flowchart illustrating an example of the processing procedure of the program generation unit 120.
- step S10 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 will be referred to as “population groups”.
- a node is set in each process of the tree structure of an individual, and an element of each node is selected from program modules corresponding to the process to which the node belongs, and set as a generation procedure of the initial individual.
- the divided area setting unit 128 sets divided areas. Specifically, the divided region setting unit 128 sets how many parts the ROI is divided in the vertical direction and in the horizontal direction.
- the divided area setting unit 128 may set the divided area based on the user's input, or may set the divided area based on a predetermined condition. In this embodiment, the ROI is divided into 5 ⁇ 5 regions.
- step S14 the GP learning control unit 121 reads a learning image from the storage unit 150.
- the GP learning control unit 121 reads an OK image or an NG image from the storage unit 150 as one learning image.
- step S16 the GP learning control unit 121 acquires pass / fail data.
- the GP learning control unit 121 acquires pass / fail correct data (information indicating whether the image is an OK image or an NG image) from the label added to the learning image.
- step S18 the NG area input unit 127 acquires data of the NG area.
- the NG area input unit 127 acquires data of the NG area as teaching data based on an input from the user, and inputs the data to the NG area index calculation unit 129.
- step S20 the NG area index calculation unit 129 performs indexing of the NG area. That is, the NG area index calculation unit 129 generates NG teaching area data (NG teaching area index) as shown in FIG. 4D.
- step S22 the GP learning control unit 121 determines whether the learning image stored in the storage unit 150 has ended, that is, whether all the learning images have been read out. If the determination in step S22 is negative, the process returns to step S14, and the processes of steps S14 to S22 are executed as the process for the next learning image. On the other hand, when the determination in step S22 is affirmed, the process proceeds to step S24.
- step S24 the GP learning control unit 121 randomly selects two parent individuals from among the individuals included in the population.
- step S26 the GP learning control unit 121 generates two or more predetermined numbers of child individuals using the selected parent individual. For example, the GP learning control unit 121 performs crossover between two selected parent individuals to generate two or more predetermined numbers of child individuals. Also, the GP learning control unit 121 generates a mutation at any node of each generated child individual, and changes an element of the node.
- step S27 the GP learning control unit 121 selects one of the generated child individuals.
- step S28 a subroutine of evolution process processing is executed.
- processes in accordance with the flowcharts of FIGS. 10 and 11 are executed.
- step 50 the GP learning control unit 121 reads a learning image from the storage unit 150.
- step S52 the image conversion unit 122 performs image conversion on the learning image read in step S50 using the selected child individual.
- the image feature quantity extraction unit 123 extracts an image feature quantity based on the image after conversion.
- a filter (F0) different from the filters (F1 and F3 in FIG. 13) set in the image feature extraction processing in the child individual is used To extract image feature quantities.
- the filter F0 is assumed to be a common (fixed) filter in each child individual. That is, although the filters F1 and F3 gradually change while learning by crossover and mutation, the filter F0 is not changed.
- the input to the filter F0 is a feature extraction image converted by the image conversion process, and is the same image as the feature extraction image input to the SVM classifier.
- step S56 the input data generation unit 124 generates input data to be input to the discriminator based on the child individual.
- the divided area feature quantity extraction unit 130 calculates the image feature quantity of each divided area, and generates image feature distribution data (image feature distribution index) as shown in FIG. 4 (e).
- step S60 the similarity calculation unit 131 determines whether the learning image is an NG image. If the determination in step S60 is affirmed, the process proceeds to step S62. If the determination is negative, the process proceeds to step S64.
- step S60 If the determination in step S60 is affirmed and the process proceeds to step S62, the similarity calculation unit 131 reads out the image feature distribution data (image feature distribution index) corresponding to the currently read learning image from the storage unit 150, and step S56. The degree of similarity with the NG teaching area data (NG teaching area index) generated in the above is calculated. The similarity calculation unit 131 stores the calculated similarity in the storage unit 150. Thereafter, the process proceeds to step S66.
- step S60 determines whether the determination in step S60 is negative and the process proceeds to step S64.
- the image feature quantity extraction unit 123 uses image feature distribution data (image feature distribution index) as shown in FIG. , And stored in the storage unit 150. After step S64, the process proceeds to step S66.
- step S66 the GP learning control unit 121 determines whether the learning image has ended, that is, whether all learning images have been read out in step S50. If the determination in step S66 is negative, the process returns to step S50, and the processing and determination in steps S50 to S66 are repeated until the determination in step S66 is affirmed. On the other hand, if the determination in step S66 is affirmed, the process proceeds to step S70 in FIG.
- the image feature quantity extraction unit 123 calculates a normal range of the image feature distribution data. Specifically, the image feature quantity extraction unit 123 acquires a plurality of pieces of image feature distribution data (FIG. 7B) for normal range calculation from the storage unit 150, and obtains basic statistics (average, standard deviation, etc.). Calculate and set as the normal range of the image feature distribution data.
- the normal range of the image feature distribution data can be said to be third data indicating the image feature amount of each divided area calculated from the image obtained by image conversion of the OK image.
- step S72 the classifier parameter setting unit 125 sets learning parameters of the classifier.
- step S74 the discriminator generation unit 126 generates a discriminator.
- step S76 the GP learning control unit 121 calculates the accuracy rate. That is, it is determined using cross-validation, for example, whether each learning image is an NG image or an OK image, and the rate at which the determination result matches the label indicating the quality added or not added to each learning image is the accuracy rate Calculated as Next, in step S78, the GP learning control unit 121 calculates the penalty term of the classifier.
- step S80 the similarity calculation unit 131 calculates the similarity (total similarity) between the image feature distribution data and the NG teaching area data as described above.
- step S82 the fitness calculation unit 132 calculates a penalty term based on the calculated similarity (total similarity).
- step S84 the fitness calculation unit 132 calculates the fitness based on the above equation (1).
- step S30 the GP learning control unit 121 determines whether all of the generated child individuals have been selected. If the determination in step S30 is negative, the process returns to step S26, and repeatedly executes steps S27 to S30 to execute the process of step S28 for all of the generated child individuals. On the other hand, when the determination in step S30 is affirmed, the process proceeds to step S32.
- the GP learning control unit 121 selects a child individual with the highest fitness as a child individual for survival from among the child individuals generated in step S26. Furthermore, the GP learning control unit 121 selects one more individual to be alive from the remaining child individuals. In this selection process, for example, an individual is selected with a probability according to the fitness. The GP learning control unit 121 replaces the parent individual selected in step S24 with two individuals to be made to survive. That is, in step S32, the GP learning control unit 121 performs genetic programming on the fitness of the offspring individual based on the similarity between the NG teaching area data (NG teaching area index) and the image feature distribution data (image feature distribution index). It can be said that it is used for
- step S34 the GP learning control unit 121 determines whether the maximum fitness of the parent individual is greater than a threshold. If the determination in step S34 is negative, the process returns to step S24, but if the determination is affirmative, the process proceeds to step S36.
- step S36 the GP learning control unit 121 stores the best individual, ie, the individual with the highest fitness, in the storage unit 150. The individual also includes discriminator information indicating the discriminator generated in the process of step S28.
- the learning process ends with the above process.
- step S102 the image inspection processing unit 112 reads the information of the best individual from the storage unit 150, and sets the tree structure of the best individual as a tree structure used for image inspection based on the read information. Do.
- step S104 the image inspection processing unit 112 sets the classifier of the best individual as the classifier used for the image inspection based on the read information of the best individual.
- step S106 the image inspection processing unit 112 reads the normal range of the image feature distribution data from the storage unit 150.
- the normal range of the image feature distribution data read out here is the data calculated in step S70.
- step S108 the image inspection processing unit 112 acquires an image of an inspection target via the image input unit 111.
- This image is, for example, an image captured by the camera 107a.
- step S110 the image inspection processing unit 112 performs image conversion of the image to be inspected using the image conversion filter set in step S102.
- step S112 the image inspection processing unit 112 extracts the feature amount of the converted image according to the set feature extraction filter.
- step S114 the image inspection processing unit 112 inputs feature amount data to the classifier.
- step S116 the image inspection processing unit 112 performs classification by the classifier. That is, the image inspection processing unit 112 classifies the converted image into an OK image or an NG image.
- step S118 the image inspection processing unit 112 calculates an image feature amount of the divided area.
- step S120 the image inspection processing unit 112 estimates the NG portion in divided area units. That is, as shown in FIG. 7E, the image inspection processing unit 112 obtains an abnormality score in units of divided areas, and estimates a divided area where the abnormality score exceeds a predetermined threshold as an NG portion.
- the process of step S120 is a process of determining whether each divided area of the image to be inspected is normal or abnormal.
- step S122 the image inspection processing unit 112 outputs the image inspection result on the display device 104a.
- the image inspection result in addition to the pass / fail judgment result (OK image or NG image), the information of the NG portion estimated in step S120 (image of the inspection object in which the NG portion is overlay-displayed as shown in FIG. Also included.
- FIGS. 14 to 16 show results of learning and pass / fail judgment of the pseudo NG image.
- learning is performed with 40 learning images (20 OK images and 20 NG images), and 160 unknown evaluation images (80 OK images and 80 NG images) The judgment accuracy was examined by).
- FIG. 14B shows an example of the OK image of the learning image
- FIG. 14C shows an example of the NG image of the learning image.
- the NG image is a test image in which an ellipse serving as a nick or foreign object is drawn on the surface of a circular object.
- the user taught the NG region in a rectangular shape as shown in FIG. Also, the number of divisions of the ROI is 5 ⁇ 5.
- FIG. 14 (d) shows the result of judgment of good or bad (correct rate) in the case of teaching only the correct answer of OK or NG without teaching the NG region
- FIG. 14 (e) shows NG.
- the result of the pass / fail judgment (accuracy rate) in the case of learning by teaching the region and the correct answer of OK or NG is shown.
- FIGS. 14 (d) and 14 (e) show the results of the quality determination performed on the evaluation image, including the learning results in the early and middle stages of learning. The smaller the generation number, the earlier the learning is meant, and the larger the generation number, the late the learning.
- the person who learned by teaching the NG area (the one in Fig. 14 (e)) can increase the final correct answer rate, and correct at an early stage As the rate reaches 100%, it can be seen that the learning time can be shortened.
- FIG. 15 is a diagram showing the result of performing the estimation of the NG portion for each of the OK image and the NG image in the final generation (400th generation) when the NG region is not taught.
- FIG. 16 is a diagram showing the results of the estimation of the NG portion for the OK image and the NG image in the final generation (the 268th generation) in the case of teaching the NG region.
- the NG image in FIGS. 15 and 16 is an NG image that is determined as an OK image (incorrectly determined) when there is no NG area teaching, and as an NG image when there is an NG area teaching.
- the outer diameter portion of the object unrelated to the determination is extracted as the feature portion in the feature extraction image.
- the feature portion can be extracted by limiting to the NG portion.
- the image classification device 100 when automatically generating an image classification program based on genetic programming, receives an input of an NG area of a learning image ( S18) NG teaching area data (NG teaching area index) indicating the degree of overlap between each divided area obtained by dividing the learning image (ROI) and the NG area is created (S20). Further, the image classification device 100 converts the learning image into an image according to a predetermined image classification program (child individual), calculates an image feature amount of each divided area from the obtained image, and calculates an image feature corresponding to each divided area Distribution data (image feature distribution index) is created (S58).
- the image classification device 100 calculates the degree of similarity between the NG teaching area data (NG teaching area index) and the image feature distribution data (image feature distribution index) (S80), and the image classification program (child The evaluation result (fitness) of the individual) is used to execute genetic programming (S82, S84).
- genetic programming S82, S84.
- the image classification device 100 performs image conversion on a learning image in which all divided regions are normal using the automatically generated image classification program, and an image feature amount is obtained from the obtained image.
- the normal range of the distribution data is calculated (S106), and the NG portion of the image to be examined is estimated based on the comparison result of the image feature distribution data of the image to be examined and the normal range (S120).
- the NG portion in the image to be inspected can be accurately estimated in units of divided regions.
- the division of the region and the method of calculating the image feature distribution data are the same as in learning, the calculation cost and the like can be suppressed.
- the burden of teaching work can be reduced, and the NG area can be indexed. Calculation can be simplified.
- the original image is directly input to the tree structure filter row as a learning image, but in the second embodiment, as shown in FIG. And the preprocessed image is input as a learning image.
- the pre-processing of the input image is processing for suppressing the variation of the average luminance of the entire image with respect to the original image, and is, for example, average difference processing or normalization processing for each image.
- the average difference process is a process of adjusting the average brightness
- the normalization process is a process of performing the average difference process and dividing by the variation of the brightness.
- an average difference process or a normalization process may be performed using an average image of the entire OK image at the time of learning instead of a single image.
- the average difference image is created using the average image of the entire OK image, even if the feature extraction is performed without converting the input image at all, the image feature amount can be obtained as a change amount from the normal distribution. Therefore, even with simple image conversion, the similarity between the NG region and the image feature amount can be increased.
- FIG. 18 shows the results of testing the learning and the quality determination according to the second embodiment.
- the original image used in this test is an image in which a flaw defect has occurred on the surface of the circular part, and a large number of small flaws exist even in the case of an OK image. It was decided to treat only line segments longer than a specified length or thickness as NG.
- FIG. 18 (b) shows an input image obtained by performing pre-processing on the original image of FIG. 18 (b).
- pre-processing after combining the average luminance in a unit of one image, processing for obtaining a difference from the average image of the entire OK image is adopted.
- the difference with the average image of the entire OK image is obtained as an absolute value, so that if it matches the average image, it will be zero, and pixels brighter and darker than the average luminance will both have luminance values greater than or equal to zero. It is converted.
- FIG. 18 (d) and FIG. 18 (e) Similar to the first embodiment (FIG. 14 (a)), using 40 learning images, learning is performed from the very same initial individual both without teaching and with teaching of the NG region, and the quality of 160 evaluation images is evaluated. The results of comparing the determinations are shown in FIG. 18 (d) and FIG. 18 (e). As shown in FIGS. 18 (d) and 18 (e), it is understood that higher accuracy can be obtained by teaching and learning an NG region in both the average determination accuracy and the final determination accuracy.
- FIGS. 18 (d) and 18 (e) it is understood that higher accuracy can be obtained by teaching and learning an NG region in both the average determination accuracy and the final determination accuracy.
- FIG. 19 shows the estimation result of the NG portion when the NG region is taught.
- a small scratch or the like is slightly present in the OK image, too many NG portions are estimated in both the OK image and the NG image, but the NG portion is correctly estimated in the NG image. It turns out that you can.
- pre-processing for automatically performing alignment on an original image is executed, and an image subjected to pre-processing is used as an input image.
- the image of the target object is given as a template image, and in the pre-processing, the GP learning control unit 121 sets the position searched by template matching on the original image as the ROI. . Then, processing similar to that of the first embodiment is executed using the image in which the ROI is set as an input image. By doing this, for example, in the appearance inspection of an actual production line, it becomes possible to automatically set the ROI correctly in accordance with the positional deviation of the object or the like.
- the average image of the OK image created at the time of learning may be stored as a template image, and the ROI may be set using the template image at the time of quality determination.
- the GP learning control unit 121 functions as an extraction unit that extracts an ROI from an original image by template matching using the original image and a template image.
- the feature extraction filter (filter F0 in FIG. 13) used when calculating the image feature amount of each region is independent of the tree structure filter row. I had prepared things. On the other hand, in the fourth embodiment, the function of the filter F0 is incorporated in the tree structure filter row.
- FIG. 21 shows a tree-structured filter row according to the fourth embodiment.
- a plurality of filters for extracting feature quantities of divided regions are prepared, and any of the plurality of prepared filters is used as a filter indicated by a dotted circle in FIG. In FIG. 21, the filter F4 is used).
- the image feature extraction filter (F4) may be changed by mutation while learning in the same manner as a normal filter, or may be fixed with one filter.
- the output of the feature extraction filter is used as an image feature when calculating the similarity with the NG teaching region, and also as an image feature when generating an SVM classifier. Become.
- Image feature quantities of divided areas In the process shown in FIG. 4 (e) etc., image feature quantities of each divided area are extracted. Variations, brightness ranges, or combinations thereof can be used.
- the above processing functions can be realized by a computer.
- a program is provided which describes the processing content of the function that the processing device should have.
- the above processing functions are realized on the computer by executing the program on the computer.
- the program in which the processing content is described can be recorded on a computer readable recording medium (except for the carrier wave).
- the program is sold in the form of a portable recording medium such as a DVD (Digital Versatile Disc) or a CD-ROM (Compact Disc Read Only Memory) in which the program is recorded.
- the program may be stored in the storage device of the server computer, and the program may be transferred from the server computer to another computer via a network.
- the computer executing 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 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 in accordance with the program. The computer can also execute processing in accordance with the received program each time the program is transferred from the server computer.
- Image Classification Device Information Processing Device
- determination unit 121
- GP learning control unit processing unit, extraction unit
- Image feature extraction unit third data creation unit
- 127 NG area input unit 129
- NG area index calculation unit first data creation unit
- Segmented Region Feature Extraction Unit Second Data Creation Unit
- Similarity calculation unit calculation unit
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Biophysics (AREA)
- Evolutionary Biology (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Mathematical Physics (AREA)
- Medical Informatics (AREA)
- Molecular Biology (AREA)
- Genetics & Genomics (AREA)
- Physiology (AREA)
- Computational Linguistics (AREA)
- Databases & Information Systems (AREA)
- Biomedical Technology (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
Abstract
精度よく画像を分類できる画像分類プログラムを自動生成するため、遺伝的プログラミングに基づいて画像分類プログラムを自動生成する際に、画像分類装置は、学習画像のNG領域の入力を受け付け、学習画像(ROI)を分割した分割領域それぞれと、NG領域との重なり具合を示すNG教示領域データを作成する。また、画像分類装置は、学習画像を所定の画像分類プログラム(子個体)により画像変換し、得られた画像から、分割領域それぞれの画像特徴量を算出し、分割領域それぞれに対応する画像特徴分布データを作成する。そして、画像分類装置は、NG教示領域データと画像特徴分布データとの類似度を算出し、類似度に基づいて画像分類プログラム(子個体)を評価した結果(適応度)を、遺伝的プログラミングの実行に利用する。
Description
本発明は、情報処理装置、情報処理プログラム及び情報処理方法に関する。
従来、所望の画像処理を実行する画像処理プログラムを、遺伝的プログラミングによって自動生成する技術がある。この技術は、入力画像と目標となる処理結果(目標画像等)を用いて、画像処理プログラムを遺伝的プログラミングによって最適化していくものである。
また、画像処理プログラムの自動生成の一つとして、画像のクラス分類(カテゴリー分類)を行う画像分類プログラムの自動生成法が提案されている(例えば、特許文献1等参照)。画像分類プログラムを用いることで、例えば、画像に写った対象物を良品と不良品の2クラスに分類することができる。
従来の良否判定アルゴリズム自動生成では、複数枚の学習画像とそれぞれに写っている対象物が良品か不良品かのみを示す教示データを用いて学習を実施していた。しかしながら、このような方法では、本来不良品と判断される原因となった部分のほかに、良否とは無関係の差異を良否判定基準として学習に利用してしまう場合があり、判定精度の低下を招くおそれがあった。
1つの側面では、本発明は、精度よく画像を分類できる画像分類プログラムを自動生成することが可能な情報処理装置、情報処理プログラム及び情報処理方法を提供することを目的とする。
一つの態様では、情報処理装置は、要素フィルタを組合せた画像分類プログラムを遺伝的プログラミングに基づいて自動生成する情報処理装置であって、学習画像において特徴的な部分を含む特徴領域の指定を受け付ける受付部と、前記学習画像を分割した分割領域それぞれと、前記特徴領域との重なり具合を示す第1データを作成する第1データ作成部と、前記学習画像を所定の画像分類プログラムにより画像変換し、得られた画像から、前記分割領域それぞれの画像特徴量を算出し、前記分割領域それぞれに対応する前記画像特徴量を示す第2データを作成する第2データ作成部と、前記第1データと前記第2データとの類似度を算出する算出部と、前記類似度に基づいて前記所定の画像分類プログラムを評価した結果を、前記遺伝的プログラミングの実行に利用する処理部と、を備えている。
精度よく画像を分類できる画像分類プログラムを自動生成することができる。
《第1の実施形態》
以下、情報処理装置としての画像分類装置の第1の実施形態について、図1~図16に基づいて詳細に説明する。第1の実施形態に係る画像分類装置は、要素フィルタを組合せた画像分類プログラムを遺伝的プログラミングに基づいて自動生成する機能と、生成された画像分類プログラムを実行して画像分類処理を実行する機能とを備える。
以下、情報処理装置としての画像分類装置の第1の実施形態について、図1~図16に基づいて詳細に説明する。第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は、入力画像を複数のクラスのうちの1つに分類するための画像分類プログラムを、遺伝的プログラミングによって自動的に生成する。生成された画像分類プログラムに基づく画像分類処理には、例えば、入力画像に写っている製品や部品が良品か不良品かを判定する処理や、入力画像に顔が写っているか否かを判定する処理などが含まれる。
画像分類プログラムによって実現される処理には、学習画像を用いた学習によって識別器を生成する識別器生成処理と、識別器に入力する特徴情報を学習画像に基づいて生成する前処理とが含まれる。高精度な画像分類を実現する上で、学習画像からどのような特徴量を抽出して用いるかという点と、得られた特徴量に基づいてどのような識別器を生成するかという点の両方が重要である。画像分類装置100は、遺伝的プログラミングにより、識別器の生成アルゴリズムと前処理アルゴリズムの最適な組み合わせを探索する。これにより、高精度な画像分類が可能な識別器の処理を実現する画像分類プログラムが生成される。
(遺伝的プログラミングにおいて取り扱う個体について)
図2は、遺伝的プログラミングにおいて取り扱う個体の木構造フィルタ列の基本構成の例を示す図である。図2に示すように、個体は、各ノードの要素としてプログラムモジュールが設定された木構造によって表され、この木構造では、入力画像に様々な画像変換を加えて特徴抽出画像を生成し、生成した画像から画像特徴量を抽出し、画像特徴量を組み合わせて特徴ベクトルを作成し、SVM識別器によってOK画像とNG画像を判定するための学習あるいは判定を実行する。なお、OK画像は、良品が写っている画像であり、NG画像は不良品が写っている画像を意味する。また、個体を表す木構造は、それぞれ1以上の隣接する階層を含む区間(処理)に区分される。本第1の実施形態では、木構造は、そのリーフ側(図2の上側)からルート側(図2の下側)に向かって画像変換処理、画像特徴量抽出処理、入力データ作成処理、SVM識別器作成処理に区分される。なお、SVM識別器作成処理には、SVMパラメータ設定処理、SVM識別器生成処理、適応度算出処理が含まれる。
図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識別器生成処理で生成された識別器情報にしたがって、入力データ作成処理で作成された入力データに基づいて、学習画像の良否(OK画像又はNG画像)を判定する分類処理を実行し、分類処理による分類結果と、学習画像に付加されたラベルが示す良否とを比較して、分類結果が正解か不正解かを判定する。そして、適応度算出処理は、交差検定などを用いて判定を複数回実行して学習画像に対する正解率を算出し、算出された正解率に基づいて、個体の適応度を算出する。ここで、適応度とは、目的とする画像認識結果に対して、自動生成した木構造フィルタ列の出力結果がどの程度一致しているかを示す指標である。本第1の実施形態では、適応度算出処理において、各個体の適応度を算出する際に、ペナルティ項も考慮するものとする。ペナルティ項としては、識別器の特徴次元数、木構造のサイズ(木構造に含まれるノード数またはノードの最大階層数)、SVM識別器が用いられる場合のサポートベクトル数などを適用可能である。例えば、一般に、得られるデータと比較して識別器の複雑さが大きくなるほど、過学習が起こりやすくなる。そこで、例えば、特徴次元数が大きいほど、また、木構造のサイズが大きいほど、また、サポートベクトル数が大きいほど、正解率を小さくするように補正して適応度を算出する。なお、特徴次元数は、入力データ作成処理において設定された入力データ生成モジュールに基づいて判別可能である。このように正解率をペナルティ項に応じて補正することで、学習結果の優劣を正確に評価でき、分類精度の高い画像分類プログラムを生成できる。なお、詳細については後述するが、適応度算出処理では、ユーザが画像上で指定するNG領域の位置と、画像変換処理で変換された画像から得られる特徴量の分布との類似度に基づくペナルティ項についても考慮する。この場合、類似度が大きければペナルティ項の値を小さくし、類似度が小さければペナルティ項の値を大きくする。
以上のように図2の木構造のノードがそれぞれ設定されることで、個体が生成される。画像分類装置100は、まず、個体群に含める複数の初期個体を生成した後、この個体群から選択した親個体を基に子個体を生成し、適応度の高い子個体を個体群内の親個体と入れ替える。画像分類装置100は、このような処理を繰り返し実行し、一定以上(予め定めた閾値以上)の適応度を有する個体を最良個体として出力する。
このような処理において、親個体を進化させて子個体を生成する際には、親個体の交叉、あるいは、親個体や子個体の突然変異により、親個体の1つ以上のノードの要素が変更される。親個体の進化のためにあるノードの要素が変更される場合には、変更後の要素は、そのノードが属する区間に対してあらかじめ用意されたプログラムモジュールとなる。例えば、突然変異によって画像変換処理の要素を変更する場合、変更後の要素は、画像変換処理に対応する画像変換フィルタの中から選択される。
このような処理により、各区間での処理アルゴリズムの組み合わせが最適化される。例えば、識別器に入力する特徴量を抽出するための処理アルゴリズムと、識別器を生成するための処理アルゴリズムとの組み合わせが最適化される。その結果、画像分類のための適切な識別器の種類や学習パラメータが選択されるとともに、その識別器への入力に適した特徴量を抽出することが可能になる。したがって、分類精度の高い画像分類プログラムを生成することができる。
(処理の概要)
次に、本第1の実施形態における処理の概要について説明する。本第1の実施形態では、学習画像を用いた学習の際に、ユーザが学習画像(NG画像)のうち、NGと判定される根拠となるNG領域を入力し、画像分類装置100に対して教示する。なお、ユーザは、良否判定の基準に精通しており、目視によりNG領域を特定し、入力装置105aを介してNG領域の座標を入力するものとする。そして、画像分類装置100では、学習画像内におけるNG領域の位置と、学習画像を変換した後の画像の特徴量の分布との類似度を算出する。さらに、画像分類装置100では、算出した類似度を考慮して、個体の適応度を算出し、遺伝的プログラミングによる画像分類プログラムの学習に利用する。
次に、本第1の実施形態における処理の概要について説明する。本第1の実施形態では、学習画像を用いた学習の際に、ユーザが学習画像(NG画像)のうち、NGと判定される根拠となるNG領域を入力し、画像分類装置100に対して教示する。なお、ユーザは、良否判定の基準に精通しており、目視によりNG領域を特定し、入力装置105aを介してNG領域の座標を入力するものとする。そして、画像分類装置100では、学習画像内におけるNG領域の位置と、学習画像を変換した後の画像の特徴量の分布との類似度を算出する。さらに、画像分類装置100では、算出した類似度を考慮して、個体の適応度を算出し、遺伝的プログラミングによる画像分類プログラムの学習に利用する。
以下、上記各処理について、詳細に説明する。
(1) NG領域の教示方法
以下、ユーザがNG領域を指定し、画像分類装置100に教示する方法について説明する。なお、NG領域は、学習画像において特徴的な部分(キズや異物)を含む領域である。
以下、ユーザがNG領域を指定し、画像分類装置100に教示する方法について説明する。なお、NG領域は、学習画像において特徴的な部分(キズや異物)を含む領域である。
図3(a)には、学習画像の一例が示されている。図3(a)の学習画像には、矩形状の対象物が存在しており、この対象物が存在する領域を注目領域(ROI:Region of Interest)と呼ぶものとする。なお、本第1の実施形態では、原則として、画像内の任意の位置にROIが設定されており、そのROI内のみを対象として学習や検査等を行うこととするが、ROIは画像全体であってもよい。
ここで、学習画像のOK画像には対象物に異物やキズは存在せず(図3(a)参照)、NG画像には異物やキズが存在するものとする(図3(b)参照)。この場合において、ユーザがNG領域を教示する際には、図3(b)において破線枠で示すような矩形領域をNG領域として指定することとする。このように、NG領域を矩形領域とすることで、教示作業を簡素化でき、後述するNG領域の指標化の計算を簡単にすることができる。
この場合において、図3(b)の右端の図において示すように、異物やキズが複雑に分布している場合には、複数の矩形領域(NG領域)を教示することとしてもよいし、図3(b)の右から2つ目の図において示すように、1つの大きな矩形領域(NG領域)を教示することとしてもよい。また、図3(b)の左端の図において示すように、一部の異物やキズを含まずに矩形領域(NG領域)を教示することとしてもよい。なお、本第1の実施形態では、学習後に与えられる検査画像(未知画像)には、学習画像と同じ位置にNG領域が存在するとは限らないし、同一のNG(異物やキズ)が存在するとも限らないことを前提としている。
なお、矩形領域に限らず、図3(c)に示すように、ユーザは、円や楕円形状などの矩形以外の基本的な図形でNG領域を教示してもよい。
(2) NG領域の指標化
次に、画像分類装置100が、上述したように教示されたNG領域を指標化する処理について、図4(a)~図4(d)に基づいて説明する。
次に、画像分類装置100が、上述したように教示されたNG領域を指標化する処理について、図4(a)~図4(d)に基づいて説明する。
図4(a)には、円形の部品(対象物)が画像中央付近に存在するNG画像が示されている。図4(a)のNG画像は、対象物の表面に打痕あるいは異物となる楕円が描画されているようなテスト画像(学習画像)である。この学習画像に対して、ユーザが、図4(a)において白色の太線矩形枠で示す領域をNG領域として教示したとする。
また、この画像のROIは図4(b)の白色の細線矩形枠のように設定されているとする。なお、以下においては、ROIの範囲内という意味で単純に「画像内」という文言を用いる場合もあるものとする。
画像中のROIに対しては、分割領域が設定される。例えば、横にM分割、縦にN分割すると、ROIはM×N領域に分割される。図4(b)では5×5領域に分割した例が示されている。なお、分割数については、ユーザが設定することができるものとする。ただし、これに限らず、分割数は、予め定められていてもよい。分割領域には、それぞれ番号が付されているものとする(図4(c)参照)。
このような分割領域に対して、教示したNG領域の指標化が行われる。図4(c)において、黒色の太線矩形枠(図4(a)の白色の太線矩形枠に対応)がNG領域である。ここでは、各分割領域においてNG領域がどれだけの割合を占めるかという値を指標値として求める。図4(d)は、求めた指標値を示すグラフである。図4(d)のグラフによれば、教示したNG領域が画像内のどこに分布しているかが示されており、指標値は、各分割領域で0.0~1.0の値を取る。なお、これに限らず、指標値は、NG領域がそれぞれの分割領域にどれだけの割合で分割されているかを示す値とすることもできる。この場合、全分割領域における指標値の合計が1.0になる。なお、矩形領域(NG領域)が複数存在する場合にも、同様に指標化することができる。以下においては、図4(d)のように画像内でのNG領域の分布を示すデータを「NG教示領域データ」あるいは「NG教示領域指標」などと呼ぶ。なお、NG教示領域データ(NG教示領域指標)は、学習画像を分割した分割領域それぞれと、NG領域との重なり具合を示す第1データであるといえる。
(3) 分割領域の画像特徴量の指標化
次に、画像分類装置100による、分割領域の画像特徴量の指標化処理について、図4(e)に基づいて説明する。
次に、画像分類装置100による、分割領域の画像特徴量の指標化処理について、図4(e)に基づいて説明する。
図4(e)は、後述する画像変換処理によって得られた特徴抽出画像(変換画像)の特徴量が各分割領域においてどのように分布しているかを表したグラフである。
図4(e)の例では、特徴抽出画像が原画像そのままであると仮定し、各分割領域での平均輝度を画像特徴量として算出した例を示している。本第1の実施形態では、図2に示すように、特徴抽出画像からは各種の特徴抽出フィルタにより画像特徴量を抽出して良否判定の識別器を作成しており、良否判定において重要な画像となっている。なお、分割領域の特徴量としては、各分割領域での平均輝度の他にも、ばらつきの標準偏差や範囲(最大値と最小値との差)などを用いることもできる。
以下においては、図4(e)に示すように、変換画像における画像特徴量が各分割領域でどのように分布しているかを表したデータを「画像特徴分布データ」あるいは「画像特徴分布指標」などと呼ぶものとする。なお、画像特徴分布データ(画像特徴分布指標)は、変換画像から算出した分割領域ごとの画像特徴量を示す第2データであるといえる。
(4) NG領域指標と画像特徴分布指標との類似度
上述の(2)、(3)で得られた2つの指標(図4(d)、図4(e))は、NG領域がどのように分布しているか、および、画像特徴量がどのように分布しているかをそれぞれ表した指標となっている。これらの指標が類似していれば、画像変換によって得られた画像が、NG部分の特徴を正しく抽出していると言える。したがって、本第1の実施形態では、この類似度が高くなるような画像変換処理を学習する。ここで、2つの指標の類似度は、2つの指標をベクトルとみなして、コサイン類似度や正規化相関値として求めることができる。
上述の(2)、(3)で得られた2つの指標(図4(d)、図4(e))は、NG領域がどのように分布しているか、および、画像特徴量がどのように分布しているかをそれぞれ表した指標となっている。これらの指標が類似していれば、画像変換によって得られた画像が、NG部分の特徴を正しく抽出していると言える。したがって、本第1の実施形態では、この類似度が高くなるような画像変換処理を学習する。ここで、2つの指標の類似度は、2つの指標をベクトルとみなして、コサイン類似度や正規化相関値として求めることができる。
以下、類似度計算の具体例について、図5及び図6に基づいて説明する。図5(a)、図5(b)の上段には、NG画像の入力画像(学習画像)が示されている。また、図5(a)、図5(b)の中段には、白色矩形枠でNG領域を示した入力画像と、学習序盤において各入力画像を画像変換した後の特徴抽出画像が示されている。さらに、図5(a)、図5(b)の下段には、NG教示領域指標と、画像特徴分布指標が示されている。
また、図6(a)、図6(b)には、学習終盤における、図5(a)、図5(b)と対応する図が示されている。ここで、図5、図6の例では、NG教示領域指標は各分割領域内でNG領域が占める割合であり、画像特徴量は変換画像の各分割領域内の平均輝度である。
図5、図6の最下段には、NG教示領域指標と画像特徴分布指標の類似度を、正規化相関演算で求めた結果が示されている。図5(a)、図5(b)に示すように、学習序盤では、NG画像2の方の類似度はまだ非常に小さい。一方、学習終盤になると、図6(a)、図6(b)に示すように、NG画像1もNG画像2も類似度が1.0に近付いており、学習終盤の方が特徴抽出画像においてNG部分のみを正確に抽出できていることがわかる。
なお、本第1の実施形態では、図2に示すように、木構造フィルタ列には複数の枝が存在する場合があるため、NG領域の類似度も枝の数だけ算出される。したがって、複数の類似度を総合した類似度(総合類似度)を計算する必要があり、その方法としては、一例として以下の(a)、(b)のような方法が考えられる。なお、総合類似度は、NG画像1枚ごとに算出される。
(a)複数の枝についての類似度の絶対値の平均値、最大値又は最小値
(b)複数の枝についての類似度の平均値、最大値又は最小値
(a)複数の枝についての類似度の絶対値の平均値、最大値又は最小値
(b)複数の枝についての類似度の平均値、最大値又は最小値
(5) 適応度の定義
次に、上述したように求められる類似度(総合類似度)を考慮した適応度の算出方法について説明する。
次に、上述したように求められる類似度(総合類似度)を考慮した適応度の算出方法について説明する。
図5(a)、図5(b)の状態(学習序盤)から図6(a)、図6(b)の状態(学習終盤)のように学習を進めるために、類似度が高い場合に類似度に基づくペナルティ項の値が小さくなるようにし、次式(1)のような適応度を定義する。また、次式(2)に示すように、類似度に基づくペナルティ項は、類似度が高くなる(1.0に近づく)につれてゼロに漸近するように定義する。なお、ペナルティ量の算出の際には、前述したNG画像ごとの総合類似度に基づいてペナルティ量を求める必要がある。その際、各NG画像の総合類似度を単純に平均してもよいし、各NG画像の総合類似度の重み付き平均を取ることとしてもよい。重みを付ける基準としては、NG領域の面積に応じた重み係数などが考えられる。
適応度
=正解率-識別器のペナルティ項-類似度に基づくペナルティ項 …(1)
この適応度は、自動生成したプログラムの評価値を示し、適応度が高いほど良いプログラムである。
=正解率-識別器のペナルティ項-類似度に基づくペナルティ項 …(1)
この適応度は、自動生成したプログラムの評価値を示し、適応度が高いほど良いプログラムである。
類似度に基づくペナルティ項
=1.0-類似度のNG画像全体の平均値 …(2)
(2)式で表すように、類似度が高いほど、そのペナルティ項は小さくなる。従って、(1)式で表した適応度は、各項の合計として高くなるように補正される。
=1.0-類似度のNG画像全体の平均値 …(2)
(2)式で表すように、類似度が高いほど、そのペナルティ項は小さくなる。従って、(1)式で表した適応度は、各項の合計として高くなるように補正される。
ここで、正解率としては、学習画像についての交差検定の正解率を用いることができる。以下、NG教示領域データと画像特徴分布データとの類似度に基づくペナルティを単に「類似度に基づくペナルティ項」と呼ぶ。
なお、類似度に基づくペナルティ項を、適切な形で適応度に反映させるため、類似度に基づくペナルティ項に対し、固定あるいは可変の重み係数を掛けることとしてもよい。例えば、類似度の算出に正規化相関演算を用い、総合類似度として、複数の枝の類似度の絶対値の平均値を求め、類似度のペナルティ項を1.0-(複数の枝の類似度の絶対値の平均値)としたとする。この場合、適切な適応度とするには重み係数を0.1~0.3程度とすることが好ましい。
なお、類似度が高いほどペナルティ値が小さくなるように、類似度の値を負に変換したり、逆数に変換したりすることとしてもよい。
(6) NG部分の推定
次に、画像分類装置100によるNG部分の推定方法について説明する。なお、NG部分の推定の際には、遺伝的プログラミングによる画像分類プログラムの学習が既に完了しているものとする。なお、NG部分とは、分割領域のうち、キズや異物が存在する可能性の高い分割領域を意味する。
次に、画像分類装置100によるNG部分の推定方法について説明する。なお、NG部分の推定の際には、遺伝的プログラミングによる画像分類プログラムの学習が既に完了しているものとする。なお、NG部分とは、分割領域のうち、キズや異物が存在する可能性の高い分割領域を意味する。
NG部分の推定においても、図4(b)、図4(c)と同様、分割領域それぞれの画像特徴量を利用することとする。ただし、図4(b)、図4(c)では、NG画像の画像特徴量を対象としていたのに対し、本処理では、OK画像から画像特徴量を求める。
すなわち、本処理では、図7(a)に示すように、学習用のOK画像のROI(白色の実線矩形枠)についてもこれまでと同様に領域分割を実施する。そして、学習用のOK画像のそれぞれについて、画像変換による特徴抽出画像を得た後に、各分割領域において画像特徴量の分布(平均と標準偏差)を算出する。こうして得られた画像特徴量の分布は、図7(b)のように表される。なお、図7(b)のデータは、正常な分布(正常範囲)として学習時に保存しておく。
一方、学習後の良否判定時には、図7(c)に示すような検査対象の画像(対象画像)から同様に各分割領域の画像特徴量を図7(d)のように求め、図7(b)との差分に基づいて、正常な分布に対する異常スコアを算出する。異常スコアは例えば次式(3)により求めることができる。
画像特徴異常スコア
=(対象画像の画像特徴量-正常分布平均値)/正常分布標準偏差 …(3)
=(対象画像の画像特徴量-正常分布平均値)/正常分布標準偏差 …(3)
この異常スコアは分割領域ごとに求められるため、図7(e)のように表すことができる。本第1の実施形態では、異常スコアが所定の閾値よりも大きい分割領域をNG部分と推定する。
図7(f)には、図7(e)において異常スコアが閾値(=3)以上である分割領域をNG部分として推定し、その分割領域を対象画像にオーバーレイ表示した例が示されている。図7(f)では、推定したNG部分が白色の矩形枠にて示されている。
(画像分類装置100の処理機能について)
図8は、画像分類装置100が備える処理機能の構成例を示すブロック図である。画像分類装置100は、画像入力部111、判定部としての画像検査処理部112、プログラム生成部120、記憶部150、を有する。
図8は、画像分類装置100が備える処理機能の構成例を示すブロック図である。画像分類装置100は、画像入力部111、判定部としての画像検査処理部112、プログラム生成部120、記憶部150、を有する。
画像入力部111、画像検査処理部112、及びプログラム生成部120の処理は、例えば、画像分類装置100のプロセッサ101が所定のプログラム(画像分類プログラムを含む)を実行することで実現される。記憶部150は、例えば、画像分類装置100のRAM102の記憶領域として実現される。
画像入力部111は、カメラ107aが撮像した画像のデータを取得し、プログラム生成部120又は画像検査処理部112に出力する。プログラム生成部120は、遺伝的プログラミングにより画像分類プログラムを生成し、生成された画像分類プログラムに対応するデータ(最良個体のデータ)を記憶部150に保存する。なお、プログラム生成部120の内部構成については後述する。
画像検査処理部112は、カメラ107aが撮像した画像のデータを、画像入力部111を介して取得する。また、画像検査処理部112は、記憶部150に記憶されている画像分類プログラムのデータ(最良個体のデータ)を読み出し、読み出した画像分類プログラムを用いて、取得した画像の良否を判定する。画像検査処理部112は、判定結果を、例えば表示装置104aに表示する。
記憶部150は、学習画像や、プログラム生成部120で生成された画像分類プログラムのデータ(最良個体のデータ)を記憶する。学習画像には、学習画像の良否(OK画像又はNG画像)を示すラベルが付加されている。学習画像としては、画像入力部111がカメラ107aから取得した画像を用いることができる。
ここで、プログラム生成部120の詳細についてさらに説明する。プログラム生成部120は、処理部としてのGP(Genetic Programming)学習制御部121、画像変換部122、第3データ作成部としての画像特徴量抽出部123、入力データ作成部124、識別器パラメータ設定部125、識別器生成部126、受付部としてのNG領域入力部127、分割領域設定部128、第1データ作成部としてのNG領域指標算出部129、第2データ作成部としての分割領域特徴量抽出部130、算出部としての類似度算出部131、適応度算出部132、を有する。
GP学習制御部121は、遺伝的プログラミングによるプログラム生成処理全体の実行を制御する。例えば、GP学習制御部121は、初期個体の生成、個体の進化処理などの処理を実行する。
画像変換部122は、個体の木構造における画像変換処理のノードに設定された画像変換フィルタにしたがって、入力画像に対する画像変換処理を実行する。
画像特徴量抽出部123は、個体の木構造における画像特徴量抽出処理のノードに設定された特徴抽出フィルタにしたがって、画像変換後の入力画像からの特徴量抽出処理を実行する。
入力データ作成部124は、個体の木構造における入力データ作成処理のノードに設定されたプログラムモジュールにしたがって、識別器に入力する入力データを画像の特徴量に基づいて生成する。
識別器パラメータ設定部125は、個体の木構造におけるSVMパラメータ設定処理のノードに設定された絶対値と相対値にしたがって、識別器の学習パラメータを設定する処理を実行する。
識別器生成部126は、個体の木構造におけるSVM識別器生成処理のノードに設定されたカーネル関数や動作モードにしたがって、識別器パラメータ設定部125によって設定された学習パラメータを用いて、学習により識別器を生成する処理を実行する。
NG領域入力部127は、ユーザが入力装置105aを介して入力したNG領域の指定を受け付け、NG領域指標算出部129にNG領域の情報(座標)を入力する。
分割領域設定部128は、図4(b)において白色の破線にて示すように、ROIに対して分割領域を設定する。
NG領域指標算出部129は、図4(d)に示すようなNG教示領域指標を算出する。
分割領域特徴量抽出部130は、分割領域それぞれの画像特徴量を抽出し、図4(e)に示すような画像特徴分布指標を算出する。
類似度算出部131は、NG教示領域指標(図4(d))と画像特徴分布指標(図4(e))との類似度を正規化相関演算により算出する。
適応度算出部132は、類似度算出部131が算出した類似度に基づいて、適応度を算出する。
次に、画像分類装置100の処理についてフローチャートを用いて説明する。
(プログラム生成部120の処理)
図9は、プログラム生成部120の処理手順の例を示すフローチャートである。
図9は、プログラム生成部120の処理手順の例を示すフローチャートである。
図9の処理では、まず、ステップS10において、GP学習制御部121は、複数の初期個体を生成し、生成した初期個体を示す情報を記憶部150に格納する。以下、記憶部150に格納される個体のことを「個体群」と呼ぶ。
初期個体の生成手順としては、基本的に、個体の木構造の各処理にノードが設定され、各ノードの要素が、ノードが属する処理に対応するプログラムモジュールの中から選択されて設定される。
次いで、ステップS12では、分割領域設定部128が、分割領域の設定を行う。具体的には、分割領域設定部128は、ROIを縦方向に何等分し、横方向に何等分するかを設定する。なお、分割領域設定部128は、ユーザの入力に基づいて、分割領域の設定を行うこととしてもよいし、予め定められている条件に基づいて分割領域の設定を行うこととしてもよい。本実施形態では、ROIを5×5領域に分割するものとする。
次いで、ステップS14では、GP学習制御部121が、学習画像を記憶部150から読み出す。この場合、例えば、GP学習制御部121は、1枚の学習画像として、OK画像又はNG画像を記憶部150から読み出す。
次いで、ステップS16では、GP学習制御部121が、良否正解データを取得する。この場合、GP学習制御部121が、学習画像に付加されたラベルから、良否正解データ(OK画像であるか、NG画像であるかの情報)を取得する。
次いで、ステップS18では、NG領域入力部127が、NG領域のデータを取得する。この場合、NG領域入力部127は、ユーザからの入力に基づいて、NG領域のデータを教示データとして取得し、NG領域指標算出部129に対して入力する。
次いで、ステップS20では、NG領域指標算出部129が、NG領域の指標化を行う。すなわち、NG領域指標算出部129は、図4(d)に示すようなNG教示領域データ(NG教示領域指標)を生成する。
次いで、ステップS22では、GP学習制御部121が、記憶部150に格納されている学習画像が終了したか否か、すなわち、全ての学習画像を読み出したか否かを判断する。このステップS22の判断が否定された場合には、ステップS14に戻り、次の学習画像に対する処理としてステップS14~S22の処理を実行する。一方、ステップS22の判断が肯定された場合には、ステップS24に移行する。
次いで、ステップS24では、GP学習制御部121が、個体群に含まれる個体の中から、2つの親個体をランダムに選択する。
次いで、ステップS26では、GP学習制御部121が、選択した親個体を用いて2以上の所定数の子個体を生成する。例えば、GP学習制御部121は、選択された2つの親個体の間で交叉を行うことで、2つ以上の所定数の子個体を生成する。また、GP学習制御部121は、生成された各子個体のいずれかのノードに突然変異を発生させ、そのノードの要素を変更する。
次いで、ステップS27では、GP学習制御部121は、生成された子個体の1つを選択する。
次いで、ステップS28では、進化過程処理のサブルーチンが実行される。進化過程処理のサブルーチンにおいては、図10、図11のフローチャートに沿った処理が実行される。
図10、図11の処理では、まず、ステップ50において、GP学習制御部121が、記憶部150から学習画像を読み出す。
次いで、ステップS52では、画像変換部122が、選択された子個体を用いて、ステップS50において読み出された学習画像を画像変換する。次いで、ステップS54では、画像特徴量抽出部123が、変換後の画像に基づいて、画像特徴量を抽出する。
ここで、本第1の実施形態では、図13に示すように、子個体において画像特徴量抽出処理に設定されているフィルタ(図13では、F1、F3)とは異なるフィルタ(F0)を用いて、画像特徴量を抽出することとしている。なお、フィルタF0は、各子個体において共通の(固定の)フィルタであるものとする。すなわち、フィルタF1、F3は、交叉や突然変異によって学習しながら次第に変化して行くが、フィルタF0は変化しないようになっている。なお、フィルタF0への入力は画像変換処理によって変換された特徴抽出画像であり、SVM識別器に入力される特徴抽出画像と同一の画像である。
次いで、ステップS56では、入力データ生成部124が、子個体に基づいて、識別器に入力する入力データを生成する。次いで、ステップS58では、分割領域特徴量抽出部130が、分割領域それぞれの画像特徴量を算出し、図4(e)に示すような画像特徴分布データ(画像特徴分布指標)を生成する。
次いで、ステップS60では、類似度算出部131が、学習画像がNG画像であるか否かを判断する。このステップS60の判断が肯定された場合には、ステップS62に移行し、否定された場合には、ステップS64に移行する。
ステップS60の判断が肯定されて、ステップS62に移行すると、類似度算出部131は、現在読み出している学習画像に対応する画像特徴分布データ(画像特徴分布指標)を記憶部150から読み出し、ステップS56で生成したNG教示領域データ(NG教示領域指標)との類似度を算出する。なお、類似度算出部131は、算出した類似度を記憶部150に格納しておく。その後は、ステップS66に移行する。
一方、ステップS60の判断が否定されて、ステップS64に移行すると、画像特徴量抽出部123は、図7(b)に示すような画像特徴分布データ(画像特徴分布指標)を正常範囲算出用として、記憶部150に格納する。ステップS64の後は、ステップS66に移行する。
ステップS66に移行すると、GP学習制御部121は、学習画像が終了したか否か、すなわちステップS50において全ての学習画像を読み出したか否かを判断する。このステップS66の判断が否定された場合には、ステップS50に戻り、ステップS66の判断が肯定されるまで、ステップS50~S66の処理・判断を繰り返す。一方、ステップS66の判断が肯定されると、図11のステップS70に移行する。
図11のステップS70に移行すると、画像特徴量抽出部123が、画像特徴分布データの正常範囲を算出する。具体的には、画像特徴量抽出部123は、記憶部150から、正常範囲算出用の画像特徴分布データ(図7(b))を複数取得し、基本統計量(平均や標準偏差など)を算出して、画像特徴分布データの正常範囲とする。なお、画像特徴分布データの正常範囲は、OK画像を画像変換して得られた画像から算出した各分割領域の画像特徴量を示す第3データであるといえる。
次いで、ステップS72では、識別器パラメータ設定部125が、識別器の学習パラメータの設定を行う。次いで、ステップS74では、識別器生成部126が、識別器を生成する。
次いで、ステップS76では、GP学習制御部121が、正解率を算出する。すなわち、学習画像それぞれがNG画像であるかOK画像であるかを、例えば交差検定法を用いて判定し、その判定結果が各学習画像に付加された良否を示すラベルと一致した割合を正解率として算出する。次いで、ステップS78では、GP学習制御部121が、識別器のペナルティ項を算出する。
次いで、ステップS80では、類似度算出部131が、前述したようにして、画像特徴分布データとNG教示領域データとの類似度(総合類似度)の算出を行う。次いで、ステップS82では、適応度算出部132が、算出した類似度(総合類似度)に基づくペナルティ項を算出する。そして、ステップS84では、適応度算出部132が、上式(1)に基づいて、適応度を計算する。
以上のようにして、図10、図11の処理(ステップS28の処理)が行われた後は、図9のステップS30に移行する。ステップS30に移行すると、GP学習制御部121が、生成した子個体のすべてを選択済みか否かを判断する。このステップS30の判断が否定された場合には、ステップS26に戻り、ステップS27~S30を繰り返し実行することで、生成した子個体のすべてに対するステップS28の処理を実行する。一方、ステップS30の判断が肯定された場合には、ステップS32に移行する。
ステップS32に移行すると、GP学習制御部121は、ステップS26で生成された子個体の中から、適応度が最も高い子個体を生存させる子個体として選択する。さらに、GP学習制御部121は、残りの子個体の中から生存させる個体をさらに1つ選択する。この選択処理では、例えば、適応度に応じた確率で個体が選択される。GP学習制御部121は、ステップS24で選択された親個体を、生存させる2つの個体に入れ替える。すなわち、GP学習制御部121は、ステップS32において、NG教示領域データ(NG教示領域指標)と画像特徴分布データ(画像特徴分布指標)との類似度に基づく子個体の適応度を、遺伝的プログラミングに利用しているといえる。
次いで、ステップS34では、GP学習制御部121は、親個体の最大適応度が閾値より大きいか否かを判断する。このステップS34の判断が否定された場合には、ステップS24に戻るが、肯定された場合には、ステップS36に移行する。ステップS36に移行すると、GP学習制御部121は、最良個体、すなわち、適応度が最大の個体を記憶部150に保存する。この個体には、ステップS28の処理において生成された識別器を示す識別器情報も含まれる。
以上の処理により、学習処理が終了する。
(画像検査処理部112の処理)
次に、学習処理により得られた個体(最良個体)を用いた画像検査処理部112の処理について、図12のフローチャートに沿って説明する。
次に、学習処理により得られた個体(最良個体)を用いた画像検査処理部112の処理について、図12のフローチャートに沿って説明する。
図12の処理では、まずステップS102において、画像検査処理部112が、記憶部150から最良個体の情報を読み出し、読み出した情報に基づいて、最良個体の木構造を画像検査に用いる木構造として設定する。
次いで、ステップS104では、画像検査処理部112が、読み出した最良個体の情報に基づいて、最良個体の識別器を画像検査に用いる識別器として設定する。
次いで、ステップS106では、画像検査処理部112が、記憶部150から画像特徴分布データの正常範囲を読み出す。なお、ここで読み出す画像特徴分布データの正常範囲は、ステップS70において算出されたデータである。
次いで、ステップS108では、画像検査処理部112が、画像入力部111を介して、検査対象の画像を取得する。この画像は、例えば、カメラ107aによって撮像された画像である。
次いで、ステップS110では、画像検査処理部112が、検査対象の画像をステップS102で設定された画像変換フィルタを用いて画像変換する。また、ステップS112では、画像検査処理部112が、設定されている特徴抽出フィルタにしたがって、変換後の画像の特徴量を抽出する。さらに、ステップS114では、画像検査処理部112が、特徴量データを識別器に入力する。そして、ステップS116では、画像検査処理部112が、識別器による分類を実行する。すなわち、画像検査処理部112は、変換後の画像をOK画像又はNG画像に分類する。
次いで、ステップS118では、画像検査処理部112が、分割領域の画像特徴量を算出する。次いで、ステップS120では、画像検査処理部112が、分割領域単位でのNG部分の推定を行う。すなわち、画像検査処理部112は、図7(e)に示すように分割領域単位で異常スコアを求め、異常スコアが予め定めた閾値を超えている分割領域をNG部分と推定する。なお、本ステップS120の処理は、検査対象の画像の各分割領域の正常又は異常を判定する処理であるといえる。
その後は、ステップS122において、画像検査処理部112が、画像検査結果を表示装置104a上に出力する。画像検査結果には、良否判定結果(OK画像かNG画像か)のほか、ステップS120で推定されたNG部分の情報(図7(f)のようにNG部分をオーバーレイ表示した検査対象の画像)も含まれる。
以上のように、ステップS122までの処理が終了すると、図12の全処理を終了する。
(具体例)
図14~図16には、疑似的なNG画像について、学習および良否判定を実施した結果が示されている。本例では、図14(a)に示すように、学習画像40枚(OK画像20枚、NG画像20枚)で学習し、未知の評価用画像160枚(OK画像80枚、NG画像80枚)で判定精度を調べた。
図14~図16には、疑似的なNG画像について、学習および良否判定を実施した結果が示されている。本例では、図14(a)に示すように、学習画像40枚(OK画像20枚、NG画像20枚)で学習し、未知の評価用画像160枚(OK画像80枚、NG画像80枚)で判定精度を調べた。
図14(b)は、学習画像のOK画像の例を示し、図14(c)は、学習画像のNG画像の例を示している。NG画像は、図4(a)と同様、円形の対象物の表面に打痕あるいは異物となる楕円が描画されているようなテスト画像である。
NG画像に対して、ユーザは、図14(b)に示すように、NG領域を矩形で教示した。また、ROIの分割数は5×5とした。
図14(d)には、NG領域を教示せずに、OK又はNGの正解だけを教示して学習した場合の良否判定結果(正解率)が示され、図14(e)には、NG領域と、OK又はNGの正解とを教示して学習した場合の良否判定結果(正解率)が示されている。なお、図14(d)、図14(e)では、学習序盤や中盤における学習結果も含めて、評価用画像に対して良否判定を行った結果が示されている。なお、世代番号が小さいほど、学習序盤を意味し、世代番号が大きいほど、学習終盤を意味する。
図14(d)、図14(e)からは、NG領域の教示を行って学習した方(図14(e)の方)が、最終的な正解率を高くでき、また、早い段階で正解率100%に達していることから、学習時間を短縮できることがわかる。
図15には、NG領域を教示しない場合の最終世代(第400世代)における、NG部分の推定をOK画像とNG画像それぞれについて実施した結果を示す図である。また、図16には、NG領域を教示する場合の最終世代(第268世代)における、NG部分の推定をOK画像とNG画像それぞれについて実施した結果を示す図である。なお、図15、図16のNG画像は、NG領域教示なしの場合にOK画像と判定され(誤判定され)、NG領域教示ありの場合にNG画像と判定されたNG画像である。
図15の中段と、図16の中段とを比較するとわかるように、NG領域を教示しないで学習した場合には、特徴抽出画像において、判定に無関係な対象物の外径部分が特徴部分として抽出されており、NG領域を教示して学習した場合には、NG部分に限定して特徴部分を抽出できていることがわかる。
また、図15の下段と、図16の下段を比較するとわかるように、NG領域を教示して学習した場合(図16)には、キズや異物が存在する部分のみをNG部分と推定できるが、NG領域を教示しないで学習した場合(図15)には、キズや異物が存在する部分をNG部分と推定できず、また、キズや異物が存在する部分以外をNG部分と推定してしまうことが分かった。なお、図15の下段と図16の下段においては、白線矩形の線が太いほど異常スコアが大きいことを意味している。
以上のように、NG領域を教示して学習する場合の方が、良否判定の精度が高く、NG部分の推定も正確であることが確認できた。
以上、詳細に説明したように、本第1の実施形態によると、遺伝的プログラミングに基づいて画像分類プログラムを自動生成する際に、画像分類装置100は、学習画像のNG領域の入力を受け付け(S18)、学習画像(ROI)を分割した分割領域それぞれと、NG領域との重なり具合を示すNG教示領域データ(NG教示領域指標)を作成する(S20)。また、画像分類装置100は、学習画像を所定の画像分類プログラム(子個体)により画像変換し、得られた画像から、分割領域それぞれの画像特徴量を算出し、分割領域それぞれに対応する画像特徴分布データ(画像特徴分布指標)を作成する(S58)。そして、画像分類装置100は、NG教示領域データ(NG教示領域指標)と画像特徴分布データ(画像特徴分布指標)との類似度を算出し(S80)、類似度に基づいて画像分類プログラム(子個体)を評価した結果(適応度)を、遺伝的プログラミングの実行に利用する(S82、S84)。これにより、本第1の実施形態では、教示したNG領域において差異が顕著に現れるような画像変換処理を優先的に学習することができるため、真のNG部分に基づいた学習結果(画像分類プログラム)を得ることができるとともに、学習速度の高速化も実現できる。また、学習結果に基づいて画像の良否判定を行うことで、判定精度を向上させることができる。
また、本第1の実施形態では、画像分類装置100は、自動生成された画像分類プログラムを用いて、全ての分割領域が正常な学習画像を画像変換し、得られた画像から、画像特徴量分布データの正常範囲を算出し(S106)、検査対象の画像の画像特徴分布データと、正常範囲との比較結果に基づいて、検査対象の画像のNG部分を推定する(S120)。これにより、検査対象の画像内のNG部分を分割領域の単位で精度よく推定することができる。また、領域の分割や、画像特徴分布データの算出方法は、学習時と共通であるため、計算コストなどを抑えることができる。
また、本第1の実施形態では、ユーザが指定するNG領域が、矩形や円形、楕円形などの簡単な形状であるため、教示作業の負担を軽減することができるとともに、NG領域の指標化の計算を簡単にすることができる。
《第2の実施形態》
以下、第2の実施形態について、図17~図19に基づいて説明する。
以下、第2の実施形態について、図17~図19に基づいて説明する。
上述した第1の実施形態では、学習画像として原画像をそのまま木構造フィルタ列へ入力することとしていたが、本第2の実施形態では、図17に示すように、原画像に対して事前処理を行い、事前処理が施された画像を学習画像として入力する。
入力画像の事前処理は、原画像に対して画像全体の平均輝度のばらつきを抑える処理であり、例えば、画像1枚単位で平均差分処理あるいは正規化処理である。ここで、平均差分処理は、平均輝度を調整する処理であり、正規化処理とは、平均差分処理を行った上で、輝度のばらつきで除する処理である。画像全体の平均輝度がばらついている場合には、画像1枚単位で平均差分処理や正規化処理を行うことが有効である。
また、入力画像の事前処理としては、画像1枚単位ではなく、例えば、学習時のOK画像全体の平均画像を用いて平均差分処理あるいは正規化処理を実施することとしてもよい。OK画像全体の平均画像を用いて平均差分画像を作成した場合、入力画像を全く変換せずに特徴抽出を行っても、その画像特徴量を正常分布からの変化量として得ることができる。したがって、簡単な画像変換でも、NG領域と画像特徴量との類似度を高くすることができる。
図18には、本第2の実施形態による学習及び良否判定をテストした結果が示されている。図18(a)に示すように、このテストに用いた原画像は、円形部品の表面にキズ不良が生じている画像であり、OK画像であっても小さなキズが多数存在するため、所定の長さや所定の太さ以上の線分だけをNGと扱うこととした。
図18(b)には、NG画像に対してNG領域を教示した例が示されている。また、図18(c)には、図18(b)の原画像に対して事前処理を行い、その結果得られた入力画像が示されている。このテストでは、事前処理として、画像1枚単位で平均輝度を合わせた後に、OK画像全体の平均画像との差分をとる処理を採用した。なお、OK画像全体の平均画像との差分は絶対値で求めているため、平均画像に一致していればゼロ、平均輝度より明るい画素や暗い画素はどちらもゼロ以上の輝度値となるように変換される。
第1の実施形態(図14(a))と同様、学習画像40枚を用い、全く同じ初期個体からNG領域の教示なしと教示ありの両方で学習を行って、評価用画像160枚の良否判定を比較した結果を図18(d)、図18(e)に示す。図18(d)、図18(e)に示すように、平均的な判定精度および最終的な判定精度の両方において、NG領域を教示して学習した方が高い精度を得ることができることがわかった。
図19には、NG領域を教示した場合におけるNG部分の推定結果が示されている。本テストにおいては、OK画像にも小さなキズ等がわずかに存在しているため、OK画像及びNG画像のいずれにおいてもNG部分がやや多めに推定されるが、NG画像においてNG部分を正しく推定することができることが分かった。
《第3の実施形態》
次に、第3の実施形態について、図20に基づいて説明する。
次に、第3の実施形態について、図20に基づいて説明する。
本第3の実施形態では、図20に示すように、原画像に対して位置合わせを自動的に行う事前処理を実行し、事前処理が施された画像を入力画像とする。
すなわち、本第3の実施形態では、対象の物体の画像をテンプレート画像として与えておき、事前処理においては、GP学習制御部121が、原画像上でテンプレートマッチングにより探索した位置をROIとして設定する。そして、ROIが設定された画像を入力画像として、第1の実施形態と同様の処理を実行する。このようにすることで、例えば、実際の生産ラインの外観検査などにおいて、対象物の位置ずれなどに合わせてROIを自動的に正しく設定することが可能となる。
なお、学習時に作成したOK画像の平均画像をテンプレート画像として保存し、良否判定時にはそのテンプレート画像を用いてROIを設定するようにしてもよい。
なお、本第3の実施形態では、GP学習制御部121が、原画像と、テンプレート画像とを用いたテンプレートマッチングにより、原画像からROIを抽出する抽出部として機能している。
《第4の実施形態》
上述した第1の実施形態及び第2、第3の実施形態では、各領域の画像特徴量を算出する際に用いる特徴抽出フィルタ(図13のフィルタF0)として、木構造フィルタ列とは独立のものを用意していた。これに対し、本第4の実施形態では、フィルタF0の機能を木構造フィルタ列に組み込むこととしている。
上述した第1の実施形態及び第2、第3の実施形態では、各領域の画像特徴量を算出する際に用いる特徴抽出フィルタ(図13のフィルタF0)として、木構造フィルタ列とは独立のものを用意していた。これに対し、本第4の実施形態では、フィルタF0の機能を木構造フィルタ列に組み込むこととしている。
図21には、第4の実施形態に係る木構造フィルタ列が示されている。本第4の実施形態では、分割領域の特徴量を抽出するフィルタを複数用意しておき、図21中の点線円で示すフィルタとして、用意しておいた複数のフィルタのいずれかを使用する(図21では、フィルタF4を使用している)。
なお、この画像特徴抽出フィルタ(F4)は、通常のフィルタと同様に学習しながら突然変異により変更してもよいし、1つのフィルタで固定してもよい。いずれの場合でも、この特徴抽出フィルタの出力が、NG教示領域との類似度を計算する際の画像特徴量として用いられるとともに、SVM識別器を生成する際の画像特徴量としても用いられることになる。
(変形例)
以下、変形例について説明する。
以下、変形例について説明する。
(1) 分割領域の画像特徴量
図4(e)などの処理においては、各分割領域の画像特徴量を抽出しているが、その画像特徴量として、各分割領域内の平均輝度、輝度のばらつき、輝度範囲、あるいは、それらの組合せを使用することができる。
図4(e)などの処理においては、各分割領域の画像特徴量を抽出しているが、その画像特徴量として、各分割領域内の平均輝度、輝度のばらつき、輝度範囲、あるいは、それらの組合せを使用することができる。
(2) NG教示領域データと画像特徴量分布データとの類似度演算
図4(d)、図4(e)などのデータに基づいて類似度を算出する場合、前述した正規化相関値やコサイン類似度のほかにも、差分二乗和、差分絶対値和などベクトル間の距離を求める各種の演算を用いることができる。なお、演算の種類に応じて、適応度への反映のさせ方を調節する必要はある。
図4(d)、図4(e)などのデータに基づいて類似度を算出する場合、前述した正規化相関値やコサイン類似度のほかにも、差分二乗和、差分絶対値和などベクトル間の距離を求める各種の演算を用いることができる。なお、演算の種類に応じて、適応度への反映のさせ方を調節する必要はある。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、処理装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体(ただし、搬送波は除く)に記録しておくことができる。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD(Digital Versatile Disc)、CD-ROM(Compact Disc Read Only Memory)などの可搬型記録媒体の形態で販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
100 画像分類装置(情報処理装置)
112 画像検査処理部(判定部)
121 GP学習制御部(処理部、抽出部)
123 画像特徴量抽出部(第3データ作成部)
127 NG領域入力部(受付部)
129 NG領域指標算出部(第1データ作成部)
130 分割領域特徴量抽出部(第2データ作成部)
131 類似度算出部(算出部)
112 画像検査処理部(判定部)
121 GP学習制御部(処理部、抽出部)
123 画像特徴量抽出部(第3データ作成部)
127 NG領域入力部(受付部)
129 NG領域指標算出部(第1データ作成部)
130 分割領域特徴量抽出部(第2データ作成部)
131 類似度算出部(算出部)
Claims (17)
- 要素フィルタを組合せた画像分類プログラムを遺伝的プログラミングに基づいて自動生成する情報処理装置であって、
学習画像において特徴的な部分を含む特徴領域の指定を受け付ける受付部と、
前記学習画像を分割した分割領域それぞれと、前記特徴領域との重なり具合を示す第1データを作成する第1データ作成部と、
前記学習画像を所定の画像分類プログラムにより画像変換し、得られた画像から、前記分割領域それぞれの画像特徴量を算出し、前記分割領域それぞれに対応する前記画像特徴量を示す第2データを作成する第2データ作成部と、
前記第1データと前記第2データとの類似度を算出する算出部と、
前記類似度に基づいて前記所定の画像分類プログラムを評価した結果を、前記遺伝的プログラミングの実行に利用する処理部と、
を備える情報処理装置。 - 自動生成された画像分類プログラムを用いて、正常な画像を画像変換し、得られた画像から、前記分割領域それぞれの画像特徴量を算出し、前記分割領域それぞれに対応する前記画像特徴量を示す第3データを作成する第3データ作成部と、
処理対象の画像の前記分割領域それぞれの画像特徴量と、前記第3データとの比較結果に基づいて、前記処理対象の画像の各分割領域の正常又は異常を判定する判定部と、を更に備える請求項1に記載の情報処理装置。 - 前記特徴領域は、矩形、円形又は楕円形の領域であることを特徴とする請求項1又は2に記載の情報処理装置。
- 前記処理部は、前記類似度が高いほど前記所定の画像分類プログラムの評価の高さを示す適応度が高くなるように補正する、ことを特徴とする請求項1~3のいずれか一項に記載の情報処理装置。
- 前記学習画像は、原画像に対して画像全体の平均輝度のばらつきを抑える事前処理を実行した後の画像であることを特徴とする請求項1~4のいずれか一項に記載の情報処理装置。
- 前記学習画像は、原画像の一部であり、
前記原画像と、予め用意しておいたテンプレート画像とを用いたテンプレートマッチングにより、前記原画像から前記学習画像を抽出する抽出部を更に備える請求項1~4のいずれか一項に記載の情報処理装置。 - 前記第2データ作成部が前記分割領域それぞれの画像特徴量を算出する際に用いる特徴量フィルタは、予め定められた特徴量フィルタであることを特徴とする請求項1~6のいずれか一項に記載の情報処理装置。
- 前記第2データ作成部が前記分割領域それぞれの画像特徴量を算出する際に用いる特徴量フィルタは、前記遺伝的プログラミングによる前記画像分類プログラムの生成処理に応じて変更されることを特徴とする請求項1~6のいずれか一項に記載の情報処理装置。
- 要素フィルタを組合せた画像分類プログラムを遺伝的プログラミングに基づいて自動生成する情報処理プログラムであって、
学習画像において特徴的な部分を含む特徴領域の指定を受け付け、
前記学習画像を分割した分割領域それぞれと、前記特徴領域との重なり具合を示す第1データを作成し、
前記学習画像を所定の画像分類プログラムにより画像変換し、得られた画像から、前記分割領域それぞれの画像特徴量を算出し、前記分割領域それぞれに対応する前記画像特徴量を示す第2データを作成し、
前記第1データと前記第2データとの類似度を算出し、
前記類似度に基づいて前記所定の画像分類プログラムを評価した結果を、前記遺伝的プログラミングの実行に利用する、
処理をコンピュータに実行させるための情報処理プログラム。 - 自動生成された画像分類プログラムを用いて、正常な画像を画像変換し、得られた画像から、前記分割領域それぞれの画像特徴量を算出し、前記分割領域それぞれに対応する前記画像特徴量を示す第3データを作成し、
処理対象の画像の前記分割領域それぞれの画像特徴量と、前記第3データとの比較結果に基づいて、前記処理対象の画像の各分割領域の正常又は異常を判定する、
処理を前記コンピュータに更に実行させることを特徴とする請求項9に記載の情報処理プログラム。 - 前記特徴領域は、矩形、円形又は楕円形の領域であることを特徴とする請求項9又は10に記載の情報処理プログラム。
- 前記利用する処理では、前記類似度が高いほど前記所定の画像分類プログラムの評価の高さを示す適応度が高くなるように補正する、ことを特徴とする請求項9~11のいずれか一項に記載の情報処理プログラム。
- 前記学習画像は、原画像に対して画像全体の平均輝度のばらつきを抑える事前処理を実行した後の画像であることを特徴とする請求項9~12のいずれか一項に記載の情報処理プログラム。
- 前記学習画像は、原画像の一部であり、
前記原画像と、予め用意しておいたテンプレート画像とを用いたテンプレートマッチングにより、前記原画像から前記学習画像を抽出する、ことを特徴とする請求項9~12のいずれか一項に記載の情報処理プログラム。 - 前記第2データを作成する処理において、前記分割領域それぞれの画像特徴量を算出する際に用いる特徴量フィルタは、予め定められた特徴量フィルタであることを特徴とする請求項9~14のいずれか一項に記載の情報処理プログラム。
- 前記第2データを作成する処理において、前記分割領域それぞれの画像特徴量を算出する際に用いる特徴量フィルタは、前記遺伝的プログラミングによる前記画像分類プログラムの生成処理に応じて変更されることを特徴とする請求項9~14のいずれか一項に記載の情報処理プログラム。
- 要素フィルタを組合せた画像分類プログラムを遺伝的プログラミングに基づいて自動生成する情報処理方法であって、
学習画像において特徴的な部分を含む特徴領域の指定を受け付け、
前記学習画像を分割した分割領域それぞれと、前記特徴領域との重なり具合を示す第1データを作成し、
前記学習画像を所定の画像分類プログラムにより画像変換し、得られた画像から、前記分割領域それぞれの画像特徴量を算出し、前記分割領域それぞれに対応する前記画像特徴量を示す第2データを作成し、
前記第1データと前記第2データとの類似度を算出し、
前記類似度に基づいて前記所定の画像分類プログラムを評価した結果を、前記遺伝的プログラミングの実行に利用する
処理をコンピュータが実行することを特徴とする情報処理方法。
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2019533730A JP6798619B2 (ja) | 2017-07-31 | 2017-07-31 | 情報処理装置、情報処理プログラム及び情報処理方法 |
| PCT/JP2017/027633 WO2019026104A1 (ja) | 2017-07-31 | 2017-07-31 | 情報処理装置、情報処理プログラム及び情報処理方法 |
| EP17920292.4A EP3664019A4 (en) | 2017-07-31 | 2017-07-31 | INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING PROGRAM AND INFORMATION PROCESSING PROCESS |
| CN201780093076.5A CN110914864A (zh) | 2017-07-31 | 2017-07-31 | 信息处理装置、信息处理程序和信息处理方法 |
| US16/717,388 US11055571B2 (en) | 2017-07-31 | 2019-12-17 | Information processing device, recording medium recording information processing program, and information processing method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2017/027633 WO2019026104A1 (ja) | 2017-07-31 | 2017-07-31 | 情報処理装置、情報処理プログラム及び情報処理方法 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US16/717,388 Continuation US11055571B2 (en) | 2017-07-31 | 2019-12-17 | Information processing device, recording medium recording information processing program, and information processing method |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2019026104A1 true WO2019026104A1 (ja) | 2019-02-07 |
Family
ID=65233555
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2017/027633 Ceased WO2019026104A1 (ja) | 2017-07-31 | 2017-07-31 | 情報処理装置、情報処理プログラム及び情報処理方法 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US11055571B2 (ja) |
| EP (1) | EP3664019A4 (ja) |
| JP (1) | JP6798619B2 (ja) |
| CN (1) | CN110914864A (ja) |
| WO (1) | WO2019026104A1 (ja) |
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110069347A (zh) * | 2019-04-29 | 2019-07-30 | 河南科技大学 | 一种基于过程重要度的线程划分方法 |
| JP2020187654A (ja) * | 2019-05-16 | 2020-11-19 | 株式会社キーエンス | 画像検査装置 |
| JP2020187661A (ja) * | 2019-05-16 | 2020-11-19 | 株式会社キーエンス | 画像検査装置 |
| JP2020187657A (ja) * | 2019-05-16 | 2020-11-19 | 株式会社キーエンス | 画像検査装置 |
| JP2021051617A (ja) * | 2019-09-26 | 2021-04-01 | 東洋製罐グループホールディングス株式会社 | 画像処理システム、及び画像処理プログラム |
| JP2021051404A (ja) * | 2019-09-22 | 2021-04-01 | 株式会社リョーワ | 良否判定システム、サーバ及び良否判定方法 |
| US20220044147A1 (en) * | 2018-10-05 | 2022-02-10 | Nec Corporation | Teaching data extending device, teaching data extending method, and program |
| WO2022172739A1 (en) * | 2021-02-11 | 2022-08-18 | Panasonic Intellectual Property Management Co., Ltd. | Method and system for checking data gathering conditions associated with image-data during ai based visual-inspection process |
Families Citing this family (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP6333871B2 (ja) * | 2016-02-25 | 2018-05-30 | ファナック株式会社 | 入力画像から検出した対象物を表示する画像処理装置 |
| JP6792842B2 (ja) * | 2017-06-06 | 2020-12-02 | 株式会社デンソー | 外観検査装置、変換データ生成装置、及びプログラム |
| CN110914864A (zh) * | 2017-07-31 | 2020-03-24 | 富士通株式会社 | 信息处理装置、信息处理程序和信息处理方法 |
| JP7143672B2 (ja) * | 2018-08-06 | 2022-09-29 | 日本電信電話株式会社 | 誤り判定装置、誤り判定方法、及びプログラム |
| JP2021117548A (ja) * | 2020-01-22 | 2021-08-10 | 富士通株式会社 | 画像処理装置、画像処理方法及び画像処理プログラム |
| US20210248463A1 (en) * | 2020-02-06 | 2021-08-12 | Socionext Inc. | Neural network derivation method |
| JP7531412B2 (ja) * | 2021-01-25 | 2024-08-09 | 株式会社荏原製作所 | 加工面判定装置、加工面判定プログラム、加工面判定方法、加工システム、推論装置、及び、機械学習装置 |
| JP2022114332A (ja) * | 2021-01-26 | 2022-08-05 | 日東電工株式会社 | クラス判定システム、クラス判定方法及びクラス判定プログラム |
| JP2024018149A (ja) * | 2022-07-29 | 2024-02-08 | セイコーエプソン株式会社 | 画像処理シーケンスの生成方法、生成装置、および、コンピュータープログラム |
| CN119942198B (zh) * | 2025-01-06 | 2025-11-21 | 广西大学 | 基于分层学习遗传编程算法的小样本图像分类方法 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2004239870A (ja) * | 2003-02-10 | 2004-08-26 | Seiko Epson Corp | 空間フィルタ、空間フィルタの作成方法、空間フィルタ作成プログラム、画面欠陥の検査方法及び装置 |
| JP2006260410A (ja) * | 2005-03-18 | 2006-09-28 | Sharp Corp | 画像処理アルゴリズムの評価装置、生成装置、評価方法、生成方法、コンピュータをその評価装置として機能させるためのプログラム、およびコンピュータをその生成装置として機能させるためのプログラム |
| JP2009104275A (ja) * | 2007-10-22 | 2009-05-14 | Sony Corp | 情報処理装置、情報処理方法、およびプログラム |
| JP2013125524A (ja) * | 2011-12-16 | 2013-06-24 | Hitachi High-Technologies Corp | 学習用装置、および、遺伝子学習方法 |
| WO2017068675A1 (ja) | 2015-10-22 | 2017-04-27 | 富士通株式会社 | プログラム生成装置、プログラム生成方法および生成プログラム |
Family Cites Families (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4428077A (en) * | 1979-09-03 | 1984-01-24 | Hitachi, Ltd. | Line recognition method |
| US5485531A (en) * | 1987-12-17 | 1996-01-16 | Fuji Electric Co., Ltd. | Character-feature extraction device |
| CA2077969C (en) * | 1991-11-19 | 1997-03-04 | Daniel P. Huttenlocher | Method of deriving wordshapes for subsequent comparison |
| JP3744464B2 (ja) * | 2002-05-20 | 2006-02-08 | ソニー株式会社 | 信号記録再生装置及び方法、信号再生装置及び方法、並びにプログラム及び記録媒体 |
| US7167587B2 (en) * | 2002-08-30 | 2007-01-23 | Lockheed Martin Corporation | Sequential classifier for use in pattern recognition system |
| JP4217964B2 (ja) * | 2003-08-20 | 2009-02-04 | ソニー株式会社 | 情報信号処理装置および情報信号処理方法 |
| US7668376B2 (en) * | 2004-06-30 | 2010-02-23 | National Instruments Corporation | Shape feature extraction and classification |
| JP2007200246A (ja) | 2006-01-30 | 2007-08-09 | Sharp Corp | 画像処理アルゴリズムの評価方法、生成方法、装置、プログラムおよび記録媒体 |
| US8131657B2 (en) | 2007-10-22 | 2012-03-06 | Sony Corporation | Information processing device, information processing method, and program |
| JP4670976B2 (ja) * | 2008-10-03 | 2011-04-13 | ソニー株式会社 | 学習装置および方法、認識装置および方法、プログラム、並びに記録媒体 |
| JP2011216080A (ja) * | 2010-03-18 | 2011-10-27 | Canon Inc | 画像処理装置、画像処理方法、および記憶媒体 |
| JP5548508B2 (ja) * | 2010-04-21 | 2014-07-16 | 日本放送協会 | 画像分類装置及びプログラム |
| JP5894492B2 (ja) * | 2012-04-19 | 2016-03-30 | 日本放送協会 | 画像処理装置、画像検索装置及びプログラム |
| JP6188400B2 (ja) * | 2013-04-26 | 2017-08-30 | オリンパス株式会社 | 画像処理装置、プログラム及び画像処理方法 |
| US9904874B2 (en) * | 2015-11-05 | 2018-02-27 | Microsoft Technology Licensing, Llc | Hardware-efficient deep convolutional neural networks |
| CN110914864A (zh) * | 2017-07-31 | 2020-03-24 | 富士通株式会社 | 信息处理装置、信息处理程序和信息处理方法 |
| KR101977174B1 (ko) * | 2017-09-13 | 2019-05-10 | 이재준 | 영상 분석 방법, 장치 및 컴퓨터 프로그램 |
-
2017
- 2017-07-31 CN CN201780093076.5A patent/CN110914864A/zh active Pending
- 2017-07-31 JP JP2019533730A patent/JP6798619B2/ja not_active Expired - Fee Related
- 2017-07-31 EP EP17920292.4A patent/EP3664019A4/en not_active Withdrawn
- 2017-07-31 WO PCT/JP2017/027633 patent/WO2019026104A1/ja not_active Ceased
-
2019
- 2019-12-17 US US16/717,388 patent/US11055571B2/en not_active Expired - Fee Related
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2004239870A (ja) * | 2003-02-10 | 2004-08-26 | Seiko Epson Corp | 空間フィルタ、空間フィルタの作成方法、空間フィルタ作成プログラム、画面欠陥の検査方法及び装置 |
| JP2006260410A (ja) * | 2005-03-18 | 2006-09-28 | Sharp Corp | 画像処理アルゴリズムの評価装置、生成装置、評価方法、生成方法、コンピュータをその評価装置として機能させるためのプログラム、およびコンピュータをその生成装置として機能させるためのプログラム |
| JP2009104275A (ja) * | 2007-10-22 | 2009-05-14 | Sony Corp | 情報処理装置、情報処理方法、およびプログラム |
| JP2013125524A (ja) * | 2011-12-16 | 2013-06-24 | Hitachi High-Technologies Corp | 学習用装置、および、遺伝子学習方法 |
| WO2017068675A1 (ja) | 2015-10-22 | 2017-04-27 | 富士通株式会社 | プログラム生成装置、プログラム生成方法および生成プログラム |
Non-Patent Citations (1)
| Title |
|---|
| See also references of EP3664019A4 |
Cited By (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20220044147A1 (en) * | 2018-10-05 | 2022-02-10 | Nec Corporation | Teaching data extending device, teaching data extending method, and program |
| US12229643B2 (en) * | 2018-10-05 | 2025-02-18 | Nec Corporation | Teaching data extending device, teaching data extending method, and program |
| CN110069347B (zh) * | 2019-04-29 | 2022-10-25 | 河南科技大学 | 一种基于过程重要度的线程划分方法 |
| CN110069347A (zh) * | 2019-04-29 | 2019-07-30 | 河南科技大学 | 一种基于过程重要度的线程划分方法 |
| JP2020187657A (ja) * | 2019-05-16 | 2020-11-19 | 株式会社キーエンス | 画像検査装置 |
| JP2020187661A (ja) * | 2019-05-16 | 2020-11-19 | 株式会社キーエンス | 画像検査装置 |
| JP7248496B2 (ja) | 2019-05-16 | 2023-03-29 | 株式会社キーエンス | 画像検査装置 |
| JP7308656B2 (ja) | 2019-05-16 | 2023-07-14 | 株式会社キーエンス | 画像検査装置 |
| JP2020187654A (ja) * | 2019-05-16 | 2020-11-19 | 株式会社キーエンス | 画像検査装置 |
| JP2021051404A (ja) * | 2019-09-22 | 2021-04-01 | 株式会社リョーワ | 良否判定システム、サーバ及び良否判定方法 |
| JP2021051617A (ja) * | 2019-09-26 | 2021-04-01 | 東洋製罐グループホールディングス株式会社 | 画像処理システム、及び画像処理プログラム |
| WO2022172739A1 (en) * | 2021-02-11 | 2022-08-18 | Panasonic Intellectual Property Management Co., Ltd. | Method and system for checking data gathering conditions associated with image-data during ai based visual-inspection process |
| JP2023552178A (ja) * | 2021-02-11 | 2023-12-14 | パナソニックIpマネジメント株式会社 | Ai型目視検査処理中における画像データに関連するデータ収集状態の確認方法及び確認システム |
| JP7526932B2 (ja) | 2021-02-11 | 2024-08-02 | パナソニックIpマネジメント株式会社 | Ai型目視検査処理中における画像データに関連するデータ収集状態の確認方法及び確認システム |
Also Published As
| Publication number | Publication date |
|---|---|
| JP6798619B2 (ja) | 2020-12-09 |
| EP3664019A4 (en) | 2020-08-26 |
| CN110914864A (zh) | 2020-03-24 |
| EP3664019A1 (en) | 2020-06-10 |
| US11055571B2 (en) | 2021-07-06 |
| US20200125889A1 (en) | 2020-04-23 |
| JPWO2019026104A1 (ja) | 2020-03-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2019026104A1 (ja) | 情報処理装置、情報処理プログラム及び情報処理方法 | |
| JP6088792B2 (ja) | 画像検出装置及び制御プログラム並びに画像検出方法 | |
| US9152926B2 (en) | Systems, methods, and media for updating a classifier | |
| CN113269257A (zh) | 一种图像分类方法、装置、终端设备及存储介质 | |
| US20210110215A1 (en) | Information processing device, information processing method, and computer-readable recording medium recording information processing program | |
| CN102722712A (zh) | 基于连续度的多尺度高分辨图像目标检测方法 | |
| CN112598031A (zh) | 一种蔬菜病害检测方法及系统 | |
| US20150139546A1 (en) | Image segmenting apparatus and method | |
| CN107784288A (zh) | 一种基于深度神经网络的迭代定位式人脸检测方法 | |
| JP6989450B2 (ja) | 画像解析装置、画像解析方法及びプログラム | |
| JP2018106618A (ja) | 画像データ分類装置、オブジェクト検出装置及びこれらのプログラム | |
| CN110582783A (zh) | 训练装置、图像识别装置、训练方法和程序 | |
| CN111046923A (zh) | 一种基于边界框的图像目标检测方法、装置及存储介质 | |
| CN107423771B (zh) | 一种两时相遥感图像变化检测方法 | |
| JP5214679B2 (ja) | 学習装置、方法及びプログラム | |
| JP2015094973A (ja) | 画像処理装置、画像処理方法、画像処理プログラム、及び記録媒体 | |
| CN116935125A (zh) | 通过弱监督实现的噪声数据集目标检测方法 | |
| JP2023545221A (ja) | 顔と手との関連度の検出方法、装置、機器及び記憶媒体 | |
| US20240062527A1 (en) | Training device and training method | |
| CN113971671A (zh) | 实例分割方法、装置、电子设备及存储介质 | |
| JP2015106408A (ja) | 画像処理装置及び画像処理方法 | |
| CN117372732A (zh) | 一种基于深度学习的图像目标检测方法 | |
| JP6095050B2 (ja) | テクスチャ検出装置、テクスチャ検出方法、テクスチャ検出プログラム及び画像処理システム | |
| Bansal et al. | Word recognition from Indian Sign Language in videos using dual feature descriptor and GMT-MASKRCNN recognition technique | |
| CN116311086B (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: 17920292 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 2019533730 Country of ref document: JP Kind code of ref document: A |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| ENP | Entry into the national phase |
Ref document number: 2017920292 Country of ref document: EP Effective date: 20200302 |