Ⅰ. 서 론
1. 연구의 배경 및 목적
최근 자율주행차는 기술적 완성도와 실도로 적용 가능성 측면에서 빠르게 발전하고 있다. Tesla의 FSD (Full Self-Driving) 프로그램은 2023년부터 미국 전역으로 확대되어 일반 도로에서 수백만 마일의 자율주행 데이터를 축적하고 있다(Armstrong, 2023; Klender, 2023). 2025년 기준 Waymo는 피닉스, 샌프란시스코, 로스 앤젤레스 등 주요 도시에서 상업용 로보택시 서비스를 운영하며, 매주 25만 건 이상의 유료 승차를 제공하고 있다(Waymo, 2025). 또한, Weride는 Uber와 협력하여 향후 5년간 미국과 중국을 포함한 15개 도시에서 상업 용 로보택시 서비스를 도입할 계획이며, 아부다비를 시작으로 서비스를 개시했다(Korosec, 2025). 이러한 예 시는 자율주행 기술이 연구의 단계를 넘어 실제 교통 환경에서 상용화 단계로 진입하고 있음을 보여준다 (Thrun, 2010;Min et al., 2024). 이처럼 자율주행차의 실증이 수행됨에 따라 안전성을 확보하기 위한 다양한 기술적 접근이 요구되고 있다.
특히, 인간 운전자 개입이 제한되고 시스템 운전자로 넘어가는 Lv.4+ 자율주행차량(SAE, 2014)은 이상상 태를 신속히 검지하고 빠르게 대응하여 안정적인 주행을 보장하는 시스템이 요구되며, 이는 안전성 및 신뢰 성과 직결되므로 실시간으로 이상상태를 검지하는 시스템이 필수적이다(Min et al., 2024). 이상상태란, 자율 주행차의 안전성을 위협하는 대표적인 상황으로, 급가속 및 감속, 센서 이상, 데이터 결측 및 왜곡, 통신 지 연 등 다양한 형태가 포함된다(Zhang et al., 2023;Liu et al., 2023;Savran et al., 2024;Wang et al., 2024;Baccari et al., 2024). 자율주행차 이상상태를 검지하기 위해, 머신러닝/딥러닝 등 인공지능을 활용한 방식이 고도화되고 있다. 기술 발전 초기에는 주행 데이터를 기반으로 의사결정나무, Support vector machine(이하 SVM), K-nearest neighbors(이하 K-NN) 등 머신러닝 기법을 활용하여 이상상태를 분류했다(Injadat et al., 2018;Demestichas et al., 2021). 이 방식은 간단하고 해석이 용이하다는 장점이 있었으나, 시간 흐름에 따른 패턴의 변화를 반영하지 못하는 한계가 존재했다(Qian and Gao, 2017;Cerqueira et al., 2019;Schmid et al., 2024). 이 를 보완하기 위해, 입력과 출력을 시퀀스 단위로 처리하는 RNN 계열의 딥러닝 모델이 활용되고 있다. 특히, LSTM은 RNN의 장기 의존성 문제를 극복한 알고리즘으로 다양한 분야에서 이상탐지에 활용되고 있다 (Malhotra et al., 2015;Lindemann et al., 2021;Lahann et al., 2022;Noh and Moon, 2023;Dash et al., 2025).
그러나, 대부분의 기존 연구는 이상상태를 연구자의 주관적 기준으로 설정하거나 시뮬레이션을 통해 정의 하였으며, 실제 도로 환경에서 발생한 사례를 기반으로 한 정의는 매우 제한적인 실정이다(He et al., 2024;Alsulami et al., 2022). 이는 자율주행차가 실제로 겪는 복잡하고 특수한 이상상황을 포착하는 것에 한계가 존 재하며, 실증 환경에서의 적용 가능성을 저해하는 요소로 작용한다. 이에 본 연구에서는 미국 캘리포니아 교 통국(California DMV)에서 공개한 자율주행차 제어권 전환 보고서(DMV disengagement report)를 분석하고 이 를 기반으로 이상상태를 정의하고, 실도로에서 수집된 실제 주행 데이터를 활용하여 LSTM 기반 이상상태 분류 모델을 학습하고자 한다.
Ⅱ. 선행연구
본 장은 자율주행차 이상상태 탐지 모델 개발을 위해 차량 내외부에서 발생할 수 있는 다양한 유형을 고 려한 자율주행차 이상상태 분석 연구와 다양한 분야에서 시계열 패턴 변화를 고려할 수 있는 인공지능 기법 을 활용한 이상탐지 연구를 고찰한다.
1. 자율주행차 이상상태 분석 연구
자율주행차의 이상상태는 사고 상황, 사이버 공격 등 다양한 유형을 포함할 수 있다. 본 연구는 자율주행 차 내부 및 외부에서 발생할 수 있는 여러 유형의 이상상태를 분석하는 기존 연구들을 고찰했다. 자율주행차 의 내부와 외부에서 생성되는 다양한 형태의 데이터는 이상상태 분석에 활용될 수 있다. 자율주행차의 이상 상태 분석을 위해 통신 데이터, 사고 데이터, 영상 데이터, 센서 데이터 등 다양한 유형의 데이터가 활용되고 있었으며, 각 데이터의 특성에 따라 Clustering, Random Forest 등 머신러닝 기법뿐만 아니라 CNN, LSTM, AutoEncoder 등의 딥러닝 기법이 적용되고 있다.
Yun et al.(2024)은 차량 통신 데이터를 기반으로 조향각 오류, 차량 중첩, 역주행 등 3가지 이상상태 시나리 오를 분류하는 머신러닝 기법을 제안했다. One-class SVM, K-means algorithm, HDBSCAN, Minisom 등 4개 알 고리즘의 성능을 비교한 결과, Minisom 알고리즘이 정확도, 정밀도, 재현율에서 우수한 성능을 보이는 것을 확인했다. Avatefipour et al.(2019)은 DoS 공격을 포함한 CAN 데이터를 기반으로 사이버 공격을 탐지하는 이 상상태 분류 모델을 제안했다. 위 연구는 정상 데이터를 기반으로 One-class SVM을 학습하고, Meta-heuristic 기반의 Modified bat algorithm을 통해 성능 최적화를 수행했다. 그 결과, 기존의 Isolation forest나 One-class SVM 대비 높은 탐지율(True Positive Rate, TPR)과 낮은 오탐율(False Positive Rate, FPR)을 도출했다. 또한, Lee et al.(2023)과 Lee et al.(2024)은 자율주행차 사고 보고서인 DMV collision report를 기반으로 머신러닝 분석을 통해 다양한 상황의 사고 시나리오를 도출했다.
앞서 언급한 차량 통신 데이터나 사고 데이터가 아닌, 차량의 외부 영상 데이터와 내부의 다양한 센서 데이 터를 기반으로 이상상태를 분석하는 연구가 다수 수행되고 있다. 이는 사전에 예측하기 어려운 다양한 이상상 태를 조기에 감지하고 예방할 수 있다는 점에서 중요한 의의를 지닌다. Han et al.(2022)는 차량의 센서 데이터와 영상 데이터와 Transformer 기반의 One-class classifier를 통해 다양한 이상상황을 분류하는 시스템을 제안했다. 정상 데이터의 학습을 통해 GPS 신호 위조, 교통 표지판 및 차선 인식 오류를 탐지 가능한 것을 확인했으며, 기존 방법론 대비 높은 정확도와 탐지 속도를 도출하여 실시간 적용에 대한 가능성을 제시하였다. Breitenstein et al.(2021)은 영상 데이터를 기반으로 집단 이상을 탐지하는 시스템을 제안했다. 위 연구는 여러 객체의 출현 빈도를 기반으로 정상 상황과의 통계적 분포의 차이를 측정하고, 이를 통해 군집 형태의 이상상태를 식별했다. 특히, 이상상태의 방향성과 정도를 정량적으로 판단할 수 있는 Earth Mover’s Deviation(이하 EMDEV) 지표를 제안했으며, 해당 지표가 차량에서 실시간으로 적용 가능한 것을 확인했다. Di Biase et al.(2021)은 복잡한 주행 환경에서 픽셀 단위 이상 객체를 탐지하는 프레임워크를 제안했다. 기존의 segmentation 모델에 불확실성 기반 탐지(uncertainty-based detection)와 이미지 재합성 기반 탐지(image resynthesis-based detection)를 결합한 구조를 제안했으며, 다양한 비정상 객체를 대상으로 탐지 성능이 높게 도출됐다. 차량 내부 센서 데이터로는 레이더 기반의 포인트 클라우드를 포함하여 속도, 가속도, GPS 등 다양한 유형의 데이터가 활용되고 있다. He et al.(2024)은 시뮬레이션을 통해 확보한 차량의 센서 데이터 기반의 머신러닝 분석을 통해 이상 주행 여부를 탐지 하는 연구를 수행했다. 교차로 정지 무시, 보행자 무시, 차선 유지 실패 등 다양한 상황의 이상 시나리오를 구현했으며, 속도, 가속도 등의 13개의 독립변수를 포함하는 센서 데이터를 확보했다. 총 5개 이상 주행 탐지 알고리즘(K-NN, SVM, Naive bayes, RF, Back-propagation neural network(이하 BPNN)) 학습 결과, Naive bayes를 제외한 알고리즘의 정확도, 정밀도, 재현율이 모두 90% 이상이 도출되어 이상 주행 시나리오를 명확하게 분류 하는 것을 확인했다. Javed et al.(2020)은 Attention 기반의 LSTM-CNN과 앙상블 기반의 WAVED 기법을 활용하 여 자율주행차의 이상상태를 분류했다. 속도, 가속도, GPS 등의 센서 데이터를 취득했으며, 4개의 이상상태를 대상으로 분류를 수행한 결과, Kalman filter(이하 KF)와 CNN-KF보다 2~3%p 향상된 f1-score를 도출했다. Alsulami et al.(2022)은 FDI 기반의 사이버 공격을 분류하는 LSTM 모델을 제안했다. 이를 위해 MathWorks의 시뮬레이션 환경에 FDI 공격을 추가하고, 공격 통합 후의 센서 데이터를 수집하여 정상 데이터와 이상 데이터 를 이진 분류하는 방식으로 모델을 학습시켰다. 그 결과, 정확도, 정밀도, 재현율, f1-score 모두 99% 이상을 도출했다.
2. 인공지능 기반 시계열 이상탐지 연구
최근 빅데이터의 축적과 컴퓨팅 파워의 발전으로 인해 항공, 의료, 교통, 스마트팩토리 등 다양한 분야에 서 인공지능 기법을 활용하여 이상탐지 연구를 수행하고 있다. 특히, 시계열 데이터는 시간에 따른 패턴의 변화를 파악해야 하므로, 통계 기반 접근보다 ARIMA, RNN, LSTM, GRU 등의 시계열 예측 모델이 효과적인 대안으로 활용되고 있다. 정상과 이상상태에 대한 레이블이 없는 경우, 비지도학습의 대표 알고리즘인 Autoencoder가 적용되고 있으며, 이는 정상 데이터의 패턴을 기반으로 적절한 임계값을 설정함으로써 정상 패턴을 벗어나는 이상상태를 효과적으로 식별할 수 있다.
Yaacob et al.(2010)은 네트워크 기반의 공격(DoS)을 조기 탐지하기 위해 ARIMA 모델을 적용한 이상 탐지 기법을 제안하였다. 위 연구는 실시간 네트워크 트래픽을 수집하고, ARIMA를 통해 정상 트래픽 패턴을 예측 한 뒤, 15%의 임계값을 초과할 경우 이상으로 간주했다. 또한, 제안된 시스템은 UDP flooding, SYN flooding, TCP flooding과 같은 다양한 유형의 공격을 탐지했으며, 실험 결과 높은 트래픽 환경에서는 정상과 비정상을 효과적으로 구분했지만, 트래픽이 적고 변동이 큰 네트워크에서는 오탐률이 높아지는 한계가 존재했다. Chou and Telaga(2014)는 Neural network autoregressive(이하 NNAR)과 ARIMA를 활용하여 건물 전력 소비의 이상 탐 지를 위한 방법을 제안했다. 위 연구는 이상상태를 예측값과 실제 소비량의 차이가 표준편차의 2배 이상일 경우를 이상상태로 정의했다. 실험 결과, NNAR 모델은 전력 소비 패턴과 이상상태를 효과적으로 탐지했으나, ARIMA 모델의 경우 정상 상황을 과도하게 이상상태로 분류하는 경향을 확인했다. Yin et al.(2017)은 네트워크 공격의 탐지를 위해 RNN을 활용한 딥러닝 기반 모델 RNN-IDS를 제안했다. 이 모델은 NSL-KDD 데이터셋을 활용하여 이진 분류(정상/이상)와 다중 분류(정상, DoS, R2L, U2R, Probe)를 수행하며, 다양한 학습 변수에 따른 성능을 실험적으로 분석했다. 실험 결과, RNN-IDS는 기존의 J48, SVM, RF 등 전통적인 머신러닝 기법보다 높은 정확도와 탐지율을 보였으며, 이진 분류 정확도는 83.28%, 다중 분류는 81.29%의 정확도가 도출되었다. Xiao et al.(2019)는 GPS 위장 공격(GPS spoofing)으로 인한 무인항공기의 비정상 행동을 탐지하기 위해 RNN 기반의 탐지 시스템을 제안했다. 위 연구는 도착각(Direction of arrival) 추정 알고리즘을 통해 UAV의 2D 도착 각 데이터를 수집하고, 이를 기반으로 정상 궤적 모델을 학습시켜 비정상 여부를 판단했다. 이때, 정규화된 평균 제곱근 오차(NRMSE)를 활용하여 높은 정확도와 낮은 오탐률을 만족하는 최적의 임계값을 설정했다. 그 결과, 스마트시티 시나리오에서는 LSTM-RNN이 98.7%의 가장 높은 정확도를 보였고, 고속도로 시나리오에서 는 Simple RNN이 98%의 정확도를 도출했다. Chauhan and Vig(2015)는 ECG 데이터를 기반으로 이상상태를 탐 지하는 Deep LSTM 모델을 제안했다. 위 연구는 정상 ECG 데이터의 학습을 통해 패턴을 기록하고, 이를 바탕 으로 f1-score가 최대가 되는 임계값를 설정했다. 그 결과, 96.45%의 f1-score와 39.05의 TPR/FPR 비율을 기록하 며 높은 정확도와 낮은 오탐율을 도출했다. 또한, 4가지 부정맥 유형(PVC, APC, PB, VC)을 성공적으로 분류하 는 것을 확인했다. Kumaresan et al.(2024)은 네트워크 트래픽의 이상상태를 탐지하기 위해 다양한 RNN 기반 모델의(LSTM, GRU, Bidirectional LSTM, Conv-LSTM) 성능을 비교 분석하였다. NSL-KDD, UNSW-NB15 등의 오픈 데이터셋을 활용하여 정상과 비정상 데이터를 학습시킨 결과, 전체적으로 높은 성능을 도출했다. 이를 통해 RNN 기반의 모델은 기존의 단순 신경망이나 전통적 통계 기법보다 뛰어난 일반화 성능을 보였으며, 네 트워크 보안 분야에서 이상 탐지에 효과적인 것을 확인했다. Park et al.(2018)은 LSTM을 기반으로 스마트팩토 리 내 공정 과정에서 이상상태를 실시간으로 탐지하는 LiReD 시스템을 제안했다. LSTM을 포함하여 SVM, RF 등 총 5개의 모델을 비교 분석했으며, LSTM의 정확도, 정밀도, 재현율이 100%가 도출되어 시계열 기반의 이상 상태 탐지에 효과적인 알고리즘임을 확인했다. Malhotra et al.(2015)은 정상 데이터를 학습한 LSTM 모델을 활 용하여 이상상태를 탐지하는 방법을 제안했다. 위 연구는 LSTM을 통해 미래를 예측하고, 예측값과 실측값의 오차 벡터 분포를 다변량 정규분포로 모델링하여 이상상태를 판단했다. ECG, Spoace Shuttle Marotta value time series, Power demand dataset, Multi-sensor engine data 등 다양한 데이터셋을 활용하여 모델의 성능을 도출한 결 과, 장기 의존성이 존재하는 데이터셋을 기준으로 RNN보다 LSTM이 약 30% 높은 f0.1-score를 기록한 것을 확인했다. Silivery et al.(2023)은 다양한 네트워크 공격을 탐지하는 시스템을 제안했다. 위 연구는 NSL-KDD, KDD'99, UNSW-NB15 데이터셋을 활용했으며, RNN, DNN, LSTM 모델의 학습을 통해 성능을 비교했다. 연구 결과, 데이터셋과 공격 유형에 따라 최적의 모델이 상이하게 나타났으며, 특히 LSTM 모델은 순차적 의존성이 강한 데이터을 대상으로 성능이 높은 것을 확인했다. Joung et al.(2024)는 공기 압축기에 존재하는 베어링의 이상상태를 탐지하기 위해 LSTM을 학습하는 연구를 수행했다. 위 연구는 베어링의 진동 데이터를 수집한 후, 시간-주파수 도메인으로 변환한 뒤, 정지, 정상, 고장 임박, 고장 등 4단계의 상태로 분류했다. 195개의 특성을 LSTM 모델에 입력하여 학습한 결과, 평균 95.3%의 높은 정확도를 달성했고, CNN, K-NN, SVM, RF 등 기존 모델들에 비해 우수한 성능을 도출했다. 이를 통해 고장 발생 수개월 전부터 고장 임박 상태를 조기에 탐지할 수 있어, 정비 시점 최적화에 기여할 수 있음을 시사하였다. Guo et al.(2018)은 다변량 데이터셋을 활용하여 이상상태를 예측하는 연구를 수행했다. 다변량 시계열 데이터를 대상으로 GRU 기반의 Gaussian mixture variational autoencoder(이하 GGU-VAE) 모델을 제안하고, 가우시안 혼합 모델을 통해 anomaly score를 계산하여 이상 여부를 판단하였다. 실험 결과, 제안 모델은 기존의 Autoencoder와 Variational autoencoder(이하 VAE)보다 높은 정확도와 f1-score를 달성하였으며, 다차원 시계열 데이터의 이상 탐지를 위한 GRU 활용의 가능성을 제시 했다. Wielgosz et al.(2017)은 LHC 초전도 자석 운용 과정에서의 이상상태를 검지하기 위해 LSTM과 GRU를 활용했다. 위 연구는 기존의 RMSE 기반 회귀 방식을 분류 방식으로 전환했으며, 다양한 학습 변수를 조절하여 모델의 최적화를 수행했다. 연구 결과, LSTM과 GRU 모두 90% 이상의 정확도를 보여줬으며, 대형 데이터셋을 대상으로 LSTM의 성능이 GRU보다 소폭 높은 성능이 도출되는 것을 확인했다. Malhotra et al.(2016)은 예측이 어려운 시계열 데이터를 대상으로 이상상태를 효과적으로 탐지할 수 있는 LSTM 기반의 인코더-디코더 모델을 제안했다. 위 연구는 정상 데이터의 학습을 통해 데이터를 재구성하고, 이 과정에서 발생하는 오차를 이상상태 의 기준으로 활용했다. 연구 결과, 정밀도, 재현율, TPR/FPR이 각각 0.96, 0.18, 7.6이 도출되었으며, 짧은 시계열 부터(30) 긴 시계열까지(500) 해당 모델을 적용 가능한 것을 확인했다. Sugimoto et al.(2018)은 ECG 데이터를 기반으로 Autoencoder와 LSTM을 결합하여 비정상적 파형을 탐지했다. 위 연구는 임계값을 0.1부터 0.9까지 변 화시키며 성능을 비교했고, 최적의 임계값을 도출했다. 그 결과, 임계값이 0.6일 때, 정밀도 50%와 재현율 66% 가 도출되어 기존 방법론 대비 이상 탐지 성능이 우수한 것을 확인했다. Savolainen et al.(2024)은 GNSS 신호의 이상상태를 탐지하기 위해 Complex-valued autoencoder (이하 CVAE) 모델을 제안하였다. 시뮬레이션과 실제 간 섭 데이터를 활용하여 실험을 수행한 결과, CVAE는 실수 기반의 모델인 Real-valued autoencoder (이하 RVAE) 보다 과적합이 적고 실제 환경에서도 안정적인 성능을 보였다. 특히 CVAE는 실제 데이터에서 95.7%의 정확도 와 99.4%의 정밀도를 기록했으며, 이를 통해 복소수를 기반으로 접근하는 것의 효과를 입증했다.
3. 소결
자율주행차의 이상상태는 사고, 사이버 공격, 이상 행동, 외부 객체 등 다양한 형태에 의해 발생할 수 있 으며, 이를 조기에 탐지하기 위해 다양한 인공지능 방법론이 활용되고 있다. 특히 속도, 가속도, 차량 위치 등 차량의 센서 데이터를 대상으로 시계열적 특성을 파악할 수 있는 RNN 계열 모델이 적극적으로 활용되 며, 데이터의 구조나 라벨링 여부에 따라 CNN, Autoencoder, Attention 등의 기법이 활용되었다. 또한, 네트워 크 보안, 스마트팩토리, 의료 등 여러 분야에서 시계열 데이터를 활용한 이상탐지 연구가 수행되고 있으며, 이를 통해 RNN 기반 모델의 이상상태 탐지 성능과 일반화 가능성을 확인했다. 특히, LSTM 모델은 RNN이 나 GRU에 비해 장기 의존성 문제를 보다 효과적으로 처리할 수 있으며, 독립변수가 복잡한 데이터에서도 높은 분류 정확도를 제공하는 장점이 있다. 이에 본 연구는 자율주행차의 실주행 데이터를 기반으로 LSTM 모델을 활용하여 이상상태를 분류하는 방법을 제안하고자 한다.
Ⅲ. 연구 방법론
본 장에서는 자율주행차 제어권 전환 보고서를 기반으로 자율주행차 이상상태 유형을 정의하고, 실주행 데이터를 수집하여 데이터 전처리 및 학습 변수 선정, 활용 모델 학습 및 최적화를 진행하였다.
1. 자율주행차 이상상태 유형 정의
미국 캘리포니아주에서는 GM, Waymo, Zoox 등 여러 제작사의 자율주행차 실증이 활발하게 수행되고 있 다. 특히, 미국 캘리포니아 교통국은 자율주행차 평가 승인을 받은 기업들을 대상으로 사고 보고서(collision report)와 제어권 전환 보고서(disengagement report) 제출을 의무화했다. 제어권 전환 보고서는 자율주행차가 제어권이 전환된 상황을 기록한 보고서로, <Table 1>과 같이 제조업체(manufacture), 허가 번호(permit number), 날짜(date), 차량 식별 번호(vin number) 등의 정보가 포함되어 있다. 특히, 제어권 전환 상세 이유 (description of facts causing disengagement) 열은 제어권 전환이 발생한 상세 사유가 작성되어 있으며, 이를 통 해, 센서 오류, 횡방향 휘청거림, 신호 위반 등 다양한 제어권 전환 상황을 파악할 수 있다.
<Table 1>
Components of the DMV Disengagement Report
| Index | Details |
|---|---|
| Manufacturer | Name of the company developing or testing the autonomous vehicle (e.g., Waymo, Cruise) |
| Permit number | Official permit ID issued by the California DMV |
| Date | The date when the disengagement event occurred |
| Vin number | Vehicle Identification Number |
| Vehicle is capable of operating without a driver | Indicates if the vehicle can operate without a driver(Yes or No) |
| Driver present | States if a human driver was present(Yes or No) |
| Disengagement initiated by | Specifies who initiated the disengagement (AVSystem,TestDriver,RemoteOperator,orPassenger) |
본 연구는 차량의 이상상태와 관련한 선행연구 검토를 통해 자율주행차의 이상상태 후보군을 정립했다. 이후, 2021에서 2023년까지 발간된 DMV 제어권 전환 보고서 17,455건의 제어권 전환 이유를 분석하고 대응 시켜 자율주행차의 이상상태 유형을 정의했다. 이 과정에서 차량, 관제 등 유관기관과 협의를 수행하며 이상 상태의 객관성과 적합성을 확보했다. 분석 결과, 종방향으로 울컥거림(Bae et al., 2020), 급가속(De Winkel et al., 2023), 곡선구간 미감속(Wang et al., 2024), 신호위반(Aniculaesei and Elhajji, 2025)이 도출되었으며, 차선 이탈 유무에 따라 횡방향으로 휘청(SAE International, 2013)과 지그재그 주행(Verster and Roth, 2011)을 구분하 여 6개 이상상태를 선정했다 <Table 2>.
<Table 2>
Representative Descriptions from Disengagement Report for Each Abnormal Use Case
2. 데이터 수집
앞서 정의한 6가지 이상상태를 분류하기 위해, <Fig. 1>의 절차를 따라 K-City에서 수집된 실주행 데이터 를 활용했다. 데이터 수집 결과, 실주행 데이터는 100ms 단위로 기록되었으며, <Table 3>과 같이 이상상태 별로 약 5,300개에서 11,000개 사이의 데이터를 포함하고 있다. 이를 시간으로 환산하면 약 530초에서 1,100 초에 해당한다.
<Table 3>
Result of Data Collection
| Label | Abnormal use case | Number of data points | Total Duration(s) |
|---|---|---|---|
| 0 | Longitudinal Jerking | 7,337 | 733.7 |
| 1 | Zigzag Driving | 11,284 | 1,128.4 |
| 2 | Lateral Swaying | 5,353 | 535.3 |
| 3 | Sudden Acceleration | 11,136 | 1,113.6 |
| 4 | No Deceleration During a Turn | 7,006 | 700.6 |
| 5 | Traffic Signal Violation | 5,853 | 585.3 |
3. 데이터 전처리 및 학습 변수 선정
실주행 데이터는 자차속도, 자차종방향가속도, 자차횡방향가속도, 조향각 등 29개의 주행 관련 필드로 구성 되어 있다. 이에 더해, LSTM 모델의 학습 과정에서 어떠한 종류의 이상상태인지 명확하게 제시하기 위해 라 벨링 작업을 수행하여 "label"을 별도로 추가했으며, 각 필드에 대한 설명 및 데이터 타입은 <Table 4>와 같다.
<Table 4>
Data Overview and Training Variable Selection
| Column | Fieldname | Description | Data type | LSTM role |
|---|---|---|---|---|
| A | year | Year of recording | Integer | Not used |
| B | month | Month of recording | Integer | Not used |
| C | day | Day of recording | Integer | Not used |
| D | hour | Hour of recording | Integer | Not used |
| E | minute | Minute of recording | Integer | Not used |
| F | second | Second of recording | Integer | Not used |
| G | millisecond | Millisecond of recording | Numeric | Not used |
| H | egoVehicleSpeedMps | Ego vehicle speed(m/s) | Numeric | Input(x) |
| I | longAccelerationMps2 | Ego vehicle longitudinal acceleration(m/s²) | Numeric | Input(x) |
| J | latAccelerationMps2 | Ego vehicle lateral acceleration(m/s²) | Numeric | Input(x) |
| K | steeringAngleDeg | Steering angle(degrees) | Numeric | Input(x) |
| L | yawRateDps | Ego vehicle yawrate(deg/s) | Numeric | Input(x) |
| M | brake | Brake status(categorical) | Numeric | Input(x) |
| N | steeringTorgue | Steering torque | Numeric | Input(x) |
| O | schoolZoneFlag | School zone presence(categorical) | Integer | Input(x) |
| P | crossWalkFlag | Crosswalk presence(categorical) | Integer | Input(x) |
| Q | speedBumpFlag | Speed bump presence(categorical) | Integer | Not used |
| R | currentSpeedLimitKph | Current road speed limit(categorical, km/h) | Integer | Input(x) |
| S | trafficType | Traffic light recognition result(categorical) | Integer | Input(x) |
| T | xTrafficLightM | X-position of nearby traffic light(within threshold) | Numeric | Input(x) |
| U | yTrafficLightM | Y-position of nearby traffic light(within threshold) | Numeric | Input(x) |
| V | roadSlopeLongDeg | Longitudinal road slope(degrees) | Numeric | Input(x) |
| W | roadSlopeLatDeg | Lateral road slope(degrees) | Numeric | Input(x) |
| X | frontVehicleFlag | Presence of front target vehicle(categorical) | integer | Input(x) |
| Y | distanceOfFrontVehicleM | Distance to front target vehicle(m) | Numeric | Input(x) |
| Z | velocityOfFrontVehicleMps | Speed of front target vehicle(m/s) | Numeric | Input(x) |
| AA | cutInOfFrontVehicle | Cut-in detection result(categorical) | Integer | Input(x) |
| AB | cutOutOfFrontVehicle | Cut-out detection result(categorical) | Integer | Not used |
| AC | ttcOfFrontVehicleS | Time to collision with front vehicle(seconds) | Numeric | Input(x) |
| AD | label | Use case category(categorical) | Integer | Target(y) |
이후, <Table 4>와 같이 실주행 데이터의 30개 필드를 대상으로 LSTM 학습에 활용할 변수를 선별했다. 우 선, 본 연구의 목적은 LSTM을 활용하여 이상상태를 분류하는 것으로, 이를 위해 AD(“label”)를 종속변수(y) 로 설정했다. 다음으로, 독립변수(x) 후보를 선정했다. 우선, 시계열 데이터임을 확인할 수 있는 A부터 G(“year”, “month”, “day”, “hour”, “minute”, “second”, “millisecond”)는 제외하였다. 또한, Q(“speedBumpFlag”), AB (“cutOutOfFrontVehicle”)는 모두 0으로 구성되어있음에 따라 독립변수에서 제외했다. 이러한 과정을 통해 총 20개의 필드를 독립변수 후보로 선정했으며, 이는 <Table 4>의 lstm role에 명시하였다.
정확도와 실시간성을 모두 확보한 LSTM 모델을 구축하기 위해 앞서 선정한 독립변수 후보 20개를 대상 으로 상관관계 분석과 다중공선성 분석을 수행했다. 상관관계 분석은 두 변수 간의 선형 관계의 강도와 방향 을 파악하는 방법으로, 상관계수가 높다면 변수 간 중복 정보가 많아 학습의 효율성에 영향을 미칠 수 있다 (Schober et al., 2018). 다중공선성 분석은 독립변수 간의 높은 상관관계로 인해 회귀계수가 불안정해지는 문 제를 진단하는 기법으로, 다중공선성이 심할 경우 모델이 각 변수의 중요도를 정확히 반영하지 못할 수 있다 (Vatcheva et al., 2016).
상관관계 분석 결과는 아래 <Fig. 2>와 같다. 상관계수는 –1에서 1 사이의 값을 가지며, 절대값이 0.8을 초 과할 경우 두 변수 간의 강한 상관관계가 있다는 것을 의미한다. 이는 중복 정보를 포함할 가능성이 높고, 과 도한 상관성을 지닌 변수를 동시에 투입할 경우 LSTM 학습 시 과적합(overfitting) 및 학습 불안정성 문제가 발생할 수 있다. 따라서 기존 연구(Ding and Peng, 2005)의 변수 선택 기준에 따라, 상관계수 절대값이 0.8을 초과하는 변수 쌍을 선별하고, 이들 중 하나만을 선택하여 입력 변수로 구성했다. 상관계수의 절대값이 0.8을 초과하는 조합은 “ yawRateDps(자차 yawrate) & steeringAngleDeg(조향각)”(이하 ①)와 “frontVehicleFlag(전방 타겟 차량 존재 여부) & distanceOfFrontVehicleM(전방 타겟 차량 거리)”(이하 ②)로 모두 0.86이 도출되었다. ①의 경우, 모두 이상상태 검지에 유의미한 변수라고 판단되어 둘 중 하나를 변수로 선정하여 데이터셋을 구성했다. ②의 경우, “frontVehicleFlag”가 0, 1로 구성된 범주형 데이터인 점과 “distanceOfFrontVehicleM”이 “frontVehicleFlag”를 충분히 설명 가능한 점을 고려하여 “frontVehicleFlag”를 변수로 선정했다. 이처럼 상관관 계 분석을 통해 총 2개의 데이터셋을 구성했으며, 이는 <Table 5>와 같다.
<Table 5>
Dataset Configuration Informed by Correlation Analysis
| Dataset | Configuration | Remark |
|---|---|---|
| #1 | 16 Variables + yawRateDPs + distanceOfFrontVehicleM | |
| #2 | 16 Variables + steeringAngleDeg + distanceOfFrontVehicleM |
이후, 다중공선성 분석을 수행했다. Variance Inflation Factors(이하 VIF)는 독립변수의 다중공선성 문제를 진단 하기 위해 사용된다. VIF는 특정 독립변수를 나머지 모든 독립변수를 사용해 회귀 분석을 수행했을 때의 결정계 수를 기반으로 아래 식 (1)과 같이 계산된다. VIF가 10 이상일 경우, 다중공선성이 존재한다고 판단하여 제거가 필요하며, 5 이상 10 미만일 경우, 다중공선성이 존재할 가능성이 있다고 판단하여 주의가 필요하다(Kyriazos and Poga, 2023). 다중공선성 분석 결과(<Table 6>), “distanceOfFrontVehicleM”이 VIF 10을 초과하여 제거가 필요 하며, “yawRateDps”와 “frontVehicleFlag”는 5를 초과하여 제거가 고려될 수 있다. 이처럼 다중공선성 분석 결과를 활용하여 4개의 데이터셋을 구축했다(<Table 7>). 데이터셋 #3은 총 20개의 변수 중, VIF가 10을 초과한 “distanceOfFrontVehicleM” 만을 제거하여 구성했다. 데이터셋 #4는 VIF가 10을 초과한 “distanceOfFrontVehicleM” 와 VIF가 5를 초과한 “yawRateDps”를 변수에서 제거하여 18개의 변수로 구성했다. 데이터셋 #5는 데이터셋 #4에서 “yawRateDps”가 아닌 VIF가 5를 초과한 “frontVehicleFlag”를 변수에서 제거하여 18개의 변수로 구생했 다. 데이터셋 #6의 경우, VIF가 5를 초과한 “distanceOfFrontVehicleM”, “yawRateDps”, “frontVehicleFlag”를 모두 제거하여 17개의 변수로 구성했다.
<Table 6>
Results of Multicollinearity Analysis
| Index | Field ID | VIF |
|---|---|---|
| 1 | distanceOfFrontVehicleM | 13.39501 |
| 2 | yawRateDps | 8.135212 |
| 3 | frontVehicleFlag | 7.83437 |
| 4 | steeringAngleDeg | 4.587977 |
| 5 | velocityOfFrontVehicleMps | 4.221175 |
| 6 | xTrafficLightM | 3.491636 |
| 7 | yTrafficLightM | 3.198744 |
| 8 | latAccelerationMps2 | 3.021601 |
| 9 | currentSpeedLimitKph | 3.009178 |
| 10 | brake | 2.185054 |
| 11 | crossWalkFlag | 2.041874 |
| 12 | egoVehicleSpeedMps | 1.735639 |
| 13 | trafficType | 1.699412 |
| 14 | longAccelerationMps2 | 1.622304 |
| 15 | steeringTorgue | 1.233008 |
| 16 | ttcOfFrontVehicleS | 1.182797 |
| 17 | schoolZoneFlag | 1.070682 |
| 18 | roadSlopeLongDeg | 1.049302 |
| 19 | roadSlopeLatDeg | 1.046366 |
| 20 | cutOutOfFrontVehicle | 1.000241 |
<Table 7>
Dataset Configuration Informed by Multicollinearity Analysis
| Dataset | Configuration | Remark |
|---|---|---|
| #3 | 20 Variables - distanceOfFrontVehicleM | |
| #4 | 20 Variables - distanceOfFrontVehicleM -yawRateDps | |
| #5 | 20 Variables - distanceOfFrontVehicleM -frontvehicleFlag | |
| #6 | 20 Variables - distanceOfFrontVehicleM - yawRateDps-frontvehicleFlag |
상관분석과 다중공선성 분석을 수행한 결과, 20개의 변수가 모두 포함된 데이터셋 #0을 포함하여 총 7개 의 데이터셋을 구축했다(<Table 8>). 데이터셋 #1, #2는 상관분석을 통해 구축했으며, 데이터셋 #3, #4, #5, #6 은 다중공선성 분석을 통해 구축되었다.
<Table 8>
Overview of Dataset Construction for LSTM Training
| Index | Variables | Dataset | ||||||
|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | ||
| 1 | egoVehicleSpeedMps | |||||||
| 2 | longAccelerationMps2 | |||||||
| 3 | latAccelerationMps2 | |||||||
| 4 | steeringAngleDeg | |||||||
| 5 | yawRateDps | |||||||
| 6 | brake | |||||||
| 7 | steeringTorgue | |||||||
| 8 | schoolZoneFlag | |||||||
| 9 | crossWalkFlag | |||||||
| 10 | currentSpeedLimitKph | |||||||
| 11 | trafficType | |||||||
| 12 | xTrafficLightM | |||||||
| 13 | yTrafficLightM | |||||||
| 14 | roadSlopeLongDeg | |||||||
| 15 | roadSlopeLatDeg | |||||||
| 16 | frontVehicleFlag | |||||||
| 17 | distanceOfFrontVehicleM | |||||||
| 18 | velocityOfFrontVehicleMps | |||||||
| 19 | cutInOfFrontVehicle | |||||||
| 20 | ttcOfFrontVehicleS | |||||||
| Total | 20 | 18 | 18 | 19 | 18 | 18 | 17 | |
4. LSTM 모델 학습 및 최적화
LSTM은 시계열 데이터를 예측하는 데 특화된 RNN의 한 종류인 딥러닝 알고리즘이다(Hochreiter and Schmidhuber, 1997). 이는 input gate, forget gate, output gate로 구성되어있으며, 과거 정보의 저장 여부를 결정 하는 Forget gate가 존재함에 따라 RNN의 단점이었던 장기 의존성 문제를 해결할 수 있다.
본 연구는 다양한 학습 변수를 조합하여 LSTM 모델의 학습 및 최적화를 수행했다. 상관분석과 다중공선 성 분석을 통해 구축한 7개의 데이터셋을 학습에 활용했으며, window size, optimizer, batch size, LSTM unit 등의 변수를 고려했다(<Table 9>). 또한, 8:1:1의 비율로 train, validation, test data를 구축했으며, validation loss 의 개선이 10회 이상 이루어지지 않으면 학습이 종료되는 early stopping 함수를 적용하여 과적합을 방지했다.
<Table 9>
LSTM Training Variables
| Training variables | Details |
|---|---|
| Dataset | #0. #1, #2, #3, #4, #5, #6 |
| Window size | 10(1 second), 20(2 seconds), 30(3 seconds) |
| Optimizer | Adam, SGD |
| Batch size | 2, 4, 8, 16, 32, 64 |
| LSTM unit | 32, 64, 128 |
Ⅳ. 학습 결과 분석
421개의 LSTM 모델을 학습한 PC의 성능은 아래 <Table 10>과 같으며, 본 연구의 목적인 실시간 이상상태 분류를 위해 정확도와 분류 속도를 성능 지표로 설정했다. 이때, 정확도와 분류 속도는 test data를 입력하여 산출되는 평균값을 적용했다. 전체 모델의 학습 결과는 <Fig. 3>과 같다. 결과의 경향을 파악하기 위해 x축은 정확도, y축은 데이터셋 종류, z축을 분류 속도로 설정하여 3차원 공간에 시각화했으며, window size에 따라 색상과 마커 형태를 달리했다. 분석 결과, 대부분의 모델은 0.8에서 0.95의 정확도를 보였으며, window size가 클수록 높은 정확도를 도출하는 경향이 나타났다. window size가 30인 경우, 0.9 이상의 높은 정확도를 기록 한 경우가 많았으며, window size 10은 0.7에서 0.85 사이의 정확도가 도출되었다. 또한, window size가 클수록 분류 속도가 느려지는 것을 확인했다. window size가 10인 경우, 대부분 0.4초 이하의 빠른 분류 속도를 보였 으며, window size 30의 일부 모델은 0.8초를 초과했다.
<Table 10>
Hardware(PC) specifications for LSTM Training
| Index | Details |
|---|---|
| CPU | Intel Xeon Gold 6230 |
| GPU | RTX A5000 (24GB) |
| RAM | RAM 512GB |
이를 종합하면, 모델 성능에 window size의 영향이 더 큰 것으로 나타났다. 또한, 정확도와 속도 간의 명확 한 상충 관계가 존재함을 확인했으며, 실시간 이상상태 분류를 위해서는 두 지표 간의 균형을 고려해야할 것 으로 판단된다.
이후, 분류 정확도와 분류 속도 성능이 높은 상위 10개의 모델을 선별했다(<Table 11>). 1행에서 10행은 분 류 정확도가 높은 상위 10개의 모델이며, 11행에서 20행은 분류 속도가 높은 상위 10개의 모델이다. 우선, 분 류 정확도가 높은 상위 10개의 모델은 모두 최적화 함수로 Adam을 사용했으며, 데이터셋 #0, #1, #5가 각각 3개인 것으로 나타났다. 또한, 9개 모델의 window size가 30인 것으로 나타났으며, 이들의 분류 속도는 대체 적으로 낮은 것을 확인할 수 있다. 분류 속도가 높은 상위 10개의 모델은 Adam 5개, SGD 5개로 최적화 함수 가 다양하게 활용됐으며, 3개의 모델이 데이터셋 2를 활용한 것으로 나타났다. 또한, 모든 모델의 window size가 10인 것을 확인했으며, 분류 정확도가 90%를 초과하는 모델이 4개가 존재하나(13, 14, 15, 16), 전체적 으로 분류 정확도가 낮은 것을 확인했다.
<Table 11>
LSTM Training Results of the Top 10 Models in Accuracy and Inference Time
| No. | Train variables | Test result | FLOPs (per) | |||||
|---|---|---|---|---|---|---|---|---|
| Dataset | Window size | Optimizer | Batch size | LSTM units | Accuracy (Rank) | Inference time (Rank) | ||
| 1 | #0 | 30 | Adam | 32 | 64 | 97.18%(1) | 0.660(404) | 9,060 |
| 2 | #3 | 30 | Adam | 32 | 128 | 97.16% (2) | 0.466 (324) | 34,468 |
| 3 | #0 | 30 | Adam | 64 | 128 | 97.06% (3) | 0.474 (339) | 34,468 |
| 4 | #5 | 30 | Adam | 32 | 128 | 96.93% (4) | 1.211 (418) | 34,468 |
| 5 | #5 | 30 | Adam | 16 | 64 | 96.91% (5) | 0.442 (282) | 9,060 |
| 6 | #1 | 30 | Adam | 32 | 128 | 96.76% (6) | 0.601 (400) | 34,468 |
| 7 | #1 | 20 | Adam | 16 | 128 | 96.69% (7) | 0.390 (177) | 34,468 |
| 8 | #1 | 30 | Adam | 16 | 64 | 96.69% (7) | 0.438 (273) | 9,060 |
| 9 | #0 | 30 | Adam | 16 | 128 | 96.69% (7) | 0.591 (395) | 34,468 |
| 10 | #5 | 30 | Adam | 64 | 64 | 96.67% (10) | 0.453 (304) | 9,060 |
| 11 | #2 | 10 | SGD | 16 | 64 | 69.77% (418) | 0.279 (1) | 9,060 |
| 12 | #4 | 10 | SGD | 64 | 128 | 75.43% (410) | 0.280 (2) | 34,468 |
| 13 | #5 | 10 | Adam | 32 | 64 | 92.21% (172) | 0.280 (3) | 9,060 |
| 14 | #2 | 10 | Adam | 16 | 128 | 91.00% (212) | 0.280 (4) | 34,468 |
| 15 | #0 | 10 | Adam | 32 | 128 | 92.39% (166) | 0.282 (5) | 34,468 |
| 16 | #3 | 10 | Adam | 16 | 64 | 90.58% (226) | 0.283 (6) | 9,060 |
| 17 | #5 | 10 | Adam | 16 | 128 | 89.40% (254) | 0.284 (7) | 34,468 |
| 18 | #6 | 10 | SGD | 64 | 128 | 80.93% (380) | 0.284 (8) | 34,468 |
| 19 | #4 | 10 | SGD | 32 | 128 | 84.36% (344) | 0.285 (9) | 34,468 |
| 20 | #2 | 10 | SGD | 64 | 128 | 77.38% (404) | 0.285 (10) | 34,468 |
본 연구는 CPU Intel Xeon Gold 6230, GPU RTX A5000 (24GB), RAM 512GB 환경에서 LSTM 모델의 학습 과 검증을 수행하였다. 그러나, 향후 자율주행차 이상상태 분류 장치의 성능은 본 연구에서 활용한 실험장치 와 동일하다고 보장할 수 없다. 이에 따라, 본 연구에서는 하드웨어에 따라 변동될 수 있는 시간(sec) 단위의 분류 속도가 아닌, 하드웨어 의존성을 배제할 수 있는 Floating Point Operations per sample (이하 FLOPs (per)) 지표를 활용하여 최적의 모델을 선정했다.
FLOPs (per)는 모델이 입력 데이터 하나를 처리하는 필요한 부동소수점의 연산 횟수를 측정한 지표로, 하 드웨어 환경과 무관하게 모델의 연산 복잡도를 객관적으로 측정 및 비교할 수 있다는 장점이 있다. FLOPs (per)가 낮을수록, 동일한 입력 데이터를 적은 연산량으로 처리가 가능함을 의미하며, 이는 실시간성과 효율 성 측면에서 우수한 성능을 확보하는 것을 의미한다. FLOPs (per) 도출 결과, 모델 1번, 5번, 8번, 10번, 11번, 13번, 16번이 9,060으로 가장 낮게 산출되었으며, 이들이 다른 모델에 비해 연산량이 적어 실시간 처리 환경 에서 더 높은 속도를 확보할 수 있음을 시사한다. 이에, FLOPs (per)가 9,060으로 도출된 7개의 모델 중, 분류 정확도가 97.18%로 가장 높은 1번 모델을 실시간 자율주행차 이상상태 분류 모델로 최종 선정했다.
<Fig. 4>는 1번 모델의 학습 과정에서 train data와 validation data를 대상으로 손실 값(loss)와 정확도 (accuracy)의 변화를 시각화한 그래프이다. 300회의 학습을 수행했으나, early stopping 함수를 통해 113회에 학 습이 멈추었다. 좌측의 train loss의 경우, 초기에는 급격한 감소를 보이다가 약 20회 이후부터는 완만한 감소 세를 유지하며 점진적으로 0으로 수렴하는 양상을 보인다. Validation loss의 경우, 전체적으로 감소 추세를 보이나, train loss에 비해 불규칙한 진동이 관측되는 것을 확인할 수 있다. 이러한 진동은 과적합 현상으로 해석될 수 있으나, 진동의 크기가 미미하고, 점진적으로 0으로 수렴하고 있는 점에서 과적합은 발생하지 않 은 것으로 판단된다. 우측의 train accuracy와 validation accuracy의 경우, 모두 꾸준하게 증가하고 있으며, 약 15회 이후부터는 90% 이상의 정확도를 유지하고 있다. 특히, train accuracy와 val accuracy 모두 약 96% 내외 의 높은 정확도를 달성함에 따라 높은 일반화 성능을 확보한 것을 확인할 수 있다.
이후, 모델의 이상상태 분류 성능을 정량적으로 평가하기 위해, 학습이 완료된 1번 모델에 test data를 입력 하고, 이상상태 별 precision, recall, f1-score, accuracy를 도출하였다(<Table 12>). Test data 입력 결과, 전체적으 로 약 97%의 높은 정확도를 보였으며, 대부분의 이상상태에서 precision, recall, f1-score가 0.97 내외로 나타났 다. 특히, 라벨 0, 1, 3은 f1-score가 0.98 이상으로 높은 일관성을 보였다. 그러나, 라벨 5의 경우 recall이 0.92 로 가장 낮았고, 이는 다른 이상상태와 유사한 특성을 보여 혼동이 발생했을 가능성을 시사한다. 이를 파악 하기 위해 혼동행렬(confusion matrix)을 분석하여 클래스 간의 오분류 양상을 확인했다.
<Table 12>
Evaluation Metrics of Model 1 on Test Data: Precision, Recall, F1-Score, and Accuracy
| Label | Abnormal use case | Precision | Recall | F1-score | Accuracy |
|---|---|---|---|---|---|
| 0 | Longitudinal Jerking | 0.98 | 0.99 | 0.99 | 0.99 |
| 1 | Zigzag Driving | 0.98 | 0.98 | 0.98 | 0.98 |
| 2 | Lateral Swaying | 0.96 | 0.97 | 0.96 | 0.97 |
| 3 | Sudden Acceleration | 1.00 | 0.98 | 0.99 | 0.98 |
| 4 | No Deceleration During a Turn | 0.94 | 0.96 | 0.95 | 0.96 |
| 5 | Traffic Signal Violation | 0.95 | 0.92 | 0.94 | 0.92 |
| Average | 0.97 | 0.97 | 0.97 | 0.97 | |
<Fig. 5>는 학습이 완료된 1번 모델에 test data를 입력했을 때의 분류 결과를 혼동행렬로 시각화한 것이다. x축(predicted)은 1번 모델이 예측한 결과이고, y축(true) 실제 그 데이터의 정답으로 좌측 상단에서 우측 하단 까지 이어지는 대각선 요소는 정확히 분류된 데이터의 개수를 의미한다. 분석 결과, 대부분의 이상상태를 정 확하게 분류하는 것을 확인했으며, 라벨 0, 1, 3의 경우 다른 이상상태와 대비하여 정확도가 높은 것을 확인 했다. 그러나, 라벨 5(신호위반)의 경우 1,156건 중 87건이 라벨 4(곡선구간 미감속)로 오 분류되었으며, 라벨 4에 해당하는 50건이 라벨 5로 잘못 분류되는 것과 같이 두 클래스 간 상호 혼동이 빈번하게 발생하는 것으 로 나타났다. 이러한 혼동 현상은 두 라벨의 recall이 다른 라벨에 비해 상대적으로 낮게 나타난 주요 원인으 로 파악된다(<Table 12>). 해당 결과는 라벨 4와 라벨 5가 다른 클래스 대비 속도나 가속도의 변화량이 크지 않은 것이 유사한 패턴으로 표현될 가능성이 높기 때문으로 해석된다. 또한, 라벨 2(횡방향으로 휘청)에서 9 건의 데이터가 라벨 0(종방향으로 울컥거림)과 라벨 1(지그재그 주행)로 오 분류 된 것을 볼 수 있다. 라벨 2 와 라벨 0의 경우, 축의 방향이 다르지만 모두 차량의 흔들림이 존재하며, 두 라벨의 가속 및 감속 패턴이 유 사할 가능성으로 인해 혼동이 발생했을 것으로 판단된다. 또한, 라벨 2와 라벨 1의 경우, 두 클래스의 구분이 횡방향의 동요 정도 차이에 기반한 것으로, 속도와 가속도, 브레이크 유무 등의 패턴이 유사하다는 점에서 혼동 가능성이 있을 것으로 판단된다.
이처럼 혼동행렬 분석 결과를 바탕으로, 향후에는 다양한 주행 변수들을 확보할 필요가 있다고 판단된다. 또한, 도로 곡률이나 곡선 반지름, 신호등과 같은 인프라 유무 등과 같은 외부 context 정보를 추가로 활용할 경우, 이상상태 분류 성능을 더욱 향상시킬 수 있을 것으로 판단된다.
Ⅴ. 토 의
본 장에서는 6개 이상상태를 대상으로 LSTM과 Random Forest의 분류 결과를 비교·분석하였다. Random Forest는 대표적인 머신러닝 기법으로 여러 개의 의사결정나무를 활용한 다수결 투표 방식을 통해 예측을 수 행한다. 이는 구현이 간단하고 계산 효율성이 높아 다양한 분야의 분류 및 회귀 문제에서 널리 활용되고 있 으나, 시계열 정보를 처리하는데에 구조적인 한계가 존재한다.
분석 결과(<Table 13>, LSTM은 precision, recall, f1-score, accuracy와 같은 모든 지표에서 Random Forest보다 우수한 성능을 보였다. 특히, 평균 f1-score에서 LSTM은 0.97을 기록하며 Random Forest(0.84) 대비 높은 일관 성을 확보하였다. 이는 LSTM이 시계열적 특성을 파악할 수 있어 차량의 실주행 데이터에서 나타나는 패턴 을 효과적으로 학습했다는 것을 의미한다. 각 이상상태의 결과를 세부적으로 보면, 급가속 상황에서 LSTM 은 precision과 recall이 각각 1.00, 0.98이 도출되어 우수한 성능을 보여주었으며, 이는 동일 상황에서 0.88을 기록한 Random Forest보다 높은 수치이다. 특히, 횡방향으로 휘청 상황은 Random Forest의 모든 지표가 0.8을 넘지 못하는 것에 비해 LSTM은 모두 0.95 이상의 값을 도출하며 명확한 성능의 차이를 보였다.
<Table 13>
Comparison of LSTM and Random Forest for Abnormal Use Case
| Model | Metrics | Average | Abnormal use case | |||||
|---|---|---|---|---|---|---|---|---|
| Longitudinal Jerking | Zigzag Driving | Lateral Swaying | Sudden Acceleration | No Deceleration During a Turn | Traffic Signal Violation | |||
| LSTM | Precision | 0.97 | 0.98 | 0.98 | 0.96 | 1.00 | 0.94 | 0.95 |
| Recall | 0.97 | 0.99 | 0.98 | 0.97 | 0.98 | 0.96 | 0.92 | |
| F1-score | 0.97 | 0.99 | 0.98 | 0.96 | 0.99 | 0.95 | 0.94 | |
| Accuracy | 0.97 | 0.99 | 0.98 | 0.97 | 0.98 | 0.96 | 0.92 | |
| Random Forest | Precision | 0.85 | 0.85 | 0.84 | 0.77 | 0.88 | 0.89 | 0.86 |
| Recall | 0.84 | 0.85 | 0.87 | 0.71 | 0.88 | 0.88 | 0.87 | |
| F1-score | 0.84 | 0.85 | 0.85 | 0.74 | 0.88 | 0.88 | 0.86 | |
| Accuracy | 0.84 | 0.85 | 0.87 | 0.71 | 0.88 | 0.88 | 0.87 | |
이러한 결과는 단일 시점의 특성에 의존하는 Random Forest의 한계를 보여준다. LSTM은 연속된 시계열의 패턴을 파악했으며, 이를 통해 시계열 기반 모델의 필요성을 시사했다. 또한, 자율주행차의 이상상태 탐지는 안전성과 직결되는 상황으로 높은 일관성이 요구된다. Random Forest의 평균 f1-score는 0.84인 것에 반해, LSTM은 0.97을 도출하여 일관성을 확보했다. 그러나, LSTM은 추론 과정에서 계산 복잡도가 크고 데이터의 양에 따라 과적합의 가능성이 존재한다. 향후, LSTM보다 간단한 구조인 GRU 기법을 적용하거나, 추가 데이 터를 확보할 필요가 있다.
Ⅵ. 결 론
자율주행 기술의 발전과 실도로 적용 가능성을 위해서는 실시간으로 자율주행차의 이상상태를 검지하여 안전성을 확보해야 한다. 이에 본 연구는 자율주행차 제어권 전환 보고서를 통해 이상상태를 정의하고, 해당 상황에 대한 실주행 데이터를 기반으로 LSTM 학습을 수행하여 실시간으로 이상상태를 분류하는 시스템을 제안했다.
자율주행차 제어권 전환 보고서 분석을 통해 총 6개의 이상상태(종방향으로 울컥거림, 지그재그 주행, 횡 방향으로 휘청, 급가속, 곡선구간 미감속, 신호위반)을 선정했으며, 해당 상황의 실주행 데이터를 취득했다. 이후, LSTM 모델의 효율성과 정확도를 확보하기 위해 상관분석과 다중공선성 분석을 기반으로 7개의 학습 데이터셋을 구성하고, 다양한 학습 변수 조합에 따른 성능 비교를 수행했다. 정확도뿐 아니라 실시간성을 고 려하여 분류 속도를 성능 지표로 설정했으며, window size가 클수록 정확도가 향상되지만, 분류 속도는 느려 지는 경향이 존재하는 것을 확인했다. 이에, 인간 운전자의 최소 반응 시간을 기준으로 하여 최적의 모델을 선정한 결과, 정확도 96.69%와 분류 속도 0.39초를 도출했다.
본 연구는 실주행 데이터 기반의 자율주행차 이상상태 분류 모델을 제안했으며, 정확도와 실시간성을 확 보한 것에 의의가 있다. 그러나, 다음과 같은 한계가 존재하며 이를 보완하기 위한 향후 연구가 필요하다. 첫 번째로, 본 연구에서 활용된 K-city 실주행 데이터는 도로 형태, 시간대, 기상 조건 등 외부 요인을 통제한 환 경에서 수집되어 실제 도로 환경에서 발생할 수 있는 다양한 상황을 충분히 반영하지 못하였다. 향후에는 다 양한 상황을 고려하여 실주행 데이터를 수집함으로써 모델의 성능을 고도화할 필요가 있다. 두 번쨰로, 본 연구에서 정의한 6개 이상상태 간에는 데이터 불균형이 존재했다. 제안한 모델은 약 96%의 분류 정확도를 도출하여 데이터 불균형으로 인한 성능 저하는 관찰되지 않았으나, 이상상태의 종류가 늘어나고, 모델 고도 화 과정에서는 데이터 불균형이 성능에 영향을 미칠 가능성이 있다. 따라서 향후 연구에서는 SMOTE 등의 기법을 활용하여 안정적인 일반화 성능을 확보할 필요가 있다. 마지막으로, 본 연구에서 제안한 LSTM 모델 은 향후 리빙랩 관제센터에서 활용될 계획이다. 이에 따라, 관제센터로 데이터가 실시간으로 전송되는 과정 에서 통신 지연, 데이터 처리 지연 등과 실시간 환경을 고려할 필요가 있으며, 모델 고도화 과정에서 분류 속도를 향상시켜야 할 필요성이 있다. 이러한 향후 연구를 통해 다양한 이상상태를 분류할 수 있는 LSTM 모델을 구축하여 자율주행 시스템의 안전성을 강화할 수 있을 것으로 기대된다.













