前言

随着城市化进程的不断推进,道路作为城市基础设施的重要组成部分,其健康状况直接关系到城市的运行效率和居民的出行安全。坑洼路面作为道路病害的一种常见形式,不仅影响行车舒适性,更可能导致交通事故,增加维护成本。因此,及时准确地检测并修复坑洼路面,对于保障道路交通安全、延长道路使用寿命、提升城市形象具有重要意义。

传统的道路检测方法,如人工巡检和车载检测设备,存在效率低下、成本高昂、数据采集不全面等问题。随着计算机视觉技术的发展,尤其是深度学习在图像识别领域的突破,基于人工智能的自动化道路检测系统应运而生。YOLO(You Only Look Once)系列算法以其速度快、精度高的特点,在目标检测领域占据重要地位。YOLOv8作为以其卓越的性能和准确性,为坑洼路面检测提供了新的解决方案。

本系统旨在利用YOLOv8算法开发一套坑洼路面检测系统,通过实时分析道路图像,自动识别并标记路面的坑洼区域,为道路维护部门提供决策支持。该系统的研发,不仅能够提高道路检测的效率和准确性,还能减少人工巡检的风险和成本,对于提升城市智能化管理水平、构建智慧城市具有重要的推动作用。

软件介绍:

基于yolov8坑洼路面检测UI界面+python代码目标检测系统_yolov8

软件由微智启软件工作室基于yolov8目标检测+pyside6可视化源码库开发,运行在window系统,项目的尺寸是固定1489x759像素,推荐在1920x1080像素环境下使用,安装环境后,可以在pycharm或者vscode编辑器运行检测,推荐安装GPU版(有英伟达显卡)环境。可以拖动到Qt编辑器,自定义修改样式。

项目介绍:

该项目文件包含python代码、ui界面源文件、坑洼路面数据集(数据集详情看下文)+yolov8训练好的模型

基于yolov8坑洼路面检测UI界面+python代码目标检测系统_yolov8_02

①程序中图片和图标的存放位置,可以如果想快速替换里面的图片或者图标。只需把同名(以及后缀名)的图片,放到icon中替换即可。

②运行检测后结果的保存位置,每启动检测一次,就会在runs文件夹中生成一个新的文件夹

③yolov8的核心检测代码(官方原版代码)

④当程序启动时,会从config.json中加载数据,里面存放着上一次的测试信息(包含conf、iou、weights权重的路径,是否保存结果)。当程序关闭时,也会把当前的配置信息,重新存入config.json中。

⑤运行项目所需python库版本信息

⑥wzq.py是程序启动的入口,安装好环境依赖后,右键运行wzq.py启动程序

⑦它是ui文件(yolov8Qt.ui)通过pyside6转换成python代码得到的,也是图形化界面的代码

⑧图形化界面的ui源文件,可以拖动到qt编辑器修改界面,修改保存后,通过pyside6转成python代码(也就是替换之前的⑦的yolov8Qt.py文件),重新运行wzq.py就能看到新的图形界面

⑨和⑩是程序⑥(wzq.py)的两个类,它们分别是

  1. 【class MyThread】,它负责进行对测试资源进行推理,画框等操作,也就是检测的主要逻辑代码,检测完毕后通过信号槽发送数据给【class MainWindow】类显示到窗口。
  2. 【class MainWindow】主要是图形化界面的一些方法,负责连接图形界面的一些按钮事件,绑定对应的方法,点击按钮后,执行什么操作由它控制。

为了方便阅读,把模型原有的英文标签名称修改成了中文的,如需原有英文,可以使用原有方案(上方注释的代码)。或者修改成自己想要的名称。

基于yolov8坑洼路面检测UI界面+python代码目标检测系统_可视化源码_03

基于yolov8坑洼路面检测UI界面+python代码目标检测系统_UI界面_04

检测数据类型

  1. 图片(单图检测)
  2. 视频(mp4等离线视频)
  3. 电脑摄像头(例如USB或者笔记本自带摄像头)
  4. 文件夹(图片批量检测)

项目功能

  1. 默认提供模型,该模型是使用yolov8训练了200轮得到的,模型和数据集的具体详情,查看下方介绍
  2. 支持同时显示检测结果图和原图,方便对比
  3. 提供了暂停/终止检测功能
  4. 提供检测进度条显示,掌控检测进度
  5. 实时统计当前帧检测到的数量
  6. 实时统计当前帧检测所消耗的时间(毫秒为单位)
  7. 支持动态调整conf(置信度)、iou的值,以及是否保存检测结果(结果默认生成在runs文件夹)
  8. 对检测到的类别,会进行分类统计,实时显示在右下角

项目运行指南

一、视频教程

anaconda和pycharm加载项目视频教程:  

anaconda安装+pycharm加载项目

项目环境依赖视频教程:   

安装项目环境依赖+修改界面样式方法

二、图文教程

1、在anaconda创建独立虚拟环境

conda create -n pothole python=3.8

2、在pycharm加载项目,添加刚刚创建的解释器,在终端运行如下代码

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/

注:如想安装GPU版环境,需要先删除requestments.txt里面的torch和torchvision项,否则默认是CPU版环境

基于yolov8坑洼路面检测UI界面+python代码目标检测系统_pyside6_05

基于yolov8坑洼路面检测UI界面+python代码目标检测系统_路面坑洼_06

3、安装完环境后,右键运行wzq.py文件启动(如果是安装GPU版,需要执行第4步才能运行)

4、如果在上述步骤2中删除了torch和torchvision项,想安装GPU版环境,执行下方命令安装GPU版pytorch

conda install pytorch==1.11.0 torchvisinotallow==0.12.0 torchaudio==0.11.0 cudatoolkit=11.3 -c pytorch

运行检测效果图

基于yolov8坑洼路面检测UI界面+python代码目标检测系统_可视化源码_07

界面样式修改

提供了ui源文件,可以拖动到Qt编辑器中自定义修改颜色界面样式,具体的修改方法,可以参考:https://blog.csdn.net/wzqgzs/article/details/151545144  

基于yolov8坑洼路面检测UI界面+python代码目标检测系统_UI界面_08

数据集介绍

这个是路面坑洼缺陷数据集,已经划分好训练集和验证集分别是731和183张,标注的名称是:pothole

全部数据集已经标注并且是txt格式,可以直接用于yolo目标检测的训练。

基于yolov8坑洼路面检测UI界面+python代码目标检测系统_可视化源码_09

以下是使用yolov8训练200轮的结果,训练好的pt模型,已经放到项目下

基于yolov8坑洼路面检测UI界面+python代码目标检测系统_路面坑洼_10

基于yolov8坑洼路面检测UI界面+python代码目标检测系统_路面坑洼_11

基于yolov8坑洼路面检测UI界面+python代码目标检测系统_yolov8_12

基于yolov8坑洼路面检测UI界面+python代码目标检测系统_可视化源码_13

基于yolov8坑洼路面检测UI界面+python代码目标检测系统_可视化源码_14

基于yolov8坑洼路面检测UI界面+python代码目标检测系统_pyside6_15

基于yolov8坑洼路面检测UI界面+python代码目标检测系统_UI界面_16

基于yolov8坑洼路面检测UI界面+python代码目标检测系统_路面坑洼_17

基于yolov8坑洼路面检测UI界面+python代码目标检测系统_路面坑洼_18

基于yolov8坑洼路面检测UI界面+python代码目标检测系统_可视化源码_19

基于yolov8坑洼路面检测UI界面+python代码目标检测系统_pyside6_20

源码获取

点击底部卡片联系获取

    Logo

    腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

    更多推荐