반응형
안녕하세요! ✨
어제는 Day 4: LiDAR로 장애물 거리 측정 Python 실습을 통해 전방 장애물까지의 거리를 계산해봤습니다.
오늘은 한 단계 더 나아가, LiDAR 데이터를 더 깨끗하고 효율적으로 사용하는 방법, 바로 데이터 전처리를 다뤄보겠습니다.
🔍 왜 전처리가 필요한가?
LiDAR는 매우 정밀한 센서이지만, 현실 데이터에는 다음과 같은 문제가 존재합니다.
- 노이즈(Noise): 먼지, 비, 눈, 반사체 때문에 잘못된 점이 발생
- 데이터 과다(Overload): 초당 수십만 개의 점이 쏟아져 나오므로 처리 속도 저하
👉 따라서 노이즈 제거와 다운샘플링은 자율주행 연구와 실제 적용에서 반드시 필요한 단계입니다.
🧹 1. 노이즈 제거 (Noise Filtering)
노이즈 제거는 의미 없는 점을 걸러내는 과정입니다.
대표적인 방법
- Statistical Outlier Removal (SOR)
- 각 점 주변의 평균 거리와 표준편차를 계산
- 지나치게 벗어난 점들을 제거
- Radius Outlier Removal
- 일정 반경 내에 이웃 점이 일정 개수 미만이면 제거
👉 이 방법들은 PCL(Point Cloud Library) 또는 Python의 open3d 라이브러리에서 쉽게 적용할 수 있습니다.
✂️ 2. 다운샘플링 (Downsampling)
LiDAR는 초당 방대한 데이터를 생성합니다. 이를 그대로 쓰면 연산량이 커져 딥러닝 학습이나 실시간 제어가 느려집니다.
대표적인 방법
- Voxel Grid Filter
- 3차원 공간을 작은 격자(Voxel)로 나눈 후, 각 격자에서 대표 점 하나만 남김
- 데이터 수를 줄이면서 전체 구조 유지
- Uniform Sampling
- 일정 간격으로 점을 추출하는 단순 방식
👉 다운샘플링은 처리 속도를 크게 높이면서도 정확도는 크게 떨어지지 않게 해줍니다.
⚙️ Python 예제 (Open3D 활용)

python
import open3d as o3d
# LiDAR 데이터 불러오기
pcd = o3d.io.read_point_cloud("lidar_data.pcd")
# 노이즈 제거 - Statistical Outlier Removal
cl, ind = pcd.remove_statistical_outlier(nb_neighbors=20, std_ratio=2.0) pcd_clean = pcd.select_by_index(ind)
# 다운샘플링 - Voxel Grid
pcd_down = pcd_clean.voxel_down_sample(voxel_size=0.1)
# 결과 시각화 o3d.visualization.draw_geometries([pcd_down])
✅ 위 코드에서는
- 노이즈 제거(SOR) 로 이상값을 걸러내고,
- Voxel Grid Filter 로 데이터를 줄여 최종 결과를 시각화합니다.
🛠 활용 포인트
- 자율주행: SLAM, 객체 인식 전 데이터 정제
- 드론/로보틱스: 실시간 환경 매핑 속도 향상
- 산업 응용: 건축/측량 데이터의 용량 줄이기
📌 정리
- LiDAR 데이터는 그대로 사용하기엔 노이즈와 데이터 과다 문제 존재
- 노이즈 제거(SOR, Radius Outlier) 와 다운샘플링(Voxel Grid, Uniform) 은 필수 전처리 과정
- Python(Open3D) 활용으로 간단히 구현 가능
반응형
🚀 다음 글 예고
다음 글에서는 [Day 6: Radar 기본 원리 (FMCW, Doppler 효과)] 를 다룹니다.
LiDAR와 더불어 자율주행의 핵심 센서인 Radar의 원리와 장단점을 살펴보겠습니다.
✅ 오늘 글이 도움이 되셨다면 좋아요와 공유 부탁드립니다.
반응형
'자율주행' 카테고리의 다른 글
🚗 Day 7: Radar 신호 처리 흐름 (송신, 반사, 수신) (0) | 2025.09.03 |
---|---|
🚗 Day 6: Radar 기본 원리 (FMCW, Doppler 효과) (0) | 2025.09.02 |
🚗 Day 4: LiDAR로 장애물 거리 측정 Python 실습 (0) | 2025.08.31 |
🚗 Day 3: ROS2에서 LiDAR 데이터 시각화 (RViz 실습) (0) | 2025.08.30 |
🚗 Day 2: 점군(Point Cloud) 데이터 구조 학습 (0) | 2025.08.29 |