ONNX 模型库
返回模型

说明文档

异常检测模型 – 铸造缺陷检测的边缘 AI

概述

异常检测模型是一个基于自编码器的异常检测系统,针对工业铸造缺陷检测进行了微调。它通过重建输入图像并分析重建误差,来识别金属铸造图像是正常(OK)还是有缺陷

该模型专为边缘 AI 部署设计,通过 ONNXOpenVINO IR 格式优化,可在低功耗 Intel 边缘设备上高效运行。


模型详情

  • 架构: 卷积自编码器
  • 框架: PyTorch
  • 训练目标: 最小化正常样本的重建损失(MSE)
  • 优化: 导出为 ONNX 和 OpenVINO IR 格式以进行边缘推理
  • 任务: 无监督异常检测
  • 领域: 工业视觉检测

仓库结构

├── casting_autoencoder.pth    # 训练好的 PyTorch 模型
├── casting_autoencoder.onnx   # ONNX 导出
├── model.bin                  # OpenVINO IR 模型
├── model.xml                  # OpenVINO IR 模型
├── model_card.yaml
├── requirements.txt           # 依赖项
├── inference.py               # 推理代码
└── README.md                  # 模型卡片(本文件)

数据集

数据集: 铸造产品图像数据集

  • 类别: 有缺陷 / 正常
  • 模态: 灰度工业图像
  • 训练策略: 仅使用正常样本训练自编码器。

关键配置参数

  • 图像尺寸:304×304 像素
  • 批次大小:32
  • 学习率:1e-3
  • 训练轮数:10
  • 损失函数:MSE 损失
  • 优化器:Adam

模型输出

训练脚本生成:

  • casting_autoencoder.pth - PyTorch 模型权重
  • casting_autoencoder.onnx - 用于部署的 ONNX 导出
  • 基于缺陷样本校准的异常阈值

异常检测流程

  1. 训练阶段:模型学习重建正常的铸造图像
  2. 阈值校准:使用缺陷样本确定最优阈值
  3. 推理:重建误差 > 阈值的图像被标记为有缺陷

性能

  • 最终训练损失:0.0005
  • 建议阈值:0.0004
  • 模型类型:无监督异常检测
  • 架构:卷积自编码器

应用场景

该模型适用于:

  • 金属铸造制造中的质量控制
  • 生产线上的实时缺陷检测
  • 自动化视觉检测系统
  • 工业环境中的边缘部署

模型特性

  • 无监督学习:仅在正常样本上训练
  • 实时能力:针对边缘部署进行了优化
  • ONNX 兼容:可用于生产部署
  • 自动阈值:自校准异常检测
  • 工业级:在真实制造数据上测试

技术细节

该模型采用对称的编码器-解码器架构:

  • 步幅为 2 的卷积用于下采样
  • 转置卷积用于上采样
  • 隐藏层使用 ReLU 激活函数
  • 输出层使用 Sigmoid 激活函数进行像素重建

导出与部署

格式 用途
.pth 原始 PyTorch 模型
.onnx 框架无关的推理
.xml / .bin 用于边缘设备的 OpenVINO IR 格式

边缘优化: 模型使用 openvino.convert_model() 进行转换和优化。


预期用途

  • 制造/质检系统的自动化视觉检测。
  • 工业环境中的实时边缘部署。

不推荐用于:

  • 非工业数据集。
  • 存在显著域漂移的场景(例如,光照变化或非铸造物体)。

局限性

  • 准确性取决于光照和背景的一致性。
  • 模型主要在灰度铸造图像上训练。
  • 异常检测的阈值必须针对特定部署环境进行调整。

许可证

本项目采用 MIT 许可证发布。


作者

Arunima Surendran
应用 AI 工程师
GitHub 仓库


arunimas1107/anomalydetectionmodel

作者 arunimas1107

image-classification pytorch
↓ 1 ♥ 0

创建时间: 2025-10-24 11:54:48+00:00

更新时间: 2025-10-24 13:46:12+00:00

在 Hugging Face 上查看

文件 (9)

.gitattributes
README.md
casting_autoencoder.onnx ONNX
casting_autoencoder.pth
inference.py
model.bin
model.xml
model_card.yaml
requirements.txt