一种基于YOLO改进的高效且轻量级的表面缺陷检测网络, NEU-DET和GC10-DET涨点明显

本文主要是介绍一种基于YOLO改进的高效且轻量级的表面缺陷检测网络, NEU-DET和GC10-DET涨点明显,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

💡💡💡本文摘要:一种基于YOLO改进的高效且轻量级的表面缺陷检测, 在NEU-DET和GC10-DET任务中涨点明显

目录

1.轻量且高效的YOLO

1.1 SCRB介绍

1.1.1 ScConv介绍

 1.2 GSConvns

 1.3 od_mobilenetv2_050

1.4  对应yaml

2.实验结果

3.源码获取


1.轻量且高效的YOLO

轻量且高效的YOLO网络结构

1.1 SCRB介绍

 其实ScConv和Bottleneck的基础上,和C3进行结合。

1.1.1 ScConv介绍

原文链接:Yolov8引入CVPR2023 SCConv:空间和通道重建卷积,即插即用,助力检测_scconv 2023-CSDN博客

  

 论文:https://openaccess.thecvf.com/content/CVPR2023/papers/Li_SCConv_Spatial_and_Channel_Reconstruction_Convolution_for_Feature_Redundancy_CVPR_2023_paper.pdf

         卷积神经网络(CNN)已经实现在各种计算机视觉任务中表现出色,但这是以巨大的计算成本为代价的资源,部分原因是卷积层提取冗余特征。 在本文中,我们尝试利用特征之间的空间和通道冗余,针对 CNN 压缩,提出了一种高效的卷积模块,称为 SCConv(空间和通道重建卷积),以减少冗余计算,并促进代表性特征学习。 提出的 SCConv 由两个单元组成:空间重建单元(SRU)和通道重建单元(CRU)。 SRU利用分离重建方法来抑制空间冗余,而CRU使用分割-变换-融合策略来减少通道冗余。 此外,SCConv 是一个即插即用的架构单元,可以可以直接用来替代各种卷积神经网络中的标准卷积。 实验结果表明SCConv 嵌入式模型能够实现更好的效果
通过减少冗余特征来显着降低复杂性和计算成本来提高性能。

        SCConv 的结构包括了空间重建单元(SRU)和通道重建单元(CRU)。 下图显示了我们的 SCConv 模块添加在 ResBlock 中的确切位置 。

SRU结构: 

 CRU结构:

 1.2 GSConvns

YoloV8优化:轻量级Slim-Neck | 即插即用系列_slim-neck 是怎么改进-CSDN博客

 

 论文地址:https://arxiv.org/ftp/arxiv/papers/2206/2206.02424.pdf

github: GitHub - AlanLi1997/slim-neck-by-gsconv: Pytorch implementation of the 'Slim-neck by GSConv: A better design paradigm of detector architectures for autonomous vehicles'

 本文贡献:

  1. 引入了一种新方法 GSConv 来代替 SC 操作。该方法使卷积计算的输出尽可能接近 SC,同时降低计算成本;

  2. 提供了一种新的设计范式,即带有标准 Backbone 的 Slim-Neck 设计;

图2(a)和(b)展示了深度可分离卷积(DSC )和标准卷积(SC)的网络结构,但是深度可分离卷积这种设陷导致特征提取和融合能力比 SC 低得多。 

为了使 DSC 的输出尽可能接近 SC,引入了一种新方法——GSConv,使用 shuffle 将 SC 生成的信息(密集卷积操作)渗透到 DSC 生成的信息的每个部分。

     采用 GSConv 方法的 Slim-Neck 可缓解 DSC 缺陷对模型的负面影响,并充分利用深度可分离卷积 DSC 的优势。

 1.3 od_mobilenetv2_050

其实就是od_mobilenetv2_050替换了backbone

1.4  对应yaml

