🏭 CLiST: Multimodal Predictive Maintenance Model

πŸ“Œ Model Description (λͺ¨λΈ κ°œμš”)

CLiST; Cross-modal Late-fusion integrated Sensor & Thermal networkλŠ” 슀마트 제쑰 ν˜„μž₯의 이솑μž₯치(AGV/OHT)μ—μ„œ λ°œμƒν•˜λŠ” 탄화 μœ„ν—˜μ„ μ‹€μ‹œκ°„μœΌλ‘œ κ°μ§€ν•˜κ³  μ˜ˆμΈ‘ν•˜κΈ° μœ„ν•΄ ν•™μŠ΅λœ 사전 ν•™μŠ΅ κ°€μ€‘μΉ˜(Pre-trained Weights)μž…λ‹ˆλ‹€.

λ³Έ ν”„λ‘œμ νŠΈμ˜ 핡심 λͺ¨λΈμΈ CLiSTλŠ” λ©€ν‹°λͺ¨λ‹¬ μ§€μ—° μœ΅ν•©(Late-Fusion) μ•„ν‚€ν…μ²˜λ₯Ό 닀룬 선행연ꡬ λ…Όλ¬Έμ˜ 아이디어λ₯Ό 기반으둜, μ‹€μ œ 슀마트 제쑰 ν˜„μž₯의 이솑μž₯치 데이터 νŠΉμ„±μ— 맞게 직접 μ„€κ³„ν•˜κ³  PyTorch둜 κ΅¬ν˜„(Implementation)ν•œ λͺ¨λΈμž…λ‹ˆλ‹€.

1D μ‹œκ³„μ—΄ μ„Όμ„œ 데이터와 2D 열화상 이미지λ₯Ό λ™μ‹œμ— λΆ„μ„ν•˜λŠ” λ©€ν‹°λͺ¨λ‹¬(Multimodal) μ•„ν‚€ν…μ²˜λ₯Ό κ°€μ§€λ©°, μž₯λΉ„μ˜ μƒνƒœλ₯Ό 4κ°€μ§€ μœ„ν—˜λ„ λ“±κΈ‰(Normal, Attention, Warning, Danger)으둜 λΆ„λ₯˜ν•©λ‹ˆλ‹€.

  • Developed by: μ „μš΄μ—΄ (Jeon Un-yeol)

  • Model type: Multimodal Classification Network (1D-CNN + Swin Transformer)

  • License: Apache-2.0

  • Language(s): Korean

πŸ—οΈ Model Architecture (λͺ¨λΈ ꡬ쑰)

  • 1D Sensor Stream: LightTSEncoder (Rolling Window + 1D-CNN)λ₯Ό 톡해 μ‹œκ³„μ—΄ μ„Όμ„œμ˜ 톡계적 λΆˆμ•ˆμ •μ„±(Mean, Var, Kurt)을 μΆ”μΆœν•©λ‹ˆλ‹€.

  • 2D Vision Stream: LiteSwinEncoder (Swin-T 기반)λ₯Ό 톡해 열화상 μ΄λ―Έμ§€μ˜ κ΅­μ†Œ λ°œμ—΄(Hot Spot) νŒ¨ν„΄μ„ νŒŒμ•…ν•©λ‹ˆλ‹€.

  • Fusion Strategy: 두 λͺ¨λ‹¬λ¦¬ν‹°μ—μ„œ μΆ”μΆœλœ νŠΉμ§•μ„ μ΅œμ’… λΆ„λ₯˜κΈ° μ§μ „μ—μ„œ κ²°ν•©ν•˜λŠ” Late Fusion (μ§€μ—° μœ΅ν•©) 방식을 μ±„νƒν•˜μ˜€μŠ΅λ‹ˆλ‹€.

πŸš€ How to Use (μ‚¬μš© 방법)

