What is Lidar?
꼭 알아야 할 3가지 사항
라이다(“Light Detection and Ranging”의 약어) 센서는 레이다와 소나 같은 거리 측정 센서입니다. 이 센서는 물체에서 반사되는 레이저 펄스를 방사하여 센서 주변의 구조를 인식할 수 있습니다. 센서는 반사광 에너지를 기록하여 물체까지의 거리를 파악하고 이를 토대로 주변에 대한 2차원 및 3차원 표현을 생성합니다. 라이다는 여러 업계에서 인식 시스템 개발을 위한 주요 센서 중 하나로 부상하고 있습니다. 라이다는 객체 검출, 의미론적 분할 같은 3차원 인식 워크플로와 지도작성, SLAM(동시적 위치추정 및 지도작성), 경로 계획 같은 내비게이션 워크플로를 가능하게 만듭니다.
자율 시스템은 카메라, IMU, 레이다 등의 다양한 센서를 활용하여 환경을 인식합니다. 라이다는 주변에 대해 매우 정확하고 구조적인 3차원 정보를 제공함으로써 다른 센서의 단점을 극복할 수 있습니다. 이러한 장점 덕분에 라이다 센서는 주류 인식 시장에 도입될 수 있었습니다.
이처럼 라이다가 시장에서 채택된 주된 이유로는 다음 세 가지가 있습니다.
- 저비용 라이다
거리, 크기, 강인성 등의 특징이 향상된 저비용 라이다가 도입되면서 비교적 수익이 적은 산업 응용 분야에도 라이다 기술의 보급이 늘었습니다.
- 정확한 3차원 데이터
라이다는 레이다나 소나 등의 기타 거리 측정 센서에 비해 더 높은 정확도로 주변에 관한 고밀도 3차원 정보를 포인트 클라우드로 수집합니다. 이는 3차원 복원의 정밀도를 개선합니다.
- 라이다 처리 알고리즘
의미론적 분할, 객체 검출 및 추적, 라이다 카메라 데이터 융합, 라이다 SLAM과 같은 라이다 처리 워크플로의 최근의 발달로 인해 업계는 개발 워크플로에 라이다를 추가할 수 있게 되었습니다. MATLAB과 같은 툴을 활용하면 라이다 처리 알고리즘을 개발하고 적용할 수 있습니다.
다음과 같은 항공 라이다 응용 분야의 예가 있습니다.
- 농업: 라이다 기술은 농업에서 경작 지역을 매핑하고 농장과 집수 지역의 정확한 지형을 식별하는 데 널리 사용되고 있습니다.
- 도시 계획: 라이다는 어떤 지역의 DSM(수치 표면 모델) 또는 DCM(수치 도시 모델)을 생성하는 데 사용되어 도시를 설계하거나 기존 도시의 신규 인프라를 구축하는 데 도움이 될 수 있습니다.
- 지질 매핑: 라이다를 사용하여 지구 표면의 3차원 지도를 생성하고 이를 광업, 정밀 임업, 석유 및 가스 탐사 등의 응용 분야에 활용할 수 있습니다.
- 항공 항법 및 경로 계획: 이제 라이다는 주변을 자율적으로 비행하며 실시간 3차원 데이터를 수집하는 UAV에 사용됩니다.
다음과 같은 MATLAB®을 사용한 항공 라이다 처리 예제를 살펴볼 수 있습니다.
지상 라이다
지상 라이다에는 두 가지 유형, 즉 고정형 지상 라이다와 이동형 라이다가 있습니다.
- 고정형 지상 라이다는 고정된 플랫폼에 탑재되는 라이다입니다. 토지 측량, 도로 측량, 위상 매핑, DEM(수치 표고 지도) 생성, 농업 및 기타 응용 분야에 널리 활용되고 있습니다. 고정형 지상 라이다는 상세하고 근접한 데이터 수집이 필요한 응용 분야에 적합합니다.
- 이동형 라이다는 자동차나 트럭 같은 이동형 플랫폼에 부착되는 지상 라이다입니다. 이동형 라이다의 가장 중요한 응용 분야는 자율주행입니다. 차량에 탑재된 라이다는 주변의 3차원 포인트 클라우드 데이터를 수집하며, 인식 및 내비게이션 워크플로에도 사용됩니다. 이러한 워크플로에 대해서는 아래 섹션에서 자세히 설명합니다.
다음과 같은 MATLAB을 사용한 지상 라이다 처리 예제를 살펴볼 수 있습니다.
실내 라이다
라이다는 이동 로봇에 탑재하여 실내 로보틱스 응용 사례에 널리 활용되고 있습니다. 3차원 라이다 외에 2차원 라이다나 레이저 스캐너도 라이다 스캐닝이나 매핑 등 실내 로보틱스 응용 분야에 활용되고 있습니다. 주변의 깊이 정보를 수집하고 활용 사례에 맞게 추가로 처리합니다.
실내 라이다는 흔히 다음과 같은 분야에 사용됩니다.
- 라이다 매핑 및 SLAM: 2차원 또는 3차원 라이다를 사용하여 2차원 또는 3차원 SLAM 및 매핑을 생성할 수 있습니다.
- 장애물 검출, 충돌 경고, 회피: 2차원 라이다는 장애물 검출에 널리 사용됩니다. 이 데이터를 더욱 활용하여 충돌 경고를 생성하거나 장애물을 회피할 수 있습니다.
다음과 같은 MATLAB을 사용한 지상 라이다 처리 예제를 살펴볼 수 있습니다.
MATLAB 및 Lidar Toolbox™로 라이다 작업을 단순화할 수 있습니다. 전용 툴과 함수가 갖춰진 MATLAB을 사용하면 3차원 데이터 유형, 데이터의 희소성, 데이터에 있는 유효하지 않은 포인트, 큰 잡음 등 라이다 데이터 처리에서 흔히 직면하게 되는 문제를 극복할 수 있습니다.
실시간 라이다 데이터와 기록된 라이다 데이터를 MATLAB에 가져오고 라이다 처리 워크플로를 구현하며 C/C++ 및 CUDA® 코드를 생성하여 프로덕션으로 배포할 수 있습니다.
라이다 포인트 클라우드 처리를 위해 MATLAB에서 제공하는 중요한 기능에 대해서는 아래 섹션에서 설명합니다.
라이다 데이터 스트리밍, 읽기 및 쓰기
MATLAB에서 센서 데이터를 처리할 때 첫 번째 단계는 데이터를 MATLAB 작업 공간으로 가져오는 것입니다. 다음과 같은 작업을 수행할 수 있습니다.
- 실시간 데이터 스트리밍: Velodyne Lidar Hardware Support Package를 사용하여 Velodyne 센서로부터, 그리고 Ouster Lidar Hardware Support Package를 사용하여 Ouster 센서로부터 스트리밍할 수 있습니다.
- 저장된 포인트 클라우드 읽기: PCD, PLY, PCAP(Velodyne, Ouster, Hesai Pandar), Ibeo data container, LAS, LAZ 등 다양한 파일 형식으로 읽을 수 있습니다.
- 포인트 클라우드 쓰기: PCD, PLY, LAS, LAZ 등 다양한 파일 형식으로 쓸 수 있습니다.
- 라이다 데이터 시뮬레이션: 이 작업을 통해 알고리즘과 워크플로를 실제 시스템에 배포하기 전에 테스트할 수 있습니다. MATLAB에서는 처리 알고리즘 테스트를 위한 센서 파라미터를 정의하여 시뮬레이션 환경에서 3차원 또는 2차원 라이다 데이터를 합성할 수 있습니다. Lidar Toolbox, UAV Toolbox, Automated Driving Toolbox에는 라이다 포인트 클라우드를 시뮬레이션할 수 있는 라이다 센서 모델이 있습니다.
라이다 데이터 처리
라이다 데이터를 전처리하여 데이터 품질을 개선하고 데이터에서 기본 정보를 추출할 수 있습니다. Lidar Toolbox™는 다운샘플링, 중앙값 필터링, 정렬, 변환 및 포인트 클라우드에서 특징을 추출하는 기능을 제공합니다.
라이다 카메라 보정
MATLAB을 통한 라이다 카메라 보정으로 라이다-카메라 변환을 추정함으로써 카메라와 라이다 데이터를 융합할 수 있습니다. 또한 라이다 포인트 클라우드 내의 색 정보를 융합하고, 라이다와 같은 장소에 배치된 카메라의 2차원 경계 상자를 사용하여 라이다 내의 3차원 경계 상자를 추정할 수 있습니다.
라이다 관련 딥러닝
MATLAB으로 객체 검출 및 의미론적 분할에 대한 딥러닝 알고리즘을 라이다 데이터에 적용할 수 있습니다.
- MATLAB에서 단 몇 줄의 코드로 PointSeg 및 SqueezeSegV2 등 라이다 데이터로 사전 훈련된 의미론적 분할 모델을 가져올 수 있습니다. 자신만의 딥러닝 모델을 훈련시키고 평가하며 배포할 수도 있습니다.
- MATLAB을 사용하면 PointPillars 및 ComplexYolo-V4 신경망 같은 강건한 검출기를 설계하고 훈련하며 평가할 수 있습니다. 라이다 포인트 클라우드에서 객체 주위의 방향성 경계 상자를 검출하고 피팅할 수 있습니다.
- Lidar Toolbox의 라이다 레이블 지정기 앱으로 포인트 클라우드 레이블 지정 작업을 간소화할 수 있습니다. 객체 검출 및 의미론적 분할을 위해 포인트 클라우드에 직접 레이블을 지정하고, 내장 또는 사용자 지정 알고리즘을 적용하여 라이다 포인트 클라우드 레이블 지정을 자동화하고, 자동화 알고리즘 성능을 평가할 수 있습니다.
포인트 클라우드에서의 객체 추적
객체MATLAB으로 종단간 객체 추적 워크플로에 들어가는 여러 도메인을 통합할 수 있습니다. 라이다 데이터를 읽고 전처리하여 딥러닝을 적용해 객체를 검출하고 사전에 정의된 추적기를 사용하여 객체를 추적하며 그것을 타겟 하드웨어에 배포할 수 있습니다.
포인트 클라우드 정합 및 SLAM
MATLAB은 SLAM 알고리즘을 사용하여 지상 및 항공 라이다 데이터로부터 라이다 포인트 클라우드를 정합하고 3차원 지도를 구축하는 기능을 제공합니다. 여기에는 다음이 포함됩니다.
라이다 처리에 대한 자세한 정보는 Lidar Toolbox 및 Computer Vision Toolbox™를 참조하십시오.