Transactions of the Korean Society for Noise and Vibration Engineering
[ Article ]
Transactions of the Korean Society for Noise and Vibration Engineering - Vol. 31, No. 5, pp.563-573
ISSN: 1598-2785 (Print) 2287-5476 (Online)
Print publication date 20 Oct 2021
Received 01 Sep 2021 Revised 27 Sep 2021 Accepted 28 Sep 2021
DOI: https://doi.org/10.5050/KSNVE.2021.31.5.563

합성곱 오토인코더를 이용한 체인 전동 장치의 고장 결함 감지 및 진단

이창훈* ; 이상권 ; 김풍일**
Fault Detection and Diagnosis of Chain Transmission System Using Convolutional Auto-encoder
Chang-Hun Lee* ; Sang-Kwon Lee ; Pung-Il Kim**
*Dept. of Mechanical Engineering, Inha University, Student
**Korea Conveyor Future Technology Ind. Co., Ltd.

Correspondence to: Member, Dept. of Mechanical Engineering, Inha University, Professor E-mail : sangkwon@inha.ac.kr ‡ Recommended by Editor Yong Hwa Park


© The Korean Society for Noise and Vibration Engineering

Abstract

This paper presents a method to detect the mechanical faults of a chain drive power transmission system (CDPTS) using a convolutional auto-encoder (CAE). In previous research, it was known that the methods to detect faults of the CDPTS based on an artificial neural network (ANN) and convolutional neural network (CNN) were useful. In this paper, an advanced application of CNN, the CAE function of CNN is employed to detect faults. This method uses the characteristics of reconstruction of CAE. Difference of input images of the CNN and reconstructed images extracted by CAE were used as the guideline of fault detection. In the fault condition of the system, the difference was larger than the predetermined threshold of error. The encoder of CAE can be fine-tuned to classify the fault types of CDPTS. Finally, this method was well applied to diagnose the fault types of the test CDPTS installed in the laboratory.

Keywords:

Fault Detection, Fault Diagnosis, Deep Learning, Convolutional Auto-encoder, Unsupervised Learning, Convolutional Neural Network

키워드:

고장 검출, 고장 진단, 딥러닝, 합성곱 오토인코더, 비지도학습, 합성곱 신경망

1. 서 론

기계 설비의 고장 검출과 진단은 설비 및 장비의 유지, 보수에 필수적이다. 설비의 고장 검출과 진단이 원활히 이루어져야 유지 및 보수 비용을 최소화 할 수 있고, 설비의 운용효율을 극대화 할 수 있기 때문이다. 이러한 이유로, 기계 부품 및 설비의 고장 검출과 진단에 대한 연구가 활발히 진행 중이다. 특히, 머신 러닝의 발전에 힘입어 인공 신경망과 서포트 벡터 머신을 이용한 분류기에 의한 고장 진단에 대한 연구가 활발하다(1~4). 하지만 이러한 방법은 특징 추출을 위한 수단과 방법에 대한 고려가 필요하다. 그 뿐만 아니라 인공 신경망과 서포트 벡터 머신은 지도 학습 기반이기 때문에 각각의 고장 신호에 대한 학습 데이터 수집이 필수적이다. 만약, 고장에 대한 신호가 학습되어 있지 않다면, 이에 대응할 수 없는 단점이 있는 것이다. 이 논문에서는 이러한 단점을 극복하고 기존 연구와 차별화하기 위해 비지도 학습 기반의 방법을 이용했다.

이 논문에서는 체인 전동 장치의 고장 검출과 진단을 목표로 하였다. 체인 전동 장치는 동력 전달 장치로, 베어링, 기어박스, 기어, 스프라켓, 체인 등으로 이루어진 모터 동력 전달 시스템이다. 체인 전동 장치는 컨베이어, 에스컬레이터 등 다양한 분야에서 이용되는 동력 전달 장치다. 이 연구의 주요 알고리즘으로 합성곱 오토인코더(convolutional auto encoder, CAE)를 이용하였다. 고장 검출을 위한 신호는 설비의 기어 박스 부분에 부착된 가속도계를 이용하였다. 가속도계로부터 계측된 진동신호를 short time Fourier transform(STFT)를 이용해 시간-주파수 도메인으로 변환하여 합성곱 오토인코더의 입력으로 활용하였다. 정상 상태의 신호만을 합성곱 오토인코더의 입력으로 활용하면, 디코더(decoder)를 통해 정상 상태의 신호는 잘 복원이 되는 반면, 이상 상태의 신호는 잘 복원이 되지 않는 원리를 이용하였다. 이상 신호는 기어의 크랙, 파손, 동력 축 편심, 베어링의 내륜 및 외륜 결함 등이 알고리즘의 검증에 이용되었다. 또한 인코더(encoder)의 특징 추출 부분을 떼어낸 후, fully connected layer와 결합한 뒤 미세조정(fine tuning)하여 지도학습 기반의 고장 진단 알고리즘도 이 논문에서 다루었다.


2. Convolutional Auto-Encoder (CAE)

