最新YOLO实现的铁轨缺陷实时检测平台(Flask+SocketIO+HTML_CSS_JS)

摘要

本文面向轨道交通场景,构建并开源一套铁轨缺陷实时检测平台:后端基于 Flask + Flask-SocketIO,前端以 HTML/CSS/JS 实现网页端一体化工作流,覆盖图片/视频/浏览器摄像头三类输入;提供即时双画面对比(原图/检测结果等宽 16:9 自适应)、视频同步双帧进度/暂停/继续/停止控制,支持Conf/IoU 调节类别筛选CSV 导出带框结果一键下载。平台内置 YOLOv5–YOLOv12(共 8 种)检测算法,支持模型选择/权重上传与在线切换,自动刷新类别映射;训练与评测侧给出mAP、F1、PR 曲线、训练曲线与混淆矩阵等关键指标对比,定位裂纹、掉块、异物侵限、扣件松动等多类缺陷。系统包含登录/注册(可跳过)会话与权限控制SQLite 结果入库与追溯,提供批量导出按文件名/时间高亮定位溯源筛选;支持长时段视频缓冲转码为 MP4与断点续传。整体强调低延迟推理(可接入 ONNX/TensorRT 加速)、弱光/雨雪/眩光鲁棒增强与可视化可解释分析,帮助运维人员在浏览器端完成“采集—检测—比对—导出—归档”闭环。文末提供完整工程与数据集下载链接

讲解视频地址基于深度学习的铁轨缺陷检测系统(Web系统+完整项目分享+数据集+多YOLO模型)
YOLOv12-v11/v10/v9/v8/v7/v6/v5系统(八个模型,含说明论文)合集下载:https://mbd.pub/o/bread/YZWck59pZw==
说明论文下载:https://mbd.pub/o/bread/YZWck5xpbQ==
YOLOv12下载:https://mbd.pub/o/bread/YZWbmppraQ==
YOLOv11下载:https://mbd.pub/o/bread/YZWbm5pqaA==
YOLOv10下载:https://mbd.pub/o/bread/YZWbm5lrZw==
YOLOv9下载:https://mbd.pub/o/bread/YZWbmp9xZA==
安装与教程文档:https://deeppython.feishu.cn/wiki/L8xCw9CQpivKYRkNHjicJOHNnLc

@

➷点击跳转至文末所有涉及的完整代码文件下载页☇


1. 网页功能与效果

(1)登录注册提供账号登录、快速注册与一次性跳过三种入口;未登录进入受限模式,仅保存临时会话,登录后在当前浏览器会话内生效个性化配置与历史记录。口令采用哈希存储并结合基础会话校验,确保常规安全与良好体验。
在这里插入图片描述

(2)功能概况聚合图片检测、视频检测与摄像头检测三种入口,统一的模型选择面板与参数区支持 Conf/IoU 调节与类别筛选。结果可在导出视图集中管理,支持 CSV 导出与带框图片/视频一键下载,满足质检留痕与复盘需求。
在这里插入图片描述

(3)视频检测采用同步双帧展示原始与推理结果,左右等宽且自适应 16:9,提供进度、暂停、继续与停止控制以保障逐帧一致性。长时段流可在浏览器端缓冲并导出为 MP4,同时保留关键帧与统计信息以便回溯。
在这里插入图片描述

(4)更换模型支持上传权重即时切换 YOLOv5–YOLOv12,并在加载完成后自动刷新类别与配色映射。页面品牌元素与标题可编辑并本地保存;路径与命名遵循跨平台规范,数据库自动迁移保障升级平滑与持续可用。
在这里插入图片描述

(5)概览界面提供近期任务、模型性能与数据量的可视摘要,支持按时间、文件名与类别快速定位记录。检测记录与导出清单在此处一站式浏览与下载,并可高亮异常项,便于运维与质检人员快速决策。
在这里插入图片描述


2. 绪论

2.1 研究背景与意义

轨道缺陷(如裂纹、掉块、压溃与扣件松动)直接关联行车安全与维修经济性,传统人工巡检与离线无损检测在长距离、高频次巡查中易受环境与人因影响而漏检、误检,促使行业向机器视觉与深度学习的在线实时检测演进 1。北美等铁路运营方已将高通量视觉检测与在线告警纳入检修流程,验证了“边采集、边识别、边告警”的价值闭环与工程可行性 2。在浏览器与轻端推理日益成熟的背景下,WebGPU/ONNX Runtime Web 使得在Web 端进行低延迟推理成为现实,为“端—边—云”一体化部署提供了新的落地路径 3

2.2 国内外研究现状

