2023.12 - 2026.05
기간 - 2023.12 - 2026.05
공작기계/MCT 신호분석 및 AI 진단
공작기계와 회전 설비의 진동 데이터를 기반으로 STFT, FFT, 스펙트럼, CNN, One-Class SVM 분석을 수행하고 진단 화면과 알람 흐름으로 연결했습니다.
Python / PyTorch / MATLAB / STFT
역할, 구현 흐름, 결과 중심으로 정리
원시 진동만으론 현장 판단이 어렵고 결함 데이터가 희소.
회전성분(X) 기반 5단계 신호처리 + 1D-CNN·TabNet 4종 분류.
스펙트럼→회전성분 단위 변환→특징 압축(7000→100), 정상기준 학습·XAI 근거 제시.
잔여 수명 예측·예지보전으로 확장, 타 설비 재학습 자동화.
문제에서 구현 결과까지
공작기계와 회전 설비의 진동 데이터를 기반으로 STFT, FFT, 스펙트럼, CNN, One-Class SVM 분석을 수행하고 진단 화면과 알람 흐름으로 연결했습니다.
원시 신호만으로는 현장 운영자가 설비 이상을 판단하기 어렵기 때문에, 신호처리 결과와 AI/규칙 기반 진단 결과를 화면에서 해석 가능한 형태로 제공해야 했습니다.
요구사항을 화면, API, 데이터 저장/조회, 알람/진단 흐름으로 분해하고 구현했습니다.
STFT 기간 조회, 스펙트럼/스펙트로그램 차트, 공구 상태 UI, 라벨링 프로그램, 이상치 보정, 규칙 기반 진단 차트, AI 진단 결과 저장 흐름을 구현했습니다.
AI 추론 호출을 동기 블로킹 → 비동기 처리로 전환해 추론 중에도 조회·화면 응답을 유지 / 진단 결과 저장을 핫/콜드로 분리 — 최근 결과는 Redis, 영구 이력은 검색·메타데이터 관리에 강한 RDB에 적재 / STFT, 스펙트럼, 스펙트로그램 기반 설비 진단 화면 구현
기능 개발 단위로 본 구현 범위
하나의 프로젝트 안에서 직접 설계하고 구현한 주요 기능을 화면, 역할, 구현 내용, 결과 단위로 나눠 정리했습니다.
문서·담당자 없는 PLC → 역분석해 공정 데이터 소스화
절삭 시점·공구 사용 횟수 같은 공정 상태를 담은 PLC 데이터가 필요했지만 매뉴얼도, 이를 아는 담당자도 없었습니다.
PLC 역분석·공정 라벨링 담당
- 저장된 PLC 데이터를 연구원과 함께 역분석해 의미를 규명
- 공정 시작 시점·공구 교체 구간을 메타데이터로 구조화
- 공구 교체 기준 STFT 페이징에 PLC 사용 횟수를 분 단위로 연동
결과 공정 상태 라벨을 확보해 센서 신호와 결합한 학습 데이터 구성 기반을 마련
스펙트럼만으로 분류 성능 부족 → 공정별 2D 스펙트로그램·DTW 결합
기존 스펙트럼 데이터만으로는 이상 분류 성능이 확보되지 않아 원인을 분석하고 표현 방식을 바꿔야 했습니다.


신호처리·모델 설계·탑재 담당
- 진동 신호를 공정별 2D 스펙트로그램 이미지로 변환해 CNN 학습
- 정상 레퍼런스와 DTW 특징 비교를 결합해 이상 판정
- 정상/베어링/기어/공구 4분류를 1D-CNN·TabNet·OC-SVM으로 서빙
결과 데이터셋 기준 평균 98% 이상 이상탐지를 구현·현장 탑재하고, 실 운용에서 불량 9건을 사전 감지
저장 용량 폭증 → 회전 성분 기반 특징 추출 경량화
진동 데이터를 전 주파수로 저장하면 용량이 커 중소 제조 현장에서는 운영이 어려웠습니다.