이 κ°€μ€‘μΉ˜ 파일(best_clist_model.pth)κ³Ό μ •κ·œν™” ν†΅κ³„λŸ‰ 파일(domain_stats.json)은 λ‹¨λ…μœΌλ‘œ 싀행될 수 μ—†μœΌλ©°, CLiST ν”„λ‘œμ νŠΈμ˜ 전체 μ†ŒμŠ€ μ½”λ“œμ™€ ν•¨κ»˜ μ‚¬μš©λ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€.

  1. μ†ŒμŠ€ μ½”λ“œ λ‹€μš΄λ‘œλ“œ μ•„λž˜ GitHub λ ˆν¬μ§€ν† λ¦¬μ—μ„œ μΆ”λ‘  νŒŒμ΄ν”„λΌμΈ μ½”λ“œλ₯Ό ν΄λ‘ ν•©λ‹ˆλ‹€.
  1. κ°€μ€‘μΉ˜ 파일 배치 이 Hugging Face μ €μž₯μ†Œμ˜ Files and versions νƒ­μ—μ„œ μ•„λž˜ 두 νŒŒμΌμ„ λ‹€μš΄λ‘œλ“œν•˜μ—¬, ν΄λ‘ ν•œ GitHub ν”„λ‘œμ νŠΈ λ‚΄λΆ€μ˜ weights/ 폴더 μ•ˆμ— μœ„μΉ˜μ‹œν‚΅λ‹ˆλ‹€.
  • best_clist_model.pth

  • domain_stats.json

  1. μΆ”λ‘  μ‹€ν–‰ (Python API)
from clist.pipeline import CLiSTPipeline

# νŒŒμ΄ν”„λΌμΈ λ‘œλ“œ (κ°€μ€‘μΉ˜ 및 ν†΅κ³„λŸ‰ μžλ™ 적용)
pipeline = CLiSTPipeline(weight_path='weights/best_clist_model.pth', stats_path='weights/domain_stats.json')

# 예츑 μˆ˜ν–‰
result = pipeline.predict(sensor_csv_path='sensor.csv', vision_bin_path='thermal.bin')
print(result['predicted_status']) # ex: "Danger(μœ„ν—˜)"

πŸ“Š Training Data (ν•™μŠ΅ 데이터)

이 λͺ¨λΈμ€ AI-Hub, ν•œκ΅­μ§€λŠ₯μ •λ³΄μ‚¬νšŒμ§„ν₯μ›μ—μ„œ μ œκ³΅ν•˜λŠ” 'μ œμ‘°ν˜„μž₯ 이솑μž₯치의 μ—΄ν™” μ˜ˆμ§€λ³΄μ „ λ©€ν‹°λͺ¨λ‹¬ 데이터'λ₯Ό μ‚¬μš©ν•˜μ—¬ ν•™μŠ΅λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

주의: 원본 ν•™μŠ΅ λ°μ΄ν„°λŠ” AI-Hub μ΄μš©μ•½κ΄€ 및 λŒ€ν•œλ―Όκ΅­ μ €μž‘κΆŒλ²•μ— μ˜ν•΄ λ³΄ν˜Έλ°›κ³  μžˆμœΌλ―€λ‘œ λ³Έ λͺ¨λΈ μ €μž₯μ†Œμ—λŠ” ν¬ν•¨λ˜μ–΄ μžˆμ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 데이터λ₯Ό 직접 ν™œμš©ν•˜μ‹œλ €λ©΄ AI-Hub μ›Ήμ‚¬μ΄νŠΈλ₯Ό 톡해 λ³„λ„λ‘œ μ‹ μ²­ 및 λ‹€μš΄λ‘œλ“œν•˜μ…”μ•Ό ν•©λ‹ˆλ‹€.

AI-Hub μ œμ‘°ν˜„μž₯ 이솑μž₯치 데이터 νŽ˜μ΄μ§€

πŸ“ˆ Evaluation Metrics (평가 μ§€ν‘œ)

클래슀 κ°„ 데이터 λΆˆκ· ν˜•(Class Imbalance)이 μ‹¬ν•œ μ˜ˆμ§€λ³΄μ „ λ°μ΄ν„°μ˜ νŠΉμ„±μ„ κ³ λ €ν•˜μ—¬, 주된 평가 μ§€ν‘œλ‘œ Macro F1 Scoreλ₯Ό μ‚¬μš©ν•˜μ—¬ λͺ¨λΈ μ„±λŠ₯을 검증 및 μ΅œμ ν™”(Optuna)ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support