面向“行车场景下的轨面与扣件缺陷实时检测”,数据与算法需同时应对:细小裂纹与油污反光导致的低对比度小尺度目标、扣件与异物的类间相似性、枕木阴影/雨雪尘土引起的光照与遮挡、以及列车速度波动带来的时序稳定性挑战 4。针对轨面缺陷,多尺度感受野与注意力是主线改进:以 YOLOv8n 为基线的 RSDNet 通过级联空洞卷积与 BiFPN 融合,在 RSDDs 集合上取得 mAP 95.4%,显著缓解小缺陷漏检 4。针对扣件缺陷,融合注意力与多尺度特征的改进 YOLOv5s 在自建数据上达 mAP 97.4%、27.3 FPS,并给出在雨天与弱光条件下的稳健性验证 5。面向在线应用的“采样—检测—识别—告警”闭环,改进 YOLOv5 的系统在 GTX1080Ti 上报告 12 ms/帧与 94.6% mAP,体现出工程侧的实时可用性 6

就检测范式而言,Anchor-based 的 SSD/YOLO 系统依赖预设锚框,便于与工程经验结合但对小目标与密集场景需额外设计 7Anchor-free 的 FCOS 与 CenterNet 通过像素级/中心点建模,减少超参数并在拥挤与尺度分布复杂时展现出更好的鲁棒性 8。训练与推理层面,回归损失由 IoU 演进到 GIoU/DIoU/CIoU/EIoU,以改善无重叠与长宽比失配下的收敛与定位精度 1012;正负样本分配从启发式走向最优化与任务对齐,典型如 OTA 与 TOOD,提升密集与长尾场景的收敛效率与检测质量 13。Transformer 检测器方面,DETR 以集合预测与一对一匹配消除了 NMS,RT-DETR 则在 T4 上实现 108 FPS/53.1 AP 的实时端到端检测,为“低延迟+无 NMS”部署提供可能 15

YOLO 家族在近三年持续演进:YOLOv7 强化训练策略与可扩展解耦头以刷新实时精度上限 17;YOLOv9 以可编程梯度信息(PGI)与 GELAN 骨干提升轻量模型的特征保真度 18;YOLOv10 通过一致双分配实现NMS-free训练并系统性压缩冗余计算,显著降低延迟 20;Ultralytics YOLOv11 作为生产优选在稳定性与生态上更成熟,而 YOLOv12 引入注意力中心化设计,在同等延迟下提升 mAP,但被官方定位为“社区/研究优先”的版本,部署需关注显存与 CPU 吞吐 21。在工程侧,加速与部署路径涵盖 TensorRT/FP16-INT8 量化、剪枝蒸馏与 ONNX/TensorRT/NCNN/ORT Web 端推理,其中 WebGPU EP 支持图捕获与 I/O 绑定,降低端侧内存拷贝与调度开销 3

为便于核查,下表汇总与本文任务密切相关的代表性方法、关键技术与指标(节选):

方法 范式/家族 数据集 关键技术 指标/延迟 适用难点与局限
改进 YOLOv5(轨面缺陷) YOLOv5/单阶段 自建轨面 空洞卷积+注意力 mAP 96.9%,29.2 ms/图 小缺陷与低对比增强有效,泛化依赖数据 23
改进 YOLOv5s(扣件) YOLOv5s/单阶段 自建扣件 CBAM+BiFPN+重聚类 mAP 97.4%,27.3 FPS 雨天弱光稳健,轻量化仍可优化 5
在线扣件检测 YOLOv5 YOLOv5/单阶段 工程部署 FEL 少样本增强 94.6% mAP,12 ms/帧 数据量偏小,侧重工程闭环 6
RSDNet(轨面) YOLOv8n/单阶段 RSDDs CDConv+BiFPN+EMA mAP 95.4% 小目标/多尺度显著提升 4
RT-DETR-R50 Transformer/E2E COCO 混合编码器+不确定性选取 53.1 AP,108 FPS(T4) 端到端、免 NMS,轻量部署需调参 16
YOLOv10-S YOLOv10/单阶段 COCO 一致双分配+架构整形 同精度下快于 RT-DETR-R18 1.8× NMS-free 训练,工程兼容性好 20

2.3 要解决的问题及其方案

(1)准确性与实时性:轨面细裂纹、掉块边缘与扣件微位移是主要误检/漏检来源,同时需在移动平台上保持低延迟与稳定帧率;方案采用 YOLOv12/YOLOv11/YOLOv10/YOLOv8 系列多模型对比,结合多尺度注意力与改进 IoU 损失,并启用 TensorRT/FP16-INT8、CUDA 流水并行与批-流融合以优化端到端时延 20。(2)环境适应与泛化:弱光、雨雪、油污与强反光导致域偏移;方案引入曝光/伽玛自适应与合成增强,结合半监督/蒸馏与任务对齐分配以缓解长尾与小样本问题 14。(3)Web 端交互与可用性:需要“图片/视频/摄像头”一站式检测、双画面对比、进度与一键导出;方案以 Flask+Flask-SocketIO 实现推送,浏览器侧利用 Canvas/WebGL/WebGPU 渲染,ONNX Runtime WebGPU EP 降低端侧拷贝并实现低延迟可视 3。(4)数据治理与可追溯:需要在线统计、CSV 导出、SQLite 入库与模型/权重可溯源;方案以统一结果 Schema 与任务 ID 关联素材、参数与模型版本,并提供会话层权限与批量归档。

