WO2021106174A1 - 画像処理方法、学習装置及び画像処理装置 - Google Patents

画像処理方法、学習装置及び画像処理装置 Download PDF

Info

Publication number
WO2021106174A1
WO2021106174A1 PCT/JP2019/046692 JP2019046692W WO2021106174A1 WO 2021106174 A1 WO2021106174 A1 WO 2021106174A1 JP 2019046692 W JP2019046692 W JP 2019046692W WO 2021106174 A1 WO2021106174 A1 WO 2021106174A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
output
neural network
extended
difference
Prior art date
Application number
PCT/JP2019/046692
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 PCT/JP2019/046692 priority Critical patent/WO2021106174A1/ja
Priority to CN201980099911.5A priority patent/CN114365180A/zh
Priority to JP2021561092A priority patent/JP7231762B2/ja
Publication of WO2021106174A1 publication Critical patent/WO2021106174A1/ja
Priority to US17/569,205 priority patent/US20220130136A1/en

Links

Images

Classifications

    • 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
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H30/00ICT specially adapted for the handling or processing of medical images
    • G16H30/40ICT specially adapted for the handling or processing of medical images for processing medical images, e.g. editing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/776Validation; Performance evaluation
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/98Detection or correction of errors, e.g. by rescanning the pattern or by human intervention; Evaluation of the quality of the acquired patterns
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H30/00ICT specially adapted for the handling or processing of medical images
    • G16H30/20ICT specially adapted for the handling or processing of medical images for handling medical images, e.g. DICOM, HL7 or PACS
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/20ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for computer-aided diagnosis, e.g. based on medical expert systems
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/70ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for mining of medical data, e.g. analysing previous cases of other patients
    • 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
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/03Recognition of patterns in medical or anatomical images
    • G06V2201/032Recognition of patterns in medical or anatomical images of protuberances, polyps nodules, etc.

