[KROS 2022] 열악한 환경에서의 자율주행을 위한 다중센서 데이터셋 구축

이번 리뷰 논문은 한국로봇학회 KROS에 출판된 데이터 셋 논문입니다. 국방과학연구소에서 작성한 논문이며, 제 연구 방향성에 있어 하고파 했던 실험 환경과 센서 구성으로 구축된 논문이라 기록을 남기고자 리뷰를 작성합니다.

Intro

최근 기술의 발전으로 자율 주행 차량에 대한 기대가 많이 높아졌습니다. 수많은 기술 중 딥러닝은 자율 주행 차량에 대한 기대를 높이는 데에 아주 큰 몫을 했습니다. 딥러닝은 자율 주행의 핵심 기능인 인지, 판단, 제어 3가지 기능에서 좋은 성과를 보여주고 있습니다. 특히, 인지 능력은 카메라를 이용한 물체 검출, 영상 분할, 도로 인지 등에서 좋은 성과를 보여주고 있으며, 더 나아가 LiDAR나 Radar와 같이 sparse한 정보를 가진 센서 뿐만 아니라 수많은 센서 데이터를 활용한 태스크에서도 좋은 성과를 보여주고 있습니다.

학습을 통해 원하는 값을 유추하는 딥러닝 알고리즘의 특성상, 학습을 위한 데이터 셋이 필수적으로 요구됩니다. 이러한 특성으로 자율 주행 분야에서도 주행 정보가 포함된 수많은 데이터 셋들이 연구되어져 왔습니다. 가장 대표적인 자율 주행 데이터 셋으로 KITTI가 있습니다. 해당 데이터 셋은 4개의 RGB 카메라, Velodyne LiDAR, SOTA의 localization system으로 구성된 센서 데이터로 22개의 시퀀스, 총합 39.2km에 달하는 주행 정보로 구성되어 있습니다. 해당 데이터 셋은 VO/SLAM, Depth, optical flow estimation과 2D/3D Detection을 수행할 수 있도록 각 센서 데이터들이 가공되어져 제공됩니다. 정밀한 가공과 풍부한 정보로 수많은 자율 주행 연구들이 해당 데이터 셋을 이용하여 좋은 연구들을 이뤄왔습니다.

하지만 KITTI와 같이 연구용 자율주행 데이터 셋들은 기초적인 태스크 연구에 초점이 맞춰져 있어 좋은 컨디션, 예를 들어 맑은 날씨, 해가 떠있는 시간대에서만 취득된 정보들로 구성되어져 있기에 나쁜 컨디션에서의 연구 및 평가에 대해선 한계가 있다는 문제가 있습니다. 해당 한계를 극복하고자 Multispecetral KAIST에서는 해가 저문 시간대에서도 원활한 자율 주행을 위한 연구와 평가를 위한 데이터 셋 구성을 제공합니다. 해당 데이터 셋은 밤 시간대에서도 영상 정보를 활용하기 위해서 컬러 카메라 뿐만이 아니라 열화상 카메라 정보를 함께 제공합니다. 또한 도메인이 다른 두 카메라 정보의 공간적 미정렬 문제를 해결하기 위해 빔스플리트를 이용한 광학적 일치를 수행함으로써 시차 오차를 최소화하여 제공합니다. 해당 데이터 셋은 2D Detection을 수행할 수 있도록 각 센서 데이터들을 가공하여 제공합니다.

이러한 움직임에도 불구하고 자율 주행 분야에서는 비, 눈, 안개와 같은 나쁜 컨디션의 날씨 상황과 연기, 먼지, 연기 등 예기치 못한 나쁜 컨디션과 같이 아직 풀어야하는 문제들이 많이 남아있습니다. 해당 논문에서는 자율 주행에서의 나쁜 컨디션 문제에 대한 문제 중 비, 눈, 안개, 연기, 먼지와 같은 나쁜 컨디션에서의 주행 정보를 취득하여 가공하여 자율 주행 분야에서 존재하는 한계에 대한 해결 방법에 대한 실마리를 제공합니다. 제안하는 데이터셋은 KAIST와 유사하게 나쁜 컨디션에서 제대로 작동하지 못하는 컬러 카메라의 한계를 극복하고자 적외선 분파의 카메라들을 사용합니다. 파장에 따라 구분되는 적외선 카메라 SWLR/MWLR/LWIR 을 모두 이용하여 정보를 측정하며, 적외선 카메라 뿐만이 아니라 3차원 정보를 측정하기 위한 LiDAR, Radar를 취득한 센서 데이터를 제공합니다.

