WO2023084900A1 - 学習方法、学習装置、学習プログラム、及び画像処理装置 - Google Patents

学習方法、学習装置、学習プログラム、及び画像処理装置 Download PDF

Info

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
Application number
PCT/JP2022/034032
Other languages
English (en)
French (fr)
Inventor
遼 池田
Original Assignee
富士フイルム株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 富士フイルム株式会社 filed Critical 富士フイルム株式会社
Priority to EP22892401.5A priority Critical patent/EP4432218A1/en
Priority to JP2023559447A priority patent/JPWO2023084900A5/ja
Priority to CN202280074463.5A priority patent/CN118284904A/zh
Publication of WO2023084900A1 publication Critical patent/WO2023084900A1/ja
Priority to US18/636,190 priority patent/US20240273704A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • G06T7/0008Industrial image inspection checking presence/absence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • G06T7/62Analysis of geometric attributes of area, perimeter, diameter or volume
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Definitions

  • 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

本発明の一態様は、学習方法、学習装置、学習プログラム、及び画像処理装置を提供する。本発明の一態様に係る学習方法は、プロセッサを備える学習装置により実行される学習方法であって、プロセッサは、パッチ画像と、パッチ画像の単位領域に対するクラスラベルの正解データと、のペアからなる学習データを取得するデータ取得工程と、学習モデル及び学習データを用いてパッチ画像のセグメンテーションを行い、学習モデルが第2の単位領域を正しく検出したか否かをパッチ画像ごとに判定する判定工程と、判定の結果に基づいて、学習における第1の重みを設定する重み付け工程と、重み付けした結果に基づいて学習モデルを更新する更新工程と、を実行する。

Description

学習方法、学習装置、学習プログラム、及び画像処理装置
 本発明は、画像の学習を行う学習方法、学習装置、及び学習プログラム、並びに当該学習により構築された学習済みモデルを用いる画像処理装置に関する。
 画像の学習を行う技術に関し、例えば、特許文献1,2には、クロスエントロピー損失に基づく学習を行うことが記載されている。
