微小金属碎屑识别系统设计与实现
MobileNetV2 对 NEU-CLS 六类金属表面缺陷图像分类识别平台,输出置信度与 Top 概率分布,含在线训练与多维度统计图表,适合轻量级深度学习质检类毕业设计。
项目封面

项目概览
本系统面向工业金属表面质检场景,采用 Flask + PyTorch MobileNetV2 + SQLite + ECharts 技术栈,基于东北大学 NEU-CLS 公开数据集训练。支持上传金属表面图像进行六类缺陷(开裂、夹杂、斑块、点蚀、氧化铁皮压入、划痕)分类识别,返回置信度、各类别概率分布与推理耗时;数据概览含缺陷分布、识别趋势、置信度分析与训练曲线,管理员可配置轮次/批次/学习率在线重新训练并热加载权重,适合作为毕业设计中轻量级 CNN 分类、工业缺陷识别与 Flask 深度学习部署方向。
项目说明
微小金属碎屑识别系统设计与实现
项目简介
本系统是一个基于 Flask Web 框架与 PyTorch 深度学习模型的金属表面缺陷/微小碎屑智能识别平台。系统面向工业质检场景,能够对上传的金属表面图像进行六类典型缺陷(开裂、夹杂、斑块、点蚀、氧化铁皮压入、划痕)自动分类,并输出置信度与推理耗时,提供识别记录、数据统计、数据集管理与在线模型训练等完整功能。
系统使用东北大学公开发布的 NEU-CLS 金属表面缺陷数据集进行模型训练,管理员可在线发起模型重新训练,训练完成后自动加载新权重。
功能模块
| 模块 | 功能说明 |
|---|---|
| 用户认证 | 用户注册、登录、退出;基于 Session 的会话管理;管理员与普通用户两级角色权限控制 |
| 数据概览 | 展示累计识别次数、今日识别、平均置信度、高置信度占比、平均推理耗时;含缺陷类别分布、识别趋势、置信度分析、推理耗时分析、时段分布、训练曲线、用户活跃度等多维度图表 |
| 碎屑识别 | 支持上传单张金属表面/碎屑图像,执行 MobileNetV2 分类推理,返回缺陷类别、置信度、各类别概率分布,并自动保存识别记录 |
| 识别记录 | 检测历史分页浏览,支持 CSV 导出(中文表头),管理员可查看全部用户记录 |
| 数据集 | 展示 NEU-CLS 数据集信息(类别说明、样本数量、存储路径) |
| 模型训练 | 可配置训练轮次、批次大小、学习率并启动在线训练,查看训练历史与验证准确率 |
| 用户管理 | 管理员查看系统用户列表 |
缺陷类别
系统支持识别以下六类金属表面缺陷/碎屑形态:
| 代码 | 英文标识 | 中文名称 | 说明 |
|---|---|---|---|
| Cr | Crazing | 开裂 | 表面细微裂纹 |
| In | Inclusion | 夹杂 | 异物压入形成的夹杂缺陷 |
| Pa | Patches | 斑块 | 局部色差斑块 |
| PS | Pitted Surface | 点蚀 | 点状腐蚀坑 |
| RS | Rolled-in Scale | 氧化铁皮压入 | 轧制过程中氧化皮压入 |
| Sc | Scratches | 划痕 | 机械划伤痕迹 |
标准版目录结构
python-weixiao-jinshu-shibie/
├── app.py # Flask 应用主入口,页面路由与 API 接口定义
├── config.py # 系统配置(端口、数据库路径、类别映射、训练默认参数)
├── run.py # Python 一键启动脚本
├── requirements.txt # Python 依赖包清单
├── mac_run.sh # macOS/Linux 一键启动脚本
├── mac_clear_all.sh # 交付前数据清理脚本
├── mac_clear_all.md # 数据清理说明
├── window_run.bat # Windows 一键启动脚本
├── 项目说明.md # 项目功能与目录结构说明(本文件)
├── 训练手册.md # 模型训练与数据集使用手册
├── database/
│ └── db.py # SQLite 数据库表结构与数据访问
├── models/
│ ├── classifier.py # MobileNetV2 分类模型定义
│ └── predict.py # 推理服务(加载权重、预测、热加载)
├── training/
│ ├── download_dataset.py # NEU-CLS 数据集下载与整理
│ └── train_model.py # 模型训练脚本
├── templates/ # Jinja2 HTML 模板
│ ├── base.html # 基础模板
│ ├── layout.html # 顶部导航布局
│ ├── login.html # 登录页
│ ├── register.html # 注册页
│ ├── dashboard.html # 数据概览
│ ├── detect.html # 碎屑识别页
│ ├── history.html # 识别记录页
│ ├── dataset.html # 数据集管理页
│ ├── training.html # 模型训练页
│ └── users.html # 用户管理页
├── static/
│ ├── css/style.css # 工业风自定义样式
│ └── vendor/ # 本地前端资源(无需 CDN)
│ ├── bootstrap/ # Bootstrap 5.3
│ └── echarts/ # ECharts 5.5
├── data/
│ └── neu_cls/ # NEU-CLS 数据集(自动下载)
│ ├── Cr/ In/ Pa/ PS/ RS/ Sc/
├── weights/
│ ├── best_model.pth # 训练输出的模型权重
│ └── model_meta.json # 模型元信息(类别、准确率等)
├── uploads/ # 用户上传图像
├── logs/ # 训练日志
├── docs/
│ └── dataset.md # 数据集下载地址追溯文档
├── 运行步骤必看/
│ ├── mac.md # macOS 运行步骤
│ └── window.md # Windows 运行步骤
└── 用户上传检测文件/ # 测试用示例图像(每类一张)
技术栈
| 类别 | 技术 |
|---|---|
| 后端框架 | Python 3.12 + Flask 3.0 |
| 用户认证 | Werkzeug pbkdf2 密码哈希 + Flask Session |
| 数据库 | SQLite 3 |
| 深度学习 | PyTorch 2.2 + torchvision MobileNetV2(图像分类) |
| 图像处理 | Pillow |
| 前端 | HTML5 + Bootstrap 5.3 + ECharts 5.5 |
| 数据集来源 | NEU-CLS 东北大学金属表面缺陷公开数据集 |
环境要求
| 项目 | 要求 |
|---|---|
| Python | 3.12(mac 使用 python3.12,Windows 使用 python) |
| 操作系统 | Windows / macOS / Linux |
| 内存 | 建议 4GB 以上 |
| 磁盘 | 约 1GB(含依赖、数据集与模型权重) |
| GPU | 可选,支持 CUDA / CPU |
| 浏览器 | Chrome / Firefox / Safari / Edge 现代版本 |
账号信息
系统初始化时自动创建以下默认账户:
| 角色 | 用户名 | 密码 | 权限 |
|---|---|---|---|
| 管理员 | admin | admin123 | 全部功能,含数据集下载、模型训练、用户管理 |
新注册用户默认为普通用户角色,仅能访问自身识别数据;管理员可查看全部用户数据。
端口说明
服务端口在 6000–9000 范围内首次随机生成,并持久化到 config/port.json,后续启动沿用同一端口。启动后请在控制台查看实际访问地址。
获取完整源码
技术分类
包含内容
适合方向
适合人工智能、机械工程、软件工程专业毕业设计中 MobileNetV2 图像分类、金属缺陷识别与工业质检 Web 系统方向。
关于 AI源码
AI源码 整理计算机毕业设计、课程设计向的可运行项目参考,含说明文档与演示材料。完整源码请通过联系方式沟通获取。
相关推荐
查看全部 →
基于用户画像的食谱推荐系统
Flask+SQLite 食谱推荐 Web:问卷与活动数据构建用户向量,KMeans 聚类画像 + 规则过滤 + RandomForest 融合排序,输出可解释推荐,含 Hit@K/NDCG 离线评估,适合推荐系统毕业设计。

