WO2024029224A1 - 画像処理方法、画像処理装置、プログラムおよび画像処理システム - Google Patents
画像処理方法、画像処理装置、プログラムおよび画像処理システム Download PDFInfo
- Publication number
- WO2024029224A1 WO2024029224A1 PCT/JP2023/023284 JP2023023284W WO2024029224A1 WO 2024029224 A1 WO2024029224 A1 WO 2024029224A1 JP 2023023284 W JP2023023284 W JP 2023023284W WO 2024029224 A1 WO2024029224 A1 WO 2024029224A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- map
- image
- image processing
- captured image
- blur
- Prior art date
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 20
- 238000012545 processing Methods 0.000 title claims description 76
- 238000010801 machine learning Methods 0.000 claims abstract description 139
- 229920006395 saturated elastomer Polymers 0.000 claims abstract description 97
- 238000000034 method Methods 0.000 claims description 44
- 238000003384 imaging method Methods 0.000 claims description 33
- 108010076504 Protein Sorting Signals Proteins 0.000 claims description 5
- 230000002093 peripheral effect Effects 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 2
- 230000015556 catabolic process Effects 0.000 abstract 1
- 238000006731 degradation reaction Methods 0.000 abstract 1
- 238000012549 training Methods 0.000 description 59
- 238000004364 calculation method Methods 0.000 description 43
- 230000003287 optical effect Effects 0.000 description 27
- 238000003860 storage Methods 0.000 description 26
- 238000010586 diagram Methods 0.000 description 19
- 230000007423 decrease Effects 0.000 description 17
- 230000008569 process Effects 0.000 description 17
- 230000006870 function Effects 0.000 description 15
- 238000009826 distribution Methods 0.000 description 12
- 230000000694 effects Effects 0.000 description 11
- 230000004075 alteration Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 7
- 238000013527 convolutional neural network Methods 0.000 description 7
- 230000002238 attenuated effect Effects 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 241000282472 Canis lupus familiaris Species 0.000 description 1
- 206010011469 Crying Diseases 0.000 description 1
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 201000009310 astigmatism Diseases 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 230000008921 facial expression Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 230000009931 harmful effect Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000001308 synthesis method Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
Definitions
- the present invention relates to an image processing method that performs a recognition or regression task using a machine learning model on a captured image in which blur has occurred.
- Non-Patent Document 1 discloses a method of sharpening the blur of a captured image using a convolutional neural network (CNN), which is one of the machine learning models.
- CNN convolutional neural network
- a training data set is generated by blurring images with signal values greater than the brightness saturation value of the captured image, and by training a CNN with this training data set, the negative effects are suppressed even around the brightness saturation region, and the blur is sharpened. can be converted into
- artifacts may occur in the subject at positions unrelated to brightness saturation.
- the artifact is a local decrease or increase in signal value that differs from the actual structure of the object. Note that details of the artifact and the reason for its occurrence will be described later. Even in tasks for images with blur other than sharpened blur, the accuracy of the task similarly decreases due to the influence of brightness saturation.
- an object of the present invention is to provide an image processing method that can suppress a decrease in task accuracy due to brightness saturation in a recognition or regression task using machine learning for a captured image in which blur has occurred.
- An image processing method as one aspect of the present invention includes a step of acquiring a first map generated by inputting a captured image obtained by imaging into a first machine learning model, and a step of obtaining a first map generated by inputting a captured image obtained by imaging into a first machine learning model, and a step of obtaining a first map generated by inputting a captured image obtained by imaging into a first machine learning model, and a step of obtaining a first map generated by inputting a captured image obtained by imaging into a first machine learning model, generating a second map by modifying the first map based on information regarding the position of the region, and the first map is configured such that the object in the brightness saturated region occurs in the imaging.
- the information is characterized in that it is information representing an area expanded by the blurred image and a signal value in the area.
- an image processing method that can suppress a decrease in task accuracy due to brightness saturation in a recognition or regression task using machine learning for a captured image in which blur has occurred.
- FIG. 3 is a diagram illustrating a model output generation process in Example 1.
- FIG. FIG. 3 is an explanatory diagram of a relationship between a subject and a captured image and a first map in Examples 1 to 3.
- FIG. 3 is an explanatory diagram of a captured image, a first map, and a model output in Example 1.
- FIG. 1 is a block diagram of an image processing system in Example 1.
- FIG. 1 is an external view of an image processing system in Example 1.
- FIG. FIG. 3 is an explanatory diagram of artifacts in Example 1.
- 3 is a flowchart of training of first and second machine learning models in Examples 1 to 3.
- FIG. FIG. 3 is a diagram illustrating the process of training first and second machine learning models in Example 1.
- FIG. 3 is an explanatory diagram regarding a training data set in Example 1.
- FIG. 3 is a flowchart of estimation of first and second machine learning models in Example 1 or 2.
- FIG. 3 is a block diagram of an image processing system in Example 2.
- FIG. 3 is an external view of an image processing system in Example 2.
- FIG. 6 is an explanatory diagram of modification to the first map in Example 2;
- 3 is a block diagram of an image processing system in Example 3.
- FIG. 3 is an external view of an image processing system in Example 3.
- FIG. 7 is a flowchart of estimation of first and second machine learning models in Example 3.
- the above-mentioned factor includes brightness saturation (also called overexposure) of the captured image.
- brightness saturation also called overexposure
- a theory-based method such as a Wiener filter
- a method using machine learning can sharpen the blur even if brightness saturation exists, as in Non-Patent Document 1.
- the method disclosed in Non-Patent Document 1 has a problem in that artifacts occur in the corrected image.
- An object of the present invention is to suppress the decrease in task accuracy (artifacts mentioned above) that occurs due to brightness saturation when a machine learning model performs a recognition or regression task on a captured image in which blur has occurred.
- blur refers to blur caused by aberration, diffraction, or defocus of the optical system used to capture the captured image, blur caused by an optical low-pass filter, blur caused by the pixel aperture of the image sensor, or blur caused by camera shake or subject blur during image capture. Refers to either blur, etc. Or, it refers to a combination of multiple of these.
- the recognition task is a task for determining a class corresponding to an input image.
- recognition tasks include tasks that recognize the nature and meaning in images, such as classifying objects in images as people, dogs, cars, etc., and classifying facial images into facial expressions such as smiling faces and crying faces. It will be done.
- Classes are generally discrete variables.
- a class is a signal sequence in which recognition labels such as scalar values or recognition labels such as a segmentation map are spatially arranged.
- a regression task refers to a task of obtaining a signal sequence in which continuous variables corresponding to an input image are spatially arranged. Examples of regression tasks include a task of estimating a sharpened image from a blurred image, a task of estimating a depth map of a subject space from an image, and the like.
- FIG. 2A is a diagram showing the relationship between the brightness distribution of a subject and a captured image.
- the horizontal axis represents spatial coordinates
- the vertical axis represents luminance.
- the solid line is a captured image without blur
- the broken line is an actual captured image with blur.
- the dashed line represents the luminance distribution before being clipped at luminance saturation. Even if the subject 221 is blurred during the imaging process, it only has a luminance that is less than the luminance saturation value.
- the subject 221 becomes a non-saturated blurred image 231.
- the object 222 since the object 222 has a brightness higher than the brightness saturation value as a result of being blurred during the imaging process, clipping occurs due to the brightness saturation value, and the object 222 becomes a saturated blurred image 232.
- object information is attenuated due to blurring.
- subject information is attenuated not only due to blurring but also due to signal value clipping due to brightness saturation. Therefore, the manner in which subject information attenuates differs depending on the presence or absence of brightness saturation. This is the first factor that causes the characteristics to differ between the surrounding area including the brightness saturated area and the other areas.
- the saturated blurred image 232 originally has a brightness distribution represented by a dashed-dotted line in an area equal to or higher than the brightness saturation value, so it has a smooth distribution, but discontinuous edges are formed due to clipping of the brightness saturation value.
- the third element with different properties is that in the surrounding area including the brightness saturated area, it is not possible to separate the signal value of the subject from the signal value leaked due to blur (even if the shape of the blur is known). be.
- the surrounding area including the brightness saturated area has different properties from the other areas, so a highly accurate task cannot be achieved unless different processing is performed for each area.
- a machine learning model can perform processing with different effects depending on the characteristics of the image, rather than processing with a uniform effect on the input image. Therefore, for example, when considering an example of sharpening the blur of a captured image, the machine learning model determines whether the focused area is a blurred image that includes luminance saturation (saturated blurred image) or a blurred image that does not include brightness saturation (unsaturated blurred image). internally and performs different sharpening processes. As a result, both blurred images can be sharpened. However, there are cases where the machine learning model makes incorrect decisions. For example, in the saturated blurred image 232 in FIG.
- the machine learning model will determine that the area of interest is affected by the effect of saturated brightness because there is a saturated area of brightness near the area of interest. It can be determined that this is the area that has been affected. However, if the region of interest is a position 233 that is far from the brightness saturated area, it is not easy to determine whether the position 233 is affected by brightness saturation, and ambiguity increases. As a result, the machine learning model may make an erroneous determination at a position 233 far from the brightness saturation region. As a result, when the task is to sharpen a blur, the sharpening process corresponding to a saturated blur image is executed on a non-saturated blur image. At this time, artifacts occur in the sharpened image, reducing the accuracy of the task. This artifact will be explained in detail in Example 1.
- a first machine learning model is used to generate a first map from a captured image that has been blurred during the imaging process.
- the first map is a map that expresses the relationship between the range of an area where the subject in the brightness saturated area of the captured image has expanded due to blur generated by imaging, and the magnitude of the signal value corresponding to the area.
- the first map is a map (a spatially arranged signal). It can also be said that In other words, the first map is a map that represents the spread of brightness values in high brightness areas including brightness saturated areas of the captured image (a subject whose brightness is so high that it reaches brightness saturation spreads due to blurring caused during the imaging process). (This is a map representing the distribution).
- the first map for the captured image in FIG. 2(A) is shown by a broken line in FIG. 2(B).
- subsequent tasks such as sharpening blur
- the processing that should be executed in the area can be executed in each appropriate area. Therefore, by having the first machine learning model generate the first map, the accuracy of the task is improved.
- FIG. 3 is an explanatory diagram of a captured image, a first map, and a model output.
- the model output in FIG. 3 is a sharpened blur image in which the blur of the captured image is sharpened.
- the first map shown by the broken line in FIG. 3(B) may be estimated for the captured image shown by the broken line in FIG. 3(A). Since FIG. 3A shows an object with a flat signal distribution below the luminance saturation value, it is correct that all the first maps have the same value (first signal value) representing a non-saturated blurred image.
- first signal value representing a non-saturated blurred image.
- region 241 having a value representing the influence of brightness saturation may be generated. This is an erroneous estimation that occurs due to the learning method of the machine learning model. The principle by which this erroneous estimation occurs will be described in detail in the description of the first embodiment. Since region 241 exists in the first map, when sharpening the blur is performed based on the first map, as shown by the solid line in FIG. 3(A), the sharpened blur image (model output) An artifact region 242 occurs that does not exist in the actual subject.
- the second map is further generated by modifying the first map based on information regarding the position of the brightness saturated region of the captured image.
- the first map should not have values representing the influence of brightness saturation at positions unrelated to the brightness saturated region of the captured image. Therefore, it is possible to generate a second map that corrects the erroneous estimation of the first map based on the information regarding the position of the saturated region. This allows the accuracy of the task to be further improved.
- Machine learning models include, for example, neural networks, genetic programming, Bayesian networks, and the like.
- Neural networks include CNN (Convolutional Neural Network), GAN (Generative Adversarial Network), RNN (Recurrent Neural Network), Transformer, and the like.
- Example 1 An image processing system 100 according to a first embodiment of the present invention will be described. In this embodiment, the task executed after generating the second map is to sharpen the blur of a captured image that includes brightness saturation.
- Sharpening blur refers to aberrations and diffraction generated in the optical system, and blur caused by optical low-pass filters.
- the effects of the invention can be similarly obtained when blurring due to pixel aperture, defocus, or blurring is sharpened.
- the invention can be implemented in the same manner and the effects can be obtained for tasks other than blur sharpening.
- FIG. 4 is a block diagram of the image processing system 100 in this embodiment.
- FIG. 5 is an external view of the image processing system 100.
- the image processing system 100 includes a training device 101 and an image processing device 103 that are connected via a wired or wireless network.
- the training device 101 includes a storage section 101a, an acquisition section 101b, a calculation section 101c, and an update section 101d.
- the image processing device 103 includes a storage section 103a, an acquisition section 103b, and a calculation section 103c.
- An imaging device 102, a display device 104, a recording medium 105, and an output device 106 are connected to the image processing device 103 by wire or wirelessly.
- the imaging device 102 includes an optical system 102a and an image sensor 102b.
- a captured image of the subject space using the imaging device 102 is input to the image processing device 103.
- blurring occurs due to aberrations and diffraction caused by the optical system 102a in the imaging device 102 and the optical low-pass filter of the imaging element 102b, and information about the subject is attenuated.
- the image processing device 103 estimates a first map from the captured image using the first machine learning model. Furthermore, the image processing device 103 generates a second map by modifying the first map based on information regarding the position of the saturated region of the captured image, and uses the second machine learning model to A sharpened blur image (model output) is generated from the map No. 2.
- the first and second machine learning models are trained by the training device 101, and the image processing device 103 acquires information regarding the first and second machine learning models from the training device 101 in advance and stores it in the storage unit 103a. I remember. Furthermore, the image processing device 103 has a function of adjusting the intensity of blur sharpening. Note that details of training and estimation of the first and second machine learning models and adjustment of intensity of blur sharpening will be described later.
- the user can adjust the intensity of the sharpened blur while checking the sharpened blur image displayed on the display device 104.
- the sharpened blurred image subjected to intensity adjustment is stored in the storage unit 103a or the recording medium 105, and is outputted to an output device 106 such as a printer as necessary.
- each of the training device 101 and the image processing device 103 has processing means suitable for parallel calculation, such as a GPU (Graphics Processing Unit), which can process machine learning models at high speed.
- the captured image may be grayscale or may have a plurality of color components. Further, the captured image may be an undeveloped RAW image or a developed image.
- FIGS. 6A to 6C are explanatory diagrams of artifacts, in which the horizontal axis indicates spatial coordinates and the vertical axis indicates signal values.
- FIGS. 6A to 6C show spatial changes in image signal values, which correspond to R, G, and B (Red, Green, and Blue) color components, respectively.
- the image is an image developed to 8 bits, and the brightness saturation value is 255.
- the dashed-dotted line is the captured image (blurred image), and the thin solid line is the correct image without blur. Since none of the pixels has reached the brightness saturation value, there is no effect of brightness saturation.
- the dotted line is a sharpened blur image in which the blur of the captured image is sharpened using a conventional machine learning model to which this embodiment is not applied.
- the edge blur is sharpened, but a decrease in signal value occurs near the center that is not present in the correct image. This reduction is a problem different from undershoot because it occurs not adjacent to the edge but at a distant position, and the area in which it occurs is wide. This is an artifact that occurs when sharpening the blur.
- the degree of decrease in signal value differs depending on the color component.
- the degree of decrease in signal value increases in the order of G, R, and B. A similar tendency is observed even in undeveloped RAW images. Therefore, although the correct image has a flat area, in the conventional blurred and sharpened image represented by the dotted line, a green-colored dark area occurs as an artifact. Note that although FIGS. 6A to 6C show an example in which the signal decreases from the correct image, there are cases in which the signal value increases conversely.
- the reason why this artifact occurs is that the machine learning model incorrectly determines areas affected by brightness saturation and other areas, and sharpens the blur that should be applied to saturated blurred images instead of applying sharpening to unsaturated blurred images. This is because it was executed incorrectly.
- the greater the brightness of the subject the greater the absolute value of the residual component of sharpening the blur (the difference between the captured image and the captured image without blur). Therefore, if the blur sharpening that should be applied to a saturated blurred image is performed on a non-saturated blurred image, the signal value will change excessively. As a result, areas where the signal value is smaller than the correct image (solid line) are generated, as shown by the dotted lines in FIGS. 6(A) to 6(C).
- optical systems targeting visible light are often designed so that the performance of G among RGB is the best.
- the spread of blur PSF: point spread intensity distribution
- the edges of a saturated blurred image of a high-brightness subject tend to be colored in R and B (purple fringing is caused by this). (applicable).
- the residual component of blur sharpening in R and B becomes larger than in G. Therefore, if a non-saturated blurred image is incorrectly determined to be a saturated blurred image, the decrease in R and B signal values will be greater than that of G, and as shown in FIGS. 6(A) to (C), a green-colored dark Artifacts occur as areas.
- FIGS. 6A to 6C are the results of sharpening the blur using this embodiment. It can be seen that the occurrence of artifacts is suppressed and the blur is sharpened. This is because the first map and the second map that corrects the misestimation make it difficult for the second machine learning model that sharpens the blur to misjudge areas affected by brightness saturation and other areas. This is to become. It can be seen from FIGS. 6A to 6C that the present example suppresses a decrease in task accuracy.
- FIG. 7 is a flowchart of training the first and second machine learning models. Each step in FIG. 7 is executed by the storage unit 101a, the acquisition unit 101b, the calculation unit 101c, or the update unit 101d of the training device 101.
- the acquisition unit 101b acquires one or more original images from the storage unit 101a.
- the original image is an image that has a signal value greater than the second signal value.
- the second signal value is a signal value corresponding to the brightness saturation value of the captured image.
- the signal value may be normalized when inputting to the first and second machine learning models, the second signal value and the brightness saturation value of the captured image do not necessarily have to match. Since the first and second machine learning models are trained based on the original image, it is desirable that the original image has various frequency components (edges with different directions and strengths, gradations, flat areas, etc.) .
- the original image may be a real image or may be CG (Computer Graphics).
- step S102 the calculation unit 101c adds blur to the original image to generate a blurred image.
- the blurred image is an image input to the first and second machine learning models during training, and corresponds to a captured image during estimation.
- the added blur is the blur to be sharpened.
- blur caused by the aberration and diffraction of the optical system 102a and the optical low-pass filter of the image sensor 102b is imparted.
- the shape of the blur caused by the aberration and diffraction of the optical system 102a changes depending on the image plane coordinates (image height and azimuth). It also changes depending on the zooming, aperture, and focus states of the optical system 102a.
- the calculation unit 101c sets the first region based on the image based on the original image and the signal value threshold.
- a blurred image is used as the image based on the original image, but the original image itself may also be used.
- the first region is set by comparing the signal value of the blurred image and the signal value threshold. More specifically, the area where the signal value of the blurred image is equal to or greater than the signal value threshold is defined as the first area.
- the signal value threshold is the second signal value. Therefore, the first region represents the brightness saturated region of the blurred image.
- the signal value threshold and the second signal value do not necessarily have to match.
- the signal value threshold may be set to a value slightly smaller than the second signal value (for example, 0.9 times).
- step S104 the calculation unit 101c generates a first image having the signal value of the original image in the first region.
- the first image has different signal values from the original image in areas other than the first area. More preferably, the first image has the first signal value in a region other than the first region. In this embodiment, the first signal value is 0, but is not limited to this. That is, in this embodiment, in the first image, the blurred image has the signal value of the original image only in the brightness saturated area, and the signal value in the other area is 0.
- step S105 the calculation unit 101c adds blur to the first image and generates a first correct map.
- the added blur is the same as the blur added to the blurred image.
- a first correct map is generated, which is a map (a spatially arranged signal sequence) representing the magnitude and range of signal values leaked from the subject in the brightness saturated region of the blurred image to the surrounding area due to blurring. Ru.
- the first correct map is clipped with the second signal value as in the case of a blurred image, but it is not necessary to clip the first correct map with the second signal value.
- step S106 the acquisition unit 101b acquires the correct model output.
- the correct model output is an image with less blur than the blurred image.
- the correct model output is generated by clipping the original image with the second signal value. If the original image lacks high frequency components, an image obtained by reducing the original image may be used as the correct model output. In this case, reduction is similarly performed when generating a blurred image in step S102.
- step S106 may be executed at any time after step S101 and before step S107. Up to step S106, the training data (or training data set if there is a plurality of blurred images) used for training the first and second machine learning models is prepared.
- step S107 the calculation unit 101c uses the first and second machine learning models to generate a first map and model output based on the blurred image.
- FIG. 8 is a diagram showing the training process of the first and second machine learning models. In this embodiment, the configuration shown in FIG. 8 is used in training the first and second machine learning models, but the configuration is not limited to this.
- a blurred image 251 and a brightness saturation map 252 are input to the first machine learning model 211.
- the blurred image 251 and the brightness saturation map 252 have a spatially two-dimensional signal distribution, in FIG. 8, for ease of explanation, they are drawn as a one-dimensional signal distribution in a certain cross section.
- the brightness saturation map 252 is a map showing areas of the blurred image 251 where the brightness is saturated (the signal value is greater than or equal to the second signal value).
- the brightness saturation map 252 can be generated by binarizing the blurred image 251 with a second signal value.
- a brightness saturation map 252 is generated by normalizing a blurred image 251 using a second signal value and binarizing it using 1 as a threshold.
- the method of generating the brightness saturation map 252 is not limited to this.
- the brightness saturation map 252 is not necessarily essential.
- the blurred image 251 and the brightness saturation map 252 are connected in the channel direction and input to the first machine learning model 211.
- this embodiment is not limited to this.
- the blurred image 251 and the brightness saturation map 252 may each be converted into feature maps, and these feature maps may be connected in the channel direction.
- information other than the brightness saturation map 252 may be added to the input.
- the first machine learning model 211 and the second machine learning model 212 have multiple layers, and in each layer, a linear sum of the input and weight of the layer is taken.
- the initial value of the weight can be determined using random numbers or the like.
- This example uses a CNN that uses convolution of an input and a filter as a linear sum (the value of each element of the filter corresponds to a weight, and may also include a sum with a bias), and uses the first and second machine learning methods.
- models 211 and 212 the present invention is not limited thereto.
- nonlinear transformation is performed using an activation function such as a ReLU (Rectified Linear Unit) or a sigmoid function, as necessary.
- the first and second machine learning models 211 and 212 may have a residual block or a Skip Connection (also referred to as a Shortcut Connection) as necessary.
- the first machine learning model 211 generates a first map 253.
- the first correct map 254 and the blurred image 251 are connected in the channel direction and input to the second machine learning model 212 to generate a model output 255.
- the first map 253 or a second map obtained by modifying the first map 253 based on information regarding the position of the saturated region of the blurred image 251 is used as the second machine learning model.
- 212 may be entered. Note that the training of the first and second machine learning models 211 and 212 does not need to be performed simultaneously, and may be performed separately.
- the updating unit 101d updates the weights of the first machine learning model 211 and the second machine learning model 212 based on the loss function.
- the loss function of the first machine learning model 211 is based on the first map 253 and the first ground truth map 254.
- the loss function of the second machine learning model 212 is based on the model output 255 and the ground truth model output.
- MSE Mel Squared Error
- step S109 the update unit 101d determines whether training of the first machine learning model 211 and the second machine learning model 212 is completed. Completion of training can be determined based on whether the number of repetitions of weight updates has reached a predetermined number, or whether the loss function at the time of update or the amount of change in the weights at the time of update is smaller than a predetermined value. If it is determined in step S109 that the training has not been completed, the process returns to step S101, and the acquisition unit 101b acquires one or more new original images. On the other hand, if it is determined that the training has been completed, the updating unit 101d ends the training and stores information on the configurations and weights of the first and second machine learning models 211 and 212 in the storage unit 101a.
- the first machine learning model 211 generates a first map 253 that represents the magnitude and range of signal values spread by blurring of a subject in a brightness saturated area of the blurred image 251 (captured image at the time of estimation). It can be estimated. However, as shown in FIG. 8, an erroneous estimation region 260 due to the learning method may occur in the first map 253.
- FIGS. 9(A) and 9(B) are explanatory diagrams regarding the training data set in this example.
- the horizontal axis represents spatial coordinates
- the vertical axis represents brightness, respectively.
- the broken line represents the blurred image 251
- the solid line represents the correct model output 256.
- the dashed line represents the signal value before being clipped at the brightness saturation value.
- the left side of the blurred image 251 is a non-saturated blurred image because there is no clipping due to the brightness saturation value, and the right side of the blurred image 251 is a saturated blurred image.
- the broken line is the first correct map 254 corresponding to FIG. 9(A).
- the first machine learning model 211 is trained using the region 261 shown in FIGS. 9(A) and 9(B). At this time, the first machine learning model 211 needs to estimate the first correct map 254 from the input blurred image 251. However, since there is no luminance saturated area within the area 261, it is impossible to determine that the left side of the blurred image 251 is a non-saturated blurred image and that the right side of the blurred image 251 is a saturated blurred image.
- the trained first machine learning model 211 cannot estimate the first correct map 254 from the blurred image 251, and estimates the solution that minimizes the loss function, for example, as shown by the solid line in FIG. 9(B).
- a first map 253 is estimated. This first map 253 has an erroneous estimation area at a position corresponding to a non-saturated blurred image of the blurred image 251. Due to this principle, the erroneous estimation region 260 shown in FIG. 8 occurs.
- a method in which a blurred image 251 (region 261 indicated by a broken line in FIG. 9A) is input to the first machine learning model 211 and only the region 262 of the estimated first map 253 excluding the surrounding area is used. be.
- the weights of the first machine learning model 211 are updated using the loss functions of the first map 253 and the first correct map 254 in the region 262.
- the erroneous estimation region is suppressed by correcting the first map during estimation after training.
- FIG. 1 is a diagram showing the process of generating model output.
- FIG. 10 is a flowchart of estimation of the first and second machine learning models. Each step in FIG. 10 is executed by the storage unit 103a, the acquisition unit 103b, or the calculation unit 103c of the image processing device 103.
- step S201 the acquisition unit (acquisition means) 103b acquires the captured image 201, the first machine learning model 211, and the second machine learning model 212. Information on the configurations and weights of the first and second machine learning models 211 and 212 is acquired from the storage unit 103a.
- the calculation unit (generation means) 103c uses the first machine learning model 211 to generate a first map 203 from the captured image 201 and the brightness saturation map 202 corresponding to the captured image 201.
- the configuration of the first machine learning model 211 is the same as that during training.
- the first map 203 is a map that represents the magnitude and range of signal values in an area where the subject in the brightness saturated area of the captured image 201 has expanded due to blurring that occurs during the imaging process of the captured image 201.
- the first map 203 may have an erroneous estimation area 220 at a position unrelated to the saturated blurred image. Note that, in general, the saturation signal value of each pixel of the image sensor 102b does not have a constant value due to manufacturing variations.
- the design value of brightness saturation in the image sensor 102b is multiplied by a coefficient of 1 or less (such as 0.9; the value can be determined depending on the size of manufacturing variation).
- the value may be a brightness saturation value for all pixels of the captured image 201.
- step S203 the calculation unit 103c generates a second map 205 in which the incorrect estimation area 220 of the first map 203 is corrected based on information regarding the position of the brightness saturated area of the captured image 201.
- the first map 203 is corrected by the method shown in FIG. 1, but the invention is not limited to this.
- a third map 204 is generated.
- the third map 204 represents an area within a predetermined range from each saturated pixel of the captured image 201 and other areas.
- the size of the predetermined range is determined by the filter size of the MAX filter 213 in this embodiment.
- the filter size of the MAX filter 213 may be determined based on the spread of blur that occurs in the captured image 201.
- the filter to be convolved may be other than the MAX filter 213.
- the third map 204 may be generated by convolving a filter in which all elements are 1 and binarizing it as zero or non-zero.
- the third map 204 is a map that distinguishes between areas surrounding the brightness saturated area including the brightness saturated area and other areas in the captured image 201. 1, and has a value of 0 in other areas.
- a second map 205 is generated using an element-by-element product operation 214 of the first map 203 and the third map 204.
- the method for correcting the first map 203 shown in this embodiment is composed of convolution and product operations, and therefore can be easily executed by parallel computing means such as a GPU. Therefore, when the estimation of the first and second machine learning models 211 and 212 is executed by parallel calculation means, steps S202 to S204 can be executed continuously by the same parallel calculation means, and high-speed processing is possible. It is. Note that the third map 204 may be generated before step S203.
- threshold processing may be performed on the first map 203 or the second map 205.
- threshold processing is effective in a case where a very weak misestimation component exists over a wide area of the first map 203 or the second map 205.
- the threshold processing is soft thresholding processing so that the values of the first map 203 or the second map 205 do not become discontinuous with the threshold as a boundary.
- the first map 203 or the second map 205 may be rescaled by a coefficient so that the maximum value of the first map 203 or the second map 205 does not change.
- FIG. 1 depicts the case where the captured image 201 has a single color component, but if the captured image 201 has a plurality of color components, step S203 is executed for each color component.
- step S204 the calculation unit 103c uses the second machine learning model 212 to generate a model output 206, which is an image in which the blur of the captured image 201 is sharpened, from the captured image 201 and the second map 205. .
- the second machine learning model 212 can discriminate between a non-saturated blurred image and a saturated blurred image with high accuracy. Therefore, the second machine learning model 212 can suppress the occurrence of artifacts and sharpen the blur.
- methods other than machine learning may be used to sharpen the blur.
- the second map 205 allows highly accurate discrimination between regions of unsaturated blurred images and saturated blurred images, it is preferable to sharpen the regions using methods suitable for each.
- the unsaturated blurred image area may be sharpened using a Wiener filter, only the saturated blurred image area may be sharpened using the second machine learning model 212, and the results of both may be combined.
- step S205 the calculation unit 103c combines the captured image 201 and the model output 206, which is an image corresponding to the captured image 201, based on the second map 205.
- the surrounding area including the brightness saturated area of the captured image 201 object information is attenuated due to brightness saturation compared to other areas, so it is difficult to sharpen the blur (estimating the attenuated object information). . Therefore, in the surrounding area including the luminance saturated area, problems (ringing, undershoot, etc.) associated with the sharpening of the blur are likely to occur.
- the model output 206 and the captured image 201 are combined.
- the weight of the captured image 201 is applied only to the surrounding area including the luminance saturated area where harmful effects are likely to occur. can be made stronger.
- synthesis is performed using the following method.
- the second map 205 is normalized by the second signal value, and this is used as a weight map of the captured image 201 and weighted averaged with the model output 206.
- a weight map obtained by subtracting the weight map of the captured image 201 from the all-1 map is used.
- a synthesis method may be used in which the model output 206 is replaced with the captured image 201 only in areas where the second map 205 has a value greater than or equal to a predetermined signal value.
- step S107 it is desirable to input the first correct answer map 254 to the second machine learning model 212. If the second machine learning model 212 is trained by inputting the generated first map 253 instead of the first ground truth map 254, artifacts may occur in the model output 255. This principle will be explained using FIGS. 9(A) and 9(B).
- the second machine learning model 212 must estimate the correct model output 256 in the region 261 from the blurred image 251 in the region 261. Although the blurred image 251 has similar signal distributions on the left and right sides, the signal distribution of the correct model output 256 is significantly different between the left and right sides.
- the second machine learning model 212 estimates a model output 255 close to the correct model output 256 by changing the sharpening performed on the blurred image 251 based on the value of the first correct map 254. I can do it.
- the values of the first map 253 in FIG. 9(B) do not correspond to the difference in the correct model output 256. Therefore, when the first map 253 is input to the second machine learning model 212 instead of the first correct map 254, the second machine learning model 212 can distinguish between the unsaturated blurred image and the saturated blurred image in the blurred image 251.
- Example 2 An image processing system in Example 2 will be explained.
- the task to be executed after generating the second map is to transform the blur of a captured image that includes brightness saturation.
- the conversion of blur is a task of converting a blur due to defocus acting on a captured image into a blur with a shape different from the blur. For example, when two-line blur or vignetting occurs in defocused blur, this is converted to a circular disc (shape with flat intensity) or Gaussian blur. In the blur conversion, the defocus blur is made larger, and the blur is not sharpened (estimated attenuated subject information).
- the method described in this embodiment can be similarly effective for tasks other than blur conversion.
- FIG. 11 is a block diagram of the image processing system 300 in this embodiment.
- FIG. 12 is an external view of the image processing system 300.
- the image processing system 300 includes a training device 301, an imaging device 302, and an image processing device 303.
- the training device 301 includes a storage section 311, an acquisition section 312, a calculation section 313, and an update section 314.
- the image processing device 303 includes a storage section 331, a communication section 332, an acquisition section 333, and a calculation section 334.
- the imaging device 302 includes an optical system 321, an image sensor 322, a storage section 323, a communication section 324, and a display section 325.
- the training device 301 and the image processing device 303, and the image processing device 303 and the imaging device 302 are each connected via a wired or wireless network.
- the captured image captured by the imaging device 302 is affected by defocus blur in a shape corresponding to the optical system 321 .
- the captured image is transmitted to the image processing device 303 via the communication unit 324.
- the image processing device 303 receives the captured image via the communication unit 332 and converts the blur using the configuration and weight information of the first and second machine learning models stored in the storage unit 331. .
- the configuration and weight information of the first and second machine learning models are trained by the training device 301, and are obtained from the training device 301 in advance and stored in the storage unit 331.
- a blur-converted image (model output) obtained by converting the blur of the captured image is transmitted to the imaging device 302, stored in the storage unit 323, and displayed on the display unit 325.
- each step in FIG. 7 is executed by the storage unit 311, acquisition unit 312, calculation unit 313, or update unit 314 of the training device 301.
- step S101 the acquisition unit 312 acquires one or more original images from the storage unit 311.
- step S102 the calculation unit 313 sets a defocus amount for the original image, and generates a blurred image in which a defocus blur corresponding to the defocus amount is added to the original image.
- the shape of defocus blur changes depending on the magnification and aperture of the optical system 321. Further, the defocus blur also changes depending on the focus distance of the optical system 321 and the amount of defocus of the subject at that time. Furthermore, defocus blur changes depending on the image height and azimuth. If it is desired to simultaneously train a second machine learning model capable of converting all of these defocus blurs, a plurality of defocus blurs generated in the optical system 321 may be used to generate a plurality of blur images.
- a blurred image with a defocus amount of 0 may not be blurred, or may be blurred due to aberration or diffraction on the focus plane of the optical system 321.
- step S103 the calculation unit 313 sets the first region based on the blurred image and the signal value threshold.
- step S104 the calculation unit 313 generates a first image having the signal value of the original image in the first region.
- step S105 the calculation unit 313 gives the first image the same defocus blur as the blurred image, and generates the first correct map.
- step S106 the acquisition unit 312 acquires the correct model output.
- the second machine learning model is trained so that defocused blur is converted to disk blur (blur that is circular and has a flat intensity distribution). Therefore, a correct model output is generated by adding disk blur to the original image.
- the shape of the blur to be applied is not limited to this.
- the applied disk blur is larger than the defocus blur applied when generating the blurred image.
- the disc blur has a lower MTF (modulation transfer function) than the defocused blur imparted during generation of the blurred image.
- the process is similar to the generation of a blurred image.
- step S107 the calculation unit 313 uses the first machine learning model to generate a first map from the blurred image, and uses the second machine learning model to generate a first map from the blurred image and the first correct map. Generate model output.
- step S108 the updating unit 314 updates the weights of the first and second machine learning models from the loss function.
- step S109 the update unit 314 determines whether training of the first and second machine learning models is completed. Information on the configurations and weights of the trained first and second machine learning models is stored in the storage unit 311.
- Each step in FIG. 10 is executed by the storage unit 331, communication unit 332, acquisition unit 333, or calculation unit 334 of the image processing device 303.
- step S201 the acquisition unit 333 acquires a captured image, a first machine learning model, and a second machine learning model.
- step S202 the calculation unit 334 generates a first map from the captured image using the first machine learning model.
- step S203 the calculation unit 334 generates a second map by modifying the first map based on information on the position of the brightness saturated region of the captured image.
- the second map is modified by modifying the first map based on whether a closed space that satisfies a predetermined condition of the first map includes the position of the brightness saturated region of the captured image. generate.
- FIG. 13(A) represents a map obtained by binarizing the first map. Binarization is performed using values representing a non-saturated blurred image, where the shaded area represents the non-saturated blurred image and the white area represents a saturated blurred image affected by brightness saturation or an area of erroneous estimation.
- FIG. 13(B) represents a brightness saturation map corresponding to the captured image.
- White areas represent saturated areas of the captured image, and shaded areas represent non-saturated areas.
- FIG. 13A there are a closed space 401 and a closed space 402 that satisfy a predetermined condition (estimated to be not a non-saturated blurred image) in the first map. If the saturated region of the captured image is not included in the closed space, it can be immediately determined that the closed space is an erroneously estimated region. Since the closed space 402 does not include a saturated region of the captured image, the first map is corrected using the closed space 402 as an erroneously estimated region, and a second map is generated.
- step S204 the calculation unit 334 uses the second machine learning model to generate a model output from the captured image and the second map.
- the model output is a blurred image in which the defocused blur of the captured image is converted to a different shape of blur.
- step S205 the calculation unit 334 combines the captured image and the model output based on the second map.
- Example 3 An image processing system in Example 3 will be explained.
- the task executed after generating the second map is estimating the depth map for the captured image. Since the shape of the blur in the optical system changes depending on the amount of defocus, it is possible to associate the shape of the blur with the depth (the amount of defocus).
- a machine learning model can generate a depth map of a subject space by estimating (explicitly or implicitly) the shape of blur in each region of an input captured image within the model. Note that the method described in this embodiment can be similarly effective for tasks other than depth map estimation.
- FIG. 14 is a block diagram of the image processing system 500 in this embodiment.
- FIG. 15 is an external view of the image processing system 500.
- the image processing system 500 includes a training device 501 and an imaging device 502 that are connected by wire or wirelessly.
- the training device 501 includes a storage section 511, an acquisition section 512, a calculation section 513, and an update section 514.
- the imaging device 502 includes an optical system 521, an image sensor 522, an image processing section 523, a storage section 524, a communication section 525, a display section 526, and a system controller 527.
- the image processing unit 523 includes an acquisition unit 523a, a calculation unit 523b, and a blurring unit 523c. In FIG.
- the imaging device 502 forms an image of the subject space via the optical system 521, and acquires the image as a captured image with the imaging element 522.
- the captured image has blurring due to aberrations and defocus of the optical system 521.
- the image processing unit 523 generates a depth map of the subject space from the captured image using the first and second machine learning models.
- the first and second machine learning models are trained by the training device 501, and information on their configurations and weights is obtained in advance from the training device 501 via the communication unit 525 and stored in the storage unit 524. There is.
- the captured image and the estimated depth map are stored in the storage unit 524 and displayed on the display unit 526 as necessary.
- the depth map is used to add blur to a captured image, to cut out a subject, and so on.
- a series of controls are performed by the system controller 527.
- each step in FIG. 7 is executed by the storage unit 511, the acquisition unit 512, the calculation unit 513, or the update unit 514 of the training device 501.
- step S101 the acquisition unit 512 acquires one or more original images.
- step S102 the calculation unit 513 adds blur to the original image to generate a blurred image.
- the calculation unit 513 sets a depth map (which may also be a defocus map) corresponding to the original image and a focus distance of the optical system 521, and gives a blur corresponding to the focus distance of the optical system 521 and the amount of defocus from there. .
- a depth map which may also be a defocus map
- the greater the absolute value of the defocus amount the greater the blur caused by defocus.
- the shape of the blur changes before and after the focus plane due to the influence of spherical aberration.
- step S103 the calculation unit 513 sets the first region based on the blurred image and the signal threshold.
- step S104 the calculation unit 513 generates a first image having the signal value of the original image in the first region.
- step S105 the calculation unit 513 adds blur to the first image and generates a first correct map.
- the first correct map is not clipped with the second signal value.
- the first machine learning model is trained to also estimate the brightness before clipping of the brightness saturated region when generating the first map.
- step S106 the acquisition unit 512 acquires the correct model output.
- the correct model output is the depth map set in step S102.
- step S107 the calculation unit 513 uses the first machine learning model to generate a first map from the blurred image, and uses the second machine learning model to generate a first map from the blurred image and the first correct map. Generate model output.
- step S108 the updating unit 514 updates the weights of the first and second machine learning models using the loss function.
- step S109 the update unit 514 determines whether training of the first and second machine learning models is completed.
- FIG. 16 is a flowchart of estimation of the first and second machine learning models. Each step in FIG. 16 is executed by the acquisition unit 523a, the calculation unit 523b, or the blurring unit 523c of the image processing unit 523.
- step S401 the acquisition unit 523a acquires a captured image, a first machine learning model, and a second machine learning model. Information on the configurations and weights of the first and second machine learning models is acquired from the storage unit 524.
- step S402 the calculation unit 523b generates a first map from the captured image using the first machine learning model.
- step S403 the calculation unit 523b generates a second map by modifying the first map based on information regarding the position of the brightness saturated region of the captured image. Corrections are made in the same manner as in Example 1.
- step S404 the calculation unit 523b uses the second machine learning model to generate a model output from the captured image and the second map.
- the model output is a depth map corresponding to the captured image.
- step S405 the blurring unit 523c adds blur to the captured image based on the model output and the second map, and generates a blurred image (with a shallower depth of field).
- the depth map that is the model output blur is set for each region of the captured image according to the amount of defocus. No blur is applied to the focus area, and larger blur is applied to areas with larger defocus amounts.
- the second map includes an estimated brightness before clipping of a brightness saturated region of the captured image. After replacing the signal value in the brightness saturated region of the captured image with this brightness, blurring is applied.
- sunlight filtering through the trees, reflected light from the water surface, lights in a night view, etc. do not become dark due to blurring, and it is possible to generate an image with natural blurring.
- the present invention provides a system or device with a program that implements one or more of the functions of the above-described embodiments via a network or storage medium, and one or more processors in the computer of the system or device reads and executes the program. This can also be achieved by processing. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.
- a circuit for example, ASIC
- an image processing method capable of suppressing a decrease in accuracy due to brightness saturation in a recognition or regression task using a machine learning model for a captured image in which a blur has occurred.
- a processing program can be provided.
- the imaging device (first device) of each embodiment and the device on the cloud (second device) are configured to be able to communicate with each other, and the second device is configured to communicate with each other based on a request from the first device.
- the apparatus may be an image processing system that executes the processing shown in FIG. 10 or 16.
- the first device has a transmission means for transmitting the captured image and a request regarding execution of the process to the second device.
- the second device includes a receiving unit that receives the captured image and the request from the first device, and generates a first map based on the captured image using the first machine learning model in response to the received request. It has a generating means.
- the generating means generates the second map by modifying the first map based on the information regarding the position of the brightness saturated region of the captured image. Further, the generation means uses the second machine learning model to generate a model output based on the captured image and the second map.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Studio Devices (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
【課題】ぼけの発生した撮像画像に対する機械学習を用いた認識または回帰のタスクにおいて、輝度飽和によるタスクの精度低下を抑制する。 【解決手段】画像処理方法は、撮像により得られた撮像画像を第1の機械学習モデルに入力することで生成された第1のマップを取得する工程(S202)と、撮像画像の輝度飽和領域の位置に関する情報に基づいて、第1のマップを修正することで第2のマップを生成する工程(S203)とを有し、第1のマップは、輝度飽和領域における被写体が撮像において発生したぼけによって広がった領域と、該領域における信号値とを表す情報である。
Description
本発明は、ぼけの発生した撮像画像に対して、機械学習モデルを用いた認識または回帰のタスクを実行する画像処理方法に関する。
非特許文献1には、機械学習モデルの1つである畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)を用いて、撮像画像のぼけを先鋭化する方法が開示されている。撮像画像の輝度飽和値以上の信号値を有する画像をぼかすことで訓練データセットを生成し、該訓練データセットでCNNを訓練することで、輝度飽和領域の周辺でも弊害を抑制して、ぼけ先鋭化を行うことができる。
Li Xu,et al.,Deep Convolutional Neural Network for Image Deconvolution,Advances in Neural Information Processing Systems 27,NIPS2014
しかし、非特許文献1に開示された方法では、輝度飽和と無関係な位置の被写体にアーティファクト(偽構造)が発生する可能性がある。アーティファクトとは、具体的には、実際の被写体の構造とは異なる局所的な信号値の減少または増大である。なお、アーティファクトとその発生理由の詳細については後述する。ぼけ先鋭化以外のぼけが発生した画像に対するタスクにおいても、同様に輝度飽和の影響によってタスクの精度が低下する。
そこで本発明は、ぼけの発生した撮像画像に対する機械学習を用いた認識または回帰のタスクにおいて、輝度飽和によるタスクの精度低下を抑制することが可能な画像処理方法を提供することを目的とする。
本発明の一側面としての画像処理方法は、撮像により得られた撮像画像を第1の機械学習モデルに入力することで生成された第1のマップを取得する工程と、前記撮像画像の輝度飽和領域の位置に関する情報に基づいて、前記第1のマップを修正することで第2のマップを生成する工程とを有し、前記第1のマップは、前記輝度飽和領域における被写体が前記撮像において発生したぼけによって広がった領域と、該領域における信号値とを表す情報であることを特徴とする。
本発明の他の目的及び特徴は、以下の実施例において説明される。
本発明によれば、ぼけの発生した撮像画像に対する機械学習を用いた認識または回帰のタスクにおいて、輝度飽和によるタスクの精度低下を抑制することが可能な画像処理方法を提供することができる。
以下、本発明の実施例について、図面を参照しながら詳細に説明する。各図において、同一の部材については同一の参照符号を付し、重複する説明は省略する。
各実施例を詳述する前に、本発明の課題に関して説明する。画像に対する認識または回帰のタスクにおいて、理論ベースの手法では、仮定や近似によって無視された要素により、タスクの精度が低下し得る。これに対して、機械学習を用いた手法では、それらの要素も含む訓練データを用いて機械学習モデルを訓練することで、仮定や近似のない訓練データに即した推定が実現できるため、タスクの精度が向上する。すなわち、画像に対する認識または回帰のタスクにおいて、機械学習モデルを用いた手法は理論ベースの手法に対して高い精度を実現できる。
例えば、ぼけの発生した撮像画像のぼけを先鋭化する技術では、上記要素として撮像画像の輝度飽和(白飛びとも呼ばれる)が挙げられる。Wienerフィルタなどの理論ベースの手法では、輝度飽和はないと仮定されているため、輝度飽和した領域(輝度飽和領域)の周辺でぼけが正しく先鋭化されず、リンギングなどの弊害が発生する。これに対し、機械学習による手法は非特許文献1のように、輝度飽和が存在してもぼけを先鋭化することができる。ただし、非特許文献1の手法では補正後の画像にアーティファクトが発生するという課題があった。
本発明の課題は、ぼけの発生した撮像画像に対して機械学習モデルで認識または回帰のタスクを行った際、輝度飽和に起因して発生するタスクの精度低下(前述のアーティファクト)を抑制することである。ここで、ぼけとは、撮像画像の撮像に用いた光学系の収差、回折、デフォーカスいずれかによるぼけ、光学ローパスフィルタによるぼけ、撮像素子の画素開口によるぼけ、撮像時の手ぶれまたは被写体ぶれによるぼけ等のいずれかを指す。または、これらのうちの複数の組み合わせを指す。また、認識タスクとは、入力された画像に対応するクラスを求めるタスクである。例えば、認識タスクとして、画像中の被写体を人、犬、車などに分類するタスクや、顔画像から笑顔、泣き顔などの表情に分類するタスクなど、画像内の性質や意味を認識するタスクが挙げられる。クラスは一般に離散変数である。また、クラスはスカラー値である認識ラベル、またはセグメンテーションマップなどの認識ラベルが空間的に配列された信号列である。これに対して回帰タスクは、入力された画像に対応する連続変数が空間的に配列された信号列を求めるタスクを指す。例えば、回帰タスクとして、ぼけの発生した画像からぼけの先鋭化された画像を推定するタスクや、画像から被写体空間のデプスマップを推定するタスクなどが挙げられる。
図2(A)を用いて、ぼけの発生した撮像画像における、輝度飽和領域を含むその周辺領域とそれ以外の領域における性質の差異に関して説明する。図2(A)は、被写体と撮像画像の輝度分布の関係を示した図である。図2(A)において、横軸は空間座標、縦軸は輝度である。実線がぼけのない場合の撮像画像、破線がぼけの発生した実際の撮像画像である。一点鎖線は、輝度飽和でクリップされる前の輝度分布を表している。被写体221は、撮像過程でぼけても、輝度飽和値以下の輝度しか有さない。そのため、輝度飽和値によるクリップは発生せず、被写体221は非飽和ぼけ像231となる。これに対し、被写体222は、撮像過程でぼけた結果、輝度飽和値以上の輝度を有するため、輝度飽和値によるクリップが発生し、被写体222は飽和ぼけ像232となる。非飽和ぼけ像231は、ぼけによって被写体の情報が減衰する。これに対し、飽和ぼけ像232は、ぼけだけでなく輝度飽和による信号値のクリップでも被写体の情報が減衰する。故に、輝度飽和の有無によって、被写体情報の減衰の仕方が異なる。これが輝度飽和領域を含むその周辺領域とそれ以外の領域で、性質が異なる1つ目の要因である。
次に、性質が異なる2つ目の要因に関して説明する。それは、輝度飽和領域の端において、信号値のクリップにより被写体には本来存在しない偽エッジが発生することである。飽和ぼけ像232は本来、輝度飽和値以上の領域において一点鎖線で表される輝度分布となるため滑らかな分布をしているが、輝度飽和値のクリップによって不連続なエッジが形成される。
さらに、撮像画像は、輝度飽和領域にある被写体222から、ぼけによってその周辺に信号値が漏れ出している。この漏れ出した信号値の大きさと範囲は、輝度飽和領域にある被写体222の輝度が大きいほど大きくなるが、輝度飽和によって信号値がクリップされているため、漏れ出した信号値の大きさと範囲は容易には分からない。故に、性質が異なる3つ目の要素は、輝度飽和領域を含むその周辺領域において、被写体の信号値とぼけによって漏れ出してきた信号値を(仮にぼけの形状が既知だとしても)分離できないことである。
これら3つの要素によって、輝度飽和領域を含むその周辺領域とそれ以外の領域では性質が異なるため、それぞれに対して異なる処理を実行しなければ、高精度なタスクは実現できない。
機械学習モデルは、入力された画像に対して画一的な効果の処理でなく、画像の特徴に応じて効果の異なる処理を実行することができる。そのため、例えば撮像画像のぼけを先鋭化する例を考えた場合、機械学習モデルは、注目した領域が輝度飽和を含むぼけ像(飽和ぼけ像)か、それ以外のぼけ像(非飽和ぼけ像)かを内部で判定し、異なる先鋭化処理を実行する。これによって、どちらのぼけ像も先鋭化することができる。しかし、機械学習モデルの判定が正しく行われない場合がある。例えば、図2(A)の飽和ぼけ像232において、輝度飽和領域の近傍が注目領域だった場合、機械学習モデルは、注目領域の近傍に輝度飽和領域があるため、注目領域が輝度飽和の影響を受けた領域と判定可能である。しかし、輝度飽和領域から離れた位置233が注目領域の場合、位置233が輝度飽和の影響を受けているか否かを判定することは容易でなく、曖昧性が高くなる。その結果、輝度飽和領域から離れた位置233では、機械学習モデルが誤判定を起こすことがある。これによって、タスクがぼけの先鋭化の場合、非飽和ぼけ像に対して、飽和ぼけ像に対応する先鋭化処理を実行する。この際、ぼけを先鋭化した画像にアーティファクトが発生し、タスクの精度が低下する。このアーティファクトに関しては、実施例1で詳細に説明する。
ぼけの先鋭化以外のタスクに関しても同様で、機械学習モデルが輝度飽和の影響を受けている領域と、それ以外の領域を誤判定することで、タスクの精度が低下する。例えば、認識タスクでは、非飽和ぼけ像を飽和ぼけ像と誤判定すると、ぼけ像に輝度飽和した領域からぼけによって漏れ出した信号値が加算されている状態であると判定するため、実際の非飽和ぼけ像とは異なる特徴量を抽出し、タスクの精度が低下する。
次に、この課題を解決する本発明の要旨に関して説明する。本発明では、第1の機械学習モデルを用いて、撮像過程でぼけが発生した撮像画像から、第1のマップを生成する。第1のマップとは、撮像画像の輝度飽和領域における被写体が撮像により発生したほけによって広がった領域の範囲と、該領域に対応する信号値の大きさとの関係を表すマップである。また、第1のマップとは、撮像画像の輝度飽和領域の被写体が、撮像画像の撮像過程で発生したぼけによって広がった領域の信号値の大きさと範囲を表すマップ(空間的に配列された信号列)とも言うことができる。さらに換言すると、第1のマップは、撮像画像の輝度飽和領域を含む高輝度領域の輝度値の拡がりを表すマップである(輝度飽和するほどに高輝度な被写体が撮像過程で生じたぼけにより広がった分布を表すマップである)。
例として、図2(A)の撮像画像に対する第1のマップを図2(B)に破線で示す。第1の機械学習モデルに第1のマップを明示的に生成させることで、その後に実行するタスク(ぼけ先鋭化など)において、輝度飽和の影響を受けた領域に実行すべき処理と、それ以外の領域に実行すべき処理を、それぞれ適切な領域に実行することができる。そのため、第1の機械学習モデルに第1のマップを生成させることで、タスクの精度が向上する。
ただし、生成された第1のマップには、誤推定が発生する可能性がある。これについて図3を用いて説明する。図3は、撮像画像、第1のマップ、およびモデル出力の説明図である。図3におけるモデル出力は、撮像画像のぼけを先鋭化したぼけ先鋭化画像である。例えば、図3(A)の破線で表される撮像画像に対して、図3(B)の破線で示される第1のマップが推定されることがある。図3(A)は輝度飽和値未満の平坦な信号分布の被写体のため、第1のマップは全て非飽和ぼけ像を表す同一の値(第1の信号値)を有する場合が正しい。しかし、図3(B)のように輝度飽和の影響を表す値を有する領域241が生成されることがある。これは、機械学習モデルの学習方法に起因して発生する誤推定である。この誤推定が発生する原理は、実施例1の説明の中で詳細に述べる。第1のマップに領域241が存在するため、第1のマップに基づいてぼけ先鋭化を実施すると、図3(A)の実線で表されるように、ぼけ先鋭化画像(モデル出力)には実際の被写体には存在しないアーティファクト領域242が発生する。
そこで、本発明ではさらに、撮像画像の輝度飽和領域の位置に関する情報に基づいて、第1のマップを修正することで第2のマップを生成する。第1のマップは、撮像画像の輝度飽和領域と無関係な位置において、輝度飽和の影響を表す値を有さないはずである。このため、飽和領域の位置に関する情報によって、第1のマップの誤推定を修正した第2のマップを生成することができる。これによって、さらにタスクの精度を向上させることができる。
なお以下では、訓練データセットに基づいて機械学習モデルのウエイトを決定する段階のことを訓練と呼び、訓練済みのウエイトを用いた機械学習モデルで撮像画像から認識または回帰のタスクを実行する段階のことを推定と呼ぶ。機械学習モデルは、例えば、ニューラルネットワーク、遺伝的プログラミング、ベイジアンネットワークなどを含む。ニューラルネットワークは、CNN(Convolutional Neural Network)、GAN(Generative Adversarial Network)、RNN(Recurrent Neural Network)、Transformerなどを含む。
(実施例1)
本発明の実施例1における画像処理システム100に関して説明する。本実施例では、第2のマップを生成した後に実行するタスクを、輝度飽和を含む撮像画像に対するぼけの先鋭化とする。先鋭化するぼけは、光学系で発生する収差や回折、光学ローパスフィルタによるぼけを対象とする。ただし、画素開口やデフォーカス、ぶれによるぼけを先鋭化する場合も、同様に発明の効果を得ることができる。また、ぼけ先鋭化以外のタスクに関しても、同様に発明を実施し、効果を得ることが可能である。
(実施例1)
本発明の実施例1における画像処理システム100に関して説明する。本実施例では、第2のマップを生成した後に実行するタスクを、輝度飽和を含む撮像画像に対するぼけの先鋭化とする。先鋭化するぼけは、光学系で発生する収差や回折、光学ローパスフィルタによるぼけを対象とする。ただし、画素開口やデフォーカス、ぶれによるぼけを先鋭化する場合も、同様に発明の効果を得ることができる。また、ぼけ先鋭化以外のタスクに関しても、同様に発明を実施し、効果を得ることが可能である。
図4は、本実施例における画像処理システム100のブロック図である。図5は、画像処理システム100の外観図である。画像処理システム100は、有線または無線のネットワークで接続された訓練装置101と画像処理装置103を有する。訓練装置101は、記憶部101a、取得部101b、演算部101c、および更新部101dを有する。画像処理装置103は、記憶部103a、取得部103b、および演算部103cを有する。画像処理装置103には、有線または無線によって、撮像装置102、表示装置104、記録媒体105、出力装置106が接続される。撮像装置102は、光学系102a、撮像素子102bを有する。
撮像装置102を用いて被写体空間を撮像した撮像画像は、画像処理装置103に入力される。撮像画像には、撮像装置102内の光学系102aによる収差および回折と、撮像素子102bの光学ローパスフィルタとによってぼけが発生しており、被写体の情報が減衰している。画像処理装置103は、第1の機械学習モデルを用いて、撮像画像から第1のマップを推定する。さらに、画像処理装置103は、撮像画像の飽和領域の位置に関する情報に基づいて、第1のマップを修正した第2のマップを生成し、第2の機械学習モデルを用いて、撮像画像と第2のマップから、ぼけ先鋭化画像(モデル出力)を生成する。第1および第2の機械学習モデルは訓練装置101で訓練されたものであり、画像処理装置103は第1および第2の機械学習モデルに関する情報を予め訓練装置101から取得し、記憶部103aに記憶している。さらに、画像処理装置103は、ぼけ先鋭化の強度を調整する機能を有する。なお、第1および第2の機械学習モデルの訓練と推定、およびぼけ先鋭化の強度調整の詳細に関しては、後述する。
ユーザは、表示装置104に表示されたぼけ先鋭化画像を確認しながら、ぼけ先鋭化の強度調整を行える。強度調整が施されたぼけ先鋭化画像は、記憶部103aまたは記録媒体105に保存され、必要に応じてプリンタなどの出力装置106に出力される。訓練装置101と画像処理装置103のそれぞれは、機械学習モデルを高速に処理できる、GPU(Graphics Processing Unit)などの並列計算に適した処理手段を有していることが望ましい。なお、撮像画像は、グレースケールでも複数の色成分を有していてもよい。また、撮像画像は、未現像のRAW画像でも、現像後の画像でもよい。
次に、図6(A)乃至(C)を用いて、機械学習モデルによってぼけ先鋭化を行う際に発生するアーティファクトに関して説明する。アーティファクトとは、実際の被写体の構造とは異なる局所的な信号値の減少または増大である。図6(A)乃至(C)は、アーティファクトの説明図であり、横軸は空間座標、縦軸は信号値をそれぞれ示す。図6(A)乃至(C)は、画像の信号値の空間変化を示し、R、G、B(Red、Green、Blue)の色成分にそれぞれ対応する。ここで、画像は8bitに現像された画像であり、輝度飽和値は255である。
図6(A)乃至(C)において、一点鎖線は撮像画像(ぼけ画像)、細い実線はぼけのない正解画像である。いずれの画素も輝度飽和値に達していないため、輝度飽和の影響はない。点線は、本実施例を適用しない従来の機械学習モデルを用いて、撮像画像のぼけを先鋭化したぼけ先鋭化画像である。点線で表されるぼけ先鋭化画像では、エッジのぼけが先鋭化されているが、中央付近に正解画像にはない信号値の減少が発生している。この減少は、エッジと隣接せず、離れた位置で発生しており、さらに発生領域が広いことから、アンダーシュートとは異なる弊害である。これが、ぼけ先鋭化の際に発生するアーティファクトである。
また、図6(A)乃至(C)の比較から分かるように、色成分によって信号値の減少の度合いが異なる。図6(A)乃至(C)では、G、R、Bの順に、信号値の減少の度合いが大きくなっている。これは、未現像のRAW画像でも同様の傾向を示す。そのため、正解画像では平坦部にもかかわらず、点線で表される従来のぼけ先鋭化画像では緑に色づいた暗い領域がアーティファクトとして発生する。なお、図6(A)乃至(C)では正解画像より信号が減少する例を示したが、逆に信号値が増大する場合もある。
このアーティファクトが発生する原因は、前述したように、機械学習モデルが輝度飽和の影響を受けた領域とそれ以外の領域を誤判定し、飽和ぼけ像にかけるべきぼけ先鋭化を、非飽和ぼけ像に対して誤って実行したためである。図2(A)から分かるように、被写体の輝度が大きいほど、ぼけ先鋭化の残差成分(撮像画像とぼけのない撮像画像の差)の絶対値は大きくなる。そのため、飽和ぼけ像にかけるべきぼけ先鋭化を、非飽和ぼけ像に対して実行すると過剰に信号値を変化させることになる。その結果、図6(A)乃至(C)の点線のように、正解画像(実線)より信号値が小さくなった領域が発生する。
また、一般的に、可視光を対象とした光学系は、RGBのうちGの性能が最も良くなるように設計されていることが多い。すなわち、RやBの方がGよりぼけ(PSF:点像強度分布)の広がりが大きいため、高輝度な被写体を撮像した飽和ぼけ像の端はRやBに色付きやすい(パープルフリンジがこれに該当する)。この飽和ぼけ像を補正する場合、GよりRやBにおけるぼけ先鋭化の残差成分が大きくなる。故に、非飽和ぼけ像を飽和ぼけ像と誤判定した場合、GよりRやBの信号値の減少が大きくなり、図6(A)乃至(C)に示されるように、緑に色付いた暗い領域としてアーティファクトが発生する。
これに対して、図6(A)乃至(C)中に示される破線は、本実施例を用いてぼけの先鋭化を行った結果である。アーティファクトの発生を抑制して、ぼけが先鋭化されていることが分かる。これは第1のマップ、さらにその誤推定を修正した第2のマップによって、ぼけ先鋭化を行う第2の機械学習モデルが輝度飽和の影響を受けた領域とそれ以外の領域を誤判定しにくくなるためである。図6(A)乃至(C)から、本実施例によって、タスクの精度低下が抑制されていることが分かる。
次に、図7を参照して、訓練装置101で実行される第1及び第2の機械学習モデルの訓練に関して説明する。図7は、第1及び第2の機械学習モデルの訓練のフローチャートである。図7の各ステップは、訓練装置101の記憶部101a、取得部101b、演算部101c、または更新部101dにより実行される。
ステップS101において、取得部101bは、記憶部101aから1枚以上の原画像を取得する。原画像は、第2の信号値より大きい信号値を有する画像である。ここで第2の信号値は、撮像画像の輝度飽和値に相当する信号値である。ただし、第1及び第2の機械学習モデルに入力する際、信号値を規格化してもよいため、必ずしも第2の信号値と撮像画像の輝度飽和値とが一致する必要はない。原画像を基にして第1及び第2の機械学習モデルの訓練を行うため、原画像は様々な周波数成分(異なる向きと強度のエッジ、グラデーション、平坦部など)を有する画像であることが望ましい。原画像は実写画像でもよいし、CG(Computer Graphics)でもよい。
ステップS102において、演算部101cは、原画像にぼけを付与し、ぼけ画像を生成する。ぼけ画像は、訓練時に第1及び第2の機械学習モデルに入力される画像であり、推定時の撮像画像に相当する。付与するぼけは、先鋭化の対象となるぼけである。本実施例では、光学系102aの収差と回折、および撮像素子102bの光学ローパスフィルタによって発生するぼけを付与する。光学系102aの収差と回折によるぼけの形状は、像面座標(像高とアジムス)によって変化する。また、光学系102aの変倍、絞り、フォーカスの状態によっても変化する。これらのぼけ全てを先鋭化する第2の機械学習モデルを一括で訓練したい場合、光学系102aで発生する複数のぼけを用いて、複数のぼけ画像を生成するとよい。また、ぼけ画像において、第2の信号値を超える信号値はクリップされる。これは、撮像画像の撮像過程で起きる輝度飽和を再現するために行う。必要に応じて、撮像素子102bで発生するノイズをぼけ画像に付与してもよい。
ステップS103において、演算部101cは、原画像に基づく画像と信号値の閾値とに基づいて、第1の領域を設定する。実施例1では、原画像に基づく画像として、ぼけ画像を用いるが、原画像そのものなどを用いてもよい。ぼけ画像の信号値と、信号値の閾値と、を比較することで、第1の領域を設定する。より具体的には、ぼけ画像の信号値が、信号値の閾値以上となっている領域を第1の領域とする。本実施例において、信号値の閾値は第2の信号値である。故に、第1の領域は、ぼけ画像の輝度飽和領域を表す。ただし、信号値の閾値と第2の信号値は、必ずしも一致しなくてもよい。信号値の閾値を、第2の信号値よりやや小さい値(例えば、0.9倍)に設定してもよい。
ステップS104において、演算部101cは、第1の領域に原画像の信号値を有する第1の画像を生成する。第1の画像は、第1の領域以外の領域において、原画像とは異なる信号値を有する。さらに望ましくは、第1の画像は、第1の領域以外の領域において、第1の信号値を有する。本実施例において、第1の信号値は0であるが、これに限定されるものではない。すなわち、本実施例では、第1の画像は、ぼけ画像が輝度飽和領域のみに原画像の信号値を有し、それ以外の領域の信号値は0である。
ステップS105において、演算部101cは、第1の画像にぼけを付与し、第1の正解マップを生成する。付与されるぼけは、ぼけ画像に付与したぼけと同じである。これによって、ぼけ画像の輝度飽和領域にある被写体から、ぼけによって周辺に漏れ出した信号値の大きさと範囲を表すマップ(空間的に配列された信号列)である第1の正解マップが生成される。本実施例では、ぼけ画像と同様に、第1の正解マップを第2の信号値でクリップするが、必ずしもクリップを行う必要はない。
ステップS106において、取得部101bは、正解モデル出力を取得する。本実施例ではタスクがぼけ先鋭化のため、正解モデル出力はぼけ画像よりぼけの小さい画像である。本実施例では、原画像を第2の信号値でクリップすることで、正解モデル出力を生成する。原画像に高周波成分が不足している場合、原画像を縮小した画像を正解モデル出力としてもよい。この場合、ステップS102にてぼけ画像を生成する際にも同様に縮小を行う。また、ステップS106は、ステップS101より後であって、かつステップS107より前であれば、いつ実行してもよい。ステップS106までで、第1及び第2の機械学習モデルの訓練に用いる訓練データ(ぼけ画像が複数の場合は訓練データセット)が揃う。
ステップS107において、演算部101cは、第1及び第2の機械学習モデルを用いて、ぼけ画像に基づき、第1のマップとモデル出力を生成する。図8は、第1及び第2の機械学習モデルの訓練過程を表した図である。本実施例では、第1及び第2の機械学習モデルの訓練において、図8に示された構成を用いるが、これに限定されるものではない。図8において、ぼけ画像251と輝度飽和マップ252が、第1の機械学習モデル211に入力される。ぼけ画像251と輝度飽和マップ252は、空間的に2次元の信号分布を有するが、図8では説明の分かりやすさのため、ある断面での1次元的な信号分布として描画されている。輝度飽和マップ252は、ぼけ画像251の輝度飽和した(信号値が第2の信号値以上である)領域を示したマップである。例えば、輝度飽和マップ252は、第2の信号値でぼけ画像251を二値化することによって生成することができる。図8では、ぼけ画像251を第2の信号値で正規化し、1を閾値として二値化することで、輝度飽和マップ252を生成している。ただし、輝度飽和マップ252の生成方法は、これに限定されるものではない。また、輝度飽和マップ252は、必ずしも必須ではない。ぼけ画像251と輝度飽和マップ252は、チャンネル方向に連結されて、第1の機械学習モデル211に入力される。ただし、本実施例はこれに限定されるものではない。例えば、ぼけ画像251と輝度飽和マップ252をそれぞれ特徴マップに変換し、それらの特徴マップをチャンネル方向に連結してもよい。また、輝度飽和マップ252以外の情報を入力に追加してもよい。
第1の機械学習モデル211と第2の機械学習モデル212は複数の層を有し、各層で層の入力とウエイトの線型和が取られる。ウエイトの初期値は、乱数などで決定することができる。本実施例は、線型和として入力とフィルタの畳み込み(フィルタの各要素の値がウエイトに該当し、またバイアスとの和を含んでいてもよい)を用いるCNNを第1及び第2の機械学習モデル211、212として用いるが、これに限定されるものではない。また、各層では必要に応じて、ReLU(Rectified Linear Unit)やシグモイド関数などの活性化関数による非線型変換が実行される。さらに、第1及び第2の機械学習モデル211、212は必要に応じて、残差ブロックやSkip Connection(Shortcut Connectionともいう)を有していてよい。
第1の機械学習モデル211では、第1のマップ253が生成される。次に、第1の正解マップ254とぼけ画像251をチャンネル方向に連結して第2の機械学習モデル212に入力し、モデル出力255を生成する。第1の正解マップ254の代わりに、第1のマップ253、またはぼけ画像251の飽和領域の位置に関する情報に基づいて第1のマップ253を修正した第2のマップを、第2の機械学習モデル212に入力してもよい。なお、第1及び第2の機械学習モデル211、212の訓練は、同時に行う必要はなく、個別に実行してもよい。
図7に戻って、ステップS108において、更新部101dは、損失関数に基づいて、第1の機械学習モデル211と第2の機械学習モデル212のウエイトを更新する。本実施例において、第1の機械学習モデル211の損失関数は、第1のマップ253と第1の正解マップ254に基づく。第2の機械学習モデル212の損失関数は、モデル出力255と正解モデル出力に基づく。損失関数には、MSE(Mean Squared Error)を使用するが、これに限定されるものではない。ウエイトの更新には、誤差逆伝搬法(Backpropagation)などを用いることができる。
ステップS109において、更新部101dは、第1の機械学習モデル211と第2の機械学習モデル212の訓練が完了したか否かを判定する。訓練の完了は、ウエイトの更新の反復回数が既定の回数に達したかや、更新時の損失関数または更新時のウエイトの変化量が既定値より小さいかなどによって、判定することができる。ステップS109にて訓練が完了していないと判定された場合、ステップS101へ戻り、取得部101bは1枚以上の新たな原画像を取得する。一方、訓練が完了したと判定された場合、更新部101dは訓練を終了し、第1及び第2の機械学習モデル211、212の構成とウエイトの情報を記憶部101aに記憶する。
以上の訓練方法によって、第1の機械学習モデル211は、ぼけ画像251(推定時には撮像画像)の輝度飽和した領域の被写体がぼけによって広がった信号値の大きさと範囲を表す第1のマップ253を推定することができる。ただし、第1のマップ253には、図8に示すように、学習方法に起因する誤推定領域260が発生し得る。
この誤推定の発生原理に関して、図9(A)及び(B)を用いて説明する。図9(A)及び(B)は、本実施例における訓練データセットに関する説明図であり、図9(A)において、横軸は空間座標、縦軸は輝度をそれぞれ示す。図9(A)において、破線はぼけ画像251、実線は正解モデル出力256を表す。図2(A)と同様に、一点鎖線は輝度飽和値でクリップされる前の信号値を表す。ぼけ画像251の左側は、輝度飽和値によるクリップがないため非飽和ぼけ像であり、ぼけ画像251の右側は飽和ぼけ像である。図9(B)において、破線は図9(A)に対応する第1の正解マップ254である。例えば、図9(A)及び(B)に示される領域261を用いて、第1の機械学習モデル211を訓練したとする。この際、第1の機械学習モデル211は、入力されたぼけ画像251から、第1の正解マップ254を推定する必要がある。しかし、領域261内には輝度飽和領域が存在しないため、ぼけ画像251の左側が非飽和ぼけ像であり、ぼけ画像251の右側が飽和ぼけ像であることを判定することは不可能である。故に、訓練された第1の機械学習モデル211は、ぼけ画像251から第1の正解マップ254を推定できず、損失関数が最小になる解、例えば図9(B)の実線に示したような第1のマップ253を推定する。この第1のマップ253は、ぼけ画像251の非飽和ぼけ像に対応する位置に誤推定領域を有している。このような原理によって、図8に示される誤推定領域260が発生する。
誤推定領域260の発生を抑制する学習方法として、例えば以下の方法が考えられる。第1の機械学習モデル211に、ぼけ画像251(図9(A)の破線の領域261)を入力し、推定された第1のマップ253のうち周辺を除いた領域262のみを使用する方法である。この際、領域262における第1のマップ253と第1の正解マップ254との損失関数を用いて、第1の機械学習モデル211のウエイトを更新する。領域261の外側にいる飽和領域がぼけによって影響を及ぼす範囲を除いて第1の機械学習モデル211を訓練することで、誤推定領域260の発生を抑制することができる。ただし、第1の機械学習モデル211の訓練に用いられる情報が減ってしまうため、訓練の精度を維持するには領域261を広げる必要があり、訓練の計算負荷が非常に大きくなってしまう問題がある。そのため、本実施例では訓練後の推定時に、第1のマップを修正することで、誤推定領域の抑制を行う。
次に、画像処理装置103で実行される、訓練済みの第1及び第2の機械学習モデルを用いた撮像画像のぼけ先鋭化(推定)に関して、図1と図10を用いて説明する。図1は、モデル出力の生成過程を表した図である。図10は、第1及び第2の機械学習モデルの推定のフローチャートである。図10の各ステップは、画像処理装置103の記憶部103a、取得部103b、または演算部103cにより実行される。
ステップS201において、取得部(取得手段)103bは、撮像画像201、第1の機械学習モデル211、及び第2の機械学習モデル212を取得する。第1及び第2の機械学習モデル211、212の構成とウエイトの情報は、記憶部103aから取得される。
ステップS202において、演算部(生成手段)103cは、第1の機械学習モデル211を用いて、撮像画像201と撮像画像201に対応した輝度飽和マップ202とから、第1のマップ203を生成する。第1の機械学習モデル211の構成は、訓練時と同様である。第1のマップ203は、撮像画像201の輝度飽和領域の被写体が、撮像画像201の撮像過程で発生したぼけによって広がった領域の信号値の大きさと範囲を表すマップである。ただし、第1のマップ203は、飽和ぼけ像とは無関係な位置に、誤推定領域220を有する可能性がある。なお一般に、撮像素子102bの各画素の飽和信号値は、製造ばらつきによって一定の値にならない。そのため、輝度飽和マップ202を生成する際、撮像素子102bにおける輝度飽和の設計値に対して、1以下の係数(0.9など。値は、製造ばらつきの大きさによって決めればよい)をかけた値を撮像画像201の全画素における輝度飽和値としてもよい。
ステップS203において、演算部103cは、撮像画像201の輝度飽和領域の位置に関する情報に基づいて、第1のマップ203の誤推定領域220を修正した第2のマップ205を生成する。本実施例では、図1に示した方法で、第1のマップ203の修正を行うが、これに限定されるものではない。輝度飽和マップ202(第4のマップ)にMAXフィルタ(最大値フィルタ)213を畳み込み、輝度飽和領域を含む輝度飽和領域の周辺領域と、該周辺領域以外の領域と、を区別するためのマップである第3のマップ204を生成する。第3のマップ204は、撮像画像201の各飽和画素から所定の範囲にある領域と、それ以外の領域を表す。所定の範囲の大きさは、本実施例において、MAXフィルタ213のフィルタサイズで決まる。MAXフィルタ213のフィルタサイズは、撮像画像201に発生するぼけの拡がりから決めるとよい。また、畳み込むフィルタは、MAXフィルタ213以外でもよく、例えば全要素が1のフィルタを畳み込み、ゼロか非ゼロで二値化することで第3のマップ204を生成してもよい。第3のマップ204は、撮像画像201において、輝度飽和領域を含む輝度飽和領域の周辺領域と、それ以外の領域と、を区別するマップであり、本実施例では輝度飽和領域を含む周辺領域で1、それ以外の領域で0の値を有する。第1のマップ203と第3のマップ204との要素毎の積演算214を用いて、第2のマップ205を生成する。第3のマップ204との積演算214によって、輝度飽和領域を含む輝度飽和領域の周辺領域以外に存在する誤推定領域220を抑制することができる。本実施例に示した第1のマップ203の修正方法は、畳み込みと積演算で構成されるため、GPUなどの並列計算手段で容易に実行が可能である。そのため、第1及び第2の機械学習モデル211、212の推定を並列計算手段で実行する場合、ステップS202乃至S204を同一の並列計算手段で連続的に実行することができ、高速な処理が可能である。なお、第3のマップ204は、ステップS203より前に生成しておいてもよい。
また、第1のマップ203または第2のマップ205に、閾値処理を実行してもよい。例えば、第1のマップ203または第2のマップ205の広域に渡って、非常に弱い誤推定の成分が存在するような場合に対して、閾値処理は有効である。さらに、第1のマップ203または第2のマップ205が、閾値を境界として値が不連続にならないように、閾値処理はソフトスレッショルディング処理であることが望ましい。ソフトスレッショルディング処理の後、第1のマップ203または第2のマップ205の最大値が変化しないよう、係数をかけて第1のマップ203または第2のマップ205をスケールし直すとよい。なお、図1では簡単のため、撮像画像201が単一の色成分の場合を描画したが、撮像画像201が複数の色成分を有する場合、各色成分に対してステップS203を実行する。
ステップS204において、演算部103cは、第2の機械学習モデル212を用いて、撮像画像201と第2のマップ205から、撮像画像201のぼけが先鋭化された画像であるモデル出力206を生成する。誤推定領域220が抑制された第2のマップ205を用いることで、第2の機械学習モデル212は高精度に非飽和ぼけ像と飽和ぼけ像を判別できる。このため、第2の機械学習モデル212はアーティファクトの発生を抑えて、ぼけの先鋭化を行うことができる。なお、ぼけの先鋭化には機械学習以外の方法(WienerフィルタやRichardson-Lucy法など)を用いてもよい。第2のマップ205によって、非飽和ぼけ像と飽和ぼけ像の領域を高精度に判別できるため、それぞれに適した手法で先鋭化するとよい。例えば、非飽和ぼけ像の領域はWienerフィルタで先鋭化し、飽和ぼけ像の領域のみ第2の機械学習モデル212で先鋭化して、両者の結果を合成する、などしてもよい。
ステップS205において、演算部103cは、第2のマップ205に基づいて、撮像画像201と撮像画像201に対応する画像であるモデル出力206を合成する。撮像画像201の輝度飽和領域を含むその周辺領域は、それ以外の領域に対して、輝度飽和による被写体の情報の減衰があるため、ぼけの先鋭化(減衰した被写体情報の推定)の難度が高い。そのため、輝度飽和領域を含むその周辺領域では、ぼけの先鋭化に伴う弊害(リンギングやアンダーシュートなど)が発生しやすい。この弊害を抑制するために、モデル出力206と撮像画像201を合成する。この際、第2のマップ205に基づいて合成することにより、非飽和ぼけ像のぼけ先鋭化効果の低下を抑制しつつ、弊害が出やすい輝度飽和領域を含むその周辺領域のみ撮像画像201の重みを強くすることができる。本実施例では、以下の方法で合成を行う。第2のマップ205を第2の信号値で規格化し、これを撮像画像201の重みマップとして、モデル出力206と加重平均する。この際、モデル出力206に対しては、全て1のマップから撮像画像201の重みマップを減算した重みマップを使用する。第2のマップ205を規格化する信号値を変化させることで、ぼけ先鋭化効果と弊害のバランスを調整することも可能である。また他に、第2のマップ205が既定の信号値以上の値を有する領域のみ、モデル出力206を撮像画像201に置換する合成方法などを用いてもよい。
以上の構成により、機械学習モデルを用いたぼけ先鋭化において、輝度飽和による精度低下を抑制することが可能な画像処理システムを提供することができる。
次に、本実施例の効果を得るために望ましい条件に関して説明する。ステップS107において、第2の機械学習モデル212には、第1の正解マップ254を入力することが望ましい。第1の正解マップ254の代わりに、生成された第1のマップ253を入力して第2の機械学習モデル212を訓練した場合、モデル出力255にアーティファクトが発生する可能性がある。この原理に関して、図9(A)及び(B)を用いて説明する。第2の機械学習モデル212は、領域261におけるぼけ画像251から、領域261における正解モデル出力256を推定しなければならない。ぼけ画像251は左側と右側で同様の信号分布を有しているが、正解モデル出力256の信号分布は左側と右側で大きく異なっている。第2の機械学習モデル212に、第1の正解マップ254を入力する場合、第1の正解マップ254の値の違いと正解モデル出力256が対応している。そのため、第2の機械学習モデル212は、第1の正解マップ254の値に基づいて、ぼけ画像251に実行する先鋭化を変更することで、正解モデル出力256に近いモデル出力255を推定することができる。これに対し、図9(B)の第1のマップ253の値は、正解モデル出力256の違いに対応していない。そのため、第1の正解マップ254の代わりに第1のマップ253を第2の機械学習モデル212に入力すると、第2の機械学習モデル212はぼけ画像251中の非飽和ぼけ像と飽和ぼけ像を判定できない場合があり、アーティファクトが発生する。
(実施例2)
実施例2における画像処理システムに関して説明する。本実施例では、第2のマップを生成した後に実行するタスクを、輝度飽和を含む撮像画像に対するぼけ味の変換とする。ぼけ味の変換とは、撮像画像に作用しているデフォーカスによるぼけを、該ぼけとは異なる形状のぼけに変換するタスクである。例えば、デフォーカスぼけに二線ぼけやヴィネッティングが発生している際に、これを円形のディスク(強度がフラットな形状)やガウシアンで表されるぼけに変換する。ぼけ味の変換では、デフォーカスのぼけをより大きくし、ぼけの先鋭化(減衰した被写体情報の推定)は行わない。本実施例に記載の方法は、ぼけ味の変換以外のタスクに関しても、同様に効果を得ることが可能である。
(実施例2)
実施例2における画像処理システムに関して説明する。本実施例では、第2のマップを生成した後に実行するタスクを、輝度飽和を含む撮像画像に対するぼけ味の変換とする。ぼけ味の変換とは、撮像画像に作用しているデフォーカスによるぼけを、該ぼけとは異なる形状のぼけに変換するタスクである。例えば、デフォーカスぼけに二線ぼけやヴィネッティングが発生している際に、これを円形のディスク(強度がフラットな形状)やガウシアンで表されるぼけに変換する。ぼけ味の変換では、デフォーカスのぼけをより大きくし、ぼけの先鋭化(減衰した被写体情報の推定)は行わない。本実施例に記載の方法は、ぼけ味の変換以外のタスクに関しても、同様に効果を得ることが可能である。
図11は、本実施例における画像処理システム300のブロック図である。図12は、画像処理システム300の外観図である。画像処理システム300は、訓練装置301、撮像装置302、画像処理装置303を有する。訓練装置301は、記憶部311、取得部312、演算部313、および更新部314を有する。画像処理装置303は、記憶部331、通信部332、取得部333、および演算部334を有する。撮像装置302は、光学系321、撮像素子322、記憶部323、通信部324、および表示部325を有する。訓練装置301と画像処理装置303、画像処理装置303と撮像装置302はそれぞれ、有線または無線のネットワークで接続される。撮像装置302で撮像された撮像画像は、光学系321に応じた形状のデフォーカスぼけが作用している。撮像画像は、通信部324を介して画像処理装置303へ送信される。画像処理装置303は、通信部332を介して撮像画像を受信し、記憶部331に記憶された第1及び第2の機械学習モデルの構成とウエイトの情報を用いて、ぼけ味の変換を行う。第1及び第2の機械学習モデルの構成とウエイトの情報は、訓練装置301によって訓練されたものであり、予め訓練装置301から取得され、記憶部331に記憶されている。撮像画像のぼけ味が変換されたぼけ味変換画像(モデル出力)は、撮像装置302に送信され、記憶部323に記憶され、表示部325に表示される。
次に、訓練装置301で実行される第1及び第2の機械学習モデルの訓練に関して、図7のフローチャートを用いて説明するが、実施例1と同様の箇所は省略する。図7の各ステップは、訓練装置301の記憶部311、取得部312、演算部313、または更新部314により実行される。
ステップS101において、取得部312は、記憶部311から1枚以上の原画像を取得する。
ステップS102において、演算部313は、原画像に対してデフォーカス量を設定し、デフォーカス量に対応したデフォーカスぼけを原画像に付与したぼけ画像を生成する。デフォーカスぼけは、光学系321の変倍と絞りによって、形状が変化する。また、デフォーカスぼけは、光学系321のフォーカス距離と、そのときの被写体のデフォーカス量とによっても変化する。さらに、像高とアジムスによっても、デフォーカスぼけは変化する。これらのデフォーカスぼけ全てを変換可能な第2の機械学習モデルを一括で訓練したい場合、光学系321で発生する複数のデフォーカスぼけを用いて、複数のぼけ画像を生成するとよい。また、ぼけ味の変換において、デフォーカスしていないフォーカス被写体は、変換の前後で不変となることが望ましい。故に、フォーカス被写体は変化させないように第2の機械学習モデルを訓練する必要がある。このため、デフォーカス量が0の場合のぼけ画像も生成する。デフォーカス量が0のぼけ画像は、ぼけの付与がなくてもよいし、光学系321のフォーカス面における収差や回折によるぼけを付与してもよい。
ステップS103において、演算部313は、ぼけ画像と信号値の閾値に基づいて、第1の領域を設定する。
ステップS104において、演算部313は、第1の領域に原画像の信号値を有する第1の画像を生成する。
ステップS105において、演算部313は、第1の画像にぼけ画像と同じデフォーカスぼけを付与し、第1の正解マップを生成する。
ステップS106において、取得部312は、正解モデル出力を取得する。本実施例では、デフォーカスぼけがディスクぼけ(円形でフラットな強度分布を有するぼけ)に変換されるように第2の機械学習モデルを訓練する。そのため、原画像に対してディスクぼけを付与して、正解モデル出力を生成する。ただし、付与するぼけの形状はこれに限定されるものではない。ぼけ画像のデフォーカス量に対応した広がりを有するディスクぼけを付与する。付与するディスクぼけは、ぼけ画像の生成で付与したデフォーカスぼけより、ぼけが大きい。言い換えると、ディスクぼけはぼけ画像の生成で付与したデフォーカスぼけより、MTF(変調伝達関数)が低い。また、デフォーカス量が0の場合は、ぼけ画像の生成と同様である。
ステップS107において、演算部313は、第1の機械学習モデルを用いて、ぼけ画像から第1のマップを生成し、第2の機械学習モデルを用いて、ぼけ画像と第1の正解マップとからモデル出力を生成する。
ステップS108において、更新部314は、損失関数から第1及び第2の機械学習モデルのウエイトを更新する。
ステップS109において、更新部314は、第1及び第2の機械学習モデルの訓練が完了したかを判定する。訓練済みの第1及び第2の機械学習モデルの構成およびウエイトの情報は、記憶部311に記憶される。
次に、画像処理装置303で実行される、訓練済みの第1及び第2の機械学習モデルを用いた撮像画像のぼけ味の変換に関して、図10のフローチャートを用いて説明するが、実施例1と同様の箇所は省略する。図10の各ステップは、画像処理装置303の記憶部331、通信部332、取得部333、または演算部334により実行される。
ステップS201において、取得部333は、撮像画像、第1の機械学習モデル、及び第2の機械学習モデルを取得する。
ステップS202において、演算部334は、第1の機械学習モデルを用いて、撮像画像から、第1のマップを生成する。
ステップS203において、演算部334は、撮像画像の輝度飽和領域の位置の情報に基づいて、第1のマップを修正した第2のマップを生成する。本実施例では、第1のマップの所定の条件を満たす閉空間が、撮像画像の輝度飽和領域の位置を含むか否かに基づいて、第1のマップを修正することで、第2のマップを生成する。これに関して、図13(A)及び(B)を用いて詳細に説明する。図13(A)は、第1のマップを二値化したマップを表している。二値化は非飽和ぼけ像を表す値で実行され、斜線領域が非飽和ぼけ像を表し、白い領域が輝度飽和の影響を受けた飽和ぼけ像、或いは誤推定の領域を表す。例えば、第1のマップにおいて0が非飽和ぼけ像を示す場合、0の領域が斜線領域になり、非ゼロの領域が白い領域になる。図13(B)は、撮像画像に対応する輝度飽和マップを表す。白い領域が撮像画像の飽和領域を表し、斜線領域は非飽和領域を表す。図13(A)には、第1のマップにおいて所定の条件(非飽和ぼけ像ではないと推定されたこと)を満たす閉空間401と閉空間402が存在する。もし閉空間の中に撮像画像の飽和領域が含まれていない場合、その閉空間は誤推定領域であると直ちに分かる。閉空間402内には撮像画像の飽和領域が含まれていないため、閉空間402を誤推定領域として第1のマップを修正し、第2のマップを生成する。
ステップS204において、演算部334は、第2の機械学習モデルを用いて、撮像画像と第2のマップから、モデル出力を生成する。モデル出力は、撮像画像のデフォーカスぼけが異なる形状のぼけに変換されたぼけ味変換画像である。
ステップS205において、演算部334は、第2のマップに基づいて、撮像画像とモデル出力を合成する。
以上の構成により、機械学習モデルを用いたぼけ味の変換において、輝度飽和による精度低下を抑制することが可能な画像処理システムを提供することができる。
(実施例3)
実施例3における画像処理システムに関して説明する。本実施例では、第2のマップを生成した後に実行するタスクを、撮像画像に対するデプスマップの推定とする。光学系はデフォーカス量によってぼけの形状が変化するため、ぼけの形状とデプス(デフォーカス量)を対応付けることができる。機械学習モデルは、入力された撮像画像の各領域におけるぼけの形状をモデル内で(陽に又は暗に)推定することで、被写体空間のデプスマップを生成することができる。なお、本実施例に記載の方法は、デプスマップの推定以外のタスクに関しても、同様に効果を得ることが可能である。
(実施例3)
実施例3における画像処理システムに関して説明する。本実施例では、第2のマップを生成した後に実行するタスクを、撮像画像に対するデプスマップの推定とする。光学系はデフォーカス量によってぼけの形状が変化するため、ぼけの形状とデプス(デフォーカス量)を対応付けることができる。機械学習モデルは、入力された撮像画像の各領域におけるぼけの形状をモデル内で(陽に又は暗に)推定することで、被写体空間のデプスマップを生成することができる。なお、本実施例に記載の方法は、デプスマップの推定以外のタスクに関しても、同様に効果を得ることが可能である。
図14は、本実施例における画像処理システム500のブロック図である。図15は、画像処理システム500の外観図である。画像処理システム500は、有線または無線で接続された訓練装置501と撮像装置502を有する。訓練装置501は、記憶部511、取得部512、演算部513、および更新部514を有する。撮像装置502は、光学系521、撮像素子522、画像処理部523、記憶部524、通信部525、表示部526、およびシステムコントローラ527を有する。画像処理部523は、取得部523a、演算部523b、およびぼかし部523cを備える。図15において、撮像装置502は表面と裏面の両方が描画されている。撮像装置502は、光学系521を介して被写体空間の像を形成し、該像を撮像素子522で撮像画像として取得する。撮像画像には、光学系521の収差とデフォーカスによるぼけが発生している。画像処理部523は、第1及び第2の機械学習モデルを用いて、撮像画像から被写体空間のデプスマップを生成する。第1及び第2の機械学習モデルは訓練装置501によって訓練されたものであり、その構成とウエイトの情報は、通信部525を介して予め訓練装置501から取得され、記憶部524に記憶されている。撮像画像と推定されたデプスマップは、記憶部524に記憶され、必要に応じて表示部526に表示される。デプスマップは、撮像画像のぼけ味の付与や被写体の切り出しなどに用いられる。一連の制御は、システムコントローラ527によって行われる。
次に、訓練装置501によって実行される第1及び第2の機械学習モデルの訓練に関して、図7のフローチャートを用いて説明するが、実施例1と同様の箇所は省略する。図7の各ステップは、訓練装置501の記憶部511、取得部512、演算部513、または更新部514により実行される。
ステップS101において、取得部512は、1枚以上の原画像を取得する。
ステップS102において、演算部513は、原画像にぼけを付与し、ぼけ画像を生成する。演算部513は、原画像に対応するデプスマップ(デフォーカスマップでもよい)と光学系521のフォーカス距離を設定し、光学系521のフォーカス距離とそこからのデフォーカス量に対応したぼけを付与する。絞り値を固定した場合、デフォーカス量の絶対値が大きいほど、デフォーカスによるぼけは大きくなる。さらに、球面収差の影響によって、フォーカス面の前後でぼけの形状は変化する。球面収差が負方向に出ている場合、被写体空間においてフォーカス面より光学系521から離れる方向(物体側)では二線ぼけになり、近づく方向(像側)では中心にピークを有する形状のぼけになる。球面収差が正の場合は、逆の関係になる。また、光軸上以外では非点収差などの影響によって、デフォーカス量に応じてさらにぼけの形状が変化する。
ステップS103において、演算部513は、ぼけ画像と信号の閾値に基づいて、第1の領域を設定する。
ステップS104において、演算部513は、第1の領域に原画像の信号値を有する第1の画像を生成する。
ステップS105において、演算部513は、第1の画像にぼけを付与し、第1の正解マップを生成する。なお、本実施例では、第1の正解マップを第2の信号値でクリップしない。これによって、第1の機械学習モデルは、第1のマップの生成の際に、輝度飽和領域のクリップされる前の輝度も推定するように訓練される。
ステップS106において、取得部512は、正解モデル出力を取得する。正解モデル出力は、ステップS102で設定したデプスマップである。
ステップS107において、演算部513は、第1の機械学習モデルを用いて、ぼけ画像から第1のマップを生成し、第2の機械学習モデルを用いて、ぼけ画像と第1の正解マップとからモデル出力を生成する。
ステップS108において、更新部514は、損失関数を用いて、第1及び第2の機械学習モデルのウエイトを更新する。
ステップS109において、更新部514は、第1及び第2の機械学習モデルの訓練が完了したか判定する。
次に、画像処理部523で実行される、第1及び第2の機械学習モデルを用いた撮像画像のデプスマップの推定と、撮像画像に対するぼけ味の付与とに関して、図16のフローチャートを用いて説明するが、実施例1と同様の箇所は省略する。図16は、第1及び第2の機械学習モデルの推定のフローチャートである。図16の各ステップは、画像処理部523の取得部523a、演算部523b、またはぼかし部523cにより実行される。
ステップS401において、取得部523aは、撮像画像、第1の機械学習モデル、及び第2の機械学習モデルを取得する。記憶部524から、第1及び第2の機械学習モデルの構成とウエイトの情報を取得する。
ステップS402において、演算部523bは、第1の機械学習モデルを用いて、撮像画像から第1のマップを生成する。
ステップS403において、演算部523bは、撮像画像の輝度飽和領域の位置に関する情報に基づいて、第1のマップを修正した第2のマップを生成する。実施例1と同様の方法で修正を行う。
ステップS404において、演算部523bは、第2の機械学習モデルを用いて、撮像画像と第2のマップから、モデル出力を生成する。モデル出力は、撮像画像に対応するデプスマップである。
ステップS405において、ぼかし部523cは、モデル出力と第2のマップに基づいて、撮像画像にぼけを付与し、ぼけ味が付与された(被写界深度が浅くなった)画像を生成する。モデル出力であるデプスマップから、撮像画像の各領域に対して、デフォーカス量に応じたぼけを設定する。フォーカス領域にはぼけを付与せず、デフォーカス量が大きい領域ほど大きなぼけを付与する。また、第2のマップには、撮像画像の輝度飽和領域のクリップ前の輝度が推定されている。撮像画像の輝度飽和領域の信号値をこの輝度に置換してから、ぼけの付与を行う。これによって、木漏れ日や水面などの反射光、また夜景のライトなどがぼけの付与によって暗くならず、自然なぼけ味の画像を生成することができる。
以上の構成により、機械学習モデルを用いたデプスマップの推定において、輝度飽和による精度低下を抑制することが可能な画像処理システムを提供することができる。
(その他の実施例)
本発明は、上述の実施例の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
(その他の実施例)
本発明は、上述の実施例の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
各実施例によれば、ぼけの発生した撮像画像に対する、機械学習モデルを用いた認識または回帰のタスクにおいて、輝度飽和による精度低下を抑制することが可能な画像処理方法、画像処理装置、および画像処理プログラムを提供することができる。
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されたものではなく、その要旨の範囲内で様々な変形、及び変更が可能である。
例えば、各実施例の撮像装置(第1の装置)と、クラウド上の装置(第2の装置)とが互いに通信可能に構成されており、第1の装置からの要求に基づいて第2の装置が図10または図16の処理を実行する画像処理システムであってもよい。この場合、第1の装置は、撮像画像および処理の実行に関する要求を第2の装置へ送信する送信手段を有する。第2の装置は、第1の装置から撮像画像および要求を受信する受信手段、および、受信した要求に応じて、第1の機械学習モデルを用いて撮像画像に基づき第1のマップを生成する生成手段を有する。そして、生成手段は、撮像画像の輝度飽和領域の位置に関する情報に基づいて、第1のマップを修正することで第2のマップを生成する。さらに、生成手段は、第2の機械学習モデルを用いて、撮像画像と第2のマップとに基づき、モデル出力を生成する。
Claims (16)
- 撮像により得られた撮像画像を第1の機械学習モデルに入力することで生成された第1のマップを取得する工程と、
前記撮像画像の輝度飽和領域の位置に関する情報に基づいて、前記第1のマップを修正することで第2のマップを生成する工程とを有し、
前記第1のマップは、前記輝度飽和領域における被写体が前記撮像において発生したぼけによって広がった領域と、該領域における信号値とを表す情報であることを特徴とする画像処理方法。 - 前記撮像画像と前記第2のマップとを第2の機械学習モデルに入力することでモデル出力を生成する工程を更に有し、
前記モデル出力は、前記撮像画像に対応する認識ラベルまたは空間的に配列された信号列であることを特徴とする請求項1に記載の画像処理方法。 - 前記情報は、前記撮像画像において、前記輝度飽和領域を含む前記輝度飽和領域の周辺領域と、該周辺領域以外の領域と、を区別する第3のマップであることを特徴とする請求項1または2に記載の画像処理方法。
- 前記第2のマップを生成する工程において、前記第1のマップと前記第3のマップとに基づく積演算を用いて前記第2のマップを生成することを特徴とする請求項3に記載の画像処理方法。
- 前記第3のマップは、前記撮像画像の前記輝度飽和領域を表す第4のマップとフィルタとの畳み込み演算に基づいて生成されることを特徴とする請求項3または4に記載の画像処理方法。
- 前記フィルタは、MAXフィルタであることを特徴とする請求項5に記載の画像処理方法。
- 前記フィルタは、全要素が1のフィルタであることを特徴とする請求項5に記載の画像処理方法。
- 前記第1のマップを生成する工程を有し、
前記第1のマップを生成する工程、前記第2のマップを生成する工程、および前記モデル出力を生成する工程は、同一の並列計算可能な処理手段で実行されることを特徴とする請求項2に記載の画像処理方法。 - 前記モデル出力は、前記撮像画像に対応する画像であり、
前記第2のマップに基づいて、前記撮像画像と前記モデル出力を合成した画像を生成する第5の工程を更に有することを特徴とする請求項2または8に記載の画像処理方法。 - 前記モデル出力は、前記ぼけを先鋭化することで得られた画像、前記ぼけを異なる形状のぼけに変換することで得られた画像、または、前記撮像画像に対応する被写体空間のデプスマップを含むことを特徴とする請求項2、8、9のいずれか一項に記載の画像処理方法。
- 前記撮像画像は複数の色成分を有し、前記第2のマップを生成する工程は前記色成分ごとに実行されることを特徴とする請求項1乃至10のいずれか一項に記載の画像処理方法。
- 前記第2のマップを生成する工程において、前記第1のマップの所定の条件を満たす閉空間が前記輝度飽和領域の位置を含むか否かに基づいて、前記第2のマップを生成することを特徴とする請求項1乃至11のいずれか一項に記載の画像処理方法。
- 請求項1乃至12のいずれか一項に記載の画像処理方法をコンピュータに実行させることを特徴とするプログラム。
- 撮像により得られた撮像画像を取得する取得手段と、
第1の機械学習モデルを用いて、前記撮像画像に基づき、第1のマップを生成し、
前記撮像画像の輝度飽和領域の位置に関する情報に基づいて、前記第1のマップを修正することで第2のマップを生成する生成手段を有し、
前記第1のマップは、前記輝度飽和領域における被写体が前記撮像において発生したぼけによって広がった領域と、該領域における信号値とを表す情報であることを特徴とする画像処理装置。 - 前記生成手段は、第2の機械学習モデルを用いて、前記撮像画像と前記第2のマップとに基づき、モデル出力を生成し、
前記モデル出力は、前記撮像画像に対応する認識ラベルまたは空間的に配列された信号列であることを特徴とする請求項14に記載の画像処理装置。 - 請求項14または15に記載の画像処理装置と、該画像処理装置と通信可能な制御装置とを有する画像処理システムであって、
前記制御装置は、撮像により得られた撮像画像および処理の実行に関する要求を前記画像処理装置へ送信する手段を有し、
前記画像処理装置は、前記要求に応じて前記撮像画像に対する処理を実行する手段を有することを特徴とする画像処理システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022-124335 | 2022-08-03 | ||
JP2022124335A JP2024021485A (ja) | 2022-08-03 | 2022-08-03 | 画像処理方法、画像処理装置、プログラムおよび画像処理システム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024029224A1 true WO2024029224A1 (ja) | 2024-02-08 |
Family
ID=89848835
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2023/023284 WO2024029224A1 (ja) | 2022-08-03 | 2023-06-23 | 画像処理方法、画像処理装置、プログラムおよび画像処理システム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2024021485A (ja) |
WO (1) | WO2024029224A1 (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020166628A (ja) * | 2019-03-29 | 2020-10-08 | キヤノン株式会社 | 画像処理方法、画像処理装置、プログラム、画像処理システム、および、学習済みモデルの製造方法 |
JP2021168048A (ja) * | 2020-04-10 | 2021-10-21 | キヤノン株式会社 | 画像処理方法、画像処理装置、画像処理システム、およびプログラム |
JP2021189929A (ja) * | 2020-06-03 | 2021-12-13 | キヤノン株式会社 | 画像処理方法、プログラム、画像処理装置、および、画像処理システム |
-
2022
- 2022-08-03 JP JP2022124335A patent/JP2024021485A/ja active Pending
-
2023
- 2023-06-23 WO PCT/JP2023/023284 patent/WO2024029224A1/ja unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020166628A (ja) * | 2019-03-29 | 2020-10-08 | キヤノン株式会社 | 画像処理方法、画像処理装置、プログラム、画像処理システム、および、学習済みモデルの製造方法 |
JP2021168048A (ja) * | 2020-04-10 | 2021-10-21 | キヤノン株式会社 | 画像処理方法、画像処理装置、画像処理システム、およびプログラム |
JP2021189929A (ja) * | 2020-06-03 | 2021-12-13 | キヤノン株式会社 | 画像処理方法、プログラム、画像処理装置、および、画像処理システム |
Also Published As
Publication number | Publication date |
---|---|
JP2024021485A (ja) | 2024-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11188777B2 (en) | Image processing method, image processing apparatus, learnt model manufacturing method, and image processing system | |
US10360664B2 (en) | Image processing apparatus and method using machine learning | |
US20210319537A1 (en) | Image processing method, image processing apparatus, image processing system, and memory medium | |
US11694310B2 (en) | Image processing method, image processing apparatus, image processing system, and manufacturing method of learnt weight | |
US11127117B2 (en) | Information processing method, information processing apparatus, and recording medium | |
US11600025B2 (en) | Image processing method, image processing apparatus, image processing system, and learnt model manufacturing method | |
KR20210139450A (ko) | 이미지 디스플레이 방법 및 디바이스 | |
US11508038B2 (en) | Image processing method, storage medium, image processing apparatus, learned model manufacturing method, and image processing system | |
JP7353803B2 (ja) | 画像処理装置、画像処理方法、及びプログラム | |
CN112053302A (zh) | 高光谱图像的去噪方法、装置及存储介质 | |
Wu et al. | Reflectance-guided histogram equalization and comparametric approximation | |
US20220405892A1 (en) | Image processing method, image processing apparatus, image processing system, and memory medium | |
JP2024059927A (ja) | 画像処理方法および装置、並びにプログラム | |
CN115965544A (zh) | 自适应亮度调节的图像增强方法及系统 | |
Xue | Blind image deblurring: a review | |
WO2024029224A1 (ja) | 画像処理方法、画像処理装置、プログラムおよび画像処理システム | |
CN113379611B (zh) | 图像处理模型的生成方法、处理方法、存储介质及终端 | |
JP2021086284A (ja) | 画像処理装置、画像処理方法、及びプログラム | |
JP7225316B2 (ja) | 画像処理方法、画像処理装置、画像処理システム、およびプログラム | |
KR20180064064A (ko) | 퍼지 이론에 기초한 컬러 이미지의 에지 검출 방법 | |
JP2023104667A (ja) | 画像処理方法、画像処理装置、画像処理システム、およびプログラム | |
CN117522802A (zh) | 视网膜图像预处理方法、装置、电子设备及存储介质 | |
JP2023088349A (ja) | 画像処理方法、画像処理装置、画像処理システム、およびプログラム | |
KR20220013290A (ko) | 오토포커스를 보상하는 방법 및 오토포커스를 보상하는 전자 장치 | |
JP2022121775A (ja) | 画像処理方法、プログラム、画像処理装置、および学習済みモデルの製造方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23849784 Country of ref document: EP Kind code of ref document: A1 |