轨道扣件缺陷检测数据集发布: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一类但做缺失召回时建议保留缺失扣件单独标签。二、知识普及扣件检测为什么不能只训“缺陷”负样本和正样本一样重要。台铁实务经验里AI 训缺失构件必须同时给“正常构件影像”做负样本否则模型会把所有暗色块都当缺失。缺失类本质是“背景回归”。图上没有框网络得从“这里本该有扣件却空了”学信号所以缺失类召回率比 mAP 更值得盯。小目标高相似扣件占画面 2%~5%弹条细节靠 640 输入勉强够真实车载检测常上 1280 或切片SAHI。工业验收指标不只看 mAP0.5还要看缺失类 Recall、误报率次/公里、夜间/隧道泛化。三、目录结构与 data.yaml假设按 YOLOv8 标准排好1900 张按 8:1:1 切rail_fastener/ ├── images/{train,val,test}/ ├── labels/{train,val,test}/ └── data.yamlpath:./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 modelYOLO(yolov8s.pt)# n 快s 对小扣件更稳model.train(datarail_fastener/data.yaml,epochs150,imgsz640,batch16,device0,optimizerSGD,lr00.01,mosaic0.9,# 小目标增益mixup0.1,copy_paste0.3,# 缺陷/缺失样本少做过采样namerail_fastener_v8s)评估时单独打印缺失类metricsmodel.val(splitval)print(mAP50:,metrics.box.map50)# 更细看 confusion 或 per-class recall用 val 后读取 results.txt / 在 yolo 命令加 save_jsonTrue五、推理扩展只报警“缺陷/缺失”的轻量脚本工业端不想每帧弹 4 类只关心“要不要派人”importcv2fromultralyticsimportYOLO modelYOLO(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)}imgcv2.imread(test_fastener.jpg)resmodel.predict(img,conf0.35,imgsz640)[0]forbinres.boxes:clsint(b.cls)x1,y1,x2,y2map(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,y218),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训练 #铁路运维智能化

相关新闻

最新新闻

日新闻

周新闻

月新闻