Convolutional Occupancy Networks는 2020년 3월 10일 arXiv에 처음 제출되었으며, 이후 2020년 8월 1일에 수정된 버전이 업로드되었습니다 . 이 논문은 유럽 컴퓨터 비전 학회인 ECCV 2020에서 Spotlight 발표로 선정되었습니다 .(arXiv)
- 제목: Convolutional Occupancy Networks
- 저자: Songyou Peng, Michael Niemeyer, Lars Mescheder, Marc Pollefeys, Andreas Geiger
- 제출일: 2020년 3월 10일
- 수정일: 2020년 8월 1일
- 학회: ECCV 2020 (Spotlight 발표)
- arXiv 링크: https://arxiv.org/abs/2003.04618(arXiv)
간단한 설명
Convolutional Occupancy Networks (CONs)는 3D 형상 복원 및 표현을 위한 딥러닝 기반의 방법으로, 연속적인 3D 공간 상의 점들이 물체 내부(occupancy)인지 아닌지를 예측하는 데 초점을 둡니다. 기존의 Occupancy Networks가 MLP 기반의 구조로 global 정보를 처리하는 데 중점을 두었다면, CONs는 convolutional encoder와 implicit occupancy decoder를 결합하여 지역적인 디테일(local detail)을 효과적으로 캡처할 수 있도록 설계되었습니다.
입력: 노이즈가 있는 포인트 클라우드 또는 저해상도 복셀 표현
출력: 연속적인 3D 공간에서의 occupancy field
구조: convolutional encoder와 implicit decoder의 결합
장점:
이 모델은 특히 노이즈가 있는 포인트 클라우드나 저해상도 복셀로부터 복잡한 형상을 정밀하게 복원하는 데 효과적이며, 대규모 실내 장면에도 확장 가능하고, 합성 데이터에서 실제 데이터로의 일반화 능력이 우수하다는 점에서 기존의 Occupancy Networks보다 향상된 성능을 보여줍니다 .(arXiv)
3D 복원은 이미지나 센서 데이터에서 물체나 장면의 3차원 구조를 추정하는 기술로, 자율주행, AR/VR, 로봇 비전 등 다양한 분야에서 핵심 역할을 합니다.
이런 3D 데이터를 효과적으로 표현하려면 다음과 같은 조건을 만족해야 합니다:
최근엔 암시적 표현(implicit representation) 방식이 등장했는데, 이는 3D 공간을 점유 함수(Occupancy Function)나 Signed Distance Function(SDF)으로 연속적으로 표현합니다. 하지만 대부분 단일 객체(single object)에만 적용되고, Fully-connected 네트워크만을 사용해 지역 정보 활용이 어렵고 결과도 부드럽기만 한 경우가 많습니다.
저자들은 위의 한계를 해결하기 위해 Convolutional Occupancy Networks를 제안합니다. 이 모델은 CNN의 지역성(Locality)과 계층적 정보 표현 능력을 암시적 표현과 결합하여 다음을 실현합니다:
이 방식은 특히 정밀한 3D 재구성이 필요한 분야에서 높은 가능성을 보여주며, 실세계 적용성도 뛰어난 것으로 평가받고 있습니다.
3D 복원 방식은 어떻게 나뉘나요?
학습 기반 3D 복원 기법들은 어떤 방식으로 3D를 표현하느냐(출력 표현 방식)에 따라 나눌 수 있습니다. 아래는 주요 방식들과 그 한계입니다.
3D 공간을 정육면체 격자(voxel)로 나눠서 표현하는 방식입니다.
초기 딥러닝 기반 3D 복원 연구들에서 널리 사용됨
문제점:
3D 객체를 많은 점들의 집합으로 표현합니다.
장점: 메모리 효율이 좋음
단점:
3D 형태를 정점(vertices)과 면(faces)으로 구성된 메시 형태로 직접 예측합니다.
일부 방법은 고정된 템플릿 메시를 변형하는 방식, 일부는 메시를 직접 생성합니다.
문제점:
Occupancy Networks나 Signed Distance Fields(SDF) 방식으로, 입력 3D 좌표에 대해 점유 확률 또는 거리값을 예측하는 뉴럴 네트워크입니다.
장점:
다양한 응용 분야:
단점:
기존의 몇몇 예외적 시도들은 CNN을 활용하긴 했지만, 이미지 도메인(2D)에만 국한되어 카메라 시점에 종속되고, 복원 범위도 단일 객체에 제한됩니다.
이번 연구는 물리적 3D 공간 상에서 특징을 모읍니다.
즉, 2D와 3D 컨볼루션을 함께 사용하여, 카메라 시점이나 입력 형식에 독립적인 장면 중심(world-centric) 복원이 가능해집니다.
이와 같은 분석을 바탕으로, Convolutional Occupancy Networks는 기존 한계들을 넘어서며 장면 수준의 정밀한 3D 복원까지 가능하게 하는 새로운 접근이라고 할 수 있습니다.