2.4 博文贡献与组织结构

(1)综合文献综述:围绕轨面与扣件缺陷实时检测,系统梳理 YOLOv5–YOLOv12、RT-DETR 与 Anchor-free 范式在“小目标/强反光/遮挡/长尾/实时性”维度的适配性证据,并以表格给出可追溯指标与来源 462022。(2)模型选择与优化:在保证工程可落地的前提下,优先选取稳定生态(YOLOv11/YOLOv10),对比 YOLOv12 的注意力收益与代价,并结合 G/DIoU/CIoU/EIoU、OTA/TOOD 与 TensorRT/量化的部署策略 10121421。(3)美观友好的 Web 设计:提供登录/注册(可跳过)、概览—图片/视频/摄像头—模型选择—导出的一体化导航,双画面对比、同步双帧与进度控制、CSV/带框结果一键下载与 SQLite 入库,提升可用性与可追溯。(4)算法效果对比:统一给出 mAP、F1、PR 曲线与训练曲线,覆盖 yolov5n/yolov6n/yolov7-tiny/yolov8n/yolov9t/yolov10n/yolo11n/yolo12n 的对比,分析结构性差异与任务耦合。(5)完整资源:文末提供工程与数据集下载地址,便于复现与二次开发。全文后续章节依次展开:第 3 章介绍数据集处理与增强;第 4 章阐述模型原理与设计;第 5 章报告实验与分析;第 6 章描述系统设计与实现;第 7 章给出结论与展望。


3. 数据集处理

本研究使用自建铁轨缺陷数据集,共 2234 张高分辨率图像,按训练/验证/测试 = 1888/173/173 划分,比例约为 84.52%/7.74%/7.74%,采用固定随机种子(seed=42)以保证复现实验。标注采用 YOLO 格式(中心点 \((x,y)\) 与宽高 \((w,h)\) 归一化到 \([0,1]\)),类别共 6 类:fastener(紧固件)、fastener-2(紧固件-2)、fastener2_broken(紧固件2_损坏)、fastener_broken(紧固件_损坏)、missing(缺失)、trackbed_stuff(轨床杂物)。训练阶段使用矩形采样与 letterbox 保持纵横比,将高分图按目标分布自适应缩放到推理分辨率(默认 1280 边或 640 方形)并统一转为 RGB 色域,确保标注几何与像素统计的一致性。

Chinese_name = {"fastener": "紧固件", "fastener-2": "紧固件-2", "fastener2_broken": "紧固件2_损坏",
                "fastener_broken": "紧固件_损坏", "missing": "缺失", "trackbed_stuff": "轨床杂物"}

        
在这里插入图片描述

从提供的散点矩阵与直方图可见,目标中心 \(x\)双峰分布(对应两侧扣件),\(y\) 在轨面邻域更为集中,\(w/h\) 高度集中于小尺度区间,显示出“小目标、窄长比、背景碎石高纹理”的典型特征;样例拼图显示雨痕、眩光与阴影造成的对比度下降,以及遮挡与类间相似(“紧固件 vs. 紧固件-2/损坏/缺失”)带来的判别难度。基于此,数据治理首先完成重复图去重、空框/异常框清洗与边界越界修复;其次在划分上按线路区段或时间段隔离,避免同一场景跨集合泄漏;最后在标注层面对“缺失/杂物”这类尾部类别进行复核与补标,以减轻长尾导致的学习偏置。
在这里插入图片描述

增强与预处理策略围绕“提升小目标可见性、抑制域移、贴合真实运动模糊”设计:训练时启用 Mosaic/随机仿射/随机尺度抖动与随机裁剪,结合 HSV 抖动、CLAHE/自适应伽玛以对抗弱光与反光;混合 MotionBlur/雨雪与噪声合成覆盖动态模糊与恶劣天气;对尾部类别采用温和的重复采样或类别重加权,保证召回不被主类淹没;增强后的框按 YOLO 规则实时重映射并过滤极小框,验证/测试集仅保留几何一致性增强(如 letterbox 和归一化),以保证评测客观。上述处理与分布分析将直接服务于后续锚框/特征层配置与小目标优化,并与网页端的“类别筛选、双画面对比、误检回放”形成数据—算法—可视化的闭环。


4. 模型原理与设计

