WO2024111145A1 - ノイズ除去方法、ノイズ除去プログラム、ノイズ除去システム及び学習方法 - Google Patents

ノイズ除去方法、ノイズ除去プログラム、ノイズ除去システム及び学習方法 Download PDF

Info

Publication number
WO2024111145A1
WO2024111145A1 PCT/JP2023/023576 JP2023023576W WO2024111145A1 WO 2024111145 A1 WO2024111145 A1 WO 2024111145A1 JP 2023023576 W JP2023023576 W JP 2023023576W WO 2024111145 A1 WO2024111145 A1 WO 2024111145A1
Authority
WO
WIPO (PCT)
Prior art keywords
noise
data
learning
image
noise removal
Prior art date
Application number
PCT/JP2023/023576
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 浜松ホトニクス株式会社
Publication of WO2024111145A1 publication Critical patent/WO2024111145A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration

Definitions

  • the present invention relates to a noise removal method for removing noise from data having multiple values, a noise removal program and noise removal system, and a learning method for generating a learning model used for noise removal.
  • GPUs Graphics Processing Units
  • AI artificial intelligence
  • ASICs Application Specific Integrated Circuits
  • SOCs System on a Chip
  • AI dedicated chips for image noise removal can achieve lower costs and power consumption compared to using GPUs.
  • the data size of the image that can be used by the AI-dedicated chip may be smaller than the data size of the image that is the target of noise removal.
  • the image that is the target of noise removal may be an image in which the brightness value (pixel value) of each pixel is a 14-bit or 16-bit unsigned integer (uint)
  • the image that can be used by the AI-dedicated chip may be an image in which the brightness value of each pixel is an 8-bit integer (int).
  • the image to be denoised is quantised to reduce the image data size, making the image usable by the AI-dedicated chip, making it possible to remove noise using the AI-dedicated chip.
  • quantisation reduces the data size, the accuracy of the brightness values decreases, making it difficult to remove noise appropriately.
  • One embodiment of the present invention has been made in consideration of the above, and aims to provide a noise removal method, a noise removal program, a noise removal system, and a learning method that can enable appropriate noise removal from data having multiple values, such as images, even when using an AI-specific chip.
  • a noise removal method for removing noise from data having a plurality of values, and includes an acquisition step of acquiring noise removal target data having a plurality of values and being a target for noise removal, a first noise generation step of performing a first noise removal process on the noise removal target data acquired in the acquisition step to generate first noise data relating to noise to be removed by the first noise removal process, a second noise generation step of inputting the first noise data generated in the first noise generation step into a learning model previously generated by machine learning for generating second noise data relating to noise to be removed from the noise removal target data from the first noise data, thereby generating the second noise data, and a noise removal step of using the second noise data generated in the second noise generation step to generate data after noise removal from the noise removal target data acquired in the acquisition step.
  • first noise data generated by a first noise removal process on data to be removed is input to a learning model to generate second noise data, and the second noise data is used to generate data after noise removal. Because the first noise data is generated by the first noise removal process on data to be removed, it is possible to perform calculations related to noise removal using the learning model while suppressing deterioration of data accuracy. As a result, according to the noise removal method according to one embodiment of the present invention, even in cases where a dedicated AI chip is used, it is possible to appropriately remove noise from data having multiple values, such as images.
  • the data obtained by the first noise removal process may be quantized to generate first noise data
  • the second noise data generated in the second noise generation step may be inversely quantized to generate noise-removed data from the inversely quantized data.
  • quantization may be performed for each of a plurality of ranges of the magnitude of the plurality of values to generate a plurality of first noise data
  • the plurality of first noise data generated in the first noise generation step may be input to a learning model to generate second noise data.
  • the processing in the first noise generation step and the second noise generation step may be performed by processing devices with different performance.
  • calculations using a learning model can be performed by an AI-dedicated chip. This makes it possible to remove noise at low cost and with low power consumption.
  • the first noise removal process may be performed by applying a preset filter for performing the first noise removal process to the data to be noise removed, thereby generating the first noise data. Also, in the first noise generation step, the first noise removal process may be performed by performing a process for removing frequency components in a preset range on the data to be noise removed, thereby generating the first noise data. With these configurations, the first noise removal process can be performed appropriately and reliably. As a result, it is possible to perform appropriate and reliable noise removal.
  • magnitude data reflecting the magnitudes of multiple values of the data to be noise-removed may also be generated, and in the second noise generation step, the first noise data and the magnitude data generated in the first noise generation step may be input to a learning model to generate second noise data.
  • the magnitudes of multiple values of the data to be noise-removed may be taken into account in the learning model. As a result, even more appropriate noise removal may be possible.
  • the data to be denoised may be an image, spectral data or time series data. With this configuration, it is possible to perform appropriate noise removal from the image, spectral data or time series data.
  • one embodiment of the present invention can be described not only as a noise removal method invention as described above, but also as a noise removal program and a noise removal system invention as described below. These are essentially the same invention, just in different categories, and have similar functions and effects.
  • a noise removal program is a noise removal program that removes noise from data having a plurality of values, and causes the computer to function as an acquisition means for acquiring noise removal target data that has a plurality of values and is a target for noise removal, a first noise generation means for performing a first noise removal process on the noise removal target data acquired by the acquisition means to generate first noise data relating to the noise to be removed by the first noise removal process, a second noise generation means for inputting the first noise data generated by the first noise generation means into a learning model that has been generated in advance by machine learning for generating second noise data relating to the noise to be removed from the noise removal target data from the first noise data, thereby generating the second noise data, and a noise removal means for using the second noise data generated by the second noise generation means to generate data after noise removal from the noise removal target data acquired by the acquisition means.
  • a noise removal system is a noise removal system that removes noise from data having a plurality of values, and includes an acquisition means for acquiring noise removal target data that has a plurality of values and is a target for noise removal, a first noise generation means for performing a first noise removal process on the noise removal target data acquired by the acquisition means to generate first noise data relating to the noise to be removed by the first noise removal process, a second noise generation means for inputting the first noise data generated by the first noise generation means into a learning model that has been generated in advance by machine learning for generating second noise data relating to the noise to be removed from the noise removal target data from the first noise data, thereby generating the second noise data, and a noise removal means for using the second noise data generated by the second noise generation means to generate data after noise removal from the noise removal target data acquired by the acquisition means.
  • a learning method for generating a learning model used to remove noise from data having multiple values, and includes a learning acquisition step of acquiring learning data having multiple values and including noise, a learning first noise generation step of performing a first noise removal process on the learning data acquired in the learning acquisition step to generate learning first noise data relating to the noise removed by the first noise removal process, and a learning step of performing machine learning using the learning first noise data generated in the learning first noise generation step as an input to the learning model to generate a learning model.
  • a learning method it is possible to generate a learning model to be used in the above-mentioned noise removal method.
  • frequency components of the learning data acquired in the learning acquisition step may be generated, and a method for the first noise removal process may be determined based on the generated frequency components.
  • the first noise removal process can be performed in an appropriate method. As a result, even more appropriate noise removal can be achieved.
  • FIG. 1 is a diagram illustrating a configuration of a noise removal system and a learning system according to an embodiment of the present invention.
  • 1A and 1B are diagrams illustrating examples of images before and after quantization.
  • FIG. 1 is a diagram showing an example of quantized image contrast.
  • FIG. 13 is a diagram showing an example of structure contrast and noise contrast.
  • FIG. 13 is a diagram showing an example of an image related to processing up to input of the image into a learning model.
  • FIG. 13 is a diagram showing an example of an image related to the entire noise removal process.
  • 4 is a flowchart showing a noise removal method which is a process executed by the noise removal system according to the embodiment of the present invention.
  • FIG. 13 is a diagram showing that noise depends on the luminance value of an image.
  • FIG. 13 is a diagram showing another example of an image related to the processing up to inputting the image into the learning model.
  • FIG. 13 is a diagram showing another example of an image related to the processing up to inputting the image into the learning model.
  • FIG. 2 is a diagram showing an image to be subjected to noise removal and frequency components of the image.
  • FIG. 2 is a diagram showing a learning image and frequency components of the image.
  • FIG. 13 is a diagram showing frequency components related to a learning image.
  • 11 is a graph showing frequency components of a learning image.
  • FIG. 13 is a diagram showing filters that are candidates for use in a first noise removal process and frequency components of the filters.
  • 11 is a graph showing frequency components related to filters that are candidates for use in the first noise removal process.
  • FIG. 13 is a diagram showing images used in the examples. 1 is a table showing the results of Examples and Comparative Examples. 1A to 1C are diagrams showing examples of images according to an embodiment and a comparative example.
  • FIG. 11 is a diagram showing another example of images according to the embodiment and the comparative example.
  • FIG. 13 is a diagram showing still another example of the images according to the examples and comparative examples.
  • FIG. 13 is a diagram showing the speed of learning according to the present embodiment.
  • FIG. 2 is a diagram showing the configuration of a noise removal program and a learning program according to an embodiment of the present invention, together with a recording medium.
  • FIG. 1(a) shows a noise removal system 10 according to this embodiment.
  • FIG. 1(b) shows a learning system 20 according to this embodiment.
  • the noise removal system 10 is a system (apparatus) that removes noise from data having multiple values.
  • a learning model (trained model, inference model) generated by machine learning is used for noise removal by the noise removal system 10.
  • the learning system 20 is a system (apparatus) that performs machine learning to generate a learning model used by the noise removal system 10.
  • the data having multiple values from which noise is to be removed is, for example, an image.
  • the noise contained in the image is, for example, readout noise and shot noise.
  • the image from which noise is to be removed is, for example, an image of a substrate manufactured on a production line, and the image after noise removal is used to check for defects in the substrate.
  • the image from which noise is to be removed is an image of cells, and the image after noise removal is used for cell analysis.
  • the image from which noise is to be removed may be any image other than those mentioned above, so long as it contains noise.
  • the data having multiple values from which noise is to be removed does not have to be an image, and may be, for example, spectral data or time series data.
  • Spectral data is, for example, data on intensity versus wave number (wavelength, frequency).
  • Time series data is, for example, data on intensity for each time period, specifically, output data from a photomultiplier tube, or measurement data of biological information such as hemoglobin concentration.
  • the noise removal system 10 and the learning system 20 are configured to include a conventional computer including hardware such as a processor, a memory, and a communication module.
  • the noise removal system 10 may include a processor for performing calculations using a learning model and a processor for performing other calculations.
  • the processor for performing calculations using a learning model is, for example, an ASIC or SOC as an AI-dedicated chip.
  • the processor may be a CPU (Central Processing Unit) or a GPU (Graphics Processing Unit).
  • the processor for performing other calculations is, for example, an FPGA (Field Programmable Gate Array), a CPU, or a GPU.
  • the processor that performs calculations in the learning system 20 is, for example, a CPU or a GPU.
  • the noise removal system 10 and the learning system 20 may also include an imaging device such as a camera for acquiring images to be used in processing. Furthermore, the noise removal system 10 and the learning system 20 may be included in an imaging device such as a camera for acquiring images to be used in processing. In FIG. 1, the noise removal system 10 and the learning system 20 are shown as separate systems (devices), but they may be realized by the same system (device).
  • the computer constituting the noise removal system 10 and the learning system 20 may be a computer system including multiple computers.
  • the computer may also be configured using cloud computing or edge computing.
  • the functions of the noise removal system 10 and the learning system 20 described below are realized by these components operating through programs, etc.
  • AI-specific chip as a processor for performing calculations using a learning model in the noise removal system 10, it is possible to achieve lower costs and lower power consumption compared to, for example, using a GPU for calculations using a learning model.
  • the image data size available to the AI-dedicated chip may be smaller than the image data size of the image to be subjected to noise removal.
  • the image data size available to the AI-dedicated chip is assumed to be smaller than the image data size.
  • the image to be subjected to noise removal (an image obtained by capturing an image with an imaging device such as a camera) is an image in which the luminance value of each pixel is a 14-bit unsigned integer (uint14: 0 to 16383), and the image usable by the AI-dedicated chip is an image in which the luminance value of each pixel is an 8-bit integer (int: -128 to 127).
  • the AI-dedicated chip cannot handle an image with a luminance value of 14 bits. In order to handle this image with the AI-dedicated chip, as shown in FIG. 2, it is necessary to quantize the image so that the image can be handled by the AI-dedicated chip.
  • the horizontal axis indicates the pixel and the vertical axis indicates the luminance value.
  • Figure 3 shows the luminance values for each part of the image (the left graph of the four graphs in Figure 3) and the luminance values after quantization of that part (the right graph of the four graphs in Figure 3).
  • the contrast is relatively small (about 100 in the luminance value range), which is smaller than the 8-bit (256) resolution of the AI-dedicated chip. Therefore, as shown in the upper right graph, there is no loss in the accuracy of the luminance values after quantization, or the loss is small.
  • the contrast of an image is small, there is no loss of information related to luminance due to quantization, or there is only a small loss. In this case, appropriate noise removal is possible even when using a quantized image.
  • the contrast is relatively high (around 4500 in the brightness range), which is greater than the 8-bit (256) resolution of AI-dedicated chips. Therefore, as shown in the graph on the bottom right, the accuracy of the brightness values after quantization drops significantly. In other words, if the contrast of an image is high, there is a large loss of information related to brightness due to quantization, resulting in significant degradation of the image. In this case, using the quantized image as described above will not allow for appropriate noise removal.
  • This embodiment performs noise removal based on the above. By using an image from which brightness values related to the structure have been roughly removed to remove noise, this embodiment prevents accuracy from decreasing due to quantization, and performs appropriate noise removal even when calculations are performed using a learning model on an AI-only chip.
  • the noise removal system 10 includes an acquisition unit 11, a first noise generation unit 12, a second noise generation unit 13, and a noise removal unit 14.
  • the acquisition unit 11 is an acquisition means for acquiring data to be subjected to noise removal, which has a plurality of values and is a target for noise removal.
  • the data to be subjected to noise removal is an image.
  • the acquisition unit 11 acquires an image, for example, by receiving an image obtained by an imaging device such as a camera through imaging from the imaging device.
  • the imaging device that captures and acquires an image to be subjected to noise removal through imaging is, for example, a visible light camera or an X-ray camera.
  • the imaging device may also be something else.
  • the acquisition unit 11 may also acquire an image by accepting an image input operation by a user to the noise removal system 10.
  • the acquisition unit 11 may also acquire an image by any method other than the above.
  • the image acquired by the acquisition unit 11 has a larger data size than the image that can be input to the learning model used in the noise removal system 10 as described above (i.e., the image that can be used in an AI-dedicated chip).
  • the range (resolution) of the luminance values of each pixel is 8 bits in the image that can be input to the learning model, whereas it is 14 bits in the image acquired by the acquisition unit 11.
  • the acquisition unit 11 outputs the acquired image to the first noise generation unit 12.
  • the first noise generating unit 12 is a first noise generating means that performs a first noise removal process on the noise removal target data acquired by the acquiring unit 11, and generates first noise data related to the noise to be removed by the first noise removal process.
  • the first noise generating unit 12 may perform quantization on the data obtained by the first noise removal process to generate the first noise data.
  • the first noise generating unit 12 may apply a preset filter for performing the first noise removal process to the noise removal target data to generate the first noise data.
  • the first noise generating unit 12 may perform a process for removing frequency components in a preset range from the noise removal target data to generate the first noise data.
  • the first noise data is obtained by roughly excluding the luminance values corresponding to the structure from the luminance values of the image to be denoised. In other words, the first noise data is obtained by roughly excluding the contrast of the structure.
  • the first noise generating unit 12 generates the first noise data, for example, as follows.
  • the first noise generating unit 12 inputs an image to be subjected to noise removal from the acquiring unit 11.
  • the first noise generating unit 12 stores a preset filter for performing the first noise removal process in advance, and applies the filter to the input image.
  • the filter is, for example, a filter that smoothes the image.
  • the filter is a Gaussian filter, an averaging filter, a median filter, a bilateral filter, or the like.
  • Figures 5 and 6 show examples of an image 30 from which noise is to be removed and an image 31 after the filter has been applied. Also shown is a graph 50 of the luminance values for each pixel of the images 30 and 31. In the graph 50, the horizontal axis represents pixels and the vertical axis represents luminance values (the same applies to the following Figures 5 and 6). The line type in the graph 50 corresponds to the line type of the frame of each image.
  • Figures 5 and 6 show an example in which a Gaussian filter is applied to the image 30 from which noise is to be removed to generate an image 31 after the filter has been applied.
  • the first noise generating unit 12 generates a difference image between the image to be denoised and the image after the filter has been applied.
  • the first noise generating unit 12 generates a difference image in which the luminance value of each corresponding pixel is calculated by subtracting the luminance value of the image after the filter has been applied from the luminance value of the image to be denoised.
  • Figures 5 and 6 show an example of the difference image 32 and a graph 51 of the luminance value for each pixel of the difference image 32.
  • the luminance value of image 30 from which noise is to be removed includes structural contrast and noise.
  • the luminance value of difference image 32 includes (can be considered to include) some structure and noise.
  • the contrast of image 30 from which noise is to be removed is high, and the contrast of difference image 32 is low.
  • the scales of the vertical axes of the two graphs 50, 51 are different from each other, and the scale of the graph of difference image 32 is finer than that of graph 50 of image 30 from which noise is to be removed.
  • a difference image that includes noise and has low contrast can suppress a loss of accuracy even when quantization is performed.
  • the first noise generating unit 12 may perform a process of removing frequency components in a preset range from the image to be noise-removed, instead of applying a filter, as the first noise removal process.
  • the first noise generating unit 12 performs FFT (fast Fourier transform) or wavelet transform, etc., on the image to be noise-removed to generate frequency components of the image to be noise-removed.
  • the first noise generating unit 12 stores a frequency threshold in advance and removes frequency components with frequencies equal to or higher than the stored threshold. Since noise is usually a high-frequency component, the high-frequency components are removed in this manner.
  • the first noise generating unit 12 performs an inverse transform of the frequency components after the above-mentioned removal to generate an image after the frequency components have been removed.
  • the first noise generating unit 12 generates an image of the difference between the image to be noise-removed and the image after the frequency components have been removed.
  • the first noise generating unit 12 may generate an image of the difference between the image to be noise-removed and the image after the frequency components have been removed by combining the process related to the filter and the process related to the frequency components.
  • the first noise generating unit 12 quantizes the difference image. Quantization is a process for making an image usable by an AI-dedicated chip. The resolution of each pixel in the quantized image is that of an image usable by an AI-dedicated chip. The quantized image is the first noise data.
  • Figure 6 shows an example of a quantized image 33, which is the first noise data generated from the difference image 32, and a graph 52 of the brightness value for each pixel of the quantized image 33.
  • the first noise generating unit 12 outputs the quantized image, which is the generated first noise data, to the second noise generating unit 13. Note that the first noise generating unit 12 may output the difference image 33 to the second noise generating unit 13 without quantizing it.
  • the first noise data does not necessarily have to be the noise data described above, but may be, for example, data that contains the noise of the image from which noise is to be removed and has a smaller contrast than the image from which noise is to be removed. Furthermore, the first noise generating unit 12 does not necessarily have to generate (generate) the first noise data as described above, but may simply perform some kind of first noise removal process to generate first noise data related to the noise to be removed by the first noise removal process.
  • the second noise generating unit 13 is a second noise generating means that inputs the first noise data generated by the first noise generating unit 12 into a learning model that has been generated in advance by machine learning, and generates the second noise data.
  • the learning model is for generating, from the first noise data, second noise data related to the noise to be removed from the noise removal target data.
  • the second noise data indicates noise to be removed from the noise removal target data. That is, the number of pixels and resolution of the second noise data are the same as those of the first noise data. Note that in this embodiment, the first noise data used to generate the second noise data is quantized, and therefore the second noise data is the quantized version of that noise. However, if an unquantized image is output from the first noise generating unit 12, the second noise data is the unquantized version of that noise.
  • the second noise generating unit 13 generates the second noise data, for example, as follows.
  • the second noise generating unit 13 inputs an image of the difference after quantization, which is the first noise data, from the first noise generating unit 12.
  • the second noise generating unit 13 stores a learning model in advance.
  • the learning model is a model that inputs the first noise data and outputs (infers) the second noise data.
  • the learning model is generated by machine learning using the learning system 20, as described below.
  • the learning model includes, for example, a neural network.
  • the neural network may be multi-layered.
  • the learning model may be generated by deep learning.
  • the learning model has neurons for inputting the first noise data to the input layer.
  • the information input to the learning model is the luminance value of each pixel of the image, which is the first noise data.
  • the input layer has neurons equal to the number of pixels in the image, and the luminance value of the corresponding pixel is input to each neuron.
  • the learning model is provided with neurons for outputting the second noise data to the output layer.
  • the information output from the learning model is the luminance value of each pixel of the image, which is the second noise data.
  • the output layer is provided with neurons equal to the number of pixels in the image, and each neuron outputs the luminance value of the corresponding pixel.
  • the learning model is expected to be used as a program module that is part of artificial intelligence software.
  • the learning model is used, for example, in a computer equipped with a processor and memory, and the computer's processor operates according to instructions from the model stored in the memory.
  • the computer's processor operates to input information to the model according to the instructions, perform calculations according to the model, and output results from the model.
  • the computer's processor operates to input information to the input layer of a neural network according to the instructions, perform calculations based on parameters such as the learning weighting coefficients in the neural network, and output results from the output layer of the neural network.
  • the learning model may be composed of something other than a neural network.
  • the second noise generating unit 13 inputs the first noise data into a learning model and performs a calculation according to the learning model to generate second noise data.
  • the generated second noise data is the first noise data from which part of the structure contained in the first noise data has been removed, i.e., the second noise data is (is assumed to be) related only to noise that does not include structure.
  • FIG. 6 shows an example of an image 34, which is the second noise data generated from an image 33, which is the first noise data, and a graph 53 of the brightness value for each pixel of the image 34.
  • the second noise generating unit 13 outputs the generated second noise data to the noise removing unit 14.
  • the processing by the first noise generating unit 12 and the processing by the second noise generating unit 13 may be performed by processing devices with different performance.
  • the first noise generating unit 12 is realized by a processor that can handle the image (with the resolution) to be denoised
  • the second noise generating unit 13 is realized by the AI-dedicated chip described above that can only handle quantized images.
  • the frequency components of the signal contained in the image to be noise-removed will depend on the imaging device that captured the image (e.g., the magnification of the lens used in the imaging device).Furthermore, the frequency components of the signal will depend on the imaging subject of the image (e.g., whether it is an image of a substrate or an image of cells).
  • the above-mentioned first noise removal process and learning model may be adapted to the type of imaging device or the type of imaging subject related to the image to be noise-removed, or a combination thereof.
  • the noise removal unit 14 is a noise removal means that uses the second noise data generated by the second noise generation unit 13 to generate data after noise removal from the noise removal target data acquired by the acquisition unit 11.
  • the noise removal unit 14 may perform inverse quantization on the second noise data generated by the second noise generation unit 13, and generate data after noise removal from the inverse quantized data.
  • the noise removal unit 14 generates data after noise removal, for example, as follows:
  • the noise removal unit 14 inputs the second noise data from the second noise generation unit 13.
  • the noise removal unit 14 performs inverse quantization on the input second noise data.
  • the inverse quantization corresponds to the quantization performed by the first noise generation unit 12, and is a process of obtaining an image with the resolution of the image that is the data to be noise removed.
  • the inverse quantized image is an image of the noise to be removed from the data to be noise removed.
  • the inverse quantization may be performed by a conventional method.
  • the inverse quantization is performed by calculating the luminance value of the inverse quantized image from the luminance value of the image that is the second noise data for each pixel.
  • the luminance value of the inverse quantized image is calculated by the following formula.
  • the number and positional relationship of pixels do not change before and after the inverse quantization.
  • FIG. 6 shows an example of an image (noise image) 35 generated by inverse quantization of an image 34 that is the second noise data, and a graph 54 of the luminance value for each pixel of the image 35.
  • the noise removal unit 14 generates a post-noise removal image, which is a difference image between the image to be removed from and the image after inverse quantization.
  • the noise removal unit 14 generates a post-noise removal image in which the luminance value of each corresponding pixel is calculated by subtracting the luminance value of the image after inverse quantization from the luminance value of the image to be removed from the luminance value of the image after inverse quantization.
  • Figure 6 shows an example of a post-noise removal image 36, and a graph 55 of the luminance values for each pixel of the image 36.
  • the noise removal unit 14 outputs the generated image after noise removal.
  • the image after noise removal may be output in the same manner as in conventional methods depending on the intended use of the image. These are the functions of the noise removal system 10 according to this embodiment.
  • the learning system 20 includes a learning acquisition unit 21, a learning first noise generation unit 22, and a learning unit 23.
  • the learning acquisition unit 21 is a learning acquisition means that acquires learning data having multiple values and including noise.
  • the learning acquisition unit 21 acquires an image including noise as learning data.
  • the number of pixels and resolution of the learning image (sample image) that is the learning data is the same as that of the image from which noise is to be removed.
  • the image including noise is, for example, an image captured by an imaging device.
  • the image including noise may also be an image in which noise has been added by simulation to an image that does not include noise.
  • the learning images may be images captured by the same (same type) imaging device as the images from which noise is to be removed.
  • the learning images may also be images of a similar (same type) imaging object (for example, an image of a substrate or an image of cells). This allows the learning models generated by the learning system 20 to be for each type of imaging device or each type of imaging object, or for each combination of these. In this way, by generating a learning model from the learning images together with the images from which noise is to be removed, a learning model that enables more appropriate noise removal can be obtained.
  • the learning acquisition unit 21 acquires images, for example, by receiving learning images from an imaging device in the same manner as the image to be noise removed.
  • the learning acquisition unit 21 may also acquire learning images by accepting an image input operation by a user to the learning system 20.
  • the learning acquisition unit 21 may also acquire images by any method other than the above.
  • the learning acquisition unit 21 acquires a number of learning images sufficient to appropriately perform machine learning, which will be described later.
  • the learning acquisition unit 21 outputs the acquired learning images to the learning first noise generation unit 22.
  • the learning first noise generating unit 22 is a learning first noise generating means that performs a first noise removal process on the learning data acquired by the learning acquisition unit 21, and generates learning first noise data related to the noise removed by the first noise removal process.
  • the first noise data for training is obtained by roughly excluding the luminance values of the training image that correspond to objects (i.e., other than noise) that appear in the image.
  • the first noise data for training is obtained by roughly excluding the contrast of structures.
  • the learning first noise generating unit 22 inputs a learning image from the learning acquisition unit 21.
  • the learning first noise generating unit 22 generates learning first noise data for each learning image in the same manner as the generation of first noise data from the image to be denoised by the first noise generating unit 12.
  • the first noise removal process and quantisation used to generate the learning first noise data are the same as those used to generate the first noise data in the noise removal system 10.
  • the learning first noise generating unit 22 outputs the quantised image, which is the generated learning first noise data, to the learning unit 23. Note that the learning first noise generating unit 22 may output an unquantised difference image to the learning unit 23.
  • the learning unit 23 is a learning means that performs machine learning using the first noise data for learning generated by the first noise generation unit for learning 22 as an input to the learning model to generate a learning model.
  • the learning unit 23 performs machine learning to generate a learning model as follows.
  • the learning unit 23 inputs an image of the difference after quantization, which is the first learning noise data, from the first learning noise data.
  • the learning unit 23 inputs the first learning noise data to the learning model and generates the second learning noise data by performing a calculation according to the learning model.
  • the second learning noise data is generated in the same manner as the generation of the second noise data described above.
  • the second learning noise data is noise that has been quantized, similar to the second noise data described above. However, when an unquantized image is output from the first learning noise generating unit 22, the second learning noise data is noise that has not been quantized.
  • the learning unit 23 performs inverse quantization on the second noise data for training.
  • the learning unit 23 generates an image after noise removal that is the difference between the image that is the training data and the image after inverse quantization.
  • the inverse quantization used to generate the second noise data for training and the method of generating the image after noise removal are the same as those used to generate the second noise data and those used to generate the image after noise removal in the noise removal system 10.
  • the learning unit 23 performs machine learning, i.e., updates the parameters of the learning model, using the generated noise-removed image that corresponds to the learning image.
  • the machine learning itself using the noise-removed image may be performed in the same manner as conventional machine learning methods such as backpropagation. For example, a noise-free image that corresponds to the learning image is acquired in advance as a teacher image, and learning is performed so that there is no error between the generated noise-removed image and the teacher image.
  • learning can be performed in the same way as with conventional machine learning methods. For example, learning can be performed using Noise2Noise, using multiple learning images that differ only in noise.
  • the learning unit 23 outputs the generated learning model to the noise removal system 10.
  • the noise removal system 10 inputs and stores the learning model input from the learning system 20, and uses it to remove noise from the image described above.
  • the generation of a learning model usually does not require low cost and low power consumption as much as the removal of noise. Therefore, the learning system 20 may be realized by a processor that can handle all images (with the resolution of images) to be subjected to noise removal, without using a dedicated AI chip. However, even in the generation of the learning model, a dedicated AI chip may be used for calculations using the learning model. The above are the functions of the learning system 20 according to this embodiment.
  • the acquisition unit 11 acquires data to be removed by noise removal (S01, acquisition step).
  • the first noise generation unit 12 performs a first noise removal process on the data to be removed by noise removal, and generates first noise data related to the noise to be removed by the first noise removal process (S02, first noise generation step).
  • the first noise data is generated by quantizing the data obtained by the first noise removal process. Note that the first noise data may be data that has not been quantized with respect to the data obtained by the first noise removal process.
  • the second noise generation unit 13 inputs the first noise data into the learning model to generate second noise data (S03, second noise generation step).
  • the noise removal unit 14 uses the second noise data to generate noise-removed data from the data to be denoised (S04, noise removal step).
  • the second noise data is inversely quantised and then used to generate noise-removed data.
  • the noise-removed data which is the result of the noise removal, is output from the noise removal unit 14 to a specified output destination (S05). This concludes the noise removal method, which is the processing executed by the noise removal system 10 according to this embodiment.
  • learning data is acquired by the learning acquisition unit 21 (S11, learning acquisition step).
  • a first noise removal process is performed on the learning data by the learning first noise generation unit 22, and first noise data for learning related to the noise removed by the first noise removal process is generated (S12, learning first noise generation step).
  • the first noise data for learning is generated by quantizing the data obtained by the first noise removal process. Note that the first noise data for learning may be data that has not been quantized with respect to the data obtained by the first noise removal process.
  • the learning unit 23 inputs the first noise data for training into a learning model, performs machine learning, and generates a learning model (S13, learning step).
  • the generated learning model is output from the learning system 20 to the noise removal system 10 (S14).
  • the noise removal system 10 stores the learning model and uses it in the above-mentioned processing.
  • the above is the learning method, which is the processing executed by the learning system 20 according to this embodiment.
  • the first noise data generated by the first noise removal process for the image to be noise removed is input to the learning model to generate the second noise data, and the second noise data is used to generate the image after noise removal.
  • the image 33 which is the first noise data
  • the image 33 is based on the difference image 32 in which the contrast change of the structure in the image 30 to be noise removed is roughly removed by the first noise removal process.
  • the range of brightness values of the difference image 32 is usually smaller than that of the image 30 to be noise removed.
  • quantization may be performed when generating the first noise data
  • inverse quantization may be performed when generating data after noise removal.
  • the first noise data can be made appropriate according to the calculation using the learning model.
  • the first noise data can be made appropriate according to the performance of an AI-dedicated chip that performs the calculation using the learning model.
  • appropriate and reliable noise removal can be made possible.
  • the noise removal system 10 if an image with the data size of the image to be removed can be used, it is not necessarily necessary to perform quantization and inverse quantization, and the data before quantization may be input to the learning model as the first noise data to perform noise removal.
  • the processing by the first noise generating unit 12 and the processing by the second noise generating unit 13 may be performed by processing devices with different performance as described above.
  • processing devices with different performance as described above.
  • the processing by the first noise generating unit 12 and the processing by the second noise generating unit 13 may be performed by the same processing device.
  • the first noise removal process may be performed using a filter. Furthermore, the first noise removal process may be performed by removing frequency components. With these configurations, the first noise removal process can be performed appropriately and reliably. As a result, appropriate and reliable noise removal can be achieved.
  • the first noise removal process does not necessarily have to be performed as described above, and any noise removal process can be used as long as it can roughly remove contrast changes of structures in the image to be removed.
  • the information input to the learning model corresponds to an image 32 that is the difference between the image 30 to be removed from and the image 31 after the first noise removal process.
  • the image 32 that is the difference most of the magnitude of the original luminance value of the image 30 to be removed from is lost, and therefore the calculation of the learning model does not fully take into account the magnitude of the original luminance value of the image 30 to be removed from.
  • the noise contained in an image usually corresponds to the magnitude of the image's luminance value.
  • Fig. 9(a) shows a graph showing the relationship between the luminance value of an image and the standard deviation of the noise contained in the image.
  • Fig. 9(b) shows a graph of an example of the luminance value for each pixel.
  • the part where the luminance value varies within the range indicated by the arrow corresponds to noise.
  • the distribution of noise luminance values at low luminance takes a Poisson distribution, while the distribution of luminance values at high luminance takes a Gaussian distribution; the distribution of noise luminance values differs depending on the luminance value.
  • the noise removal system 10 and the learning system 20 may have the following configuration.
  • the first noise generating unit 12 also generates magnitude data reflecting the magnitudes of multiple values of the data to be denoised.
  • the second noise generating unit 13 inputs the first noise data and the magnitude data generated by the first noise generating unit 12 into a learning model to generate second noise data. Specifically, for example, it has the following configuration.
  • the first noise generating unit 12 generates, from the image 30 to be subjected to noise removal, an image 32 for generating the first noise data, as well as an image 37 (magnitude data) indicating the magnitude of the luminance value of each pixel of the data to be subjected to noise removal.
  • the first noise generating unit 12 performs quantization on the image 30 to be subjected to noise removal to generate the image 37, which is the magnitude data. For example, as shown in the graph in FIG.
  • the first noise generating unit 12 performs quantization to linearly convert the resolution of the luminance value of the image 30 to be subjected to noise removal (0 to 16383) into the resolution of the luminance value of the image of the AI dedicated chip (-128 to 127), to generate the image 37, which is the magnitude data.
  • the first noise generating unit 12 outputs the image 33 of the first noise data generated from the image 32 and the image 37, which is the magnitude data, to the second noise generating unit 13.
  • the second noise generating unit 13 inputs these images 33, 37 from the first noise generating unit 12.
  • the learning model used in this configuration is capable of inputting these images 33, 37.
  • the input layer of the learning model is provided with a neuron for inputting image 33, which is the first noise data, and a neuron for inputting image 37, which is magnitude data.
  • the input layer of the learning model is capable of inputting images of two ch (channels), of which ch1 is image 33, which is the first noise data, and ch2 is image 37, which is magnitude data. Even in this configuration, the output from the learning model is only the second noise data.
  • the second noise generating unit 13 inputs the image 32, which is the first noise data, and the image 37, which is the magnitude data, into the learning model and performs a calculation according to the learning model to generate the second noise data.
  • noise removal is performed in the same manner as in the above-mentioned embodiment except for the above.
  • the magnitude data does not necessarily have to be the above-mentioned one, and it is sufficient if it reflects the magnitude of the luminance value of each pixel of the image to be removed from. Furthermore, if the data to be removed from is something other than an image, the magnitude data is sufficient if it reflects the magnitude of each individual value.
  • the magnitude data may be as follows: As described above, the standard deviation of noise contained in an image corresponds to the luminance value of the image. Therefore, instead of directly using the luminance value of a pixel as the magnitude data as described above, the magnitude data may be generated from the standard deviation of noise calculated (estimated) from the luminance value of each pixel. As shown below, the standard deviation of noise is, for example, a value equivalent to the square root of the luminance value, so there is less change compared to the luminance value and it is less susceptible to the effects of quantization.
  • the first noise generating unit 12 calculates the standard deviation of noise from the luminance value of each pixel of the image 30 from which noise is to be removed, based on the relationship between the pixel value and the standard deviation of noise stored in advance.
  • the relationship for calculating the standard deviation of noise from the luminance value depends on, for example, the type of imaging device (image sensor) that captures the image 30 from which noise is to be removed.
  • CCD visible light charge coupled device
  • CMOS visible light complementary metal oxide semiconductor
  • the following relational expression can be used as the above relation.
  • the variables in the above formula indicate the following: Noise: Standard deviation of noise (calculated)
  • Cf Conversion factor [photon/count]
  • Signal luminance value of pixel
  • D dark current luminance value
  • R readout noise
  • Cf, D, and R are inherent values according to the imaging device (imaging element), and values preset according to the imaging device (imaging element) are used.
  • a graph showing the relationship between the luminance value calculated from actual measurements using an imaging device (image sensor) that captures the image 30 to be noise-removed and the standard deviation of the noise may be used.
  • the graph is calculated, for example, as follows. First, an image is captured while the intensity of the light source is changed in stages in a state where there is no object to be captured. Then, the average luminance value and standard deviation are calculated for each of a number of images captured with different light source intensities, and this is graphed as the relationship between the luminance value and the standard deviation of the noise.
  • the first noise generating unit 12 may store a lookup table created from the graph in which the standard deviation of the noise is assigned to the luminance value.
  • the first noise generating unit 12 creates an image whose pixel value is the standard deviation of noise calculated for each pixel of the image 30 to be denoised.
  • the first noise generating unit 12 quantises the created image to generate an image which is magnitude data.
  • the first noise generating unit 12 performs quantisation to linearly convert the range of pixel values of the created image from the minimum value (minimum value of the standard deviation of noise) to the maximum value (maximum value of the standard deviation of noise) into the resolution of the luminance values of the image of the AI dedicated chip, to generate an image which is magnitude data.
  • the generated magnitude data may be used in the same manner as described above.
  • the first noise generation unit 22 for learning generates an image, which is magnitude data, from an image, which is learning data, in the same manner as described above.
  • the learning unit 23 performs machine learning using the first noise data for learning and the magnitude data as input to the learning model to generate a learning model.
  • the learning model is generated in the same manner as in the above-mentioned embodiment.
  • magnitude data is generated and used as input to the learning model, which allows the learning model to take into account the magnitude of the original luminance values of the image to be denoised. As a result, more appropriate noise removal can be achieved.
  • the noise removal system 10 and the learning system 20 may have the following configuration.
  • the first noise generating unit 12 performs quantization for each of a plurality of ranges of magnitudes of a plurality of values to generate a plurality of first noise data.
  • the second noise generating unit 13 inputs the plurality of first noise data generated by the first noise generating unit 12 into a learning model to generate second noise data. Specifically, for example, it has the following configuration.
  • the first noise generating unit 12 quantizes an image 32 for generating the first noise data (a difference image 32 between an image 30 to be noise-removed and an image 31 after the first noise removal process) for each different luminance value range to generate a plurality of images 33a, 33b that are the first noise data.
  • the luminance value range is set in advance for each of the images 33a, 33b that are the first noise data to be generated.
  • the first noise generating unit 12 generates image 33a from a luminance value range of -200 to 200 in the difference image 32, and generates image 33b from a luminance value range of -100 to 100 in the difference image 32.
  • the graphs shown to the right of each image 33a, 33b in Figure 11 are histograms for each luminance value of the image 33a, 33b.
  • Image 33a covers a relatively wide range of luminance values but has relatively low accuracy
  • image 33b covers a relatively narrow range of luminance values but has relatively high accuracy.
  • the first noise generating unit 12 outputs the images 33a, 33b, which are the multiple first noise data that it has generated, to the second noise generating unit 13.
  • the second noise generating unit 13 inputs images 33a and 33b, which are a plurality of first noise data, from the first noise generating unit 12.
  • the learning model used in this configuration is capable of inputting these images 33a and 33b.
  • the input layer of the learning model is provided with a neuron for inputting image 33a, which is one of the first noise data, and a neuron for inputting image 33b, which is the other of the first noise data. That is, the input layer of the learning model is capable of inputting images of two ch (channels), of which ch1 is image 33a, which is one of the first noise data, and ch2 is image 33b, which is the other of the first noise data.
  • the output from the learning model is only one piece of second noise data.
  • the second noise generating unit 13 inputs the images 33a and 33b, which are multiple pieces of first noise data, into a learning model and performs a calculation according to the learning model to generate second noise data.
  • noise removal is performed in the same manner as in the above-mentioned embodiment except for the above.
  • the learning first noise generating unit 22 generates a plurality of images that are the learning first noise data from images for generating the learning first noise data in the same manner as described above.
  • the learning unit 23 performs machine learning using the images that are the plurality of learning first noise data as input to the learning model to generate a learning model.
  • the learning model is generated in the same manner as in the above-described embodiment.
  • the range of luminance values for generating an image that is a plurality of first noise data is set so as to achieve the above. For example, as shown in FIG. 11, a quantized image 33a that covers a wide range of luminance values and a quantized image 33b that has a narrow range but high accuracy are generated. In the example shown in FIG. 11, one luminance value range includes the other luminance value range, but other ranges are also possible. In the above, an example of generating two images that are first noise data is shown, but three or more luminance value ranges may be set to generate three or more images that are first noise data.
  • the second noise data may be generated by inputting both the magnitude data and the multiple first noise data to a learning model.
  • the image 32 used to generate the first noise data obtained by the first noise removal process should ideally contain only noise as much as possible.
  • FIG. 12 shows a spectral image 70 showing the frequency components obtained by performing an FFT on image 30 from which noise is to be removed, and a graph 71 corresponding to said spectral image 70.
  • spectral image 70 and graph 71 the closer to the center the lower the frequency (the center is frequency 0), and the further away from the center the higher the frequency.
  • graph 71 in FIG. 12 the horizontal axis represents frequency and the vertical axis represents frequency components.
  • signal spectrum 71a of the signal portion of image 30 portion from which noise has been removed
  • noise spectrum 71b of the noise portion of image 30 has uniform frequency components regardless of frequency.
  • the learning system 20 may have the following configuration.
  • the learning first noise generating unit 22 may determine the method of the first noise removal process based on the frequency components acquired by the learning acquiring unit 21. Specifically, for example, the following configuration is adopted.
  • the method of the first noise removal process by the learning first noise generating unit 22 is determined, for example, as follows.
  • multiple filters filter group
  • the multiple filters may include filters of different types (average filter, Gaussian filter, median filter, bilateral filter, etc.).
  • the multiple filters may include filters with different filter sizes.
  • the multiple filters may include filters with different standard deviations. When a Gaussian filter is used, the standard deviation is the standard deviation of a Gaussian distribution.
  • the first noise removal process is to generate frequency components by performing FFT (fast Fourier transform) or wavelet transform
  • a threshold value for removing the frequency components is determined.
  • the method of the first noise removal process by the learning first noise generating unit 22 may be determined in a manner other than the above, as long as it is performed using the frequency components of the learning data.
  • the first noise removal process may be performed according to the type of imaging device or the type of imaging target related to the image to be removed, or a combination thereof. Therefore, as described in the description of the generation of the learning model, the learning images used to determine the first noise removal process may be performed according to the type of imaging device or the type of imaging target, or a combination thereof.
  • the first noise removal process is determined and the learning model is generated for each of the learning images (image group 1) of cell images and the lens of the imaging device with a magnification of 20 times, the learning images (image group 2) of cell images and the lens of the imaging device with a magnification of 40 times, the learning images (image group 3) of board images and the lens of the imaging device with a magnification of 20 times, and the learning images (image group 4) of board images and the lens of the imaging device with a magnification of 40 times, and when performing noise removal, the first noise removal process and the learning model corresponding to the image to be removed may be used.
  • the first noise generating unit for learning 22 determines the method of the first noise removal process, for example, as follows.
  • the first noise generating unit for learning 22 performs FFT or the like on each image for learning to generate frequency components of the image and calculate a spectral image.
  • FIG. 13 shows an example of a learning image 80 and an example of a spectral image 81.
  • the spectral image 81 calculated here has a lower frequency the closer to the center (frequency 0 at the center) and a higher frequency the farther away from the center.
  • the first noise generating unit for learning 22 may apply a window function (Hanning window) to the image for learning before generating frequency components by FFT or the like.
  • the first learning noise generating unit 22 calculates an average image of each spectral image calculated for each learning image.
  • An example of an average image 82 is shown in FIG. 14.
  • the first learning noise generating unit 22 averages, for each frequency, the intensity of frequency components in each direction from the center of the average image outward (0 to 2 ⁇ (360°) from the center), and calculates frequency components for each frequency that are independent of direction in the spectral image.
  • One of these directions, the rightward direction is indicated by an arrow in the average image 82 in FIG. 14.
  • An example of a graph 83 of the calculated frequency components for each frequency is also shown in FIG. 14.
  • the first learning noise generator 22 calculates the maximum frequency of the signal spectrum to be extracted from the calculated frequency components.
  • the maximum frequency of the signal spectrum is the cutoff frequency fc (the target value) shown in graph 71 of FIG. 12.
  • the first noise generating unit for learning 22 calculates the cutoff frequency fc as follows:
  • the first noise generating unit for learning 22 calculates the rate of change for each frequency of the calculated frequency components.
  • the rate of change at a certain frequency is a value calculated by (intensity of frequency component at a certain frequency - intensity of frequency component at the previous frequency) ⁇ intensity of frequency component at the previous frequency.
  • the frequency interval between a certain frequency and the previous frequency is set in advance. For example, the interval is the minimum frequency interval in the frequency component data.
  • the first learning noise generating unit 22 identifies frequencies among the calculated change rates of frequency components that are equal to or below a preset threshold, and sets the smallest frequency among those frequencies as the cutoff frequency fc.
  • the threshold is, for example, 0.002.
  • the threshold is changeable. Increasing the threshold makes it easier for the difference image 32 to contain more signal components, and decreasing the threshold makes it harder for noise near the signal to be included in the difference image 32.
  • Figure 15(a) shows a graph of an example of the change rate of the calculated frequency components for each frequency. In this example, the cutoff frequency fc is 0.13.
  • the learning first noise generating unit 22 may also calculate the cutoff frequency fc as follows. High frequencies contain almost no signal components. Therefore, within the frequency range in which the frequency components are calculated, the average value of the intensities of frequency components with a frequency of 90% to 100% is assumed to be the intensity of the noise spectrum.
  • the learning first noise generating unit 22 calculates the average value of the intensities of frequency components in a preset frequency range of the noise spectrum (90% to 100% in the above example).
  • the learning first noise generating unit 22 multiplies the calculated average value by a preset multiple exceeding 1, and determines the maximum frequency at which the intensity of the frequency components is equal to or less than the calculated value as the cutoff frequency fc.
  • the above multiple is, for example, 1.008.
  • the above-mentioned preset frequency range of the noise spectrum can be changed. Widening the range to 70% to 100%, 60 to 100%, etc. makes the average value more stable, but increases the probability of signal spectrum contamination.
  • the above-mentioned multiple can also be changed. Increasing the multiple makes it easier for the difference image 32 to contain more signal components, while decreasing the multiple makes it harder for noise near the signal to be contained in the difference image 32.
  • Figure 15(b) shows a graph of an example of the calculated frequency components.
  • the preset frequency range of the noise spectrum is 90 to 100% (the range indicated by hatching).
  • the average value of the intensity of the noise spectrum frequency components is 413.
  • the preset multiple is 1.008, and the product of the average value and the multiple is 416. Based on these, in this example, the cutoff frequency fc is 0.13.
  • the learning first noise generating unit 22 determines the method of the first noise removal process based on the calculated cutoff frequency. For example, when the above-mentioned filter is used for the first noise removal process, the filter to be used for the first noise removal process is determined as follows.
  • the learning first noise generating unit 22 stores in advance a group of filters that are candidates for use in the first noise removal process. As described above, the filters included in the filter group have different standard deviations of the filter weights.
  • An example of a filter included in the filter group that is a candidate for use in the first noise removal process is shown on the left side of Figure 16. The ⁇ value in the figure is the standard deviation corresponding to the filter.
  • the first noise generating unit for learning 22 performs FFT or the like on each filter, similar to the processing performed on each image for learning, to generate frequency components of the image and calculate a spectral image.
  • An example of a spectral image corresponding to each filter is shown on the right side of FIG. 16. Note that, at this time, in order to match the frequency resolution with the image for learning before generating the frequency components by FFT or the like, the first noise generating unit for learning 22 may perform zero padding on each filter.
  • the first learning noise generator 22 calculates frequency components for each frequency that are independent of direction from the spectral image of each filter, in the same way as it processes the average image of each spectral image calculated for each learning image.
  • Figure 17 shows an example of a graph of frequency components for each frequency corresponding to each filter.
  • the learning first noise generating unit 22 calculates, for each filter, from the calculated frequency components, a filter cutoff frequency, which is the frequency at which the filter cuts off the signal. For example, the learning first noise generating unit 22 calculates the rate of change for each frequency of the calculated frequency components to calculate the filter cutoff frequency, in the same way as in the process using the frequency components of the learning image.
  • the first learning noise generating unit 22 sets the maximum frequency at which the intensity of the frequency components is equal to or less than a preset threshold as the filter cutoff frequency.
  • the threshold is, for example, 0.005.
  • the threshold can be changed. Increasing the threshold makes it easier for the difference image 32 to contain more signal components, while decreasing the threshold makes it harder for noise near the signal to be included in the difference image 32. Note that because the filter does not contain noise, the method of calculating the cutoff frequency by assuming the frequency range of the noise spectrum described above cannot be used.
  • Figure 17 shows an example of the filter cutoff frequency for each filter calculated using this method.
  • the learning first noise generating unit 22 sets the cutoff frequency fc calculated from the learning image as the threshold for removing the frequency components.
  • FFT fast Fourier transform
  • the learning first noise generating unit 22 sets the cutoff frequency fc calculated from the learning image as the threshold for removing the frequency components.
  • the learning first noise generating unit 22 performs the first noise removal process using the determined method to generate learning first noise data.
  • the determined method of the first noise removal process is also notified to the noise removal system 10, and is also used in the first noise removal process in the noise removal system 10.
  • the first noise removal process can be performed in an appropriate manner that makes the image 32 for generating the first noise data the ideal image described above. As a result, even more appropriate noise removal can be achieved.
  • FIG. 18 shows image 90, which is the target of noise removal used in the example.
  • FIG. 18 also shows images 91, 92, and 93, which are input to the learning model.
  • Image 91 is an image input to 1ch of the learning model, and is an image obtained by quantizing the difference image between image 90, which is the target of noise removal, and the image after the first noise removal process.
  • Image 92 is an image input to 2ch of the learning model, and is an image obtained by quantizing image 90, which is the target of noise removal.
  • Image 93 is an image input to 3ch of the learning model, and is an image obtained by quantizing the difference image between image 90, which is the target of noise removal, and the image after the first noise removal process.
  • the quantization used to generate image 91 is quantization (normal normalization) performed within a range in which the luminance values of the difference image do not overflow or underflow.
  • the quantization used to generate image 93 is quantization performed within a range that allows some of the luminance values of the difference image to overflow.
  • the quantization used to generate image 93 is used to input noise components into the learning model with high accuracy when the quantization used to generate image 91 is not accurate enough to represent the range of luminance values of the difference image.
  • FIG. 19(a) shows the standard deviation of the luminance value for each part of the image.
  • the image part is the rectangular part shown in parentheses in the image 90 to be denoised in FIG. 18.
  • the resolution of the image 90 to be denoised is 32-bit floating point (FP32), and the resolution of the image input to the learning model is a quantized 8-bit integer (Int8).
  • the numbers in parentheses in the table of FIG. 19(a) correspond to each part.
  • the "original image” in FIG. 19(a) is the image 90 to be denoised.
  • “Int8 normal signal inference” is obtained by quantising the image 90 to be denoised and inferring the image after noise removal using the learning model.
  • “Int8 normal noise inference” is obtained by quantising the image 90 to be denoised and inferring noise using the learning model.
  • “Int8 normal signal inference” and “Int8 normal noise inference” are comparative examples for comparison with this embodiment.
  • noise removal according to this embodiment performs noise removal more appropriately than when the image 90 to be removed is simply quantized and noise removal is performed. Furthermore, by inputting many images into the learning model, noise removal can be performed even more appropriately. Note that the image after noise removal obtained by "Int8 normal signal inference" is not acceptable in terms of image quality due to the large deterioration of gradation caused by quantization.
  • Figure 19(b) shows the standard deviation of the luminance value for each part of the image.
  • the resolution of the image 90 to be denoised and the resolution of the image input to the learning model are both 32-bit floating point (FP32). That is, the image input to the learning model is not quantised.
  • FP32 normal noise inference in Figure 19(b) is noise inference from the image 90 to be denoised using the learning model.
  • Figures 20 to 22 show other examples of images corresponding to each case shown in the table of Figure 19.
  • the noise removal program 100 is stored in a program storage area 111 formed in a computer-readable recording medium 110 that is inserted into a computer and accessed, or that is provided in the computer.
  • the recording medium 110 may be a non-transitory recording medium.
  • the noise removal program 100 is configured to include an acquisition module 101, a first noise generation module 102, a second noise generation module 103, and a noise removal module 104.
  • the functions realized by executing the acquisition module 101, the first noise generation module 102, the second noise generation module 103, and the noise removal module 104 are similar to the functions of the acquisition unit 11, the first noise generation unit 12, the second noise generation unit 13, and the noise removal unit 14 of the noise removal system 10 described above, respectively.
  • the learning program 200 is stored in a program storage area 211 formed in a computer-readable recording medium 210 that is inserted into a computer and accessed, or that is provided in the computer.
  • the recording medium 210 may be a non-transitory recording medium. Note that when the noise removal program 100 and the learning program 200 are executed by the same computer, the recording medium 210 may be the same as the recording medium 110.
  • the learning program 200 is configured with a learning acquisition module 201, a learning first noise generation module 202, and a learning module 203.
  • the functions realized by executing the learning acquisition module 201, the learning first noise generation module 202, and the learning module 203 are similar to the functions of the learning acquisition unit 21, the learning first noise generation unit 22, and the learning unit 23 of the learning system 20 described above, respectively.
  • the noise removal program 100 and the learning program 200 may be configured so that a part or all of them are transmitted via a transmission medium such as a communication line, and are received and recorded (including installed) by other equipment. Furthermore, each module of the noise removal program 100 and the learning program 200 may be installed on one of multiple computers, rather than on one computer. In that case, the above-mentioned series of processes are performed by a computer system consisting of the multiple computers.
  • a method for removing noise from data having multiple values comprising the steps of: An acquisition step of acquiring noise removal target data having a plurality of values and being a target for noise removal; a first noise generating step of performing a first noise removal process on the noise removal target data acquired in the acquiring step to generate first noise data related to noise to be removed by the first noise removal process; a second noise generating step of inputting the first noise data generated in the first noise generating step into a learning model that has been generated in advance by machine learning to generate second noise data relating to noise to be removed from the noise removal target data from the first noise data, and generating the second noise data; a noise removal step of generating noise-removed data from the noise removal target data acquired in the acquisition step, using the second noise data generated in the second noise generation step;
  • a noise removal method comprising: [2] In the first noise generating step, quantization is performed on the data obtained
  • the first noise generating step quantization is performed for each of a plurality of ranges of magnitudes of the plurality of values to generate a plurality of first noise data;
  • the first noise generating step magnitude data reflecting magnitudes of a plurality of values of the noise removal target data is also generated;
  • a noise removal program for removing noise from data having a plurality of values, comprising: The computer, An acquisition means for acquiring noise removal target data having a plurality of values and being a target for noise removal; a first noise generating means for performing a first noise removal process on the noise removal target data acquired by the acquiring means, and generating first noise data relating to noise to be removed by the first noise removal process; a second noise generating means for inputting the first noise data generated by the first noise generating means into a learning model that has been generated in advance by machine learning to generate second noise data relating to noise to be removed from the noise removal target data from the first noise data, thereby generating the second noise data; a noise removal means for generating noise-removed data from the noise removal target data acquired by the acquisition means, using the second noise data generated by the second noise generation means;
  • This program acts as a noise remover.
  • a noise removal system for removing noise from data having multiple values, comprising: An acquisition means for acquiring noise removal target data having a plurality of values and being a target for noise removal; a first noise generating means for performing a first noise removal process on the noise removal target data acquired by the acquiring means, and generating first noise data relating to noise to be removed by the first noise removal process; a second noise generating means for inputting the first noise data generated by the first noise generating means into a learning model that has been generated in advance by machine learning to generate second noise data relating to noise to be removed from the noise removal target data from the first noise data, thereby generating the second noise data; a noise removal means for generating noise-removed data from the noise removal target data acquired by the acquisition means, using the second noise data generated by the second noise generation means;
  • a noise reduction system comprising: [11] A learning method for generating a learning model used to remove noise from data having a plurality of values, comprising: A learning acquisition step of acquiring learning data having a plurality of
  • 10...noise removal system 11...acquisition unit, 12...first noise generation unit, 13...second noise generation unit, 14...noise removal unit, 20...learning system, 21...learning acquisition unit, 22...learning first noise generation unit, 23...learning unit, 100...noise removal program, 110...recording medium, 111...program storage area, 101...acquisition module, 102...first noise generation module, 103...second noise generation module, 104...noise removal module, 200...learning program, 210...recording medium, 211...program storage area, 201...learning acquisition module, 202...learning first noise generation module, 203...learning module.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Image Processing (AREA)