합성곱 오토인코더는 스위스의 Jonathan Masci에 의해 2011년 처음 등장하였다(5). 합성곱 오토인코더는 특징을 추출하는 인코더 부분과 추출된 특징 벡터를 다시 이미지로 복원하는 디코더 부분이 대칭적 구조를 이루는 비지도 학습 방법이다. 합성곱 오토인코더는 미술(6), 의학(7), 이미지 처리(8) 등 상당히 많은 분야에서 사용되는 방법이다.

(1) Encoder

합성곱 오토인코더에는 특징을 추출하는 인코더 부분과 추출된 특징을 기반으로 이미지를 복원하는 디코더 부분으로 세분화된다. 인코더는 크게 합성곱 연산을 수행하는 합성곱 계층(convolution layer), 미니 배치의 정규화를 위한 배치 정규화 계층(batch normalization layer), 비선형 활성화 함수 계층(activation function layer), 입력을 압축시켜주는 풀링 계층(pooling layer)로 이루어져 있다. 이와 같은 구조는 합성곱 신경망(convolutional neural network)의 특징 추출 부분과 동일하다.

합성곱 계층은 흔히, 합성곱 신경망에 특징 추출을 위해 사용된다. l번째 층의 합성곱 계층은 합성곱 연산에 의해 k번째 특징 지도의 (i, j)의 출력이 생성된다. 이와 관련된 식을 식 (1)에 나타내었다(9).

yi,j,k=bk+u=0fh-1v=0fw-1kˊ=0fnˊ-1xiˊ,jˊ,kˊωu,v,kˊ,k(1) 

식 (1)에서 fh는 합성곱 계층의 필터의 높이, fw는 필터의 너비를 나타낸다. fn'은 l-1층에 있는 특징 지도의 개수를 나타내며, bkk번째 층의 바이어스를 뜻한다. x는 입력값, ω는 필터를 구성하고 있는 가중치이다. 합성곱 신경망의 학습은 필터의 가중치가 입력 이미지에 맞게 업데이트되어 학습 이미지들의 특징들을 잘 감지할 수 있음을 뜻한다.

합성곱 계층 뒤에는 배치 정규화 계층을 통해 미니배치의 평균과 분산을 정규화하고 재조정하게 된다. 이와 관련된 식 (2)는 미니 배치의 정규화를, 식 (3)은 정규화 된 미니 배치의 scale 및 shift를 나타낸다(10).

x^i=xi-μBσB2+ϵ(2) 
yi=γx^i+β(3) 

식 (2)xi는 미니배치의 i번째 입력을 나타내며, μB는 미니 배치의 평균을 나타낸다. 또한 σ2B는 미니 배치의 분산을 나타내며, ϵ, γ, β는 각각 정규화 매개변수, 스케일 매개변수, 이동 매개 변수이다. ϵ는 10e-7과 같은 작은 값을 가지며, 분모가 0이 되는 것을 방지하는 역할을 한다. 배치정규화는 오버 피팅을 방지하고 학습 효율을 높이는 역할을 한다.

활성화 함수 중 대표적인 ReLu(rectified linear units)는 식 (4)와 같이 표현된다. 활성화함수는 비선형 함수로, 합성곱 계층의 출력을 입력으로 한다.

ϕ=max0,x(4) 

풀링 계층은 특징 지도를 압축하는 역할을 하며, 합성곱 신경망의 학습을 효율적으로 도와주는 역할을 한다.

(2) Decoder

디코더는 이미지를 복원하는 역할을 하며 전치 합성곱 계층(transposed convolution layer)에 의해 upsampling 되어 encoder 부분에서 압축되었던 이미지를 복원한다. 즉, 이미지의 사이즈를 키우는 upsample 과정을 최적으로 수행하는 데 전치 합성곱 계층이 사용된다. 전치 합성곱은 합성곱 연산을 행렬 표현하였을 때의 커널 행렬을 전치하여 인풋 행렬과 곱하여 수행할 수 있다. Fig. 1은 전치 합성곱 계층이 upsampling하는 간단한 예시를 보여준다(11). Fig. 1에 5×5 사이즈의 입력에 대해 unit stride와 full padding을 적용한 3×3 사이즈의 kernel을 적용한 전치 합성곱을 나타내었다. 이는 3×3 kernel와 unit stride를 적용하여 7×7 사이즈의 입력에 합성곱 연산을 한 것과 동일하다.

Fig. 1

Transposed convolution (5×5 input, 3×3 kernel, unit stride, full padding)


3. 실 험

3.1 실험 적용 설비 장치