이 논문의 목표는 implicit 3D 표현을 더 풍부하고 표현력 있게 만드는 것입니다. 전체 모델 구조는 크게 네 부분으로 구성되어 있으며, Fig. 2에서 그 개요를 확인할 수 있습니다.
전체 흐름
이 논문에서는 다음 세 가지 표현 방식을 실험합니다:
구성 요소 소개
이 모델은 convolutional 구조의 장점인 지역 정보 통합 및 이동 등가성(translation equivariance)을 잘 활용하여, 기존 implicit 방식보다 더 정교하고 확장성 높은 3D 복원이 가능합니다.

Convolutional Occupancy Networks에서는 다양한 형태의 입력을 받아 처리할 수 있지만, 이 논문에서는 3D 입력(포인트 클라우드나 거친 점유 격자)을 중심으로 세밀한 디테일 복원 능력과 대규모 장면에의 확장성을 보여줍니다.
입력 : 노이즈 있는 sparse point cloud 혹은 coarse occupancy grid
처리 방법:
이렇게 얻은 각 포인트/복셀의 feature encoding을 사용하여 두 가지 방식으로 feature를 구성합니다.
각 입력 포인트를 정사영(orthographic projection)하여 정해진 평면에 투영합니다.
예: XY, YZ, ZX 평면 (좌표축에 정렬된 기준 평면)
평면은 픽셀 해상도로 구성되며,
동일 픽셀에 투영된 feature는 average pooling으로 집계합니다.
출력: 크기의 planar feature map
(는 feature 차원)
모델 구성:
2D 평면은 고해상도 표현은 가능하지만, 3D 구조 정보를 직접 담기엔 부족합니다.
→ 이를 보완하기 위해 3D voxel grid를 사용하는 volumetric 방식도 적용합니다.
방식은 Plane Encoder와 유사하게, 동일한 voxel cell로 들어간 feature들을 average pooling하여 집계합니다.
출력: 크기의 volumetric feature map
→ 해상도는 일반적으로 등 상대적으로 낮음
요약 포인트
Convolutional Occupancy Networks에서는 인코더로 만든 feature map을 U-Net 기반 디코더로 처리해 더 풍부하고 위치에 강건한 표현으로 바꿉니다.
2D 및 3D Hourglass(U-Net) 구조
특징:
| 디코더 | 설명 | 사용 U-Net |
|---|---|---|
| 🟩 Single-plane decoder (Fig. 2c) | 단일 ground plane feature 사용 | 2D U-Net |
| 🟦 Multi-plane decoder (Fig. 2d) | 3개 평면(XY, YZ, ZX) feature 각각 처리 | 2D U-Net (weight 공유) |
| 🟥 Volume decoder (Fig. 2e) | 3D volume feature 사용 | 3D U-Net |
각 U-Net의 깊이는 해당 평면/볼륨의 전체 크기만큼 수용영역(receptive field)이 되도록 설계됨
핵심 요약
목표:
어떤 3차원 점 p가 물체 안에 포함되어 있는지 여부(occupancy)를 확률(0~1)로 예측
과정 요약:
특징값 추출 (Feature Querying)
점 p의 위치에서 feature 값을 얻기 위해 다음 방식 사용:
| 디코더 타입 | 방법 | 설명 |
|---|---|---|
| 🟩 Single-plane | p를 평면에 직교 투사 → bilinear interpolation | 평면상의 위치로 매끄럽게 feature 추출 |
| 🟦 Multi-plane | 3개 평면 모두 투사 → 각 feature를 합산 | 방향별 정보 결합 |
| 🟥 Volume | p를 3D grid 상에 매핑 → trilinear interpolation | 볼륨 기반 feature 추출 |
Occupancy Network 통과
추출된 feature 와 위치 를 함께 작은 **MLP(다층 퍼셉트론)**에 입력
이 네트워크는 점 p의 occupancy 확률을 출력:
핵심 포인트:
입력: 3D 공간 안에서 query point 를 균일하게 샘플링
출력: 각 의 occupancy 확률 예측
손실 함수: Binary Cross Entropy (BCE) Loss 사용
최적화:
출력 형식: 3D mesh
방법: Multiresolution IsoSurface Extraction (MISE) 사용
확장성:
핵심요약:
모델은 3D 공간에서 포인트들을 샘플링해 occupancy를 예측하며, BCE loss로 학습하고 MISE 기법을 통해 mesh를 생성한다. fully-convolutional 구조 덕분에 넓은 공간도 슬라이딩 윈도우 방식으로 추론 가능하다.
연구에서는 ShapeNet 데이터셋을 기반으로 단일 객체 재구성(single object reconstruction) 실험을 수행하였으며, 두 가지 3D 입력 유형을 사용했습니다:
학습 시 감독(supervision)을 위한 쿼리 포인트 수는 포인트 클라우드의 경우 2048개, 복셀의 경우 1024개를 사용했습니다. 각 입력에 따라 다른 인코더 구조를 사용하며, 배치 사이즈는 각각 32와 64로 설정했습니다.






