跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像AI 生图工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PythonAI算法

基于 YOLO 的深度学习纺织品缺陷检测系统设计与实现

纺织品缺陷检测系统采用 YOLOv5/v8/v11/v12 系列模型结合 Django 框架开发。系统支持图片、视频及摄像头实时流分析,具备缺陷类别过滤、结果导出 Excel、识别历史追溯及多模型切换功能。提供自动化训练脚本,可动态修正数据集路径并批量训练不同版本模型。实验对比显示 YOLO12n 精度最高(mAP 40.6%),YOLO11n 推理速度最优(56.1ms)。数据集包含 13000 余张图片,涵盖 4 种缺陷类别,混淆矩阵与 F1 曲线验证了模型在工业场景下的有效性。

古灵精怪发布于 2026/4/7更新于 2026/7/2153 浏览
基于 YOLO 的深度学习纺织品缺陷检测系统设计与实现

项目演示

用户登录界面

登录界面布局简洁清晰,用户需输入用户名、密码验证后登录系统。

登录界面

主界面布局

主界面采用三栏结构,左侧为功能操作区,中间用于展示检测画面,右侧呈现目标详细信息,布局合理,交互流畅。

主界面

个人信息管理

用户可在此模块中修改密码或更换头像,个人信息支持随时更新与保存。

个人信息

多模态检测展示

系统支持图片、视频及摄像头实时画面的目标检测。识别结果将在画面中标注显示,并且带有语音播报提醒,并在下方列表中逐项列出。点击具体目标可查看其类别、置信度及位置坐标等详细信息。

检测展示

检测结果保存

可以将检测后的图片、视频进行保存,生成新的图片和视频,新生成的图片和视频中会带有检测结果的标注信息,并且还可以将所有检测结果的数据信息保存到 Excel 中进行,方便查看检测结果。

结果保存

结果导出

多模型切换

系统内置多种已训练模型,用户可根据实际需求灵活切换,以适应不同检测场景或对比识别效果。

模型加载

识别历史浏览

系统内支持用户对识别历史进行浏览,以方便用户查看历史识别记录,可以对识别历史的结果图片进行一个点击放大。

管理员管理用户信息

系统内支持管理员端的登录操作,登录以后可以对用户信息进行编辑修改和删除,以方实现对用户信息的管理操作。

管理员端用户管理

管理员管理识别历史

系统内支持管理员对识别历史的单条和多条历史记录的一个浏览和删除操作,以方便管理员对识别历史进行管理。

管理员端识别历史

模型训练核心代码

本脚本是 YOLO 模型批量训练工具,可自动修正数据集路径为绝对路径,从 pretrained 文件夹加载预训练模型,按设定参数(100 轮/640 尺寸/批次 8)一键批量训练 YOLOv5nu/v8n/v11n/v12n 模型。

# -*- coding: utf-8 -*-
"""
该脚本用于执行 YOLO 模型的训练。
它会自动处理以下任务:
1. 动态修改数据集配置文件 (data.yaml),将相对路径更新为绝对路径,以确保训练时能正确找到数据。
2. 从 'pretrained' 文件夹加载指定的预训练模型。
3. 使用预设的参数(如 epochs, imgsz, batch)启动训练过程。
要开始训练,只需直接运行此脚本。
"""
import os
import yaml
from pathlib import Path
from ultralytics import YOLO

def main():
    """主训练函数。"""
    # --- 1. 配置模型和路径 ---
    models_to_train = [
        {'name': 'yolov5nu.pt', 'train_name': 'train_yolov5nu'},
        {'name': 'yolov8n.pt', 'train_name': 'train_yolov8n'},
        {'name': 'yolo11n.pt', 'train_name': 'train_yolo11n'},
        {'name': 'yolo12n.pt', 'train_name': 'train_yolo12n'}
    ]
    current_dir = os.path.abspath(os.getcwd())

    # --- 2. 动态配置数据集 YAML 文件 ---
    data_yaml_path = os.path.join(current_dir, 'train_data', 'data.yaml')
    with open(data_yaml_path, 'r', encoding='utf-8') as f:
        data_config = yaml.safe_load(f)
    data_config['path'] = os.path.join(current_dir, 'train_data')
    with open(data_yaml_path, 'w', encoding='utf-8') as f:
        yaml.dump(data_config, f, default_flow_style=False, allow_unicode=True)

    # --- 3. 循环训练每个模型 ---
    for model_info in models_to_train:
        model_name = model_info['name']
        train_name = model_info['train_name']
        print(f"\n{'='*60}")
        print(f"开始训练模型:{model_name}")
        print(f"训练名称:{train_name}")
        print(f"{'='*60}")
        pretrained_model_path = os.path.join(current_dir, 'pretrained', model_name)
        if not os.path.exists(pretrained_model_path):
            print(f"警告:预训练模型文件不存在:{pretrained_model_path}")
            continue
        try:
            model = YOLO(pretrained_model_path)
            print(f"开始训练 {model_name}...")
            model.train(
                data=data_yaml_path,
                epochs=100,
                imgsz=640,
                batch=8,
                name=train_name
            )
            print(f"{model_name} 训练完成!")
        except Exception as e:
            print(f"训练 {model_name} 时出现错误:{str(e)}")
            continue
    print(f"\n{'='*60}")
    print("所有模型训练完成!")
    print(f"{'='*60}")

