- Authors

- Name
- Youngju Kim
- @fjvbn20031
- 들어가며
- 깊이 추정의 문제 정의
- Depth Anything 계열의 개념
- 스테레오와 MVS 개요
- 3D 표현과 렌더링: NeRF에서 3D 가우시안 스플래팅으로
- 볼륨 렌더링을 조금 더
- 표현 방식의 트레이드오프
- 동적 장면과 시간의 문제
- 학습과 데이터의 관점
- 3D 재구성 파이프라인
- 응용 분야
- 깊이와 3D를 잇기
- 공통적으로 어려운 상황들
- 벤치마크를 읽는 법
- 강점과 한계 정리
- 마무리
- 참고 자료
- 퀴즈
들어가며
2D 이미지는 3D 세계를 평평하게 눌러 담은 결과입니다. 카메라는 깊이 정보를 한 번 버리고, 우리는 그 잃어버린 차원을 되찾으려 애씁니다. 3D 비전은 크게 두 질문으로 나눌 수 있습니다. 하나는 "각 픽셀이 얼마나 멀리 있는가"라는 깊이 추정이고, 다른 하나는 "이 장면을 임의의 시점에서 다시 그려낼 수 있는가"라는 3D 표현·렌더링입니다.
이 두 질문은 서로 다른 도구를 부릅니다. 깊이 추정은 카메라 한 대의 이미지에서 거리를 추론하는 문제로, 사람이 한 눈으로도 원근을 느끼는 능력과 닮았습니다. 3D 표현·렌더링은 여러 시점의 정보를 모아 장면을 통째로 담아 두었다가, 원하는 각도에서 다시 그려내는 문제입니다. 이 글은 두 질문을 차례로 따라가며, 각 분야의 대표 아이디어가 어떻게 이어져 왔는지 살펴봅니다.
이 글은 두 축을 아키텍처 원리 중심으로 정리합니다. 단안 깊이 추정과 그 대표 계열, 스테레오·다중뷰의 개요, 그리고 NeRF에서 3D 가우시안 스플래팅으로 이어지는 실시간 렌더링의 흐름을 다룹니다. 3D 비전 SOTA도 빠르게 바뀌므로, 특정 모델의 순위·수치는 단정하지 않고 개념 중심으로 설명합니다.
한 가지 용어를 미리 정리해 둡니다. 깊이 맵은 흔히 "2.5D"라고 불립니다. 각 픽셀의 거리를 담지만, 카메라 뒤편이나 가려진 부분은 알 수 없어 완전한 3D는 아니기 때문입니다. 반면 NeRF나 가우시안 스플래팅이 만드는 것은 임의 시점에서 다시 그려낼 수 있는 3D 표현입니다. 이 글에서 "깊이"와 "3D 표현"을 구분하는 이유가 여기에 있습니다. 둘은 이어져 있지만 담는 정보의 완전성이 다릅니다.
깊이 추정의 문제 정의
깊이 추정은 이미지에서 각 픽셀까지의 거리를 예측하는 과제입니다. 입력 구성에 따라 크게 나뉩니다.
- 단안 깊이(monocular depth): 이미지 한 장으로 깊이를 추정합니다. 근본적으로 모호한(ill-posed) 문제입니다. 같은 2D 이미지가 여러 3D 장면에서 나올 수 있기 때문입니다. 모델은 학습된 사전 지식(원근, 물체 크기, 텍스처, 가림 관계 등)으로 이 모호함을 메웁니다.
- 스테레오(stereo): 두 카메라의 시차(disparity)로 삼각측량하여 깊이를 계산합니다. 기하가 명확해 상대적으로 잘 정의된 문제입니다.
- 다중뷰 스테레오(MVS): 여러 시점의 이미지로 장면의 3D 구조를 복원합니다.
깊이 추정 입력 구성 (개념)
단안: [이미지 1장] --> 사전 지식으로 깊이 추론 (모호함 있음)
스테레오: [좌][우] --> 시차로 삼각측량 (기하 명확)
MVS: [여러 시점] --> 다중뷰 정합으로 3D 복원
상대 깊이와 미터 깊이
단안 깊이에서 자주 등장하는 구분이 있습니다.
- 상대 깊이(relative depth): "A가 B보다 가깝다"처럼 순서·비율 정보를 줍니다. 절대적인 미터 값은 없습니다. 장면 이해·편집에는 충분한 경우가 많습니다.
- 미터 깊이(metric depth): "이 픽셀은 3.2미터"처럼 실제 물리 단위의 깊이를 줍니다. 로봇·측량처럼 절대 거리가 필요한 응용에 중요하지만, 카메라 초점거리 같은 정보와 결합되어야 신뢰할 수 있습니다.
단안으로 미터 깊이를 안정적으로 얻는 일은 상대 깊이보다 어렵습니다. 스케일 모호성 때문입니다. 실무에서는 상대 깊이를 먼저 얻고 별도 정보로 스케일을 보정하거나, 미터 깊이를 직접 겨냥한 학습·보정을 사용합니다.
깊이가 사용하는 단서들
단안 모델이 깊이를 "추측"할 때 의존하는 시각적 단서들이 있습니다. 이 단서들은 사람이 한 눈으로도 원근을 느끼는 원리와 크게 다르지 않습니다.
- 원근(perspective): 평행선이 멀리서 한 점으로 모이는 성질. 도로·복도 같은 장면에서 강력한 단서입니다.
- 상대 크기: 같은 종류의 물체라면 작게 보이는 쪽이 더 멀리 있다고 추론합니다.
- 가림(occlusion): A가 B를 가리면 A가 더 앞에 있습니다. 순서 정보를 줍니다.
- 텍스처 그래디언트: 멀어질수록 표면 무늬가 촘촘해 보이는 성질.
- 음영·그림자: 빛과 그림자의 방향이 표면의 형태와 거리를 암시합니다.
모델은 이런 단서들을 데이터에서 스스로 학습해 종합합니다. 그래서 학습 데이터에 없던 낯선 장면(예: 특이한 스케일, 반사면)에서는 단서가 어긋나 오차가 커질 수 있습니다.
Depth Anything 계열의 개념
단안 깊이에서 최근 주목받은 흐름 중 하나는 대규모 데이터로 학습한 범용 깊이 모델입니다. Depth Anything 계열은 이 방향의 대표 개념으로 이해할 수 있습니다. 핵심 아이디어를 일반화해서 정리하면 다음과 같습니다.
- 대규모·다양성 데이터: 라벨된 깊이 데이터는 비싸므로, 라벨 없는 대량의 이미지를 활용하는 학습 전략(예: 교사 모델의 예측을 학생이 배우는 방식)을 통해 다양한 장면에 일반화합니다.
- 강한 백본 표현: 이미지 전반을 잘 표현하는 백본 위에 깊이 예측 헤드를 얹어, 처음 보는 장면에도 그럴듯한 깊이를 냅니다.
- 제로샷 일반화 지향: 특정 데이터셋에 과적합하지 않고, 다양한 도메인에서 바로 쓸 수 있는 상대 깊이를 목표로 합니다.
범용 단안 깊이 모델의 학습 (개념)
대량의 라벨 없는 이미지
|
[교사 모델의 깊이 예측을 라벨처럼 활용]
|
강한 백본 + 깊이 헤드 학습
|
결과: 처음 보는 장면에도 그럴듯한 상대 깊이
(미터 깊이는 추가 정보/보정 필요)
주의할 점은, 이런 모델이 "어떤 장면이든 완벽한 미터 깊이"를 보장하지는 않는다는 것입니다. 상대 깊이 품질은 인상적일 수 있지만, 절대 스케일·희귀 장면·반사/투명 표면 같은 어려운 상황에서는 오차가 커질 수 있습니다. 구체 성능은 데이터와 설정에 따라 달라지므로 일반화해서 이해하는 편이 안전합니다.
이 계열이 실무에서 매력적인 이유는 "카메라 한 대, 이미지 한 장"이라는 최소 입력으로 그럴듯한 깊이를 얻을 수 있다는 점입니다. 스테레오처럼 두 대의 정밀 정렬된 카메라나, MVS처럼 여러 시점 촬영이 필요 없습니다. 그래서 기존 영상·사진에 사후적으로 깊이를 부여하거나, 단일 카메라만 있는 기기에서 3D 감각을 얻는 데 유용합니다. 다만 그 편리함의 대가로 절대 스케일의 불확실성을 안고 가야 하며, 정밀한 거리가 필요한 곳에서는 보정이나 추가 센서가 요구됩니다.
스테레오와 MVS 개요
단안이 사전 지식에 의존한다면, 스테레오와 MVS는 기하를 직접 활용합니다.
- 스테레오 매칭: 좌우 이미지에서 같은 지점을 찾아(대응점) 시차를 구하고, 시차와 카메라 간격·초점거리로 깊이를 삼각측량합니다. 딥러닝 스테레오는 대응점 탐색과 정합 비용 계산을 학습으로 개선합니다.
- MVS(Multi-View Stereo): 여러 시점 이미지와 카메라 자세를 이용해 장면의 조밀한 3D 구조를 복원합니다. 관광지 사진 수백 장으로 건물을 3D로 재구성하는 작업이 대표적입니다.
- SfM(Structure from Motion): 여러 이미지에서 카메라 자세와 희소 3D 점을 함께 추정합니다. MVS와 3D 재구성 파이프라인의 앞단으로 자주 쓰입니다.
- 깊이 완성(depth completion): 희소한 깊이 측정(예: LiDAR 점)과 이미지를 결합해 조밀한 깊이 맵을 만듭니다. 센서와 학습을 함께 쓰는 실용적 접근입니다.
기하 기반 방법은 정확도가 높지만, 텍스처가 없는 표면·반사·가림에서 대응점 찾기가 어렵다는 한계가 있습니다. 단안(사전 지식)과 기하(스테레오/MVS)를 결합하려는 시도가 이어지는 이유입니다.
두 접근의 성격 차이를 한 줄로 요약하면 이렇습니다. 단안은 "본 적 있는 것으로 추측"하고, 기하는 "여러 각도로 재서 계산"합니다. 단안은 데이터에 없던 낯선 장면에서 흔들리지만 입력이 최소이고, 기하는 정확하지만 대응점이 잡히는 조건(충분한 텍스처, 겹치는 시점)을 요구합니다. 그래서 최근에는 단안의 강한 사전 지식으로 기하의 빈틈(무텍스처 영역 등)을 메우고, 기하의 정확한 스케일로 단안의 모호함을 잡아 주는 상호 보완이 자연스러운 방향으로 여겨집니다.
단안 대 기하 (성격 비교)
단안: 본 적 있는 것으로 추측 --> 입력 최소, 낯선 장면에 약함
기하: 여러 각도로 재서 계산 --> 정확, 대응점 조건 필요
결합: 단안이 빈틈을 메우고, 기하가 스케일을 잡아줌
3D 표현과 렌더링: NeRF에서 3D 가우시안 스플래팅으로
깊이가 "각 픽셀의 거리"라면, 3D 표현·렌더링은 "장면 전체를 담아 임의 시점에서 다시 그리는" 문제입니다. 이 분야를 크게 바꾼 두 흐름이 NeRF와 3D 가우시안 스플래팅입니다.
NeRF: 좌표를 색·밀도로 매핑
NeRF(Neural Radiance Fields)는 장면을 하나의 신경망으로 표현합니다. 3D 좌표와 시선 방향을 입력받아, 그 지점의 색과 밀도를 출력하는 함수를 학습합니다. 이미지를 렌더링할 때는 각 픽셀에서 광선을 쏘아 광선 위 여러 지점의 색·밀도를 신경망으로 구하고, 이를 누적(볼륨 렌더링)해 최종 색을 만듭니다.
NeRF 렌더링 (개념)
픽셀 --> 광선(ray)을 장면 안으로 발사
|
광선 위 여러 지점 샘플링
|
각 지점: [신경망](좌표, 방향) --> (색, 밀도)
|
볼륨 렌더링으로 색을 누적 --> 픽셀 색
- 강점: 새로운 시점 합성(novel view synthesis) 품질이 매우 높고, 표현이 연속적입니다.
- 한계: 렌더링 시 광선마다 신경망을 여러 번 평가해야 해 느립니다. 학습·추론이 무겁다는 것이 초기 NeRF의 대표적 약점이었습니다. 이후 여러 가속 연구가 이어졌습니다.
NeRF의 등장이 중요했던 이유는, "신경망 하나로 장면 전체를 담을 수 있다"는 발상 자체가 새로웠기 때문입니다. 명시적으로 점이나 메시를 저장하지 않고도, 함수의 형태로 장면을 표현하고 임의 시점을 합성할 수 있음을 보였습니다. 이 발상은 이후 수많은 후속 연구의 출발점이 되었고, 그 흐름 속에서 속도 문제를 정면으로 겨냥한 것이 가우시안 스플래팅이라 볼 수 있습니다.
3D 가우시안 스플래팅: 명시적 표현으로 실시간 렌더링
3D 가우시안 스플래팅(3D Gaussian Splatting)은 장면을 신경망 함수가 아니라 수많은 3D 가우시안(타원체 형태의 반투명 알갱이) 들의 집합으로 명시적으로 표현합니다. 각 가우시안은 위치, 크기·모양(공분산), 색, 불투명도 같은 속성을 가집니다. 렌더링은 이 가우시안들을 화면에 투영해(splatting) 빠르게 합성합니다.
3D 가우시안 스플래팅 (개념)
장면 = 수많은 3D 가우시안(위치, 모양, 색, 불투명도)
|
렌더링: 가우시안들을 화면에 투영(splat)하여 정렬·합성
|
학습: 렌더링 결과를 실제 이미지와 비교해
각 가우시안의 속성을 최적화
|
결과: 고품질 + 실시간에 가까운 렌더링 속도
- 핵심 차이: NeRF가 좌표를 색·밀도로 매핑하는 암묵적(implicit) 표현이라면, 가우시안 스플래팅은 알갱이를 직접 두는 명시적(explicit) 표현입니다.
- 강점: 렌더링이 빠릅니다. 명시적 알갱이를 투영해 합성하므로, 잘 최적화하면 실시간에 가까운 속도로 고품질 뷰를 낼 수 있습니다. 편집·조작도 직관적입니다.
- 한계: 가우시안 개수가 많으면 메모리 부담이 크고, 반사·투명·동적 장면 처리에는 추가 연구가 필요합니다. 세부 품질·속도는 장면과 구현에 따라 달라집니다.
NeRF와 3D 가우시안 스플래팅 비교
| 항목 | NeRF | 3D 가우시안 스플래팅 |
|---|---|---|
| 표현 | 암묵적(신경망 함수) | 명시적(가우시안 집합) |
| 렌더링 속도 | 상대적으로 느림 | 빠름(실시간에 근접 가능) |
| 뷰 합성 품질 | 매우 높음 | 매우 높음 |
| 편집 용이성 | 상대적으로 어려움 | 직관적 |
| 메모리 | 신경망 가중치 | 가우시안 수에 비례 |
표의 속도·품질은 일반적 경향이며, 실제 값은 장면 복잡도·해상도·구현에 따라 크게 달라집니다.
볼륨 렌더링을 조금 더
NeRF와 가우시안 스플래팅을 이해하려면 "여러 지점의 색을 어떻게 하나의 픽셀 색으로 합치는가"라는 렌더링 과정을 조금 더 들여다볼 필요가 있습니다.
핵심 직관은 "앞에 있는 불투명한 것이 뒤를 가린다"는 것입니다. 광선을 따라 여러 지점을 지날 때, 각 지점은 색과 "얼마나 불투명한가"를 가집니다. 앞쪽 지점이 불투명하면 뒤쪽 지점의 색은 거의 보이지 않습니다. 반대로 앞이 투명하면 뒤가 비쳐 보입니다. 최종 픽셀 색은 이 앞뒤 관계를 반영해 각 지점의 색을 가중 합한 결과입니다.
볼륨 렌더링의 직관 (개념)
광선: 카메라 --> 지점1 --> 지점2 --> 지점3 --> ...
각 지점: (색, 불투명도)
앞이 불투명하면 --> 뒤 지점은 거의 안 보임
앞이 투명하면 --> 뒤 지점이 비쳐 보임
픽셀 색 = 앞뒤 가림을 반영한 색의 가중 합
NeRF는 이 "각 지점의 색·불투명도"를 신경망으로 그때그때 계산합니다. 그래서 표현이 연속적이고 부드럽지만, 광선마다 신경망을 여러 번 호출해 느립니다. 가우시안 스플래팅은 각 가우시안이 이미 색과 불투명도를 속성으로 들고 있어, 신경망 호출 없이 투영·정렬·합성만 하면 됩니다. 이 차이가 속도 격차의 근본 원인입니다.
표현 방식의 트레이드오프
암묵적 표현(NeRF 계열)과 명시적 표현(가우시안 스플래팅)은 각각 장단이 뚜렷합니다.
- 암묵적 표현: 장면을 하나의 함수로 담아 메모리가 콤팩트하고, 연속적이라 매끄러운 표면 표현에 유리합니다. 대신 렌더링마다 함수를 많이 호출해 느리고, 특정 부분만 골라 편집하기가 어렵습니다.
- 명시적 표현: 알갱이(또는 점·복셀·메시)를 직접 두므로 렌더링이 빠르고, 특정 알갱이를 옮기거나 지우는 편집이 직관적입니다. 대신 알갱이 수가 많아지면 메모리가 커지고, 빈 공간을 촘촘히 채우기 어려울 수 있습니다.
표현 방식 스펙트럼 (개념)
암묵적(함수) <-----------------------> 명시적(알갱이/점)
| |
콤팩트·연속 빠름·편집 용이
렌더링 느림 메모리 부담
(NeRF 계열) (가우시안 스플래팅)
흥미로운 점은, 이 둘이 배타적이지 않다는 것입니다. 두 표현의 장점을 섞으려는 하이브리드 시도가 이어지고 있으며, 어떤 표현이 "정답"인지는 응용의 요구(속도, 편집성, 메모리, 품질)에 달려 있습니다.
동적 장면과 시간의 문제
지금까지 다룬 NeRF와 가우시안 스플래팅은 기본적으로 "정지한 장면"을 가정합니다. 여러 시점의 사진을 찍는 동안 장면이 움직이지 않아야 한다는 뜻입니다. 그러나 현실의 많은 장면은 움직입니다. 사람이 걷고, 나뭇잎이 흔들리고, 물이 흐릅니다.
동적 장면을 다루려는 접근은 대체로 "시간"이라는 축을 표현에 더합니다.
- 변형 필드(deformation field): 기준이 되는 정적 장면을 두고, 시간에 따라 그것이 어떻게 변형되는지를 별도로 학습합니다.
- 시간 조건화: 표현이 시간 입력을 받아, 같은 위치라도 시점에 따라 다른 색·형태를 내도록 합니다.
동적 장면은 데이터도 어렵습니다. 움직이는 대상을 여러 각도에서 동시에 찍으려면 여러 카메라가 필요하고, 한 대의 카메라로는 시점과 시간이 얽혀 문제가 어려워집니다. 이 분야는 활발히 연구 중이며, 세부 방법과 성능은 빠르게 바뀌므로 개념 수준에서 이해하는 편이 안전합니다.
학습과 데이터의 관점
- 깊이 학습 데이터: 미터 깊이 라벨은 LiDAR·깊이 센서 등으로 얻지만 비쌉니다. 그래서 상대 깊이·합성 데이터·자기지도(스테레오/영상 일관성) 신호를 활용하는 전략이 널리 쓰입니다. 특히 합성 데이터는 완벽한 깊이 라벨을 공짜로 주지만, 실제와의 도메인 갭을 다루는 것이 과제입니다.
- 3D 재구성 데이터: NeRF·가우시안 스플래팅은 여러 시점 이미지와 정확한 카메라 자세를 필요로 합니다. 자세 추정(SfM)의 품질이 최종 결과에 크게 영향을 줍니다.
- 일반화 대 특화: 한 장면을 정밀하게 재구성하는 것과, 처음 보는 장면에 바로 일반화하는 것은 다른 목표입니다. 응용에 따라 선택이 달라집니다.
3D 재구성 파이프라인
사진 여러 장으로 3D를 복원하는 전형적 파이프라인을 개념 수준에서 따라가 보면, 각 단계가 왜 필요한지 이해할 수 있습니다.
사진에서 3D로 (개념 파이프라인)
여러 시점의 사진들
|
[특징 추출·매칭] 각 사진에서 특징점을 찾고 사진 간 대응 연결
|
[SfM] 카메라 자세 + 희소 3D 점 동시 추정
|
[조밀 복원] MVS 또는 NeRF/가우시안 스플래팅으로 조밀한 표현 생성
|
결과: 3D 점군/메시 또는 렌더링 가능한 표현
- 특징 추출·매칭: 각 사진에서 두드러진 지점을 찾고, 서로 다른 사진의 같은 지점을 이어 붙입니다. 이 대응이 이후 모든 계산의 기초입니다.
- SfM(Structure from Motion): 대응 관계로부터 각 사진을 어디에서 찍었는지(카메라 자세)와 희소한 3D 점들을 함께 풉니다.
- 조밀 복원: 자세가 알려지면, MVS로 조밀한 점군을 만들거나 NeRF·가우시안 스플래팅으로 렌더링 가능한 표현을 학습합니다.
여기서 자주 놓치는 점은, 자세 추정의 품질이 최종 결과를 좌우한다는 것입니다. 카메라 자세가 부정확하면 아무리 좋은 렌더링 방법을 써도 흐릿하거나 어긋난 결과가 나옵니다. 그래서 실무에서는 촬영 단계(충분한 겹침, 다양한 각도, 흔들림 최소화)가 매우 중요합니다.
응용 분야
- 로보틱스: 깊이 추정으로 장애물 회피·파지·내비게이션을 지원합니다. 미터 깊이와 실시간성이 중요합니다. 로봇은 종종 깊이 센서(LiDAR 등)와 단안 추정을 함께 써 서로 보완합니다.
- AR/VR: 실제 공간에 가상 물체를 정합하려면 깊이와 3D 구조가 필요합니다. 가우시안 스플래팅의 실시간 렌더링은 몰입형 응용에 유리합니다. 가림 처리(가상 물체가 실제 물체 뒤로 가려지는 표현)에도 깊이가 필요합니다.
- 3D 재구성·디지털 트윈: 사진들로 공간·물체를 3D로 복원해 시뮬레이션·측량·보존에 활용합니다. 문화재 보존, 건설 현장 기록 등에서 쓰입니다.
- 콘텐츠 제작: 실사 장면을 3D로 담아 자유 시점 영상·특수효과에 씁니다. 촬영 후 카메라 경로를 자유롭게 바꾸는 작업이 가능해집니다.
- 의료·산업 검사: 내시경·촬영 영상에서 3D 구조를 복원해 진단·계측을 돕습니다. 정확성과 신뢰성이 특히 중요합니다.
- 자율주행: 주변 환경의 깊이·3D 구조 이해가 안전한 주행에 직결됩니다. 카메라·LiDAR·레이더를 융합하는 접근이 흔합니다.
응용마다 요구가 다릅니다. 로봇은 절대 거리와 지연을, 콘텐츠 제작은 시각 품질을 우선하는 식으로, 이 우선순위가 방법 선택을 좌우합니다. 같은 "3D 비전"이라도 자율주행의 실시간 안전 요구와 문화재 스캔의 정밀 품질 요구는 완전히 다른 설계로 이어집니다.
깊이와 3D를 잇기
깊이 추정과 3D 표현은 별개가 아니라 서로 이어집니다. 깊이 맵은 각 픽셀의 거리이므로, 카메라 정보를 알면 이를 3D 점들로 되돌릴 수 있습니다(역투영). 여러 시점의 깊이 맵을 정합하면 조밀한 점군이 되고, 이는 3D 재구성의 출발점이 됩니다.
깊이에서 3D로 (개념)
깊이 맵(각 픽셀의 거리) + 카메라 정보
|
역투영: 픽셀을 3D 점으로 되돌림
|
여러 시점의 점들을 정합
|
조밀한 3D 점군 --> 메시/표현으로 변환
반대 방향도 있습니다. 잘 만들어진 3D 표현에서 임의 시점의 깊이 맵을 렌더링해 낼 수 있습니다. 이처럼 깊이(2.5D)와 3D 표현은 서로를 오가며, 최근 시스템은 이 둘을 함께 다루는 경우가 많습니다. 단안 깊이의 강한 일반화와 다중뷰 3D의 기하적 정확도를 결합하려는 시도가 대표적 흐름입니다.
공통적으로 어려운 상황들
깊이 추정이든 3D 재구성이든, 아래 상황들은 공통적으로 까다롭습니다. 왜 어려운지 이해하면 결과를 해석하고 실패를 예상하는 데 도움이 됩니다.
- 반사·투명 표면: 거울·유리·물은 보이는 색이 표면 자체가 아니라 반사·투과된 다른 곳의 색입니다. 대응점 매칭도, 색·밀도 학습도 혼란스러워집니다.
- 무텍스처 영역: 흰 벽처럼 무늬가 없는 면은 "같은 지점"을 찾을 단서가 없어 스테레오·MVS가 어려워합니다.
- 가는 구조·경계: 철망, 머리카락, 나뭇가지처럼 가늘고 복잡한 구조는 표현·복원이 모두 까다롭습니다.
- 극단적 스케일: 매우 가깝거나 매우 먼 물체는 단서가 약해 오차가 커집니다. 단안의 미터 스케일 문제와도 얽힙니다.
- 조명 변화: 촬영 중 조명이 바뀌면 같은 지점의 색이 달라져 다중뷰 정합이 흔들립니다.
어려운 상황과 그 이유 (개념)
반사/투명 --> 보이는 색이 표면이 아님 --> 매칭·학습 혼란
무텍스처 --> 대응점 단서 없음 --> 스테레오/MVS 곤란
가는 구조 --> 표현 해상도 한계 --> 끊기거나 뭉개짐
극단 스케일 --> 단서 약함 --> 깊이 오차 확대
조명 변화 --> 색 불일치 --> 다중뷰 정합 흔들림
이런 상황을 만나면 "모델이 나빠서"라기보다 문제 자체가 어렵다는 점을 인지하는 것이 중요합니다. 실무에서는 추가 센서(깊이 센서), 촬영 조건 개선, 여러 방법의 융합으로 이를 완화합니다.
벤치마크를 읽는 법
깊이·3D 논문의 수치를 읽을 때 유의할 점이 있습니다.
- 상대냐 미터냐: 깊이 정확도를 볼 때, 상대 깊이 기준인지 미터 깊이 기준인지 먼저 확인해야 합니다. 둘은 난이도가 다릅니다.
- 데이터셋 도메인: 실내·실외·운전 등 데이터셋 특성이 내 응용과 닮았는지 봐야 합니다. 실내에서 좋은 모델이 실외에서 그렇지 않을 수 있습니다.
- 뷰 합성 지표의 맥락: 렌더링 품질 지표는 학습에 쓴 시점과 얼마나 떨어진 시점을 평가하는지에 따라 크게 달라집니다. 학습 시점에 가까운 뷰는 대체로 쉽습니다.
숫자만 비교하기 전에 "어떤 조건에서, 무엇을 기준으로 잰 값인가"를 함께 묻는 습관이 중요합니다.
강점과 한계 정리
| 접근 | 강점 | 한계 |
|---|---|---|
| 단안 깊이(범용) | 이미지 한 장으로 즉시, 강한 일반화 | 미터 스케일 모호, 어려운 표면에서 오차 |
| 스테레오/MVS | 기하 기반 높은 정확도 | 무텍스처·반사·가림에 취약 |
| NeRF | 고품질 뷰 합성, 연속 표현 | 렌더링 느림(가속 연구 이어짐) |
| 3D 가우시안 스플래팅 | 실시간 근접 렌더링, 편집 용이 | 메모리 부담, 동적·투명 장면 난제 |
마무리
3D 비전은 "잃어버린 차원을 되찾는" 두 갈래의 노력으로 볼 수 있습니다. 깊이 추정은 각 픽셀의 거리를, 3D 표현·렌더링은 장면 전체를 임의 시점에서 되살리는 능력을 겨냥합니다. 단안 깊이는 사전 지식으로 모호함을 메우고, 스테레오·MVS는 기하로 정확도를 얻으며, NeRF와 가우시안 스플래팅은 표현 방식(암묵적 대 명시적)의 선택으로 품질과 속도의 균형을 잡습니다.
특히 NeRF에서 3D 가우시안 스플래팅으로의 전환은 "고품질이지만 느린" 렌더링을 "고품질이면서 실시간에 근접한" 렌더링으로 밀어올린 대표적 사례입니다. 이 계보의 사고방식을 이해하면, 앞으로 나올 새 표현·모델도 훨씬 빠르게 자리매김할 수 있습니다.
실무자에게 남기고 싶은 조언은 이것입니다. "가장 좋은 3D 방법"이라는 절대적 답을 찾기보다, 자신의 응용이 무엇을 요구하는지(상대 깊이면 되는가 미터 깊이가 필요한가, 실시간이 필요한가, 편집이 필요한가, 정적 장면인가 동적 장면인가)를 먼저 정하십시오. 그 요구가 정해지면, 단안 깊이·스테레오·MVS·NeRF·가우시안 스플래팅이라는 부품 중에서 알맞은 것을 고르고 조합하는 일이 훨씬 명확해집니다. 3D 비전의 어려움은 대부분 "무엇을 포기할 수 있는가"의 문제이며, 그 선택을 명확히 하는 것이 좋은 시스템의 출발점입니다.
참고 자료
- NeRF 논문 "Representing Scenes as Neural Radiance Fields": arxiv.org/abs/2003.08934
- 3D Gaussian Splatting 논문: arxiv.org/abs/2308.04079
- 3D Gaussian Splatting 프로젝트 페이지: repo-sam.inria.fr/fungraph/3d-gaussian-splatting
- Depth Anything 논문: arxiv.org/abs/2401.10891
- MiDaS(범용 단안 깊이) 논문: arxiv.org/abs/1907.01341
- COLMAP(SfM/MVS) 프로젝트: colmap.github.io
- Vision Transformer(ViT) 논문: arxiv.org/abs/2010.11929
- Depth Anything 코드: github.com/LiheYoung/Depth-Anything
퀴즈
Q1: 단안 깊이 추정이 근본적으로 모호한(ill-posed) 문제인 이유는?
같은 2D 이미지가 여러 다른 3D 장면에서 나올 수 있기 때문입니다. 깊이 정보가 투영 과정에서 사라지므로, 모델은 학습된 사전 지식으로 모호함을 메워야 합니다.
Q2: 상대 깊이와 미터 깊이의 차이는?
상대 깊이는 순서·비율(A가 B보다 가깝다)만 주고 절대 단위가 없습니다. 미터 깊이는 실제 물리 단위의 거리를 주지만, 단안에서는 스케일 모호성 때문에 얻기가 더 어렵습니다.
Q3: Depth Anything 계열이 지향하는 학습 방향은?
라벨 없는 대량 이미지를 활용해(예: 교사 예측을 학생이 학습) 강한 백본 위에 깊이 헤드를 얹어, 처음 보는 장면에도 잘 일반화되는 상대 깊이를 얻는 것입니다.
Q4: 스테레오가 단안보다 기하적으로 잘 정의된 이유는?
두 카메라의 시차로 삼각측량하기 때문입니다. 대응점을 찾으면 시차·카메라 간격·초점거리로 깊이를 직접 계산할 수 있어 모호함이 작습니다.
Q5: NeRF의 표현 방식과 그 한계는?
좌표와 시선 방향을 색·밀도로 매핑하는 암묵적(신경망) 표현입니다. 뷰 합성 품질은 높지만, 광선마다 신경망을 여러 번 평가해야 해 렌더링이 느립니다.
Q6: 3D 가우시안 스플래팅이 NeRF와 다른 핵심 차이는?
장면을 신경망 함수(암묵적)가 아니라 수많은 3D 가우시안(명시적 알갱이)의 집합으로 표현합니다. 이를 화면에 투영해 합성하므로 렌더링이 빠르고 편집도 직관적입니다.
Q7: 3D 가우시안 스플래팅의 한계 하나를 든다면?
가우시안 개수가 많으면 메모리 부담이 커집니다. 또한 반사·투명·동적 장면 처리에는 추가 연구가 필요하며, 세부 품질·속도는 장면과 구현에 따라 달라집니다.
Q8: 응용에 따라 3D 비전 방법 선택이 달라지는 예는?
로봇은 절대 거리(미터 깊이)와 낮은 지연을 우선하고, 콘텐츠 제작은 시각 품질을 우선합니다. 이런 우선순위 차이가 단안/스테레오/NeRF/가우시안 스플래팅 중 무엇을 쓸지 좌우합니다.
Q9: 볼륨 렌더링에서 앞쪽 지점의 불투명도가 중요한 이유는?
앞이 불투명하면 뒤 지점의 색이 거의 가려지고, 앞이 투명하면 뒤가 비쳐 보입니다. 최종 픽셀 색은 이 앞뒤 가림 관계를 반영해 각 지점의 색을 가중 합한 결과이기 때문입니다.
Q10: 암묵적 표현과 명시적 표현의 대표적 트레이드오프는?
암묵적(NeRF)은 콤팩트·연속적이지만 렌더링이 느리고 편집이 어렵습니다. 명시적(가우시안 스플래팅)은 빠르고 편집이 직관적이지만 알갱이 수가 많으면 메모리 부담이 커집니다.
Q11: 3D 재구성에서 카메라 자세 추정(SfM)의 품질이 중요한 이유는?
자세가 부정확하면 아무리 좋은 렌더링 방법을 써도 흐릿하거나 어긋난 결과가 나오기 때문입니다. 그래서 촬영 단계의 겹침·각도·흔들림 관리가 최종 품질을 좌우합니다.
Q12: 반사·투명 표면이 깊이·3D에서 어려운 이유는?
거울·유리·물은 보이는 색이 표면 자체가 아니라 반사·투과된 다른 곳의 색이기 때문입니다. 대응점 매칭도 색·밀도 학습도 이 때문에 혼란스러워집니다.
Q13: 깊이 맵을 3D 점으로 되돌리는 과정은?
깊이 맵은 각 픽셀의 거리이므로, 카메라 정보를 알면 각 픽셀을 3D 공간의 점으로 역투영할 수 있습니다. 여러 시점의 점을 정합하면 조밀한 3D 점군이 되어 재구성의 출발점이 됩니다.