钢轨表面缺陷检测:YOLOv11-MobileNetCA轻量化模型与养护诊断 智能体
钢轨表面四类缺陷(脱落、轮烧、压陷、磨耗)的智能检测系统:在 YOLOv11n 上用 MobileNetV3-Small 替换主干、在 P3/P4/P5 三尺度插入坐标注意力,测试集 mAP50 达 76.1、mAP50-95 达 55.9,算力降至 5.8 GFLOPs、帧率 81.30;检测框再注入 大模型 上下文,形成诊断与养护建议闭环。
成为新会员获取本项目完整报告、代码、数据和AI智能体
研究背景与痛点
钢轨缺陷检测钢轨表面缺陷检测的核心矛盾不是”模型不够强”,而是”算法指标与现场决策之间隔着一条工程鸿沟”。压陷、脱落、磨耗、轮烧四类缺陷在形态、尺度与灰度对比上差异极大,光照、油污、铁锈与拍摄角度又层层叠加干扰,人工巡检在长时间目视作业下疲劳累积,早期轮烧与轻微磨耗极易被放过。
本项目完整报告、代码、数据和AI智能体
研究背景与痛点
三个结构性问题贯穿始终。其一,人工漏检率高、判定标准不一致。 自建数据集的类别分布本身就印证了这种不均衡:压陷占 39.70%、脱落占 32.08%,而磨耗仅 16.73%、轮烧仅 11.49%——稀缺类别在现场恰恰更容易被漏过。其二,纯算法成果缺少界面闭环。 大量研究止步于平均精度提升了若干点,交付物是一组曲线与一段推理脚本;现场工程师真正需要的是上传一张钢轨表面图,立刻看到缺陷位置、类别与置信度,并得到是否处置、如何处置的结论。其三,部署算力受限。 工务段与第三方检测公司的现场设备多为普通工控机或笔记本,计算量动辄数十 GFLOPs 的模型难以达到可用帧率,更遑论下沉到边缘设备。
本系统的产品定位由此明确:一个以图片、视频、实时摄像头检测为首要交互的钢轨表面缺陷智能检测系统。核心链路是用户上传钢轨表面图片,模型返回带边界框的检测结果,再由智能体把结构化检测结果转译为诊断结论与养护建议。训练指标的 CSV 上传对比仅作为模型迭代阶段的辅助分析模块存在,绝不承担主交互职责。
数据来源与预处理
- 数据名称:钢轨表面缺陷数据集
- 数据量:2396 张图像,3950 个标注实例;训练集 1677 张、验证集 239 张、测试集 480 张
- 字段:图像文件、缺陷类别、边界框左上与右下坐标、图像宽高
- 数据来源:由项目组现场采集并使用 LabelImg 人工标注,拓端团队整理核对,全部内容真实有效
- 时间跨度:单批次采集,未跨年度
- 区域跨度:某铁路工务段管辖线路区间,覆盖直线段、曲线段与道床不同清洁状态
- 数据格式:YOLO 格式标注文本(每行”类别序号 + 归一化中心点与宽高”)与 JPG 图像
标注以实例为单位,同一张图可含多个实例,因此实例数 3950 大于图像数 2396。类别分布并不均衡:压陷 1568 个(39.70%)、脱落 1267 个(32.08%)、磨耗 661 个(16.73%)、轮烧 454 个(11.49%),训练/验证/测试三部分各自的逐类计数与总数完全对齐(2759 + 423 + 768 = 3950)。
按边界框面积占图像面积的比例划分尺度,1% 以下为小目标、1% 至 5% 为中目标、5% 以上为大目标,统计得到小目标 788 个(19.95%)、中目标 2375 个(60.13%)、大目标 787 个(19.92%)。

图1 训练集类别数量、边界框中心位置和尺度分布
图1 三块信息合起来说明了任务难度:类别数量条显示压陷与脱落远多于轮烧,模型天然偏向多数类;中心位置热力图显示标注框密集分布在图像纵向中带,与钢轨走向一致;尺度分布显示近五分之一实例落在小目标区间,这对特征提取的细粒度能力提出了直接要求,也是后续选择位置敏感注意力而非纯 通道 注意力的依据。
最受欢迎的见解
- Python+FPN+ResNet特征金字塔网络目标检测多尺度特征融合|附AI智能体、代码和数据
- Python开发定制PaliGemma2-LoRA视觉语言模型微调小麦穗头小目标检测|附AI智能体、代码和数据
- PyTorch的Transformer与多头自注意力机制:序列反转与图像异常检测应用|附代码数据
- YOLOv8n-Pose+LSTM边缘智能跌倒检测系统设计与实现
- Python滑动窗口卷积神经网络CNN对损伤梁桥数据、故宫城墙图像数据分类可视化|附数据代码
- Python TensorFlow Keras深度学习模型RetinaNet进行目标检测分析车牌数据
- 多模态与推理模型高效压缩:自适应感知、KV缓存优化与Token容量扩展方法研究及Python复现|附数据代码
- 使用Python中的ImageAI进行对象检测
核心模型设计:YOLOv11-MobileNetCA 轻量化检测模型
基线为 YOLOv11n。YOLO 属单阶段检测器,可直接预测类别与边界框,适合需要较高处理速度的巡检场景;n 版本参数量与计算复杂度较低,便于评估边缘部署潜力。其网络结构如图2。

