We also explore the construction of a nonlinear (anisotropic) scale-space and comment on its usefulness.

The following sections discuss the process of isotropic diffusion and introduce the change required to obtain the anisotropic version. We also look at results of applying anisotropic diffusion on multiple images and inspect the nonlinear scale-space with an example. We conclude with a few remarks relating back to the lecture by James Fishbaugh, and comments on the implementation.

Investigation of the above equation gives an intuition that solving this for an image is equivalent to convolution with some Gaussian kernel. This fact enables us to look as isotropic diffusion as a means of constructing a linear scale-space. As described in the project description, one way to solve the heat equation in the discrete domain is the Forward Time Central Space (FTCS) method. The FTCS solution basically adds the result of a discrete convolution (with a local gradient window) back to the original image after scaling it with a certain factor. This can be elaborated as:

The stability of such a solution depends on the value of λ and Perona-Malik suggest the range [0,0.25] for a stable solution. I have chosen to use a constant value of λ=0.25 for all my results here. The following figure shows the results of isotropic diffusion, and the corresponding gradient magnitude images for an example input:

t = 2 | t = 8 | t = 128 | t = 256 |

A choice of

Perona & Malik suggest the following two flux functions:

We will experiment with both the flux functions in this report.

A discrete numerical solution can be derived for the anisotropic case using the FTCS method as follows:

Quadratic | ||||

Exponential | ||||

t = 2 | t = 8 | t = 64 | t = 128 |

The following table tries to give a sense of what the nonlinear scale spaces would look like. The gradient magnitude maps are also included for comparison.

Isotropic | Anisotropic | Anisotropic | |

quadratic flux | exponential flux | ||

t = 2 | |||

t = 8 | |||

t = 32 | |||

t = 128 |

The above table highlights the advantages of the nonlinear scale-space. We can see that the isotropic diffusion process quickly gets rid of essential details including edge information, whereas the anisotropic version works well with both the flux functions.

The table below includes the corresponding gradient magnitude images to further improve the understanding of the process.

Isotropic | Anisotropic | Anisotropic | |

quadratic flux | exponential flux | ||

t = 2 | |||

t = 8 | |||

t = 32 | |||

t = 128 |

The effect of inverse diffusion is seen at higher scales. Specially in the case of the exponential flux function which favors edge preservation over smoothing. This is evident in the progressive sharpening of the vertical edges along the minarets and also the steeple atop the Taj Mahal.

The following table shows an example that highlights this intuition.

Quadratic | Exponential | Quadratic | Exponential |

κ=0.02 | κ=0.02 | κ=0.2 | κ=0.2 |

Noisy image | Smooth image | Gradient map |

This result highlights the possible applications of anisotropic smoothing, as also mentioned in the Ultrasound speckle noise cancellation filter discussed in class.

One way to improve the process of anisotropic diffusion would be to automate the process of computing κ values. Since this value is related to the edge-strength, the obvious choice seems to be to examine the density function of the image gradient. We could look at peaks in this function to identify regions at various levels of coarseness to be preserved, in some sense a level-of-detail (LOD) type approach. Another naive, yet probably effective method would be to simply look at the histogram and choose the value of κ based on the edge-strength we wish to preserve.

Nonetheless, even without these improvements, it is clear that anisotropic diffusion and nonlinear scale-space is a valueable tool in the image processing toolkit.