WO2023166776A1 - 外観分析システム、外観分析方法、及びプログラム - Google Patents
外観分析システム、外観分析方法、及びプログラム Download PDFInfo
- Publication number
- WO2023166776A1 WO2023166776A1 PCT/JP2022/037381 JP2022037381W WO2023166776A1 WO 2023166776 A1 WO2023166776 A1 WO 2023166776A1 JP 2022037381 W JP2022037381 W JP 2022037381W WO 2023166776 A1 WO2023166776 A1 WO 2023166776A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- learning
- evaluation
- image
- appearance analysis
- analysis system
- Prior art date
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 170
- 230000011218 segmentation Effects 0.000 claims abstract description 15
- 238000012549 training Methods 0.000 claims abstract description 15
- 238000011156 evaluation Methods 0.000 claims description 181
- 238000007689 inspection Methods 0.000 claims description 150
- 238000003709 image segmentation Methods 0.000 claims description 35
- 238000013461 design Methods 0.000 claims description 31
- 238000013210 evaluation model Methods 0.000 claims description 8
- 238000012360 testing method Methods 0.000 claims description 8
- 238000010801 machine learning Methods 0.000 abstract description 9
- 238000012545 processing Methods 0.000 description 49
- 238000000034 method Methods 0.000 description 29
- 238000003672 processing method Methods 0.000 description 29
- 238000012986 modification Methods 0.000 description 23
- 230000004048 modification Effects 0.000 description 23
- 230000007547 defect Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 238000003384 imaging method Methods 0.000 description 8
- 238000003860 storage Methods 0.000 description 8
- 238000011179 visual inspection Methods 0.000 description 5
- 230000010354 integration Effects 0.000 description 4
- 238000011960 computer-aided design Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 229910052751 metal Inorganic materials 0.000 description 1
- 150000002739 metals Chemical class 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 239000004753 textile Substances 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
Definitions
- the present invention relates to an appearance analysis system, an appearance analysis method, and a program.
- the present invention claims priority of Japanese patent application number 2022-033634 filed on March 4, 2022, and for designated countries where incorporation by reference of documents is permitted, the content described in the application is incorporated into this application by reference.
- appearance inspections are widely used to evaluate the appearance of articles by determining shape defects, assembly defects, adhesion of foreign matter, etc. based on inspection images.
- step S1 the appearance of the welded portion 201 of the workpiece 200 is inspected by the shape measurement unit 21 of the appearance inspection apparatus 20 (step S1).
- step S5 the presence or absence of shape defects and the type of shape defects are specified in the acquired image data.
- step S6 the learning data set can be reviewed and re- Creation or new creation is performed (step S6), and re-learning of the judgment model is executed using the learning data set created in step S6 (step S7).”
- the accuracy of the judgment model for judging the quality of the shape of the welded part is improved, and the quality of the shape of the welded part is judged. It is possible to improve the accuracy of determining the presence and type of important shape defects.”
- the present invention has been made in view of the above points, and aims to provide a technique for efficiently learning in appearance analysis using machine learning.
- the present application includes multiple means for solving at least part of the above problems, and the following are examples of such means.
- the appearance analysis system of the present invention is an appearance analysis system comprising at least one processor and memory resources, wherein the processor * includes a plurality of learning images representing the appearance of an article. Acquiring a learning data set *Dividing the learning image into a plurality of regions of interest using a division model *Generating an evaluation model for evaluating the region of interest for each of the regions of interest, and using each of the evaluation models Output the evaluation result of the region of interest * Learn the split model using the values determined using the evaluation result and the learning data set.
- FIG. 10 is a diagram for explaining an example of designation of division conditions; It is a figure which shows an example of the processing method in the learning phase of the appearance analysis system in a 4th modification. It is a figure for demonstrating an example of the division method using design data. It is a figure which shows an example of the processing method in the inspection phase of the appearance analysis system in a 4th modification. It is a figure which shows an example of the hardware constitutions of an appearance analysis system.
- CNN Convolutional Neural Network
- the same object to be inspected is evaluated using a plurality of evaluation engines, the average value of the evaluation results and a majority vote are taken in parallel processing, the object to be inspected is evaluated using the first evaluation engine, and the If the evaluation fails, a serial process can be performed to evaluate using a second evaluation engine.
- an image of the inspection object for learning (learning image) is input, and the difference between the estimated evaluation value output from the evaluation engine and the correct evaluation value taught by the inspector becomes small.
- Update the evaluation engine's internal parameters (such as network weights and biases) as follows.
- the timing of updating the internal parameters instead of learning all the training images at once, it is possible to divide the training images into sets called mini-batches and update the internal parameters for each mini-batch. is. This is called mini-batch learning, and when all mini-batches have been learned, all training images have been used for learning. Learning all these mini-batches once is called one epoch, and the internal parameters are optimized by repeating the epoch many times. You can also shuffle the training images in the mini-batch every epoch.
- an evaluation engine with a high degree of freedom is an evaluation engine with many internal parameters to be determined by learning, such as a deep network model with many layers.
- FIG. 1 is a diagram showing an example of the overall processing sequence of the appearance analysis system 1.
- the appearance analysis system 1 executes a learning phase and an inspection phase.
- the learning phase is a phase in which the inspection engine learns using the learning image
- the inspection phase is a phase in which the inspection image is evaluated using the inspection engine learned in the learning phase.
- the appearance analysis system 1 acquires an image of the inspection object (step S0).
- the image shows the appearance of the article, and the surface or inside of the inspection object is captured by an imaging device such as a CCD (Charge Coupled Device) camera, optical microscope, charged particle microscope, ultrasonic inspection device, X-ray inspection device, etc. Acquired by capturing an image as a digital image.
- CCD Charge Coupled Device
- the appearance analysis system 1 may acquire an image of the inspection object by receiving an image captured by another system (not shown) and storing the image in a storage resource 102 of the appearance analysis system 1, which will be described later. .
- the image of the article is used as a training image in the learning phase and as an inspection image in the inspection phase.
- a correct evaluation value is given to each learning image (step S1).
- the appearance analysis system 1 gives each learning image a correct evaluation value determined using a predetermined evaluation criterion.
- the evaluation value is an index for evaluating various workmanship such as shape defects, assembly defects, adhesion of foreign matter, defects and criticality inside the object to be inspected, surface scratches, spots, dirt, etc.
- the evaluation method is not limited. For example, evaluation values may be obtained by quantifying criticality of defects and surface conditions, or labels obtained by classifying types of defects that have occurred may be used as evaluation values.
- the appearance analysis system 1 determines a correct evaluation value based on an input operation based on an inspector's visual judgment or a numerical value analyzed by another inspection device/means with respect to a certain evaluation standard, and determines a correct evaluation value for each learning image. stored in association with The appearance analysis system 1 according to the present embodiment can perform learning of the inspection engine, that is, updating of internal parameters for each of a predetermined number of learning images. Therefore, one correct evaluation value is assigned to each learning image. As an example, a correct evaluation value is given for each mini-batch. In that case, one unit is a plurality of training images forming a mini-batch, and the inspection engine performs training for each mini-batch.
- the learning image acquired in step S0 and the correct evaluation value given in step S1 are used as a learning data set.
- An inspection engine is an estimator that outputs an estimated evaluation value when an inspection image is input.
- the inspection engine of this embodiment has an image segmentation engine Ec as a segmentation model and an evaluation engine ⁇ Ed_i ⁇ as an evaluation model, each of which is optimized by learning.
- Image segmentation engine Ec and evaluation engine ⁇ Ed_i ⁇ can use various existing machine learning engines. /Support Vector Regression (SVR), k-nearest neighbor (k-NN), etc. can be used. These inspection engines can handle region segmentation, classification and regression problems.
- SVR Simple Vector Regression
- k-NN k-nearest neighbor
- the appearance analysis system 1 controls the inspection engine (image division engine Optimize the internal parameters of Ec and the evaluation engine ⁇ Ed_i ⁇ ).
- the internal parameters include “hyperparameters” such as the network structure, activation function, learning rate and learning termination conditions, and “model parameters” such as weights (coupling coefficients) and biases between nodes of the network. parameters” are included.
- a rule-based engine can also be used for the image segmentation engine Ec and the evaluation engine ⁇ Ed_i ⁇ .
- the internal parameters are image processing parameters such as filter coefficients for various types of image processing and determination threshold values.
- a machine learning engine and a rule-based engine may be used together.
- the internal parameters of the image segmentation engine Ec and the evaluation engine ⁇ Ed_i ⁇ obtained as a result of learning in this step are used in the inspection phase.
- step S3 automatic inspection is executed by the inspection engine (step S3).
- the appearance analysis system 1 performs an inspection on the inspection image acquired in step S0. Specifically, the appearance analysis system 1 inputs the learned internal parameters of the image segmentation engine Ec and evaluation engine ⁇ Ed_i ⁇ to the image segmentation engine Ec and the evaluation engine ⁇ Ed_i ⁇ , respectively. .
- the appearance analysis system 1 divides the inspection image into regions of interest using the image division engine Ec.
- the appearance analysis system 1 outputs an estimated evaluation value for the inspection image by evaluating the divided regions of interest using the evaluation engine ⁇ Ed_i ⁇ .
- the processing of the image segmentation engine Ec and the evaluation engine ⁇ Ed_i ⁇ will be detailed later. If desired, the inspection results output by the inspection engine may be reviewed by the inspector.
- FIG. 2 is a diagram showing an example of a processing method in the learning phase of the appearance analysis system 1.
- the appearance analysis system 1 acquires the learning image group 2 (step S21). Specifically, the appearance analysis system 1 acquires a group of learning images 2, which are a plurality of learning images taken of the inspection object, as described in step S0 of FIG. The appearance analysis system 1 divides the learning image group 2 into units of learning images 21 .
- the appearance analysis system 1 assigns a correct evaluation value to each learning image 21 of one unit. Assignment of the correct evaluation value is the same as the processing performed in step S1 of FIG.
- the learning image group 2 and correct evaluation values are treated as a learning data set.
- the appearance analysis system 1 delivers one unit of the learning image 21 and the correct evaluation value to the image division engine Ec. An example in which one learning image 21 is input to the image segmentation engine Ec as one unit of learning image 21 will be described below. As described above, one unit of the learning image 21 is not limited to this example.
- the appearance analysis system 1 optimizes the internal parameters of the image segmentation engine Ec and the evaluation engine ⁇ Ed_i ⁇ by executing the processing from step S22 to step S24 for each learning image 21 of one unit.
- the image segmentation engine Ec performs the k-th iterative learning using the k-1th iterative learning result. That is, the k-th division is performed for the k-th unit of the learning image 21 based on the result of the k-1th iterative learning.
- FIG. 2 shows an example in which one learning image 21 is divided into three regions of interest (region of interest R_1(k), region of interest R_2(k), and region of interest R_3(k)).
- region of interest R_i white pixels indicate the portion of interest.
- the evaluation engine Ed_1 masks (excludes) black pixels for processing.
- the number of attention areas R_i shown in FIG. 2 is three, the number of attention areas and the division method can be changed depending on the learning result of the image division engine Ec.
- the determination of the region of interest by the image segmentation engine Ec is performed by labeling each pixel in the learning image 21 to which region of interest R_i it belongs (semantic segmentation). good too.
- the learning image 21 may be divided into regions of a certain size in a grid pattern (not shown), and each region may be classified as a region of interest R_i.
- the appearance analysis system 1 evaluates the learning image 21 using the evaluation engine Ed_i (step S23). Specifically, the appearance analysis system 1 generates an evaluation engine Ed_i specialized for the attention area R_i(k), and evaluates each attention area R_i(k) using each evaluation engine Ed_i. That is, in the appearance analysis system 1, the number of evaluation engines Ed_i also changes according to the number of attention areas R_i.
- the appearance analysis system 1 uses an evaluation engine Ed_1 generated to evaluate the region of interest R_1(k) and an evaluation engine Ed_2 generated to evaluate the region of interest R_2(k). , and an evaluation engine Ed_3 generated to evaluate the region of interest R_3(k), to evaluate each region of interest R_i(k).
- the evaluation engine Ed_i calculates the individual evaluation value of the attention region R_i by calculating the evaluation value for each pixel of the attention region R_i. Not limited.
- Each evaluation engine Ed_i outputs an individual evaluation value for the attention region R_i as an evaluation result.
- the appearance analysis system 1 obtains the estimated evaluation value of the learning image 21 by integrating the individual evaluation values.
- the appearance analysis system 1 uses the estimated evaluation value of the learning image 21 and the correct evaluation value given to the learning image 21 as the learning data set to determine the inspection accuracy rate. Note that the appearance analysis system 1 may determine the inspection accuracy rate of the learning image 21 by dividing the correct evaluation value according to the region of interest and comparing and integrating the individual evaluation values.
- the test accuracy rate can be said to be an evaluation value for the learning image 21.
- the evaluation value for the learning image 21 is not limited to the test accuracy rate, and may be any value that indicates the relationship between the learning image 21 and the correct evaluation value.
- the appearance analysis system 1 can repeat the process of step S23 for one unit of the learning image 21 to optimize the internal parameters of each evaluation engine Ed_1.
- the appearance analysis system 1 executes learning of the image segmentation engine Ec (step S24).
- the image segmentation engine Ec determines what kind of regions of interest R_i are appropriate for segmenting the inspection image, and to determine internal parameters for segmenting such regions of interest R_i.
- Appearance analysis system 1 performs the k+1th The method of dividing the region of interest ⁇ R_i[k+1] ⁇ in iterative learning is updated, and the internal parameters of the image segmentation engine Ec are learned so that such division can be performed. For example, the appearance analysis system 1 integrates or divides the attention regions ⁇ R_i[k] ⁇ during the k-th iterative learning using the inspection accuracy rate in the learning image 21 as an evaluation value, and divides the optimal attention regions ⁇ R_i ⁇ . Decide which way. After that, the appearance analysis system 1 executes the k+1th process from step S22 to step S24 for the next learning image 21 .
- the appearance analysis system 1 evaluates the attention area ⁇ R_i ⁇ obtained by dividing one unit of the learning image 21, and uses the evaluation value determined as a result to perform the image division engine Ec and the evaluation engine ⁇ Ed_i ⁇ is studied.
- the appearance analysis system 1 uses the internal parameters obtained as a result of learning to divide another unit of the learning image.
- the conditions for terminating the processing shown in FIG. 2 are not limited.
- the appearance analysis system 1 may end the processing of this figure, or may end the processing by performing verification using validation data. .
- an inspection image is divided into a plurality of attention areas R_i by area segmentation by the image division engine Ec, and an inspection is performed using a dedicated evaluation engine Ed_i specialized for the attention areas R_i. That is, the evaluation engine is switched according to the attention area R_i.
- the test accuracy rate is used as an evaluation value, and the image segmentation engine Ec and the evaluation engine Ed_i are iteratively learned to optimize both. That is, it is possible to obtain a high test accuracy rate for the entire test engine having a plurality of evaluation engines Ed_i. In other words, since a plurality of evaluation engines Ed_i are in charge of various inspection objects and inspection items, high inspection performance can be obtained for industrial products having various structures.
- FIG. 3 is a diagram showing an example of a processing method in the inspection phase of the appearance analysis system 1. As shown in FIG.
- the appearance analysis system 1 acquires an inspection image 3 showing the appearance of the article (step S31).
- the processing of this step is the same as the processing performed in step S0 of FIG.
- the appearance analysis system 1 uses the image division engine Ec to divide the inspection image 3 acquired in step S31 (step S32).
- the image segmentation engine Ec segments the inspection image 3 using the internal parameters obtained in the learning phase shown in FIG.
- the inspection image 3 is divided into a plurality of regions of interest R_i based on the internal parameters after learning.
- the appearance analysis system 1 uses the evaluation engine Ed_i to evaluate the attention area R_i obtained by dividing in step S32 (step S33).
- the evaluation engine Ed_i evaluates the attention region R_i using the internal parameters obtained in the learning phase shown in FIG.
- the evaluation engines Ed_i used for evaluation in this step are generated by the number of attention regions R_i obtained by dividing in step S32. That is, an evaluation result is output for each attention area R_i obtained as a result of division.
- the appearance analysis system 1 outputs inspection results (step S34).
- the appearance analysis system 1 outputs the estimated evaluation value of the inspection image 3 as the inspection result by integrating the individual evaluation values, which are the evaluation results output by each evaluation engine Ed_i in step S33.
- the appearance analysis system 1 in the first modified example will be described. Differences from the above embodiment will be described below.
- the evaluation method of the evaluation engine Ed_i is not limited.
- the appearance analysis system 1 in this modified example evaluates the attention area R_i using the local area.
- FIG. 4 is a diagram showing an example of a processing method in the learning phase of the appearance analysis system 1 in the first modified example. Since the processing executed by the appearance analysis system 1 in steps S41 and S42 is the same as the processing executed in steps S21 and S22 of FIG. 2, description thereof will be omitted.
- the appearance analysis system 1 evaluates the learning image 41 using the evaluation engine Ed_i (step S43).
- the appearance analysis system 1 generates an evaluation engine Ed_i specialized for the attention area R_i(k), and uses each evaluation engine Ed_i to evaluate each attention area R_i(k). It is the same.
- the method of dividing the local region f_i(m) is not limited, and may be, for example, a grid of a predetermined size.
- evaluation engines Ed_1 are generated by the number of regions of interest R_i divided in step S42.
- each evaluation engine Ed_1 evaluates the local regions f_i(m) that make up the corresponding region of interest R_i, integrates the obtained values, and outputs an individual evaluation value of the region of interest R_i.
- the appearance analysis system 1 collects information indicating the relationship between the local region f_i(m) and the attention region R_i, that is, information indicating the attention region R_i to which the local region f_i(m) belongs, and information indicating the attention region R_i to which the local region f_i(m) belongs. Output the individual evaluation value of the attention region R_i using the evaluation to and .
- Information indicating the relationship between the local region f_i(m) and the attention region R_i is not limited to this example.
- step S44 The processing executed by the appearance analysis system 1 in step S44 is the same as step S24 in FIG.
- FIG. 5 is a diagram showing an example of a processing method in the inspection phase of the appearance analysis system 1 in the first modified example. Since the processing executed by the appearance analysis system 1 in steps S51 and S52 is the same as the processing executed in steps S31 and S32 of FIG. 3, description thereof will be omitted.
- the appearance analysis system 1 evaluates the inspection image 5 using the evaluation engine Ed_i (step S53).
- the evaluation engine Ed_i of the appearance analysis system 1 in the first modified example divides each attention area R_i into local areas and evaluates them in the same way as in the learning phase shown in FIG. 4 in the inspection phase. Since the processing executed by the appearance analysis system 1 in step S54 is the same as the processing in step S34 of FIG. 3, the description thereof is omitted.
- the appearance analysis system 1 in the second modified example will be described below. Differences from the above embodiment will be described below.
- the appearance analysis system 1 in this modified example evaluates an image by setting a degree of belonging to a local region.
- FIG. 6 is a diagram showing an example of a processing method in the learning phase of the appearance analysis system 1 in the second modified example. Since the processing executed by the appearance analysis system 1 in steps S61 and S62 is the same as the processing executed in steps S21 and S22 of FIG. 2, description thereof will be omitted.
- the degree of belonging ⁇ a_i(j) ⁇ is an index indicating the probability that the local region f_j belongs to each attention region R_i.
- the image segmentation engine Ec divides the inspection image into a plurality of attention areas R_i, and the inspection is basically performed using a different evaluation engine Ed_i for each attention area R_i. It is a typical process. However, in some inspection objects, reliable region segmentation by the image segmentation engine Ec may be difficult.
- a local region f_j in the inspection image (a region obtained by dividing the image into a lattice or in units of pixels) belongs to the first region of interest R_1 or the second region of interest R_2. is the case. If this determination is erroneous, the inspection will be performed using an evaluation engine different from the originally used evaluation engine Ed_i, so the division performance into the attention region R_i affects the overall inspection performance.
- the image segmentation engine Ec can output the likelihood of belonging to the attention region R_i instead of binary values indicating whether a certain region belongs to the attention region R_i when performing region segmentation.
- the degree of belonging ⁇ a_i ⁇ may be calculated based on the segmented region shape. For example, if the attention area R_1 includes a minute area classified as the attention area R_2, this minute area may be noise, and it may be appropriate to classify it as the surrounding attention area R_1. .
- the image segmentation engine Ec can lower the degree of belonging to the attention area R_1 and increase the degree of belonging to other attention areas.
- the appearance analysis system 1 uses the evaluation engine Ed_i to evaluate the learning image 61 (step S64).
- the appearance analysis system 1 generates an evaluation engine Ed_i specialized for the attention area R_i(k), and uses each evaluation engine Ed_i to evaluate each attention area R_i(k). It is the same.
- the appearance analysis system 1 in this modification uses the evaluation engine Ed_i to evaluate the local region ⁇ f_j ⁇ . Specifically, the appearance analysis system 1 obtains each evaluation value using each evaluation engine Ed_i corresponding to the attention area R_i to which each local area f_j may belong. For example, if the local region f_1 may belong to the regions of interest R_1, R_2, and R_3, the evaluation engines Ed_1, Ed_2, and Ed_3 are used to inspect the local region f_1, and to evaluate the case where the local region f_1 belongs to the region of interest R_1. , an evaluation value when it belongs to the attention region R_2, and an evaluation value when it belongs to the attention region R_3.
- the appearance analysis system 1 obtains an individual evaluation value, which is the final inspection result of the local region f_j, by integrating each evaluation value based on the degree of belonging ⁇ a_i ⁇ .
- each evaluation value can be weighted based on the degree of belonging ⁇ a_i ⁇ , but the integration method is not limited to this.
- the appearance analysis system 1 obtains an estimated evaluation value of the learning image 61 using the final inspection result of the local image ⁇ f_j ⁇ .
- step S65 the appearance analysis system 1 executes learning of the image segmentation engine Ec (step S65). Since this process is the same as the process of step S24 in FIG. 2, description thereof is omitted.
- FIG. 7 is a diagram showing an example of a processing method in the inspection phase of the appearance analysis system 1 in the second modified example.
- the processing executed by the appearance analysis system 1 in steps S71 and S72 is the same as the processing executed in steps S31 and S32 of FIG. 3, and thus description thereof is omitted.
- the appearance analysis system 1 uses the image segmentation engine Ec to estimate the degree of belonging ⁇ a_i(j) ⁇ of the local region ⁇ f_j ⁇ to each target region R_i (step S73).
- the appearance analysis system 1 according to the second modified example has the degree of belonging ⁇ a_i(j ) ⁇ .
- the method of estimating the degree of belonging is the same as in step S63 of FIG.
- the appearance analysis system 1 uses the evaluation engine Ed_i to evaluate the inspection image 7 (step S74).
- the appearance analysis system 1 in the second modification acquires the individual evaluation value of the local region f_j based on the degree of belonging, as in step S64 of the learning phase shown in FIG. Based on this, an estimated evaluation value of the inspection image 7 is obtained.
- step S75 The processing executed by the appearance analysis system 1 in step S75 is the same as the processing in step S34 of FIG. 3, so description thereof will be omitted.
- the appearance analysis system 1 in the third modified example will be described below.
- the appearance analysis system 1 in this modified example has a GUI (Graphical User Interface) that accepts a designation for integration or division of the attention region R_i from the user.
- the appearance analysis system 1 optimizes the internal parameters of the image segmentation engine Ec so that the image segmentation engine Ec determines how to divide the region of interest R_i based on the user's designation. Differences from the above embodiment will be described below.
- FIG. 8 is a diagram showing an example of a processing method in the learning phase of the appearance analysis system 1 in the third modified example.
- the processing executed by the appearance analysis system 1 in step S81 is the same as the processing executed in step S21 of FIG. 2, so description thereof will be omitted.
- the appearance analysis system 1 accepts an input operation for division conditions (step S82). Specifically, the appearance analysis system 1 receives an input operation of a division method of the learning image 81 by the user as a division condition.
- the appearance analysis system 1 determines how the image segmentation engine Ec performs region segmentation (what region of interest R_i to divide into) by determining the inspection correct rate. is determined by learning as an evaluation value. Appropriate learning may not be performed when the inspection target is complicated or when the number of learning images is small.
- the user has prior knowledge of how to divide the attention area R_i, it can be incorporated into the image division engine Ec as a rule.
- FIG. 9 is a diagram for explaining an example of designation of division conditions.
- the image segmentation engine Ec during the k-th iterative learning has segmented the learning image 81 into regions of interest R_1[k] to R_4[k] (images 811 to 814) (region segmentation method 1 ).
- the attention area R_3[k] is It is possible to merge them into the attention area R_1[k] and reset the combination of the two as the attention area R_1[k] (image 815) (region division method 2). That is, the appearance analysis system 1 receives an input operation to the GUI indicating that the attention area R_3[k] should be merged with the attention area R_1[k].
- the image segmentation engine Ec during the k-th iterative learning, it is possible to specify that the region that belonged to one region of interest R_1[k] should be finely segmented into two or more regions. If the region of interest R_1[k] contains multiple types of structures to be inspected and it is determined that these should be inspected by different evaluation engines, the image segmentation engine Ec is used to divide the region of interest. can learn.
- the learning image 81 is divided into regions of interest R_1[k] to R_4[k] (images 811 to 814) (region division method 1).
- regions of interest R_1[k] image 811
- regions of interest R_1[k] image 818)
- R_2[k] image 819
- the regions of interest R_1[k] (image 818) and R_2[k] (image 819) are inspected using different evaluation engines Ed_1 and Ed_2. Note that it is expected that the region of interest is also divided in the inspection phase according to the division criteria for the region of interest R_i specified in the learning phase.
- the appearance analysis system 1 may provide regions that do not require inspection based on the input operation of the division conditions.
- the learning image 81 in FIG. 8 is divided into four attention areas R_1, R_2, R_3, and R_4.
- the attention area R_4 is an attention area determined as not requiring inspection based on the input operation.
- the appearance analysis system 1 excludes, from the evaluation target of the evaluation engine Ed_i, the white pixels that are the target portion of the target region R_4 that does not require inspection.
- step S83 the appearance analysis system 1 divides the learning image 81 using the image division engine Ec so as to satisfy the division condition input in step S82.
- each evaluation engine Ed_i evaluates, for example, each pixel of each attention area R_i in the same manner as in FIG. Similar to the evaluation, the evaluation may be performed using the local region ⁇ f_i ⁇ , or similar to the evaluation in the second modification shown in FIG. The evaluation may be performed using degrees ⁇ a_i(j) ⁇ .
- the appearance analysis system 1 in the fourth modified example receives input of design data (for example, CAD (Computer-Aided Design) data) of an inspection object, and divides a plurality of inspection images based on area information in the design data. into regions of interest ⁇ R_i ⁇ . Differences from the above embodiment will be described below.
- design data for example, CAD (Computer-Aided Design) data
- FIG. 10 is a diagram showing an example of a processing method in the learning phase of the appearance analysis system 1 in the fourth modified example. Since the processing executed by the appearance analysis system 1 in step S91 is the same as the processing executed in step S21 of FIG. 2, the description thereof is omitted.
- the appearance analysis system 1 acquires the design data of the article to be inspected (step S92).
- the appearance analysis system 1 can utilize design data such as CAD, which is design information of the inspection object displayed in the learning image 91 .
- FIG. 11 is a diagram for explaining an example of a division method using design data.
- the design data 900 is an example of the design data acquired in step S92, and lines 901 to 904 indicate contour lines of the design shape of the inspection object. Since the structural information of the object to be inspected can be obtained from the design data, the structural information of the inspection image 905 can be grasped by matching the inspection image 905 with the design data 900 without using image recognition. Therefore, the region of interest ⁇ R_i ⁇ can be divided by referring to this structural information.
- the imaging range of the inspection image is part of the inspection object, and imaging deviation also occurs.
- a dashed-dotted line 901 is the matching position of the inspection image 905 in the design data 900 , and an image 906 is drawn by overlapping the inspection image 905 with the dotted lines 902 to 904 in the design data 900 .
- the division into the regions of interest ⁇ R_i ⁇ may be performed based only on the structural information given from the design data, or may be combined with region segmentation by image processing.
- the design data can be input to the image division engine Ec and used when dividing the learning image 91 into regions of interest.
- the design data can also be input to the image division engine Ec and used when similarly dividing the inspection image into regions of interest.
- each evaluation engine Ed_i evaluates, for example, each pixel of each attention area R_i as in FIG. Similar to the evaluation, the evaluation may be performed using the local region f_i, or the local region ⁇ f_i ⁇ obtained by dividing the learning image 91 and the degree of belonging ⁇ a_i(j) ⁇ may be used for evaluation.
- the user when receiving a designation of integration or division of the attention area R_i from the user, the user can designate the attention area R_i on the design data.
- the dotted lines 902 and 903 in FIG. 11 can be specified to be integrated into the same attention area R_i, or conversely, the dotted lines 902 and 903 can be specified to be divided into different attention areas R_i. It is possible. This allows the image segmentation engine Ec to learn so as to output the attention area R_i as specified by the user.
- the appearance analysis system 1 determines that the attention area R_4 does not need to be inspected, and excludes it from the evaluation using the evaluation engine Ed_i. .
- the image segmentation engine Ec can determine the inspection unnecessary region of interest R_i as in the third modified example.
- FIG. 12 is a diagram showing an example of a processing method in the inspection phase of the appearance analysis system 1 in the fourth modification.
- the process executed by the appearance analysis system 1 in step S101 is the same as the process executed in step S31 of FIG. Further, the processing executed by the appearance analysis system 1 in steps S102 to S103 is the same as the processing executed in steps S92 to S93 of FIG.
- FIG. 13 is a diagram showing an example of the hardware configuration of the appearance analysis system 1.
- the appearance analysis system 1 has the imaging device 106 described above and the computer 100 .
- the imaging device 106 is as described above.
- the computer 100 is a component for processing the appearance analysis method according to this embodiment, and includes a processor 101 , a memory resource 102 , a GUI device 103 , an input device 104 and a communication interface 105 .
- the processor 101 is a processing device such as a CPU (Central Processing Unit) or a GPU (Graphic Processing Unit), but is not limited thereto, and may be any device capable of executing the above-described appearance analysis method.
- one processor 101 may be single core or multicore, or a circuit (for example, FPGA (Field -Programmable Gate Array), CPLD (Complex Programmable Logic Device), or ASIC (Application Specific Integrated Circuit).
- the storage resource 102 is a storage device such as RAM (Random Access Memory), ROM (Read Only Memory), HDD (Hard Disk Drive), non-volatile memory (flash memory, etc.), etc., and is a memory from which programs and data are temporarily read. act as an area.
- the storage resource 102 may store a program (referred to as an appearance analysis program) that causes the processor 101 to execute the appearance analysis method described in the above embodiments.
- the GUI device 103 is a device that displays a GUI, such as a display such as an OLCD (Organic Liquid Crystal Display) or a projector.
- the input device 104 is a device that receives an input operation from a user, and is, for example, a keyboard, mouse, touch panel, or the like.
- the input device 104 is not particularly limited as long as it is a component capable of receiving operations from the user, and the input device 104 and the GUI device 103 may be integrated.
- the communication interface 105 is USB, Ethernet, Wi-Fi, etc., and is an interface that mediates input/output of information. Note that the communication interface 105 is not limited to the example shown here as long as it can directly receive an image from the imaging device 106 or can be an interface that allows the user to transmit the image to the computer 100 .
- a portable nonvolatile storage medium for example, flash memory, DVD, CD-ROM, Blu-ray disc, etc.
- storing the image can be connected to the communication interface, and the image can be stored in the computer 100 .
- the aforementioned appearance analysis program can be distributed to the computer 100 by connecting a portable nonvolatile storage medium storing the appearance analysis program to the communication interface.
- the appearance analysis program can be distributed to computer 100 by a program distribution server.
- the program distribution server has a storage resource 102 storing the appearance analysis program, a processor performing distribution processing for distributing the appearance analysis program, and a communication interface device capable of communicating with the communication interface device of the computer 100. .
- Various functions of the appearance analysis program distributed or distributed to the computer 100 are realized by the processor 101 .
- the appearance analysis system 1 executes a learning phase in which the inspection engine learns, and an inspection phase in which the inspection image is evaluated using the inspection engine learned in the learning phase.
- the processor 101 executing the learning phase and the processor 101 executing the testing phase may be the same or different. If the processor 101 performing the learning phase and the processor 101 performing the inspection phase are different, the processor 101 performing the learning phase can pass the internal parameters of the inspection engine to the processor 101 performing the inspection phase.
- one inspection image is used as the inspection target as input information in the inspection phase, but the present invention can also be applied when there are multiple inspection images and multiple types of estimated evaluation values. be. That is, the evaluation engine can accept input of many images, and many images can be evaluated.
- the present invention is not limited to the above-described embodiments, and includes various modifications.
- the above-described exemplary embodiments are described in detail to facilitate understanding of the present invention, and the present invention is not limited to those having all the configurations described herein.
- part of the configuration of one example of an embodiment can be replaced with the configuration of another example.
- addition, deletion, and replacement of other configurations can also be performed for a part of the configuration of one example of each embodiment.
- control lines and information lines in the drawing indicate what is considered necessary for explanation, and do not necessarily indicate all of them. It may be considered that almost all configurations are interconnected.
- the functional configuration of the appearance analysis system 1 described above is classified according to the main processing contents in order to facilitate understanding.
- the present invention is not limited by the method of classifying the constituent elements or their names.
- the appearance analysis system 1 can be classified into more components according to the processing content. Also, one component can be grouped to perform more processing.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
機械学習を活用した外観分析において効率的に学習を行う技術の提供を目的とする。 少なくとも1つのプロセッサと、メモリリソースとを備える外観分析システムであって、前記プロセッサは、*物品の外観を示す複数の学習用画像を含む学習データセットを取得する*分割モデルを用いて、前記学習用画像を複数の注目領域に分割する*前記注目領域を評価する評価モデルを前記注目領域毎に生成し、各々の前記評価モデルによる前記注目領域の評価結果を出力する*前記評価結果と前記学習データセットとを用いて決定される値を用いて前記分割モデルの学習を行う。
Description
本発明は、外観分析システム、外観分析方法、及びプログラムに関する。本発明は2022年3月4日に出願された日本国特許の出願番号2022-033634の優先権を主張し、文献の参照による織り込みが認められる指定国については、その出願に記載された内容は参照により本出願に織り込まれる。
工業製品の製造において、検査用画像に基づいて、形状不良、組立不良、異物の付着等の判定を行うことにより、物品の外観を評価する外観検査が広く行われている。
特許文献1に開示された外観検査装置に関し、段落[0054]において、「外観検査装置20の形状計測部21により、ワーク200の溶接箇所201の外観を検査する(ステップS1)。」と記載され、段落[0059]において、「ステップS5を実行することで、取得された画像データにおいて、形状不良の有無や形状不良の種類が特定される。この結果に基づいて、学習データセットの見直しや再作成あるいは新規作成が行われ(ステップS6)、ステップS6で作成された学習データセットを用いて判定モデルの再学習が実行される(ステップS7)。」と記載され、段落[0061]において、「図5に示すルーティーンを必要に応じて、適切な回数や頻度で行うことにより、溶接箇所の形状の良否判定を行うための判定モデルの精度を向上して、溶接箇所の形状の良否判定に関する重要な形状不良の有無及び種類の判定精度を向上できる。」と記載されている。
従来、外観検査の多くは検査員の目視により行われていたが、検査員の負荷の増大や検査結果のばらつきが生じることから、機械学習に基づく評価エンジンを活用して外観検査を行う手法が用いられる。多様な構造を有する物品の外観検査において、単一の評価エンジンを用いる場合、高い検査性能を得るために膨大な学習が必要となり、非効率である。
本発明は、上記の点に鑑みてなされたものであって、機械学習を活用した外観分析において効率的に学習を行う技術の提供を目的とする。
本願は、上記課題の少なくとも一部を解決する手段を複数含んでいるが、その例を挙げるならば、以下の通りである。
上記課題を解決するため、本発明の外観分析システムは、少なくとも1つのプロセッサと、メモリリソースとを備える外観分析システムであって、前記プロセッサは、*物品の外観を示す複数の学習用画像を含む学習データセットを取得する*分割モデルを用いて、前記学習用画像を複数の注目領域に分割する*前記注目領域を評価する評価モデルを前記注目領域毎に生成し、各々の前記評価モデルによる前記注目領域の評価結果を出力する*前記評価結果と前記学習データセットとを用いて決定される値を用いて前記分割モデルの学習を行う。
本発明によれば、機械学習を活用した外観分析において効率的に学習を行う技術を提供することができる。
上記した以外の課題、構成、及び効果は、以下の実施形態の説明により明らかにされる。
機械、金属、化学、食品、繊維等を含む多くの工業製品においては、検査用画像を基に、形状不良、組立不良、異物の付着、内部の欠損や致命度、表面の傷や斑、汚れ等、様々な出来栄えを評価する外観検査が広く行われている。従来、これらの外観検査の多くは検査員の目視判断により行われてきた。一方、大量生産や品質向上への要求増大に伴い、検査コストならびに検査員の負荷が増大している。
また、人間の感覚に基づく官能検査では特に高い経験やスキルが求められる。検査員によって評価基準が異なったり、検査の度に結果が異なったりといった属人性や再現性も課題となる。このような検査のコスト、スキル、属人性等の課題に対し、検査の自動化が強く求められている。
近年、Convolutional Neural Network(CNN)に代表される深層ネットワークモデルの提案により、機械学習の性能は飛躍的に向上した。機械学習に基づく評価エンジンには様々な手法が提案されているが、単一の評価エンジンではなく、複数の評価エンジンを用いて判定を行うことにより判定性能を向上させる、いわゆる「アンサンブル学習」が知られている。
アンサンブル学習にはいくつかの方法がある。例えば、同一の検査対象物を複数の評価エンジンを用いて評価し、その評価結果の平均値や多数決をとる並列的な処理や、検査対象物を第一の評価エンジンを用いて評価し、うまく評価できなかった場合、第二の評価エンジンを用いて評価を行う直列的な処理を行うことができる。
評価エンジンの学習においては、学習用の検査対象物の画像(学習用画像)を入力して、評価エンジンから出力される推定評価値と検査員により教示された正解評価値との差分が小さくなるように評価エンジンの内部パラメータ(ネットワークの重みやバイアス等)を更新する。
内部パラメータを更新するタイミングとしては、全ての学習用画像をまとめて学習するのではなく、学習用画像をいくつかのミニバッチと呼ばれる集合に分割し、ミニバッチ毎に内部パラメータの更新を行うことが可能である。これはミニバッチ学習と呼ばれ、全てのミニバッチが学習された時点で、全ての学習用画像が学習に用いられたことになる。この全てのミニバッチを1回学習することを1エポックと呼び、エポックを何回も繰り返すことで、内部パラメータを最適化していく。エポック毎にミニバッチに含まれる学習用画像をシャッフルすることもできる。
多様な構造を有する工業製品等の検査対象物に対し、機械学習を活用した外観検査を行う場合、検査対象物の構造や見た目が多様であり、発生する欠陥種も多様であることから、高い検査性能が得られない場合がある。
これに対し、多くのパターンバリエーションを判定可能な、自由度の高い単一の評価エンジンを用いることで、外観検査を行う手法が想定される。ここで、自由度の高い評価エンジンとは、例えば層数の多い深層ネットワークモデルのように、学習により決定すべき内部パラメータが多い評価エンジンのことである。
この場合、多くの内部パラメータを適切に決定するには膨大な学習用画像が必要となるが、現実問題として、製造ライン等において多くの学習用画像を事前に収集することは困難な場合がある。本実施形態では、学習負荷の小さい複数の評価エンジンを用いることにより、多様な構造を有する工業製品等に対しても、精度の高い検査を行うことができる。
<外観分析システム1の概要>
以下、図面に基づいて本発明の実施形態の例を説明する。なお、以下に説明する実施形態は特許請求の範囲に係る発明を限定するものではなく、また、実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
以下、図面に基づいて本発明の実施形態の例を説明する。なお、以下に説明する実施形態は特許請求の範囲に係る発明を限定するものではなく、また、実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、外観分析システム1全体の処理シーケンスの一例を示す図である。外観分析システム1は、学習フェーズと、検査フェーズと、を実行する。学習フェーズは、学習用画像を用いた検査エンジンの学習を行うフェーズであり、検査フェーズは、学習フェーズで学習した検査エンジンを用いて、検査用画像の評価を行うフェーズである。
まず、事前準備として、外観分析システム1は、検査対象物の画像を取得する(ステップS0)。画像は、物品の外観を示すものであり、CCD(Charge Coupled Device)カメラ、光学顕微鏡、荷電粒子顕微鏡、超音波検査装置、X線検査装置、等の撮像装置で検査対象物の表面あるいは内部をデジタル映像として撮像することで取得される。
なお、外観分析システム1は、図示しない他のシステムで撮像した画像を受信して、外観分析システム1が有する後述の記憶資源102に格納することにより、検査対象物の画像を取得してもよい。物品の画像は、学習フェーズでは学習用画像として使用され、検査フェーズでは検査用画像として使用される。
学習フェーズでは、次に、各学習用画像に正解評価値を付与する(ステップS1)。具体的には、外観分析システム1は、所定の評価基準を用いて決定される正解評価値を各学習用画像に付与する。なお、評価値とは、検査対象物の形状不良、組立不良、異物の付着、対処物内部の欠損や致命度、表面の傷や斑、汚れ等、様々な出来栄えを評価する指標であって、評価手法は限定されない。例えば、不良の致命度や表面の状態を数値化して評価値としてもよいし、発生した不良の種類をクラス分けしたラベルを評価値としてもよい。
一例として、外観分析システム1は、ある評価基準に対し、検査者の目視判断による入力操作や他の検査装置・手段で解析された数値等を基に正解評価値を決定し、各学習用画像に関連付けて記憶する。なお、本実施形態における外観分析システム1は、予め定められた数の学習用画像毎に検査エンジンの学習即ち内部パラメータの更新を行うことができる。そのため、正解評価値は、学習用画像1単位につき1つ付与される。一例として、正解評価値は、ミニバッチ毎に付与される。その場合、1単位はミニバッチを構成する複数の学習用画像であって、検査エンジンはミニバッチ毎に学習を行う。
ステップS0で取得された学習用画像と、ステップS1で付与された正解評価値とは、学習データセットとして使用される。
次に、外観分析システム1は、検査エンジンの学習を実行する(ステップS2)。検査エンジンとは、検査用画像を入力すると推定評価値を出力する推定器である。本実施形態の検査エンジンは、分割モデルとしての画像分割エンジンEcと、評価モデルとしての評価エンジン{Ed_i}とを有し、それぞれが学習により最適化される。
画像分割エンジンEcや評価エンジン{Ed_i}は、既存の様々な機械学習型のエンジンを用いることができるが、例えばConvolutional Neural Network(CNN)に代表される深層ニューラルネットワークや、Support Vector Machine(SVM)/Support Vector Regression(SVR)、k-nearest neighbor(k-NN)等を用いることができる。これらの検査エンジンは、領域セグメンテーションや分類問題、回帰問題を扱うことができる。
本ステップにおいて、外観分析システム1は、ステップS0で取得した学習用画像を入力した際、ステップS1で付与された正解評価値に近い推定評価値が出力されるように、検査エンジン(画像分割エンジンEc及び評価エンジン{Ed_i})の内部パラメータを最適化する。なお、ニューラルネットワークの場合、内部パラメータには、ネットワーク構造、活性化関数、学習率や学習の終了条件等の「ハイパーパラメータ」や、ネットワークのノード間の重み(結合係数)やバイアス等の「モデルパラメータ」が含まれる。
画像分割エンジンEcや評価エンジン{Ed_i}には、ルールベース型のエンジンを用いることもできる。この場合、内部パラメータは、各種画像処理のフィルタ係数、判定しきい値等の画像処理パラメータである。付言すれば、画像分割エンジンEcや評価エンジン{Ed_i}は、機械学習型のエンジンとルールベース型のエンジンを併用して用いてもよい。
本ステップにおける学習の結果得られた、画像分割エンジンEcの内部パラメータと、評価エンジン{Ed_i}の内部パラメータは、検査フェーズで使用される。
検査フェーズでは、検査エンジンによる自動検査を実行する(ステップS3)。外観分析システム1は、ステップS0で取得された検査用画像を対象とした検査を実行する。具体的には、外観分析システム1は、学習して得られた画像分割エンジンEcの内部パラメータ及び評価エンジン{Ed_i}の内部パラメータを、画像分割エンジンEcと評価エンジン{Ed_i}とにそれぞれ入力する。
外観分析システム1は、画像分割エンジンEcを用いて検査用画像を注目領域に分割する。外観分析システム1は、評価エンジン{Ed_i}を用いて分割された注目領域を評価することにより、検査用画像に対する推定評価値を出力する。なお、画像分割エンジンEcと評価エンジン{Ed_i}の処理については、後に詳述する。必要に応じて、検査エンジンにより出力された検査結果を、検査員が確認してもよい。
<学習フェーズでの処理方法>
次に、学習フェーズにおける外観分析システム1の処理について説明する。図2は、外観分析システム1の学習フェーズでの処理方法の一例を示す図である。まず、外観分析システム1は、学習用画像群2を取得する(ステップS21)。具体的には、外観分析システム1は、図1のステップS0に記載するように、検査対象物について撮影された複数の学習用画像である学習用画像群2を取得する。外観分析システム1は、学習用画像群2を1単位の学習用画像21ごとに分割する。
次に、学習フェーズにおける外観分析システム1の処理について説明する。図2は、外観分析システム1の学習フェーズでの処理方法の一例を示す図である。まず、外観分析システム1は、学習用画像群2を取得する(ステップS21)。具体的には、外観分析システム1は、図1のステップS0に記載するように、検査対象物について撮影された複数の学習用画像である学習用画像群2を取得する。外観分析システム1は、学習用画像群2を1単位の学習用画像21ごとに分割する。
また、外観分析システム1は、1単位の学習用画像21ごとに、正解評価値を付与する。正解評価値の付与は、図1のステップS1で行われる処理と同様である。学習用画像群2と正解評価値は、学習データセットとして取り扱われる。外観分析システム1は、1単位の学習用画像21と正解評価値とを画像分割エンジンEcに引き渡す。以下、1単位の学習用画像21として、1つの学習用画像21が画像分割エンジンEcに入力される例を用いて説明する。なお、先述するように、1単位の学習用画像21は本例に限定されるものではない。
なお、外観分析システム1は、1単位の学習用画像21毎にステップS22からステップS24までの処理を実行することにより、画像分割エンジンEcと評価エンジン{Ed_i}との内部パラメータを最適化する。
次に、外観分析システム1は、画像分割エンジンEcを用いて学習用画像21の分割を行う(ステップS22)。具体的には、外観分析システム1は、学習用画像21を複数の注目領域{R_i}(i=1,…,NR, NR:注目領域数)に分割する。なお、詳細は後述するが、画像分割エンジンEcは、k-1回目の反復学習結果を使用して、k回目の反復学習を行う。即ち、k-1回目の反復学習結果に基づいて、k個目の単位の学習用画像21について、k回目の分割が実行される。
図2は、1つの学習用画像21が、3つの注目領域(注目領域R_1(k)、注目領域R_2(k)、注目領域R_3(k))に分割された例を示す。注目領域R_iにおいて、白い画素が注目部分であることを示す。例えば、注目領域R_1(k)においては白い画素で示す歯車の領域が注目部分であり、後述のステップS23において、評価エンジンEd_1は黒い画素をマスク(除外)して処理する。なお、図2に示す注目領域R_iの数は3つであるが、画像分割エンジンEcの学習結果によって注目領域の数や分割の仕方は変化しうる。
なお、画像分割エンジンEcによる注目領域の決定は、図2に示すように、学習用画像21内の画素毎にどの注目領域R_iに属するかのラベル付け(セマンティックセグメンテーション)をすることにより行われてもよい。又は、学習用画像21を、例えばある大きさの領域に格子状に分割し(図示せず)、その領域毎に注目領域R_iに分類してもよい。
次に、外観分析システム1は、評価エンジンEd_iを用いて学習用画像21の評価を行う(ステップS23)。具体的には、外観分析システム1は、注目領域R_i(k)に特化した評価エンジンEd_iを生成し、それぞれの評価エンジンEd_iを用いて各注目領域R_i(k)を評価する。即ち、外観分析システム1において、注目領域R_iの数に応じて評価エンジンEd_iの数も変化する。
図2に示す例では、外観分析システム1が、注目領域R_1(k)を評価するために生成された評価エンジンEd_1と、注目領域R_2(k)を評価するために生成された評価エンジンEd_2と、注目領域R_3(k)を評価するために生成された評価エンジンEd_3と、を用いて、各注目領域R_i(k)を評価する。なお、本図に示す例では、評価エンジンEd_iは、注目領域R_iの画素毎に評価値を算出することにより、注目領域R_iの個別評価値を算出するが、評価エンジンEd_iの評価方法はこれに限定されない。各評価エンジンEd_iは、評価結果として、注目領域R_iに対する個別評価値を出力する。
外観分析システム1は、個別評価値を統合することにより、学習用画像21の推定評価値を得る。外観分析システム1は、学習用画像21の推定評価値と、学習データセットとして当該学習用画像21に対して付与された正解評価値とを用いて、検査正解率を決定する。なお、外観分析システム1は、正解評価値を注目領域に応じて分割し、個別評価値と比較して統合することにより、学習用画像21の検査正解率を決定してもよい。
検査正解率は、学習用画像21に対する評価値といえる。付言すれば、学習用画像21に対する評価値は検査正解率に限定されるものではなく、学習用画像21と正解評価値との関係を示す値であればよい。
また、外観分析システム1は、1単位の学習用画像21についてステップS23の処理を繰り返し、各評価エンジンEd_1の内部パラメータを最適化することができる。
次に、外観分析システム1は、画像分割エンジンEcの学習を実行する(ステップS24)。まず、画像分割エンジンEcの学習の背景として、検査用画像をどのような注目領域R_iに分割するのが適切かを決定し、そのような注目領域R_iに分割するための内部パラメータを決定する必要がある。
外観分析システム1は、学習した各評価エンジンEd_iの個別評価値を統合して得られた検査結果の正解率(検査正解率)を基に、検査正解率が改善するようにk+1回目の反復学習における注目領域{R_i[k+1]}の分割の仕方を更新し、そのような分割が行えるように画像分割エンジンEcの内部パラメータを学習する。例えば、外観分析システム1は、学習用画像21における検査正解率を評価値としてk回目の反復学習中の注目領域{R_i[k]}を統合あるいは分割し、最適な注目領域{R_i}の分け方を決定する。その後、外観分析システム1は、次の学習用画像21について、ステップS22からステップS24のk+1回目の処理を実行する。
換言すれば、外観分析システム1は、1単位の学習用画像21を分割して得られる注目領域{R_i}について評価し、その結果決定される評価値を用いて画像分割エンジンEc及び評価エンジン{Ed_i}の学習を行う。外観分析システム1は、学習の結果得られた内部パラメータを用いて、他の1単位の学習用画像を分割する。
なお、図2に示す処理の終了条件は限定されない。例えば、所定のエポック数の学習が実行された場合に、外観分析システム1は本図の処理を終了してもよいし、バリデーションデータを用いて検証を行うことにより、処理を終了してもよい。
以上、本実施形態では、画像分割エンジンEcによる領域セグメンテーションにより検査用画像を複数の注目領域R_iに分割し、注目領域R_iに特化した専用の評価エンジンEd_iを用いて検査を行う。すなわち、注目領域R_iに応じて評価エンジンを切り替える。検査対象物の構造や見た目、発生する欠陥種がなるべく限定されるように注目領域R_iを決定することで、個々の評価エンジンEd_iが扱うパターンバリエーションは減少する。そのため、学習負荷を小さくすることができ、仮に自由度の低い評価エンジンを用いるとしても、必要な学習用画像数の低減、および検査性能の向上が期待できる。
本実施形態では、検査正解率を評価値として、画像分割エンジンEcと評価エンジンEd_iを反復的に学習することによって、両者を最適化する。即ち、複数の評価エンジンEd_iを有する検査エンジン全体で、高い検査正解率を得ることが可能となる。換言すれば、複数の評価エンジンEd_iで多様な検査対象・検査項目を分担するため、多様な構造を有する工業製品等に対して高い検査性能が得られる。
<検査フェーズでの処理方法>
図3は、外観分析システム1の検査フェーズでの処理方法の一例を示す図である。
図3は、外観分析システム1の検査フェーズでの処理方法の一例を示す図である。
まず、外観分析システム1は、物品の外観を示す検査用画像3を取得する(ステップS31)。本ステップの処理は、図1のステップS0において行われる処理と同様である。
次に、外観分析システム1は、画像分割エンジンEcを用いて、ステップS31で取得した検査用画像3を分割する(ステップS32)。本ステップにおいて、画像分割エンジンEcは、図2に示す学習フェーズで得られた内部パラメータを用いて検査用画像3を分割する。検査用画像3は、学習後の内部パラメータに基づいて、複数の注目領域R_iに分割される。
次に、外観分析システム1は、評価エンジンEd_iを用いて、ステップS32で分割して得た注目領域R_iを評価する(ステップS33)。本ステップにおいて、評価エンジンEd_iは、図2に示す学習フェーズで得られた内部パラメータを用いて、注目領域R_iを評価する。なお、本ステップで評価に用いられる評価エンジンEd_iは、ステップS32で分割して得られた注目領域R_iの数だけ生成されている。即ち、分割の結果得られた注目領域R_i毎に、評価結果が出力される。
次に、外観分析システム1は、検査結果を出力する(ステップS34)。外観分析システム1は、ステップS33で各評価エンジンEd_iにより出力された評価結果である個別評価値を統合することにより、検査用画像3の推定評価値を検査結果として出力する。
<第1の変形例における学習フェーズでの処理方法>
次に、第1の変形例における外観分析システム1について説明する。以下、上述の実施形態と異なる点について説明する。図2に示す学習フェーズの例において、評価エンジンEd_iの評価方法は限定されるものでなく、例えば注目領域R_iの画素毎に評価値を算出できる点を説明した。本変形例における外観分析システム1は、学習フェーズにおいて、局所領域を用いた注目領域R_iの評価を行う。
次に、第1の変形例における外観分析システム1について説明する。以下、上述の実施形態と異なる点について説明する。図2に示す学習フェーズの例において、評価エンジンEd_iの評価方法は限定されるものでなく、例えば注目領域R_iの画素毎に評価値を算出できる点を説明した。本変形例における外観分析システム1は、学習フェーズにおいて、局所領域を用いた注目領域R_iの評価を行う。
図4は、第1の変形例における外観分析システム1の学習フェーズでの処理方法の一例を示す図である。ステップS41及びステップS42において外観分析システム1が実行する処理は、図2のステップS21及びステップS22において実行される処理と同様であるため、説明を省略する。
次に、外観分析システム1は、評価エンジンEd_iを用いて学習用画像41の評価を行う(ステップS43)。外観分析システム1が、注目領域R_i(k)に特化した評価エンジンEd_iを生成し、それぞれの評価エンジンEd_iを用いて各注目領域R_i(k)を評価する点は、図2のステップS23と同様である。
本変形例における外観分析システム1は、各注目領域R_iを分割して複数の局所領域f_i(m)(m=1,…,NF_i, NF_i: 注目領域R_iを分割した局所領域数)とし、評価エンジンEd_iを用いて局所領域f_i(m)毎に評価することにより、局所領域f_i(m)により構成される注目領域R_iを評価する。なお、局所領域f_i(m)の分割方法は限定されるものではなく、例えば所定の大きさの格子状であってもよい。
評価エンジンEd_1は、図2に示す例と同様に、ステップS42において分割された注目領域R_iの数だけ生成される。例えば各評価エンジンEd_1は、対応する注目領域R_iを構成する局所領域f_i(m)を評価し、得た値を統合することにより、当該注目領域R_iの個別評価値を出力する。換言すれば、外観分析システム1は、局所領域f_i(m)と注目領域R_iとの関係を示す情報、即ち局所領域f_i(m)の属する注目領域R_iを示す情報と、局所領域f_i(m)への評価と、を用いて、注目領域R_iの個別評価値を出力する。なお、局所領域f_i(m)と注目領域R_iとの関係を示す情報は、本例に限定されない。
ステップS44において外観分析システム1が実行する処理は、図2のステップS24と同様である。
<第1の変形例における検査フェーズでの処理方法>
図5は、第1の変形例における外観分析システム1の検査フェーズでの処理方法の一例を示す図である。ステップS51及びステップS52において外観分析システム1が実行する処理は、図3のステップS31及びステップS32において実行する処理と同様であるため、説明を省略する。
図5は、第1の変形例における外観分析システム1の検査フェーズでの処理方法の一例を示す図である。ステップS51及びステップS52において外観分析システム1が実行する処理は、図3のステップS31及びステップS32において実行する処理と同様であるため、説明を省略する。
次に、外観分析システム1は、評価エンジンEd_iを用いて検査用画像5の評価を行う(ステップS53)。第1の変形例における外観分析システム1の評価エンジンEd_iは、検査フェーズにおいても、図4に示す学習フェーズと同様に、各注目領域R_iを局所領域に分割して評価する。ステップS54において外観分析システム1が実行する処理は、図3のステップS34の処理と同様であるため、説明を省略する。
<第2の変形例における学習フェーズでの処理方法>
以下、第2の変形例における外観分析システム1について説明する。以下、上述の実施形態と異なる点について説明する。本変形例における外観分析システム1は、局所領域に対して帰属度を設定することにより、画像の評価を行う。
以下、第2の変形例における外観分析システム1について説明する。以下、上述の実施形態と異なる点について説明する。本変形例における外観分析システム1は、局所領域に対して帰属度を設定することにより、画像の評価を行う。
図6は、第2の変形例における外観分析システム1の学習フェーズでの処理方法の一例を示す図である。ステップS61及びステップS62において外観分析システム1が実行する処理は、図2のステップS21及びステップS22において実行される処理と同様であるため、説明を省略する。
次に、外観分析システム1は、画像分割エンジンEcを用いて学習用画像61を局所領域{f_j}(j=1,…,Nr, Nr:分割領域数)に分割し、各局所領域f_jに対し、注目領域R_iへの帰属度{a_i(j)}(i=1,…,NR, NR:注目領域数)を推定する(ステップS63)。帰属度{a_i(j)}は、局所領域f_jが各注目領域R_iに属する確からしさを示す指標である。
本変形例においても、上述の実施形態と同様に、画像分割エンジンEcにより検査用画像を複数の注目領域R_iに分割し、注目領域R_i毎に異なる評価エンジンEd_iを用いて検査を行うことが基本的な処理である。しかしながら、検査対象の中には、画像分割エンジンEcによる信頼性の高い領域セグメンテーションが困難な場合がある。
すなわち、検査用画像中の局所領域f_j(画像を格子状に分割した領域、あるいは画素単位でもよい)が第一の注目領域R_1に属するのか、第二の注目領域R_2に属するかの判定が難しい場合である。この判定を誤った場合、本来用いる評価エンジンEd_iと異なる評価エンジンを用いて検査が行われることになるため、注目領域R_iへの分割性能は全体の検査性能に影響を与える。
そのため、判定が難しい場合は無理に局所領域f_jを一つの注目領域R_iに割り当てず、可能性の高い複数の注目領域R_iに割り当てる。例えば、局所領域f_1が3つの注目領域R_1、R_2、R_3に属する可能性が高いのであれば、局所領域f_1の属する注目領域R_i={R_1,R_2,R_3}と決定する。
なお、画像分割エンジンEcは、領域セグメンテーションを行う際、ある領域が注目領域R_iに属するか否かの2値ではなく、注目領域R_iに属する尤度を出力することができる。また、帰属度{a_i}はセグメンテーションされた領域形状を基に算出されてもよい。例えば、注目領域R_1の中に、注目領域R_2に分類された微小領域が含まれていた場合、この微小領域はノイズの可能性があり、周辺の注目領域R_1に分類した方が妥当かもしれない。この場合、画像分割エンジンEcは、微小領域の帰属度として、例えば{a_1, a_2}={0.4, 0.6}と算出することができる。これは、微小領域が注目領域R_1に属する可能性が40%であり、注目領域R_2に属する可能性が60%であることを意味する。
また、注目領域R_1に分類されたの領域の形状が大きく歪んでいた場合も結果の信頼度は低いと考えられる。その場合、画像分割エンジンEcは、注目領域R_1の帰属度を下げ、それ以外の注目領域への帰属度を高くすることができる。
次に、外観分析システム1は、評価エンジンEd_iを用いて、学習用画像61の評価を行う(ステップS64)。外観分析システム1が、注目領域R_i(k)に特化した評価エンジンEd_iを生成し、それぞれの評価エンジンEd_iを用いて各注目領域R_i(k)を評価する点は、図2のステップS23と同様である。
本変形例における外観分析システム1は、評価エンジンEd_iを用いて、局所領域{f_j}の評価を行う。具体的には、外観分析システム1は、各局所領域f_jの属する可能性のある注目領域R_iに対応する各評価エンジンEd_iを用いて、それぞれの評価値を得る。例えば、局所領域f_1が注目領域R_1、R_2、R_3に属する可能性がある場合、評価エンジンEd_1、Ed_2、Ed_3を用いて局所領域f_1を検査し、局所領域f_1が注目領域R_1に属する場合の評価値と、注目領域R_2に属する場合の評価値と、注目領域R_3に属する場合の評価値と、の3通りの評価値を得る。
次に、外観分析システム1は、帰属度{a_i}に基づいてそれぞれの評価値を統合することで、局所領域f_jの最終的な検査結果である個別評価値を得る。統合の仕方としては、例えば帰属度{a_i}の大きさに基づき各評価値に重み付けを行うことができるが、統合方法はこれに限定されない。外観分析システム1は、局所画像{f_j}の最終的な検査結果を用いて、学習用画像61の推定評価値を得る。
次に、外観分析システム1は、画像分割エンジンEcの学習を実行する(ステップS65)。本処理は、図2におけるステップS24の処理と同様であるため、説明を省略する。
以上、本変形例では、局所領域f_jが属する注目領域R_iを一つに限定せずに処理を行うことによって、信頼度の高い検査性能を得ることができる。
<第2の変形例における検査フェーズでの処理方法>
図7は、第2の変形例における外観分析システム1の検査フェーズでの処理方法の一例を示す図である。ステップS71及びステップS72において外観分析システム1が実行する処理は、図3のステップS31及びステップS32において実行する処理と同様であるため、説明を省略する。
図7は、第2の変形例における外観分析システム1の検査フェーズでの処理方法の一例を示す図である。ステップS71及びステップS72において外観分析システム1が実行する処理は、図3のステップS31及びステップS32において実行する処理と同様であるため、説明を省略する。
次に、外観分析システム1は、画像分割エンジンEcを用いて、局所領域{f_j}の各注目領域R_iへの帰属度{a_i(j)}を推定する(ステップS73)。第2の変形例における外観分析システム1は、検査フェーズにおいても、図6に示す学習フェーズと同様に、各局所領域f_jについて、属する可能性のある各注目領域R_iへの帰属度{a_i(j)}を推定する。帰属度の推定方法は、図6のステップS63と同様である。
次に、外観分析システム1は、評価エンジンEd_iを用いて、検査用画像7の評価を行う(ステップS74)。第2の変形例における外観分析システム1は、検査フェーズにおいても、図6に示す学習フェーズのステップS64と同様に、帰属度に基づいて局所領域f_jの個別評価値を取得し、個別評価値に基づいて検査用画像7の推定評価値を得る。
外観分析システム1が、ステップS75で実行する処理は、図3のステップS34の処理と同様であるため、説明を省略する。
<第3の変形例における学習フェーズでの処理方法>
以下、第3の変形例における外観分析システム1について説明する。本変形例における外観分析システム1は、ユーザからの注目領域R_iの統合指定あるいは分割指定を受け付けるGUI(Graphical User Interface)を有する。外観分析システム1は、学習ステップにおいて、ユーザからの指定に基づいて、画像分割エンジンEcが注目領域R_iの分け方を決定するよう、画像分割エンジンEcの内部パラメータを最適化する。以下、上述の実施形態と異なる点について説明する。
以下、第3の変形例における外観分析システム1について説明する。本変形例における外観分析システム1は、ユーザからの注目領域R_iの統合指定あるいは分割指定を受け付けるGUI(Graphical User Interface)を有する。外観分析システム1は、学習ステップにおいて、ユーザからの指定に基づいて、画像分割エンジンEcが注目領域R_iの分け方を決定するよう、画像分割エンジンEcの内部パラメータを最適化する。以下、上述の実施形態と異なる点について説明する。
図8は、第3の変形例における外観分析システム1の学習フェーズでの処理方法の一例を示す図である。ステップS81において外観分析システム1が実行する処理は、図2のステップS21において実行される処理と同様であるため、説明を省略する。
次に、外観分析システム1は、分割条件の入力操作を受け付ける(ステップS82)。具体的には、外観分析システム1は、分割条件として、ユーザによる学習用画像81の分割方法の入力操作を受け付ける。
上述の実施形態と同様に、本変形例においても、外観分析システム1は、画像分割エンジンEcがどのような領域セグメンテーションを行うか(どのような注目領域R_iに分割するか)を、検査正解率を評価値とした学習により決定する。検査対象が複雑な場合、あるいは学習用画像が少数である場合、適切な学習が行われない場合がある。本変形例では、注目領域R_iの分割の仕方に関してユーザに事前知識がある場合は、それをルールとして画像分割エンジンEcに組み込むことを可能とする。
図9は、分割条件の指定の一例を説明するための図である。例えば、k回目の反復学習中の画像分割エンジンEcにおいて、学習用画像81を注目領域R_1[k]~R_4[k](画像811~画像814)に分割していたとする(領域分割の仕方1)。一方、検査対象の特性において注目領域R_1[k](画像811)、及びR_3[k](画像813)に発生する欠陥種が同種であることが分かっていた場合、注目領域R_3[k]を注目領域R_1[k]にマージして、両者を合わせたものを注目領域R_1[k](画像815)と設定し直すことができる(領域分割の仕方2)。即ち、外観分析システム1は、注目領域R_3[k]を注目領域R_1[k]にマージすることを示す、GUIへの入力操作を受け付ける。
元の注目領域R_1[k]、R_3[k]が同様の欠陥種を扱うのであれば、同じ評価エンジンEd_iで検査することが可能と考えられる。また、評価エンジンEd_iを学習する際も、両者の画像を合わせることで、より効率的に学習を行うことができる。
また、k回目の反復学習中の画像分割エンジンEcにおいて、一つの注目領域R_1[k]に属していた領域を二つ以上の領域に細かく分割するように指定することもできる。注目領域R_1[k]内に複数種類の検査対象の構造が含まれ、かつ、これらは異なる評価エンジンで検査することが望ましいと判断される場合、注目領域を分割するように画像分割エンジンEcを学習することができる。
例えば、学習用画像81が注目領域R_1[k]~R_4[k](画像811~画像814)に分割されていた場合を考える(領域分割の仕方1)。注目領域R_1[k](画像811)に大小二つの歯車が存在するが、検査対象の特性により両者に発生する欠陥種が異なることが分かっていた場合、注目領域R_1[k](画像811)を2つの注目領域R_1[k](画像818)、R_2[k](画像819)に分割するように領域分割の仕方を指定する(領域分割の仕方3)。即ち、外観分析システム1は、注目領域R_1[k]を分割することを示す、GUIへの入力操作を受け付ける。
これにより、注目領域R_1[k](画像818)、及びR_2[k](画像819)は、異なる評価エンジンEd_1、Ed_2を用いて検査されることになる。なお、学習フェーズにおいて指定した注目領域R_iの分割基準によって、検査フェーズにおいても注目領域の分割が行われることが期待される。
付言すれば、外観分析システム1は、分割条件の入力操作に基づいて、検査不要の領域を設けてもよい。図8における学習用画像81は、4つの注目領域R_1、R_2、R_3、R_4に分割されているが、注目領域R_4は、入力操作に基づいて検査不要と判断された注目領域である。例えば、外観分析システム1は、検査不要である注目領域R_4の注目部分である白い画素を、評価エンジンEd_iの評価対象から除外する。
ステップS83~ステップS85において行われる処理は、図2のステップS22~ステップS24において行われる処理と同様であるため、説明を省略する。なお、ステップS83において、外観分析システム1は、ステップS82で入力された分割条件を満たすよう、画像分割エンジンEcを用いて学習用画像81を分割する。
付言すれば、図8に係る処理方法の一例では、図2と同様に、各評価エンジンEd_iは、各注目領域R_iの例えば画素毎に評価を行うが、図4に示す第1の変形例における評価と同様に、局所領域{f_i}を用いて評価を行ってもよいし、図6に示す第2の変形例における評価と同様に、学習用画像81を分割した局所領域{f_i}及び帰属度{a_i(j)}を用いて評価を行ってもよい。
以上のように、ユーザが保有する、検査対象に対するドメイン知識を組み込むことによって、より適切な検査エンジンの最適化が可能となる。
<第4の変形例における学習フェーズでの処理方法>
以下、第4の変形例における外観分析システム1について説明する。本変形例における外観分析システム1は、画像分割ステップにおいて、検査対象物の設計データ(例えばCAD(Computer-Aided Design)データ)の入力を受け付け、設計データにおける領域情報を基に検査用画像を複数の注目領域{R_i}に分割する。以下、上述の実施形態と異なる点について説明する。
以下、第4の変形例における外観分析システム1について説明する。本変形例における外観分析システム1は、画像分割ステップにおいて、検査対象物の設計データ(例えばCAD(Computer-Aided Design)データ)の入力を受け付け、設計データにおける領域情報を基に検査用画像を複数の注目領域{R_i}に分割する。以下、上述の実施形態と異なる点について説明する。
図10は、第4の変形例における外観分析システム1の学習フェーズでの処理方法の一例を示す図である。ステップS91において外観分析システム1が実行する処理は、図2のステップS21において実行される処理と同様であるため、説明を省略する。
次に、外観分析システム1は、検査対象物である物品の設計データを取得する(ステップS92)。本変形例において、外観分析システム1は、学習用画像91に表示される検査対象物の設計情報であるCAD等の設計データを活用することができる。
次に、外観分析システム1は、画像分割エンジンEcを用いて学習用画像91を分割する(ステップS93)。図2に示すステップS22と同様に、外観分析システム1は、学習用画像91を複数の注目領域{R_i}(i=1,…,NR, NR:注目領域数)に分割する。なお、学習用画像91の分割の際、外観分析システム1は、ステップS92で取得した設計データと学習用画像91の対応関係を使用する。
図11は、設計データを用いた分割方法の一例を説明するための図である。設計データ900は、ステップS92で取得する設計データの一例であり、線901~904は検査対象物の設計形状の輪郭線を示す。設計データにより検査対象物の構造情報が分かるため、検査用画像905と設計データ900とを照合することにより、画像認識を用いなくても検査用画像905の構造情報が把握できる。従って、この構造情報を参照して注目領域{R_i}の分割を行うことができる。
一般に、検査用画像の撮像範囲は検査対象物の一部であり、また撮像ずれも発生することから、検査用画像と設計データを照合することにより、両者の対応関係が分かる。一点鎖線901は、設計データ900における検査用画像905の照合位置であり、画像906は検査用画像905に設計データ900内の点線902~904をオーバーラップして描画したものである。
注目領域{R_i}への分割は設計データから与えられる構造情報のみに基づいて行ってもよいし、画像処理による領域セグメンテーションと併用してもよい。検査用画像905を3つの注目領域R_1~R_3(画像907~909)に分割することを考える。検査用画像905において設計データ中の輪郭線である点線904に対応する構造が認識しにくいことが分かる。そのため、点線904を基に注目領域R_2、R_3の分割に行うことが有効である。
一方、設計データはあくまで設計形状であるため、実際の形状とは乖離が発生する場合がある。例えば画像906に示すように、大小二つの歯車(点線902・903)は設計データと検査用画像間で大まかな位置は一致しているものの形状は多少乖離している。そのため、注目領域R_1(画像907)の分割については、設計データから概形の抽出は可能であるが、正確な形状は画像処理による領域セグメンテーションが必要である。
本変形例では、設計データを画像分割エンジンEcに入力し、学習用画像91を注目領域に分割する際に用いることができる。なお、後述の検査フェーズにおいても、設計データを画像分割エンジンEcに入力し、同様に検査用画像を注目領域に分割する際に用いることができる。
説明を図10に戻す。ステップS94及びステップS95で行われる処理は、図2のステップS23及びステップS24で行われる処理と同様であるため、説明を省略する。付言すれば、図10に係る処理方法の一例では、図2と同様に、各評価エンジンEd_iは、各注目領域R_iの例えば画素毎に評価を行うが、図4に示す第1の変形例における評価と同様に、局所領域f_iを用いて評価を行ってもよいし、図6に示す第2の変形例における評価と同様に、学習用画像91を分割した局所領域{f_i}及び帰属度{a_i(j)}を用いて評価を行ってもよい。
なお、先述の第3の変形例において、ユーザからの注目領域R_iの統合あるいは分割の指定を受け付ける場合、ユーザは設計データ上で注目領域R_iを指定することができる。例えば、図11の点線902と点線903とを同じ注目領域R_iに統合するように指定したり、あるいは逆に点線902と点線903を異なる注目領域R_iに分割するように指定したり等の指定が可能である。これにより、ユーザの指定通りの注目領域R_iが出力されるように画像分割エンジンEcを学習することができる。
また、本変形例においても、図8に示す第3の変形例と同様に、外観分析システム1は、注目領域R_4について、検査不要と判断し、評価エンジンEd_iを用いた評価から除外している。このように、本変形例についても、第3の変形例と同様に、画像分割エンジンEcは、検査不要の注目領域R_iを決定することができる。
<第4の変形例における検査フェーズでの処理方法>
図12は、第4の変形例における外観分析システム1の検査フェーズでの処理方法の一例を示す図である。ステップS101において外観分析システム1が実行する処理は、図3のステップS31において実行する処理と同様である。また、ステップS102からステップS103において外観分析システム1が実行する処理は、図10のステップS92からステップS93において実行する処理と同様である。
図12は、第4の変形例における外観分析システム1の検査フェーズでの処理方法の一例を示す図である。ステップS101において外観分析システム1が実行する処理は、図3のステップS31において実行する処理と同様である。また、ステップS102からステップS103において外観分析システム1が実行する処理は、図10のステップS92からステップS93において実行する処理と同様である。
本変形例により、検査対象物の設計データを活用して、効率的に学習用画像及び検査用画像の分割を行うことができる。
図13は、外観分析システム1のハードウェア構成の一例を示す図である。外観分析システム1は、前述の撮像装置106と、計算機100とを有する。撮像装置106は先述の通りである。計算機100は、本実施形態における外観分析方法を処理する構成物であり、プロセッサ101と、記憶資源(メモリリソース)102と、GUI装置103と、入力装置104と、通信インターフェイス105と、を備える。
プロセッサ101は、CPU(Central Processing Unit)、GPU(Graphic Processing Unit等の処理装置であるが、これに限定されるものではなく、上述の外観分析方法を実行できるものであればよい。また、少なくとも、一つのプロセッサ101は、シングルコアでもよいしマルチコアでもよい。あるいは、処理の一部又は全部を行うハードウェア記述言語によりその機能が実現されるゲートアレイの集合体である回路(例えばFPGA(Field-Programmable Gate Array)、CPLD(Complex Programmable Logic Device)、又はASIC(Application Specific Integrated Circuit)といった広義のプロセッサデバイスでもよい。
記憶資源102は、RAM(Random Access Memory)、ROM(Read Only Memory)、HDD(Hard Disk Drive)、不揮発メモリ(フラッシュメモリ等)等の記憶装置であり、プログラムやデータが一時的に読み出される記憶エリアとして機能する。記憶資源102は、上述の実施形態にて説明した外観分析方法をプロセッサ101に実行させるプログラム(外観分析プログラムと呼ぶ)を格納してもよい。
GUI装置103は、GUIを表示する装置であって、例えばOLCD(Organic Liquid Crystal Display)等のディスプレイやプロジェクタである。入力装置104は、ユーザからの入力操作を受け付ける装置であって、例えばキーボード、マウス、タッチパネル等の入力装置である。入力装置104は、ユーザからの操作を受け付けられる構成物であれば特に限定されるものではなく、入力装置104とGUI装置103とは一体の装置であってもよい。
通信インターフェイス105は、USB、Ethernet、Wi-Fi等であって、情報の入出力を仲介するインターフェイスである。なお、通信インターフェイス105は、撮像装置106から画像を直接受信できたり、又はユーザが当該画像を計算機100に送信できるインターフェイスであれば、ここに示す例に限定されない。なお、当該通信インターフェイスに、当該画像を格納した可搬不揮発記憶媒体(たとえばフラッシュメモリ、DVD、CD-ROM、ブルーレイディスク等の)を接続し、計算機100に当該画像を格納することができる。
なお、外観分析システム1を構成する計算機100は複数であってもよく、撮像装置106が複数であってもよい。また、先述の外観分析プログラムは、外観分析プログラムを格納する可搬不揮発記憶媒体を通信インターフェイスに接続することで、計算機100に配布することができる。又は、外観分析プログラムは、プログラム配信サーバーにより計算機100に配信することができる。この場合、プログラム配信サーバーは、外観分析プログラムを格納した記憶資源102と、外観分析プログラムを配信する配信処理を行うプロセッサと、計算機100の通信インターフェイス装置と通信可能である通信インターフェイス装置と、を有する。なお、計算機100に配布又は配信された外観分析プログラムは、プロセッサ101により各種機能が実現される。
付言すれば、先述のように、外観分析システム1は、検査エンジンの学習を行う学習フェーズと、学習フェーズで学習した検査エンジンを用いて、検査用画像の評価を行う検査フェーズとを実行する。学習フェーズを実行するプロセッサ101と、検査フェーズを実行するプロセッサ101は、同じであってもよいし、異っていてもよい。学習フェーズを実行するプロセッサ101と、検査フェーズを実行するプロセッサ101とが異なる場合、学習フェーズを実行するプロセッサ101は、検査フェーズを実行するプロセッサ101に、検査エンジンの内部パラメータを引き渡すことができる。
なお、前述の通り、これまで説明した実施形態は特許請求の範囲に係る発明を限定するものではなく、また、実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
また、本実施形態では検査フェーズの入力情報として一枚の検査用画像を検査対象としたが、検査用画像が複数枚、推定評価値が複数種類の場合も本発明を適用することが可能である。即ち、評価エンジンが多くの画像の入力を受け付けることも可能であり、多くの画像を評価対象とすることも可能である。
以上、本発明に係る各実施形態及び変形例の説明を行ってきたが、本発明は、上記した実施形態の一例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施形態の一例は、本発明を分かり易くするために詳細に説明したものであり、本発明は、ここで説明した全ての構成を備えるものに限定されない。また、ある実施形態の一例の構成の一部を他の一例の構成に置き換えることが可能である。また、ある実施形態の一例の構成に他の一例の構成を加えることも可能である。また、各実施形態の一例の構成の一部について、他の構成の追加・削除・置換をすることもできる。また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、図中の制御線や情報線は、説明上必要と考えられるものを示しており、全てを示しているとは限らない。ほとんど全ての構成が相互に接続されていると考えてもよい。
また、上記の外観分析システム1の機能構成は、理解を容易にするために、主な処理内容に応じて分類したものである。構成要素の分類の仕方や名称によって、本願発明が制限されることはない。上述に示す通り、外観分析システム1は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、1つの構成要素がさらに多くの処理を実行するように分類することもできる。
以上、本実施形態により、各検査エンジンの負荷を抑制しながら、多様な構造を有する工業製品等に対しても精度の高い検査結果を得ることが可能となる。
1:外観分析システム、2・4・6・8・9:学習用画像群、21・41・61・81・91:学習用画像、3・5・7・10・905:検査用画像、100:計算機、101:プロセッサ、102:記憶資源、103:GUI装置、104:入力装置、105:通信インターフェイス、106:撮像装置、900:設計データ、901:一点鎖線、902・903・904:点線、906・907・908・909:画像
Claims (19)
- 少なくとも1つのプロセッサと、メモリリソースとを備える外観分析システムであって、
前記プロセッサは、
*物品の外観を示す複数の学習用画像を含む学習データセットを取得する
*分割モデルを用いて、前記学習用画像を複数の注目領域に分割する
*前記注目領域を評価する評価モデルを前記注目領域毎に生成し、各々の前記評価モデルによる前記注目領域の評価結果を出力する
*前記評価結果と前記学習データセットとを用いて決定される値を用いて前記分割モデルの学習を行う
外観分析システム。 - 請求項1に記載の外観分析システムであって、
前記学習データセットは、前記複数の学習用画像に対する正解評価値を含むものであり、
前記プロセッサは、
*前記評価結果と前記正解評価値とを用いて得られる検査正解率を用いて前記分割モデルの学習を行う
外観分析システム。 - 請求項2に記載の外観分析システムであって、
前記プロセッサは、
*前記学習用画像を構成する前記注目領域ごとの前記評価結果を統合した推定評価値と前記正解評価値とを用いて、前記学習用画像の前記検査正解率を算出する
外観分析システム。 - 請求項1に記載の外観分析システムであって、
前記プロセッサは、
*前記複数の学習用画像のうちの1単位の前記学習用画像を分割して得られる前記注目領域に対する前記評価結果を出力する
*前記1単位の学習用画像について決定される前記値を用いて前記分割モデルの学習を行う
*学習した前記分割モデルを用いて、他の前記1単位の前記学習用画像を分割する
外観分析システム。 - 請求項1に記載の外観分析システムであって、
前記プロセッサは、
*物品の外観を示す検査用画像を取得する
*学習した前記分割モデルを用いて前記検査用画像を分割する
*分割して得られた前記注目領域毎に、前記評価モデルによる評価結果を出力する
*前記評価結果を用いて前記検査用画像の検査結果を出力する
外観分析システム。 - 請求項1に記載の外観分析システムであって、
前記プロセッサは、
*前記学習用画像を分割して複数の局所領域を得る
*前記局所領域と前記注目領域との関係を示す情報と、前記局所領域への評価を用いて前記注目領域の評価結果を出力する
外観分析システム。 - 請求項6に記載の外観分析システムであって、
前記プロセッサは、
*前記局所領域ごとに各注目領域への帰属度を推定する
*前記局所領域への評価に前記帰属度に基づく重みづけを行うことにより前記注目領域の評価結果を出力する
外観分析システム。 - 請求項1に記載の外観分析システムであって、
前記プロセッサは、
*所定の複数の前記注目領域に関する分割条件の指定を受け付ける
*指定された分割条件を満たすよう前記学習用画像を分割する
外観分析システム。 - 請求項1に記載の外観分析システムであって、
前記プロセッサは、
*前記物品の設計情報を取得する
*前記設計情報と前記学習用画像との対応関係を用いて前記学習用画像を分割する
外観分析システム。 - 外観分析システムによる外観分析方法であって、
物品の外観を示す複数の学習用画像を含む学習データセットを取得する学習データセット取得ステップと、
分割モデルを用いて、前記学習用画像を複数の注目領域に分割する学習用画像分割ステップと、
前記注目領域を評価する評価モデルを前記注目領域毎に生成し、各々の前記評価モデルによる前記注目領域の評価結果を出力する学習用画像評価ステップと、
前記評価結果と前記学習データセットとを用いて決定される値を用いて前記分割モデルの学習を行う学習ステップと、を含む、外観分析方法。 - 請求項10に記載の外観分析方法であって、
前記学習データセットは、前記複数の学習用画像ごとに正解評価値を含むものであり、
前記学習ステップでは、前記評価結果と前記正解評価値とを用いて得られる検査正解率を用いて前記分割モデルの学習を行う、外観分析方法。 - 請求項11に記載の外観分析方法であって、
前記学習ステップでは、前記学習用画像を構成する前記注目領域ごとの前記評価結果を統合した推定評価値と前記正解評価値とを用いて、前記学習用画像の前記検査正解率を算出する、外観分析方法。 - 請求項10に記載の外観分析方法であって、
前記学習用画像評価ステップでは、前記複数の学習用画像のうちの1単位の前記学習用画像を分割して得られる前記注目領域に対する前記評価結果を出力し、
前記学習ステップでは、前記1単位の学習用画像について決定される前記値を用いて前記分割モデルの学習を行い、
前記学習用画像分割ステップでは、学習した前記分割モデルを用いて、他の前記1単位の前記学習用画像を分割する、外観分析方法。 - 請求項10に記載の外観分析方法であって、
物品の外観を示す検査用画像を取得する検査用画像取得ステップと、
前記学習ステップにおいて学習した前記分割モデルを用いて前記検査用画像を分割する検査用画像分割ステップと、
前記検査用画像分割ステップにおいて得られた前記注目領域毎に、前記評価モデルによる評価結果を出力する検査用画像評価ステップと、
前記評価結果を用いて前記検査用画像の検査結果を出力する検査結果出力ステップと、を含む、外観分析方法。 - 請求項10に記載の外観分析方法であって、
前記学習用画像を分割して複数の局所領域を得る局所領域取得ステップを含み、
前記学習用画像評価ステップでは、前記局所領域と前記注目領域との関係を示す情報と、前記局所領域への評価を用いて前記注目領域の評価結果を出力する、外観分析方法。 - 請求項15に記載の外観分析方法であって、
前記局所領域ごとに各注目領域への帰属度を推定する帰属度推定ステップを含み、
前記学習用画像評価ステップでは、前記局所領域への評価に前記帰属度に基づく重みづけを行うことにより前記注目領域の評価結果を出力する、外観分析方法。 - 請求項10に記載の外観分析方法であって、
所定の複数の前記注目領域に関する分割条件の指定を受け付ける分割指定ステップを含み、
前記学習用画像分割ステップでは、前記分割指定ステップで指定された分割条件を満たすよう前記学習用画像を分割する、外観分析方法。 - 請求項10に記載の外観分析方法であって、
前記物品の設計情報を取得する設計情報取得ステップを含み、
前記学習用画像分割ステップでは、前記設計情報と前記学習用画像との対応関係を用いて前記学習用画像を分割する、外観分析方法。 - 請求項10から18のいずれか一項に記載の外観分析方法をプロセッサに実行させる、プログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022033634A JP2023128940A (ja) | 2022-03-04 | 2022-03-04 | 外観分析システム、外観分析方法、及びプログラム |
JP2022-033634 | 2022-03-04 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023166776A1 true WO2023166776A1 (ja) | 2023-09-07 |
Family
ID=87883555
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2022/037381 WO2023166776A1 (ja) | 2022-03-04 | 2022-10-06 | 外観分析システム、外観分析方法、及びプログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2023128940A (ja) |
WO (1) | WO2023166776A1 (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020129617A1 (ja) * | 2018-12-19 | 2020-06-25 | パナソニックIpマネジメント株式会社 | 外観検査装置及びそれを用いた溶接箇所の形状不良の有無及び種類の判定精度の向上方法、溶接システム及びそれを用いたワークの溶接方法 |
JP2021058594A (ja) * | 2019-10-07 | 2021-04-15 | 株式会社モリタ製作所 | セグメンテーション装置および学習モデルの生成方法 |
-
2022
- 2022-03-04 JP JP2022033634A patent/JP2023128940A/ja active Pending
- 2022-10-06 WO PCT/JP2022/037381 patent/WO2023166776A1/ja unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020129617A1 (ja) * | 2018-12-19 | 2020-06-25 | パナソニックIpマネジメント株式会社 | 外観検査装置及びそれを用いた溶接箇所の形状不良の有無及び種類の判定精度の向上方法、溶接システム及びそれを用いたワークの溶接方法 |
JP2021058594A (ja) * | 2019-10-07 | 2021-04-15 | 株式会社モリタ製作所 | セグメンテーション装置および学習モデルの生成方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2023128940A (ja) | 2023-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114444986B (zh) | 产品分析方法及系统及装置及介质 | |
US11686689B2 (en) | Automatic optimization of an examination recipe | |
JP2021057042A (ja) | 製品の分類システムおよび製品の分類方法 | |
KR20190063839A (ko) | 제조 공정에서 딥러닝을 활용한 머신 비전 기반 품질검사 방법 및 시스템 | |
JP7102941B2 (ja) | 情報処理方法、情報処理装置、及びプログラム | |
TW202044067A (zh) | 基於機器學習之半導體樣本中的缺陷分類 | |
CN118378196B (zh) | 基于多模态数据融合的工控主机异常行为识别方法 | |
WO2019176989A1 (ja) | 検査システム、識別システム、及び学習データ生成装置 | |
JP2021143884A (ja) | 検査装置、検査方法、プログラム、学習装置、学習方法、および学習済みデータセット | |
Kirthiga et al. | A survey on crack detection in concrete surface using image processing and machine learning | |
CN117197591A (zh) | 一种基于机器学习的数据分类方法 | |
CN117484031A (zh) | 光伏组件焊接加工设备 | |
CN116778269A (zh) | 一种基于自编码器重构产品表面缺陷检测模型构建方法 | |
CN113822842A (zh) | 一种基于多任务学习的工业缺陷检测方法 | |
KR20210003661A (ko) | 패널의 이미지를 이용하여 패널의 결함을 검출하는 방법 및 시스템 | |
Awtoniuk et al. | Industrial application of deep neural network for aluminum casting defect detection in case of unbalanced dataset | |
US12211191B2 (en) | Automatic inspection using artificial intelligence models | |
WO2023166776A1 (ja) | 外観分析システム、外観分析方法、及びプログラム | |
JP7549736B2 (ja) | 外観検査方法および外観検査システム | |
JP2023007260A (ja) | 計算機及び外観検査方法 | |
Dubey et al. | Deep learning-powered visual inspection for metal surfaces–Impact of annotations on algorithms based on defect characteristics | |
Huang et al. | Quality control on manufacturing computer keyboards using multilevel deep neural networks | |
WO2023166773A1 (ja) | 画像分析システム、画像分析方法、及びプログラム | |
CN118570194B (zh) | 一种基于三维点云的异形衬套内表面缺陷检测方法及系统 | |
JP2024140750A (ja) | 異常判定システム、異常判定方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22929920 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |