《深度学习工业缺陷检测》专栏介绍 CSDN独家改进实战

 💡💡💡深度学习工业缺陷检测

1)提供工业小缺陷检测性能提升方案,满足部署条件;

2)针对缺陷样品少等难点,引入无监督检测;

3)深度学习 C++、C#部署方案;

4)实战工业缺陷检测项目,学习如何选择合适的框架和模型;

1.基于Yolov8的工业小目标缺陷检测

1.工业油污数据集介绍
三星油污缺陷类别:头发丝和小黑点,["TFS","XZW"] 

数据集大小:660张,包括部分良品图像,提升背景检测能力。

数据集地址:https://download.csdn.net/download/m0_63774211/87741209

缺陷特点:小目标缺陷,检测难度大,如下图所示;

1.1 动态蛇形卷积(Dynamic Snake Convolution),实现暴力涨点 | ICCV2023

Dynamic Snake Convolution |   亲测在工业小目标缺陷涨点明显,原始mAP@0.5 0.679提升至0.743

  主要的挑战源于细长微弱的局部结构特征与复杂多变的全局形态特征。本文关注到管状结构细长连续的特点,并利用这一信息在神经网络以下三个阶段同时增强感知:特征提取、特征融合和损失约束。分别设计了动态蛇形卷积(Dynamic Snake Convolution),多视角特征融合策略与连续性拓扑约束损失。 

         我们希望卷积核一方面能够自由地贴合结构学习特征,另一方面能够在约束条件下不偏离目标结构太远。在观察管状结构的细长连续的特征后,脑海里想到了一个动物——。我们希望卷积核能够像蛇一样动态地扭动,来贴合目标的结构。

基于Yolov8的工业小目标缺陷检测(2):动态蛇形卷积(Dynamic Snake Convolution),实现暴力涨点 | ICCV2023_AI小怪兽的博客-CSDN博客

1.2 微小目标检测可能存在检测能力不佳的现象,添加一个微小物体的检测头

多头检测器 |   亲测在工业小目标缺陷涨点明显,原始mAP@0.5 0.679提升至0.702

基于Yolov8的工业小目标缺陷检测(3):多检测头提升小目标检测精度_AI小怪兽的博客-CSDN博客

1.3 SPD-Conv,低分辨率图像和小物体涨点明显

SPD-Conv |   亲测在工业小目标缺陷涨点明显,原始mAP@0.5 0.679提升至0.775

SPD- conv由一个空间到深度(SPD)层和一个非跨步卷积层组成。SPD组件推广了一种(原始)图像转换技术[29]来对CNN内部和整个CNN的特征映射进行下采样:

基于Yolov8的工业小目标缺陷检测(4):SPD-Conv,低分辨率图像和小物体涨点明显_AI小怪兽的博客-CSDN博客

1.4大缺陷小缺陷一网打尽的轻量级目标检测器GiraffeDet

  GiraffeDet |   亲测在工业小目标缺陷涨点明显,原始mAP@0.5 0.679提升至0.727

 

         本文提出了GiraffeDet用于高效目标检测,giraffe包含轻量space-to-depth chain、Generalized-FPN以及预测网络

        FPN旨在对CNN骨干网络提取的不同分辨率的多尺度特征进行融合。上图给出了FPN的进化,从最初的FPN到PANet再到BiFPN。我们注意到:这些FPN架构仅聚焦于特征融合,缺少了块内连接。因此,我们设计了一种新的路径融合GFPN:包含跳层与跨尺度连接,见上图d。

基于Yolov8的工业小目标缺陷检测(5):大缺陷小缺陷一网打尽的轻量级目标检测器GiraffeDet,暴力提升工业缺陷检测能力_AI小怪兽的博客-CSDN博客

 1.5 多检测头结合小缺陷到大缺陷一网打尽的轻量级目标检测器GiraffeDet

多头检测器+ GiraffeDet |   亲测在工业小目标缺陷涨点明显,原始mAP@0.5 0.679提升至0.734

基于Yolov8的工业小目标缺陷检测(6):多检测头结合小缺陷到大缺陷一网打尽的轻量级目标检测器GiraffeDet,暴力提升工业小目标缺陷检测能力_AI小怪兽的博客-CSDN博客 

 1.6 Wasserstein Distance Loss,助力工业缺陷检测

Wasserstein Distance Loss |   亲测在工业小目标缺陷涨点明显,原始mAP@0.5 0.679提升至0.727

 

Wasserstein distance的主要优点是

  1. 无论小目标之间有没有重叠都可以度量分布相似性;
  2. NWD对不同尺度的目标不敏感,更适合测量小目标之间的相似性。

NWD可应用于One-Stage和Multi-Stage Anchor-Based检测器。此外,NWD不仅可以替代标签分配中的IoU,还可以替代非最大抑制中的IoU(NMS)和回归损失函数。在一个新的TOD数据集AI-TOD上的大量实验表明,本文提出的NWD可以持续地提高所有检测器的检测性能。

 基于Yolov8的工业小目标缺陷检测(7):Wasserstein Distance Loss,助力工业缺陷检测_AI小怪兽的博客-CSDN博客

 