Definitions

  • the present invention relates to an image processing method, a learning device, an image processing device, and the like.
  • the image processing here is, for example, image classification processing, object detection processing, and the like.
  • a method of performing image expansion in a learning process for generating a trained model is also known.
  • Non-Patent Document 1 discloses a method of applying a convolutional neural network (CNN) to large-scale image classification.
  • Non-Patent Document 1 discloses a method for suppressing overfitting by performing image expansion such as RandomCrop, left-right inversion, and color correction.
  • the height using the trained model is high. Accurate image processing can be performed. However, if fluctuations exceeding the image fluctuation range at the time of image expansion occur in the applied image, the processing accuracy may be significantly reduced.
  • One aspect of the present disclosure is to generate a first extended image by applying a first image extension to an input image, and a second extension by applying a second image extension different from the first image extension to the input image.
  • An image is generated, the first output is generated by inputting the first extended image into the neural network, the second output is generated by inputting the second extended image into the neural network, and the first output is generated.
  • It is related to an image processing method in which an output difference degree indicating the degree of difference between the image and the second output is calculated, and the weighting coefficient in each layer of the neural network is updated based on the output difference degree.
  • a first extended image is generated by applying the first image extension to the input image
  • a second extended image is generated by applying a second image extension different from the first image extension to the input image.
  • the first output is generated by inputting the first extended image into the neural network
  • the second output is generated by inputting the second extended image into the neural network
  • the first output and the second output are generated.
  • the process of calculating the output difference degree indicating the difference degree from the above and updating the weighting coefficient in each layer of the neural network based on the output difference degree can be executed by the processor.
  • Another aspect of the present disclosure is an image processing method using a neural network, wherein the neural network produces a plurality of extended images generated by applying a plurality of different image extensions to one input image.
  • the neural network When input to the neural network, it is learned using an error including a degree of difference between a plurality of outputs corresponding to the plurality of the extended images, and by inputting the first applied image to the neural network, the first application image is obtained.
  • the first applied output is generated, the first recognition result is generated based on the first applied output, and the second applied image is input to the neural network to generate the second applied output, and the second applied output is generated.
  • the second recognition result is generated based on the above, the first application image and the second application image capture the corresponding subject, and the difference between the first application image and the second application image is It relates to an image processing method in which the first recognition result and the second recognition result are the same in the case of at least one of hue, brightness, and smoothness.
  • Another aspect of the present disclosure includes an acquisition unit that acquires an input image and a processing unit that performs machine learning based on the input image, and the processing unit applies the first image extension to the input image.
  • a second extended image is generated by applying a second image extension different from the first image extension to the input image, and the first extended image is input to the neural network.
  • the first output is generated by, and the second extended image is input to the neural network to generate the second output, and the output difference degree indicating the difference between the first output and the second output is calculated.
  • It relates to a learning device that updates the weighting coefficient in each layer of the neural network based on the degree of output difference.
  • Another aspect of the present disclosure includes a storage unit that stores the trained model and a processing unit that performs image processing on the applied image based on the trained model, and the trained model is the first input image.
  • a first extended image is generated by applying an image extension
  • a second extended image is generated by applying a second image extension different from the first image extension to the input image
  • the first extended image is neurally used.
  • a first output is generated by inputting to the network
  • a second output is generated by inputting the second extended image to the neural network
  • an output indicating the degree of difference between the first output and the second output is shown. It relates to an image processing apparatus that is learned by calculating the degree of difference and updating the weighting coefficient in each layer of the neural network based on the degree of output difference.
  • FIGS. 6 (B) and 6 (C) are schematic views showing an example of an extended image
  • FIG. 6 (D) is a specific example of an input image
  • FIG. (E) and FIG. 6 (F) are specific examples of the extended image.
  • Configuration example of the second neural network Another configuration example of the second neural network.
  • Configuration example of the image processing device A flowchart illustrating an inference process using a trained model.
  • Configuration example of the endoscope device A flowchart illustrating an inference process using a trained model.
  • the image classification process is a process of classifying an image into several categories, for example, a process of classifying a main subject of the image.
  • An image classification process for determining whether a subject in an image is a cat or a dog is widely known.
  • the object detection process is a process of determining the position of the subject on the image together with the category of the subject in the image. For example, a method of detecting an area surrounding a subject of a given category, a method of determining for each pixel of an image which category the pixel corresponds to a subject of which category, and the like are known.
  • the image classification process and the object detection process are collectively referred to as image recognition process.
  • Non-Patent Document 1 in the recognition process using the deep learning technology, a score indicating the recognition target is output by inputting the image into the trained neural network, and the final score is obtained based on the score.
  • a method is used in which a specific recognition result is determined.
  • the score output from the trained model may fluctuate significantly even if the fluctuation is small.
  • the neural network is composed of multiple layers of linear combinations as described later with reference to FIGS. 5 (A) and 5 (B)
  • the output score is large due to small fluctuations in the input. May change. That is, the recognition result may be different due to a small fluctuation such as a hue, and the recognition result becomes unstable. Therefore, an image extension is used to generate an extended image in which the number of images is inflated by performing a color correction process, a brightness correction process, a smoothing process, or the like on the image used for the learning process.
  • the image expansion is a color correction process
  • the color correction process is, for example, a process of changing the hue H of an image
  • the parameter of image expansion in this case is the amount of variation ⁇ H of the hue. It is assumed that the image is expanded so that ⁇ H is a value within the range of ⁇ 10 degrees ⁇ ⁇ H ⁇ 10 degrees.
  • FIG. 1 is a diagram for explaining the change in the recognition processing result when the fluctuation amount of the test image is changed.
  • the test image is an image for confirming the accuracy of the inference processing using the trained model, and is an image to which a correct answer label is given in a narrow sense.
  • the inference processing here is the recognition processing as described above, and the correct answer label is information for specifying the category and the position of the subject to be recognized.
  • the horizontal axis of FIG. 1 represents the amount of variation in hue H added to the test image.
  • the vertical axis of FIG. 1 represents the sensitivity.
  • the sensitivity here is the ratio of the number of recognition objects detected by the recognition process using the trained model to the number of recognition objects existing in the test image. That is, the higher the sensitivity, the higher the accuracy of the recognition process.
  • A1 in FIG. 1 represents the recognition result of the conventional method.
  • the sensitivity is as high as that when the fluctuation amount is 0 degrees.
  • the fluctuation amount of the test image becomes ⁇ 20 degrees
  • the sensitivity decreases.
  • the fluctuation amount of the test image becomes ⁇ 30 degrees
  • the recognition process can be performed with sufficiently high accuracy.
  • the fluctuation amount of the test image is larger than the fluctuation amount assumed in the image expansion, the accuracy of the recognition process is greatly reduced.
  • FIG. 1 an example using a test image whose correct answer is known has been described, but the same can be said for the recognition process for an unknown image acquired in a real environment.
  • the accuracy of the recognition process has been described in FIG. 1, the same applies to the case where the trained model is applied to image processing other than the recognition process. That is, it is desirable that the parameter range in the image expansion is set so as to cover the fluctuation amount of the image in the actual environment.
  • an image acquired in a real environment and subject to inference processing to which a trained model is applied will be referred to as an applied image.
  • the new type of endoscope device may have a different configuration of an image sensor, a light source, a lens, and the like from the old type endoscope device, and the tendency of the image to be captured is also different. Therefore, it is considered that generating a trained model dedicated to the new type of endoscope device contributes to the improvement of accuracy.
  • an in-vivo image cannot be captured unless the insertion portion of the endoscope device is inserted into the living body, an image captured by the new type of endoscope device can be produced by manufacturing the endoscope device. It is difficult to obtain a large amount at the stage. Therefore, until sufficient images for learning are accumulated, it is realistic to use the trained model machine-learned using the images captured by the old endoscope device in the new endoscope device. is there.
  • it is difficult to acquire a large amount of images captured by the new type of endoscope device it is difficult to predict the amount of fluctuation of the image when the new type of endoscopic device is used. ..
  • the endoscope device is illustrated here, there are cases where it is not easy to accurately predict the user's imaging environment at the time of executing machine learning even in a normal digital still camera or the like, and the fluctuation of the image in the actual environment is also possible. It is difficult to predict the amount.
  • the first image extension is generated by applying the first image extension to the input image
  • the second image extension is applied to the input image by applying a second image extension different from the first image extension.
  • the first output is generated by inputting the first extended image into the neural network
  • the second output is generated by inputting the second extended image into the neural network.
  • the output difference degree indicating the difference degree between the first output and the second output is calculated, and the weighting coefficient in each layer of the neural network is updated based on the output difference degree. More specifically, the weighting coefficient is updated so as to reduce the degree of output difference.
  • the image processing method of the present embodiment generates a trained model for executing image processing on the applied image. That is, in the image processing method according to the present embodiment, the generation of the first extended image and the second extended image, the generation of the first output and the second output, the calculation of the output difference degree, and the weighting coefficient based on the output difference degree
  • the trained model is output as a result of repeatedly executing each process of update.
  • the trained model is output to the image processing device 40 described later using FIG. 13, and the image processing device 40 executes image processing on the applied image, for example, recognition processing of the subject of interest, using the trained model.
  • the first extended image and the second extended image are images to which different image extensions are applied, the color, brightness, etc. of the other are fluctuating with respect to one. Therefore, in the conventional method, the first output and the second output may be significantly different.
  • machine learning is performed so that the difference between the first output and the second output becomes small. Therefore, it is possible to suppress a large change in the output score due to a small fluctuation in the input, and to stabilize the recognition result. In other words, it becomes possible to improve the robustness against fluctuations in the image input to the neural network. That is, when an endoscopic image is input to a neural network to detect a polyp, the recognition accuracy is less likely to decrease even if a peculiar symptom or an oblique observation is performed without observing the polyp from the front.
  • A2 in FIG. 1 is a recognition processing result when the method of this embodiment is applied.
  • the sensitivity is about the same as the conventional method shown in A1.
  • the fluctuation amount in the test image is ⁇ 20 degrees or ⁇ 30 degrees
  • the decrease in sensitivity is suppressed as shown in A2 as compared with the conventional method. That is, according to the method of the present embodiment, the trained model is used even when the fluctuation amount of the image exceeds the range of image expansion due to the unpredictability of the fluctuation amount of the image in the actual environment. It is possible to suppress a decrease in the accuracy of the image processing that has been performed.
  • the method of this embodiment can be applied to an image processing method using a neural network which is a generated trained model.
  • the neural network is a plurality of extended images corresponding to a plurality of extended images when a plurality of extended images generated by applying a plurality of different image extensions to one input image are input to the neural network. It is learned using an error that includes the degree of difference between outputs.
  • the first applied image is input to the neural network to generate the first applied output, and the first recognition result is generated based on the first applied output. Further, by inputting the second applied image to the neural network, the second applied output is generated, and the second recognition result is generated based on the second applied output.
  • the subject corresponding to the first application image and the second application image is imaged, and the difference between the first application image and the second application image is at least one of the hue, brightness, and smoothing degree.
  • the difference between the first recognition result and the second recognition result is the same or substantially the same. Approximately the same means that the difference between the first recognition result and the second recognition result is equal to or less than a given threshold value.
  • the hue is, for example, hue
  • the brightness is, for example, brightness or brightness
  • the degree of smoothing is, for example, a contrast value.
  • the first applied output is the output of the neural network when the first applied image is input.
  • the first applied output is probability data representing the certainty that the recognition result is a given subject.
  • the first recognition result is information obtained based on the first applied output.
  • the first recognition result is acquired by selecting the one having the largest value from the plurality of probability data which is the first application output.
  • the first applied output is two numerical values, a probability data that is a polyp and a probability data that is not a polyp, and which value is larger. Whether or not it is a polyp is determined based on this. The same applies to the second applied output and the second recognition result.
  • the output difference of the neural network is reduced. Therefore, the difference between the first applied output and the second applied output is sufficiently small.
  • a minute difference in the applied output does not matter. For example, when finding the maximum value of probability data as described above, if the condition that the probability data that is a polyp is larger than the probability data that is not a polyp is satisfied, the recognition result will be the recognition result regardless of the specific numerical value. It becomes a polyp. That is, in the learning processing method of the present embodiment, the first recognition result and the second recognition result are the same.
  • the detection result is, for example, a rectangular area surrounding the subject.
  • the recognition result of the image classification process is a relatively coarse recognition result such as whether or not it is a polyp
  • the position and size of the rectangular region which is the recognition result of the object detection process are detected with a finer grain size.
  • the specific particle size depends on the model of the neural network, but detection in units of one pixel is also possible, for example.
  • segmentation it is determined on a pixel-by-pixel basis which subject the pixel corresponds to. In the case of the object detection process, since the recognition result is fine, the difference between the first application output and the second application output is not sufficiently absorbed, and it is assumed that the first recognition result and the second recognition result are not the same.
  • the difference between the first applied output and the second applied output is suppressed, it is expected that the first recognition result and the second recognition result will be substantially the same.
  • the recognition result represents a rectangular area
  • the difference in position and size is equal to or less than a predetermined number of pixels.
  • the number of pixels in which the specified subject is different in the first recognition result and the second recognition result is the predetermined number of pixels or less.
  • the learning device 10 includes an acquisition unit 20 that acquires an input image and a processing unit 30 that performs machine learning based on the input image.
  • the learning device 10 is not limited to the configuration shown in FIG. 2, and various modifications such as omission of some of these components and addition of other components can be performed.
  • the acquisition unit 20 acquires an input image used for machine learning.
  • the acquisition unit 20 also acquires the correct answer label associated with the input image.
  • the acquisition unit 20 is a communication interface that communicates with an external device.
  • the learning device 10 may assign a correct answer label to the input image, and the learning device 10 may include a storage unit (not shown) for accumulating the given result.
  • the acquisition unit 20 is an interface for reading an input image with a correct answer label from the storage unit.
  • the storage unit here stores various types of information such as data and programs.
  • the storage unit may be a semiconductor memory, a register, a magnetic storage device, or an optical storage device.
  • the processing unit 30 is composed of the following hardware.
  • the hardware can include at least one of a circuit that processes a digital signal and a circuit that processes an analog signal.
  • hardware can consist of one or more circuit devices mounted on a circuit board or one or more circuit elements.
  • One or more circuit devices are, for example, ICs and the like.
  • One or more circuit elements are, for example, resistors, capacitors, and the like.
  • the processing unit 30 may be realized by the following processor.
  • the learning device 10 of the present embodiment includes a memory for storing information and a processor that operates based on the information stored in the memory.
  • the information is, for example, a program and various data.
  • the processor includes hardware.
  • various processors such as a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), and a DSP (Digital Signal Processor) can be used.
  • the memory may be a semiconductor memory such as SRAM (Static Random Access Memory) or DRAM (Dynamic Random Access Memory), a register, or magnetic storage such as a hard disk device (HDD: Hard Disk Drive). It may be a device, or it may be an optical storage device such as an optical disk device.
  • the memory stores instructions that can be read by a computer, and when the instructions are executed by the processor, the functions of each unit of the processing unit 30 are realized as processing.
  • the instruction here may be an instruction of an instruction set constituting a program, or an instruction instructing an operation to a hardware circuit of a processor.
  • the processing unit 30 performs each process of generating the first extended image, generating the second extended image, generating the first output, generating the second output, calculating the degree of output difference, and updating the weighting coefficient in each layer of the neural network. To execute.
  • FIG. 3 is a detailed configuration example of the processing unit 30.
  • the processing unit 30 includes an image expansion unit 31, a neural network application unit 33, an output difference degree calculation unit 35, an output error calculation unit 37, and a weighting coefficient update unit 39.
  • the processing unit 30 is not limited to the configuration shown in FIG. 3, and various modifications such as omission of some of these components and addition of other components can be performed.
  • the processing unit 30 may further include a configuration such as an initialization unit that initializes the neural network at the start of machine learning.
  • the image expansion unit 31 acquires an input image from the acquisition unit 20 and applies the image expansion to the input image.
  • the image expansion unit 31 performs a process of generating a first expansion image by applying the first image expansion to the input image and a process of generating a second expansion image by applying the second image expansion to the input image. Do.
  • the image expansion unit 31 outputs the first expansion image and the second expansion image to the neural network application unit 33.
  • the neural network application unit 33 performs a process of generating a first output by inputting the first extended image into the neural network and a process of generating a second output by inputting the second extended image into the neural network.
  • the neural network application unit 33 outputs the first output and the second output to the output difference degree calculation unit 35 and the output error calculation unit 37.
  • the output difference calculation unit 35 calculates the output difference based on the first output and the second output.
  • the output difference calculation unit 35 outputs the output difference to the weighting coefficient updating unit 39.
  • the output error calculation unit 37 acquires the correct answer label corresponding to the input image from the acquisition unit 20.
  • the output error calculation unit 37 calculates the output error based on the first output, the second output, and the correct answer label.
  • the output error calculation unit 37 outputs the output error to the weighting coefficient updating unit 39.
  • the output error may be an error based on the first output and the correct label, an error based on the second output and the correct label, or both.
  • the weighting coefficient updating unit 39 updates the weighting coefficient of each layer of the neural network based on the overall error including the degree of output difference.
  • the overall error may include the degree of output difference and the output error.
  • the learning device 10 of the present embodiment, the image processing device 40, etc., which will be described later, may realize a part or most of the processing by a program.
  • the learning device 10 or the like of the present embodiment is realized by executing the program by a processor such as a CPU.
  • a program stored in a non-temporary information storage device is read, and a processor such as a CPU executes the read program.
  • the information storage device stores programs, data, and the like, and its function can be realized by an optical disk such as a DVD or a CD, an HDD (hard disk drive), or a memory such as a non-volatile memory or a RAM. ..
  • the information storage device is a device that can be read by a computer.
  • a processor such as a CPU performs various processes of the present embodiment based on a program stored in the information storage device. That is, the information storage device stores a program for operating the computer as each part of the present embodiment.
  • a computer is a device including an operation unit, a processing unit, a storage unit, and an output unit.
  • FIG. 4 is a flowchart illustrating the learning process of the present embodiment.
  • step S101 a process of initializing the neural network is performed.
  • the neural network is appropriately referred to as NN.
  • FIG. 5A is a schematic diagram illustrating a neural network.
  • the neural network has an input layer into which data is input, an intermediate layer in which operations are performed based on the output from the input layer, and an output layer in which data is output based on the output from the intermediate layer.
  • a network in which the intermediate layer is two layers is illustrated, but the intermediate layer may be one layer or three or more layers.
  • the number of nodes included in each layer is not limited to the example of FIG. 5A, and various modifications can be performed. Considering the accuracy, it is desirable to use deep learning using a multi-layer neural network for the learning of this embodiment.
  • the term "multilayer” here means four or more layers in a narrow sense.
  • the nodes included in a given layer are combined with the nodes in the adjacent layer. Weights are set for each bond. Each node multiplies the output of the node in the previous stage by the weight to obtain the total value of the multiplication results. Further, each node adds a bias to the total value and obtains the output of the node by applying an activation function to the addition result. By sequentially executing this process from the input layer to the output layer, the output of the neural network is obtained. Learning in a neural network is a process of determining an appropriate weighting factor.
  • the weighting factor here includes the above weight and bias.
  • Various methods such as the backpropagation method are known for learning, and they can be widely applied in the present embodiment.
  • the neural network of this embodiment is a convolutional neural network (hereinafter referred to as CNN).
  • CNN convolutional neural network
  • FIG. 5B is a schematic diagram illustrating CNN.
  • the CNN includes a convolutional layer and a pooling layer that perform a convolutional operation.
  • the convolution layer is a layer to be filtered.
  • the pooling layer is a layer that performs a pooling operation that reduces the size in the vertical direction and the horizontal direction.
  • the CNN is a network in which operations by the convolution layer and the pooling layer are performed a plurality of times.
  • the arithmetic processing by the activation function is also performed in the same manner as in FIG. 5 (A).
  • the CNN of the present embodiment may include an operation by a fully connected layer.
  • the fully connected layer is a layer that performs arithmetic processing when all the nodes of the previous layer are imaged with respect to the nodes of a given layer, and the arithmetic of each layer described above with reference to FIG. 5A is performed.
  • a widely known softmax layer may be used as the output layer.
  • various modifications can be made to the specific configuration of the CNN.
  • the weighting factor in the CNN convolution layer is a parameter of the filter. That is, the learning in CNN includes the learning of the filter used for the convolution operation.
  • a CNN based on VGG-16 may be used as a neural network.
  • a Residual Network in which Identity Mapping (IM) is introduced may be used as the CNN.
  • various CNNs are known, and these can be widely applied in the present embodiment. Since VGG-16 and Residual Network are known methods, detailed description thereof will be omitted.
  • Initialization of the CNN in step S101 is executed using, for example, a normal random number with an average of 0 and a standard deviation of wscale / ⁇ (ci ⁇ k ⁇ k).
  • wscale is a scale parameter
  • ci is the number of input channels of the convolution layer
  • k is the convolution kernel size.
  • the initial value of the weighting coefficient of the convolutional layer the weighting coefficient of the convolutional layer learned by a large-scale image database different from the image database used in the present embodiment may be used. This makes it possible to perform high-performance learning even when the number of input images is small.
  • the image database of the present embodiment is a database including a plurality of input images, and is, for example, a set of images in which a polyp is captured.
  • the acquisition unit 20 acquires the input image and the correct answer label associated with the input image.
  • the correct label is binary data indicating whether or not each classification category object is included in the image.
  • the correct label is, for example, information that identifies a rectangular area including a detection target.
  • the information for identifying the rectangular area may be a set of one coordinate value, a vertical size, and a horizontal size, or may be a set of two diagonal coordinate values.
  • the correct answer label may be an array of binary data indicating whether or not the detection target is included for each candidate frame corresponding to each point on the image.
  • the neural network of the present embodiment may perform image conversion processing on the input image.
  • the correct label in this case is an image of the ideal conversion result.
  • the image expansion unit 31 generates the first expansion image by applying the first image expansion to the input image.
  • the first image extension includes at least one of a color correction process, a brightness correction process, a smoothing process, a sharpening process, a noise addition process, and an affine transformation process. That is, the first image expansion may be a process of any one of these, or may be a combination of two or more processes.
  • the color correction process is, for example, a hue H correction process.
  • the image expansion unit 31 converts RGB pixel values into the HSV color space based on the following equation (1).
  • H Hue
  • S Saturation
  • V Brightness (Value).
  • R, G, and B in the following equation (1) represent the red, green, and blue pixel values of the input image.
  • Max represents the maximum value among the RGB pixel values
  • Min represents the minimum value among the RGB pixel values.
  • the image expansion unit 31 performs a process of changing the calculated H by ⁇ H.
  • ⁇ H is a parameter in the color correction process, and the value is randomly determined in the range of the lower limit value or more and the upper limit value or less.
  • the lower limit value is ⁇ 10 degrees and the upper limit value is +10 degrees, for example, any one of the integer values of ⁇ 10 or more and +10 or less is selected as ⁇ H.
  • the fluctuation amount of the image in the actual environment exceeds the fluctuation amount in the image expansion, the decrease in accuracy is suppressed, so that it is not necessary to excessively widen the parameter range.
  • the brightness correction process is, for example, a gamma correction process.
  • the image expansion unit 31 performs gamma correction processing on the brightness V based on the following equation (2).
  • V' represents the brightness after the gamma correction process.
  • 1
  • the original brightness is maintained, the larger the ⁇ , the lower the brightness, and the smaller the ⁇ , the higher the brightness.
  • is a parameter in the brightness correction process.
  • the image expansion unit 31 performs gamma correction processing by randomly determining a value of ⁇ in a range of a preset lower limit value or more and an upper limit value or less.
  • the image expansion unit 31 reconverts to RGB pixel values based on the following equation (3) after color correction processing or gamma correction processing.
  • R', G', and B'in the following equation (3) represent the red, green, and blue pixel values after reconversion.
  • floor (x) represents the largest integer less than or equal to x.
  • the smoothing process is, for example, a filter process using a smoothing filter.
  • the smoothing filter is, for example, a filter having a variable degree of smoothing.
  • the degree of smoothing is, for example, the value of ⁇ in a Gaussian filter, and the larger the ⁇ , the larger the degree of smoothing.
  • is a parameter in the smoothing process.
  • the image expansion unit 31 determines the parameters of the smoothing process in the range of the preset lower limit value or more and the upper limit value or less, and executes the smoothing process specified by the parameters.
  • the smoothing filter is, for example, a filter having a fixed degree of smoothing
  • the image expansion unit 31 may change the degree of smoothing by randomly determining the number of times the smoothing filter is applied.
  • the number of applications is a parameter of the smoothing process, and the smaller the number of applications, the smaller the degree of smoothing.
  • the degree of smoothing can be adjusted by how many times a Gaussian filter having a fixed ⁇ is applied.
  • the sharpening process is a filter process using a sharpening filter such as an edge enhancement filter.
  • a sharpening filter such as an edge enhancement filter.
  • the degree of sharpening can be changed by changing the filter parameters and the number of times of application. That is, the filter parameter or the number of applications is a parameter of the sharpening process.
  • the image expansion unit 31 determines the parameters of the sharpening process in the range of the preset lower limit value or more and the upper limit value or less, and executes the sharpening process specified by the parameters.
  • the noise addition process is a process of adding a noise component to the input image. For example, by performing a filter process using a Gaussian filter, a process of adding Gaussian noise can be executed. That is, the above smoothing process can be considered as one aspect of the noise addition process. In this case, ⁇ and the number of times the filter is applied are parameters of the noise addition processing. Further, the noise addition process may be a process for adding impulse noise.
  • the image expansion unit 31 adds impulse noise to the input image by performing a process of changing the pixel value of a predetermined ratio of pixels of the input image to the minimum value or the maximum value. When the pixel value is 8-bit data, the minimum value is 0 and the maximum value is 255.
  • the ratio of pixels whose pixel values are changed is a parameter of the noise addition processing, and the degree of noise addition can be adjusted by changing the parameter.
  • the noise addition processing for the image is widely known as other processing, and they can be widely applied in the present embodiment.
  • the image expansion unit 31 determines the parameters of the noise addition processing in the range of the preset lower limit value or more and the upper limit value or less, and executes the noise addition processing specified by the parameters.
  • the affine transformation process is a process of resizing, rotating, and translating an image.
  • the image expansion unit 31 performs a matrix operation. By changing the value of each element of the matrix used for the affine transformation, the resizing rate, rotation angle, and translation amount can be adjusted. That is, the elements of the matrix are the parameters of the affine transformation. It is known that the matrix can be decomposed into a plurality of affine transformations, and the elements of each matrix may be used as parameters.
  • the image expansion unit 31 determines the affine transformation parameter in the range of the preset lower limit value or more and the upper limit value or less, and executes the affine transformation process specified by the parameter.
  • the affine transformation of the present embodiment does not need to perform all of resizing, rotation, and translation, and any one of them may be performed or the two may be combined.
  • the image expansion unit 31 generates the second expansion image by applying the second image expansion to the input image.
  • the second image extension includes at least one of a color correction process, a brightness correction process, a smoothing process, a sharpening process, a noise addition process, and an affine transformation process. That is, the image expansion unit 31 performs the same type of image conversion as S104 as the second image expansion. However, the image expansion unit 31 generates a second expansion image different from the first expansion image by changing the parameters used for the image expansion.
  • the first image extension and the second image extension are the same type of processing, and the parameters used for the processing are different.
  • the combination of image conversion may be different between the first image extension and the second image extension.
  • FIG. 6A is a schematic diagram showing an example of an input image.
  • FIG. 6A is an example of an in-vivo image, where B1 is a region corresponding to the inner wall of the large intestine and C1 is a polyp region.
  • FIG. 6B is a schematic diagram showing an example of the first extended image
  • FIG. 6C is a schematic diagram showing an example of the second extended image.
  • B2 and B3 correspond to the inner wall of the large intestine
  • C2 and C3 are polyp regions.
  • the image conversion in the first image expansion and the second image expansion is both brightness correction processing.
  • FIG. 6 (D) is an example of an input image
  • FIGS. 6 (E) and 6 (F) are examples of an extended image based on the input image, respectively.
  • FIGS. 6 (D) to 6 (F) exemplify a general image different from the in-vivo image.
  • the image conversion in the image expansion for generating the expanded image of FIG. 6 (E) is a brightness correction process.
  • is 1 ⁇
  • the brightness of the extended image shown in FIG. 6 (E) is lower than that of the input image.
  • the image conversion in the image expansion for generating the expanded image of FIG. 6 (F) is a smoothing process. Due to the smoothing process, the extended image shown in FIG. 6F is an image in which the degree of blurring is increased as compared with the input image.
  • step S106 the neural network application unit 33 generates the first output by inputting the first extended image into the neural network. Further, in step S106, the neural network application unit 33 generates a second output by inputting the second extended image into the neural network.
  • the weighting coefficient of the neural network becomes the value initialized in S101.
  • the weighting coefficient becomes a value after being updated by the processing of S110 described later.
  • FIG. 7 is a diagram for explaining the application process of the neural network and the calculation process of the total error described later.
  • the first output and the second output are acquired by inputting the first extended image and the second extended image into the neural network.
  • the first output is information associated with probability data representing the probability that the region is a polyp for each region of 4 ⁇ 3.
  • the number of elements is set to 4 ⁇ 3 for the sake of brevity, but for example, the output data may include elements corresponding to the number of pixels of the input image. The same applies to the second output.
  • the output error calculation unit 37 calculates the output error of the neural network based on at least one of the first output and the second output and the correct answer label acquired by the acquisition unit 20.
  • the correct label is, for example, as shown in FIG. 7, information in which 1 is associated with each region of 4 ⁇ 3 when the region is a polyp, and 0 is associated with each region when the region is not a polyp.
  • the correct label is specifically information that includes the same number of elements as the output data.
  • the correct answer label is, for example, the correct answer label itself associated with the input image.
  • the affine transformation may be omitted from the image expansion.
  • the output error is information (D1) representing the error between the first output and the correct label, information (D2) representing the error between the second output and the correct label, or both.
  • the output error may be Sigmoid cross entropy or Softmax cross entropy. These output errors are suitable for performing image classification processing and object detection processing. For example, Sigmoid cross entropy is used for binary classification, and Softmax cross entropy is used for multiclass classification. Further, the output error may be a square error or the like. The square error and the like are suitable when the neural network is used for image conversion processing. However, the relationship between the processing using the neural network and the output error is not limited to the above, and the output error of the present embodiment can be applied with errors of various modes.
  • the output difference calculation unit 35 calculates the output difference, which is the difference between the first output and the second output.
  • the degree of output difference is numerical information whose value increases as the difference between the first output and the second output increases.
  • the output difference calculation unit 35 obtains the output difference based on the square error calculated for each element of the first output and the second output. For example, the output difference is the sum of the squared errors for each element.
  • the output difference degree calculation unit 35 may obtain the output difference degree based on the Huber error calculated for each element of the first output and the second output. For example, the output difference is the sum of the Huber errors for each element.
  • the Huber error can be obtained by the following equation (4).
  • the output difference degree calculation unit 35 may obtain the output difference degree based on the cross-correlation between the first output and the second output.
  • the output difference is the reciprocal of the cross-correlation function.
  • the first output and the second output are data of a two-dimensional array, respectively, and a method of obtaining a cross-correlation function of two two-dimensional arrays is widely known. Therefore, by applying these methods, it is possible to calculate the cross-correlation function of the first output and the second output.
  • the output difference calculation unit 35 may use the Kullback-Leibler divergence between the probability distribution of the first output and the probability distribution of the second output as the output difference. That is, the output difference calculation unit 35 may use the distance between the probability distribution of the first output and the probability distribution of the second output as the output difference.
  • step S109 the weighting coefficient updating unit 39 calculates the overall error including the degree of output difference, and calculates the error in each layer of the neural network based on the overall error.
  • the process in step S109 corresponds to the process of obtaining the amount of change in the overall error when the weighting coefficient in each layer is changed, that is, the gradient (partial differential).
  • the back-propagation method is known as a method for efficiently obtaining the gradient, and the back-propagation method can also be used in the present embodiment.
  • the gradient may be obtained by a method other than the backpropagation method.
  • the weighting coefficient updating unit 39 obtains the weighted sum of the output error and the output difference degree as the total error.
  • the output error is calculated based on at least one of the first output and the second output and the correct label. For example, when the error (D1) between the first output and the correct label is taken as the output error, the total error is the weighted sum of the output error (D1) and the output difference degree (D3).
  • the weights of the output difference and the output error are, for example, 1/2. However, the weight is not limited to this, and various modifications can be performed.
  • the total error may be the weighted sum of the error (D2) of the second output and the correct label and the output difference degree (D3). Further, the total error may be a sum of three weights of D1 to D3.
  • the weighting coefficient updating unit 39 updates the weighting coefficient in each layer of the neural network so as to reduce the overall error. For example, the weighting coefficient updating unit 39 updates each weighting coefficient by multiplying the gradient of the weighting coefficient by the learning rate ⁇ and subtracting the multiplication result from the current weighting coefficient value.
  • the total error is obtained from the output error. Therefore, the conventional method can perform learning so that the output when the image is input approaches the correct label, but does not consider the relationship between the extended images.
  • the weighted sum of the output error and the degree of output difference is taken as the total error. Therefore, in addition to learning in the direction of reducing the output error, that is, learning in which the output when the image is input approaches the correct label, it is possible to perform learning in the direction of reducing the degree of output difference. That is, when two extended images generated by applying two different image extensions to the same input image are input to the neural network, the degree of difference between the corresponding outputs approaches zero. Is done.
  • step S111 the processing unit 30 determines whether or not the end condition is satisfied.
  • the termination condition is, for example, that the number of times the weighting coefficient is updated reaches a given number of times. If the end condition is not satisfied (No in S111), the processing unit 30 returns to step S102 and repeats the processes of steps S102 to S110 described above. For example, the processing unit 30 selects a new input image from a plurality of input images and executes the above processing for the selected input image. When the end condition is satisfied (Yes in S111), the processing unit 30 ends the learning of the neural network.
  • the processing unit 30 may input a test image set with a correct answer label to the neural network, and may determine that the end condition is satisfied when the correct answer rate exceeds a given threshold value.
  • FIG. 8 is a diagram illustrating image expansion based on one input image.
  • x expanded images are generated by using x different values of ⁇ as shown in FIG.
  • x here is an integer of 2 or more, and may be 3 or more. In this case, two of the x extended images are selected as the first extended image and the second extended image.
  • the set of the first extended image and the second extended image output based on one input image is not limited to one set.
  • the first extended image and the second extended image are based on one input image so that the extended image 1 and the extended image 2 in FIG. 8 are the first set and the extended image 3 and the extended image 4 are the second set.
  • a plurality of sets of images may be output, and the above-described processing may be performed for each set.
  • x extended images are generated, only a maximum of x (x-1) / 2 pairs of the first extended image and the second extended image can be output.
  • the input image that was the source of the extended image it is possible to use the input image that was the source of the extended image. For example, either one of the first extended image and the second extended image may be changed to the input image.
  • learning that reduces the degree of difference between the outputs when the input image and the extended image are input to the neural network becomes possible. Therefore, it is possible to suppress a decrease in accuracy due to image variation, as in the case where the degree of difference between the outputs of the two extended images is the degree of output difference.
  • the first extended image and the second extended image are selected from a total of x + 1 images including the input image and x extended images based on the input image. That is, based on one input image, the set of the first extended image and the second extended image can be output by a maximum of x (x + 1) / 2 sets.
  • the processing unit 30 performs a process of generating x extended images from one input image in advance, and stores an extended image set composed of a plurality of generated extended images in a storage unit.
  • the processes of steps S102 to S105 can be replaced with a process of selecting two appropriate images as the first extended image and the second extended image from the extended image set stored in the storage unit.
  • the processing unit 30 can collectively perform processing for obtaining x extended images for each of the plurality of input images.
  • the processing flow of the present embodiment is not limited to FIG. 4, and various modifications can be performed.
  • FIGS. 6 (A) to 6 (C) and FIG. 8 an example in which the image expansion is a brightness correction process has been described.
  • the image expansion for the input image may be a combination of two or more processes.
  • FIG. 9 is a diagram illustrating another example of image expansion.
  • the image expansion unit 31 performs gamma correction processing using ⁇ 1 to ⁇ z as parameters and color correction processing using ⁇ H1 to ⁇ Hz as parameters on the input image.
  • z is an integer of 2 or more.
  • the parameters are set so that at least one of ⁇ i ⁇ ⁇ j and ⁇ Hi ⁇ ⁇ Hj is satisfied.
  • i and j are integers that are 1 or more and z or less, respectively, and satisfy i ⁇ j.
  • the image expansion unit 31 outputs two of the expansion images 1 to z as the first expansion image and the second expansion image.
  • the first extended image and the second extended image are each a combination of the same two processes, and at least one of the two parameters corresponding to the two processes is different.
  • the first extended image and the second extended image may have fluctuations in both brightness and hue, but the method of the present embodiment suppresses the output fluctuation of the neural network caused by the fluctuation. Will be possible.
  • the parameter is set so that at least one of ⁇ i ⁇ 1 and ⁇ Hi ⁇ 0 is satisfied.
  • the extended image 1 to the extended image z are any one of an image in which only the brightness correction processing is performed, an image in which only the color correction processing is performed, and an image in which the brightness correction processing and the color correction processing are performed. .. Therefore, it is conceivable that the first extended image and the second extended image not only have the same processing combination but different parameters, but also have different processing combinations in the first place.
  • the combination of processes here is information that specifies the processes included in the image expansion. In the above example, "brightness correction process only", “color correction process only”, “brightness correction process and color correction process”. Is one of.
  • the first extended image is an image in which the input image is subjected to brightness correction processing
  • the second extended image is an image in which color correction processing is performed on the input image.
  • FIG. 10 is a diagram showing the degree of reduction of error when learning is repeated.
  • the horizontal axis of FIG. 10 is the number of repetitions (iteration) of learning, and the vertical axis represents the error.
  • the number of times of learning repetition corresponds to the number of times of updating the weighting coefficient, and is, for example, the number of times of execution of step S110 in FIG.
  • E1 in FIG. 10 represents the degree of reduction of the output error when learning is performed so as to reduce the output error without using the degree of output difference.
  • the information (D1) indicating the error between the first output and the correct label and the information (D2) indicating the error between the second output and the correct label are included, and the output difference degree (D3) is included. It corresponds to the case where the learning process is performed with no error as the total error.
  • the method of the present embodiment differs in that the total error includes the degree of output difference.
  • the error is less likely to be reduced as compared with E1 in which the degree of output difference is not used.
  • the amount of decrease in the error becomes small in the initial stage of learning, or the error when the values converge becomes large. Note that the value converges means that the amount of change in the error is sufficiently small with respect to the increase in the number of times of learning repetition.
  • the difference between the first parameter that determines the first image expansion and the second parameter that determines the second image expansion may be within a given range.
  • the difference in the parameters in the processing is set to a given threshold value or less.
  • the process is a gamma correction process
  • the absolute difference between ⁇ in the first image extension and ⁇ in the second image extension is equal to or less than a given gamma threshold.
  • the upper limit value and the lower limit value are set so that the difference between the upper limit value and the lower limit value is equal to or less than the gamma threshold value.
  • the image expansion unit 31 may first determine the ⁇ used for the first expansion image, and then determine the ⁇ to be used for the second expansion image so that the difference from the ⁇ is equal to or less than the gamma threshold value. The processing can be modified.
  • the difference in parameters is set to a given threshold value or less for each process. If the processing is gamma correction processing and color correction processing, the absolute difference between ⁇ in the first image expansion and ⁇ in the second image expansion is equal to or less than a given gamma threshold, and ⁇ H and the second in the first image expansion. Each parameter is set so that the absolute difference of ⁇ H in the image expansion is equal to or less than a given hue threshold.
  • an evaluation value representing the difference between the first parameter and the second parameter may be calculated based on the difference of ⁇ and the difference of ⁇ H.
  • each parameter is set so that the evaluation value is equal to or less than the threshold value.
  • the processing that is not executed is performed by using the parameters that do not change the input image.
  • the smoothing process the number of times the Gaussian filter is applied is set to 0, and in the sharpening process, the number of times the edge enhancement filter is applied is set to 0, so that the degree of smoothing and sharpening of the input image is maintained.
  • the noise addition processing the noise amount of the input image is maintained by setting the impulse noise to 0, that is, setting the ratio of the pixels that change the pixel value to 0.
  • the size, angle, and position of the input image are maintained by setting the diagonal component to 1 and setting the other matrix elements to 0 among the matrix elements used for the affine transformation.
  • a given range is set based on the degree of reduction of the judgment target error due to the weight coefficient update process. In this way, it is possible to determine the permissible parameter difference between the first image extension and the second image extension based on the degree of learning progress and the degree of convergence.
  • the processing unit 30 sets a given range, for example, a lower limit value and an upper limit value of a parameter as initial values. Then, a learning process is performed so as to reduce the output difference and the overall error including the output error, and the degree of reduction of the determination target error is determined. When it is determined that the determination target error is sufficiently reduced, it is determined that the lower limit value and the upper limit value are appropriate. On the other hand, when the reduction range of the error is small, it is determined that learning is difficult because the given range is too wide. Therefore, the processing unit 30 narrowly updates a given range. For example, at least one of a process of increasing the lower limit value and a process of decreasing the upper limit value is performed. When the image expansion is a combination of a plurality of processes, the upper limit value and the lower limit value may be updated for all the processing parameters, or the upper limit value and the lower limit value may be updated for some processing parameters. Good.
  • the determination target error reduction degree may be determined when the end condition of step S111 is satisfied in FIG. That is, when the learning is completed, it may be determined whether or not the given range is appropriate according to how much the determination target error is reduced. However, if the given range is too wide, it is necessary to repeat the processes of steps S102 to S110 again after narrowing the given range. That is, the learning result when setting a given range may be discarded depending on the degree of reduction of the determination target error. As shown in FIG. 10, the degree of error reduction can be determined from the error reduction width in the initial learning stage (E3), specifically, the slope of the graph.
  • the degree of decrease can be determined by the magnitude of the error value. That is, the number of times of learning to be repeated when determining the degree of reduction of the determination target error may be smaller than the number of times of learning end condition.
  • the degree of reduction of the determination target error may be high or low by comparison with a fixed threshold value.
  • the degree of error reduction varies depending on the configuration of the neural network, the image used for learning, and the like. Therefore, when a fixed threshold value is used, it may not be possible to accurately determine whether or not the error is sufficiently reduced.
  • the processing unit 30 may use the information shown in E1 of FIG. 10 as a comparison target. Specifically, the processing unit 30 reduces the output error (E1) when the weighting coefficient in each layer of the neural network is updated based on the output error, and the processing unit 30 of the neural network based on the total error including the output difference. A given range is set based on the comparison processing of the degree of reduction of the judgment target error (E2) when the weighting coefficient in each layer is updated. In this way, it is possible to appropriately determine how difficult learning is by using the degree of output difference. In particular, considering that the comparison target is an output error, the output error of the total error may be used as the judgment target error. In this way, since the output errors are compared with each other, it is possible to accurately determine the degree of reduction of the error.
  • the image expansion unit 31 may set a part of the input image as the image expansion area. Then, the image expansion unit 31 generates the first expansion image by applying the first image expansion to the image expansion area of the input image, and the second expansion by applying the second image expansion to the image expansion area of the input image. Generate an image. In this way, the image extension can be applied only to a part of the input image.
  • an in-vivo image captured by an endoscope device has a darker peripheral region than a central region and tends to have low contrast. Therefore, when a subject to be recognized exists in the peripheral region of the applied image, the subject is unclearly imaged.
  • the image expansion unit 31 sets the peripheral region of the image as the image expansion region, and executes a brightness correction process for lowering the brightness and a smoothing process with a high degree of smoothing. This makes it possible to improve the recognition accuracy of an unclear subject.
  • a bright spot is likely to be generated when the illumination light mirror-reflected on the subject is incident on the objective lens.
  • the bright spot is a region having high brightness, for example, a region where overexposure occurs.
  • the image expansion unit 31 sets the central region of the image as the image expansion region, and executes noise addition processing for adding impulse noise that maximizes the pixel value. By doing so, it is possible to improve the recognition accuracy of the subject even when bright spots are generated in the image.
  • the above processing is an example, and the image expansion when the peripheral region of the image is set as the image expansion region is not limited to the brightness correction processing and the smoothing processing.
  • the image expansion when the central region of the image is set as the image expansion region is not limited to the noise addition processing.
  • the image extension area may be set from different viewpoints.
  • the image expansion region may be set based on the region of interest. From the viewpoint of improving the recognition accuracy of the subject of interest regardless of the imaging mode, the region of interest may be set as the image expansion region.
  • the subject of interest is a subject whose observation priority is relatively higher for the user than other subjects.
  • the subject of interest is a mucous membrane or a lesion.
  • the subject of interest may be a polyp.
  • the object that the doctor wants to observe is bubbles or stool
  • the subject of interest is the bubbles or stool.
  • the object that the user should pay attention to depends on the purpose of the observation, but in any case, the subject that the user has a relatively higher priority of observation than the other subjects is the object of interest.
  • the image expansion unit 31 excludes the region of interest from the target of image expansion. That is, the region of the input image excluding the region of interest is set as the image expansion region.
  • the output error calculation unit 37 may calculate the output error by using a part of the input image. For example, when the region of the input image in which the subject of interest is captured is set as the region of interest, the output error may be calculated in the region corresponding to the region of interest.
  • the neural network application unit 33 generates a third output by inputting the first extended image into the second neural network that shares a part of the structure with the neural network, and generates a second output.
  • the fourth output may be generated by inputting the extended image into the second neural network.
  • the neural network application unit 33 outputs the third output and the fourth output to the output difference calculation unit 35.
  • the output difference calculation unit 35 calculates the second output difference indicating the difference between the third output and the fourth output.
  • the second output difference degree is numerical information whose value increases as the difference between the third output and the fourth output increases.
  • the second output difference degree can be calculated based on the square error, the Huber error, the cross-correlation function, and the like, similarly to the output difference degree.
  • the output difference calculation unit 35 outputs the second output difference to the weighting coefficient updating unit 39.
  • the weighting coefficient updating unit 39 updates the weighting coefficient in each layer of the neural network based on the second output difference degree.
  • the output difference may also be used to update the weighting coefficient in each layer of the neural network.
  • the weighting coefficient update unit 39 calculates the total error based on the weighted sum of the output error, the output difference degree, and the second output difference degree, and the weighting coefficient of each layer of the neural network is reduced so as to reduce the total error. To update.
  • FIG. 11 is a diagram illustrating a second neural network, a third output, and a fourth output. Similar to the example described above with reference to FIG. 7, the first output is generated by inputting the first extended image into the neural network, and the second output is generated by inputting the second extended image into the neural network. Will be done. The degree of output difference is obtained based on the first output and the second output.
  • the rectangle included in the neural network represents one layer in the neural network, and may be a convolution layer, a pooling layer, or a layer other than these.
  • the second neural network in this embodiment corresponds to, for example, from the input layer of the neural network to a given intermediate layer (F1), as shown in FIG.
  • F1 intermediate layer
  • the output of the intermediate layer shown in F1 is input to the next layer (F2) and is output to the output difference calculation unit 35 as the third output.
  • the output of the intermediate layer shown in F1 is input to the next layer (F2) and is output to the output difference calculation unit 35 as the fourth output.
  • the second output difference contributes to the reduction of error in F1 and the layer before it. Since not only the output of the neural network but also the fluctuation in the intermediate layer is suppressed, it becomes possible to construct a neural network that is more resistant to image fluctuation.
  • FIG. 12 is another diagram illustrating the second neural network, the third output, and the fourth output.
  • the second neural network may be composed of a layer (F3) including an input layer of the neural network to a given intermediate layer (F1) and not included in the neural network.
  • the output of the intermediate layer shown in F1 is input to the layer shown in F31.
  • the third output or the fourth output is output from the output layer shown in F32.
  • F3 may be one layer.
  • F1 is used as an intermediate layer in FIG. 12, it may be changed to an output layer. That is, the third output or the fourth output may be output by inputting the first output or the second output to one or a plurality of layers shown in F3.
  • Image processing device which is an inference device
  • the image processing method for performing learning processing based on the degree of output difference and the learning device 10 have been described above.
  • the method of the present embodiment is an image processing method that acquires an applied image, inputs the applied image to a neural network, generates an output, and performs recognition processing for the applied image based on the output. Applicable.
  • the recognition process is illustrated here, the image process for the applied image may be an image conversion process.
  • the method of the present embodiment can be applied to an image processing device 40 that performs processing on an applied image based on a learning result.
  • FIG. 13 is a configuration example of the image processing device 40.
  • the image processing device 40 includes an image acquisition unit 50, a processing unit 60, and a storage unit 70.
  • the image acquisition unit 50 acquires an applicable image.
  • the storage unit 70 stores the trained model generated by the learning device 10.
  • the trained model is used as a program module that is part of artificial intelligence software.
  • the processing unit 60 performs inference processing based on the trained model on the applied image.
  • the inference processing here corresponds to image processing for the applied image, and may be recognition processing such as image classification processing or object detection processing, or may be image conversion processing of the applied image.
  • the processing unit 60 operates to output the result of image processing for the input applied image in accordance with the command from the trained model stored in the storage unit 70.
  • the processing unit 60 is realized by various hardware and processors, like the processing unit 30 of the learning device 10.
  • the storage unit 70 may be a semiconductor memory, a register, a magnetic storage device, or an optical storage device.
  • the processing unit 60 may include dedicated hardware for performing processing based on the trained model.
  • the processing unit 60 may include a circuit device that performs filter processing in the convolution calculation and product-sum calculation processing in the fully connected layer.
  • the circuit device can be realized by, for example, FPGA (field-programmable gate array) or the like.
  • the storage unit 70 stores the weighting coefficient as a learned model, and the processing unit 60 including the circuit device operates according to the weighting coefficient to perform recognition processing and the like.
  • the storage unit 70 may store both the program for performing the filter processing and the product-sum calculation processing and the weighting coefficient as a learned model. As described above, various modifications can be made to the specific configuration for the processing unit 60 to operate according to the command from the learned model stored in the storage unit 70.
  • the image processing device 40 may be one device or may include a plurality of devices.
  • the image processing device 40 may be realized by operating the terminal device such as a PC in cooperation with the server system.
  • the storage unit 70 may be a ROM or a RAM.
  • the trained model written in the storage unit 70 may be non-rewritable or rewritable.
  • the information of the trained model is collected in the server system, and the storage unit 70 of the image processing device 40 stores the trained model acquired from the server system. In this case, since the trained model can be managed on the server system side, the update process and the like become easy.
  • the trained model stored in the storage unit 70 generates a first extended image by applying the first image extension to the input image, and applies a second image extension different from the first image extension to the input image. Generates a second extended image, inputs the first extended image to the neural network to generate the first output, inputs the second extended image to the neural network to generate the second output, and the first output. It is learned by calculating the output difference degree indicating the difference between the and the second output and updating the weighting coefficient in each layer of the neural network based on the output difference degree. More specifically, the trained model is a model that is trained by performing each of the steps described above with reference to FIG.
  • the program that realizes the processing performed by the image processing device 40 of the present embodiment can be stored in, for example, an information storage device that is a medium that can be read by a computer.
  • the program here includes a trained model.
  • the information storage device can be realized by, for example, an optical disk, a memory card, an HDD, a semiconductor memory, or the like.
  • the processing unit 60 performs various processes including the detection process of the recognition target based on the program stored in the information storage device. That is, the information storage device stores a program for operating the computer as the image processing device 40.
  • a computer is a device including an input device, a processing unit, a storage unit, and an output unit.
  • the program is a program for causing a computer to execute processing in the image processing apparatus 40, particularly processing in the processing unit 60.
  • FIG. 14 is a flowchart illustrating processing in the image processing device 40.
  • the image acquisition unit 50 acquires the applied image.
  • step S202 the processing unit 60 generates an output by inputting the applied image into the neural network which is a trained model.
  • the process in step S202 is a convolution operation or the like according to the set weighting coefficient, as in step S106 in FIG.
  • step S203 the processing unit 60 executes the recognition process based on the output of step S202.
  • the recognition result in step S203 may be information that identifies the category of the subject captured in the image as described above, or may be information that can identify the position of the subject.
  • the processing unit 60 may perform recognition processing on the in-vivo image by acquiring the in-vivo image captured by the endoscope device as an applied image and inputting the in-vivo image into the trained model.
  • the recognition target is a subject of interest that is captured in an in-vivo image.
  • the subject of interest is a subject whose observation priority is higher for the user than other subjects. By doing so, it is possible to improve the recognition accuracy of the object of interest to be recognized in the observation of the in-vivo image.
  • the image processing device 40 may be included in an endoscope device that captures an in-vivo image.
  • FIG. 15 is a configuration example of the endoscope device 12.
  • the endoscope device 12 includes an insertion unit 100, an external I / F unit 200, a system control device 300, a display unit 400, and a light source device 500.
  • the insertion portion 100 is a portion to be inserted into the body.
  • the insertion unit 100 includes an objective optical system 110, an image sensor 120, an actuator 130, an illumination lens 140, a light guide 150, and an AF (Auto Focus) start / end button 160.
  • the light guide 150 guides the illumination light from the light source 520 to the tip of the insertion portion 100.
  • the illumination lens 140 irradiates the subject with the illumination light guided by the light guide 150.
  • the objective optical system 110 forms an image of the reflected light reflected from the subject as a subject image.
  • the objective optical system 110 includes the focus lens 111, and the position where the subject image is formed can be changed according to the position of the focus lens 111.
  • the actuator 130 drives the focus lens 111 based on an instruction from the AF control unit 360.
  • AF is not indispensable, and the endoscope device 12 may be configured not to include the AF control unit 360.
  • the image sensor 120 receives light from the subject that has passed through the objective optical system 110.
  • the image sensor 120 may be a monochrome sensor or an element provided with a color filter.
  • the color filter may be a widely known bayer filter, a complementary color filter, or another filter.
  • Complementary color filters are filters that include cyan, magenta, and yellow color filters.
  • the AF start / end button 160 is an operation interface for the user to operate the start / end of AF.
  • the external I / F unit 200 is an interface for inputting from the user to the endoscope device 12.
  • the external I / F unit 200 includes, for example, an AF control mode setting button, an AF area setting button, an image processing parameter adjustment button, and the like.
  • the system control device 300 performs image processing and control of the entire system.
  • the system control device 300 includes an A / D conversion unit 310, a pre-processing unit 320, a detection unit 330, a post-processing unit 340, a system control unit 350, an AF control unit 360, and a storage unit 370.
  • the system control device 300 includes, for example, the image processing device 40 of FIG.
  • the A / D conversion unit 310 corresponds to the image acquisition unit 50 in FIG.
  • the storage unit 370 corresponds to the storage unit 70 of FIG.
  • the pre-processing unit 320, the detection unit 330, the post-processing unit 340, and the like correspond to the processing unit 60 of FIG.
  • the A / D conversion unit 310 converts the analog signals sequentially output from the image sensor 120 into a digital image, and sequentially outputs the analog signals to the preprocessing unit 320.
  • the preprocessing unit 320 performs various correction processes on the captured images sequentially output from the A / D conversion unit 310, and sequentially outputs the captured images to the detection unit 330 and the AF control unit 360.
  • the correction process includes, for example, a white balance process, a noise reduction process, and the like.
  • the detection unit 330 operates according to the learned model stored in the storage unit 370 to recognize the subject of interest from the captured image which is the applied image.
  • the detection unit 330 performs forward arithmetic processing on the input applied image using the weighting coefficient determined by the training. Then, the result of the recognition process is output based on the output of the output layer.
  • the post-processing unit 340 performs post-processing based on the detection processing result in the detection unit 330, and outputs the image after the post-processing to the display unit 400.
  • various processes such as emphasizing the recognition target in the applied image and adding information representing the detection result can be considered.
  • the system control unit 350 is connected to the image sensor 120, the AF start / end button 160, the external I / F unit 200, and the AF control unit 360, and controls each unit. Specifically, the system control unit 350 inputs and outputs various control signals.
  • the AF control unit 360 performs AF control using the applied images sequentially output from the preprocessing unit 320.
  • the display unit 400 sequentially displays the images output from the post-processing unit 340.
  • the display unit 400 is, for example, a liquid crystal display, an EL (Electro-Luminescence) display, or the like.
  • the light source device 500 includes a light source 520 that emits illumination light.
  • the light source 520 may be a xenon light source, an LED, or a laser light source. Further, the light source 520 may be another light source, and the light emitting method is not limited.
  • the image processing device 40 is not limited to the one included in the endoscope device 12.
  • the image processing device 40 may be a PC, a server system, or the like that is provided separately from the endoscope device 12 and can communicate with the endoscope device 12.
  • Preprocessing unit 330 ... Detection unit, 340 ... Post-processing unit, 350 ... System control unit, 360 ... AF control unit, 370 ... Storage unit, 400 ... Display unit, 500 ... Light source device, 520 ... Light source

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Public Health (AREA)
  • Data Mining & Analysis (AREA)
  • Primary Health Care (AREA)
  • Epidemiology (AREA)
  • Biomedical Technology (AREA)
  • Radiology & Medical Imaging (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Quality & Reliability (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Pathology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Image Analysis (AREA)

Abstract

画像処理方法は、入力画像に第1画像拡張を適用することによって第1拡張画像を生成し、入力画像に第2画像拡張を適用することによって第2拡張画像を生成し、第1拡張画像をニューラルネットワークに入力することによって第1出力を生成し、第2拡張画像をニューラルネットワークに入力することによって第2出力を生成し、第1出力と第2出力との相違度を示す出力相違度を算出し、出力相違度に基づいて、ニューラルネットワークの各層における重み係数を更新する。

Description

画像処理方法、学習装置及び画像処理装置
 本発明は、画像処理方法、学習装置及び画像処理装置等に関する。
 従来、機械学習を用いて種々の画像処理を行う手法が知られている。ここでの画像処理とは、例えば画像分類処理や物体検出処理等である。また、学習済モデルを生成する学習処理において、画像拡張を行う手法も知られている。
 例えば非特許文献1は、畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)を大規模画像分類に適用する手法を開示している。また非特許文献1は、Random Crop、左右反転、色補正といった画像拡張を行うことによって、過学習の抑制を図る手法を開示している。
Alex Krizhevsky, Ilya Sutskever, and Geoffrey E. Hinton: "Imagenet Classification with Deep Convolutional Neural Networks", Advances in neural information processing systems 25, pp.1097-1105 (2012)
 画像拡張に基づいて拡張画像を生成し、当該拡張画像を含む訓練データを用いた機械学習を行うことによって、処理対象となる適用画像が変動する場合であっても、学習済モデルを用いた高精度な画像処理を行うことが可能になる。しかし、画像拡張時の画像変動範囲を超えた変動が適用画像に発生した場合、処理精度が大きく低下するおそれがある。
 本開示の一態様は、入力画像に第1画像拡張を適用することによって第1拡張画像を生成し、前記入力画像に前記第1画像拡張と異なる第2画像拡張を適用することによって第2拡張画像を生成し、前記第1拡張画像をニューラルネットワークに入力することによって第1出力を生成し、前記第2拡張画像を前記ニューラルネットワークに入力することによって第2出力を生成し、前記第1出力と前記第2出力との相違度を示す出力相違度を算出し、前記出力相違度に基づいて、前記ニューラルネットワークの各層における重み係数を更新する画像処理方法に関係する。
 例えば、入力画像に第1画像拡張を適用することによって第1拡張画像を生成し、前記入力画像に前記第1画像拡張と異なる第2画像拡張を適用することによって第2拡張画像を生成し、前記第1拡張画像をニューラルネットワークに入力することによって第1出力を生成し、前記第2拡張画像を前記ニューラルネットワークに入力することによって第2出力を生成し、前記第1出力と前記第2出力との相違度を示す出力相違度を算出し、前記出力相違度に基づいて、前記ニューラルネットワークの各層における重み係数を更新する処理は、プロセッサによって実行することが可能である。
 本開示の他の態様は、ニューラルネットワークを用いた画像処理方法であって、前記ニューラルネットワークは、一つの入力画像に対して複数の異なる画像拡張を適用することにより生成した複数の拡張画像を、前記ニューラルネットワークに入力したときに、複数の前記拡張画像に対応する複数の出力間の相違度を含む誤差を用いて学習されており、第1適用画像を前記ニューラルネットワークに入力することによって、第1適用出力を生成し、前記第1適用出力に基づいて第1認識結果を生成し、第2適用画像を前記ニューラルネットワークに入力することによって、第2適用出力を生成し、前記第2適用出力に基づいて第2認識結果を生成し、前記第1適用画像と前記第2適用画像は対応する被写体を撮像しており、且つ、前記第1適用画像と前記第2適用画像との差異が、色合い、明るさ、及び、平滑化度合いの少なくとも1つの場合に、前記第1認識結果と前記第2認識結果とが同一となる画像処理方法に関係する。
 本開示の他の態様は、入力画像を取得する取得部と、前記入力画像に基づいて機械学習を行う処理部と、を含み、前記処理部は、前記入力画像に第1画像拡張を適用することによって第1拡張画像を生成し、前記入力画像に前記第1画像拡張と異なる第2画像拡張を適用することによって第2拡張画像を生成し、前記第1拡張画像をニューラルネットワークに入力することによって第1出力を生成し、前記第2拡張画像を前記ニューラルネットワークに入力することによって第2出力を生成し、前記第1出力と前記第2出力との相違度を示す出力相違度を算出し、前記出力相違度に基づいて、前記ニューラルネットワークの各層における重み係数を更新する学習装置に関係する。
 本開示の他の態様は、学習済モデルを記憶する記憶部と、前記学習済モデルに基づいて適用画像に対する画像処理を行う処理部と、を含み、前記学習済モデルは、入力画像に第1画像拡張を適用することによって第1拡張画像を生成し、前記入力画像に前記第1画像拡張と異なる第2画像拡張を適用することによって第2拡張画像を生成し、前記第1拡張画像をニューラルネットワークに入力することによって第1出力を生成し、前記第2拡張画像を前記ニューラルネットワークに入力することによって第2出力を生成し、前記第1出力と前記第2出力との相違度を示す出力相違度を算出し、前記出力相違度に基づいて、前記ニューラルネットワークの各層における重み係数を更新することによって学習されている画像処理装置に関係する。
本実施形態の手法によって処理精度の低下が抑制されることの説明図。 学習装置の構成例。 処理部の詳細な構成例。 学習処理を説明するフローチャート。 図5(A)、図5(B)はニューラルネットワークを説明する図。 図6(A)は入力画像の例を示す模式図、図6(B)、図6(C)は拡張画像の例を示す模式図、図6(D)は入力画像の具体例、図6(E)、図6(F)は拡張画像の具体例。 出力誤差及び出力相違度を求める処理の説明図。 1枚の入力画像に対する画像拡張の例。 1枚の入力画像に対する画像拡張の他の例。 学習の繰返し回数と誤差の関係図。 第2ニューラルネットワークの構成例。 第2ニューラルネットワークの他の構成例。 画像処理装置の構成例。 学習済モデルを用いた推論処理を説明するフローチャート。 内視鏡装置の構成例。
 以下、本実施形態について説明する。なお、以下に説明する本実施形態は、請求の範囲に記載された内容を不当に限定するものではない。また本実施形態で説明される構成の全てが必須構成要件であるとは限らない。
1.本実施形態の手法
 近年、機械学習を用いて画像分類処理や物体検出処理を行う手法が広く知られている。画像分類処理とは、画像をいくつかのカテゴリに分類する処理であり、例えば当該画像の主要な被写体を分類する処理である。画像中の被写体が猫であるか犬であるかを判定するような画像分類処理が広く知られている。また物体検出処理とは、画像中の被写体のカテゴリとともに、当該被写体の画像上位置を判定する処理である。例えば、所与のカテゴリの被写体を囲む領域を検出する手法や、画像の各画素について、当該画素がいずれのカテゴリの被写体に対応するかを判定する手法等が知られている。以下、画像分類処理及び物体検出処理をまとめて、画像に対する認識処理と表記する。
 非特許文献1等に開示されているとおり、ディープラーニング技術を用いた認識処理では、画像を学習済みのニューラルネットワークに入力することで認識対象らしさを表すスコアが出力され、当該スコアに基づいて最終的な認識結果が決定する手法が用いられる。
 入力となる画像に色合いや明るさ、平滑化度合い等の変動が生じた場合、当該変動が小さかったとしても、学習済モデルから出力されるスコアが大きく変動する可能性がある。特にニューラルネットワークは、図5(A)、図5(B)を用いて後述するように、多層の線形結合で構成されているため、入力における小さな変動に起因して、出力されるスコアが大きく変化する可能性がある。即ち、色合い等の小さな変動に起因して認識結果が異なる可能性があり、認識結果が不安定になってしまう。そこで、学習処理に用いる画像に対して色補正処理、明度補正処理、平滑化処理等を行うことによって、画像枚数を水増しした拡張画像を生成する画像拡張が用いられる。拡張画像を含む画像セットを訓練データとする学習を行うことによって、学習済モデルを用いた処理の精度向上を図ることが可能になる。
 ただし、画像拡張の範囲、具体的には画像拡張に用いるパラメータの下限値及び上限値については慎重に検討する必要がある。画像拡張が色補正処理である場合を例にとって説明する。色補正処理とは、例えば画像の色相Hを変更する処理であり、この場合の画像拡張のパラメータは色相の変動量ΔHである。ΔHが-10度≦ΔH≦10度の範囲内の値となるように、画像拡張が行われたとする。
 図1は、テスト画像の変動量を変化させた場合の、認識処理結果の変化を説明する図である。テスト画像とは、学習済モデルを用いた推論処理の精度を確認するための画像であり、狭義には正解ラベルが付与された画像である。ここでの推論処理は、上述したように認識処理であり、正解ラベルは認識対象である被写体のカテゴリや位置を特定する情報である。図1の横軸はテスト画像に付加された色相Hの変動量を表す。図1の縦軸は、感度を表す。ここでの感度とは、テスト画像中に存在する認識対象の数に対する、学習済モデルを用いた認識処理によって検出された認識対象の数の割合である。即ち、感度が高いほど精度の高い認識処理を行えたことを表す。
 図1のA1は、従来手法の認識結果を表す。A1に示すように、テスト画像の変動量が±10度である場合、感度は変動量が0度の場合と同程度の高い値となる。それに対して、テスト画像の変動量が±20度になった場合、感度が低下する。またテスト画像の変動量が±30度になった場合、さらに感度が低下する。図1のA1からわかるように、テスト画像の変動量が、画像拡張において想定した変動量の範囲内である場合、十分高い精度での認識処理が可能である。一方、画像拡張において想定した変動量に比べて、テスト画像の変動量が大きい場合、認識処理の精度が大きく低下してしまう。
 図1では、正解が既知であるテスト画像を用いた例について説明したが、実環境において取得される未知の画像を対象とした認識処理においても同様のことが言える。また、図1では認識処理の精度について説明したが、学習済モデルを認識処理以外の画像処理に適用する場合も同様である。即ち、画像拡張におけるパラメータの範囲は、実環境における画像の変動量をカバーするように設定されることが望ましい。以下、実環境において取得される画像であって、学習済モデルを適用した推論処理の対象となる画像を適用画像と表記する。
 しかし、適用画像の変動量を取得することが難しいケースも多い。例えば、新型の内視鏡装置(内視鏡システム)に学習済モデルを用いた推論処理を行う機能を搭載することを考える。新型の内視鏡装置は、例えば撮像素子、光源、レンズ等の構成が旧型の内視鏡装置とは異なる可能性があり、撮像される画像の傾向も異なる。そのため、新型の内視鏡装置専用の学習済モデルを生成することが精度向上に寄与すると考えられる。しかし生体内画像は、内視鏡装置の挿入部を生体内に挿入しなければ撮像できないものであるため、新型の内視鏡装置を用いて撮像された画像を、当該内視鏡装置の製造段階において大量に取得することは難しい。そのため学習用の画像が十分蓄積されるまでは、旧型の内視鏡装置によって撮像された画像を用いて機械学習された学習済モデルを、新型の内視鏡装置において流用することが現実的である。しかし上述したように、新型の内視鏡装置によって撮像された画像を大量に取得することが難しい以上、新型の内視鏡装置を用いた場合の画像の変動量を予測することは困難である。即ち、新型の内視鏡装置と旧型の内視鏡装置の差異を画像拡張によって吸収しようとしても、画像拡張に用いるパラメータの設定が難しく、認識処理等の画像処理の精度が低下するおそれがある。またここでは内視鏡装置について例示したが、通常のデジタルスチルカメラ等においても、ユーザの撮像環境を機械学習の実行時に正確に予測することが容易でないケースがあり、やはり実環境における画像の変動量予測が困難である。
 以上を考慮して、本実施形態では以下の処理を実行する。本実施形態の画像処理方法は、入力画像に第1画像拡張を適用することによって第1拡張画像を生成し、当該入力画像に第1画像拡張と異なる第2画像拡張を適用することによって第2拡張画像を生成する。さらに本実施形態の手法では、第1拡張画像をニューラルネットワークに入力することによって第1出力を生成し、第2拡張画像を当該ニューラルネットワークに入力することによって第2出力を生成する。そして第1出力と第2出力との相違度を示す出力相違度を算出し、出力相違度に基づいて、ニューラルネットワークの各層における重み係数を更新する。より具体的には、出力相違度を小さくするように、重み係数の更新が行われる。
 具体的には、本実施形態の画像処理方法は、適用画像に対する画像処理を実行するための学習済モデルを生成する。即ち、本実施形態にかかる画像処理方法においては、上記第1拡張画像及び第2拡張画像の生成、第1出力及び第2出力の生成、出力相違度の算出、出力相違度に基づく重み係数の更新、の各処理を繰り返し実行した結果として、学習済モデルが出力される。例えば学習済モデルは、図13を用いて後述する画像処理装置40へ出力され、画像処理装置40は当該学習済モデルを用いて適用画像に対する画像処理、例えば注目被写体の認識処理を実行する。
 第1拡張画像と第2拡張画像は、異なる画像拡張が適用された画像であるため、一方に対して他方は色味や明るさ等が変動している。そのため従来手法であれば、第1出力と第2出力が大きく異なるおそれがある。しかし本実施形態では、第1出力と第2出力の差が小さくなるような機械学習が行われる。そのため、入力における小さな変動に起因して、出力されるスコアが大きく変化することが抑制され、認識結果を安定させることが可能になる。換言すれば、ニューラルネットワークに入力される画像の変動に対して、ロバスト性を向上させることが可能になる。すなわち、内視鏡画像をニューラルネットワークに入力してポリープの検出を行うときに、特異な症状や、ポリープの正面から観察せずに斜めから観察した場合でも、認識の精度が落ちにくくなる。
 図1のA2は、本実施形態の手法を適用した場合の認識処理結果である。テスト画像の変動量が0度又は±10度の場合、感度はA1に示す従来手法と同程度である。しかしテスト画像における変動量が±20度又は±30度である場合、A2に示すように感度の減少幅が従来手法に比べて抑制される。即ち本実施形態の手法によれば、実環境における画像の変動量が予測できないことに起因して、当該変動量が画像拡張の範囲を超えてしまった場合であっても、学習済モデルを用いた画像処理の精度低下を抑制することが可能になる。
 また本実施形態の手法は、生成された学習済モデルであるニューラルネットワークを用いた画像処理方法に適用できる。ここでのニューラルネットワークは、一つの入力画像に対して複数の異なる画像拡張を適用することにより生成した複数の拡張画像を、当該ニューラルネットワークに入力したときに、複数の拡張画像に対応する複数の出力間の相違度を含む誤差を用いて学習されている。画像処理方法は、第1適用画像をニューラルネットワークに入力することによって、第1適用出力を生成し、第1適用出力に基づいて第1認識結果を生成する。また第2適用画像をニューラルネットワークに入力することによって、第2適用出力を生成し、第2適用出力に基づいて第2認識結果を生成する。ここで第1適用画像と第2適用画像が対応する被写体を撮像しており、且つ、第1適用画像と第2適用画像との差異が、色合い、明るさ、及び、平滑化度合いの少なくとも1つである場合、本実施形態の画像処理方法においては、第1認識結果と第2認識結果との差が同一又は略同一となる。略同一とは、第1認識結果と第2認識結果との差が所与の閾値以下となることを表す。なお色合いは例えば色相であり、明るさは例えば輝度や明度であり、平滑化度合いは例えばコントラスト値等である。
 なお、第1適用出力とは、第1適用画像が入力された場合のニューラルネットワークの出力である。例えばニューラルネットワークの出力層が公知のソフトマックス層である場合、第1適用出力とは、認識結果が所与の被写体である確からしさを表す確率データである。第2の適用出力についても同様である。第1認識結果とは、第1適用出力に基づいて求められる情報である。例えば第1適用出力である複数の確率データのうち、最も値が大きいものを選択することによって、第1認識結果が取得される。例えばポリープとそれ以外の被写体を分類する画像分類処理を行う場合、第1適用出力とはポリープである確率データと、ポリープ以外である確率データの2つの数値であり、いずれの値が大きいかに基づいてポリープか否かが判定される。第2適用出力及び第2認識結果についても同様である。
 上記のように、本実施形態の手法では入力される適用画像の色合い、明るさ、平滑化度合いに変動があったとしても、ニューラルネットワークの出力差が低減される。そのため、第1適用出力と第2適用出力の差は十分小さくなる。適用出力から認識結果を求める際には、適用出力の微小な差異が問題とならないケースも多い。例えば上記のように確率データの最大値を求める場合、ポリープである確率データが、ポリープ以外である確率データよりも大きいという条件が満たされれば、具体的な数値がいくつであっても認識結果はポリープとなる。即ち、本実施形態の学習処理方法においては、第1認識結果と第2認識結果が同一となる。
 ただし、物体検出処理を行う場合、検出結果は例えば被写体を囲む矩形領域である。画像分類処理の認識結果がポリープか否か等の相対的に粗い認識結果であるのに対して、物体検出処理の認識結果である矩形領域の位置やサイズは、より細かい粒度で検出される。具体的な粒度はニューラルネットワークのモデルに依存するが、例えば1画素単位での検出も可能である。またセグメンテーションを行う場合、1画素単位で当該画素がいずれの被写体に対応するかが判定される。物体検出処理の場合、認識結果が細かいため、第1適用出力と第2適用出力の差が十分吸収されず、第1認識結果と第2認識結果が同一とならないケースも想定される。しかし、第1適用出力と第2適用出力の差が抑制されているため、第1認識結果と第2認識結果は略同一になることが期待される。例えば、認識結果が矩形領域を表す場合、位置やサイズの差が所定画素数以下となる。或いは、画素単位で被写体を特定する場合、第1認識結果と第2認識結果において特定した被写体が異なる画素が所定画素数以下となる。
2.システム構成例
 本実施形態の手法は、学習装置10に適用されてもよい。図2に示すように、学習装置10は、入力画像を取得する取得部20と、入力画像に基づいて機械学習を行う処理部30を含む。ただし、学習装置10は図2の構成に限定されず、これらの一部の構成要素の省略、他の構成要素の追加等の種々の変形実施が可能である。
 取得部20は、機械学習に用いる入力画像を取得する。また取得部20は、入力画像に対応付けられた正解ラベルも取得する。例えば、入力画像に対する正解ラベルの付与が外部機器において実行され、取得部20は、当該外部機器から入力画像及び正解ラベルを取得する。この場合の取得部20は、外部機器と通信を行う通信インターフェースである。或いは、学習装置10において入力画像に対する正解ラベルの付与が行われ、学習装置10は付与結果を蓄積する不図示の記憶部を含んでもよい。この場合の取得部20は、記憶部から正解ラベルが付与された入力画像を読み出すためのインターフェースである。ここでの記憶部は、データやプログラムなどの各種の情報を記憶する。記憶部は、半導体メモリであってもよいし、レジスタであってもよいし、磁気記憶装置であってもよいし、光学式記憶装置であってもよい。
 処理部30は、下記のハードウェアにより構成される。ハードウェアは、デジタル信号を処理する回路及びアナログ信号を処理する回路の少なくとも一方を含むことができる。例えば、ハードウェアは、回路基板に実装された1又は複数の回路装置や、1又は複数の回路素子で構成することができる。1又は複数の回路装置は例えばIC等である。1又は複数の回路素子は例えば抵抗、キャパシター等である。
 また処理部30は、下記のプロセッサにより実現されてもよい。本実施形態の学習装置10は、情報を記憶するメモリと、メモリに記憶された情報に基づいて動作するプロセッサと、を含む。情報は、例えばプログラムと各種のデータ等である。プロセッサは、ハードウェアを含む。プロセッサは、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、DSP(Digital Signal Processor)等、各種のプロセッサを用いることが可能である。メモリは、SRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)などの半導体メモリであってもよいし、レジスタであってもよいし、ハードディスク装置(HDD:Hard Disk Drive)等の磁気記憶装置であってもよいし、光学ディスク装置等の光学式記憶装置であってもよい。例えば、メモリはコンピュータにより読み取り可能な命令を格納しており、当該命令がプロセッサにより実行されることで、処理部30の各部の機能が処理として実現される。ここでの命令は、プログラムを構成する命令セットの命令でもよいし、プロセッサのハードウェア回路に対して動作を指示する命令であってもよい。
 処理部30は、第1拡張画像の生成、第2拡張画像の生成、第1出力の生成、第2出力の生成、出力相違度の算出、ニューラルネットワークの各層における重み係数の更新、の各処理を実行する。
 図3は、処理部30の詳細な構成例である。処理部30は、画像拡張部31と、ニューラルネットワーク適用部33と、出力相違度算出部35と、出力誤差算出部37と、重み係数更新部39を含む。ただし、処理部30は図3の構成に限定されず、これらの一部の構成要素の省略、他の構成要素の追加等の種々の変形実施が可能である。例えば処理部30は、機械学習の開始時にニューラルネットワークを初期化する初期化部等の構成をさらに含んでもよい。
 画像拡張部31は、取得部20から入力画像を取得し、当該入力画像に対して画像拡張を適用する。画像拡張部31は、入力画像に第1画像拡張を適用することによって第1拡張画像を生成する処理と、当該入力画像に第2画像拡張を適用することによって第2拡張画像を生成する処理を行う。画像拡張部31は、第1拡張画像及び第2拡張画像を、ニューラルネットワーク適用部33に出力する。
 ニューラルネットワーク適用部33は、第1拡張画像をニューラルネットワークに入力することによって第1出力を生成する処理と、第2拡張画像をニューラルネットワークに入力することによって第2出力を生成する処理を行う。ニューラルネットワーク適用部33は、第1出力及び第2出力を、出力相違度算出部35及び出力誤差算出部37に出力する。
 出力相違度算出部35は、第1出力と第2出力に基づいて出力相違度を算出する。出力相違度算出部35は、出力相違度を重み係数更新部39に出力する。
 出力誤差算出部37は、取得部20から入力画像に対応する正解ラベルを取得する。出力誤差算出部37は、第1出力、第2出力、正解ラベルに基づいて出力誤差を算出する。出力誤差算出部37は、出力誤差を重み係数更新部39に出力する。なお出力誤差は、第1出力と正解ラベルに基づく誤差であってもよいし、第2出力と正解ラベルに基づく誤差であってもよいし、この両方であってもよい。
 重み係数更新部39は、出力相違度を含む全体誤差に基づいてニューラルネットワークの各層の重み係数を更新する。なお全体誤差は、出力相違度と出力誤差を含んでもよい。
 なお、本実施形態の学習装置10や後述する画像処理装置40等は、その処理の一部または大部分をプログラムにより実現してもよい。この場合には、CPU等のプロセッサがプログラムを実行することで、本実施形態の学習装置10等が実現される。具体的には、非一時的な情報記憶装置に記憶されたプログラムが読み出され、読み出されたプログラムをCPU等のプロセッサが実行する。ここで、情報記憶装置は、プログラムやデータなどを格納するものであり、その機能は、DVDやCD等の光ディスク、HDD(hard disk drive)、或いは不揮発性メモリやRAM等のメモリなどにより実現できる。情報記憶装置は、コンピュータにより読み取り可能な装置である。そして、CPU等のプロセッサは、情報記憶装置に格納されるプログラムに基づいて本実施形態の種々の処理を行う。即ち、情報記憶装置には、本実施形態の各部としてコンピュータを機能させるためのプログラムが記憶される。コンピュータは、操作部、処理部、記憶部、出力部を備える装置である。