特開2020-061066号公報 特開2020-091543号公報
 本発明の一つの態様は、検出率が良好な学習モデルを得られる学習方法、学習装置、及び学習プログラム、並びに学習済みモデルにより良好な精度で被写体のきず及び/または欠陥を検出することができる画像処理装置を提供する。
 上述した目的を達成するため、本発明の第1の態様に係る学習方法は、プロセッサを備える学習装置により実行される学習方法であって、プロセッサは、パッチ画像と、パッチ画像の単位領域に対するクラスラベルの正解データと、のペアからなる学習データを取得するデータ取得工程と、学習モデル及び学習データを用いてパッチ画像のセグメンテーションを行い、学習モデルが第2の単位領域を正しく検出したか否かをパッチ画像ごとに判定する判定工程と、判定の結果に基づいて第1の重みを設定する重み付け工程と、重み付けした結果に基づいて学習モデルを更新する更新工程と、を実行する。
 第2の態様に係る学習方法は第1の態様において、プロセッサは、重み付け工程において、個々のパッチ画像についての損失である第1の損失に対して、パッチ画像単位で第1の重みを設定する。
 第3の態様に係る学習方法は第1または第2の態様において、プロセッサは、重み付け工程において、第2の単位領域が正しく検出されていないと判定した場合は、第2の単位領域が正しく検出されていると判定した場合よりも大きな重みを第1の重みとして設定する。
 第4の態様に係る学習方法は第1から第3の態様のいずれか1つにおいて、学習モデルは、判定工程において、特定のクラスに属する第2の単位領域を検出する。
 第5の態様に係る学習方法は第4の態様において、プロセッサは、判定工程において、学習モデルが特定のクラスに属する第2の単位領域を誤って検出した第1の場合、及び学習モデルが特定のクラスに属する第2の単位領域を検出できなかった第2の場合は、第2の単位領域が正しく検出されていないと判定する。
 第6の態様に係る学習方法は第5の態様において、プロセッサは、重み付け工程において、第2の場合は第1の場合よりも大きな重みを設定する。
 第7の態様に係る学習方法は第5または第6の態様において、プロセッサは、判定工程において、検出の結果が第1の場合ではなく第2の場合でもない第3の場合は、検出の結果が正しいと判定する。
 第8の態様に係る学習方法は第4から第7の態様のいずれか1つにおいて、プロセッサは、判定工程において、被写体のきず及び欠陥について判定を行う。
 第9の態様に係る学習方法は第4から第8の態様のいずれか1つにおいて、学習モデルは、検出の確からしさを出力し、プロセッサは、判定工程において、確からしさが閾値以上であるか否かに基づいて、第2の単位領域が特定のクラスに属すると判定する。
 第10の態様に係る学習方法は第9の態様において、プロセッサは、学習の過程で閾値を変化させる。
 第11の態様に係る学習方法は第1から第10の態様のいずれか1つにおいて、プロセッサは、重み付け工程において、パッチ画像のクロスエントロピー損失に対して重み付けを行う。
 第12の態様に係る学習方法は第1から第11の態様のいずれか1つにおいて、プロセッサは、パッチ画像で構成されるバッチに対する損失関数を導出する損失関数導出工程をさらに実行し、更新工程では損失関数を用いて学習モデルを更新する。
 第13の態様に係る学習方法は第12の態様において、プロセッサは、損失関数導出工程において、重み付けを行った結果をパッチ画像で構成されるバッチ全体で平均した第1の損失関数を損失関数として導出する。
 第14の態様に係る学習方法は第13の態様において、プロセッサは、損失関数導出工程において、第1の損失関数と、バッチに対する損失関数であって第1の損失関数とは異なる損失関数である第2の損失関数と、を組み合わせた関数を損失関数として用いる。
 第15の態様に係る学習方法は第1から第14の態様のいずれか1つにおいて、プロセッサは、更新工程において、学習モデルのパラメータを更新して損失関数を最小化する。
 第16の態様に係る学習方法は第1から第15の態様のいずれか1つにおいて、プロセッサは、データ取得工程において、画像を入力し、入力した画像を分割した画像をパッチ画像として取得する。
 第17の態様に係る学習方法は第1から第16の態様のいずれか1つにおいて、プロセッサは、データ取得工程において、検出しようとする被写体のきず及び/または欠陥のサイズに応じたサイズのパッチ画像を取得する。
 第18の態様に係る学習方法は第1から第17の態様のいずれか1つにおいて、学習モデルは、セグメンテーションを行うニューラルネットワークを備える。
 上述した目的を達成するため、第19の態様に係る学習装置は、プロセッサを備える学習装置であって、プロセッサは、パッチ画像と、パッチ画像の単位領域に対するクラスラベルの正解データと、のペアからなる学習データを取得するデータ取得処理と、学習モデル及び学習データを用いてパッチ画像のセグメンテーションを行い、学習モデルが第2の単位領域を正しく検出したか否かをパッチ画像ごとに判定する判定処理と、判定の結果に基づいて第1の重みを設定する重み付け工程と、重み付けした結果に基づいて学習モデルを更新する更新処理と、を実行する。第19の態様に係る学習装置は、第2~第18の態様と同様の処理を実行する構成を備えていてもよい。
 上述した目的を達成するため、本発明の第20の態様に係る学習プログラムは、プロセッサを備える学習装置に学習方法を実行させる学習プログラムであって、学習方法において、プロセッサは、パッチ画像と、パッチ画像の単位領域に対するクラスラベルの正解データと、のペアからなる学習データを取得するデータ取得工程と、学習モデル及び学習データを用いてパッチ画像のセグメンテーションを行い、学習モデルが第2の単位領域を正しく検出したか否かをパッチ画像ごとに判定する判定工程と、判定の結果に基づいて第1の重みを設定する重み付け工程と、重み付けした結果に基づいて学習モデルを更新する更新工程と、を実行させる。第20の態様に係る学習プログラムは、第2~第18の態様と同様の処理を実行する構成を備えていてもよい。また、これら態様の学習プログラムのコンピュータ読み取り可能なコードを記録した非一時的記録媒体も、本発明の範囲に含まれる。
 上述した目的を達成するため、本発明の第21の態様に係る画像処理装置は、第1から第18の態様のいずれか1つに係る学習方法で学習した学習済みモデルを備え、入力した画像から、学習済みモデルを用いて被写体のきず及び/または欠陥を検出する。
図1は、学習装置の概略構成を示す図である。 図2は、処理部の概略構成を示す図である。 図3は、畳み込みニューラルネットワークによる処理の様子を示す図である。 図4は、畳み込みニューラルネットワークによる処理の様子を示す他の図である。 図5は、学習方法の処理の概要を示すフローチャートである。 図6は、学習方法の処理の詳細を示すフローチャートである。 図7は、重み付けによる学習への影響を示す図である。 図8は、パッチ画像取得の処理を示すフローチャートである。 図9は、重み付け処理のバリエーションを示すフローチャートである。 図10は、巨大な欠陥の一部が未検出となる様子を示す図である。 図11は、微小な欠陥の全体が未検出となる様子を示す図である。
[セグメンテーションの学習における検出率]
 従来の手法によるセグメンテーション(クラス分類)の一例として、被写体の欠陥を検出する場合について説明する。
 機械学習におけるセグメンテーション(semantic segmentation)では、一般にクロスエントロピー損失(cross-entropy loss)が用いられる。クラス分類を行う対象である画像の1ピクセル(画素)ごとに、正解ラベル(p=0or1)と、学習モデルの予測値(0≦q≦1)の差分に由来するペナルティ(=損失)を与え、損失によって学習モデルを更新する。たとえば欠陥検出タスクの場合、p=1が「欠陥」、p=0が「非欠陥」と対応づけることができる。なお、以下の説明において、クロスエントロピー損失を「CE損失」と記載する場合がある。
 セグメンテーションタスクとして分類するべき同一クラスの中に、微小な検出対象と巨大な検出対象が同時に存在する場合がある。即ち、欠陥検出の場合、微小な欠陥と巨大な欠陥が併存する場合がある。しかし、一般的なCE損失では、各ピクセルに対して予測を行い、それらが等価に扱われるため、巨大な欠陥は学習頻度が高い一方で、微小な欠陥ほど、学習されにくくなってしまう。
 CE損失は、{欠陥,非欠陥}の2値分類を画素ごとに行う場合の正解ラベルをp∈{0,1}、欠陥確率を表す出力値をq∈[0,1]とするとき、下記の式(1)、(2)で表される。
