毕业设计-基于深度学习的瓷砖表面缺陷检测算法系统 YOLO python 卷积神经网络 人工智能

基于YOLO的瓷砖缺陷检测系统设计与实现(附数据集+源码) 本文实现的系统展示了深度学习与传统工业检测结合的强大潜力。通过YOLO算法的高精度检测能力,配合精心设计的GUI界面,为制造业质量管控提供了可靠的技术工具。 阅读详情
AI摘要

本文介绍了一种基于深度学习的瓷砖表面缺陷检测系统,重点探讨了YOLOv5算法的改进,包括模型结构简化、轻量化模块和注意力机制的引入,以提高检测效率和准确性。作者通过实验展示了优化后的模型在小目标检测上的优势,特别是在满足实时性需求的同时,减少了参数量和计算量。

目录

 前言

设计思路

一、课题背景与意义

二、算法理论原理

2.1  YOLOv5 算法

2.2 注意力机制

三、检测的实现

3.1 数据集

3.2 实验环境搭建

3.3 实验及结果分析

实现效果图样例

最后


前言

       📅大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科同学来说是充满挑战。为帮助大家顺利通过和节省时间与精力投入到更重要的就业和考试中去,学长分享优质的选题经验和毕设项目与技术思路。

        🚀对毕设有任何疑问都可以问学长哦!

         选题指导:

        最新最全计算机专业毕设选题精选推荐汇总

        大家好,这里是海浪学长毕设专题,本次分享的课题是

        🎯基于深度学习的瓷砖表面缺陷检测算法系统

设计思路

一、课题背景与意义

       目前在瓷砖表面缺陷检测环节中,主要通过质检人员利用人眼主观地去判断瓷砖表面是否存在瑕疵。质检人员长时间在强光高噪音的环境下工作,存在检测效率低、人力成本高、检测质量不稳定等问题。相较于人工检测,使用机器来实现瓷砖表面缺陷的自动检测也存在很多问题,瓷砖表面缺陷检测一直是困扰瓷砖行业的痛点,也是瓷砖行业发展的瓶颈。

二、算法理论原理

2.1  YOLOv5 算法

       为了解决瓷砖表面缺陷检测存在的小目标检测困难、实时性要求高的问题。改进点主要分为3个部分:

  • 1) 模型结构改进:删除原模型中专门用来检测大目标的冗余检测头分支;
  • 2) 模型轻量化改进:使用轻量化模块ghost convolution和C3Ghost替换原模型Backbone网络中的C3和普通卷积模块;
  • 3) 添加注意力机制:为了让模型更关注重要的区域,在Backbone和Neck网络末端添加CA (coordinate attention) block。

毕业设计-基于深度学习的瓷砖表面缺陷检测算法系统 YOLO python 卷积神经网络 人工智能

       为了对比拥有不同数量目标检测头分支的YOLOv5s模型,在Prediction网络添加了一个专门针对微小目标的检测头,在Neck网络中采用FPN+PANet的网络结构,添加了A1和A2部分,A1与P2输出的特征信息拼接后直接对微小目标进行检测。

毕业设计-基于深度学习的瓷砖表面缺陷检测算法系统 YOLO python 卷积神经网络 人工智能

2.2 注意力机制

       对YOLOv5s模型进行轻量化改进思路是使用基于ghost module的ghost convolution和C3Ghost去分别替换原模型Backbone网络中的普通卷积和C3模块。

毕业设计-基于深度学习的瓷砖表面缺陷检测算法系统 YOLO python 卷积神经网络 人工智能

       CA block网络结构,相比于SE block,它除了考虑通道间的关系外,还考虑了特征空间的位置信息,在通道注意力中结合水平方向信息和垂直方向信息,这能帮助模型更加精确地定位和识别感兴趣的目标。

毕业设计-基于深度学习的瓷砖表面缺陷检测算法系统 YOLO python 卷积神经网络 人工智能

相关代码:

import tensorflow as tf

def compute_attention_weights(inputs):
    # 计算水平方向的注意力权重
    horizontal_attention = tf.keras.layers.Conv2D(1, kernel_size=1, activation='sigmoid')(inputs)
    
    # 计算垂直方向的注意力权重
    vertical_attention = tf.keras.layers.Conv2D(1, kernel_size=1, activation='sigmoid')(inputs)
    
    return horizontal_attention, vertical_attention