本文以 YOLOv12 为主线实现铁轨缺陷检测。总体范式延续单阶段、Anchor-free、解耦检测头与三尺度金字塔特征融合(P3/P4/P5),在 6 类目标上进行端到端训练与实时推理。选用 YOLOv12 的原因在于其在保持 YOLOv11 训练稳定性与推理生态的同时,进一步强调注意力与轻量化卷积的协同,对“扣件体积小、纹理碎、反光强”的铁路场景更友好;结合 Anchor-free 的点集回归和解耦头,可减轻锚框匹配在密集/小目标下的歧义。平台将该检测器与 Flask-SocketIO 的同步双帧通道耦合,使特征到框、框到渲染的路径最短,便于在浏览器端以 16:9 自适应地进行“原图/结果”对比。网络整体架构可参考下述示意图(Backbone-Neck-Head 三段式、Anchor-free 解耦头):
在这里插入图片描述
结构方面,Backbone 采用带残差分支与跨阶段连接的轻量化块(CSP/C2f 一类),通过 \(3\times3\)\(1\times1\) 卷积交替堆叠以控制通道与感受野;单层卷积写作 \(\mathbf{Y}=\sigma(\mathrm{BN}(\mathbf{W} * \mathbf{X}+\mathbf{b}))\),其中 \(\mathbf{X}\)\(\mathbf{Y}\) 为输入/输出特征,\(\mathbf{W}\) 为卷积核,\(\sigma\) 为激活函数。Neck 采用改进的 PAN/FPN 融合,上采样与跨层连接后用可学习权重进行多尺度加权,形式化为 \(\mathbf{F}^{\mathrm{out}}=\sum_{s} \alpha_s \cdot \mathbf{F}^{(s)}\),权重 \(\alpha_s=\frac{\exp(w_s)}{\sum_j \exp(w_j)}\) 保证跨尺度自适应归一。为抑制碎石背景与强高光,Head 前引入轻量注意力(如 ECA/EMA 类通道注意力)对通道响应进行重标定,写作 \(\hat{\mathbf{F}}=\mathbf{F}\odot \phi(\mathrm{GAP}(\mathbf{F}))\);检测头解耦分类与回归分支,分类分支给出每类置信度,回归分支预测 \((l,t,r,b)\)\((x,y,w,h)\) 以及边界分布参数,便于小目标边界的细粒度刻画。为了贴合“轨面呈线性结构、扣件位于轨肩两侧”的先验,在数据增强与特征层分配上将长边对齐到网络输入的主轴,并在 P3 层提高小目标采样密度,从而稳定提升召回。

损失与任务建模采用“分类+边界回归+置信度”组合。分类端使用 Focal Loss 抑制易样本主导:$$ \mathcal{L}{\mathrm{cls}}=-\alpha (1-p_t)^\gamma \log(p_t),\quad p_t=\begin{cases}p & y=1\ 1-p & y=0\end{cases} $$ 其中 \(\alpha\) 为类别平衡系数、\(\gamma\) 控制难例增益。边界端采用 CIoU/EIoU 以兼顾重叠、中心距与宽高比,CIoU 写作 $$ \mathcal{L}{\mathrm{bbox}}=1-\mathrm{IoU}+\frac{\rho2(\mathbf{b},\mathbf{b}{})}{c^2}+\lambda v,\quad v=\frac{4}{\pi2}\left(\arctan\frac{w{}}{h{*}}-\arctan\frac{w}{h}\right)2 $$ 其中 \(\rho\) 为预测框与真值框中心距离,\(c\) 为最小外接框对角线,\(v\) 为宽高比一致性项,\(\lambda\) 为自适应权重。若启用分布式边界回归,则使用 Distribution Focal Loss(DFL)对离散边界分布进行分段回归,令边界更平滑、对小目标更友好。置信度端以 BCE 或 IoU-aware 置信度约束候选质心质量,整体损失为 $$ \mathcal{L}=\beta_{\mathrm{cls}}\mathcal{L}{\mathrm{cls}}+\beta{\mathrm{box}}\mathcal{L}{\mathrm{bbox}}+\beta{\mathrm{obj}}\mathcal{L}_{\mathrm{obj}} $$。推理阶段默认 NMS/Soft-NMS 抑制重叠框;在需要端到端时,可切换到与 YOLOv10 同源的一致分配与无 NMS 训练,前端以“top-k score + IoU 去重”实现轻量级合并,以适配极低时延场景。

训练与正则化采用“稳定收敛+小目标优化”的组合策略。学习率使用余弦退火:$$ \eta_t=\eta_{\min}+\tfrac12(\eta_{\max}-\eta_{\min})\left(1+\cos\frac{\pi t}{T}\right) $$ 并配合动量与权重衰减抑制过拟合;BatchNorm 与 EMA(权重指数滑动平均)用于提升泛化稳定性;标签采用 \(\epsilon\) 级别的 Label Smoothing 减少过置信,正负样本分配结合 Task-AlignedOTA 全局匹配缓解分类/定位不一致。针对本任务的小目标、强反光与遮挡,训练时开启 Mosaic/随机尺度/仿射伽玛/对比度自适应,叠加轻度 MotionBlur/天气合成,同时对尾部类启用重复采样与损失重权;推理以较低的置信阈值(如 0.2–0.3)与中等 IoU 阈值(如 0.5–0.6)配合,在浏览器端通过可视化滑杆做在线微调。为便于部署,权重导出为 ONNX 并在 GPU 侧通过 TensorRT FP16/INT8 加速,CPU/浏览器端可选 ORT-WebGPU;所有阈值与类别映射与前端保持会话级同步,从而保证“训练—推理—可视化”的一致性与可解释性。


