城市道路路面病害检测识别分析,以RDD赛事捷克-印度-日本集成融合数据集为例,基于yolov5m模型开发构建城市道路病害检测识别系统

news2024/9/28 7:27:41

城市道路病害检测是最近比较热门的一个任务领域,核心就是迁移深度学习目前已有的研究成果来实现实时城市道路路面病害的检测识别分析,在我之前的很多博文中都有做过类似桥梁、大坝、基建、隧道等水泥设施裂缝裂痕等目标检测相关的项目,除此之外还有开发过相关城市路面病害检测的实践项目,链接如下,感兴趣的话可以自行移步阅读即可。

《水泥路面、桥梁基建、隧道裂痕裂缝检测数据集》

《助力交通出行,基于目标检测模型实现路面裂痕缺陷智能识别》

《基于DeepLabV3实践路面、桥梁、基建裂缝裂痕分割》

《助力路面智能巡检养护,基于YOLOv5开发轻量级路面缺陷智能检测系统》

《python基于融合SPD-Conv改进yolov5与原生yolov5模型实践路面裂痕裂缝检测》

《融合注意力模块SE基于轻量级yolov5s实践路面坑洼目标检测系统》

《基于yolov5s+bifpn实践隧道裂缝裂痕检测》

《基于YOLOV7的桥梁基建裂缝检测》

《python基于DeeplabV3Plus开发构建裂缝分割识别系统,并实现裂缝宽度计算测量》

《基于yolov5开发构建道路路面病害检测识别系统——以捷克、印度、日本三国城市道路实况场景数据为例,开发对比分析模型并分析对应性能》

本文主要是前文《基于yolov5开发构建道路路面病害检测识别系统——以捷克、印度、日本三国城市道路实况场景数据为例,开发对比分析模型并分析对应性能》的后续文章,前文则是以捷克、印度、日本三国独立场景的道路路面数据集为基准开发了轻量级的yolov5s系列的模型,并对三者进行了详细的性能指标对比分析与可视化。

本文主要是将三国城市道路场景的数据集进行整合汇总解析处理,之后基于yolov5m模型来尝试开发构建更具识别检测能力的检测模型,首先来看下效果图:

 数据集是与前文一致的,只不过在开发完前文的项目后我发现这批数据集有相当一部分的都是空图,这里为了加快模型的开发效率,这里我去除了相关的空图数据,简单看下数据集:

 可以清楚看到:经过数据处理后生下来14569张图像数据可用于后续模型的开发训练。

原始VOC格式标注数据文件如下:

 经过处理后得到的YOLO格式的标注数据文件如下:

 前后相减可以分析知:大概去除了7000左右的数据量。

融合汇总的数据集类别清单如下所示:

['D00', 'D01', 'D10', 'D11', 'D20', 'D40', 'D43', 'D44', 'D50']

本文使用到的是m系列的模型,相对前文使用的s系列的模型来说精度更高,模型文件如下所示:

# YOLOv5 🚀 by Ultralytics, GPL-3.0 license

# Parameters
nc: 9  # number of classes
depth_multiple: 0.67  # model depth multiple
width_multiple: 0.75  # layer channel multiple
anchors:
  - [10,13, 16,30, 33,23]  # P3/8
  - [30,61, 62,45, 59,119]  # P4/16
  - [116,90, 156,198, 373,326]  # P5/32

# Backbone
backbone:
  # [from, number, module, args]
  [[-1, 1, Conv, [64, 6, 2, 2]],  # 0-P1/2
   [-1, 1, Conv, [128, 3, 2]],  # 1-P2/4
   [-1, 3, C3, [128]],
   [-1, 1, Conv, [256, 3, 2]],  # 3-P3/8
   [-1, 6, C3, [256]],
   [-1, 1, Conv, [512, 3, 2]],  # 5-P4/16
   [-1, 9, C3, [512]],
   [-1, 1, Conv, [1024, 3, 2]],  # 7-P5/32
   [-1, 3, C3, [1024]],
   [-1, 1, SPPF, [1024, 5]],  # 9
  ]