3.処理の詳細
 図4は、本実施形態の学習処理を説明するフローチャートである。この処理が開始されると、まずステップS101において、ニューラルネットワークを初期化する処理が行われる。なお、図面においてはニューラルネットワークを適宜NNと表記する。
 図5(A)は、ニューラルネットワークを説明する模式図である。ニューラルネットワークは、データが入力される入力層と、入力層からの出力に基づいて演算を行う中間層と、中間層からの出力に基づいてデータを出力する出力層を有する。図5(A)においては、中間層が2層であるネットワークを例示するが、中間層は1層であってもよいし、3層以上であってもよい。また各層に含まれるノードの数は図5(A)の例に限定されず、種々の変形実施が可能である。なお精度を考慮すれば、本実施形態の学習は多層のニューラルネットワークを用いた深層学習(ディープラーニング)を用いることが望ましい。ここでの多層とは、狭義には4層以上である。
 図5(A)に示すように、所与の層に含まれるノードは、隣接する層のノードと結合される。各結合には重みが設定されている。各ノードは、前段のノードの出力と重みを乗算し、乗算結果の合計値を求める。さらに各ノードは、合計値に対してバイアスを加算し、加算結果に活性化関数を適用することによって当該ノードの出力を求める。この処理を、入力層から出力層へ向けて順次実行することによって、ニューラルネットワークの出力が求められる。ニューラルネットにおける学習は、適切な重み係数を決定する処理である。ここでの重み係数は、上記重みとバイアスを含む。学習には誤差逆伝播法等の種々の手法が知られており、本実施形態においてはそれらを広く適用可能である。
 より具体的には、本実施形態のニューラルネットワークは、畳み込みニューラルネットワーク(以下、CNNと記載)である。CNNを用いることによって、画像処理に好適な学習済モデルを生成することが可能になる。
 図5(B)は、CNNを説明する模式図である。CNNは、畳み込み演算を行う畳み込み層とプーリング層を含む。畳み込み層は、フィルタ処理を行う層である。プーリング層は、縦方向、横方向のサイズを縮小するプーリング演算を行う層である。図5(B)に示す例では、CNNは畳み込み層及びプーリング層による演算をそれぞれ複数回行うネットワークである。なお、図5(B)では明示されていないが、活性化関数による演算処理も図5(A)と同様に行われる。また本実施形態のCNNは、全結合層による演算を含んでもよい。全結合層とは、所与の層のノードに対して前の層の全てのノードが結像される場合の演算処理を行う層であり、図5(A)を用いて上述した各層の演算に対応する。また出力層に広く知られたソフトマックス層が用いられてもよい。その他、CNNの具体的な構成は種々の変形実施が可能である。CNNの畳み込み層における重み係数は、フィルタのパラメータである。即ち、CNNにおける学習とは、畳み込み演算に用いるフィルタの学習を含む。
 本実施形態では、例えばニューラルネットワークとしてVGG-16をベースにしたCNNを用いてもよい。また、CNNとしてIdentity Mapping(IM)を導入したResidual Networkを用いてもよい。その他、種々のCNNが知られており、本実施形態ではこれらを広く適用可能である。なおVGG-16やResidual Networkは公知の手法であるため、詳細な説明は省略する。
 ステップS101におけるCNNの初期化は、例えば平均0、標準偏差wscale/√(ci×k×k)の正規乱数を用いて実行される。なお、wscaleはスケールパラメータ、ciは畳み込み層の入力チャンネル数、kは畳み込みカーネルサイズである。また、畳み込み層の重み係数の初期値として、本実施形態で用いる画像データベースとは異なる大規模画像データベースによって学習済みの畳み込み層の重み係数を用いてもよい。これによって、入力画像の枚数が少ない場合でも高性能な学習を行うことが可能になる。なお本実施形態の画像データベースとは、複数の入力画像を含むデータベースであり、例えばポリープが撮像された画像の集合である。
 次にステップS102及びS103において、取得部20は、入力画像と、当該入力画像に対応付けられた正解ラベルを取得する。画像分類処理を行う場合、正解ラベルは、画像上に各分類カテゴリ対象が含まれるか否かを表す2値のデータである。物体検出処理を行う場合、正解ラベルは例えば検出対象を含む矩形領域を特定する情報である。矩形領域を特定する情報は、1つの座標値、縦サイズ、横サイズの組であってもよいし、対角線上の2つの座標値の組であってもよい。或いは正解ラベルは、画像上の各点に対応した候補枠ごとに検出対象が含まれるか否かを表す2値データの配列であってもよい。また本実施形態のニューラルネットワークは、入力された画像に対して画像変換処理を行ってもよい。この場合の正解ラベルは、理想的な変換結果の画像である。
 次にステップS104において、画像拡張部31は、入力画像に第1画像拡張を適用することによって第1拡張画像を生成する。第1画像拡張は、色補正処理、明度補正処理、平滑化処理、鮮鋭化処理、ノイズ付加処理、及び、アフィン変換処理の少なくとも1つの処理を含む。即ち第1画像拡張は、これらのうちのいずれか1つの処理であってもよいし、2以上の処理の組み合わせであってもよい。
 色補正処理は、例えば色相Hの補正処理である。画像拡張部31は、下式(1)に基づいて、RGBの画素値をHSV色空間に変換する。Hは色相(Hue)、Sは彩度(Saturation)、Vは明度(Value)である。下式(1)におけるR,G,Bは入力画像の赤緑青の画素値を表す。またMaxはRGBの画素値のうちの最大値を表し、MinはRGBの画素値のうちの最小値を表す。
