Fog Creek Software
Discussion Board




Image recognition

Good day everyone,
I am looking for a program which can recognize specific thing in an image, for example recognizing a sticker on a cellphone which the sticker and the cellphone will always stick at the same position, but sometimes the sticker may not be there.
Can anyone tell me some useful web sites to download the software? Or  any useful information? Any suggestion is welcomed! Thanx!

Jason Wah

Jason Wah
Monday, February 16, 2004

Sorry if this should be obvious to me, but: will a person be holding the cell phone? Is it a running video recording of a room. If not, are the cell phones on a table? A rolling assembly line that stops for you to take a snap shot? If it's a snap shot like that, can you control the orientation of the cell phone? If you have no control over the orientation ofthe cell phone, you'll need to use image recognition to recognize the orientation I think, and then you need to capture the stick image. Is the sticker image designed to be easily recognized by such a sad software, do you have a clear shot with the camera?

Li-fan Chen
Monday, February 16, 2004

You describe a very difficult problem.  Slightest varriations in orientation, lighting, distance, etc. cause one photo to be completely different than another (same goes for video).  This is not a solved problem by any means, and has active research taking place in the academic and coorporate communities.  If the picture is not a close up, then the current state of the art wouldn't really be able to tell.  It would determine that the two pictures were close (due to the surroundings) and thus the same image (with or without a sticker on the phone).  On the other hand, if it's a zoomed in image, and you can't control all aspects as described earlier, then even if the sticker exists in two photos, there is a significant probability that they will be different enough that the images are marked different (see the problem?).  Either way controlling or non-controlling the state of the art I would guess could give you at best 70 to 80 perecent accuracy.  If that's good enough, than you might want to see what's out there in the academic community.  I don't think coorporations will want to dole out their research on that one.

Elephant
Monday, February 16, 2004

If this is an assembly line, it seems to me like you'd have a degree of control over the sticker, in which case get a bar code placed, then put a laser reader in.

Next thought - RFID tags.

Finally, if you seriously have zero control over the label, then yes, you're looking for contrast differentiation and image recognition. The problem has been solved before, but I don't have a reference handy. :-/

Philo

Philo
Monday, February 16, 2004

This sounds like a perfect project for the open source community! It's just the sort of challenge bright minds would want to sink their teeth into - and could be a great resume builder if they solve the problem.

Dick
Monday, February 16, 2004

MIT, and other unis, are working on something called augmented reality. Basically they are looking for ways to make machine recognization of our world a lot easier and more common. Sometimes it's through brute force, throw a lot of computation at it and see if it can recognize something only humans can. Or they theorize as to what expect we should design a society that aids this recognition: like barcodes, radio tagging, and other guides integrated to the world around us.

Li-fan Chen
Monday, February 16, 2004

Have a look at  http://www.skylinetools.com/imagelib/index.html they may have something useful.  Note that it is not cheap.
David

David Freeman
Monday, February 16, 2004

Hi everyone,
This project is actually assigned by a company which produces cellphone case. They produces thousands of cellphone case, so they need to take a snapshot of each and every cellphone cases, the sticker should be stuck on a fix position of the cellphone. So, this company need a program to recognize the sticker and calculate the percentage of cellphone case which is not being stuck with sticker. It is a tough assignment, I  know nothing about image processing, that's why I call for help.

Jason Wah
Monday, February 16, 2004

I believe there exists quite a few programs which can handle this. Its is very common to have optical inspection systems in modern assembly lines. Try a google search on "machine vision" or "automatic optical inspection". I wouldn't recommend writing such an application from scratch if you are not an image processing expert.

Guy Eschemann
Tuesday, February 17, 2004

I did a class on image recognition (which I promptly forgot).

What I do remember: you can apply a series of "filters" (filters being a fancy word for "averaging pixels around a given pixel", or "applying a function to neighboring pixels") and you get things like:

- the outline of the shape
- the body of the shape
... with the noise pixels/scratch lines eliminated

then (that was really amazing) there was an algorithm that parsed the image and returned a NUMBER.

If you pased the image of a SIMILAR-looking object (even ROTATED, I think), it would return the SAME NUMBER.

My memory is pretty fuzzy now but I remember being very impressed. By all means, google for "machine vision algorithms", "image recognition", etc.

Alex.ro
Tuesday, February 17, 2004

Jason,

Look at Intel's Open Source Computer Vision Library at http://www.intel.com/research/mrl/research/opencv/

Koos
Tuesday, February 17, 2004

Here's a couple from Sourceforge:

http://sourceforge.net/projects/ravl/
http://sourceforge.net/projects/animal/
http://sourceforge.net/projects/jocr/

Sounds like a fun project.

Lee
Tuesday, February 17, 2004

*  Recent Topics

*  Fog Creek Home