Tag ‘PTAM’

돌아온 PTAM, OPTAMM

모바일 폰에서의 향상된 NFT 알고리즘에 이어 이번에는 다시 돌아온 PTAM 알고리즘에 대해 살펴보도록 하겠습니다. 역시 ISMAR 2009에서 발표될 예정이며 현재는 동영상만 공개되어 있는 상태입니다.

ISMAR 2007에 처음 발표되었던 PTAM (parallel tracking and mapping)은 이후 더욱 넓은 공간에의 적용을 위해 다중 맵을 지원하는 PTAMM (parallel tracking and multiple mapping)으로 개선되어 ISWC 2008에 선을 보였습니다. 하지만 예전에도 언급하였던 결정적인 약점은 계속 남아 있었으니, 바로 지도상에 인식된 지점의 실제 위치, 혹은 의미를 알 수 없다는 것입니다. 예를 들어, 미술관 실내의 지도를 멋지게 생성하더라도 앞에 있는 그림이 고흐의 그림인지 샤갈의 그림인지 인식할 수 있는 방법이 없었다는 것이죠.

이번에 나온 OPTAMM (parallel object recognition, tracking and multiple mapping)은 이러한 문제를 해결하기 위해 SIFT 알고리즘을 이용한 인식이 함께 수행되도록 확장되었습니다. 위의 동영상에는 포스터, 그림, 오실로스코프 등의 다양한 물체를 구분하는 시나리오들이 잘 표현되어 있죠.

지금까지의 PTAM은 그냥 한번 돌려서 데모용으로 보여주기에는 아주 훌륭하였지만 지속적으로 사용하기에는 불편한 점이 있었습니다. 이 때문에 자체적으로 SIFT와 통합하여 사용하는 사례도 있었는데, 아예 원작자 측에서 깔끔하게 정리를 해버렸군요. 이제 이를 기반으로 쏟아져 나올 다양한 응용들이 기대 됩니다. 물론 얼마 전의 아이폰 포트도 놓치지 말아야겠죠. 올해 ISMAR도 참 흥미진진하겠습니다.

iPhone에서 PTAM

최근에 나온 AR 관련 영상 중 가장 인상 깊은 것을 꼽으라고 한다면 iPhone에서 PTAM을 돌리고 있는 아래 영상을 추천하고 싶습니다.

PTAM은 ‘Parallel Tracking And Mapping’의 줄임말입니다. 여기서 mapping은 카메라를 통해 보고 있는 공간에 대한 구조를 기록하는 과정이고, tracking은 이렇게 만들어진 지도로부터 카메라의 현재 위치를 추적하는 과정입니다. 앞에 parallel이 붙은 것은 이 과정을 동시에 수행한다는 의미로, ISMAR 2007에서 Best Paper Award를 받았던 이 논문의 핵심 아이디어이기도 합니다. 매 프레임 크게 바뀌지 않는 mapping 과정에 시간을 투자하는 쓰레드와 매번 빠짐없이 신속하게 수행되어야 하는 tracking 쓰레드를 나누어서 듀얼 코어 CPU가 달린 컴퓨터로 돌리니 멋진 결과가 나와버린 것이죠.

단점이라고 한다면 시간이 지날 수록 지도의 크기가 기하급수적으로 커져 버린다는 것입니다. 학회장에서 발표될 당시에도 많은 사람들이 궁금해했던 부분이었습니다만, 몇시간씩 연속해서 넓은 공간을 대상으로 돌리기엔 아직 무리라는 답변이 돌아왔었습니다.

그런데! 2년이 지난 지금. 그 PTAM이 iPhone에서 돌아가고 있습니다. 아직 초기 단계라고 선을 긋고 있지만 프레임 저하가 거의 보이지 않는 성능은 이미 기대 이상입니다. iPhone 3G면 겨우 400 MHz짜리 ARM11 코어인데 Cortex가 달린 3GS에서는 날라다니겠네요.

물론 PTAM이 완벽한 것은 아닙니다. 지도에 표시된 지점이 무엇을 의미하는지 알아내기 위해서는 별도의 인식(recognition) 과정이 필수적이고, 앞서 언급한 확장성의 문제도 여전합니다. 물론 많은 사람들이 이미 고민하고 있으니 앞으로가 더욱 기대됩니다.