Slashdot Mirror


Particle Swarm Optimization for Picture Analysis

Roland Piquepaille writes "Particle swarm optimization (PSO) is a computer algorithm based on a mathematical model of the social interactions of swarms which was first described in 1995. Now, researchers in the UK and Jordan have carried this swarm approach to photography to 'intelligently boost contrast and detail in an image without distorting the underlying features.' This looks like a clever concept even if I haven't seen any results. The researchers have developed an iterative process where a swarm of images are created by a computer. These images are 'graded relative to each other, the fittest end up at the front of the swarm until a single individual that is the most effectively enhanced.'"

25 of 90 comments (clear)

  1. Wow by Izabael_DaJinn · · Score: 5, Insightful

    I love an article on digital imaging technology that has no pictures. This is 2008. Send out your press release with a photo...of something...anything.

    --
    Careful What You Wish For....
    1. Re:Wow by Smordnys+s'regrepsA · · Score: 4, Funny
      Let me just point out your sig

      Careful What You Wish For..
      So, did you realize an optimized goatse fits your wish for a picture of "something...anything"?
      --
      Just -1, Troll talking to another.
    2. Re:Wow by SlashWombat · · Score: 2, Insightful

      A pictures worth a thousand words. Strikes me that what they are implying is that take a CCTV (MJPEG/MPEG) and correlating the differing images (frames/fields really). I dont think that manipulation of one CCTV image over and over will ever produce results like that seen on CSI!

    3. Re:Wow by MobileTatsu-NJG · · Score: 3, Interesting

      A pictures worth a thousand words.

      Strikes me that what they are implying is that take a CCTV (MJPEG/MPEG) and correlating the differing images (frames/fields really). I dont think that manipulation of one CCTV image over and over will ever produce results like that seen on CSI! Well, c'mon, CSI's trying to entertain an audience here. That said, video does offer some potential for enhancement. I've seen technology that can take a sequence of images, extract the motion out of them, and use that to work out a higher resolution image by watching how the pixels shift in color. There are cases where a car could drive into frame but the resolution is too low to make out the license plate. But if the motion of that car is extracted, and assuming that motion is actually of a useful vector, they can watch how the pixels shimmer and figure out what the color of the pixels in between them was supposed to be. When the image is reconstructed, the license plate could be read.

      It's not as magical or practical like they show on CSI, but there are cases where it can be done. Heck, Hollywood uses technology like that to slow down video like the bullet time effect in the Matrix. There's a lot you can do with motion vectors.
      --

      "I like to lick butts!" by MobileTatsu-NJG (#32700246) (Score:5, Informative)

  2. The only problem... by arrrrg · · Score: 4, Informative

    with PSO, ant colony optimization, genetic algorithms, etc. is that they take tons of computational effort, and typically work no better than (or significantly worse than) much more efficient direct optimization methods. Wake me up if they show good results (esp. that didn't take a year of computer time to construct).

    P.S. IAAAIR (I am an AI researcher, albeit not in computer vision)

    1. Re:The only problem... by TapeCutter · · Score: 3, Informative

      "the fittest end up at the front of the swarm until a single individual that is the most effectively enhanced"

      Actually I think the biggest problem with any of these techniques is finding an algorithmic definition of 'fittest' and 'effectively', the rest can be solved by throwing money at the computation.

      --
      And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
    2. Re:The only problem... by Anonymous Coward · · Score: 2, Interesting

      Yeah, and as such, you should know that this is just a manifestation of the No Free Lunch Theorem. Basically, they're trying to perfect one case at the expense of the others, resulting in possibly hundreds of poor matches to get one really good match. While this isn't the typical route that I'd try to take, it does have its own interesting applications.

    3. Re:The only problem... by NickBoje · · Score: 3, Informative

      You are hundred and one percent right. PSO works mainly with the help of two arbitrary coefficients which are highly oscillatory. Main effort is involved in selecting those coefficient values, accurately. Very good technique but very few good applications solved ...,

    4. Re:The only problem... by Mr2cents · · Score: 3, Insightful

      I wonder why they call it a "swarm approach". I'm always suspicious toward people using the latest buzzword, especially if what they are doing sounds like "sorting". The interesting part is the criterion they use, not how they sort the images.

      --
      "It's too bad that stupidity isn't painful." - Anton LaVey
    5. Re:The only problem... by somersault · · Score: 3, Funny

      Yep because it makes lots of financial sense to have a few supercomputers plugged into your TV so that you can get your contrast setup correctly..

      --
      which is totally what she said
    6. Re:The only problem... by rucs_hack · · Score: 2, Informative

      with PSO, ant colony optimization, genetic algorithms, etc. is that they take tons of computational effort, and typically work no better than (or significantly worse than) much more efficient direct optimization methods. Wake me up if they show good results (esp. that didn't take a year of computer time to construct).

      Oh god, not another 'Bayesian methods for everything' guy..

      Genetic algorithms have major advantages over other approaches. When designed well they are easy to code, and they can get tasks done as well as, if not better then the alternative techniques. I have a GA that can outperform a neural network on a particular task (not all tasks, just one very hard pattern recognition task, not going into it though, that would result in too long a post). It outperforms NN, and is so much simpler you wouldn't believe it. I was shocked to discover how much better it was, and I wrote it.

      As for computational effort, well duh..

      If it wasn't a task that needed a lot of computational effort, it would hardly be interesting, probably it would be in P or something.

      ACO does tend to take a while, but in my experience, most really interesting GAs can take weeks to complete a single run. As a rule what your after is the finished result, and the time taken, provided it doesn't run for more than a few weeks, is usually not much of an issue.

    7. Re:The only problem... by ceoyoyo · · Score: 2, Informative

      Two excellent points about why you wouldn't want to apply a GA to photography, one yours and one mine.

      Mine first: you're right, GAs are easy to program, once you know the selection criteria. How do you have the computer select the best looking photo? Photoshop has for years had a feature where the computer will supply some altered images and let YOU pick the right one, but how do you give the computer a sense of esthetics?

      Yours: GAs are great for finding finished products that you can then use. Both GAs and neural networks can turn up interesting algorithms etc. But they're not great algorithms for getting things done. I don't want to have to apply them to each photograph, I want to have them produce an algorithm or trained network or something of that nature that I can in turn apply to each photograph.

    8. Re:The only problem... by serviscope_minor · · Score: 2, Insightful

      IAAAIR...

      Oh god, not another 'Bayesian methods for everything' guy..

      I know the type, but...

      I have a GA that can outperform a neural network on a particular task

      Really? Sounds unlikely to me, because a NN is a function which maps inputs to outputs (sigmoid, sum, sigmoid, sum,...) and is often, but not always optimized with gradient descent. A GA on the other hand is an optimization algorithm. You could optimize an NN with a GA if you wished.

      Either way, a mapping function (eg an NN) is not really comparable to a method op optimizing a mapping funcion (eg a GA).

      --
      SJW n. One who posts facts.
  3. Just wondering by Smordnys+s'regrepsA · · Score: 2, Insightful

    The researchers have developed an iterative process where a swarm of images are created by a computer. These images are 'graded relative to each other, the fittest end up at the front of the swarm until a single individual that is the most effectively enhanced.'
    Um... if the computer knew how to tell a good picture from a bad, couldn't it have just created a good picture in the first place? This all seems rather useless/confusing to me.
    --
    Just -1, Troll talking to another.
    1. Re:Just wondering by Radish03 · · Score: 2, Interesting

      It can tell good picture from bad, but it's completely relative. Sure, it can come up with a picture that's better than the original. But that's by no means the best it can do. This process continually attempts to create pictures that are better than the previous picture, apparently repeating this process until an image is found where any adjustments to it result in images that are worse in quality. Then that one is selected as the best version.

    2. Re:Just wondering by TuringTest · · Score: 4, Insightful

      it has to know *specifically* what makes that picture better. Why not use that knowledge to jump to the best picture (that it can define) from the first picture?
      Because the algorithm doesn't have that kind of knowledge. In AI-based search we don't know how to define absolute functions of quality, but we know how to define (several) relative dimensions of improvement. (Disclaimer - I do this for a living).

      Intelligent search is based on iteratively improving one of those dimensions, just a little bit, one at a time. This goes on until we find a solution that is as good as we can get in all dimensions at once; but we simply don't know how to combine all dimensions to create a formula that maximizes all them, because their relative improvements interact with each other in complex, chaotic ways.

      --
      Singularity: a belief in the "God" idea with the "demiurge" relation inverted.
  4. not a good idea by ILuvRamen · · Score: 2, Interesting

    I've seen what Photoshop CS3's auto levels function does to some photos. It gets it right most of the time and when there needs to be little adjustment, it makes a little one and for really bad ones, it makes big adjustments. You could say it's judging the quality of the input image. Well it's right about 75% of the time. When it usually gets confused is when a picture is supposed to look significantly reg, green, or blue and it has no way of knowing that so it screws it up horribly while trying to tone it down. So I'm figuring any automated system won't possibly be remotely as smart as a human when it comes to sorting the "best" photos out front. It will probably just have a huge bias towards certain types of images.

    --
    Google's Super Secret Search Algorithm: SELECT @search_results FROM internet WHERE @search_results = 'good'
  5. No good heuristic by randomc0de · · Score: 2, Interesting

    This procedure sounds like it has the same problem as plain-old AI search - the lack of an obvious heuristic. The article says they use the number of pixels on an edge, but there's no obvious way of finding this - they've moved the computation up one step. The article is light on details so I'm sceptical. If they have a simple procedure for the fitness function, this is a great application.

    --
    Three rights make a left. Freedom of speech, freedom of the press, freedom of assembly.
  6. yeah... by cosmocain · · Score: 2, Funny

    This looks like a clever concept even if I haven't seen any results.

    Hell, this needs no comment, it's funny on its own. Mod TFB +1, accidently funny.

  7. Not exactly comprehensive by vikstar · · Score: 5, Informative

    For more detail, including the citation of the paper, see this http://www.primidi.com/2008/02/03.html

    --
    The question of whether a computer can think is no more interesting than the question of whether a submarine can swim.
  8. Nothing new to see here by kegon · · Score: 3, Informative

    They've reinvented genetic algorithms ?

    Without seeing the details (read TFA but it's a summary and quite a bad one at that), I can't see why this would be better than a Bayesian optimisation with a photometric constraint. "The objective of the algorithm is to maximize the total number of pixels in the edges" sounds very, very simplified.

    There are efficient ways of solving these things. Interesting that they invent an image processing algorithm but publish it in a non image processing journal - I wonder why that is ?

  9. Bullshit FTA by EdIII · · Score: 4, Interesting
    While reading the article I came across:

    However, none comes up to the standards of the kind of image enhancement often seen in fiction, where a blurry distorted image on a screen is rendered pin-sharp at the click of a mouse. PSO, however, takes image enhancement a step closer to this ideal.
    Unless I am REALLY missing something, it is next to impossible to go from a blurry distorted image to pin-sharp. Really close to impossible. It is a matter of data. If you start from blurry, you cannot actually obtain the information required to unblur it. It does not exist. Therefore, any results are fundamentally speculative. Contrast Levels are not exactly the same thing, since you are only shifting data already there. Edge enhancement, sharpness, is not actually representative of what the objects actually looked like. There is a big difference between taking a blurry box and enhancing the edges and taking somebodies face and effectively "refocusing" the image so you can see facial features more clearly. You could say this is a step closer and certainly novel approach to the problem. To actually get to science fiction levels of performance may be not actually be possible though.

    Such enhancement might be useful in improving snapshots of CCTV quality for identification of individuals or vehicle number plates
    Not really useful at all. At least from an evidence point of view. Since you cannot really be sure if that is the individual in the picture, the best you can approximate is closer to one of those sketches they provide. I'm not being racist, but certain races do look similar. If you took 100 Chinese people for example, and started progressively blurring their pictures, you would start to get pictures that you could not make a distinction between them, much less a definitive identification. So there had better be some corroborating evidence, since it won't take too much of an expert witness to shoot that down. So it would be better to say it could help identify possible suspects, not individuals. Burden of proof, reasonable doubt, and so on.

    Another thought, even more concerning, is that if you took those 100 pictures and showed them to a test group that saw before and after shots for each individual, how effectively could they make identifications? What about a test group showed only the after shots? My point being, is that if you are predisposed towards identifying a certain individual you are more likely to do so. In fact, people remember faces in a similar way be exaggerating facial features. I believe it is referred to as face perception. So it might be possible for the human brain to identify, incorrectly, an individual from one of those blurred images. All in all, not solid enough for legal purposes, which CCTV identifications of individuals and license plates are certainly used for.

    I could be wrong, but until I see actual pictures, I will have to play the part of the skeptic.

    Great idea, and certainly thinking outside of the box, so they deserve respect for their work.
    1. Re:Bullshit FTA by lisaparratt · · Score: 2

      Unless I am REALLY missing something, it is next to impossible to go from a blurry distorted image to pin-sharp. Really close to impossible. It is a matter of data. If you start from blurry, you cannot actually obtain the information required to unblur it. It does not exist. Untrue. The information is spread into the pixels over which it is blurred. With the appropriate convolution matrix, you can recover the pinsharp picture. Hackzine covered it lately: http://www.hackszine.com/blog/archive/2008/01/remove_shake_and_motion_blur_f.html
    2. Re:Bullshit FTA by EB+FE · · Score: 2, Informative

      The claim of TFA is not that their algorithm can take one blurry image and generate a less blurry image. The algorithm uses a series of pictures of the same subject (I assume something similar to bracketing exposures) and use the data from most of those images to sharpen edges in the image that already contains the most clearly defined edges. Imagining how this works is pretty simple. Suppose the best image has an edge that appears to be on pixel columns x and x+1 and those pixels have luminance values a and b. Another image of the same subject may have the corresponding edge on columns x+1 and x+2 with lum vals c and d, and so forth... Then, it's a matter of combining the information from the pixels to produce a better edge. Fair results could probably be achieved with something like a weighted average, but I'm sure the algorithm the researchers in the article use is better.

      --
      Vital papers will demonstrate their vitality by moving to where you can't find them.
  10. Re:Optimization algorithm by CmdrGravy · · Score: 2, Funny

    A first pass analysis certainly reveals some elements of Metropolis-Hastings may have been folded in but they do not comprise the entirety of the final solution which seems instead to be bulked up by a n'th pass reverse locality filter feeding off a more traditionally schwelpian treatment of the core triplets. Interestingly every fifth haynes cosignatory node seems to be commulated back to it's quatenary closest fit counterpart.