Slashdot Mirror


Microsoft Tech Can Deblur Images Automatically

An anonymous reader writes "At the annual SIGGRAPH show, Microsoft Research showed new technology that can remove the blur from images on your camera or phone using on-board sensors — the same sensors currently added to the iPhone 4. No more blurry low light photos!"

43 of 204 comments (clear)

  1. Enhance by TheSwampDweller · · Score: 5, Funny

    Enhance!

    1. Re:Enhance by bl4nk · · Score: 5, Funny

      You forgot to include the link to the YouTube video: http://www.youtube.com/watch?v=Vxq9yj2pVWk

    2. Re:Enhance by Mirey · · Score: 2, Funny

      Just print the god damn picture! (from Super Troopers)

    3. Re:Enhance by slasho81 · · Score: 4, Interesting

      Don't forget the TVTropes page: http://tvtropes.org/pmwiki/pmwiki.php/Main/EnhanceButton Sorry.

    4. Re:Enhance by g2devi · · Score: 5, Funny

      Actually, that's a Alpha version. The production version is demonstrated here:

      http://www.youtube.com/watch?v=KUFkb0d1kbU

    5. Re:Enhance by the_other_chewey · · Score: 2, Funny

      [link to tvtropes.org]

      You bastard! Help!

  2. Re:lol yea sure by Helios1182 · · Score: 5, Informative

    Microsoft Research puts out a lot of really interesting and successful research. They aren't the people programming the OS or office applications.

  3. Windows 7 by nacturation · · Score: 2, Funny

    I bet it can remove the blur from the titlebar for screenshots of a Windows 7 app. Now we can all see what those developers are viewing behind that window!

    --
    Want to improve your Karma? Instead of "Post Anonymously", try the "Post Humously" option.
  4. Interestingly simple concept by Manip · · Score: 3, Insightful

    This is like one of those "Why didn't I think of that?" ideas that you wonder why your camera doesn't already have. The nice part is that it can be done very cheaply (relative to the cost of a camera) and would improve images in many cases. My only tiny little concern is that you might introduce artifacts into your photos - which makes me wonder if it wouldn't be better to store a raw image and the data from these sensors independently? I wonder if there is a scenario where you might be moving but the object you're taking a picture of is stationary relative to your movement. Like for example you're standing on a boat rocking in the waves, you take a photo of the deck, and this technology compensates for the rock which results in a ton of blur.

    1. Re:Interestingly simple concept by Threni · · Score: 2, Informative

      This isn't IS like Canon (for example) has on its lenses. This is making a note of the movement and removing it later (where later could mean just after the pic is taken) rather than using gyros or whatever to prevent the shaking from affecting the picture in the first place. Perhaps both systems could be used, but I'm not sure, given that I'm not sure if it makes sense to use a note of how a camera was moved when the picture was taken at the same time that some of the movement has been compensated for - you might end up adding it back in again.

  5. Re:lol yea sure by nacturation · · Score: 5, Funny

    Probably only half-working coming from microsoft

    It could be worse... the GIMP developers could have built it, in which case it would be a mostly working implementation of half the features of some existing software. However, nobody would realize this since only the developers would be able to comprehend the UI.

    --
    Want to improve your Karma? Instead of "Post Anonymously", try the "Post Humously" option.
  6. Frankencamera. by Greger47 · · Score: 5, Interesting

    Step back! This is a job for Frankencamera. Run it on your Nokia N900 today.

    OTOH having that Arduino board and a mess of wires attached to your camera does score you a lot more geek cred than photographing using an plain old mobile phone.

    /greger

    1. Re:Frankencamera. by slashqwerty · · Score: 4, Informative

      It's worth noting that page nine of the Frankencamera team's paper mentions the work of Joshi et al when it discusses deblurring pictures. Neel Joshi was the lead researcher from the article we are discussing.

  7. "No more blurry low light photos!" by Average_Joe_Sixpack · · Score: 3, Informative

    Social networking sites are about to get a whole lot more ugly

  8. comparison to other methods? by supernova87a · · Score: 3, Interesting

    I recall that some other cameras, like a Casio I've seen a friend using, also do deblurring, but rather by stacking of rapid subframes (I guess using bright reference points). If I understand correctly, this new method is operated on a single frame. I wonder if anyone has a useful comparison of the hardware requirement/image quality/useability differences between the two methods?

  9. Okay. by kurokame · · Score: 2, Insightful

    Great, you can improve your motion blur removing algorithm by recording the motion which created the blur.

    Although technically, the blur in the image itself already recorded the motion, with better precision and without calibration issues. So this is more of supplementary data. The before and after images leave out the whole "you can already do this without the extra sensor data" aspect.

    And really, you'll get far better results if you just use an adequately short exposure time and some mechanical stabilization. Brace your shooting arm. If you want to get fancy, use something like Canon IS lenses.

    Yeah, this is nifty, especially for smartphone based cameras which may already have built-in sensors to do this. But neither is it exactly revolutionary. You'll get better photos out of learning some basic photography than you will out of fancy sensors and analysis software.

    1. Re:Okay. by profplump · · Score: 4, Insightful

      This isn't for people who want to learn photography and take good pictures, it's for people who are shooting their friends in a bar at night to post on Your Face in a Tube and laugh about for a week before being forgotten -- it's merely intended to allow point-and-click shooting work more reliably in poor conditions on cheap equipment with inattentive and untrained operators.

    2. Re:Okay. by sker · · Score: 2, Interesting

      Agreed. I feel the same way about auto-focus.

      --
      nonsig. unsig. desig.
    3. Re:Okay. by kurokame · · Score: 3, Insightful

      That would be a great point if it involved learning something more complicated than bracing your hand.

  10. Re:lol yea sure by binarylarry · · Score: 3, Insightful

    Have you used GIMP in past 5 years?

    --
    Mod me down, my New Earth Global Warmingist friends!
  11. Arduino board and a mess of wires... by offrdbandit · · Score: 2, Insightful

    Sounds like a great way to land a spot on a terrorist watch list, to me...

  12. Re:Blacked out Canon logos by mark-t · · Score: 2, Insightful

    Is the camera needing to do something else at the time that "sucking processing power" is some sort of issue?

  13. Re:lol yea sure by bill_mcgonigle · · Score: 2, Informative

    Single-window mode hasn't been released yet, but it's coming. This will make it usable for folks who aren't using fvwm with focus-follows-cursor.
     

    --
    My God, it's Full of Source!
    OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
  14. MicroSoft is impressive at SIGGRAPH by peter303 · · Score: 5, Interesting

    For the past 8 years or so, MicroSoft has been co-author on more papers than any other organization at SIGGRAPH. This is impressive because SIGGRAPH has a the highest paper rejection rate of any conference I know of - they reject (or downgrade to non-published session) 85% of the paper submissions. And you have to submit publication-ready papers nearly a year in advance, with a video summary.

    This reminds me of Xerox PARC - great R & D output, poor commercialization of these results. People wonder if their lab was a toy-of-Bill or a tax write-off.

  15. non-inertial frame by martyb · · Score: 2, Insightful

    My only tiny little concern is that you might introduce artifacts into your photos - which makes me wonder if it wouldn't be better to store a raw image and the data from these sensors independently? I wonder if there is a scenario where you might be moving but the object you're taking a picture of is stationary relative to your movement.

    I suspect in the majority of cases, this would improve photos. As to your query, my first thought of a problematic environment would be trying to take a photo of a friend sitting next to you--in a moving roller coaster as it hurls around a bend. You and your friend are [mostly] stationary WRT each other, but you (and the camera) are all undergoing acceleration, which the camera dutifully attepts to remove from the photo. Certainly a comparatively rare event compared to the majority of photo-ops.

  16. Re:lol yea sure by bill_mcgonigle · · Score: 2, Insightful

    Those people should use a better setup.

    Surprisingly enough, different people have different needs.

    The lack of auto mouse focus default really makes windows desktop suck, plus the lack of workspaces.

    I'm too much of a spaz to use focus-follows-mouse. Every time I try it I wind up bumping the mouse and typing into the wrong window. If I were a hardcode pre-trunk GIMP user I'd definitely have a session set up that way, though. Fortunately, the GIMP developers have come around to an option that works with most peoples' desktops.

    --
    My God, it's Full of Source!
    OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
  17. Useful, but limited by AliasMarlowe · · Score: 4, Informative

    It won't help at all if the object is moving. In fact, this feature should be switched off if you're trying to photograph a moving object with the camera (common enough, and not just in sports). It would not be able to compensate for a mismatch between the object speed and your tracking movement, and would do entirely the wrong thing even if you tracked the moving object perfectly for the shot. In this case, there is no substitute for adequate light and/or a fast lens and/or a smooth accurate tracking movement.

    As another comment, deconvolution requires a very accurate approximation of the true convolution kernel, which may be provided by the motion sensors. However, to reconstruct the image without artifacts, the true kernel must not approach zero in the Fourier domain below the Nyquist frequency of the intended reconstruction (which is limited by the antialias filter in front of the Bayer mask). In fact, if the kernel's Fourier transform has too small a magnitude at some frequency, the reconstruction at that frequency will be essentially noise, or will be zero if adequate regularization is used. If the motion blur is more than a few pixels, this will generally mean that the reconstructed image will have an abridged spectrum in the direction of blur, compared to directions in which no blur occurred. Of course, if your hand is so shaky and the exposure so long that blur occurs in all directions, then the spectrum of the reconstructed image will be more uniform. It is likely to be truncated compared to the spectrum of an image taken without motion blur.

    The quality of the reconstructed image would also be limited by the effects of other convolutions in the optical pathway. For instance, if you're using a cheap superzoom lens, don't expect to get anywhere near the antialias filter's Nyquist frequency in the final image, as the lens will have buggered up the details nonlinearly across the image even before the motion blur is added. If you're using nice lenses (Canon "L" series or Pentax "*" series and suchlike), then this will not be an issue.

    The method would seem to be useful in low-ish light photography of stationary objects. A sober photographer would beat a drunk photographer at this, but the technique would help both to some extent. A photographer using a tripod would do best, of course.

    --
    Those who can make you believe absurdities can make you commit atrocities. - Voltaire
    1. Re:Useful, but limited by AliasMarlowe · · Score: 3, Interesting

      Do you mention FTs just for reference, or are you implying that they are typically used in deconvolutions? In my experience, signals with any amount of noise are much better handled with iterative algorithms.

      Yes. Fourier methods are unlikely to be used in practice on images. However, it's instructive to look at the process in a transform space to understand the extent to which information is irrecoverably lost in the optical path. The consequences can be explained using any suitable integral transform, but engineers are most familiar with Fourier and wavelet methods.

      Suppose the Fourier transform of the "perfect" image is J, and the Fourier transform of the exact blurring kernel is K, then the transform of the blurred image is L=JK. If the kernel is known exactly, and has adequate magnitude through the frequency range of interest, the image can be recovered simply by using an inverse of the kernel J=L/K. Due to the physics of photon detection, the measured image will also contain some amount of noise N, so even in this ideal case, the recovered image will be corrupted by an amount of noise J'=(L+N)/K. Realistically, the kernel is not known exactly, and may have small magnitude at some frequencies so that its inverse is unreliable. A related consequence is that the blurred image at those bands will be primarily noise. Use of pseudo-inverses is also unreliable, since they are discontinuous near a spectral zero with very high sensitivity to perturbation near that zero. So-called Wiener deconvolution attempts to circumvent this by diagonally biasing the transform of the estimated kernel before inverting, but with generally unsatisfactory results.

      Information which has been destroyed cannot be recovered, by any method. Any attempt to do so would merely amplify the noise in the measured blurry image at those bands. Iterative methods (typically a variant of Richardon-Lucy for images) try to minimize the amplification of noise in various ways, all imperfect but preferable to a direct Fourier method. Most iterative methods will, left to themselves, converge on the same asymptote as the Fourier method. However, iterative deconvolution methods always employ a regularization step in each iteration, whose primary purpose is to attenuate adjustments in bands where the kernel is uncertain. They also generally use a small number of iterations, since the first iterations are less affected by noise than later iterations. The end result is that information which was destroyed is not spuriously recreated from noise (in principle at least).

      If you're interested, I recommend: P. Jansson (ed.), Deconvolution of Images and Spectra, 2nd ed., Academic Press, 1996. Alas, it appears to be out of print (and my copy is not for sale).

      --
      Those who can make you believe absurdities can make you commit atrocities. - Voltaire
  18. Re:lol yea sure by Culture20 · · Score: 2, Funny

    It could be worse... the GIMP developers could have built it, in which case it would be a mostly working implementation of half the features of some existing software. However, nobody would realize this since only the developers would be able to comprehend the UI.

    If you don't like the GUI, there's always the Lisp interface. If another OSS project gets named after a disability, I'm sure the gimp devs will incorporate it somehow.

  19. Re:CSI Miami by Dragoniz3r · · Score: 2, Insightful

    Sorry, no. The blur in CSI Miami is not caused by motion, thus motion compensation won't help. That blur is just a sheer lack of pixels, and this algorithm does nothing to help that situation. CSI-mocking is safe.

  20. Re:lol yea sure by JWSmythe · · Score: 2, Insightful

        I only run into the occasional problem with GIMP. They really have come a long way.

        I switched from Photoshop to GIMP years ago. Photoshop kept crashing on my machine, and GIMP didn't. Then I found there were more things I could do with GIMP, so I stayed. Once in a while I try out Photoshop again, but I stay with GIMP. A few times, Photoshop folks have run into problems, so I tell them to just send me their file, and I fix it in GIMP and send it back. :)

        But hey, it's a holy war. Sides have been drawn, and there are zealots on both sides who trash talk each other. Don't ever try to convince someone that the other is better, because it'll just be an argument. I don't play holy wars. I try both sides, and use what works best.

        On the computer I'm using right now, it's a dual boot Windows 7 and Slackware64 machine. Windows 7 crashed yet again, with the only solution being "format and reinstall". Bah, I just did that a month before. Instead, I'm staying booted up in Slack64, and am very happy. My other copy of Windows is sitting in a VirutalBox window, which I only bring up for the odd occasions that I need to run a Windows only app. Will I convince a Windows user to switch to Linux? Probably not. Am I perfectly content? Yes.

    --
    Serious? Seriousness is well above my pay grade.
  21. Even so... by fyngyrz · · Score: 4, Interesting

    Clearly (pun intended) the results have a ways to go yet. Look at the coca-cola image, at the 'a' on the end of the cola... that thing is hosed by the blur, and they're unable to recover it because there's no intermediate contrasting color. Same thing for the spokes on the car rims.

    This problem can't be completely solved post-picture. Only large-scale elements with nothing else around them will yield pixel-sharp solutions.

    The optimum way to correct blur is to apply active or passive (e.g. tripod) stabilization to the lens prior to the shot; active technology is already pretty decent (photographers tend to measure things in stops; it's intuitive to them... when they say an active stabilizer "gives you" four stops, for instance with Canon, what they mean is that you can shoot four stops slower with the shutter and you won't get blur from camera movement.) Doesn't solve subject movement at all, but then, nothing really does other than cranking down the exposure time.

    So... considering lens stabilization has been in-camera for years, and this requires more hardware, but gives you less... I'm going to go out on a limb and say it isn't of interest to camera folks. Maybe in some esoteric role... a spacecraft or something else with a tight power budget where stabilization can't be done for some reason (certainly measurement takes less power than actual stabilization)... but DSLRs and point-and-shoots... no.

    --
    I've fallen off your lawn, and I can't get up.
    1. Re:Even so... by EvanED · · Score: 3, Interesting

      I'm going to go out on a limb and say it isn't of interest to camera folks. Maybe in some esoteric role... a spacecraft or something else with a tight power budget where stabilization can't be done for some reason (certainly measurement takes less power than actual stabilization)... but DSLRs and point-and-shoots... no.

      Well, sort of, I disagree somewhat. For starters, take camera phones. What do they need to do this? I'm too lazy to read the paper, but seems like accelerometer data. How many phones come with accelerometers nowadays? Pretty much every smart phone does. So no extra hardware there. Second, think of an actual camera. Sure, a lot of P&S cameras now have IS, and a lot of SLR lenses have IS. Maybe that gets you an extra stop or two. But what if you *also* had accelerometer data to apply? If you were in a really low-light scenario and a tripod was impractical (for any number of completely realistic reasons), could this give you yet another stop?

      I mean, you say that the results aren't great, and point out flaws. And the results definitely aren't great. Actually, if you look at the Coke image, the whole thing has a very substantial double image -- it looks like the image was translated a couple dozen pixels and added to itself. But in some sense, "does it look as good as a completely stable" is the wrong metric -- if you ask me, the revised images do look rather better than the version before processing. Low-light photography to me always is a huge game of tradeoffs between using a slow shutter and getting blurring, using a fast aperture setting and getting narrow DoF, and using a high ISO setting and getting high noise. And for that reason, I would welcome anything that gives more choices in that arena. (In my dream world Canon stops pushing the pixel count for a couple generations and just works on decreasing noise.)

    2. Re:Even so... by fyngyrz · · Score: 2, Informative

      I suspect that if it's possible to get very many images of the subject then you can gather enough data to rebuild what would be a more accurate image of the subject.

      Yes. We call that technique "stacking." And it can result in profound improvements. Here is a before and after of stacking; at left, one normal shot from the camera at pushed ISO 12800 (ISO 3200 with an additional 2-stop digital push, in-camera), at right, the result of combining 36 of those shots and recovering the data through the noise. Kind of amazing, isn't it? That was done with nothing but a Canon EOS 50D camera and Canon's 200mm f/2.8 lens, no telescope, no tracking rig of any kind. I wrote software to rotate and translate each frame to get them to overlay despite the motion between frames, and then take a 48-bit accurate average of the resulting stacks of pixels; results as you see.

      The Ring Nebula is magnitude 9, which is no minor feat to resolve with a middle of the line DSLR... but stacking is the big hammer when it comes to this kind of work. You want to talk low light... magnitude 9 is low, all right. And if that's not enough to impress you, there's a magnitude 15(!!!) object resolved in that same picture -- see the notes. Doesn't get much more "low light" than that.

      --
      I've fallen off your lawn, and I can't get up.
  22. Now they just need to attach this to Ballmer's by melted · · Score: 5, Funny

    Now they just need to attach this to Ballmer's head to deblur the company vision a little.

  23. Bitching about gimp by fyngyrz · · Score: 4, Insightful

    You know, you -- and 99% of the others bitching about the Gimp -- you're utterly full of shit. I write commercial image processing / editing / animation / generation software for a living, I'm expert - you can read that as "terrifyingly exert" - with Photoshop, Gimp and a whole raft of others... and Gimp is an easy to use powerhouse.

    Now I will grant you exactly ONE thing, and that is, you need to sit down and learn to use it. That should take a few hours if you're familiar with something (anything) else; maybe a week hunting down tutorials, or a day hanging with a qualified mentor, if editing bitmaps is all new to you.

    If it takes you longer than that, you're either stupid or lazy.

    There's *nothing* significantly wrong with the Gimp. It has its limits, like everything does (Photoshop has some really annoying limits too), but for the vast majority of image processing and touch-up needs, it's very nice.

    Oh, mommie, my crop function is in a different menu... Some people just need a good smack in the head.

    If you really knew what you were doing, you'd have, and use, a whole suite of these programs, because for the big ones, there are areas where they excel, and that's the time to put them into play. If you can't learn to use them because the keystrokes are different, or there is a different paradigm... it isn't the program that sucks. It's you.

    Also, if you actually knew how to use them, you wouldn't be bitching about them.

    --
    I've fallen off your lawn, and I can't get up.
    1. Re:Bitching about gimp by leuk_he · · Score: 2, Insightful

      That should take a few hours if you're familiar with something (anything) else; maybe a week hunting down tutorials, or a day hanging with a qualified mentor, if editing bitmaps is all new to you.

      If it takes you longer than that, you're either stupid or lazy.

      I think i am stupid. I am an occasional user of editing software for my home needs. I do manage to do some things with (a downloaded) photoshop, but I stay new with it HOW to do things. With GIMP I often fail to do it in a reasonable timeframe. Recent versions have become better, but to draw a simple line like in paint can be a nightmare.

  24. Information théory by Vapula · · Score: 3, Interesting

    Information théory tell us that once some info has been lost, it can't be recovered. If the picture has been somehow "damaged" by some motion blur, the original picture can't be reconstructed.

    On the image, we'll have much more than the motion blur from the camera's movement :
    - noise added from sensor electronic noise
    - blur from target movement
    - distortion coming from lens defect (mostly for low end cameras)
    - distortion/blur from bad focus (autofocus in not perfect) ...

    The operation that will reduce the camera's motion blur will probably increase the effect from all other defects. You reduce one kind of image destruction and increase the impact of the other one.

    1. Re:Information théory by beej · · Score: 4, Insightful

      But they are adding information to the system with the additional hardware attachment with all the gyroscopes and so-on. This information can be used to improve the photo, correcting some of the damage. So information wasn't "lost"'; it was just reacquired from a different source, as it were.

      It looks like camera shake blur would be reduced, but target motion blur would remain intact.

      Of course, if you do a 90-second exposure of the sun, it's likely going to be all-white no matter how much shake-correction occurs. But this solution wasn't meant to fix that problem.

  25. I think you oughta look at the examples. by Estanislao+Mart�nez · · Score: 3, Insightful

    There are some full-size samples of the results of the technique, where you can compare the original image with the result of their technique, and the results of two older techniques. Their technique show some very obvious problems:

    1. Doubling of high-contrast edges that are "ghosted" in the original because of the motion blur. In the original, presumably, the motion was something like this: start at position A, hold for a relatively large fraction of the exposure, then quickly move to position B, and hold for another large fraction of the exposure. This means that the photo records two copies of any high-constrast edges, one corresponding to A, and the other to B.

      There are several examples in the link that seem to be like that. The technique doesn't seem to figure this out in all cases, and renders the two ghost lines as separate, sharp lines. Most obvious example: the edge of the front rim of the red car in the second photo. Though compare with the result they got in the photo of the Coca-Cola cans, where it did figure it out for the rack, but not for the text on the cans, and where it introduced some artifact lines perpendicular to the rack.

    2. Severe white sharpening halos around edges.

    The more instructive comparison is the results of these guys' techniques with the older techniques. Clearly, they're doing a lot better than the older techniques. Still, this is very far away from primetime, IMO.

  26. Re:lol yea sure by nine-times · · Score: 4, Insightful

    Yeah, Microsoft does some decent research and develops some interesting technologies. It's turning things into products that they seem to have trouble with.

  27. Interesting idea. by Estanislao+Mart�nez · · Score: 2, Insightful

    What about combining the accelerometer data with a setting that records low-light images is a series of high-speed, underexposed images, then just using to accelerometer data to merge them?

    I think the problem with any method that doesn't change the optical path or move the sensor is that it just can't deal with parallax.

    So, your accelerometer records that between the first and the second microexposure, the camera shifted by x amount to the left. What relative shift do you apply to the frames? Well, the problem is that the correct shift is different for objects at different distances--so as soon as you have an image with large depth of field, there is no solution that corrects the blur for all objects in the frame. It might still be useful, though, because you'd be able to reduce camera blur at one distance--e.g., the camera could assume that the correct distance is the focus distance, or if you used RAW processing, you might be able to choose the correction distance at processing time.

    Note that optical stabilization systems don't have this problem to the same degree, because they're designed to keep the same ray of light hitting the same pixel during the whole exposure.

    There are other complications, though, because each of the microexposures will have more noise and reduced dynamic range compared to the full conventional exposure. I.e., by spending less time recording the value of a pixel, a microexposure is correspondingly less able to finely discriminate its level, and more so when the pixel is dark. Combining the microexposures has the potential to average out the noise, thus gaining you more shadow detail and dynamic range; theoretically you can get the same dynamic range and noise floor as the conventional exposure, but in practice it might well be different. There's a problem, however, that if the sensor noise is not random, the accelerometric shifts you apply to the microexposures as you combine them runs the risk of producing noise artifacts, as the pattern of the noise might produce interference patterns when superimposed on shifted copies of itself (see moiré, or more generally, interference). That's because, to put it briefly, camera motion moves the apparent position of the objects in the frame, but doesn't move the noise patterns.

    Yeah, this stuff is complicated.

  28. Re:Here's a dumb question... by ceoyoyo · · Score: 2, Informative

    You've described blind deconvolution. It does work, but guided deconvolution, a version of which they're doing here, usually works better because you're providing more information. The search space is very large and you have to make assumptions anyway (just how does the computer assess the "sharpness" of an image?) so anything you can do to narrow it down usually improves your results.