이 연구의 실험을 위해 사용된 체인 전동 장치를 Fig. 2에서 보여준다. Fig. 2의 체인 전동 장치는 구동 모터와 감속기를 포함한 기어 박스와 연결된 스프라켓, 체인으로 구성되어 있다. 기어박스에는 4개의 베어링과 각각 2개의 기어와 피니언이 포함되어 있다. 특히 Fig. 2의 우측 그림에 도시한 5번, 6번, 7번 부품은 실험을 위해 인위적으로 결함을 가한 부품이다. 5번 부품은 베어링으로, 호칭번호는 6203Z이며, 볼 개수는 7개인 볼베어링이다. 6번 부품은 감속기 기어로, 잇수가 82개인 헬리컬(helical) 기어이다. 7번 부품은 로터 축에 해당한다. 이 실험은 모터의 회전 속도를 정속으로 유지하였으며, 입력 축 회전 속도는 1800 r/min, 스프라켓과 연결된 출력축 회전속도는 60 r/min으로 실험 운전하였다.

Fig. 2

Chain transmission system for testing and components of gear box. (1) gear box (2) sprocket (3) chain (4) accelerometer (5) bearing (6) gear (7) rotor shaft

고장 검출을 위한 신호는 설비의 기어 박스 부분에 부착된 Analog devices사의 3축 가속도계(ADXL337)로부터 취득된 진동 신호를 이용하였다. 진동 신호 방향은 모터 샤프트의 축 방향과 수직한 방향의 진동 신호가 이 연구에서 이용되었다. 샘플링 주파수는 2000 Hz로 정상과 고장 상태에 대한 진동 신호를 수집하였다.

3.2 실험 결함 종류

이 연구는 체인 전동 장치의 고장 결함을 감지를 목표로 하였으므로, 고장 상태에 대한 신호가 필요하다. 결함신호를 확보하기 위해서 Table 1과 같은 7가지 결함 상태를 인위적으로 만들어주었다. 또한 각 결함에 대해 Fig. 3에 그림으로 도시하였다. 각 결함의 자세한 설명은 다음과 같다.

Fault types of chain transmission system

Fig. 3

Details of fault types in the parts used in the experiment

(1) Fault01 (Fig. 3(a))

Fault01은 Fig. 2의 6번에 나타낸 기어의 결함이다. 실험을 위해 해당 기어의 서로 이웃한 이 3개에 크랙을 가하였다. 헬리컬 기어의 이끝 높이의 약 5 % 정도에 해당하는 높이를 공구(file)를 이용하여 인위적으로 손상시켜주었다.

(2) Fault02 (Fig. 3(e))

Fault02는 Fig. 2의 7번에 나타낸 로터 축의 편심 결함이다. 로터 축의 편심 결함은 원주 방향으로 약 10 mm 정도가 편심 될 수 있도록 제작한 회전자를 이용하였다. Fig. 3(e)의 파란 원은 본래의 로터 축이며, 빨간 원은 편심된 로터의 축이다.

(3) Fault03 (Fig. 3(d) + Fig. 3(e))

Fault03은 Fig. 2의 5번에 나타낸 베어링 외륜 표면에 구멍을 낸 결함과 fault02의 로터 축 편심 결함을 조합한 것이다. 베어링 외륜 표면의 구멍은 직경 이 약 3 mm이며, 드릴을 이용하여 결함을 가하였다.

(4) Fault04 (Fig. 3(c) + Fig. 3(e))

Fault04는 Fig. 2의 5번 베어링 내륜 안쪽 볼에 이물질을 삽입한 것과 fault02의 로터 축 편심 결함을 조합한 것이다. 이물의 종류는 철가루와 고운 모래의 혼합물이며 약 5 g을 볼 사이에 삽입하였다.

(5) Fault05 (Fig. 3(b) + Fig. 3(e))

Fault05는 fault02의 로터 축 편심 결함과 Fig. 2의 6번 기어의 이에 파손 결함을 조합한 것이다. 기어 파손 결함은 실험을 위해 1개의 이에 가하였다. 헬리컬 기어의 이끝 높이의 약 50 %에 해당하는 높이를 공구(file)를 이용하여 인위적으로 제거해주었다.

(6) Fault06 (Fig. 3(b) + Fig. 3(d) + Fig. 3(e))

Fault06은 베어링 외륜 구멍 결함, 로터 편심 결함, 기어 이 파손 결함을 조합한 3중 결함이다.

(7) Fault07 (Fig. 3(b) + Fig. 3(c) + Fig. 3(e))

Fault07은 베어링 내륜 이물질 유입 결함, 로터 편심 결함, 기어 이 파손 결함을 조합한 3중 결함 형태이다.


4. 고장 결함 감지 알고리즘

4.1 신호의 처리 및 변환

