3D Shape Recovery Using Texture

github.jpg

Purpose

The purpose of this study was to implement an existing shape-from-texture algorithm and test the efficiency of the algorithm in the context of custom-made abstract textures. I investigated whether the 3D surface generated by the algorithm looks logically correct or similar to the texture given as input. The algorithm is based on Loh’s method of recovery of 3D-structure using visual texture patterns (Loh, 2006).

Solution

Given a digital image of a textured surface, this program does the following:

•Calculate the orientation parameters p and q

•Calculate surface normal

•Generate 3D Mesh surface

Input = digital image composed of texels

Output = orientation parameters / 3D mesh

Algorithm ( Images below)

  1. Input a texture image to the system

  2. Extract frontal patch from input image

  3. Apply gaussian window on patch

  4. Take fourier transform of frontal patch

  5. Take spectral inertia of fourier transform

  6. Repeat the process with each local patch in original image

  7. Scale to eliminate blur/illumination. Intersection of two graphs gives tilt angle.

  8. Find k at the angle orthogonal to the tilt angle, and use that to find slant

  9. Use Peter Kovesi’s shapelet method to reconstruct mesh using slant and tilt angles

(1)

(2)

(3)

(4)

(5)

(6)

(7)

(8)

Results

Example 1

Example 2

Example 3