나쁜 컨디션에서 대안으로 많이 제시되는 서로 다른 장단점을 가진 센서 데이터들을 이용하여 측정한 정보를 제공함으로써, 어느 컨디션에서 어떤 데이터를 이용하면 좋은지에 대한 분석에 대한 기회를 제공하며, 파장에 따른 적외선 카메라 별로 맑음, 비, 눈, 연기, 먼지 컨디션에서의 물체 검출과 주행 영역 인식에 대한 평가를 통해 나쁜 컨디션에 대한 정보를 학습과 나쁜 컨디션이 포함된 해당 데이터 셋의 필요성을 어필합니다.

Method

센서 구성

다중 스펙트럴 영상 센서 구성

영상 센서는 딥러닝 분야 중 가장 활발하고 좋은 성능을 보여주고 있는 센서에 해당합니다. 또한 센서 가격이 상대적으로 저렴하다는 장점을 가지고 있기 때문에 자율 주행 분야에서의 경제성 측면에서도 이점을 줍니다. 일반적으로 자율 주행 분야에서는 가시광 영역의 카메라를 활용하고 있으며, 다양한 영상 처리 알고리즘 등을 활용할 수 있다는 장점이 있으나, 해당 논문에서 설정한 나쁜 컨디션에서는 그 성능이 제한될 수 있습니다. 특히, 야간에는 가시광 정보들이 부족하여 측정된 정보들이 부족하고, 강우, 강설 등에서는 정보가 왜곡될 수 있으며, 최악의 경우에는 렌즈의 이물질에 의해 정보가 왜곡 될 수 있습니다. 저자는 해당 문제를 다른 파장 대역의 영상을 활용하여 극복할 수 있다는 가능성을 염두에 두고 여러 파장에서의 적외선 카메라를 이용하여 정보를 측정합니다. 세 구역의 파장으로 구분되는 적외선 카메라 종류 NIR, SWIR, LWIR을 가시광 카메라 외에도 추가하여 사용합니다. 각 파장의 카메라의 장점은 다음과 같습니다. 먼저, LIR은 저조도 환경 등에서 유리한 특성을 가지고 있으며, SWIR은 해무, 안개, 연막 등에 투과성이 상대적으로 높으며, 열화상(LWIR) 대비 선명도가 높은 장점을 가지고 있습니다. 마지막으로 LWIR은 앞선 적외선 카메라 종류와는 다르게, 물체에서 발산하는 원적외선 정보들을 측정하여 영상 레벨에서의 온도 정보를 측정함으로써, 가시광 영상 대비 야간에 유리하며, 조명 환경에 대한 영향이 적다는 장점을 가지고 있습니다.

+ 저자가 정의한 파장 별 적외선 카메라의 장점에 대해서는 잘 구분했다고 받아들여지지 않네요. 추후 각 센서별 장점을 추가로 정리할 필요성이 있는듯

즉, 영상 센서는 가시광선, LIR, SWRI, LWIR 총 4대의 카메라들로 구성되어져 있으며, Fig 2와 같은 구성으로 구성됩니다. 각 카메라 간의 거리 차로 인해 발생하는 시차 오차를 줄이기 위해 센서 간 거리를 최소화 할 수 있도록 구성했다고 합니다. 또한 각 카메라들은 캘리브레이션을 수행했으며, 시차 오차를 최소화 하기 위해 가시광 센서를 기준으로 호모그래피를 이용한 정렬을 수행했다고 합니다.

거리 센서 구성

대부분의 자율 주행 데이터 셋에서는 LiDAR을 메인 센서로 활용하고 있습니다. Waymo, nuScenes에서는 레이더도 추가하여 적용하고 있으며, 해당 논문에서도 유사하게 차량 상단에는 LiDAR(32채널의 회전형 라이다)를 구성하고, 차량의 전방과 상부에 각각 레이더를 독립적으로 설치하는 구성하였습니다. 라이다와 레이더 모두 주변 광원에 영향을 받지 않아 주야간 상관 없이 원활한 동작이 가능합니다. 하지만, 라이다인 경우에 먼지나 연막 등의 환경에서 빛을 방해하는 요소에 대한 투과성이 없다는 문제점이 있습니다. 반면에 레이더는 악천후에 대해 어느정도 강인한 투과성을 가지고 있으나, 라이다 대비 낮은 해상도를 가지고 있다는 문제점이 있습니다. 해당 논문에서는 두 센서를 모두 활용하는 것이 열악한 환경에서의 좋은 기여를 할 것이라고 말하고 있습니다.

+ 여기서도 두 센서에 대한 장단점이 모호하다는 문제점이 있네요. 이후 연구를 위해 보다 명확하게 장단점을 정리할 필요성이 있어보입니다.

항법 센서 구성