Figure JPOXMLDOC01-appb-M000001
Figure JPOXMLDOC01-appb-M000002
 式(1)は、各画素で定義される。CE損失はモデルの重みを更新する単位であるバッチ数がBであるときの、各入力パッチ画像Ii(1≦i≦B)を構成する画素の座標(x,y)に依存するが、添え字を略記している。式(2)は、これらに対する平均(のべ画素数N:=B×H×W、H,Wは入力パッチ画像のサイズ)をとることを意味しており、画像中の画素が等価に学習される。
 例えば、図10に示すように(i)巨大欠陥900(同図の(a)部分参照)のうちの数画素分が未検出の箇所(同図の(b)部分における領域902)と、図11に示すような(ii)数画素からなる微小欠陥910(同図の(a)部分参照)の全体が未検出の箇所(同図の(b)部分における領域912)があり,未検出である画素数が(i)の領域902と(ii)の領域912で同等であるとすれば、損失関数への寄与も同程度となる。しかし、検出率の評価観点でとらえると、(i)のように検出には成功している欠陥(巨大欠陥900)に対してより詳細な形状を再現することよりも、(ii)のように全く検出できていない欠陥(微小欠陥910)を検出することの方が優先されることが好ましい。
 このように、大小の検出対象が混在するタスクであって、微小であっても見落としを防ぎ、個数ベースの検出率を向上させることが重要である場合に、上述のような従来の損失関数でそれらを考慮することはできないため、より直接的に、検出率を向上させるための損失を設定することが好ましい。
 本願発明者は、斯かる事情の下で鋭意検討を進め、検出率が良好な学習モデルを得られる学習方法、学習装置、及び学習プログラム、並びに被写体のきず及び/または欠陥の検出率が良好な画像処理装置の着想を得た。以下、斯かる着想に基づく本発明の実施形態を説明する。説明においては、必要に応じて添付図面が参照される。なお、添付図面において、説明の便宜上一部の構成要素の記載を省略する場合がある。
 [学習装置の構成]
 図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は本発明の一態様に係る画像処理装置として動作する(後述)。
 [CNNの層構成の例]
 検出器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または複数の層により構成することができる。
 図4は、図3に示す学習モデル224における畳み込み演算の様子を示す図である。中間層252の最初(1番目)の畳み込み層では、複数の画像により構成される画像セット(学習時は学習用画像セット、検出等の認識時は認識用画像セット)とフィルタFとの畳み込み演算が行われる。画像セットは、縦がH、横がWの画像サイズを有するN枚(Nチャンネル)の画像により構成することができる。可視光画像を入力する場合、画像セットを構成する画像はR(赤色),G(緑色),B(青色)の3チャンネルの画像である。この画像セットと畳み込み演算されるフィルタFは、画像セットがNチャンネル(N枚)であるため、例えばサイズ5(5×5)のフィルタの場合、フィルタサイズは5×5×Nのフィルタになる。このフィルタFを用いた畳み込み演算により、1つのフィルタFに対して1チャンネル(1枚)の「特徴マップ」が生成される。2番目の畳み込み層で使用されるフィルタFは、例えばサイズ3(3×3)のフィルタの場合、フィルタサイズは3×3×Mになる。
 1番目の畳み込み層と同様に、2番目からn番目の畳み込み層ではフィルタF~Fを用いた畳み込み演算が行われる。n番目の畳み込み層における「特徴マップ」のサイズが、2番目の畳み込み層における「特徴マップ」のサイズよりも小さくなっているのは、前段までの畳み込み層またはプーリング層によりダウンスケーリングされているからである。
 中間層252の層のうち、入力側に近い畳み込み層では低次の特徴抽出(エッジの抽出等)が行われ、出力側に近づくにつれて高次の特徴抽出(対象物の形状、構造等に関する特徴の抽出)が行われる。なお、注目領域(本実施形態では、きず及び/または欠陥)の計測を目的としてセグメンテーションを行う場合は後半部分の畳み込み層でアップスケーリングされ、最後の畳み込み層では、入力した画像セットと同じサイズの「特徴マップ」が得られる。一方、注目領域の検出を行う場合は位置情報を出力すればよいのでアップスケーリングは必須ではない。
 なお、中間層252は畳み込み層256及びプーリング層258の他にバッチノーマライゼーションを行う層を含んでいてもよい。バッチノーマライゼーション処理は学習を行う際のミニバッチを単位としてデータの分布を正規化する処理であり、学習を速く進行させる、初期値への依存性を下げる、過学習を抑制する等の役割を担う。
 [出力層における処理]
 出力層254は、中間層252から出力された特徴量に基づき、入力された画像(パッチ画像等)に映っている注目領域の位置検出を行ってその結果を出力する層である。セグメンテーション(クラス分類)を行う場合、出力層254は、中間層252から得られる「特徴マップ」により、画像に写っている注目領域の位置を画素レベルで把握する。すなわち、画像の画素ごとに注目領域に属するか否か(特定のクラスに属するか否か)を検出し、その検出結果を出力することができる。一方、物体検出を行う場合は画素レベルでの判断は必要なく、出力層254が対象物の位置情報を出力する。なお、「特定のクラス」は例えば「欠陥」や「きず」である。出力層254は、欠陥やきずを細かく分類して出力してもよい(気泡、異物混入、孔、ひびわれ、剥離等)。
 なお、出力層254(学習モデル224)は、検出結果(セグメンテーションの結果、クラス分類の結果)を単位領域について出力することができる。また、出力層254は、検出結果の確からしさ(確率、信頼度)を出力することができる。「単位領域」は1画素で構成されていてもよいし、複数画素で構成されていてもよい。
 出力層254は注目領域の鑑別(分類)を実行して鑑別結果を出力するものでもよい。例えば、出力層254は画像を「正常」、「きず」、「欠陥」の3つのカテゴリに分類し、鑑別結果として「正常」、「きず」、及び「欠陥」に対応する3つのスコア(3つのスコアの合計は100%、あるいは1)として出力してもよいし、3つのスコアから明確に分類できる場合には分類結果を出力してもよい。なお、分類は2クラスでもよいし、多クラスでもよい。
 鑑別結果を出力する場合、中間層252あるいは出力層254が最後の1層または複数の層として全結合層を含んでいてもよいし(図3の(b)部分を参照)、含んでいなくてもよい。
 出力層254は注目領域の計測結果を出力するものでもよい。計測を行う場合は、対象となる注目領域の計測値を学習モデル224から直接出力することができる。また、対象となる注目領域を例えば上述のようにセグメンテーションしてから、その結果を基にプロセッサ102等で計測することもできる。計測値を直接出力させる場合、画像に対し計測値そのものを学習させるので、計測値の回帰問題となる。
 上述した構成の学習モデル224を用いる場合、学習の過程において、出力層254が出力する結果と画像セットに対する認識の正解とを比較して損失関数(誤差関数)を計算し、損失関数が小さくなるように(最小化されるように)、中間層252における重みパラメータを出力側の層から入力側の層に向けて更新していく処理(誤差逆伝播)を行うことが好ましい。本実施態様における損失関数の導出、及び損失関数に基づく学習モデルの更新については、詳細を後述する。
 [ニューラルネットワーク以外の手法による認識]
 学習モデル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)などの、特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路も、上述した各種のプロセッサに含まれる。
 各部の機能は1つのプロセッサにより実現されてもよいし、同種または異種の複数のプロセッサ(例えば、複数のFPGA、あるいはCPUとFPGAの組み合わせ、またはCPUとGPUの組み合わせ)で実現されてもよい。また、複数の機能を1つのプロセッサで実現してもよい。複数の機能を1つのプロセッサで構成する例としては、第1に、コンピュータに代表されるように、1つ以上のCPUとソフトウェアの組合せで1つのプロセッサを構成し、このプロセッサが複数の機能として実現する形態がある。第2に、システムオンチップ(System On Chip:SoC)などに代表されるように、システム全体の機能を1つのIC(Integrated Circuit)チップで実現するプロセッサを使用する形態がある。このように、各種の機能は、ハードウェア的な構造として、上述した各種のプロセッサを1つ以上用いて構成される。さらに、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子などの回路素子を組み合わせた電気回路(circuitry)である。これらの電気回路は、論理和、論理積、論理否定、排他的論理和、及びこれらを組み合わせた論理演算を用いて上述した機能を実現する電気回路であってもよい。
 上述したプロセッサあるいは電気回路がソフトウェア(プログラム)を実行する際は、実行するソフトウェアのコンピュータ(例えば、処理部100を構成する各種のプロセッサや電気回路、及び/またはそれらの組み合わせ)で読み取り可能なコードをROM130等の非一時的記録媒体に記憶しておき、コンピュータがそのソフトウェアを参照する。非一時的記録媒体に記憶しておくソフトウェアは、本発明に係るデータ処理方法を実行するためのプログラム(データ処理プログラム)及び実行に際して用いられるデータ(第1,第2のDNAプロファイルデータ、後述するがん種ラベル等の学習データ、機械学習で用いられる重みパラメータ等)を含む。ROM130ではなく各種の光磁気記録装置、半導体メモリ等の非一時的記録媒体にコードを記録してもよい。ソフトウェアを用いた処理の際には例えばRAM150が一時的記憶領域として用いられ、また例えば不図示のEEPROM(Electronically Erasable and Programmable Read Only Memory)やフラッシュメモリ等の非一時的記録媒体に記憶されたデータを参照することもできる。「非一時的記録媒体」として記憶部200を用いてもよい。なお、上述の「非一時的記録媒体」は、搬送波信号や伝播信号そのもののような非有体の記録媒体を含まない。
 上述した構成の処理部100を用いた処理の詳細は後述する。
 [記憶部の構成]
 記憶部200はハードディスク、半導体メモリ等の各種記憶デバイス及びその制御部により構成され、被写体の画像(入力画像、パッチ画像)、学習データ、学習モデルが用いる重みパラメータ、学習方法の実行条件及びその結果、画像処理方法の実行条件及びその結果等を記憶することができる。
 [表示部の構成]
 表示部300は例えば液晶ディスプレイ等のディスプレイにより構成されるモニタ310(表示装置)を備え、被写体の画像や、学習方法、学習プログラム、画像処理方法の実行結果等を表示することができる。モニタ310をタッチパネル型のディスプレイにより構成し、ユーザの指示入力を受け付けてもよい。
 [操作部の構成]
 操作部400は操作デバイスの一例としてのキーボード410及びマウス420を備え、ユーザは、操作部400を介して本発明に係る学習方法、学習プログラム、及び画像処理方法の実行、結果表示等に関する操作を行うことができる。操作部400は、その他の操作デバイスを備えていてもよい。
 [学習方法の処理]
 本実施態様に係る学習方法(学習プログラム)の処理について説明する。図5は、学習方法の処理の概要を示すフローチャートである。なお、以下の説明は本発明における処理の一例であり、必要に応じて処理の順序を入れ替えてもよい。
 [処理の概要]