Abstract

AI専用チップを用いる場合等であっても、画像等の複数の値を有するデータから適切なノイズ除去を可能とする。 ノイズ除去方法は、複数の値を有するデータからノイズを除去する方法であって、複数の値を有すると共にノイズ除去対象であるノイズ除去対象データを取得する取得ステップ(S01)と、取得されたノイズ除去対象データに対して、第1ノイズ除去処理を行って、当該第1ノイズ除去処理によって除去されるノイズに係る第1ノイズデータを生成する第1ノイズ生成ステップ(S02)と、生成された第1ノイズデータを、予め機械学習によって生成された学習モデルに入力し、第2ノイズデータを生成する第2ノイズ生成ステップ(S03)と、生成された第2ノイズデータを用いて、ノイズ除去対象データからノイズ除去後のデータを生成するノイズ除去ステップ(S04)とを含む。

Description

ノイズ除去方法、ノイズ除去プログラム、ノイズ除去システム及び学習方法
 本発明は、複数の値を有するデータからノイズを除去するノイズ除去方法、ノイズ除去プログラム及びノイズ除去システム、並びにノイズ除去に用いられる学習モデルを生成する学習方法に関する。
 従来、ニューラルネットワーク等の機械学習の技術が、画像のノイズ除去に用いられることが提案されている(例えば、特許文献1参照)。
