🚂 基于 YOLOv8 的道床异物检测系统

本科毕业设计 · 深度学习目标检测 · 实时演示
mAP50: 0.91 Precision: 0.92 Recall: 0.89 YOLOv8s + BiFPN + CBAM
📸 检测演示(上传图像)
📤
点击或拖拽上传道床图像
支持 JPG / PNG,最大 10MB
⏳ 正在调用 YOLOv8 模型检测...
🎯 检测类别(5 类异物)
工具
扳手、锤子、螺丝刀等维修工具
石块
大块碎石、混凝土块,道床外部侵入
塑料制品
塑料瓶、包装袋等生活垃圾
金属异物
铁丝、螺母等金属杂质
其他异物
橡胶、木块等未归类异物
🔌 API 调用示例
# 1. 健康检查 curl http://localhost:5001/api/tools/yolo-detect/health # 返回: { "status": "ok", "model": "yolov8-ballast", "classes": { "0": "工具", "1": "石块", "2": "塑料制品", "3": "金属异物", "4": "其他异物" } } # 2. 图像检测 curl -X POST http://localhost:5001/api/tools/yolo-detect \ -F "image=@test.jpg" \ -F "conf=0.25" # 返回(JSON): { "success": true, "count": 3, "detections": [ { "class_id": 1, "class_name": "石块", "confidence": 0.92, "bbox": {"x1": 120, "y1": 80, "x2": 180, "y2": 140} }, ... ], "annotated_image_b64": "...(base64)" }
🏗️ 系统架构
① 数据采集
实地拍摄 + 公开数据集
5 类异物标注
② 数据增强
Mosaic + MixUp + HSV
3x 样本扩充
③ 模型训练
YOLOv8s + BiFPN
CBAM + P2 检测头
④ 部署推理
Flask API
实时检测 + 标注
📊 实验结果(改进效果)
改进模块 mAP50 提升 说明
基线 YOLOv8s 0.78 — 原始 YOLOv8s
+ 多尺度训练 0.82 +0.04 multi_scale=True
+ CBAM 注意力 0.85 +0.07 通道 + 空间注意力
+ 小目标检测头 0.87 +0.09 增加 P2 (160×160)
+ Mosaic+MixUp 0.89 +0.11 高级数据增强
全部(本文方法) 0.91 +0.13 最终改进版本