항법 센서는 GPS와 GPS에 동봉된 IMU 센서를 활용합니다. 차량의 휠 인코더를 이용한 사후처리로 항법 데이터를 보정하였다고 합니다. 이를 통해 위치 오차 2cm 및 자세 오차 0.02도 수준의 항법 데이터를 활용했다고 합니다.

+ 보정 방법에 대한 레퍼런스 없음. 오차 평가 방법에 대한 레퍼런스 및 정보 미기재.

센서 배치

각 센서들은 센서 간의 거리를 최소화하여 시차로 인한 오차를 최소하도록 하였습니다. KAIST에서는 시차 오차를 최소화하기 위해 빔스플리트를 사용하였습니다. 하지만 해당 저자는 빔스플리트를 이용한 경우에는 세 가지 문제가 존재한다고 합니다. 1. 센서팩의 부피를 크게 만든다. 2. 광원의 에너지를 분산시킨다. 3. 외부 충격에 대해 예민하다. 위와 같은 세가지 문제점으로 인해 빔스프리트를 사용하지 않는 방식을 이용했다고 합니다.

동기화

동기화 방법은 시간적 오차를 최소하 하기 위해 fig 4와 같이 라이다를 기준으로 한 하드웨어 동기화를 수행했습니다. 라이다의 특정 회전 각도(영상 센서의 FoV와 겹치는 영역)를 읽고, 해당 값에 해당하는 라이다 스캐닝 정보를 계산하고, 해당 타이밍에 트리거 신호를 보내는 방식으로 구성됩니다. 이떄, 항법 신호도 같이 수신하여, 해당하는 타임스탬프 및 항법 정보를 포함하도록 합니다.

특징적 혹은 기술적인 정보가 들어가 부분은 다음과 같습니다. 해당 데이터셋에 사용된 LWIR 제품인 경우, 외부 트리거를 이용한 프레임 조정이 불가하여 소프트웨어 동기화를 이용하였습니다. 그리고 LiDAR의 파장이 Fig 5의 (a)와 같이 LIR에서 측정되기 때문에 트리거 신호보다 한 프레임 늦게 받았다고 합니다. 또한 각 동기화 신호는 Rasberry Pi 3를 이용하여 전달했다고 합니다.

센서 간 캘리브레이션

다중 카메라 간 캘리브레이션

각 카메라는 일반적인 캘리브레이션을 통해 내부 카메라 파라미터를 계산하여 영상 왜곡을 수정했다고 합니다. 또한 서로 다른 위치에 카메라를 배치한 구성으로 인해 시차가 크게 발생하기 떄문에 이를 잡기 위한 정렬을 수행했다고 합니다. 정렬은 가시광 센서를 기준으로 수행되었으며, 일반적으로 많이 사용되는 호모그래피를 계산하여 정렬을 수행했다고 합니다. 정렬을 수행한 후 Fig 6과 같이 각 센서의 영상들을 일치 시킨후 공통된 FoV를 가지도록 영상을 잘랐다고 합니다.

+ 호모그래피를 이용한 방법에 대해 참조나 자세한 설명이 없으나, 추측으로는 보정 판에서 취득된 값이나 fig 6과 같이 측정한 영상을 기준으로 직접 손으로 공통된 특징점을 찍어 호모그래피를 예측한 것으로 보입니다.

카메라-라이다 캘리브레이션

라이다를 영상 레벨로 사영 시킨 다음, v자 형태의 타겟을 이용하여 카메라와 3차원 라이다 사이의 회전 및 이동 파라미터를 구하여 적용하였다고 합니다.

센서 데이터 구성

센서 데이터 획득 환경 구분

해당 논문에서 제안한 방법 중 가장 흥미로운 부분에 해당합니다. 환경에 대한 명확한 정량적 지표를 설정하는 것이 굉장히 어려운데 Table 1에서와 같이 제안하고 있다. 강우, 강성인 경우 기상청의 정보를 기준으로 측정하였으며, table 1과 같은 기준으로 Low/Medium/High 세 가지 레벨로 구분하였다. 기존에 내린 비 또는 눈은 정량적인 수치를 측정할 수 없기에 포함하지 않는다.

강우, 강설에 비해 먼지나 연막은 명확한 정량적 지표를 이용하여 열악한 환경 정도를 측정하기 어렵다. 저자는 이러한 문제를 RGB 영상에서 사람의 물체 인식 정도를 개별적으로 판단하여 Low/Medium/High로 구분하였다.

센서 데이터 구축

최종적으로 가공된 센서 데이터는 Fig 8과 같은 구성을 가지고 있으며, 시맨틱 분할, 2D/3D detection을 수행하였다. 3차원 정보인 경우, 굉장히 sparse하기 때문에 항법 정보를 기반으로 정보를 누적하여 가공자가 판단하여 라벨링을 수행하였다고 합니다.