图2 YOLOv11 网络结构
改进一:MobileNetV3-Small 主干替换
以深度可分离卷积与轻量 SE 结构替换原始主干,压缩计算冗余,为注意力机制腾出算力预算,使模型可下沉至边缘设备。主干按五级下采样组织,通道依次为 16、16、24、48、576,对应特征图尺寸从 320 逐级降至 20。
改进二:坐标注意力模块
坐标注意力将通道注意力解耦为水平、垂直两个方向的一维特征编码,在聚合通道信息的同时显式建模空间位置关系。钢轨缺陷沿纵向延展分布,方向性建模对细长磨耗带的召回有直接意义。其结构如图3。

图3 坐标注意力机制
两项改动合并后得到改进模型,记作 YOLOv11-MobileNetCA,结构如图4。注意力模块并非只加在某一处,而是插入检测头的 P3、P4、P5 三个尺度,通道数分别为 256、512、1024,使小、中、大目标分支都获得位置敏感增强。

图4 YOLOv11-MobileNetCA 网络结构
结构配置代码
提示词:改造轻量化检测网络结构
- 背景:钢轨表面缺陷检测任务,基线是 YOLOv11n,现场设备算力有限,需要把模型压到边缘设备能跑的量级,同时不能把精度掉下去。
- 角色:熟悉 Ultralytics 工程与轻量卷积网络改装的视觉算法工程师。
- 任务:写一份 YOLOv11 结构配置文件,把主干整体换成 MobileNetV3-Small 的五级下采样,并在检测头三个输出尺度上插入坐标注意力模块。
- 要求:保持 nc 与 scales 字段不变;主干每级用 MobileNetV3 模块并给出该级输出特征图尺寸注释;检测头按上采样、拼接、C3k2、坐标注意力的顺序组织,注意力的通道数与该层输出通道一致;Detect 层引用的层号必须与实际索引对应。
- 举例:主干第一级写
[-1, 1, MobileNetV3, [16, 1]]并注明输出为 320×320;检测头 P3 分支在 C3k2 之后插入[-1, 1, CoordAtt, [256]]。
坐标注意力实现代码
注意力模块的实现核心是两次池化与一次拆分重组:先沿高度方向做全局池化得到行向量、沿宽度方向做全局池化得到列向量,两者拼接后经共享卷积压缩再激活,随后按原高度与宽度拆回,各自过一层卷积并取 Sigmoid 得到方向权重,最后与输入逐元素相乘。
提示词:实现坐标注意力模块
- 背景:轻量主干压缩了计算量,但小目标与低对比缺陷的特征容易被稀释,需要一个既能聚合通道信息又能保留位置信息的注意力结构,且额外开销要小。
- 角色:熟悉注意力机制与 PyTorch 模块封装的研究工程师。
- 任务:实现坐标注意力模块,并给出一个可插入瓶颈块的封装版本,使它能直接写进结构配置文件。
- 要求:用自适应平均池化分别沿高、宽方向压缩;共享一层 1×1 卷积做通道降维,降维比例取 32 且中间通道不少于 8;激活用 h\_swish;拆回后分别用两个 1×1 卷积生成方向权重并取 Sigmoid;输出为输入与两个方向权重的逐元素乘积;封装版需保留残差相加分支。
- 举例:输入张量形状为 1×256×80×80 时,池化后得到 1×256×80×1 与 1×256×1×80,拼接为 1×256×160×1,降维后通道为 8,最终输出形状仍为 1×256×80×80。
实验设置与训练
训练脚本把数据集路径、超参数与输出目录固定下来,四组对照除结构外完全一致,这是消融结论可信的前提。
提示词:配置四组对照训练
- 背景:需要验证轻量主干与注意力模块各自的贡献,四组配置必须在同一数据、同一超参数、同一环境下运行,否则差异无法归因。
- 角色:习惯把可复现性放在第一位的训练工程师。
- 任务:写训练脚本,支持基线、仅换主干、仅加注意力、两者结合四种结构,共用同一份数据集配置与超参数。
- 要求:图像尺寸 640,批大小 4,训练 150 轮,优化器用 SGD,初始学习率 0.01,动量 0.937,权重衰减 5e-4;关闭马赛克增强的时机设为第 5 轮;数据增强取旋转 3 度、平移 0.02、缩放 0.2、水平翻转 0.5;输出目录统一到 runs/rail 下。
- 举例:仅换主干的组把模型指向
yolo11-MobileNet.yaml,仅加注意力的组指向yolo11-CA.yaml,两者结合指向yolo11-MobileNetCA.yaml,其余参数一字不改。
测试结果与对比
四组消融结果
四组配置分别为基线、仅换主干(M)、仅加注意力(C)、两者结合(MC),均在 480 张测试集上评估。原表将最后一列表头误写为 mAP50-90,按实际评估口径应为 mAP50-95,此处已订正。
| 模型 | 准确率 P /% | 召回率 R /% | mAP50 /% | mAP50-95 /% | GFLOPs | FPS |
|---|---|---|---|---|---|---|
| YOLOv11(基线) | 61.5 | 64.6 | 65.6 | 40.6 | 6.3 | 84.74 |
| YOLOv11-M(仅换主干) | 63.8 | 70.2 | 68.9 | 42.9 | 5.8 | 102.04 |
| YOLOv11-C(仅加注意力) | 68.3 | 78.4 | 74.5 | 52.7 | 9.2 | 82.64 |
| YOLOv11-MC(结合) | 69.8 | 79.4 | 76.1 | 55.9 | 5.8 | 81.30 |
四个组别的分工很清楚。仅换主干后,准确率、召回率、mAP50、mAP50-95 分别提升 2.3、5.6、3.3、2.3 个百分点,算力从 6.3 GFLOPs 降到 5.8 GFLOPs,帧率从 84.74 升到 102.04——轻量网络通过削减冗余参数,在精度小幅改善的同时把速度拉高了一档。仅加注意力后,四项指标分别提升 6.8、13.8、8.9、12.1 个百分点,改善幅度更大,但算力涨到 9.2 GFLOPs、帧率降到 82.64,代价是实打实的。两者结合后,精度取到四组最优,而算力回落到 5.8 GFLOPs、帧率 81.30——轻量主干腾出的算力预算,正好被注意力模块吃掉,最终得到一个精度更高、算力更低的组合。这正是选择 MC 而非单独用 C 的核心理由:单加注意力虽然精度可观,但算力不降反升,与边缘部署的目标相悖。
测试集指标对比
| 指标 | YOLOv11n 基线 | YOLOv11-MobileNetCA | 提升 |
|---|---|---|---|
| 准确率 P /% | 61.5 | 69.8 | +8.3 |
| 召回率 R /% | 64.6 | 79.4 | +14.8 |
| mAP50 /% | 65.6 | 76.1 | +10.5 |
| mAP50-95 /% | 40.6 | 55.9 | +15.3 |
| GFLOPs | 6.3 | 5.8 | −0.5 |
| FPS | 84.74 | 81.30 | −3.44 |
召回提升 14.8 个点而准确率提升 8.3 个点,说明改造对把缺陷找出来的改善比找得准更显著。这与位置敏感注意力的作用机理一致:方向编码缓解了小目标与低对比目标在深层特征中位置信息丢失的问题,漏检因此减少,而误检的改善受限于类间形态重叠,幅度相对温和。帧率下降 3.44 属于可接受范围,算力同步下降 0.5 GFLOPs,说明速度损失来 自注意力 模块的串行开销而非算力膨胀。
各类别精度对比
| 类别 | 数据集占比 | 基线 mAP50 /% | 改进 mAP50 /% | 提升 |
|---|---|---|---|---|
| 压陷 Squat | 39.70% | 82.7 | 83.5 | +0.8 |
| 脱落 Spalling | 32.08% | 52.3 | 64.8 | +12.5 |
| 磨耗 Corrugation | 16.73% | 53.6 | 71.8 | +18.2 |
| 轮烧 Wheel Burn | 11.49% | 73.7 | 84.4 | +10.7 |
这张表比总体指标更有信息量。轮烧样本占比最低,mAP50 却最高,因其灼烧变色、边缘锐利,特征区分度高;压陷占比最高,基线已达 82.7,改进空间本就有限,仅提升 0.8 属正常。真正的收益集中在脱落与磨耗两类:脱落提升 12.5 个点,磨耗提升 18.2 个点,这两类在基线里都只有五成出头,恰是形态跨度大、方向性强的类别。磨耗沿纵向延展、边界模糊,坐标注意力的方向编码对它帮助最大;脱落形态多变、易与压陷混淆,改进后仍有 64.8,是四类中最低。
训练过程与收敛状态
基线同超参数训练 150 轮,两组验证指标变化对比如图5。

