0biglife.

[자율주행] 3D 데이터 표현 — 포인트 클라우드부터 복셀·BEV까지

자율주행/데이터

· 2026-07-17

[자율주행] 3D 데이터 표현 — 포인트 클라우드부터 복셀·BEV까지

캘리브레이션으로 좌표계를 맞추고 나면, 이제 손에 남는 것은 3D 점들의 집합 — 포인트 클라우드다. 문제는 이 데이터가 이미지와 근본적으로 다르게 생겼다는 것이다. 이미지는 픽셀이 격자에 가지런히 놓이지만, 라이다 점은 순서도 격자도 없이 공간에 흩뿌려져 있다.

이 성기고 무질서한 데이터를 어떤 형태로 담느냐가 자율주행 3D 인지의 첫 설계 결정이다. 표현을 고르는 순간, 그 위에 올릴 객체 검출·점유 모델의 구조가 거의 정해진다.

포인트 클라우드의 세 가지 골칫거리

라이다 포인트 클라우드는 보통 점마다 (x, y, z, intensity)를 갖는다. 여기엔 세 가지 다루기 힘든 성질이 있다.

  1. 비정형(unordered) — 점에는 순서가 없다. 같은 장면을 점 목록으로 두 번 적어도 순서만 다를 뿐 같은 것이어야 한다(순열 불변성).
  2. 성김(sparse) — 공간의 대부분은 비어 있다. 멀수록 점이 급격히 성겨진다.
  3. 불균일(irregular) — 가까운 곳은 촘촘, 먼 곳은 듬성. 격자에 딱 안 맞는다.

이미지용 CNN을 그대로 못 쓰는 이유가 여기 있다. 그래서 나온 것이 아래 표현들이다.

점 그대로 다루기 (Point-based)

PointNet 계열은 점을 격자로 바꾸지 않고 점 집합 자체를 처리한다. 각 점에 같은 MLP를 적용하고, 마지막에 순서에 무관한 연산(max-pooling)으로 모은다. 순열 불변성을 자연스럽게 만족하고 원본 해상도를 잃지 않는다는 장점이 있다. 다만 원조 PointNet은 지역 구조를 못 봐서, 이웃을 묶어 계층적으로 보는 변형(PointNet++)이 나왔는데 — 점 수가 많아지면 이 이웃 탐색·그룹핑 비용이 커져 대규모 실시간에는 부담이 있다.

복셀과 기둥 (Voxel / Pillar)

가장 직관적인 해법은 공간을 작은 3D 격자(복셀, voxel)로 잘라 각 칸에 점을 담는 것이다. 그러면 3D 컨볼루션을 쓸 수 있다. 문제는 대부분의 복셀이 비어 있어(희소) 낭비가 크다는 점 — 그래서 희소 컨볼루션(sparse convolution) 으로 빈 칸을 건너뛴다.

한 걸음 더 단순화한 것이 기둥(pillar) 이다. 높이(z)를 자르지 않고 위에서 내려다본 2D 격자로 뭉갠 뒤, 각 기둥 안의 점들을 특징으로 요약한다(PointPillars). 3D 컨볼루션을 2D로 낮추니 훨씬 빠르다. 자율주행 실시간 검출이 오래 애용한 방식이다.

거리 이미지 (Range Image)

라이다는 사실 회전하며 각도별로 거리를 재므로, 그 출력을 거리 이미지(range image) 로 펼칠 수 있다. 세로는 빔(채널), 가로는 회전 각도, 픽셀 값은 거리. 그러면 조밀한 2D 이미지가 되어 일반 CNN을 그대로 쓸 수 있고 메모리도 작다. 다만 3D의 이웃이 2D에서 멀리 떨어지는 왜곡이 있어, 정확한 형상 추론엔 약할 수 있다.

조감도 — BEV (Bird's-Eye View)

최근 자율주행이 사실상 수렴한 표현이 BEV, 조감도다. 세상을 위에서 내려다본 2D 격자(예: 전후좌우 100m를 0.5m 칸으로)로 표현한다.

BEV가 강한 이유는 분명하다.

  • 거리·크기가 왜곡 없이 보존된다. 카메라 원근처럼 멀다고 작아지지 않는다.
  • 여러 센서를 한 판에 얹기 쉽다. 라이다도, 여러 카메라도 전부 같은 BEV 격자로 모을 수 있다.
  • 다운스트림이 통일된다. 검출·점유·차선·궤적이 모두 같은 BEV 위에서 돌아간다.

그래서 요즘 인지 스택은 "센서 입력 → BEV 특징 맵 → 여러 태스크 헤드"라는 모양으로 정렬됐다. 카메라만으로 BEV를 만드는 연구(BEVFormer, LSS 계열)가 활발한 것도 이 흐름 때문이다.

표현은 트레이드오프다

정답인 표현은 없다. 고르는 순간 무언가를 얻고 무언가를 잃는다.

표현강점약점
포인트원본 해상도 보존대규모 실시간 비용
복셀3D 형상 유지희소·메모리 부담
기둥/BEV빠르고 통합 쉬움높이 정보 압축
거리 이미지조밀·빠름3D 이웃 왜곡

실무에선 하나만 쓰기보다 섞어 쓴다. 초반엔 복셀/기둥으로 형상을 잡고, 뒤에서 BEV로 모아 태스크별 헤드로 나눈다.

데이터 엔지니어의 시선

표현 선택은 모델러의 일 같지만, 데이터 쪽에도 그대로 걸린다.

  • 어떤 표현으로 미리 변환(전처리) 해 저장할지 — 원본 점을 그대로 둘지, BEV 텐서로 구워둘지.
  • 표현마다 해상도·범위(range) 를 얼마로 할지 — 이게 저장 용량과 학습 속도를 정한다.
  • 같은 원본에서 여러 표현을 재현 가능하게 뽑아낼 수 있는지.

즉 3D 데이터 표현은 알고리즘이자 곧 저장 포맷 설계다.

정리

  • 라이다 포인트 클라우드는 비정형·성김·불균일이라 이미지 CNN을 그대로 못 쓴다.
  • 표현은 점(PointNet)·복셀/기둥(PointPillars)·거리 이미지·BEV로 나뉘며 각각 트레이드오프가 있다.
  • 최근 자율주행은 거리·크기가 보존되고 멀티센서·멀티태스크를 통합하기 좋은 BEV로 수렴했다.
  • 표현 선택은 모델 구조이자 동시에 저장·전처리 포맷의 설계다.

이제 이 3D 표현 위에서 실제 알고리즘이 돈다. 먼저 차가 '길'을 이해하는 법 — 차선 검출과 온라인 맵으로 간다.

Index

포인트 클라우드의 세 가지 골칫거리점 그대로 다루기 (Point-based)복셀과 기둥 (Voxel / Pillar)거리 이미지 (Range Image)조감도 — BEV (Bird's-Eye View)표현은 트레이드오프다데이터 엔지니어의 시선정리