Visual Hull 개념과 Shape from Silhouettes
이번 글에서는
Mult iview Stereo 에서
Silhouettes 을 이용하여
3D 를 복원하는 방법
Visual hull
에 대하여 살펴보겠습니다.
이전 글에서 등장했던
Visibility 문제를 해결하는 방법은
복원을 하고자 하는 공간 (Volume) 에서부터
조각을 하는 것처럼 3
D 공간을 깍으면 됩니다.
3D 공간에서 잘 깍는다는 것은
3D reconstruction 을 한 것과
동일한 의미이니까요.

즉, Volume 의 구성요소 voxel
하나 하나가 차있는지, 안차있는지를
찾아가면 됩니다.
이것을 하기 위한 방법으로
실루엣을 사용하는 방법,
칼라를 사용하는
방법이 있는데
실루엣을 사용하는 방법을
알아보겠습니다.

실루엣을 이용하는 방법은
물체의 내부인지, 외부인지만 (mask)
이미지로부터 확인해서
3D 복원을 하는 것을
Shape from Silhouettes 라고 합니다.

이미지를 촬영한 환경을
Top-veiw 에서 본 사진입니다.
각 이미지의 진한 부분이
객체가 찍힌 영역입니다.
오렌지 색 원은 실제 3D 객체입니다.
이렇게 각 이미지에 찍힌 실루엣을
이용하여 공간을 조각해 나갑니다.
Visual Hull의 한계와 구현 방법

이렇게 자르다 보면,
검은색 영역으로 공간을
줄일 수 있습니다.
객체는 무조건 이 검은색 영역
안에서 존재하게 됩니다.
실제 3D 객체인 오렌지 색
원 까지는 복원 못하고,
검은색 영역을 복원하는 것이
한계입니다.
실루엣에서 깍아낸 영역을
Visual hull = Conve hull 이라고 합니다.

복셀 자체가 Discrete 하기 때문에,
완벽하게 Visual hull 을 구할 수는 없지만,
세부적으로 기준을 두고
(꼭지점을 기준으로,
복셀의 가운데 좌표를 기준으로, 등)
조정할 수는 있습니다.
이렇게 실루엣을 이용하여
3D 를 복원하는 방법을
Visual hull reconstruction
이라고 합니다.

Voxel 은 Implement 가 매우 쉽다는 장점이 있습니다.
항목 | 설명 |
---|---|
Visual Hull | 여러 실루엣을 이용해 복원한 3D 외형의 최대 볼륨 |
사용 기법 | Shape from Silhouettes, Voxel Carving |
입력 | 다양한 시점의 이미지 마스크 (Silhouette) |
출력 | 3D 객체가 포함될 수 있는 공간의 추정 영역 |
한계 | Convex 형태만 표현 가능, 실제 형상보다 부풀려짐 |
장점 | 구현이 간단하고 빠르며 복셀 기반 자동화 용이 |
그런 건 난 잘 모르겠고,
Visual Hull은
여러 시점의 이미지 실루엣을
이용해 객체가 존재할 수 있는
3D 외형을 복원하는 기법
참고자료
Slide credit : Shree Nayar
First Principles of Computer Vision
https://www.cs.utexas.edu/~huangqx/2018_CS395_Lecture_14.pdf
https://courses.cs.washington.edu/courses/cse455/10wi/lectures