特開2022-101507号公報
 機械学習によって生成された学習モデルを用いた演算、即ち、AI(人工知能)の推論には、速度等の観点からGPU(Graphics Processing Unit)が多く使用されている。これに対して、画像のノイズ除去のための学習モデルを用いた演算にASIC(Application Specific Integrated Circuit)及びSOC(System on a Chip)等をAI(人工知能)専用チップとして用いることが考えられる。画像のノイズ除去にこれらのAI専用チップを用いることで、GPUを用いる場合と比べて低コスト及び低消費電力を図ることができる。
 しかしながら、ノイズ除去の対象となる画像のデータサイズに対して、AI専用チップで利用可能な画像のデータサイズが小さい場合がある。例えば、ノイズ除去の対象となる画像では、各画素の輝度値(画素値)が14ビット又は16ビットの符号なし整数(uint)の画像であるのに対して、AI専用チップで利用可能な画像は各画素の輝度値が8ビットの整数(int)の画像である場合がある。
 このような場合、ノイズ除去の対象となる画像の量子化を行って画像のデータサイズを小さくして、当該画像をAI専用チップで利用可能な画像にすることで、AI専用チップを用いたノイズの除去が可能となる。しかしながら、量子化を行ってデータサイズを小さくすることで輝度値の精度が落ちるため、適切なノイズの除去が困難である場合がある。
 本発明の一実施形態は、上記に鑑みてなされたものであり、AI専用チップを用いる場合等であっても、画像等の複数の値を有するデータから適切なノイズ除去を可能とすることができるノイズ除去方法、ノイズ除去プログラム、ノイズ除去システム及び学習方法を提供することを目的とする。
 上記の目的を達成するために、本発明の一実施形態に係るノイズ除去方法は、複数の値を有するデータからノイズを除去するノイズ除去方法であって、複数の値を有すると共にノイズ除去対象であるノイズ除去対象データを取得する取得ステップと、取得ステップにおいて取得されたノイズ除去対象データに対して、第1ノイズ除去処理を行って、当該第1ノイズ除去処理によって除去されるノイズに係る第1ノイズデータを生成する第1ノイズ生成ステップと、第1ノイズ生成ステップにおいて生成された第1ノイズデータを、当該第1ノイズデータからノイズ除去対象データから除去されるノイズに係る第2ノイズデータを生成するための予め機械学習によって生成された学習モデルに入力し、当該第2ノイズデータを生成する第2ノイズ生成ステップと、第2ノイズ生成ステップにおいて生成された第2ノイズデータを用いて、取得ステップにおいて取得されたノイズ除去対象データからノイズ除去後のデータを生成するノイズ除去ステップと、を含む。
 本発明の一実施形態に係るノイズ除去方法では、ノイズ除去対象データに対する第1ノイズ除去処理によって生成された第1ノイズデータが、学習モデルに入力されて第2ノイズデータが生成され、第2ノイズデータが用いられてノイズ除去後のデータが生成される。第1ノイズデータは、ノイズ除去対象データに対する第1ノイズ除去処理によって生成されたものであるため、データの精度の劣化を抑制した上で学習モデルによるノイズ除去に係る演算を行うことができる。これによって、本発明の一実施形態に係るノイズ除去方法によれば、AI専用チップを用いる場合等であっても、画像等の複数の値を有するデータから適切なノイズ除去を可能とすることができる。
 第1ノイズ生成ステップにおいて、第1ノイズ除去処理によって得られたデータに対して量子化を行って、第1ノイズデータを生成し、ノイズ除去ステップにおいて、第2ノイズ生成ステップにおいて生成された第2ノイズデータに対して逆量子化を行って、逆量子化したデータからノイズ除去後のデータを生成することとしてもよい。この構成によれば、第1ノイズデータを、学習モデルを用いた演算に応じた適切なものとすることができる。例えば、第1ノイズデータを、学習モデルを用いた演算を行うAI専用チップの性能に応じたものとすることができる。その結果、適切かつ確実なノイズ除去を可能とすることができる。
 第1ノイズ生成ステップにおいて、複数の値の大きさの複数の範囲毎に量子化を行って、複数の第1ノイズデータを生成し、第2ノイズ生成ステップにおいて、第1ノイズ生成ステップにおいて生成された複数の第1ノイズデータを学習モデルに入力して、第2ノイズデータを生成することとしてもよい。この構成によれば、複数の第1ノイズデータを考慮した更に適切なノイズ除去を可能とすることができる。
 第1ノイズ生成ステップによる処理と、第2ノイズ生成ステップとは互いに性能が異なる処理装置によって行われることとしてもよい。この構成によれば、例えば、学習モデルを用いた演算をAI専用チップに行わせることができる。これにより、低コスト及び低消費電力でのノイズ除去を可能とすることができる。
 第1ノイズ生成ステップにおいて、第1ノイズ除去処理として、ノイズ除去対象データに対して、第1ノイズ除去処理を行うための予め設定されたフィルタを適用して、第1ノイズデータを生成することとしてもよい。また、第1ノイズ生成ステップにおいて、第1ノイズ除去処理として、ノイズ除去対象データに対して、予め設定された範囲の周波数成分を除去する処理を行って、第1ノイズデータを生成することとしてもよい。これらの構成によれば、適切かつ確実に第1ノイズ除去処理を行うことができる。その結果、適切かつ確実なノイズ除去を可能とすることができる。
 第1ノイズ生成ステップにおいて、ノイズ除去対象データの複数の値の大きさを反映した大きさデータも生成し、第2ノイズ生成ステップにおいて、第1ノイズ生成ステップにおいて生成された第1ノイズデータ及び大きさデータを学習モデルに入力して、第2ノイズデータを生成することとしてもよい。大きさデータを生成して学習モデルへの入力とすることで、学習モデルにおいて、ノイズ除去対象データの複数の値の大きさを考慮することができる。その結果、更に適切なノイズ除去を可能とすることができる。
 ノイズ除去対象データは、画像、スペクトルデータ又は時系列データであることとしてもよい。この構成によれば、画像、スペクトルデータ又は時系列データから適切なノイズ除去を可能とすることができる。
 ところで、本発明の一実施形態は、上記のようにノイズ除去方法の発明として記述できる他に、以下のようにノイズ除去プログラム及びノイズ除去システムの発明としても記述することができる。これらはカテゴリが異なるだけで、実質的に同一の発明であり、同様の作用及び効果を奏する。
 即ち、本発明の一実施形態に係るノイズ除去プログラムは、コンピュータを、複数の値を有するデータからノイズを除去するノイズ除去プログラムであって、当該コンピュータを、複数の値を有すると共にノイズ除去対象であるノイズ除去対象データを取得する取得手段と、取得手段によって取得されたノイズ除去対象データに対して、第1ノイズ除去処理を行って、当該第1ノイズ除去処理によって除去されるノイズに係る第1ノイズデータを生成する第1ノイズ生成手段と、第1ノイズ生成手段によって生成された第1ノイズデータを、当該第1ノイズデータからノイズ除去対象データから除去されるノイズに係る第2ノイズデータを生成するための予め機械学習によって生成された学習モデルに入力して、当該第2ノイズデータを生成する第2ノイズ生成手段と、第2ノイズ生成手段によって生成された第2ノイズデータを用いて、取得手段によって取得されたノイズ除去対象データからノイズ除去後のデータを生成するノイズ除去手段と、として機能させる。
 また、本発明の一実施形態に係るノイズ除去システムは、複数の値を有するデータからノイズを除去するノイズ除去システムであって、複数の値を有すると共にノイズ除去対象であるノイズ除去対象データを取得する取得手段と、取得手段によって取得されたノイズ除去対象データに対して、第1ノイズ除去処理を行って、当該第1ノイズ除去処理によって除去されるノイズに係る第1ノイズデータを生成する第1ノイズ生成手段と、第1ノイズ生成手段によって生成された第1ノイズデータを、当該第1ノイズデータからノイズ除去対象データから除去されるノイズに係る第2ノイズデータを生成するための予め機械学習によって生成された学習モデルに入力して、当該第2ノイズデータを生成する第2ノイズ生成手段と、第2ノイズ生成手段によって生成された第2ノイズデータを用いて、取得手段によって取得されたノイズ除去対象データからノイズ除去後のデータを生成するノイズ除去手段と、を備える。
 また、上記の目的を達成するために、本発明の一実施形態に係る学習方法は、複数の値を有するデータからノイズを除去するために用いられる学習モデルを生成する学習方法であって、複数の値を有すると共にノイズを含む学習用データを取得する学習用取得ステップと、学習用取得ステップにおいて取得された学習用データに対して、第1ノイズ除去処理を行って、当該第1ノイズ除去処理によって除去されるノイズに係る学習用第1ノイズデータを生成する学習用第1ノイズ生成ステップと、学習用第1ノイズ生成ステップにおいて生成された学習用第1ノイズデータを学習モデルへの入力として機械学習を行って学習モデルを生成する学習ステップと、を含む。
 本発明の一実施形態に係る学習方法によれば、上記のノイズ除去方法で用いられる学習モデルを生成することができる。
 学習用第1ノイズ生成ステップにおいて、学習用取得ステップにおいて取得された学習用データの周波数成分を生成し、生成した周波数成分に基づいて第1ノイズ除去処理の方法を決定することとしてもよい。この構成によれば、適切な方法で第1ノイズ除去処理を行うことができる。その結果、更に適切なノイズ除去を可能とすることができる。
 本発明の一実施形態によれば、AI専用チップを用いる場合等であっても、画像等の複数の値を有するデータから適切なノイズ除去を可能とすることができる。
