Main Page | Report this Page
 
   
Science Forum Index  »  Image Processing Forum  »  Structured Lighting / Pattern Recognition - example...
Page 1 of 1    
Author Message
Daren...
Posted: Mon Jun 23, 2008 8:19 am
Guest
Hi, i am currently working as an undergrad assistant for a structured
lighting project with several PhD students. Our goal is to do a simple
demonstration of projecting a binary(black and white) pattern onto a
surface/object and then do 3D image scanning with a camera.
I am currently looking for an open source implementation of this to be
able to read in the camera data, interepert the pattern and complete
the triangulation(ie: find the depth distance and 3d scanning).

Since i am very new to the concept of structured lighting, i was
hoping to find some open source software or code that could get me a
head start (software that can interpert the pattern or triangulate or
both). I was thinking of open source code that can be uses OpenCV or
Matlab (matlab implementations would also be great, this doesnt have
to be OpenCV) would be very helpful since i am familiar with both of
those.
Modifications to the code would be done to take into account the
pattern of choice or other parameters. I have read several structured
lighting papers, but i feel that i need to see an actual example of it
if i want to code something on my own.

Note that this implementation doesnt necessarily have to be directly
related to structured lighting, for instance, an open source example
on pattern regonition would be helpful too. The pattern generated is
not determined yet, it could be as simple as black and white vertical/
horizontal stripes, but that still has to be figured out. Open source
code related to triangulation for finding image depth would also be
helpful to me too.
bite...
Posted: Fri Jun 27, 2008 2:48 am
Guest
On 23 Giu, 20:19, Daren <daren.g.... at (no spam) gmail.com> wrote:
Quote:
Hi, i am currently working as an undergrad assistant for a structured
lighting project with several PhD students. Our goal is to do a simple
demonstration of projecting a binary(black and white) pattern onto a
surface/object and then do 3D image scanning with a camera.

With one single camera? So you triangulate between camera and
projector?

Quote:
I am currently looking for an open source implementation of this to be
able to read in the camera data, interepert the pattern and complete
the triangulation(ie: find the depth distance and 3d scanning).

Since i am very new to the concept of structured lighting, i was
hoping to find some open source software or code that could get me a
head start (software that can interpert the pattern or triangulate or
both). I was thinking of open source code that can be uses OpenCV or
Matlab (matlab implementations would also be great, this doesnt have
to be OpenCV) would be very helpful since i am familiar with both of
those.
Modifications to the code would be done to take into account the
pattern of choice or other parameters. I have read several structured
lighting papers, but i feel that i need to see an actual example of it
if i want to code something on my own.

Note that this implementation doesnt necessarily have to be directly
related to structured lighting, for instance, an open source example
on pattern regonition would be helpful too. The pattern generated is
not determined yet, it could be as simple as black and white vertical/
horizontal stripes, but that still has to be figured out. Open source
code related to triangulation for finding image depth would also be
helpful to me too.
Daren...
Posted: Fri Jun 27, 2008 8:05 am
Guest
On Jun 27, 5:48 am, bite <anonimo.passa... at (no spam) gmail.com> wrote:
Quote:
On 23 Giu, 20:19, Daren <daren.g.... at (no spam) gmail.com> wrote:

Hi, i am currently working as an undergrad assistant for astructured
lightingproject with several PhD students. Our goal is to do a simple
demonstration of projecting a binary(black and white) pattern  onto a
surface/object and then do 3D image scanning with a camera.

With one single camera? So you triangulate between camera and
projector?



I am currently looking for an open source implementation of this to be
able to read in the camera data, interepert the pattern and complete
the triangulation(ie: find the depth distance and 3d scanning).

Since i am very new to the concept ofstructuredlighting, i was
hoping to find some open source software or code that could get me a
head start (software that can interpert the pattern or triangulate or
both). I was thinking of open source code that can be uses OpenCV or
Matlab (matlab implementations would also be great, this doesnt have
to be OpenCV) would be very helpful since i am familiar with both of
those.
Modifications to the code would be done to take into account the
pattern of choice or other parameters. I have read severalstructured
lightingpapers, but i feel that i need to see an actual example of it
if i want to code something on my own.

Note that this implementation doesnt necessarily have to be directly
related tostructuredlighting, for instance, an open source example
on pattern regonition would be helpful too. The pattern generated is
not determined yet, it could be as simple as black and white vertical/
horizontal stripes, but that still has to be figured out. Open source
code related to triangulation for finding image depth would also be
helpful to me too.- Hide quoted text -

- Show quoted text -


Yes, triangulation will be involved, with a single camera. I have
decided to use a binary pattern since this will be the easiest to
categorize/segregate an image. After, i plan to do a correspondence
matching between the projected image and what the camera sees when the
object is illuminated (i will have to apply some image flattening to
it too.. resulting in something similar to this i believe
http://community.middlebury.edu/~schar/papers/structlight/p2.html). If
the patterns match, i will be able to segment the image into binary
codes, if they dont, i lose a bit of information. From there, i can
apply triangulation to find the image depth of each part of the
image.

Triangulation is still a concept i'm having trouble with. For
structured lighting, how do i relate what the camera sees (which is an
XY plane) to a depth? The distance between camera and projector is
known, as well as the camera's focal length. I know that some sort of
calibration is involved to relate the pixel length to real distance,
but i dont see how its related to what i'm trying to solve.

I guess a calibration procedure could go something like this:
-camera sees a vertical black and white striped pattern at distance z1
away, orthogonal to the camera.
-pixel width of the stripes recorded for that specific z distance,
assume linear relation / ratio with distance to pixel

Now for triangulation, when looking at a binary striped pattern super-
imposed on an object, the pattern will deform, since we know the
relation of pixel width to distance relation, depending on how wide
the pattern is, we know what the z distance of that particular section
of the image is (and we will know where each section corresponds to
which part of the image because we coded it with a binary pattern)
This sounds like a really crude method of doing it, and doesnt take
into account the non-linearities of the projector and camera, but i
guess that could be sorted out with some sort of calibration technique
(ie: error correction from using a look-up-table).

I have read numerous science/IEEE papers but they do don't explain
this triangulation step enough. Some papers i've read go into details
about how this problem can be viewed as a stereo camera problem,
treating the projector as a virtual camera, but unfortunately i'm
don't know much about stereo vision. (papers such as this one
http://www.iop.org/EJ/article/1742-6596/48/1/063/jpconf6_48_063.pdf?request-id=ffb057df-e509-4292-a2a8-ef22dfe02ff3
and this http://undergraduate.csse.uwa.edu.au/units/233.412/Lectures/stereo..pdf
) . Maybe the stereo vision can be applied to the correspondence
matching?
 
Page 1 of 1       All times are GMT - 5 Hours
The time now is Fri Dec 05, 2008 10:47 am