Professional Master Program - UW
Computer Vision - CSEP 576
Project 3: Photometric Stereo
Student: Marcelo De Barros
Buddha
RGB |
Needles |
Albedo Map Snapshot |
View 1 without Albedo |
View 2 without Albedo |
View 1 with Albedo |
View 2 with Albedo |
Horse
RGB |
Needles |
Albedo Map Snapshot |
View 1 without Albedo |
View 2 without Albedo |
View 1 with Albedo |
View 2 with Albedo |
Owl
RGB |
Needles |
Albedo Map Snapshot |
View 1 without Albedo |
View 2 without Albedo |
View 1 with Albedo |
View 2 with Albedo |
Marcelo!
Well, this was a tentative of doing the photometric stereo of
my own picture, but the results don't look quite well as I would like. Some
reasons could be:
- The intensity of the light source was not uniform over the object
- The direction of the light source varied slightly between the time I
took the pictures with the sphere and when I took the pictures of my face
- It seems that the intensity of the light on the right side was greater
than the one on the left side
- I moved slightly during the pictures, and so did the camera
I took 12 pictures of myself and I used one of those xmas ornament balls as the
sphere to calculate the light directions.
Then using the intelligent scissors tool, I created the mask for both the sphere
and my face. Then I just tried using the tool against these images.
I figure since I spent a good one hour taking all the pictures, I might as
well just add the bizarre results to the artifact page...
Marcelo - original picture (first image out of 12) |
Sphere to calculate the light directions (first image out of 12) |
RGB |
Needles |
Albedo Map Snapshot |
View 1 without Albedo |
View 2 without Albedo |
View 1 with Albedo |
View 2 with Albedo |
About the project!
I had a lot of fun, it was a nice project! In the beginning it
was tough to understand the concept, but once you get the idea the
implementation is very straightforward. I liked the fact that we only had to
fill out the gaps related to the subject and didn't have to spend too much time
in coding the math routines (although it would be definitely interesting too!).
The depth map was by far the most complicated part, at least for me. It took me
a while to realize that the zind vector already contained the indexes to
be used in the M matrix. I also had to be careful to stay within the bounds of
the mask and to avoid NaN. After that, the project was finally done!
The 3D for most of the images turned out being very good. The image of the owl
did not work very well for the right side, perhaps because there was not much
light on that side of the pictures. Of course, my image was not reconstructed
properly either due to the reasons already mentioned. Two problems with this
method are: first, it gives extra weight to the areas with more illumination,
and second it leaves a trail of the image when moving it around after the depth
map has been calculated. Unfortunately I'm not sure how to fix these two
problems.