本発明の実施形態に係るノイズ除去システム及び学習システムの構成を示す図である。 量子化前後の画像の例を示す図である。 量子化された画像のコントラストの例を示す図である。 構造のコントラストとノイズのコントラストとの例を示す図である。 学習モデルへの画像の入力までの処理に係る画像の例を示す図である。 ノイズ除去全体の処理に係る画像の例を示す図である。 本発明の実施形態に係るノイズ除去システムで実行される処理であるノイズ除去方法を示すフローチャートである。 本発明の実施形態に係る学習システムで実行される処理である学習方法を示すフローチャートである。 ノイズが画像の輝度値に応じたものであること示す図である。 学習モデルへの画像の入力までの処理に係る画像の別の例を示す図である。 学習モデルへの画像の入力までの処理に係る画像の別の例を示す図である。 ノイズ除去対象の画像と当該画像の周波数成分とを示す図である。 学習用の画像と当該画像の周波数成分とを示す図である。 学習用の画像に係る周波数成分を示す図である。 学習用の画像に係る周波数成分に関するグラフである。 第1ノイズ除去処理に用いられる候補であるフィルタと当該フィルタの周波数成分とを示す図である。 第1ノイズ除去処理に用いられる候補であるフィルタに係る周波数成分に関するグラフである。 実施例に用いられる画像を示す図である。 実施例及び比較例の結果を示す表である。 実施例及び比較例に係る画像の例を示す図である。 実施例及び比較例に係る画像の別の例を示す図である。 実施例及び比較例に係る画像の更に別の例を示す図である。 本実施形態による学習の速度を示す図である。 本発明の実施形態に係るノイズ除去プログラム及び学習プログラムの構成を、記録媒体と共に示す図である。
 以下、図面と共に本発明に係るノイズ除去方法、ノイズ除去プログラム、ノイズ除去システム及び学習方法の実施形態について詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。
 図1(a)に本実施形態に係るノイズ除去システム10を示す。図1(b)に本実施形態に係る学習システム20を示す。ノイズ除去システム10は、複数の値を有するデータからノイズを除去するシステム(装置)である。ノイズ除去システム10によるノイズ除去には、機械学習によって生成された学習モデル(学習済モデル、推論モデル)が用いられる。学習システム20は、機械学習を行って、ノイズ除去システム10で用いられる学習モデルを生成するシステム(装置)である。
 本実施形態では、ノイズの除去対象となる複数の値を有するデータは、例えば、画像である。また、画像に含まれるノイズは、例えば、読み出しノイズ及びショットノイズである。ノイズの除去対象の画像は、例えば、製造ラインにおいて製造される基板の画像であり、ノイズ除去後の画像が基板の欠陥のチェックに用いられる。あるいは、ノイズの除去対象の画像は、細胞の画像であり、ノイズ除去後の画像が細胞の解析に用いられる。また、ノイズの除去対象の画像は、ノイズを含む画像であれば、上記以外の任意の画像でよい。
 ノイズの除去対象となる複数の値を有するデータは画像である必要はなく、例えば、スペクトルデータ又は時系列データ等であってもよい。スペクトルデータは、例えば、波数(波長、周波数)に対する強度のデータである。時系列データは、例えば、時刻毎の強度のデータであり、具体的には、光電子増倍管からの出力データ、又はヘモグロビン濃度等の生体情報の計測データ等である。
 ノイズ除去システム10及び学習システム20は、プロセッサ、メモリ、通信モジュール等のハードウェアを含む従来のコンピュータを含んで構成される。ノイズ除去システム10は、学習モデルを用いた演算を行うためのプロセッサと、それ以外の演算を行うためのプロセッサとを含んでいてもよい。学習モデルを用いた演算を行うためのプロセッサは、例えば、AI専用チップとしてのASIC又はSOC等である。あるいは、当該プロセッサは、CPU(Central Processing Unit)又はGPU(Graphics Processing Unit)であってもよい。また、それ以外の演算を行うためのプロセッサは、例えば、FPGA(Field Programmable Gate Array)、CPU又はGPUである。学習システム20において演算を行うプロセッサは、例えば、CPU又はGPUである。また、ノイズ除去システム10及び学習システム20は、処理に用いる画像を取得するためのカメラ等の撮像装置を含んでいてもよい。更に、ノイズ除去システム10及び学習システム20は、処理に用いる画像を取得するためのカメラ等の撮像装置に含まれていてもよい。図1では、ノイズ除去システム10及び学習システム20は、別々のシステム(装置)として示しているが、同じシステム(装置)によって実現されてもよい。
 ノイズ除去システム10及び学習システム20を構成するコンピュータは、複数のコンピュータを含むコンピュータシステムであってもよい。また、コンピュータは、クラウドコンピューティング又はエッジコンピューティングで構成されていてもよい。ノイズ除去システム10及び学習システム20の後述する各機能は、これらの構成要素がプログラム等により動作することによって発揮される。
 ノイズ除去システム10において学習モデルを用いた演算を行うためのプロセッサとして上記のAI専用チップを用いることで、例えば、学習モデルを用いた演算にGPUを用いる場合と比べて、低コスト及び低消費電力を図ることができる。
 上述したように、この場合、ノイズ除去の対象となる画像のデータサイズに対して、AI専用チップで利用可能な画像のデータサイズが小さい場合がある。本実施形態では、画像のデータサイズよりも、AI専用チップで利用可能な画像のデータサイズが小さいものとする。
 例えば、図2に示すように、ノイズ除去の対象となる画像(カメラ等の撮像装置が撮像することで得られた画像)は、各画素の輝度値が14ビットの符号なし整数(uint14:0~16383)の画像であり、AI専用チップで利用可能な画像は、各画素の輝度値が8ビットの整数(int:-128~127)の画像である場合を示す。AI専用チップでは、輝度値が14ビットの画像を扱うことができない。AI専用チップでこの画像を扱うためには、図2に示すように、画像に対して量子化を行って、画像をAI専用チップで扱うことができるようにする必要がある。なお、図2に示す量子化前後の画像に対応するグラフでは、横軸が画素を、縦軸が輝度値をそれぞれ示している。ノイズ除去の対象となる画像を量子化して画像のデータサイズを小さくすると、輝度値の精度が落ちるため、適切なノイズの除去が困難である場合がある。本実施形態は、学習モデルを用いた演算にAI専用チップを用いる場合であっても、画像から適切なノイズ除去を可能とするものである。
 量子化を行った場合に輝度の精度が落ちるのは、量子化の対象となる画像のコントラストによる。図3に画像の部分毎の輝度値(図3の4つのグラフのうちの左側のグラフ)及び当該部分の量子化後の輝度値(図3の4つのグラフのうちの右側のグラフ)を示す。左上のグラフに対応する画像の部分では、コントラストが比較的小さく(輝度値の範囲で100程度)、AI専用チップの解像度である8ビット(256)よりも小さい。そのため、右上のグラフに示すように量子化後の輝度値の精度は、落ちていないか、落ち幅が小さい。即ち、画像のコントラストが小さければ、量子化による輝度に関する情報の欠落がないか、少ない。この場合、量子化後の画像を用いたとしても、適切なノイズ除去が可能である。
 一方で、左下のグラフに対応する画像の部分では、コントラストが比較的大きく(輝度値の範囲で4500程度)、AI専用チップの解像度である8ビット(256)よりも大きい。そのため、右下のグラフに示すように量子化後の輝度値の精度は、大きく落ちている。即ち、画像のコントラストが大きければ、量子化による輝度に関する情報の欠落が大きく、画像の大きな劣化が生じる。この場合、上述したように量子化後の画像を用いると、適切なノイズ除去ができない。
 図4のグラフに示すように、画像中での大きいコントラスト(図4中で長い矢印で示すコントラスト)は、ノイズ以外の画像に写っているもの(本実施形態では、これを構造と呼ぶ)の輝度値の変化による。この構造のコントラスト変化は、AI専用チップの解像度である8ビット(256)よりも大きい場合が多い。一方で、画像に含まれるノイズのコントラスト(図4中で短い矢印で示すコントラスト)は、通常、上記の構造のコントラスト変化に比べて小さく、AI専用チップの解像度である8ビット(256)よりも小さい場合が多い。
 本実施形態は、上記に基づいてノイズ除去を行う。本実施形態は、構造に係る輝度値を大まかに除いた画像をノイズの除去に用いることで、量子化で精度が落ちることを防止し、AI専用チップで学習モデルを用いた演算を行った場合であっても、適切にノイズ除去を行うものである。
 引き続いて、本実施形態に係るノイズ除去システム10及び学習システム20の機能を説明する。図1に示すようにノイズ除去システム10は、取得部11と、第1ノイズ生成部12と、第2ノイズ生成部13と、ノイズ除去部14とを備えて構成される。
 取得部11は、複数の値を有すると共にノイズ除去対象であるノイズ除去対象データを取得する取得手段である。上述したように本実施形態では、ノイズ除去対象データは画像である。取得部11は、例えば、カメラ等の撮像装置が撮像することで得られた画像を当該撮像装置から受信することで画像を取得する。撮像によってノイズ除去対象の画像を取得する撮像する撮像装置は、例えば、可視光カメラ又はX線カメラである。また、撮像装置は、それ以外のものであってもよい。
 また、取得部11は、ノイズ除去システム10に対するユーザの画像の入力操作を受け付けることで画像を取得してもよい。また、取得部11は、上記以外の任意の方法で画像を取得してもよい。
 取得部11で取得される画像は、上記のようにノイズ除去システム10で用いられる学習モデルに入力可能な画像(即ち、AI専用チップで利用可能な画像)よりもデータサイズが大きいものである。例えば、各画素の輝度値の範囲(解像度)が、学習モデルに入力可能な画像では8ビットであるのに対して、取得部11で取得される画像では14ビットである。取得部11は、取得した画像を第1ノイズ生成部12に出力する。
 第1ノイズ生成部12は、取得部11によって取得されたノイズ除去対象データに対して、第1ノイズ除去処理を行って、当該第1ノイズ除去処理によって除去されるノイズに係る第1ノイズデータを生成する第1ノイズ生成手段である。第1ノイズ生成部12は、第1ノイズ除去処理によって得られたデータに対して量子化を行って、第1ノイズデータを生成してもよい。第1ノイズ生成部12は、第1ノイズ除去処理として、ノイズ除去対象データに対して、第1ノイズ除去処理を行うための予め設定されたフィルタを適用して、第1ノイズデータを生成してもよい。また、第1ノイズ生成部12は、第1ノイズ除去処理として、ノイズ除去対象データに対して、予め設定された範囲の周波数成分を除去する処理を行って、第1ノイズデータを生成してもよい。
 第1ノイズデータは、ノイズ除去対象の画像の各輝度値から、構造に対応する各輝度値を大まかに除外したものである。即ち、第1ノイズデータは、構造のコントラストを大まかに除外したものである。
 第1ノイズ生成部12は、例えば、以下のように第1ノイズデータを生成する。第1ノイズ生成部12は、取得部11から、ノイズ除去対象の画像を入力する。第1ノイズ生成部12は、予め、第1ノイズ除去処理を行うための予め設定されたフィルタを記憶しておき、入力した画像に対してフィルタを適用する。フィルタは、例えば、画像の平滑化を行うフィルタである。具体的には、フィルタは、ガウスフィルタ、平均化フィルタ、メディアンフィルタ又はバイラテラルフィルタ等である。
 図5及び図6に、ノイズ除去対象の画像30及びフィルタ適用後の画像31の例を示す。また、それらの画像30,31の画素毎の輝度値のグラフ50を示す。なお、グラフ50では、横軸が画素を、縦軸が輝度値をそれぞれ示している(図5及び図6では以下も同様)。グラフ50における線種は、各画像の枠の線種に対応している。図5及び図6では、ノイズ除去対象の画像30に対してガウスフィルタを適用して、フィルタ適用後の画像31を生成した例を示している。
 第1ノイズ生成部12は、ノイズ除去対象の画像とフィルタ適用後の画像との差分の画像を生成する。例えば、第1ノイズ生成部12は、対応する画素毎にノイズ除去対象の画像の輝度値から、フィルタ適用後の画像の輝度値を引いた値を当該画素の輝度値とする差分の画像を生成する。図5及び図6に、差分の画像32の例、及び当該差分の画像32の画素毎の輝度値のグラフ51を示す。
 図5のグラフ50に示すように、ノイズ除去対象の画像30の輝度値は、構造コントラストとノイズとを含む。また、図5のグラフ51に示すように、差分の画像32の輝度値は、一部構造とノイズとを含む(と考えることができる)。これら2つのグラフ50,51に示すように、ノイズ除去対象の画像30のコントラストは大きく、差分の画像32のコントラストは小さい。なお、2つのグラフ50,51の縦軸の縮尺は互いに異なっており、ノイズ除去対象の画像30のグラフ50に比べて、差分の画像32のグラフの方が、縮尺が細かくなっている。ノイズを含むと共にコントラストが小さい差分の画像は、量子化を行っても精度が落ちることを抑制することができる。
 第1ノイズ生成部12は、第1ノイズ除去処理として、フィルタを適用するのではなく、ノイズ除去対象の画像に対して、予め設定された範囲の周波数成分を除去する処理を行ってもよい。例えば、第1ノイズ生成部12は、ノイズ除去対象の画像に対して、FFT(高速フーリエ変換)又はウェーブレット変換等を行って、ノイズ除去対象の画像の周波数成分を生成する。第1ノイズ生成部12は、予め周波数の閾値を記憶しておき、記憶した閾値以上の周波数の周波数成分を除去する。通常、ノイズは高周波成分であるため、このように高周波の周波数成分を除去する。第1ノイズ生成部12は、上記の除去後の周波数成分の逆変換を行って、周波数成分除去後の画像を生成する。第1ノイズ生成部12は、ノイズ除去対象の画像と周波数成分除去後の画像との差分の画像を生成する。なお、第1ノイズ生成部12は、フィルタに係る処理及び周波数成分に係る処理を複合して用いて差分の画像を生成してもよい。
 第1ノイズ生成部12は、差分の画像に対して量子化を行う。量子化は、画像をAI専用チップで利用可能にするための処理である。量子化後の画像の各画素の解像度は、AI専用チップで利用可能な画像のものとなっている。量子化後の画像が第1ノイズデータである。図6に、差分の画像32から生成される第1ノイズデータである量子化後の画像33の例、及び当該量子化後の画像33の画素毎の輝度値のグラフ52を示す。
 量子化は、従来の方法で行われればよい。例えば、量子化は、画素毎に、差分の画像の輝度値から量子化後の画像の輝度値を算出することによって行われる。具体的には、以下の式によって量子化後の画像の輝度値を算出する。この例では、量子化の前後で画素の数及び位置関係は変わらない。