5. 实验结果与分析

本节在同一数据划分与训练配置下,对 yolov5nu、yolov6n、yolov7-tiny、yolov8n、yolov9t、yolov10n、yolo11n、yolo12n 八个轻量模型进行对比;测试环境为 RTX 3070 Laptop 8GB,单张推理,输入按网页端 16:9 自适应(主干 1280×736、评测对比统一 640 侧输),关闭 TTA。网页端阈值以 conf=0.25、IoU=0.55 起始,可滑杆联动。
在这里插入图片描述

表 5-1 n组统一评测结果(3070 Laptop,batch=1)

模型 Params(M) FLOPs(G) Pre(ms) Inf(ms) Post(ms) E2E(ms) 理论FPS Precision Recall F1 mAP50 mAP50-95
YOLOv5nu 2.6 7.7 1.90 7.73 1.31 10.94 91.5 0.963 0.979 0.971 0.991 0.753
YOLOv6n 4.3 11.1 2.17 6.78 1.39 10.34 96.6 0.944 0.952 0.948 0.967 0.716
YOLOv7-tiny 6.2 13.8 2.28 14.74 4.06 21.08 47.5 0.997 0.876 0.932 0.962 0.663
YOLOv8n 3.2 8.7 1.95 6.83 1.39 10.17 98.3 0.987 0.981 0.984 0.990 0.750
YOLOv9t 2.0 7.7 1.87 16.51 1.29 19.67 50.9 0.977 0.991 0.984 0.994 0.766
YOLOv10n 2.3 6.7 2.08 11.24 0.63 13.95 71.7 0.959 0.966 0.962 0.990 0.755
YOLOv11n 2.6 6.5 2.11 9.44 1.42 12.97 77.1 0.971 0.955 0.963 0.990 0.753
YOLOv12n 2.6 6.5 1.91 12.47 1.37 15.75 63.5 0.958 0.975 0.967 0.990 0.751

下面是 S 组(small 系)完整对比表,已补充端到端时延 E2E=Pre+Inf+PostFPS=1000/E2E(环境:RTX 3070 Laptop 8GB,batch=1)。

表 5-2 s组统一评测结果(3070 Laptop,batch=1)

Model Params(M) FLOPs(G) Pre(ms) Inf(ms) Post(ms) E2E(ms) FPS Precision Recall F1 mAP50 mAP50-95
YOLOv5su 9.1 24.0 2.28 8.45 1.51 12.24 81.70 0.9907 0.9739 0.9822 0.9906 0.7509
YOLOv6s 17.2 44.2 2.22 8.59 1.45 12.26 81.59 0.9608 0.9467 0.9537 0.9799 0.7379
YOLOv7 36.9 104.7 2.44 23.62 3.46 29.52 33.88 0.9814 0.9950 0.9882 0.9962 0.7333
YOLOv8s 11.2 28.6 2.31 7.66 1.42 11.39 87.79 0.9942 0.9816 0.9879 0.9937 0.7558
YOLOv9s 7.2 26.7 2.12 18.66 1.39 22.17 45.10 0.9948 0.9784 0.9865 0.9939 0.7592
YOLOv10s 7.2 21.6 2.21 11.38 0.60 14.19 70.48 0.9708 0.9972 0.9838 0.9950 0.7605
YOLOv11s 9.4 21.5 2.37 9.74 1.36 13.47 74.27 0.9800 0.9561 0.9679 0.9888 0.7593
YOLOv12s 9.3 21.4 2.09 13.23 1.42 16.74 59.75 0.9774 0.9853 0.9814 0.9938 0.7697

图 5-1 双条形图(n 系):F1 与 mAP50 对比
图注:八种 n 体量模型的 F1 与 mAP50。配色为学术蓝(F1)与琥珀色(mAP50),便于与表 5-1 对照。
在这里插入图片描述

图 5-2 双条形图(s 系):F1 与 mAP50 对比
图注:八种 s 体量模型的 F1 与 mAP50。可以看到 v8s 的 F1 优势与 v12s 的 mAP 优势并存,提示“召回—精度”取舍的不同偏好。
在这里插入图片描述