Figure JPOXMLDOC01-appb-M000001
 画像拡張部31は、算出されたHをΔHだけ変更する処理を行う。ここでのΔHが色補正処理におけるパラメータであり、下限値以上、上限値以下の範囲においてランダムに値が決定される。下限値が-10度であり上限値が+10度である場合、例えば-10以上+10以下の整数値のうちのいずれか1つの値が、ΔHとして選択される。上述したように、本実施形態の手法では、実環境における画像の変動量が画像拡張における変動量を超えても精度低下が抑制されるため、パラメータの範囲を過剰に広くする必要はない。
 明度補正処理は、例えばガンマ補正処理である。例えば画像拡張部31は、下式(2)に基づいて、明度Vに対するガンマ補正処理を行う。V’はガンマ補正処理後の明度を表す。γ=1の場合に元の明度が維持され、γが大きいほど明度が低下し、γが小さいほど明度が増加する。γが明度補正処理におけるパラメータである。画像拡張部31は、あらかじめ設定された下限値以上、上限値以下の範囲において、ランダムにγの値を決定することによってガンマ補正処理を行う。
Figure JPOXMLDOC01-appb-M000002
 なお画像拡張部31は、色補正処理後又はガンマ補正処理後に、下式(3)に基づいて、RGBの画素値への再変換を行う。下式(3)におけるR’,G’,B’は再変換後の赤緑青の画素値を表す。floor(x)は、x以下の最大の整数を表す。
