Krita Gaussian Noise Reduction

Posted on  by 

Values of Gaussian noise variance below 10% indicate that the noise is dominated by sky noise. The general advice is to shoot for between 10% and 20% with 10% being slightly better. The result is that in terms of noise, I would be slightly better off taking somewhat longer but fewer exposures to reach the same total integration time. Experimental results with six of the most common images and various levels of white Gaussian noise demonstrate that the proposed model has achieved good and stable denoising performance in terms of subjective visual quality, PSNR and SSIM, as well as 0.68 dB - 8.67 dB (PSNR) and 0.07 - 0.48 (SSIM) gains higher than those in the other reference. This one uses the gaussian algorithm to determine the fade. Out of the three auto brushes, this is the slowest. Krita is (mostly) compatible with the.



Next: The SUSAN Noise Filtering AlgorithmUp: SUSAN Structure Preserving Noise Reduction Previous: SUSAN Structure Preserving Noise Reduction

Introduction and Review

``Noise' can be introduced into a digitized image in many ways,starting with the lens of the imaging hardwareand ending at the digitization of the captured image. The reduction of noisewithout degradation of the underlying image has attracted muchattention in the past. However, whilst many ``structure preserving'filters have achieved some degree of success at preserving onedimensional image structure, very few have successfully preserved twodimensional image brightness structure, such as corners and junctions.

This section describes the SUSAN noise filteringalgorithm. This uses local measurements to obtain noise reductionwhilst preserving both one and two dimensional image structure. Themethod is based on image region determination using a non-rigid (infact, spatially undetermined) region model.