Figure JPOXMLDOC01-appb-M000001
上記の式の関数及び変数は、それぞれ以下を示す。
 round(x):xをAI専用チップの輝度値(解像度)の値に丸める(例えば、四捨五入する)関数である。
 DiffImage:差分の画像の輝度値である。
 maxDiff,minDiff:量子化対象となる差分の画像の輝度値の最大値及び最小値である。これらの値は、差分の画像においてノイズを含むように、想定されるノイズの大きさ等から予め設定される。
 maxAI,minAI:AI専用チップの輝度値(解像度)の最大値及び最小値である。
 第1ノイズ生成部12は、生成した第1ノイズデータである量子化後の画像を第2ノイズ生成部13に出力する。なお、第1ノイズ生成部12は、量子化せずに、差分の画像33を第2ノイズ生成部13に出力してもよい。
 なお、第1ノイズデータは、必ずしも上記のノイズデータである必要はなく、例えば、ノイズ除去対象の画像から、ノイズ除去対象の画像のノイズを含むと共にコントラストがノイズ除去対象の画像よりも小さいようなものであればよい。また、第1ノイズ生成部12は、必ずしも上記のように第1ノイズデータを生成(生成)する必要はなく、何らかの第1ノイズ除去処理を行って、当該第1ノイズ除去処理によって除去されるノイズに係る第1ノイズデータを生成すればよい。
 第2ノイズ生成部13は、第1ノイズ生成部12によって生成された第1ノイズデータを、予め機械学習によって生成された学習モデルに入力し、当該第2ノイズデータを生成する第2ノイズ生成手段である。学習モデルは、第1ノイズデータからノイズ除去対象データから除去されるノイズに係る第2ノイズデータを生成するためのものである。
 第2ノイズデータは、ノイズ除去対象データから除去されるノイズを示すものである。即ち、第2ノイズデータの画素数及び解像度は、第1ノイズデータと同じである。なお、本実施形態では、第2ノイズデータを生成するための第1ノイズデータが量子化されたものであるので、第2ノイズデータは、当該ノイズが量子化されたものである。但し、第1ノイズ生成部12から量子化していない画像が出力された場合、第2ノイズデータは、当該ノイズが量子化されていないものである。
 第2ノイズ生成部13は、例えば、以下のように第2ノイズデータを生成する。第2ノイズ生成部13は、第1ノイズ生成部12から、第1ノイズデータである量子化後の差分の画像を入力する。第2ノイズ生成部13は、予め学習モデルを記憶している。学習モデルは、第1ノイズデータを入力して、第2ノイズデータを出力(推論)するモデルである。学習モデルは、後述するように学習システム20による機械学習によって生成される。
 学習モデルは、例えば、ニューラルネットワークを含んで構成される。ニューラルネットワークは、多層のものであってもよい。即ち、学習モデルは、深層学習(ディープラーニング)によって生成されてもよい。
 学習モデルには、入力層に第1ノイズデータを入力するためのニューロンが設けられる。例えば、学習モデルに入力される情報は、第1ノイズデータである画像の各画素の輝度値である。この場合、入力層には、画像の画素の数のニューロンが設けられ、それぞれのニューロンには対応する画素の輝度値が入力される。
 学習モデルには、出力層に第2ノイズデータを出力するためのニューロンが設けられる。例えば、学習モデルから出力される情報は、第2ノイズデータである画像の各画素の輝度値である。この場合、出力層には、画像の画素の数のニューロンが設けられ、それぞれのニューロンから対応する画素の輝度値が出力される。
 学習モデルは、人工知能ソフトウェアの一部であるプログラムモジュールとしての利用が想定される。学習モデルは、例えば、プロセッサ及びメモリを備えるコンピュータにて用いられ、コンピュータのプロセッサが、メモリに記憶されたモデルからの指令に従って動作する。例えば、コンピュータのプロセッサが、当該指令に従って、モデルに対して情報を入力して、モデルに応じた演算を行って、モデルから結果を出力するように動作する。具体的には、コンピュータのプロセッサが、当該指令に従って、ニューラルネットワークの入力層に情報を入力して、ニューラルネットワークにおける学習の重み付け係数等のパラメータに基づく演算を行って、ニューラルネットワークの出力層から結果を出力するように動作する。なお、学習モデルは、ニューラルネットワーク以外によって構成されていてもよい。
 第2ノイズ生成部13は、第1ノイズデータを学習モデルに入力し、学習モデルに応じた演算を行って第2ノイズデータを生成する。生成される第2ノイズデータは、第1ノイズデータに含まれる構造の一部が第1ノイズデータから除去されたもの、即ち、構造を含まないノイズのみに係るもの(と想定されるもの)である。図6に、第1ノイズデータである画像33から生成される第2ノイズデータである画像34の例、及び当該画像34の画素毎の輝度値のグラフ53を示す。第2ノイズ生成部13は、生成した第2ノイズデータをノイズ除去部14に出力する。
 上記のように第1ノイズ生成部12による処理と、第2ノイズ生成部13による処理とは互いに性能が異なる処理装置によって行われてもよい。例えば、第1ノイズ生成部12は、ノイズ除去対象の画像(の解像度の画像を)扱うことができるプロセッサによって実現され、第2ノイズ生成部13は、量子化された画像しか扱うことができない上述したAI専用チップによって実現される。
 また、ノイズ除去対象の画像に含まれる信号の周波数成分は、当該画像が撮像された撮像装置(例えば、撮像装置に用いられるレンズの倍率)に応じたものとなる。また、当該信号の周波数成分は、当該画像の撮像対象(例えば、基板の画像であるのか、細胞の画像であるのか)に応じたものとなる。より適切にノイズ除去を行うため、上述した第1ノイズ除去処理及び学習モデルは、ノイズ除去対象の画像に係る撮像装置の種別若しくは撮像対象の種別、又はそれらの組み合わせに応じたものとしてもよい。
 ノイズ除去部14は、第2ノイズ生成部13によって生成された第2ノイズデータを用いて、取得部11において取得されたノイズ除去対象データからノイズ除去後のデータを生成するノイズ除去手段である。ノイズ除去部14は、第2ノイズ生成部13によって生成された第2ノイズデータに対して逆量子化を行って、逆量子化したデータからノイズ除去後のデータを生成してもよい。
 ノイズ除去部14は、例えば、以下のようにノイズ除去後のデータを生成する。ノイズ除去部14は、第2ノイズ生成部13から第2ノイズデータを入力する。ノイズ除去部14は、入力した第2ノイズデータに対して逆量子化を行う。逆量子化は、第1ノイズ生成部12によって行われる量子化に対応するものであり、ノイズ除去対象データである画像の解像度の画像を得る処理である。逆量子化された画像は、ノイズ除去対象データから除去されるノイズの画像である。
 逆量子化は、従来の方法で行われればよい。例えば、逆量子化は、画素毎に、第2ノイズデータである画像の輝度値から逆量子化後の画像の輝度値を算出することによって行われる。具体的には、以下の式によって逆量子化後の画像の輝度値を算出する。この例では、逆量子化の前後で画素の数及び位置関係は変わらない。図6に、第2ノイズデータである画像34に対する逆量子化によって生成される画像(ノイズの画像)35の例、及び当該画像35の画素毎の輝度値のグラフ54を示す。