# Head
head:
  [[-1, 1, Conv, [512, 1, 1]],
   [-1, 1, nn.Upsample, [None, 2, 'nearest']],
   [[-1, 6], 1, Concat, [1]],  # cat backbone P4
   [-1, 3, C3, [512, False]],  # 13

   [-1, 1, Conv, [256, 1, 1]],
   [-1, 1, nn.Upsample, [None, 2, 'nearest']],
   [[-1, 4], 1, Concat, [1]],  # cat backbone P3
   [-1, 3, C3, [256, False]],  # 17 (P3/8-small)

   [-1, 1, Conv, [256, 3, 2]],
   [[-1, 14], 1, Concat, [1]],  # cat head P4
   [-1, 3, C3, [512, False]],  # 20 (P4/16-medium)

   [-1, 1, Conv, [512, 3, 2]],
   [[-1, 10], 1, Concat, [1]],  # cat head P5
   [-1, 3, C3, [1024, False]],  # 23 (P5/32-large)

   [[17, 20, 23], 1, Detect, [nc, anchors]],  # Detect(P3, P4, P5)
  ]

这里默认是100次的epoch训练计算,训练日志输出如下:

 接下来看下结果详情数据:

【精确率和召回率曲线】

 【训练可视化曲线】

 【PR曲线和F1值曲线】

 【类别标签可视化】

 从上图的类别数据标签可视化中不难看出,其实这几个类别的数据是严重不均衡的。

【混淆矩阵】

 batch计算实例如下:

 同样为了方便使用,这里依旧是实现了可视化推理应用,如下所示:

【捷克】

 【印度阿三】

【小日子】

 感兴趣的话也可以上手实操一下。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/637237.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SQL Server 2008 定时自动备份和自动删除方法

SQL Server 2008 数据定时自动备份和自动删除方法,同一个计划兼备数据备份数数据删除的操作方法 工具/原料 SQL Server 2008 方法/步骤 1、 点击实例名下的【管理】-【维护计划】-点击鼠标右键,点击【维护计划向导】,填写计划名称&…

崛起的中国卫浴:市场与创新双驱动

5月28日,国产大飞机C919完美完成了商业航班首飞。从中国制造到中国创造,C919的成功是无数中国企业、中国品牌的缩影。 改革开放至今的短短四十年间,中国经历了“以市场换技术-模仿式创新-源创新”三个阶段,上世纪90年代&#xff…

【IMX6ULL驱动开发学习】07.注册驱动设备_分配固定的次设备号_cdev

一、register_chrdev 在之前的hello驱动中,注册驱动设备的方式如下 /*初始化设备方法1:自动分配设备号,占用所有次设备号*/ major register_chrdev(0,"hello_drv",&hello_fops);使用 register_chrdev 分配设备号的方式比较…

【JAVA开发环境配置】 我也可以让JDK版本来去自由的切换了! 哈哈哈哈 舒服!

🚀 个人主页 极客小俊 ✍🏻 作者简介:web开发者、设计师、技术分享博主 🐋 希望大家多多支持一下, 我们一起进步!😄 🏅 如果文章对你有帮助的话,欢迎评论 💬点赞&#x1…

单页面控制中心 vue-router

一、 路由的基本配置 1. 在router->index.js中,配置一个懒路由,定义页面加载哪个组件 import Vue from vue import VueRouter from vue-routerVue.use(VueRouter)const routes []// 配置一个懒路由,不然会加载页面下所有组件 const router new Vu…

基于微信小程序的失物招领系统设计与实现

博主介绍:✌擅长Java、微信小程序、Python、Android等,专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟 Java项目精品实战案…

BI工具+方案:火速构建电商数据分析架构

电商数据分析该怎么做?谁都知道电商数据分析讲究效率和精细化,光是围绕电商销售分析,就需要制作包括管理驾驶舱、销售预算分析、店铺销售增长趋势、店铺排名分析、商品退货分析等近20种电商数据分析报表。怎么才能又快又好地完成智能数据分析…

java设计模式之:装饰器模式

前言 在软件设计中,我们也有一种类似新房装修的技术可以对已有对象(新房)的功能进行扩展(装修),以获得更加符合用户需求的对象,使得对象具有更加强大的功能。这种技术对应于一种被称之为装饰模…

Bug序列——容器内给/root目录777权限后无法使用ssh免密登录

