Slashdot Mirror


Open Source Image De-Noising

GREYCstoration is an open-source tool able to de-noise, inpaint, or resize 2D color images. This is a command-line program developed by the IMAGE team of the GREYC Lab in France and is available for Unix, Mac, and Windows systems under the CeCILL license. The algorithm is based on anisotropic diffusion partial differential equations. These equations are able to smooth an image while preserving its main structures. The demo page presents interesting examples of color image de-noising and reconstruction. This is a serious free alternative to commercial products like Noise Ninja or Neat Image that perform the same kinds of operations. The tool is still a little bit hard to use (command-line based), but I hope the simple C++ API will ease the integration of the algorithm in more user-friendly interfaces. Previous versions of GREYCstoration are already available in Digikam and Krita.

28 of 205 comments (clear)

  1. Picture Cooler by DrDitto · · Score: 4, Informative

    Another great free tool is called Picture Cooler. It rivals or exceeds Noise Ninja for certain images. Download it here: http://denoiser.shorturl.com/

    But if you want images with less noise, try and buy a camera with a larger sensor. dSLR's have large sensors as do many Fuji cameras including their tiny P&S models. Most sensors on subcompact P&S cameras measure only 5.76x4.29mm (1/2.5"). Many of the smaller cameras by Fuji use a 1/1.8" sensor that measures 7.18x5.32mm.

    A nice explanation of noise and sensor size is here: http://www.clarkvision.com/imagedetail/does.pixel. size.matter/

  2. Does it work on 12 or 16 bits/channel images? by kcbrown · · Score: 5, Informative

    This tool looks very cool, but today's semi-pro and pro (and even some consumer grade) cameras will store their images in a raw format which preserves 12 bits per color channel at a minimum.

    GIMP can't deal with these. Tools such as ufraw can convert them to 8 bits/channel images such as JPEG but don't allow you to actually manipulate the image in its native color resolution.

    Linux seriously needs a good image manipulation tool such as the GIMP with 16-bit or even 32-bit per color channel support built-in. This is particularly important for operations like sharpening.

    Cinepaint will do it but it's way behind in features compared with GIMP these days.

    What's the hold up with GIMP anyway? You'd think its developers would take this kind of issue seriously and would fix the engine to natively do, say, 32 bits per color channel internally.

    --
    Use 'slashdot stuff' in the subject line in any email you send me if you want to get past the spam filter.
    1. Re:Does it work on 12 or 16 bits/channel images? by kalpaha · · Score: 2, Informative
      If I remember correctly (from reading Boudewijn Rempts fascinating blog), Krita has a 16-bit color space. Wikipedia says the following:

      In the 1.5 release, Krita has some features not available in most other free software graphics projects like GIMP, such as CMYK, L*a*b and many more colorspaces, with bit depths from 8 to 32 bits per channel (the GIMP is still limited to 8 bits per channel). Work is ongoing on support for natural painting tools that imitate painting or drawing with pencils, or paint brushes with ink or oil paints, even simulating the drying of the paint.

      Although I like Gimp a lot (it's ok after you learn it's way of operation), personally, I think Krita is headed for great success.
    2. Re:Does it work on 12 or 16 bits/channel images? by xeno-cat · · Score: 2, Informative

      The point is to stop using Linux as if it were a mac. XWindows solved the "OMFG! so many windows" problem by creating more desktops. Put gimp on a desktop and you don;t need to worry about layered windows. Mac "solved" it by having windows pop in and out of existance.

      Kind Regards

      --
      "A few great minds are enough to endow humanity with monstrous power, but a few great hearts are not enough to make us w
  3. Anisotropic diffusion by ceoyoyo · · Score: 4, Informative

    is a pretty good algorithm. We use it for MRI images. The biggest problem is setting the parameters. Fortunately it's an embarrassingly parallel algorithm so I wrote a version that will run realtime on a video card. It's pretty cool to move the slider and watch the noise fade away, move it further and some of the edges blur, further and you start to lose the image.

    1. Re:Anisotropic diffusion by ceoyoyo · · Score: 2, Informative

      Mine is an implementation of the algorithm, based on the original paper, not this particular toolkit. Anisotropic diffusion is a well known algorithm. (so don't try to bully me with licenses)

      If you're interested, the video card version needs to be modified to work with non-MRI images, but here's a fairly general purpose Python implementation. It's not long, so it's easy to see what's going on. It also happens to be faster (last I checked) than the C++ version included in the ITK medical image processing library. Link.

  4. Photoshop Gets The Job Done by RiscIt · · Score: 2, Informative

    I just took a look at the example images.. The before and after comparisons look very similar to the results you would get from Photoshop's "Smart Blur" tool. So this might be a new way of doing it, but I don't see anything exciting about it. Am I missing something? Or is someone simply making a fuss for the sake of finding a new algorithm with a fancy name?

    1. Re:Photoshop Gets The Job Done by Paradigm_Complex · · Score: 3, Informative

      TFS: "GREYCstoration is an open-source tool"

      --
      "A witty saying proves nothing." - Voltaire
  5. Re:Great for flying games by caramelcarrot · · Score: 2, Informative

    That'd be easily done using any standard fractal noise method (eg. Perlin noise)

  6. Re:No more ISO 80? by drgonzo59 · · Score: 4, Informative
    Keep shooting at ISO 80. De-noising will not add details, it will hide the noise pixeles with uniform colors but it will only guess. The only way to fill in those pixels with correct information is to shoot the scene at the correct ISO setting.

    The lower ISO you can get the more detail you could capture given that other parameters are fixed. Have you ever shot with Velvia ISO 50 film? -- it creates stunning details. I think Fujifilm discontinued it last year or so. In film the lower the ISO the finer the grain. As far as digital is concerned think of ISO as sensitivity of the CCD. You can turn the gain up to ISO 3200 but you will amplify a lot of noise too.

  7. Image reconstruction with resynthesizer by tjwhaynes · · Score: 5, Informative
    Another tool which can be used to remove objects from pictures is Resynthesizer. I've used this to remove overhead wires from photos, create more sky for a panorama and clean up dust spots of scans successfully.

    It can also take one image and repaint it in the style of another image, so you can take a black and white photo and a pencil sketch as inputs and end up with your photo rendered using parts of the pencil image which are similar in form.

    Another trick it can pull is creating tileable textures from any image. Sometimes the results are a little surprising if you start off with a picture of people at a party but they are totally seamless.

    It comes as a GIMP plugin and is easy to use if you are used to the GIMP.

    --
    Anything I post is strictly my own thoughts and doesn't necessarily have anything to do with the opinions of IBM.
  8. Not so fast by JeremyR · · Score: 2, Informative

    Fujifilm has announced plans to "bring back" Velvia 50:

    http://www.robgalbraith.com/bins/content_page.asp? cid=7-7900-8678

    It's a new formulation, which they're tentatively calling "Velvia II," so don't write off Velvia 50 just yet :-)

  9. Responses by lorcha · · Score: 3, Informative

    If you're experiencing a lot of noise at ISO400, it's time for a new camera.

    Also, in response to your later post, what many DSLRs do for long exposures (usually taken at night and with high ISO and experience a lot of noise in the black areas) is to take another exposure immediately after the first one, but with the shutter closed. Then, the camera knows where the sensor noise is and can subtract it from the actual picture.

    So if you take an 8 sec. exposure and your camera freezes up for the following 8 sec, you'll know why.

    --
    "Avoid employing unlucky people - throw half of the pile of CVs in the bin without reading them." -- David Brent
    1. Re:Responses by ceoyoyo · · Score: 2, Informative

      That removes amp glow, pattern noise and hot pixels, but it doesn't do anything for the thermal noise. On a reasonably short, high ISO exposure (ie anything you can take without a tripod) the thermal noise dominates. The others come into play when you're not necessarily shooting at a high ISO but you are leaving the shutter open for a long time.

  10. Oh yeah, baby. You the PRO! by twitter · · Score: 2, Informative

    They are overly smoothed and detail is destroyed. They look like the type of thing a noob makes upon discovering video filters. For example, look at the delicate features in the jellyfish or the pig's hair. This samples look more like demonstrations of soften or posterization filters.

    Sure, he's a noob. That DT-MRI of gray matter paths in your brain based on diffusion tensors is purely the stuff of rank amateurs! Bah, next you will tell me free software authors can make a powerful and easy to use image editor. I'm sticking to well known commercial filters found in Paint Shop Pro version 1.0, you know the one that fits on a floppy. Yeah, that's the freedom program.

    Oh wait, those other filters are not helping my pig. Perhaps I'm doing something wrong and need to leave that to the pros as well.

    They should also use real, not artificial, noise.

    Sufficiently advanced noise is indistinguishable from the stuff that comes out of a cheap imaging device, but it's not magic.

    --

    Friends don't help friends install M$ junk.

  11. Re:No more ISO 80? by Anonymous Coward · · Score: 3, Informative

    In fact, there already exists software for that purpose: ALE. And it is open-source too!

  12. He did use real noise. by twitter · · Score: 3, Informative

    They should also use real, not artificial, noise.

    Check out very impressive clean up of a PDA camera. That's good. Ordinary smoothing filters blur important details, like those in the watch or the baby's ear. How nice that it is already in Digikam, one of the easiest to use photo managers out there.

    --

    Friends don't help friends install M$ junk.

    1. Re:He did use real noise. by fbjon · · Score: 3, Informative
      I'm not the one you challenged, but I took it anyway: Neat Image (left) vs. GREYCstoration

      Note especially the better details in the baby's collar, and faint wisps of hair on the right forehead, which are distorted or gone in the GREYCstoration. Note also the colored noise which is completely removed by Neat Image. In short: better details throughout.

      This is not to say that GREYC can't do better, though. That depends on how much it can be tweaked.

      --
      True confidence comes not from realising you are as good as your peers, but that your peers are as bad as you are.
  13. Re:No more ISO 80? by kbielefe · · Score: 2, Informative

    This sort of thing is okay for salvaging photos that can't be retaken, but no amount of computer correction can beat a photo taken with the proper camera settings. I'm an above average post-processor, but my favorite photographs usually don't need anything changed at all.

    --
    This space intentionally left blank.
  14. Re:No more ISO 80? by ramsun · · Score: 2, Informative

    I was thinking about this recently, and I think what we need is a digital camera which can somehow take multiple short exposure shots one after the other and then combine them into a single photo. This guy http://www.cambridgeincolour.com/tutorials/high-dy namic-range.htm tells you how to do what you want, with Photoshop.

    Oye
  15. "Digital Image Stabilization" by JeremyR · · Score: 2, Informative

    If you're referring to Olympus' "Digital Image Stabilization," here's how they describe it:

    Digital Image Stabilization Mode uses a high ISO sensitivity and fast shutter speed to enable you to [blah blah blah]

    Nothing fancy here about combining multiple exposures and detecting camera/subject movement; just using higher sensitivity than the 50 or 100 that many P&S users are used to, resulting in faster shutter speeds.

  16. Re:No more ISO 80? by StressedEd · · Score: 3, Informative

    I keep telling her to switch completely to digital and she tells me I don't know what I am talking about, she is probably right...

    I too have a fridge full of film (Velvia, Astia, Provia), however I accept that I'm a dinosaur and proud of it! Modern digital SLRs perform better than 35mm film in practically every respect and challenge medium format in quality. Only with large format is that not true - and large format is something of a niche! Soon of course even this will bow to the digital revolution.

    I suspect she's like me, stuck in the past and quite happy to stay there for the time being! There's still something magical about transparency film. The colour reproduction is very special, with a gamut wider than you can sense in either prints or monitors. Although the gamut of modern digital sensors is just as good, there's no way of actually sensing it, as the display devices aren't up to snuff! Wide gamuts make an enormous difference to an image. The colors you see in nature are far more diverse than those that can be reproduced in print or on a computer screen. It's only by actually seeing these things first hand that one can appreciate the difference, prints look strangely grey an lifeless in comparison.

    Ah, transparency film!

    I'll stop evangelising now - I'm probably preaching to the converted anyway!

    --
    Be nice to people on the way up. You will meet them again on your way down!
  17. Re:No more ISO 80? by Kjella · · Score: 2, Informative

    This sort of thing is okay for salvaging photos that can't be retaken, but no amount of computer correction can beat a photo taken with the proper camera settings. I'm an above average post-processor, but my favorite photographs usually don't need anything changed at all.

    I regularly find I want to fix things in post-processing, but noise isn't one of them. I find getting stuff like color balance, constrast, brightness, saturation etc. very hard to get right out directly from the cam, but usually the auto settings keep it inside the sensor's range and they fix well in postprocessing. The one thing you can't fix is ISO. High ISO = noise. Low ISO = blur. If you try to snap a sports player at low ISO you're FUBAR. If you left it at high ISO and try to make HQ landscapes, you're FUBAR. The auto doesn't have a clue except light levels, it has no idea what you're trying to do.

    --
    Live today, because you never know what tomorrow brings
  18. How to build for Intel Mac by Noonian · · Score: 2, Informative

    The Mac binaries available on the download page are built for PPC macs. If you've got the developer tools installed on an Intel Mac, you'll want to modify the Makefile to change the X11PATH line to:

    X11PATH = /Developer/SDKs/MacOSX10.4u.sdk/usr/X11R6

    Then just "make linux"

  19. No new by Anonymous Coward · · Score: 1, Informative

    This program has been known for years. The gimp and krita plugins were written in 2005.

    For comparison with professional software, see:
    http://www.haypocalc.com/wiki/Comparative_GREYCsto ration

    gimp plugin:
    http://www.haypocalc.com/wiki/Gimp_Plugin_GREYCsto ration
    you can find this plugin in any recent version in Filters->Misc.

    krita plugin:
    http://www.valdyas.org/fading/index.cgi/hacking/kr ita/greycstoration.html

    Linux.com ran a article on it last year:
    http://applications.linux.com/article.pl?sid=06/01 /12/1744218&tid=39

  20. Other software by D. Tshumperlé by HuguesT · · Score: 2, Informative

    (I'm not him although I know his work and his ex-supervisor)

    Also consider CImage, by the same author. CImage is a C++ image processing template library (cue to how much C++ sucks compared to the language du jour and/or LISP/Python/Haskell/OCaml, etc ;-)

    Concerning the inpainting algorithms that many here find impressive, there has been lots of work in this area. One of the seminal works is the paper at ICCV'99 by Efros and Leung. Many CS people will love that one since it is a fairly straightforward extention of the 1948 Markov model proposed by Shannon himself for the automated production of pseudo-english text (i.e. texts that look and sound english but really aren't). The Practice of Programming book by Kernighan and Pike makes use of that algorithm to compare various languages in a fun way.

    The Tschumperlé algorithm works on different principles and is much faster, but their particular Markov model shows the impainting problem is not that difficult in practice.

  21. ISO myth by pikine · · Score: 2, Informative

    Has ISO rating being abused by digital photography so much that nobody concerns shutter speed, aperture, and lighting anymore?

    What fundamentally matters for high motion scene is faster shutter speed. Higher ISO sensitivity makes sure the picture is more easily exposed. Bigger aperture, as well as the scene being well-lit, let more light into the lens, so these two factors also help with exposure.

    It is probably best illustrated by shooting a night scene. With dSLR or SLR, you can program long exposure of 2 seconds or more, so you can film at ISO 200 or lower. However, dP&S cameras can't do long exposure, so usually what happens is that the camera adjusts shutter speed to its maximum at ~1/15 (at which point hand shaking can make it blur) but raise the amplification, i.e., ISO rating. As a result, you get a picture where bright areas appear washed out and colorless, compared to dSLR/SLR where the color and details are nicely preserved.

    Another extreme is filming high-speed motion, where a common practice is to make a scene or object brightly lit to compensate for faster shutter speed.

    What differentiates a photographer and an amateur is that a photographer has all the options and know their trade-offs, but an amateur talks about ISO all the times because, unfortunately, that's the only adjustable metric about dP&S cameras. Even worse, digital ISO rating only has to do with amplification of sensor signal and not actual sensor sensitivity at all. As a result, you lose dynamic range when you amplify more in higher ISO mode.

    I'd rather buy a camera phone than point and shoot...

    --
    I once had a signature.
  22. Gimp Plugin by The+Asmodeus · · Score: 2, Informative

    This isn't new software, it's just a new release. My wife is a photographer and we've been using this with a Gimp plugin for quite awhile now.

    Gimp plugin can be found here: http://www.haypocalc.com/wiki/Gimp_Plugin_GREYCsto ration

    It does ok and can salvage some photos, some, it can't.

    Thanks Freshmeat!! ^H^H^H^H^H^H^H^H^H^H Slashdot!!