Neha Patil (Editor)

Kuwahara filter

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Kuwahara filter

The Kuwahara filter is a non-linear smoothing filter used in image processing for adaptive noise reduction. Most filters that are used for image smoothing are linear low-pass filters that effectively reduce noise but also blur out the edges. However the Kuwahara filter is able to apply smoothing on the image while preserving the edges.

Contents

The Kuwahara Operator

Suppose that I ( x , y ) is a grey scale image and that we take a square window of size 2 a + 1 centered around a point ( x , y ) in the image. This square can be divided into four smaller square regions Q i = 1 4 each of which will be

Q i ( x , y ) = { [ x , x + a ] × [ y , y + a ]  if  i = 1 [ x a , x ] × [ y , y + a ]  if  i = 2 [ x a , x ] × [ y a , y ]  if  i = 3 [ x , x + a ] × [ y a , y ]  if  i = 4

where × is the cartesian product. It must be noted that pixels located on the borders between two regions belong to both regions so there is a slight overlap between subregions.

The arithmetic mean m i ( x , y ) and standard deviation σ i ( x , y ) of the four regions centered around a pixel (x,y) are calculated and used to determine the value of the central pixel. The output of the Kuwahara filter Φ ( x , y ) for any point ( x , y ) is then given by

Φ ( x , y ) = { m 1 ( x , y )  if  σ 1 ( x , y ) = m i n i   σ i ( x , y ) m 2 ( x , y )  if  σ 2 ( x , y ) = m i n i   σ i ( x , y ) m 3 ( x , y )  if  σ 3 ( x , y ) = m i n i   σ i ( x , y ) m 4 ( x , y )  if  σ 4 ( x , y ) = m i n i   σ i ( x , y )

This means that the central pixel will take the mean value of the area that is most homogenous. The location of the pixel in relation to an edge plays a great role in determining which region will have the greater standard deviation. If for example the pixel is located on a dark side of an edge it will most probably take the mean value of the dark region. On the other hand, should the pixel be on the lighter side of an edge it will most probably take a light value. On the event that the pixel is located on the edge it will take the value of the more smooth, least textured region. The fact that the filter takes into account the homogeneity of the regions ensures that it will preserve the edges while using the mean creates the blurring effect.

Similarly to the Median filter the Kuwahara filter uses a sliding window approach to access every pixel in the image. The size of the window is chosen in advance and may vary depending on the desired level of blur in the final image. Bigger windows typically result in the creation of more abstract images whereas small windows produce images that retain their detail. Typically windows are chose to be square with sides that have an odd number of pixels for symmetry. However, there are variations of the Kuwahara filter that use rectangular windows. Additionally, the subregions do not need to overlap or have the same size as long as they cover all of the window.

Color Images

Obviously the Normal filter can't be used for color images by applying the filter to each RGB channel separately and then using the three resulting channels to compose the image. The main problem with this is that the sub regions will have different variances for each of the channels. For example, a region with the lowest variance in the red channel might have the highest variance in the green channel. This once again causes ambiguity which would result in the color of the central pixel to be determined by several regions, which might also result in blurrier edges.

To overcome this problem in colored images a slightly modified Kuwahara filter must be used. This filter must also take into account the "brightness" (the Value coordinate in the HSV color model) of each pixel in the region. This time only the variance of the "brightness" of each subregion is calculated along with the mean for each color channel. The filter will produce an output for each channel which will correspond to the mean of that channel for the subregion with the lowest variance in "brightness". This ensures that only one region will determine the RGB values of the central pixel.

Applications

Originally the Kuwahara filter was proposed for use in processing RI-angiocardiographic images of the cardiovascular system. The fact that any edges are preserved when smoothing makes it especially useful for feature extraction and segmentation and explains why it is used in medical imaging.

The Kuwahara filter however also finds many applications in artistic imaging and fine-art photography due to its ability to remove textures and sharpen the edges of photographs. The level of abstraction helps create a desirable painting-like effect in artistic photographs especially in the case of the colored image version of the filter. These applications have known great success and have encouraged similar research in the field of image processing for the arts.

Although the vast majority of applications have been in the field of image processing there have been cases that use modifications of the Kuwahara filter for machine learning tasks such as clustering.

The Kuwahara filter has been implemented in CVIPtools.

Drawbacks and restrictions

The Kuwahara filter despite its capabilities in edge preservation has certain drawbacks.

  1. At a first glance it is noticeable that the Kuwahara filter does not take into account the case where two regions have equal standard deviations. This is not often the case in real images since it is rather hard to find two regions with exactly the same standard deviation due to the noise that is always present. In cases where two regions have similar standard deviations the value of the center pixel could be decided at random by the noise in these regions. Again this would not be a problem if the regions had the same mean. However, it is not unusual for regions of very different means to have the same standard deviation. This makes the Kuwahara filter susceptible to noise. Different ways have been proposed for dealing with this issue one of which is to set the value of the center pixel to m 1 + m 2 2 in cases where the standard deviation of two regions do not differ more than a certain value D .
  2. The Kuwahara filter is also known to create block artifacts in the images especially in regions of the image that are highly textured. These blocks disrupt the smoothness of the image and are considered to have a negative effect in the aesthetics of the image. This phenomenon occurs due to the division of the window into square regions. A way to overcome this effect is to take windows that are not rectangular(i.e. circular windows) and separate them into more non-rectangular regions. There have also been approaches where the filter adapts its window depending on the input image.

Extensions of the Kuwahara filter

The success of the Kuwahara filter has spurred an increase the development of edge-enhancing smoothing filteres. Several variations have been proposed for similar use most of which attempt to deal with the drawbacks of the original Kuwahara filter.

The "Generalized Kuwahara filter" proposed by P. Bakker considers several windows that contain a fixed pixel. Each window is then assigned an estimate and a confidence value. The value of the fixed pixel then takes the value of the estimate of the window with the highest confidence. This filter is not characterized by the same ambiguity in the presence of noise and manages to eliminate the block artifacts.

The "Mean of Least Variance"(MLV) filter, proposed by M.A. Schulze also produces edge-enhancing smoothing results in images. Similarly to the Kuwahara filter it assumes a window of size 2 d 1 × 2 d 1 but instead of searching amongst four subregions of size d × d for the one with minimum variance it searches amongst all possible d × d subregions. This means the central pixel of the window will be assigned the mean of the one subregion out of a possible d 2 that has the smallest variance.

A more recent attempt in edge-enhancing smoothing was also proposed by J. E. Kyprianidis. The filter's output is a weighed sum of the local averages with more weight given the averages of more homogenous regions.

References

Kuwahara filter Wikipedia