1. 서 론
2. 차선 변경 주행 데이터 취득
2.1. 도심환경 주행 데이터
2.2. 공개 데이터 활용
2.3. 데이터 증식(Data Augmentation)
3. 차선 변경 가능성 판단 알고리즘 구성 개요
3.1. 입력 구성
3.2. 모델 구성
4. 모델 학습
4.1. 학습 파라미터
4.2. 모델 학습 결과
5. 도심 실도로 환경에서의 알고리즘 평가
5.1. 평가 환경 및 방법 개요
5.2. 도심 실도로 환경에서의 평가 결과 및 분석
6. 결 론
1. 서 론
자동차 사고의 대부분은 운전자의 부주의로부터 발생되며, 그 원인으로는 주변 차량, 주위 환경의 변화를 인지하지 못하거나 상황에 알맞지 않은 판단을 내리는 경우 등이 존재한다.(1) 1990년대 후반 이후부터 교통사고를 예방 및 운전자의 입력에 대해 차량이 안정적인 거동을 유지하도록 함으로써 승차감을 향상시켜주는 보조 시스템을 개발하기 시작했고, 이를 첨단 운전자 보조 시스템(advanced driver assistance system, ADAS)라 부른다. 그 중, 사각지대 충돌 방지 보조 시스템(blind-spot collision avoidance assist)는 차선 변경 상황에서 변경하고자 하는 차선 위 후측방 차량과의 거리를 초음파 센서로 측정하여 경고하게 된다. 그러나, 도심 환경 또는 차량 이동량이 많은 시간대에는 해당 시스템이 차선 변경에 도움을 주지 못한다. 전, 후방 충돌에 비해 복합적인 요소를 고려해야하는 차선 변경 상황을 위한 보조 시스템은 아직 완성되지 못한 상태이다.
차선 변경의 과정은 다음의 3가지: 1) 차선 변경 가능성 판단, 2) 차선 변경 경로 생성, 3) 생성된 경로 추종으로 나눌 수 있으며, 본 연구에서는 첫 번째 단계에 대해 다루고 있다. 차선 변경 가능성 판단 분야의 초기 알고리즘은 규칙 기반으로, TLC(Time to Line Crossing)을 기반으로 측후방 차량의 위치를 예측하는 방법,(2) 운전자의 거동을 모사한 가속도 모델 기반으로 주변 차량간 거리 및 가속도 관련 제약 조건에 따라 위험도를 판단하는 방법(3) 등이 존재한다. 그러나, 규칙 기반 알고리즘은 대부분 현재 state만을 이용하기 때문에 예외 상황이 많이 발생되어 강건하지 못하다는 단점이 존재한다.
이후 확률 또는 데이터 기반으로 학습하여 차선 변경 가능성을 판단하는 알고리즘들이 제안되었다. 은닉 마코브 모델과 베이지안 모델을 결합하여 운전 거동을 세부 거동으로 분류하는 방법,(4) SVM(support vector machine) 모델 기반의 방법(5) 등이 존재한다. 최근에는 사람의 판단 과정을 모사하고자 RNN(recurrent neural network) 계열 신경망을 사용하여 차선 변경 과정의 시계열 데이터를 이용하는 연구들이 제안되고 있다.(6,7) 고속도로에서는 비교적 강건한 성능을 보여주지만, 센서의 오인지나 노이즈에 취약하여 도심 환경을 비롯한 실제 도로에서의 적용에는 많은 위험이 따른다.
이에 본 연구에서는 Attention layer를 도입한 LSTM 기반 모델을 제안했다. 학습 과정에서 인코더의 출력 결과 별 key-value를 생성하고, 전체 맥락에서 어떤 시점이 가장 중요한지에 대한 판단이 이루어진다. 이를 통해 각 time step마다 가중치를 부여하며, 실제 사람과 더 유사한 판단 과정을 거치게 된다. 또한, 이상치 데이터 및 노이즈에 대한 필터링 효과도 존재한다.
2. 차선 변경 주행 데이터 취득
2.1. 도심환경 주행 데이터
2.1.1. 실험 차량 및 센서 구성
Fig. 1은 차선 변경 가능성 판단 모델을 학습시키기 위한 데이터 취득 목적의 실험 차량 및 센서 구성이다. 현대 아이오닉 일렉트릭 1대가 사용되었으며, Velodyne사 Puck VLP-16ch Hi-res 2개, Inertial Labs 사 INS-P, Logitech StreamCam, 그리고 차량 정보를 측정하는 Chassis sensor가 부착되어 있다.
2.1.2. 도심 환경 주행 데이터 취득
차량 이동량이 많은 17:00~20:00 시간대에 도심 환경에서 수동 주행하며 차선 변경 데이터를 취득했다. 좌측 또는 우측 방향지시등이 점등되는 순간부터 완전히 차선 변경이 완료되고 방향지시등을 소등하는 시점까지 데이터를 녹화하며, 이를 한 ‘장면(scene)’이라고 부르겠다. 수집하는 정보는 자차량 속력, 가속도, LiDAR의 point cloud, 그리고 차선 변경 성공 여부이다. 별도의 알고리즘(7)을 통해 point cloud 데이터로부터 주변 차량의 거리, 속력, 가속도 등의 state들을 구해 모델 학습에 사용하며, 차선 변경 성공 여부는 자차량 좌표계 기준 녹화 시작과 끝 시점의 횡방향 거리 변화를 통해 자동으로 라벨링한다.
Fig. 2는 데이터 취득을 위한 주행 경로이며, 반복적으로 수행하면서 차선 변경이 성공한 경우 2107개와 실패한 경우 1214개, 총 3321개의 데이터를 수집했다.
2.2. 공개 데이터 활용
미국의 실제 차량경로 메타 데이터 셋인 NGSIM(Next Generation Simulation)을 이용하여 고속도로 상황에 대한 데이터도 활용했다. 차선 변경이 성공한 경우 543개와 실패한 경우 870개, 총 1413개의 데이터를 사용했다.
2.3. 데이터 증식(Data Augmentation)
많은 개수의 차선 변경 데이터를 수집하는 일은 제한된 환경 내에서 많은 시간을 필요로 한다. 따라서, 수집한 데이터를 기반으로 그 개수를 늘리는 방식을 사용했으며, 다음과 같다. 1) 노이즈 및 이상치 제거, 2) 노이즈 및 이상치 생성, 3) 긴 시간에 대한 데이터를 분할하여 각각의 데이터로 구성. 그 결과, 차선 변경이 성공한 경우 6830개, 실패한 경우 5527개의 총 12357개의 데이터를 확보했으며, 이를 Train 및 Validation 데이터로 분할하였다. Test 데이터의 경우 알고리즘 평가를 위해 추후 별도로 수집되었으며, 전체 데이터셋 프로파일은 Table 1에 나와있다.
3. 차선 변경 가능성 판단 알고리즘 구성 개요
3.1. 입력 구성
Fig. 3은 본 연구에서 제안한 모델에 사용될 데이터 구조를 보여준다. 자차량 속력, 측전방 차량과 측후방 차량의 종 방향 거리, 횡 방향 거리, 속도, 총 7개의 state로 벡터를 구성한다.
모델 학습 및 검증에 활용되는 input은 데이터와 라벨로 구성되어 있다. 취득한 데이터를 상기한 7차원 벡터 형식으로 정리하고, 라벨은 차선 변경이 성공했다면 1, 실패했다면 0으로 정리한다.
3.2. 모델 구성
Fig. 4는 차선 변경 가능성 판단을 위해 사용되는 Attention-LSTM기반 모델이다. 크게 인코더와 디코더로 구성되어 있으며, 인코더는 input을 받아 어떠한 추상의 형태로 암호화한다. 디코더는 해당 정보를 받아 해석하고, 차선 변경 가능성을 최종 output으로 산출해낸다.
디코더를 구체적으로 살펴보면, Attention layer와 Fully-connected layer로 구성되어 있다. 전자는 인코더의 마지막 hidden state를 받아 query로 활용하고, output을 key, value로 활용한다. Fig. 4에 명시된 식에 따라 query와 key를 통해 energy를 구하고, 이를 value에 곱해 각 step 별 가중치를 계산한다. 후자는 가중치를 곱한 인코더의 output을 받아 최종적으로 차선 변경 가능성을 0에서 1사이로 출력한다.
4. 모델 학습
4.1. 학습 파라미터
Table 2는 구성한 모델을 학습시킬 때 넣어준 hyper parameter 값들을 보여준다.
Table 2.
Hyper-parameters for model training
| Hidden dimension | 32 |
| Number of hidden layers | 2 |
| Batch size | 64 |
| Initial learning rate | 0.01 |
| Loss criterion | Cross-entropy |
| Optimizer | Adam |
추가로, LSTM layer는 두 개의 층 모두 양방향 모델을 사용하였으며, 과거 시계열 데이터와 미래 모두 사용함으로써 맥락을 더 잘 파악하는 것을 목표로 했다. 또한, 본 모델은 일반적인 딥러닝 모델들과는 달리 과적합(overfitting) 경향이 나타날수록 좋은 성능을 기대할 수 있다. 따라서, 별도의 dropout 등의 정규화 과정은 포함시키지 않았다.
4.2. 모델 학습 결과
Fig. 5는 epoch을 1,300회로 두고 모델을 학습시킨 결과이다. 학습에 사용된 차선 변경 데이터의 수는 양보 사례 5,464개, 비양보 사례 4,422개이다. 모델 성능의 척도로 train loss와 validation accuracy를 활용하였으며, 각각 0.00067, 99.820%의 최고 값을 갖는다. Test accuracy는 98.952%이며, 몇몇 대표적인 case에 대한 분석이 5절에 설명되어 있다.
5. 도심 실도로 환경에서의 알고리즘 평가
5.1. 평가 환경 및 방법 개요
Fig. 1의 차량으로 도심 실도로 환경에서 제안한 알고리즘의 성능을 평가했다. 남부순환로 신림역~낙성대역 구간에서 진행되었으며, 제어는 적용하지 않는다. Manual로 운전하고, 본 연구에서 제안한 알고리즘을 실시간으로 실행시키면서 차선 변경을 시도한다.
알고리즘의 판단 결과는 0(실패)에서 1(성공) 사이의 확률 값으로 나오며, 주행 과정에서 안전 보장이 가능한 threshold 값을 선정했다. 현재 네크워크는 0.5의 threshold 값을 가지고 training을 진행했지만, softmax 함수의 특성 상 확률 차이를 극대화하기 때문에 애매한 상황에 대한 위험성이 더 커지게 된다. 알고리즘이 적용되었을 때 차선 변경이 가능하다고 판단된 상황이 실제 운전자였다면 조금 더 시간을 두고 지켜볼 상황이었을 수 있다는 의미이다. 이는 차선 변경 시 위험한 상황으로 이어지며, 안전을 보장하기 위해 보수적으로 해당 값을 0.7로 설정한 뒤 성능을 평가해 보았다. 아래는 성공적으로 판단된 상황 중 몇몇 대표적인 사례들에 대한 설명이다.
5.2. 도심 실도로 환경에서의 평가 결과 및 분석
5.2.1. Case1: 일반적인 상황
Fig. 6(a)는 차선 변경을 시도했으나, 측후방 차량과의 거리가 가까워지면서 실패한 사례이다. 그래프의 배경은 각 time step별 가중치를 의미하며, 붉은색일수록 차선 변경 전 과정에서 가장 높은 가중치를, 투명할수록 가장 낮은 가중치를 나타낸다. 해당 그래프는 차선 변경 초기에서 후기로 갈수록 점차 높은 가중치를 가지는데, 이는 실제 사람의 판단 과정과 매우 유사하다. 일반적인 경우, 사람은 방향지시등을 점등하고 차선 변경 의도를 알리기 시작할 때보다 실제로 차선 변경을 시도하게 되는 시점에 더 많은 주의를 기울이게 된다. 이는 전체 과정의 시간이 길어지는 경우에 대해 더 효과적으로 작용되는데, 현재 상황과 관련성이 낮은 초기 상황에 대해 낮은 가중치를 부여함으로써 새롭게 발생되는 상황에 대한 판단 변화를 빠르게 할 수 있게 된다.
5.2.2. Case2: 판단 결과가 변화하는 상황
Fig. 6(b)는 차선 변경을 성공한 사례이다. 그러나, case 1과 달리 초기 가중치가 높게 설정된 것을 확인할 수 있다. 그 이유는 측전방 및 측후방 차량의 초기 거동, 그리고 그 이후 양상의 변화 때문이라고 고려된다. 초기에 측전방 차량은 감속을, 측후방 차량은 가속하고 있기 때문에 알고리즘은 차선 변경이 불가능하다고 판단을 내린다. 이후 측전방 차량이 가속하면서 차선 변경이 가능할 정도의 공간이 나오지만, 초기의 위험도가 컸기 때문에 알고리즘은 여전히 불가능하다는 판단 결과를 유지하고 싶어하고, 이에 따라 scene의 중반부 가중치를 낮춘다. 하지만 이 상황이 지속되고, 차선 변경 직전의 상황에 가중치를 높게 두면서 차선 변경이 가능하다고 판단 결과를 바꾸게 된다.
5.2.3. Case3: 오인지 및 노이즈가 존재하는 상황
Fig. 6(c)는 차선 변경이 성공한 사례로, 자차량이 우측으로 차선 변경을 함과 동시에 측후방 차량도 우측으로 차선 변경을 한 상황이다. 20kph 이하의 속력을 갖는 도심 정체상황으로, 1.6~1.9초 사이에 센서의 오인지로 인한 이상치가 발생되었는데, 알고리즘이 해당 구간의 가중치를 낮게 설정했음을 확인할 수 있다. 즉, 이전 맥락과 일치하지 않는 데이터에 대해 모델 스스로 이상치라고 판단함으로써 해당 데이터로 인해 발생되는 잘못된 판단을 방지한다. 그 결과, 알고리즘의 강건함이 크게 증가되어 노이즈 및 오인지가 섞인 데이터에 대해서도 높은 정확도를 달성할 수 있다.
6. 결 론
본 연구에서는 기존 RNN 기반 차선 변경 가능성 판단 알고리즘에 디코더 개념을 도입하여 인코더-디코더 간 Attention layer를 추가한 새로운 알고리즘을 제안하였다. 선행 연구들의 validation accuracy는 약 96%로, 제안한 모델은 약 3% 이상 향상된 성능을 보여주며, 100번의 차선 변경 과정 중 1번의 실수는 곧 사고로 이어지기 때문에 매우 의미 있는 결과이다.
핵심 단어는 time-step별 가중치로, 일반적으로 오래된 정보에 대해 낮은 가중치를 부여하고 차선 변경이 이루어지는 시기에 높은 가중치를 부여함으로써 긴 시계열 데이터에 대해서도 높은 성능을 보여준다. 또한, 위험한 상황에 대해 주의를 더 기울이고, 판단 결과를 바꾸는 것에 대해 신중한 모습을 보인다. 마지막으로, 인지 과정에서 노이즈 또는 오인지를 스스로 필터링함으로써 알고리즘을 강건하게 만든다. 이를 통해 차선 변경 상황에서 시계열 데이터의 맥락을 더욱 사람과 유사하게 이해하고 판단함으로써 도심 정체 상황에 대해서도 성공적으로 차선 변경 가능성을 판단함을 확인할 수 있었다.
후속 연구에서는 각 state별 가중치도 추가함으로써 주어진 상황에 대해 time-step마다 어떤 state를 중요하게 볼 것인지 판단하는 과정이 필요할 것으로 생각된다.