图5 训练过程 mAP 对比
改进模型的训练损失与验证指标变化如图6。

图6 YOLOv11-MC 训练损失和验证指标变化
从曲线看,训练损失与验证损失整体持续下降,准确率、召回率与 mAP 逐步上升,150 轮附近仍有轻微增长趋势,未出现明显的验证损失反弹,说明没有过拟合迹象。
需要说明口径。上述曲线取自训练过程中的验证集(239 张),与前面测试集(480 张)的指标是两套口径,不可混用。验证集末轮数值如下,均取自工程内真实记录。
| 模型 | mAP50-95 | mAP50 | P | R |
|---|---|---|---|---|
| YOLOv11-MobileNetCA(第 150 轮) | 0.54397 | 0.73685 | 0.71326 | 0.74915 |
| YOLOv11n 基线(第 150 轮) | 0.39365 | 0.63854 | 0.56200 | 0.66419 |
改进模型的 mAP50-95 峰值就落在末轮第 150 轮且仍在上升,说明尚未完全收敛,具备续训空间;其 mAP50 峰值出现在第 121 轮(0.74926),末轮略有回落,属正常波动。基线同样收敛不足。这意味着测试集上 mAP50-95 取得的 15.3 个点提升,是在双方均未充分收敛的条件下取得的——续训后仍有可观增益空间,也说明该改进方向的上限尚未触及。
检测效果对比
同一批图像在两套权重下的输出如图7,左列为基线、右列为改进模型。