체인 전동 장치의 정상 상태와 고장 상태에 대한 알고리즘을 합성곱 오토 인코더에 적용하기 위해서는 1차원 시계열데이터인 진동 신호를 이미지로 변환하여야 한다. 그 방법으로 short time Fourier transform(이하 STFT)을 이용하였다. STFT는 신호의 특성을 시간-주파수 도메인에서 이미지로 잘 나타내며, 결함 기인 충격 특성, 주파수 특성 등을 이미지로 나타내기 좋기 때문이다. 2000 Hz의 샘플링 주파수로 취득된 진동 신호를 0.5초 단위(1000개의 데이터)로 잘라 STFT를 취하였으며, window는 hamming window를 이용하였다. STFT된 이미지는 각각의 이미지에 대해 min-max 정규화를 시켜주었다. 또한 장치와 부품의 회전, 구동과 관련된 주파수를 제외하기 위해 0 Hz에서 90 Hz의 범위에 해당하는 부분을 잘라주었다. 분할된 이미지는 112×112×3 사이즈의 RGB 8비트 이미지로 resize하여 변환하였다. Fig. 4을 보면 normal 상태의 이미지에 비해 fault(이하 abnormal) 상태의 이미지는 충격 특성이나 주파수 특성이 강하게 반영 되어있다. 따라서 normal 상태의 이미지만 합성곱 오토인코더에 학습시키면, abnormal 상태 이미지의 특성(결함 충격과 진동에 의한 성분, Fig. 4의 주황, 빨간 부분)들은 복원시키지 못하고 normal 상태 이미지의 특성들(구동과 축 회전에 의한 잔 진동, Fig. 4의 옅은 하늘색 부분)만 잘 복원할 것을 기대할 수 있다.

Fig. 4

STFT images of normal and fault types

4.2 합성곱 오토인코더 기반 결함 감지

(1) 학습(train) 과정

이 연구에서 실험을 통해 변환한 정상 상태의 이미지는 총 1191장(595.5초 분량)이다. 1191장의 정상 상태의 이미지 중 약 80 %에 해당하는 941장이 합성곱 오토인코더의 훈련 데이터로 사용되었고 나머지 250장은 합성곱 오토인코더의 테스트 데이터로 사용하기 위해 학습을 시키지 않았다. 각 fault 타입에 대해 1191장씩의 이미지를 합성곱 오토인코더의 불량 검출 성능 테스트를 위해 변환하였다. 이 연구에서 제안하는 합성곱 오토인코더의 구조는 각 레이어의 출력 사이즈와 함께 Fig. 5에 도시하였다. 합성곱 오토인코더의 구조의 내용은 인코더 부분에서는 이미지가 압축될 수 있도록 하고, 디코더 부분에서는 압축된 이미지를 다시 복원할 수 있도록 하였다. 또한 학습을 위해 회귀 출력 계층의 손실함수는 식 (5)와 같은 평균 자승오차(mean square error)로 하였다. 각 과정은 기본적으로 CNN의 특징 추출기능을 활용하여 압축 이미지를 형성하고 복원한다.

Fig. 5

Structure of convolutional auto-encoder

식 (5)ti는 목표 출력 값이며, yi는 신경망에 의한 예측값(신경망의 출력값)을 뜻한다.

LossMSE=i=1Nti-yi2N(5) 

N은 변수의 개수이다. Fig. 5의 구조의 경우, 신경망 출력이 112×112×3 사이즈의 이미지이므로, tiyi는 이미지를 구성하고 있는 픽셀값들을 뜻한다. Table 2에는 이 논문에서 제안하는 합성곱 오토인코더의 상세 파라미터들과 출력 사이즈를 정리하였다. 24번째 계층(Table 2 참조)인 clipped ReLu의 상한은 255로 하였는데, 이는 출력 값이 8비트 이미지로 나올 수 있도록 조정한 것이다. 또한 합성곱 오토인코더의 학습 알고리즘으로는 ADAM(12)을 사용하였다. 그 외 훈련 옵션으로 최대 반복 횟수의 경우 100회, 초기 학습률은 0.1, 미니 배치 크기는 32로 하였다. 또한 learning rate drop period는 20회로 하여 20회의 epoch마다 학습률이 0.1배씩 되도록 설정하고 훈련을 진행하였다.

Structure architecture of convolutional auto-encoder layer

(2) 테스트(test) 과정

학습이 완료된 합성곱 오토인코더에 대해서 성능을 테스트하기 위해 학습되지 않은 정상상태의 이미지 250장과 비정상상태의 이미지가 결함 종류당 각각 1191장이 사용되었다.

Fig. 6은 각 결함 종류에 대한 STFT의 원래 이미지(original image)와 복원된 이미지(reconstructed image) 그리고 두 이미지의 오차에 절대값을 나타내는 오차 이미지(error image)에 대한 그림이다. 이 결과에 따르면 정상상태의 이미지는 복원이 잘되어 에러 이미지가 깨끗한 반면, 비정상 상태의 이미지는 복원이 잘되지 않아 오차 이미지가 명확하지 않음을 알 수 있다. 이는 원래 이미지와 복원 이미지의 오차를 이용하여 결함 및 고장 상태의 비 정상신호와 정상상태의 정상신호를 구분할 수 있음을 의미한다. 이 논문에서 식 (6)과 같이 각각의 이미지에 대해 평균 자승오차를 계산한 threshold 값과 비교하여 threshold 값보다 평균 자승오차가 높으면 결함, threshold 값보다 평균 자승오차가 낮으면 정상으로 판단하도록 하였다.

E=i=1112j=1112k=13Pi,j,k2Np(6) 
Fig. 6

Original images(left, input images of CAE), reconstructed images(middle, output images of CAE), error images(right, difference of original images and reconstructed images)