# 创建一个输入张量
inputs = tf.keras.layers.Input(shape=(64, 64, 3))

# 计算注意力权重
horizontal_weights, vertical_weights = compute_attention_weights(inputs)

# 创建模型
model = tf.keras.Model(inputs=inputs, outputs=[horizontal_weights, vertical_weights])

# 打印模型结构
model.summary()

三、检测的实现

3.1 数据集

       数据集是天池瓷砖瑕疵检测数据集,共有5388张图像。主要分为6种缺陷,分别是边异常、角异常、白色点瑕疵、浅色块瑕疵、深色点块瑕疵和光圈瑕疵。本文从中随机选取4168张作为训练集,610张作为验证集,610张作为测试集。

毕业设计-基于深度学习的瓷砖表面缺陷检测算法系统 YOLO python 卷积神经网络 人工智能

       对瓷砖瑕疵检测数据集进行数据分析发现绝大部分瓷砖表面缺陷高度尺寸要小于原始图像高度尺寸的0.5%,宽度尺寸小于原始图像宽度尺寸的2%,瓷砖表面缺陷只占原始图像中很小一部分面积,且目标缺陷的长宽尺寸较小,因此小目标检测是瓷砖表面缺陷检测的重点。

毕业设计-基于深度学习的瓷砖表面缺陷检测算法系统 YOLO python 卷积神经网络 人工智能

3.2 实验环境搭建

       训练和测试所使用的GPU为Nvidia RTX 3090,操作系统为Ubuntu,版本为20.04,采用PyTorch深度学习框架,版本号为1.9.0,CUDA版本为11.2,cuDNN版本8.0.5。训练的初始学习率为0.01,最大迭代次数为400,batch size设置为4。

3.3 实验及结果分析

       以YOLOv5s-de为基准模型进行消融实验,实验主要包括以下2个部分:第1部分是对比3种不同的轻量化模块,包括深度可分离卷积、ghost convolution以及C3Ghost。第2部分对比两种不同的注意力机制模块,包括SE block和CA block。

毕业设计-基于深度学习的瓷砖表面缺陷检测算法系统 YOLO python 卷积神经网络 人工智能

       使用ghost convolution和C3Ghost两种轻量化模块,再选择添加CA block后的模型平均精度均值最高,达到66%。相比于原YOLOv5s模型,mAP0.5提升了1.8%,参数量减少了48.7%,计算量减少了38.7%。在参数数量和计算量少于原模型的基础上,实现了更高的平均精度均值和更快的检测速度。

毕业设计-基于深度学习的瓷砖表面缺陷检测算法系统 YOLO python 卷积神经网络 人工智能

       改进后的模型在小目标缺陷检测方面表现出色,特别适用于检测瓷砖表面缺陷这种类型的微小目标。此外,改进后的模型参数量和计算量最少,能够很好地满足瓷砖表面缺陷检测对实时性的要求。

毕业设计-基于深度学习的瓷砖表面缺陷检测算法系统 YOLO python 卷积神经网络 人工智能

相关代码如下:

import tensorflow as tf

# 加载和预处理数据集
def load_dataset():
    # TODO: 加载瓷砖表面缺陷的图像数据集,并进行预处理(如图像大小调整、归一化等)
    pass

# 构建模型
def build_model():
    model = tf.keras.Sequential()
    
    # TODO: 添加卷积层、池化层、全连接层等构建深度学习模型的代码
    # 可以使用常见的卷积神经网络架构,如ResNet、VGG等
    
    return model

# 进行模型训练
def train_model(model, X_train, y_train):
    model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
    model.fit(X_train, y_train, epochs=10, batch_size=32)
    
# 进行模型评估
def evaluate_model(model, X_test, y_test):
    loss, accuracy = model.evaluate(X_test, y_test)
    print("Test Loss:", loss)
    print("Test Accuracy:", accuracy)

实现效果图样例

毕业设计-基于深度学习的瓷砖表面缺陷检测算法系统 YOLO python 卷积神经网络 人工智能

创作不易,欢迎点赞、关注、收藏。

毕设帮助,疑难解答,欢迎打扰!

最后

基于Faster RCNN时间钢铁表面的缺陷检测 详细介绍了在在钢铁表面缺陷检测数据集上训练了几个物体检测模型。训练结束后,用最好的模型进一步分析结果 阅读详情

