배워야 할 것들

Photosynth 는 사진을 조합해서 3차원의 효과를 낼 수 있도록 하는 기술이 필요하다.

이런 프로그램을 만들려고 하면 어떤 것들을 알아야 할지 알아보자.

이 분야에 관심이 있어서 들여다 본 사람이라면 한번쯤이 Zisserman과 Hartley 의 "Multiple View Geometry in computer visioin" 이라는 책제목을 들어 봤을 것이다.

하지만 서두르지 말자. 내가 그랬지만 이 책을 먼저 본다는 것은 새로운 개념에 부딪치게 되면서 상당한 시간을 허비하게 될 수도 있다. 물론 기본적인 영상처리기법을 안다고 가정한다면 다른 말이긴 하다.

일반적인 경우를 고려할때, 기본적인 영상처리에 대해 먼저 알고 다음 단계로 넘어가는 것이 좋을 것 같다.

레벨은 차이가 있을 수 있지만, 단계별로 공부해야 할 사항을 정리해 보면 다음과 같다.

1. 영상처리(Image Processing)
   - Convolution 의 이해
   - 이미지 처리 방법의 이해와 코드화하는 방법

2. Corner Detection
  - Edge Detection
  - Corner Detection

3. Line Fitting
  - Hough transform
  - alignment

4. Multiview geometry
  - Camera
  - epipolar geometry
  - SfM

이 정도가 정리되고 코드화 할 수 있다면 기초적인 수준의 Photosynth는 된다고 생각한다.
단 위에서 한가지 빠진 것이 있는데, "SIFT(Scale Invariant Feature Tranform)"이다.

Photosynth는 이미지의 코너를 계산하여 추적하는 부분에 SIFT를 적용하고 있는데, Lowe 교수의 특허가 걸린 기술이다. 이 부분은 코너 검출 부분이 정리되고 난 후 다뤄보도록 하겠다.

오늘은 여기까지...