Figure JPOXMLDOC01-appb-M000003
 平滑化処理は、例えば平滑化フィルタを用いたフィルタ処理である。平滑化フィルタは、例えば平滑化度合いが可変のフィルタである。平滑化度合いとは、例えばガウシアンフィルタにおけるσの値であり、σが大きいほど平滑化度合いが大きくなる。ここでのσが平滑化処理におけるパラメータである。なお平滑化フィルタ及び当該フィルタの平滑化度合いを決定するパラメータは種々知られており、本実施形態ではそれらを広く適用可能である。画像拡張部31は、あらかじめ設定された下限値以上、上限値以下の範囲において、平滑化処理のパラメータを決定し、当該パラメータによって特定される平滑化処理を実行する。
 或いは、平滑化フィルタは、例えば平滑化度合いが固定のフィルタであり、画像拡張部31は、当該平滑化フィルタの適用回数をランダムに決定することによって、平滑化度合いを変更してもよい。この場合、適用回数が平滑化処理のパラメータであり、少ないほど平滑化度合いが小さい。例えば、σが固定のガウシアンフィルタを何回適用させるかによって、平滑化度合いの調整が可能である。
 鮮鋭化処理は、例えばエッジ強調フィルタ等の鮮鋭化フィルタを用いたフィルタ処理である。鮮鋭化フィルタについても、フィルタのパラメータや適用回数を変更することによって、鮮鋭化度合いを変更可能である。即ち、フィルタパラメータ又は適用回数が、鮮鋭化処理のパラメータである。画像拡張部31は、あらかじめ設定された下限値以上、上限値以下の範囲において、鮮鋭化処理のパラメータを決定し、当該パラメータによって特定される鮮鋭化処理を実行する。
 ノイズ付加処理は、入力画像にノイズ成分を付加する処理である。例えば、ガウシアンフィルタを用いたフィルタ処理を行うことによって、ガウシアンノイズを付加する処理を実行できる。即ち上記の平滑化処理は、ノイズ付加処理の一態様と考えることが可能である。この場合、σやフィルタの適用回数がノイズ付加処理のパラメータである。またノイズ付加処理は、インパルスノイズを付加する処理であってもよい。例えば画像拡張部31は、入力画像の所定割合の画素の画素値を、最小値又は最大値に変更する処理を行うことによって入力画像にインパルスノイズを付加する。画素値が8ビットデータである場合、最小値は0であり最大値は255である。この場合、画素値を変更する画素の割合がノイズ付加処理のパラメータであり、当該パラメータを変更することによってノイズの付加度合いを調整できる。また画像に対するノイズ付加処理はこれ以外の処理も広く知られており、本実施形態ではそれらを広く適用可能である。画像拡張部31は、あらかじめ設定された下限値以上、上限値以下の範囲において、ノイズ付加処理のパラメータを決定し、当該パラメータによって特定されるノイズ付加処理を実行する。
 アフィン変換処理は、画像のリサイズ、回転、平行移動を行う処理であり、具体的には画像拡張部31は行列演算を行う。アフィン変換に用いられる行列の各要素の値を変更することによって、リサイズ率、回転角度、平行移動量を調整できる。即ち、行列の要素がアフィン変換のパラメータである。なお、アフィン変換では行列を複数に分解可能であることが知られており、各行列の要素をパラメータとしてもよい。画像拡張部31は、あらかじめ設定された下限値以上、上限値以下の範囲において、アフィン変換のパラメータを決定し、当該パラメータによって特定されるアフィン変換処理を実行する。なお、本実施形態のアフィン変換は、リサイズ、回転及び平行移動の全てを行う必要はなく、いずれか1つが行われてもよいし、2つが組み合わされてもよい。
 以上のような画像拡張を行うことによって、様々な色合い、明るさ、平滑化度合い、鮮鋭化度合い、ノイズ量、サイズ、角度、画像上位置、の認識対象を含む拡張画像を生成できる。
 またステップS105において、画像拡張部31は、入力画像に第2画像拡張を適用することによって第2拡張画像を生成する。第2画像拡張は、色補正処理、明度補正処理、平滑化処理、鮮鋭化処理、ノイズ付加処理、及び、アフィン変換処理の少なくとも1つの処理を含む。即ち画像拡張部31は、第2画像拡張として、S104と同様の種類の画像変換を行う。ただし画像拡張部31は、画像拡張に用いるパラメータを変更することで第1拡張画像とは異なる第2拡張画像を生成する。なお、ここでは説明を簡略化するため、第1画像拡張と第2画像拡張は、同じ種類の処理であり、且つ、当該処理に用いるパラメータが異なる例について説明する。ただし変形例として後述するように、第1画像拡張と第2画像拡張は、画像変換の組み合わせが異なってもよい。
 図6(A)は入力画像の例を示す模式図である。図6(A)は生体内画像の例でありB1が大腸の内壁に対応する領域であり、C1がポリープ領域である。図6(B)は第1拡張画像の例を示す模式図であり、図6(C)は第2拡張画像の例を示す模式図である。図6(B)、図6(C)についても同様に、B2及びB3が大腸の内壁に対応し、C2及びC3がポリープ領域である。ここでは第1画像拡張及び第2画像拡張における画像変換はいずれも明度補正処理である。第1画像拡張におけるγをγ1とし、第2画像拡張におけるγをγ2とした場合、1<γ1<γ2である。そのため、図6(B)に示す第1拡張画像、及び図6(C)に示す第2拡張画像はいずれも入力画像に比べて明度が低下しており、その低下度合いは第2拡張画像が第1拡張画像よりも大きい。このような画像拡張を行うことによって、入力画像に比べて暗い画像を機械学習の対象に含めることが可能になる。そのため、暗く撮像されたポリープの検出精度向上等が可能になる。
 また図6(D)は入力画像の例であり、図6(E)、図6(F)はそれぞれ入力画像に基づく拡張画像の例である。なお図6(D)~図6(F)では、生体内画像とは異なる一般画像を例示している。図6(E)の拡張画像を生成する画像拡張における画像変換は明度補正処理である。ここでのγは1<γであり、図6(E)に示す拡張画像は入力画像に比べて明度が低下している。図6(F)の拡張画像を生成する画像拡張における画像変換は平滑化処理である。平滑化処理によって、図6(F)に示す拡張画像は入力画像に比べてぼけ度合いが増した画像となっている。
 図4のフローチャートに戻って説明を続ける。ステップS106において、ニューラルネットワーク適用部33は、第1拡張画像をニューラルネットワークに入力することによって、第1出力を生成する。またステップS106において、ニューラルネットワーク適用部33は、第2拡張画像をニューラルネットワークに入力することによって、第2出力を生成する。なお、S106の処理が初めて行われる場合、ニューラルネットワークの重み係数は、S101において初期化された値となる。2回目以降にS106の処理が行われる場合、重み係数は後述するS110の処理によって更新された後の値となる。
 図7は、ニューラルネットワークの適用処理、及び後述する全体誤差の演算処理を説明する図である。図7に示すように、第1拡張画像と第2拡張画像をニューラルネットワークに入力することによって、第1出力と第2出力が取得される。図7の例では、第1出力は、4×3の各領域について、当該領域がポリープである確からしさを表す確率データが対応付けられた情報である。ここでは説明を簡略化するために要素数を4×3としたが、例えば出力データは入力画像の画素数に相当する要素を含んでもよい。第2出力についても同様である。
 次にステップS107において、出力誤差算出部37は、第1の出力、第2の出力の少なくとも1つと、取得部20が取得した正解ラベルに基づいて、ニューラルネットワークの出力誤差を算出する。正解ラベルは、例えば図7に示すように4×3の各領域について、当該領域がポリープである場合に1が対応付けられ、ポリープでない場合に0が対応付けられた情報である。正解ラベルは、具体的には出力データと同一の要素数を含む情報である。なお正解ラベルは、例えば入力画像に対応付けられた正解ラベルそのものである。ただし、物体検出処理を行う場合であり、且つ、画像拡張としてアフィン変換を行う場合、当該アフィン変換によってポリープ等の検出対象物の位置やサイズが変化してしまう。そのため、物体検出処理においてアフィン変換を含む画像拡張を行う場合、当該アフィン変換に合わせて正解ラベルを修正することが望ましい。或いは物体検出処理を行う場合、画像拡張からアフィン変換を省略してもよい。
 出力誤差は、第1出力と正解ラベルの誤差を表す情報(D1)、又は、第2出力と正解ラベルの誤差を表す情報(D2)、又は、その両方である。出力誤差は、Sigmoid cross entropyであってもよいしSoftmax cross entropyであってもよい。これらの出力誤差は、画像分類処理や物体検出処理を行う場合に好適である。例えば2値分類を行う場合にSigmoid cross entropyが用いられ、多クラス分類を行う場合にSoftmax cross entropyが用いられる。また出力誤差は、二乗誤差等であってもよい。二乗誤差等は、ニューラルネットワークを画像変換処理に利用する際に好適である。ただし、ニューラルネットワークを用いた処理と出力誤差の関係は上記のものに限定されず、本実施形態の出力誤差は種々の態様の誤差を適用可能である。
 次にステップS108において、出力相違度算出部35は、第1出力と第2出力の相違度である出力相違度を算出する。出力相違度は、第1出力と第2出力の差が大きいほど値が大きくなる数値情報である。出力相違度算出部35は、第1出力と第2出力の要素ごとに算出した二乗誤差に基づいて出力相違度を求める。例えば出力相違度は、要素ごとの二乗誤差の和である。或いは出力相違度算出部35は、第1出力と第2出力の要素ごとに算出したHuber誤差に基づいて出力相違度を求めてもよい。例えば出力相違度は、要素ごとのHuber誤差の和である。Huber誤差は下式(4)によって求めることが可能である。下式(4)において、aは第1出力を表し、bは第2出力を表す。Huber誤差を用いることによって、外れ値の影響を小さくできる。また出力相違度算出部35は、第1出力と第2出力の相互相関に基づいて、出力相違度を求めてもよい。例えば出力相違度は、相互相関関数の逆数である。図7の例であれば、第1出力と第2出力は、それぞれ2次元配列のデータであり、2つの2次元配列の相互相関関数を求める手法は広く知られている。よってそれらの手法を適用することによって、第1出力と第2出力の相互相関関数を演算可能である。相互相関関数の逆数を用いることによって、出力に含まれる要素間の関連性を考慮することが可能になる。また、出力相違度算出部35は、出力相違度として、第1出力の確率分布と第2出力の確率分布との間のカルバック・ライブラー・ダイバージェンスを用いてもよい。すなわち、出力相違度算出部35は、出力相違度として、第1出力の確率分布と第2出力の確率分布との間の距離を用いてもよい。