이때 Pi,j,k는 에러 이미지의 i행, j열, k채널의 픽셀이 가지고 있는 값이고 Np는 에러 이미지의 총 픽셀 개수이다. 이미지 사이즈가 112×112×3이므로 이 경우 Np는 37 632이다. 따라서 는 입력 이미지와 복원 이미지의 평균 자승오차이다.

정상과 결함을 판단하기 위한 평균 자승오차 threshold 값은 Fig. 7과 같이 결함 검출률(fault detect rate, fault accuracy)과 정상 판단율(normal detect rate, normal accuracy)가 교차하는 부분인 318로 하였다. 합성곱 오토인코더의 결함에 대한 평균 결함 검출률은 93.5 %이며, 정상 판단율은 94 %의 성능을 보였다. 결함 검출률과 정상 판단율에 대한 식은 식 (7), 식 (8)과 같다.

Fault detect rate=The total number of detected fault sampleThe total number of fault samples fortest(7) 
Normal detect rate=The total number of detected fault sample The total number of number samples fortest(8) 
Fig. 7

Detect accuracy for threshold values

또한 각각의 결함에 따른 평균 자승오차 값의 분포는 수염상자(boxplot)을 이용하여 Fig. 8에 도시하였으며, Fig. 8에는 정상 상태에 따른 normal detect rate와 각각의 결함 상태에 따른 fault detect rate를 개별 도시하였다. Fig. 8을 보면 정상상태 신호의 평균 자승오차의 분포와 fault01 상태의 평균 자승오차의 분포가 상당수 겹치는 것을 알 수 있다. 이는 fault01(기어 이 크랙)에 의한 진동 신호 특성이 normal 상태 신호와 큰 차이가 없다는 뜻이다. 따라서 fault01 상태와 normal 상태의 신호를 STFT한 이미지 특성이 서로 유사하고, 합성곱 오토인코더에 의해 fault01의 이미지 복원이 어느 정도 잘 될 수 있었기 때문이다. Fig. 8을 보면 다른 결함 종류의 평균 자승오차 분포는 normal 상태의 평균 자승오차 분포와 차이가 명확하다. 이로 인해 fault01 상태의 결함 감지 정확도는 63.22 %로 다른 결함의 감지 정확도에 비해 낮은 것을 알 수 있다(fault02: 95.72 %, fault03: 99.24 %, fault04: 100 %, fault05: 97.40 %, fault06: 100 %, fault07: 100 %, Fig. 9 참조). 하지만 이 결과는 진동 신호를 0.5초당 한 개의 이미지로 변환하여 각각의 이미지에 대한 정확도이다. 제안된 알고리즘을 실제 적용할 시, 충분한 시간동안 지속적인 감시를 하면 충분히 fault01 결함 또한 안정적으로 감지할 수 있을 것이라고 판단할 수 있다. 예를 들어 50초(100장)의 시간동안 설비를 감시한다고 생각해볼 수 있다. 설비가 fault01 상태일 경우는 과반수가 넘는 63장(63 %, 31.5초)이 결함으로 판별될 것이고, normal 상태의 경우는 약 6장(6 %, 3초)가 결함으로 판별될 것이다. 즉, fault01의 경우 결함감지에 대한 빈도 수가 normal 상태에 비해 훨씬 빈번하다. 이를 이용하여, 데이터를 50초씩 누적하여 fault detect rate가 20 %가 넘으면 결함상태로 감지하여 설비의 정비 필요성을 알려주는 조건을 추가하는 방법 등으로 fault01과 normal을 구분할 수 있다. 따라서 일정시간 동안의 결함감지 빈도수를 이용하여 결함상태를 안정적으로 감지할 수 있을 것이다.

Fig. 8

Boxplot for mean square error of fault types

Fig. 9

Bar graph of normal detect rate and fault detect rate

(3) 미세 조정(fine tuning) 과정

합성곱 오토인코더에서 인코더의 주요한 기능 중 하나는 특징 추출이다. Fig. 10는 훈련에 사용되지 않은 정상 상태 데이터와 각 비 정상 상태의 고장 결함 데이터에 대해 합성곱 오토인코더의 인코더 출력 (Table 2의 13번째 계층 Max Pooling Layer의 출력)을 t-SNE(13)를 통해 2차원화하여 시각화 한 것이다. Fig. 10를 보면 정상 상태의 데이터(941개)만으로 훈련시킨 합성곱 오토인코더의 인코더 출력이 훈련되지 않은 정상 상태의 데이터(250개)와 각 고장 결함 데이터(각 1191개)를 분류할 수 있음을 나타낸다. 이 논문에서는 이러한 인코더의 특징 추출 기능을 이용하여 고장을 감지 및 분류하는 알고리즘을 제안한다. 그 알고리즘은 Fig. 11에 순서도로 나타냈다.

Fig. 10

Visualizing of test data on two dimensions using t-SNE

Fig. 11

Flow chart of fault detect algorithm and fault diagnosis (classification) algorithm