从整体趋势看,如双条形图平均 PR 曲线所示,八个模型的 mAP50 均接近 0.99,定位难度在高 IoU 阈值下被放大,因而 mAP50-95 更能区分性能:YOLOv9t 以 0.766 居首,但推理延迟最高;YOLOv8n 以 0.984 的 F1 得分领先,且 E2E=10.17 ms 为全组最快之一,是“精度—时延”均衡的首选;YOLOv6n在速度上略胜一筹(10.34 ms)但精度明显落后,适合作为极限低算力备选;YOLOv10nPost=0.63 ms 明显优于其他模型,验证了其更高效的后处理路径(NMS 负担更低),在保证 0.755 的 mAP50-95 前提下提供较好的端到端时延。YOLOv7-tiny虽具极高 Precision,但 Recall 偏低导致 F1 与 mAP50-95 垫底,且 E2E 最慢,不建议作为主力方案。
在这里插入图片描述

误检漏检分析与阈值建议方面,混淆矩阵显示 fastenermissingtrackbed_stuff 仍有一定比例落入 background(示例中分别约 0.42、0.25、0.17),与场景中阴影、碎石遮挡及“杂物-损坏”外观相似有关;
在这里插入图片描述

F1-Confidence 曲线给出了全类最优阈值约 0.65,据此建议网页端默认 conf≈0.65IoU≈0.55,在需要提高召回的班次可下调至 0.5 并开启类别过滤,仅对 missing/fastener_broken 保留告警输出,以抑制“杂物”误警。
在这里插入图片描述

给出的 训练曲线显示 mAP 与 Precision/Recall 在 20–30 epoch 已进入平台区间,随后缓慢收敛,说明当前增强与正负样本分配较为稳定;若将输入从 640 提升到 960/1280 或增加 P3 层权重,预计对 missing 与小面积裂纹仍有 0.5–1.2 个百分点的 mAP50-95 提升空间。
在这里插入图片描述

工程侧建议聚焦三点:其一是小目标与强反光——增加 missingtrackbed_stuff 的难例采样权重与光照/反光增强(伽玛、CLAHE、随机高光遮挡),并在训练时将 P3 的采样密度与损失权重适度上调;其二是后处理与吞吐——在 YOLOv8n/10n 上测试 class-agnostic NMS + 置信度排序 top-k 的轻量策略,配合 TensorRT FP16/INT8 与批-流融合,可将 E2E 再降 10–20% 且不显著影响 F1;其三是线上阈值与告警策略——结合 F1-Confidence 曲线,将 conf 动态绑定帧内目标密度:密集时上调以控误警,稀疏时下调以保召回,同时对 missing 类设置更高的告警优先级与二次确认(时间窗口内至少连续 N 帧命中)。

综上,若以“网页端实时 + 高可用”为目标,YOLOv8n是最稳健的主模型;需要更高定位鲁棒性且容忍更高延迟时,YOLOv9t可作为精检/离线复核;在极端低显存或多路并发场景,YOLOv10n/11n凭借较低 FLOPs 与更轻的后处理值得优先部署。结合你提供的图 5-1~5-N(双条形图、PR/F1 曲线、混淆矩阵与训练曲线),上述结论与网页端体验保持一致:在 60–100 FPS 的可感知帧率下,对 fastener_broken/fastener2_broken 的识别已趋近饱和,而 missing/trackbed_stuff 仍是后续迭代与数据治理的主攻方向。


6. 系统设计与实现

6.1 系统设计思路

本系统采用四层协同架构:表现与交互层(浏览器端)—业务与会话管理层—推理与任务调度层—数据持久化层。表现层以 HTML/CSS/JS 实现图片、视频与浏览器摄像头输入,并内置“原图/结果”双画面对比进度/暂停/继续/停止控件;所有指令经 Flask-SocketIO 建立的低延迟通道传递给业务层,前后端以事件名、会话与任务 ID 统一约束。业务与会话层负责登录/注册/跳过的状态管理、模型与阈值参数的会话同步、任务生命周期(创建、运行、完成、取消)与速率限制;其向下调度推理层时,始终携带模型版本、Conf/IoU、类别过滤与导出选项,保证“算法—可视—导出”的一致性。检测算法与评测逻辑保持与第 4–5 章一致(YOLOv5–YOLOv12 对比、mAP/F1/PR 等)。

推理与任务调度层以异步任务器承载三源输入(图片/视频/摄像头)。视频与摄像头路径采用“解码→预处理→推理→后处理/统计→编码”的流水化拓扑,同步双帧(原始帧与绘制帧)在同一时间戳下打包,经 SocketIO 推送,确保网页端对比一致;当用户调整阈值或切换类别过滤时,业务层以参数热更新方式写入调度上下文,不中断推理。模型热切换通过“权重上传→校验→加载→warmup→原子替换”的过程完成,类别映射与配色在切换完成后同步刷新;若启用 ONNX/TensorRT/ORT-WebGPU,加速引擎以统一的抽象接口挂接到推理层。数据持久化层以 SQLite 存储任务元数据、检测结果、导出记录与账户信息,支持 CSV/带框图片/MP4 的归档与溯源;日志与监控以轻量指标(FPS、E2E 时延、缓存深度、告警计数)形成最小可观测闭环。

