Stereo Maching을 공부한 후 Vision Based로 더 공부하기 위해서 Shape - From - Shading(SFS)을 공부했다.

 

Shape - From - Shading(SFS)은 빛으로 인해 생기는 그림자의 모양을 통해 3D Shpae을 추정하는 Algortihm이다.

Object에 따라 최적의 광원 위치가 달라지면서, 표면의 반사율과 Texture에 따라 성능이 달라진다.

 

SFS을 공부하기 위해서 논문 "Hand on Shape from Shading'을 읽으면서 공부를 진행했다. 정확한 참고자료는 밑에 기재했다.

 

해당 논문은 Matlab으로 구성되어 있어서 이를 Python으로 재 구현했다.

그래서 논문 결과와 구현 결과를 비교해가면서 공부를 진행했다.

 

1. Terminology

SFS을 공부하기 전에 사용되는 용어를 공부했다.

2. Synthesized image generation

두 번째 챕터에서는 합성된 이미지를 Python을 통해 만들었다.

만드는 순서는 다음과 같다.

해당 순서를 통해 만들어낸 합성 이미지를 보면,

왼쪽 이미지에서 Illumination은 [0. 5, 0, 0.98] 이기 때문에 x축 양의 방향으로 빛이 들어온 합성 이미지를 만들었고, 

오른쪽 이미지에서는 [-0.5, -0.5, 0.98]의 방향을 통해 만들었기 때문에 x축과 y축 음의 방향으로 이미지가 만들어졌다.

3. Finding surface albedo and illumination Direction

세 번째 챕터에서는 2번째 챕터에서 사용한 Surface Albedo와 Illuminatio Direction을 찾았다.

 순서는

 1. 위에서 구한 합성 이미지를 Normalization을 진행

 2. μ_1,μ_2를

 3. E_x, E_y을 찾고 &  이를 Normalization

 4. Illumination & Albedo을 찾는다

 

구현한 결과가 논문 결과와 너무 다르게 나와서 해당 부분을 지속적으로 찾아본 결과 문제점을 파악했다.

논문에 나와있는 합성된 사진에서는 Object 말고 나머지 공간이 매우 적었다. 하지만 구현한  합성 이미지에서는 논문 이미지보다 더 큰 공간을 가지고 있었다. 따라서 이 두 개의 이미지에서 μ_1,μ_2 값이 다르게 나왔다. 그래서 논문과 최대한 비슷한 모양의 이미지를 만들어 결과를 비교했다.

논문의 결과와 유사한 값의 Albedo, illumination이 나왔다.

4. Finding Surface

Python으로 위 식들을 구현한 순서는 아래와 같다.

1. Section 3Finding surface albedo and illumination Direction Algorithm을 통해 Albedo 와 Illumination을 계산

2. Initializations

3. Surface normalConvolution을 위한 필터 생성

4. Iterate

 4.1 Convolution을 통해 Second derivatives인 p1,q1p1, q1을 구하고

 4.2 1에서 구한 AlbedoIllumination을 통해 Reflectance map 계산

 4.3 Reflectancederivatives 계산

 4.4 p , q Updating

 4.5 p와와 qFFT를 통해  Z을 계산

 4.6 다음 Step의 p,q 계산

5. Linear approaches

 5.1 Pentland Approach

 5.2 Shah Approach

 

최종 결과는 Shah Approach가 가장 좋은 결과를 얻을 수 있었다.

 

참고자료

Hands on Shape from Shading, Technical Report, Shireen Y. Elhabian, CVIP, May 2008

 

'Computer Vision > 3D Reconstruction' 카테고리의 다른 글

Stereo Camera Calibration  (0) 2021.01.26
Stereo Matching  (0) 2020.12.26
3D Reconstruction의 다양한 기법  (0) 2020.11.04

+ Recent posts