센서 퓨전 기반의 Trans-Unet을 활용한 2차원 시맨틱 세그멘테이션의 3차원적 해석
Copyright Ⓒ 2023 KSAE / 209-03
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
The purpose of this paper is to propose the 2D/3D semantic segmentation based on the sensor fusion method using camera and LiDAR sensors to improve the safety of autonomous driving in the actual driving environment. To implement the proposed method, a deep neural network for 2D semantic segmentation is utilized using convolution and transformer and inference strategy to convert predicted 2D segment to 3D coordinate information. Also, through the ablation study and performance evaluation, we present the performance of the proposed method and the validity of the neural network design. Results show the proposed method based on sensor fusion obtained 31.94 % on 2D MIoU, which is around twice the performance of a single modal scheme, and also obtained 17.12 % MIoU in the 3D environment.
Keywords:
Autonomous driving, Sensor fusion, 2D semantic segmentation, 3D semantic segmentation, Trans-Unet키워드:
자율 주행, 센서 퓨전, 2차원 시맨틱 세그멘테이션, 3차원 시맨틱 세그멘테이션, 트랜스-유넷1. 서 론
최근 자율 주행 차량의 충돌 사고1)가 빈번히 발생함에 따라 안전성 개선에 대한 요구가 늘어나고 있다. 특히 RGB 카메라 센서와 2차원 객체 인식(Object detection) 기술을 중심으로 하는 최근의 자율 주행용 첨단 운전자 보조 시스템(Advanced Driver Assistance System: ADAS)2)으로는 주변 객체들의 3차원적 상대 거리나 구조 등을 알기 어려워 이를 보완하기가 쉽지 않다. 따라서 최근에는 라이다(LiDAR)와 같은 3차원 센서 및 카메라와 같은 2차원 센서로부터 취득한 멀티 모달(Multi-Modal) 데이터를 융합하는 센서 퓨전(Sensor fusion)3,4)과 객체 인식의 단위를 데이터의 구성 단위까지 확장하는 시맨틱 세그멘테이션(Semantic segmentation)5)이 활발히 연구되고 있다.
다만 카메라와 라이다의 센서 퓨전을 활용하는 기존의 시맨틱 세그멘테이션 연구들6)을 살펴보면 대부분 3차원의 라이다 점군 데이터와 2차원의 카메라 영상 데이터를 혼합하기 위해 점군 데이터를 2차원의 평면 데이터로 변환한다. 이를 이용해 만들어진 평면 형태의 추론 결과는 라이다의 장점인 3차원의 거리 정보가 손실된 상태이므로 주행 환경에 대한 3차원적 정보들을 제공하기 어렵다.
따라서 본 논문에서는 센서 퓨전과 2차원 시맨틱 세그멘테이션 기술을 서로 접목하되, 추론 결과의 3차원적 해석 방법을 포함하는 새로운 3차원 시맨틱 세그멘테이션 방법을 제안한다. 이를 통해 얻어지는 주행 환경의 3차원 정보는 더욱 안전한 자율 주행 기술을 구현하는 데 활용될 수 있다.
본 논문의 구성은 다음과 같다. 2장에서는 센서 퓨전과 2차원 시맨틱 세그멘테이션에 관한 기존 연구들에 관하여 소개하고, 3장에서는 제안 방법에 관하여 서술한다. 4장에서는 제안 방법에 사용된 센서 퓨전 및 신경망 구성과정에 대한 절제 실험 및 성능 평가 결과와 그 분석에 관하여 서술하고 마지막으로 5장에서 본 논문의 결론을 짓는다.
2. 관련 연구
2.1 센서 퓨전
센서 퓨전이란 이종의 센서로부터 취득한 멀티모달 데이터를 상호 융합하는 기술로, 딥러닝에서는 이를 Fig. 1과 같이 다수의 원천(Source)으로부터 형성된 데이터 또는 정보들이 융합되는 시점(Ⓕ)에 따라 세 가지 종류로 구분한다.4)
먼저 데이터 단계 퓨전(Data level or early fusion)이란 Fig. 1의 (a)와 같이 원천으로부터 취득된 데이터 자체를 융합하여 새로운 표현형을 갖는 융합 데이터를 만든다. 이 융합데이터는 신경망에 전달되어 특징 맵(Feature map)을 추출, 결과 추론 맵(Prediction map)을 만드는데 활용된다.7) 이 방법은 신경망에 입력으로 수용되는 데이터의 종류가 적어 신경망의 전체적인 구조가 비교적 단순하게 구성된다는 장점이 있다.
이와 달리 특징 단계 퓨전(Deep feature level or Mid-level fusion)은 Fig. 1의 (b)와 같이 원천으로부터 취득한 멀티 모달 데이터를 신경망에 입력으로 각각 전달한다. 병렬 구조의 신경망을 통해 각각의 입력으로부터 추출되는 멀티 모달 특징들은 신경망의 내부에서 하나로 융합되어 심층 융합 특징을 구성하며, 이는 결과 추론 맵을 만드는데 활용된다.8,9) 이 방법은 신경망이 결과를 추론함에 있어 멀티 모달 데이터로부터 추출한 각각의 특징부터 그들의 융합 특징까지 다양하게 활용 가능한 장점이 있다.
추론 단계 퓨전(Score level or Late fusion) 또한 멀티 모달 데이터를 신경망의 입력으로 각각 전달하나, Fig. 1의 (c)와 같이 특징 단계 퓨전과 달리 각각의 원천마다 독립된 신경망을 사용한다. 각 신경망이 독립적으로 만들어낸 결과 추론 맵들은 합산, 평균 등의 단순 연산이나 별도로 학습된 분류기를 활용함으로써 최종 추론 맵을 도출하는데 활용된다.10) 이 방법은 추론 결과가 융합에 사용된 센서들 사이의 특성 차나 상호 간섭에 의한 영향에 강인하다는 장점이 있다.
2.2 시맨틱 세그멘테이션
시맨틱 세그멘테이션은 자율 주행 차량이 주행 환경을 인지하는데 필요한 핵심적인 요소 기술 중의 하나로서 Fig. 2와 같이 카메라로부터 취득한 2차원 RGB 영상의 객체들을 픽셀 단위로 분류(Dense prediction)할 수 있다.
특히 최근에는 기존의 컨볼루션11,12) 계층을 중심으로 구성된 심층 신경망을 사용하는 방식에서 더 나아가 셀프 어텐션을 기반으로 특징들 사이의 상대적 중요도를 알아내 보다 표현력이 높은 심층 특징들을 추출해낼 수 있는 트랜스포머 모듈13)을 추가하여 2차원 시맨틱 세그멘테이션의 성능을 증진하는 연구들14,15)이 늘고 있다. 트랜스포머 모듈을 활용하면 신경망에 컨볼루션 계층을 비교적 적게 사용하더라도 표현력이 좋은 심층 특징들을 추출할 수 있으며, 이 심층 특징들을 바탕으로 기존의 방법들11,12)보다 상대적으로 좋은 성능을 보였다. 그러나 앞서 언급한 바와 같이 이들11,12,14,15) 2차원 시맨틱 세그멘테이션 방법이 만들어내는 평면 형태의 추론 결과만으로는 차량의 실제 주행 환경인 3차원에서의 객체의 구조나 상대적 거리 등을 파악하기 어려우며, 3차원 정보를 추론하기 위해 여러 대의 카메라를 사용할 경우에는 계산량이 과도하게 늘어난다는 문제가 있다.
따라서 본 논문에서는 컨볼루션 계층과 트랜스포머 모듈이 함께 사용된 2차원 시맨틱 세그멘테이션 기법15)과 카메라 및 라이다의 센서 퓨전을 통해 얻어낸 3차원 정보를 포함하는 융합 데이터를 바탕으로 2차원의 시맨틱 세그멘테이션을 추론하고, 그 결과를 3차원으로 재구성하는 방법을 포함한 새로운 센서 퓨전 기반의 3차원 시맨틱 세그멘테이션 기법을 제안한다.
3. 본 론
본 연구에서 제안하는 센서 퓨전 기반의 3차원 시맨틱 세그멘테이션 방법은 Fig. 3과 같이 4단계의 프로세스를 사용한다. 이는 데이터 특성이 서로 다른 카메라의 2차원 영상 데이터와 라이다의 3차원 점군 데이터를 서로 신경망을 이용하여 융합하기 위함으로, 데이터를 취득하는 데이터 원천 단계(Data source), 데이터들을 서로 유사한 유형의 데이터로 변환하는 데이터 전처리(Data Pre-process) 단계, 변환 데이터들을 토대로 시맨틱 세그멘테이션을 수행하는 추론 단계(Prediction process) 그리고 추론된 결과를 데이터들이 가졌던 본래의 형태로 되돌리는 데이터 후처리(Data Post-process) 단계로 구성되어 있다.
3.1 데이터 원천 단계
먼저 데이터 원천 단계에서는 카메라와 라이다 센서로부터 각각 차량 전방의 2차원 RGB 영상과 차량 둘레 전 영역의 3차원 점군 데이터를 취득한다. 또한 두 센서의 데이터 취득 영역이 서로 상이하므로 이를 동기화 하기 위해 사용되는 식 (1)의 캘리브레이션 행렬16)을 함께 취득한다.
(1) |
여기서 (u,v)는 RGB 영상 내 픽셀들의 2차원 좌표를, (x,y,z)는 점군 데이터의 3차원 좌표를, fu와 fv는 픽셀 단위의 초점거리, u0와 v0는 각각 이미지 평면에서 광학 중심이 위치하는 x와 y 좌표이다.
3.2 데이터 전처리 단계
이어서 데이터 전처리 단계에서는 라이다로부터 취득한 데이터 중 차량의 전방 영역, 즉 카메라가 영상을 취득하는 영역과 동일한 영역의 데이터를 선별하는 과정을 수행한다. 이를 통해 구분된 N개의 전방 영역 점군 좌표(x,y,z) 데이터(N, 3)는 앞서 구한 캘리브레이션 행렬을 바탕으로 RGB 영상과 동일한 크기(H, W)를 갖는 2차원 평면상의 사영 좌표(u,v)로 변환된다. 이로써 전방 영역의 점군 데이터인 N개의 3차원 좌표(x,y,z)들은(H, W, 1) 크기의 사영 영상으로 변환되며 이 사영 영상과(H, W, 3) 크기의 RGB 영상을 다음 단계인 추론 단계로 전달한다.
3.3 추론 단계
추론 단계에서는 앞서 전달받은 두 영상을 바탕으로 심층 신경망을 이용한 2차원 시맨틱 세그멘테이션을 수행한다. 이때 사용되는 심층 신경망은 Fig. 3에 표시된 바와 같이 입력으로부터 심층 특징(Deep Feature)을 추출하는 인코더(Encoder)와 심층 특징을 해석해 세그멘테이션 추론 맵을 만들어내는 디코더(Decoder)를 포함하는 인코더-디코더 구조로 이루어져 있다.
여기서 인코더는 기존 방법15)과 같이 ResNet5017)의 컨볼루션 블록들을 바탕으로 입력 데이터의 지역적, 구조적 특징들을 추출하고 트랜스포머 모듈을 사용하여 추출된 특징들을 보다 표현력이 좋은 심층 특징들로 변환한다. 대신 신경망이 사영 영상을 위한 입력(Remission input)과 RGB 영상을 위한 입력(RGB input)을 동시에 수용할 수 있도록 구성하고 신경망 내 모듈들을 센서 퓨전 방법에 따라 병렬 구조로 배치하여 기존 방법15)과 달리 멀티 모달 데이터의 처리를 가능하게 한다. 또한, 디코더는 인코더의 각 단계에서 추출되는 특징 맵들이 심층 특징과 연결되어 입력과 동일한(H, W, C) 크기의 결과 추론 맵을 구성할 수 있도록 컨볼루션 계층을 비롯한 여러 신경망 계층들로 구성한다. 이 때 C는 픽셀 단위로 객체를 분류할 수 있는 클래스의 총 개수이다.
이에 따라 신경망은 Fig. 4에서 보이는 바와 같이 멀티 모달 입력을 수용하고 병렬 구조로 배치된 컨볼루션 블록들을 이용하여 각 입력으로부터 각 입력의 구조적, 지역적 특징들을 상호 독립적으로 추출한다. 이에 따라 추출된 입력 대비 1/2, 1/4 면적의 특징 맵들이 추출되며 그 중 1/4 면적의 특징 맵들을 특징 단계 퓨전에 활용하기 위해 연결 계층(Concatenate)을 두어 서로 이어 붙인다. 이렇게 만들어진 연결 특징 맵은 세 번째 컨볼루션 블록을 통해 입력 대비 1/8 면적을 가진 융합 특징 맵으로 만들어진다. 이어서 트랜스포머 모듈에 앞서 만든 융합 특징 맵을 전달하기 위해 융합 특징 맵을 (2, 2) 크기의 패치로 분할한 뒤 각 지역으로부터 해당 지역들을 대표하는 패치 임베딩(Patch embedding)을 구성하고 위치 임베딩(Position embedding)을 가산하여 각 패치를 대표하는 임베딩 벡터들을 만든다. 이어서 이 임베딩 벡터들은 9개의 연속된 트랜스포머 모듈로 구성된 트랜스포머 블록을 거치면서 융합 특징 맵에 포함된 중요 특징들을 중심으로 구성된 심층 특징 벡터(Fusion based deep feature)로 변환된다.
이어지는 디코더에서는 먼저 인코더로부터 추출한 심층 특징 벡터들을 재배열(Reshape) 계층을 통해 입력 대비 1/16 크기의 특징 맵으로 변환하고 3*3 커널을 사용하는 컨볼루션 계층을 통과하도록 한 후, 업샘플링(Upsampling) 계층을 통해 그 면적을 두 배로 확장한다. 이 확장된 특징 맵이 앞서 심층 특징 벡터에 담겨 있던 주요 특징들을 담고 있다 하더라도 벡터화로 인해 손실된 지역적, 구조적 특성들은 컨볼루션과 업샘플링 만으로 쉽게 회복되지 않는다. 따라서 접합 계층을 이용하여 해당 특징 맵과 앞서 인코더에서 추출된 동일 크기의 특징 맵을 이어 붙임으로써 특징 맵이 심층 특징 벡터의 주요 특징들과 인코딩 당시 추출된 지역적, 구조적 특성들을 동시에 내포할 수 있도록 한다. 이어서 접합 특징 맵을 3*3 커널을 사용하는 컨볼루션 계층을 이용해 서로 혼합하고, 다시 업샘플링 계층을 통해 확장, 그리고 인코더 내 동일 크기의 특징 맵을 접합하는 과정을 2회 더 반복함으로써 특징 맵의 크기를 입력 대비 1/2까지 복원해 낸다. 마지막으로 그 특징 맵을 다시 한번 업샘플링하고 3*3 커널을 사용하는 컨볼루션 계층을 적용하여 입력과 동일한 크기의 특징 맵을 만들어 낸 뒤 이를 소프트맥스 활성화 함수와 1*1 커널을 사용하는 컨볼루션 계층인 세그멘테이션 헤드에 전달하여 세그멘테이션 추론 맵을 만들어 낸다.
3.4 데이터 후처리 단계
프로세스의 마지막 단계인 데이터 후처리(Data Post-Processing) 단계에서는 Fig. 5와 같이 점군 데이터를 활용하여 신경망이 만들어내는 2차원의 세그멘테이션 추론 맵을 3차원 정보로 재해석하는 과정(Reconstruction)을 수행한다. 먼저 Fig. 5의 ①과 같이 데이터 전처리 단계에서 사영 영상 생성에 사용했던 N개의 3차원 좌표(x,y,z)와 이를 사영한 N개의 2차원 평면상 좌표(u,v) 쌍을 준비한다. 이어서 ②와 같이 신경망에 의해 추론된(H, W, C) 크기의 세그멘테이션 추론 맵에 대하여 각각의 2차원 좌표(u,v)마다 해당 좌표를 중심으로 3*3 크기의 커널을 사용하는 최대 풀링(Max Pooling) 연산을 적용한다. 이를 통해 제안 방법은 Fig. 5의 ③과 같이 N 개의 좌표 각각에 대해 세그먼트를 추정한 벡터를 얻어낼 수 있으며 그 중 가장 큰 확률을 갖는 클래스를 3차원 좌표 (x,y,z)에 대해 추론된 클래스로 본다. 따라서 제안 방법은 데이터 전처리 단계에서 분리한 전방 영역의 점군 데이터 각각에 대한 시맨틱 세그멘테이션 추론 결과를 얻을 수 있으며, 그 결과 각 좌표의 세그먼트 값을 담은(N, C) 크기의 출력 행렬을 Fig. 5의 ④와 같이 얻을 수 있다.
4. 실 험
4.1 구현 상세 사항
제안 모델의 평가는 AMD EPYC 7742 64-Core Processor 급의 CPU와 A100 80GB 급의 GPU, 2TB의 메모리가 탑재된 하드웨어 환경에서 진행하였다. 신경망 구현을 위한 소프트웨어 환경은 ubuntu 20.04 운영체제에 설치된 Python 3.9에 Tensorflow 2.80과 Keras 2.80을 설정해 활용하였다. 인코더에 사용된 트랜스포머 모듈13)은 GeLU 활성화 함수를 사용하도록 하였으며, 디코더를 구성하는 모든 컨볼루션 계층은 세그멘테이션 헤드를 제외하고 모두 ReLU 활성화 함수를 사용하도록 하였고 각각의 컨볼루션 계층 이후에는 배치 정규화 계층과 드롭 아웃 계층을 두어 신경망의 과적합을 최소화할 수 있도록 하였다. 신경망의 학습에는 Adam 최적화기를 사용하였으며 학습률은 0.001로 시작해 학습이 2에폭(Epoch)이상 진행되지 않을 때마다 0.75배씩 줄어들도록 하였다. 학습은 최대 500에폭 동안 진행하도록 설정하였는데 이는 사전 실험에서 학습의 진행이 최대 200에폭을 넘은 적이 없었기에 설정된 수치이다. 또한 학습시에 검증 손실 값이 낮아지지 않는다는 것은 신경망이 과적합 된다는 의미이므로, 검증 손실 값이 연속 10 에폭 동안 최저 손실 값보다 낮아지지 않으면 학습을 조기 종료하도록 설정하였다.
제안 모델의 학습과 평가에 사용된 데이터 셋은 Semantic KITTI18)로 자율 주행 분야의 3차원 객체 인식이나 시맨틱 세그멘테이션 등의 연구에 널리 활용된다 데이터 셋은 총 21개 시퀀스로 구성되어 있으며 각 시퀀스에는 2차원 RGB 프레임 이미지들과 3차원 점군 그리고 각 데이터를 취득한 카메라와 라이다 센서 사이의 캘리브레이션 정보 그리고 각각의 3차원 포인트 단위로 클래스 라벨이 명시되어 있는 정답(Ground Truth: GT) 데이터를 포함하고 있다. 그러나 하위 10개 시퀀스의 경우에는 정답 데이터가 포함되어 있지 않으므로 본 연구에서는 그중 8번 시퀀스를 제외한 0번부터 10번까지의 총 10개 시퀀스, 총 19,130건의 프레임과 점군 그리고 정답 데이터를 학습을 위한 데이터로 사용하고 8번 시퀀스에 포함되어 있는 동일 구성의 데이터 4,071건을 평가를 위하여 사용한다.
다만 Semantic KITTI18)에는 2차원 시맨틱 세그멘테이션을 위한 정답 데이터가 존재하지 않는다. 따라서 점군 데이터에 대해 매겨진 정답 데이터를 점군 데이터를 사영하는 방법과 동일한 방법으로 사영하여 2차원 시맨틱 세그멘테이션을 위한 정답 데이터를 만들 경우 Fig. 6의 (a)와 같이 대부분의 픽셀의 값이 0을 갖는 희소 데이터가 만들어진다. 이는 신경망의 학습을 극도로 저해하는 요소로 작용하므로, 이를 보완하기 위해 정답 데이터의 사영 시 사영될 픽셀과 맨해튼 거리(Manhattan distance)가 2 이내인 픽셀들을 동일한 클래스를 갖도록 하여 Fig. 6의 (b)와 같이 정답 데이터의 희소성을 줄여 활용하였다.
실험 과정에서 신경망의 학습에 사용되는 손실함수에는 2차원 시맨틱 세그멘테이션을 위해 널리 사용되는 Focal loss19) (Lfocal))와 Dice loss20) (Ldice) 사용한다.
(2) |
(3) |
Focal loss20)는 식 (2)와 같이 크로스 엔트로피를 기반으로 하는 추론 확률(Ppred)과 정답(Ptrue) 사이의 가중치 합을 구하여 손실 값을 계산하는 방법으로 각각의 픽셀 단위로 추론 정확성(Accuracy)을 증진하는 것을 목적으로 한다. 한편 Dice loss20)는 식 (3)과 같이 Dice 계수를 기반으로 하는 추론 확률(Ppred)과 정답(Ptrue) 사이의 유사도를 구하여 손실 값을 계산하는 방법으로 전체적인 추론의 유사도(Similarity)를 증진하는 것을 목적으로 한다. 이때 배경 클래스에 해당하는 픽셀의 경우에는 손실함수의 종류와 관계없이 손실 값의 계산에서 제외함으로써 신경망이 배경 지역을 정확히 추론하는데 편향되어 학습되는 문제를 방지하도록 한다. 제안 방법의 성능 평가를 위해서는 시맨틱 세그멘테이션 분야에서 널리 쓰이는 식 (4)의 MIoU(Mean Intersection over Union)21)를 사용한다. MIoU는 식 (4)에서 보이는 바와 같이 전체 N장으로 이루어진 영상 데이터 셋에서 각 영상마다 구한 IoU 값의 평균을 나타내며, IoU는 영상의 픽셀마다 추론된 클래스들과 해당 픽셀의 정답을 비교하여 그 둘이 서로 동일한 데이터의 수(TP)를 전체 추론 데이터의 수로 나누어 준 값(TP+FN+FP)을 의미한다. 이는 추론치가 GT와 일치하는 비율을 의미하는 것으로써 픽셀 단위의 객체 추론에 대한 정확도를 나타낼 수 있다. 이때에도 손실함수의 경우와 마찬가지로 배경 픽셀에 해당하는 클래스는 평가 값의 계산에서 제외함으로써 신경망이 전경 지역을 정확히 추론하지 못함에도 성능이 높게 나오는 편향 문제를 방지하도록 한다.
(4) |
4.2 절제 연구(Ablation Study)
본 절에서는 제안 방법에서 사용할 신경망의 구조와 손실함수의 구성 등에 따른 성능 평가를 토대로 제안 방법의 상세 사항들을 결정하기 위해 수행한 절제 실험 결과들에 관해 서술한다.
먼저 첫 번째 실험에서는 제안 방법에 대한 최적의 센서 퓨전을 결정하기 위해 신경망에 적용되는 퓨전 방법을 데이터 단계 퓨전, 특징 단계 퓨전 그리고 추론 단계 퓨전으로 나누어 각각 적용함으로써 센서 퓨전을 적용한 경우와 그렇지 않은 경우의 성능을 비교하였다. 이때 데이터 단계 퓨전을 적용한 신경망은 식 (5)와 같이 연결 계층을 통해 점군의 사영 영상(XPCD)과 RGB 영상(XRGB)을 이어 붙인(H, W, 4) 크기의 하나의 융합 데이터를 인코더의 입력으로 전달하고 그 출력을 다시 디코더의 입력으로 전달하여 하나의 2차원 세그멘테이션 추론 맵(yseg)을 만들어 낸다.
(5) |
(6) |
한편 추론 단계 퓨전을 적용한 신경망은 식 (6)에 표시된 바와 같이 두 입력을 위한 서로 다른 가중치((θen1, θde1), (θen2, θde2))를 갖는 독립적인 신경망들을 각각 적용하여 두 개의 2차원 세그멘테이션 추론 맵을 만들어내며 이들을 평균(Average)하는 방법으로 하나의 2차원 세그멘테이션 추론 맵을 만들어 낸다.
또한 특징 단계 퓨전의 경우에는 신경망을 구성하는 초입의 블록으로부터 시작하여 한 블록씩 더 깊은 신경망 블록에서 퓨전 하도록 하여 다양한 경우의 수를 비교할 수 있도록 하였으며, 학습의 진행은 Focal loss를 바탕으로 수행하였다.
실험 결과 Table 1에서 보이는 바와 같이 센서 퓨전을 사용하지 않고 입력으로 RGB 영상만을 사용한 단일 모달(Single modal)의 방법이 센서 퓨전을 사용한 그 어떤 경우보다 낮은 0.1012의 MIoU를 기록하였다. 센서 퓨전을 적용한 경우들끼리 비교할 경우에는 추론 단계 퓨전을 적용한 경우가 0.1844로 가장 낮은 MIoU를 기록하였으며 데이터 단계 퓨전이 0.2045 그리고 특징 단계 퓨전이 평균 0.2095로 가장 높은 수치를 기록하였다.
특징 단계 퓨전 중에는 인코더를 구성하는 두 번째 컨볼루션 블록의 출력을 서로 융합하여 사용할 때가 0.2152의 MIoU로 가장 높은 수치를 기록하였으며, 그 이후에 융합하면 점차 성능이 하락하는 모습을 보였다. 이에 따라 센서 퓨전을 사용하는 것이 그렇지 않은 것보다 더 나은 결과를 만들어 낼 수 있고, 동시에 특징 단계 퓨전을 사용할 때 최적의 성능을 발휘할 수 있음을 알 수 있다.
두 번째 실험으로는 인코더에서 심층 특징 벡터를 구성하는 데 사용되는 트랜스포머 모듈의 수에 따른 성능 변화를 알아보고자 모듈의 수를 6개에서부터 9, 12, 18, 24로 차례로 늘려가며 총 5개 경우에 대해 학습하고 일련의 성능 변화를 관찰하도록 하였다. 이때 인코더의 나머지 구성에는 앞서 첫 번째 실험에서 가장 좋은 성능을 보였던 특징 단계 퓨전을 적용한 구성을 사용하였으며, 학습을 위한 손실함수는 이전과 동일하게 Focal loss를 사용하였다.
실험 결과 Table 2에서 보이는 바와 같이 모듈의 수가 늘어날수록 점차 성능이 상승하여 9개의 모듈을 사용할 때 MIoU를 기준으로 가장 높은 0.2240의 성능을 보였으며, 그보다 모듈의 수가 더 늘어나면 점차 그 성능이 하락하는 모습을 보였다. 특히 9개의 모듈을 사용한 인코더가 12개의 모듈을 사용하는 기존 방법15)의 구성보다 신경망이 얕음에도 불구하고 약 1 %가량 더 나은 성능을 보인 것은 센서 퓨전을 사용하면 표현력 높은 심층 특징을 비교적 빨리 만들어 낼 수 있다는 것을 의미한다고 볼 수 있다.
세 번째 실험으로는 시맨틱 세그멘테이션 분야에서 널리 사용되는 두 손실함수인 식 (2)의 Focal loss와 식 (3)의 Dice loss를 각각 적용하여 신경망을 학습하고 그 결과를 평가함으로써 손실함수의 변화가 성능에 미치는 영향을 관찰하고자 하였다. 또한 식 (7)과 같이 두 손실함수 중 하나를 주(Main) 손실함수로 함과 동시에 나머지 하나를 규제항(Regularizer)으로 추가하여 두 손실함수가 가진 각자의 장점인 픽셀 단위의 정확도 증진과 전체적인 구조적 유사도를 동시에 증진하고자 하는 실험도 함께 수행하였다
(7) |
이 때의 신경망은 앞서 두 번째 실험에서 가장 우수한 성능을 보인 Fig. 4의 구성으로 만들어 사용하였으며, 실험 결과 Table 3에서 보이는 바와 같이 Dice loss를 규제항으로 하고 Focal loss를 사용할 때 가장 좋은 결과를 보였다.
이는 Focal loss를 중심으로 학습하여 픽셀 별 정확도 증진에 학습의 초점을 맞추되, Dice loss를 규제항으로 함께 사용해 전체적인 유사도의 증진에 방해가 되는 부분에는 강한 규제 값을, 반대로 전체적 유사도 증진에 도움이 되는 부분에는 약한 규제 값을 부여함으로써 모델이 보다 고르게 학습될 수 있도록 한 결과로 보인다.
4.3 성능 평가 및 고찰
앞서 살펴본 바와 같이 제안 방법을 통하여 2차원 세그멘테이션 MIoU 기준 31.94 %의 성능을 거둘 수 있었으며 이를 토대로 Fig. 7과 같이 3차원 시맨틱 세그멘테이션 정보를 재해석해 낼 수 있다. 이에 따라 기존 방법15)으로는 구해내는 것이 불가능했던 3차원 좌표를 기준으로 하는 세그멘테이션 MIoU를 Table 4와 같이 구해낼 수 있으며, 그 수치는 17.12 %를 기록하였다.
다만, 본 연구의 3차원 세그멘테이션 성능이 제안 방법과 동일하게 3차원의 점군을 2차원의 이미지 데이터로 사영하여 시맨틱 세그멘테이션을 수행하는 KPconv22)과 같은 연구들에 비해 미치지 못하는 성능임은 분명한 사실이다.
이러한 문제의 원인으로서 데이터, 신경망, 학습 과정의 측면으로 분할하여 분석하였다. 먼저 데이터의 경우에는 하늘, 유리 등 라이다 센서가 탐지하기 어려운 영역의 픽셀들이 여전히 희소 영역으로 남아있어 이들의 정답이 존재하지 않고, 이에 따라 이들이 잡음으로 작용하여 전체적인 세그멘테이션 성능을 저하시키는 것으로 보인다.
이어서 신경망의 측면에서 보면 점군에 대한 정답을 직접적으로 학습 가능한 출력이 존재하지 않아 앞서 언급한 희소성 높은 사영 정답 데이터에만 전적으로 의존해야 한다는 문제가 있다. 또한 Trans-Unet을 구성하는 ResNet5017)과 트랜스포머 모듈13)의 경우 최근 2차원 시맨틱 세그멘테이션에서 ResNest,23) SegFormer14) 등과 같이 그보다 좋은 성능을 보이는 모듈들이 다수 제안된 바 이들 모듈들로 이식함으로써 그 성능을 개선할 수 있다.
마지막으로 학습 측면에서는 앞서 언급한 바와 같이 점군에 대한 정답을 직접적으로 학습할 수 없으므로 그에 대한 손실함수도 존재하지 않으며, 다른 거대 데이터셋을 토대로 신경망을 사전 학습하는 과정 없이 무작위 설정된 가중치 값으로부터 Semantic KITTI18) 학습 데이터만을 토대로 학습을 진행한다는 문제가 있다.24)
따라서 향후에는 제안 방법이 성능 측면에서 기존 연구들 대비 경쟁 우위를 가질 수 있도록 하기 위해 사영 데이터의 희소성을 개선하는 알고리즘을 고안하고 동시에 모델의 구성과 손실함수의 구성을 개선하여 점군의 정답 데이터가 학습에 직접적으로 활용될 수 있도록 하며, 보다 큰 데이터 셋을 이용한 사전 학습 과정을 학습 과정에 추가하는 등 다양한 방법들을 적용하는 연구를 진행할 예정이다. 이를 통해 제안 방법이 ADAS에서 기존 2차원 시맨틱 세그멘테이션 기술들이 활용될 때는 물론 3차원 시맨틱 세그멘테이션 기술들이 활용될 때도 안전성 향상에 기여하는 방법으로 활용될 수 있기를 기대한다.
5. 결 론
본 논문에서는 센서 퓨전을 기반으로 하는 2차원 시맨틱 세그멘테이션과 이를 3차원의 시맨틱 세그멘테이션 정보로 변환하는 재해석 방법을 제안하였다. 또한 다양한 절제 실험을 제시하여 제안 방법을 위한 최적의 센서 퓨전과 신경망의 상세 구조 및 손실함수 등을 결정하는 객관적 과정을 제시하였다. 이와 더불어 추론 결과로 주어지는 2차원 시맨틱 세그멘테이션을 3차원 좌표 정보로 해석하는 방법에 관한 실험을 통해 더욱 실주행 환경에 적합한 추론 결과를 얻을 수 있음을 보였다. 다만 최종 성능 평가의 결과로 얻은 제안 방법의 성능이 다소 낮은 수준에 머물러 있으므로, 앞서 고찰에서 언급한 문제와 개선 방안을 토대로 향후 제안 방법의 성능을 개선하는 연구를 지속해 나갈 예정이다.
Acknowledgments
이 논문은 2022년도 중소기업기술정보진흥원의 재원으로 중소기업기술정보진흥원의 지원을 받아 수행된 연구임(No.1425165319).
References
- ChosunMedia, Can We Trust Level 2 Autonomous Driving? 392 Accidents in 10 Months in the US - ChosunMedia https://www.chosun.com/economy/auto/2022/06/17/QQE5DZAUCVAW5BGLLDDXLRORC4, , 2022.
- NVIDIA KOREA, Level-up: What is a Level 2 Self-driving Car with AI Added?, https://blogs.nvidia.co.kr/2019/02/20/what-is-level-2-automated-driving, , 2019.
- B. Gao, Y. Pan, C. Li, S. Geng and H. Zhao, “Are We Hungry for 3D LiDAR Data for Semantic Segmentation? A Survey of Datasets and Methods,” IEEE Transactions on Intelligent Transportation Systems, Vol.23, No.7, pp.6063-6081, 2021. [https://doi.org/10.1109/TITS.2021.3076844]
- K. Huang, B. Shi, X. Li, X. Li, S. Huang and Y. Li, “Multi-modal Sensor Fusion for Auto Driving Perception: A Survey,” arXiv preprint arXiv:2202.02703, , 2022.
- B. Tapasvi, N. U. Kumar and E. Gnanamanoharan, “A Survey on Semantic Segmentation using Deep Learning Techniques,” International Journal of Engineering Research & Technology, Vol.9, pp.50-56, 2021.
- https://www.autonomousvehicleinternational.com/features/is-camera-only-the-future-of-self-driving-cars.html
- J. Kocić, N. Jovičić and V. Drndarević, “Sensors and Sensor Fusion in Autonomous Vehicles,” 2018 26th Telecommunications Forum (TELFOR), pp.420-425, 2018. [https://doi.org/10.1109/TELFOR.2018.8612054]
- G. A. Kumar, J. H. Lee, J. Hwang, J. Park, S. H. Youn and S. Kwon, “LiDAR and Camera Fusion Approach for Object Distance Estimation in Self-Driving Vehicles,” Symmetry, Vol.12, No.2, Paper No. 324, 2020. [https://doi.org/10.3390/sym12020324]
- M. Jaritz, T. H. Vu, R. De Charette, M. Wirbel and P. Pérez, “Xmuda: Cross-modal Unsupervised Domain Adaptation for 3D Semantic Segmentation,” Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pp.12605-12614, 2020. [https://doi.org/10.1109/CVPR42600.2020.01262]
- X. Yan, J. Gao, C. Zheng, C. Zheng, R. Zhang, S. Cui and Z. Li, “2DPASS: 2D Priors Assisted Semantic Segmentation on LiDAR Point Clouds,” Computer Vision–ECCV 2022, pp.677-695, 2022. [https://doi.org/10.1007/978-3-031-19815-1_39]
- A. V. Malawade, T. Mortlock and A. A. F. Mohammad, “HydraFusion: Context-Aware Selective Sensor Fusion for Robust and Efficient Autonomous Vehicle Perception,” 2022 ACM/IEEE 13th International Conference on Cyber-Physical Systems (ICCPS), pp.68-79, 2022. [https://doi.org/10.1109/ICCPS54341.2022.00013]
- J. Long, E. Shelhamer and T. Darrell, “Fully Convolutional Networks for Semantic Segmentation,” IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol.39, No.4, pp.640-651, 2017. [https://doi.org/10.1109/TPAMI.2016.2572683]
- A. Dosovitskiy, L. Beyer, A. Kolesnikov, D. Weissenborn and N. Houlsby, “An Image is Worth 16×16 Words: Transformers for Image Recognition at Scale,” arXiv preprint arXiv:2010.11929, , 2020.
- E. Xie, W. Wang, Z. Yu, A. Anandkumar, J. M. Alvarez and P. Luo, “SegFormer: Simple and Efficient Design for Semantic Segmentation with Transformers,” Advances in Neural Information Processing Systems, Vol.34, pp.12077-12090, 2021.
- J. Chen, Y. Lu, Q. Yu, X. Luo and Y. Zhou, “Transunet: Transformers Make Strong Encoders for Medical Image Segmentation,” arXiv preprint arXiv: 2102.04306, , 2021.
- L. A. Rosero and F. S. Osório, “Calibration and Multi-sensor Fusion for On-road Obstacle Detection,” 2017 Latin American Robotics Symposium (LARS) and 2017 Brazilian Symposium on Robotics (SBR), pp.1-6, 2017. [https://doi.org/10.1109/SBR-LARS-R.2017.8215269]
- K. He, X. Zhang, S. Ren and J. Sun, “Deep Residual Learning for Image Recognition,” Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp.770-778, 2016.
- J. Behley, M. Garbade, A. Milioto, J. Quenzel, S. Behnke, C. Stachniss and J. Gall, “Semantickitti: A Dataset for Semantic Scene Understanding of Lidar Sequences,” Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV), pp.9297-9307, 2019. [https://doi.org/10.1109/ICCV.2019.00939]
- T. Y. Lin, P. Goyal, R. Girshick, K. He and P. Dollár, “Focal Loss for Dense Object Detection,” Proceedings of the IEEE International Conference on Computer Vision (ICCV), pp.2980-2988, 2017.
- C. H. Sudre, W. Li, T. Vercauteren, S. Ourselin and M. Jorge Cardoso, “Generalised Dice Overlap as a Deep Learning Loss Function for Highly Unbalanced Segmentations,” Deep Learning in Medical Image Analysis and Multimodal Learning for Clinical Decision Support, pp.240-248, 2017. [https://doi.org/10.1007/978-3-319-67558-9_28]
- V. Taran, N. Gordienko, Y. Kochura, Y. Gordienko, A. Rokovyi, O. Alienin and S. Stirenko, “Performance Evaluation of Deep Learning Networks for Semantic Segmentation of Traffic Stereo-Pair Images,” Proceedings of the 19th International Conference on Computer Systems and Technologies, pp.73-80, 2018. [https://doi.org/10.1145/3274005.3274032]
- H. Thomas, C. R. Qi, J. E. Deschaud, B. Marcotegui and L. J. Guibas, “KPConv: Flexible and Deformable Convolution for Point Clouds,” arXiv: 1904.08889, , 2019. [https://doi.org/10.1109/ICCV.2019.00651]
- H. Zhang, C. Wu, Z. Zhang, Y. Zhu, H. Lin, Z. Zhang, Y. Sun, T. He, J. Mueller, R. Manmatha, M. Li and A. Smola, “ResNeSt: Split-Attention Networks,” arXiv: 2004.08955, , 2020.
- Y. S. Lee, J. Y. Jeon, J. G. Yoon, A. R. Lee and K. H. Song, “Sensor fusion based Trans-Unet for 3D Semantic Segmentation in Autonomous Driving,” KSAE Fall Conference Proceedings, pp.2135-2136, 2022.