【表面缺陷检测】钢轨表面缺陷检测数据集介绍(2类,含xml标签文件)

一、介绍

钢轨表面缺陷检测是指通过使用各种技术手段和设备,对钢轨表面进行检查和测量,以确定是否存在裂纹、掉块、剥离、锈蚀等缺陷的过程。这些缺陷可能会对铁路运输的安全和稳定性产生影响,因此及时进行检测和修复非常重要。钢轨表面缺陷检测通常采用无损检测技术,如超声检测、涡流检测等,以确保在不损害钢轨的前提下进行准确的检测。

二、数据

钢轨表面缺陷数据通常包括缺陷的类型、位置、尺寸以及严重程度等信息。这些数据可以通过各种检测设备和技术获取,如激光扫描仪、高清相机等。这些数据对于评估钢轨的状态、制定维护计划以及确保铁路运输的安全具有重要意义。通过对这些数据的分析和处理,可以实现对钢轨表面缺陷的准确检测和分类,有助于提高钢轨维护的效率和安全性。

三、获取

本数据集原始是一个4类的图像分类数据集,总共有4个类别(通过标注处理,成为目标检测数据集,含xml标签文件,联系小编获取):

在这里插入图片描述

根据缺陷类别,进行标注:

在这里插入图片描述

得到2个类别的缺陷数据集,可用于目标检测任务,适用于yolov3、yolov4、yolov5、yolov6、yolov7、yolov8等算法模型训练任务。

目前钢轨表面缺陷检测存在的问题有:智能化程度低、钢轨缺陷检测研究较少、钢轨表面材质特殊,处理难度大。我们通过实地参观考察发现,现有的大型钢铁轨梁厂如攀钢、包钢等仍采用人工目测法对钢轨表面质量进行监控,生产效率低,对后续的工艺改进参考价值不大。通过调研国内外文献可知,目前比较成熟的钢类产品缺陷检测技术主要集中于钢板,对冷态钢轨的研究甚少。钢轨是一种高反光性材质,其表面灰度变化不大,因此钢轨缺陷检测对成像质量以及缺陷分割算法有更高的要求。

通过读取xml标签文件,可以获得类别名称和标签数量:

import os
import xml.etree.ElementTree as ET
import glob


def count_type_num(indir):
    # 提取xml文件列表
    os.chdir(indir)
    annotations = os.listdir('.')
    annotations = glob.glob(str(annotations) + '*.xml')

    dict = {}  # 新建字典,用于存放各类标签名及其对应的数目
    for i, file in enumerate(annotations):  # 遍历xml文件

        # actual parsing
        in_file = open(file, encoding='utf-8')
        tree = ET.parse(in_file)
        root = tree.getroot()

        # 遍历文件的所有标签
        for obj in root.iter('object'):
            name = obj.find('name').text
            if (name in dict.keys()):
                dict[name] += 1  # 如果标签不是第一次出现,则+1
            else:
                dict[name] = 1  # 如果标签是第一次出现,则将该标签名对应的value初始化为1

    # 打印结果
    print("各类标签的数量分别为:")
    for key in dict.keys():
        print(key + ': ' + str(dict[key]))

四、最后

钢轨是铁路轨道的主要部件,起引导列车运行和直接承受车辆载荷的重要作用。随着我国既有线路改造以及高速铁路的快速发展,列车对钢轨的运行压力以及冲击载荷越来越强,钢轨表面产生的缺陷概率也越来越大。因此,采集钢轨表面缺陷数据,并基于先进的算法进行检测,是保障铁路安全和稳定运行的重要手段,具有极其重要的意义。

早期钢轨缺陷检测的主要手段是人工物探,该方法不仅效率低下,且无法形成客观统一的检测标准,正逐渐被其他方法所取代.随后,超声波、射线、渗透、涡流等钢轨无损探伤技术的应用推动了检测精度和检测速度的相对提高,这些检测方法虽然穿透能力强、操作安全,但容易受到外部干扰影响,检测结果抽象且难以处理。基于机器视觉的钢轨缺陷检测方法通过先进的视觉设备采集钢轨表面图像,根据算法对图像进行处理,具有实时性、非接触式等特点,能够很好地运用于钢轨缺陷检测领域。闵永智等提出了将平滑滤波器与阈值分割相结合的钢轨表面缺陷检测方法,减轻了光照变化、轨面不平对检测结果的影响,但该方法对背景图像的自适应平滑过程运算量过大,实时性不强。Shi等针对光照及环境变化造成钢轨图像降质的问题,提出了一种基于边缘检测算子改进的钢轨缺陷检测算法,改进后的算法可获得具有完整边缘信息的缺陷轮廓定位,但对复杂钢轨图像的检测准确率较低。Tastimur等提出了一种基于形态学特征提取的铁路缺陷检测算法,利用霍夫变换和图像处理技术对实时摄像机获取的钢轨图像进行检测,并通过形态学操作提取采集到的钢轨图像特征,实现对缺陷的识别,但复杂的图像预处理过程容易受到光照不均等外部因素的影响,造成一定程度的漏检.上述研究将传统图像处理技术与机器学习的方法相结合,设计了适用于特定场景下的钢轨缺陷检测方法,该类方法的检测性能易受外部环境的影响,检测速度难以满足实时检测要求。