相关推荐

基于Faster R-CNN的瓷砖表面瑕疵检测:一个深度学习方法的实现与优化

Faster R-CNN是一种用于目标检测的深度学习模型,于2015年提出。与之前的R-CNN和Fast R-CNN相比,它通过引入(RPN)来生成候选区域,大大提高了目标检测速度。Convolutional layers: 使用卷积层提取图像特征;Region Proposal Network (RPN): 基于图像特征生成候选区域;ROI pooling: 将候选区域的特征转化为固定大小,以便进行分类和回归;Classification: 对候选区域进行分类;

斌擎科技 1061

EfficienetAD异常值检测之瓷砖表面缺陷检测(免费下载测试数据集和模型)

在工业质量把控需求下,EfficienetAD 表面缺陷异常值检测技术应运而生。它以高效精准算法突破传统检测瓶颈,本文聚焦磁夸表面,详述如何运用该算法进行异常值检测,助力企业精准识别缺陷,严守产品质量关卡。

qq_28942201的博客 503

深度学习图像识别数据集:5种常见瓷砖缺陷分类数据集

数据集包含5种常见瓷砖缺陷分类数据集,数据按照文件夹储存,不需要处理可直接用作深度学习训练数据。 数据分为以下5种常见瓷砖缺陷:气孔、破碎、裂纹、磨损、凹凸不平 数据集总大小:14MB 下载解压后的图像目录:训练集(315张图片)和测试集(77张图片) data-train 训练集-每个子文件夹放同类别的图像,文件夹名为分类类别 data-test 测试集-每个子文件夹放同类别的图像,文件夹名为分类类别 除此之外,提供了classes的json字典类别文件,以及可视化的脚本py文件

毕业设计-基于注意力机制的瓷砖缺陷智能检测系统 YOLO python 人工智能

基于注意力机制的的瓷砖表面缺陷检测系统,作为计算机毕业设计的成果。该系统利用先进的深度学习技术,针对瓷砖表面的缺陷进行自动化检测和分类。通过收集大量的瓷砖表面图像数据,并进行标注和预处理,我们设计了一个高效准确的检测模型,能够实时识别和定位瓷砖表面的各种缺陷,如裂纹、破损和色差等。该系统具有快速检测速度和高度准确的特点,可以大大提高瓷砖生产过程中的质量控制和缺陷识别效率。这个毕业设计为瓷砖生产企业提供了一种智能化、高效的表面缺陷检测解决方案,并在推动深度学习技术在工业领域的应用方面具有重要意义。

2301_79555157的博客 996

瓷砖瑕疵检测数据集VOC+YOLO标注.zip

天池瓷砖瑕疵检测数据集VOC+YOLO标注文件,官方提供格式是自己定义的不方便,于是转成VOC和YOLO格式方便做yolo训练

数据集瓷砖缺陷数据集yolo+voc格式888张3个标签.zip

数据集介绍:采用图片均为单块瓷砖的图,对其上的划痕线、破洞以及边缘破碎进行标注,共3个标签 数据集格式:VOC格式+YOLO格式 压缩包内含:3个文件夹,分别存储图片、xml、txt文件 JPEGImages文件夹中jpg图片总计:888 Annotations文件夹中xml文件总计:888 labels文件夹中txt文件总计:888 标签种类数:3 标签名称:["bianyuanposui","huahengxian","podong"] 每个标签的框数: bianyuanposui 框数 = 6054 huahengxian 框数 = 4216 podong 框数 = 6288 总框数:16558 图片清晰度(分辨率:像素):清晰 图片是否增强:否 标签形状:矩形框,用于目标检测识别 重要说明:暂无 特别声明:本数据集不对训练的模型或者权重文件精度作任何保证,数据集只提供准确且合理标注

【目标检测】室内地板砖铺设缺陷检测数据集2000张VOC+YOLO格式

数据集格式:Pascal VOC格式+YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件)标注类别名称:["TILE_BREAK","TILE_CRACK","TILE_ERROR_LINE","TILE_SCRATCH"]TILE_ERROR_LINE 框数 = 3147。图片数量(jpg文件个数):2002。标注数量(xml文件个数):2002。标注数量(txt文件个数):2002。标注规则:对类别进行画矩形框。

lwx666sl的博客 640