석사 연구·현장 적용
- 회전 성분을 기준으로 정보가 큰 대역은 촘촘히, 낮은 대역은 로그 스케일 대표값으로 추출
- 경량화된 특징으로 TabNet·1D-CNN 다중분류 학습
- 모니터링 시스템에 적용해 과제 실증에서 안정 동작 확인
결과 데이터를 경량화하면서도 분류 성능은 오히려 향상됨을 석사 논문으로 검증
트러블슈팅 — 겪은 문제와 해결
개발·운영 중 실제로 마주친 문제를 증상, 원인 추적, 조치, 결과 단위로 정리했습니다.
AI 추론 중 화면 멈춤 → 동기 블로킹을 비동기로 전환
AI 추론 호출이 동기 블로킹이라 추론이 도는 동안 조회·화면이 멈췄습니다.
- 추론 호출을 비동기 처리로 전환하고 결과를 이벤트로 전달
- 추론 상태를 별도로 노출해 진행 중에도 화면 응답 유지
결과 추론 중에도 조회·화면 응답을 유지
센서 노이즈로 차트 왜곡 → 원본 보존 + 표시단 보정 분리
센서 노이즈가 그대로 차트에 튀어 판독이 어려웠지만, 원본을 훼손하면 분석 신뢰성이 떨어졌습니다.
- 원본 데이터는 DB에 그대로 보존
- 화면 출력 시에만 P99 압축·스케일링·예외처리를 적용
결과 분석 신뢰성과 화면 가독성을 함께 확보
배치 추론 30초 타임아웃 실패·알람 오발생 → 외부 AI 서버 장애 격리
LSTM 배치 추론이 30초 기본 타임아웃으로 반복 실패했고, 예측 미수신 상태에서 이전 AI 파라미터가 잔존해 알람이 오발생했으며, AI 서버 설정 파일이 없는 환경에선 예외가 서비스 전체로 전파됐다.
- 배치 추론 특성에 맞게 HTTP 타임아웃 30초 → 5분 상향
- 예측값 미수신 시 AI 파라미터를 초기화해 이전 결과 잔존 차단
- 공정 기록 중이 아닐 때 알람 억제 조건 추가, 설정 파일 부재 시 예외 처리
결과 외부 AI 서버가 지연·무응답이어도 화면과 알람이 깨지지 않는 격리 구조 확립 — 외부 의존성 장애의 내부 전파 차단 패턴 (커밋 e8ce1b23 외 3건)
문제
원시 신호만으로는 현장 운영자가 설비 이상을 판단하기 어렵기 때문에, 신호처리 결과와 AI/규칙 기반 진단 결과를 화면에서 해석 가능한 형태로 제공해야 했습니다.
해결
STFT 기간 조회, 스펙트럼/스펙트로그램 차트, 공구 상태 UI, 라벨링 프로그램, 이상치 보정, 규칙 기반 진단 차트, AI 진단 결과 저장 흐름을 구현했습니다.
상세 설명
상세 구현 설명 펼쳐보기
맡은 역할
공작기계와 회전 설비의 진동 데이터를 분석 가능한 형태로 변환하고, 신호처리 결과를 운영 화면에 연결했습니다.
STFT, FFT, 스펙트럼, 스펙트로그램, 특징값 파싱, 라벨링, CNN, One-Class SVM 기반 진단 흐름을 다뤘습니다.
석사 연구에서 다룬 신호처리·상태분류 경험을 제품 기능, 화면 설계, 문서화로 확장했습니다.
주요 구현
기간 조건으로 STFT 데이터를 조회하고, 스펙트럼/스펙트로그램 차트를 통해 주파수 성분 변화를 확인할 수 있도록 구현했습니다.
학습 이미지와 라벨 데이터를 구성하고, 모델 결과가 단순 파일이나 실험 결과에 머물지 않도록 진단 화면과 저장 흐름으로 연결했습니다.
센서 노이즈처럼 보이는 값은 원본 데이터 보존과 화면 출력 보정을 분리해 처리했습니다.
P99 초과 spike 탐지, 예외 처리, 규칙 기반 진단 차트 연동을 통해 운영 화면에서 해석 가능한 이상 징후를 만들었습니다.
설명 방식
특정 장비 보유 기업명과 실증 현장명은 공개하지 않습니다.
공개 페이지에서는 공작기계/제조 설비 진단, 신호처리, AI 기반 상태분류 경험으로 표현합니다.
성과
- STFT, 스펙트럼, 스펙트로그램 기반 설비 진단 화면 구현
- AI/규칙 기반 진단 결과를 운영 화면과 알람 흐름에 연결
- 석사 연구의 신호처리·상태분류 경험을 제품 기능과 기술 문서로 확장
- 기업 실증 과정의 테스트베드 검증, 보고서, 시연 자료로 진단 결과 설명
- 원본 데이터 보존과 화면 보정을 분리해 분석 신뢰성과 사용성을 함께 고려
- 신호분석과 AI 진단 결과를 운영 화면과 알람 흐름에 연결
핵심 지표
- AI 추론 호출을 동기 블로킹 → 비동기 처리로 전환해 추론 중에도 조회·화면 응답을 유지
- 진단 결과 저장을 핫/콜드로 분리 — 최근 결과는 Redis, 영구 이력은 검색·메타데이터 관리에 강한 RDB에 적재
- 정상 / 베어링 / 기어 / 공구 결함 4분류 모델 — 1D-CNN, TabNet, OC-SVM 활용
- 공정 단위 2D 스펙트로그램을 생성하고 DTW 기반 특징 비교로 이상탐지 — 학습 데이터셋 기준 평균 98% 이상 탐지율 달성 후 모니터링 시스템에 탑재
- 공구 교체 시점 기준 STFT 페이징 — PLC 사용 횟수 분 단위 연동
- 센서 노이즈 보정: 원본 DB 보존 + 화면 출력 시 P99 압축·스케일링·예외처리 분리
- ISO 13373-3 기반 결함 분석 + 포락 스펙트럼 검토
- OC-SVM 이상진단 학습/추론을 16개 앱 도메인에 백엔드에서 오케스트레이션하고, OC-SVM·TabNet·1D-CNN·LSTM·Isolation Forest 등 9개 알고리즘 계열을 단일 파이썬 AI 서버로 서빙
- 석사논문 재현 검증 — 회전성분(X-order) 특징으로 논문 대비 ±1.5%p 재현(모터 TabNet 0.988=0.988)
- 5개 공개 베어링 데이터셋 교차 일반화(TabNet +2~45%p), 특징 20배 압축(2001→99차원)