Figure JPOXMLDOC01-appb-M000004
 以上のように、本実施形態の手法では第1出力と第2出力の相違度を表す情報を出力相違度として求めることが可能であり、その際、種々の手法を適用できる。
 次にステップS109において、重み係数更新部39は、出力相違度を含む全体誤差を算出し、当該全体誤差に基づいて、ニューラルネットワークの各層における誤差を算出する。ステップS109における処理は、各層における重み係数を変化させた際の全体誤差の変化量、即ち勾配(偏微分)を求める処理に相当する。なお、勾配を効率的に求める手法として誤差逆伝播法が知られており、本実施形態においても誤差逆伝播法を利用可能である。ただし、誤差逆伝播法以外の手法によって勾配が求められてもよい。
 具体的には、重み係数更新部39は、出力誤差と出力相違度との重み付け和を全体誤差として求める。出力誤差は、上述したように、第1出力及び第2出力の少なくとも1つと、正解ラベルとに基づいて算出される。例えば、第1出力と正解ラベルの誤差(D1)を出力誤差とする場合、全体誤差は出力誤差(D1)と出力相違度(D3)の重み付け和である。出力相違度と出力誤差の重みは例えばともに1/2である。ただし、重みはこれに限定されず、種々の変形実施が可能である。或いは、全体誤差は第2出力と正解ラベルの誤差(D2)と出力相違度(D3)の重み付け和であってもよい。また全体誤差は、D1~D3の3つの重み付け和であってもよい。
 そしてステップS110において、重み係数更新部39は、全体誤差を小さくするように、ニューラルネットワークの各層における重み係数を更新する。例えば重み係数更新部39は、重み係数の勾配に対して学習率ρを乗算し、乗算結果を現在の重み係数の値から減算することによって、各重み係数を更新する。
 従来手法においては、全体誤差は出力誤差から求められる。そのため、従来手法は画像を入力した際の出力が正解ラベルに近づくような学習を行うことはできても、拡張画像間の関係を考慮していない。それに対して本実施形態では、出力誤差と出力相違度との重み付け和を全体誤差とする。そのため、出力誤差を減らす方向の学習、即ち画像を入力した際の出力が正解ラベルに近づくような学習に加えて、出力相違度を減らす方向の学習を行うことが可能になる。即ち、同一の入力画像に対して異なる2つの画像拡張を適用することで生成した2つの拡張画像をニューラルネットワークに入力したときに、それらに対応する出力間の相違度が0に近づくような学習が行われる。これにより、色合い、明るさ、平滑化度合い等の入力画像の変動に対応する出力の変動を小さくできる。結果として、適用画像における変動が画像拡張における変動量を超えるような場合であっても、学習済モデルを用いた画像処理の精度低下を抑制することが可能になる。具体例については図1のA1を用いて上述したとおりである。
 なおステップS110の処理後、ステップS111において、処理部30は終了条件が満たされたか否かを判定する。終了条件とは、例えば重み係数の更新回数が所与の回数に達したことである。終了条件が満たされていない場合(S111でNo)、処理部30はステップS102に戻り、以上で述べたステップS102~ステップS110の処理を繰り返す。例えば処理部30は、複数の入力画像から新たな入力画像を選択し、選択した入力画像を対象として上記処理を実行する。終了条件が満たされた場合(S111でYes)、処理部30はニューラルネットワークの学習を終了する。なお処理部30は、ニューラルネットワークに正解ラベルが付与されたテスト画像セットを入力し、正解率が所与の閾値を超えた場合に、終了条件が満たされたと判定してもよい。
4.学習処理における変形例
 以下、学習処理におけるいくつかの変形例について説明する。
4.1 1枚の入力画像から生成される拡張画像の枚数
 図8は、1枚の入力画像に基づく画像拡張を説明する図である。例えば画像拡張として明度補正処理を行う場合、図8に示すように値の異なるx通りのγを用いることによって、x枚の拡張画像が生成される。そしてここでのxは2以上の整数であり、3以上であってもよい。この場合、x枚の拡張画像のうちの2枚が、第1拡張画像及び第2拡張画像として選択される。
 1枚の入力画像に基づいて出力される第1拡張画像と第2拡張画像の組は1組に限定されない。例えば、図8における拡張画像1と拡張画像2を1組目とし、拡張画像3と拡張画像4を2組目とするように、1枚の入力画像に基づいて第1拡張画像と第2拡張画像の組が複数組出力され、各組について上述した処理が行われてもよい。x枚の拡張画像が生成される場合、第1拡張画像と第2拡張画像の組は、最大x(x-1)/2組だけ出力可能である。
 また機械学習において、拡張画像の生成元となった入力画像を利用することが可能である。例えば第1拡張画像と第2拡張画像のいずれか一方を入力画像に変更してもよい。この場合、入力画像と拡張画像をそれぞれニューラルネットワークに入力した際の出力間の相違度を減らすような学習が可能になる。そのため、2つの拡張画像の出力間の相違度を出力相違度とする場合と同様に、画像変動に起因する精度の低下を抑制することが可能になる。この場合、入力画像と、当該入力画像に基づくx枚の拡張画像と、を含む合計x+1枚の画像から、第1拡張画像と第2拡張画像が選択される。即ち1枚の入力画像に基づいて、第1拡張画像と第2拡張画像の組は、最大x(x+1)/2組だけ出力可能である。
 なお図4においては、ステップS102~ステップS110に示す処理を1回行う際に、逐次、第1拡張画像と第2拡張画像が生成される例について説明した。しかし、拡張画像を生成する処理はまとめて行われてもよい。例えば処理部30は、1枚の入力画像からx枚の拡張画像を生成する処理をあらかじめ行い、生成された複数の拡張画像からなる拡張画像セットを記憶部に蓄積しておく。この場合、ステップS102~ステップS105の処理は、記憶部に記憶された拡張画像セットから、適切な2枚の画像を第1拡張画像及び第2拡張画像として選択する処理に置き換えが可能である。また処理部30は、複数の入力画像のそれぞれについて、x枚の拡張画像を求める処理をまとめて行っておくことも可能である。その他、本実施形態の処理の流れは図4に限定されず、種々の変形実施が可能である。
4.2 第1画像拡張と第2画像拡張の他の例
 また図6(A)~図6(C)、図8では、画像拡張が明度補正処理である例について説明した。ただし、入力画像に対する画像拡張は2以上の処理が組み合わされてもよい。
 図9は、画像拡張の他の例を説明する図である。画像拡張部31は、入力画像に対してγ1~γzをパラメータとするガンマ補正処理と、ΔH1~ΔHzをパラメータとする色補正処理を行う。zは2以上の整数である。ここで、所与の拡張画像iと拡張画像jに着目した場合、同じ拡張画像を複数生成する必要性は低いため、γi≠γjとΔHi≠ΔHjの少なくとも一方が満たされるようにパラメータが設定される。i及びjは、それぞれ1以上z以下であり、且つi≠jを満たす整数である。
 画像拡張部31は、拡張画像1~拡張画像zのうちの2枚を第1拡張画像及び第2拡張画像として出力する。この場合、第1拡張画像と第2拡張画像は、それぞれが同じ2つの処理の組み合わせであって、当該2つの処理に対応する2つのパラメータのうち少なくとも一方が異なる。この場合、第1拡張画像と第2拡張画像とは明度と色合いの両方について変動が生じる可能性があるが、本実施形態の手法であれば当該変動に起因するニューラルネットワークの出力変動を抑制することが可能になる。
 また、画像拡張において入力画像と一致する拡張画像を生成する必要性は低いため、γi≠1とΔHi≠0の少なくとも一方が満たされるようにパラメータが設定される。換言すれば、ΔHi≠0であればγi=1となることが許容されてもよいし、γi≠1であればΔHi=0となることが許容されてもよい。即ち、図9の例において、ガンマ補正処理と色補正処理のいずれか一方が省略されてもよい。
 この場合、拡張画像1~拡張画像zは、明度補正処理のみが行われた画像、色補正処理のみが行われた画像、明度補正処理及び色補正処理が行われた画像、のいずれかである。そのため、第1拡張画像と第2拡張画像は、処理の組み合わせが同じであってパラメータが異なるというケースだけでなく、そもそも処理の組み合わせが異なるというケースも考えられる。ここでの処理の組み合わせとは、画像拡張に含まれる処理を特定する情報であり、上記例であれば「明度補正処理のみ」、「色補正処理のみ」、「明度補正処理及び色補正処理」のいずれかである。例えば、第1拡張画像は入力画像に対して明度補正処理が行われた画像であり、第2拡張画像は入力画像に対して色補正処理が行われた画像となるケースが考えられる。
 ただし上述したように、「明度補正処理のみ」とは「明度補正処理、及びΔH=0の色補正処理」と考えることが可能であるし、「色補正処理のみ」とは「γ=1の明度補正処理、及び色補正処理」と考えることが可能である。即ち、処理の組み合わせが異なるケースは、2つの同じ処理の組み合わせであって当該2つの処理に対応する2つのパラメータのうち少なくとも一方が異なるケースに含まれる。なお図9では明度補正処理と色補正処理の2つの処理について説明したが、上述したとおり、画像拡張は3以上の処理を含んでもよい。
