2007년 8월 20일 월요일

자동 3D 모델링 - Google PhotoSketch(?)

제 블로그에 들르시는 분들이라면 PhotoSynth하면 익숙한 이름일 겁니다. 또, Sketchup도 익숙하실테고요. PhotoSketch는 바로 이 두 가지 멋진 프로그램의 기능을 합친 소프트웨어입니다. (현재 개발중으로 아래 쪽에 있는 비디오만 공개되어 있습니다.)

구글어스버추얼어스는 현재 3D모델을 구축에 다른 접근방법을 사용하고 있습니다. 구글어스는 주로 기존 기업에서 제작한 3D 모델을 구입하거나 구글 매니아들이 자발적으로 만든 모델로 구글어스를 채워가고 있고, 버추얼어스는 자체적으로 항측회사를 구입하여 3D 모델을 제작하고 있는데, 내년까지 500개 시를 제작할 예정이라고 합니다. 현재 상황으로 보면 3D 모델 제작기술은 버추얼어스가 앞서있다고 할 수 있죠.

어쨌든 3D 모델을 만드는 것은 쉬운 일이 아닙니다. 아무리 구글에서 Sketchup같은 훌륭한 프로그램을 제공했더라도, 3D모델, 특히 사진 Texture까지 입힌 모델을 만들기는 만만치 않은 작업이죠. 하지만, PhotoSketch를 이용하면 이 작업이 상당히 간단하게 해결될 수 있을 듯 합니다.

먼저 마이크로소프트의 PhotoSynth를 보면, 사용자가 일반 카메라로 아무렇게나 찍은 여러사진을 조합해서 Point Cloud (점의 위치)를 계산하고, 카메라의 위치 및 자세를 계산해 줍니다. 이러한 기능이 PhotoSketch에 내장이 되어 있습니다.

<하얀 공처럼 생긴 부분이 카메라 촬영 위치>

다음으로 이러한 Point Cloud를 사용하여 3D 모델을 만드는 것은 사용자가 해야 합니다. 하지만, Sketchup을 사용하면 대략적인 3D 모델은 쉽게 제작할 수 있습니다. 특히 점들의 위치가 나타나 있으므로 사진 한장만 가지고 제작하는 것보다는 훨씬 쉽게 제작할 수 있습니다. (3D 모델이 별도로 있을 경우에는 이 과정을 생략할 수 있습니다.)

이러한 과정을 거쳐 만들어진 3D 모델에 사진 텍스춰를 씌워주는 것은 자동으로 PhotoSynth가 해결해 줍니다.

아래는 PhotoSketch를 소개하는 Presentation 동영상입니다. 길이가 너무 길기는 하지만, 3D 모델 제작에 관심있는 분들이라면 천천히 보시면 도움이 될 것 같습니다.



뒤쪽에 있는 내용은 동영상에 나온 내용중, 제가 필요하다고 생각되는 부분만 정리한 것인데, 너무 기술적이라서 그냥 참고삼아 넣어둡니다.

민, 푸른하늘
Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
====
이 글은 Google (?) PhotoSketch - Rapid Photo Modelling을 참고로 작성하였습니다.

====
----PhotoSketch----
Automated Texture Mapping - 여러장의 사진을 사용하여 3D 모델제작
GPS 필요없음. 캘리브레이션이 되어 있지 않은 일반 카메라를 사용

기존 방법 -
Active Sensing(Laser Scanning, Flash Laser), - 정확도 5mm
Passive Sensing - 정확도 5cm
Passive Sensing 에서 3장 이상 멀티뷰 스테레오
둘다 Heavyweight Model - 260MB (포인트의 수 1000만개)
웹에서는 lightweight model로 충분 -> 800kb

멀티뷰 Geometry 알고리듬
- Automatically extract salient features using SIFT
- Feature correspondence among image pairs
- Initialize camera pose and structure from first two image frames
- Recover camera pose from remaining images
- Bundle Adjustment is Key component for redistributing global errors

PhotoSketch는 lightweight 텍스춰 3D모델 제작툴
- MicroSoft PhotoSynth의 자동 카메라 캘리브레이션과 구글 스케치업의 간편함을 통합한 툴

-3D 모델이 있을 경우 자동으로 텍스춰링
- 없을 경우에는 캘리브레이션 자동 - 사용자가 3D 모델 구축 - 자동 텍스춰링 : 반자동

비디오 영상으로도 3차원 모델 제작 가능

항공사진측량과의 비교
- 매뉴얼이 많음
- 사진이 많을 때 작업하기 힘듦
- 대부분 기본 3차원 도형을 입력하는 방법임
- 실루엣기반이 작은 객체에는 적용하기 힘듦
- 경험이 많은 사람 필요

PhotoSchetch
- 캘리브래이션이 자동임
- 2D 스케치를 기반으로 함 사출방식 - 사진을 기반으로

댓글 2개:

준서아빠 :

두가지 기술 모두 흥미로운 기술이네요. 저는 최근 피사체를 찍은 동영상을 Photosynth로 입력하면? 쉬운 3D 개체화가 가능한 부분에 관심이 많습니다. 영화의 일부를 3D화 하는 재미도 있지 않을까요? 매트릭스의 총알 날아 가는 장면은 네오를 기준으로 카메라가 돌아 가는데요... 물론 촬영 위치가 부정확 해서... 여러 재미있는 시도가 웹에 계속 많이 등장하면 좋겠습니다.

푸른하늘 :

- 준서아빠님 들러주셨네요. 감사합니다~
- 올려둔 비디오 뒷부분에 동영상을 촬영해서 Point Cloud를 만드는 방법도 테스트중이라고 나왔습니다. 물론 실제로 가능하구요.
- 촬영위치가 부정확하다고 하셨는데, Photosynth의 역할이 촬영위치를 역으로 찾아내는 게 핵심기술이랍니다.