728x90
라이다(LiDAR, Light Detection and Ranging)는 레이저 펄스를 발사하여 대상체에 부딪혀 돌아오는 시간을 측정함으로써 정밀한 3차원 거리와 형상을 파악하는 원격 감지 기술
레이더(Radar)보다 파장이 짧은 빛을 사용하여 주변 환경을 고해상도의 3차원 포인트 클라우드(점군) 데이터로 시각화
https://www.youtube.com/watch?v=xLtolcT-nRM
공식 가이드
https://www.cvat.ai/resources/blog/3d-point-cloud-annotation
Point Cloud Annotation: A Complete Guide to 3D Data Labeling | CVAT Blog
3D point cloud annotation explained. Our in-depth article walks through applications in computer vision, and how to efficiently label 3D data. Published On: Mar 31, 2026
www.cvat.ai
💡 핵심 원리
- 발사 및 반사: 센서에서 발사된 레이저 빔이 주변의 물체에 부딪혀 반사되어 돌아옵니다.
- 시간 측정: 빛의 속도를 활용하여 레이저가 센서를 떠나 돌아오는 데 걸린 시간을 계산합니다. (거리 = 속도 × 시간 ÷ 2)
- 3D 매핑: 수백만 개의 데이터를 실시간으로 조합하여 주변 환경의 정밀한 3D 지도를 생성합니다.
🛠️ 주요 활용 분야
- 자율주행 및 로봇 공학: 차량과 로봇의 '눈' 역할을 하며, 주변 보행자, 차량, 도로 시설물과의 거리를 입체적으로 인지합니다.
- 지리 정보 및 측량: 항공기나 드론에 장착하여 지형, 산림, 도시 인프라의 정밀한 3D 지도를 제작합니다.
- 재난 감지 및 건설: 산사태 예측, 홍수 모델링, 교량 등 건축물의 구조적 변위 분석에 활용됩니다.
자율주행 개발자 관점에서 라이다(LiDAR)는 단순히 "거리를 재는 센서"가 아니라, 3차원 공간의 기하학적 정보(Geometry)를 실시간으로 제공하는 가장 신뢰도 높은 소스(Ground Truth)입니다.
개발자가 자율주행 소프트웨어 파이프라인(Perception-Localization-Planning)을 구축할 때 라이다 데이터(Point Cloud)를 활용하는 핵심 분야와 구현 방식
1. 3D 환경 인지 (Perception) 및 객체 검출
카메라는 2D 이미지를 기반으로 거리를 '예측'해야 하지만, 라이다는 물체의 정확한 3D x, y, z 좌표를 즉시 반환합니다.
- 3D Object Detection (3차원 객체 검출):
- 구현: 포인트 클라우드를 입력받아 주변 차량, 보행자, 이륜차 등의 3D Bounding Box(위치, 크기, 헤딩 각도)를 추정합니다.
- 활용 모델: PointPillars, Second, PV-RCNN 같은 3D 딥러닝 백본 네트워크를 사용하여 텐서 변환 후 객체를 검출합니다.
- Semantic Segmentation (의미론적 분할):
- 구현: 점 하나하나가 도로(Road), 인도(Sidewalk), 빌딩, 차량 중 어디에 속하는지 클래스를 분류합니다.
- 활용: 도로의 바닥면을 분할하여 차량이 주행 가능한 영역(Free Space)을 계산하는 데 필수적입니다.
- Unidentified Obstacle Detection (비정형 장애물 검출):
- AI가 학습하지 못한 물체(예: 도로 위의 박스, 타이어 파편)라도 라이다는 기하학적 형태를 그대로 잡기 때문에, 카메라 딥러닝의 엣지 케이스(Edge Case)를 보완하는 안전장치로 쓰입니다.
2. 고정밀 측위 및 맵핑 (Localization & Mapping)
차량이 GPS 음영 지역(터널, 빌딩 숲)에서도 센티미터(cm) 단위로 자신의 위치를 찾아내도록 만듭니다.
- SLAM (Simultaneous Localization and Mapping):
- 구현: 차량이 이동하면서 받아오는 실시간 포인트 클라우드 프레임을 연속적으로 매칭(Registration)하여 3차원 공간 지도를 동시에 그립니다. LeGO-LOAM, Fast-LIO 등의 알고리즘이 자주 쓰입니다.
- Point Cloud Registration (점군 정렬):
- 구현: 현재 스캔한 데이터와 기구축된 고정밀 지도(HD Map)의 형태를 ICP(Iterative Closest Point)나 NDT(Normal Distributions Transform) 알고리즘으로 비교·정렬하여 차량의 정확한 6자유도(6-DoF) 위치를 추정합니다.
3. 센서 퓨전 (Sensor Fusion)
라이다는 형태와 거리 인지에는 강하지만 색상, 질감, 텍스트(표지판, 신호등) 인지에는 취약합니다. 이를 카메라와 융합하는 파이프라인을 설계합니다.
- Early Fusion (초기 융합 / 데이터 레벨):
- 카메라의 2D 픽셀과 라이다의 3D 포인트를 물리적 캘리브레이션(Calibration) 매트릭스를 통해 투영(Projection)시켜, 색상 정보(RGB)를 가진 3D 포인트 클라우드(RGB-D)를 만들어 입력 레이어로 사용합니다.
- Late Fusion (후기 융합 / 객체 레벨):
- 카메라 딥러닝 모델이 뽑은 2D Bounding Box와 라이다 모델이 뽑은 3D Bounding Box를 헝가리안 알고리즘(Hungarian Algorithm)이나 칼만 필터(Kalman Filter)를 이용해 매칭하여 객체의 정확도를 최종 확정합니다.
4. 시뮬레이션 및 데이터 라벨링 자동화 (Simulation & MLOps)
실제 도로 테스트 전에 소프트웨어를 검증하고 데이터셋을 구축할 때 대단히 유용합니다.
- Auto-Labeling (자동 라벨링 알고리즘):
- 사람이 카메라 이미지에서 수천 장의 박스를 치는 것은 비효율적입니다. 라이다 SLAM으로 구축된 3D 포인트 클라우드 시퀀스를 앞뒤로 역추적(Backward/Forward Tracking)하여 3D 객체의 궤적을 만들면 수많은 카메라 이미지에 3D Bounding Box를 자동으로 투영시켜 라벨링 공수를 기하급수적으로 줄일 수 있습니다.
💻 개발자 입장에서 고려해야 하는 현실적인 이슈
- 데이터 스파시티 (Sparsity): 거리가 멀어질수록 레이저 점 사이의 간격이 넓어져 객체 형태를 알아보기 어렵기 때문에 다운샘플링(Voxel Grid Filter) 및 데이터 보간 처리가 중요합니다.
- 연산 복잡도 (Computation Cost): 초당 수십만~수백만 개의 점(Point)이 들어오기 때문에, 이를 실시간(최소 10~20Hz 이상)으로 처리하기 위해 C++ 기반의 PCL(Point Cloud Library)나 GPU 가속(CUDA, TensorRT) 최적화가 필수적입니다.
- 노이즈 필터링 (Noise Filtering): 눈, 비, 안개, 먼지 등이 레이저를 교란시켜 허위 포인트(Ghost Lines)를 만듭니다. 이를 걸러내는 주행 환경별 필터 아키텍처 설계가 필요합니다.
4. 시뮬레이션 및 검증 단계
자율주행 시뮬레이션 및 데이터 라벨링 자동화 파이프라인에서 오토 라벨링(Auto-labeling) 결과물의 정답(Ground Truth) 여부를 검증하는 단계를 'QA(Quality Assurance) 및 검증(Validation) 단계'라고 합니다.
이 단계는 알고리즘이 자동으로 생성한 3D Bounding Box나 세그멘테이션 데이터의 오류를 찾아내고 수정하는 과정입니다. 개발자와 데이터 엔지니어는 라이다 어노테이션(LiDAR Annotation) 툴을 활용하여 다음과 같은 작업을 수행합니다.
1. 3D Bounding Box 정밀 정착 (Tightness & Orientation 튜닝)
알고리즘이 물체 주변에 대략적으로 친 박스의 크기, 위치, 방향을 센티미터(cm) 단위로 미세 조정합니다.
- Tightness 검증: 3D 박스가 차량이나 보행자의 실제 라이다 점(Point)들에 딱 맞게 밀착되었는지 확인합니다. 박스가 너무 크면 가상의 공간을 물체로 인식하고, 너무 작으면 충돌 위험이 생깁니다.
- Heading(방향) 수정: 차량이 진행하는 앞방향(Yaw 각도)이 맞는지 검증합니다. 라이다 데이터만으로는 차의 앞뒤 구분이 어려울 때가 많으므로, 동기화된 카메라 이미지(Camera-LiDAR Fusion View)를 교차 확인하며 차량의 정확한 헤딩을 맞춥니다.
2. 시간 연속성 검증 (Temporal Consistency & Tracking Check)
시퀀스(동영상처럼 이어지는 프레임) 데이터에서 물체의 움직임이 자연스러운지 확인합니다.
- 프레임 간 튀는 현상(Jittering) 제거: 1번 프레임과 2번 프레임 사이에서 차의 크기가 갑자기 바뀌거나, 위치가 순간 이동하듯 튀는 현상을 잡습니다. 보간(Interpolation) 알고리즘을 적용한 후, 사람이 수동으로 매끄럽게 다듬습니다.
- ID Switching 오류 수정: 추적 중이던 A 차량이 반대편 차량에 가려졌다가 다시 나타났을 때, 오토 라벨러가 이를 새로운 B 차량으로 인식하는 오류(ID 스위칭)를 잡아내어 하나의 고유 ID로 묶어줍니다.
3. 클래스 오분류 수정 (Classification QA)
라이다 점군 데이터의 형태만 보고 알고리즘이 물체의 종류를 잘못 판단한 것을 바로잡습니다.
- 유사 형태 구분: 예를 들어 길가에 서 있는 '전신주'나 '가로수'를 '보행자'로 오인했거나, '대형 SUV'를 '트럭'으로 분류한 경우를 찾아내어 올바른 레이블(Label)로 수정합니다.
4. 고스트 현상 및 노이즈 제거 (Noise & Ghost Points Filtering)
환경 요인으로 인해 발생한 불필요한 라이다 점들을 정답 데이터에서 제외합니다.
- 환경 노이즈 제거: 비, 눈, 안개, 또는 차량 배기가스로 인해 공중에 찍힌 가상의 점(Ghost points)들이 오토 라벨러에 의해 장애물로 오인되어 박스가 쳐진 경우, 이를 과감히 삭제합니다.
- 바닥면(Ground) 오인 수정: 도로의 연석(Curb)이나 과속방지턱, 경사로의 꺾이는 부분을 장애물 박스로 잘못 지정한 것을 해제합니다.
5. 엣지 케이스 및 유실 데이터 수동 복구 (Edge Case & Missing Object Recovery)
알고리즘이 완전히 놓친 물체를 사람이 직접 찾아내어 채워 넣습니다.
- 원거리/희소 데이터(Sparse Points) 복구: 차량에서 50m~100m 이상 떨어진 물체는 라이다 점이 몇 개 찍히지 않아 오토 라벨러가 감지하지 못합니다. 검증 단계에서는 카메라 뷰와 대조하며 점이 2~3개뿐이더라도 명확한 장애물이라면 수동으로 3D Box를 생성해 줍니다.
- 비정형 객체 레이블링: 휠체어, 유모차, 킥보드를 탄 사람, 도로 위 낙하물 등 빈도가 낮은 엣지 케이스를 정확히 정의해 줍니다.
🛠️ 검증 단계에서의 엔지니어링 워크플로우
보통 대량의 데이터는 CVAT, PCAT, Supervisely 같은 전문 3D 포인트 클라우드 어노테이션 툴을 사용하여 아래 이미지와 같은 멀티뷰 화면을 보며 검증합니다.
┌────────────────────────────────────────────────────────┐
│ [Top-Down / Bird's Eye View] [Front / Side 3D View] │
│ ㆍ ㆍ ㆍ┌───────┐ㆍ ㆍ ㆍ ㆍ ㆍ ㆍ ㆍ ㆍ ㆍ ㆍ ㆍ │
│ ㆍ ㆍ ㆍ│ 🚘 │ㆍ ㆍ ㆍ ㆍ ㆍ ◢███◣ ㆍ ㆍ ㆍ ㆍ │
│ ㆍ ㆍ ㆍ└───────┘ㆍ ㆍ ㆍ ㆍ ㆍ ◥███◤ ㆍ ㆍ ㆍ ㆍ │
├────────────────────────────────────────────────────────┤
│ [Synchronized Camera Image View] │
│ ┌──────────────────────────────────────────────────┐ │
│ │ [ 🚘 Detected Car ] │ │
│ └──────────────────────────────────────────────────┘ │
└────────────────────────────────────────────────────────┘
- 자동 검증 스크립트 실행: 3D Box 간의 충돌(갑자기 두 박스가 겹침), 물리적으로 불가능한 속도 변화 등을 파이썬 스크립트로 1차 필터링합니다.
- 시각적 교차 검증 (Cross-Validation): 엔지니어가 탑다운 뷰(Bird's Eye View), 3D 측면 뷰, 카메라 투영 뷰를 동시에 보면서 오토 라벨링된 박스의 경계면을 마우스로 잡고 정밀하게 맞춥니다.
- 최종 메타데이터 검수: 수정을 마치면 객체의 가려짐 정도(Occlusion), 잘림 정도(Truncation) 같은 메타데이터 속성 값이 올바르게 산출되었는지 확인하고 데이터셋 빌드에 포함시킵니다.
🛠️ 검증 엔지니어가 알아야 할 핵심 소프트웨어 조작법
영상을 보시면 소프트웨어 인터페이스가 크게 세 가지 화면(Multi-View)으로 쪼개져 유기적으로 움직이는 것을 볼 수 있습니다.
1. 3D 단축키를 이용한 Bounding Box 6-DoF 미세 조정
- 작업: AI가 생성한 박스를 클릭하면 X, Y, Z축 이동축과 회전축(Yaw 기즈모)이 활성화됩니다.
- 조작: 마우스 드래그나 키보드 방향키(W, A, S, D 등)를 이용해 박스의 크기를 물체 겉면에 딱 맞추고, 차량의 헤딩(방향) 화살표를 주행 방향으로 회전시킵니다.
2. 탑다운 뷰(BEV, Bird's Eye View) 중심의 검수
- 작업: 라이다 데이터는 평면에서 볼 때 물체의 경계면이 가장 명확합니다.
- 조작: 마우스 휠로 BEV 화면을 확대/축소하면서 차량의 정면 점군과 후면 점군이 3D 큐보이드(Cuboid) 벽면에 일치하는지 스캔합니다.
3. 카메라 투영(Camera Projection)을 통한 시각적 교차 검증
- 작업: 라이다 점만으로는 이 물체가 세단인지, SUV인지, 혹은 표지판 기둥인지 구분이 안 될 때가 많습니다.
- 조작: 소프트웨어 한쪽에 연동된 카메라 이미지를 보며 마우스로 라이다 박스를 변경하면, 카메라 이미지 위 2D 박스도 실시간으로 연동되어 움직입니다. 이를 통해 물체의 클래스(Class)가 맞는지 텍스트나 형상을 보고 최종 확정합니다.
4. 시퀀스 트래킹 및 보간(Interpolation) 연산
- 작업: 100프레임 동안 움직이는 차량을 프레임마다 일일이 검수하는 것은 불가능합니다.
- 조작: 핵심 프레임(Keyframe)인 1번 프레임과 10번 프레임의 박스만 엔지니어가 검증해 주면, 소프트웨어가 그 사이(2~9번 프레임) 차량의 궤적을 선형 보간 알고리즘으로 자동 계산하여 채워 넣습니다. 검수자는 프레임을 Space 바로 재생하며 튀는 구간만 멈춰서 수정합니다.
💻 3D 라이다 어노테이션 툴 영상 주소
1. CVAT (Computer Vision Annotation Tool) [1]
인텔에서 개발한 전 세계에서 가장 유명한 오픈소스 이미지/3D 데이터 라벨링 툴입니다. 실제 프로그램 인터페이스(메인 3D 뷰, 탑/사이드/프론트 뷰, 카메라 연동 화면)를 다루는 정석적인 방법을 확인할 수 있습니다.
- 실제 조작법 및 기능 소개 영상: CVAT 공식 3D 포인트 클라우드 가이드 (YouTube)
- 텍스트 매뉴얼 및 단축키 안내: CVAT 공식 블로그 가이드 [1, 2, 3]
2. BasicAI
자율주행용 센서 퓨전(라이다 + 카메라) 및 AI 기반 오토 라벨링 기능이 잘 구현되어 있는 대표적인 클라우드 기반 플랫폼입니다. [1]
- 라이다-카메라 퓨전 데이터 어노테이션 영상: BasicAI 공식 튜토리얼 (YouTube)
- 상세 인터페이스 및 데이터 업로드 문서: BasicAI 기술 문서 [1, 2, 3]
3. Encord (플랫폼 참고용)
실무에서 대규모 3D 포인트 클라우드 시퀀스를 다룰 때 유용한 상용 플랫폼 튜토리얼입니다. Fit cuboid to points(점군에 박스 밀착시키기)나 보간(Interpolation) 연산 조작법이 직관적으로 나와 있습니다.
- 3D Precision 라이다 가이드 영상: Encord 라이다 어노테이션 튜토리얼 (YouTube) [1]
💡 영상에서 눈여겨보셔야 할 핵심 인터페이스 특징
영상을 재생해 보시면 소프트웨어 내부가 다음과 같이 구성되어 엔지니어가 조작하게 됩니다.
- 3D 자유 시점(Free Camera) 화면: 마우스 좌클릭(앵글 회전), 우클릭(카메라 축 이동)을 이용해 전체적인 점군 상태를 파악합니다.
- 3단 정사영 뷰(Top, Side, Front View): AI가 생성한 3D 박스를 위, 옆, 앞에서 직각으로 보며 물체 표면에 박스를 cm 단위로 밀착(Tightness) 시킬 때 마우스 드래그로 조작합니다.
- 카메라 뷰 연동: 라이다 점 위를 클릭하면 오른쪽에 동기화된 카메라 이미지가 나타나, 해당 물체가 차량인지 오토바이인지 시각적으로 교차 검증합니다. [1]

728x90
'호기심' 카테고리의 다른 글
| point cloud 포인트 클라우드 RGB-d 센서 자율주행 (0) | 2026.06.17 |
|---|---|
| point cloud 포인트 클라우드 LiDAR 데이터 형식 (0) | 2026.06.17 |
| copilot 과 영화관에 대한 잡담 (0) | 2024.09.03 |
| Copilot과 에너지 체인에 대한 잡담 (0) | 2024.07.07 |
| Copilot과 초끈이론에 대한 잡담 (0) | 2024.06.09 |