图7 模型改进前后部分目标检测效果
视觉差异与指标一致:基线在多缺陷并存时出现检测框重叠,且部分磨耗与压陷发生误判,框的置信度普遍偏低;改进模型的重叠框明显减少,类别误判消失,各缺陷的置信度整体上移。这与召回提升大于准确率提升的数字相互印证——漏检减少体现为更多正确框被找回,而误判的消除主要来自位置编码对相似类别的区分。
补充的评估曲线与混淆矩阵如下,用于观察各类别的误分方向。

图8 改进模型 PR 曲线

图9 改进模型归一化混淆矩阵
PR 曲线显示四类中轮烧与压陷的曲线下面积最饱满,脱落与磨耗的尾部拖得较长,与各类别 mAP50 的排序一致。归一化混淆矩阵显示,脱落与压陷之间的互相误分是主要错误来源,磨耗误分为背景的比例次之,这为后续困难样本挖掘指明了方向。
结论与展望
测试集口径下准确率 69.8、召回率 79.4、mAP50 76.1、mAP50-95 55.9,相对基线全面提升;算力 5.8 GFLOPs、帧率 81.30 的轻量配置满足边缘部署约束;上传图片、带框检测、诊断报告的主链路闭环。
参考文献与延伸阅读
延伸阅读:Python+FPN+ResNet 特征金字塔网络目标检测多尺度特征融合(Python+FPN+ResNet特征金字塔网络目标检测多尺度特征融合|附AI智能体、代码和数据)。
附录
全文脉络
现场图像采集与标注 | v 基线模型 YOLOv11n |+------------+------------+ | | v v MobileNetV3-Small 主干 坐标注意力 CA | |+------------+------------+ | v YOLOv11-MobileNetCA |+------------+------------+ | | v v 四组消融对照 测试集指标复核 | |+------------+------------+ | v 检测服务(FastAPI) | v 检测框注入大模型上下文 | v 诊断结论 / 养护建议 / 报告导出 | v Docker + Nginx 上线
关键数字速查
| 项目 | 数值 |
|---|---|
| 图像数 / 实例数 | 2396 / 3950 |
| 训练 / 验证 / 测试 | 1677 / 239 / 480 |
| 测试集 P / R / mAP50 / mAP50-95 | 69.8 / 79.4 / 76.1 / 55.9 |
| 相对基线提升 | +8.3 / +14.8 / +10.5 / +15.3 |
| GFLOPs / FPS | 5.8 / 81.30 |
| 训练轮次 / 批大小 / 图像尺寸 | 150 / 4 / 640 |
| 小目标 / 中目标 / 大目标占比 | 19.95% / 60.13% / 19.92% |



