IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, VOL. 30, NO. 12, DECEMBER 2008 2175 Nonlinear Scale Space with Spatially Varying Stopping Time Guy Gilboa Abstract—A general scale-space algorithm is presented for denoising signals and images with spatially varying dominant scales. The process is formulated as a partial differential equation with spatially varying time. The proposed adaptivity is semilocal and is in conjunction with the classical gradient-based diffusion coefficient, designed to preserve edges. The new algorithm aims at maximizing a local SNR measure of the denoised image. It is based on a generalization of a global stopping time criterion presented recently by the author and his colleagues. Most notably, the method also works well for partially textured images and outperforms any selection of a global stopping time. Given an estimate of the noise variance, the procedure is automatic and can be applied well to most natural images. Index Terms—Image denoising, stopping time, scale space, nonlinear diffusion, SNR, spatially varying parameters. Ç 1 INTRODUCTION S CALE-SPACE techniques, based on partial differential equations (PDEs), have been used successfully in the past two decades for a wide variety of tasks in image processing and computer vision, such as image enhancement, denoising, sharpening, segmentation, optical flow, and more. For some background on the theory and applications, see [2], [43], [10], [29]. The more classical linear and nonlinear scale spaces [46], [21], [31], [44] were realized as diffusion-type PDEs. Many generalizations were made, such as various geometric evolutions [35], [34], [38], [1], complex-valued processes [13], variational scale spaces [14], [39], [40], scale spaces based on morphological operators [18], [24], and even understanding robust statistics techniques [6], bilateral filters [5], and wavelet shrinkage [9], [39] as scale spaces. The relations between functional regularization and diffusion scale spaces were examined in [36]. A scale space based on robust statistical approach that can also accommodate heavy-tailed noise well is presented in [16]. See also the recently proposed inverse-scale-space methods, with excellent denoising capabilities, which presents a new formalism combining iterated variational techniques and PDEs [28], [8]. To make the presentation straightforward, the model is based on the classical Perona-Malik (P-M)-type nonlinear scale space [31]: ut ¼ divðgðjrujÞruÞ; ujt¼0 ¼ f; ð1Þ where f is the input noisy image and the regularization is achieved by evolving u for a finite time t ¼ T . In order to . The author is with 3DB Systems Ltd., P.O.B. 249, 2 Carmel St., Yokneam 20692, Israel. E-mail: [email protected]. Manuscript received 6 Oct. 2006; revised 7 May 2007; accepted 3 Dec. 2007; published online 15 Jan. 2008. Recommended for acceptance by J. Weickert. For information on obtaining reprints of this article, please send e-mail to: [email protected], and reference IEEECS Log Number TPAMI-0706-1006. Digital Object Identifier no. 10.1109/TPAMI.2008.23. 0162-8828/08/$25.00 ß 2008 IEEE preserve edges, the diffusion coefficient g is a decreasing function of the gradient magnitude of the filtered image jruj. Neumann boundary conditions are assumed (thus, the mean gray-level value is preserved). We shall stay with this definition of nonlinear diffusion in this paper. Naturally, the idea can be extended to other types of scale spaces. When (1) is used for image denoising, a certain scale for u is chosen to represent the original clean image. The choice of this scale is a significant issue that greatly affects the performance of the process. This scale depends on both the level of the noise and the characteristics of the processed image. As time represents scale in nonlinear diffusion, this is often called the stopping time problem. We will now summarize the various main methods that have been suggested to automatically select the stopping time. 1.1 The Stopping Time Problem Several studies have addressed the stopping time problem in recent years, trying to suggest robust and systematic mechanisms. Weickert [44] suggested stopping when an estimate of the variance of the clean image is reached. Mrázek and Navara [27] argued that one should expect to find the best stopping time when the correlation between the restored signal and its residual is minimal. This simple and elegant condition does not need an estimate of the noise variance, but may oversmooth textures, which are often only loosely correlated with the main structural part (as shown in [14]). A very early method by Morozov [26] in regularization theory, referred to as the discrepancy principle [11], is to select a solution such that the variance of the residual equals the variance of the noise. In [30], a comprehensive method based on cross-validation techniques was proposed. Physical considerations for solving the stopping time problem for the viscoplastic fluid model were presented in [12]. A reliable method aimed at maximizing the SNR was recently suggested in [14]. We base our local algorithm in the present paper on this method, which is explained in detail in Section 3. Published by the IEEE Computer Society 2176 IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, 1.2 Local Modeling Approaches Our proposed algorithm essentially selects different scales in different image locations and can therefore be regarded as belonging to local modeling approaches. Local modeling is used in various tasks such as image partitioning and segmentation [22], [37] and local feature selection [23]. The nonlinear scale spaces mentioned above can also be regarded as belonging to this category (since the diffusion coefficient is spatially varying). Our algorithm differs from most of these methods in that it focuses on the noise and not on the image. We are not concerned with scale invariance as in [23]. In terms of scale, the noise always has a dominant component at the finest scale (of a single pixel). Our window of locality should only be large enough to get reasonable estimations regarding the noise behavior. The goal is always the same, for all types of images, and that is to locally increase the SNR. The method controls only the extent of filtering and not its qualitative features. For nonlinear diffusion, for example, edges would be preserved very well and no oscillations would be created. For highly textured parts, however, where nonlinear diffusion does not perform well, the process can improve the performance only by locally reducing the degree of filtering (keeping both the noise and the textures). Visually, one sees a considerable improvement compared to the classical evolutions since the noise in textured regions is much less noticeable than that in smooth regions. There are some studies on local models of the variational approach. Spatially varying constraints for variational denoising were proposed in [15]. In the present study, however, a completely different approach is taken which is based not on a priori constraints but on estimating the local SNR. Image smoothing by a data-driven adaptive window mechanism is suggested in [19]. Black and Sapiro (B-S) [7] suggested a spatially varying threshold parameter for the Perona-Malik process which is based on arguments from robust statistics. We shall examine this approach more closely in Section 6 and compare it to our method. To the extent of the author’s knowledge, there are no previous studies concerning spatially varying stopping time. 1.3 Motivation for Spatially Varying Stopping Time It is obvious that there is no single global stopping time that is optimal for all possible images. Consequently, one can have the following thought experiment: Let us take a single image and divide it into two parts, evolving each part separately and joining them back together at the end. As diffusion filtering is essentially a local operator, apart from the joint boundary between the two parts, the result should be quite similar to denoising the image as a whole. In most cases, however, the two parts do not have exactly the same image features (for example, textured grass versus smooth sky in natural images or different anatomical parts in medical images). Therefore, it is very likely that the optimal stopping time for each part would not be exactly the same. By repeating this argument for smaller size windows, we reach the conclusion that a spatially varying stopping time, if properly chosen, is likely to perform better than a single global stopping time. VOL. 30, NO. 12, DECEMBER 2008 The problem is how to do it in a methodical and systematic manner, without introducing additional significant parameters, and having the algorithm general enough to be successfully applied to most types of images. We try to present such a method in this paper. 1.4 Summary of the Proposed Method Our method consists of two stages. We first divide the image into subregions and find, for each region, the best stopping time according to the method in [14]. We perform this procedure twice with different subregions and smooth the averaged stopping time to avoid artifacts. This serves as an input for a nonlinear diffusion equation where time is reparameterized in a spatially varying manner (see (16) in Section 4). 2 PROBLEM STATEMENT AND DEFINITIONS Below we set the basic definitions and notations of this paper. It is assumed that the input signal f is composed of the original signal s and additive uncorrelated noise n of variance 2 . The aim is to find the u that best approximates s. We denote v as the residual part of f. Thus, we have f ¼ s þ n ¼ u þ v: ð2Þ Let be the image domain with an area of jj. The empirical notions of mean, variance, and covariance are used, with the following definitions of the mean R R 1 1 Þ2 d, and q :¼ jj qd, the variance RV ðqÞ :¼ jj ðq q 1 the covariance covðq; rÞ :¼ jj ðq qÞðr rÞd. We recall the identity V ðq þ rÞ V ðqÞ þ V ðrÞ þ 2covðq; rÞ. The SNR of the recovered signal u is defined as SNRðuÞ :¼ 10 log V ðsÞ V ðsÞ ¼ 10 log ; V ðu sÞ V ðn vÞ ð3Þ : where log ¼ log10 . The initial SNR of the input signal, denoted by SNR0 , where no processing is carried out ðu ¼ f; v ¼ 0Þ, is according to (3) and (2): SNR0 :¼ SNRðfÞ ¼ 10 log V ðsÞ V ðsÞ ¼ 10 log 2 : V ðnÞ ð4Þ Let us define the optimal SNR of a certain process applied to an input image f as SNRopt :¼ max SNRðuðtÞÞ: t ð5Þ In the main parts of this paper, we use a simple scalar diffusion coefficient in (1) and its spatially varying variations presented later: g ¼ ð1 þ jruj2 Þ1=2 : ð6Þ Since images with gray-scale range 0:255 are processed, near edges, we have jruj2 1 and the process preserves edges well (but does not enhance them since it is derived from a convex energy functional). A common more general formula introduces a scale parameter K, in the form gK ¼ ð1 þ ðjruj=KÞ2 Þ1=2 . Thus, the equation above is the case where K ¼ 1. We shall stay with the simpler form of (6) in the rest of this paper. GILBOA: NONLINEAR SCALE SPACE WITH SPATIALLY VARYING STOPPING TIME 2177 In Section 6, we show that the algorithm also performs well for the classical smoothing-enhancing process of Perona-Malik. The implementation is based on the discretization scheme in [43] for scalar diffusion coefficients. An explicit time marching scheme is used. 3 ESTIMATING THE OPTIMAL GLOBAL SNR (GSZ METHOD) In this section, we describe the method that was recently suggested by Gilboa-Sochen-Zeevi (GSZ) in [14] for SNR motivated single scale parameter selection. The method was primarily formulated in the context of choosing the best fidelity parameter in the variational context: max fSNRðuðf; ÞÞg such that u is the minimizer of JðuÞ þ kf uk2L2 , where RJðuÞ is a convex regularizer like the total variation JðuÞ ¼ jrujd. In this case, V ðvÞ has a 1:1 correspondence with and one can alternate between the scale parameters and V ðvÞ. The analog method for choosing the stopping time was described rather briefly. Therefore, we give it in some more details here. 3.1 Necessary Condition for Maximal SNR For any smooth SNRðuðtÞÞ with respect to t, one can write ¼ 0. From (3), the necessary condition for extrema @ SNRðuðtÞÞ @t we see that, since the log function is monotonically increasing and V ðsÞ is constant in time, maximizing the SNR is equivalent to minimizing V ðn vÞ. Expanding V ðn vÞ to V ðnÞ þ V ðvÞ 2 covðn; vÞ yields 1 @V ðvÞ @ cov ðn; vÞ ¼ : 2 @t @t ð7Þ A typical behavior of the SNR as a function of time is to first increase monotonically and then to decrease monotonically; see Fig. 1 (top). In these cases, condition (7) is sufficient for choosing the optimal stopping time in the SNR or mean-square-error (MSE) sense. One may also consider the boundary case where the SNR decreases from the beginning (the maximum is at t ¼ 0). In this case, @ SNRðuÞ jt¼0 < 0. We can thus formulate the following @t theoretical condition for stopping the evolution (which applies for both cases): 1 T ¼ min t : @t V ðvðtÞÞ @t cov ðn; vðtÞÞ : 2 This condition is only theoretical since we do not know the term covðn; vÞ as the noise n is unknown. For a practical stopping condition, we first have to estimate this term. 3.2 Estimating covðn; vÞ The model assumes prior estimation of the noise statistics (for zero-mean white Gaussian noise, this means that we have an estimate of the variance of the noise 2 ). Our experiments indicate that the variance is the sole significant parameter to provide and that white noise can be assumed to have Gaussian statistics. This feature is validated analytically in the case of linear diffusion (Section 7). The evaluation is accomplished by generating noise with statistics similar to n, denoted by n~. One then evolves an image f ¼ n~ that contains only pure noise and measures Fig. 1. Processing the Lena image. Top: SNR plot as a function of t. Middle: @ covð~ n; vðtÞÞ=@V ðvðtÞÞ ¼ CðtÞ=ð@t V ðvðtÞÞÞ (“Estimated”) and @ covðn; vðtÞÞ=@V ðvðtÞÞ (“Real”) as a function of t. A dot-dashed straight line is plotted at the 12 value, indicating the theoretical and practical stopping criteria (7) and (11), respectively. Bottom: Precomputed term CðtÞ ¼ @ covð~ n; vÞ=@t as a function of t ðlog scaleÞ. ~ @ covðn;vÞ . @t This is done a single time for each noise variance and can be regarded as a lookup table (see Fig. 1 (bottom)). The approximation is @ cov ðn; vðtÞÞ jf¼sþn @t ~ vðtÞÞ @ cov ðn; jf¼n~ : @t ð8Þ Let us define CðtÞ :¼ ~ vðtÞÞ @ cov ðn; jf¼~n : @t CðtÞ can be viewed as an estimation of :¼ E @ cov ðn; vÞj CðtÞ f¼n ; @t ð9Þ ð10Þ where E½s stands for the expected value of a random variable s. The validity of these approximations is straightforward in the linear case (see Section 7). In the nonlinear case, a formal analysis is much harder and is based on strong experimental indications. We currently investigate the possibility to analyze several specific cases in the nonlinear setting. We can now have a practical method for stopping the evolution: 2178 IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, TGSZ 1 :¼ min t : @t V ðvðtÞÞ CðtÞ : 2 ð11Þ This gives a good approximation of the optimal stopping time in the SNR sense. See Fig. 1 for an example of the SNR obtained by the method versus the optimal one (Fig. 1 (top)) versus the ground truth and the approximation of @ covðn;vÞ @V ðvÞ (Fig. 1 (middle)). The example depicts the processing of the Lena image. We give the precise definition of two additional stopping time methods that are used in the experiments below. The stopping condition of Mrazek-Navara (MN) [27] aims at finding the minimal correlation between u and v: T ¼ argmint fcorrðuðtÞ; vðtÞÞg, where pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi corrðu; vÞ :¼ covðu; vÞ= V ðvÞV ðuÞ: However, in practice, one does not check for all possible t and the process is stopped as soon as the correlation begins to increase: TMN :¼ minft : @t corrðuðtÞ; vðtÞÞ 0g: ð12Þ Thus, we do not need to require that V ðvðtÞÞ increase monotonically with time, although it most often does. The method suggested in [44] is somewhat similar in nature and more rigorous theoretically (since V ðuðtÞÞ is a Lyapunov functional, see [43]), but usually does not perform as well (tends to stop the process very early, as explained in [27]). 4 PROPOSED METHOD First, we define the notions of time and stopping time in a spatially varying sense. Spatially varying stopping time. Let us examine the following modification of (1): ut ¼ HðT ðx; yÞ tÞdivðgðjrujÞruÞ; ujt¼0 ¼ f; ð14Þ where HðÞ is the Heaviside function: 1; q 0 HðqÞ ¼ 0; otherwise: For T const, this simply incorporates the stopping time T within the evolution equation such that uðtÞ ¼ uðT Þ for any t T . In case we want to evolve a part of the image 1 for a time of T1 and the other part 2 for a time of T2 (where 1 [ 2 ¼ ), we can define T ðx; yÞ as T ðx; yÞ ¼ fT1 ; 8ðx; yÞ 2 1 ; T2 ; 8ðx; yÞ 2 2 g. The evolution of (14) can be viewed as nonlinear diffusion with a spatially varying stopping time T ðx; yÞ. A problem may arise in creating artificial edges (or artifacts) in this way along the different region boundaries. A similar behavior to spatially varying stopping time can be achieved by using spatially varying reparameterization of time. This avoids the artificially imposed boundary conditions within the image domain and reduces artifacts. DECEMBER 2008 The flow of information between image regions is kept throughout the whole evolution. Moreover, the time transitions between regions can be made very smooth and do not rely on the time step size of the actual implementation (as in the stopping time case). Time reparameterization. Let us examine another modification of (1): uðx;y;tÞ ¼ divðgðÞruÞ; uj0 ¼ f; ð15Þ where ðx; y; tÞ is a spatially varying reparameterization of time defined as ðx; y; tÞ :¼ ðx; yÞt and t is a scalar time. We use a linear reparameterization, which is the simplest and relates directly to the evolution with spatially varying stopping time (the close resemblance between these two equations will be used in our algorithm). The following simple change of variables, uðx;y;tÞ ¼ @u @t ut ¼ ; @t @ðx; y; tÞ ðx; yÞ yields a more tractable equation: 2 The Morozov discrepancy principle (“ method”), a popular denoising strategy in the variational framework (for example, [33]), can be adopted to nonlinear diffusion by selecting the following stopping time: ð13Þ T2 :¼ min t : V ðvðtÞÞ 2 : VOL. 30, NO. 12, ut ¼ ðx; yÞdivðgðÞruÞ; ujt¼0 ¼ f: ð16Þ Setting ðx; yÞ ¼ T ðx; yÞ ; Tmax ð17Þ where Tmax ¼ maxðx;yÞ ðT ðx; yÞÞ, and evolving (16) for Tmax time (using as the solution uðTmax Þ) gives similar results to the solution of (14). The similarity comes from the fact that each region is effectively evolved the same amount of time in the two schemes. The difference comes from the different interactions within the neighborhood. More coherent results are achieved when the interaction takes place throughout the evolution and there are no “frozen” parts. Remark. Similarly, we could have set ðx; yÞ ¼ T ðx; yÞ and evolve (16) a unit time. Since we want to keep the standard numerical implementations of explicit schemes and use the same CFL, we should set the bound ðx; yÞ 1 and, therefore, (17) is preferred. 4.1 Algorithm Now that the necessary tools are defined, the algorithm can be described (Table 1): 1. 2. 3. 4. 5. Inputs: image, estimated noise variance 2 . Retrieve CðtÞ from the lookup table (see Section 3.2). Set k ¼ 1. Divide the image into subregions ki . Evolve (14). Find spatially varying stopping time T k ðx; yÞ by stopping in any region ki according to the SNR condition (11), where V ðvÞ is evaluated locally in ki , or when @V@tðvÞ jk ". Terminate the i evolution when all the regions are stopped. Set k ¼ 2, repeat Steps 2 and 3 for a different partition ki , and average the stopping times: Tðx; yÞ ¼ ðT 1 ðx; yÞ þ T 2 ðx; yÞÞ=2. Construct ðx; yÞ as a smoothed version of Tðx; yÞ (see (18)). Evolve (16) for Tmax time. GILBOA: NONLINEAR SCALE SPACE WITH SPATIALLY VARYING STOPPING TIME 2179 TABLE 1 Algorithm Illustration Fig. 2. Two partitions of the image into subregions: 1i (full line) and 2i (dashed line). Each square is of size ‘ ‘ pixels. 1 " @t V ðvðt1 ÞÞji Cðt1 Þ 2 2 and the region will be deactivated according to the first stopping condition. u t To construct ðx; yÞ, we use Tðx; yÞ ðx; yÞ ¼ g ; T max ð18Þ where Tðx; yÞ is the average of T k ðx; yÞ of the two evolutions, g is a Gaussian of standard deviation , and denotes convolution. It is suggestedpto ffiffiffiffiffiffichoose as a function of the j j subregion size. We set ¼ 4 i . For example, in our choice, ji j ¼ 12 12 ¼ 144 and we have ¼ 3. 4.2 Termination of the Algorithm Here, we show that the algorithm terminates in a finite time. The part that should be examined more carefully is stage 3 of the algorithm, where (14) is evolved and the stopping is done locally according to GSZ. It is noted that this proposition is also true for the global GSZ method (in the original paper [14], this topic is not regarded). Below we prove that the maximal time for the process to complete (denoted by t1 ) is defined by the precomputed function CðtÞ (9). Proposition 1. For any " > 0, 9t t1 , for which the evolution in stage 3 of the algorithm terminates, where t1 :¼ minft : CðtÞ 2"g. Proof. In the evolution of (1), u converges in the L2 sense to f and v to f f (see, for example, [2]). Consequently, ¼ V ðfÞ. Therefore, covðf; vÞ converges to covðf; f fÞ there exists a time t for which @t covðf; vðt ÞÞ 2" . This is also valid for the precomputed function CðtÞ with pure ~ Hence, t1 as defined above exists and is finite. noise f ¼ n. It is easy to check that, after the time t1 , there cannot be any active region i : If @t V ðvðt1 ÞÞji < ", the algorithms stops according to the second stopping condition (Step 3). On the other hand, if @t V ðvðt1 ÞÞji ", then 4.3 Image Partitioning The partition into subregions ki should follow the guideline that the local measurements would be as uncorrelated as possible between evolutions. In our proposed algorithm, we advocate the use of only two evolutions ðk ¼ 2Þ and the partitioning is rather straightforward: For a square subregion of size ji j ¼ ‘ ‘ pixels, the second partition is displaced by ‘ 2 in each direction (see Fig. 2). With regard to the boundaries, one can have either smaller subregions near the boundaries or ones larger than ‘ ‘. Both options are acceptable; we observed slightly better behavior by taking smaller subregions (the averaging and smoothing at the later stage considerably reduces the overall effect of these choices). 5 EXPERIMENTAL RESULTS The proposed spatially varying time algorithm was compared with three global stopping time methods mentioned earlier, MN (12), the 2 method (13), and the global SNR method (GSZ) (11), as well as with the theoretical global optimal result (“Opt”) attaining the highest SNR (or smallest MSE). Note that this is the optimal global result. It is selected by checking the SNR at every time step. Naturally, it is not a practical stopping criterion since, in order to obtain it, we need the clean image at hand. Moreover, we will see that, when we have the freedom to select different stopping times in different regions, as proposed here, we are able to considerably outperform this result. The SNR results of denoising six classical test images (Fig. 3) with additive white Gaussian noise of standard deviations ¼ 10 and ¼ 20 are summarized in Table 2. The proposed method (“Prop”) achieves the best results in terms of SNR in all of our experiments. The row in each SNR opt ” shows the difference of table denoted by “SNR the average SNR of the six images from the average optimal (global) SNR. Fig. 3. Test images. 2180 IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, VOL. 30, NO. 12, DECEMBER 2008 TABLE 2 SNR Results of Test Images (in dB) In Fig. 4, a part of the Barbara image is shown (white Gaussian noise ¼ 20) containing both textural and smooth parts. The proposed method is shown in comparison with Fig. 5. Results of denoising the Sailboat image (an enlarged part is shown). Top row (from the left): Clean image s, input image f ð ¼ 10Þ. Middle row (from the left): Filtering result u using the proposed method and filtering result u using the optimal global stopping time. Bottom row: Corresponding contrasted residuals: 2v ¼ 2ðf uÞ. Fig. 4. Results of denoising the Barbara image (an enlarged part is shown). Top row (from the left): Clean image s, input image f ð ¼ 20Þ. Middle row (from the left): Filtering result u using the proposed method and filtering result u using the optimal global stopping time. Bottom row: Corresponding contrasted residuals: 2v ¼ 2ðf uÞ. the SNR-optimal global result. One can clearly see how the proposed method adapts to the different features of the image, denoising the smooth parts well while keeping the textures intact. Examining the residual part (Figs. 4c, left), it is apparent that the amount of denoising changes considerably in different regions. In Fig. 5, a part of the Sailboat image, with a lower level of noise ð ¼ 10Þ, is shown. Similar characteristics appear where, in the proposed method, the sky is smoother and the textures of the sea are not eroded compared with the global stopping approach. In Fig. 6, the Cameraman image is processed. We show here that the process also performs very well for uniform noise. In this case, a uniform noise in the range ½35; 35 is added. The SNR results of the various methods are given within the subfigure titles. The proposed local method clearly outperforms all the global methods both visually and in terms of SNR. In the enlargement (Fig. 7), one can see that the details of the camera are better preserved compared to the global stopping methods, whereas the noise in the sky region is almost completely removed. In Fig. 8, we summarize the SNR results graphically: SNRðuÞ is plotted as a function of time. On that curve, the stopping times and GILBOA: NONLINEAR SCALE SPACE WITH SPATIALLY VARYING STOPPING TIME 2181 Fig. 7. Cameraman—enlargement. Top (from the left): The clean, noisy, and proposed methods. Bottom: GSZ and MN. Whereas GSZ preserves the camera details well and MN denoises the smooth background well, the proposed method does both. 6 VARIATIONS ON THE MODEL In this section, we elaborate more on various aspects of the algorithm. We show that it can also work for a PeronaMalik type diffusivity [31] and explain how to compute CðtÞ in this case. We examine the spatially varying diffusion method of Black and Sapiro (B-S) [7], explain the different motivation, and show that our method is clearly better for denoising (B-S is actually directed for image simplification). Last, we perform various extensive tests and experiments that show the robustness of the method to various parameters (which are fixed in our algorithm). An essential input of the algorithm is the estimated noise variance. We compute an SNR curve that depicts the sensitivity to errors in the noise variance estimation. We observe that overestimation of the variance is preferred to underestimation. Moreover, it is shown experimentally that, for white noise, the variance is the only significant statistic for our process (therefore, one can compute CðtÞ using Gaussian noise). 6.1 Perona-Malik Process Our method can also work successfully for enhancing processes, such as ones based on the Perona-Malik (P-M) diffusivities: gP M1 ¼ ð1 þ ðjruj=Þ2 Þ1 or ð19Þ Fig. 6. Cameraman image, uniform noise in the range ½35; 35. Top (from the left): Clean and noisy images. Second row (from the left): u of the proposed method and u of GSZ [14]. Third row: Discrepancy principle [26] and M-N [27]. The fourth and fifth rows depict the corresponding residuals 2v ¼ 2ðf uÞ. (Optimal global SNR: SNRopt ¼ 16:18). the corresponding SNR of the three experimented global methods are marked. Also, the optimal stopping time is denoted by “ .” Two additional SNR values are overlaid for comparison in dashed lines: that of the noisy image SNR0 and the SNR of the proposed method. Fig. 8. Cameraman image. SNR as a function of time (solid) and the SNR of the proposed method (dot-dashed line). 2182 IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, 2 gP M2 ¼ eðjruj=Þ : DECEMBER 2008 ð20Þ For our experiments, we use (19). It is well known (see, e.g., [2]) that nonlinear diffusion with such diffusion coefficients can be viewed as the steepest descent to minimize a nonconvex functional. Such evolutions entail both properties of denoising and enhancement [42]. The P-M process depends on a parameter , which can be understood as a soft threshold parameter of the gradients to be preserved and even enhanced (as they are expected to belong to genuine edges of the image). In this case, the CðtÞ of (9) should be computed with the same parameter as that used for denoising the image. The additional complexity is usually not very significant (less than 10 percent, as will be discussed later). In [7], nonlinear P-M diffusion with a spatially varying parameter ðx; yÞ is suggested, following the ideas in [6] for the global parameter selection. We examine this method and compare it to ours in the following. 6.2 Black and Sapiro’s Spatially Varying Process In [6], Black et al. followed ideas from robust statistics [32] and suggested using the following “robust scale” (in their terminology) for the P-M parameter: :¼ c MADðruÞ ¼ c medianu ðjru medianu ðjrujÞjÞ; ð21Þ where MAD stands for the median absolute deviation and c is calculated such that, for white Gaussian noise with unit variance, we get ¼ 1 (the theoretical number is c ¼ 1:4826, but this may depend on the specific discretization of the gradient). In [7] (B-S), a spatially varying process was suggested where the MAD value is calculated locally in a window for each pixel to obtain a spatially varying parameter ðx; yÞ. In essence the local method of B-S is for simplification or what is now referred to as structure-texture decomposition (see [25], [41], [3], [4]) and is less adequate for denoising. For instance, it is shown that, in terms of SNR, their simple global parameter performs better (see Fig. 9). The most notable difference is that the method of B-S does not treat textures as outliers and therefore smoothes them along with the noise. Still, it is shown that GSZ works well for both the global and the local B-S methods (see SNR plots, Fig. 9). In [4], the use of a correlation criterion in the variational context is suggested, similar to that of M-N [27], as a method to find a good decomposition parameter (using the assumption that in many cases, the structures and textures of the image are not correlated). It is therefore suggested to view the local B-S with M-N stopping time as a simple reasonable flow to achieve structure-texture decomposition. For comparisons between the proposed method and that of B-S, see Figs. 10 and 11. 6.3 VOL. 30, NO. 12, Robustness of the Proposed Method 6.3.1 Robustness to Parameter Choice The size of each subregion ji j has to be selected, which determines how local the method is. As in any local approach, an uncertainty principle governs the basic tradeoffs: As we get more accurate in terms of resolution (smaller window size), we lose accuracy in the estimates, in our case, Fig. 9. Local versus global, Black-Sapiro method. A graph of the SNR as a function of time of two versions of the Black-Sapiro method are plotted (Barbara image, see Fig. 10). The solid line represents the local method (spatially varying ); the dashed line represents the global method (single ). The global method most often gives better results for denoising. On the plots, the stopping selections of GSZ (circle) and M-N (square) are shown. the local noise level and the covariance condition. In Fig. 12, we show an experiment where the SNR result of the proposed method is checked for different sizes of ji j and different noise levels. In general, the algorithm is robust and works well for a large range of sizes. The experiments in Table 2 are done with subregions of size 12 12 pixels for both levels of noise. Other variations that may be applied to the algorithm are the number of runs k and the width of the convolving Gaussian, which are resolved in our proposed method. Our experiments indicate that the most noticeable improvement is achieved by computing two stopping times T k ðx; yÞ versus a single one. If one repeats this process four times (using different nonoverlapping partitions i ), there is some improvement, of about 0:1dB, which does not seem to be worth the additional computational effort. Averaging over 8 or 16 runs makes almost no further improvement. We propose making the standard deviation of the smoothing kernel dependent on the size of the subregion such that blocky artifacts are not visible and the resolution of the window size is preserved. Here, again, the process is robust and we did not observe significant changes by changing . 6.4 Errors in the Noise Variance Estimation A significant input for this process is the variance of the noise. This is used for the computation of CðtÞ. We have therefore performed extensive experiments to examine the reliability of the method in cases where the noise estimations are not reliable. Our experiments are based on the Kodak image photos [20] (23 natural images). We have added white Gaussian noise with variance 2 ¼ 400. CðtÞ was taken for 11 different values of variance ranging from 0:52 to 1:52 in steps of 0:12 . In Fig. 13, a summary of the results is given, where an average of the SNR result is plotted for each noise variance estimation. We performed this experiment with both the nonenhancing diffusion coefficient (6, left) and with the P-M coefficient (19). Moreover, we tested corruption by uniform white noise. We also tested corruption by uniform white noise where the GILBOA: NONLINEAR SCALE SPACE WITH SPATIALLY VARYING STOPPING TIME 2183 Fig. 11. Comparison of the proposed method (top right) to local B-S with GSZ and M-N stopping criteria. On the bottom right, the local MADbased threshold is depicted. The B-S algorithm regards texture and noise similarly and smooths both (only edges are considered outliers by this approach). We observe that overestimation of the variance is preferred to underestimation. For instance, for the nonenhancing diffusivity (6), we observe a reduction of about 0:5dB in the SNR for a 40 percent overestimation in the noise variance (from a peak of 14.18 for the correct estimation to 13.76 for a variance estimation of 1:42 ). This SNR is about the same as the original GSZ with a correct variance estimation (13.73). Visually, the denoising is still at acceptable quality. Large errors in the estimation of the noise variance may happen, especially for “clean” or very high SNR images, where the noise estimator may confuse random texture with noise. We show in Fig. 14 that our algorithm is relatively robust. A low level of noise with variance 2orig ¼ 4 was added to a raft image (taken from the Kodak collection [20]). We assume an estimation of 10 times the original noise variance, that is, 2est ¼ 40. CðtÞ is taken according to est . Fig. 10. Comparison of the proposed method to variations of B-S with GSZ and M-N stopping criteria. Our proposed method is clearly better suited for denoising. computation of CðtÞ assumes Gaussian white noise. We see that there is very little difference in the results (Figs. 13, bottom plots). Our intuition for that is that we are optimizing second-moment statistics (SNR or MSE) and, therefore, higher order moments are less relevant for the nonlinear case. Fig. 12. Performance for different sizes of subregion ji j. The SNR results of the proposed scheme applied to the Lena image are plotted as a function of the size of ji j for different noise levels. The subregions tested (from left to right) are squares of 8 8, 12 12, 16 16, 20 20, 24 24, 28 28, and 32 32 pixels. Each line (from top to bottom) depicts trials with the following standard deviation of white Gaussian noise: ¼ 5, 10, 15, 20, 25, and 30, respectively. 2184 IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, Fig. 13. Average SNR of the Kodak image collection for different estimations of the noise variance. First and second rows: White Gaussian noise ð ¼ 20Þ. First row: Experiment with nonenhancing diffusivity (6). Second row: Perona-Malik process (19). Third and fourth rows: Uniform noise (range ½20; 20, g as in (6)). A solid line means that the CðtÞ is computed using uniform noise; a dashed line means that CðtÞ is computed using Gaussian noise of the same estimated variance. Fourth row: The difference in average SNR between these two computations. One observes that the exact statistics of white noise are not significant for the proposed method. We compare the proposed method to M-N and the 2 method (13). Our algorithm is shown to be more robust to the estimation error than the 2 method. Moreover, it is clear that, although M-N does not need the estimation of the noise, very low levels of noise can significantly mislead the algorithm, resulting in noticeable oversmoothing (in other words, the implied noise estimation of the M-N decorrelation criterion works poorly in such cases). 6.5 Complexity The complexity when CðtÞ is precomputed involves two evolutions for the stopping times (stages 3 and 4 of the algorithm) and one evolution of stage 5. Therefore, it takes about three times of an evolution with a global time. If one needs to compute CðtÞ, this may be slightly longer. In the VOL. 30, NO. 12, DECEMBER 2008 Fig. 14. Large error in the noise estimation (high SNR image). The original noise variance is four; it is estimated as 2 ¼ 40. We show how all algorithms fail, although the proposed algorithm is relatively better. The M-N algorithm does not rely on a noise estimator but, for low levels of noise, tends to oversmooth the textures (image taken from the Kodak collection [20]). P-M process, one has a parameter , which is often image dependent. It may not be reasonable to have a lookup table for many values of both and the noise variance 2 . However, for training CðtÞ, one needs only a patch of about 80 80 pixels. For images of size 512 512, this process is negligible (about 2.5 percent additional time). For spatially varying parameters, such as the local B-S, where we have ðx; yÞ, the computation of CðtÞ should use the same parameters as the denoising process and, therefore, the patch should be the same size as the image (which requires an additional full evolution). GILBOA: NONLINEAR SCALE SPACE WITH SPATIALLY VARYING STOPPING TIME 7 LINEAR ANALYSIS OF THE ut ¼ u; E½< g s; n > Z Z ¼E gð~ x; y~; tÞsðx x~; y y~Þd~ xd~ y nðx; yÞdxdy Z Z gð~ x; y~; tÞE sðx x~; y y~Þ nðx; yÞdxdy d~ xd~ y ¼ GSZ METHOD In this section, we develop the GSZ algorithm [14] in the linear case. It is shown that the method selects the expected value of the optimal global time (where optimality is in the MSE sense). Also, it may give the reader some more intuition on the process and specifically on the role of CðtÞ (9). In Section 8, we discuss and draw some conclusions relating the analytic results of the linear case to the experimental results of the nonlinear processes shown in Section 6. It is shown below that the standard assumption of uncorrelated additive noise is the main requirement of the GSZ algorithm. In the linear case, we only require that s and n and their translations are not correlated. However, for the broader nonlinear case, we may need full statistical independence between both signals (and their translations). The property of statistical independence is valid for additive white noise. Taking gðjrujÞ 1 in (1) gives the standard linear diffusion process (linear scale space [17], [46]; see [45] for the axiomatics and a broader historical review): ujt¼0 ¼ f: ð22Þ For simplicity (without loss of generality), let us assume an infinite domain ¼ IR2 to have the following explicit solution: uðx; y; tÞ ¼ gðx; y; tÞ fðx; yÞ; where gðx; y; tÞ is a two-dimensional Gaussian of standard pffiffiffiffiffi deviation ðtÞ ¼ 2t. Here, we use the MSE criterion (instead of maximizing the SNR). Therefore, we use slightly different notations; the derivation, however, is the same. We replace the variance by the L2 norm and the covariance by the L2 inner product. (As the mean values of f and u are the same, the definitions coincide, up to a scaling factor.) We would like to choose the optimal t which minimizes the MSE: e2 :¼ ks uk2 ¼ kn vk2 : 2185 Replacing v :¼ f u by fðx; yÞ gðx; y; tÞ fðx; yÞ and f by s þ n, we get E½< n; v > ¼ E½< n; n g n >: F fE½< n; n g n >g ¼ Nð!Þð1 Gð!ÞÞ; where F is the Fourier transform, Nð!Þ is the power spectral density of the noise n, and Gð!; tÞ :¼ F fgðx; y; tÞg. Thus, @ @ CðtÞ :¼ E < n; v > ¼ E½< n; n g n > @t @t @ ð24Þ ¼ F 1 fNð!Þð1 Gð!; tÞÞg @t ¼ F 1 fNð!ÞGt ð!; tÞg; where F 1 is the inverse Fourier transform and @ Gt ð!; tÞ ¼ @t Gð!; tÞ. Hence, in the linear case, CðtÞ has a closed form expression, (10) is its generalization in the nonlinear case, and (9) is its numerical estimation. 8 DISCUSSION The proposed algorithm relies on the GSZ method [14] for choosing the stopping time. Its properties are therefore closely related to this method. The linear analysis above shows the validity of GSZ in the linear case and reveals some properties of the method. Experimentally, it appears that many of the properties hold (at least approximately) for nonlinear diffusion processes (relating to the minimization of both convex and nonconvex energies). We can summarize the main findings as follows: . 2 @ @ < n; v > þ kvk2 ¼ 0: @t 2@t As we have v, the right term of the left-hand side is known. Let us examine the expected value of the left @ @ term, that is, E½@t < n; v > ¼ @t E½< n; v >. We first show that E½< g s; n > ¼ 0. We use the fact that any spatial translation of n or s yields uncorrelated signals, that is, Z E sðx x~; y y~Þnðx; yÞdxdy ¼ 0; 8~ x; y~ 2 : As g is deterministic, we can change the integration order and use the above relation to have ð23Þ This can be written in the Fourier domain as 2 A necessary condition is @e @t ¼ 0. Expanding kn vk and taking the derivative with respect to t yields the following condition: ¼ 0: . . The expected value of the optimal solution (in the MSE sense) is found by the GSZ method in the linear case. In the nonlinear case, a good approximation is obtained. This paper presents the adaptive (or spatially varying) version of the filter, which performs significantly better. An estimation of the noise variance is required as an input, although the algorithm is quite robust and handles overestimation well (up to about 40 percent more than the actual noise variance). The computation of CðtÞ is justified by the analysis of the statistically correct way to estimate the unknown term covðn; vÞ in the linear case. In the general nonlinear setting, CðtÞ can be understood as an approximation for the (time derivative of) the expected value of the filtering response of the noise. An important consequence of the linear analysis is that one does not need the full statistics of the noise, only its autocorrelation function (or power spectral 2186 IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, density). Our experimental results (see Fig. 13) indicate that a similar behavior seems to hold for nonlinear diffusion processes. Therefore, for computing CðtÞ in the case of white noise, one can assume that it is Gaussian. 9 CONCLUSION Nonlinear diffusion is primarily adequate for denoising piecewise smooth images with large structures. In denoising natural images, the performance degrades mainly due to textures and fine-scale details that are part of the image. We propose a general automatic algorithm where the amount of filtering changes smoothly in a semilocal manner, trying to achieve the maximal local SNR based on the covariance condition presented in [14]. Our experiments indicate that the method outperforms any choice of global stopping time that could be suggested, both visually and with respect to the SNR results. The complexity is approximately three times that of a classical evolution with a global time. We are currently searching for ways to reduce the runtime, perhaps by finding suitable estimates of ðx; yÞ that can be computed “on the fly” in a single evolution. A simple partition algorithm is used where the local regions are predetermined. To reduce the creation of artifacts, this procedure is repeated twice in a blocky stopping time formulation. The final result is based on a spatially varying time, calculated as a smoothed function of the averaged stopping times. More elaborated schemes that use segmentation algorithms to select image-driven regions may also be suggested. [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] ACKNOWLEDGMENTS [23] This work was supported by grants from the US National Science Foundation under Contracts DMS-0714087, ITR ACI-0321917, and DMS-0312222, and the US National Institutes of Health under Contract P20 MH65166. The main part of the paper was done during the stay of the author in the Department of Mathematics at the University of California, Los Angeles. [24] [25] [26] [27] REFERENCES [1] [2] [3] [4] [5] [6] [7] L. Alvarez, F. Guichard, P.-L. Lions, and J.-M. Morel, “Axioms and Fundamental Equations of Image Processing,” Archive for Rational Mechanics and Analysis, vol. 123, no. 3, pp. 199-257, 1993. G. Aubert and P. Kornprobst, “Mathematical Problems in Image Processing,” Applied Math. Sciences, vol. 147, 2002. J.F. Aujol, G. Aubert, L. Blanc-Féraud, and A. Chambolle, “Image Decomposition into a Bounded Variation Component and an Oscillating Component,” J. Math. Imaging and Vision, vol. 22, no. 1, Jan. 2005. J.F. Aujol, G. Gilboa, T. Chan, and S. Osher, “Structure-Texture Image Decomposition—Modeling, Algorithms, and Parameter Selection,” Int’l J. Computer Vision, vol. 67, no. 1, pp. 111-136, 2006. D. Barash, “A Fundamental Relationship between Bilateral Filtering, Adaptive Smoothing, and the Nonlinear Diffusion Equation,” IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 24, no. 6, pp. 844-847, June 2002. M.J. Black, G. Sapiro, D. Marimont, and D. Heeger, “Robust Anisotropic Diffusion,” IEEE Trans. Image Processing, vol. 7, no. 3, pp. 421-432, 1998. M.J. Black and G. Sapiro, “Edges as Outliers: Anisotropic Smoothing Using Local Image Statistics,” Proc. Second Int’l ScaleSpace Theories in Computer Vision, pp. 259-270, 1999. [28] [29] [30] [31] [32] [33] [34] [35] VOL. 30, NO. 12, DECEMBER 2008 M. Burger, G. Gilboa, S. Osher, and J. Xu, “Nonlinear Inverse Scale Space Methods,” Comm. Math. Sciences, vol. 4, no. 1, pp. 179-212, 2006. A. Chambolle and B.J. Lucier, “Interpreting Translation-Invariant Wavelet Shrinkage as a New Imagesmoothing Scale Space,” IEEE Trans. Image Processing, vol. 10, no. 7, pp. 993-1000, 2001. T.F. Chan and J. Shen, Image Processing and Analysis. SIAM, 2005. H.W. Engl, M. Hanke, and A. Neubauer, Regularization of Inverse Problems. Kluwer Academic, 1996. I.A. Frigaard, G. Ngwa, and O. Scherzer, “On Effective Stopping Time Selection for Visco-Plastic Nonlinear Diffusion Filters Used in Image Denoising,” SIAM J. Applied Math., vol. 63, no. 6, pp. 1911-1934, 2003. G. Gilboa, N. Sochen, and Y.Y. Zeevi, “Image Enhancement and Denoising by Complex Diffusion Processes,” IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 25, no. 8, pp. 1020-1036, Aug. 2004. G. Gilboa, N. Sochen, and Y.Y. Zeevi, “Estimation of Optimal PDE-Based Denoising in the SNR Sense,” IEEE Trans. Image Processing, vol. 15, no. 8, pp. 2269-2280, 2006. G. Gilboa, N. Sochen, and Y.Y. Zeevi, “Variational Denoising of Partly-Textured Images by Spatially Varying Constraints,” IEEE Trans. Image Processing, vol. 15, no. 8, pp. 2280-2289, 2006. B. Hamza and A. Krim, “Image Denoising: A Nonlinear Robust Statistical Approach,” IEEE Trans. Signal Processing, vol. 49, pp. 3045-3054, 2001. T. Iijima, “Basic Theory of Pattern Observation,” papers of Technical Group on Automata and Automatic Control, IECE, Japan (in Japanese), 1959. P.T. Jackway and M. Deriche, “Scale-Space Properties of the Multiscale Morphological Dilation-Erosion,” IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 18, no. 1, Jan. 1996. C. Kervrann, “An Adaptive Window Approach for Image Smoothing and Structures Preserving,” Proc. Eighth European Conf. Computer Vision, pp. 132-144, 2004. Kodak, Kodak Image Collection, http://www.cipr.rpi.edu/ resource/stills/kodak.html, 2002. J.J. Koenderink, “The Structure of Images,” Biological Cybernetics, vol. 50, pp. 363-370, 1984. Y.G. Leclerc, “Constructing Simple Stable Descriptions for Image Partitioning,” Int’l J. Computer Vision, vol. 3, no. 1, pp. 73-102, 1989. T. Lindeberg, “Feature Detection with Automatic Scale Selection,” Int’l J. Computer Vision, vol. 30, no. 2, pp. 79-116, 1998. F. Meyer and P. Maragos, “Nonlinear Scale-Space Representation with Morphological Levelings,” J. Visual Comm. and Image Representation, vol. 11, no. 2, pp. 245-265, 2000. Y. Meyer, Oscillating Patterns in Image Processing and in Some Nonlinear Evolution Equations: The Fifteenth Dean Jacqueline B. Lewis Memorial Lectures, Mar. 2001. V.A. Morozov, “On the Solution of Functional Equations by the Method of Regularization,” Soviet Math. Dokl., vol. 7, pp. 414-417, 1966. P. Mrázek and M. Navara, “Selection of Optimal Stopping Time for Nonlinear Diffusion Filtering,” Int’l J. Computer Vision, vol. 52, nos. 2-3, pp. 189-203, 2003. S. Osher, M. Burger, D. Goldfarb, J. Xu, and W. Yin, “An Iterative Regularization Method for Total Variation Based Image Restoration,” SIAM J. Multiscale Modeling and Simulation, vol. 4, pp. 460489, 2005. Geometric Level Set Methods in Imaging, Vision, and Graphics, S. Osher and N. Paragios, eds. Springer, 2003. G. Papandreou and P. Maragos, “A Cross-Validatory Statistical Approach to Scale Selection for Image Denoising by Nonlinear Diffusion,” Proc. IEEE Conf. Computer Vision and Pattern Recognition, vol. 1, pp. 625-630, 2005. P. Perona and J. Malik, “Scale-Space and Edge Detection Using Anisotropic Diffusion,” IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 12, no. 7, pp. 629-639, July 1990. P.J. Rousseeuw and A.M. Leroy, Robust Regression and Outlier Detection. John Wiley & Sons, 1986. L. Rudin, S. Osher, and E. Fatemi, “Nonlinear Total Variation Based Noise Removal Algorithms,” Physica D, vol. 60, pp. 259-268, 1992. G. Sapiro, Geometric Partial Differential Equations and Image Processing. Cambridge Univ. Press, 2001. G. Sapiro and A. Tannenbaum, “Affine Invariant Scale-Space,” Int’l J. Computer Vision, vol. 11, no. 1, pp. 25-44, 1993. GILBOA: NONLINEAR SCALE SPACE WITH SPATIALLY VARYING STOPPING TIME [36] O. Scherzer and J. Weickert, “Relation between Regularization and Diffusion Filtering,” J. Math. Imaging and Vision, vol. 12, pp. 43-63, 2000. [37] J. Shi and J. Malik, “Normalized Cuts and Image Segmentation,” IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 22, no. 8, pp. 888-905, Aug. 2000. [38] N. Sochen, R. Kimmel, and R. Malladi, “A General Framework for Low Level Vision,” IEEE Trans. Image Processing, vol. 7, pp. 310318, 1998. [39] G. Steidl, J. Weickert, T. Brox, P. Mrázek, and M. Welk, “On the Equivalence of Soft Wavelet Shrinkage, Total Variation Diffusion, Total Variation Regularization, and SIDEs,” SIAM J. Numerical Analysis, vol. 42, no. 2, pp. 686-713, 2004. [40] E. Tadmor, S. Nezzar, and L. Vese, “A Multiscale Image Representation Using Hierarchical (BV, L2) Decompositions,” SIAM J. Multiscale Modeling and Simulation, vol. 2, no. 4, pp. 554579, 2004. [41] L. Vese and S. Osher, “Modeling Textures with Total Variation Minimization and Oscillating Patterns in Image Processing,” J. Scientific Computing, vol. 19, pp. 553-572, 2003. [42] J. Weickert, “A Review of Nonlinear Diffusion Filtering,” Proc. First Int’l Conf. Scale-Space Theory in Computer Vision, pp. 3-28, 1997. [43] J. Weickert, Anisotropic Diffusion in Image Processing. Teubner, 1998. [44] J. Weickert, “Coherence-Enhancing Diffusion of Colour Images,” Image and Vision Computing, vol. 17, pp. 201-212, 1999. [45] J. Weickert, S. Ishikawa, and A. Imiya, “On the History of Gaussian Scale-Space Axiomatics,” Gaussian Scale-Space Theory, J. Sporring, M. Nielsen, L.M. Florack, and P. Johansen, eds., pp. 45-59, Kluwer Academic, 1997. [46] A.P. Witkin, “Scale-Space Filtering,” Proc. Eighth Int’l Joint Conf. Artificial Intelligence, pp. 1019-1023, 1983. 2187 Guy Gilboa received the BSc degree in electrical engineering from Ben-Gurion University, Israel, in 1997 and the PhD degree in electrical engineering from the Technion-Israel Institute of Technology in 2004. Prior to his PhD studies, he worked for three years at the Intel Development Center, Haifa, Israel, in the design of processors. He was a researcher in the Department of Mathematics at the University of California, Los Angeles (hosted by Professor Stanley Osher) on advanced variational and PDE-based methods applied to image processing. He has recently joined 3DV Systems Ltd., Yokneam, Israel. . For more information on this or any other computing topic, please visit our Digital Library at www.computer.org/publications/dlib.
© Copyright 2026 Paperzz