未完待续,持续更新中

2.工业缺陷检测全流程解决方案

2.1 工业无监督缺陷检测,提升缺陷检测能力,解决缺陷样品少、不平衡等问题

工业无监督缺陷检测,提升缺陷检测能力,解决缺陷样品少、不平衡等问题_AI小怪兽的博客-CSDN博客

2.2  工业无监督缺陷检测,提升缺陷检测能力,解决缺陷样品少、不平衡等问题(二)

工业无监督缺陷检测,提升缺陷检测能力,解决缺陷样品少、不平衡等问题(二)_AI小怪兽的博客-CSDN博客

2.3  工业缺陷检测全流程解决方案,提供检测+后处理、分割+后处理、检测+RoI分割+后处理解决方案

工业缺陷检测全流程解决方案,提供检测+后处理、分割+后处理、检测+RoI分割+后处理解决方案_AI小怪兽的博客-CSDN博客

3.深度学习部署

3.1  Opencv DNN + C++部署

Yolov5 + Opencv DNN + C++部署_AI小怪兽的博客-CSDN博客

3.2 C++ GPU部署方式介绍:ONNX Runtime

 Yolov5 C++ GPU部署方式介绍:ONNX Runtime_AI小怪兽的博客-CSDN博客

3.3 YOLOV8 Onnxruntime Opencv DNN C++部署

YOLOV8 Onnxruntime Opencv DNN C++部署_AI小怪兽的博客-CSDN博客

 

4.深度学习工业项目分享

4.1 基于yolov5的缺陷检测算法(工件缺陷)

基于yolov5的缺陷检测算法(工件缺陷)_yolov5做毕设的难点_AI小怪兽的博客-CSDN博客

4.2  手机背板缺陷分割

基于PaddleSeg的工业缺陷分割检测之手机背板缺陷分割_工业分割数据集_AI小怪兽的博客-CSDN博客

4.3 小目标摄像头镜头缺陷检测 

基于Yolov5的工业缺陷检测之小目标摄像头镜头缺陷检测_yolov5缺陷检测_AI小怪兽的博客-CSDN博客

4.4 划痕缺陷检测 

基于PaddleSeg的划痕检测_AI小怪兽的博客-CSDN博客

4.5 玻璃瓶盖缺陷检测

 基于Yolov5的玻璃瓶盖缺陷检测_玻璃缺陷数据集_AI小怪兽的博客-CSDN博客

4.6 菌落(colony)计数

基于PaddleDetection的菌落(colony)计数_AI小怪兽的博客-CSDN博客

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/139054.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

若依cloud -【 100 ~ 】

100 分布式日志介绍 | RuoYi 分布式日志就相当于把日志存储在不同的设备上面。比如若依项目中有ruoyi-modules-file、ruoyi-modules-gen、ruoyi-modules-job、ruoyi-modules-system四个应用,每个应用都部署在单独的一台机器里边,应用对应的日志的也单独存…

doxygen c++ 语法