Figure JPOXMLDOC01-appb-M000002
上記の式の関数及び変数は、それぞれ以下を示す。
 round(x):xをノイズ除去対象の輝度値(解像度)の値に丸める(例えば、四捨五入する)関数である。
 AIOutImage:第2ノイズデータである画像の輝度値である。
 maxDiff,minDiff:量子化対象となる差分の画像の輝度値の最大値及び最小値である。これらの値は、差分の画像においてノイズを含むように、想定されるノイズの大きさ等から予め設定される。
 maxAI,minAI:AI専用チップの輝度値(解像度)の最大値及び最小値である。
 ノイズ除去部14は、ノイズ除去対象の画像と逆量子化後の画像との差分の画像を、ノイズ除去後の画像として生成する。例えば、ノイズ除去部14は、対応する画素毎にノイズ除去対象の画像の輝度値から、逆量子化後の画像の輝度値を引いた値を当該画素の輝度値とするノイズ除去後の画像を生成する。図6に、ノイズ除去後の画像36の例、及び当該画像36の画素毎の輝度値のグラフ55を示す。
 ノイズ除去部14は、生成したノイズ除去後の画像を出力する。ノイズ除去後の画像の出力は、画像の利用目的に応じて従来の方法と同様に行われればよい。以上が、本実施形態に係るノイズ除去システム10の機能である。
 引き続いて、本実施形態に係る学習システム20の機能を説明する。図1に示すように学習システム20は、学習用取得部21と、学習用第1ノイズ生成部22と、学習部23とを備えて構成される。
 学習用取得部21は、複数の値を有すると共にノイズを含む学習用データを取得する学習用取得手段である。学習用取得部21は、ノイズを含む画像を学習用データとして取得する。学習用データである学習用の画像(サンプル画像)の画素数及び解像度は、ノイズ除去対象の画像と同じである。ノイズを含む画像は、例えば、撮像装置によって撮像された画像である。また、ノイズを含む画像は、ノイズを含まない画像に対して、ノイズをシミュレーションによって付加した画像であってもよい。
 学習用の画像は、ノイズ除去対象の画像と同様(同種)の撮像装置によって撮像されたものであってもよい。また、学習用の画像は、同様(同種)の撮像対象(例えば、基板の画像であるのか、細胞の画像であるのか)が撮像されたものであってもよい。これによって、学習システム20によって生成される学習モデルを、撮像装置の種別毎若しくは撮像対象の種別毎、又はそれらの組み合わせ毎とすることができる。このように学習用の画像を、ノイズ除去対象の画像とあわせて学習モデルを生成することで、より適切なノイズ除去が可能となる学習モデルとすることができる。
 学習用取得部21は、例えば、ノイズ除去対象の画像と同様に、学習用の画像を撮像装置から受信することで画像を取得する。また、学習用取得部21は、学習システム20に対するユーザの画像の入力操作を受け付けることで学習用の画像を取得してもよい。また、学習用取得部21は、上記以外の任意の方法で画像を取得してもよい。学習用取得部21は、後述する機械学習を適切に行える程度の数の学習用の画像を取得する。学習用取得部21は、取得した学習用の画像を学習用第1ノイズ生成部22に出力する。
 学習用第1ノイズ生成部22は、学習用取得部21によって取得された学習用データに対して、第1ノイズ除去処理を行って、当該第1ノイズ除去処理によって除去されるノイズに係る学習用第1ノイズデータを生成する学習用第1ノイズ生成手段である。
 学習用第1ノイズデータは、学習用の画像の各輝度値から、画像に写っている物(即ち、ノイズ以外)に対応する各輝度値を大まかに除外したものである。即ち、学習用第1ノイズデータは、構造のコントラストを大まかに除外したものである。
 学習用第1ノイズ生成部22は、学習用取得部21から、学習用の画像を入力する。学習用第1ノイズ生成部22は、学習用の画像毎に、第1ノイズ生成部12によるノイズ除去対象の画像からの第1ノイズデータの生成と同様に学習用第1ノイズデータを生成する。学習用第1ノイズデータの生成に用いられる第1ノイズ除去処理及び量子化は、ノイズ除去システム10において第1ノイズデータの生成に用いられるものと同じである。学習用第1ノイズ生成部22は、生成した学習用第1ノイズデータである量子化後の画像を学習部23に出力する。なお、学習用第1ノイズ生成部22は、量子化していない差分の画像を学習部23に出力してもよい。
 学習部23は、学習用第1ノイズ生成部22によって生成された学習用第1ノイズデータを学習モデルへの入力として機械学習を行って学習モデルを生成する学習手段である。
 例えば、学習部23は、以下のように機械学習を行って学習モデルを生成する。学習部23は、学習用第1ノイズデータから、学習用第1ノイズデータである量子化後の差分の画像を入力する。学習部23は、学習用第1ノイズデータを学習モデルに入力し、学習モデルに応じた演算を行って学習用第2ノイズデータを生成する。学習用第2ノイズデータの生成は、上述した第2ノイズデータの生成と同様に行われる。学習用第2ノイズデータは、上述した第2ノイズデータと同様にノイズが量子化されたものである。但し、学習用第1ノイズ生成部22から量子化していない画像が出力された場合、学習用第2ノイズデータは、当該ノイズが量子化されていないものである。
 学習部23は、学習用第2ノイズデータに対して逆量子化を行う。学習部23は、学習用データである画像と逆量子化後の画像との差分の画像を、ノイズ除去後の画像として生成する。学習用第2ノイズデータの生成に用いられる逆量子化、及びノイズ除去後の画像の生成方法は、ノイズ除去システム10において第2ノイズデータの生成に用いられるもの、及びノイズ除去後の画像の生成に用いられるものと同じである。
 学習部23は、学習用の画像に対応する、生成したノイズ除去後の画像を用いて機械学習、即ち、学習モデルのパラメータの更新を行う。ノイズ除去後の画像を用いた機械学習自体は、誤差逆伝搬(バックプロパゲーション)等の従来の機械学習の方法と同様に行われればよい。例えば、予め学習用の画像に対応する、ノイズが含まれていない画像を教師画像として予め取得しておき、生成したノイズ除去後の画像と教師画像との誤差がなくなるように学習を行う。
 また、教師データがない場合でも、従来の機械学習の方法と同様に学習を行えばよい。例えば、ノイズのみ異なる複数の学習用の画像を用いて、Noise2Noiseによって学習が行われてもよい。
 学習部23は、生成した学習モデルをノイズ除去システム10に出力する。ノイズ除去システム10は、学習システム20から入力した学習モデルを入力して記憶しておき、上述した画像のノイズ除去に用いる。
 なお、通常、学習モデルの生成では、ノイズの除去に比べると低コスト及び低消費電力の必要性が高くない。そのため、学習システム20は、AI専用チップを用いずに、全てノイズ除去対象の画像(の解像度の画像を)扱うことができるプロセッサによって実現されてもよい。但し、学習モデルの生成においても、学習モデルを用いた演算にAI専用チップが用いられてもよい。以上が、本実施形態に係る学習システム20の機能である。
 引き続いて、図7及び図8のフローチャートを用いて、本実施形態に係るノイズ除去システム10及び学習システム20で実行される処理(ノイズ除去システム10及び学習システム20が行う動作方法)を説明する。
 まず、図7のフローチャートを用いて、本実施形態に係るノイズ除去システム10で実行される処理であるノイズ除去方法を説明する。本処理では、取得部11によって、ノイズ除去対象データが取得される(S01、取得ステップ)。続いて、第1ノイズ生成部12によって、ノイズ除去対象データに対して、第1ノイズ除去処理が行われて、当該第1ノイズ除去処理によって除去されるノイズに係る第1ノイズデータが生成される(S02、第1ノイズ生成ステップ)。第1ノイズデータは、第1ノイズ除去処理によって得られたデータに対して量子化が行われて生成される。なお、第1ノイズデータは、第1ノイズ除去処理によって得られたデータに対して量子化されていないデータであってもよい。
 続いて、第2ノイズ生成部13によって、第1ノイズデータが学習モデルに入力されて、第2ノイズデータが生成される(S03、第2ノイズ生成ステップ)。続いて、ノイズ除去部14によって、第2ノイズデータが用いられて、ノイズ除去対象データからノイズ除去後のデータが生成される(S04、ノイズ除去ステップ)。第2ノイズデータは、逆量子化が行われた上でノイズ除去後のデータの生成に用いられる。ノイズの除去結果であるノイズ除去後のデータは、ノイズ除去部14から所定の出力先に出力される(S05)。以上が、本実施形態に係るノイズ除去システム10で実行される処理であるノイズ除去方法である。
 続いて、図8のフローチャートを用いて、本実施形態に係る学習システム20で実行される処理である学習方法を説明する。本処理では、学習用取得部21によって、学習用データが取得される(S11、学習用取得ステップ)。続いて、学習用第1ノイズ生成部22によって、学習用データに対して、第1ノイズ除去処理が行われて、当該第1ノイズ除去処理によって除去されるノイズに係る学習用第1ノイズデータが生成される(S12、学習用第1ノイズ生成ステップ)。学習用第1ノイズデータは、第1ノイズ除去処理によって得られたデータに対して量子化が行われて生成される。なお、学習用第1ノイズデータは、第1ノイズ除去処理によって得られたデータに対して量子化されていないデータであってもよい。
 続いて、学習部23によって、学習用第1ノイズデータが学習モデルへの入力とされて機械学習が行われて学習モデルが生成される(S13、学習ステップ)。生成された学習モデルは、学習システム20からノイズ除去システム10に出力される(S14)。ノイズ除去システム10では、学習モデルが記憶されて、上記の処理で用いられる。以上が、本実施形態に係る学習システム20で実行される処理である学習方法である。
 上述した実施形態によれば、ノイズ除去対象の画像に対する第1ノイズ除去処理によって生成された第1ノイズデータが、学習モデルに入力されて第2ノイズデータが生成され、第2ノイズデータが用いられてノイズ除去後の画像が生成される。上述したように、第1ノイズデータである画像33は、第1ノイズ除去処理によってノイズ除去対象の画像30における構造のコントラスト変化を大まかに除去した差分の画像32に基づくものである。差分の画像32の輝度値の範囲は、通常、ノイズ除去対象の画像30と比べて小さくなる。このような第1ノイズデータである画像33を用いることで、輝度値の精度の劣化を抑制した上で学習モデルによるノイズ除去に係る演算を行うことができる。これによって、本実施形態によれば、AI専用チップを用いる場合等であっても、画像等の複数の値を有するデータから適切なノイズ除去を可能とすることができる。
 また、本実施形態のように第1ノイズデータの生成の際に量子化を行い、ノイズ除去後のデータの生成の際に逆量子化を行うこととしてもよい。この構成によれば、第1ノイズデータを、学習モデルを用いた演算に応じた適切なものとすることができる。例えば、第1ノイズデータを、学習モデルを用いた演算を行うAI専用チップの性能に応じたものとすることができる。その結果、適切かつ確実なノイズ除去を可能とすることができる。但し、ノイズ除去システム10において、ノイズ除去の対象となる画像のデータサイズの画像を利用できる場合には、必ずしも量子化及び逆量子化を行う必要はなく、量子化前のデータを第1ノイズデータとして学習モデルへ入力して、ノイズ除去を行ってもよい。
 また、本実施形態のように、上記のように第1ノイズ生成部12による処理と、第2ノイズ生成部13による処理とは互いに性能が異なる処理装置によって行われてもよい。この構成によれば、例えば、上述したように学習モデルを用いた演算をAI専用チップに行わせることができる。これにより、低コスト及び低消費電力でのノイズ除去を可能とすることができる。但し、第1ノイズ生成部12による処理と、第2ノイズ生成部13による処理とは同一の処理装置によって行われてもよい。
 また、本実施形態のように第1ノイズ除去処理は、フィルタが用いられて行われてもよい。また、第1ノイズ除去処理は、周波数成分の除去によって行われてもよい。これらの構成によれば、適切かつ確実に第1ノイズ除去処理を行うことができる。その結果、適切かつ確実なノイズ除去を可能とすることができる。但し、第1ノイズ除去処理は、必ずしも上記のように行われる必要はなく、ノイズ除去対象の画像における構造のコントラスト変化を大まかに除去することができるノイズ除去処理であればよい。
 引き続いて、本実施形態に係るノイズ除去システム10及び学習システム20の変形例を説明する。上述した実施形態では、学習モデルに入力される情報は、ノイズ除去対象の画像30と第1ノイズ除去処理後の画像31との差分の画像32に対応するものである。差分の画像32では、ノイズ除去対象の画像30の元の輝度値の大きさの大半が失われているため、学習モデルの演算では、ノイズ除去対象の画像30の元の輝度値の大きさが十分に考慮されない。
 画像に含まれるノイズは、通常、画像の輝度値の大きさに応じたものとなる。例えば、図9(a)に、画像の輝度値と、画像に含まれるノイズの標準偏差との関係を示すグラフを示す。図9(b)に画素毎の輝度値の例のグラフを示す。図9(b)のグラフでは、矢印で示す範囲で輝度値がばらついている部分がノイズに相当する。これらのグラフに示すように、例えば、輝度値が大きいほど、標準偏差で示されるようなノイズのばらつきが大きくなる。また、低輝度でのノイズの輝度値の分布はポアソン分布を取り、高輝度でのノイズの輝度値の分布はガウス分布を取る等、輝度値に応じてノイズの分布が異なる。
 そこで、学習モデルの演算において、ノイズ除去対象の画像の元の輝度値の大きさを考慮できるようにすることで、更に適切なノイズ除去が可能となる。そのために、ノイズ除去システム10及び学習システム20は、以下の構成を取ってもよい。
 第1ノイズ生成部12は、ノイズ除去対象データの複数の値の大きさを反映した大きさデータ(data of magnitude)も生成する。第2ノイズ生成部13は、第1ノイズ生成部12によって生成された第1ノイズデータ及び大きさデータを学習モデルに入力して、第2ノイズデータを生成する。具体的には例えば、以下の構成を取る。
 図10に示すように、第1ノイズ生成部12は、ノイズ除去対象の画像30から、第1ノイズデータを生成するための画像32に加えて、ノイズ除去対象データの各画素の輝度値の大きさを示す画像37(大きさデータ)も生成する。第1ノイズ生成部12は、ノイズ除去対象の画像30に対する量子化を行って、大きさデータである画像37を生成する。例えば、図10のグラフに示すように、第1ノイズ生成部12は、ノイズ除去対象の画像30の輝度値の解像度(0~16383)を、AI専用チップの画像の輝度値の解像度(-128~127)に線形に変換する量子化を行って、大きさデータである画像37を生成する。第1ノイズ生成部12は、画像32から生成した第1ノイズデータの画像33及び大きさデータである画像37を第2ノイズ生成部13に出力する。
 第2ノイズ生成部13は、第1ノイズ生成部12から、それらの画像33,37を入力する。この構成で用いられる学習モデルは、それらの画像33,37を入力できるようになっている。例えば、学習モデルの入力層には、第1ノイズデータである画像33を入力するためのニューロンと、大きさデータである画像37を入力するためのニューロンとが設けられる。即ち、学習モデルの入力層には、2つのch(チャンネル)の画像が入力できるようにされており、そのうちの1chが第1ノイズデータである画像33であり、2chが大きさデータである画像37である。この構成でも、学習モデルからの出力は、第2ノイズデータのみである。
 第2ノイズ生成部13は、第1ノイズデータである画像32及び大きさデータである画像37を学習モデルに入力し、学習モデルに応じた演算を行って第2ノイズデータを生成する。ノイズ除去システム10では、上記以外は、上述した実施形態と同様にノイズ除去が行われる。なお、大きさデータは、必ずしも上記のものである必要はなく、ノイズ除去対象の画像の各画素の輝度値の大きさを反映するものであればよい。また、ノイズ除去対象データが画像以外のものである場合、大きさデータは、個々の値の大きさを反映するデータであればよい。
 例えば、大きさデータは、以下のものであってもよい。上述したように画像に含まれるノイズの標準偏差は、画像の輝度値に応じたものとなる。そこで、上記のように大きさデータとして画素の輝度値を直接的に用いるものではなく、画素毎に画素の輝度値から算出(推定)されるノイズの標準偏差から大きさデータを生成してもよい。以下に示すようにノイズの標準偏差は、例えば、輝度値の平方根に準じた値になるため、輝度値に比べて変化量が少なく、量子化の影響を受けづらい。
 第1ノイズ生成部12は、ノイズ除去対象の画像30の各画素について、予め記憶した画素値とノイズの標準偏差との関係に基づいて、当該画素の輝度値からノイズの標準偏差を算出する。輝度値からノイズの標準偏差を算出するための関係は、例えば、ノイズ除去対象の画像30を撮像によって取得する撮像装置(撮像素子)の種別に応じたものとなる。
 例えば、撮像装置(撮像素子)として、可視光CCD(Charge Coupled Device)センサ、又は可視光CMOS(Complementary Metal Oxide Semiconductor)センサを用いる場合には、上記の関係として以下の関係式を用いることができる。
Figure JPOXMLDOC01-appb-M000003
上記の式の変数等は、それぞれ以下を示す。
 Noise:(算出される)ノイズの標準偏差
 Cf:変換係数[photon/count]
 Signal:画素の輝度値
 D:暗電流輝度値
 R:読み出しノイズ