基于协同过滤的电影推荐系统设计与实现
Flask+SQLite 豆瓣电影推荐平台:scikit-surprise 实现 UserCF/ItemCF,三级冷启动降级、星级评分收藏、Pyecharts 后台图表与一键重训,含算法讲解页,适合推荐算法毕业设计。

基于机器学习的古籍文字识别与断句校正系统
Vue3+Flask 古籍 OCR 流水线:PaddleOCR 识文、文本整理勘校、BERT 句读标注与多格式导出,JWT 任务隔离,支持离线微调数据闭环,适合 OCR+NLP 毕业设计。

基于深度学习的音乐风格分类系统
Django+Vue2 音乐平台:Mel 频谱 CNN+Bi-LSTM 八类风格分类,含在线 MP3 播放、协同过滤推荐、热榜与 SimpleUI 管理后台,MySQL 预置 12 首歌曲,适合深度学习+Web 毕业设计。

基于深度学习的日常服饰分类与推荐系统设计
PyTorch CNN 对 Fashion-MNIST 服饰图像 Top-5 分类,融合协同过滤与 Embedding 相似度的混合推荐引擎,含 120 件商品目录与评分收藏,适合深度学习推荐系统类毕业设计。

微小异物检测与识别系统
YOLOv8 工业表面六类微小缺陷(龟裂、夹杂、点蚀等)检测平台,基于 NEU-DET 钢材数据集,支持单张/批量检测、在线训练与 PDF 报告导出,适合计算机视觉质检类毕业设计。