4.3 画像拡張範囲の調整処理
 図10は、学習を繰り返した場合の誤差の減少度合いを表す図である。図10の横軸が学習の繰返し回数(イテレーション)であり、縦軸が誤差を表す。学習の繰返し回数とは、重み係数の更新回数に相当し、例えば図4のステップS110の実行回数である。
 図10のE1は、出力相違度を用いずに、出力誤差を減少させるような学習を行った場合の、当該出力誤差の減少度合いを表す。図7の例であれば、第1出力と正解ラベルの誤差を表す情報(D1)や、第2出力と正解ラベルの誤差を表す情報(D2)を含み、且つ出力相違度(D3)を含まない誤差を全体誤差とする学習処理を行った場合に相当する。
 E1に示す手法と比較した場合、本実施形態の手法では、全体誤差に出力相違度が含まれる点で相違する。出力相違度を小さくする学習を行うことによって、適用画像の変動に起因する精度低下を抑制できる。ただし、出力誤差だけでなく出力相違度についても減少させる必要があるため、学習が難しくなるおそれがある。例えばE2に示すように、本実施形態の手法では、出力相違度を用いないE1に比べて誤差が減少しにくい。具体的には、学習の初期段階において誤差の減少幅が小さくなったり、値が収束した際の誤差が大きくなるおそれがある。なお値が収束するとは、学習の繰返し回数の増加に対して、誤差の変化量が十分小さくなった状態を表す。
 特に、第1拡張画像と第2拡張画像の間の変動が過剰に大きい場合、第1出力と第2出力の相違度も大きくなりやすいため、出力相違度を0に近づけるような学習がより難しくなる。
 よって本実施形態では、第1画像拡張を決定する第1パラメータと、第2画像拡張を決定する第2パラメータの差異が所与の範囲内であってもよい。このようにすれば、第1拡張画像と第2拡張画像間の差が抑制されるため、出力相違度を用いた学習の収束度合いを高くすることが可能になる。学習の収束度合いが高いとは、誤差の減少幅が大きいことであってもよいし、収束時の誤差の値が小さいことであってもよいし、その両方であってもよい。
 例えば第1画像拡張と第2画像拡張が同じ処理である場合、当該処理におけるパラメータの差異を所与の閾値以下に設定する。処理がガンマ補正処理であれば、第1画像拡張におけるγと第2画像拡張におけるγの差分絶対値が所与のガンマ閾値以下となる。例えば上述したように、ガンマ補正処理におけるガンマの下限値と上限値を設定する際に、上限値と下限値の差分がガンマ閾値以下となるように、上限値及び下限値を設定する。このようにすれば、画像拡張部31が下限値と上限値の範囲内においてランダムにγの値を決定した場合にも、第1拡張画像の生成に用いるγと、第2拡張画像の生成に用いるγの差分絶対値が、ガンマ閾値以下となることが保証される。ただし画像拡張部31は、まず第1拡張画像に用いるγを決定し、当該γとの差分がガンマ閾値以下となるように、第2拡張画像に用いるγを決定してもよく、具体的な処理については変形実施が可能である。
 また第1画像拡張と第2画像拡張が2以上の処理の組み合わせである場合、それぞれの処理についてパラメータの差異を所与の閾値以下に設定する。処理がガンマ補正処理及び色補正処理であれば、第1画像拡張におけるγと第2画像拡張におけるγの差分絶対値が所与のガンマ閾値以下となり、且つ、第1画像拡張におけるΔHと第2画像拡張におけるΔHの差分絶対値が所与の色相閾値以下となるように各パラメータが設定される。
 或いは、γの差分とΔHの差分に基づいて、第1パラメータと第2パラメータ間の差異を表す評価値が演算されてもよい。第1画像拡張と第2画像拡張は、当該評価値が閾値以下となるように、各パラメータが設定される。
 なお、第1画像拡張と第2画像拡張の処理の組み合わせが異なる場合、上述したように、実行しない処理については入力画像を変動させないようなパラメータを用いて処理を行っていると見なせばよい。入力画像を変動させないパラメータとは、例えば上述したように、γ=1、ΔH=0である。また、平滑化処理ではガウシアンフィルタの適用回数を0とし、鮮鋭化処理ではエッジ強調フィルタの適用回数を0とすることによって入力画像の平滑化度合いや鮮鋭化度合いが維持される。また、ノイズ付加処理では、インパルスノイズを0にする、即ち画素値を変化させる画素の割合を0にすることによって、入力画像のノイズ量が維持される。またアフィン変換処理では、アフィン変換に用いる行列要素のうち、対角成分を1とし、それ以外を0とすることによって入力画像のサイズ、角度、位置が維持される。
 具体的には、出力誤差、又は、全体誤差を判定対象誤差とした場合に、重み係数の更新処理による判定対象誤差の減少度合いに基づいて、所与の範囲が設定される。このようにすれば、学習の進捗度合い、収束度合いに基づいて、第1画像拡張と第2画像拡張との間で許容されるパラメータの差を決定することが可能になる。
 例えば処理部30は、所与の範囲、例えばパラメータの下限値及び上限値を初期値に設定する。そして出力相違度及び出力誤差を含む全体誤差を減少させるような学習処理を行い、判定対象誤差の減少度合いを判定する。判定対象誤差が十分減少していると判定された場合、当該下限値及び上限値は適切であると判定される。一方、誤差の減少幅が小さい場合、所与の範囲が広すぎることによって学習が困難になっていると判定される。よって処理部30は、所与の範囲を狭く更新する。例えば下限値を増加させる処理、及び上限値を減少させる処理の少なくとも一方を行う。なお、画像拡張が複数の処理の組み合わせである場合、全ての処理のパラメータについて上限値や下限値を更新してもよいし、一部の処理のパラメータについて上限値や下限値を更新してもよい。
 なおこのように実際の誤差の減少度合いを用いて所与の範囲を調整する場合、図4においてステップS111の終了条件が満たされた際に、判定対象誤差の減少度合いを判定してもよい。即ち、学習が完了した際に、判定対象誤差がどの程度減少したかに応じて、所与の範囲が適切であったか否かの判定を行ってもよい。ただし所与の範囲が広すぎた場合、当該所与の範囲を狭くした後に、再度、ステップS102~S110の処理を繰り返す必要がある。即ち、所与の範囲を設定する際の学習結果は、判定対象誤差の減少度合いによっては破棄される可能性がある。図10に示すように、誤差の減少度合いは、学習初期段階(E3)での誤差の減少幅、具体的にはグラフの傾きから判定することが可能である。或いは、誤差が十分に収束していないE4のような繰返し回数であっても、誤差の値の大小によって減少度合いを判定できる。即ち、判定対象誤差の減少度合いを判定する際の学習の繰返し回数は、学習の終了条件に比べて少ない回数であってもよい。
 また、判定対象誤差の減少度合いが高いか低いかの判定は、固定の閾値との比較によって行ってもよい。ただし、ニューラルネットワークの構成や学習に用いる画像等に応じて、誤差の減少度合いは変化する。そのため、固定の閾値を用いた場合、誤差が十分減少しているか否かの判定を正確に行えないおそれがある。
 よって処理部30は、比較対象として図10のE1に示す情報を用いてもよい。具体的には、処理部30は、出力誤差に基づいてニューラルネットワークの各層における重み係数を更新した場合の出力誤差(E1)の減少度合いと、出力相違度を含む全体誤差に基づいてニューラルネットワークの各層における重み係数を更新した場合の判定対象誤差(E2)の減少度合いの比較処理に基づいて、所与の範囲を設定する。このようにすれば、出力相違度を用いることによって、どの程度学習が困難になっているかを適切に判定することが可能になる。特に、比較対象が出力誤差であること考慮すれば、全体誤差のうちの出力誤差を判定対象誤差として用いてもよい。このようにすれば、出力誤差同士の比較となるため、誤差の減少度合いの高低を精度よく判定することが可能になる。
4.4 画像拡張領域
 また画像拡張部31は、入力画像のうちの一部の領域を画像拡張領域に設定してもよい。そして画像拡張部31は、入力画像の画像拡張領域に第1画像拡張を適用することによって第1拡張画像を生成し、入力画像の画像拡張領域に第2画像拡張を適用することによって第2拡張画像を生成する。このようにすれば、画像拡張を入力画像の一部の領域に限定して適用することが可能になる。
 例えば内視鏡装置によって撮像される生体内画像は、中央領域に比べて周縁領域が暗く、低コントラストになりやすい。そのため、適用画像の周縁領域に認識対象となる被写体が存在した場合、当該被写体は不鮮明に撮像される。例えば画像拡張部31は画像の周縁領域を画像拡張領域に設定し、明度を下げる明度補正処理や、平滑化度合いの高い平滑化処理を実行する。これにより、不鮮明な被写体の認識精度向上が可能になる。
 或いは、生体内画像においては被写体において鏡面反射された照明光が対物レンズに入射することによって、輝点が発生しやすい。輝点とは、輝度が高い領域であり、例えば白飛びが発生している領域である。特に撮像部と被写体が正対する位置関係にある場合、画像の中央領域に輝点が発生しやすくなる。この場合、画像拡張部31は画像の中央領域を画像拡張領域に設定し、画素値を最大値とするようなインパルスノイズを付加するノイズ付加処理を実行する。このようにすれば、画像中に輝点が発生する場合にも被写体の認識精度向上が可能になる。
 なお、以上の処理は一例であり、画像の周縁領域を画像拡張領域に設定する場合の画像拡張は、明度補正処理及び平滑化処理に限定されない。画像の中央領域を画像拡張領域に設定する場合の画像拡張は、ノイズ付加処理に限定されない。
 また、画像拡張領域は異なる観点から設定されてもよい。例えば入力画像のうち注目被写体を撮像した領域を注目領域とした場合に、注目領域に基づいて画像拡張領域が設定されてもよい。撮像態様によらず、注目被写体の認識精度を向上させるという観点からすれば、注目領域を画像拡張領域に設定するとよい。なお注目被写体とは、ユーザにとって観察の優先順位が他の被写体よりも相対的に高い被写体である。例えば、入力画像が生体内画像であり、ユーザが治療を行う医者である場合、注目被写体は、粘膜部や病変部である。上述したように注目被写体はポリープであってもよい。また、他の例として、医者が観察したいと欲した対象が泡や便であれば、注目被写体は、その泡や便になる。ユーザが注目すべき対象は、その観察目的によって異なるが、いずれにしても、その観察に際し、ユーザにとって観察の優先順位が他の被写体よりも相対的に高い被写体が注目被写体となる。
 ただし、入力画像において、注目領域と背景領域のコントラスト差が小さいケースも存在する。このような被写体はユーザの目視による検出が難しく、機械学習を用いた認識処理の対象とすることが望ましい。その場合に、注目領域に対して平滑化処理を含む画像拡張が行われた場合、元々小さかったコントラスト差がさらに小さくなってしまう。結果として、注目領域を検出するための学習が困難になるおそれがある。このようなケースが想定される場合、画像拡張部31は、注目領域を画像拡張の対象から除外する。即ち、入力画像のうち、注目領域を除いた領域が画像拡張領域に設定される。
 また、出力誤差算出部37は、入力画像のうちの一部の領域を用いて出力誤差を算出してもよい。例えば、入力画像のうち注目被写体を撮像した領域を注目領域とした場合に、注目領域に対応する領域で出力誤差を算出してもよい。
4.5 第2のニューラルネットワーク
 またニューラルネットワーク適用部33は、第1拡張画像を、ニューラルネットワークと一部の構造を共有する第2ニューラルネットワークに入力することによって第3出力を生成し、第2拡張画像を、第2ニューラルネットワークに入力することによって第4出力を生成してもよい。ニューラルネットワーク適用部33は、第3出力及び第4出力を出力相違度算出部35に出力する。
 出力相違度算出部35は、第3の出力と第4の出力との相違度を示す第2出力相違度を算出する。第2出力相違度は、第3出力と第4出力の差が大きいほど値が大きくなる数値情報である。第2出力相違度は、上記出力相違度と同様に、二乗誤差、Huber誤差、相互相関関数等に基づいて算出可能である。出力相違度算出部35は、第2出力相違度を重み係数更新部39に出力する。
 重み係数更新部39は、第2出力相違度に基づいて、ニューラルネットワークの各層における重み係数を更新する。なお、出力相違度もニューラルネットワークの各層における重み係数の更新に用いてもよい。例えば重み係数更新部39は、出力誤差と、出力相違度と、第2出力相違度との重み付け和に基づいて全体誤差を算出し、当該全体誤差を減少させるようにニューラルネットワークの各層の重み係数を更新する。
 図11は、第2ニューラルネットワーク、第3出力及び第4出力を説明する図である。図7を用いて上述した例と同様に、第1拡張画像をニューラルネットワークに入力することによって、第1出力が生成され、第2拡張画像をニューラルネットワークに入力することによって、第2出力が生成される。第1出力及び第2出力に基づいて出力相違度が求められる。なおニューラルネットワークに含まれる矩形は、それぞれニューラルネットワークにおける1つの層を表し、畳み込み層であってもよいしプーリング層であってもよいし、これら以外の層であってもよい。
 本実施形態における第2ニューラルネットワークは、例えば図11に示すように、ニューラルネットワークの入力層から、所与の中間層(F1)までに対応する。第1拡張画像を入力した場合、F1に示す中間層の出力は、その次の層(F2)に入力されるとともに、第3出力として出力相違度算出部35に出力される。同様に、第2拡張画像を入力した場合、F1に示す中間層の出力は、その次の層(F2)に入力されるとともに、第4出力として出力相違度算出部35に出力される。
 このようにすれば、第1出力と第2出力の差を小さくするとともに、第3出力と第4出力の差を小さくするような学習が可能になる。第2出力相違度は、F1及びそれよりも前段の層における誤差の減少に寄与する。ニューラルネットワークの出力だけでなく、中間層における変動も抑制されるため、より画像変動に強いニューラルネットワークを構築することが可能になる。
 なお、図11においてはF1に示す中間層の出力がそのまま第3出力又は第4出力として用いられる例について説明した。ただし第2ニューラルネットワークの構成はこれに限定されない。
 図12は、第2ニューラルネットワーク、第3出力及び第4出力を説明する他の図である。例えば第2ニューラルネットワークは、ニューラルネットワークの入力層から、所与の中間層(F1)までを含み、且つ、ニューラルネットワークに含まれない層(F3)から構成されてもよい。図12の例では、F1に示す中間層の出力は、F31に示す層に入力される。そしてF3に示す各層における処理を経て、F32に示す出力層から第3出力又は第4出力が出力される。なお、ここではF3が複数の層を含む例について説明したが、F3は1つの層であってもよい。
 図12に示す例においても、中間層における変動が抑制されるため、より画像変動に強いニューラルネットワークを構築することが可能になる。また図12においてはF1を中間層としたが、出力層に変更してもよい。即ち、第1出力や第2出力がF3に示す1又は複数の層に入力されることによって、第3出力や第4出力が出力されてもよい。
5.推論装置である画像処理装置
 以上では出力相違度に基づく学習処理を行う画像処理方法、及び学習装置10について説明した。本実施形態の手法は、適用画像を取得し、当該適用画像をニューラルネットワークに入力することによって、出力を生成し、当該出力に基づいて、適用画像を対象とした認識処理を行う画像処理方法に適用できる。なおここでは認識処理を例示したが、適用画像に対する画像処理は画像変換処理であってもよい。或いは本実施形態の手法は、学習結果に基づいて適用画像に対する処理を行う画像処理装置40に適用できる。
 図13は、画像処理装置40の構成例である。画像処理装置40は、画像取得部50と、処理部60と、記憶部70を含む。画像取得部50は、適用画像を取得する。記憶部70は、学習装置10によって生成された学習済モデルを記憶する。学習済モデルは、人工知能ソフトウェアの一部であるプログラムモジュールとして利用される。
 処理部60は、適用画像に対して、学習済モデルに基づく推論処理を行う。ここでの推論処理は、適用画像に対する画像処理に対応し、画像分類処理や物体検出処理等の認識処理であってもよいし、適用画像の画像変換処理であってもよい。処理部60は、記憶部70に記憶された学習済モデルからの指令に従って、入力である適用画像に対する画像処理の結果を出力するよう動作する。
 処理部60は、学習装置10の処理部30と同様に、種々のハードウェア、プロセッサにより実現される。記憶部70は、半導体メモリであってもよいし、レジスタであってもよいし、磁気記憶装置であってもよいし、光学式記憶装置であってもよい。なお処理部60は、学習済モデルに基づく処理を行うための専用ハードウェアを含んでもよい。ニューラルネットワークを用いる例であれば、処理部60は、畳み込み演算におけるフィルタ処理や、全結合層における積和演算処理を行う回路装置を含んでもよい。回路装置は、例えばFPGA(field-programmable gate array)等により実現できる。この場合、記憶部70は、学習済モデルとして重み係数を記憶し、当該重み係数に従って上記回路装置を含む処理部60が動作することによって、認識処理等が行われる。或いは、記憶部70は、フィルタ処理や積和演算処理を行うためのプログラムと、上記重み係数の両方を学習済モデルとして記憶してもよい。このように、処理部60が、記憶部70に記憶された学習済モデルからの指令に従って動作するための具体的な構成には、種々の変形実施が可能である。
 また、画像処理装置40は、1つの装置であってもよいし、複数の装置を含んでもよい。例えば、PC等の端末装置と、サーバーシステムとが連携して動作することによって、画像処理装置40が実現されてもよい。また、記憶部70はROMであってもよいしRAMであってもよい。具体的には、記憶部70に書き込まれた学習済モデルは、書き換え不可であってもよいし、書き換え可能であってもよい。書き換え可能である場合、例えば、学習済モデルの情報はサーバーシステムに集約されており、画像処理装置40の記憶部70は、サーバーシステムから取得した学習済モデルを記憶する。この場合、学習済モデルをサーバーシステム側で管理できるため、更新処理等が容易になる。
 ここで記憶部70が記憶する学習済モデルは、入力画像に第1画像拡張を適用することによって第1拡張画像を生成し、入力画像に第1画像拡張と異なる第2画像拡張を適用することによって第2拡張画像を生成し、第1拡張画像をニューラルネットワークに入力することによって第1出力を生成し、第2拡張画像をニューラルネットワークに入力することによって第2出力を生成し、第1出力と第2出力との相違度を示す出力相違度を算出し、出力相違度に基づいて、ニューラルネットワークの各層における重み係数を更新することによって学習されている。より具体的には、学習済モデルは、図4を用いて上述した各ステップを実行することによって学習されるモデルである。
 このようにすれば、出力相違度が小さくなるように学習された学習済モデルを用いて、適用画像に対する画像処理を実行することが可能になる。適用画像に色味や明るさの変動が生じ、当該変動が画像拡張における入力画像の変動量を超えるものであったとしても、画像処理の精度低下を抑制することが可能になる。
 また、本実施形態の画像処理装置40が行う処理を実現するプログラムは、例えばコンピュータによって読み取り可能な媒体である情報記憶装置に格納できる。ここでのプログラムとは、学習済モデルを含む。情報記憶装置は、例えば光ディスク、メモリーカード、HDD、或いは半導体メモリなどによって実現できる。処理部60は、情報記憶装置に格納されるプログラムに基づいて認識対象の検出処理を含む種々の処理を行う。即ち情報記憶装置は、画像処理装置40としてコンピュータを機能させるためのプログラムを記憶する。コンピュータは、入力装置、処理部、記憶部、出力部を備える装置である。プログラムは、画像処理装置40における処理、特に処理部60における処理をコンピュータに実行させるためのプログラムである。
 図14は、画像処理装置40における処理を説明するフローチャートである。この処理が開始されると、ステップS201において、画像取得部50は、適用画像を取得する。
 次にステップS202において、処理部60は、適用画像を学習済モデルであるニューラルネットワークに入力することによって、出力を生成する。ステップS202における処理は、図4のステップS106と同様に、設定された重み係数に従った畳み込み演算等である。
 そしてステップS203において、処理部60は、ステップS202の出力に基づいて認識処理を実行する。ステップS203における認識結果は、上述したように画像に撮像された被写体のカテゴリを特定する情報であってもよいし、被写体の位置まで特定可能な情報であってもよい。
 なお処理部60は、内視鏡装置によって撮像された生体内画像を適用画像として取得し、生体内画像を学習済モデルに入力することによって、生体内画像を対象とした認識処理を行ってもよい。認識対象は、生体内画像に撮像される注目被写体である。注目被写体とは、上述したとおり、ユーザにとって観察の優先度が他の被写体よりも高い被写体である。このようにすれば、生体内画像の観察において、認識対象である注目被写体の認識精度を高くすることが可能になる。この場合、画像処理装置40は、生体内画像を撮像する内視鏡装置に含まれてもよい。
 図15は、内視鏡装置12の構成例である。内視鏡装置12は、挿入部100と、外部I/F部200と、システム制御装置300と、表示部400と、光源装置500を含む。
 挿入部100は、体内へ挿入される部分である。挿入部100は、対物光学系110、撮像素子120、アクチュエータ130、照明レンズ140、ライトガイド150、AF(Auto Focus)開始/終了ボタン160を含む。
 ライトガイド150は、光源520からの照明光を、挿入部100の先端まで導光する。照明レンズ140は、ライトガイド150によって導光された照明光を被写体に照射する。対物光学系110は、被写体から反射した反射光を、被写体像として結像する。対物光学系110は、フォーカスレンズ111を含み、フォーカスレンズ111の位置に応じて被写体像が結像する位置を変更可能である。アクチュエータ130は、AF制御部360からの指示に基づいて、フォーカスレンズ111を駆動する。なお、AFは必須ではなく、内視鏡装置12はAF制御部360を含まない構成であってもよい。
 撮像素子120は、対物光学系110を経由した被写体からの光を受光する。撮像素子120はモノクロセンサであってもよいし、カラーフィルタを備えた素子であってもよい。カラーフィルタは、広く知られたベイヤフィルタであってもよいし、補色フィルタであってもよいし、他のフィルタであってもよい。補色フィルタとは、シアン、マゼンダ及びイエローの各色フィルタを含むフィルタである。
 AF開始/終了ボタン160は、ユーザがAFの開始/終了を操作するための操作インターフェースである。外部I/F部200は、内視鏡装置12に対するユーザからの入力を行うためのインターフェースである。外部I/F部200は、例えばAF制御モードの設定ボタン、AF領域の設定ボタン、画像処理パラメータの調整ボタンなどを含む。
 システム制御装置300は、画像処理やシステム全体の制御を行う。システム制御装置300は、A/D変換部310、前処理部320、検出部330、後処理部340、システム制御部350、AF制御部360、記憶部370を含む。システム制御装置300は、例えば図13の画像処理装置40を含む。A/D変換部310が、図13の画像取得部50に対応する。記憶部370が、図13の記憶部70に対応する。前処理部320、検出部330、後処理部340等が、図13の処理部60に対応する。
 A/D変換部310は、撮像素子120から順次出力されるアナログ信号をデジタルの画像に変換し、前処理部320に順次出力する。前処理部320は、A/D変換部310から順次出力される撮像画像に対して、各種補正処理を行い、検出部330、AF制御部360に順次出力する。補正処理とは、例えばホワイトバランス処理、ノイズ低減処理等を含む。
 検出部330は、記憶部370に記憶される学習済モデルに従って動作することによって、適用画像である撮像画像から注目被写体の認識処理を行う。学習済モデルがニューラルネットワークである場合、検出部330は、入力である適用画像に対して、学習によって決定された重み係数を用いて順方向の演算処理を行う。そして、出力層の出力に基づいて、認識処理の結果を出力する。
 後処理部340は、検出部330における検出処理結果に基づく後処理を行い、後処理後の画像を表示部400に出力する。ここでの後処理は、適用画像における認識対象の強調、検出結果を表す情報の付加等、種々の処理が考えられる。
 システム制御部350は、撮像素子120、AF開始/終了ボタン160、外部I/F部200、AF制御部360と互いに接続され、各部を制御する。具体的には、システム制御部350は、各種制御信号の入出力を行う。AF制御部360は、前処理部320から順次出力される適用画像を用いてAF制御を行う。
 表示部400は、後処理部340から出力される画像を順次表示する。表示部400は、例えば液晶ディスプレイやEL(Electro-Luminescence)ディスプレイ等である。光源装置500は、照明光を発光する光源520を含む。光源520は、キセノン光源であってもよいし、LEDであってもよいし、レーザー光源であってもよい。また光源520は他の光源であってもよく、発光方式は限定されない。
 なお、画像処理装置40は内視鏡装置12に含まれるものには限定されない。例えば画像処理装置40は、内視鏡装置12とは別体として設けられ、内視鏡装置12と通信可能なPC、サーバーシステム等であってもよい。
 なお、上記のように本実施形態について詳細に説明したが、本実施形態の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本開示の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また本実施形態及び変形例の全ての組み合わせも、本開示の範囲に含まれる。また学習装置、画像処理装置等の構成及び動作等も、本実施形態で説明したものに限定されず、種々の変形実施が可能である。
