Digikam/SoK2012/AutoNR
digiKam SoK 2012 Auto Noise Reduction
digiKam already has a good electronics noise [5] reduction algorithm [3] based on Wavelets theory [6] working in YCrCb color space [4]. It based on a fork of original implementation of Gimp tool [1], including several improvements to support 16 bits color depth image. Original implementation provides more color space NR processing which have been dropped in digiKam. Only Luminance and Chrominance settings have been preserved because it's the most common way to process noise in digital imagery.
digiKam NR tool is with manual NR settings. What we need is a Automatic NR settings adjustment option depending upon the input image's noise level and the type of noise present. This would automate the task and will also make it easier for newbies to find the NR settings which 'just works' for the input image.
Noise level and its type in a image may depend upon various factors such as Camera, ISO and other conditions. A statistical variance between neighboring pixel may give us a rough estimate about the salt & pepper noises. Moreover, this project needs to tested it over a large set of data inorder to get a good relation between detected parameters and settings of wavelet NR.
A simple workflow : from an Input Image we will detect noise level and type of noise; use other info available like camera model, ISO, etc; and to complete, compute Auto Adjust wavelets NR settings.
One of the primary goal is to implement a Noise Level Function (NFL) which works using using a single image [2]. Here in the image data is fit in each region with a smoothing function, then noise is estimated according to the residue remaining. This may over estimate some images which naturally have frequent changes in color, textures, lighting, etc.
Secondly we need to map the obtained Noise Level to the already present NR settings (This would certainly require much of testing with the real image dataset).
Due of lots of different types of electronics noise generated by digital still camera, a collection of noisy images must be collected. A command line test program must be written to check implementation outside digiKam GUI.
Project Timeline
Updates
Todo
Milestone name | Milestone description | Assigned to | Expected Start Date | Status |
---|---|---|---|---|
NLF | Implement the function for Noise estimation as in [2] | Aniket | 1 June |
Reference and Links
Original Gimp Wavelets NR tool [1]
Noise Estimation from a Single Image : Richard Szeliski; Sing Bing Kang; Ce Liu William; T. Freeman, 2006 [2]
Fast method for noise level estimation and integrated noise reduction : Bruna, A.; Messina, G.; Spampinato, G., 2005
Current digiKam NR Wavelets filter and Settings widget source code [3]
Current digiKam NR tool for Image Editor source code
YCbCr Color Space on Wikipedia [4]
Electronics Noise on Wikipedia [5]
Wavelets Theory on Wikipedia [6]