1. 서 론
자율주행 차량 기술은 상용화를 앞두고 있다. 일본은 3레벨 자율주행 차량이 상용화되었고, 미국의 테슬라는 2021년 말에 5레벨 자율주행 기술을 완성하겠다고 밝혔다 [1]. 국제자동차기술자협회 (SAE)에 따르면 자동차 자율주행 기술은 모두 6단계로 구분된다 [2]. 표 1은 6단계의 자율주행 기술을 나타낸다. 표 1에 따르면, 자율주행기술 4단계는 운전자의 개입이 불필요하며, 5단계는 차량에 운전자가 없고, 차량에 탑승한 사람은 모두 탑승객이 되어야 한다. 따라서, 3단계 이후의 자율주행 차량은 완벽한 주행뿐만 아니라, 탑승객의 상태에도 신경 써야 한다는 뜻이다. 이에 따라 자율주행 기술에 관한 연구들은 운전의 정확성뿐만 아니라 탑승객의 안전, 주관적 편안함에 집중하고 있다. 그러나 현재 자율주행 차량은 LiDAR, 전방 카메라 등 시각적 정보에 과하게 의존하고 있다. 차량이 시각적 정보뿐만 아니라 다른 환경 정보를 사용한다면, 완벽한 자율주행이 가능하면서 승객의 안전을 보장할 수 있을 것이다. 본 논문에서는 자율주행 차량의 변수확장과 승객의 안전을 위해 “완전 자율주행을 위한 도로 거칠기 기반 제동 압력 계산 시스템”을 제안한다.
(표 1) 자율주행 기술의 6단계 분류
(Table 1) Six-level classification of autonomous driving technology
제안하는 시스템은 KNN 알고리즘을 기반으로 도로의 거칠기를 8단계로 분류하고, 차량의 주행 상태, 도로 상태에 따라 주행 중 승객의 편안함을 보장하는 최적의 제동 압력을 계산한다. 본 논문의 구성은 다음과 같다. 제2 장에서는 도로를 중심으로 한 해외, 국내의 연구를 살펴본다. 제3장에서는 도로 거칠기를 분류하고 분류된 거칠기에 따라 최적의 제동 압력을 계산하는 제동 압력 계산시스템의 구성에 관해 설명한다. 제4장에서는 실험을 통해 제안한 시스템의 효율성에 대해서 검증한다. 마지막으로 제5장에서는 연구결과의 요약 및 미래의 연구 방향에 대해 제시한다.
2. 관련 연구
2.1 k-nearest neighbor (KNN)
KNN 알고리즘은 훈련 데이터를 기반으로 데이터를 분류하는 분류 알고리즘이다 [3, 4]. KNN 알고리즘은 주로 k-means 군집화 알고리즘과 비교된다. KNN 알고리즘은 k개의 최근접 이웃을 참조하여 자신의 class를 결정한다. 따라서 KNN은 분류의 기준이 되는 학습 데이터가 필요한 지도학습 기반의 분류 모델이다. 반면, K-means 알고리즘은 데이터를 K개의 클러스터로 군집화하는 알고리즘이다 [5, 6]. 본 논문에서는 도로를 8개의 레벨로 분류하기 때문에, K의 개수가 많은 K-means 알고리즘이 아닌 KNN 알고리즘을 사용하여 도로의 거칠기를 분류한다. 다음은 KNN 알고리즘을 기반으로 자율주행 차량에 관한 연구다. KNN을 이용한 교통 혼잡 모니터링 연구는 PWSL (Piecewise Switched Linear Traffic) 모델링 접근 방식과 KF (Kalman Filter)의 장점을 이용하여 교통상황의 혼잡도를 모니터링했다 [7]. 해당 연구는 4차선 고속도로의 교통 체증 탐지를 효율적으로 실행했다.
2.2 road condition
도로의 상태는 완전자율주행을 위해 아주 중요한 문제 중 하나다. 차량의 제동, 승객의 안전을 위해 도로의 상태를 분류하는 연구들이 활발히 진행 중이다. 다음은 도로의 상태를 파악하기 위한 연구들이다. 도로 밝기 측정 연구는 애플리케이션을 통해 차량에 스마트폰을 설치하여 도로를 주행하면서 실시간으로 도로의 정보들을 수집했다 [8]. 카메라 영상을 통하여 주행하고 있는 도로의 차선검출을 통하여 올바른 주행 방향 파악과 사용자 시야에서 전방에 보이는 도로의 밝기를 측정했다. 해당 연구의 애플리케이션은 다른 특수한 장비의 설치 없이 스마트폰으로 도로의 밝기에 대한 정보를 수집했다. 도로 거칠기를 모니터링하기 위한 연구는 자동화된 도로 거칠기 데이터수집 장치를 개발했다 [9]. 해당 연구에서는 차량에 장착된 바퀴에 가속도계를 장착하여 포장도로의 거칠기를 측정했다. 해당 시스템의 손실함수 오류는 10% 이하로, 백분율 오류는 20% 이하로 측정되었다.
3. 본 론
본 논문에서 제안하는 BSCS(Braking Strength Calculation System)는 두 가지 모듈로 구성된다. 첫째, RCDM(Road Condition Definition Module)은 KNN 알고리즘을 기반으로 도로의 상태를 8개로 분류한다. 둘째, BSCM(Braking Strength Calculation Module)은 도로의 상태와 차량의 주행 상태를 이용하여 탑승객이 가장 안전할 수 있는 제동 강도를 계산한다.
3.1 RCDM (Road Condition Definition Module)
본 논문에서 제안하는 RCDM은 KNN 알고리즘을 기반으로 도로의 거칠기를 8단계로 분류한다. RCDM은 4가지 단계를 사용하여 도로의 거칠기를 분류한다.
첫째, 모든 변수를 0~1 사이로 스케일링한 트레이닝데이터 세트를 사용해 KNN 알고리즘을 학습시킨다. KNN은 정확한 분류를 위해 정규화된 입력데이터 세트, 학습을 위한 라벨들, k의 숫자가 결정되어야 한다.
(그림 1) RCDM의 구성
(Figure 1) The Configuration of RCDM
RCDM은 도로에서 나타나는 압력 데이터 중 이상치를 제거하기 위해 z-score 정규화를 이용하여 데이터를 0~1 사이로 스케일링한다. 다만, ”과속방지턱이 존재하는가?” 와 같이 수치로 수집되지 않는 데이터의 경우 one hot encoding을 사용해 부울 변수로 변환한다.표 2는 RCDM 의 입력 변수를 나타낸다. KNN을 위한 k의 수는 k-fold 교차 검증을 통해 결정한다. 수식 1은 z-score 정규화를 나타낸다.
\(x_{i}^{\prime}=\frac{x_{i}-m}{\sigma}\) (1)
(표 2) RCDM의 입력데이터 세트
(Table 2) RCDM's input data set
수식 1에서 xi는 수집된 입력데이터의 원래 값을 의미하고, m은 모든 데이터의 평균값을, σ은 모든 데이터의 표준편차를 의미한다. 표 3은 RCDM이 분류하는 도로의 라벨을 나타낸다. RCDM은 표 3의 값으로 라벨링된 훈련데이터를 사용하여 KNN 모델을 학습시킨다.
(표 3) RCDM의 라벨링 정보
(Table 3) Labeling information in RCDM
둘째, RRCS는 정확한 도로 거칠기 분석을 위하여 서스펜션에 4개의 3축 압력 센서를 설치하여 주행 중 각 바퀴에 적용되는 압력을 계산한다. 셋째, 현재 차량이 주행 중인 도로의 곡률, 도로의 과속방지턱 구간 등을 계산하여 도로의 거칠기와는 관련 없는 압력 데이터를 제거한다. RRCS는 지도에서 제동하는 정보를 바탕으로 주행 중인 도로의 곡률, 과속방지턱 여부를 결정하여 KNN에 적용한다. 넷째, 표 2의 데이터를 입력데이터 세트로 사용하여 도로의 거칠기를 8단계로 분류한다.
3.2 BSCM (Braking Strength Calculation Module)
본 논문에서 제안하는 BSCM은 제동 강도를 계산할 수 있는 딥 러닝 신경망을 설계한다. BSCM은 RCDM에서 분류된 도로의 거칠기와 주변 차량 상태, 목적지까지의 경로를 사용하여 주행에 최적화된 제동 강도를 계산한다. 본 논문에서는 제동 강도 계산을 위해 방향과는 관계없이 오로지 제동의 강도만을 계산하기 때문에, 적은 입력데이터를 사용한다. 입력데이터가 적어짐에 따라 BSCM의 실시간성과 정확성이 보장된다.
표 4는 BSCM에서 사용되는 입력데이터 세트를 나타낸다. 자율주행 중 입력데이터 세트에서 이상치가 발생하기 어렵고, 발생 된 이상 수치는 무시하면 안 되기 때문에 BSCM은 입력데이터를 최대-최소 정규화를 이용해 0~1 사이로 정규화한다. 수식 2는 최대-최소 정규화를 나타낸다.
\(x_{i}^{\prime}=\frac{x_{i}-\min (x)}{\max (x)-\min (x)}\) (2)
(표 4) BSCM의 입력데이터 세트
(Table 4) BSCM's input data set
수식 2에서 min, max는 각 데이터 중 최댓값이 아닌 해당 데이터가 가질 수 있는 최댓값과 최솟값을 의미한다. 표 4의 마찰 계수를 제외한 모든 입력데이터는 최대- 최소 정규화를 통해 정규화된다. 마찰 계수는 Traffic Accident Reconstruction의 상황별 마찰 계수 중 도로 거칠기 분류 모듈에서 분류할 수 있는 마찰 계수만을 사용한다 [10]. 표 5는 BSCM가 사용하는 마찰 계수를 나타낸다.
(표 5) 상황별 마찰 계수
(Table 5) Context-specific friction coefficient
BSCM의 히든 레이어는 7개의 노드를 가진 9개의 레이어로 구성된다. BSCM은 하나의 출력 노드를 사용하여 제동 강도를 결정한다. BSCM의 출력 노드는 0~1 사이의 값을 가지며, 0은 제동이 필요 없는 상태를, 1은 최대로 제동해야 하는 상태를 의미한다. BSCM은 기울기 값이 사라지는 문제를 해결하기 위해 입력 레이어와 7개의히든 레이어 사이의 활성화 함수로 ELU (exponential linear unit)를 사용한다. 수식 3은 ELU 함수를 나타낸다.
\(\begin{aligned} &f(x)=x \text { if } x>0 \\ &f(x)=e^{x}-1 \text { if } x \leq 0 \end{aligned}\) (3)
다음으로 BSCM은 신경망의 출력 결과를 위해 마지막히든 레이어와 출력 레이어 사이의 활성화 함수로 Sigmoid 함수를 사용한다.
Sigmoid 함수는 결과가 0~1 사이로 출력되기 때문에, 결과 해석에 용이하다. 수식 4는 Sigmoid 함수를 나타낸다.
\(f(x)=\frac{1}{1+e^{-x}}\) (4)
입력 레이어부터 출력 레이어까지 ELU와 Sigmoid 함수를 이용하여 출력값이 결정되면, BSCM은 트레이닝 데이터의 세트의 출력 데이터를 통해 신경망을 학습시킨다. BSCM은 손실함수로 RMSE (Root Mean Squared Error) 를 사용한다. 수식 5는 RMSE의 계산 방법을 나타낸다.
\(\operatorname{RMSE}(y, t)=\sqrt{(y-t)^{2}}\) (5)
수식 5에서 y는 신경망의 최종 출력값을, t는 트레이닝 데이터 세트의 출력값을 의미한다. 신경망의 학습이 완료되면, BSCM은 실시간 주행 데이터와 도로 상태 데이터를 통해 제동 강도를 계산한다. 그림 2는 BSCM의 전체적인 구성을 나타낸다.
(그림 2) BSDM의 신경망 모델 구성
(Figure 2) The Neural Network Model Construction of BSDM
4. 실 험
본 논문은 RCDM의 효율성을 검증하기 위해 두 가지실험을 진행했다. 실험은 표 6의 환경에서 진행되었으며, RCDM의 KNN 모델은 TensorFlow를 활용한 파이썬언어로 제작되었다. 본 논문의 실험은 다음과 같다.
(표 6) 가상환경 구축 사양
(Table 6) Virtual Environment Construction Specifications
첫째, RCDM에 적합한 K를 구하기 위하여 본 논문은 K를 1부터 31까지 증가시키면서 RCDM의 에러를 계산한다. 둘째, RCDM의 효율성을 검증하기 위하여 K-means 클러스터링 알고리즘과 RCDM의 도로 분류 정확도가 비교된다. 셋째, 도로의 거칠기가 제동에 영향을 미치는지 증명하기 위해 같은 조건에서 도로 거칠기만 차이가 있을 때, BSDM의 결과가 측정되었다. 먼저, 본 논문은 RCDM에 적합한 K를 찾기 위해 실험을 진행했다. 실험을 위해 210개의 데이터 세트가 사용되었으며, 이 중 30세트를 테스트 데이터 세트로 사용하고, 나머지 180세트를 5-fold 교차 검증하여 실험을 진행했다. 실험 데이터는 가상으로 생성되었으며 210개 중 34개는 L1로 라벨링 된 학습 데이터 세트, 21개는 L2로 라벨링 된, 33개는 L3로라벨링 된, 21개는 L4로 라벨링 된, 35개는 L5로 라벨링 된, 24개는 L6로 라벨링 된, 22개는 L7로 라벨링 된, 20 개는 22개는 L8로 라벨링 된 학습 데이터이며, 각 학습데이터의 feature는 가상 황경에서 도로에 가해지는 압력을 일정 수치로 유지한 주행 정보를 사용했다. 그림 3은 RCDM의 오분류 에러를 나타낸다.
(그림 3) RCDM의 오분류 에러
(Figure 3) misclasification errors of the RCDM
실험 결과, RCDM은 K를 7개로 사용할 때 가장 낮은 에러율을 보였다. 오히려 K의 개수가 11개로 증가하면, 데이터 사이의 간섭으로 인하여 에러율이 증가하는 것이 확인되었다. 따라서 RCDM의 KNN 알고리즘은 7개의 최근접 이웃을 사용하여 도로 상태를 분류하는 것이 가장 적합하다. 다음으로 본 논문은 RCDM의 효율성을 검증하기 위해 지도학습인 RCDM과 비 지도학습인 K-means 군집화 알고리즘을 비교했다. 그림 4는 테스트 데이터 수에 따른 RCDM과 K-means 알고리즘의 정확도를 나타낸다.
(그림 4) RCDM과 k-means 군집화 알고리즘의 정확도
(Figure 4) Accuracy of the RCDM and k-means clustering algorithm
실험 결과, RCDM은 100개에서 150개까지 테스트 데이터 세트가 증가하는 동안 약 80%의 정확도를 유지했으나, k-means 군집화 알고리즘은 실험 데이터가 120개일 때부터 정확도가 하락하여 최종적으로 55.3%의 정확도를 기록했다.
RCDM의 평균 정확도는 81.6%, k-means 알고리즘의 평균 정확도는 70.8%로 측정되었으며, RCDM이 k-means 군집화 알고리즘보다 약 11% 더 정확했다. 데이터가 늘어남에 따라 비지도 학습인 k-means 군집화 알고리즘은 데이터에 오류가 발생했다. 따라서 RCDM은 지도학습을 기반으로 도로 상태를 분류하는 것이 가장 적합하다. 또한, 이전 연구에 제시된 Road Roughness Monitoring System (RRMS)[9] 과 RCDM의 정확도는 표 7과 같다.
(표 7) RRMS[9]와 RCDM의 비교
(Table 7) Comparison between RRMS [9] and
마지막으로 도로의 거칠기가 실제 제동 압력에 영향을 미치는지 확인하기 위하여 BSCM의 입력데이터 중 RCDM에서 분류한 도로 거칠기와 마찰 계수만을 변경하여 제동 압력에 실제 변화 여부가 측정되었다. L1과 L2 상태의 마찰 계수는 0.50, L3~L6의 마찰 계수는 0.42, L7과 L8상태의 마찰 계수는 0.62으로 설정되었다. 표 8 은 3개의 주행 상태에서 거칠기에 따른 BSCM의 결과를 나타낸다. 주행 1은 전방 차량이 감속하는 상황, 주행 2는 조향이 좌측으로 변경되는 상황, 주행 3은 우측으로 차선변경이 이루어지는 상황이다. 실험 결과, 주행 1을 제외하고 도로의 거칠기가 다른 경우 제동 압력에 차이가 발생했으며, 거친 도로일수록 더 낮은 제동 압력이 계산되었다. 즉, 도로가 거칠수록, 낮은 제동 압력으로 주행을 이어갈 수 있으며, 도로의 거칠기가 제동 압력에 영향을 미치나, 전방 차량의 감속은 도로 거칠기와 거의 관계없이 전방 차량의 속도에 따라 제동이 이루어져야 함이 증명되었다.
(표 8) 도로 거칠기에 따른 BSCM의 결과
(Table 8) Results of BSCM according to road
5. 결 론
본 논문에서는 자율주행 차량의 시각적 의존성을 해소하기 위하여 서스펜션의 압력 데이터를 통해 도로의 상태를 분류하고, 도로의 상태에 따라 주행 중 최적의 제동 강도를 계산하는 BSCS (Braking Strength Calculation System)를 제안했다. BSCS는 RCDM을 통해 차량의 서스펜션으로부터 압력 데이터를 수집하고, 그 압력 데이터와 현재 속도, 과속방지턱 여부 등의 데이터를 사용하여 도로 상태를 정확하게 분류했다. 또한, BSCM의 신경망을 통해 차량 주행 중 최적의 제동 강도를 계산했다. 실험 결과 KNN에 필요한 최적의 K를 찾을 수 있었고, RCDM이비지도 학습인 K-means 군집화 알고리즘보다 더 정확함을 증명했다. 향후 시각적 정보가 더 많은 환경 정보와 함께 사용된다면 완전 자율주행 기술을 완성할 수 있을 것이다. 향후 해당 기술을 가상환경에 적용하여 가상 탑승객이 느끼는 편안함을 수치화하여 탑승객의 편안함을 증명할 필요가 있다.
References
- 김용균, "다시 주목받기 시작하는 자율주행차", S&T 혠, Vol 184, 2021. https://now.k2base.re.kr/portal/issue/ovseaIssued/view.do?poliIsueId=ISUE_000000000000977&menuNo=200&pageIndex=1
- SAE, "SAE International Releases Updated Visual Chart for Its "Levels of Driving Automation," Standard for Self-Driving Vehicles", 2018, https://www.sae.org/news/press-room/2018/12/sae-international-releases-updated-visual-chart-for-its-%E2%80%9Clevels-of-driving-automation%E2%80%9D-standard-for-self-driving-vehicles
- Altman, N. S., "An introduction to kernel and nearest-neighbor nonparametric regression," The American Statistician, Vol 46, No3, pp.175-185, 1992. https://doi.org/10.1080/00031305.1992.10475879.
- Y. Yang, "Expert Network : Effective and efficient learning from human decisions in text categorization and retriecal," In 17th Annual International ACM SIGIR Conference on Research and Development in Information Retrieval, 1994
- Steinhaus, H. "Sur la division des corps materiels en parties". Bull. Acad. Polon. Sci., Vol 4, No12, pp. 801-804, 1957.
- MacQueen, J. B. "Some Methods for classification and Analysis of Multivariate Observations," Proceedings of 5th Berkeley Symposium on Mathematical Statistics and Probability. University of California Press. pp. 281-297, 1967.
- Fouzi Harrou, Abdelhafid Zeroual, Ying Sun, "Traffic congestion monitoring using an improved kNN strategy," Measurement, Vol 165, 107534, 2020. https://doi.org/10.1016/j.measurement.2020.107534
- Young-Hwan Choi, Hongrae Kim, & Min Hong, "A Road Luminance Measurement Application based on Android," Journal of Internet Computing and Services, Vol 16, No2, pp. 49-56, 2015. https://doi.org/10.7472/jksii.2015.16.2.49.
- Mohammad Arbabpour Bidgoli, Amir Golroo, Hamid Sheikhzadeh Nadjar, Ali Ghelmani Rashidabad, Mohammad Reza Ganji, "Road roughness measurement using a cost-effective sensor-based monitoring system, " Automation in Construction, Vol 104, pp. 140-152, 2019. https://doi.org/10.1016/j.autcon.2019.04.007