Fig. 11의 좌측은 합성곱 오토 인코더를 활용한 비지도학습 기반의 고장 결함 검출에 대한 알고리즘이며, 우측그림은 합성곱 신경망(convolutional neural network, CNN)을 이용한 지도학습 기반 고장 진단에 대한 알고리즘이다. 합성곱 오토인코더의 인코더 부분을 떼어내 fully connected layer와 연결한 후 미세 조정하면 높은 성능의 합성곱 신경망을 얻을 수 있다(5). 또한 이러한 방식의 fine tuning은 학습 효율면에서도 우수하다. 이미 인코더 쪽에서 어느정도 특징 추출에 대한 기능을 가지고 있기 때문에 인코더의 가중치를 고정한 후, 적은 횟수의 epoch으로 합성곱 신경망의 학습을 마칠 수 있다. Fig. 12는 이 논문의 이런 과정을 간단히 도시한 것이다.

Fig. 12

Process for fine-tuning of encoder to training convolutional neural network

이 연구에서 제안하는 고장 진단 방법 알고리즘의 흐름도를 나타내는 Fig. 11의 오른쪽 CNN부분의 절차는 다음과 같다.

(1) CAE에 의해 불량 감지

(2) 불량 감지된 데이터 수집

(3) 기존에 인코더를 미세 조정하여 만든 CNN이 있는지 확인(훈련된 CNN이 없으면 (4)로 진행, 있으면 (4-2)로 진행)

(4) 관측된 결함에 Label부여, CAE의 인코더 부분을 미세 조정하여 CNN을 생성

(5) 만들어진 CNN을 이용하여 정상데이터와 새로운 결함 데이터 분류 이미 기존에 확인되어 Label을 부여한 결함인지 확인,

(4-2) 분류하고자 하는 결함이 확인되지 않은 결함이면 (4)로 진행하여 인코더를 미세 조정하여 CNN을 만들고 이미 알고 있는 결함이라면 (5)로 진행하여 고장 진단

위와 같은 알고리즘을 통하면 새로운 종류 결함이 발견될 때마다 CNN을 통한 결함 분류기를 지속적으로 업데이트 할 수 있다. 또한 이미 학습된 결함 종류라면 고장 결함 발생 즉시, 어떤 고장인지 알 수 있다. 이 논문에서는 훈련된 합성곱 인코더의 인코더부분과 fully connected layer와 연결한 후 합성곱 신경망을 학습시켰다. Table 3은 이 논문에서 학습시킨 합성곱 신경망의 구조이다. 미세조정을 위해 Table 3의 1번째 계층부터 9번째 계층까지 가중치를 고정시키고, 15회 학습하였다. 또한 학습데이터로 normal 상태와 7가지 fault 상태에 대해 STFT 변환된 이미지 데이터를 각각 700씩(총 5600장) 학습 데이터로 활용하였다. 학습 모니터링을 위한 검증 데이터는 각각 241장씩(총 1928장)을 활용하였다. 또한, 성능 평가를 위한 테스트 데이터는 각각 250장씩(총 2000장)을 활용하였다.

Structure architecture of fine-tuned CNN

Table 3과 같은 구조의 합성곱 신경망을 학습시킨 후, 테스트 데이터를 이용하여 성능을 평가하였고, 이에 대한 confusion matrix는 Fig. 13과 같다. 8가지 클래스에 대해서 Accuracy는 99.8 %로 상당히 높은 결과가 나왔음을 알 수 있다.

Fig. 13

Confusion matrix of test set and performance of fine-tuned CNN


5. 결 론

이 논문에서 체인 전동 장치의 결함을 감지하기 위한 수단으로 합성곱 오토인코더를 제안하였다. 제안한 합성곱 오토인코더는 체인 전동 장치의 기어 박스에 부착된 가속도계로부터 진동 신호를 STFT한 이미지를 입력으로 한다. 입력된 STFT 이미지를 합성곱 오토인코더를 이용하여 복원하여 입력 이미지와의 mean square error를 구한 후, 미리 정하여 놓은 threshold를 기준으로 입력 신호가 결함 상태인지, 정상 상태인지를 판단한다. 7가지 종류의 결함 상태를 이용하여 제안한 알고리즘을 테스트한 결과, 7가지 결함에 대해 평균 93.5 %의 정확도로 결함을 감지하였다(각 고장에 대해 63.22 % 95.72 %, 99.24 %, 100 %, 97.40 %, 100 %, 100 %의 정확도로 결함을 감지하였다.). 또한 94 %의 정확도로 정상 상태의 신호를 정상 상태로 판단하였다. 이러한 합성곱 오토인코더를 이용한 비지도 학습 기반의 결함 감지 기법은 결함 데이터를 수집한 후, label을 부여하여 학습시켜야만 결함을 감지할 수 있는 지도 학습의 단점을 극복할 수 있는 장점이 있다.