Linux——创建容器并将本地调试完全的前后端分离项目打包上传docker运行_北岭山脚鼠鼠的博客-CSDN博客 接着上一篇文章结尾出现403错误时通过赋予/root目录以777权限解决403错误。 chmod 777 /root 现在又出现新的问题,远程ssh无法免密登录了,即使通过…

准备了2个月,怒刷面试题,4面字节跳动,顺利拿到 offer

说到字节跳动的经历还是比较搞笑的。一开始我特别想去那个游戏测试部门,当然 data测试部门也是特别想去的,但是提前批只能投一个,于是投了游戏,结果第二天就给我挂了。。。中间北京的捞我,但是不想去北京所以拒绝了&am…

说透缓存击穿、穿透、雪崩及常用解决方案

文章目录 缓存击穿、穿透、雪崩及解决方案击穿、穿透、雪崩的意思缓存击穿缓存穿透缓存雪崩总结 系列文章目录 本文是系列文章,为了增强您的阅读体验,已将系列文章目录放入文章末尾。👍👍👍 缓存击穿、穿透、雪崩及解决…

我的内网渗透-metasploit基础

目录 MSF postgresql msf模块 永恒之蓝 木马下放 后渗透一些简单命令 MSF Msfconsole是Metasploit框架的主要控制台界面。 开源的渗透软件 postgresql 使用的是postgresql数据库(metasploit所依载的数据库,没有他也可以运行metasploit框架&…

Vue中如何进行二维码生成与扫描?

Vue中如何进行二维码生成与扫描? 二维码是一种广泛应用于各种场合的编码方式,它可以将信息编码成一张二维图案,方便快捷地传递信息。在Vue.js中,我们可以使用一些库和组件来实现二维码的生成和扫描。本文将介绍如何在Vue中实现二…

高频RFID工业读写器在自动化产线上如何应用?

工业读写器在自动化生产上具有十分重要的作用,它可以对工业生产中的贴上RFID标签的各种零部件和产品,进行跟踪与识别。利用RFID技术进行非接触的物体识别和追踪,更好的掌握产线上的物料信息。 高频RFID工业读写器在自动化产线上如何应用&…

Android studio C++调试问题汇总

问题1:如下图所示,cpp目录不显示或cpp目录不显示C源文件。 此问题由由于abiFilter指定为armeabi,但armeabi架构已经不再支持的原因导致,将armeabi修改为armeabi-v7a或arm64等其他支持的架构即可,修改后如下图所示&…

致敬易语言,Excel衍生新型中文编程,Python用户:转折点到了

没有逃过被命运的捉弄 易语言作为中文编程里的老大,刚开始的时候,叫E语言。 创始人吴涛,地道的中国人,就是为了让中国人不再孜孜不倦的去追难懂的编程语言,降低开发门槛。 易语言的结局最终也没逃过被命运的捉弄&…

一款可以拿来做毕设的图书管理系统,简单易掌握,非常nice

项目介绍 项目简介 使用jsp、layui、mysql完成的图书馆系统,包含用户图书借阅、图书管理员、系统管理员界面,功能齐全。 项目详细介绍 本图书管理系统总体上分为前台页面显示和后台管理。 共包含三个大模块:用户、图书管理员、系统管理员…

全量程真空压力综合测量系统的高精度控制解决方案

摘要:针对工作范围在5~1.3Pa,控制精度在0.1%~0.5%读数的全量程真空压力综合测量系统技术要求,本文提出了稳压室真空压力精密控制的技术方案。为保证控制精度,基于动态平衡法,技术方案在高真空、低真空和正压三个区间内…

初识s3c2440A之ARM体系架构入门linux硬件

文章目录 前言一、环境平台的基本介绍二、ARM体系架构必备知识1. 计算机三大组成2. ARM的分类2.1 ARM Cortex-A系列2.2 ARM Cortex-R系列2.3 ARM Cortex-M系列 3. 2440ARM的系统架构 总结 前言 如果大家在前期学习了c语言,并且具备了一定的c语言功底,且学…

7 原子类

Java.util.concurrent.atomic 7.2 没有CAS之前 多线程环境中不使用原子类保证线程安全i(基本数据类型) class Test {private volatile int count 0;//若要线程安全执行执行count,需要加锁public synchronized void increment() {count;}pu…