Litcherry/Road-Defect-Detection-MHSA

GitHub: Litcherry/Road-Defect-Detection-MHSA

基于YOLOv8s和MHSA的路面缺陷检测系统

Stars: 1 | Forks: 0

# 基于“基于多头自注意力机制的路面缺陷目标检测研究”的工程文件 本仓库包含论文**“基于多头自注意力机制的路面缺陷目标检测研究”**的工程文件。 该项目实现了一个基于YOLOv8s和多头自注意力机制(MHSA)的路面缺陷目标检测系统。模型训练使用迁移学习,以`yolov8s.pt`作为初始预训练权重。它包括数据集配置、模型训练、评估、可视化、Grad-CAM分析、训练曲线绘制、混淆矩阵绘制以及基于Python的视觉检测工具。 ## 数据集 本项目保留的最终数据集如下: ``` datasets/RDD2022_China_Drone_MotorBike_yolov8_2500 ``` 数据集包含四种路面缺陷类别: ``` 0 longitudinal_crack 1 transverse_crack 2 alligator_crack 3 pothole ``` 数据集配置: ``` datasets/RDD2022_China_Drone_MotorBike_yolov8_2500/data.yaml ``` ## 项目结构 ``` road_defect_experiment.py Training, testing, and FPS evaluation models/mhsa.py MHSA module models/mhsa_yolov8s.yaml YOLOv8s+MHSA model configuration road_defect_gui.py Image, video, and camera detection GUI gradcam_compare.py Three-panel Grad-CAM comparison gradcam_six_panel_compare.py Six-panel Grad-CAM and detection comparison plot_training_curves.py Training curve plotting plot_confusion_matrix_with_background.py Confusion matrix plotting ``` ## 检查点 `checkpoints`目录用于存储模型权重和训练输出。在本项目中,最终的YOLOv8s+MHSA模型保存于: ``` checkpoints/repro_china_drone_motorbike_yolov8s_mhsa_p4p5_sgd_img640 ``` 最终的基线模型保存于: ``` runs/train/repro_china_drone_motorbike_yolov8s_sgd_img640 ``` ## 训练 YOLOv8s基线: ``` python road_defect_experiment.py train --model baseline --weights yolov8s.pt --run-name repro_china_drone_motorbike_yolov8s_sgd_img640 --data datasets/RDD2022_China_Drone_MotorBike_yolov8_2500/data.yaml --epochs 100 --batch 8 --imgsz 640 --lr0 0.01 --optimizer SGD --device 0 ``` YOLOv8s+MHSA: ``` python road_defect_experiment.py train --model mhsa --weights yolov8s.pt --mhsa-yaml models/mhsa_yolov8s.yaml --run-name repro_china_drone_motorbike_yolov8s_mhsa_p4p5_sgd_img640 --data datasets/RDD2022_China_Drone_MotorBike_yolov8_2500/data.yaml --epochs 100 --batch 8 --imgsz 640 --lr0 0.01 --optimizer SGD --device 0 ``` ## 评估 YOLOv8s基线: ``` python road_defect_experiment.py eval --model baseline --baseline-weights runs/train/repro_china_drone_motorbike_yolov8s_sgd_img640/weights/best.pt --data datasets/RDD2022_China_Drone_MotorBike_yolov8_2500/data.yaml --device 0 ``` YOLOv8s+MHSA: ``` python road_defect_experiment.py eval --model mhsa --mhsa-weights checkpoints/repro_china_drone_motorbike_yolov8s_mhsa_p4p5_sgd_img640/weights/best.pt --data datasets/RDD2022_China_Drone_MotorBike_yolov8_2500/data.yaml --device 0 ``` ## 结果 | 模型 | 测试精度 | 测试召回率 | mAP50(test) | FPS | | --- | ---: | ---: | ---: | ---: | | YOLOv8s | 0.7446 | 0.5893 | 0.6379 | 61.08 | | YOLOv8s+MHSA | 0.7982 | 0.5993 | 0.6803 | 52.83 | 与YOLOv8s基线相比,YOLOv8s+MHSA将mAP50提高了0.0424绝对点,相当于相对提高了约6.65%。 ## 视觉检测工具 运行Python视觉检测系统: ``` python road_defect_gui.py ```
标签:Apex, DNS解析, Grad-CAM, GUI, Mutation, Python, YOLOv8s, 交通工程, 可视化, 图像处理, 多头自注意力机制, 工程文件, 开源项目, 数据标注, 数据集配置, 无后门, 机器学习, 模型优化, 模型训练, 模型评估, 模型部署, 深度学习, 混淆矩阵, 目标检测, 科研, 自动驾驶, 视频分析, 计算机视觉, 训练曲线, 论文, 评估, 迁移学习, 逆向工具, 道路缺陷检测