What is Lidar?

 

What is Lidar?

꼭 알아야 할 3가지 사항

라이다(“Light Detection and Ranging”의 약어) 센서는 레이다와 소나 같은 거리 측정 센서입니다. 이 센서는 물체에서 반사되는 레이저 펄스를 방사하여 센서 주변의 구조를 인식할 수 있습니다. 센서는 반사광 에너지를 기록하여 물체까지의 거리를 파악하고 이를 토대로 주변에 대한 2차원 및 3차원 표현을 생성합니다. 라이다는 여러 업계에서 인식 시스템 개발을 위한 주요 센서 중 하나로 부상하고 있습니다. 라이다는 객체 검출, 의미론적 분할 같은 3차원 인식 워크플로와 지도작성, SLAM(동시적 위치추정 및 지도작성), 경로 계획 같은 내비게이션 워크플로를 가능하게 만듭니다.

라이다가 중요한 이유

자율 시스템은 카메라, IMU, 레이다 등의 다양한 센서를 활용하여 환경을 인식합니다. 라이다는 주변에 대해 매우 정확하고 구조적인 3차원 정보를 제공함으로써 다른 센서의 단점을 극복할 수 있습니다. 이러한 장점 덕분에 라이다 센서는 주류 인식 시장에 도입될 수 있었습니다.

자동차 몇 대가 보이는 주행 시나리오의 포인트 클라우드 데이터.

도로 장면의 라이다 포인트 클라우드.

이처럼 라이다가 시장에서 채택된 주된 이유로는 다음 세 가지가 있습니다.

  1. 저비용 라이다

거리, 크기, 강인성 등의 특징이 향상된 저비용 라이다가 도입되면서 비교적 수익이 적은 산업 응용 분야에도 라이다 기술의 보급이 늘었습니다.

  1. 정확한 3차원 데이터

라이다는 레이다나 소나 등의 기타 거리 측정 센서에 비해 더 높은 정확도로 주변에 관한 고밀도 3차원 정보를 포인트 클라우드로 수집합니다. 이는 3차원 복원의 정밀도를 개선합니다.

  1. 라이다 처리 알고리즘

의미론적 분할, 객체 검출 및 추적, 라이다 카메라 데이터 융합, 라이다 SLAM과 같은 라이다 처리 워크플로의 최근의 발달로 인해 업계는 개발 워크플로에 라이다를 추가할 수 있게 되었습니다. MATLAB과 같은 툴을 활용하면 라이다 처리 알고리즘을 개발하고 적용할 수 있습니다.

라이다의 응용 분야

라이다는 자율주행부터 지구과학에 이르기까지 다양한 업계에서 사용됩니다. 응용 분야는 라이다 탑재 플랫폼을 기준으로 크게 세 가지로 분류할 수 있습니다.

  1. 항공 라이다
  2. 지상 라이다
  3. 실내 라이다

항공 라이다

항공 라이다는 UAV(무인 항공기) 또는 항공기에 탑재된 라이다 센서입니다. 항공 라이다는 대규모 지형을 나타내는 3차원 포인트 클라우드 데이터를 수집하여 이를 라이다 매핑, 특징 추출, 지형 분류 및 기타 활용 사례에 사용할 수 있습니다.

라이다를 탑재하고 비행 중인 드론의 이미지.

항공 라이다 센서.

건물과 나무가 있는 항공 포인트 클라우드 데이터.

 항공 라이다 데이터.

다음과 같은 항공 라이다 응용 분야의 예가 있습니다.

  • 농업: 라이다 기술은 농업에서 경작 지역을 매핑하고 농장과 집수 지역의 정확한 지형을 식별하는 데 널리 사용되고 있습니다.
  • 도시 계획: 라이다는 어떤 지역의 DSM(수치 표면 모델) 또는 DCM(수치 도시 모델)을 생성하는 데 사용되어 도시를 설계하거나 기존 도시의 신규 인프라를 구축하는 데 도움이 될 수 있습니다.
  • 지질 매핑: 라이다를 사용하여 지구 표면의 3차원 지도를 생성하고 이를 광업, 정밀 임업, 석유 및 가스 탐사 등의 응용 분야에 활용할 수 있습니다.
  • 항공 항법 및 경로 계획: 이제 라이다는 주변을 자율적으로 비행하며 실시간 3차원 데이터를 수집하는 UAV에 사용됩니다.

다음과 같은 MATLAB®을 사용한 항공 라이다 처리 예제를 살펴볼 수 있습니다.

지상 라이다

지상 라이다에는 두 가지 유형, 즉 고정형 지상 라이다와 이동형 라이다가 있습니다.

자동차 위에 탑재된 여러 대의 라이다.

이동형 라이다 센서.

자동차와 나무가 있는 도로 시나리오의 포인트 클라우드 데이터.

이동형 라이다 데이터.

  • 고정형 지상 라이다는 고정된 플랫폼에 탑재되는 라이다입니다. 토지 측량, 도로 측량, 위상 매핑, DEM(수치 표고 지도) 생성, 농업 및 기타 응용 분야에 널리 활용되고 있습니다. 고정형 지상 라이다는 상세하고 근접한 데이터 수집이 필요한 응용 분야에 적합합니다.
  • 이동형 라이다는 자동차나 트럭 같은 이동형 플랫폼에 부착되는 지상 라이다입니다. 이동형 라이다의 가장 중요한 응용 분야는 자율주행입니다. 차량에 탑재된 라이다는 주변의 3차원 포인트 클라우드 데이터를 수집하며, 인식 및 내비게이션 워크플로에도 사용됩니다. 이러한 워크플로에 대해서는 아래 섹션에서 자세히 설명합니다. 

