728x90

멀티센서 융합 기반 품질 이상 판별 (Sensor Fusion + 이상 탐지 AI)

🎯 목표

정전용량 센서, 광센서, 유량센서 등 여러 센서를 통해 제품의 상태를 감지하고,
그 데이터를 AI 모델이 학습해 불량품을 자동 감지하는 시스템을 Unity에서 구현합니다.


🧩 사용 기술

  • Unity (센서 동작 시뮬레이션, 제품 상태 구현)
  • Python (이상 탐지 모델: Autoencoder / Isolation Forest)
  • C# (센서값 로깅, 판별 결과 반영)
  • 머신러닝 기반 이상 분류기
  • 선택: ONNX 모델 로딩 (Unity 추론 적용 시)

🖼️ 시뮬레이션 화면 예시

제품이 센서를 통과하면서 각 센서가 값을 수집하고, AI가 이 데이터를 분석해 불량 여부를 판단


🛠 Unity 구현 단계

1️⃣ 구성 요소 설계

오브젝트 설명
Product 감지 대상 물체 (Cube, Sphere 등 불량 포함)
CapacitiveSensor 재질 감지 (예: 금속 vs 비금속)
LightSensor 위치/정렬 상태 감지
FlowSensor 내부 유량 감지 시뮬레이션 (예: 정해진 액체 통과 여부)
InspectionManager 모든 센서 값을 종합하고 AI 호출
 

2️⃣ 센서 감지 스크립트 (C#)

public class SensorReader : MonoBehaviour
{
    public float sensorValue;

    private void OnTriggerEnter(Collider other)
    {
        if (other.CompareTag("Product"))
        {
            sensorValue = Random.Range(0.8f, 1.2f); // 간단한 센서값 시뮬
        }
    }
}

3️⃣ 멀티센서 데이터 수집 및 라벨링

public class InspectionManager : MonoBehaviour
{
    public SensorReader capacitive;
    public SensorReader light;
    public SensorReader flow;
    public Text resultText;

    void Inspect()
    {
        float[] features = new float[]
        {
            capacitive.sensorValue,
            light.sensorValue,
            flow.sensorValue
        };

        bool isDefective = RunMLModel(features);
        resultText.text = isDefective ? "❌ 불량" : "✅ 정상품";
    }

    bool RunMLModel(float[] input)
    {
        // 예: 평균과 편차 기반 간단 판별
        float avg = input.Average();
        return avg < 0.85f || avg > 1.15f;
    }
}

※ 초기에는 간단한 수치 판별 사용 → 추후 Python 학습 모델 적용 가능


🧠 Python AI 모델 학습 (이상 탐지)

Isolation Forest 사용 예시

from sklearn.ensemble import IsolationForest
import pandas as pd

df = pd.read_csv("sensor_dataset.csv")  # 컬럼: Capacitive, Light, Flow
model = IsolationForest()
model.fit(df[['Capacitive', 'Light', 'Flow']])
df['Anomaly'] = model.predict(df[['Capacitive', 'Light', 'Flow']])  # 1 = 정상, -1 = 불량

# 저장
import joblib
joblib.dump(model, 'sensor_model.pkl')

Unity ↔ Python 연결 방법 (선택)

  • Flask 서버 구성 후 Unity에서 HTTP GET으로 예측 요청
  • 또는 ONNX로 모델 변환 후 Unity 내 ONNX 추론 적용 (고급)

🎁 기대 결과

  • 센서 3개 이상을 융합한 품질 검사 가능
  • AI 기반으로 불량 자동 감지 → 검사 속도 향상
  • Unity에서 품질 판별 시뮬레이션까지 시각화 완료

📈 확장 아이디어

확장 주제 설명
제품 회전/정렬 불량 감지 3D 위치 기반 센서 추가
센서 간 상관관계 분석 PCA, SHAP 등으로 중요도 분석
강화학습과 결합 검사 타이밍 최적화
728x90

+ Recent posts