조영완
(Youngwan Cho)
1iD
이종석
(Jongseok Lee)
1iD
이광엽
(Kwangyup Lee)
†iD
-
(Dept. of Computer Engineering, SeoKyeong University, Korea.)
Copyright © The Korean Institute of Electrical Engineers(KIEE)
Key words
Self-Driving, Driving behavior learning, Reinforcement learning, DDPG, CNN
1. 서 론
인간 운전자의 개입 없이 자동차 스스로 주변 환경을 인식하고 최선의 판단을 통해 운전 행동을 결정하는 자율주행 기술은 DARPA 챌린지 이후 꾸준히
발전하여 최근 웨이모가 미국 애리조나주 피닉스에서 택시 상용 서비스를 개시하는 수준으로 발전하였다(1)(2).
자율주행 기술은 환경을 인식하고 운전 행동을 결정하기까지의 과정에서 RADAR, LIDAR, GPS, IMU, 오도메터, 카메라 등의 각종 센서 정보와
사전의 도로 정보를 이용하여 주행환경과 차량의 상태(위치, 속도, 자세 등)를 인지하는 기술(3), 이를 토대로 차선 유지 또는 변경을 결정하고 장애물을 회피하면서 차량이 실제로 주행해야 할 이동 궤적을 생성하는 기술(4)(5), 생성된 궤적을 따라 실제 차량이 주행하도록 제어하는 기술(6)(7) 등 다양한 관련 분야의 기술을 포함하는데 이 중에서도 특히 주행과 직접적으로 연관된 차량의 운전 조작은 가장 핵심적 요소가 된다.
본 논문에서는 주행 경로가 주어진 상황에서 주행 트랙을 이탈하지 않고 최단 시간에 목표 지점까지 주행하도록 하기 위한 자율주행 차량의 운전 조작 의사결정
방법을 제안한다. 일반적으로 자율주행 차량의 최종 운전 조작량(스티어링, 가속, 브레이크)의 결정은 앞서 기술한 바와 같이 차량의 목표 주행 궤적을
추종하도록 설계된 제어기를 통해 이루어지는데 이 과정에서 목표 궤적의 생성 및 궤적 추종 제어기의 설계는 차량의 복잡한 동적 모델을 바탕으로 이루어진다(8). 이러한 방식의 기존 접근에서 필수적으로 요구되는 차량의 동적 모델은 매우 복잡할 뿐만 아니라 파라메터의 오차 등 모델의 불확실성을 포함하고 있고,
설계된 모델 기반 제어기는 차량 상태를 측정하기 위한 센서의 잡음에 민감할 수도 있어 불확실성을 포함하는 모델에 대해 강인한 제어기를 설계하는 것을
어렵게 한다. 따라서 본 논문에서는 차량의 동적 모델에 대한 고려 없이 자율차량의 운전 조작 행동을 강화학습을 이용하여 스스로 학습하는 방법을 제안한다.
그동안 자율주행 연구 분야에서는 차량의 동적 모델에 대한 고려 없이 수집된 데이터들의 학습을 통해 운전 조작 행동을 결정하는 방법에 대해 다양하게
연구되었다(10-15). 특히 최근 영상 인식 분야에서 DNN이 성공적으로 적용됨에 따라 차량의 주행 영상 정보를 바탕으로 주행 행동을 학습하는 연구(10)(11)가 제시되었는데 이러한 연구는 차량의 주행 상태에 관한 많은 정보 중 영상 정보만 제한적으로 사용하거나 주행 행동 중 일부의 행동만을 학습하는 단점이
있었다.
한편 강화학습(Reinforcement Learning)(9)은 상태에 따른 순차적 행동의 결정 문제를 경험에 의한 학습 방식으로 해결하고자 하는 것으로 환경에 대한 모델 없이 행동을 학습할 수 있다는 장점이
있어 최근 차선유지 보조(12), 차선 변경 알고리즘(13), 주행 제어 행동 결정(14),(15) 등의 자율주행 연구 분야에 적용되어 좋은 성능을 보이고 있다. 그러나, 기존의 자율주행 강화학습 연구에서는 차선 변경을 위한 의사결정(13), 목표 주행궤적 생성(14), 스티어링 조작(15) 등 주행 행동의 일부만을 학습하거나 강화학습의 방법으로 Q-learning 또는 DQN을 적용(14)(15)함으로써 연속적인 행동을 결정하는 문제에서 네크워크의 출력 노드 수가 크게 증가하는 문제가 있었다.
본 논문에서는 주행 경로가 주어진 상황에서 트랙을 이탈하지 않고 목표 지점까지 최단 시간에 주행하도록 하는 자율주행의 의사결정 문제를 목표 주행 궤적
생성과 이를 추종하는 제어 행동을 단계별로 구분하지 않고 강화학습의 순차적 행동 결정 학습 기능을 이용하여 하나의 과정으로 통합하여 목표 주행 궤적의
생성 없이 차량의 위치, 속도, 방향 등 차량의 주행 상태에 따른 최적의 운전 조작 행동을 직접 학습하기 위한 강화학습 구조를 제안한다.
본 논문에서는 레이싱 시뮬레이터 환경에서 차량의 이동 속도, 방향, 트랙의 중심에서 벗어난 정도, 트랙 가장자리까지의 거리 정보 등 차량의 상태 정보를
이용하여 각 상태에서 주어진 주행 목적을 달성하기 위한 최적의 운전 행동(스티어링, 가속, 브레이크) 결정을 위해 심층 결정적 정책 그레디언트(DDPG:
Deep Deterministic Policy Gradient) 구조의 강화학습 방법을 적용하고 나아가 주행 성능의 개선을 위해 주행 영상을 추가로
활용하는 방법을 제안한다.
2. 상태 기반 주행 행동 학습 모델
본 논문에서는 시뮬레이션 환경에서 주행할 차량의 주행 행동을 결정하는 에이전트 모델을 학습시키기 위해 주행 중 발생하는 차량의 각 상태에서 어떠한
행동을 선택했을 때 좋은 결과가 발생하는지를 반복 경험을 통해 학습하는 강화학습 방법을 적용하였다. 본 논문에서는 강화학습 모델로서 DDPG (Deep
Deterministic Policy Gradient)(16)를 적용하였으며 그 구조와 학습 방법은 다음과 같다.
2.1 학습 모델의 전체 구조
상태 기반의 주행행동 학습 모델은 시뮬레이터 환경으로부터 얻은 상태를 통해 운전 행동의 주체이자 학습의 대상이 되는 에이전트의 운전행동을 결정하기
위한 모델로 그림 1과 같은 구조를 갖는다. 에이전트는 시뮬레이션 환경에서 차량의 상태(차량의 속도, 방향, 트랙 중심으로부터 벗어난 정도, 트랙 가장자리와의 거리)에
대한 정보를 받고 이를 통해 행동(스티어링, 가속, 브레이크)을 결정하며 환경은 행동에 대한 보상을 제공한다. 에이전트는 이러한 방식으로 환경과 지속적으로
상호 작용하며 행동하고 행동을 통해 얻게 되는 보상을 최대화하는 방향으로 학습한다.
그림. 1. 상태 기반 주행행동 학습 모델의 구조
Fig. 1. Structure of the state-based driving behavior learning model
2.2 DDPG(Deep Deterministic Policy Gradient)
본 논문에서 사용하는 DDPG 알고리즘은 액터-크리틱 프레임워크에 DQN의 리플레이 메모리와 타겟 네트워크 개념을 더한 형태로 그림 2와 같은 구조를 갖는다.
그림. 2. DDPG 강화학습 구조
Fig. 2. Structure of the DDPG reinforcement learning
일반적으로 DQN은 이산 행동 범위의 문제를 해결할 때는 좋은 성능을 발휘하지만 신경망의 각 노드 출력이 하나의 행동에 대한 Q-value를 나타내기
때문에 행동의 수가 증가할수록 신경망 출력 노드의 수도 증가하게 된다. 따라서 출력이 연속적인 값을 가지는 경우 이를 이산화한 행동을 표현하기 위한
출력 노드의 수가 매우 많아지고 이에 따른 학습시간이 증가하기 때문에 연속적인 행동 범위의 문제를 해결하는데 적용하기 어렵다.
이에 비해 액터-크리틱은 에이전트가 행동을 할 확률을 나타내는 정책을 근사하기 위한 액터 네트워크와 액터의 행동에 대한 가치를 판단하는 행동 가치함수를
근사화하기 위한 크리틱 네트워크로 분리되어 있어 액터 네크워크가 나타내는 정책 근사 함수를 통해 연속적인 행동을 표현하기가 용이하다. 따라서 본 논문에서는
연속 행동 범위의 문제를 해결할 수 있는 액터-크리틱을 베이스로 하고 DQN에서 학습 안정화를 위해 사용하는 리플레이 메모리와 타겟 네트워크의 개념을
더한 DDPG 구조의 강화학습을 적용하였다.
2.3 상태의 구성 및 네트워크 구조
자율 주행의 주체로서 학습의 대상이 되는 에이전트는 시뮬레이터 환경에서 제공하는 차량의 상태 정보를 바탕으로 차량의 운전 행동을 결정하기 위한 학습을
한다. 본 논문에서는 차량의 주행 상태를 표현하기 위해 차량의 속도, 방향, 트랙 중심으로부터 벗어난 정도, 트랙 가장자리와의 거리를 사용하고 각
상태에서 에이전트는 운전 조작 행동으로 스티어링, 가속, 브레이크 조작량을 결정한다. 차량의 상태를 나타내기 위한 세부 구성 요소는 표 1과 같다.
표 1. 상태 벡터의 구성 요소
Table 1. Elements of state vector
State element
|
Description
|
Angle
|
angle between car and track (rad/s)
|
Speed X
|
longitudinal speed (km/s)
|
Speed Y
|
lateral speed (km/s)
|
Speed Z
|
vertical speed (km/s)
|
Track
|
distance to track edge (~200m)
|
TrackPos
|
distance from track center (-1~1)
|
WheelSpinVel
|
speed of 4 wheels (rad/s)
|
EngineSpeed
|
engine speed (rpm)
|
표 1에서 나타낸 상태 벡터는 도로 방향에 대한 차량의 방향을 나타내는 angle 정보 1개, $x,\: y,\: z$ 축 방향의 차량 속도 정보 3개,
차량이 트랙의 중앙으로부터 벗어난 정도를 정규화한 정보 1개, 차량전면부에 부착된 19개의 Track 센서로부터 취득된 도로 가장자리까지의 거리를
나타내는 정보 19개, 네 바퀴 각각의 회전 속도를 나타내는 정보 4개 및 엔진회전 속도 정보 1개로 총 29개의 원소들로 구성되며 속도를 제외한
모든 센서의 값은 -1 ~ 1 또는 0 ~ 1로 정규화 되어 사용된다.
그림 3은 액터 네트워크 구조를 나타낸다. 자율 주행 에이전트는 위에서 설명된 29개의 원소들로 구성된 상태를 기반으로 행동을 결정하므로 행동을 결정하는
액터 네트워크는 29개의 입력 노드를 갖고 운전 조작 행동으로 스티어링, 가속, 브레이크 조작량을 나타내는 3개의 출력 노드를 갖는다. 또한 액터
네크워크는 각각 300, 600개의 노드로 구성된 2개의 히든계층을 포함하고 있다.
그림. 3. 액터 네트워크의 구조
Fig. 3. Structure of the actor network
DDPG 구조의 강화학습에서는 주어진 상태에 대해 액터 네크워크가 출력하는 행동에 대한 가치를 평가하여 액터 네크워크의 파라메터 업데이트를 위한 목적함수로
사용하는데 이 때 행동에 대한 가치함수는 크리틱 네크워크를 통해 학습된다. 이러한 기능에 따라 크리틱 네크워크는 그림 4와 같이 차량의 현재 주행 상태를 나타내는 상태 벡터와 에이전트의 행동을 입력으로 하여 현 상태에 대한 행동의 가치평가를 출력한다. 상태를 처리하는
계층과 행동을 처리하는 계층으로 나뉜 입력 층은 각 계층에서 처리된 후 각각 600개의 노드로 중간 출력을 생성하고 이들 1200개의 노드로 구성된
계층은 다시 600개의 노드로 구성된 히든계층을 거쳐 최종적으로 1개의 출력을 가지는데 이는 차량의 현재 상태에 따른 행동 쌍에 대해 평가된 상태-행동
가치함수 $Q(bold s ,\: bold a)$의 근사를 나타낸다.
그림. 4. 크리틱 네트워크의 구조
Fig. 4. Structure of the critic network
2.4 보상 설계
보상은 주어진 상태에서 수행한 에이전트의 행동이 얼마나 좋은지를 나타내기 위한 지표로서 환경이 에이전트의 행동에 따라 부여한다. 에이전트는 자신의
행동에 따른 보상의 경험을 통해 보상을 많이 얻는 방향으로 행동을 학습하게 된다. 따라서 차량의 주행 목표에 따라 요구되는 적절한 행동 양식이 달라질
수 있으므로 주행 목표에 맞는 적절한 보상의 설계는 강화학습에서 매우 중요한 요소가 된다. 본 논문에서는 차량이 트랙의 중심을 따라 안정적 주행을
하면서도 가능한 빠른 시간에 목표 지점에 도달하는 주행 행동을 학습할 수 있도록 수식 (1)과 같이 보상을 설계하였다.
수식 (1)에서 $v_{x}$는 차량의 전방 속도를 나타내고 $\theta$는 차량과 도로가 이루는 방향각을 나타내며 $d_{track}$은 차량이 도로 중심으로부터
벗어난 정도를 나타낸다.
2.5 주행 시뮬레이션 환경
이상에서 설명한 상태 기반 주행행동의 강화학습은 차량 시뮬레이터 환경에서 인간 조작자의 개입 없이 에이전트의 반복 경험에 의해 이루어졌다. 그림 5는 본 논문에서 사용한 차량 주행 시뮬레이터인 TORCS(The Open Racing Car Simulator) 레이싱 시뮬레이터의 주행 환경을 나타낸다.
TORCS 시뮬레이터는 다양한 주행 트랙 및 환경을 포함하고 있고 고품질 주행 영상과 차량의 동적 및 정적 모델을 제공하고 있어 여러 자율주행 연구에서
사용되고 있고 본 논문에서 주행 에이전트의 환경 모델로 사용하였다.
그림. 5. 차량 주행 시뮬레이터 환경
Fig. 5. Car driving simulator environment
2.6 상태 기반 주행 행동 모델 학습 결과
본 논문에서는 시뮬레이티드 차량 주행 에이전트를 이상에서 설명한 DDPG 구조의 강화학습을 통해 학습시켜 주행 에이전트가 학습에서 의도한 주행 행동을
나타내는지를 실험하였다. 주행 에이전트의 행동 학습은 다른 알고리즘 또는 학습데이터 없이 보상에 의한 주행 경험만을 토대로 강화학습 방법으로만 이루어졌다.
학습은 주어진 트랙을 20바퀴 연속해서 성공적으로 주행할 때까지 수행되도록 하였으며 소요된 시간은 약 8시간 정도이다.
학습된 에이전트의 주행 성능 실험은 학습에서 사용한 트랙에서 진행되었으며 8바퀴를 주행하며 매 주행 Lap에서 평균 Angle과 TrackPos의
값을 확인하였고 이를 제시하면 표 2와 같다. 실험 결과 차량과 도로의 방향 차이를 나타내는 Angle이 8바퀴 평균 -0.0145 [rad/s]로 나타나고 도로 중심으로부터 떨어진
정도를 정규화해서 나타내는 TrackPos 값도 평균 0.0558을 나타내어 도로의 중심을 크게 벗어나지 않고 도로 방향을 따라 주행하는 행동을 학습하였음을
확인하였다.
표 2. 주행 행동 학습 성능
Table 2. Driving behavior learning performance
Lap
|
Angle(rad/s)
|
TrackPos(-1~1)
|
1
|
-0.0152
|
0.0568
|
2
|
-0.0140
|
0.0576
|
3
|
-0.0147
|
0.0566
|
4
|
-0.0151
|
0.0571
|
5
|
-0.0141
|
0.0524
|
6
|
-0.0150
|
0.0553
|
7
|
-0.0141
|
0.0558
|
8
|
-0.0145
|
0.0563
|
avg
|
-0.01464
|
0.05604
|
3. 영상 기반 주행 행동 학습 모델
본 논문에서는 에이전트의 상태 기반 주행 행동 모델을 기반으로 주행 성능을 개선하기 위해 주행 영상을 추가로 활용하는 방법을 제안한다. 주어진 경로를
최단 시간에 주행하기 위해서는 코너 구간에서 효과적인 주행을 할 필요가 있는데 이러한 주행에 적합한 행동을 학습시키기 위해 주행해야 할 미래 주행
구간이 직선 경로인지 좌회전 또는 우회전의 코너 경로인지 영상 정보를 이용해 미리 예측하고 이러한 상황에서 적절한 주행 행동을 학습시키기 위한 보상을
설계하여 학습하는 방법을 제안한다.
3.1 영상 기반 학습 모델의 구조
상태 기반 주행 행동 모델은 현재의 차량 상태만을 사용하여 주행 행동을 결정하는데 일반적으로 인간 조작자는 현재의 상태뿐만 아니라 앞으로 주행하여야
할 전방의 트랙 형태도 고려한다. 이와 같이 주행 트랙의 미래 상황을 예측하여 주행 행동에 반영하기 위해서는 트랙 형태의 예측이 필요한데 이를 위해
본 논문에서는 주행 영상을 이용해 미래 주행 트랙의 형태를 예측하고 현재 상태와 함께 에이전트의 주행 행동을 결정하는 강화학습 모델의 입력으로 사용한다.
본 논문에서 제안하는 영상 기반 주행 행동 학습 모델의 전체 구조는 그림 6과 같다. 2장에서 제안한 상태 기반 주행 행동 모델을 바탕으로 주행 영상을 통해 현재 및 미래 주행 트랙의 형태를 분류하고 이를 기존의 상태 벡터에
추가하여 트랙의 형태별 주행 행동을 최적화하여 학습할 수 있도록 하였다. 이를 위해 본 논문에서는 시계열 주행 영상을 이용해 다음 상태의 주행 영상을
예측하는 모델과 주행 영상으로부터 주행 트랙의 형태를 분류하는 모델을 각각 CNN 형태의 네트워크로 학습하여 사용하였다.
그림. 6. 영상 기반 주행 행동 학습 모델의 구조
Fig. 6. Structure of the image based driving behavior learning model
3.2 주행 영상 예측 모델
주행 영상 예측 모델은 과거와 현재의 시계열 주행 영상을 이용하여 다음 상태의 주행 영상을 미리 예측하고자 하는 모델이다. 본 논문에서 영상의 예측을
위한 학습 네트워크 모델은 U-Net(17) 구조를 사용하여 설계였으며 그 구조를 그림 7에 나타내었다. 그림 7에서 입력은 현재($t$)와 과거($t-1$, $t-2$)의 주행 영상이고 출력은 다음 상태($t+1$)의 예측 영상이며, U-Net 구조의 각 블럭은
다채널 특징 맵을 나타내고 블럭 위의 숫자는 채널의 수를 나타낸다.
그림. 7. 주행 영상 예측 모델의 구조
Fig. 7. Structure of the next image prediction model
일반적으로 CNN 구조의 학습 모델에서 영상의 크기를 줄였다가(subsampling) 다시 키우면(upsampling)하면 정교한 픽셀정보가 사라지게
되는데 이는 픽셀 단위로 조밀한 예측이 필요할 때 큰 문제가 된다. 따라서 본 논문에서는 인코더에서 디코더로 중요 정보를 직접 넘겨주는 스킵 커넥션을
추가함으로써 디코더 부분에서 더욱 선명한 이미지를 얻을 수 있는 U-Net 구조의 네트워크 모델을 설계하여 학습하였다.
주행 영상 예측 모델의 학습을 위해 필요한 학습 영상은 2장에서 설명된 상태 기반 주행 행동 학습 모델을 통해 학습된 에이전트의 시뮬레이션 주행을
통해 수집한 것으로 총 30,000장으로 구성되어 있고 각 영상은 차량의 상태 정보와 매핑되어 있다. 주행 영상과 상태 데이터는 샘플링 타임 0.202초
간격으로 수집되며 수집된 데이터는 3-frame 단위로 묶어 예측 모델의 지도 학습 데이터로 사용된다. 이때 차량 상태 정보(각도와 위치)는 U-Net
구조에 적절하도록 2D로 표현하여 이미지 채널로 구성함으로써 보다 정확한 다음 상태 예측이 가능해지도록 하였다. 따라서 한 쌍의 학습 데이터는 입력이
64x64x5의 형태(시계열 주행 영상 3 프레임, 영상 이미지로 표현된 각도 및 위치 정보 각각 1 프레임)가 되고 출력이 예측 영상으로 64x64x1
형태가 된다.
3.3 주행 영상 예측 모델의 성능 평가
본 논문의 실험은 표 3의 환경에서 진행되었으며 제안된 네트워크는 Tensorflow, Keras, Python을 이용하여 구현하였고 학습에는 10시간 정도의 시간이 소요되었다.
표 3. 실험 환경
Table 3. Experiment environment
OS
|
Ubuntu18.04
|
GPU
|
Nvidia Geforce 1080Ti 11Gb
|
CPU
|
Intel i7 7700k
|
Memory
|
32Gb
|
그림 8은 예측 모델을 통해 얻은 다음 상태의 예측 주행 영상과 실제 주행을 통해 얻은 다음 상태의 주행 영상을 비교하여 나타낸 것으로 상단이 예측 영상이고
하단이 실제 시뮬레이션 주행에서 얻은 영상이다.
그림. 8. 예측 영상과 실제 시뮬레이션 주행 영상 비교
Fig. 8. Comparison of predicted image and simulated driving image
본 논문에서 예측 영상은 주행 에이전트의 행동 결정 학습을 위한 입력 상태 요소로 추가하여 사용되므로 적절한 행동의 학습을 위해서는 예측 영상의 정확성을
평가할 필요가 있다. 본 논문에서는 예측 영상의 정확도를 정답 이미지와 비교 평가하기 위해 구조적 유사도를 평가하는 SSIM에 의한 평가와 영상이
학습 과정에서 실제 적용되는 코너 분류기에 대한 응답의 일치도 평가를 실시하였다.
테스트 영상 600개에 대해 예측 영상과 정답 영상 간의 SSIM을 측정한 결과 SSIM은 0.8513을 나타내었다. 정답 영상과 이에 시그마 1을
적용한 가우시안 블러링을 통해 얻은 영상 간의 SSIM이 0.8642인 점을 감안하면 영상 예측 모델의 성능은 정확한 예측 영상을 기준으로 blur
처리가 적용된 정도의 예측 영상을 얻을 수 있는 수준으로 해석 할 수 있다. 또한, 예측 영상과 정답 영상을 코너 분류 모델에 적용하여 실험한 결과
96.15% 일치도를 나타내었다. 이는 다음 상태 예측 영상이 정답 영상과 코너 분류 모델 관점에서 유사한 특징을 지니는 것으로 해석할 수 있으므로
예측 모델을 통해 생성된 다음 상태의 주행 영상은 기존의 상태 벡터에 추가하여 에이전트의 주행 행동을 결정하는 판단 요소로 사용할 수 있음을 의미한다고
할 수 있다.
3.4 코너 분류 모델
영상 기반 주행 행동 모델에서 코너 분류기는 현재 주행 영상과 다음 상태 예측 영상을 통해 주행 구간의 형태(직진, 좌회전, 우회전 구간)에 대한
정보를 추출하여 에이전트의 행동 결정을 위한 상태 벡터에 기존의 상태에 추가 요소로 제공하는 역할을 한다. 본 논문에서 설계한 코너 분류기의 구조는
그림 9와 같으며 64x64x3 형태의 주행 영상을 입력으로 하여 직진, 좌회전, 우회전으로 구분된 주행 구간의 형태를 출력한다. 그림 9의 코너 분류기 구조에서 블록 내부의 숫자는 receptive field의 크기를 나타내고 블록 하단의 숫자는 각 합성곱 층의 깊이를 나타낸다.
그림. 9. 코너 분류기의 구조
Fig. 9. Structure of the corner classifier
코너 분류기의 학습 데이터는 상태 기반 운전 행동 모델을 적용한 에이전트의 시뮬레이션 주행을 통해 생성하였으며 데이터의 다양성을 위해 예측 모델에서
생성된 영상을 학습 데이터에 추가하였다. 표 4는 학습 데이터의 구성을 나타낸다. 총 8,260개로 구성된 데이터는 학습용으로 7,681개, 테스트용으로 579개로 나누어 사용하였다.
표 4. 코너 분류기 학습 데이터
Table 4. Learning data set for corner classifier
|
Left
|
Right
|
Straight
|
Total
|
Train
|
1,887
|
955
|
4,839
|
7,681
|
Test
|
207
|
96
|
276
|
579
|
Total
|
2,094
|
1,051
|
5,115
|
8,260
|
본 논문에서 제안한 코너 분류기의 학습 결과를 그림 10과 그림 11에 제시하였다. 그림 10은 학습 과정에서의 손실함수의 변화를 나타내고 그림 11은 분류 모델의 정확도를 나타내는 것으로 손실함수 값이 학습 초기에 수렴하고 있어 학습이 학습 결과 학습 데이터에 대한 정확도 train accuracy는
99.43%를 나타내었고, 테스트 데이터에 대한 정확도 val accuracy는 96.03%를 나타내었다.
그림. 10. 코너 분류기 학습의 손실 함수 변화
Fig. 10. Loss function of the corner classifier learning
그림. 11. 코너 분류기의 정확도
Fig. 11. Accuracy of the corner classifier
3.5 상태의 구성 및 보상 설계
영상 기반 주행 행동 모델은 앞서 설명한 바와 같이 상태 기반 주행 행동 모델에 추가적인 주행 상태 정보를 제공하기 위해 현재 주행 트랙 및 다음
상태 예측 주행 트랙의 형태를 판단하여 사용하는 것으로 이를 학습하기 위한 상태의 구성은 기존 상태 벡터에 현재 및 다음 상태의 주행 영상으로부터
코너 분류기를 통해 취득한 직진, 좌회전, 우회전과 같은 트랙의 형태에 대한 정보를 추가한 형태가 된다. 이에 따라 차량의 주행 행동을 결정하는 DDPG
네트워크의 입력 노드도 추가되게 된다.
영상 기반 운전 행동 모델의 학습은 앞서 설명한 상태기반 운전 행동 모델의 학습과 같은 방식으로 진행되나 행동 결정을 위해 고려하는 상태의 요소가
추가된 만큼 보상 또한 추가된 상태에 대한 적절한 반영이 필요하기 때문에 새로운 보상을 설계하여 학습을 진행하였다. 영상 기반 주행 행동 모델의 학습
목표는 최소 Lap 타임 트랙 주행을 위해 주행 트랙의 형태를 직선 구간과 코너 구간으로 구분하여 직선에서는 트랙의 중심을 따라 주행하고 코너 구간에서는
빠른 주행을 위해 적절한 코너링 주행 행동을 학습하는 것이다.
일반적으로 레이싱 차량은 최소 Lap 타임 주행을 위해 코너 구간에서 그림 12와 같이 주행 거리가 짧아지게 되는 In-course 코스(Out-In-Out 코스) 주행을 한다. 본 논문에서는 이러한 주행 행동 학습을 위해 코너
주행 시 보상을 식 (2)와 같이 설계하였다.
그림. 12. 인코스 전략
Fig. 12. In-course strategy
수식 (2)에서 $v_{x}$는 차량의 전방 속도, $\theta$는 차량과 도로가 이루는 방향각, $d_{track}$은 차량이 도로 중심에서 벗어난 정도를
나타낸다. 영상 기반 주행 행동 모델은 주어진 경로의 트랙을 이탈하지 않고 최단 시간에 트랙을 완주하는 것을 목표로 학습시킨다. 이를 위해 행동 모델은
상태 기반 주행 행동 모델에서 사용하는 상태 정보 및 주행 트랙의 형태에 대한 영상 처리 정보를 바탕으로 주행 경로 상의 트랙 형태에 따라 직선 구간에서는
트랙의 중심을 따라 주행하고 곡선 구간에서는 주행 경로가 짧아지는 주행 행동이 학습될 수 있도록 보상을 제공함으로써 학습시킨다.
4. 실험 및 결과
본 논문에서 제안한 영상 기반 주행 행동 모델에서 영상의 예측과 트랙 형태 정보의 추가 활용의 효과를 평가하기 위해 2장에서 제안한 상태 기반 주행
행동 모델의 성능과 비교 평가한다. 본 실험은 TORCS 시뮬레이션 환경에서 주어진 트랙을 20바퀴 연속해서 성공적으로 주행할 때까지 반복적으로 주행하며
영상 기반 DDPG 강화학습을 이용해 학습시킨 에이전트가 동일한 트랙을 8바퀴 주행하며 얻은 결과를 코너구간에서의 주행 거리, 속도, 시간 측면에서
상태 기반 주행 행동 모델의 결과와 비교하였다.
4.1 실험 환경
그림 13은 시뮬레이터 환경에서 실험을 진행한 트랙을 나타낸다. 트랙의 길이는 총 2057m이며 크게 직선 구간과 3가지 코너 구간으로 구성되어 있다. 두
에이전트의 주행 성능 비교를 위해 전체 트랙 중에서 직선 구간을 제외한 3가지 코너 구간에서 주행 결과를 비교하였다.
그림. 13. 주행 실험 트랙
Fig. 13. Simulated driving test track
그림. 14. 코너별 주행 속도 비교
Fig. 14. Time comparison at corner 1
4.2 실험 결과
본 실험에서는 학습된 두 에이전트를 학습에서 사용한 트랙과 동일한 트랙에서 8바퀴 주행시키며 세 코너 구간에서의 실 주행 거리, 구간별 평균 속도,
평균 주행 시간을 비교하였다. 그림 14와 15는 상태 기반 주행 모델과 영상 기반 주행 모델의 각 코너 구간에서의 평균 주행 속도 및 평균 주행 시간을 주행 Lap 별로 나타낸 것이다.
그림 14의 주행 속도 비교에서 나타난 바와 같이 영상 기반 주행 모델은 상태 기반 주행 모델에 비해 8번의 Lap에서 모든 코너 구간에서 평균 주행 속도가
개선되었음을 알 수 있다. 그림 15의 주행 시간 비교에서도 마찬가지로 구간별 평균 주행 시간이 대부분의 경우 개선되었고 특히 코너가 비교적 복잡한 구간2에서의 개선 효과가 컸음을 확인할
수 있다.
그림. 15. 코너별 주행 시간 비교
Fig. 15. Speed comparison at corner 1
표 5는 8번의 Lap 주행 동안 각 코너 구간에서의 실 주행 거리, 구간 평균 속도, 구간 평균 주행 시간을 상태 기반 주행 모델의 성능을 기준으로 영상
기반 주행 모델 성능과의 차이를 비교 제시한 것이다.
표 5. 코너 구간별 주행 성능 비교
Table 5. Comparison of driving performance at corners
|
distance [m]
|
speed [km/h]
|
time [s]
|
Corner 1
|
-0.0368
|
6.2615
|
-0.5064
|
Corner 2
|
-5.5025
|
4.2052
|
-0.3838
|
Corner 3
|
+0.5237
|
5.7165
|
-0.1746
|
Average
|
-1.6718
|
5.3944
|
-0.3594
|
표 5에서 제시한 값은 8번의 Lap 주행 전체에 대한 평균값으로 코너1과 코너2에서는 모든 측면에서 영상 기반 주행 모델이 성능에서 개선되었음을 나타내고
코너3에서는 주행거리 측면에서는 평균적으로 긴 경로를 주행하였으나 속도와 주행 시간 측면에서는 결과적으로 개선된 주행 성능을 나타낸 것을 알 수 있다.
5. 결 론
본 논문에서는 주행 경로가 주어진 상황에서 주행 트랙을 이탈하지 않고 최단 시간에 목표 지점까지 주행하도록 하기 위한 자율 주행 차량의 운전 조작
행동 결정 방법으로 차량의 동적 모델에 대한 고려 없이 자율차량의 운전 조작 행동을 강화학습을 이용하여 스스로 학습하는 방법을 제안하였다.
이를 위해 본 논문에서는 차량의 이동 속도, 방향, 트랙의 중심에서 벗어난 정도, 트랙 가장자리까지의 거리 정보 등 차량의 상태 정보를 이용하여 각
상태에서 주어진 주행 목적을 달성하기 위한 최적의 운전 행동(스티어링, 가속, 브레이크) 결정을 위해 DDPG 구조의 강화학습 방법을 적용하고 나아가
주행 성능의 개선을 위해 주행 영상을 추가로 활용하는 방법을 제안하였다.
강화학습 모델로서 자율 주행 차량의 에이전트 역할을 하는 DDPG 모델의 행동 결정 네트워크(Actor)와 행동의 가치함수 평가(Critic) 네트워크
구조를 제안하여 학습하였고 나아가 코너 구간에서의 주행 성능의 개선을 위해 주행 영상을 이용하여 다음 상태를 예측하고 주행 트랙의 형태 정보를 추출하여
학습 모델의 상태로 활용하는 방법을 제안하였다. 또한 이러한 학습 모델이 최소 Lap 타임 주행 목적 달성에 필요한 주행 행동을 학습할 수 있도록
주행 구간에 따라 적절한 보상이 주어지도록 보상을 설계하였다.
본 논문에서 제안한 자율 주행 에이전트 학습 모델은 TORCS 시뮬레이션 환경에서 다른 알고리즘 또는 학습 데이터 없이 보상에 의한 주행 경험만을
토대로 주어진 트랙을 20바퀴 연속해서 성공적으로 주행할 때까지 학습하였고 학습된 모델은 동일한 트랙을 8바퀴 주행하며 성능을 평가하였다. 제안된
모델의 성능 평가 결과 상태 기반 주행 행동 모델은 차량과 도로 사이의 방향각과 트랙 중심으로부터 벗어난 정도를 정규화해서 나타낸 값이 각각 주행
전체 평균 -0.0145 [rad/s], 0.0558로 나타나 에이전트의 학습 목표인 트랙 중심부 추종 주행 행동을 학습하였음을 확인하였다. 영상
기반 학습 모델 또한 성능 평가 결과 상태 기반 학습 모델에 비해 실 주행거리에서 0.43% 개선되었고 주행속도에서 3.47%, 주행시간에서 4.13%
개선되어 영상 정보의 추가 활용 효과를 확인할 수 있었다.
Acknowledgements
This Research was supported by Seokyeong University in 2018.
Acknowledgements
This Research was supported by Seokyeong University in 2020.
References
C. Badue, et. al, 2020, Self-Driving Cars: A Survey, arXiv preprint arXiv:1901.04407
B. Paden, et. at, 2016, A Survey of Motion Planning and Control Techniques for Self-Driving
Urban Vehicles, IEEE Transactions on Intelligent Vehicles, Vol. 1, No. 1, pp. 33-55
Y. Xu, V. John, S. Mita, H. Tehrani, K. Ishimaru, S. Nishino, 2017, 3D point cloud
map based vehicle localization using stereo camera, 2017 IEEE Intelligent Vehicles
Symposium (IV), pp. 487-492
T. Fraichard, 1998, Trajectory planning in a dynamic workspace: a ’state-time space'
approach, Advanced Robotics, Vol. 13, pp. 75-94
H. Woo, et al., 2009, Research of the Optimal Local & Global Path Planning for Unmanned
Ground Vehicle, The Korean Society Of Automotive Engineers, Vol. 2009, No. 4, pp.
988-992
P. Falcone, F. Borrelli, J. Asgari, H. E. Tseng, D. Hrovat, 2007, Predictive active
steering control for autonomous vehicle systems, Transactions on Control Systems Tech-
nology, Vol. 15, pp. 566-580
E. Kim, J. Kim, M. Sunwoo, 2014, Model predictive control strategy for smooth path
tracking of autonomous vehicles with steering actuator dynamics, International Journal
of Automotive Technology, Vol. 15, pp. 1155-1164
J. Levinson, 2011, Towards fully autonomous driving: Systems and algorithms, 2011
IEEE Intelligent Vehicles Symposium(IV), pp. 163-168
R. S. Sutton, A. G. Barto, 2018, Reinforcement Learning: An Introduction, The MIT
Press
J. Kocic, N. Jovicic, V. Drndarevic, 2019, An End-to-End Deep Neural Network for Autonomous
Driving Designed for Embedded Automotive Plaforms, Seonsors(Basel), Vol. 19, No. 9,
pp. 2064
M. Babiker, M. Elawad, A. Ahmed, Sept 2019, Convolutional Neural Network for a Self-Driving
Car in a Virtual Environment, IEEE Int. Conf. on Computer, Control, Electrical, and
Electronics Engineering
A. E. Sallab, M. Abdou, E. Perot, S. Yogamani, 2016, End- to-End Deep Reinforcement
Learning for Lane Keeping Assist, arXiv preprint arXiv:1612.04340v1
P. Wang, C. Y. Chan, 2018, A Reinforcement Learning Based Approach for Automated Lane
Change Maneuvers, IEEE Intelligent Vehicles Symposium (IV)
M. P. Ronecker, Y. Zhu, 2019, Deep Q-Network Based Decision Making for Autonomous
Driving, International Conference on Robotics and Automation Sciences (ICRAS)
D. Li, D. Zhao, Q. Zhang, Y. Chen, 2019, Reinforcement Learning and Deep Learning
Based Lateral Control for Autonomous Driving, IEEE Computational Intelligence Magazine,
Vol. 14, No. 2, pp. 83-98
T. P. Lillicrap, et al., 2015, Continuous control with deep rein- forcement learning,
arXiv preprint arXiv:1509.02971
O. Ronneberger, P. Fischer, T. Brox, 2015, U-Net: Con- volutional Networks for Biomedical
Image Segmentation, Int. Conf. on Medical Image Computing and Computer- Assisted Intervention
- MICCAI, pp. 234-241
M. Jaritz, et al., 2018, End-to-End Race Driving with Deep Reinforcement Learning,
IEEE International Conference on Robotics and Automation (ICRA), Vol. , No. , pp.
-
V. R. Konda, J. N. Tsitsiklis, 2003, On Actor-Critic Algorithms, SIAM Journal on Control
and Optimization, Vol. 42, No. 4, pp. 1143-1166
저자소개
He received the B.S., M.S., and Ph.D. degrees in electronic engineering from Yonsei
University, Seoul, Korea, in 1991, 1993, and 1999, respec- tively.
He worked as a Senior Research Engineer in the Control System Group at SAMSUNG Electronics,
Seoul, Korea, from 2000 to 2003. He was a visiting scholar at Department of Mechanical
Engineering, Michigan State Univer- sity from 2016 to 2017.
He is currently working as a Professor in the Department of Computer Engineering,
Seokyeong University, Seoul, Korea.
His research interests include fuzzy control theory and applications, intelligent
control systems, machine learning, and robotics and automation.
He received the B.S. and M.S. degrees in computer engineering from Seokyeong University,
Seoul, Korea, in 2018 and 2020, respectively.
He is currently working as a Researcher at Intellivix, Seoul, Korea. His research
interests include deep learning and reinforcement learning, artificial Intelligence.
He received the B.S. degree in electronic engineering from Sogang University in 1985.
He received the M.S. and Ph.D. degrees in electronic engineering from Yonsei University,
Seoul, Korea, in 1987 and 1994, respectively.
He worked as a Senior Researcher at Hyundai Electronics Inc. from 1989 to 1995.
He is currently working as a Professor in the Depart- ment of Computer Engineering,
Seokyeong University, Seoul, Korea. His research interests include micro processor
and intelligent processor.