# YOLOv5 🚀 by Ultralytics, GPL-3.0 license# Parameters
nc: 80  # number of classes
depth_multiple: 0.33  # model depth multiple
width_multiple: 0.25  # layer channel multiple
anchors:- [10,13, 16,30, 33,23]  # P3/8- [30,61, 62,45, 59,119]  # P4/16- [116,90, 156,198, 373,326]  # P5/32# 0-P1/2
# 1-P2/4
# 2-P3/8
# 3-P4/16
# 4-P5/32# YOLOv5 v6.0 backbone
backbone:# [from, number, module, args][[-1, 1, od_mobilenetv2_050, [odconv4x mobilenetv2 050.pth.tar path, 4]], # 4[-1, 1, SPPF, [1024, 5]],  # 5]# YOLOv5 v6.0 head
head:[[-1, 1, GSConvns, [512, 1, 1]], # 6[-1, 1, nn.Upsample, [None, 2, 'nearest']],# 7[[-1, 3], 1, Concat, [1]],  # cat backbone P4 8[-1, 3, SCRB, [512, False]],  # 9[-1, 1, GSConvns, [256, 1, 1]], # 10[-1, 1, nn.Upsample, [None, 2, 'nearest']], # 11[[-1, 2], 1, Concat, [1]],  # cat backbone P3 12[-1, 3, SCRB, [256, False]],  # 13 (P3/8-small)[-1, 1, GSConvns, [256, 3, 2]], # 14[[-1, 10], 1, Concat, [1]],  # cat head P4 15[-1, 3, SCRB, [512, False]],  # 16 (P4/16-medium)[-1, 1, GSConvns, [512, 3, 2]], # 17[[-1, 5], 1, Concat, [1]],  # cat head P5 18[-1, 3, SCRB, [1024, False]],  # 19 (P5/32-large)[[13, 16, 19], 1, Detect, [nc, anchors]],  # Detect(P3, P4, P5)]

2.实验结果

我们的方法在NEU-DET和GC10-DET上取得了更好的性能。具体指标见表一、表二。

NEU-DEU任务 

 GC10-DET任务PR result plot on NEU-DET

PR result plot on GC10-DET 

Visualization of detection results 

3.源码获取

可私信获取

这篇关于一种基于YOLO改进的高效且轻量级的表面缺陷检测网络, NEU-DET和GC10-DET涨点明显的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/613164

相关文章

C++高效内存池实现减少动态分配开销的解决方案

《C++高效内存池实现减少动态分配开销的解决方案》C++动态内存分配存在系统调用开销、碎片化和锁竞争等性能问题,内存池通过预分配、分块管理和缓存复用解决这些问题,下面就来了解一下... 目录一、C++内存分配的性能挑战二、内存池技术的核心原理三、主流内存池实现:TCMalloc与Jemalloc1. TCM

OpenCV实现实时颜色检测的示例

《OpenCV实现实时颜色检测的示例》本文主要介绍了OpenCV实现实时颜色检测的示例,通过HSV色彩空间转换和色调范围判断实现红黄绿蓝颜色检测,包含视频捕捉、区域标记、颜色分析等功能,具有一定的参考... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间

LiteFlow轻量级工作流引擎使用示例详解

《LiteFlow轻量级工作流引擎使用示例详解》:本文主要介绍LiteFlow是一个灵活、简洁且轻量的工作流引擎,适合用于中小型项目和微服务架构中的流程编排,本文给大家介绍LiteFlow轻量级工... 目录1. LiteFlow 主要特点2. 工作流定义方式3. LiteFlow 流程示例4. LiteF

SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程

《SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程》LiteFlow是一款专注于逻辑驱动流程编排的轻量级框架,它以组件化方式快速构建和执行业务流程,有效解耦复杂业务逻辑,下面给大... 目录一、基础概念1.1 组件(Component)1.2 规则(Rule)1.3 上下文(Conte

Python基于微信OCR引擎实现高效图片文字识别

《Python基于微信OCR引擎实现高效图片文字识别》这篇文章主要为大家详细介绍了一款基于微信OCR引擎的图片文字识别桌面应用开发全过程,可以实现从图片拖拽识别到文字提取,感兴趣的小伙伴可以跟随小编一... 目录一、项目概述1.1 开发背景1.2 技术选型1.3 核心优势二、功能详解2.1 核心功能模块2.

基于Python构建一个高效词汇表

《基于Python构建一个高效词汇表》在自然语言处理(NLP)领域,构建高效的词汇表是文本预处理的关键步骤,本文将解析一个使用Python实现的n-gram词频统计工具,感兴趣的可以了解下... 目录一、项目背景与目标1.1 技术需求1.2 核心技术栈二、核心代码解析2.1 数据处理函数2.2 数据处理流程

Python中bisect_left 函数实现高效插入与有序列表管理

《Python中bisect_left函数实现高效插入与有序列表管理》Python的bisect_left函数通过二分查找高效定位有序列表插入位置,与bisect_right的区别在于处理重复元素时... 目录一、bisect_left 基本介绍1.1 函数定义1.2 核心功能二、bisect_left 与

Python使用FFmpeg实现高效音频格式转换工具

《Python使用FFmpeg实现高效音频格式转换工具》在数字音频处理领域,音频格式转换是一项基础但至关重要的功能,本文主要为大家介绍了Python如何使用FFmpeg实现强大功能的图形化音频转换工具... 目录概述功能详解软件效果展示主界面布局转换过程截图完成提示开发步骤详解1. 环境准备2. 项目功能结

Linux网络配置之网桥和虚拟网络的配置指南

《Linux网络配置之网桥和虚拟网络的配置指南》这篇文章主要为大家详细介绍了Linux中配置网桥和虚拟网络的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 一、网桥的配置在linux系统中配置一个新的网桥主要涉及以下几个步骤:1.为yum仓库做准备,安装组件epel-re

Python Pandas高效处理Excel数据完整指南

《PythonPandas高效处理Excel数据完整指南》在数据驱动的时代,Excel仍是大量企业存储核心数据的工具,Python的Pandas库凭借其向量化计算、内存优化和丰富的数据处理接口,成为... 目录一、环境搭建与数据读取1.1 基础环境配置1.2 数据高效载入技巧二、数据清洗核心战术2.1 缺失