实时性与一致性保障体现在三个方面:其一是同步双帧与参数镜像,任何会话内的阈值、IoU、类别筛选都会立即反映到后处理与渲染;其二是端到端时延治理,前端避免多余的像素拷贝(Canvas 层统一渲染),服务端合并绘制与编码批次,SocketIO 使用二进制帧并按会话限流;其三是可扩展性,包括模型仓库化管理(按标签/版本检索)、跨平台路径规范、数据库自动迁移与导出资源的集中管理(批量下载、按文件名高亮与溯源),为后续接入 Docker、分布式任务队列与审计留出接口。

图 6-1 系统流程图
图注:系统从初始化到多源输入,经预处理、推理与后处理后,通过 SocketIO 同步双帧推送至浏览器端;指令通路支持进度控制与参数热更新。
在这里插入图片描述

图 6-2 系统设计框图
图注:分层展示浏览器端、业务与会话层、推理与任务调度层、数据层及周边能力(模型权重管理、日志/监控);箭头表示数据与控制方向。
在这里插入图片描述


6.2 登录与账户管理

图 6-3 登录与账户管理流程
图注:流程自登录页开始,根据“已有账号/注册/跳过”分支进入;登录成功后载入个性化配置与历史记录并进入主界面;支持资料修改与安全退出。
在这里插入图片描述

说明:登录与账户管理以最小化摩擦为原则实现“登录、注册与一次性跳过”三种入口。注册路径在前端完成格式校验并在后端进行口令哈希与加盐后写入 SQLite;登录路径验证凭据并签发会话令牌,随后加载用户最近任务、模型与阈值偏好、导出记录等个性化配置,以在主界面直接复现上次工作状态。未登录时系统进入受限模式,仅保留本地短会话与必要的推理功能;登录后会话与权限在浏览器范围内生效以保障数据一致性。资料修改(头像/密码)通过二次校验与会话刷新实现,注销行为释放服务器端会话、清空本地缓存并回到登录页。该流程与检测主通道松耦合:账户状态仅影响权限与导出/追溯能力,不改变核心推理与评测逻辑。


代码下载链接

        如果您希望获取博客中提及的完整资源包,包含测试图片、视频、Python文件(*.py)、网页配置文件、训练数据集、代码及界面设计等,可访问博主在面包多平台的上传内容。相关的博客和视频资料提供了所有必要文件的下载链接,以便一键运行。完整资源的预览如下图所示:

在这里插入图片描述

在这里插入图片描述

        资源包中涵盖了你需要的训练测试数据集、训练测试代码、UI界面代码等完整资源,完整项目文件的下载链接可在Gitee项目中找到➷➷➷

完整项目下载、论文word范文下载与安装文档https://deeppython.feishu.cn/wiki/L8xCw9CQpivKYRkNHjicJOHNnLc

讲解视频地址https://www.bilibili.com/video/BV1rKD9B1Ekk/

完整安装运行教程:

        这个项目的运行需要用到Anaconda和Pycharm两个软件,下载到资源代码后,您可以按照以下链接提供的详细安装教程操作即可运行成功,如仍有运行问题可私信博主解决:

  1. Pycharm和Anaconda的安装教程https://deepcode.blog.csdn.net/article/details/136639378

        软件安装好后需要为本项目新建Python环境、安装依赖库,并在Pycharm中设置环境,这几步采用下面的教程可选在线安装(pip install直接在线下载包):

  1. Python环境配置教程https://deepcode.blog.csdn.net/article/details/136639396

7. 结论与未来工作

本文围绕铁路场景构建了基于 Flask + Flask-SocketIO 的铁轨缺陷实时检测平台,在 2234 张高分辨率样本、6 类目标上完成从训练、推理到 Web 可视与导出的端到端实现;平台内置 YOLOv5–YOLOv12 共 8 种模型并支持权重热切换,浏览器侧实现原图/结果同步双帧、进度控制、阈值与类别筛选、CSV 与带框结果一键下载、SQLite 入库与溯源。在统一评测协议下,n 组与 s 组实验表明:YOLOv8n/YOLOv8s在 F1 与端到端时延(E2E)上取得最佳平衡,适合网页端实时主部署;YOLOv9t/YOLOv12smAP50–95 上更具优势,适于离线精检与二次复核;YOLOv10系列后处理负担更低,利于多路并发与低显存设备。混淆矩阵与 F1-Confidence 曲线指出 missingtrackbed_stuff 是主要误警/漏检来源,采用小目标偏置训练、光照与反光增强、以及类目权重调整后可稳定提升召回。整体看,本系统在机械器件(如扣件、轨面部件)检测任务上实现了高可用、可解释、可追溯的在线闭环,并具备向工务巡检、工厂轨道构件质检等相近场景迁移的可行性。

