헤딩(Heading)과 로링(Rolling) 공정은 금속을 가공하는 제조 산업의 핵심입니다. 하지만 거대한 기계가 쉼 없이 돌아가는 현장에서 설비의 내부 결함을 조기에 발견하는 것은 오랜 난제였습니다. 기존의 육안 검사나 단순한 경험에 의존한 판단은 내부에서 시작되는 미세한 균열이나 마모를 놓치기 쉬웠고, 이는 곧 생산 품질 저하와 예기치 않은 설비 가동 중단(Downtime)으로 이어졌습니다.
기계가 보내는 미세한 떨림과 소리를 융합해 고장을 미리 알 수는 없을까?
이 질문에서 시작된 본 프로젝트는 소음(Sound)과 진동(Vibration) 데이터를 융합한 멀티모달(Multimodal) AI를 통해, 숙련공의 감각을 넘어선 자동화된 불량 판별 및 예지보전(PdM) 시스템을 구축한 사례입니다. AI가 분석한 패턴의 변화(Reconstruction Error)와 물리적인 신호의 에너지(RMS)를 결합하여 설비의 건강 상태를 수치화한 Health Index 개발 과정을 공유합니다.
배경 및 도전 과제
제조 현장의 데이터를 AI 모델에 적용하기 위해서는 다음과 같은 난관을 극복해야 했습니다.
데이터의 불균형
- 정상 데이터는 풍부하지만, 고장 데이터는 극히 드물어 일반적인 지도 학습(Supervised Learning) 적용이 불가능했습니다.
현장의 극심한 노이즈
- 공장은 다양한 기계음이 뒤섞인 시끄러운 환경입니다. 의미 없는 배경 잡음을 걸러내고, 설비 상태를 대변하는 핵심 특징(Feature)만을 추출해야 했습니다.
단일 모달의 한계
- 진동 데이터만으로는 기계적 유격을, 소음 데이터만으로는 내부 파손을 완벽히 설명할 수 없었습니다. 두 신호의 상호보완적인 융합이 필요했습니다.
해결 전략
우리는 정상 데이터의 패턴을 학습하여 그 범위를 벗어나는 것을 탐지하는 비지도 학습 기반의 이상 탐지(Anomaly Detection) 전략을 택했습니다.
Dual-Stream Autoencoder
- 진동(1D Time-series)과 소음(2D Spectrogram) 각각에 최적화된 CNN 오토인코더를 병렬로 구성했습니다.
하이브리드 특징 추출
- 딥러닝 모델이 산출한 '복원 오차(Reconstruction Error)'에 신호 공학적 지표인 'RMS(Root Mean Square)' 값을 결합
- 오차는 패턴의 변화를, RMS는 신호의 강도를 대변합니다.
Mahalanobis Distance 기반 Health Index
- 서로 다른 척도를 가진 4가지 특징(진동 오차, 소음 오차, 진동 RMS, 소음 RMS)을 통계적으로 통합
- 설비의 상태를 0~100점 척도로 수치화했습니다.
모델 아키텍처
전체 시스템은 데이터 수집(DAQ) → 전처리 → 모델 학습 및 추론 → 지표 산출의 파이프라인으로 구성됩니다.
데이터 수집
- 3축 가속도 센서와 마이크 센서를 통해 1초 단위의 시계열 데이터를 수집하고 클라우드로 전송합니다.
전처리
- 진동 데이터는 1D 시계열로, 소음 데이터는 주파수 특성을 반영한 Mel-spectrogram 이미지로 변환합니다.
AI 모델링
- 1D-CNN(진동)과 2D-CNN(소음) 오토인코더가 각각 정상 패턴을 학습하여 재구성합니다.
Health Index 산출
- 복원 오차와 RMS 값을 결합해 최종 이상 점수를 계산합니다.
상세 구현 과정
1단계: 이종 데이터의 전처리 및 특징 공학
소음과 진동은 물리적 특성이 다릅니다. 진동은 시간의 흐름에 따른 축 변화가 중요하고, 소음은 주파수 대역의 패턴이 중요합니다.
진동(Vibration)
- 시간 흐름에 따른 축 변화가 중요하므로, StandardScaler 적용 후 윈도우링하여 1D-CNN에 입력했습니다.
소음(Sound)
- 주파수 대역 패턴이 중요하므로, 사람의 청각 특성을 반영한 Mel-spectrogram으로 변환하여 2D 이미지 데이터를 생성했습니다.
RMS 계산
- 딥러닝 모델이 놓칠 수 있는 '절대적인 신호 강도(Magnitude)'를 보완하기 위해 RMS 값을 별도로 추출했습니다.
2단계: Dual-Stream Autoencoder
데이터를 억지로 하나로 합치지(Early Fusion) 않고, 각자의 특성을 가장 잘 학습할 수 있는 두 개의 모델을 설계했습니다.
Model V (Vibration)
- 3채널(X, Y, Z축) 입력을 처리하는 1D-CNN 구조
- 기계의 떨림 패턴 변화를 감지합니다.
Model A (Acoustic)
- 이미지화된 소음 데이터를 처리하는 2D-CNN 구조
- 스크래치나 충돌음을 감지합니다.
3단계: 마할라노비스 거리 기반 Health Index
단순히 "오차가 크면 불량"이라고 판정하는 방식은 오경보(False Alarm)에 취약합니다. 우리는 변수 간의 상관관계를 고려하기 위해 마할라노비스 거리(Mahalanobis Distance)를 도입했습니다.
핵심은 4차원 특징 벡터의 구성입니다. 딥러닝 모델이 감지한 '패턴 이상(S_v, S_a)'과 물리적인 '에너지 이상(rms_v, rms_a)'을 결합하여 정상 데이터 분포와의 거리를 계산했습니다.
로그 변환을 통해 분포를 정규화하고, 공분산 행렬(Σ)의 역행렬을 곱해 변수 간의 상관성을 보정했습니다. 최종적으로 계산된 거리는 0~100 사이의 Health Index로 변환되어, 관리자가 직관적으로 설비의 상태를 파악할 수 있게 합니다.
결과 시각화
아래 그림은 실제 테스트 데이터에 적용하여 얻은 시각화 결과입니다.
그래프의 각 점은 1초 단위 윈도우(Window) 데이터에 대한 모델의 판단을 의미하며, 점의 색깔은 다음과 같은 의미를 갖습니다.
파란색 점 (Training Normal)
- 기존 오토인코더가 학습한 정상 패턴에 해당합니다. 정상 데이터가 어떤 분포를 형성하는지 기준 역할을 합니다.
초록색 점 (Test Normal)
- 새로운 데이터에서 정상 상태로 판단된 윈도우입니다.
- 정상 모터라면 파란색 점과 비슷한 영역(정상 분포 주변)에 위치해야 합니다.
빨간색 점 (Test Anomaly)
- 모델이 이상으로 탐지한 윈도우로, 정상 분포에서 벗어나거나 RMS·복원오차가 비정상적으로 증가한 패턴을 의미합니다.
정상 상태 모터 테스트 (상단 두 그래프)
상단의 두 그래프는 정상 상태의 모터 데이터를 테스트한 결과입니다. 초록색 점 대부분이 파란색 학습 분포 내부 또는 인접 영역에 위치하며, 이는 정상 패턴을 안정적으로 재현하고 있음을 의미합니다. 버튼 몇 개의 미세한 변동은 존재하나, 전반적으로 정상 데이터 군집과 일치하는 모습을 보입니다.
이상 상태 모터 테스트 (하단 두 그래프)
하단의 두 그래프는 실제 이상 상태의 모터 데이터를 입력했을 때의 결과입니다. 빨간색 점들이 정상 분포에서 크게 벗어나며, 특정 영역에서 밀집되는 양상이 나타납니다. 이는 진동·소음 신호에서 평소와는 다른 RMS 증가 또는 복원오차(패턴 변화)를 모델이 감지했다는 의미입니다. 실제 고장 구간이 시간적으로 집중되어 나타나는 특징도 그림에서 확인할 수 있습니다.
프로젝트 성과 및 시사점
실제 헤딩·로링 공정 파일럿 테스트에서 본 시스템은 F1-score 0.712와 3초 대의 실시간 처리 속도를 기록하며 목표 성능을 초과 달성했습니다.
가장 큰 성과는 설비 관리의 객관화입니다. 기존에는 숙련공의 '감'이나 '청각'에 의존해 주관적으로 판단했다면, 이제는 Health Index라는 명확한 데이터 수치를 통해 누구나 설비 상태를 객관적으로 파악할 수 있게 되었습니다.
기술적으로는 하이브리드 접근법의 유효성을 입증했습니다. 노이즈가 심한 현장에서 딥러닝(Autoencoder) 단독 모델의 한계를 물리적 신호 에너지(RMS)와 마할라노비스 거리 분석으로 보완하여 신뢰성을 확보했습니다. 이는 진동과 소음이라는 이종 데이터를 융합해 사각지대를 해소하고, 단순 고장 탐지를 넘어선 예지보전(Predictive Maintenance)의 실질적 기반을 마련했다는 점에서 큰 의미를 갖습니다.
Release Note
2025-12-10 - ver 0.1.0
- 초안 업로드