연구팀은 제안한 방법이 **더 큰 장면(scene)**에도 확장 가능함을 평가하기 위해, 합성된 실내 장면 데이터셋을 사용해 포인트 클라우드 기반 3D 재구성을 수행했습니다.
입력 데이터:
사용된 방식 및 해상도:
결과 요약 (Table 3 및 Fig. 5 참고):
제안한 모든 방법이 장면의 기하학적 디테일을 잘 복원하고 부드러운 표면을 생성함.
비교 방법 성능:
각 방식의 특성:
평면 + 볼륨 결합 방식: 개별적으로 사용하는 것보다 더 나은 성능을 보임 → 두 방식이 상호 보완적임을 입증.
최고 성능: 64³ 고해상도 볼륨 특징을 사용할 때 달성됨.
본 절에서는 합성 실내 장면 데이터셋을 이용해 다음 두 가지 요소의 영향을 분석했습니다:

(Table 4a 참조)
여러 피처 집계 방식 비교 결과:
(Table 4b 참조)
멀티-플레인 방식에서 두 가지 보간 기법을 비교:
결과:
이번 실험에서는 제안한 방법의 일반화 성능과 대규모 장면에 대한 확장성을 평가하기 위해, 합성 데이터로 학습한 모델을 실제 세계 데이터셋에 적용했습니다.
실험 설정:
학습 데이터: 합성 실내 장면 데이터셋
평가 데이터:
입력: 메쉬에서 추출한 10,000개의 포인트 클라우드


대규모 장면(여러 방과 층 포함)에 대한 확장성(scalability) 평가
입력 포인트 클라우드의 오버랩된 슬라이딩 윈도우 방식으로 처리 가능한 완전한 3D 합성곱 모델(full convolutional 3D model) 사용
(Fig. 1 참조) 방 내부의 디테일을 잘 복원하면서 전체 공간 구조(room layout)도 잘 유지
Matterport3D의 지오메트리 및 포인트 분포가 학습 데이터와 매우 다름에도 불구하고,
제안한 모델은 새로운 클래스, 방 구조, 센서 특성까지도 성공적으로 일반화함
요약하자면, 제안된 방식은 합성 데이터로 학습한 후 실제 장면에 일반화 가능하며, 복잡하고 큰 환경에도 확장 가능함을 입증했습니다.
이 논문에서는 Convolutional Occupancy Networks라는 새로운 형태의 3D 표현 방식을 제안했습니다.
이는 합성곱 신경망(CNN)의 표현력과 암시적(implicit) 표현의 유연성을 결합한 방식입니다.
2D vs. 3D 피처 표현의 장단점을 분석하고,
CNN 기반의 피처 처리가 새로운 클래스, 방 구조, 대규모 장면에 잘 일반화됨을 확인
3-플레인(3-plane) 모델:
볼륨 기반 모델: