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

news2024/11/26 15:48:58

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

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

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

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

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

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

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

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

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

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

本文的核心目的就是想要基于捷克、印度、日本三国的城市道路路面实况场景的数据来分别开发路面病害检测识别模型并以此来分析实际的检测识别性能,首先来看效果:

接下来依次看下三国对应的不同的数据集情况。

首先是捷克的:

 可以看到是有不少空图的存在的。

接下来是印度:

 明显三哥的路上尘土比较多。。。

 同样也是包含很多背景空图的。

最后来看日本的道路数据:

 这里的基准模型都是yolov5s,如下:

# YOLOv5 🚀 by Ultralytics, GPL-3.0 license

# Parameters
nc: 20  # number of classes
depth_multiple: 0.33  # model depth multiple
width_multiple: 0.50  # 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)
  ]

 在早期的一篇文章中我是将三个不同的城市道路场景实况数据合并在一起进行的建模训练的,这里我采用的方式是将其分开独立构建模型,想要对比不同场景下模型的性能。

首先来看捷克的:

 接下来是印度的:

 最后是日本的:

 当然了不同国家数据集种道路路面的病害种类也是不同的,如下:

捷克
names_list = ["D00","D10","D20","D40"]

印度
names_list = ["D00","D01","D10","D11","D20","D40","D43","D44","D50"]

日本
names_list = ["D00","D10","D20","D40","D43","D44","D50"]

从整体结果上来看,印度的效果是最好的,不过印度数据集中的类别数量也是最多的。

接下来我整体对比可视化了三个国家数据集上面的效果指标如下所示:

【F1值曲线】

【loss曲线】

 【精确率曲线】

 【召回率曲线】

 感兴趣的话也都可以自行实践一下!

后面有时间基于yolov7、yolov8来汇总三个国家的数据集来开发构建整体的路面病害检测识别模型来整体对比分析下。

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

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

相关文章

利用powershell脚本进行内网渗透

powershell知识点 ps1是powershell脚本的拓展名,就相当于cmd的.bat脚本,但是他更加强大。 获取版本信息 get-host #查看powershell的版本信息$psversiontable #查看powershell的版本信息执行策略 PowerShell 执行策略是一项安全功能,用于控…

softmax之温度系数