6种常见磁瓦缺陷数据集.zip

磁砖表面缺陷的数据集,采集了6种常见磁砖缺陷的图像,并对其像素级的地面真实度进行了标记。 官网链接:https://github.com/abin24/Magnetic-tile-defect-datasets. 若使用,请引用: [1] Huang Y , Qiu C , Guo Y , et al. Surface Defect Saliency of Magnetic Tile[C]// 2018 IEEE 14th International Conference on Automation Science and Engineering (CASE). IEEE, 2018.

[数据集][目标检测]护目镜检测数据集VOC+YOLO格式888张1类别

数据集格式:Pascal VOC格式+YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件)特别声明:本数据集不对训练的模型或者权重文件精度作任何保证,数据集只提供准确且合理标注。图片数量(jpg文件个数):888。标注数量(xml文件个数):888。标注数量(txt文件个数):888。标注类别名称:["goggle"]重要说明:数据集中部分图片有增强。使用标注工具:labelImg。标注规则:对类别进行画矩形框。

FL1623863129的博客 709

用Verilog在FPGA上做个电子琴:从矩阵键盘到蜂鸣器的完整实现(附代码)

本文详细介绍了如何使用Verilog在FPGA上实现一个完整的电子琴系统,涵盖矩阵键盘扫描、音调生成和蜂鸣器驱动等核心模块。通过模块化设计和PWM调制技术,开发者可以构建一个可交互的音乐播放器,项目代码完整且易于扩展,适合FPGA初学者和数字逻辑设计爱好者实践。

weixin_29191669的博客 403

CentOS 7下Synopsys DC综合工具安装与配置全攻略(附常见报错解决方案)

本文详细介绍了在CentOS 7操作系统上安装与配置Synopsys Design Compiler(DC)综合工具的完整流程。内容涵盖从系统环境准备、软件安装、许可证配置到实战综合的全过程,并针对DC综合工具在安装和运行中常见的报错问题提供了具体的解决方案,帮助数字IC设计初学者快速搭建稳定的EDA学习环境。

weixin_29159441的博客 257

瓷砖缺陷检测数据集VOC+YOLO格式2871张7类别

{ "0": "背景", "1": "边异常", "2": "角异常", "3": "白色点瑕疵", "4": "浅色块瑕疵", "5": "深色点块瑕疵", "6": "光圈瑕疵" }数据集格式:Pascal VOC格式+YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件)标注类别名称(注意yolo格式类别顺序不和这个对应,而以labels文件夹classes.txt为准):["1","2","3","4","5","6"]

FL1623863129的博客 413

Vscode + QT + CMake:高效开发环境搭建全攻略

本文详细介绍了如何搭建Vscode+QT+CMake高效开发环境,涵盖环境安装、配置优化及项目创建全流程。通过整合Vscode的轻量化编辑、QT的跨平台GUI开发以及CMake的现代构建管理,该组合特别适合大型QT项目和跨平台开发团队,能显著提升开发效率。

weixin_30338481的博客 504

AI助力产品质量检验,基于YOLO实现瓷砖缺陷问题检测识别

AI助力产品质量检验,基于YOLO实现瓷砖缺陷问题检测识别

Together_CZ的博客 1565

快手极速版抓包实战:安卓/iOS双端获取client_salt全流程解析(避坑指南)

本文详细解析了在安卓和iOS平台上获取快手极速版关键参数`client_salt`的全流程,包括环境配置、抓包工具使用、参数识别与转换等实战技巧。特别针对双端差异和反抓包机制提供了避坑指南,帮助开发者高效安全地完成数据获取任务。

weixin_29021195的博客 714

SPAD IMX479规格_VOP

对于VOP的定义,很多人可能是不理解这一路的供电,实际上这一路供电是非常重要的,这是给器件SPAD供电,决定SPAD是否work,在大部分的paper以及大部分公司,基本都是叫VOP,名称是SPAD breakdown voltage power supply,严格意义上叫Operating Voltage,工作电压。当然有些公司也有一些其他叫法就不提了。其实大家可以明显的看出,典型值-20.5没有发生变化,市面上绝大多数VOP的典型值也都是在-20V这边。

致力于lidar应用开发 701

AI助力生产制造质检,基于YOLOv5全系列【n/s/m/l/x】参数模型开发构建工业生产制造场景下的瓷砖瑕疵检测识别分析系统