上記の関係式に含まれる値のうち、Cf、D及びRは、撮像装置(撮像素子)に応じた固有の値であり、撮像装置(撮像素子)に応じて予め設定された値が用いられる。
 また、上記の関係として、ノイズ除去対象の画像30を撮像によって取得する撮像装置(撮像素子)を用いた実測から算出される輝度値とノイズの標準偏差との関係を示すグラフを用いてもよい。グラフの算出は、例えば、以下のように行われる。まず、撮像物のない状態で光源の強さを段階的に変化させながら撮像を行う。そして、光源の強さが異なる状態で撮像した複数枚の画像に対して、それぞれ輝度値の平均値と標準偏差とを算出し、それを輝度値とノイズの標準偏差との関係としてグラフとする。輝度値からノイズの標準偏差を算出するために、第1ノイズ生成部12は、当該グラフから作成される、輝度値に対してノイズの標準偏差を割り当てたルックアップテーブルを記憶しておいてもよい。
 第1ノイズ生成部12は、ノイズ除去対象の画像30の各画素について算出したノイズの標準偏差を画素値とする画像を作成する。第1ノイズ生成部12は、作成した画像に対する量子化を行って、大きさデータである画像を生成する。例えば、第1ノイズ生成部12は、作成した画像の画素値の最小値(ノイズの標準偏差の最小値)から最大値(ノイズの標準偏差の最大値)までの範囲を、AI専用チップの画像の輝度値の解像度に線形に変換する量子化を行って、大きさデータである画像を生成する。生成した大きさデータは上記と同様に用いられればよい。
 学習システム20では、学習用第1ノイズ生成部22は、上記と同様に学習用データである画像から、大きさデータである画像を生成する。学習部23は、学習用第1ノイズデータ及び大きさデータを学習モデルへの入力として機械学習を行って学習モデルを生成する。学習システム20では、上記以外は、上述した実施形態と同様に学習モデルの生成が行われる。
 上記のようにこの構成では、大きさデータを生成して学習モデルへの入力とすることで、学習モデルにおいて、ノイズ除去対象の画像の元の輝度値の大きさを考慮することができる。その結果、更に適切なノイズ除去を可能とすることができる。
 上述した実施形態では、差分の画像32を量子化して第1ノイズデータを生成する際に、量子化対象となる差分の画像の輝度値の範囲(例えば、上述したmaxDiff,minDiff)が予め設定される。その範囲の設定によっては、ノイズを含む部分が範囲外となってしまったり、又は量子化によって精度が落ちてしまったりして、学習モデルで考慮されるべき情報が欠落するおそれがある。そこで、上記の点を考慮して、更に適切なノイズ除去を可能とするために、ノイズ除去システム10及び学習システム20は、以下の構成を取ってもよい。
 第1ノイズ生成部12は、複数の値の大きさの複数の範囲毎に量子化を行って、複数の第1ノイズデータを生成する。第2ノイズ生成部13は、第1ノイズ生成部12によって生成された複数の第1ノイズデータを学習モデルに入力して、第2ノイズデータを生成する。具体的には例えば、以下の構成を取る。
 図11に示すように、第1ノイズ生成部12は、第1ノイズデータを生成するための画像32(ノイズ除去対象の画像30と第1ノイズ除去処理後の画像31との差分の画像32)から、異なる輝度値の範囲毎に量子化を行って、複数の第1ノイズデータである画像33a,33bを生成する。輝度値の範囲は、予め生成する第1ノイズデータである画像33a,33b毎に設定される。例えば、図11に示す例では、第1ノイズ生成部12は、差分の画像32における-200~200の輝度値の範囲から画像33aを生成し、差分の画像32における-100~100の輝度値の範囲から画像33bを生成する。
 図11の各画像33a,33bの右側に示すグラフは、当該画像33a,33bの輝度値毎のヒストグラムである。画像33aは、比較的広い輝度値をカバーする一方で比較的精度が低く、画像33bは、比較的狭い輝度値をカバーする一方で比較的精度が高くなっている。第1ノイズ生成部12は、生成した複数の第1ノイズデータである画像33a,33bを第2ノイズ生成部13に出力する。
 第2ノイズ生成部13は、第1ノイズ生成部12から、複数の第1ノイズデータである画像33a,33bを入力する。この構成で用いられる学習モデルは、それらの画像33a,33bを入力できるようになっている。例えば、学習モデルの入力層には、一方の第1ノイズデータである画像33aを入力するためのニューロンと、他方の第1ノイズデータである画像33bを入力するためのニューロンとが設けられる。即ち、学習モデルの入力層には、2つのch(チャンネル)の画像が入力できるようにされており、そのうちの1chが一方の第1ノイズデータである画像33aであり、2chが他方の第1ノイズデータである画像33bである。この構成でも、学習モデルからの出力は、1つの第2ノイズデータのみである。
 第2ノイズ生成部13は、複数の第1ノイズデータである画像33a,33bを学習モデルに入力し、学習モデルに応じた演算を行って第2ノイズデータを生成する。ノイズ除去システム10では、上記以外は、上述した実施形態と同様にノイズ除去が行われる。
 学習システム20では、学習用第1ノイズ生成部22は、上記と同様に学習用第1ノイズデータを生成するための画像から、複数の学習用第1ノイズデータである画像を生成する。学習部23は、複数の学習用第1ノイズデータである画像を学習モデルへの入力として機械学習を行って学習モデルを生成する。学習システム20では、上記以外は、上述した実施形態と同様に学習モデルの生成が行われる。
 上記のように複数の第1ノイズデータである画像を生成することで、ノイズを含む部分が範囲外となってしまったり、又は量子化によって精度が落ちてしまったりすることを抑制することができる。なお、複数の第1ノイズデータである画像を生成する輝度値の範囲は、上記を達成できるように設定される。例えば、図11に示すように、広い範囲の輝度値をカバーする量子化後の画像33aと、狭い範囲ではあるが精度が高い量子化後の画像33bとを生成する。また、図11に示す例では、一方の輝度値の範囲が、他方の輝度値の範囲を含んでいるが、これ以外の範囲であってもよい。また、上記では2つの第1ノイズデータである画像を生成する例を示したが、3つ以上の輝度値の範囲を設定して3つ以上の第1ノイズデータである画像を生成してもよい。
 上記のようにこの構成によれば、複数の第1ノイズデータである画像を考慮した更に適切なノイズ除去を可能とすることができる。また、上述した大きさデータと、複数の第1ノイズデータとの両方を学習モデルへの入力として、第2ノイズデータを生成してもよい。
 本実施形態において、より適切なノイズ除去を行うために、第1ノイズ除去処理によって得られる第1ノイズデータを生成するための画像32(ノイズ除去対象の画像30と第1ノイズ除去処理後の画像31との差分の画像32)は、理想的には可能な限りノイズのみを含むことがよい。
 図12にノイズ除去対象の画像30に対してFFTを行って得られた周波数成分を示すスペクトル画像70、及び当該スペクトル画像70に対応するグラフ71を示す。スペクトル画像70及びグラフ71では、中心に近いほど低周波であり(中心は周波数0)、中心から離れるに従って高周波となる。図12のグラフ71では、横軸が周波数を示しており、縦軸が周波数成分を示している。図12のグラフ71に模式的に示すように、画像30の信号部分(ノイズを除外した部分)の信号スペクトル71aは、概ね、一定の周波数であるカットオフ周波数fc以下の周波数の周波数成分しか有さない。一方で、画像30のノイズ部分のノイズスペクトル71bは、周波数にかかわらず一様の周波数成分を有している。
 第1ノイズ除去処理によって得られる第1ノイズデータを生成するための画像32を、カットオフ周波数fc以上の周波数成分を除外したものとすることで、上記の理想的な画像に近づけることができる。これを考慮して、学習モデルの生成時に適切な第1ノイズ除去処理の方法を決定してもよい。そのために、学習システム20は、以下の構成を取ってもよい。
 学習用第1ノイズ生成部22は、学習用取得部21によって取得された周波数成分に基づいて第1ノイズ除去処理の方法を決定してもよい。具体的には例えば、以下の構成を取る。
 学習用第1ノイズ生成部22による第1ノイズ除去処理の方法の決定は、例えば、以下のものである。第1ノイズ除去処理に上述したフィルタを用いる場合には、予め複数のフィルタ(フィルタ群)を用意しておき、それらから上記の観点で最も適したフィルタを、第1ノイズ除去処理に用いるものとして選択する。複数のフィルタには、異なる種類のフィルタ(平均フィルタ、ガウスフィルタ、メディアンフィルタ、バイラテラルフィルタ等)が含まれていてもよい。複数のフィルタには、フィルタサイズが異なるものが含まれていてもよい。複数のフィルタには、標準偏差が異なるものが含まれていてもよい。標準偏差とは、ガウスフィルタを用いる場合には、ガウス分布の標準偏差である。
 第1ノイズ除去処理として、FFT(高速フーリエ変換)又はウェーブレット変換等を行って周波数成分を生成する場合には、周波数成分の除去に係る閾値を決定する。但し、学習用第1ノイズ生成部22による第1ノイズ除去処理の方法の決定は、学習用データの周波数成分を用いて行われるものであれば、上記以外であってもよい。
 また、上述したように第1ノイズ除去処理は、ノイズ除去対象の画像に係る撮像装置の種別若しくは撮像対象の種別、又はそれらの組み合わせに応じたものとしてもよい。従って、学習モデルの生成の説明でも述べたように、第1ノイズ除去処理の決定にも用いる学習用の画像は、撮像装置の種別毎若しくは撮像対象の種別毎、又はそれらの組み合わせ毎としてもよい。例えば、細胞画像及び撮像装置のレンズの倍率20倍の学習用の画像(画像群1)、細胞画像及び撮像装置のレンズの倍率40倍の学習用の画像(画像群2)、基板画像及び撮像装置のレンズの倍率20倍の学習用の画像(画像群3)及び基板画像及び撮像装置のレンズの倍率40倍の学習用の画像(画像群4)毎に、第1ノイズ除去処理の決定及び学習モデルの生成を行って、ノイズ除去を行う際には、ノイズ除去対象の画像に応じた第1ノイズ除去処理及び学習モデルを用いればよい。
 学習用第1ノイズ生成部22は、例えば、以下のように第1ノイズ除去処理の方法を決定する。学習用第1ノイズ生成部22は、学習用の各画像に対して、FFT等を行って、画像の周波数成分を生成し、スペクトル画像を算出する。図13に、学習用の画像80の例及びスペクトル画像81の例を示す。ここで算出されるスペクトル画像81は、中心に近いほど低周波であり(中心は周波数0)、中心から離れるに従って高周波となるものである。学習用の画像の画像エッジの影響を減らすために、学習用第1ノイズ生成部22は、FFT等の周波数成分の生成前に学習用の画像に対して窓関数(ハニング窓)を掛けてもよい。
 学習用第1ノイズ生成部22は、学習用の各画像に対して算出した各スペクトル画像の平均の画像を算出する。図14に、平均の画像82の例を示す。学習用第1ノイズ生成部22は、平均の画像の中心から外側に向かう方向毎の(中心から0~2π(360°)の)周波数成分の強度を周波数毎に平均し、スペクトル画像における方向に依存しない周波数毎の周波数成分を算出する。図14の平均の画像82に、それらの方向の一つである右側方向を矢印で示す。また、図14に、算出される周波数毎の周波数成分のグラフ83の例を示す。
 学習用第1ノイズ生成部22は、算出した周波数成分から、抽出する信号スペクトルの最大周波数を算出する。信号スペクトルの最大周波数は、図12のグラフ71に示すカットオフ周波数fc(の目標値)である。
 例えば、学習用第1ノイズ生成部22は、以下のようにカットオフ周波数fcを算出する。学習用第1ノイズ生成部22は、算出した周波数成分の周波数毎の変化率を算出する。ある周波数での変化率は、(ある周波数での周波数成分の強度-前の周波数での周波数成分の強度)÷前の周波数での周波数成分の強度で算出される値である。ある周波数と前の周波数との周波数の間隔は予め設定される。例えば、当該間隔は、周波数成分のデータにおける周波数の最小間隔である。
 学習用第1ノイズ生成部22は、算出した周波数成分の変化率のうち、予め設定した閾値以下となる周波数を特定し、その周波数の中で最小の周波数をカットオフ周波数fcとする。閾値は、例えば、0.002である。閾値は、変更可能である。閾値を大きくすると差分の画像32に含まれる信号成分が多くなりやすくなり、閾値を小さくすると差分の画像32に信号付近のノイズが含まれづらくなる。図15(a)に算出される周波数成分の周波数毎の変化率の例のグラフを示す。この例では、カットオフ周波数fcは、0.13となる。
 また、学習用第1ノイズ生成部22は、以下のようにカットオフ周波数fcを算出してもよい。高周波には信号成分がほとんど含まれない。そのため、周波数成分を算出した周波数の範囲のうち、周波数が90%~100%の周波数成分の強度の平均値をノイズスペクトルの強度と仮定する。学習用第1ノイズ生成部22は、予め設定されたノイズスペクトルの周波数の範囲(上記の例では90%~100%)の周波数成分の強度の平均値を算出する。学習用第1ノイズ生成部22は、算出した平均値に予め設定された1を超える倍数を掛けた値を算出し、周波数成分の強度が算出した値以下となる中で最大の周波数をカットオフ周波数fcとする。上記の倍数は、例えば、1.008である。
 上記の予め設定されたノイズスペクトルの周波数の範囲は、変更可能である。70%~100%、60~100%等、範囲を広げた方が平均値の値が安定しやすくなるが、信号スペクトルが混入する確率が高くなる。また、上記の倍数も、変更可能である。倍数を大きくすると差分の画像32に含まれる信号成分が多くなりやすくなり、倍数を小さくすると差分の画像32に信号付近のノイズが含まれづらくなる。図15(b)に算出される周波数成分の例のグラフを示す。この例では、予め設定されるノイズスペクトルの周波数の範囲は90~100%(ハッチングで示されている範囲)である。ノイズスペクトル周波数成分の強度の平均値は、413となる。予め設定される倍数は、1.008であり、平均値と倍数との積は、416である。これらに基づいてこの例では、カットオフ周波数fcは、0.13となる。
 学習用第1ノイズ生成部22は、算出したカットオフ周波数に基づいて、第1ノイズ除去処理の方法を決定する。例えば、第1ノイズ除去処理に上述したフィルタを用いる場合には、以下のように第1ノイズ除去処理に用いるフィルタを決定する。学習用第1ノイズ生成部22は、予め第1ノイズ除去処理に用いる候補となるフィルタ群を記憶しておく。フィルタ群に含まれるフィルタは、上述したように互いにフィルタの重みの標準偏差が異なるものである。図16の左側に第1ノイズ除去処理に用いる候補となるフィルタ群に含まれるフィルタの例を示す。図中のσの値が、フィルタに対応する標準偏差である。
 学習用第1ノイズ生成部22は、学習用の各画像に対する処理と同様に、各フィルタに対して、FFT等を行って、画像の周波数成分を生成し、スペクトル画像を算出する。図16の右側に各フィルタに対応するスペクトル画像の例を示す。なお、この際、FFT等の周波数成分の生成前に周波数の分解能を学習用の画像とあわせるために、学習用第1ノイズ生成部22は、各フィルタに対してゼロパディングを実施してもよい。
 学習用第1ノイズ生成部22は、学習用の各画像に対して算出した各スペクトル画像の平均の画像に対する処理と同様に、各フィルタのスペクトル画像から方向に依存しない周波数毎の周波数成分を算出する。図17に、各フィルタに対応する、周波数毎の周波数成分のグラフの例を示す。
 学習用第1ノイズ生成部22は、フィルタ毎に、算出した周波数成分から、フィルタが信号をカットする周波数であるフィルタカットオフ周波数を算出する。例えば、学習用第1ノイズ生成部22は、学習用の画像の周波数成分を用いた処理と同様に、算出した周波数成分の周波数毎の変化率を算出して、フィルタカットオフ周波数を算出する。
 学習用第1ノイズ生成部22は、周波数成分の強度が、予め設定された閾値以下となる中で最大の周波数をフィルタカットオフ周波数とする。閾値は、例えば、0.005である。閾値は、変更可能である。閾値を大きくすると差分の画像32に含まれる信号成分が多くなりやすくなり、閾値を小さくすると差分の画像32に信号付近のノイズが含まれづらくなる。なお、フィルタにはノイズが含まれていないため、上述したノイズスペクトルの周波数の範囲を仮定してカットオフ周波数を算出する方法を用いることはできない。
 図17に、この方法で算出したフィルタ毎のフィルタカットオフ周波数の例を示す。この例では、フィルタカットオフ周波数はそれぞれ、σ=2.24のフィルタでは0.14、σ=2.45のフィルタでは0.13、σ=2.65のフィルタでは0.11、σ=2.83のフィルタでは0.1、σ=3.00のフィルタでは0.09となる。
 学習用第1ノイズ生成部22は、学習用の画像から算出したカットオフ周波数fcと、フィルタ毎のフィルタカットオフ周波数とを比較し、カットオフ周波数fcに最も近いフィルタカットオフ周波数を有するフィルタを、第1ノイズ除去処理に用いるフィルタに決定(選択)する。例えば、図15に示すカットオフ周波数fcが0.13である場合には、図17に示すフィルタのうち、フィルタカットオフ周波数が0.13であるσ=2.45のフィルタが、第1ノイズ除去処理に用いるフィルタとされる。
 また、例えば、第1ノイズ除去処理として、FFT(高速フーリエ変換)又はウェーブレット変換等を行って周波数成分を生成する場合には、学習用第1ノイズ生成部22は、学習用の画像から算出したカットオフ周波数fcを、周波数成分の除去に係る閾値とする。以上が、学習用第1ノイズ生成部22の第1ノイズ除去処理の方法を決定するための機能である。
 第1ノイズ除去処理の方法を決定する態様である場合、学習用第1ノイズ生成部22は、決定した方法で第1ノイズ除去処理を行って学習用第1ノイズデータを生成する。また、決定された第1ノイズ除去処理の方法は、ノイズ除去システム10にも通知されて、ノイズ除去システム10における第1ノイズ除去処理でも利用される。
 上記のように第1ノイズ除去処理の方法を決定することで、第1ノイズデータを生成するための画像32を上記の理想的な画像とする適切な方法で第1ノイズ除去処理を行うことができる。その結果、更に適切なノイズ除去を可能とすることができる。
 引き続いて、本実施形態によるノイズ除去の実施例を示す。図18に実施例に用いたノイズ除去対象の画像90を示す。また、図18に学習モデルに入力される画像91,92,93を示す。画像91は、学習モデルの1chに入力される画像であり、ノイズ除去対象の画像90と第1ノイズ除去処理後の画像との差分の画像を量子化した画像である。画像92は、学習モデルの2chに入力される画像であり、ノイズ除去対象の画像90を量子化した画像である。画像93は、学習モデルの3chに入力される画像であり、ノイズ除去対象の画像90と第1ノイズ除去処理後の画像との差分の画像を量子化した画像である。
 画像91を生成するための量子化は、差分の画像の輝度値がオーバーフロー及びアンダーフローしない範囲で行われる量子化(通常の正規化)である。画像93を生成するための量子化は、差分の画像の一部の輝度値のオーバーフローを許容する範囲で行われる量子化である。画像93を生成するための量子化は、画像91を生成するための量子化の精度では、差分の画像の輝度値の範囲を表現できない場合に、ノイズ成分を学習モデルに精度よく入力するためのものである。
 図19(a)に画像の各部分毎の輝度値の標準偏差を示す。画像の部分は、図18のノイズ除去対象の画像90に括弧書きで示す矩形の部分である。この実施例及び比較例では、ノイズ除去対象の画像90の解像度は、32ビット浮動小数点(FP32)であり、学習モデルに入力される画像の解像度は、量子化された8ビット整数(Int8)である。図19(a)の表における、括弧書きの数値がそれぞれの部分に対応している。図19(a)における「元画像」は、ノイズ除去対象の画像90である。「Int8 通常信号推論」は、ノイズ除去対象の画像90を量子化して、学習モデルによってノイズ除去後の画像を推論したものである。「Int8 通常ノイズ推論」は、ノイズ除去対象の画像90を量子化して、学習モデルによってノイズを推論したものである。「Int8 通常信号推論」及び「Int8 通常ノイズ推論」は、本実施形態と比較するための比較例である。
 「Int8 1-chノイズ推論(Gaussian σ=1.8)」は、1chの画像91を学習モデルへの入力として用いて本実施形態によるノイズ除去を行ったものである。なお、この例では、第1ノイズ除去処理にσ=1.8のガウスフィルタを用いた。以下についても同様である。「Int8 2-chノイズ推論(Gaussian σ=1.8)」は、1chの画像91及び2chの画像92を学習モデルへの入力として用いて本実施形態によるノイズ除去を行ったものである。「Int8 3-chノイズ推論(Gaussian σ=1.8)」は、1chの画像91、2chの画像92及び3chの画像93を学習モデルへの入力として用いて本実施形態によるノイズ除去を行ったものである。
 図19(a)の表における標準偏差は、数値が小さいほどノイズが含まれていないことを示している。この表に示すように、単にノイズ除去対象の画像90を量子化してノイズ除去を行った場合に比べて、本実施形態によるノイズ除去の方が、適切にノイズ除去を行えている。また、多くの画像を学習モデルに入力することで、更に適切にノイズ除去を行えている。なお、「Int8 通常信号推論」によって得られるノイズ除去後の画像は、量子化による諧調の劣化が大きいため画質として許容できない。
 図19(b)に画像の各部分毎の輝度値の標準偏差を示す。この実施例及び比較例では、ノイズ除去対象の画像90の解像度及び学習モデルに入力される画像の解像度は、何れも32ビット浮動小数点(FP32)である。即ち、学習モデルに入力する画像は、量子化が行われていないものである。図19(b)における「FP32 通常ノイズ推論」は、ノイズ除去対象の画像90から学習モデルによってノイズを推論したものである。「FP32 2-chノイズ推論(Gaussian σ=1.8)」は、1chの画像91及び2chの画像92の量子化前の画像を学習モデルへの入力として用いて本実施形態によるノイズ除去を行ったものである。この表に示すように、量子化を行わない場合であっても、本実施形態によるノイズ除去の方が、適切にノイズ除去を行えている。図20~図22に図19の表に示す各場合に対応する他の画像の例を示す。
 また、AI専用チップの使用を想定せず画像の量子化を行わずに学習モデルを生成した場合、速度の向上が見られた。図23に示す画像を用いて、機械学習の繰り返し数毎の学習モデルを用いてノイズ除去を行った場合の、画像の部分(図23の画像の矩形で示す部分)の標準偏差を図23のグラフ及び表に示す。図23に示す「通常学習」は、ノイズ除去対象の画像からノイズを推論する学習モデルを生成するものである。「差分2-ch学習」は、上記の1chの画像91及び2chの画像92の量子化前の画像からノイズを推論する学習モデルを生成するものである。この表に示すように「差分2-ch学習」の方が、より少ない学習回数で適切にノイズ除去を行えている。
 引き続いて、上述した一連のノイズ除去システム10及び学習システム20による処理を実行させるためのノイズ除去プログラム及び学習プログラムを説明する。図24(a)に示すように、ノイズ除去プログラム100は、コンピュータに挿入されてアクセスされる、あるいはコンピュータが備える、コンピュータ読み取り可能な記録媒体110に形成されたプログラム格納領域111内に格納される。記録媒体110は、非一時的な記録媒体であってもよい。
 ノイズ除去プログラム100は、取得モジュール101と、第1ノイズ生成モジュール102と、第2ノイズ生成モジュール103と、ノイズ除去モジュール104とを備えて構成される。取得モジュール101と、第1ノイズ生成モジュール102と、第2ノイズ生成モジュール103と、ノイズ除去モジュール104とを実行させることにより実現される機能は、上述したノイズ除去システム10の取得部11と、第1ノイズ生成部12と、第2ノイズ生成部13と、ノイズ除去部14との機能とそれぞれ同様である。
 図24(b)に示すように、学習プログラム200は、コンピュータに挿入されてアクセスされる、あるいはコンピュータが備える、コンピュータ読み取り可能な記録媒体210に形成されたプログラム格納領域211内に格納される。記録媒体210は、非一時的な記録媒体であってもよい。なお、ノイズ除去プログラム100及び学習プログラム200が同一のコンピュータで実行される場合には、記録媒体210は、記録媒体110と同一であってもよい。
 学習プログラム200は、学習用取得モジュール201と、学習用第1ノイズ生成モジュール202と、学習モジュール203とを備えて構成される。学習用取得モジュール201と、学習用第1ノイズ生成モジュール202と、学習モジュール203とを実行させることにより実現される機能は、上述した学習システム20の学習用取得部21と、学習用第1ノイズ生成部22と、学習部23との機能とそれぞれ同様である。
 なお、ノイズ除去プログラム100及び学習プログラム200は、その一部又は全部が、通信回線等の伝送媒体を介して伝送され、他の機器により受信されて記録(インストールを含む)される構成としてもよい。また、ノイズ除去プログラム100及び学習プログラム200の各モジュールは、1つのコンピュータでなく、複数のコンピュータの何れかにインストールされてもよい。その場合、当該複数のコンピュータによるコンピュータシステムよって上述した一連の処理が行われる。
 本開示のノイズ除去方法、ノイズ除去プログラム、ノイズ除去システム及び学習方法は、以下の構成を有する。
 [1]複数の値を有するデータからノイズを除去するノイズ除去方法であって、
 複数の値を有すると共にノイズ除去対象であるノイズ除去対象データを取得する取得ステップと、
 前記取得ステップにおいて取得されたノイズ除去対象データに対して、第1ノイズ除去処理を行って、当該第1ノイズ除去処理によって除去されるノイズに係る第1ノイズデータを生成する第1ノイズ生成ステップと、
 前記第1ノイズ生成ステップにおいて生成された第1ノイズデータを、当該第1ノイズデータから前記ノイズ除去対象データから除去されるノイズに係る第2ノイズデータを生成するための予め機械学習によって生成された学習モデルに入力し、当該第2ノイズデータを生成する第2ノイズ生成ステップと、
 前記第2ノイズ生成ステップにおいて生成された第2ノイズデータを用いて、前記取得ステップにおいて取得されたノイズ除去対象データからノイズ除去後のデータを生成するノイズ除去ステップと、
