The first three sections of this webpage show the output of my solution with some sample images.

Sections

  1. Buddha
  2. Cat
  3. Rock
  4. Discussion

Buddha Pictures (top)


Normals shown as RGB

Normals shown as Needle Map

Albedo Map
 

View 1 (no albedo)

View 1 (albedo)

View 2 (no albedo)

View 2 (albedo)

Cat Pictures (top)


Normals shown as RGB

Normals shown as Needle Map

Albedo Map
 

View 1 (no albedo)

View 1 (albedo)

View 2 (no albedo)

View 2 (albedo)

Rock Pictures (top)


Normals shown as RGB

Normals shown as Needle Map

Albedo Map
 

View 1 (no albedo)

View 1 (albedo)

View 2 (no albedo)

View 2 (albedo)

Discussion (top)

What worked and what didn't?

The project worked as expected and matched the sample solution. There was a very slight variation (3rd decimal) in the lighting direction. But that did not affect the final result.

Which reconstructions were successful and which were not?

The three I tried (buddha,cat,rock) seemed to be fine. Initially there issues around shadows, but when I added weight by pixel brightness, it turned out fine. I also tried owl, but I had issues around the eyes.

What are some problems with this method and how might you improve it?

The objective function does not take noise reduction into account. Noise can be reduced by introducing a smoothing term into the surface reconstruction's objective function and corresponding matrix. Also, the weighing scheme used to reduce the impact of shadowed regions can cause overweighing of the specular highlights. This can be reduced by using a better weighing scheme.