자율주행차량은 카메라, 라이다, 레이더 등의 센서가 요구된다. 자율주행차량에 탑재된 객체 인식 AI 모델은 데이터셋을 기반으로 다수의 센서가 전달한 정보를 해석하여 주변 객체를 인지하고 방향과 구동을 결정한다. 객체 인식은 어느 분야든 레이블 된 데이터셋을 필요로 하지만, 자율주행 산업계는 아직 데이터셋 레이블 방식에 대한 합의를 이루지 못해 기초 표준만 나온 상태다.
자율주행 객체 인식, 카메라-라이다-레이더 유용
딥러닝 객체 인식, AI 학습 위한 데이터셋 필요
자율주행 시나리오로 데이터셋 보충 가능해
진정한 자율주행은 차량이 운전자의 역할을 모두 해낼 때 실현된다.
주행 시 운전자는 다양한 행동을 수행한다. 차량을 둘러싼 주행 환경 파악은 특히 중요한 역할이다. 그리고 시각 정보의 처리는 주행 환경 파악에 가장 큰 비중을 차지하는 과정이다.
시각 정보에서 객체를 탐지하고, 이를 토대로 차량의 이동 경로를 계획하고, 차량을 구동하여 움직이는 기술들의 시작이 바로 객체 인식(object recognition) 기술이다.
이용구 광주과학기술원(GIST) 기계공학부 교수는 한국정보통신기술협회(TTA) 저널 제191호에 기고한 ‘자율주행 자동차의 객체 인식 기술 현황’을 통해 자율주행차량 객체 인식 기술 및 표준 현황에 대해 짚어봤다.
자율주행차량 객체 인식에 필요한 센서들
이용구 교수는 “자율주행차량 분야 객체 인식은 타 분야 객체 인식과 달리 다양하고 이질적인 센서를 동시에 활용한다”라며, “동시 사용이 필요한 이유는 어느 한 센서의 정보만으로는 만족할 만한 객체 인식이 이루어지지 않기 때문이다”라고 말했다.
센서 하나로는 고장에 대처하기 어렵고, 아직은 단일 센서의 인식률이 신뢰할 만큼 충분하지 않기 때문에 다양한 센서로 정보를 규합하여 인식률을 높이는 작업이 필요하다는 것이다.
▲ 자율주행차량은 카메라, 라이다, 레이더, 초음파 등의 센서에서
얻은 정보를 토대로 주행 환경을 파악한다 [출처=앤시스]
시각 정보를 수집하는 대표적인 센서가 바로 카메라다. 카메라는 풍부한 정보를 수집할 수 있지만, 객체를 인식하려면 여러 연산이 필요하다. 이때 정적인 디지털 사진 인식과 동적인 영상 인식이 같이 이뤄져야 한다. 또한, 카메라는 외부 조명에 의한 빛이 피사체에 반사되어 오는 정보를 수집하기 때문에 악천후에는 정보 품질이 떨어지기 쉽다.
따라서 자율주행차량은 카메라 외에 주변 탐지를 하는 추가 센서가 필요하다. 이 교수는 대표적인 센서로 라이다(Lidar)와 레이더(Radar)를 들었다. 두 센서 모두 전자기적 파동을 외부로 송신하여 물체에 의해 산란한 신호를 수집한다.
라이다는 3차원 정보를 가공해 제공하기 때문에 자율주행차량에 사용하기 적합하다. 레이더는 2차원 정보를 제공하여 정보의 차원은 낮지만, 추돌 위험 상황을 신속하고 신뢰성 있게 파악할 수 있어 위급하고 돌발적인 상황을 감지하는 데 유용하다. 라이다는 1000nm 이상의 원적외선 대역의 레이저 광원을, 레이더는 10m~200m의 무선 주파수를 사용한다.
레이더는 특히 단일 파장대 광원을 사용하기 때문에 반사되어 나온 신호 처리가 쉽다. 자율주행차량이 인식해야 할 물체보다 광원의 파장이 작아서 광원이 직진과 반사를 하는 선(ray)으로 간주되어 매우 간단한 물리 현상으로 해석할 수 있기 때문이다. 또한, 값이 싸고 안개나 비에 전자기파가 흡수되지 않아 많은 자율주행차량에 채택되고 있다.
그 외에 최근 자동차에 주차 시 인접 차량과 근접하는 경우 경고음을 내는 센서로 많이 사용하는 초음파(Ultrasound) 센서가 있다. 초음파 센서는 기계적인 음파를 발생하고 주변 물체와의 반사를 측정하여 거리를 계산한다. 악천후에도 오류 없이 작동하며, 심지어 센서가 먼지에 덮이는 악조건에서도 잘 작동한다. 그러나 아직 자율주행차량에 보편적으로 채택되진 않았다.
카메라, 라이다, 레이더 이용한 시각 정보 수집 과정
카메라가 얻는 정보는 카메라에 수직 방향으로 투영되는 피사체의 가시광선 세 파장대에서 나타나는 세기다. 디지털카메라가 보편화되면서 보통 얻어지는 정보는 투영 방향에 수직한 두 방향으로 배열을 이룬다.
다채널 배열정보로부터 객체를 인식하려면 객체가 놓여 있는 영역을 잘라내고(region selection), 해당 영역에 있는 객체를 분류(classification)해야 한다. 계산을 빨리하기 위해 많은 네트워크 아키텍처는 이 두 가지 작업을 동시에 수행한다.
자율주행은 정지된 영상뿐 아니라 연속으로 이어진 영상에서도 객체를 인식해야 한다. 진행하는 영상에서 각 객체에 아이디를 부여하고 이들을 추적하는 계산도 수행해야 한다. 이러한 추적은 객체 간의 가림(occlusion) 현상 탓에 어렵다. 카메라를 부착한 차량이 고속으로 이동을 할 때는 객체를 탐지할 시간도 제한된다.
두 개의 카메라를 사용하면 피사체의 3차원 좌푯값을 얻는다. 자율주행차량은 객체를 인식할 뿐만 아니라 객체가 멀리 또는 가깝게 있는지를 판별하여 가까운 물체에 더 많은 관심을 가져야 한다.
효율적인 연산을 위해서는 일정 거리에서 벗어난 객체는 대개 탐지하지 않는다. 이 교수는 “테슬라와 모빌아이처럼 라이다를 사용하지 않는 자율주행 기술에서는 이러한 방식으로 도로상의 객체에 대한 3차원 위치 정보를 얻는다”라고 부연했다.
▲ 라이다는 객체의 원근 구별에 유용하다 [그림=벨로다인 라이다]
라이다를 사용하는 자율주행차량의 경우에는 피사체의 거리 정보를 센서에서 얻을 수 있어 원근 구별이 쉽다. 라이다를 사용하면 원시(raw) 데이터를 사용하기보다 피사체 표면을 점군(point cloud)으로 표현한 가공된 데이터를 활용한다. 여기서 점은 라이다 센서 좌표계를 원점으로 한 직교 좌표계의 좌푯값 x, y, z가 된다.
점군에서 객체를 인식할 때는 대부분 ‘포인트넷(PointNet)’이란 점군에 특화된 변환 전처리기를 입력단에 둔, 다층 퍼셉트론(multilayer perceptron)으로 구성된 네트워크를 사용한다.
포인트넷의 전처리기는 점군이 순서에 무관하고, 점들은 멀고 가까운 거리 구분이 되어야 하고, 회전이나 병진 같은 변환에 무관해야 한다는 특징을 이용한다. 포인트넷과 그것에 계층구조를 부여한 ‘포인트넷++(PointNet++)’를 사용하면 객체의 인식뿐만 아니라 주변 배경의 분할(segmentation)도 가능하다.
라이다의 단점은 얻는 점군이 매우 부족하여 센서로부터 일정 거리가 되면 적은 수의 점군만을 얻어 객체 인식이 어렵다는 데 있다. 이를 보완하고자 라이다의 점군을 중심으로 카메라에서 얻은 컬러 이미지를 부착(augment)하여 측정되지 않는 영역의 데이터를 보충한다.
이러한 경우에 다른 센서 정보들을 융합해야 한다. 여러 센서 간의 데이터를 융합하는 것은 센서의 특성뿐 아니라 일부 센서가 원활한 작동을 하지 않을 경우까지 대비하기 위함이다.
딥러닝 학습용 자율주행 데이터셋의 요건
딥러닝 기반 객체 인식은 대량의 데이터셋으로 AI 모델을 학습시켜 카메라, 라이다, 레이더 등의 센서들로부터 얻은 정보에서 객체를 찾아내는 기술이다.
현재 공개 중인 다수의 자율주행 데이터셋은 차량에 부착된 다수의 센서가 동시에 수집한 것으로 멀티모달(multi-modal)의 특성을 가진다. 라이다 점군을 포함하는 경우가 많고, 최근에는 레이더 측정을 제공하는 사례도 있다.
이러한 멀티모달 특성상 촬영의 단위가 되는 장면(scene)은 대체로 1,000개를 넘지 않으며, 객체를 구분하고자 다루는 클래스 숫자도 10개 내외다. 공통으로 다루는 클래스는 자동차, 보행자, 자전거다.
자율주행 데이터셋은 각 모드의 특색에 맞는 데이터를 기본적으로 포함해야 한다.
카메라 데이터의 경우에는 RGB(Red, Green, Blue) 이미지가 기본적으로 있어야 한다. 그밖에 렌즈, 장착 위치, 촬영 시간, GNSS(Global Navigtion Satellite System) 정보, 기후 등의 정보가 있으면 네트워크 정확도를 더 높일 수 있다. 탐지된 객체의 클래스와 바운딩 박스(bounding box)도 있어야 한다.
하지만 이러한 정보를 표현하는 표준은 제정되지 않았다. 이 교수는 “아직 산업계에서 자율주행차량에 대한 공통된 합의가 없어 표준이 만들어지지 않았다”라며, “딥러닝을 위한 데이터셋를 만들 때 위와 같은 표준화된 분류체계와 더불어 바운딩 박스를 실제로 적용하는 규칙에 대한 규범도 따로 필요한 상황이다”라고 지적했다.
▲ 데이터셋 표준은 아직 제정되지 않았으나 정확도를 높이기
위해 바운딩 박스를 지정해야 한다 [출처=엔비디아]
객체를 인식하기 위한 데이터셋은 꼭 이상적인 사진만 있지는 않다. 객체 인식기는 실제 상황에서 작동해야 하는데, 완전히 이해되는 영상이 아닐 경우가 많기 때문이다. 이 교수는 “데이터셋에서는 완벽하지 않은 경우라도 객체의 바운딩 박스를 만들어주는 것이 좋은 성능의 검출자를 만드는 데 기여한다”라고 조언했다.
일부 사진에서는 가려짐, 빛 반사, 흐림 같은 예외적 상황이 발생할 수 있다. 이러한 경우의 라벨링에 대해서는 가능한 포괄적인 클래스를 표기하고 식별이 어려운 이유 등을 표기하는 것이 좋은 검출자를 만드는 것으로 이어진다는 것이다.
포괄적인 자율주행 시나리오 구축, 데이터셋 보충에 도움
자율주행차량은 객체 인식 뿐만 아니라 객체들이 시간에 따라 어떻게 이동하는지도 파악해야 한다. 최근 많은 데이터셋은 수십 초 정도의 장면을 단위로 다수의 센서 측정값들을 제공한다. 이러한 장면들이 필요한 교통상황을 모두 포괄하는 것은 자율주행차량의 안전성과 연결된다.
이에 대한 산업계의 요구에 따라 장면을 기술할 수 있는 설명 언어(description language)들이 발표되고 있다. 현재 국내에도 이러한 연구들이 이뤄지고 있으나 컴퓨터가 이해할 수 있는 형식(computer readable form)이 아니라 자연어로 기술하고 있다.
장면을 표현하는 방법으로 실제 상황에서는 재현하기 어려운 상황을 가상현실 기법으로 만들어내는 도구도 있다. 게임 기술에도 사용되는 실사 그래픽 환경과 물리 기반으로 다양한 센서의 측정값을 계산해서 데이터셋을 만들어내 부족한 데이터셋을 보충하는 방법을 취한다.