WO2023084900A1 - 学習方法、学習装置、学習プログラム、及び画像処理装置 - Google Patents
学習方法、学習装置、学習プログラム、及び画像処理装置 Download PDFInfo
- Publication number
- WO2023084900A1 WO2023084900A1 PCT/JP2022/034032 JP2022034032W WO2023084900A1 WO 2023084900 A1 WO2023084900 A1 WO 2023084900A1 JP 2022034032 W JP2022034032 W JP 2022034032W WO 2023084900 A1 WO2023084900 A1 WO 2023084900A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- learning
- processor
- loss function
- patch image
- learning method
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 101
- 238000012545 processing Methods 0.000 title claims abstract description 57
- 230000011218 segmentation Effects 0.000 claims abstract description 16
- 230000006870 function Effects 0.000 claims description 89
- 230000007547 defect Effects 0.000 claims description 67
- 238000001514 detection method Methods 0.000 claims description 47
- 238000009795 derivation Methods 0.000 claims description 13
- 238000013528 artificial neural network Methods 0.000 claims description 7
- 238000012935 Averaging Methods 0.000 claims description 2
- 238000012549 training Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 11
- 238000003860 storage Methods 0.000 description 10
- 238000011176 pooling Methods 0.000 description 8
- 238000013527 convolutional neural network Methods 0.000 description 6
- 238000000605 extraction Methods 0.000 description 6
- 230000015654 memory Effects 0.000 description 6
- 238000003672 processing method Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 2
- 230000002950 deficient Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 206010028980 Neoplasm Diseases 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 201000011510 cancer Diseases 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011109 contamination Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
- G06T7/0008—Industrial image inspection checking presence/absence
-
- 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/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/62—Analysis of geometric attributes of area, perimeter, diameter or volume
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Definitions
- the present invention relates to a learning method, a learning device, a learning program for learning images, and an image processing device that uses a trained model constructed by the learning.
- Patent Documents 1 and 2 describe learning based on cross-entropy loss.
- One aspect of the present invention is a learning method, a learning device, and a learning program that can obtain a learning model with a good detection rate, and a trained model that can detect flaws and/or defects on a subject with good accuracy.
- An image processing device is provided.
- a learning method is a learning method executed by a learning device comprising a processor, the processor comprises a patch image and a class for a unit area of the patch image.
- a data acquisition step of acquiring learning data consisting of a pair of correct label data and segmentation of the patch image using the learning model and the learning data to determine whether the learning model correctly detects the second unit area. is executed for each patch image, a weighting step of setting the first weight based on the result of the determination, and an updating step of updating the learning model based on the weighted result.
- the processor sets a first weight for each patch image with respect to a first loss that is a loss for each patch image. .
- the processor determines that the second unit area is not correctly detected in the weighting step, the second unit area is correctly detected.
- the first weight is set to be greater than the weight when it is determined that the
- the learning model detects second unit regions belonging to a specific class in the determination step.
- the processor in the determining step, in a first case where the learning model erroneously detects a second unit area belonging to a specific class, and when the learning model specifies In the second case where the second unit area belonging to the class could not be detected, it is determined that the second unit area has not been correctly detected.
- the processor sets a greater weight in the second case than in the first case in the weighting step.
- the processor in the determining step, if the detection result is neither the first case nor the second case, the detection result is is correct.
- the processor determines flaws and defects of the subject in the determining step.
- the learning model outputs the likelihood of detection, and the processor, in the determination step, determines whether the likelihood is equal to or greater than a threshold Based on whether or not, it is determined that the second unit area belongs to the specific class.
- the processor changes the threshold during the learning process.
- the processor weights the cross-entropy loss of the patch image in the weighting step.
- the processor further performs a loss function derivation step of deriving a loss function for a batch composed of patch images, and an update step Then update the learning model using the loss function.
- the processor uses a first loss function obtained by averaging the results of weighting over the entire batch composed of patch images as the loss function.
- the processor in the loss function deriving step, is a loss function that is a loss function for the batch and is different from the first loss function. A function obtained by combining the second loss function and is used as the loss function.
- the processor updates the parameters of the learning model to minimize the loss function.
- the processor inputs an image and acquires images obtained by dividing the input image as patch images.
- the processor in the data acquisition step, comprises a patch having a size corresponding to the size of the flaw and/or defect of the object to be detected. Get an image.
- the learning model comprises a neural network that performs segmentation.
- a learning device comprising a processor, the processor extracting from a pair of a patch image and class label correct data for a unit region of the patch image: a data acquisition process for acquiring learning data, and a determination process for segmenting the patch image using the learning model and the learning data, and determining whether or not the learning model correctly detects the second unit area for each patch image. Then, a weighting step of setting the first weight based on the determination result and an update process of updating the learning model based on the weighted result are executed.
- a learning device may have a configuration for executing the same processing as in the second to eighteenth aspects.
- a learning program is a learning program that causes a learning device having a processor to execute a learning method, wherein the processor comprises: a patch image; A data acquisition step of acquiring learning data consisting of a pair of class label correct data for a unit region of an image, and segmenting a patch image using the learning model and the learning data, and the learning model identifies the second unit region. a determination step of determining whether each patch image is correctly detected, a weighting step of setting a first weight based on the determination result, and an updating step of updating the learning model based on the weighted result; let it run.
- a learning program according to the twentieth aspect may have a configuration for executing the same processing as in the second to eighteenth aspects.
- non-transitory recording media in which computer-readable codes of the learning programs of these aspects are recorded are also included in the scope of the present invention.
- an image processing apparatus according to a twenty-first aspect of the present invention is provided with a trained model trained by the learning method according to any one of the first to eighteenth aspects, wherein an input image , the trained model is used to detect flaws and/or imperfections in the subject.
- FIG. 1 is a diagram showing a schematic configuration of a learning device.
- FIG. 2 is a diagram showing a schematic configuration of a processing unit.
- FIG. 3 is a diagram showing how processing is performed by a convolutional neural network.
- FIG. 4 is another diagram showing the state of processing by the convolutional neural network.
- FIG. 5 is a flow chart showing an outline of processing of the learning method.
- FIG. 6 is a flow chart showing the details of the processing of the learning method.
- FIG. 7 is a diagram showing the effect of weighting on learning.
- FIG. 8 is a flowchart showing processing for obtaining patch images.
- FIG. 9 is a flowchart showing variations of the weighting process.
- FIG. 10 is a diagram showing how some of the huge defects are not detected.
- FIG. 11 is a diagram showing how all minute defects are undetected.
- the CE loss is expressed as It is represented by the following formulas (1) and (2).
- Equation (1) is defined for each pixel.
- the CE loss depends on the coordinates (x, y) of the pixels forming each input patch image Ii (1 ⁇ i ⁇ B) when the number of batches, which is the unit for updating the weights of the model, is B. letters are abbreviated.
- a large defect 900 (see part (a) in FIG. 10) where several pixels are not detected (region 902 in part (b) in FIG. 10), and 11, (ii) a minute defect 910 consisting of several pixels (see part (a) of the same figure) is entirely undetected (region 912 in the part (b) of the same figure). If a certain number of pixels is the same in region (i) 902 and (ii) 912, then the contribution to the loss function is also the same. However, from the viewpoint of evaluation of the detection rate, it is better to reproduce the detailed shape of the defect (huge defect 900) that has been successfully detected as in (i), as in (ii). It is preferable that priority is given to detecting defects that have not been detected at all (micro defects 910).
- the conventional loss function as described above Since they cannot be taken into account, it is preferable to set the loss to improve the detection rate more directly.
- FIG. 1 is a diagram showing a schematic configuration of a learning device (image processing device) according to one embodiment of the present invention.
- a learning device 10 (learning device, image processing device) according to the first embodiment includes a processing unit 100 (processor, computer), a storage unit 200, a display unit 300, and an operation unit 400. , and these components are connected to each other to transmit and receive necessary information.
- processing unit 100 processor, computer
- storage unit 200 storage unit
- display unit 300 display unit
- an operation unit 400 an operation unit
- the learning device 10 can connect to an external server 500 and/or an external database 510 via a network NW such as the Internet to acquire samples and learning data used for processing as necessary, and can also acquire processing results and the like. can be stored on external server 500 and/or external database 510 .
- NW such as the Internet
- the processing unit 100 includes a processor 102 (processor, computer), a ROM 130 (ROM: Read Only Memory), and a RAM 150 (RAM: Random Access Memory).
- the processor 102 performs overall control of the processing performed by each unit of the processing unit 100, and includes a data acquisition unit 104, a detector 106, a determination unit 108, a weighting unit 110, an update unit 112, a display control unit 114, a recording control unit 116, and the function of the communication control unit 118 .
- the data acquisition unit 104 can be input via the network NW or from a recording medium such as the storage unit 200, and the display control unit 114 and the recording control unit 116 display on the monitor 310 and transfer the data to the storage unit 200, respectively. can be output. These processes are performed via the communication control unit 118 as necessary.
- Detector 106 comprises a learning model, which comprises a neural network for segmentation.
- the neural network for example, CNN (Convolutional Neural Network), RNN (Recurrent Neural Network), and SVM (Support Vector Machine) can be used.
- CNN Convolutional Neural Network
- RNN Recurrent Neural Network
- SVM Serial Vector Machine
- the parameters of the learning model are updated by the learning method that is one aspect of the present invention.
- the detector 106 after training (trained model) can be used to detect flaws and/or defects from the image of the subject. That is, the learning device 10 after completing the learning operates as an image processing device according to one aspect of the present invention (described later).
- FIG. 3 is a diagram showing an example of the layer configuration of the learning model 224.
- the learning model 224 includes an input layer 250, an intermediate layer 252, and an output layer 254.
- the input layer 250 inputs the image (patch image) acquired by the data acquisition unit 104 and outputs the feature amount.
- the intermediate layer 252 includes a convolutional layer 256 and a pooling layer 258, and receives the features output by the input layer 250 to calculate other features.
- the learning model 224 may include a fully connected layer 260 as in the example shown in part (b) of FIG.
- the layer configuration of the learning model 224 is not limited to the case where the convolutional layer 256 and the pooling layer 258 are repeated one by one, and any of the layers (for example, the convolutional layer 256) may be continuously included. Also, multiple contiguous all-bonded layers 260 may be included.
- the intermediate layer 252 calculates the feature amount by convolution operation and pooling processing.
- the convolution operation performed in the convolution layer 256 is processing for obtaining a feature map by convolution operation using a filter, and plays a role of feature extraction such as edge extraction from an image.
- a "feature map" of one channel (one sheet) is generated for one filter by a convolution operation using this filter.
- the size of the "feature map” is downscaled by the convolution, getting smaller with each layer of convolution.
- the pooling process performed in the pooling layer 258 is a process of reducing (or enlarging) the feature map output by the convolution operation to create a new feature map. It plays the role of giving robustness to Intermediate layer 252 may consist of one or more layers that perform these operations.
- FIG. 4 is a diagram showing how the convolution operation is performed in the learning model 224 shown in FIG.
- an image set composed of a plurality of images an image set for learning at the time of learning and an image set for recognition at the time of recognition such as detection
- An image set can be composed of N images (N channels) having an image size of H in the vertical direction and W in the horizontal direction.
- N images N channels
- R red
- G green
- B blue
- a "feature map" of one channel (one sheet) is generated for one filter F1 by a convolution operation using this filter F1 .
- the filter F2 used in the second convolutional layer has a filter size of 3x3xM, for example for a filter of size 3 (3x3).
- the second to nth convolutional layers perform convolution operations using filters F 2 to F n .
- the reason why the size of the "feature map" in the nth convolutional layer is smaller than the size of the "feature map” in the second convolutional layer is that it has been downscaled by the previous convolutional layers or pooling layers. is.
- low-order feature extraction (edge extraction, etc.) is performed in the convolution layer closer to the input side, and higher-order feature extraction (features related to the shape, structure, etc. of the object) is performed as it approaches the output side. extraction) is performed.
- edge extraction edge extraction, etc.
- higher-order feature extraction features related to the shape, structure, etc. of the object
- extraction is performed.
- upscaling is performed in the latter half of the convolutional layer, and in the final convolutional layer, the same size as the input image set is used.
- a "feature map" is obtained.
- upscaling is not essential when detecting a region of interest because it is sufficient to output position information.
- the intermediate layer 252 may include a layer that performs batch normalization.
- Batch normalization is a process that normalizes the distribution of data in units of mini-batch during learning, and plays the role of speeding up learning, reducing dependence on initial values, and suppressing over-learning.
- the output layer 254 is a layer that detects the position of an attention area appearing in an input image (patch image or the like) based on the feature amount output from the intermediate layer 252 and outputs the result.
- segmentation class classification
- the output layer 254 uses the “feature map” obtained from the intermediate layer 252 to grasp the position of the region of interest in the image at the pixel level. That is, it is possible to detect whether or not each pixel of the image belongs to the region of interest (whether or not it belongs to a specific class), and output the detection result.
- object detection is performed, determination at the pixel level is not necessary, and the output layer 254 outputs the position information of the object.
- the "specific class” is, for example, "defect” or "flaw”.
- the output layer 254 may be output after fine classification of defects and flaws (bubbles, contamination, holes, cracks, peeling, etc.).
- the output layer 254 (learning model 224) can output detection results (segmentation results, class classification results) for the unit area. Also, the output layer 254 can output the certainty (probability, reliability) of the detection result.
- a "unit area" may be composed of one pixel, or may be composed of a plurality of pixels.
- the output layer 254 may perform discrimination (classification) of the region of interest and output the discrimination result. For example, the output layer 254 classifies the image into three categories of "normal”, “flaw", and “defect", and gives three scores (3 The sum of the three scores may be output as 100% or 1), or if the three scores can be clearly classified, the classification result may be output.
- the classification may be two classes or multiple classes.
- intermediate layer 252 or output layer 254 may or may not include a fully connected layer as the last layer or layers (see part (b) of FIG. 3).
- the output layer 254 may output the measurement result of the attention area.
- the measured value of the target region of interest can be directly output from the learning model 224 .
- the target region of interest may be segmented, for example, as described above, and then measured by the processor 102 or the like based on the result.
- the measured values themselves are learned by the image, resulting in a regression problem of the measured values.
- the result output by the output layer 254 is compared with the correct recognition for the image set to calculate a loss function (error function), and the loss function becomes smaller. It is preferable to perform processing (error backpropagation) to update the weight parameters in the intermediate layer 252 from the output-side layer to the input-side layer so as to (minimize). Derivation of the loss function and updating of the learning model based on the loss function in this embodiment will be described later in detail.
- the learning model 224 may detect by techniques other than neural networks. For example, the attention area can be detected based on the feature amount of the acquired image. In this case, the learning model 224 divides the detection target image into, for example, a plurality of rectangular regions, sets each divided rectangular region as a local region, and sets the feature amount of pixels in the local region for each local region of the detection target image (for example, hue) is calculated, and a local region having a specific hue is determined as a region of interest from among the local regions. Similarly, the learning model 224 may perform feature-based classification and measurement.
- processors include, for example, a CPU (Central Processing Unit), which is a general-purpose processor that executes software (programs) to realize various functions.
- CPU Central Processing Unit
- GPUs Graphics Processing Units
- FPGAs Field Programmable Gate Arrays
- Programmable logic devices Programmable Logic Device (PLD) is also included.
- a configuration using a GPU is effective for image learning and recognition.
- a dedicated electric circuit such as an ASIC (Application Specific Integrated Circuit), which is a processor having a circuit configuration specially designed to execute specific processing, is also included in the various processors described above.
- ASIC Application Specific Integrated Circuit
- each unit may be implemented by a single processor, or may be implemented by multiple processors of the same or different types (for example, multiple FPGAs, combinations of CPUs and FPGAs, or combinations of CPUs and GPUs).
- a plurality of functions may be realized by one processor.
- configuring a plurality of functions in one processor first, as represented by a computer, one processor is configured by a combination of one or more CPUs and software, and this processor has a plurality of functions. There is a form of realization. Secondly, there is a form of using a processor that realizes the functions of the entire system with one IC (Integrated Circuit) chip, as typified by System On Chip (SoC).
- SoC System On Chip
- various functions are configured using one or more of the various processors described above as a hardware structure.
- the hardware structure of these various processors is, more specifically, an electrical circuit that combines circuit elements such as semiconductor elements.
- These electrical circuits may be electrical circuits that implement the functions described above using logical OR, logical AND, logical negation, exclusive OR, and logical operations combining these.
- a computer-readable code of the software to be executed (for example, various processors and electric circuits constituting the processing unit 100, and / or combinations thereof) is stored in a non-temporary recording medium such as the ROM 130, and the computer refers to the software.
- the software stored in the non-temporary recording medium includes a program (data processing program) for executing the data processing method according to the present invention and data used for execution (first and second DNA profile data, which will be described later). learning data such as cancer type labels, weight parameters used in machine learning, etc.).
- the code may be recorded in non-temporary recording media such as various magneto-optical recording devices and semiconductor memories.
- the RAM 150 is used as a temporary storage area, and data stored in non-temporary recording media such as EEPROM (Electronically Erasable and Programmable Read Only Memory) and flash memory (not shown) You can also refer to You may use the memory
- a storage unit 200 includes various storage devices such as a hard disk and a semiconductor memory, and a control unit thereof, and stores images of subjects (input images, patch images), learning data, weighting parameters used by learning models, execution conditions of learning methods, and results thereof. , execution conditions and results of the image processing method, and the like.
- the display unit 300 includes a monitor 310 (display device) configured by a display such as a liquid crystal display, and can display an image of a subject, a learning method, a learning program, execution results of an image processing method, and the like.
- the monitor 310 may be configured by a touch panel type display to accept the instruction input from the user.
- the operation unit 400 includes a keyboard 410 and a mouse 420 as examples of operation devices, and the user performs operations related to execution of the learning method, learning program, and image processing method according to the present invention, display of results, etc., via the operation unit 400. It can be carried out.
- the operation unit 400 may include other operation devices.
- FIG. 5 is a flow chart showing an outline of processing of the learning method. Note that the following description is an example of processing in the present invention, and the order of processing may be changed as necessary.
- the data acquisition unit 104 acquires learning data consisting of a pair of a patch image and class label correct data for a unit area of the patch image (step S100: data acquisition step; process).
- the data acquisition unit 104 may acquire the learning data from the storage unit 200 or from the external database 510 . Also, the data acquisition unit 104 may acquire the learning data all at once, or may acquire the learning data in a plurality of times.
- the detector 106 uses the learning model 224 and learning data described above to segment the acquired patch image, and outputs the probability that the unit area belongs to each class (step S110: determination step, determination process ).
- the "class” setting is, for example, “flaw", “defect", and "normal” (other than "flaw” and "defect”).
- "flaw” can be defined as a discontinuous part of the subject, and "flaw” is a flaw that exceeds the criteria stipulated in the standard or specification, etc. and causes the inspection result to fail (for example, size or degree
- both flaws and defects may be treated as "defects" without distinguishing between them.
- flaws and defects are divided into multiple types (for example, foreign matter, bubbles, holes, cracks, peeling, etc.) and degrees (number, size, density, etc.), and flaws and defects with different types and / or degrees are classified into different classes. can handle.
- the layer configuration of the detector 106 (learning model 224) (presence or absence of a fully connected layer, the number of outputs, etc.) should be set in advance, and the class to be classified It is preferable to prepare correct data corresponding to the type, number, degree, etc. of
- a "unit area” is an area composed of one pixel or a plurality of pixels.
- each pixel is classified into two classes of "defective” and "normal", that is, a case in which a unit area is composed of one pixel without distinguishing between a flaw and a defect. It is also assumed that the detector 106 outputs the probability q (q ⁇ [0, 1]) that each pixel belongs to the defect class.
- the determination unit 108 determines whether the learning model 224 belongs to a specific class (defect class) for each patch image (for each second unit region) based on the likelihood q and the correct answer data p for each pixel. It is determined for each patch image whether or not the second unit area has been correctly detected (step S120: determination step, determination process).
- the weighting unit 110 sets a weight to the loss (loss function) for each patch image based on the above determination result (step S130: weighting step, weighting process), and the updating unit 112 (processor) , the learning model of the detector 106 is updated based on the weighted results (step S140: update step, update process).
- the updating unit 112 causes each unit of the processor 102 to repeat the processing of steps S100 to S140 until the termination condition is satisfied (until YES in step S150).
- the end conditions are, for example, completion of learning of all learning data, completion of a predetermined number of iterations, convergence of loss, and the like.
- the determination unit 108 compares the likelihood q (the likelihood that each pixel belongs to the defect class) output by the detector 106 (learning model) with the threshold ⁇ (step S122: determination step, determination process). When the probability is equal to or greater than a threshold (q ⁇ ), the determination unit 108 can determine that “the pixel to be determined belongs to the defect class (specific class)”.
- the weighting unit 110 performs weighting for each patch image as follows, using the CE loss, which is the loss for each patch image, as the first loss.
- the weighting unit 110 calculates the CE loss using the above equation (1) based on the probability q of each pixel and the correct answer data p (step S131: weighting process, weighting process). In addition, the weighting unit 110 compares the probability q with the correct data p (step S132: weighting step, weighting process), and if erroneous or not detected (YES in step S133; see formula (4) below).
- weighting section 110 sets a higher weight as the first weight than when the comparison result is not the specific result.
- the weighting unit 110 averages the weighted results over the entire batch of patch images to derive a first loss function (see equation (3) below; loss function) (step S138: loss function derivation step, loss function derivation process).
- ⁇ (0, 1) in equation (4) represents a predetermined defect probability threshold, and the processor 102 determines that the pixel is defective if the likelihood q is greater than or equal to the threshold ⁇ . be able to.
- ⁇ (Ii ) 1 and the loss is added to the patch.
- ⁇ (Ii) 0 (third case), so the priority of learning relatively decreases.
- the undetected area is large when captured at the pixel level. be done).
- learning of such a huge defect 922 ends early (the weight becomes zero).
- a minute defect it consists of, for example, several pixels in the first place.
- the criterion for "detected" is relaxed only for huge defects, and micro defects are relatively easy to learn.
- the weighting unit 110 may use the above-described first loss function (Lweighted) alone as a loss function, or Lweighted is a loss function for the batch and is different from Lweighted.
- a function obtained by combining the second loss function, which is a loss function, may be used as the loss function.
- the normal CE loss be the second loss function (L CE )
- the added function may be used as the loss function (step S139: loss function derivation step, loss function derivation process).
- the processor 102 may determine what kind of loss function or what kind of weight to use according to the user's operation via the operation unit 400, or automatically determine the loss function without depending on the user's operation. can be determined explicitly.
- step S142 When it is time to update the learning model 224 (YES in step S142), the update unit 112 (processor) updates the parameters of the learning model 224 using the derived loss function (step S144: update step, update process). For example, the updating unit 112 updates parameters of the learning model to minimize the loss function.
- the update timing in step S142 may be for each patch image, for each step (for each batch), or for each of a plurality of steps.
- Segmentation learning is performed under the following conditions for a data set in which a small defect of 4px or less and a huge defect of 10000px or more coexist, and FMLD (Foreign Material Less Dense: low density foreign matter defect) and FMMD (Foreign Material More Dense: high density foreign matter defect) detection probabilities were 74.5% and 74.1%, respectively.
- the detection probabilities of FMLD and FMMD improved to 89.7% and 88.1%, respectively, in the learning results after a total of 200 epochs.
- the "detection probability" is the number of successful detections with respect to the total number of existing defects when counting the number of consecutive regions with the correct label as "one".
- the patch image acquired in step S100 described above may not be an image of a size that matches the size of the image input to the detector 106 (learning model 224). Specifically, an image of a subject (for example, several thousand pixels x several thousand pixels) is larger than a patch image (for example, several tens of pixels x several tens of pixels to several hundred pixels x several hundred pixels). Sometimes. In such a case, the data acquisition unit 104 (processor) can acquire images obtained by dividing the input image according to the size of the image to be input to the detector 106 as patch images (data acquisition step, data acquisition process). This makes it possible to reduce the load on processors such as CPUs and GPUs and memories such as RAMs.
- the data acquisition unit 104 may resize the image instead of or in addition to dividing the input image (dividing into patch images) (data acquisition step, data acquisition process). For example, the data acquisition unit 104 can input an entire rectangular image into a square.
- the data acquisition unit 104 may acquire a patch image having a size corresponding to the size of the target to be detected (detection size). For example, as shown in the flowchart of FIG. 8, the data acquisition unit 104 inputs an image and correct data (step S102), and sets the size of an object to be detected (for example, a flaw and/or defect of an object) (step S104).
- the data acquisition unit 104 can set the target size automatically (without the user's operation) according to the user's operation via the operation unit 400 or according to a predetermined condition.
- the data acquisition unit 104 divides the input image into patch images according to the set size (step S106). You may perform resizing mentioned above. Subsequent processing is the same as described above with respect to the flowcharts of FIGS.
- the processor 102 may change the threshold ⁇ during the learning process. For example, "At the beginning of learning, it is not possible to accurately detect flaws and defects, so the threshold (detection hurdle, standard) is set low, and as learning progresses and accurate detection becomes possible, the threshold is raised.” Based on the idea, the threshold can be kept low at the beginning of learning and then increased later.
- the weighting of patch images is not limited to such a mode.
- FIG. 9 is a flow chart showing weighting processing in such a case.
- the weighting unit 110 may calculate the mean squared error, Dice loss, IoU loss (Jaccard loss), Tversky loss, Focal loss, combinations thereof, and combinations of these with L CE and / or L weighted loss Can be used as a function.
- the coefficient of L weighted is preferably greater than zero.
- K is the number of loss functions to be combined and is an integer of 1 or more
- ⁇ i is the coefficient for each loss function (arbitrary real number)
- Li is each loss function
- L CE and L weighted mean squared error, Dice loss, IoU loss (Jaccard loss), Tversky loss, Focal loss, and the like.
- the trained model 224 of the detector 106 becomes a trained model. That is, the learning device 10 after completion of learning can operate as an image processing device. According to this image processing apparatus, it is possible to detect flaws and/or defects of an object with a good detection rate using a trained model learned by the learning method according to the present invention.
- learning device 100 processing unit 102 processor 104 data acquisition unit 106 detector 108 determination unit 110 weighting unit 112 updating unit 114 display control unit 116 recording control unit 118 communication control unit 130 ROM 150 RAM 200 storage unit 224 learning model 250 input layer 252 intermediate layer 254 output layer 256 convolution layer 258 pooling layer 260 fully connected layer 300 display unit 310 monitor 400 operation unit 410 keyboard 420 mouse 500 external server 510 external database 900 huge defect 902 area 910 minute Defect 912 Area F1 Filter F2 Filter NW Network S100 to S150 Each step of the learning method
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Molecular Biology (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Geometry (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
Description
従来の手法によるセグメンテーション(クラス分類)の一例として、被写体の欠陥を検出する場合について説明する。
図1は本発明の一実施形態に係る学習装置(画像処理装置)の概略構成を示す図である。図1に示すように、第1の実施形態に係る学習装置10(学習装置、画像処理装置)は、処理部100(プロセッサ、コンピュータ)と、記憶部200と、表示部300と、操作部400と、を備え、これらの構成要素が互いに接続されて必要な情報が送受信される。これらの構成要素については各種の設置形態を採用することができ、各構成要素が1箇所(1筐体内、1室内等)に設置されていてもよいし、離れた場所に設置されネットワークを介して接続されていてもよい。また、学習装置10は、インターネット等のネットワークNWを介して外部サーバ500及び/または外部データベース510に接続し、必要に応じて処理に用いるサンプルや学習データを取得することができ、また処理結果等を外部サーバ500及び/または外部データベース510に格納することができる。
図2に示すように、処理部100は、プロセッサ102(プロセッサ、コンピュータ)、ROM130(ROM:Read Only Memory)、RAM150(RAM:Random Access Memory)を備える。プロセッサ102は処理部100の各部が行う処理の統括制御を行うもので、データ取得部104、検出器106、判定部108、重み付け部110、更新部112、表示制御部114、記録制御部116、及び通信制御部118の機能を有する。データ取得部104はネットワークNWを介して、あるいは記憶部200等の記録媒体から入力を行うことができ、表示制御部114、記録制御部116は、それぞれモニタ310への表示、及び記憶部200への出力を行うことができる。これらの処理は、必要に応じ通信制御部118を介して行われる。
検出器106(プロセッサ)は学習モデルを備え、この学習モデルは、セグメンテーションを行うニューラルネットワークを備える。ニューラルネットワークとしては、例えばCNN(Convolutional Neural Network)、RNN(Recurrent Neural Network)、SVM(Support Vector Machine)を用いることができる。後述するように、本発明の一態様である学習方法により、学習モデルのパラメータが更新されていく。なお、学習終了後の検出器106(学習済みモデル)は、被写体の画像からきず及び/または欠陥を検出するのに用いることができる。即ち、学習終了後の学習装置10は本発明の一態様に係る画像処理装置として動作する(後述)。
検出器106においてCNN(学習モデルの一例)を用いる場合の層構成の例について説明する。図3は学習モデル224の層構成の例を示す図である。図3の(a)部分に示す例では、学習モデル224は入力層250と、中間層252と、出力層254とを含む。入力層250はデータ取得部104が取得した画像(パッチ画像)を入力して特徴量を出力する。中間層252は畳み込み層256及びプーリング層258を含み、入力層250が出力する特徴量を入力して他の特徴量を算出する。これらの層は複数の「ノード」が「エッジ」で結ばれた構造となっており、複数の重みパラメータを保持している。重みパラメータの値は、学習が進むにつれて変化していく。学習モデル224は、図3の(b)部分に示す例のように全結合層260を含んでいてもよい。学習モデル224の層構成は畳み込み層256とプーリング層258とが1つずつ繰り返される場合に限らず、いずれかの層(例えば、畳み込み層256)が複数連続して含まれていてもよい。また、全結合層260が複数連続して含まれていてもよい。
中間層252は、畳み込み演算及びプーリング処理によって特徴量を算出する。畳み込み層256で行われる畳み込み演算はフィルタを使用した畳み込み演算により特徴マップを取得する処理であり、画像からのエッジ抽出等の特徴抽出の役割を担う。このフィルタを用いた畳み込み演算により、1つのフィルタに対して1チャンネル(1枚)の「特徴マップ」が生成される。「特徴マップ」のサイズは、畳み込みによりダウンスケーリングされ、各層で畳み込みが行われるにつれて小さくなって行く。プーリング層258で行われるプーリング処理は畳み込み演算により出力された特徴マップを縮小(または拡大)して新たな特徴マップとする処理であり、抽出された特徴が、平行移動などによる影響を受けないようにロバスト性を与える役割を担う。中間層252は、これらの処理を行う1または複数の層により構成することができる。
出力層254は、中間層252から出力された特徴量に基づき、入力された画像(パッチ画像等)に映っている注目領域の位置検出を行ってその結果を出力する層である。セグメンテーション(クラス分類)を行う場合、出力層254は、中間層252から得られる「特徴マップ」により、画像に写っている注目領域の位置を画素レベルで把握する。すなわち、画像の画素ごとに注目領域に属するか否か(特定のクラスに属するか否か)を検出し、その検出結果を出力することができる。一方、物体検出を行う場合は画素レベルでの判断は必要なく、出力層254が対象物の位置情報を出力する。なお、「特定のクラス」は例えば「欠陥」や「きず」である。出力層254は、欠陥やきずを細かく分類して出力してもよい(気泡、異物混入、孔、ひびわれ、剥離等)。
学習モデル224は、ニューラルネットワーク以外の手法により検出を行ってもよい。例えば、取得した画像の特徴量に基づいて注目領域を検出することができる。この場合、学習モデル224は検出対象画像を例えば複数の矩形領域に分割し、分割した各矩形領域を局所領域として設定し、検出対象画像の局所領域ごとに局所領域内の画素の特徴量(例えば色相)を算出し、各局所領域の中から特定の色相を有する局所領域を注目領域として決定する。同様に、学習モデル224は特徴量に基づく分類や計測を行ってもよい。
上述した処理部100及びプロセッサ102の各部(検出器106を含む)の機能は、各種のプロセッサ(processor)及び記録媒体を用いて実現することができる。各種のプロセッサには、例えばソフトウェア(プログラム)を実行して各種の機能を実現する汎用的なプロセッサであるCPU(Central Processing Unit)が含まれる。また、上述した各種のプロセッサには、画像処理に特化したプロセッサであるGPU(Graphics Processing Unit)、FPGA(Field Programmable Gate Array)などの製造後に回路構成を変更可能なプロセッサであるプログラマブルロジックデバイス(Programmable Logic Device:PLD)も含まれる。画像の学習や認識を行う場合は、GPUを用いた構成が効果的である。さらに、ASIC(Application Specific Integrated Circuit)などの、特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路も、上述した各種のプロセッサに含まれる。
記憶部200はハードディスク、半導体メモリ等の各種記憶デバイス及びその制御部により構成され、被写体の画像(入力画像、パッチ画像)、学習データ、学習モデルが用いる重みパラメータ、学習方法の実行条件及びその結果、画像処理方法の実行条件及びその結果等を記憶することができる。
表示部300は例えば液晶ディスプレイ等のディスプレイにより構成されるモニタ310(表示装置)を備え、被写体の画像や、学習方法、学習プログラム、画像処理方法の実行結果等を表示することができる。モニタ310をタッチパネル型のディスプレイにより構成し、ユーザの指示入力を受け付けてもよい。
操作部400は操作デバイスの一例としてのキーボード410及びマウス420を備え、ユーザは、操作部400を介して本発明に係る学習方法、学習プログラム、及び画像処理方法の実行、結果表示等に関する操作を行うことができる。操作部400は、その他の操作デバイスを備えていてもよい。
本実施態様に係る学習方法(学習プログラム)の処理について説明する。図5は、学習方法の処理の概要を示すフローチャートである。なお、以下の説明は本発明における処理の一例であり、必要に応じて処理の順序を入れ替えてもよい。
(学習データの取得)
処理が始まると、データ取得部104(プロセッサ)は、パッチ画像と、パッチ画像の単位領域に対するクラスラベルの正解データと、のペアからなる学習データを取得する(ステップS100:データ取得工程、データ取得処理)。データ取得部104は、記憶部200から学習データを取得してもよいし、外部データベース510から取得してもよい。また、データ取得部104は、学習データを一括して取得してもよいし、複数回に分けて取得してもよい。
検出器106(プロセッサ)は、上述した学習モデル224及び学習データを用いて、取得したパッチ画像のセグメンテーションを行い、単位領域が各クラスに属する確からしさを出力する(ステップS110:判定工程、判定処理)。「クラス」の設定は、例えば「きず」、「欠陥」、「正常」(「きず」「欠陥」以外)である。ここで、「きず」を被写体の不連続部分と定義することができ、また「欠陥」を規格や仕様書等で規定された規準を超え検査結果が不合格となるきず(例えば、大きさや程度が規準を超えるきず)と定義することができるが、本発明では、きずと欠陥を区別せず両方とも「欠陥」として扱ってもよい。また、きず及び欠陥を複数の種類(例えば異物、気泡、孔、ひび割れ、剥離等)や程度(数、大きさ、密度等)に分け、種類及び/または程度が異なるきず及び欠陥を異なるクラスとして扱ってもよい。なお、どのようなクラスに分類するかに応じて、検出器106(学習モデル224)の層構成(全結合層の有無や、出力の数等)をあらかじめ設定しておくこと、及び分類するクラスの種類、数、程度等に合わせた正解データを用意しておくことが好ましい。
判定部108(プロセッサ)は、パッチ画像ごとに(第2の単位領域ごとに)、各画素についての確からしさq及び正解データpに基づいて、学習モデル224が特定のクラス(欠陥クラス)に属する第2の単位領域を正しく検出したか否かを、パッチ画像ごとに判定する(ステップS120:判定工程、判定処理)。
重み付け部110(プロセッサ)は、上述した判定の結果に基づいて、パッチ画像単位で損失(損失関数)に重みを設定する(ステップS130:重み付け工程、重み付け処理)し、更新部112(プロセッサ)は、重み付けした結果に基づいて、検出器106の学習モデルを更新する(ステップS140:更新工程、更新処理)。更新部112(プロセッサ)は、終了条件を満たすまで(ステップS150でYESになるまで)、プロセッサ102の各部にステップS100~S140の処理を繰り返させる。終了条件は、例えば全ての学習データの学習を終了した、決められた回数の繰り返しが終了した、損失が収束した、等である。
上述した学習方法の処理の詳細を、図6のフローチャートを参照して説明する。
判定部108(プロセッサ)は、検出器106(学習モデル)が出力した確からしさq(各画素が欠陥クラスに属する確からしさ)を閾値θと比較する(ステップS122:判定工程、判定処理)。判定部108は、確からしさが閾値以上である場合(q≧θ)に、「判断対象の画素は欠陥クラス(特定のクラス)に属する」と判定することができる。
重み付け部110(プロセッサ)は、個々のパッチ画像についての損失であるCE損失を第1の損失として、以下のように、パッチ画像単位で重み付けを行う。
上述した重み付けによる学習への影響について説明する。例えば、図7の(a)部分(パッチ画像における、欠陥の正解範囲を示す図)に示すように、パッチ画像920において巨大な欠陥922が存在する場合(欠陥922の内側の画素ではp=1,外側の画素ではp=0)を考える。またこの場合、検出器106による検出結果が、同図の(b)部分に示すように、パッチ画像920Aにおいて正解よりも狭い領域を欠陥922Aとして検出したものとする(欠陥922Aの内側の画素ではp=1,外側の画素ではp=0)。
学習モデルの更新において、重み付け部110(プロセッサ)は、上述した第1の損失関数(Lweighted)を単独で損失関数として用いてもよいし、Lweightedと、バッチに対する損失関数であってLweightedとは異なる損失関数である第2の損失関数と、を組み合わせた関数を損失関数として用いてもよい。例えば、以下の式(5)のように、通常のCE損失を第2の損失関数(LCE)とし、第1の損失関数と第2の損失関数とを任意の係数(λ>0)で足し合わせた関数を損失関数としてもよい(ステップS139:損失関数導出工程、損失関数導出処理)。
更新部112(プロセッサ)は、学習モデル224を更新するタイミングである場合は(ステップS142でYES)、導出した損失関数を用いて、学習モデル224のパラメータを更新する(ステップS144:更新工程、更新処理)。例えば、更新部112は、学習モデルのパラメータを更新して損失関数を最小化する。なお、ステップS142における更新のタイミングはパッチ画像ごとでもよいし、ステップごと(バッチごと)でもよいし、複数ステップごとでもよい。
4px以下の微小欠陥と、10000px以上の巨大欠陥が併存するデータセットに対して、以下の条件でセグメンテーションの学習を行い、CE損失を損失関数として用いた条件(従来の手法)で、FMLD(Foreign Material Less Dense:低密度異物欠陥)及びFMMD(Foreign Material More Dense:高密度異物欠陥)の検出確率がそれぞれ74.5%、74.1%であったが、上述した実施形態の重み付きCE損失を用いた条件(本発明の手法)では、合計200Epoch後の学習結果において、FMLD,FMMDの検出確率がそれぞれ89.7%、88.1%に向上した。ここで、「検出確率」とは、正解ラベルが付いている連続領域を「1個」として数えたときの、存在する全欠陥個数に対する、検出に成功した個数である。
(a)上述した重み付けを、Epochごとの損失関数の導出に適用した。
(b)重み付けの条件は式(4)を適用し、式(5)の重みパラメータ(係数)λ=0.1を設定した。
(c)判定の閾値は、θ=0.5で固定した。
以上説明したように、第1の実施形態に係る学習方法、学習装置、及び学習プログラムによれば、検出率が良好な学習モデルを得ることができる。
[画像のバリエーション]
本発明において、放射線画像、可視光画像、近赤外光画像等を学習(あるいは学習完了後の画像処理)に用いることができ、画像を取得する周波数帯域は特に限定されない。
上述したステップS100で取得するパッチ画像が、検出器106(学習モデル224)に入力する画像のサイズに合ったサイズの画像ではない場合がある。具体的には、被写体を撮影した画像(例えば、数千画素×数千画素程度)がパッチ画像(例えば、数十画素×数十画素~数百画素×数百画素程度)よりもサイズが大きい場合がある。このような場合、データ取得部104(プロセッサ)は、入力した画像を検出器106に入力する画像のサイズに合わせて分割した画像を、パッチ画像として取得することができる(データ取得工程、データ取得処理)。これによりCPU,GPU等のプロセッサやRAM等のメモリに対する負荷を軽減することができる。
プロセッサ102(プロセッサ)は、学習の過程で閾値θを変化させてもよい。例えば、「学習の初期はきずや欠陥を精度よく検出できないので閾値(検出のハードル、基準)を低くしておき、学習が進行し精度よく検出できるようになるにつれて、閾値を高くする」との考え方に基づき、学習の初期は閾値を低くしておき、その後高くすることができる。
上述した第1の実施形態では、パッチ画像に対する重みとして、誤検出または未検出の場合(第1の場合、第2の場合)はα=1、それ以外の場合(第3の場合)はα=0を設定しているが、本発明において、パッチ画像に対する重み付けはこのような態様に限定されない。上述の態様の他にも、例えば、未検出の場合(第2の場合)の重みを誤検出の場合(第1の場合)の重みよりも大きくすることで、微小欠陥の検出率を向上させてもよい。図9はそのような場合の重み付け処理を示すフローチャートである。同図に示すように、重み付け部110(プロセッサ)は、未検出の場合(ステップS133AでYES)は重みとしてα=2を設定し(ステップS134A)、誤検出の場合(ステップS136でYES)はα=1を設定し(ステップS137A)、それ以外の場合(ステップS136でNO)はα=0を設定することができる。
上述した第1の態様では、CE損失に基づくLCE、Lweighted、あるいはこれらの組合せを損失関数とする場合について説明したが、本発明では、これらと異なる損失関数を用いることもできる。例えば、重み付け部110(プロセッサ)は、平均二乗和誤差、Dice loss、IoU loss(Jaccard loss)、Tversky loss、Focal loss、これらの組合せ、さらにこれらとLCE及び/またはLweightedとの組合せを損失関数として用いることができる。複数の損失関数を組み合わせる場合、以下の式(6)のように、個々の損失関数を任意の個数、任意の係数で組み合わせて総損失関数Ltotal(損失関数)とすることができる(損失関数導出工程、損失関数導出処理)。なお、Lweightedの係数は0より大きいことが好ましい。
上述した学習の完了後、検出器106の学習モデル224は学習済みモデルとなる。即ち、学習完了後の学習装置10は画像処理装置として動作しうる。この画像処理装置によれば、本発明に係る学習方法で学習した学習済みモデルを用いて、被写体のきず及び/または欠陥を良好な検出率で検出することができる。
100 処理部
102 プロセッサ
104 データ取得部
106 検出器
108 判定部
110 重み付け部
112 更新部
114 表示制御部
116 記録制御部
118 通信制御部
130 ROM
150 RAM
200 記憶部
224 学習モデル
250 入力層
252 中間層
254 出力層
256 畳み込み層
258 プーリング層
260 全結合層
300 表示部
310 モニタ
400 操作部
410 キーボード
420 マウス
500 外部サーバ
510 外部データベース
900 巨大欠陥
902 領域
910 微小欠陥
912 領域
F1 フィルタ
F2 フィルタ
NW ネットワーク
S100~S150 学習方法の各ステップ
Claims (22)
- プロセッサを備える学習装置により実行される学習方法であって、前記プロセッサは、
パッチ画像と、前記パッチ画像の単位領域に対するクラスラベルの正解データと、のペアからなる学習データを取得するデータ取得工程と、
学習モデル及び前記学習データを用いて前記パッチ画像のセグメンテーションを行い、前記学習モデルが第2の単位領域を正しく検出したか否かを前記パッチ画像ごとに判定する判定工程と、
前記判定の結果に基づいて第1の重みを設定する重み付け工程と、
前記重み付けした結果に基づいて前記学習モデルを更新する更新工程と、
を実行する学習方法。 - 前記プロセッサは、前記重み付け工程において、個々の前記パッチ画像についての損失である第1の損失に対して、前記パッチ画像単位で第1の重みを設定する請求項1に記載の学習方法。
- 前記プロセッサは、前記重み付け工程において、
前記第2の単位領域が正しく検出されていないと判定した場合は、前記第2の単位領域が正しく検出されていると判定した場合よりも大きな重みを前記第1の重みとして設定する請求項1または2に記載の学習方法。 - 前記学習モデルは、前記判定工程において、特定のクラスに属する前記第2の単位領域を検出する請求項1から3のいずれか1項に記載の学習方法。
- 前記プロセッサは、前記判定工程において、
前記学習モデルが前記特定のクラスに属する前記第2の単位領域を誤って検出した第1の場合、及び前記学習モデルが前記特定のクラスに属する前記第2の単位領域を検出できなかった第2の場合は、前記第2の単位領域が正しく検出されていないと判定する請求項4に記載の学習方法。 - 前記プロセッサは、前記重み付け工程において、
前記第2の場合は前記第1の場合よりも大きな重みを設定する請求項5に記載の学習方法。 - 前記プロセッサは、前記判定工程において、
前記検出の結果が前記第1の場合ではなく前記第2の場合でもない第3の場合は、前記検出の結果が正しいと判定する請求項5または6に記載の学習方法。 - 前記プロセッサは、前記判定工程において、
被写体のきず及び欠陥について前記判定を行う請求項4から7のいずれか1項に記載の学習方法。 - 前記学習モデルは、前記検出の確からしさを出力し、
前記プロセッサは、前記判定工程において、
前記確からしさが閾値以上であるか否かに基づいて、前記第2の単位領域が前記特定のクラスに属すると判定する請求項4から8のいずれか1項に記載の学習方法。 - 前記プロセッサは、学習の過程で前記閾値を変化させる請求項9に記載の学習方法。
- 前記プロセッサは、前記重み付け工程において、前記パッチ画像のクロスエントロピー損失に対して前記重み付けを行う請求項1から10のいずれか1項に記載の学習方法。
- 前記プロセッサは、
前記パッチ画像で構成されるバッチに対する損失関数を導出する損失関数導出工程をさらに実行し、
前記更新工程では前記損失関数を用いて前記学習モデルを更新する請求項1から11のいずれか1項に記載の学習方法。 - 前記プロセッサは、前記損失関数導出工程において、前記重み付けを行った結果を前記パッチ画像で構成されるバッチ全体で平均した第1の損失関数を前記損失関数として導出する請求項12に記載の学習方法。
- 前記プロセッサは、前記損失関数導出工程において、
前記第1の損失関数と、前記バッチに対する損失関数であって前記第1の損失関数とは異なる損失関数である第2の損失関数と、を組み合わせた関数を前記損失関数として用いる請求項13に記載の学習方法。 - 前記プロセッサは、前記更新工程において、前記学習モデルのパラメータを更新して損失関数を最小化する請求項1から14のいずれか1項に記載の学習方法。
- 前記プロセッサは、前記データ取得工程において、
画像を入力し、前記入力した画像を分割した画像を前記パッチ画像として取得する請求項1から15のいずれか1項に記載の学習方法。 - 前記プロセッサは、前記データ取得工程において、検出しようとする被写体のきず及び/または欠陥のサイズに応じたサイズの前記パッチ画像を取得する請求項1から16のいずれか1項に記載の学習方法。
- 前記学習モデルは、前記セグメンテーションを行うニューラルネットワークを備える請求項1から17のいずれか1項に記載の学習方法。
- プロセッサを備える学習装置であって、前記プロセッサは、
パッチ画像と、前記パッチ画像の単位領域に対するクラスラベルの正解データと、のペアからなる学習データを取得するデータ取得処理と、
学習モデル及び前記学習データを用いて前記パッチ画像のセグメンテーションを行い、前記学習モデルが第2の単位領域を正しく検出したか否かを前記パッチ画像ごとに判定する判定処理と、
前記判定の結果に基づいて第1の重みを設定する重み付け工程と、
前記重み付けした結果に基づいて前記学習モデルを更新する更新処理と、
を実行する学習装置。 - プロセッサを備える学習装置に学習方法を実行させる学習プログラムであって、前記学習方法において、前記プロセッサは、
パッチ画像と、前記パッチ画像の単位領域に対するクラスラベルの正解データと、のペアからなる学習データを取得するデータ取得工程と、
学習モデル及び前記学習データを用いて前記パッチ画像のセグメンテーションを行い、前記学習モデルが第2の単位領域を正しく検出したか否かを前記パッチ画像ごとに判定する判定工程と、
前記判定の結果に基づいて第1の重みを設定する重み付け工程と、
前記重み付けした結果に基づいて前記学習モデルを更新する更新工程と、
を実行させる学習プログラム。 - 非一時的かつコンピュータ読取可能な記録媒体であって、請求項20に記載のプログラムが記録された記録媒体。
- 請求項1から18のいずれか1項に記載の学習方法で学習した学習済みモデルを備え、
入力した画像から、前記学習済みモデルを用いて被写体のきず及び/または欠陥を検出する画像処理装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP22892401.5A EP4432218A1 (en) | 2021-11-10 | 2022-09-12 | Learning method, learning device, learning program, and image processing device |
JP2023559447A JPWO2023084900A5 (ja) | 2022-09-12 | 学習方法、学習装置、学習プログラム、記録媒体、及び画像処理装置 | |
CN202280074463.5A CN118284904A (zh) | 2021-11-10 | 2022-09-12 | 学习方法、学习装置、学习程序及图像处理装置 |
US18/636,190 US20240273704A1 (en) | 2021-11-10 | 2024-04-15 | Learning method, learning apparatus, learning program, and image processing apparatus |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021-183029 | 2021-11-10 | ||
JP2021183029 | 2021-11-10 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/636,190 Continuation US20240273704A1 (en) | 2021-11-10 | 2024-04-15 | Learning method, learning apparatus, learning program, and image processing apparatus |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023084900A1 true WO2023084900A1 (ja) | 2023-05-19 |
Family
ID=86335553
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2022/034032 WO2023084900A1 (ja) | 2021-11-10 | 2022-09-12 | 学習方法、学習装置、学習プログラム、及び画像処理装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240273704A1 (ja) |
EP (1) | EP4432218A1 (ja) |
CN (1) | CN118284904A (ja) |
WO (1) | WO2023084900A1 (ja) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020031851A1 (ja) * | 2018-08-08 | 2020-02-13 | 富士フイルム株式会社 | 画像処理方法及び画像処理装置 |
JP2020061066A (ja) | 2018-10-12 | 2020-04-16 | 富士通株式会社 | 学習プログラム、検出プログラム、学習装置、検出装置、学習方法および検出方法 |
JP2020080047A (ja) * | 2018-11-13 | 2020-05-28 | 株式会社東芝 | 学習装置、推定装置、学習方法およびプログラム |
JP2020091543A (ja) | 2018-12-03 | 2020-06-11 | キヤノン株式会社 | 学習装置、処理装置、ニューラルネットワーク、学習方法、及びプログラム |
JP2021086350A (ja) * | 2019-11-27 | 2021-06-03 | 富士フイルム株式会社 | 画像学習装置、画像学習方法、ニューラルネットワーク、及び画像分類装置 |
JP2021139769A (ja) * | 2020-03-05 | 2021-09-16 | 国立大学法人 筑波大学 | 欠陥検出分類システム及び欠陥判定トレーニングシステム |
JP2021148720A (ja) * | 2020-03-23 | 2021-09-27 | 株式会社Lixil | 検査システム、学習装置、学習プログラム、学習方法、検査装置、検査プログラム、検査方法 |
-
2022
- 2022-09-12 CN CN202280074463.5A patent/CN118284904A/zh active Pending
- 2022-09-12 EP EP22892401.5A patent/EP4432218A1/en active Pending
- 2022-09-12 WO PCT/JP2022/034032 patent/WO2023084900A1/ja active Application Filing
-
2024
- 2024-04-15 US US18/636,190 patent/US20240273704A1/en active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020031851A1 (ja) * | 2018-08-08 | 2020-02-13 | 富士フイルム株式会社 | 画像処理方法及び画像処理装置 |
JP2020061066A (ja) | 2018-10-12 | 2020-04-16 | 富士通株式会社 | 学習プログラム、検出プログラム、学習装置、検出装置、学習方法および検出方法 |
JP2020080047A (ja) * | 2018-11-13 | 2020-05-28 | 株式会社東芝 | 学習装置、推定装置、学習方法およびプログラム |
JP2020091543A (ja) | 2018-12-03 | 2020-06-11 | キヤノン株式会社 | 学習装置、処理装置、ニューラルネットワーク、学習方法、及びプログラム |
JP2021086350A (ja) * | 2019-11-27 | 2021-06-03 | 富士フイルム株式会社 | 画像学習装置、画像学習方法、ニューラルネットワーク、及び画像分類装置 |
JP2021139769A (ja) * | 2020-03-05 | 2021-09-16 | 国立大学法人 筑波大学 | 欠陥検出分類システム及び欠陥判定トレーニングシステム |
JP2021148720A (ja) * | 2020-03-23 | 2021-09-27 | 株式会社Lixil | 検査システム、学習装置、学習プログラム、学習方法、検査装置、検査プログラム、検査方法 |
Also Published As
Publication number | Publication date |
---|---|
EP4432218A1 (en) | 2024-09-18 |
US20240273704A1 (en) | 2024-08-15 |
JPWO2023084900A1 (ja) | 2023-05-19 |
CN118284904A (zh) | 2024-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Elangovan et al. | Glaucoma assessment from color fundus images using convolutional neural network | |
Li et al. | Automatic pixel‐level multiple damage detection of concrete structure using fully convolutional network | |
CN110363182B (zh) | 基于深度学习的车道线检测方法 | |
JP6710135B2 (ja) | 細胞画像の自動分析方法及びシステム | |
CN111488921B (zh) | 一种全景数字病理图像智能分析系统及方法 | |
Khawaja et al. | An improved retinal vessel segmentation framework using frangi filter coupled with the probabilistic patch based denoiser | |
JP5315411B2 (ja) | 有糸分裂像検出装置および計数システム、および有糸分裂像を検出して計数する方法 | |
JP7059883B2 (ja) | 学習装置、画像生成装置、学習方法、及び学習プログラム | |
CN107609541A (zh) | 一种基于可变形卷积神经网络的人体姿态估计方法 | |
US20200342598A1 (en) | Image diagnosis support system and image diagnosis support method | |
CN110378313A (zh) | 细胞团识别方法、装置及电子设备 | |
CN112819821B (zh) | 一种细胞核图像检测方法 | |
CN112132206A (zh) | 图像识别方法及相关模型的训练方法及相关装置、设备 | |
CN110729045A (zh) | 一种基于上下文感知残差网络的舌图像分割方法 | |
CN117015796A (zh) | 处理组织图像的方法和用于处理组织图像的系统 | |
US11790673B2 (en) | Method for detection of cells in a cytological sample having at least one anomaly | |
CN107742113A (zh) | 一种基于目标数量后验的sar图像集群目标检测方法 | |
Li et al. | A two-stage crack detection method for concrete bridges using Convolutional Neural Networks | |
Wang et al. | Detection of glands and villi by collaboration of domain knowledge and deep learning | |
CN115295154A (zh) | 肿瘤免疫治疗疗效预测方法、装置、电子设备及存储介质 | |
CN113139928A (zh) | 肺结节检测模型的训练方法和肺结节检测方法 | |
Yang et al. | Retinal vessel segmentation based on an improved deep forest | |
Kesuma | ELREI: Ensemble Learning of ResNet, EfficientNet, and Inception-v3 for Lung Disease Classification based on Chest X-Ray Image. | |
CN114972202A (zh) | 一种基于轻量级的神经网络的Ki67病理细胞快速检测计数方法 | |
CN104966296B (zh) | 滑窗N‑Smoothlets图像边缘检测方法 |
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: 22892401 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2023559447 Country of ref document: JP Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 202280074463.5 Country of ref document: CN |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2022892401 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 2022892401 Country of ref document: EP Effective date: 20240610 |