(学習データの取得)
 処理が始まると、データ取得部104(プロセッサ)は、パッチ画像と、パッチ画像の単位領域に対するクラスラベルの正解データと、のペアからなる学習データを取得する(ステップS100:データ取得工程、データ取得処理)。データ取得部104は、記憶部200から学習データを取得してもよいし、外部データベース510から取得してもよい。また、データ取得部104は、学習データを一括して取得してもよいし、複数回に分けて取得してもよい。
 (パッチ画像のセグメンテーション)
 検出器106(プロセッサ)は、上述した学習モデル224及び学習データを用いて、取得したパッチ画像のセグメンテーションを行い、単位領域が各クラスに属する確からしさを出力する(ステップS110:判定工程、判定処理)。「クラス」の設定は、例えば「きず」、「欠陥」、「正常」(「きず」「欠陥」以外)である。ここで、「きず」を被写体の不連続部分と定義することができ、また「欠陥」を規格や仕様書等で規定された規準を超え検査結果が不合格となるきず(例えば、大きさや程度が規準を超えるきず)と定義することができるが、本発明では、きずと欠陥を区別せず両方とも「欠陥」として扱ってもよい。また、きず及び欠陥を複数の種類(例えば異物、気泡、孔、ひび割れ、剥離等)や程度(数、大きさ、密度等)に分け、種類及び/または程度が異なるきず及び欠陥を異なるクラスとして扱ってもよい。なお、どのようなクラスに分類するかに応じて、検出器106(学習モデル224)の層構成(全結合層の有無や、出力の数等)をあらかじめ設定しておくこと、及び分類するクラスの種類、数、程度等に合わせた正解データを用意しておくことが好ましい。
 なお、本発明において「単位領域」は、一画素、または複数の画素により構成される領域である。
 以下、画素ごとに「欠陥」と「正常」の2クラスに分類する場合、即ちきずと欠陥を区別せず、単位領域が一画素で構成される場合について説明する。また、検出器106は各画素が欠陥クラスに属する確からしさq(q∈[0,1])を出力するものとする。
 (特定のクラスを検出したか否かの判定)
 判定部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の損失として、以下のように、パッチ画像単位で重み付けを行う。
 重み付け部110は、各画素の確からしさqと正解データpに基づいて、上述の式(1)によりCE損失を算出する(ステップS131:重み付け工程、重み付け処理)。また、重み付け部110は、確からしさqを正解データpと比較し(ステップS132:重み付け工程、重み付け処理)、誤検出または未検出の場合(ステップS133でYES;以下の式(4)を参照)、即ち比較の結果が特定の結果である場合は、CE損失に対する第1の重みとしてパッチ画像単位でα=1を設定し(ステップS134)、誤検出または未検出以外の場合(ステップS133でNO;以下の式(4)を参照)、即ち比較の結果が特定の結果でない場合は、第1の重みとしてパッチ画像単位でα=0を設定する。このように、重み付け部110は、比較の結果が特定の結果である場合は、比較の結果が特定の結果でない場合より大きな重みを第1の重みとして設定する。
 重み付け部110(プロセッサ)は、重み付けを行った結果をパッチ画像で構成されるバッチ全体で平均して、第1の損失関数(以下の式(3)を参照;損失関数)を導出する(ステップS138:損失関数導出工程、損失関数導出処理)。
 上述の重み付け及び損失関数の導出は、以下の式(3)、(4)により表すことができる。なお、式(3)において、Bはバッチを構成するパッチ画像の数であり、Nはバッチののべ画素数(=B×H×W、H,Wは入力パッチ画像のサイズ)である。
