件功能概述
本系统是一款基于 YOLO 深度学习模型的羊皮缺陷检测与溯源平台,采用 Flask Web 架构,面向皮革加工检测场景,实现从"缺陷识别 → 品质评级 → 溯源二维码 → 客户扫码查询"的完整闭环。主要功能包括:
用户认证与权限管理:账号登录/注册,通过"验证密钥"机制实现工作人员授权注册,防止无关人员随意建号。
AI 缺陷检测:支持图片上传与摄像头实时抓拍两种方式,自动识别破洞、疤痕、脏点、烙印、死皱、烂边、不均等 7 种缺陷。
品质自动评级:依据缺陷数量与严重程度,自动判定优质、合格、次品、废品四级。
溯源二维码:每次检测生成唯一溯源 ID 与二维码,供客户扫码追溯。
溯源查询:独立溯源服务,客户无需登录即可查看检测结果、产地、用处、品质等信息。
历史记录管理:按用户隔离存储,支持查看与删除(撤回)。
报告打包下载:原图、结果图、二维码、检测报告整合为 ZIP 文件。
系统配置:二维码域名、网络模式、羊皮产地与用处等个性化配置。
安全运维:HTTPS 加密通信、统一管理脚本一键启停服务。
核心功能模块
用户认证模块:密码哈希存储,session 24 小时有效;注册前需输入后台生成的 8 位一次性密钥(30 分钟有效),实现受控注册。
AI 检测模块:YOLO 模型推理,支持图片上传与摄像头抓帧检测,结果自动标注并保存。
品质评级模块:缺陷 ≤2 且无严重缺陷为优质(绿);≤5 且严重缺陷 ≤1 为合格(蓝);≤10 或严重缺陷 ≤3 为次品(橙);否则为废品(红)。
溯源二维码模块:高纠错级别生成,支持自定义域名或局域网 IP 两种访问方式。
溯源服务模块:独立运行于 8080 端口的轻量 HTTP 服务,含记录缓存,客户扫码即可公开查询。
历史记录模块:记录按用户拆分为独立 JSON 文件,倒序展示,支持删除并同步清理关联文件。
打包下载模块:生成含原图、结果图、二维码及文字报告(溯源 ID、时间、检测员、产地、用处、评级、缺陷明细)的 ZIP 包。
配置模块:系统级(config.json)与用户级(产地、用处)双层配置。
业务流程路径
流程一:注册与登录 后台生成验证密钥 → 新用户输入密钥验证(一次性、30 分钟有效)→ 注册账号 → 登录进入仪表板。
流程二:检测与溯源(核心) 进入检测页 → 选择图片上传或摄像头模式 → 配置产地、用处 → 点击开始检测 → YOLO 推理识别缺陷并评级 → 展示品质等级、标注图、缺陷统计、溯源二维码 → 自动保存记录;可一键撤回删除。
流程三:客户扫码溯源 客户扫描溯源二维码 → 访问独立溯源服务 → 按溯源 ID 查询 → 展示检测结果(品质、缺陷、产地、用处、时间)→ 可下载打包报告。
流程四:历史查询与管理 进入历史记录页 → 按时间倒序加载当前用户记录 → 查看详情或删除记录
羊皮缺陷检测与溯源系统 -- 架构概述
项目定位
基于 YOLO 深度学习模型的羊皮缺陷检测系统,支持 AI 自动识别 7 种缺陷、品质评级、生成溯源二维码供客户扫码查询。
整体架构:双服务分离
系统由两个独立 Flask 服务构成,通过共享文件系统交换数据:
主服务(app.py,端口 5655,HTTPS) 面向管理员/操作员,需要登录认证。负责用户注册登录、图片上传、YOLO 模型推理、缺陷检测、品质自动评级、二维码生成、历史记录管理、系统配置。使用 HTTPS 是为了支持浏览器摄像头权限。
溯源服务(trace_server.py,端口 8080,HTTP) 面向客户,无需登录。负责溯源信息查询、检测报告展示、报告打包下载。使用纯 HTTP 避免客户手机出现证书警告,带 5 秒缓存实现轻量级快速响应。
核心设计思路
延迟加载:YOLO 模型不在启动时加载,首次检测请求时才通过 get_model() 懒加载,减少启动内存占用。
缓存策略:主服务端 10 秒 TTL 缓存全部记录,溯源端 5 秒 TTL 缓存,减少磁盘 I/O。
用户隔离:每个用户独立记录文件和配置文件,支持多用户同时操作。
密钥验证注册:管理员生成 8 位一次性密钥(30 分钟有效),写入文件供监控脚本检测,注册者需输入正确密钥才能创建账号。
品质评级引擎:4 级评级(优质/合格/次品/废品),根据缺陷总数和严重缺陷(破洞、烂边)数量综合判定,不同等级对应不同颜色。
动态域名:二维码 URL 支持三种模式 -- 自定义域名优先,其次使用独立 HTTP 溯源服务(8080 端口),最后回退局域网 IP。保证二维码始终使用 HTTP 协议。
技术栈
层级 技术 用途
Web 框架 Flask 3.0 + Werkzeug 3.0 双服务 HTTP 处理
AI 模型 Ultralytics YOLO 8.3 7 种羊皮缺陷目标检测
图像处理 OpenCV 4.10 + Pillow 11.0 图片读取/标注/保存
二维码 qrcode 7.4 溯源二维码生成(H 级纠错)
SSL pyOpenSSL 24.0 自签名证书,HTTPS 支持
前端 原生 HTML5/CSS3/JS 无框架,深色科技风 UI
包管理 uv 虚拟环境管理,清华镜像源
运维 manage.bat + PowerShell 统一管理脚本,一键启停
存储 JSON 文件 用户数据、记录、配置持久化
数据流
上传图片 -> Flask 接收 -> YOLO 推理 -> 提取缺陷 + 评级 -> 保存原图/结果图 -> 生成溯源 ID + 二维码 -> 写入 JSON 记录 -> 返回结果(含 base64 图片和二维码)。客户扫码 -> 溯源服务查询记录 -> 展示报告页面 -> 支持打包下载。
部