Steel rails are the main components of railway tracks, playing an important role in guiding train operation and directly bearing vehicle loads. With the renovation of existing railway lines and the rapid development of high-speed railways in China, the operating pressure and impact load of trains on steel rails are becoming stronger, and the probability of defects on the surface of steel rails is also increasing. Therefore, collecting data on rail surface defects and detecting them based on advanced algorithms is an important means to ensure the safety and stable operation of railways, and has extremely important significance.The main method of early rail defect detection was manual geophysical exploration, which was not only inefficient but also unable to form objective and unified detection standards. It was gradually replaced by other methods. Subsequently, the application of non-destructive testing technologies such as ultrasound, radiation, penetration, and eddy current for steel rails has promoted the relative improvement of detection accuracy and speed. Although these detection methods have strong penetration ability and safe operation, they are easily affected by external interference, The detection results are abstract and difficult to process. The machine vision based rail defect detection method collects rail surface images through advanced visual equipment and processes the images based on algorithms. It has real-time and non-contact characteristics and can be well applied in the field of rail defect detection. Min Yongzhi et al. proposed a rail surface defect detection method that combines smooth filters with threshold segmentation, reducing the impact of lighting changes and uneven rail surface on the detection results. However, this method requires too much computation for the adaptive smoothing process of background images and lacks real-time performance. Shi et al. proposed an improved rail defect detection algorithm based on edge detection operator to address the issue of degraded rail images caused by lighting and environmental changes. The improved algorithm can obtain defect contour localization with complete edge information, but the detection accuracy for complex rail images is low. Tastimur et al. proposed a railway defect detection algorithm based on morphological feature extraction, which utilizes Hough transform and image processing technology to detect real-time camera captured rail images, and extracts collected rail image features through morphological operations to achieve defect recognition. However, complex image preprocessing processes are easily affected by external factors such as uneven lighting, Causing a certain degree of missed detection. The above research combines traditional image processing techniques with machine learning methods to design rail defect detection methods suitable for specific scenarios. The detection performance of these methods is easily affected by external environments, and the detection speed is difficult to meet real-time detection requirements.

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

pytorch-fastrcnn识别王者荣耀敌方英雄血条

文章目录 前言效果如下实现训练数据获得训练数据和测试数据yaml文件训练py画框文件的修改py测试py 前言 最近看王者荣耀视频看到了一个别人提供的一个百里自动设计解决方案,使用一个外设放在百里的二技能上,然后拖动外设在屏幕上滑动,当外设检测到有敌方英雄时外设自动松开百里…

05、SpringCloud -- 秒杀按钮、秒杀请求流程(各种请求到后台的判断、减库存、下单数据和次数保存)

目录 秒杀按钮代码实现:vue的JS实现:秒杀请求需求:代码前端后端Seckill-apidomainSeckill-serverWebConfig1、秒杀请求判断controller2、重复下单判断MapperService 接口Impl 实现类controller3、库存判断4、秒杀涉及到的操作_01、减库存_02、创建订单对象并保存_03、用户下…

buuctf_练[CSAWQual 2019]Web_Unagi

[CSAWQual 2019]Web_Unagi 文章目录 [CSAWQual 2019]Web_Unagi掌握知识解题思路关键payload 掌握知识 ​ XXE漏洞利用,xml文件转换编码绕过WAF(UTF-8 --> UTF-16),xml文件格式的书写 ​ 再遇到上传xml文件被拦截,就尝试修改编码再上传&a…

openpnp - 汇川伺服和冰沙主板的连接

文章目录 openpnp - 汇川伺服和冰沙主板的连接概述笔记X轴伺服X轴步进电机X伺服 - 电源进线X轴伺服 - 步进控制线X轴步进电机 - 步进控制线X轴伺服 - 编码器反馈线X轴步进电机 - 编码器反馈线X伺服 - 主板端来的控制信号线主板端 - 主板端来的控制信号线X伺服控制信号线 - 主板…

驱动作业10.28

驱动程序 #include <linux/init.h> #include <linux/module.h> #include<linux/of.h> #include<linux/of_gpio.h> #include<linux/gpio.h> #include<linux/timer.h> #include <linux/fs.h> #include <linux/io.h> #include &…

R-FCN: Object Detection via Region-based Fully Convolutional Networks(2016.6)

文章目录 AbstractIntroduction当前最先进目标检测存在的问题针对上述问题&#xff0c;我们提出... Our approachOverviewBackbone architecturePosition-sensitive score maps & Position-sensitive RoI pooling Related WorkExperimentsConclusion 原文链接 源代码 Abstr…

【RTOS学习】互斥管理 | 调试 | 信息统计

&#x1f431;作者&#xff1a;一只大喵咪1201 &#x1f431;专栏&#xff1a;《RTOS学习》 &#x1f525;格言&#xff1a;你只管努力&#xff0c;剩下的交给时间&#xff01; 互斥管理 | 调试 | 信息统计 &#x1f349;互斥管理&#x1f330;屏蔽中断&#x1f330;暂停调度器…