を含むノイズ除去方法。
 [2]前記第1ノイズ生成ステップにおいて、前記第1ノイズ除去処理によって得られたデータに対して量子化を行って、第1ノイズデータを生成し、
 前記ノイズ除去ステップにおいて、前記第2ノイズ生成ステップにおいて生成された第2ノイズデータに対して逆量子化を行って、逆量子化したデータからノイズ除去後のデータを生成する[1]に記載のノイズ除去方法。
 [3]前記第1ノイズ生成ステップにおいて、前記複数の値の大きさの複数の範囲毎に量子化を行って、複数の第1ノイズデータを生成し、
 前記第2ノイズ生成ステップにおいて、前記第1ノイズ生成ステップにおいて生成された複数の第1ノイズデータを前記学習モデルに入力して、前記第2ノイズデータを生成する[2]に記載のノイズ除去方法。
 [4]前記第1ノイズ生成ステップによる処理と、前記第2ノイズ生成ステップとは互いに性能が異なる処理装置によって行われる[1]~[3]の何れかに記載のノイズ除去方法。
 [5]前記第1ノイズ生成ステップにおいて、前記第1ノイズ除去処理として、前記ノイズ除去対象データに対して、前記第1ノイズ除去処理を行うための予め設定されたフィルタを適用して、前記第1ノイズデータを生成する[1]~[4]の何れかに記載のノイズ除去方法。
 [6]前記第1ノイズ生成ステップにおいて、前記第1ノイズ除去処理として、前記ノイズ除去対象データに対して、予め設定された範囲の周波数成分を除去する処理を行って、前記第1ノイズデータを生成する[1]~[5]の何れかに記載のノイズ除去方法。
 [7]前記第1ノイズ生成ステップにおいて、前記ノイズ除去対象データの複数の値の大きさを反映した大きさデータも生成し、
 前記第2ノイズ生成ステップにおいて、前記第1ノイズ生成ステップにおいて生成された第1ノイズデータ及び大きさデータを前記学習モデルに入力して、前記第2ノイズデータを生成する[1]~[6]の何れかに記載のノイズ除去方法。
 [8]前記ノイズ除去対象データは、画像、スペクトルデータ又は時系列データである[1]~[7]の何れかに記載のノイズ除去方法。
 [9]コンピュータを、複数の値を有するデータからノイズを除去するノイズ除去プログラムであって、
 当該コンピュータを、
 複数の値を有すると共にノイズ除去対象であるノイズ除去対象データを取得する取得手段と、
 前記取得手段によって取得されたノイズ除去対象データに対して、第1ノイズ除去処理を行って、当該第1ノイズ除去処理によって除去されるノイズに係る第1ノイズデータを生成する第1ノイズ生成手段と、
 前記第1ノイズ生成手段によって生成された第1ノイズデータを、当該第1ノイズデータから前記ノイズ除去対象データから除去されるノイズに係る第2ノイズデータを生成するための予め機械学習によって生成された学習モデルに入力して、当該第2ノイズデータを生成する第2ノイズ生成手段と、
 前記第2ノイズ生成手段によって生成された第2ノイズデータを用いて、前記取得手段によって取得されたノイズ除去対象データからノイズ除去後のデータを生成するノイズ除去手段と、
として機能させるノイズ除去プログラム。
 [10]複数の値を有するデータからノイズを除去するノイズ除去システムであって、
 複数の値を有すると共にノイズ除去対象であるノイズ除去対象データを取得する取得手段と、
 前記取得手段によって取得されたノイズ除去対象データに対して、第1ノイズ除去処理を行って、当該第1ノイズ除去処理によって除去されるノイズに係る第1ノイズデータを生成する第1ノイズ生成手段と、
 前記第1ノイズ生成手段によって生成された第1ノイズデータを、当該第1ノイズデータから前記ノイズ除去対象データから除去されるノイズに係る第2ノイズデータを生成するための予め機械学習によって生成された学習モデルに入力して、当該第2ノイズデータを生成する第2ノイズ生成手段と、
 前記第2ノイズ生成手段によって生成された第2ノイズデータを用いて、前記取得手段によって取得されたノイズ除去対象データからノイズ除去後のデータを生成するノイズ除去手段と、
を備えるノイズ除去システム。
 [11]複数の値を有するデータからノイズを除去するために用いられる学習モデルを生成する学習方法であって、
 複数の値を有すると共にノイズを含む学習用データを取得する学習用取得ステップと、
 前記学習用取得ステップにおいて取得された学習用データに対して、第1ノイズ除去処理を行って、当該第1ノイズ除去処理によって除去されるノイズに係る学習用第1ノイズデータを生成する学習用第1ノイズ生成ステップと、
 前記学習用第1ノイズ生成ステップにおいて生成された学習用第1ノイズデータを前記学習モデルへの入力として機械学習を行って前記学習モデルを生成する学習ステップと、
を含む学習方法。
 [12]前記学習用第1ノイズ生成ステップにおいて、前記学習用取得ステップにおいて取得された学習用データの周波数成分を生成し、生成した周波数成分に基づいて第1ノイズ除去処理の方法を決定する請求項11に記載の学習方法。
 10…ノイズ除去システム、11…取得部、12…第1ノイズ生成部、13…第2ノイズ生成部、14…ノイズ除去部、20…学習システム、21…学習用取得部、22…学習用第1ノイズ生成部、23…学習部、100…ノイズ除去プログラム、110…記録媒体、111…プログラム格納領域、101…取得モジュール、102…第1ノイズ生成モジュール、103…第2ノイズ生成モジュール、104…ノイズ除去モジュール、200…学習プログラム、210…記録媒体、211…プログラム格納領域、201…学習用取得モジュール、202…学習用第1ノイズ生成モジュール、203…学習モジュール。

Claims (12)

  1.  複数の値を有するデータからノイズを除去するノイズ除去方法であって、
     複数の値を有すると共にノイズ除去対象であるノイズ除去対象データを取得する取得ステップと、
     前記取得ステップにおいて取得されたノイズ除去対象データに対して、第1ノイズ除去処理を行って、当該第1ノイズ除去処理によって除去されるノイズに係る第1ノイズデータを生成する第1ノイズ生成ステップと、
     前記第1ノイズ生成ステップにおいて生成された第1ノイズデータを、当該第1ノイズデータから前記ノイズ除去対象データから除去されるノイズに係る第2ノイズデータを生成するための予め機械学習によって生成された学習モデルに入力し、当該第2ノイズデータを生成する第2ノイズ生成ステップと、
     前記第2ノイズ生成ステップにおいて生成された第2ノイズデータを用いて、前記取得ステップにおいて取得されたノイズ除去対象データからノイズ除去後のデータを生成するノイズ除去ステップと、
    を含むノイズ除去方法。
  2.  前記第1ノイズ生成ステップにおいて、前記第1ノイズ除去処理によって得られたデータに対して量子化を行って、第1ノイズデータを生成し、
     前記ノイズ除去ステップにおいて、前記第2ノイズ生成ステップにおいて生成された第2ノイズデータに対して逆量子化を行って、逆量子化したデータからノイズ除去後のデータを生成する請求項1に記載のノイズ除去方法。
  3.  前記第1ノイズ生成ステップにおいて、前記複数の値の大きさの複数の範囲毎に量子化を行って、複数の第1ノイズデータを生成し、
     前記第2ノイズ生成ステップにおいて、前記第1ノイズ生成ステップにおいて生成された複数の第1ノイズデータを前記学習モデルに入力して、前記第2ノイズデータを生成する請求項2に記載のノイズ除去方法。
  4.  前記第1ノイズ生成ステップによる処理と、前記第2ノイズ生成ステップとは互いに性能が異なる処理装置によって行われる請求項1又は2に記載のノイズ除去方法。
  5.  前記第1ノイズ生成ステップにおいて、前記第1ノイズ除去処理として、前記ノイズ除去対象データに対して、前記第1ノイズ除去処理を行うための予め設定されたフィルタを適用して、前記第1ノイズデータを生成する請求項1又は2に記載のノイズ除去方法。
  6.  前記第1ノイズ生成ステップにおいて、前記第1ノイズ除去処理として、前記ノイズ除去対象データに対して、予め設定された範囲の周波数成分を除去する処理を行って、前記第1ノイズデータを生成する請求項1又は2に記載のノイズ除去方法。
  7.  前記第1ノイズ生成ステップにおいて、前記ノイズ除去対象データの複数の値の大きさを反映した大きさデータも生成し、
     前記第2ノイズ生成ステップにおいて、前記第1ノイズ生成ステップにおいて生成された第1ノイズデータ及び大きさデータを前記学習モデルに入力して、前記第2ノイズデータを生成する請求項1又は2に記載のノイズ除去方法。
  8.  前記ノイズ除去対象データは、画像、スペクトルデータ又は時系列データである請求項1又は2に記載のノイズ除去方法。
  9.  コンピュータを、複数の値を有するデータからノイズを除去するノイズ除去プログラムであって、
     当該コンピュータを、
     複数の値を有すると共にノイズ除去対象であるノイズ除去対象データを取得する取得手段と、
     前記取得手段によって取得されたノイズ除去対象データに対して、第1ノイズ除去処理を行って、当該第1ノイズ除去処理によって除去されるノイズに係る第1ノイズデータを生成する第1ノイズ生成手段と、
     前記第1ノイズ生成手段によって生成された第1ノイズデータを、当該第1ノイズデータから前記ノイズ除去対象データから除去されるノイズに係る第2ノイズデータを生成するための予め機械学習によって生成された学習モデルに入力して、当該第2ノイズデータを生成する第2ノイズ生成手段と、
     前記第2ノイズ生成手段によって生成された第2ノイズデータを用いて、前記取得手段によって取得されたノイズ除去対象データからノイズ除去後のデータを生成するノイズ除去手段と、
    として機能させるノイズ除去プログラム。
  10.  複数の値を有するデータからノイズを除去するノイズ除去システムであって、
     複数の値を有すると共にノイズ除去対象であるノイズ除去対象データを取得する取得手段と、
     前記取得手段によって取得されたノイズ除去対象データに対して、第1ノイズ除去処理を行って、当該第1ノイズ除去処理によって除去されるノイズに係る第1ノイズデータを生成する第1ノイズ生成手段と、
     前記第1ノイズ生成手段によって生成された第1ノイズデータを、当該第1ノイズデータから前記ノイズ除去対象データから除去されるノイズに係る第2ノイズデータを生成するための予め機械学習によって生成された学習モデルに入力して、当該第2ノイズデータを生成する第2ノイズ生成手段と、
     前記第2ノイズ生成手段によって生成された第2ノイズデータを用いて、前記取得手段によって取得されたノイズ除去対象データからノイズ除去後のデータを生成するノイズ除去手段と、
    を備えるノイズ除去システム。
  11.  複数の値を有するデータからノイズを除去するために用いられる学習モデルを生成する学習方法であって、
     複数の値を有すると共にノイズを含む学習用データを取得する学習用取得ステップと、
     前記学習用取得ステップにおいて取得された学習用データに対して、第1ノイズ除去処理を行って、当該第1ノイズ除去処理によって除去されるノイズに係る学習用第1ノイズデータを生成する学習用第1ノイズ生成ステップと、
     前記学習用第1ノイズ生成ステップにおいて生成された学習用第1ノイズデータを前記学習モデルへの入力として機械学習を行って前記学習モデルを生成する学習ステップと、
    を含む学習方法。
  12.  前記学習用第1ノイズ生成ステップにおいて、前記学習用取得ステップにおいて取得された学習用データの周波数成分を生成し、生成した周波数成分に基づいて第1ノイズ除去処理の方法を決定する請求項11に記載の学習方法。
PCT/JP2023/023576 2022-11-22 2023-06-26 ノイズ除去方法、ノイズ除去プログラム、ノイズ除去システム及び学習方法 WO2024111145A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022-186818 2022-11-22
JP2022186818 2022-11-22

Publications (1)

Publication Number Publication Date
WO2024111145A1 true WO2024111145A1 (ja) 2024-05-30

Family

ID=91195968

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/023576 WO2024111145A1 (ja) 2022-11-22 2023-06-26 ノイズ除去方法、ノイズ除去プログラム、ノイズ除去システム及び学習方法

Country Status (1)

Country Link
WO (1) WO2024111145A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018206382A (ja) * 2017-06-01 2018-12-27 株式会社東芝 画像処理システム及び医用情報処理システム
JP2020064609A (ja) * 2018-08-23 2020-04-23 ゼネラル・エレクトリック・カンパニイ 患者固有の深層学習画像ノイズ除去方法およびシステム
JP2021071936A (ja) * 2019-10-31 2021-05-06 浜松ホトニクス株式会社 画像処理装置、画像処理方法、画像処理プログラムおよび記録媒体
JP2022064389A (ja) * 2020-10-14 2022-04-26 プラスマン合同会社 画像処理装置、画像処理方法およびプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018206382A (ja) * 2017-06-01 2018-12-27 株式会社東芝 画像処理システム及び医用情報処理システム
JP2020064609A (ja) * 2018-08-23 2020-04-23 ゼネラル・エレクトリック・カンパニイ 患者固有の深層学習画像ノイズ除去方法およびシステム
JP2021071936A (ja) * 2019-10-31 2021-05-06 浜松ホトニクス株式会社 画像処理装置、画像処理方法、画像処理プログラムおよび記録媒体
JP2022064389A (ja) * 2020-10-14 2022-04-26 プラスマン合同会社 画像処理装置、画像処理方法およびプログラム

Similar Documents

Publication Publication Date Title
US20180336662A1 (en) Image processing apparatus, image processing method, image capturing apparatus, and storage medium
Janani et al. Image enhancement techniques: A study
US8908989B2 (en) Recursive conditional means image denoising
CN1656824A (zh) 根据局部边缘统计分布估计清晰度度量的方法和系统
CN112508800A (zh) 一种基于注意力机制的单张灰度图像的金属零件表面高光去除方法
US10013607B2 (en) System and method for image reconstruction, analysis, and/or de-noising
US9253451B2 (en) Image restoration method, image restoration apparatus, and image-pickup apparatus
WO2024111145A1 (ja) ノイズ除去方法、ノイズ除去プログラム、ノイズ除去システム及び学習方法
Hou et al. Objectively assessing underwater image quality for the purpose of automated restoration
Jaiswal et al. A no-reference contrast assessment index based on foreground and background
CN116645305A (zh) 基于多注意力机制与Retinex的低光照图像增强方法
US20130202199A1 (en) Using higher order statistics to estimate pixel values in digital image processing to improve accuracy and computation efficiency
CN115761241A (zh) 一种图像增强方法及其应用
CN114926354A (zh) 运用深度低秩非负矩阵分解水下图像复原方法、系统、介质
AKINTOYE et al. COMPOSITE MEDIAN WIENER FILTER BASED TECHNIQUE FOR IMAGE ENHANCEMENT.
WO2019163244A1 (ja) 画像処理方法、画像処理装置、及び画像処理プログラム
Sheela et al. Comparative analysis of various filtering techniques for Speckle noise suppression in Ultrasound images
CN111402173A (zh) 一种混合噪声去除方法、装置、电子设备和存储介质
Narasimharao et al. Advanced Techniques for Color Image Blind Deconvolution to Restore Blurred Images
EP4198876A1 (en) Reducing image artefacts in electron microscopy
Kumar et al. No-reference image quality assessment using gradient-based structural integrity and latent noise estimation
JP2023139778A (ja) 学習方法、学習システム、学習プログラム、ノイズ除去方法、ノイズ除去システム及びノイズ除去プログラム
Priego et al. A cellular automata‐based filtering approach to multi‐temporal image denoising
Liaoa et al. Efficient Non-Local Means Image Denoising Using Halftone Image for Pre-Classification
JP2023139782A (ja) 学習方法、学習システム、学習プログラム、ノイズ除去方法、ノイズ除去システム及びノイズ除去プログラム