Photometric Stereo 란? 조명 방향으로 푸는 3D 표면 복원 기법

Photometric Stereo의 원리

이번 글에서는
Photometric Stereo
에 대하여 살펴보겠습니다.

1 Photometric Stereo


​ 3D 복원을 위해 다양한 빛을 주어
촬영한 이미지를 이용한 방법입니다.

구체적으로 어떻게
작동하는지 알아보겠습니다.

2 3

Photometric Stereo 에서 카메라의
위치는 고정되어 있습니다.

​ MVG 개념과는 반대되는
걸 알 수 있습니다.


여러 개의 빛 방향을 주고,
각기 다른 조명 조건에서
동일한 물체를 촬영 합니다.

3 iso brightness contours


각 픽셀에서 측정된
밝기(intensity)를 기반으로

표면의 기울기(p, q) 또는
법선 벡터(normal)을 복원
할 수 있습니다.


image



특정 한 방향으로
지정해주기 위해서는
한 개의 이미지로는
불가능 합니다.

4 6

2장 으로도 유일한
해답을 구할 수 없습니다.

5 6

적어도 3장의 이미지는 있어야
구체적으로 한 점을
명시 할 수 있습니다.

6 5

전체적인 과정은
매우 간단한데, ​

실제 구하는 식을
살펴보겠습니다.









법선 벡터 계산 방식

7 4

알비도의 값은 상수이므로
무시할 수 있습니다. ​

우리가 구하고 싶은 것은
Surface normal 입니다.

​ 다른 빛을 주고 찍은
사진 3장을 이용하여
1개의 3D surface normal 을
구하는 것이므로

맨 위 3개의 식에서
n 은 모두 동일합니다. ​

이제, 각 이미지를 찍을 때의
빛의 방향을 모아서 concat 합니다. ​

최소 3장이 필요하므로,
3장만 사용하여 3×3 matrix 와
surface normal 로
Image intensity 를
정의할 수 있습니다. ​

8 4

우리는 Surface normal 을 원하므로
단순히 S 의 역행렬을 구하여
답을 구할 수 있습니다. ​

단, 주의할 점은
구한 답은 정규화
되어 있지 않은
Normal 값 입니다.

9 4

따라서 우리는 Albedo 상수 값으로
scaled 된 값과 정규화를
진행해 줘야 합니다.

만약 이미지가 3장 보다 많다면,
더욱 정확한 값을 구할 수 있습니다. ​

역행렬을 구할 수 없다면,
Pseudo Inverse 를 이용하면 됩니다.





















Lambertian 가정과 현실의 차이

10 4

이미지 5장으로
3D surface normal
을 구한 결과입니다.

​ 전체적인 벡터들을 보시면
구 모양을 가지는 것을
확인할 수 있습니다.

11 4
12 3

우리가 Photometric stero 를 풀 때는
항상 Lambertian 가정이
들어가 있습니다. ​

하지만 실제는 그렇지 않습니다.

따라서 어느 정도 오차가
발생할 수 있습니다.

13 2

Photometric stereo 는
빛의 방향을 모아서
Concat 한 후 역행렬을 구해
Surface normal 을
구하는 것을 확인했습니다. ​


주의해야 할 점은

다양한 빛의 패턴을 줄 때
빛의 방향이 하나의
Plane 위에 있을 경우,

Invertible 하지 않아
식을 풀 수 없게 됩니다.

활용 사례 및 기술 적용 예시

14 2

이러한 Photometric stereo 를 활용한 기술이
정말 정교한 얼굴을
3D reconstruction 하는
Light stage 가 있습니다.

15 2

Photometric Stereo 와 Multiview Stereo 는
각 장단점이 있으며, ​

최종 목표는 3D reconstruction 입니다. ​


그런 건 난 잘 모르겠고,
Photometric Stereo 는 빛의 방향을
이용한 3D reconstruction 방법 ​

참고자료

Slide credit : Shree Nayar

https://www.youtube.com/@firstprinciplesofcomputerv3258/videos

댓글 남기기