3D Point Cloud Processing and Learning for Autonomous Driving 논문에서 설명하는 LiDAR 기반의 Point CLoud를 어떻게 처리하는지 알아보고자 합니다.
논문 “3D Point Cloud Processing and Learning for Autonomous Driving” 는 자율주행에서 사용하는 LiDAR 기반 포인트 클라우드(Point Cloud)를 어떻게 처리하고 학습하는지 전체적으로 정리한 논문입니다.
즉, 새로운 모델 하나를 제안하는 논문이라기보다 “자율주행에서 3D 포인트 클라우드를 어떻게 사용하는가?” 를 전체적으로 설명하는 Survey(리뷰) 논문이라고 보면 됩니다.
자율주행 자동차는 주변 환경을 이해하기 위해 여러 센서를 사용하는데
대표적으로 Camera, Radar, GPS, IMU, LiDAR 가 있습니다.
그중 LiDAR는 주변 공간을 3차원 점 데이터로 표현하는데 이렇게 얻은 데이터가 바로 Point Cloud 입니다.
Point Cloud는 공간상의 점들의 집합입니다.
각 점은 보통 좌표를 가지며 추가적으로 intensity(반사 강도), color, timestamp 등을 포함할 수도 있습니다.
예를 들어 LiDAR가 자동차 주변을 스캔하면 도로, 차량, 보행자, 건물, 나무 가 수십만 개의 점으로 표현됩니다.
카메라는 2D 이미지라 깊이(depth)를 정확히 알기 어렵지만, LiDAR는 거리 측정이 정확하고 3D 구조를 직접 얻을 수 있어서 자율주행에서 매우 중요합니다.
특히 객체 거리 계산과 충돌 회피, SLAM, Localization, 3D Object Detection에 핵심적으로 사용됩니다.
논문에서 가장 중요하게 말하는 부분 중 하나로, Point Cloud는 이미지와 달리
이라는 특징이 있습니다. 즉 이미지처럼 픽셀 격자 형태가 아니기 때문에 CNN을 적용하기 어렵습니다.
논문은 Point Cloud를 여러 방식으로 표현한다고 설명합니다.
3D 공간을 작은 큐브(voxel)로 나눕니다.
대표적인 자율주행 방식으로 차량 주변 환경을 위에서 내려다본 2D 형태로 변환한 표현합니다.
차선이나 차량 위치, 도로 구조를 보기 좋습니다.
LiDAR 데이터를 2D 이미지처럼 펼치는 방식으로 실시간성이 좋아서 실시간 객체 탐지와 Segmentation에서 주로 사용됩니다.
센서가 측정한 점(포인트) 데이터를 그대로 입력하여 처리하는 방식, 즉 Point Cloud의 구조를 직접 학습합니다.
대표 모델
논문은 전통적인 처리 기법으로 센서로 얻은 Point Cloud 데이터를 전처리합니다.
대표 작업으로는
Registration, Downsampling, Segmetation, Denoising 이 있다.
Registration : 여러 시점의 Point Cloud를 정렬
Downsampling : 점 개수를 줄여서 계산량을 감소
Segmentation : Point들을 의미별로 분리
Denoising : 노이즈 제거
논문의 핵심 파트 중 하나로, Point Cloud에 딥러닝 적용 방법을 설명합니다.
대표 모델으로는 PointNet, PointNet++, VoxelNet, SECOND 가 있다.
PointNet : 포인트를 입력받는 최초의 모델
PointNet++ : PointNet 개선 버전
VoxelNet : Voxel 기반 3D Detection 모델
SECOND : 실시간 3D 객체 탐지 모델
논문은 Point Cloud가 자율주행의 핵심 모듈에 어떻게 사용되는지 설명합니다.
HD Map(High Definition Map)은 일반적인 내비게이션 지도보다 훨씬 정밀한 고정밀 지도입니다.
자율주행 차량은 LiDAR를 이용해 주변 환경을 스캔하고, 이를 기반으로 도로의 구조를 3차원 Point Cloud 형태로 저장합니다.
HD Map에는 다음과 같은 정보가 포함됩니다.
Localization은 차량이 현재 어디에 위치해 있는지를 추정하는 기술입니다. 자율주행 차량은 주행 중 실시간으로 LiDAR Point Cloud를 생성하고, 이를 미리 구축된 HD Map과 비교하여 자신의 위치를 계산합니다.
즉,
현재 LiDAR 스캔 데이터
VS
HD Map의 Point Cloud 데이터
를 정합(Registration/Matching)하는 과정입니다.
대표적으로:
Localization은 GPS 오차가 발생하기 쉬운 터널과 도심 빌딩 숲, 지하주차장 등의 환경에서 특히 중요합니다.
Perception은 차량 주변 환경을 인식하고 이해하는 과정입니다.
LiDAR Point Cloud를 기반으로 주변 객체의 위치와 종류를 분석합니다.
3D Object Detection
Point CLoud에서 차량, 보행자, 장애물 등을 탐지하는 기술입니다.
기존 2D 이미지 기반 객체 탐지와 달리, LiDAR는 거리와 3차원 위치 정보를 직접 제공하기 때문에 객체의 실제 위치와 크기를 더욱 정확하게 추정할 수 있습니다.
대표 모델 : PointNet, VoxelNet, SECOND
Semantic Segmentation
Point Cloud의 각 점(Point)에 의미(label)를 부여하는 작업이다.
예를 들어 도로, 건물, 차량, 보행자 등으로 Point를 분류합니다.
이를 통해 차량은 주행 가능한 영역과 장애물을 구분할 수 있다.
Tracking
이전 프레임과 현재 프레임의 객체를 연결하여 움직임을 추적하는 기술입니다.
보행자의 이동 방향을 예측하거나 앞 차량의 속도를 추정하는 등 Traking은 자율주행 차량이 주변 객체의 미래 움직임을 예측하고 안전하게 경로를 계획하는 데 매우 중요한 역할을 합니다.