Figure JPOXMLDOC01-appb-M000003
Figure JPOXMLDOC01-appb-M000004
 式(4)におけるθ∈(0,1)は事前に定めた欠陥確率の閾値を表しており、プロセッサ102は、確からしさqが閾値θ以上であると、その画素は欠陥であると判定することができる。このとき、実際には欠陥でない領域を誤検出した場合(第1の場合)、あるいは欠陥であるにも関わらず未検出となった場合(第2の場合)は式(3)においてα(Ii)=1となり、当該パッチに損失が加えられる。逆に、学習が進み、欠陥の一部でも検出に成功した画素が生じると、α(Ii)=0(第3の場合)となるから、学習の優先度は相対的に減少する。
 式(4)における重み付けを詳細に説明すると、「(パッチとしての)誤検出」は「パッチ内の全ての画素で正解ラベルp=0、かつ、パッチ内のいずれか1画素で学習モデルの出力値(確からしさ)qが閾値θ以上(q≧θ)である場合」と定義され、「(パッチとしての)未検出」は「パッチの中に正解ラベルp=1である画素が1つでも存在し、かつ、パッチ内の全ての画素で学習モデルの出力値(確からしさ)qが閾値未満(q<θ)である場合」と定義される。「(パッチとしての)誤検出」または「(パッチとしての)未検出」であればα=1であり、それ以外の場合は全てα=0となる。なお、式(4)ではパッチ内の画素1つ1つに対して「未検出」「誤検出」を判定しているわけではなく、パッチ全体(第2の単位領域)に対して、上記の基準に基づき1つの判定結果が定まる。
 [重み付けによる学習への影響]
 上述した重み付けによる学習への影響について説明する。例えば、図7の(a)部分(パッチ画像における、欠陥の正解範囲を示す図)に示すように、パッチ画像920において巨大な欠陥922が存在する場合(欠陥922の内側の画素ではp=1,外側の画素ではp=0)を考える。またこの場合、検出器106による検出結果が、同図の(b)部分に示すように、パッチ画像920Aにおいて正解よりも狭い領域を欠陥922Aとして検出したものとする(欠陥922Aの内側の画素ではp=1,外側の画素ではp=0)。
 この場合、上述した重み付けによれば、α=0(正しく検出したという判定)である。これは、「巨大な欠陥を、少なくともその一部だけでも検出すれば、未検出のペナルティ(α=1と重み付けすること)が解消される」と解釈することができ、逆にいえば「巨大な欠陥の領域『全体』を検出する必要はない」ということである。
 図7に示す例の場合、従来の手法によれば、画素レベルで捉えると検出できていない面積が大きいため、その検出できていない面積に応じて巨大な欠陥922をさらに学習しようとする(重み付けされる)。これに対し本発明の手法によれば、このような巨大な欠陥922の学習が早い段階で終了する(重みがゼロになる)。これに対し微小な欠陥の場合、そもそも例えば数画素程度で構成されていて、「欠陥の一部でも検出すればよい」という規準は条件を緩めたことにはならない。
 この結果、本発明の手法によれば、巨大な欠陥だけにとって「検出した」の規準が緩くなり、微小な欠陥が相対的に学習されやすくなる。
 以上から、本実施形態によれば、微小欠陥であっても未検出の領域が重点的に学習されやすくなり、検出率を向上させるという観点で有利にはたらく。
 [損失関数の組合せ]
 学習モデルの更新において、重み付け部110(プロセッサ)は、上述した第1の損失関数(Lweighted)を単独で損失関数として用いてもよいし、Lweightedと、バッチに対する損失関数であってLweightedとは異なる損失関数である第2の損失関数と、を組み合わせた関数を損失関数として用いてもよい。例えば、以下の式(5)のように、通常のCE損失を第2の損失関数(LCE)とし、第1の損失関数と第2の損失関数とを任意の係数(λ>0)で足し合わせた関数を損失関数としてもよい(ステップS139:損失関数導出工程、損失関数導出処理)。
