Image deconvolution is a process that attempts to reconstruct a true image from a degraded image, where the blurred image is a convolution of the true image and a blur kernel that may be spatially variant or invariant. Mathematically, a blurred image may be expressed as B=noise(IK), where I is the true image, K is the blur kernel, “noise” is a noise process, and B is the blurred image. A deconvolution process may be referred to as “non-blind deconvolution” where the blur kernel is known. On the other hand, where the blur kernel is not known, the deconvolution process may be referred to as “blind deconvolution.”
Image deconvolution finds utility in many different fields. For example, deconvolution may be used in scientific fields, such as astronomical and medical imaging, as well as in consumer electronics, such as digital cameras. For example, in consumer photography, image blurring may be difficult to avoid due to insufficient lighting, use of telephoto lenses, use of a small aperture for a wide depth of field, etc. Deconvolution may allow removal of blur from such images, and therefore produce a clearer image for viewing, printing, etc.
However, a deconvoluted image may contain unpleasant artifacts due to the ill-posedness of the deconvolution process, even if the kernel is known. Because the kernel may be bandlimited with a sharp frequency cutoff, there may be zero or near-zero values in its frequency response. At those frequencies the inverse of the kernel may have a very large magnitude, thereby causing excessive amplification of signal and noise. Two of the most prevalent resulting artifacts are ripple-like ringing around edges (i.e. transition regions) in the image, and amplified noise. Ringing artifacts are periodic overshoots and undershoots around an edge, which decay spatially away from the edge. It may be difficult to remove such artifacts after performing a deconvolution.
Accordingly, various embodiments are presented herein that relate to the removal of blur from an image. For example, one disclosed embodiment provides a method of performing an iterative non-blind deconvolution of a blurred image to form an updated image. The method comprises downsampling the blurred image to form a blurred image pyramid comprising images of two or more different resolution scales, downsampling a blur kernel to form a blur kernel pyramid comprising kernels of two or more different sizes, and deconvoluting a selected image in the blurred image pyramid according to a Richardson-Lucy deconvolution process in which a bilateral range/spatial filter is employed.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. Furthermore, the claimed subject matter is not limited to implementations that solve any or all disadvantages noted in any part of this disclosure.
Embodiments are disclosed herein that relate to the deconvolution of an image in such a manner as to reduce ringing and other artifacts that arise from other deconvolution processes. The disclosed embodiments utilize novel modifications of the Richardson-Lucy (RL) deconvolution approach to iteratively recover detail in blurred transition regions of an image. Prior to discussing the iterative recovery of detail in an image, the RL and modified RL deconvolution approaches are described.
The RL deconvolution approach involves determining a likelihood probability of an image I for a Poisson noise distribution. The likelihood probability of the image I may be expressed as:
where B(x)=Poisson((IK)(x)) is a Poisson process for each pixel x. For simplicity, the x is omitted from the following equations. The maximum likelihood solution of I may be obtained by minimizing the following energy:
Taking the derivative of E(I) and assuming the normalized kernel K (∫K (x) dx=1), the RL approach iteratively updates an image according to the following relationship:
where K* is the adjoint of K, i.e. K*(i,j)=K(−j,−i), and t is a time step. The RL approach has the properties of non-negativity and energy preservation. The non-negativity constrains estimated values be negative, and the approach preserves a total energy of an image each iteration.
However, the RL algorithm may not preserve edges during deconvolution, and may introduce ringing and other such artifacts. Therefore, the embodiments described herein introduce an edge preservation regularization term into the energy minimization equation described above, as follows:
In this relationship, λ is a regularization factor described in more detail below. The term EB(I) may be defined as follows:
where f is a spatial filter, p is a robust penalty function, and Ω is a spatial support centered at each pixel x. The spatial filter may be a Gaussian, as follows:
where σs is a spatial variance. The spatial support Ω centered at each pixel x controls an amount of neighboring pixels involved, and may have any suitable value. For example, in one embodiment, the radius of spatial support rΩ may be set with reference to a size of the blur kernel K: rΩ=0.5rK, where rK is a radius of the blur kernel. The spatial variance σs may be derived from the radius of spatial support, as follows:
σs=(rΩ/3)2 (8)
The robust penalty function ρ(•) may be defined in any suitable manner. In one embodiment, the robust penalty function may take the following form:
wherein σr represents a range variance. Such a robust penalty function may give a large but limited penalty on the image difference |I(x)−I(y)| for the range variance σr. The range variance may have any suitable value or form. In one embodiment, the range variance is adaptively set to 0.01×|max(I)−min(I)|2.
By minimizing relationship (5) above, the following iterative updating approach is produced:
The derivative ∇EB(I) may be determined in any suitable manner. In one embodiment, this derivative is determined in the following manner:
where Dy is a displacement matrix operator that shifts the image Iyd by |{right arrow over (e)}| pixels in a direction of {right arrow over (e)}. Here, {right arrow over (e)} denotes a displacement vector from each pixel x to its neighbor pixel y. Iyd is a weighted long-range gradient image in the direction of {right arrow over (e)}. For each pixel x in the image Iyd,
where the range filter
is a Gaussian filter. The weight for the difference |I(x)−I(y)| is determined by a bilaterally weighted filter f(•)g(•) in space and range, which may be referred to as a bilateral filter, as described in Tomasi, C., and Manduchi, R. 1998, Bilateral filtering for gray and color images, In proceedings of ICCV, 839-847; and in Durand, F., and Dorsey, J. 2002, Fast bilaterail filtering for the display of high-dynamic-range images, in Proceedings of SIGGRAPPH, 257-266.
In the embodiment described above, the gradient image Iyd controls the regularization of each pixel. Without the bilateral filter, Iyd may place a large penalty on large image gradients, which may lead to a smoothing of sharp edges. However, the use of the bilateral filter preserves sharp edges, as it takes on smaller values as the spatial distance and/or the range distance increase. A Richardson-Lucy deconvolution that utilizes such a bilateral range/spatial filter may be referred to herein as a BRL (bilateral Richardson-Lucy) deconvolution.
The above-disclosed BRL deconvolution may adaptively use information in a relatively large spatial support, for example, 11×11, with good results. However, larger blur kernels may still pose challenges. Therefore, a BRL deconvolution may be further adapted to allow the deconvolution to utilize a larger spatial support, such as a 40×40 spatial support, via the use of a progressive deconvolution approach that utilizes an external guide image to guide an image deconvolution.
A progressive deconvolution utilizing a guide image may be performed on an inter-scale and/or an intra-scale basis, where the term “scale” herein refers to a resolution of an image in the blurred image pyramid. In an inter-scale process, a blurred image is first downsampled progressively to build a pyramid of two or more different images of different scales. Then, each layer of the pyramid is deconvoluted, from the lower resolution scales to the higher resolution scales, to iteratively remove blur from the image. In this process, a guide image from a lower resolution scale is used to guide the deconvolution at a higher scale to assist in edge preservation. In an intra-scale process, an image in a single scale is iteratively deconvoluted to recover additional details at that scale.
It will be appreciated that the intra-scale and inter-scale deconvolutions may be performed either separately, or together in an integrated process. Further, it will be appreciated that the disclosed embodiments may be implemented via computer-executable instructions or code, such as programs, stored on a computer-readable storage medium and executed by a computing device. Generally, programs include routines, objects, components, data structures, and the like that perform particular tasks or implement particular abstract data types. As used herein, the term “program” may connote a single program or multiple programs acting in concert, and may be used to denote applications, services, or any other type or class of program. Likewise, the terms “computer” and “computing device” as used herein include any device that electronically executes one or more programs, including, but not limited to personal computers, servers, clients, laptop computers, hand-held devices, cellular phones, media players, digital cameras, microprocessor-based programmable consumer electronics and/or appliances, and other such devices.
Turning now to the Figures,
The inter-scale deconvolution embodiment described herein progressively recovers an image pyramid {Il}l=1L from coarse scale to fine scale. Therefore, process 100 comprises, at 104, performing a deconvolution process at the lowest resolution scale in the blurred image pyramid. At this resolution scale, which may be referred to as scale 0, the blur kernel K may be small enough to perform a BLR deconvolution process with effective ringing suppression.
Next, an iterative upsampling and deconvolution process is performed. The iterative nature of this process is indicated in
The use of a guide image in the deconvolution of scales 1 through n may help to recover edges while suppressing ripple effects and other artifacts that may arise from deconvolution. The guide image may be used to guide an inter-scale deconvolution in any manner. For example, in one embodiment, the guide image is utilized as an additional filter in a BRL deconvolution. A BRL deconvolution that utilizes a guide image as a filter may be referred to herein as a joint bilateral Richardson-Lucy (JBRL) deconvolution.
One embodiment of a JBRL deconvolution process is as follows, where the upsampled guide image from a lower resolution scale is given by Ig. The energy minimization equation shown above at (5) may be modified to introduce the guide image by defining a joint term EJB(I;Ig) that takes both the image and the guide image into account, as follows:
where g′(|Ig(x)−Ig(y)|) is a range filter applied on the guide image Ig. Any suitable filter may be used as the range filter. In one embodiment, a Gaussian filter may be used as a range filter, as follows:
where σrg is a range variance. The range variance may have any suitable value. For example, in one embodiment, the range variance is adaptively set to 0.01×|max(Ig)−min(Ig)|2. To reconstruct an image, the following energy may be minimized:
The minimization of this energy relationship yields the same iterative updating equation as for the BRL deconvolution described above in equation (10), with the exception that equation (12) becomes:
The additional range filter g′(|Ig(x)−Ig(y)|) decreases the regularization at places where the image gradient |Ig(x)−Ig(y)| is large in the guide image. Thus, the regularization is guided both by an “internal force” g(|I(x)−I(y)|) and an “external force” g′(|Ig(x)−Ig(y)|). In this manner, the guide image helps to control the regularization strength in areas of high image gradient (i.e. transitions) by utilizing a previously deconvoluted guide image from a lower resolution scale. Because the guide image has been previously deconvoluted, the guide image may provide more useful edge information than the original blurred image at that image scale for reducing the regularization strength at edges in the image.
Referring briefly back to process 108, a deconvoluted image at a scale i in the blurred image pyramid may be upsampled in any suitable manner to form a guide image for scale i+1. For example, in some embodiments, a simple bilinear or bicubic interpolation schema may be employed. However, these upscaling methods may tend to smooth the image edges. Therefore, in other embodiments, a BRL approach may be employed to preserve edge information in the upscaling process. An example embodiment of such an upscaling process may be performed as follows. First, it is assumed that a bicubic upsampled image Iu is a degraded version of an intended higher resolution image Ih. The degradation may be approximated by a small Guassian blur kernel k. Therefore, Iu may be expressed as Iu=Ih {circle around (×)} k, with a standard deviation of 0.5 for an upsampling factor of √{square root over (2)}. This approximation has been found to produce an upsamped image with sharp edges suitable for use as a guide image.
Continuing with
As mentioned above, in some embodiments, both intra-scale and inter-scale deconvolutions may be performed.
Method 200 next enters an iterative intra-scale deconvolution process, as shown at 212 by the initialization of an intra-scale counter variable m. The use of an intra-scale deconvolution process may allow additional details to be recovered in an image while still suppressing ringing artifacts. For example, inter-scale deconvolution may utilize a relatively large regularization strength λ to effectively suppress ringing in smooth regions, as the magnitude of ringing artifacts may be proportional to the amplitude of the gradient at edges in the image. However, large regularization strengths may also suppress the recovery of details. Therefore, an iterative intra-scale deconvolution may be used to recover image details by decreasing a regularization strength for each successive iteration.
Referring again to
Before performing the next intra-scale deconvolution iteration, the regularization strength λ is reduced at 222. Then, at 224 and 226, method 200 loops back to 214 to perform another intra-scale deconvolution process. This reduces an amount of smoothing caused by the deconvolution process, and therefore may allow the recovery of more edge detail. The regularization strength may be reduced by any suitable amount. An amount of the reduction may depend upon a number of intra-scale deconvolution iterations to be performed. For example, in one embodiment, three deconvolutions are performed at each resolution scale other than scale zero, and the regularization strength is reduced by a factor ⅓ between each regularization. Thus, the first deconvolution is performed at full regularization strength (λ), the second at ⅓ strength (λ/3), and the third at 1/9 strength (λ/9). In this manner, each iteration recovers finer and finer detail that is added to the deconvoluted image at that scale.
Depending upon the value of the regularization strength λ at the final intra-scale deconvolution for each resolution scale, the regularization strength may be so low that some ringing is not suppressed. However, the frequencies at which most noticeable ringing artifacts occur may be lower than the frequencies of the details that are recovered in this final iteration. Furthermore, human perception may tolerate small scale ringing in highly textured regions. In light of these factors, a high pass filter may be used during a last iteration of the intra-scale deconvolution, as indicated at 228, to enforce a smoothness constraint on a middle range of frequencies of the recovered details, as follows:
where β is a scale parameter that may have any suitable value depending upon a desired strength for the EH(ΔI) term. In one embodiment, the scale parameter β has a value of 0.4λ. The term EH(ΔI) is the sum of the filtered image ΔI {circle around (×)} G, as follows:
E
H(ΔI)=ΣxΔIG. (18)
Here, G is a Gaussian kernel with a variance σh=σs. The effect of equations (17) and (18) is to perform high-pass filtering by adding a mid-scale regularization term to suppress midscale ringing artifacts while still allowing the recovery of fine details.
Continuing with
In
While the BRL and JBRL processes disclosed herein are described in the context of specific example embodiments, it will be appreciated that the configurations and/or approaches described herein are exemplary in nature, and that these specific embodiments or examples are not to be considered in a limiting sense, because numerous variations are possible. The specific routines or methods described herein may represent one or more of any number of processing strategies such as event-driven, interrupt-driven, multi-tasking, multi-threading, and the like. As such, various acts illustrated may be performed in the sequence illustrated, in parallel, or in some cases omitted. Likewise, the order of any of the above-described processes is not necessarily required to achieve the features and/or results of the embodiments described herein, but is provided for ease of illustration and description. The subject matter of the present disclosure includes all novel and nonobvious combinations and subcombinations of the various processes, systems and configurations, and other features, functions, acts, and/or properties disclosed herein, as well as any and all equivalents thereof.
This application is a continuation of U.S. pat. app. Ser. No. 12/237,126, filed Sep. 24, 2008 and entitled REMOVING BLUR FROM AN IMAGE, the entirety of which is hereby incorporated by reference for all purposes.
Number | Date | Country | |
---|---|---|---|
Parent | 12237126 | Sep 2008 | US |
Child | 13850213 | US |