特定场景小众领域数据集之——焊缝质量检测数据集

2024-02-19 03:40

本文主要是介绍特定场景小众领域数据集之——焊缝质量检测数据集,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

写这篇文章最大的初衷就是最近频繁的有很多人私信问我相关的数据集的问题,基本上都是从我前面的目标检测专栏里面的这篇文章过来的,感兴趣的话可以看下:

《轻量级模型YOLOv5-Lite基于自己的数据集【焊接质量检测】从零构建模型超详细教程》

保姆级的教程,小白即可直接上手操作实践整个完整流程。

很多人在最开始做目标检测的时候没有自己的数据集,或者是由于自己的专业方向需要的就是比如:缺陷、质量等特定专业领域内的数据集,所以看到这里就感觉很相关。

由于之前的文章过去的时间有点久了,上周一直也没时间去搜索和梳理相关的内容。

今天正好有点时间我重新冲数据库中检索出来了焊缝质量检测最原始的数据集,我们称之为【基础数据集】,如下所示:

 JPEGImages目录如下:

 labels目录如下:

 xmls目录如下:

 最原始批次的数据集共有1134个样本。

做CV相关任务我们应该都懂得这1k左右的数据量对于训练一个目标检测模型来说实在是有点捉襟见肘,所以从数据源头获取到更多的高质量的数据集显得就尤为重要了,基于对原始数据集的观察,我发现这里的采集的数据大都是方方正正的,我们可以先设计基础的方法进行扩充增强处理,就可以从源头端获取到更多的数据集了,这里我采取的方式包:左右倒置、上下置换、90°、180°和270°旋转处理,一共获取到了5670个样本数据,我们称之为【扩充数据集】,如下所示:

 JPEGImages目录如下所示:

 labels目录如下所示:

 xmls目录如下所示:

 完成这部分工作后同事提议说,也可以基于连续角度的旋转来构建广度更大的增强数据集,简答来说这里我们以15°作为最基本的角度间隔单元,从15°到300°,一共划分出来了17个单元,共生成了19278个新的样本数据,我们称之为【角度数据集】,如下所示:

 JPEGImages目录如下所示:

 labels目录如下所示:

 xmls目录如下所示:

 到这里,其实经过我们的一系列处理后就已经得到了基本够用于模型训练的数据集了,联想到之前我们项目里面实现和应用的一些增强的方法,这里我们又基于基础数据集来进行了一波增强处理,一共获得了12000个样本数据,我们称之为【增强数据集】,在这批增强数据里面主要包含三种常见的技术增强手段,分别为:随机增强处理、mixup增强处理、mosaic增强处理,每种技术增强均产生4000个样本数据,一共就是12000个样本数据,如下所示:

 mixup目录如下所示:

 JPEGImages目录如下所示:

 xmls目录如下所示:

 mosaic目录如下所示:

 JPEGImages目录如下所示:

 xmls目录如下所示:

 random目录如下所示:

 JPEGImages目录如下所示:

 xmls目录如下所示:

 整体数据情况如下:
 

在后续的开发工作中,因为实际项目复杂场景的客观存在,leader要求增加数据的丰富性,这里基于图像变换操作开发了新的增强方法,实现了新批量数据的扩充增强处理,这里称之为【变换增强数据集】

 详情如下:

 该批次增强得到的数据集与原始数据集较为相近,可用度还是很高的,适应了不同尺度的变化,共获取了将近1.6w的数据量。

之后leader基于aug增强方式,实现了更为复杂的增强扩充,这里新生成的图像数据已经是变化很大的了,相对原始数据来说差异性也更为明显,主要是想要生成困难识别的样本,让模型训练在实验数据的场景下能够更加鲁棒稳定,这里称之为【深度增强数据集】。

 详情如下:

 这批次共得到11429张图像数据,生成这批图像的难点在于得到图像复杂变化后与之对应的目标框的新的坐标位置。

数据整体详情如下:

【基础数据集】
1134【扩充数据集】
5670【角度数据集】
19278【增强数据集】
12000【变换增强数据集】
15936【深度增强数据集】
11429总计: 1134+5670+19278+12000+15936+11429=65447QQ  3439227837