다음과 같은 MATLAB을 사용한 지상 라이다 처리 예제를 살펴볼 수 있습니다.

실내 라이다

라이다는 이동 로봇에 탑재하여 실내 로보틱스 응용 사례에 널리 활용되고 있습니다. 3차원 라이다 외에 2차원 라이다나 레이저 스캐너도 라이다 스캐닝이나 매핑 등 실내 로보틱스 응용 분야에 활용되고 있습니다. 주변의 깊이 정보를 수집하고 활용 사례에 맞게 추가로 처리합니다.

실내 라이다 센서.

실내 라이다 센서.

실내 라이다 데이터의 스크린샷.

실내 라이다 데이터.

실내 라이다는 흔히 다음과 같은 분야에 사용됩니다.

  • 라이다 매핑 및 SLAM: 2차원 또는 3차원 라이다를 사용하여 2차원 또는 3차원 SLAM 및 매핑을 생성할 수 있습니다.
  • 장애물 검출, 충돌 경고, 회피: 2차원 라이다는 장애물 검출에 널리 사용됩니다. 이 데이터를 더욱 활용하여 충돌 경고를 생성하거나 장애물을 회피할 수 있습니다.

다음과 같은 MATLAB을 사용한 지상 라이다 처리 예제를 살펴볼 수 있습니다.

  1. 2차원 라이다를 사용한 충돌 경고
  2. SLAM을 사용하여 라이다 스캔으로부터 실내 지도 구축하기

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에는 라이다 포인트 클라우드를 시뮬레이션할 수 있는 라이다 센서 모델이 있습니다.
라이다 센서 모델:

Velodyne® 라이다 센서의 실시간 라이다 데이터 스트리밍.

3차원 라이다 데이터 시뮬레이션.

라이다 데이터 처리

라이다 데이터를 전처리하여 데이터 품질을 개선하고 데이터에서 기본 정보를 추출할 수 있습니다. Lidar Toolbox™는 다운샘플링, 중앙값 필터링, 정렬, 변환 및 포인트 클라우드에서 특징을 추출하는 기능을 제공합니다.

라이다 카메라 보정

MATLAB을 통한 라이다 카메라 보정으로 라이다-카메라 변환을 추정함으로써 카메라와 라이다 데이터를 융합할 수 있습니다. 또한 라이다 포인트 클라우드 내의 색 정보를 융합하고, 라이다와 같은 장소에 배치된 카메라의 2차원 경계 상자를 사용하여 라이다 내의 3차원 경계 상자를 추정할 수 있습니다.

Lidar Camera Calibrator 앱의 스크린샷.

Lidar Camera Calibrator 앱.

라이다 관련 딥러닝

MATLAB으로 객체 검출 및 의미론적 분할에 대한 딥러닝 알고리즘을 라이다 데이터에 적용할 수 있습니다.

  • MATLAB에서 단 몇 줄의 코드로 PointSeg 및 SqueezeSegV2 등 라이다 데이터로 사전 훈련된 의미론적 분할 모델을 가져올 수 있습니다. 자신만의 딥러닝 모델을 훈련시키고 평가하며 배포할 수도 있습니다.
  • MATLAB을 사용하면 PointPillars ComplexYolo-V4 신경망 같은 강건한 검출기를 설계하고 훈련하며 평가할 수 있습니다. 라이다 포인트 클라우드에서 객체 주위의 방향성 경계 상자를 검출하고 피팅할 수 있습니다.
  • Lidar Toolbox의 라이다 레이블 지정기 앱으로 포인트 클라우드 레이블 지정 작업을 간소화할 수 있습니다. 객체 검출 및 의미론적 분할을 위해 포인트 클라우드에 직접 레이블을 지정하고, 내장 또는 사용자 지정 알고리즘을 적용하여 라이다 포인트 클라우드 레이블 지정을 자동화하고, 자동화 알고리즘 성능을 평가할 수 있습니다.
트럭과 자동차에 레이블이 지정된 포인트 클라우드의 자차량 보기.

포인트 클라우드의 의미론적 분할

포인트 클라우드에서의 객체 추적

객체MATLAB으로 종단간 객체 추적 워크플로에 들어가는 여러 도메인을 통합할 수 있습니다. 라이다 데이터를 읽고 전처리하여 딥러닝을 적용해 객체를 검출하고 사전에 정의된 추적기를 사용하여 객체를 추적하며 그것을 타겟 하드웨어에 배포할 수 있습니다.

순차적 포인트 클라우드 데이터로부터 추적되는 차량의 스크린샷.

객체 검출 및 추적.

포인트 클라우드 정합 및 SLAM

MATLAB은 SLAM 알고리즘을 사용하여 지상항공 라이다 데이터로부터 라이다 포인트 클라우드를 정합하고 3차원 지도를 구축하는 기능을 제공합니다. 여기에는 다음이 포함됩니다.

순차적 라이다 포인트 클라우드 데이터로부터 지도 생성.

라이다 처리에 대한 자세한 정보는 Lidar Toolbox 및 Computer Vision Toolbox™를 참조하십시오.


예제 및 방법


소프트웨어 참조