일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- AI
- 생성형 AI
- 실시간 렌더링
- 확산 모델
- 오블완
- 티스토리챌린지
- 오픈소스
- 다국어 지원
- 딥러닝
- 트랜스포머
- ChatGPT
- 아두이노
- PYTHON
- 우분투
- AI 기술
- TRANSFORMER
- OpenAI
- 이미지 생성
- tts
- 휴머노이드 로봇
- LORA
- 일론 머스크
- 인공지능
- OpenCV
- 오픈AI
- LLM
- 강화 학습
- ubuntu
- 메타
- 시간적 일관성
- Today
- Total
AI 탐구노트
Murre: 한 장의 사진으로 3D 공간을 만드는 새로운 기술 본문
우리가 사는 세상을 컴퓨터 속에서 그대로 재현하는 기술은 자율주행차, 게임, 로봇 등 다양한 분야에서 꼭 필요합니다. 이때 가장 많이 쓰이는 방법 중 하나가 ‘여러 장의 사진’을 이용해 실제 공간의 모양을 3D로 복원하는 기술입니다. 하지만 이 방식은 계산이 복잡하고, 비슷한 각도에서 찍은 사진이 많아야 잘 작동합니다.
그런데 최근에는 한 장의 사진만으로도 그 안에 담긴 거리(깊이)를 알아내는 '단안 깊이 추정(Monocular Depth Estimation)' 기술이 빠르게 발전하고 있죠. 여기에 'Diffusion Model'이라는 똑똑한 인공지능이 등장하면서, 한 장의 사진만으로도 꽤 정확한 3D 정보를 만들어낼 수 있게 되었습니다.
이러한 최신 기술들을 조합해서 만든 새로운 방법이 'Murre'입니다. 이 기술은 사진을 많이 찍지 않아도, 복잡한 계산을 하지 않아도, 다양한 장소에서 정확한 3D 복원을 가능하게 해줍니다.
Murre (Multi-view Reconstruction via SfM-guided Monocular Depth Estimation)
1) 기존 방식의 문제점
기존의 다중 시점 재구성 방식은 주로 다음과 같은 문제점을 안고 있었습니다.
- 고용량 연산 자원 소모 : 3D 공간에서의 특성 추출과 일치성 판단을 위해 다수의 이미지를 비교해야 하는데 이 경우, 많은 시간과 고사양의 컴퓨팅 자원이 필요합니다.
- 희소 시점에 대한 취약성 : 이미지 간 일치성 기반의 방식은 서로 다른 시점 간 공통 영역이 적을 경우 복원 정확도가 크게 낮아집니다. 즉, 서로 겹치는 사진이 많아야 제대로 작동하는데 몇 장 안 되는 사진으로는 한계가 있다는 얘기입니다.
- 대규모 3D 학습 데이터 필요 : 대부분의 학습 기반 모델은 고품질의 3D GT 데이터가 필요한데, 이를 확보하기 어렵다는 점도 큰 제약이었습니다.
2) 접근 방식
Murre라는 새로운 파이프라인은 위의 문제를 해결하기 위해 다음과 같은 두 가지 핵심 기술을 결합하여 작동합니다.
- SfM(Structure from Motion)으로 얻은 희소한 포인트 클라우드를 통해 장면의 전반적인 구조를 추정합니다. 즉, 사진 몇 장으로 대략적인 3D 포인트 클라우드를 만듭니다.
- 이 구조 정보를 조건(condition)으로 활용해 디퓨전 기반 단안 깊이 추정 모델을 작동시켜 각 이미지에 대한 정밀한 깊이 맵을 생성합니다.
즉, Murre는 복잡한 다중 시점 매칭을 수행하지 않고도 단일 이미지에서 깊이를 정밀하게 추정함으로써, GPU 자원 사용을 줄이고 희소 시점 상황에서도 높은 정확도를 유지할 수 있습니다.
3) Murre의 핵심 아이디어
아래 그림은 Murre의 핵심 아이디어를 전체적으로 보여 주고 있습니다. 요약하면 다음과 같습니다.
- 사진 몇 장을 이용해 장면의 기본 구조를 생성하고
- 이걸 이용해 각각의 사진에서 거리 정보를 예측한 후
- 이것들을 합쳐서 실제 장면을 3D로 만들어낼 수 있게 됩니다.
3) 세부 적용 기술
1️⃣ SfM 기반 깊이 가이드
- SfM(Structure from Motion)는 여러 시점의 이미지에서 공통적으로 관찰된 포인트를 기반으로 장면의 3D 구조를 구성하는 전통적인 방법입니다.
- Murre는 이 SfM에서 얻은 포인트를 각 이미지 시점으로 투영하여 희소한 깊이 지도(sparse depth map)를 생성하고, 이를 바탕으로 단안 깊이 추정을 유도합니다.
SfM(Structure from Motion)이란?
사진만 보고 공간과 카메라 움직임을 복원하는 기술. 즉 여러 장의 사진을 보고, 사진 속 장면의 3D 구조(깊이)를 예측하고 동시에 카메라의 위치를 알아낼 수 있습니다. 주로 드론이나 로봇이 주변 지형을 스캔하거나 고고학에서 유물을 복원할 때 사용됩니다.
2️⃣ KNN 기반 깊이 보간 (Depth Densification)
- 희소한 깊이 지도는 바로 활용하기 어렵기 때문에, KNN(k-nearest neighbors) 보간을 통해 각 픽셀의 주변 값들을 바탕으로 깊이 값을 추정합니다. 동시에 거리맵(distance map)도 함께 생성합니다.
- 이로 인해 SfM의 희소 정보를 보다 밀집된 형태로 변환할 수 있으며, 정밀한 깊이 추정에 큰 도움을 줍니다.
3️⃣ 디퓨전 기반 깊이 예측
- Murre는 기존의 이미지 생성에 활용되던 Latent Diffusion Model (LDM)을 깊이 예측에 응용합니다.
- 이 모델은 VAE(Variational Autoencoder)로 이미지와 깊이를 잠재 공간(latent space)으로 변환한 후, 점차 노이즈를 제거하며 최종 깊이 지도를 생성합니다.
- 입력으로는 RGB 이미지, 희소 SfM 기반 깊이 지도, 거리 맵(distance map)이 사용됩니다.
4️⃣ 다중 시점 일관성 확보
- 여러 시점에서 추정된 깊이 값 간의 스케일 차이를 줄이기 위해 RANSAC 기반 선형 보정을 수행합니다.
- 이를 통해 깊이 지도 간 일관성을 확보하며, 최종적으로 TSDF Fusion 기법을 활용해 3D 장면을 완성합니다.
5️⃣ 테스트 시간 최적화
- 빠른 추론을 위해 최소 1단계 디노이징(step)만으로도 높은 성능을 발휘할 수 있도록 Latent Consistency Model (LCM) 기반 distillation을 적용합니다.
- 앙상블 크기와 정렬 방법에 따라 정확도와 속도의 균형 조절이 가능합니다.
LCM(Latent Consistency Model)란?
많은 단계가 소요되던 작업을 적은 단계로도 비슷한 효과를 낼 수 있도록 따로 훈련시켜 빠르면서도 정확한 결과를 내도록 학습된 디퓨전 모델을 의미합니다.
4) 제약사항
- SfM 의존성 : SfM이 실패하는 극단적 상황(예: 두 장의 이미지에 거의 겹치는 영역이 없을 경우)에서는 전체 파이프라인이 작동하지 않습니다.
- 정적인 장면에 한정 : 현재 프레임워크는 정적인 환경을 가정하고 있으며, 움직이는 객체가 포함된 장면은 처리하기 어렵습니다.
Murre는 기존 다중 시점 3D 복원 방식의 한계를 뛰어넘는 새로운 접근을 제시합니다. 특히, SfM 기반의 전역 구조 정보와 디퓨전 기반의 강력한 이미지 priors를 결합함으로써, 단일 이미지에서도 정밀하고 일관된 깊이 추정이 가능해졌습니다. 이 기술은 현실 세계에서의 다양한 장면(실내, 실외, 공중 등)에 대해 높은 일반화 성능을 보이며, 자율주행, 증강현실, 로봇 내비게이션 등의 실생활 응용에서도 큰 효용을 발휘할 수 있습니다.
향후 SfM 단계의 제약을 보완하거나 동적인 장면에도 대응할 수 있는 확장이 이루어진다면, Murre의 활용 범위는 더욱 확대될 것입니다.
참고자료
- 사이트) Murre 프로젝트 사이트 (링크)
- 논문) Multi-view Reconstruction via SfM-guided Monocular Depth Estimation (링크)
- 코드) Murre github repository (링크)
Q&A
Q. Murre는 왜 다중 시점 매칭 과정을 생략할 수 있나요?
Murre는 SfM에서 추출한 포인트 클라우드를 활용해 각 이미지에 대한 깊이 정보를 유도하기 때문에, 직접적인 이미지 간 비교나 매칭 없이도 깊이 추정이 가능합니다.
Q. Murre는 어떤 상황에서 작동하지 않나요?
카메라 뷰 간 겹치는 영역이 거의 없거나, 시점 수가 지나치게 적은 경우 SfM 자체가 실패하게 되어 Murre 전체가 작동하지 않을 수 있습니다.
Q. Murre는 동적인 장면에서도 사용할 수 있나요?
현재 구조는 정적인 장면에만 최적화되어 있으며, 움직이는 객체가 있는 장면에서는 정확한 복원이 어렵습니다.
'AI 기술' 카테고리의 다른 글
TaoAvatar: AR 환경에서 실시간으로 말하는 3D 아바타 만들기 (0) | 2025.03.28 |
---|---|
RivVideoFlow : 딥러닝을 이용한 물의 흐름 속도 측정 (0) | 2025.03.27 |
InfiniteYou : 얼굴은 그대로, 사진은 자유롭게 바꾸는 AI 기술 (5) | 2025.03.25 |
SynCity : 텍스트만으로 만드는 자유로운 3D 세상 (1) | 2025.03.24 |
Neural Path Representation을 활용한 Text-to-Vector 생성 (0) | 2025.03.22 |