PHOTOMETRIC STEREO
CAT (without weight for handling shadows)
The normals for the set of images below were generated with multiplying
intensities as weights for
handling shadows:
CAT
OWL
ROCK
- The right eye of the owl wasn't reconstructed well. Seems like
the
sparkle in the eye causes confusion in generating the normals there.
Since this photometric stereo model is assuming the presence of only
diffuse reflection, this is not surprising. Need a model that can
recognize and take specular reflection into account.
- The left eye or left side of the face of the owl wasn't
reconstructed well. Those parts were covered by the nose resulting in
the lack of information for reconstruction. Need a model that captures
the object in different angles while being able to recognize
corresponding points between those images.
- The weights in handling shadows resulted in overweighing brighter
pixels in certain spots, especially noticable in the cat's eye. I tried
using ln(I) instead of I
as the weight but this weight is not enough for any apparent effect in
handling shadows.
The only hurdle in completing this project was trying to figure out why
the sparse matrix didn't come out symmetric which then caused error in
computing depths. (This was only encountered after adding weights for
computing normals.) Finally discovered that some values in the normals
were NaN. By handling NaN in the normals, the problem was solved.