前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >基于YOLO11的中空圆柱形缺陷检测系统(Python源码+数据集+Pyside6界面)

基于YOLO11的中空圆柱形缺陷检测系统(Python源码+数据集+Pyside6界面)

原创
作者头像
AI小怪兽
发布2025-03-24 09:25:13
发布2025-03-24 09:25:13
23700
代码可运行
举报
文章被收录于专栏:毕业设计毕业设计YOLO大作战
运行总次数:0
代码可运行

💡💡💡本文摘要:基于YOLO11的中空圆柱形缺陷检测,在狭窄的中空圆柱形表面(如管道和桶)上进行表面缺陷检测,对工业产品的结构完整性有着极其重要的影响。缺陷检测在建筑检测中扮演着重要角色,能够发现细微的缺陷,从而延长产品的使用寿命。阐述了整个数据制作和训练可视化过程

博主简介

AI小怪兽,YOLO骨灰级玩家,1)YOLOv5、v7、v8、v9、v10、11优化创新,轻松涨点和模型轻量化;2)目标检测、语义分割、OCR、分类等技术孵化,赋能智能制造,工业项目落地经验丰富;

1.YOLO11介绍

Ultralytics YOLO11是一款尖端的、最先进的模型,它在之前YOLO版本成功的基础上进行了构建,并引入了新功能和改进,以进一步提升性能和灵活性。YOLO11设计快速、准确且易于使用,使其成为各种物体检测和跟踪、实例分割、图像分类以及姿态估计任务的绝佳选择。

添加图片注释,不超过 140 字(可选)

结构图如下:

1.1 C3k2

C3k2,结构图如下

C3k2,继承自类C2f,其中通过c3k设置False或者Ture来决定选择使用C3k还是Bottleneck

实现代码ultralytics/nn/modules/block.py

1.2 C2PSA介绍

借鉴V10 PSA结构,实现了C2PSA和C2fPSA,最终选择了基于C2的C2PSA(可能涨点更好?)

实现代码ultralytics/nn/modules/block.py

1.3 11 Detect介绍

分类检测头引入了DWConv(更加轻量级,为后续二次创新提供了改进点),结构图如下(和V8的区别):

实现代码ultralytics/nn/modules/head.py

2.中空圆柱形缺陷检测系统

中空圆柱形缺陷检测在多个领域具有重要意义,以下是一些具体的体现:

保障安全

  • 防止意外事故:在石油、天然气、化工等行业中,中空圆柱形管道和容器用于输送和储存各种介质。如果这些设备存在缺陷,如裂纹、腐蚀、孔洞等,可能导致介质泄漏,引发火灾、爆炸、环境污染等严重事故。通过缺陷检测,能够在早期发现这些潜在的危险,及时进行修复或更换,有效避免事故发生,保障人员生命和财产安全。
  • 确保结构稳定性:在建筑、桥梁、航空航天等领域,中空圆柱形结构常被用作支撑或承载部件。缺陷会削弱其承载能力和稳定性,如建筑中的钢管柱、桥梁中的空心桥墩、飞机发动机中的涡轮盘等。检测出这些缺陷,可以确保结构在设计寿命内安全可靠地运行,防止因结构失效导致的坍塌、坠毁等灾难性后果。

提升质量

  • 提高产品一致性:在制造业中,中空圆柱形产品的质量直接影响最终产品的性能和可靠性。例如,汽车零部件中的中空轴、轴承等,如果存在缺陷,会导致产品在使用过程中出现故障,影响汽车的整体性能和安全性。通过缺陷检测,可以筛选出不合格产品,保证每一件出厂产品的质量符合标准,提高产品的一致性和可靠性,增强市场竞争力。
  • 优化生产工艺:缺陷检测结果可以为生产工艺的优化提供依据。通过对检测数据的分析,可以发现生产过程中容易出现缺陷的环节和原因,如原材料质量问题、加工工艺参数不合理、模具磨损等。从而针对性地调整和改进生产工艺,降低缺陷率,提高生产效率,节约生产成本。

延长使用寿命

  • 早期发现微小缺陷:许多缺陷在初期可能并不明显,但会随着时间的推移逐渐扩大和恶化。通过定期进行中空圆柱形缺陷检测,可以及时发现这些微小缺陷,并在它们发展到严重影响设备或结构性能之前进行处理。这样可以避免设备或结构过早地报废,延长其使用寿命,降低更新和更换的成本。
  • 合理维护与修复:了解设备或结构的缺陷状况,可以制定合理的维护和修复计划。对于一些可以修复的缺陷,如局部腐蚀、磨损等,可以根据缺陷的类型和程度,选择合适的修复方法和材料,恢复其性能。合理维护与修复不仅可以延长使用寿命,还可以确保设备或结构在整个使用周期内的安全性和可靠性。

降低成本

  • 减少维修费用:未被及时发现和处理的缺陷可能导致设备或结构的严重损坏,需要进行大规模的维修甚至整体更换,这将带来高昂的维修费用和停机损失。通过缺陷检测,在缺陷初期进行处理,可以降低维修的难度和成本,减少停机时间,提高生产效益。
  • 优化资源利用:在原材料采购和生产过程中,通过缺陷检测可以避免因使用有缺陷的原材料或生产出大量不合格产品而导致的资源浪费。确保原材料和产品的质量,提高资源的利用率,降低生产成本,实现可持续发展。

