news 2026/8/5 10:03:17

轨道扣件缺陷检测数据集发布:1900张图·4类全状态·YOLO直训,附工业落地代码

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
轨道扣件缺陷检测数据集发布:1900张图·4类全状态·YOLO直训,附工业落地代码

轨道扣件缺陷检测数据集发布:1900张图·4类全状态·YOLO直训,附工业落地代码 | 铁路数据集 | 轨道数据集| YOLO数据集

铁路上把钢轨“绑”在轨枕上的那几块金属件叫扣件(紧固件)。弹条断裂、螺栓松动、整组缺失,都会让钢轨纵横向约束下降,高速车轮碾过去就是安全隐患。传统人工巡检靠步行+手电+扭矩扳手,效率低、隧道里更难干;现在主流做法是车载/手持相机拍图 → YOLO 类模型自动判状态。本期数据集就是按这个工业视觉闭环做的:专检扣件,4 类全覆盖。

一、数据集本体(第10547期)

  • 图像量:1900 张铁路扣件局部影像(近景、轨枕区域为主,非大场景航拍)
  • 标注格式:YOLO txt(归一化class cx cy w h),无 VOC 混杂,开箱喂 Ultralytics
  • 类别(4 类)
    • 0 扣件(正常安装、位置正)
    • 1 无缺陷扣件(外观正常但可能有锈迹/脏污,与“扣件”做细粒度拆分)
    • 2 缺陷扣件(弹条变形、裂纹、歪斜、部件破损)
    • 3 缺失扣件(整组脱落/被道砟遮住原位空掉)
  • 场景覆盖:不同光照、道砟背景、潮湿锈蚀、部分遮挡,覆盖巡检车常见工况
  • 用途定位:直接训 YOLOv8/v5/v11 检测头,做“扣件在不在、坏没坏”的二阶段判定基线

⚠️ 类别易混淆点:扣件无缺陷扣件在原文标签体系里是并列两类,不是同一件事——前者偏“定位正样本”,后者偏“健康度正样本”。自己训的时候如果觉得冗余,可合并成normal一类,但做缺失召回时建议保留缺失扣件单独标签。


二、知识普及:扣件检测为什么不能只训“缺陷”

  1. 负样本和正样本一样重要。台铁实务经验里,AI 训缺失构件必须同时给“正常构件影像”做负样本,否则模型会把所有暗色块都当缺失。
  2. 缺失类本质是“背景回归”。图上没有框,网络得从“这里本该有扣件却空了”学信号,所以缺失类召回率比 mAP 更值得盯。
  3. 小目标+高相似:扣件占画面 2%~5%,弹条细节靠 640 输入勉强够;真实车载检测常上 1280 或切片(SAHI)。
  4. 工业验收指标:不只看 mAP@0.5,还要看缺失类 Recall误报率(次/公里)夜间/隧道泛化

三、目录结构与 data.yaml

假设按 YOLOv8 标准排好(1900 张按 8:1:1 切):

rail_fastener/ ├── images/{train,val,test}/ ├── labels/{train,val,test}/ └── data.yaml
path:./rail_fastenertrain:images/trainval:images/valtest:images/testnc:4names:0:扣件1:无缺陷扣件2:缺陷扣件3:缺失扣件

注:YOLO 的 class_id 严格按 names 下标走,标注 txt 里写3 0.52 0.48 0.05 0.07就是指“缺失扣件”。

四、训练代码(YOLOv8,带长尾偏向)

fromultralyticsimportYOLO model=YOLO("yolov8s.pt")# n 快,s 对小扣件更稳model.train(data="rail_fastener/data.yaml",epochs=150,imgsz=640,batch=16,device=0,optimizer="SGD",lr0=0.01,mosaic=0.9,# 小目标增益mixup=0.1,copy_paste=0.3,# 缺陷/缺失样本少,做过采样name="rail_fastener_v8s")

评估时单独打印缺失类:

metrics=model.val(split="val")print("mAP50:",metrics.box.map50)# 更细看 confusion 或 per-class recall,用 val 后读取 results.txt / 在 yolo 命令加 save_json=True

五、推理扩展:只报警“缺陷/缺失”的轻量脚本

工业端不想每帧弹 4 类,只关心“要不要派人”:

