자율주행 자동차의 안전은 Lidar 성능에 달렸다, NVIDIA LidarNet 해부

by NVIDIA Korea
0313_blog

자율주행 자동차는 라이다(lidar) 센서가 발사하는 레이저를 통해 주변 물체를 감지합니다.

차량 주위에 발사한 레이저 펄스가 주변 물체에서 반사돼 돌아오면, 자율주행 자동차는 주변 환경에 대한 상세하고 정확한 3D 이미지를 생성하죠.

문제는 기존 라이다 데이터 처리 방식에 심각한 오류가 있다는 점입니다. 예를 들어 다양한 물체, 주변 환경의 모습, 기상 상태를 제대로 감지하고 분류하지 못하는 경우, 그리고 성능 문제 등이 있습니다.

엔비디아 드라이브 랩을 주제로 한 이번 블로그에서는 자동차의 주변 환경을 다양한 시점에서 감지해 기존 라이다 데이터 처리 방식의 문제점을 해소하는 엔비디아의 다시점 라이다넷 딥 뉴럴 네트워크(Multi-View LidarNet DNN)를 소개해볼까 합니다.

엔비디아 드라이브 랩의 AI 기반 솔루션을 소개합니다

DNN을 이용한 AI 기술은 기존 라이다 센서의 문제점들을 해소할 해결책으로 각광받고 있습니다.

한 AI 기술은 라이다 포인트 클라우드 데이터에 조감도(BEV)를 이용해 물체를 감지하는 라이다 DNN 기반 기술입니다. 차량 위 상공에 위치한 가상 카메라가 직각투영(orthogonal projection) 기술로 개별 데이터 포인트의 3D 좌표를 가상 카메라에 재투영합니다.

조감도 라이다 DNN은 레이어 속의 2D 컨볼루션을 사용해 자동차, 트럭, 버스, 보행자, 자전거 탑승자와 같은 움직이는 물체들을 감지합니다. 2D 컨볼루션은 굉장히 빨리 작동해 실시간으로 구현되는 자율주행 자동차 애플리케이션에 사용되기 적합하죠.

하지만 물체를 위에서 아래로 내려다볼 때 문제가 발생할 수 있습니다. 예를 들어, 조감도에서 보행자나 자전거가 장대나 나무 기둥, 혹은 덤불로 보여 인식하는데 오류가 발생할 수 있습니다.

또 다른 AI 방식은 3D 라이다 포인트 클라우드 데이터를 레이어 속 3D 컨볼루션을 이용해 물체를 감지하는 DNN의 입력 값으로 사용하는 방식입니다. DNN이 3D 모양을 기반으로 물체를 감지하기 때문에 물체 인지 정확성이 높아집니다. 하지만, 자율주행 자동차용 애플리케이션에서 라이다 포인트 클라우드를 3D 컨볼루션 DNN을 통해 실시간으로 처리한다는 것은 쉬운 일이 아닙니다.

다시점 라이다넷을 사용하면 생기는 변화들 

이 두가지 AI 방식의 한계를 극복하기 위해, 엔비디아는 두 단계에 걸쳐 작동하는 다시점 라이다넷 DNN을 개발했습니다. 우선, 라이다 스캔 데이터를 이용해 사시도(perspective view) 형태의 의미(semantic) 정보를 추출합니다. (그림 1). 라이다 거리(range) 스캔으로 자율주행 자동차 주변을 360도로 스캔한 모습을 볼 수 있습니다. 마치 자율주행 자동차의 전면 풍경이 360도 파노라마로 펼쳐진 것 같은 모습입니다.

이렇게 1차적으로 차량 주변의 모습을 의미에 따라 구분(semantic segmentation)하면 물체의 종류를 효과적으로 예측할 수 있습니다. DNN이 사시도를 통해 물체의 모양을 한 층 더 효과적으로 관찰할 수 있기 때문입니다(보행자의 모습 등).

첫번째 단계에서는 주변 환경이 다양한 움직이는 물체, 예를 들어 자동차, 트럭, 버스, 보행자, 자전거나 오토바이 탑승자 뿐 아니라, 도로면, 보도, 나무, 표지판과 같은 정적인 물체들을 분류합니다.

figure 1. Multi-view
그림 1. 다시점 라이다넷 DNN의 사시도

 

그림 2. 다시점 라이다넷 DNN의 수직 조감도

라이다넷의 첫 번째 단계에서 추출된 의미에 기반한 분류 결과는 조감도에 반영된 다음 라이다 포인트 클라우드를 통해 수집된 모든 장소의 높이 데이터와 합쳐집니다. 이에 따라 생성된 최종 결과물은 두 번째 단계로 전송됩니다 (그림 2).

두 번째 단계에서 DNN은 조감도 라벨링이 완료된 데이터를 학습해 1단계에서 식별된 물체에 사용될 수직 조감도 시점의 2D 박스를 예측합니다. 이 단계에서도 의미와 높이 정보를 기반으로 물체의 인스턴스(instance)를 추출합니다. 조감도에서는 물체들이 겹쳐져 가져지는 물체가 없기 때문에 다른 시점 대비 쉽게 진행됩니다.

DNN이 실행하는 이 두 단계를 연결해 얻은 결과가 라이다 데이터만 사용하는 라이다 DNN입니다. 라이다 DNN은 엔드투엔드 딥 러닝을 이용해 물체의 2D 박스를 포함, 차량 주변 환경에 대한 수많은 정보를 담은 의미 분류 결과를 추출합니다. 이를 통해 오토바이나 자전거 탑승자, 보행자처럼 다치기 쉬운 도로 이용자들을 고도의 정확성과 완성도로 탐지할 수 있습니다. 또, DNN은 엔비디아 드라이브 AGX 플랫폼 상에서 라이다 스캔을 각각 7ms에 추론할 수 있어 효율성도 높죠.

엔비디아의 라이다 처리 소프트웨어 스택에는 다시점 라이다넷 외에도 라이다 객체 추적기(lidar object tracker)가 있습니다. 라이다 객체 추적기는 2D 박스 정보와 라이다 포인트 기하학(lidar point geometry)을 이용해 각 객체 인스턴스의 3D 박스를 연산하는 컴퓨트 비전 기반의 사후처리 시스템입니다. 또 프레임별 DNN 감지 실패율을 줄이고, 낮은 수준의 라이다 프로세서와 함께 차량이 피해가야 하는 단단한 물리적 경계를 표시하는 기하학적 경계선을 연산합니다.

이렇게 AI와 기존 컴퓨터 비전 방식을 함께 사용하면 엔비디아의 라이다 인지 소프트웨어 스택의 완성도를 크게 높일 수 있습니다. 이와 함께, 라이다 인지 기술을 통해 수집된 풍부한 인지 정보를 카메라, 레이더 감지에 접목해 더욱 더 강력한 레벨 4 또는 레벨 5 자율주행 시스템을 개발할 수 있게 될 것입니다.