10…学習装置、12…内視鏡装置、20…取得部、30…処理部、31…画像拡張部、33…ニューラルネットワーク適用部、35…出力相違度算出部、37…出力誤差算出部、39…重み係数更新部、40…画像処理装置、50…画像取得部、60…処理部、70…記憶部、100…挿入部、110…対物光学系、111…フォーカスレンズ、120…撮像素子、130…アクチュエータ、140…照明レンズ、150…ライトガイド、160…AF開始/終了ボタン、200…外部I/F部、300…システム制御装置、310…A/D変換部、320…前処理部、330…検出部、340…後処理部、350…システム制御部、360…AF制御部、370…記憶部、400…表示部、500…光源装置、520…光源

Claims (17)

  1.  入力画像に第1画像拡張を適用することによって第1拡張画像を生成し、
     前記入力画像に前記第1画像拡張と異なる第2画像拡張を適用することによって第2拡張画像を生成し、
     前記第1拡張画像をニューラルネットワークに入力することによって第1出力を生成し、
     前記第2拡張画像を前記ニューラルネットワークに入力することによって第2出力を生成し、
     前記第1出力と前記第2出力との相違度を示す出力相違度を算出し、
     前記出力相違度に基づいて、前記ニューラルネットワークの各層における重み係数を更新する、
     ことを特徴とする画像処理方法。
  2.  請求項1において、
     前記入力画像に対応する正解ラベルを取得し、
     前記第1出力及び前記第2出力の少なくとも1つと、前記正解ラベルとに基づいて出力誤差を算出し、
     前記出力誤差と前記出力相違度との重み付け和を全体誤差として求め、
     前記全体誤差に基づいて、前記ニューラルネットワークの各層における前記重み係数を更新する、
     ことを特徴とする画像処理方法。
  3.  請求項2において、
     前記全体誤差を小さくするように、前記ニューラルネットワークの各層における前記重み係数を更新することを特徴とする画像処理方法。
  4.  請求項2又は3において、
     前記第1画像拡張を決定する第1パラメータと、前記第2画像拡張を決定する第2パラメータの差異が所与の範囲内であることを特徴とする画像処理方法。
  5.  請求項4において、
     前記出力誤差、又は、前記全体誤差を判定対象誤差とした場合に、
     前記重み係数の更新処理による前記判定対象誤差の減少度合いに基づいて、前記所与の範囲が設定されることを特徴とする画像処理方法。
  6.  請求項5において、
     前記出力誤差に基づいて、前記ニューラルネットワークの各層における前記重み係数を更新した場合の前記出力誤差の減少度合いと、
     前記全体誤差に基づいて、前記ニューラルネットワークの各層における前記重み係数を更新した場合の前記判定対象誤差の減少度合いの比較処理に基づいて、前記所与の範囲が設定されることを特徴とする画像処理方法。
  7.  請求項1乃至6のいずれか一項において、
     前記第1出力と前記第2出力の要素ごとに算出した二乗誤差、又は、前記第1出力と前記第2出力の前記要素ごとに算出したHuber誤差、又は、前記第1出力と前記第2出力の相互相関に基づいて、前記出力相違度を求めることを特徴とする画像処理方法。
  8.  請求項1乃至7のいずれか一項において、
     前記第1画像拡張は、色補正処理、明度補正処理、平滑化処理、鮮鋭化処理、ノイズ付加処理、及び、アフィン変換処理の少なくとも1つの処理を含み、
     前記第2画像拡張は、前記色補正処理、前記明度補正処理、前記平滑化処理、前記鮮鋭化処理、前記ノイズ付加処理、及び、前記アフィン変換処理の少なくとも1つの処理を含む、
     ことを特徴とする画像処理方法。
  9.  請求項1乃至8のいずれか一項において、
     前記入力画像のうちの一部の領域を画像拡張領域に設定し、
     前記入力画像の前記画像拡張領域に前記第1画像拡張を適用することによって前記第1拡張画像を生成し、
     前記入力画像の前記画像拡張領域に前記第2画像拡張を適用することによって前記第2拡張画像を生成する、
     ことを特徴とする画像処理方法。
  10.  請求項9において、
     前記入力画像のうち注目被写体を撮像した領域を注目領域とした場合に、
     前記注目領域に基づいて前記画像拡張領域を設定することを特徴とする画像処理方法。
  11.  請求項1乃至10のいずれか一項において、
     前記ニューラルネットワークは、畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)であることを特徴とする画像処理方法。
  12.  請求項1乃至11のいずれか一項において、
     適用画像を入力し、
     前記適用画像を前記ニューラルネットワークに入力することで、適用出力を生成し、
     前記適用出力に基づいて、前記適用画像を対象とした認識処理を行う、
     ことを特徴とする画像処理方法。
  13.  請求項1乃至12のいずれか一項において、
     前記第1拡張画像を、前記ニューラルネットワークと一部の構造を共有する第2ニューラルネットワークに入力することによって第3出力を生成し、
     前記第2拡張画像を、前記第2ニューラルネットワークに入力することによって第4出力を生成し、
     前記第3出力と前記第4出力との相違度を示す第2出力相違度を算出し、
     前記第2出力相違度に基づいて、前記ニューラルネットワークの各層における重み係数を更新する、
     ことを特徴とする画像処理方法。
  14.  ニューラルネットワークを用いた画像処理方法であって、
     前記ニューラルネットワークは、一つの入力画像に対して複数の異なる画像拡張を適用することにより生成した複数の拡張画像を、前記ニューラルネットワークに入力したときに、複数の前記拡張画像に対応する複数の出力間の相違度を含む誤差を用いて学習されており、
     第1適用画像を前記ニューラルネットワークに入力することによって、第1適用出力を生成し、
     前記第1適用出力に基づいて第1認識結果を生成し、
     第2適用画像を前記ニューラルネットワークに入力することによって、第2適用出力を生成し、
     前記第2適用出力に基づいて第2認識結果を生成し、
     前記第1適用画像と前記第2適用画像が対応する被写体を撮像しており、且つ、前記第1適用画像と前記第2適用画像との差異が、色合い、明るさ、及び、平滑化度合いの少なくとも1つの場合に、前記第1認識結果と前記第2認識結果とが同一となる、
     ことを特徴とする画像処理方法。
  15.  入力画像を取得する取得部と、
     前記入力画像に基づいて機械学習を行う処理部と、
     を含み、
     前記処理部は、
     前記入力画像に第1画像拡張を適用することによって第1拡張画像を生成し、
     前記入力画像に前記第1画像拡張と異なる第2画像拡張を適用することによって第2拡張画像を生成し、
     前記第1拡張画像をニューラルネットワークに入力することによって第1出力を生成し、
     前記第2拡張画像を前記ニューラルネットワークに入力することによって第2出力を生成し、
     前記第1出力と前記第2出力との相違度を示す出力相違度を算出し、
     前記出力相違度に基づいて、前記ニューラルネットワークの各層における重み係数を更新する、
     ことを特徴とする学習装置。
  16.  学習済モデルを記憶する記憶部と、
     前記学習済モデルに基づいて適用画像に対する画像処理を行う処理部と、
     を含み、
     前記学習済モデルは、
     入力画像に第1画像拡張を適用することによって第1拡張画像を生成し、
     前記入力画像に前記第1画像拡張と異なる第2画像拡張を適用することによって第2拡張画像を生成し、
     前記第1拡張画像をニューラルネットワークに入力することによって第1出力を生成し、
     前記第2拡張画像を前記ニューラルネットワークに入力することによって第2出力を生成し、
     前記第1出力と前記第2出力との相違度を示す出力相違度を算出し、
     前記出力相違度に基づいて、前記ニューラルネットワークの各層における重み係数を更新することによって学習されていることを特徴とする画像処理装置。
  17.  請求項16において、
     前記処理部は、
     内視鏡装置によって撮像された生体内画像を前記適用画像として取得し、前記生体内画像を前記学習済モデルに入力することによって、前記生体内画像を対象とした認識処理を行うことを特徴とする画像処理装置。
PCT/JP2019/046692 2019-11-29 2019-11-29 画像処理方法、学習装置及び画像処理装置 WO2021106174A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
PCT/JP2019/046692 WO2021106174A1 (ja) 2019-11-29 2019-11-29 画像処理方法、学習装置及び画像処理装置
CN201980099911.5A CN114365180A (zh) 2019-11-29 2019-11-29 图像处理方法、学习装置以及图像处理装置
JP2021561092A JP7231762B2 (ja) 2019-11-29 2019-11-29 画像処理方法、学習装置、画像処理装置及びプログラム
US17/569,205 US20220130136A1 (en) 2019-11-29 2022-01-05 Image processing method, training device, and image processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/046692 WO2021106174A1 (ja) 2019-11-29 2019-11-29 画像処理方法、学習装置及び画像処理装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/569,205 Continuation US20220130136A1 (en) 2019-11-29 2022-01-05 Image processing method, training device, and image processing device

Publications (1)

Publication Number Publication Date
WO2021106174A1 true WO2021106174A1 (ja) 2021-06-03

Family

ID=76129456

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/046692 WO2021106174A1 (ja) 2019-11-29 2019-11-29 画像処理方法、学習装置及び画像処理装置

Country Status (4)

Country Link
US (1) US20220130136A1 (ja)
JP (1) JP7231762B2 (ja)
CN (1) CN114365180A (ja)
WO (1) WO2021106174A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220108085A1 (en) * 2020-10-01 2022-04-07 Shrey Pathak Automated Patent Language Generation

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11592828B2 (en) * 2020-01-16 2023-02-28 Nvidia Corporation Using neural networks to perform fault detection in autonomous driving applications
US11587241B2 (en) 2020-05-29 2023-02-21 Wing Aviation Llc Detection of environmental changes to delivery zone
US11687780B2 (en) * 2020-07-02 2023-06-27 Samsung Electronics Co., Ltd Method and apparatus for data efficient semantic segmentation
TWI802906B (zh) * 2021-01-28 2023-05-21 旺宏電子股份有限公司 資料識別裝置及辨識方法
CN114708437B (zh) * 2022-06-02 2022-09-06 深圳比特微电子科技有限公司 目标检测模型的训练方法、目标检测方法、装置和介质
CN115661758A (zh) * 2022-11-15 2023-01-31 江西创成微电子有限公司 基于人工智能的公共场所人群密集度监测方法及其系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019003396A (ja) * 2017-06-15 2019-01-10 コニカミノルタ株式会社 目的物体検出装置、該方法およびプログラム
JP2019159958A (ja) * 2018-03-14 2019-09-19 オムロン株式会社 顔画像識別システム、識別器生成装置、識別装置、画像識別システム、及び識別システム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10915817B2 (en) * 2017-01-23 2021-02-09 Fotonation Limited Method of training a neural network
US10318889B2 (en) * 2017-06-26 2019-06-11 Konica Minolta Laboratory U.S.A., Inc. Targeted data augmentation using neural style transfer
US10753997B2 (en) * 2017-08-10 2020-08-25 Siemens Healthcare Gmbh Image standardization using generative adversarial networks
KR102641116B1 (ko) * 2018-08-23 2024-02-27 삼성전자주식회사 데이터 증강에 기초한 인식 모델 트레이닝 방법 및 장치, 이미지 인식 방법 및 장치
US11934944B2 (en) * 2018-10-04 2024-03-19 International Business Machines Corporation Neural networks using intra-loop data augmentation during network training
US11003909B2 (en) * 2019-03-20 2021-05-11 Raytheon Company Neural network trained by homographic augmentation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019003396A (ja) * 2017-06-15 2019-01-10 コニカミノルタ株式会社 目的物体検出装置、該方法およびプログラム
JP2019159958A (ja) * 2018-03-14 2019-09-19 オムロン株式会社 顔画像識別システム、識別器生成装置、識別装置、画像識別システム、及び識別システム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MATSUOKA YUMA: "Deep distance learning method with unsupervised learning", PROCEEDINGS OF THE 79TH NATIONAL CONVENTION OF IPSJ, vol. 79, 16 March 2017 (2017-03-16), pages 2-383 - 2-384, XP009529126 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220108085A1 (en) * 2020-10-01 2022-04-07 Shrey Pathak Automated Patent Language Generation
US11972225B2 (en) * 2020-10-01 2024-04-30 Shrey Pathak Automated patent language generation

Also Published As

Publication number Publication date
JP7231762B2 (ja) 2023-03-01
US20220130136A1 (en) 2022-04-28
CN114365180A (zh) 2022-04-15
JPWO2021106174A1 (ja) 2021-06-03

Similar Documents

Publication Publication Date Title
JP7231762B2 (ja) 画像処理方法、学習装置、画像処理装置及びプログラム
JP7104810B2 (ja) 画像処理システム、学習済みモデル及び画像処理方法
KR102574141B1 (ko) 이미지 디스플레이 방법 및 디바이스
US20220207728A1 (en) Quality assessment in video endoscopy
US11195055B2 (en) Image processing method, image processing apparatus, storage medium, image processing system, and manufacturing method of learnt model
JP2018092610A (ja) 画像認識装置、画像認識方法及びプログラム
CN106503724A (zh) 分类器生成装置、有缺陷/无缺陷确定装置和方法
Ozbulak Image colorization by capsule networks
JP7086878B2 (ja) 学習装置、学習方法、プログラムおよび認識装置
US20220335610A1 (en) Image processing system, training method for training device, and storage medium
Saleh et al. Adaptive uncertainty distribution in deep learning for unsupervised underwater image enhancement
US20220351483A1 (en) Image processing system, endoscope system, image processing method, and storage medium
JP6707131B2 (ja) 画像処理装置、学習装置、画像処理方法、識別基準の作成方法、学習方法およびプログラム
CN112836653A (zh) 人脸隐私化方法、设备、装置及计算机存储介质
CN110555820A (zh) 基于卷积神经网络和动态引导滤波的图像融合方法
Henz et al. Synthesizing camera noise using generative adversarial networks
Saleem et al. A non-reference evaluation of underwater image enhancement methods using a new underwater image dataset
Ghamsarian et al. Deblurring cataract surgery videos using a multi-scale deconvolutional neural network
JP2021082118A (ja) 学習方法、プログラム、学習装置、および、学習済みウエイトの製造方法
JP2019118670A (ja) 診断支援装置、画像処理方法及びプログラム
WO2021009804A1 (ja) 閾値の学習方法
Velte Semantic image segmentation combining visible and near-infrared channels with depth information
JP2021196995A (ja) 画像処理システム、画像処理方法及びプログラム
US20240029419A1 (en) Learning data generating apparatus, learning data generating method, and non-transitory recording medium having learning data generating program recorded thereon
Tchelet et al. Blind De-Blurring of Microscopy Images for Cornea Cell Counting

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: 19954220

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021561092

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19954220

Country of ref document: EP

Kind code of ref document: A1