음성인식 및 머신러닝 기술을 적용한 모터 소음 진단법에 대한 연구
‡ Recommended by Editor Won Ju Jeon
© The Korean Society for Noise and Vibration Engineering
Abstract
Motor noise is one of the important quality factors for motor performance. Generally, in a motor production line, motor noise is inspected by a skilled worker. Because motor noise can be caused by a variety of sources or combinations thereof, it is difficult to isolate each specific noise source. An objective/automatic noise-source detection method would be helpful for motor manufacturers. This study introduces a noise-diagnosis method using a sound recognition technique and machine learning methods. First, the raw noise data are filtered through a spectral noise-gate algorithm to reduce the background noise. Then, mel-frequency cepstral coefficient features, which are widely used in the speech-recognition technique, are extracted from the noise data. Finally, a noise-classification model is developed using a support vector machine technique for motor data whose noise sources are known. This model can be used to identify malfunctional motor noises and their sources. Finally, this method was validated by comparing its results with those of frequency analysis from the motor production line.
Keywords:
Noise Diagnosis, MFCC, Machine Learning, Support Vector Machine, Spectral Noise Gate키워드:
소음 진단, 멜 주파수 캡스트럼 계수, 머신러닝, 서포트 벡터 머신, 스펙트럼 노이즈 게이트1. 서 론
모터의 소음은 중요한 품질관리 요소 중 하나이며 생산라인에는 관련 숙련공이 조립된 모터의 구동 소음을 검사하는 공정이 포함되어 있다. 모터의 소음은 여러 소음원에 의해 복합적으로 발생하며, 기존의 소음 검사 공정은 검사자의 경험, 피로도, 집중력 등의 주관적 요인이 개입될 수 있다. 따라서 모터 소음검사 공정의 정확도와 신뢰성을 확보하기 위해 객관적이고 자동화된 불량 검출 및 소음원 진단 방법의 도입이 필요하다.
인공지능의 한 분야인 머신러닝은 데이터를 기반으로 패턴을 찾아내어 새로운 데이터를 학습된 범위 내에서 예측 및 처리하는 기법으로, 사람의 반복적인 개입을 최소화하고 객관적인 의사 결정 자료를 획득할 수 있는 장점이 있다. 특히, 최근에는 이를 실제 산업 현장에 적용하기 위하여 기계 및 전기 시스템을 구동했을 때 발생하는 진동 및 소음 신호나 충격을 가했을 때 발생하는 신호를 사용하여 고장 진단 및 불량 검출 등을 수행하는 연구가 진행되고 있다(1~3).
MFCC(mel-frequency cepstrum coefficients)는 사람의 청각이 음향을 인식하는 과정에 착안하여 음향의 특징 추출을 위해 사용하는 방법으로 음성인식 분야에서 많이 활용되고 있다. 최근에는 음성인식 분야뿐만 아니라 생체 신호 처리, 전기부하 신호판별 등의 분야에서도 이를 적용하는 연구들이 등장하고 있다(4~6).
이 논문에서는 소음 데이터를 기반으로 MFCC 특징 데이터 추출기법과 머신러닝기법을 적용하여 기어모터의 소음검사 공정에서 불량품 판정과 소음원 진단이 가능한 방법을 제안하였다. 또한 이 결과를 실제 기어모터의 소음 데이터에 적용하여 실험적 주파수 분석을 통해 검증하였다.
2. 음성인식 및 머신러닝을 적용한 모터 소음 진단 방법
이 연구에서 제안하는 소음원 진단 방법은 Fig. 1과 같으며 ‘전처리’, ‘특징추출’, ‘소음 진단’의 3단계로 수행된다. ‘전처리’ 단계는 데이터에 포함된 배경소음을 제거하는 단계로 스펙트럼 노이즈 게이트 알고리듬을 사용한다. ‘특징추출’ 단계는 소음 진단을 위한 데이터의 특징을 추출한다. ‘소음 진단’ 단계는 추출한 특징을 사용하여 불량 판정 및 소음원 진단을 수행한다.
2.1 전처리 및 특징 추출
오디오 데이터를 사용할 경우, 주변 환경에서 발생하는 배경소음으로 인해 결과 및 모델의 성능에 영향을 미칠 수 있다.
이를 해결하기 위한 전처리 방법으로 스펙트럼 노이즈 게이트(spectral noise gate) 알고리듬을 사용한다. 스펙트럼 노이즈 게이트 알고리듬은 데이터에 포함된 배경소음을 제거하기 위한 전처리 방법이다. 이 방법은 실제 자연 환경에서 새 소리를 판별하는 목적으로 측정한 오디오 데이터의 배경소음 제거에 활용된 바 있다(7,8).
스펙트럼 노이즈 게이트 알고리듬은 Fig. 2와 같이 노이즈 프로파일 구축 단계와 배경소음 제거 단계로 이루어져있다.
① 노이즈 프로파일 구축 단계
배경소음 신호를 짧은 시간 간격의 프레임 단위로 분할하고 분할된 각 프레임에 대하여 주파수 스펙트럼을 계산하는 국소 푸리에 변환(short time fourier transform, STFT)을 수행한다. 국소 푸리에 변환을 통해 계산된 각 프레임에 대한 주파수 스펙트럼의 임계값을 통계학의 3시그마 규칙을 활용한 식 (1)을 사용하여 계산하고 이를 노이즈 프로파일로 사용한다.
(1) |
식 (1)에서 μ와 σ는 국소 푸리에 변환을 통해 계산된 각 프레임에 대한 주파수 스펙트럼의 크기에 대한 평균과 표준편차이다.
② 배경소음 제거 단계
노이즈 프로파일 구축단계와 동일하게 국소 푸리에 변환을 수행한다. 국소푸리에 변환을 통해 계산된 각 프레임에 대한 주파수 스펙트럼에 대하여 노이즈 프로파일보다 작은 주파수 성분을 제거한다. 이러한 과정을 거친 신호에는 가우시안 분포 형태의 노이즈가 포함된다. 이를 제거하기 위하여 가우시안 스무딩 필터를 사용한다(9).
이 논문에서 소음 진단을 위해 적용한 특징 추출 방법은 Fig. 3과 같다.
① MFCC 특징 추출
측정한 소음 데이터에 대한 MFCC 특징을 Fig. 4의 순서를 따라 추출한다. 우선 입력된 신호를 짧은 시간 간격 단위의 프레임으로 분할하고 윈도우 함수를 사용하여 분할된 각 프레임 간의 불연속 지점에서 발생할 수 있는 신호의 비주기성과 스펙트럼의 누출을 최소화한다. 그리고 분할된 각 프레임에 대한 주파수 특성을 계산하기 위해 FFT(fast fourier transform) 변환을 적용한다. 이어서 사람의 청각에서 소리를 해석하는 방식을 반영하기 위하여 멜 필터뱅크(mel-filter bank)를 적용하고 진폭을 로그 스케일로 변환한다. 마지막으로 이산 코사인 변환(discrete cosine transform, DCT)을 사용하여 MFCC 계수를 추출한다. 이 때, 경험적으로 0 ~ 13차수의 MFCC 계수를 활용했을 때 가장 성능이 우수하다고 알려져 있기 때문에 0 ~ 13차수의 MFCC 계수를 소음 진단 모델의 입력 데이터로 활용한다(10,11).
② 스케일링 및 데이터 병합
기어모터의 소음원 및 기어의 구동방향 등에 따라 특징 데이터 값의 범위가 다르기 때문에 이를 그대로 사용할 경우 머신러닝 모델의 학습 속도 및 성능이 저하될 수 있다. 이를 위해 계수 값의 범위를 0~1 사이가 되도록 일치시키는 스케일링(scaling) 과정을 적용한다. 또한 모터의 구동 방향에 따른 모터 소음의 특성이 다르기 때문에 각 구동 방향에 대한 특징 데이터를 하나로 병합하여 소음 진단 모델의 입력 데이터로 사용한다.
2.2 머신러닝을 사용한 소음 진단
제안하는 소음 진단 방법은 전처리 및 특징 추출 단계를 거친 데이터를 입력으로 받으며 Fig. 5와 같이 불량 판정 단계와 불량 판정을 받은 데이터에 대한 소음원 진단 단계로 진행된다. 소음 진단을 위한 각 단계는 그에 해당하는 학습이 완료된 머신러닝 모델을 사용한다.
소음 불량 판정 모델은 입력된 데이터를 입력으로 받아 합격 또는 불량품으로 구분한다. 소음원 진단 모델은 소음 불량 판정 모델에서 불량 판정을 받은 데이터를 입력으로 받아 학습된 범위 내에서 소음원을 진단하여 결과로 출력한다.
3. 기어모터에 대한 소음 진단 방법 적용
3.1 소음 데이터 획득
소음 데이터 획득을 위한 모터 샘플을 제작하기 위하여 대상으로 선정한 기어모터의 구조 및 소음원을 파악하였다. 대상으로 선정한 기어모터는 Fig. 6과 같이 영구자석을 사용한 DC모터의 회전자에 2 쌍의 웜기어가 연결된 구조이다. 이러한 기어모터의 소음은 영구자석을 사용한 DC모터의 소음원과 기어치차의 가공, 기어축의 배열, 모터관성축의 편심, 윤활상태 등에 의해 복합적으로 발생하게 된다.
이 연구에서는 DC모터의 주된 소음원인 브러쉬와 정류자 표면의 동적 상호작용으로 인해 발생하는 브러쉬 소음, 각 웜기어 쌍에 대한 표면 윤활 처리, 기어 하우징 캡의 조립, 기어의 축간거리 불량 등의 소음원을 가지는 각각의 모터 샘플 세트를 제작하였다. 각 샘플을 제작할 때는 특정한 소음원만 가지도록 하고 기타 기어모터의 내부 부품 가공 및 조립 등은 합격품의 수준을 만족하도록 제작하였다.
데이터 수집을 위한 소음 측정은 외부 소음이 차단된 무향실에서 진행하였다. 제작한 모터 샘플을 사용하여 무부하 상태에서 정회전, 역회전으로 구동할 때 발생하는 소음을 1.5초 간 측정하였다. 또한 모터를 구동하지 않은 상태에서 무향실 내부의 소음 측정 장치, 전원공급 장치 등에서 발생하는 배경소음을 측정하여 배경소음 제거를 위한 스펙트럼 노이즈 게이트의 노이즈 프로파일 구축에 활용하였다.
3.2 전처리 및 특징 추출
측정한 모터 소음 데이터에는 사용하고자 하는 모터 소음을 포함하여 무향실 내부의 소음 측정 장치, 전원공급 장치 등에서 발생하는 배경소음이 포함되어 있다. 배경소음은 측정 환경에 따라 그 특성이 다를 수 있으며 소음 진단 과정에서 배경소음으로 인한 영향을 최소화하기 위해 스펙트럼 노이즈 게이트 알고리듬을 적용하였다.
측정한 배경소음 데이터를 활용하여 Fig. 7과 같이 노이즈 프로파일을 구축하였다. 배경소음은 100 Hz대역의 저주파수 대역과 4 kHz 이상의 고주파 대역 성분을 일부 포함하고 있다. Fig. 8은 모터 소음 데이터의 시간에 따른 주파수 특성을 시각화하여 나타낸 스펙트로그램(spectrogram)이다. 스펙트럼 노이즈 게이트 알고리듬을 적용하기 전(a)과 후(b)를 비교했을 때, 특히 일부 고주파 대역 성분의 특성이 제거된 것을 확인할 수 있다.
각 구동방향에 대하여 측정한 신호를 130개의 프레임으로 분할하여 각 프레임에 대한 MFCC 특징을 추출하였다. 이 때, 모델의 학습 속도 및 성능이 저하되는 현상을 방지하기 위해 각 계수값의 범위가 0 ~ 1이 되도록 조정하였다. 또한 구동 방향에 따른 소음의 특성을 동시에 고려하기 위하여 각 구동방향에 대한 데이터를 병합하여 13×260 크기를 갖는 특징 데이터를 추출하여 학습에 사용하였다.
3.3 소음 진단 모델의 구현 및 평가
소음 진단 모델은 Table 1과 2의 학습용 데이터(training data)를 사용하여 구현하였다. 학습을 위해 13×260 크기의 데이터를 일렬로 늘어뜨려 사용하였으며 인공 신경망과 서포트 벡터 머신(support vector machine) 중에서 주어진 데이터에 대하여 성능이 더 좋게 나타난 서포트 벡터 머신을 사용한 모델을 사용하였다. 이 때, 데이터의 불균형으로 인해 발생하는 문제를 방지하기 위하여 모델의 학습 전에 수량이 적은 NG motor 데이터에 oversampling 기법을 적용하였다. 또한 모델이 과적합 및 편향되는 것을 방지하기 위하여 계층별 5겹 교차 검증과 모델의 성능을 결정하는 하이퍼파라미터 튜닝을 통해 주어진 데이터에 대한 최적의 모델을 찾는 과정을 수행하였다.
Table 1, 2에서 모델의 구현에 사용되지 않은 평가용 데이터(test data)에 대한 예측결과와 실제 정답을 비교하여 정확도, 정밀도, 재현율, F1-score 등의 지표를 통해 평가하였다. 이하 그림 및 표에서 OK는 소음검사 합격품, NG는 불량품을 의미한다. Fig. 9는 구현된 모델을 사용하여 평가용 데이터에 대한 예측 결과와 실제 정답을 비교한 오차행렬이다. 불량 판정 모델은 평가용 데이터에 대하여 합격품과 불량품을 모두 올바르게 분류하였다. 또한 소음 진단 모델은 Table 3과 같이 2번째 기어 세트의 축간거리 불량에 대한 데이터 3개를 2번째 기어 세트의 윤활 처리 불량으로 분류한 것을 제외하고 모두 올바르게 분류한 것을 확인하였다.
4. 실험적 주파수 분석을 통한 기어모터 소음진단 방법 검증
이 연구에서 제안하는 소음원 진단 방법을 실제로 적용한 결과의 타당성을 검증하기 위하여 3장에서 소음 진단 모델 평가를 위해 사용된 모터 소음 데이터에 대한 주파수 분석을 수행하였다. 주파수 분석은 배경소음이 제거된 모터 소음 데이터를 활용하여, 각 소음원에 대한 특성을 대표하는 주파수 스펙트럼을 Fig. 10, Fig. 11과 같이 나타내었다.
Fig. 10, Fig. 11을 통해 제안하는 소음 진단 방법을 사용하여 분류된 모터 소음은 구동 방향 및 각각의 소음원으로 인해 발생하는 소음 특성이 다른 것을 확인하였다. 이를 통해 이 연구에서 제안하는 소음 진단 방법은 각 소음원에 따른 소음의 주파수 특성을 반영하고 있음을 확인할 수 있다. 즉, 학습 및 최적화가 완료된 소음 진단을 위한 머신러닝 모델을 사용함으로써 각 소음원에 따른 주파수 특성을 분석하는 절차를 생략할 수 있음을 확인하였다.
5. 결 론
이 연구는 기어모터의 소음 진단 및 검사공정 개선을 위하여 음성인식에서 사용하는 MFCC와 머신러닝 기법을 적용한 소음 불량 판정 및 소음원 진단 방법을 제안하였다.
이 연구에서 제안된 소음 진단 방법을 도입한다면 기존의 주파수 분석 방법과 달리 공진 주파수 대역을 설정하는 절차를 생략할 수 있는 장점이 있다. 또한 데이터를 기반으로 학습된 머신러닝 모델을 사용하기 때문에 기존의 소음 검사 공정에서 발생할 수 있는 검사자의 주관적인 요소의 개입을 최소화할 수 있는 장점이 있다.
향후 기어모터의 소음에 대한 데이터를 확장하고 이를 활용하여 모델을 업데이트한다면 모델이 진단할 수 있는 소음원 범위의 확장이 가능할 것이다. 또한 이 연구에서 사용한 배경소음 제거 방법인 스펙트럼 노이즈 게이트 알고리듬을 통해 제거하기 어려운 비주기적 특성의 배경소음을 제거하는 방법이 적용된다면 소음 진단 모델의 성능 및 정확도의 향상이 가능할 것이다.
Acknowledgments
이 논문은 부경대학교 자율창의학술연구비(2019년)에 의하여 연구되었음.
References
- Lee, D., 2018, Defective Motor Classification with Acoustic Signal using Convolutional Neural Network, Masters dissertation, Seoul National University, Seoul, South Korea.
- Park, B. H., Cho, H. W. and Oh, J. I., 2018, Component Defect Detection Using Acoustic Resonance Method Based on Machine Learning, Proceedings of the KSNVE Annual Spring Conference, p. 111.
- Hwang, W. W. and Yang, B. S., 2004, Fault Diagnosis of Rotating Machinery Using Multi-class Support Vector Machines, Journal of Mechanical Science and Technology, Vol. 14, No. 12, pp. 1233~1240.
- Lim, Y. B., Lee, K. Y., Park, W. K. and Cho, S., 2017, Pattern Classification Method of Electrical Loads Using Modified MFCC, Journal of Korean Institute of Intelligent Systems, Vol. 27, No. 6, pp. 543~551. [https://doi.org/10.5391/JKIIS.2017.27.6.543]
- Park, W. K., Lim, Y. B., Kim, D. W., Lee, H. K. and Cho, S., 2018, Prediction Method of Electrical Abnormal States Using Simplified Mel-frequency Cepstral Coefficients, Journal of Korean Institute of Intelligent Systems, Vol. 28, No. 5, pp. 514~522. [https://doi.org/10.5391/JKIIS.2018.28.5.514]
- Lee, J., Cho, J., Park, D., Lee, J. H., Chung, Y., Kim, H. Y. and Yoon, S., 2016, Anomaly Detection for Railway Point Machine using Sound Information, Proceedings of the Korean Society for Railway annual Spring Conference, pp. 33~38.
- Kiapuchinski, D. M., Lima, C. R. E. and Kaestner, C. A. A., 2012, Spectral Noise Gate Technique Applied to Birdsong Preprocessing on Embedded Unit, 2012 IEEE International Symposium on Multimedia, pp. 24~27. [https://doi.org/10.1109/ISM.2012.12]
- Küc̣üktopcu, O., Masazade, E., Ünsalan, C. and Varshney, P. K., 2019, A Real-time Bird Sound Recognition System Using a Low-cost Microcontroller, Applied Acoustics, Vol. 148, pp. 194~201. [https://doi.org/10.1016/j.apacoust.2018.12.028]
- Kim, H. S., Chung, J. H. and Baek, W. K., 2020, A Study of the Audio Data Pre-processing Method for Motor Noise Diagnosis, Proceedings of the KSNVE Annual Spring Conference, pp. 32~32.
- Zheng, F., Zhang, G. and Song, Z., 2001, Comparison of Different Implementations of MFCC., Journal of Computer Science and Technology, Vol. 16, No. 6, pp. 582~589. [https://doi.org/10.1007/BF02943243]
- Peng, P., He, Z. and Wang, L., 2019, Automatic Classification of Microseismic Signals Based on MFCC and GMM-HMM in Underground Mines, Shock and Vibration, Vol. 2019, pp. 1~9. [https://doi.org/10.1155/2019/5803184]
Hyun Sik Kim received his B.S. and M.S. degrees in mechanical design engineering from Pukyong National University, Busan, Korea in 2018 and 2020, respectively. His research interests include noise, vibration and machine learning.
Woon Kyung Baek received B.S. degree from Seoul National University in 1978 and Ph.D. degree from the University of Iowa, Iowa City, Iowa, USA in 1990. He is a professor in Mechanical Design Engineering Department of Pukyong National University, Busan. Korea. His current research interests include vehicle dynamics, noise and vibrations, and machine learning applications.