가공된 데이터의 갯수는 Table 2와 같으므로 참고하기 바랍니다.

또한, 각 가공 데이터의 라벨 정보는 Table 3과 같으며, 라이다와 영상 모두 12 종의 라벨을 가지고 11종의 공통된 라벨을 가지지만 sky인 경우에는 라이다에서 측정이 어렵기 때문에 라이다에서는 obscurant로 라벨링하여 사용합니다.

Experiment

저자가 실험에 사용한 태스크는 YOLO 3를 이용한 2차원 물체 검출과 라이다 기반인 CenterNet을 이용한 3차원 물체검출을 수행했으며, 추가로 주행영역인식 능력을 평가하기 위해 KITTI 기준 SOTA 알고리즘, PLARD, LoDNN에서의 평가를 진행하였다. 각 태스크와 알고리즘들은 맑은 날씨에서 학습된 Model (A)와 열악한 환경이 포함된 환경을 추가로 학습한 Model (B)로 구성되어져 평가를 진행했다.

+ 최종적으로 열악한 환경도 학습해야한다는 주장을 펼칩니다. 이렇게 좋은 데이터 셋으로 KROS에 제출한 이유가 여기 있는 것 같습니다. 실적이 급하셨나…

물체인식

Tavble 4는 2D 검출, Table 5는 라이다 기반 3D 검출 결과에 해당하며 앞서 설명들린 바와 같이 열악한 환경을 학습한 케이스에서 좋은 성능을 보여줍니다.

정성적인 결과에서도 좋은 결과를 보여주고 있습니다.

주행영역인식 성능 실험

주행 영역 인식 모델에서도 열악한 환경을 학습한 모델에서 좋은 성능을 보여줍니다.

———————————————————

굉장히 좋은 센서 구성과 환경을 구축한 데이터 셋 대비 데이터 셋의 효용성을 보이는 실험이 매우 빈약하다는 문제점이 있네요. 혹시나 해당 데이터 셋을 받을 수 있다면 매우 좋을텐데 기대하고 있습니다.

Author: 김 태주

6 thoughts on “[KROS 2022] 열악한 환경에서의 자율주행을 위한 다중센서 데이터셋 구축

  1. 리뷰 잘 읽었습니다.

    마지막 결론 부분 글 때문에 그러는데 혹시 해당 논문의 저자들한테 데이터 셋 제공 관련해서 연락을 하셨나요?

  2. 리뷰가 흥미로워서 읽어보았습니다. 굉장히 좋은 논문인거 같은데 KROC보다 좀 더 높은 학회/저널에 냈으면 어땠을까 하는 아쉬움이 남네요. 센서구성이나 NIR/LWIR/SWIR 등등을 조합하여 센서팩을 구성한게 저희연구실과 얼라인이 맞는거 같아서 재밌네요. 호모그래피 부분에 대한 자세한 설명이 없어서 아쉽긴한데, 메뉴얼하게 매칭포인트를 찍어서 했을거 같다고 말씀하신게 맞는거 같긴하네요. (본문에 LIR이라고 표기된 것들이 NIR의 오타인거 같습니다. )

    1. 제 생각에도 굉장히 좋은 주제와 결과물이기에 더 좋은 곳에 출판 할 수 있을 것 같다고 생각했으나… 아마 알고리즘과 데이터 가공 측면에서 신규성과 참신성이 부족한 것으로 보아, 실적용으로 제출한 것 같습니다.

  3. 자세한 리뷰 감사합니다. 혹시 Method 센서부분에서 센서배치에 관한 내용 중 센서 간의 거리를 최소화하기 위해 KAIST에서는 빔스플리트를 사용하였다고 하셨는데, 밑에 카메라 간 캘리브레이션을 할 때 서로 다른 위치에 카메라를 배치한 구성으로 인해 발생하는 시차를 잡기 위해 정렬을 수행했다고 합니다. 그럼 기존의 존재하는 방법론들에서는 두 가지 처리를 모두 수행해주었던 건가요?

    1. 말씀하시는 기존 방법론이 무엇인지 몰라서 정확한 답변을 드릴 수 없네요…
      음… 기존 방법론 = 여러 카메라들을 사용하는 일반적인 경우에는 어떤가요? 라는 질문으로 이해하고 답변드리자면,

      경우에 따라 다르며, 대체로 빔 스플리트와 정렬은 수행하지 않습니다. 카이스트 데이터 셋이 특수한 경우라고 보시면 됩니다.

      도경님께서 일반적인 경우와 달리 KAIST와 해당 데이터 셋은 왜 두 도메인 영상간 정렬을 수행 했는가에 대해 고민해보시면 좋을 것 같습니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다