Android问题笔记四十二:signal 11 (SIGSEGV), code 1 (SEGV_MAPERR) 的解决方法

点击跳转>Unity3D特效百例点击跳转>案例项目实战源码点击跳转>游戏脚本-辅助自动化点击跳转>Android控件全解手册点击跳转>Scratch编程案例点击跳转>软考全系列 &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff0c;以及各种资源分享&…

阿里云服务器—ECS快速入门

这里对标阿里云的课程&#xff0c;一步步学习&#xff0c;链接在下面&#xff0c;学习完考试及格即可获取阿里云开发认证和领取证书&#xff0c;大家可以看看这个&#xff0c;这里我当作笔记&#xff0c;记一下提升印象&#xff01; 内容很长&#xff0c;请耐心看完&#xff0…

论文-分布式-并发控制-并发控制问题的解决方案

目录 参考文献 问题 解法与证明 易读版本 参考文献 Dijkstra于1965年发表文章Solution of a Problem in Concurrent Programming Control&#xff0c;引出并发系统下的互斥(mutual exclusion)问题&#xff0c;自此开辟了分布式计算领域Dijkstra在文中给出了基于共享存储原子…

论文阅读——ELECTRA

论文下载&#xff1a;https://openreview.net/pdf?idr1xMH1BtvB 另一篇分析文章&#xff1a;ELECTRA 详解 - 知乎 一、概述 对BERT的token mask 做了改进。结合了GAN生成对抗模型的思路&#xff0c;但是和GAN不同。 不是对选择的token直接用mask替代&#xff0c;而是替换为…

Maven配置阿里云中央仓库settings.xml

Maven配置阿里云settings.xml 前言一、阿里云settings.xml二、使用步骤1.任意目录创建settings.xml2.使用阿里云仓库 总结 前言 国内网络从maven中央仓库下载文件通常是比较慢的&#xff0c;所以建议配置阿里云代理镜像以提高jar包下载速度&#xff0c;IDEA中我们需要配置自己…

C++常见容器实现原理

引言 如果有一天&#xff01;你骄傲离去&#xff01;&#xff08;抱歉搞错了&#xff09;如果有一天&#xff0c;你在简历上写下了这段话&#xff1a; 那么你不得不在面试前实现一下STL常见的容器了。C的常用容器有&#xff1a;vector、string、deque、stack、queue、list、se…

Docker:安装MySQL

Docker&#xff1a;安装MySQL 1. 部署MySQL2.部署多个MySQL服务 1. 部署MySQL 首先需要安装Docker&#xff0c;安装Docker地址&#xff1a;http://t.csdnimg.cn/utPGF 安装命令&#xff1a; docker run -d \--name mysql \-p 3306:3306 \-e TZAsia/Shanghai \-e MYSQL_ROOT…

[论文笔记]GTE

引言 今天带来今年的一篇文本嵌入论文GTE, 中文题目是 多阶段对比学习的通用文本嵌入。 作者提出了GTE,一个使用对阶段对比学习的通用文本嵌入。使用对比学习在多个来源的混合数据集上训练了一个统一的文本嵌入模型,通过在无监督预训练阶段和有监督微调阶段显著增加训练数…

IOC课程整理-6 Spring IoC 依赖注入

1 依赖注入的模式和类型 模式 类型 2 自动绑定&#xff08;Autowiring&#xff09; 官方定义 “自动装配是Spring框架中一种机制&#xff0c;用于自动解析和满足bean之间的依赖关系。通过自动装配&#xff0c;Spring容器可以根据类型、名称或其他属性来自动连接协作的bean&…

通道洗牌的思想神了

大家好啊&#xff0c;我是董董灿。 昨天写了一篇关于分组卷积的文章&#xff1a;分组卷积的思想神了&#xff0c;然后有同学希望多了解下通道洗牌。 我个人感觉&#xff0c;通道洗牌这个算法&#xff0c;或者说这个思想&#xff0c;可以称之为小而精&#xff0c;并且是实际解…

Photoshop使用笔记总目录

Photoshop基础学习之工具学习 一、【Photoshop界面认识】 二、【 Photoshop常用快捷键】 三、【色彩模式与颜色填充】 四、【选区】 五、【视图】 六、【常用工具组】 七、【套索工具组】 八、【快速选择工具组】 九、【裁剪工具组】 十、【图框工具组】 十一、【吸取…

1.量化相关了解

前言 深度学习模型部署过程中&#xff0c;我们希望可以快速地对模型进行压缩和推理加速&#xff0c;离线量化是一种常用的压缩加速方法。 一、量化概述 量化是指将连续的信号取值&#xff0c;离散化为有限个取值的过程。 深度学习模型量化是使用低比特定点数表征模型浮点参数…

C#学习相关系列之多线程(七)---Task的相关属性用法

一、Task和Thread的区别 任务是架构在线程之上的,任务最终的执行还是要给到线程去执行的。任务和线程之间不是一对一的关系&#xff0c;任务更像线程池&#xff0c;任务相比线程池有很小的开销和精确的控制。&#xff08;总的来说Task的用法更为先进&#xff0c;在多线程的时候…