importcv2fromultralyticsimportYOLO model=YOLO("runs/detect/rail_fastener_v8s/weights/best.pt")ALARM={2:"缺陷扣件",3:"缺失扣件"}# 只告警这两类colors={0:(0,255,0),1:(0,200,0),2:(0,165,255),3:(0,0,255)}img=cv2.imread("test_fastener.jpg")res=model.predict(img,conf=0.35,imgsz=640)[0]forbinres.boxes:cls=int(b.cls)x1,y1,x2,y2=map(int,b.xyxy[0])cv2.rectangle(img,(x1,y1),(x2,y2),colors[cls],2)cv2.putText(img,res.names[cls],(x1,y1-6),cv2.FONT_HERSHEY_SIMPLEX,0.5,colors[cls],2)ifclsinALARM:cv2.putText(img,f"[ALARM]{ALARM[cls]}",(x1,y2+18),cv2.FONT_HERSHEY_SIMPLEX,0.6,(0,0,255),2)cv2.imwrite("out_fastener.jpg",img)

再往前一步可接:轨枕边缘定位 → 算扣件中心偏移像素 → 超 15mm 判“移位”(原文 4 类没单列移位,但工程里常作为后处理规则补上)。

六、能拿来做什么

  • 高铁/普铁车载巡检算法基线(替代人工目检)
  • 毕业设计“YOLO+扣件缺陷”可直接用 1900 张跑通
  • 缺失召回专项研究(负样本工程、Copy-Paste 增强)
  • 接 PyQt5 / RTSP 转成值班端演示系统

一句话收口:1900 张不算大,但“4 类全状态 + 纯 YOLO”对扣件场景刚好够跑通基线;真上线再把缺失类 Recall 拉到 0.9 以上、误报压到 <1 次/公里,比追高 mAP 更有用。


文章标签
#铁路扣件检测 #紧固件缺失识别 #轨道缺陷 #YOLO数据集 #工业视觉检测 #智慧铁路巡检 #目标检测实战 #小目标检测 #长尾类别 #YOLOv8训练 #铁路运维智能化

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/5 9:57:43

3分钟快速上手:ncmdump轻松解密网易云NCM音乐格式

3分钟快速上手&#xff1a;ncmdump轻松解密网易云NCM音乐格式 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 你是否曾遇到这样的困扰&#xff1a;在网易云音乐下载了心爱的歌曲&#xff0c;却只能在官方App中播放&#xff1f;想要在…

作者头像 李华
网站建设 2026/8/5 9:57:38

解决Ubuntu 22.04虚拟机共享文件夹问题:vmhgfs-fuse与systemd挂载配置

1. 问题场景与核心矛盾如果你正在用VMware Workstation或VMware Player跑Ubuntu 22.04&#xff0c;大概率会遇到一个经典又恼人的问题&#xff1a;明明在虚拟机设置里勾选了“共享文件夹”&#xff0c;路径也指定了&#xff0c;Windows宿主机的文件夹看起来一切就绪&#xff0c…

作者头像 李华
网站建设 2026/8/5 9:57:03

三分钟批量下载:抖音下载器如何让内容采集效率提升80%

三分钟批量下载&#xff1a;抖音下载器如何让内容采集效率提升80% 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback suppo…

作者头像 李华
网站建设 2026/8/5 9:56:18

数字信号处理基础:恒定与交替信号的原理、运算与嵌入式实践

1. 项目概述&#xff1a;从两个基础信号说起 在数字信号处理&#xff08;DSP&#xff09;的世界里&#xff0c;我们常常被各种复杂的算法和变换所吸引&#xff0c;比如傅里叶变换、滤波器设计&#xff0c;或是当下热门的并行计算优化。然而&#xff0c;就像盖房子需要坚实的地基…

作者头像 李华
网站建设 2026/8/5 9:55:16

MFC双显时钟项目:从GDI绘图到Windows桌面开发核心实践

1. 项目概述与核心价值最近在整理过去的课程设计资料&#xff0c;翻到了这个用C MFC做的“指针与数字双显时钟”。这绝对是一个被低估的经典练手项目&#xff0c;它远不止是画个表盘、显示个数字那么简单。对于正在学习Windows桌面开发、尤其是想深入理解MFC框架和GDI绘图机制的…

作者头像 李华
网站建设 2026/8/5 9:53:24

OpenClaw替代方案:生物信息学AI工具链迁移与成本优化实战

1. 项目概述&#xff1a;当“平替”工具失效&#xff0c;我们如何继续前行&#xff1f; 最近在生物信息学圈子里&#xff0c;OpenClaw的突然“失联”确实引发了一阵不小的讨论。作为一个长期依赖它来低成本调用Claude API进行数据分析、代码调试和文献解读的工具&#xff0c;它…

作者头像 李华