동적 격자 지도를 이용한 딥러닝 기반 동적 객체 인식 기법 성능 개선
Copyright Ⓒ 2022 KSAE / 203-08
This is an Open-Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License(http://creativecommons.org/licenses/by-nc/3.0) which permits unrestricted non-commercial use, distribution, and reproduction in any medium provided the original work is properly cited.
Abstract
Dynamic occupancy grid map(DOGM) is a method of representing nearby objects information such as their position and speed on a grid map. This study evaluated the performance of a deep learning-based algorithm developed to detect and classify objects with free probability, velocity, and height information from a DOGM obtained using 3D lidar sensor measurements. The objects are classified into three categories: car, truck and bike. Nuscenes dataset was used to train and evaluate the developed model. The performance of the algorithm is evaluated by calculating the mean average precision(mAP) for the entire three classes, which is compared with other benchmark object detection algorithms such as BirdNet, BirdNet+ and BEV-Net.
Keywords:
Autonomous driving, Dynamic occupancy grid map, Object detection, Deep learning키워드:
자율주행, 동적 격자 지도, 객체 인식, 딥러닝1. 서 론
1.1 연구 배경
자율주행이 가능하기 위해서는 객체를 인식하고 환경을 판단할 수 있는 알고리즘은 필수적이다. 그중 객체를 인식하는 알고리즘은 차량뿐만 아니라 보행자, 신호등, 표지판 등에도 사용된다. 도심지 환경에서는 주변 객체들을 정확하게 감지하지 못한다면 현재 상황을 제대로 판단하지 못해 자율주행 시 사고 확률이 높아지게 된다. 따라서 객체 인식은 자율주행 차량의 안전성을 보장하기 위한 핵심적인 기술이다.
점유 격자 지도(Occupancy grid map, OGM)는 주변 환경에서 대상의 존재 유무를 격자 형태로 이루어진 지도 위에 표현하는 방법이다. 로봇을 위한 환경 인식 시스템으로 주로 사용된 이 방법은 각 격자 안에 물체의 존재 확률과 위치 정보 등을 포함하고 있다. OGM은 라이다, 카메라, 레이더 등에서 검출된 정보를 확률값으로 표현한다. 실시간으로 센서를 통해 감지한 정보를 지도에 업데이트하고 경로 설계 및 장애물 회피 등에 사용할 수 있는 장점이 있다.1) 최근 OGM에서 출력할 수 있는 물체의 위치, 존재 확률뿐만 아니라 이동 속도까지도 함께 나타내는 동적 격자 지도(Dynamic occupancy grid map, DOGM) 기법이 로봇 및 자율주행 분야에서 활발히 연구되고 있다. 동적 격자 지도를 통해 알 수 있는 객체의 위치 및 속도 정보를 랜덤 유한 집합(Random finite set)으로 모델링 한 연구도 진행되었다.2) DOGM에서는 각 격자의 현재 상태를 파티클 필터를 이용하여 초기화, 예측, 갱신, 리샘플링의 단계를 거쳐 갱신하게 된다.
최근 주위 환경에 존재하는 다양한 종류의 객체를 검출하기 위하여 라이다 센서를 활용한 연구가 활발하게 진행되고 있다. 차량 검출 알고리즘을 두 종류의 라이다 데이터 세트를 이용하여 학습하고 결과 비교를 한 연구도 진행되었다.3) 또, 라이다 센서를 이용하여 객체 인지 및 추적을 통하여 객체의 거동을 예측하는 인지 모듈도 연구되었다.4) 객체를 정확하게 판단하기 위해서는 라이다, 카메라, 레이더 등과 같은 여러 가지 센서가 필요하다. 라이다 데이터를 군집화, 예측, 추적하여 객체 인식을 하고, 라이다, 카메라, 레이더 센서를 융합한 연구도 진행되었다.5) 각각의 센서 장점을 살리고 단점을 보완하여 센서에서 관측되는 값을 알고리즘에 적용한다. 하지만 여러 센서와 알고리즘을 사용하게 되면 자율주행시스템의 복잡성이 증가하게 된다. 이에 맞춰 개별 센서에서 오는 정보를 융합할 수 있는 알고리즘이 필요하다.
1.2 연구 동향
객체 검출 알고리즘을 통해 객체가 무엇인지 판단함으로써 자율주행 차량은 각 상황에 맞게 안전한 주행을 할 수 있다. 자율주행용 임베디드 플랫폼 환경에 탑재할 수 있도록 딥러닝 객체 탐지 모델의 성능을 검증하는 연구도 진행되었다.6)
최근 다양한 논문에서 차량의 주변 환경을 인지하고 예측하는 기법에 활용되는 데이터를 Bird eye view(BEV) 형태로 사용하고 있다. 대표적으로 객체의 유무를 격자 형태로 나타내는 격자 지도 기법이 있다. 특히 동적 격자 지도는 격자에 객체의 속도 및 위치 정보와 같은 다양한 정보를 포함하고 있다. BEV 형태의 동적 격자 지도를 구축하는데 사용되는 라이다 센서는 3D 공간에서 표현된 포인트 클라우드 데이터를 생성한다. 3D 포인트 클라우드 데이터는 용량이 크고 연산 시간이 오래 걸린다는 단점이 있다. 따라서 3D 포인트 클라우드 데이터를 2D 격자 지도 데이터로 변환하면 데이터 양을 줄여 연산 시간도 감소시킬 수 있다. 또한, 여러 가지 센서로부터 얻어진 방대한 양의 출력값과 여러 알고리즘을 효율적으로 관리할 수 있는 장점이 있다. 최근 동적 격자 지도의 연산 시간 문제를 극복하기 위해서 GPU 병렬 처리를 적용한 연구가 진행되었다.7) 현재 동적 격자 지도 출력값 기반의 객체 검출기법에 관해서 많은 연구가 진행되진 않았지만 몇 가지 연구가 진행되고 있다. 그 중 DOGM의 출력값을 이용하여 객체 검출하는 연구가 진행되었다.8) 또한, 레이더 기반으로 동적 격자 지도를 형성하고 매핑과 객체 검출을 하는 연구도 진행되었다.9) Birdnet과 같은 기법도 라이다 포인트 클라우드 데이터를 BEV 형태로 변환시켜 객체 검출을 수행하였다.10) 동적 격자 지도로는 격자에 해당하는 객체의 유무만 알 수 있고 각 객체의 클래스 정보는 알 수가 없다.
본 논문에서는 라이다에서 검출되는 포인트 클라우드 데이터를 이용하여 동적 격자 지도를 생성하고 각 격자의 출력값인 비점유 확률(Free probability), 점유 확률(Occupancy probability), 격자 최대 높이(Height max), 격자 최소 높이(Height Min), 격자 속력(Speed)을 딥러닝 기술의 입력값으로 사용하여 객체의 위치 및 클래스 정보를 예측하는 객체 검출기를 제안한다. 특히 본 연구에서는 Car, Truck, Bike(Motorcycle, Bicycle) 총 3개의 클래스로 나누어 객체 검출 알고리즘을 개발하였으며 nuScenes 데이터 세트를 통하여 그 성능을 검증하였다.
1.3 연구 목적
본 논문에서는 동적 격자 지도의 출력값을 이용하여 딥러닝 기법 기반의 객체 검출 기법을 제안한다. 딥러닝 기반의 객체 추출 기법의 입력으로 동적 격자 지도의 출력값인 점유 확률, 비점유 확률, 라이다 센서 측정치, 속도 정보가 사용된다. 객체 검출을 위하여 대표적인 1-Stage Detector 중 하나인 SSD(Single Shot MultiBox Detector)11)기반 모델을 개발하였다. 또한, 객체의 방향 정보와 폭 정보를 얻기 위해 두 가지 모델을 별도로 학습하기 위한 Multi task learning 방법12)을 이용하였다. 이 모델을 학습시키기 위해서 ‘Motional’사에서 제공하는 nuScenes 데이터 세트를 활용하였다. 이처럼 동적 격자 지도에 출력값을 이용하여 객체를 인식하고 동적 상태로 전환할 가능성이 있는 객체를 검출함으로써 위치 인식을 위한 지도 매칭 데이터나 동적 객체 추적 데이터로 활용될 수 있다. 크기가 작은 클래스인 Motorcycle, Bicycle도 구분함으로써 자율주행 시 작은 물체에도 안정적으로 반응할 수 있어 안정성을 높일 수 있다.
2. 점유 격자 지도(Occupancy Grid Map)
2.1 정적 격자 지도
Fig. 1에서 볼 수 있듯이 정적 격자 지도(Static occupancy gird map)는 각종 센서의 출력값을 이용하여 각각 독립된 격자 공간상에 표현하는 방법이다. 센서의 출력값은 격자 상에서 확률로 표현된다. 정적 격자 지도에서 격자의 상태는 점유 격자, 알 수 없는 격자, 비점유 격자로 표현이 되고, 상태에 따라서 확률값이 할당된다. 또한, 격자 1과 2는 각각 독립된 격자로 가정하고 정보가 갱신된다.
정적 격자 지도를 자율주행에 사용할 수 있는 격자로 표현하기 위해서는 세 가지의 모델이 필요하다.
첫 번째로는 자차 움직임 보상 방법이 있다. 자차량에 있는 센서로부터 주변차량의 상대적 위치, 속도 등의 정보를 받는다. 하지만 차량은 계속해서 이동하고 정지한다. 이에 따른 움직임 보상 방법이 필요하다. 점유 격자 지도를 생성하기 위해서는 자차의 움직임을 격자 지도에 반영해야 한다. 자차의 움직임은 주로 관성 센서에서 출력되는 정보인 속력, 가속력, Yaw 변화량을 이용하여 구할 수 있다. 보편적으로 움직임 보상 모델은 회전이 일정하다고 가정하고 CTRV(Constant Turn Rate and Velocity)모델과 CTRA(Constant Turn Rate and Acceleration)모델을 사용한다.13) 이 모델을 토대로 자차 이동량의 계산식은 식 (1)과 같다.
(1) |
두 번째로 필요한 모델은 센서 측정값을 각 격자마다 확률로 표현할 수 있는 센서 측정 모델이다. 라이다는 빛을 쏘아서 반사되어 오는 시간을 측정하여 거리를 계산하는 Time of Flight(TOF)방식이다. 이 측정 모델에는 측정값 오차, 동적 객체에 대한 오차, 측정할 수 없는 경우의 오차, 무작위 오차 등 총 4가지의 오차가 존재한다. 또한, 라이다는 극좌표계(Polar coordinate)로 구성된 격자 지도이다. 이 극좌표계를 직교 좌표계(Cartesian coordinate)로 변환하여 사용해야 한다.
마지막으로 이전 상태의 점유 확률을 이용해서 현재 격자 상태를 갱신하는 격자 지도 갱신 모델이 필요하다. 이때 Binary bayes filter(BBF) 방법을 사용하여 격자 상태를 갱신한다. 이 방법은 이전 시간에서의 측정확률과 사후 점유 확률을 통해 다음 상태의 점유 확률을 계산하여 점유 상태(Occupied state) 또는 비점유 상태(Free state)로 격자를 나타낸다.
2.2 동적 격자 지도
복잡한 도심지 환경에서는 정적인 물체만 존재하지 않는다. 하지만 Fig. 2에서 볼 수 있듯이 정적 격자 지도는 격자에 객체의 유무 및 위치 정보만 저장하므로 동적 물체도 정적 상태로 표현한다.
반면에 동적 격자 지도는 파티클 필터를 기반으로 격자 지도에 존재하는 파티클들을 사용하여 격자의 점유 확률, 비점유 확률을 계산하고 동적 또는 정적 객체를 추정할 수 있다. 동적 격자 지도 갱신 방법은 초기화와 예측, 갱신, 리샘플링 총 4단계로 구성되어 있다.
모션 모델이 적용되어 전파된 파티클들은 동적 격자 지도에 사용된다. 그리고 각 격자에 분포하는 예측 파티클은 각 격자의 동적 및 정적 상태를 나타낸다. 만약 격자가 많은 파티클들을 가지고 있거나 파티클들이 가지고 있는 가중치가 높으면 각 격자는 높은 예측 점유 확률을 갖게 된다.
앞서 언급한 Binary Bayes Filter(BBF) 방법을 통해 예측된 파티클 점유 확률을 이용하여 추정 점유 확률을 갱신한다. 이 추정 점유 확률은 격자에 존재하는 파티클의 가중치의 합을 정규화하기 위해 사용된다. 따라서 정규화된 가중치는 파티클의 가중치로 사용할 수 있다.
새로운 점유 확률을 갱신하기 위해서 센서 측정 확률과 예측 점유 확률을 결합해야 한다. 그러나 기존에 점유가 되지 않은 격자는 센서 측정값이 높더라도 예측 점유 확률 값이 낮기때문에 새로운 물체가 계측되지 못할 수 있다. 따라서 예측 점유 확률이 낮은 격자에도 새로운 파티클을 생성해 주어야 한다. 또한, 새로운 파티클은 예측 점유 확률보다 센서에 의한 측정확률이 더 높을 때 더 많은 가중치를 부여받게 된다. 점유 확률에 따라 생존 파티클의 가중치가 갱신되며 새롭게 측정된 영역에서는 출현 파티클이 생성된다.
위와 같이 3단계를 거치게 되면 가중치가 높은 파티클만 생존하게 된다. 가중치가 작은 파티클들은 생존하지 못해 총 파티클의 수는 감소한다. 따라서 파티클 필터에서는 리샘플링 단계를 통해 총 파티클의 수를 유지한다. 이 단계에서는 센서 측정 확률과 파티클의 가중치를 기준으로 재생성 단계를 거치며 총 파티클의 수를 유지하고 새로 생성된 파티클은 같은 가중치를 갖는다.
3. 딥러닝 기법
3.1 합성곱 신경망 – ResNet
ResNet은 본 논문에서 객체 인식에 사용된 백본 네트워크이다.14) 딥러닝 네트워크 구조에서 비선형 모델의 답을 구하기 위해서 단층 구조에서 다층 구조로 변경함으로써 복잡한 특징에 대해서도 답을 찾아낼 수 있다. Fig. 3의 (a)는 단순히 레이어를 깊게 쌓는 Plane layer로 구성된 블록이고 (b)는 Residual 블록을 구조화하였다. 두 구조의 차이점은 Residual 블록은 연산 결과와 입력값을 더한다는 것이다. 이 방법은 기울기 소실의 문제를 해결시킬 수 있어 정확도가 감소하지 않고 신경망의 레이어를 깊게 쌓을 수 있어 더 성능이 좋은 신경망을 구축할 수 있다.
Fig. 4를 살펴보면 (b) Bottleneck에서 1×1 합성공 층은 신경망의 시작과 끝에 추가된다. 이때, 1×1 합성곱 층은 차원을 줄이기 위해서 사용한다. 이 과정에서 신경망의 성능은 감소하지 않고 파라미터 수를 감소시키는 효과를 가질 수 있다. 차원을 줄인 뒤 3×3 합성곱 층은 차원을 확대하는 역할을 한다. Fig. 4에서 (a)는 Bottleneck을 사용하지 않는 경우이다. Bottleneck을 사용하면 사용하지 않은 경우에 비해 파라미터의 개수가 22 %가 줄어든다. 결과적으로 Bottleneck은 연산량을 감소시킬 수 있는데 도움을 준다. 따라서 본 논문에서는 ResNet 구조를 사용하였다.
3.2 SSD(Single Shot MultiBox Detector)
RCNN 계열의 2-stage detector는 정확도가 높지만, Region proposals를 추출하고 이를 처리하는 과정에서 시간이 오래 걸려 인식 속도가 느리다는 단점이 있다. 반면 YOLO v1은 원본 이미지 전체를 통합된 네트워크로 처리하기 때문에 인식 속도가 매우 빠르다는 장점이 있다. 하지만 SSD(Single shot multibox detector)보다 상대적으로 적은 Anchor 박스를 사용하여 정확도가 떨어진다. 이처럼 정확도와 인식 속도는 반비례 관계에 있다. 하지만 객체 탐지 모델 중 SSD는 다양한 특성 맵을 사용하여 정확도를 높이고 1-stage detector로 속도가 빠른 장점이 있다. SSD 모델은 VGG-16을 기본 네트워크로 사용하고 보조 네트워크인 Auxiliary를 추가한 구조로 되어 있다. 보조 네트워크는 일반적인 합성곱 층을 가지고 있다.
Fig. 5에서 보듯이 SSD 모델은 합성곱 신경망 중간에서 얻은 총 6개의 크기가 다른 특성 맵을 객체 인식에 사용하였다. 따라서 작은 객체뿐만 아니라 다양한 크기의 객체를 탐지할 수 있다. 또한, 하나의 셀마다 크기가 각기 다른 Default 박스를 사용한다. 이때, Default 박스란, Faster R-CNN15)에서 Anchor 박스의 개념으로 비율과 크기가 달라 바운딩 박스를 추론하는 데 이용한다. SSD 모델은 38×38, 19×19, 10×10, 5×5, 3×3, 1×1으로 총 6개의 특성 맵에서 각 셀마다 Default 박스를 생성하고 이를 객체 인식에 이용한다.
(2) |
(3) |
(4) |
(5) |
각 특성 맵 별로 적용할 Default 박스의 크기를 구하는 공식은 식 (2)와 같다. 식을 살펴보면 특성 맵의 개수는 m개, 임의의 smin, smax를 설정한다. sk는 Default 박스 크기를 의미한다. 식 (2)을 통해 입력값 이미지 대비 Default 박스의 크기 비율인 sk을 정하였으면 각각의 박스 너비와 높이는 식 (3), (4), (5)을 통해 구할 수 있다. ar은 형상 종횡비, Default 박스 폭은 , 길이는 로 표현하였다. 또한, SSD 모델은 객체 검출의 마지막 예측 단계에서 Non Maximum Suppression(NMS)을 통해 겹치는 Default 박스를 제거하여 정확도를 높였다. Yolo v1은 완전 연결 계층을 사용하였지만, SSD는 합성곱 층을 사용함으로써 검출 속도를 향상시켰다. Yolo v1은 입력 이미지를 7×7 크기의 그리드로 표현하고 각 그리드 별로 바운딩 박스를 인식함으로써 7×7 그리드 크기보다 작은 객체의 객체 인식 성능은 낮았다. 하지만 SSD 모델은 여러 특성 맵을 통해 다양한 크기과 형상 종횡비를 가진 Default 박스를 생성하여 객체가 작은 객체뿐만 아니라 크기가 큰 객체까지 다양한 크기의 객체를 인식할 수 있다.
4. DOGM 기반 객체 검출기 개발
4.1 객체 검출기 개요
라이다 포인트 클라우드 데이터를 이용하여 생성한 BEV 형태의 동적 격자 지도 출력값으로 점유 확률, 비점유 확률, 격자 속력, Intensity, 높이가 있다.
Fig. 6은 동적 격자 지도의 출력값((a), (b), (c))과 라이다 데이터((d), (e))의 출력값을 격자 지도 형태로 표현하였다. Fig. 6에서 (a)는 점유 확률을 격자 지도로 표현하였다. 점유 확률은 객체가 존재하는 확률로 센서의 측정 모델을 통해 구해지는 값이다. (b)는 비점유 확률을 격자 지도 형태로 나타내었다. 비점유 확률은 점유 확률과 반대로 객체가 존재하지 않을 확률을 나타내는 값이다. (c)는 격자 속력을 격자 지도 형태로 표현하였다. 격자 속력은 파티클 필터를 이용하여 구한 동적 격자 지도의 결과값이고 각 격자의 속도를 대표한다. Vx와 Vy 성분을 이용하여 속력 성분으로 변환하고 정규화하여 사용한다. (d)는 격자 최대 높이를 표현한 격자이다. 격자 최대 높이는 격자에 존재하는 센서 측정값 중 지면으로부터 가장 높은 값을 의미한다. (e)는 격자 최소 높이를 표현한 격자이다. 격자 최소 높이는 격자에 존재하는 센서 측정값 중 지면으로부터 가장 가까운 값을 의미한다.
4.2 초기 모델 구성
동적 격자 지도에서 나오는 정보(비점유 확률, 속력)와 라이다 데이터(격자 최소 높이, 격자 최대 높이)에서 나오는 정보를 이용한 객체 인식 모델은 SSD(Single shot multibox detector)를 기반으로 개발하였다. SSD는 Yolo v1처럼 1-stage-Detector로 바운딩 박스의 영역을 추출하여 속도가 빠르고 합성곱 층에서 얻은 특성 맵을 활용하여 다양한 크기의 객체를 인식할 수 있다. 백본으로는 기울기 소실과 폭발을 방지하고 연산량을 줄일 수 있는 ResNet-18의 모델을 사용하였다.
Fig. 7은 초기 모델이다. Car의 Default 박스 크기는 0.05로 차량의 크기를 평균적으로 폭 1.5 m, 길이 4.5 m로 가정하여 식 (2), (3), (4), (5)를 통해 구해진다. 이와 마찬가지로 Truck의 경우 평균적으로 폭 4.5 m, 길이 13 m로 가정하였을 때 Default 박스 크기는 0.13로 얻어진다. Default 박스 크기인 0.09는 Car와 Truck의 중간 크기로 지정하였다. Default 박스 크기인 0.03은 Motorcycle, Bicycle의 크기인 폭 0.7 m, 길이 2 m로 구하였다.
다양한 객체를 검출하기 위해 특성 맵은 총 6개를 사용하였다. 그 중 conv7과 conv4_3 두 가지의 특성 맵을 병합하여 차량이 존재할 수 있는 특징을 하나의 레이어로 통합하여 더욱 강건한 모델을 만들었다.
4.3 초기 모델 결과 분석
Table 1은 전체 클래스에 대한 성능 분석 결과이다. mAP는 0.325이고, 정밀도는 39.23 %, 재현율은 82.96 %이었다. Table 1을 통해 클래스별로 전체적으로 재현율에 비해 정밀도가 낮은 것을 볼 수 있다.
Fig. 8은 nuScenes 데이터 중 한 샘플에 대한 초기 모델의 결과이다. 빨간색 박스는 예측된 바운딩 박스이고, 파란색 박스는 Truck의 참값을 의미한다. 이 샘플에서는 실제 Truck이 1대밖에 불과하지만 많은 차량이 예측되고 있다. 초기 모델의 검출 결과 참값의 개수에 비해 예측된 바운딩 박스가 더 많은 것을 볼 수 있다. 문제점을 확인하기 위해 정밀도와 재현율 값을 분석한 결과 정밀도가 재현율에 비해서 현저하게 낮은 결과값을 보여줬다. 레이어의 증가로 인해 참값이 아닌 부분도 예측이 많이 된 것으로 파악된다. 따라서 개선 모델에서는 레이어의 수를 줄일 수 있는 방안을 고안하였다.
기존 SSD에서 제안된 바운딩 박스 검출기는 고정된 객체 상자만을 검출할 수 있다는 한계가 존재한다. 일반적인 객체 검출 알고리즘에서는 객체의 바운딩 박스와 센서가 정렬된 상태이므로 회전된 바운딩 박스가 필요하지 않은 경우가 많다. 하지만 복잡한 도심지에서 동적 격자 지도를 사용하기 위해서는 군집화나 격자에 활용되는 다양한 매개변수를 활용해야 한다. 이 매개변수에 검출된 객체 정보를 활용하기 위해서는 객체가 존재하는 정확한 영역에서 바운딩 박스를 예측해야 한다. 따라서 본 연구에서는 바운딩 박스의 위치와 클래스 정보 및 객체의 폭, 회전 정보를 학습함으로써 회전된 바운딩 박스를 예측할 수 있게 한다. 신경망을 훈련하는데 사용되는 가장 일반적인 손실 함수 중 하나인 Cross-Entropy를 사용하였다.
SSD는 합성곱 층을 통과하면서 생성된 다수의 특성 맵에서 객체 인식을 한다. Fig. 9의 nuScenes 데이터 중 하나의 샘플인 (a)에서는 Motorcycle과 Truck이 있다. 특징 맵인 (a), (b)에서는 각 그리드마다 Default 박스들을 이용하여 객체 인식을 한다. Conv4_3의 특징 맵인 (a)의 그리드 크기는 Conv7의 특징 맵인 (b)의 그리드 크기보다 작다. 각 그리드에서는 식 (3)처럼 설정한 형상 종횡비와 식 (2)에서 구한 Default 박스 크기를 이용하여 객체 인식을 한다. Conv4_3의 특징 맵인 (a)에서는 검정색 점선 박스로 표현된 Default 박스들을 이용하여 Truck를 인식하는 것보다 빨간색 점선 박스로 표현된 Default 박스들로 Motorcycle을 인식하기에 더 유리한 것을 볼 수 있다. 즉, 크기가 작은 객체를 인식하기가 더 유리한 것을 알 수 있다. Conv7의 특징 맵인 (b)에서는 노란색 점선 박스로 표현된 Default 박스들로 Truck을 인식하는게 더 유리한 것을 볼 수 있다. Conv4_3의 특징 맵인 (a)와 Conv7의 특징 맵인 (b)를 비교한 결과 입력층에 가까운 특성 맵일수록 크기가 작은 객체가 인식하기가 유리한 것을 볼 수 있다. 정리하면 출력층에 가까운 특성 맵인 Conv7(38×38×1024)보다 입력층에 가까운 특성 맵인 Conv4_3(75x75x512)에서 크기가 작은 객체인 Bike 클래스에 포함된 Motorcycle과 Bicycle를 인식하기에 더 유리하다는 것을 알 수 있었다. 이를 토대로 개선 모델을 설계하였다.
5. DOGM 기반 객체 검출기 보완
5.1 개선 모델 및 결과 분석
초기 모델의 낮은 정밀도를 개선하기 위하여 최소한의 레이어로만 딥러닝 기반 객체 인식을 진행하기로 하였다. 또한, 입력층에 가까운 특성 맵에서는 Bike 클래스에 맞는 Default 박스 크기인 0.03을 개선 모델에 적용하였다. Fig. 10은 개선 모델 구조이다. 정밀도가 낮은 원인을 분석하여 6개의 레이어에서 4개의 레이어로 줄였다. 초기 모델과 마찬가지로 두 가지의 레이어인 Conv4_3과 Conv7를 합침으로써 객체 인식을 위해 성능을 높이고자 하였다. 또한, 이 하나의 레이어를 합쳐 다양한 크기를 가질 수 있는 차량의 형상을 고려하여 세 가지의 레이어로 나누어 사용하였다.
Fig. 11은 nuScenes 데이터 세트 중 한 샘플에 대한 개선 모델의 결과이다. Fig. 11의 중앙 부분에 있는 Bike 클래스에 속해있는 Motorcycle의 경우 참값이 존재하였고 제안한 모델의 결과로 참값과 같은 위치에서 객체를 탐지하였다. 빨간색 박스는 객체 검출 예측 결과이고, 그 중 빨간색 라벨로 표시된 Car, 노란색 라벨로 표시된 Truck, 파란색 라벨로 표시된 것은 Motorcycle이다. 특성 맵에서 Bike의 Default 박스 크기를 사용하여 성능이 높아진 것으로 파악된다. 또한, Table 1에서 보이듯이 초기 모델의 mAP는 0.325였지만, Table 2에서 알 수 있듯이 개선 모델의 mAP는 0.651로 대략 2배가 증가하였다. Fig. 8과 Fig. 11을 비교해 보았을 때 빨간색으로 박스가 그려진 객체 검출 예측 결과가 초기 모델은 많이 발견되었지만 개선 모델의 결과 좀 더 정확한 위치에서 예측되는 수가 증가하였다. Table 1과 Table 2를 비교해보면 초기 모델의 경우 예측이 많이 되어 정밀도는 39.23 %였고, 개선 모델의 결과 정밀도는 76.85 %였다. 정밀도를 증가시키기 위해 레이어의 개수를 4개로 줄여 정밀도를 대략 1.96배를 증가시켰다. Table 2에서 볼 수 있듯이 개선 모델의 경우 기존 모델보다 모든 클래스의 AP값이 증가하였다. Car의 경우는 1.54배, Truck은 7.44배, Bike는 11.89배가 증가하였다.
5.2 타연구 비교
본 연구에서 제안한 객체 인식 기법의 성능에 대한 객관적인 비교를 수행하기 위하여 Table 3에서 BirdNet과 BirdNet+의 인식결과와 비교하였다. 전체적으로 BirdNet과 BirdNet+를 통해 얻은 AP보다 본 연구 결과 AP가 더 높은 것을 확인하였다. 본 연구에서는 라이다 32채널을 사용하는 nuScenes 데이터를 이용하였지만 BirdNet과 BirdNet+는 라이다 64채널을 사용하는 KITTI 데이터를 이용하였다. 라이다 채널이 높을수록 객체에는 더 많은 포인트가 찍히게 된다. 따라서 nuScenes 데이터를 사용한 본 연구는 작은 포인트 개수임에도 불구하고 AP도 높아 BirdNet과 BirdNet+보다 성능이 더 뛰어났고 볼 수 있다. Table 4를 보면 BEV-Net은 nuScenes 데이터를 사용하였다. Car의 AP는 0.611로 본 연구의 AP는 0.743으로 더 높은 성능을 보여줬다. 하지만 BEV-Net은 Cyclist의 AP 경우 0.163으로 본 연구보다 높은 성능을 보여줬다.
6. 결 론
본 연구에서는 동적 격자 지도를 이용하여 다양한 객체를 검출하는 객체 검출 딥러닝 기법에 관한 연구를 진행하였다. 동적 격자 지도는 객체의 위치뿐만 아니라 속도 정보도 가지고 있어 복잡한 도심지 환경에서 동적 객체에 대한 추정이 가능하다. 라이다의 포인트 클라우드 데이터인 3D 형태의 데이터를 BEV(Bird Eye View)로 변환시켰다. 2D 합성공 층을 활용한 네트워크를 사용하여 3D 형태인 데이터보다 연산 시간이 빠르고 데이터양이 작은 장점이 있다. 연구에서 사용된 백본인 ResNet은 기울기 소실과 폭주를 방지할 수 있고, 파라미터의 수를 줄여 연산 시간을 단축할 수 있다. 객체 인식 모델로는 SSD(Single shot multibox detector)를 사용하여 1-stage-detector로 빠른 연산 속도와 높은 성능을 보여주었다. 동적 격자 지도의 출력값으로는 점유 확률, 비점유 확률, 속력, Intensity, 높이가 있다. 그중 본 연구에서는 2D 형태인 속도가 포함된 동적 격자 지도에서 그 출력값인 비점유 확률, 속력과 라이다의 출력값인 격자 최대 높이, 격자 최소 높이를 이용한 객체 인식 모델을 개발하였다. 모델을 학습 및 검증시키기 위해 데이터 세트로 ‘Motional’사에서 제공하는 nuScenes 데이터를 사용하였다. 초기 모델의 경우 총 6개의 레이어를 가진 모델이었다. 이 모델은 많은 레이어로 인해 예측이 많이 되어 정밀도 값이 낮은 것을 볼 수 있었다. 또한, Bike 클래스의 경우 Car, Truck 클래스에 비해 낮은 성능을 보였다. 따라서 개선 모델의 경우 레이어의 개수를 줄이고 입력층에 가까운 특성 맵에서는 비교적 작은 객체인 Bike의 성능을 높일 수 있는 Default 박스를 사용하였다. 그 결과 mIoU는 77.91 %, 정밀도는 76.85 %, 재현율은 85.69 %, mAP는 0.651로, 초기 모델보다 mAP는 대략 2배, 특히 Bike의 AP값이 11.89배가 증가하였다. 비슷한 연구인 BirdNet과 BirdNet+보다 성능이 더 뛰어남을 확인하였다. BEV-Net보다 Car의 성능은 높았지만, Cyclist의 성능은 떨어지는 것을 알 수 있었다. Bike 클래스에 해당하는 Motorcycle와 Bicycle은 nuScenes 데이터 세트에서 충분한 양의 샘플이 없었고 nuScenes의 라이다는 32채널, KITTI 64채널을 사용함으로써 작은 크기의 객체로부터 측정된 포인트 개수가 부족한 원인으로 있다고 판단되었다. 따라서 앞으로는 사용하던 nuScenes 데이터를 다른 데이터 세트로 변경하여 학습을 진행할 예정이다. 본 논문을 통해 동적 격자 지도에 출력값을 이용하여 객체를 인식하고 동적 상태로 전환할 가능성이 있는 객체를 검출할 수 있다. 이 동적 객체 인식을 통해 위치 인식을 위한 지도 매칭 데이터나 동적 객체 추적 데이터로 활용될 수 있다.
Acknowledgments
본 논문은 현대자동차 연구개발본부 자율주행사업부 “동적격자지도 기반 객체 인식 및 추적 기법 개발” 과제의 지원으로 진행하였습니다. 또한, 정부(과학기술정보통신부)의 재원으로 한국연구재단의 지원(NRF-2021R1A2C2003254) 및 한국산업기술진흥원의 지원을 받아 수행된 연구입니다(No.P0020536, 2022년 산업혁신인재성장지원사업).
References
- D. Nuss, S. Reuter, M. Thom, T. Yuan, G. Krehl, M. Maile, A. Gern and K. Dietmayer, “A Random Finite Set Approach for Dynamic Occupancy Grid Maps with Real-Time Application,” The International Journal of Robotics Research, Vol.37, No.8, pp.841-866, 2016. [https://doi.org/10.1177/0278364918775523]
- J. Y. Cho, A Study on Deep Learning based Object Detection Method using Dynamic Occupancy Grid Map, M. S. Thesis, Kookmin University, Seoul, 2021.
- Y. Kim, T. Lee and B. Song, “Training and Performance Analysis of Vehicle Detection Neural Networks to Field Test and Simulation Datasets of Multi-channel Lidar,” Transactions of KSAE, Vol.29, No.12, pp.1123-1132, 2021. [https://doi.org/10.7467/KSAE.2021.29.12.1123]
- J. Jeong and S. C. Kee, “Real-Time Object Behavior Prediction Based on LiDAR Suitable for Urban Autonomous Driving,” Transactions of KSAE, Vol.30, No.7, pp.589-598, 2022. [https://doi.org/10.7467/KSAE.2022.30.7.589]
- Y. Byeon and M. Park, “Research on LiDAR-based Object Recognition and Sensor Fusion,” Electronics and Information Engineers, Vol.58, No.5, pp.104-111, 2021. [https://doi.org/10.5573/ieie.2021.58.5.104]
- I. Shim, J. H. Lim, Y. W. Jang, J. H. You, S. T. Oh and Y. K. Kim, “Developing a Compressed Object Detection Model Based on YOLOv4 for Deployment on Embedded GPU Platform of Autonomous System,” Transactions of KSAE, Vol.29, No.10, pp.959-966, 2021. [https://doi.org/10.7467/KSAE.2021.29.10.959]
- K. J. Ahn, A Study on Real-time Performance of DOGM Using GPU based Parallel Processing for Automotive LiDAR Sensor, Ph. D. Dissertation, Kookmin University, Seoul, 2021.
- S. Hoermann, P. Henzler, M. Bach and K. Dietmayer, “Object Detection on Dynamic Occupancy Grid Maps Using Deep Learning and Automatic Label Generation,” IEEE Intelligent Vehicles Symposium(IV), pp.826-833, 2018. [https://doi.org/10.1109/IVS.2018.8500677]
- C. Diehl, E. Feicho, A. Schwambach, T. Dammeier, E. Mares and T. Bertram, “Radar-based Dynamic Occupancy Grid Mapping and Object Detection,” IEEE 23rd International Conference on Intelligent Transportation Systems(ITSC), pp.1-6, 2020. [https://doi.org/10.1109/ITSC45102.2020.9294626]
- J. Beltran, C. Guindel, F. M. Moreno, D. Cruzado, F. Garcia and A. Escalera, “BirdNet: A 3D Object Detection Framework from LiDAR Information,” 21st International Conference on Intelligent Transportation Systems(ITSC), pp.3517-3523, 2018. [https://doi.org/10.1109/ITSC.2018.8569311]
- W. Liu, D. Anguelov, D. Erhan, C. Szegedy, S. Reed, C. Y. Fu and A. C. Berg, “SSD: Single Shot Multibox Detector,” in European Conference on Computer Vision, pp.21-37, 2016. [https://doi.org/10.1007/978-3-319-46448-0_2]
- S. Ruder, “An Overview of Multi-task Learning in Deep Neural Networks,” Machine Learning, 2017.
- R. Schubert, E. Richter and G. Wanielik, “Comparison and Evaluation of Advanced Motion Models for Vehicle Tracking,” 11th International Conference on Information Fusion, pp.1-6, 2008.
- K. He, X. Zhang, S. Ren and J. Sun, “Deep Residual Learning for Image Recognition,” Computer Vision and Pattern Recognition, 2015.
- S. Ren, K. He, R. Girshick and J. Sun, “Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks,” Advances in Neural Information Processing Systems, 2015.