The simplest noise reduction method is the sliding mean or box filter (see [35]). Each pixel value is replaced bythe mean of its local neighbours. The Gaussian filter is similarto the box filter, except that the values of the neighbouring pixelsare given different weighting, that being defined by a spatialGaussian distribution. The Gaussian filter is probably the most widelyused noise reducing filter. It has been incorporated into the designof many algorithms such as the Canny edge detector (see[9]). The Gaussian filter is pleasing because Fourieranalysis shows that the Gaussian spatial distribution gives a Gaussianfrequency distribution, leading to a good (often described as``optimal') tradeoff between localization in the spatial and in thefrequency domains. The sharp cutoff of the box filter causes it togive a noisier output than the Gaussian (see the discussion in[9]) corresponding to a less well localized frequencyresponse.

More complicated ``optimal' statistical estimators have been derivedwhich use local means and autocorrelation functions to calculate theunderlying signal (for example Wiener filtering -- see[49]). However, these methods are usually very slow.

Linear filters such as the box and the Gaussian filters tend to createmore blurring of image details than do most non-linear filters. Anincrease in their ability to smooth noise corresponds to an increasein the blurring effect.

Many non-linear filters fall into the category of order statisticneighbour operators. This means that the local neighbours are sortedinto ascending order (according to their value) and this list isprocessed to give an estimate of the underlying image brightness. Thesimplest order statistic operator is the median (see[69]), where the central value in the ordered list is usedfor the new value of the brightness. The median filter is much betterat preserving straight edge structure than Gaussian smoothing, but ifthe edge is curved then image degradation occurs. At corners, othertwo dimensional features and thin lines the median does not performwell with regard to structure preservation. The median is good atreducing impulse noise (for example ``salt and pepper' noise) wherethe noisy pixels contain no information about their original values.

There have been several variations on the median filter, for examplethe weighted median filter (see [7]) selectivelygives the neighbouring pixels multiple entries to the ordered list,usually with the centre pixels of the neighbourhood contributing moreentries. The higher the weighting given to the central pixel, thebetter the filter is at preserving corners, but the less the smoothingeffect is. At corners, other pixels within the convex image regionincluding the centre pixel are not given any higher weighting thanthose outside, so this is an ineffective way of preserving the cornerstructure. Other methods include the contrast-dependentthresholded median (see [55]), adaptive decimatedmedian filtering (see [1]) and the midrangeestimator (see [2]), which places the brightness estimatehalfway between the maximum and minimum local brightness values.

Three similar filters, the first two of which are typical of morecomplicated order statistic operators, are the K-nearestneighbour operator (see [13]), the -trimmedmean (see [5]) and the sigma filter (see[30]). The K-nearest neighbour operator takes the mean ofthe K nearest neighbours from within the ordered list. The valuewhich K is usually set to (5 or 6 when a 3 by 3 mask is used) meansthat corners and thin lines are badly corrupted. The trimmed meanoperator takes the mean of the remaining entries in the ordered listonce the first and last entries in the list (originallycontaining N entries) have been thrown away. The sigma filter takesan average of only those neighbouring pixels whose values lie within of the central pixel value, where is found once forthe whole image. This attempts to average a pixel with only thoseneighbours which have values ``close' to it, compared with the imagenoise standard deviation.

The peak noise filter is specifically designed to remove impulseor peak noise. A pixel's value is compared with the local mean. If itis close then the value remains unchanged. If it is very differentthen the pixel's value is replaced by the local mean. A more advancedversion of this takes a weighted mean of the central value and thelocal mean, the weighting depending on the difference between thesetwo quantities and also on the local brightness variance. This issimilar to the contrast-dependent thresholded median filter, andagain, is not very good at structure preservation.

In [47] Perona and Malik use local image gradient tocontrol anisotropic diffusion; smoothing is prevented fromcrossing edges. This is, in a sense, an opposite approach to theK-nearest neighbour, sigma and SUSAN filters, which work out whichneighbours to include in smoothing; anisotropic diffusion works outwhich neighbours to exclude. In [54] Saint-Marc et al. ``refine and generalize' the approach of Perona and Malik,using many iterations of a 3 by 3 mask which weights a mean of theneighbours' values according to the edge gradient found at eachneighbours' position. This method shall be referred to as the SMCMfilter. Because pixels both sides of an edge have high gradientassociated with them, thin lines and corners are degraded by thisprocess. This problem is also true with Perona and Malik's method. Biased Anisotropic Diffusion (see [44]) usesphysical diffusion models to inhibit smoothing across boundaries,according to a cost functional which attempts to minimize acombination of desired components. These individual costs are imagesmoothness and quality of fit between original and smoothed image.This type of approach is similar to the weak membrane model (see[6]) which fits a membrane to the image surface, allowingit to ``break' at significant discontinuities, incurring a cost,which is balanced against the ``badness of fit' cost. This methodtends to be very computationally expensive.

Specific surface model fitting techniques have been developed;for example, in [59] a two stage surface fitting method isused. In the first stage a moving least median of squares of errors ofa fit to planar facets is used. This is similar to a least meansquares fit to a plane, but uses the median of the errors instead ofthe mean so that discontinuities are correctly fitted. However,corners are rounded, as with the standard median smoothing; this isexpected, and can be clearly seen in the results presented. The secondstage fits a weighted bicubic spline to the output of the first stage.As with this approach in general, the success is limited by the modelused; image structure not conforming to the model will not be wellpreserved.

Morphological noise suppression, using mathematical morphology,is related to order statistic neighbour operators. In [43]this type of operator is discussed and compared with other filters.Noble reports that morphological filters perform worse than the movingaverage and median filters for Gaussian type noise and slightly betterthan these for ``salt and pepper' noise.

Krita Gaussian Noise Reduction

The hysteresis smoothing approach (see [17]) followspositive and negative gradients in the image, only allowing changes inthe gradient when the change is significant, i.e., the new gradientcontinues further on in the image. The results of using this approach,tested in [24], were not very encouraging, showing a decrease in the signal to noise ratio with each of four differenttypes of noise.

The selected-neighbourhood averaging (e.g., see [40])method chooses a local neighbourhood to smooth over based on a varietyof criteria. Each pixel can be part of several different ``windows';the one chosen to smooth over is the most homogeneous window whichcontains the pixel in question as part of its homogeneity. Variouswindow shapes have been tried. These methods are limited to succeedingonly on those parts of the image which obey the model used. Sharpcorners, for example, will not be correctly dealt with by a squarewindow. A variation on these algorithms is the use of a thin windowwhich is perpendicular to the direction of maximum gradient. Clearlythe structure preserving success of this is limited to relativelystraight edges.

The symmetric nearest neighbours (see [27]) approachtakes each symmetric pair of neighbouring pixels and uses the closervalue to the centre pixel from each pair to form a mean output value.Again this is not well suited to preserving corners.

In [31] three methods of noise reduction using different localimage measurements to avoid destroying image structure are presented,all based on the assumption that image regions bounded by edges have constant value. In the first method, image edges are found, andfor each image position the local edge structure is matched to a listof binary templates which attempt to cover all possible straight edgeconfigurations. Each template has a corresponding weight matrix whichdetermines which elements of the local neighbourhood should be usedfor smoothing. The system attempts to cope with junctions by taking aconvex combination of the different matrix outputs, each weightedaccording to the quality of the match between the actual local edgeconfiguration and the template. This process is applied iteratively.Although edge structures are well preserved, corners are rounded andramps are flattened. In the second method the local image gradient iscalculated in several different directions, and the results of thisare combined to give a smoothing matrix which attempts to smooth onlyover the bounded constant image region which includes the centralpixel. Again, this is applied iteratively. The second method suffersfrom the same problems as the first method. The third method uses probabilistic relaxation where each pixel has a probabilitydistribution amongst the entire set of possible values, thus vastlyincreasing the data set. The initial distribution is assumed to beGaussian. Relaxation is then used to allow the pixels' distributionsto interact to find a stable best estimate of the underlying signal.The results given suggest that this method does not in general work aswell as the first two.

The gradient inverse weighted operator (see [73]) formsa weighted mean of the local pixels, with the weights depending on thedifference between the central pixel's value and the value of thelocal pixels;

where is the original image, is the smoothed image,and the summation is taken over a 3 by 3 square neighbourhood. Thefilter is applied iteratively, typically five times. No presetthreshold is needed. This method reduces Gaussian noise well whilstpreserving image structure. Impulse noise would be much better dealtwith if the central pixel were excluded from the two sums inEquation 34, for obvious reasons, but this was not includedin the method.

Finally, image averaging using many images of the same scene (takenquickly one after another) has been used to reduce image noise. Forexample, see [57]. However, for many image processingapplications this approach is impractical; the camera may be moving,the scene may be changing, and it may be necessary to use every imagein its own right.



Next: The SUSAN Noise Filtering AlgorithmUp: SUSAN Structure Preserving Noise Reduction Previous: SUSAN Structure Preserving Noise Reduction


LaTeX2HTML conversion by Steve Smith (steve@fmrib.ox.ac.uk)

Auto Brush¶

The generic circle or square. These brush tips are generated by Krita through certain parameters.

Types¶

First, there are three mask-types, with each the circle and square shape:

Default

This is the ultimate generic type. The Fade parameter produces the below results. Of the three auto brushes, this is the fastest.

Soft

This one’s fade is controlled by a curve!

Gaussian

This one uses the gaussian algorithm to determine the fade. Out of the three auto brushes, this is the slowest.

Parameters¶

Diameter

The pixel size of the brush.

Ratio

Whether the brush is elongated or not.

Fade

this sets the softness of the brush. You can click the chain-symbol to lock and unlock these settings. Fade has a different effect per mask-type, so don’t be alarmed if it looks strange, perhaps you have the wrong mask-type.

With fade locked.

With fade separately horizontal and vertical.

Angle

This changes the angle a which the brush is at.

Spikes

This gives the amount of tips related to the ratio.

Density

This determines how much area the brush-covers over its size: It makes it noisy. In the example below, the brush is set with density 0%, 50% and 100% respectively.

Randomness

This changes the randomness of the density. In the example below, the brush is set with randomness 0%, 50% and 100% respectively.

Spacing

Krita Gaussian Noise Reduction System

This affects how far brushes are spaced apart. In the below picture, the three examples on the left are with spacing 0, 1 and 5.

Auto (spacing)

Ticking this will set the brush-spacing to a different (quadratic) algorithm. The result is fine control over the spacing. In the below picture, the three examples on right are with auto spacing, 0, 1 and 5 respectively.

Smooth lines
Noise

This toggles the super-smooth anti-aliasing. In the below example, both strokes are drawn with a default brush with fade set to 0. On the left without smooth lines, and the right with. Very useful for inking brushes. This option is best used in combination with Auto Spacing.

Precision

This changes how smooth the brush is rendered. The lower, the faster the brush, but the worse the rendering looks.You’d want an inking brush to have a precision of 5 at all times, but a big filling brush for painting doesn’t require such precision, and can be easily sped up by setting precision to 1.

Auto (precision)

This allows you to set the precision linked to the size. The first value is the brush size at which precision is at last 5, and the second is the size-difference at which the precision will decrease.

For example: A brush with ‘’starting brush size’’ 10 and ‘’delta’’ 4, will have…

  • precision 5 at size 10

  • precision 4 at size 14

  • precision 3 at size 18

  • precision 2 at size 22

  • precision 1 at sizes above 26.

Krita Gaussian Noise Reduction

Predefined Brushes¶

If you have used other applications like GIMP or Photoshop, you will have used this kind of brush. Krita is (mostly) compatible with the brush tip definitions files of these applications:

abr

Gimp autobrush tip definitions.

*.gbr

Gimp single bitmap brush tip. Can be black and white or colored.

*.gih

Gimp Image Hose brush tip: contains a series of brush tips that are painted randomly or in order after each other. Can be black and white or colored. Krita does not yet support all the parameters yet.

abr

Photoshop brush tip collections. We support many of the features of these brush files, though some advanced features are not supported yet.

Note that the definition of ABR brushes has been reverse engineered since Adobe does not make the specification public. We strongly recommend every Krita user to share brush tips in GBR and GIH format and more complex brushes as Krita presets.

All predefined brush tips are shown in one selector. There are four more options that influence the initial bitmap brush tip you start painting with:

Krita Gaussian Noise Reduction Systems

Scale

Scales the brush tip. 1.0 is the native size of the brush tip. This can be fairly large! When painting with variable size (for instance governed by pressure), this is the base for the calculations.

Rotation

Initial rotation of the brush tip.

Spacing

Distance between the brush tip impressions.

Brush Mode¶

Alpha Mask

For colored brushes, don’t paint the actual colors, but make a grayscale brush tip that will be colored by your selected foreground/background color. Lighter areas will be interpreted as more transparent.

Gaussian

Krita Gaussian Noise Reduction Device

Color Image

Use the brush tip image exactly as it is. Especially useful for image stamps.

Lightness Map

Krita Gaussian Noise Reduction Software

New in version 4.3: Combines the features of Alpha Mask and Image Stamp modes. Transparency is preserved as it is in Image Stamp mode, but colors or gray tones in the brush are replaced by the foreground color. The Lightness values of the brush tip image (if thinking in HSL mode) are preserved, so dark parts of the image are dark, and bright parts are bright. This allows image stamps where you can choose the color, but preserve highlights and shadows, and can even create an effect of thick paint in a brush stroke by simulating the highlights and shadows caused by the texture of the paint and brush stroke (sometimes called an “impasto” effect).

There are three sliders here, to control the exact feel of the current brush tip in Lightness or Gradient mode:

Neutral point

This is the lightness level that will be the same as your current foreground color. Higher values than this will be lighter versions of the current foreground color, and lower, darker versions of the current color.

Brightness

Makes the tip as a whole brighter or darker.

Contrast

Increase the contrast between dark and light areas in the tip.

Gradient Map

New in version 4.4: Use the lightness values of the brush tip image as a map to a gradient. Black maps to the left side of the gradient, and white to the right side of the gradient. The gradient used is the currently selected gradient in the main window, so you can change the gradient quickly and easily while painting. This mode allows image stamps with multiple colors that can be changed (great for flowers or other colorful vegetation), and can allow paint brushes that have multiple colors. Image adjustment sliders for Lightness Map mode can be used for this mode too.

Coments are closed