c基本语法模板 以 /*! 开头, */ 结尾 /*!\关键字1\关键字2 */1 文件头部信息 /*! \file ClassA.h* \brief 文件说明 定义了类fatherA* \details This class is used to demonstrate a number of section commands.* \author John Doe* \author Jan Doe* \v…

虚拟机部署linux网络连接配置

1、虚拟机安装linux后,配置网络访问 虚拟机网络设置为NAT模式 linux网络配置好IP,主要是以下网络配置 2、linux没有ifconfig命令,ifconfig命令是在net-tools.x86_64包里 yum install net-tools.x86_64安装

【校招VIP】专业课考点之TCP连接

考点介绍: 在TCP/IP中,TCP协议通过三次握手来建立连接,从而提供可靠的连接服务。本专题主要介绍一线互联网大厂面试关于TCP连接的相关问题。 专业课考点之TCP连接-相关题目及解析内容可点击文章末尾链接查看! 一、考…

八大排序(四)--------直接插入排序

本专栏内容为:八大排序汇总 通过本专栏的深入学习,你可以了解并掌握八大排序以及相关的排序算法。 💓博主csdn个人主页:小小unicorn ⏩专栏分类:八大排序汇总 🚚代码仓库:小小unicorn的代码仓库…

uniappAndroid平台签名证书(.keystore)生成

一、安装JRE环境 https://www.oracle.com/java/technologies/downloads/#java8 记住下载默认安装地址。ps:我都默认安装地址C:\Program Files\Java\jdk-1.8 二、安装成功后配置环境变量 系统变量配置 AVA_HOME 放到环境变量去 %JAVA_HOME%\bin 三、生成签名证书…

【开发篇】二、属性绑定与校验

文章目录 1、ConfigurationProperties自定义Bean属性绑定2、EnableConfigurationProperties注解3、ConfigurationProperties第三方Bean属性绑定4、松散绑定5、常用计量单位6、数据校验7、yaml绑定值的坑--关于进制 1、ConfigurationProperties自定义Bean属性绑定 前面读取yaml…

【Python Fastapi】js上传文件,fastapi处理,js显示回传信息

python from fastapi import FastAPI, File, UploadFile, HTTPException from fastapi.staticfiles import StaticFiles from fastapi.responses import HTMLResponse from typing import List import requestsapp FastAPI()# 配置静态文件目录 app.mount("/static"…

【深度学习实验】前馈神经网络(四):自定义逻辑回归模型:前向传播、反向传播算法

目录 一、实验介绍 二、实验环境 1. 配置虚拟环境 2. 库版本介绍 三、实验内容 0. 导入必要的工具包 1. 逻辑回归Logistic类 a. 构造函数__init__ b. __call__(self, x)方法 c. 前向传播forward d. 反向传播backward 2. 模型训练 3. 代码整合 一、实验介绍 实现逻…

YOLOv5、YOLOv8改进:Decoupled Head解耦头

目录 1.Decoupled Head介绍 2.Yolov5加入Decoupled_Detect 2.1 DecoupledHead加入common.py中: 2.2 Decoupled_Detect加入yolo.py中: 2.3修改yolov5s_decoupled.yaml 1.Decoupled Head介绍 Decoupled Head是一种图像分割任务中常用的网络结构&#…

MySQL进阶 —— 超详细操作演示!!!(中)

MySQL进阶 —— 超详细操作演示!!!(中) 三、SQL 优化3.1 插入数据3.2 主键优化3.3 order by 优化3.4 group by 优化3.5 limit 优化3.6 count 优化3.7 update 优化 四、视图/存储过程/触发器4.1 视图4.2 存储过程4.3 存…

阿里云大数据实战记录10:Hive 兼容模式的坑

文章目录 1、前言2、什么是 Hive 兼容模式?3、为什么要开启 Hive 模式?4、有什么副作用?5、如何开启 Hive 兼容模式?6、该场景下,能不能不开启 Hive 兼容模式?7、为什么不是DATE_FORMAT(datetime, string)&…

【Qt-17】Qt调用matlab生成的dll库

matlab生成dll库 1、matlab示例代码 function BDCube(x,y)[x,y,z] cylinder(x,y);t1 hgtransform;s1 surf(3*x,3*y,4*z,Parent,t1);grid onview(3)shading interp end 2、matlab环境配置 首先检查自己的mcc编译器是否可用,输出以下命令: &#x…

如何在没有第三方.NET库源码的情况,调试第三库代码?

大家好,我是沙漠尽头的狼。 本方首发于Dotnet9,介绍使用dnSpy调试第三方.NET库源码,行文目录: 安装dnSpy编写示例程序调试示例程序调试.NET库原生方法总结 1. 安装dnSpy dnSpy是一款功能强大的.NET程序反编译工具,…

【Java 基础篇】Java线程安全与并发问题详解

多线程编程在Java中是一个常见的需求,它可以提高程序的性能和响应能力。然而,多线程编程也带来了一系列的线程安全与并发问题。在本文中,我们将深入探讨这些问题,以及如何解决它们,适用于Java初学者和基础用户。 什么…

【AI视野·今日NLP 自然语言处理论文速览 第三十六期】Wed, 20 Sep 2023

AI视野今日CS.NLP 自然语言处理论文速览 Wed, 20 Sep 2023 Totally 64 papers 👉上期速览✈更多精彩请移步主页 Daily Computation and Language Papers SlimPajama-DC: Understanding Data Combinations for LLM Training Authors Zhiqiang Shen, Tianhua Tao, Li…

原生js值之数据类型详解

js的数据类型 数据类型分类基本数据类型boolean:布尔类undefined:未定义的值null类型数值转换 NumberparseInt 转换整数 parseFloat转换浮点数 String类型特点如何转换成字符串模板字面量字符串插值模板字面量标签函数 symbol类型特性使用 BigInt类型复杂数据类型Object类属性与…

[杂谈]-八进制数

八进制数 文章目录 八进制数1、概述2、八进制数的表示2.1 八进制数2.2 以八进制计数2.3 二进制数补零 3、八进制到十进制转换4、十进制到八进制转换5、二进制到八进制转换示例6、八进制到二进制和十进制转换示例7、总结 1、概述 八进制编号系统是另一种使用基数为8计数系统&am…

【Stm32】【Lin通信协议】Lin通信点亮灯实验

Lin通信点亮灯实验 通过STM32的串口发送数据,然后通过串口转换模块将数据转换成LIN(Local Interconnect Network)协议,最终控制点亮灯。需要工程和入门资料的可以私信我,看到了马上回。 入门书本推荐: 一…

【C++面向对象侯捷下】2.转换函数 | 3.non-explicit-one-argument ctor

文章目录 operator double() const {} 歧义了 标准库的转换函数