数据开发制作不易,相互理解。

由于过去时间久远,部分数据集已经遗失,本身获取链接是都可以放在这里的,但是平台一直不给审核通过,实属无奈,如果有需要就私信联系我吧。

这篇关于特定场景小众领域数据集之——焊缝质量检测数据集的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Linux下利用select实现串口数据读取过程

《Linux下利用select实现串口数据读取过程》文章介绍Linux中使用select、poll或epoll实现串口数据读取,通过I/O多路复用机制在数据到达时触发读取,避免持续轮询,示例代码展示设... 目录示例代码(使用select实现)代码解释总结在 linux 系统里,我们可以借助 select、

vue监听属性watch的用法及使用场景详解

《vue监听属性watch的用法及使用场景详解》watch是vue中常用的监听器,它主要用于侦听数据的变化,在数据发生变化的时候执行一些操作,:本文主要介绍vue监听属性watch的用法及使用场景... 目录1. 监听属性 watch2. 常规用法3. 监听对象和route变化4. 使用场景附Watch 的

C#自动化实现检测并删除PDF文件中的空白页面

《C#自动化实现检测并删除PDF文件中的空白页面》PDF文档在日常工作和生活中扮演着重要的角色,本文将深入探讨如何使用C#编程语言,结合强大的PDF处理库,自动化地检测并删除PDF文件中的空白页面,感... 目录理解PDF空白页的定义与挑战引入Spire.PDF for .NET库核心实现:检测并删除空白页

C#使用iText获取PDF的trailer数据的代码示例

《C#使用iText获取PDF的trailer数据的代码示例》开发程序debug的时候,看到了PDF有个trailer数据,挺有意思,于是考虑用代码把它读出来,那么就用到我们常用的iText框架了,所... 目录引言iText 核心概念C# 代码示例步骤 1: 确保已安装 iText步骤 2: C# 代码程

Pandas处理缺失数据的方式汇总

《Pandas处理缺失数据的方式汇总》许多教程中的数据与现实世界中的数据有很大不同,现实世界中的数据很少是干净且同质的,本文我们将讨论处理缺失数据的一些常规注意事项,了解Pandas如何表示缺失数据,... 目录缺失数据约定的权衡Pandas 中的缺失数据None 作为哨兵值NaN:缺失的数值数据Panda

C++中处理文本数据char与string的终极对比指南

《C++中处理文本数据char与string的终极对比指南》在C++编程中char和string是两种用于处理字符数据的类型,但它们在使用方式和功能上有显著的不同,:本文主要介绍C++中处理文本数... 目录1. 基本定义与本质2. 内存管理3. 操作与功能4. 性能特点5. 使用场景6. 相互转换核心区别

Java 缓存框架 Caffeine 应用场景解析

《Java缓存框架Caffeine应用场景解析》文章介绍Caffeine作为高性能Java本地缓存框架,基于W-TinyLFU算法,支持异步加载、灵活过期策略、内存安全机制及统计监控,重点解析其... 目录一、Caffeine 简介1. 框架概述1.1 Caffeine的核心优势二、Caffeine 基础2

python库pydantic数据验证和设置管理库的用途

《python库pydantic数据验证和设置管理库的用途》pydantic是一个用于数据验证和设置管理的Python库,它主要利用Python类型注解来定义数据模型的结构和验证规则,本文给大家介绍p... 目录主要特点和用途:Field数值验证参数总结pydantic 是一个让你能够 confidentl

JAVA实现亿级千万级数据顺序导出的示例代码

《JAVA实现亿级千万级数据顺序导出的示例代码》本文主要介绍了JAVA实现亿级千万级数据顺序导出的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 前提:主要考虑控制内存占用空间,避免出现同时导出,导致主程序OOM问题。实现思路:A.启用线程池

SpringBoot分段处理List集合多线程批量插入数据方式

《SpringBoot分段处理List集合多线程批量插入数据方式》文章介绍如何处理大数据量List批量插入数据库的优化方案:通过拆分List并分配独立线程处理,结合Spring线程池与异步方法提升效率... 目录项目场景解决方案1.实体类2.Mapper3.spring容器注入线程池bejsan对象4.创建