if __name__ == "__main__":
    main()

技术栈

  • 语言:Python 3.10
  • 前端界面:bootstrap
  • 后端:django
  • 数据库:SQLite(存储用户信息)
  • 模型:YOLOv5、YOLOv8、YOLOv11、YOLOv12

YOLO 模型对比与识别效果解析

YOLOv5/YOLOv8/YOLOv11/YOLOv12 模型对比

基于 Ultralytics 官方 COCO 数据集训练结果:

模型尺寸 (像素)mAPval 50-95速度 (CPU ONNX/毫秒)参数 (M)FLOPs (B)
YOLO12n64040.6-2.66.5
YOLO11n64039.556.1 ± 0.82.66.5
YOLOv8n64037.380.43.28.7
YOLOv5nu64034.373.62.67.7

关键结论:

  1. 精度最高:YOLO12n(mAP 40.6%),显著领先其他模型;
  2. 速度最优:YOLO11n(CPU 推理 56.1ms),比 YOLOv8n 快 42%,适合实时轻量部署;
  3. 效率均衡:YOLO12n/YOLO11n/YOLOv8n/YOLOv5nu 参数量均为 2.6M,FLOPs 较低;YOLOv8n 参数量与计算量最高,但精度优势不明显。

综合推荐:

  • 追求高精度:优先选 YOLO12n;
  • 需高速低耗:选 YOLO11n;
  • YOLOv5nu/YOLOv8n 因性能劣势,无特殊需求时不建议首选。

数据集分析

数据集中训练集和验证集一共 13000+ 张图片,数据集目标类别 4 种,数据集配置代码如下:

labels

数据集

train_batch0

train_batch1

上面的图片就是部分样本集训练中经过数据增强后的效果标注。

训练结果

混淆矩阵显示中识别精准度显示是一条对角线,方块颜色越深代表对应的类别识别的精准度越高。

confusion_matrix_normalized

F1 指数(F1 Score)是统计学和机器学习中用于评估分类模型性能的核心指标,综合了模型的精确率(Precision)和召回率(Recall),通过调和平均数平衡两者的表现。

当置信度为 0.458 时,所有类别的综合 F1 值达到了 0.81(蓝色曲线)。

BoxF1_curve

[email protected]:是目标检测任务中常用的评估指标,表示在交并比(IoU)阈值为 0.5 时计算的平均精度均值(mAP)。其核心含义是:只有当预测框与真实框的重叠面积(IoU)≥50% 时,才认为检测结果正确。

图中可以看到综合 [email protected] 达到了 0.802(80.2%)。

BoxPR_curve

目录

  1. 项目演示
  2. 用户登录界面
  3. 主界面布局
  4. 个人信息管理
  5. 多模态检测展示
  6. 检测结果保存
  7. 多模型切换
  8. 识别历史浏览
  9. 管理员管理用户信息
  10. 管理员管理识别历史
  11. 模型训练核心代码
  12. -- coding: utf-8 --
  13. 技术栈
  14. YOLO 模型对比与识别效果解析
  15. YOLOv5/YOLOv8/YOLOv11/YOLOv12 模型对比
  16. 数据集分析
  17. 训练结果
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • Linux 多线程开发:线程创建、终止、等待与分离实战
  • DeepSeek 与通义万相结合实现 AI 视频高效制作实战
  • Web Worker:前端多线程开发的隐形引擎
  • HDFS 多租户隔离:企业级部署的关键技术
  • 小米 9 改装复古掌机:天马 G 前端实战指南
  • Mac mini M4 部署 OpenClaw + Ollama 本地大模型接入飞书机器人
  • GitHub Copilot 学生优惠认证指南(非校园网环境)
  • AI 绘画隐私保护方案:麦橘超然本地部署实践
  • AI Agent 中的 Skills:概念与核心作用
  • C++26 性能优化:利用 CPU 亲和性提升响应速度
  • 模拟算法实战:替换问号、提莫攻击、Z 字形变换等 5 题解析
  • Enterprise Architect 16 下载、安装与功能简介
  • Redis 主从复制原理及作用详解
  • C++ 多态详解:虚函数、虚表与动态绑定机制
  • JavaScript 对象与数组核心用法
  • Ubuntu 24.04 安装 ROS2 Jazzy 完整指南
  • Python 微信小程序校园二手商品交易系统设计与实现
  • AIGC 电影《编钟》制作幕后复盘
  • 前端模块化开发:从面条代码到结构化代码的蜕变
  • JDK 17 下载与安装详细教程

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online