Figure JPOXMLDOC01-appb-M000005
 なお、損失関数のさらなるバリエーションについて、「損失関数のバリエーション」の項で後述する。
 プロセッサ102は、どのような損失関数を用いるか、あるいはどのような重みを用いるかを、操作部400を介したユーザの操作に応じて決定してもよいし、ユーザの操作によらずに自動的に決定してもよい。
 [学習モデルの更新]
 更新部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の実施形態の効果]
 以上説明したように、第1の実施形態に係る学習方法、学習装置、及び学習プログラムによれば、検出率が良好な学習モデルを得ることができる。
 [学習方法における処理のバリエーション]
 [画像のバリエーション]
 本発明において、放射線画像、可視光画像、近赤外光画像等を学習(あるいは学習完了後の画像処理)に用いることができ、画像を取得する周波数帯域は特に限定されない。
 [画像の分割によるパッチ画像の取得]
 上述したステップS100で取得するパッチ画像が、検出器106(学習モデル224)に入力する画像のサイズに合ったサイズの画像ではない場合がある。具体的には、被写体を撮影した画像(例えば、数千画素×数千画素程度)がパッチ画像(例えば、数十画素×数十画素~数百画素×数百画素程度)よりもサイズが大きい場合がある。このような場合、データ取得部104(プロセッサ)は、入力した画像を検出器106に入力する画像のサイズに合わせて分割した画像を、パッチ画像として取得することができる(データ取得工程、データ取得処理)。これによりCPU,GPU等のプロセッサやRAM等のメモリに対する負荷を軽減することができる。
 また、データ取得部104は、パッチ画像を取得する際に、入力画像の分割(パッチ画像への切り分け)に代えて、または分割に加えて、画像のリサイズを行ってもよい(データ取得工程、データ取得処理)。例えば、データ取得部104は、長方形の画像全体を正方形にして入力することができる。
 さらにまた、データ取得部104(プロセッサ)は、検出しようとする対象のサイズ(検出サイズ)に応じたサイズのパッチ画像を取得してもよい。例えば、図8のフローチャートに示すように、データ取得部104が画像及び正解データを入力し(ステップS102)、検出しようとする対象(例えば、被写体のきず及び/または欠陥)のサイズを設定する(ステップS104)。データ取得部104は、操作部400を介したユーザの操作に応じて、あるいは決められた条件に従って自動的に(ユーザの操作を介さずに)対象のサイズを設定することができる。
 データ取得部104は、設定したサイズに応じて、入力した画像をパッチ画像に分割する(ステップS106)。上述したリサイズを行ってもよい。以降の処理は、図5,6のフローチャートについて上述したのと同様である。
 [判定の閾値]
 プロセッサ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より大きいことが好ましい。