1.数学表示 这是传统的softmax: q i e x p ( z i ) ∑ j e x p ( z j ) q_i \frac{exp(z_i)}{\sum_jexp(z_j)} qi​∑j​exp(zj​)exp(zi​)​ 或者写: q i e x p ( z i ) / 1.0 ∑ j e x p ( z j / 1.0 ) q_i \frac{exp(z_i)/1.0}{\sum_jexp(z_j/…

《LCHub低代码指南》:ChatGPT会取代低代码开发平台吗?

目录 一、低代码开发平台的优势 1. 提高开发效率 2. 降低开发成本 3. 提高应用程序的质量 二、ChatGPT的优势 三、ChatGPT是否会取代低代码开发平台 四、结论 随着数字化时代的到来,低代码开发平台已经成为了企业数字化转型的重要工具之一。然而,随着人工智能技术的不…

提升教学质量,监督教室课堂秩序?这招小白也能轻松搞定

在当今快速发展的教育领域,提高教学质量和监督教师的工作表现是学校和教育机构的重要任务之一。 传统的巡课方式存在许多限制,如耗时、人力成本高以及数据收集和分析的困难等。为了应对这些挑战,越来越多的学校和教育机构转向在线巡课系统&am…

微信小程序怎么直播?

我们目前使用的小程序都是支持直播功能的,小程序直播功能是通过小程序直播组件实现的,这是微信为商家提供的实时视频直播工具,可以帮助商家快速通过小程序向用户提供优质的直播内容。同时,借助小程序丰富的营销功能,使…

一、Drools 规则引擎

一、问题引出 现有一个在线申请信用卡的业务场景,用户需要录入个人信息,如下图所示: 通过上图可以看到,用户录入的个人信息包括 姓名、性别、年龄、学历、电话、所在公司、职位、月收入、是否有房、是否有车、是否有信用卡等。录入…

Netty中ServerBootstrap类介绍

一、Netty基本介绍 Netty是由JBOSS提供的一个java开源框架。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。Netty 在保证易于开发的同时还保证了其应用的性能,稳定性和伸缩性。 Netty 是一…

UE5 PCG模块学习1

这次来学习一下UE5.2中正式加入的PCG功能。网上较多的案例是在Landscape地形上创建贴合地面的物体,博主研究了一下,这个案例将创建贴合Mesh的物体: 1.基础生成 1.首先在插件中检查Procedural Content Generation Framework是否已经被开启&…

自学黑客的12个步骤

黑客攻防是一个极具魅力的技术领域,但成为一名黑客毫无疑问也并不容易。你必须拥有对新技术的好奇心和积极的学习态度,具备很深的计算机系统、编程语言和操作系统知识,并乐意不断地去学习和进步。 如果你想成为一名优秀的黑客,下…

Java 获取七牛云存储空间中的所有图片列表

文章目录 获取七牛云密钥导入依赖编辑 YAML 配置文件添加七牛云配置类编写 QiNiuImgUrls 方法测试结果 七牛云官方文档:https://developer.qiniu.com/kodo/sdk/java 如果有还不会使用SpringBoot整合七牛云存储的小伙伴们,可以跳转查看这篇文章&#xff1…

Revit中如何画弯曲的轴网和显示实时轴号?

一、Revit中如何画弯曲的轴网 生活中,有很多圆筒样式的建筑,比如说鸟巢和土楼,他们的外壁是弯曲的。所以,当我们用Revit创建这类模型时,轴网就要画弯曲的,那么,Revit中如何画弯曲的轴网呢&#…

JMeter接口压测和性能监测

引言 今天我来和大家分享一篇关于JMeter接口压测和性能监测的文章。在现代互联网时代,应用程序的性能已经成为了一个非常重要的问题,并且对于许多公司的生存和发展都起着至关重要的作用。 而在这其中,JMeter是一个非常实用的工具&#xff0…

CSAPP - AttackLab实验(阶段1-5)

AttackLab实验 实验内容 官网:http://csapp.cs.cmu.edu/3e/labs.html “AttackLab”是一个Linux下的可执行C程序,包含了5个阶段(phase1~phase5)的不同内容。程序运行过程中,要求学生能够根据缓冲区的工作方式和程序…

【Flutter】如何移除 Flutter 右上角的 DEBUG 标识

文章目录 一、前言二、什么是 DEBUG 标识三、为什么我们需要移除 DEBUG 标识四、如何移除 DEBUG 标识五、完整代码六、总结 一、前言 欢迎来到 Flutter 的世界!在这篇文章中,我们将探索 Flutter 的一些基础知识。但是,你知道吗?这…

Science:“消除噪音”量子比特实现了纠错的重大突破

光子盒研究院 在《科学》杂志的一篇新论文中,芝加哥大学普利兹克分子工程学院Hannes Bernien助教实验室的研究人员描述了一种不断监测量子系统周围噪音并实时调整量子比特以减少误差的方法——他们引入了“旁观者量子比特(spectator qubit)”。 尽管他们有解决新型问…

数字图像处理实验报告

目录 实验二、图像在空间域上的处理方法 实验三、图像在频率域上的处理方法 实验二、图像在空间域上的处理方法 一、实验目的 了解图像亮(灰)度变换与空间滤波的意义和手段;熟悉图像亮(灰)度变换与空间滤波的MATLA…

买法拍房需要注意什么

法拍房,由于其价格亲民、房屋信息透明度高、竞拍过程公平公正而受到越来越多的人开始关注。但是其中又有着许多的风险及相关的注意事项。那么,如何做到成功“捡漏”,买法拍房需要注意什么呢? 买法拍房需要注意什么 1、隐藏的各种收费 税费&a…

优思学院|质量和可靠性是同一件事吗?

什么是质量? 质量是什么?早期的定义是“整体上用来决定产品或服务能否满足使用目的之固有性质与性能总合”,换言之,质量就是“可显示出品质与服务好坏的东西”。 不过,关于质量的想法随时代变化,有范围愈…

专访:诺奖得主Alain Aspect谈量子的挑战与未来

光子盒研究院出品 近期,诺贝尔物理学奖获得者Alain Aspect在接受电子工程专辑(EE Times Europe)采访时说:“诺贝尔奖是由于显示了纠缠的非凡特性而获得的,但我还研究了许多其他惊人的量子现象,包括将原子冷却到一光子反冲力以下。…

JavaWebHtmlCSS总结

目录 JavaWeb概述1.访问web的原理2.C/S软件和B/S软件区别3.静态网站和动态网站 HTMLHTML的概述Table表格详细用法见W3CSchool.chm合并单元格课程表 img标签table和img标签组合使用a标签表单表单Get提交和post提交 div和span CSS1.CSS概述2.CSS语法3.CSS三种写法行内样式内部样式…