保护环境

  • 防止泄漏污染:对于输送和储存有毒、有害、易燃、易爆等危险介质的中空圆柱形管道和容器,缺陷检测可以防止因泄漏导致的环境污染。例如,石油管道的泄漏可能造成土壤和水体污染,化工容器的泄漏可能释放有害气体或液体,对周边生态环境和居民健康造成威胁。及时发现和修复缺陷,能够有效避免这些环境事故的发生,保护生态环境。
  • 减少资源浪费与能源消耗:通过提高产品质量和生产效率,优化生产工艺,延长设备使用寿命,缺陷检测有助于减少资源的浪费和能源的消耗。降低因生产不合格产品和设备频繁维修更换所带来的能源消耗和污染物排放,对环境保护和可持续发展具有积极意义。

推动技术发展

  • 促进检测技术创新:中空圆柱形缺陷检测的需求推动了相关检测技术的不断创新和发展。例如,无损检测技术中的超声检测、射线检测、磁粉检测、渗透检测等方法在中空圆柱形物体检测中的应用不断优化和改进。同时,新的检测技术如激光检测、涡流检测、声发射检测等也不断涌现,提高了检测的精度、效率和可靠性。
  • 跨学科研究与合作:中空圆柱形缺陷检测涉及到多个学科领域的知识和技术,如机械工程、材料科学、电子工程、计算机科学等。为了更好地解决检测中的难题,需要跨学科的研究和合作。这种跨学科的交流与合作促进了不同领域技术的融合和创新,推动了相关学科的发展,也为解决其他复杂工程问题提供了新的思路和方法。

2.1 中空圆柱形缺陷数据集介绍

数据集大小1084张

类别3类:

# class names names: 0: dirt 1: rusting 2: pitting

细节图:

标签可视化分析

2.2 配置HollowCylindrical.yaml

ps:建议填写绝对路径

代码语言:javascript
代码运行次数:0
运行
复制
path: D:/YOLOv11/data/HollowCylindrical  # dataset root dir
train: train.txt  # train images (relative to 'path') 118287 images
val: val.txt  # val images (relative to 'path') 5000 images

# number of classes
nc: 3

# class names
names:
  0: dirt
  1: rusting
  2: pitting

2.3 如何训练

代码语言:javascript
代码运行次数:0
运行
复制
import warnings
warnings.filterwarnings('ignore')
from ultralytics import YOLO

if __name__ == '__main__':
    model = YOLO('ultralytics/cfg/models/11/yolo11.yaml')
    model.train(data='data/HollowCylindrical.yaml',
                cache=False,
                imgsz=640,
                epochs=200,
                batch=8,
                close_mosaic=10,
                device='0',
                optimizer='SGD', # using SGD
                project='runs/train',
                name='exp',
                )

2.4 训练结果可视化结果

代码语言:javascript
代码运行次数:0
运行
复制
YOLO11 summary (fused): 238 layers, 2,582,737 parameters, 0 gradients, 6.3 GFLOPs
                 Class     Images  Instances      Box(P          R      mAP50  mAP50-95): 100%|██████████| 8/8 [00:08<00:00,  1.02s/it]
                   all        254        473      0.534      0.416      0.416      0.227
                  dirt         80        186       0.52      0.426      0.434      0.216
               rusting         59        118      0.469      0.356      0.352      0.175
               pitting        109        169      0.611      0.465      0.462       0.29

预测结果:

3. 中空圆柱形缺陷检测系统设计

3.1 PySide6介绍

受益于人工智能的崛起,Python语言几乎以压倒性优势在众多编程语言中异军突起,成为AI时代的首选语言。在很多情况下,我们想要以图形化方式将我们的人工智能算法打包提供给用户使用,这时候选择以python为主的GUI框架就非常合适了。

PySide是Qt公司的产品,PyQt是第三方公司的产品,二者用法基本相同,不过在使用协议上却有很大差别。PySide可以在LGPL协议下使用,PyQt则在GPL协议下使用。

PySide目前常见的有两个版本:PySide2和PySide6。PySide2由C++版的Qt5开发而来.,而PySide6对应的则是C++版的Qt6。从PySide6开始,PySide的命名也会与Qt的大版本号保持一致,不会再出现类似PySide2对应Qt5这种容易混淆的情况。

3.2 安装PySide6

代码语言:javascript
代码运行次数:0
运行
复制
 pip install --upgrade pip pip install pyside6 -i https://mirror.baidu.com/pypi/simple

基于PySide6开发GUI程序包含下面三个基本步骤:

  • 设计GUI,图形化拖拽或手撸;
  • 响应UI的操作(如点击按钮、输入数据、服务器更新),使用信号与Slot连接界面和业务;
  • 打包发布;

3.3 中空圆柱形缺陷检测系统设计

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.YOLO11介绍
  • 1.1 C3k2
  • 1.2 C2PSA介绍
  • 1.3 11 Detect介绍
  • 2.中空圆柱形缺陷检测系统
  • 2.1 中空圆柱形缺陷数据集介绍
  • 2.2 配置HollowCylindrical.yaml
  • 2.3 如何训练
  • 2.4 训练结果可视化结果
  • 3. 中空圆柱形缺陷检测系统设计
  • 3.1 PySide6介绍
  • 3.2 安装PySide6
  • 3.3 中空圆柱形缺陷检测系统设计
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档