Figure JPOXMLDOC01-appb-M000006
 なお、式(6)において、Kは組み合わせる損失関数の数で1以上の整数、λiは個々の損失関数に対する係数(任意の実数)、Liは個々の損失関数であり上述したLCE、Lweighted、平均二乗和誤差、Dice loss、IoU loss(Jaccard loss)、Tversky loss、Focal loss等である。
 [画像処理装置としての動作]
 上述した学習の完了後、検出器106の学習モデル224は学習済みモデルとなる。即ち、学習完了後の学習装置10は画像処理装置として動作しうる。この画像処理装置によれば、本発明に係る学習方法で学習した学習済みモデルを用いて、被写体のきず及び/または欠陥を良好な検出率で検出することができる。
 以上で本発明の実施形態及びそのバリエーションについて説明してきたが、本発明は上述した態様に限定されず、本発明の精神を逸脱しない範囲で種々の変形が可能である。
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)

  1.  プロセッサを備える学習装置により実行される学習方法であって、前記プロセッサは、
     パッチ画像と、前記パッチ画像の単位領域に対するクラスラベルの正解データと、のペアからなる学習データを取得するデータ取得工程と、
     学習モデル及び前記学習データを用いて前記パッチ画像のセグメンテーションを行い、前記学習モデルが第2の単位領域を正しく検出したか否かを前記パッチ画像ごとに判定する判定工程と、
     前記判定の結果に基づいて第1の重みを設定する重み付け工程と、
     前記重み付けした結果に基づいて前記学習モデルを更新する更新工程と、
     を実行する学習方法。
  2.  前記プロセッサは、前記重み付け工程において、個々の前記パッチ画像についての損失である第1の損失に対して、前記パッチ画像単位で第1の重みを設定する請求項1に記載の学習方法。
  3.  前記プロセッサは、前記重み付け工程において、
     前記第2の単位領域が正しく検出されていないと判定した場合は、前記第2の単位領域が正しく検出されていると判定した場合よりも大きな重みを前記第1の重みとして設定する請求項1または2に記載の学習方法。
  4.  前記学習モデルは、前記判定工程において、特定のクラスに属する前記第2の単位領域を検出する請求項1から3のいずれか1項に記載の学習方法。
  5.  前記プロセッサは、前記判定工程において、
     前記学習モデルが前記特定のクラスに属する前記第2の単位領域を誤って検出した第1の場合、及び前記学習モデルが前記特定のクラスに属する前記第2の単位領域を検出できなかった第2の場合は、前記第2の単位領域が正しく検出されていないと判定する請求項4に記載の学習方法。
  6.  前記プロセッサは、前記重み付け工程において、
     前記第2の場合は前記第1の場合よりも大きな重みを設定する請求項5に記載の学習方法。
  7.  前記プロセッサは、前記判定工程において、
     前記検出の結果が前記第1の場合ではなく前記第2の場合でもない第3の場合は、前記検出の結果が正しいと判定する請求項5または6に記載の学習方法。
  8.  前記プロセッサは、前記判定工程において、
     被写体のきず及び欠陥について前記判定を行う請求項4から7のいずれか1項に記載の学習方法。
  9.  前記学習モデルは、前記検出の確からしさを出力し、
     前記プロセッサは、前記判定工程において、
     前記確からしさが閾値以上であるか否かに基づいて、前記第2の単位領域が前記特定のクラスに属すると判定する請求項4から8のいずれか1項に記載の学習方法。
  10.  前記プロセッサは、学習の過程で前記閾値を変化させる請求項9に記載の学習方法。
  11.  前記プロセッサは、前記重み付け工程において、前記パッチ画像のクロスエントロピー損失に対して前記重み付けを行う請求項1から10のいずれか1項に記載の学習方法。
  12.  前記プロセッサは、
     前記パッチ画像で構成されるバッチに対する損失関数を導出する損失関数導出工程をさらに実行し、
     前記更新工程では前記損失関数を用いて前記学習モデルを更新する請求項1から11のいずれか1項に記載の学習方法。
  13.  前記プロセッサは、前記損失関数導出工程において、前記重み付けを行った結果を前記パッチ画像で構成されるバッチ全体で平均した第1の損失関数を前記損失関数として導出する請求項12に記載の学習方法。
  14.  前記プロセッサは、前記損失関数導出工程において、
     前記第1の損失関数と、前記バッチに対する損失関数であって前記第1の損失関数とは異なる損失関数である第2の損失関数と、を組み合わせた関数を前記損失関数として用いる請求項13に記載の学習方法。
  15.  前記プロセッサは、前記更新工程において、前記学習モデルのパラメータを更新して損失関数を最小化する請求項1から14のいずれか1項に記載の学習方法。
  16.  前記プロセッサは、前記データ取得工程において、
     画像を入力し、前記入力した画像を分割した画像を前記パッチ画像として取得する請求項1から15のいずれか1項に記載の学習方法。
  17.  前記プロセッサは、前記データ取得工程において、検出しようとする被写体のきず及び/または欠陥のサイズに応じたサイズの前記パッチ画像を取得する請求項1から16のいずれか1項に記載の学習方法。
  18.  前記学習モデルは、前記セグメンテーションを行うニューラルネットワークを備える請求項1から17のいずれか1項に記載の学習方法。
  19.  プロセッサを備える学習装置であって、前記プロセッサは、
     パッチ画像と、前記パッチ画像の単位領域に対するクラスラベルの正解データと、のペアからなる学習データを取得するデータ取得処理と、
     学習モデル及び前記学習データを用いて前記パッチ画像のセグメンテーションを行い、前記学習モデルが第2の単位領域を正しく検出したか否かを前記パッチ画像ごとに判定する判定処理と、
     前記判定の結果に基づいて第1の重みを設定する重み付け工程と、
     前記重み付けした結果に基づいて前記学習モデルを更新する更新処理と、
     を実行する学習装置。
  20.  プロセッサを備える学習装置に学習方法を実行させる学習プログラムであって、前記学習方法において、前記プロセッサは、
     パッチ画像と、前記パッチ画像の単位領域に対するクラスラベルの正解データと、のペアからなる学習データを取得するデータ取得工程と、
     学習モデル及び前記学習データを用いて前記パッチ画像のセグメンテーションを行い、前記学習モデルが第2の単位領域を正しく検出したか否かを前記パッチ画像ごとに判定する判定工程と、
     前記判定の結果に基づいて第1の重みを設定する重み付け工程と、
     前記重み付けした結果に基づいて前記学習モデルを更新する更新工程と、
     を実行させる学習プログラム。
  21.  非一時的かつコンピュータ読取可能な記録媒体であって、請求項20に記載のプログラムが記録された記録媒体。
  22.  請求項1から18のいずれか1項に記載の学習方法で学習した学習済みモデルを備え、
     入力した画像から、前記学習済みモデルを用いて被写体のきず及び/または欠陥を検出する画像処理装置。
PCT/JP2022/034032 2021-11-10 2022-09-12 学習方法、学習装置、学習プログラム、及び画像処理装置 WO2023084900A1 (ja)

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)

* Cited by examiner, † Cited by third party
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 検査システム、学習装置、学習プログラム、学習方法、検査装置、検査プログラム、検査方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
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