이 논문에서 제안된 합성곱 오토인코더를 이용한 비지도학습 기반 결함 감지 기법은 입력 신호에 대해서 설비가 정상 상태인지, 결함 상태인지만 판단할 수 있다. 따라서 설비의 결함 종류를 파악한 후, label을 부여하여 지도학습 기반의 결함 분류 알고리즘을 고려해 볼 필요가 있다. 따라서, 이 논문에서 고장 진단을 위한 결함 진단(분류) 알고리즘을 제안하였다. 훈련된 합성곱 오토인코더의 인코더부분의 특징 추출 기능을 이용하여, 인코더 부분과 fully connected layer를 연결한 후, fine-tuning하여 합성곱 신경망을 이용한 지도학습 기반의 결함 진단 알고리즘을 제안하였다. 인코더의 특성을 이용하여 fine tuning하면, 적은 횟수의 학습으로도 높은 정확도의 합성곱 신경망을 얻을 수 있으므로, 학습 효율에 있어 장점이 있다. 해당 방법의 합성곱 신경망의 결함 진단 정확도는 99.8 %의 높은 성능을 보였다.

제안된 비지도 학습 기반의 합성곱 오토인코더와 지도 학습 기반의 합성곱 신경망을 설비에 활용한다면 결함을 감지하고 감지된 결함에 label을 부여하여 지속적으로 고장 진단에 대한 합성곱 신경망 기반 고장 분류기를 발전시킬 수 있을 것이라고 기대한다.

Acknowledgments

이 성과는 2021년도 정부(과학기술정보통신부)의 재원으로 한국연구재단의 지원을 받아 수행된 연구임(No. 2019R1A2B5B02069400)과 2020년도 중소기업청 스마트센서 선도 프로젝트 기술개발사업의 산업용 체인 인공지능형 자가진단 키트 개발 과제의 지원을 받아 수행된 과제임.

