基于YOLO与MobileSAM的路面缺陷智能检测系统

作品简介

🛣️ 基于YOLO与MobileSAM的路面缺陷智能检测系统

多模态AI驱动 | 实时目标检测 | 智能语义分割 | 深度隐患分析

📖 项目背景 (Background)

路面病害(如裂缝、坑洞、龟裂等)是影响道路交通安全的重要因素。传统的路面巡检主要依赖人工排查,效率低、成本高且易受主观因素影响。

本项目构建了一套基于 YOLOv8 是目标检测与 MobileSAM 语义分割的智能路面检测系统。系统不仅能毫秒级定位路面缺陷,还能通过 MobileSAM 自动生成精确的缺陷轮廓(Mask),并结合 LLaVA 多模态大模型生成专业的中文维修建议报告,实现路面养护的数字化与智能化。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

🏗️ 系统架构 (System Architecture)

本系统融合了最先进的计算机视觉(CV)模型与大型语言模型(LLM):

graph TD
    Data[路面巡检影像] -->|视频流/图片| Core{AI 核心引擎}
    
    subgraph Core [智能分析核心]
        YOLO[YOLOv8 目标检测] -->|快速定位 Box| Logic[缺陷逻辑判断]
        Logic -->|发现缺陷| SAM[MobileSAM 智能分割]
        SAM -->|生成精确轮廓| LLaVA[LLaVA 多模态大模型]
        LLaVA -->|深度评估| Report[生成养护建议]
    end
    
    subgraph UI [交互应用层]
        Web[Gradio 可视化平台]
        Alert[实时标记与告警]
        History[历史病害库]
    end
    
    Logic -->|路面正常| Web
    Report --> Web

🚀 核心功能 (Core Features)

1. 🔍 智能缺陷检测与分割 (Detection & Segmentation)

  • 多类病害识别:精准识别 裂缝 (Crack)、坑洞 (Pothole)、龟裂/网裂 (Net Cracking)、井盖 (Manhole) 及其修补痕迹。
  • 🧩 智能分割 (Smart Seg):集成 MobileSAM,在检测到缺陷的同时,自动勾勒出缺陷的精确形状和面积,为修补工程量计算提供依据。
  • 中文标签支持:系统全面本地化,检测框与提示信息均完美支持中文显示。

2. 🧠 深度AI安全评估 (Deep AI Analysis)

  • 多模态分析:集成 LLaVA 大模型,作为“AI 养护专家”,对检测到的严重病害进行深度语义分析。
  • 专业报告:自动生成包含病害成因分析、风险等级评估及建议修补方案(如灌缝、挖补)的详细报告。

3. 🎞️ 批量与视频分析 (Batch & Video)

  • 批量处理:支持一次性导入数百张路面照片,自动筛选出包含病害的图片并归档。
  • 视频巡检:支持车载摄像头录像的逐帧分析,实时在视频中标记路面缺陷。

4. 📈 自动训练闭环 (Auto-Training)

  • 一键训练:内置傻瓜式训练模块,用户上传新数据后,只需点击按钮即可启动 YOLOv8 训练。
  • 自动热更新:训练完成后,系统会自动加载最新的 best.pt 模型,无需重启即可应用最新能力。

📂 数据集 (Dataset)

本项目使用 PDD (Road Defect Dataset) 格式数据:

ID英文名称 (Name)中文说明风险等级0Crack路面裂缝⚠️ 中1Manhole井盖ℹ️ 低2Net网裂/龟裂⚠️ 高3Pothole坑洞⛔ 极高4-6Patch-*各类修补痕迹ℹ️ 低7-8Other其他异物⚠️ 中

🛠️ 快速开始 (Quick Start)

1. 环境准备

确保您的系统安装了 Python 3.8+ 和 PyTorch (GPU版推荐)。

# 安装项目依赖
pip install -r requirements.txt

2. 启动系统

python run_web_advanced.py

访问浏览器:http://localhost:7860

3. 模型训练 (首次运行必须)

由于初始模型可能未针对 PDD 数据集微调,建议初次使用时:

  1. 进入 “⚙️ 模型训练” 标签页。
  2. 设置 Epochs (建议 50-100)。
  3. 点击 “🔥 启动训练进程”
  4. 训练结束后系统会自动加载新模型,即可开始检测。

📝 目录结构

RoadDefectDetection/
├── config.yaml               # 系统核心配置文件
├── pdd.yaml                  # PDD 数据集配置
├── run_web_advanced.py       # Web 启动入口
├── src/
│   ├── road_defect_detection_system.py # 核心业务类 (集成 YOLO + SAM)
│   ├── yolo_detector.py      # YOLOv8 封装
│   ├── llava_analyzer.py     # LLaVA 分析接口
│   └── web_interface_advanced.py # Gradio 界面
├── data/                     # 数据集目录
└── runs/                     # 训练日志与模型权重


创作时间: