자동차 파워트레인의 소음/진동 데이터를 활용한 AI 기반 진단기술 개발
© The Korean Society for Noise and Vibration Engineering
Abstract
Typically, indexes for diagnosis are developed by extracting the characteristics of noise and vibration data through traditional processing. However, finding an appropriate signal processing method and diagnostic index is difficult and time-consuming. Fortunately, the use of artificial intelligence in analyzing and judging data has increased in recent years, and a lot of research related to this topic has progressed. This study focuses on the development of AI-based diagnostic technology using noise and vibration data measured from an automobile powertrain. The purpose of this technology is to reduce quality cost and improve service efficiency. The first case involves a technology for diagnosing parts that cause abnormal noises in the powertrain, by training artificial intelligence using the collected noise data. The second involves a technology that uses engine vibration data to find cylinders with abnormal injectors in the engine. The deep learning methods used here were RNN and DNN. The developed diagnostic technologies have been applied to the equipment used for mechanics in our service centers. Therefore, they can be used to verify the diagnosis results within seconds when noise or vibration data is input to the equipment.
Keywords:
Deep Learning, Diagnostic Technology, Noise, Vibration키워드:
딥러닝, 진단 기술, 소음, 진동1. 서 론
인공지능은 5세대 이동 통신, 사물 인터넷, 빅데이터 등의 기술과 융복합하여 다양한 분야에서 널리 응용되고 있다. 의료 분야에서는 암 병변의 조기 발견, 게놈 의료의 실현을 위한 암 유전자 분석 및 수술실이나 병상의 관리 등 의료의 효율성을 높이려는 다양한 시도가 추진되고 있다. 또한, 자동차 분야에서는 축적된 주행 데이터와 딥러닝(deep learning) 알고리즘을 통해 자율 주행 기술 개발에 주력하고 있고, 로봇 분야에서는 인구 고령화에 대응하기 위해 노동을 지원하거나 신체가 불편한 노인의 움직임을 도와줄 수 있는 휴머노이드 로봇(humanoid robot) 개발에 노력을 기울이고 있다. 이러한 인공지능은 자동차 소음진동 현상을 진단하는 데 활용될 수 있다. 현재까지 대부분의 경우 전통적인 신호처리를 통해 소음과 진동 데이터가 가지고 있는 특징을 추출해 진단을 위한 인덱스(index)를 개발한다. 하지만, 적절한 신호처리 방법과 진단 인덱스를 찾아내는 것은 쉽지 않고 오랜 시간이 소요된다. 다행히 최근에 데이터를 분석하고 판단하는데 인공지능의 활용도가 높아짐에 따라 이와 관련한 연구가 많이 진행되고 있다(1~5). 이 논문은 자동차 파워트레인에서 측정한 소음과 진동 데이터를 활용한 인공지능 기반 진단기술 개발 내용이다. 개발 목적은 품질 비용 절감과 서비스의 업무 효율을 향상하기 위함이다. 첫 번째 사례는 수집된 소음 데이터로 인공지능을 학습시켜 파워트레인에서 이상소음을 야기하는 부품을 진단하는 기술이다. 두 번째는 엔진 진동 데이터를 활용하여 엔진에서 비정상 인젝터가 장착된 실린더(cylinder)를 찾아내는 기술이다. 여기에 사용된 딥러닝은 RNN(recurrent neural network)(6,7), DNN(deep neural network)이다. 개발된 진단기술은 최종적으로 서비스 부문에서 사용 중인 장비에 적용되었다.
2. 소음 데이터 활용 진단기술 개발
2.1 학습 데이터 수집 및 선별
이 연구의 목적은 Fig. 1과 같은 과정을 통해 엔진, 변속기 및 구동 시스템에서 이상소음이 발생할 경우 어떤 부품과 관련이 있는지 진단하는 것이다. 이를 위해, 차량을 4종류(가솔린/디젤/가솔린 하이브리드 차량 및 전기 차량)로 구분하고 차량 상태 및 시험실에서 51개 유형의 이상소음을 다양한 운전조건에서 수집하였다. Table 1은 가솔린 차량에서 수집된 소음 유형 개수를 보여주고 있다.
수집된 데이터에는 딥러닝 학습에 사용할 이상소음뿐만 아니라 사람 목소리, 공구 소리 및 잡음 같은 소음들이 포함되어 있을 수 있었다. 따라서 모든 데이터를 전수 조사하여 녹음된 시간 중 학습에 사용 가능한 구간만 선택하였다.
그다음 과정은 데이터 수집 시 제공받은 정보와 분석 결과가 일치하는지 Fig. 2와 같이 시간 및 주파수 기반 분석으로 확인하고 최종적으로 학습 모델에 사용하게 될 데이터를 선별하였다. Fig. 3은 가솔린 엔진 데이터를 나타낸 것이다. 그림에서 14번 소음 유형은 피스톤 소음으로 14-1 ~ 14-4는 피스톤 소음의 세부 유형이다. 예를 들면, 14-1은 오일링 소음, 14-2는 마찰음, 14-3은 슬랩음이고 14-4는 핀 타음이다. 총 데이터의 개수는 2000이고, 평균값은 50, 중앙값은 50.5이다. 또한, 최대값은 100이고 최소값은 16이다. 상대적으로 부족한 데이터에 의해 발생할 수 오버피팅(overfitting)을 방지하기 위하여 오버 샘플링(oversampling), weighted random sampler 기법들을 이용하여 데이터 불균형을 해소하였다.
2.2 데이터 전처리 및 특징 추출
선별된 데이터들은 측정 상황에 따라 샘플링 주파수가 11 250 Hz ~ 51 200 Hz로 다양하고, 시간 길이도 0.8초 ~ 3분으로 제각각 달랐다. 진단모델의 학습 오류를 줄이기 위해 다양한 샘플링 주파수를 32 kHz로 Re-sampling하여 통일시켰다. 그리고 다양한 시간 길이를 가진 데이터에서 특징을 추출하기 위해 1개의 데이터마다 일정한 시간 단위로 여러 개의 세그먼트(segment)로 나누고, 1개의 세그먼트는 9개의 프레임(frame)으로 분할했다. 각 프레임에 FFT(fast Fourier transform) 처리를 하였다. 이때 신호의 불연속으로 인한 왜곡을 최소화하기 위해 hamming window를 적용하였다. FFT 처리 후 생성된 주파수 별 크기에 Log-mel filter bank를 적용하여 저주파 대역부터 고주파 대역까지의 특징을 고려하였다. M (mel frequency)과 f (frequency)의 관계는 식 (1)과 같고, Fig. 4와 같은 filter 형상을 사용하였다(8).
(1) |
그리고 선별된 데이터는 평가 목적에 따라 근접 소음, 1 m 소음 등 측정 위치가 다양해 소음 레벨 차이가 발생할 수 있으므로 학습을 위해 소음은 각 Log-mel filter bank의 평균값과 표준편차를 계산하여 정규분포로 표준화(standardization)하였다. 또한, 데이터에 포함되어 있는 엔진 회전수는 Min-Max 정규화(normalization)를 적용하여 0 ~ 1의 값으로 변환하였다.
2.3 진단모델 구축 및 적용
학습에 사용되는 데이터들은 아이들, 정속 주행 및 가속 주행의 다양한 조건에서 측정되었다. 따라서 진단모델은 Fig. 5에 표시된 RNN의 GRU(gated recurrent unit) 구조를 기본으로 하였다. 시계열(time series) 데이터의 현재 정보가 이전 정보와 밀접한 연관성이 있는 경우 RNN이 좋은 성능을 발휘하기 때문에 이 연구에 사용한 비정형적인 소음 데이터에 적용하는 것이 효과적이라고 판단했다.
GRU는 LSTM(long short-term memory) 대비 2개의 게이트(update / reset)만 존재하여 계산량이 적으면서 LSTM과 동등한 성능을 발휘한다. 하지만, GRU는 시간의 흐름에 따른 중요 정보만 강조하기 때문에 시간의 순서와 이상소음 발생 시점이 맞지 않는 경우에 보완이 필요하다.
(2) |
이를 위해, 우리는 식 (2)와 같은 Attention mechanism을 적용했다. 여기서 h(t), ωatt(t), ωattnorm(t)는 각각 RNN의 hidden state, attention weights 및 T시간 간격 별 normalized attention weights이다. Oatt는 attention mechanism의 최종 출력이다. 따라서 식 (2)를 통해 Fig. 6과 같이 시간의 순서와 관계없이 이상소음이 발생하는 구간의 정보를 강조할 수 있다. Attention mechanism의 출력인 Oatt는 학습의 다음 단계인 DNN의 입력 신호가 되었다.
DNN의 활성화 함수(activation function)는 비선형 함수인 ReLU(rectified linear unit)를 사용하였고, 신경망이 훈련 데이터에만 지나치게 최적화되어 그 외의 데이터에는 제대로 대응하지 못하는 오버피팅을 억제하기 위해 Fig. 7과 같은 드롭아웃(dropout) 기법을 적용하였다(9). 드롭아웃은 학습 때 은닉층(hidden layer)의 노드(node)를 무작위로 골라 삭제하면서 학습하는 방법이다. DNN의 결과는 이상소음 분류 유형으로 설정한 원-핫 벡터(one-hot vector)로 출력되며, 소프트맥스(softmax)에 의해 확률값으로 변환되어 인공지능에 알려준 목표값과 비교하여 에러(error)가 얼마인지 계산한다. 이때 사용된 손실함수(loss function)는 식 (3)과 같이 표현되는 크로스 엔트로피(cross entropy)이다.
(3) |
여기서 ω는 가중치(weight), N은 배치 사이즈(batch size), tn은 목표값, yn은 출력값이다. 신경망 학습의 목적은 손실함수의 값을 가능한 낮추는 모델 파라미터의 값을 찾는 것이다.
이를 위해, 학습 옵티마이저(optimizer)는 adam(adaptive moment estimation)을 사용하였다. 이것은 최적해를 향해 진행하는 속도에 관성을 주는 모멘텀(momentum)과 손실함수의 경사 변화에 따라 적응적으로 학습률(learning rate)을 조정하는 AdaGrad(adaptive gradient) 알고리즘을 융합한 것이다. Fig. 8은 이 연구에서 학습을 위해 구축한 딥러닝 구조를 간략히 나타낸 것이다. 개발된 진단모델은 서비스 장비에 적용하기로 했다. 이때 최우선적으로 고려해야 할 것은 서비스 장비로 소음을 녹음하여 진단모델에 입력할 경우였다.
학습에 사용한 데이터는 개발용 고감도 마이크로폰으로 측정된 것으로 서비스 장비에 내장된 마이크로폰의 감도가 상대적으로 불리했다. 이를 보완하기 위해, 주요 서비스 장비의 내장 마이크로폰으로 학습 데이터를 모두 녹음하여 9200개의 데이터에 대한 학습을 다시 진행하였다. 데이터 중 80 %는 훈련 데이터로 사용되었고, 20 %는 최종 진단모델의 성능을 평가 위한 테스트 데이터로 사용되었다. Fig. 9에 나타나 있는 성능 검증 결과를 보면, 손실함수에서 계산한 손실 값은 에폭(epoch) 초반에 급격하게 감소하다가 약 20 에폭 이후부터 안정화 유지 후 증가하는 경향이 있었다. 진단모델은 가장 낮은 손실 값을 가지는 모델로 선정하여 파라미터값을 최종 업데이트하였다.
서비스 장비에 개발된 진단모델을 적용하기 전에 어느 정도의 정확도를 가지고 있는지 확인하기 위하여 별도로 준비된 평가 데이터 9개로 개발 엔지니어에게 청음 평가, 진단모델에게는 진단을 동시에 실시하였다. 그 결과를 보면, Fig. 10과 같이 진단모델이 87.6 %의 정확도를 보였다. 청음에 의존하는 서비스 인원에게 큰 도움이 될 수 있다는 것을 확인할 수 있었다.
Fig. 11은 가솔린 차량에서 발생한 소음 데이터 1개를 장비에 입력시켜 진단한 사례이다. 그림을 보면입력 데이터의 원인으로 진단되는 부품이 Top 1 ~ Top 3로 구분되고, 각각에 대해 확률값이 표시되어 있다. 서비스 담당자가 확률이 높은 부품을 먼저 조사함으로써 빠른 수리가 가능해졌다.
3. 진동 데이터 활용 진단기술 개발
3.1 학습 데이터 수집 및 진동 측정 위치 선정
이 연구의 목적은 엔진 진동 데이터로 실린더 4번 ~ 6번 중 어느 실린더에 이상소음을 유발하는 비정상 인젝터(injector)가 장착되어 있는지를 찾아내는 것이다. 여기서 이상소음은 인젝터 내부의 특정부품 마모로 인한 진동에 의해 발생하였다. 진동 평가는 냉각수온 70 ℃이상, 500 r/min의 온간 아이들 조건에서 실시하였고, Fig. 12와 같이 엔진 시험실에 장착된 엔진의 인젝터 부근 헤드(head) 벽면에 3축 가속도계 4개를 부착하였다.
먼저 검토해야 할 내용은 진단모델을 서비스 장비에 적용하기 위해서 진동 측정을 위한 가속도계가 몇 개 필요하며, 어느 위치에 설치해야 정상 인젝터와 비정상 인젝터를 잘 검출할 수 있는지를 알아내는 것이었다.
이를 위해, Fig. 13과 같은 진동 특성에 대한 신호 분석을 통해 Fig. 12에 표시된 헤드 Cyl5 위치에 Z방향 단축 가속도계 1개를 부착하면 가장 좋은 결과를 얻을 수 있다는 것을 확인했다. 학습용 진동 데이터는 Table 2과 같은 조합으로 시험을 진행하여 11 360개를 수집하였다. 데이터 중 70 %는 훈련 데이터로 사용되었고, 30 %는 최종 진단모델의 성능 평가를 위한 테스트 데이터로 사용되었다.
3.2 데이터 전처리 및 특징 추출
학습용 데이터의 전처리를 위해, 수집된 진동 데이터를 Fig. 14와 같이 각 실린더가 진동을 발생시키는 순서(실린더 1번→5번→3번→6번→2번→4번)의 시간 간격으로 세그먼트를 구분하였다. 온간 아이들인 500 r/min의 경우 1개의 세그먼트는 0.04초이며 1개의 사이클(cycle)은 0.24초가 된다. 각 세그먼트가 몇 번 실린더인지를 구분하기 위하여 진동과 함께 측정된 CMPS (cam position sensor) 신호를 활용하였다.
실린더 별로 구분된 세그먼트 데이터를 Fig. 15와 같이 특정 주파수 대역에 대해 BPF(band-pass filter)를 통과시킨 후에 딥러닝의 입력값으로 사용할 특징벡터를 추출하였다. 딥러닝에서 추출하지 않고 별도의 방법을 사용한 것은 시험을 통해 비정상 인젝터가 장착될 때의 대략적인 주파수 범위를 알 수 있었기 때문에 개발 시간을 줄이기 위해서였다.
또한, 서비스 장비의 한계로 인해 적용되는 진단모델의 사이즈를 최소화할 필요가 있어 주파수 분석 방법보다는 RMS(root mean square), variance, max, peak to peak, kurtosis의 시간 분석 방법을 활용하였다. RMS의 경우 진동의 평균 세기이고 peak to peak는 진폭의 최대값으로 순간적으로 변화하는 신호의 특징을 잘 나타낸다. Kurtosis는 데이터의 분포가 정규분포보다 얼마나 뾰족하거나 완만한지의 정도를 나타내는 척도이다.
3.3 진단모델 구축 및 적용
클래스 간 특징벡터의 분포가 비교적 뚜렷하게 나타났기 때문에, convolution 등 추가적인 비선형적 특징 추출 요소들을 사용하기 보다는 Fig. 16과 같이 DNN 구조를 기본으로 진단모델을 구성하였다. 3개의 은닉층, 각 은닉층의 노드는 512개 및 은닉층의 활성화 함수로 ReLU를 사용하였다.
또한, 서로 다른 실린더에서 이상소음이 동시에 발생하는 경우도 진단 가능하게 모델을 학습하기 위하여 출력층의 활성화 함수로는 시그모이드(sigmoid)를 사용하고, 판단 기준값(threshold)을 설정하여 최종 출력을 결정하였다. 진단모델 학습 시에 활성화 함수의 출력인 활성화 값이 균일하게 분포되도록 배치 정규화(batch normalization)를 신경망에 삽입하였다. 추가적으로, 오버피팅을 억제하기 위하여 드롭아웃을 사용하였으며, 손실함수로 크로스 엔트로피, 학습 옵티마이저는 adam을 사용하였다. 개발된 진단모델은 Fig. 17에 표시된 서비스 장비에 적용했다. 추가로 필요한 USB 형태의 ICP(integrated circuit piezoelectric) 장비는 2채널로 구성되어 1채널은 진동을 측정하고 다른 1채널은 CMPS 신호를 측정하여 서비스 장비로 데이터를 전달한다.
최종적으로 개발된 진단모델의 성능을 서비스에 입고된 6대의 품질 문제 차량에서 검증하였다. Table 3은 그 결과를 나타낸 것으로, 3개의 실린더에 장착된 인젝터의 상태를 장비로 진단한 내용과 실제 인젝터를 분해하여 마모량을 측정하여 이상여부를 확인한 결과가 일치함을 알 수 있다.
검증 차량 대수가 적었지만 품질 문제에 빠르게 대응하기 위해서 서비스에 바로 적용되었다. 보완 대책으로 서비스 데이터 서버에 저장되는 차량 평가 진동 데이터와 작성한 정비 이력을 통한 인젝터 상태 결과를 확보하여 지속적으로 진단모델을 업데이트를 할 수 있도록 서비스 부문과 프로세스를 구축하였다.
4. 결 론
자동차 파워트레인 소음진동 분야의 2가지 사례에 대해 딥러닝 기반 진단기술 개발을 진행하였다. 첫번째 사례는 소음 데이터를 수집하여 파워트레인에서 이상소음을 야기하는 부품을 진단하는 기술이다. 진단모델은 RNN-GRU, Attention mechanism 및 DNN으로 구성되었다. 서비스 장비에 이상소음과 관련이 높은 부품을 확률로 표시하여 서비스 담당자가 그 부품부터 먼저 조사함으로써 업무 효율이 향상되고 고객 서비스 대응 시간 단축이 가능해졌다. 두번째는 엔진 헤드에서 측정한 진동 데이터 및 CMPS 신호로 엔진 실린더 3개, 각각에 장착된 인젝터가 정상 혹은 비정상인지를 진단하는 기술이다. 진단모델은 DNN을 기본으로 구성되었다. 6대의 품질 문제 차량에서 진단모델 성능을 검증한 후 서비스에 적용되었다. 개발된 AI 기반 진단기술은 높은 정확도를 보이며 그동안 진단할 수 없었던 자동차 분야의 문제들에 대한 대안이 될 수 있음을 알 수 있다. 더 나아가 파워트레인 부품의 상태 모니터링, 진단 및 미래 상태를 예측할 수 있는 예측 정비(predictive maintenance) 기술로 확대 개발할 예정이다.
References
- Kim, H. S., Chung, J. H. and Baek, W. K., 2021, A Study on a Motor Noise Diagnosis Method Using Voice Recognition and Machine Learning Techniques, Transactions of the Korean Society for Noise and Vibration Engineering, Vol. 31, No. 1, pp. 40~46. [https://doi.org/10.5050/KSNVE.2021.31.1.040]
- Kim, S.-W., An, K., Back, J., Lee, S.-K., Lee, C. and Kim, P., 2021, Health Monitoring of Power Driving System Using Sound Signal based on Deep Learning, Transactions of the Korean Society for Noise and Vibration Engineering, Vol. 31, No. 1, pp. 47~56. [https://doi.org/10.5050/KSNVE.2021.31.1.047]
- Mandal, A., Arvanitis, A., Chen, S. K., Chien, L.-C., Srinivasan, V. and Younkins, M., 2019, Vibration Rating Prediction Using Machine Learning in a Dynamic Skip Fire Engine, SAE International Journal of Advances and Current Practices in Mobility, Vol. 1, No. 4, pp. 1491~1501. [https://doi.org/10.4271/2019-01-1054]
- Janssens, O., Slavkovikj, V., Vervisch, B., Stockman, K., Loccufier, M., Verstockt, S., Van de Walle, R. and Van Hoecke, S., 2016, Convolutonal Neural Network Based Fault Detection for Rotating Machinery, Journal of Sound and Vibration, Vol. 377, pp. 331~345. [https://doi.org/10.1016/j.jsv.2016.05.027]
- Lu, C., Wang, Z. and Zhou, B., 2017, Intelligent Fault Diagnosis of Rolling Bearing Using Hierarchical Convolutional Network Based Health State Classification, Advanced Engineering Informatics, Vol. 32, pp. 139~151. [https://doi.org/10.1016/j.aei.2017.02.005]
- Sun, L., Jun, D., Dai, L. D. and Lee, C. H., 2017, Multiple-target Deep Learning for LSTM-RNN Based Speech Enhancement, 2017 Hands-Free Speech Communications and Microphone Arrays (HSCMA). [https://doi.org/10.1109/HSCMA.2017.7895577]
- Kumar, S., Hussain, L., Banarjee, S. and Reza, M., 2018, Energy Load Forecasting Using Deep Learning Approach – LSTM and GRU in Spark Cluster, 2018 Fifth International Conference on Emerging Application of Information Technology (EAIT). [https://doi.org/10.1109/EAIT.2018.8470406]
- Combrinck, H. P. and Botha, E. C., 1996, On the Mel-scaled Cepstrum, Dept. of Electrical and Electronic Engineering, University of Pretoria, Pretoria.
- Srivastava, N., Hinton, G., Krizhevsky, A., Sutskever, I. and Salakhutdinov, R., 2014, Dropout: A Simple Way to Prevent Neural Networks from Overfitting, The Journal of Machine Learning Research, Vol. 15, No. 1, pp. 1929~1958.
Insoo Jung received his B.S. and M.S. degrees in mechanical engineering from Pusan National University in 1988 and 1993. Since 1993 he has been working for Hyundai Motor Company. He became a research fellow in 2015. He is working on sound quality control, powertrain NVH control and AI-based condition diagnosis of powertrain components.