AI助力生产制造质检,基于YOLOv5全系列【n/s/m/l/x】参数模型开发构建工业生产制造场景下的瓷砖瑕疵检测识别分析系统

Together_CZ的博客 1503

4.Simulink基础建模操作——加减乘除运算

加减乘除运算

FPGA/MATLAB学习教程/源码/项目合作开发 9550

基于yolov11的瓷砖缺陷检测系统python源码+pytorch模型+评估指标曲线+精美GUI界面

该系统利用YOLOv11这一尖端深度学习模型,能够高效、准确地识别瓷砖表面的多种缺陷类型,包括边缘崩裂(edge-chipping)、破洞(hole)和裂缝(line)等。标注类别名称(注意yolo格式类别顺序不和这个对应,而以labels文件夹classes.txt为准):["edge-chipping","hole","line"]数据集格式:Pascal VOC格式+YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件)

FL1623863129的博客 1258

【CASS精品教程】035:南方CASS7.1台阶画法案例大全

摘要:本文详细介绍了南方CASS7.1软件中5种台阶工具的使用方法,包括普通台阶、有边台阶、L型台阶、U型台阶和不规则台阶。重点说明各类台阶的绘制步骤和注意事项,如绘制方向(从右下角逆时针连接4个点)、台阶方向标识(白色边为下边)、台阶数自动生成不可更改等特性。同时指出高版本CASS可能存在操作差异,并配以多张示意图直观展示各类台阶的绘制过程和效果,为使用CASS7.1绘制建筑台阶提供了实用指导。(148字)

智慧空间实验室 2921

用Playwright MCP让AI帮你完成所有浏览器自动化

Playwright MCP(Model Context Protocol)是微软基于 Playwright 框架推出的 AI 浏览器自动化新协议。它通过结构化快照数据和自然语言指令结合大型语言模型(如 GPT),实现无需编码的网页交互。无论你是要测试登录流程、抓取价格数据,还是用 AI 远程控制浏览器,Playwright MCP 都能大幅降低门槛,让“说人话”也能驱动自动化脚本。本篇将从功能介绍、技术架构、使用方法到实际场景,带你全面理解这一自动化革命。

todoitbo的博客 3万+

2021广东工业智造创新大赛-智能算法赛:瓷砖表面瑕疵质检

1. Dataset 一个图多个目标,处理后一共5388张图,2125个瓷砖,好像部分瓷砖不是三张图片 类别名 图像数量 边界框数量 边异常 419 519 角异常 1779 1976 白色点瑕疵 1259 1945 浅色块瑕疵 643 981 深色点块瑕疵 2913 7986 光圈瑕疵

dekiang 2242

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

毕业设计:基于深度学习的绝缘子瑕疵检测系统 目标检测

毕业设计:基于深度学习的绝缘子瑕疵检测系统利用深度学习技术实现绝缘子瑕疵的自动检测和定位。通过构建深度神经网络模型,并利用大规模的绝缘子图像数据进行训练,我们成功实现了对绝缘子瑕疵的高效准确检测。该系统不仅能够提高绝缘子瑕疵检测的效率和准确性,还为电力行业提供了一个创新的方向,结合了深度学习和计算机视觉技术,为毕业生提供了一个有意义的研究课题。无论您对深度学习技术保持浓厚兴趣,还是希望探索机器学习、算法或人工智能的领域的同学,本博文将为您提供灵感和指导。

Hai_Lang_IT的博客 1512

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

天池-瓷砖表面缺陷数据集转xml格式标签

运行完之后会自动生成Annotations文件夹,里面有xml格式的标签,可以用于目标检测。找到了一个相关的代码结果运行出来是错的。下载好解压之后是这三个文件夹。

weixin_48198070的博客 1575

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

tensorflow & 基于opencv的焊件缺陷检测

python的opencv刚好接触了tensorflow,学一下顺便记录一下。

weixin_50862344的博客 731
上一篇: 【毕业设计选题】基于深度学习的电力施工生产违规穿戴检测系统 YOLO python 卷积神经网络 人工智能
下一篇: 毕业设计-基于深度学习的金属焊缝缺陷识别检测系统 YOLO python 机器学习 目标检测 人工智能 算法
Mini_hailang_IT
博客等级 码龄9年 5936粉丝 640原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值