References

  • Back, J. S., Kim, S. W., Lee, S. K. and Lee, C. H., 2020, Conditioning Monitoring in Chain Sprocket Drive Unit System Based on Artificial Neural Network, Transactions of the Korean Society for Noise and Vibration Engineering, Vol. 30, No. 3, pp. 286~293. [https://doi.org/10.5050/KSNVE.2020.30.3.286]
  • Kankar, P. K., Sharma, S. C., Harsha., S. P., 2011, Fault Diagnosis of Ball Bearings Using Machine Learning Methods, Expert Systems with Applications, Vol. 38, No. 3, pp. 1876~1886. [https://doi.org/10.1016/j.eswa.2010.07.119]
  • Hu, Q., He, Z., Zhang, Z. and Zi, Y., 2007, Fault Diagnosis of Rotating Machinery Based on Improved Wavelet Package Transform and SVMs Ensemble, Mechanical Systems and Signal Processing, Vol. 21, No. 2, pp. 688~705. [https://doi.org/10.1016/j.ymssp.2006.01.007]
  • Saravanan, N., Kumar Siddabattuni, V. N. S. and Ramachandran, K. I., 2010, Fault Diagnosis of Spur Bevel Gear Box Using Artificial Neural Network(ANN) and Proximal Support Vector Machine(PSVM), Applied Soft Computing, Vol. 10, No. 1, pp. 344~360. [https://doi.org/10.1016/j.asoc.2009.08.006]
  • Masci, J., Meier, U., Ciresan, D., Schmidhuber, J., 2011, Stacked Convolutional Auto-encoders for Hierarchical Feature Extraction, International Conference on Artificial Neural Networks, pp. 52~59 [https://doi.org/10.1007/978-3-642-21735-7_7]
  • David, O. E., Netanyahu, N. S., 2016, Deep Painter:Painter Classification Using Deep Convo lutional Autoencoders, International Conference on Artificial Neural Networks, pp. 20~28. [https://doi.org/10.1007/978-3-319-44781-0_3]
  • Chen, M., Shi, X., Zhang, Y., Wu, D. and Guizani, M., 2021, Deep Feature Learning for Medical Image Analysis with Convolutional Autoencoder Neural Network, IEEE Transaction on Big Data, Vol. 7, No. 4, pp. 750~758. [https://doi.org/10.1109/TBDATA.2017.2717439]
  • Cheng, Z., Sun, H., Takeuchi, M. and Katto, J., 2018, Deep Convolutional AutoEncoder-based Lossy Image Compression, 2018 Picture Coding Symposium, pp. 253~257. [https://doi.org/10.1109/PCS.2018.8456308]
  • Géron, A., 2019, Hands-on Machine Learning with Scikit-learn, Keras and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems, O`Reilly Media, Inc., Canada.
  • Loffe, S. and Szegedy, C., 2015, Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift, Proceedings of the 32nd International Conference on Machine Learning (PMLR), Vol. 37, pp. 448~456.
  • Dumoulin, V. and Visin, F., 2016, A Guide to Convolution Arithmetic for Deep Learning, arXiv preprint, arXiv:1603.07285, http://arxiv.org/abs/1603.07285, .
  • Kingma, D. P. and Ba, J., 2014, Adam: A Method for Stochastic Optimization, arXiv preprint, arXiv:1412.6980, http://arxiv.org/abs/1412.6980, .
  • Maaten, L. V. D. and Hinton, G., 2008, Visualizing Data Using t-SNE, Journal of Machine Learning Research, Vol. 9, No. 11, pp. 2579~2605.

Chang-Hun Lee is a graduate student in Department of Mechanical Engineering at Inha University. He has studied for the application of signal processing and deep learning to mechanical system and vehicle system.

Sang-Kwon Lee studied in the Department of Mechanical Engineering at the Pusan National University, Pusan, Korea for B.S. In 1998, he received a Ph.D. degree in signal processing at the ISVR (Institute of Sound and Vibration Research) of the University of Southampton in U.K. He has continued the sound and vibration research in the department of mechanical engineering inha University since 1999. He worked in Hyundai Motor Company between 1984 and 1994 and researched Samsung Motor Company on 1998.

Fig. 1

Fig. 1
Transposed convolution (5×5 input, 3×3 kernel, unit stride, full padding)

Fig. 2

Fig. 2
Chain transmission system for testing and components of gear box. (1) gear box (2) sprocket (3) chain (4) accelerometer (5) bearing (6) gear (7) rotor shaft

Fig. 3

Fig. 3
Details of fault types in the parts used in the experiment

Fig. 4

Fig. 4
STFT images of normal and fault types

Fig. 5

Fig. 5
Structure of convolutional auto-encoder

Fig. 6

Fig. 6
Original images(left, input images of CAE), reconstructed images(middle, output images of CAE), error images(right, difference of original images and reconstructed images)

Fig. 7

Fig. 7
Detect accuracy for threshold values

Fig. 8

Fig. 8
Boxplot for mean square error of fault types

Fig. 9

Fig. 9
Bar graph of normal detect rate and fault detect rate

Fig. 10

Fig. 10
Visualizing of test data on two dimensions using t-SNE

Fig. 11

Fig. 11
Flow chart of fault detect algorithm and fault diagnosis (classification) algorithm

Fig. 12

Fig. 12
Process for fine-tuning of encoder to training convolutional neural network

Fig. 13

Fig. 13
Confusion matrix of test set and performance of fine-tuned CNN

Table 1

Fault types of chain transmission system

Condition Name Fault type
Normal Good -
Abnormal Fault01 3 damaged teeth of gear
Fault02 Rotor shaft eccentricity
Fault03 1 hole on the bearing surface
Rotor shaft eccentricity
Fault04 Alien substance in the bearing
Rotor shaft eccentricity
Fault05 Rotor shaft eccentricity
1 broken tooth of gear
Fault06 1 hole on the bearing surface
Rotor shaft eccentricity
1 broken tooth of gear
Fault07 Alien substance in the bearing
Rotor shaft eccentricity
1 broken tooth of gear

Table 2

Structure architecture of convolutional auto-encoder layer

No Name Output size Filter size/stride/number of channels
1 Image input layer (112,112,3) -
2 Conv layer (112×112×24) (3,3)/1/24
3 BN layer (112×112×24) -
4 Leaky ReLu layer (112×112×24) -
5 Max pooling layer (56×56×24) (2,2)/2/24
6 Conv layer (56×56×12) (3,3)/1/12
7 BN layer (56×56×12) -
8 Leaky ReLu layer (56×56×12) -
9 Max pooling layer (28×28×12) (2,2)/2/12
10 Conv layer (28×28×12) (3,3)/1/12
11 BN layer (28×28×12) -
12 Leaky ReLu layer (28×28×12) -
13 Max pooling layer (14×14×12) (2,2)/2/12
14 T`Conv layer (28×28×12) (4,4)/2/12
15 BN layer (28×28×12) -
16 Leaky ReLu layer (28×28×12) -
17 T`Conv layer (56×56×12) (4,4)/2/12
18 BN layer (56×56×12) -
19 Leaky ReLu layer (56×56×12) -
20 T`Conv layer (112×112×24) (4,4)/2/24
21 BN layer (112×112×24) -
22 Leaky ReLu layer (112×112×24) -
23 Conv layer (112×112×3) (3,3)/1/3
24 Clipped ReLu layer (112×112×3) Upperlimit: 255
25 Regression layer (112×112×3) -

Table 3

Structure architecture of fine-tuned CNN

No Name Output size Filter size/stride/number of channels
1 Image input layer (112,112,3) -
2 Conv layer (112×112×24) (3,3)/1/24
3 BN layer (112×112×24) -
4 Leaky ReLu layer (112×112×24) -
5 Max pooling layer (56×56×24) (2,2)/2/24
6 Conv layer (56×56×12) (3,3)/1/12
7 BN layer (56×56×12) -
8 Leaky ReLu layer (56×56×12) -
9 Max pooling layer (28×28×12) (2,2)/2/12
10 Conv layer (28×28×12) (3,3)/1/12
11 BN layer (28×28×12) -
12 Leaky ReLu layer (28×28×12) -
13 Max pooling layer (14×14×12) (2,2)/2/12
14 T`Conv layer (28×28×12) (4,4)/2/12
15 BN layer (28×28×12) -
16 Leaky ReLu layer (28×28×12) -