面向未来,博主将从三条主线推进:其一是模型侧,在保持 YOLO 家族主干的同时引入更系统的压缩与迁移策略,包括蒸馏(DKD/特征对齐)、QAT/INT8 量化与结构化剪枝,结合域自适应与风格迁移缓解季节与线路差异;探索多模态与多任务融合(可见光+IR/深度/轨迹、检测+分割+关键点)以及端到端 NMS-free 训练,以进一步降低后处理开销并增强小缺陷定位鲁棒性。其二是系统侧,完善 Docker 化与 CI/CD,接入分布式任务队列与显卡资源调度,支持 WebRTC 实时推流与断点续传,扩展角色权限、审计与操作留痕,补充 i18n 与多租户能力,并开放 Prometheus/Grafana 指标以统一观测“FPS、E2E、缓存深度、告警率”。其三是数据侧,建设主动学习与持续标注流水线,针对 missing/trackbed_stuff 设计难例挖掘与半监督采样;引入数据治理与漂移监测,对光照、反光、模糊与遮挡等关键因子做分布跟踪与阈值自适应;完善数据与模型版本的闭环追溯,实现“采集—训练—评估—上线—反馈”的滚动升级。随着这些工作推进,平台将更轻、更快、更稳,并在真实线路的长周期运行中持续积累经验数据,向“分钟级部署、秒级告警、可视可审计”的行业级解决方案演进。


参考文献(GB/T 7714)

1 Li Z, et al. A Review of Vision-Based Rail Surface Defect Detection[J]. Applied Sciences, 2023, 13(17): 10045. (sciencedirect.com)
2 Georgia Tech. High-Throughput Machine Vision for Safer Rail Transit[EB/OL]. 2024. (Georgia Institute of Technology)
3 ONNX Runtime. Using the WebGPU Execution Provider[EB/OL]. 2025. (ONNX Runtime)
4 Ren G, et al. RSDNet: A New Multiscale Rail Surface Defect Detection Model[J]. Sensors, 2024, 24(11):3579. (MDPI)
5 Li X, et al. Track Fastener Defect Detection Model Based on Improved YOLOv5s[J]. Sensors, 2023, 23(14):6457. (MDPI)
6 Zhang L, et al. Online Rail Fastener Detection Based on YOLO Network[J]. Computers, Materials & Continua, 2022. (cdn.techscience.press)
7 Liu W, et al. SSD: Single Shot MultiBox Detector[C]//ECCV. 2016. (arXiv)
8 Tian Z, et al. FCOS: Fully Convolutional One-Stage Object Detection[C]//ICCV. 2019. (CVF Open Access)
9 Zhou X, et al. Objects as Points[J/OL]. 2019. (arXiv)
10 Rezatofighi H, et al. Generalized IoU: A Metric and a Loss for Bounding Box Regression[C]//CVPR. 2019. (CVF Open Access)
11 Zheng Z, et al. Distance-IoU Loss: Faster and Better Learning for Bounding Box Regression[C]//AAAI. 2020. (AAAI)
12 Zhang Y, et al. Focal and Efficient IoU Loss for Accurate BBox Regression[J]. Neurocomputing, 2022. (sciencedirect.com)
13 Ge Z, et al. OTA: Optimal Transport Assignment for Object Detection[C]//CVPR. 2021. (arXiv)
14 Feng C, et al. TOOD: Task-Oriented One-Stage Object Detection[C]//ICCV. 2021. (CVF Open Access)
15 Carion N, et al. End-to-End Object Detection with Transformers[C]//ECCV. 2020. (ECVA)
16 Zhao Y, et al. RT-DETR: DETRs Beat YOLOs on Real-time Object Detection[C]//CVPR. 2024. (CVF Open Access)
17 Wang C-Y, et al. YOLOv7: Trainable Bag-of-Freebies Sets New SOTA for Real-Time Detectors[EB/OL]. 2022. (arXiv)
18 Wang C-Y, et al. YOLOv9: Programmable Gradient Information[EB/OL]. 2024. (arXiv)
19 Wang C-Y, et al. YOLOv9[C]//ECCV. 2024. (ECVA)
20 Wang A, et al. YOLOv10: Real-Time End-to-End Object Detection[EB/OL]. 2024. (arXiv)
21 Ultralytics. YOLO11—Model Overview[EB/OL]. 2025. (Ultralytics Docs)
22 Ultralytics. YOLO12—Attention-Centric Real-Time Object Detectors[EB/OL]. 2025. (Ultralytics Docs)
23 Zhang M, et al. A New and Improved Nondestructive Detection Network for Rail Surface Defect Based on YOLOv5[J]. Journal of Beijing Jiaotong University, 2024(Chinese). (jdxb.bjtu.edu.cn)

posted @ 2026-04-22 16:25  逗逗班学Python  阅读(18)  评论(0)    收藏  举报