当前位置: 首页 > news >正文

深圳网站建设官网惠州网络推广

深圳网站建设官网,惠州网络推广,提供赣州网站建设,学校微信公众号怎么创建在前文中我们尝试构建了在隧道、涵洞尝尽下的自动智能化养护巡查相关的模型,进行了实地测试评估,感兴趣的话可以自行移步阅读即可: 《基于轻量级YOLOv5s开发构建隧道基建裂痕、脱落等缺陷问题检测系统》 本文的想法是相近的,核心…

在前文中我们尝试构建了在隧道、涵洞尝尽下的自动智能化养护巡查相关的模型,进行了实地测试评估,感兴趣的话可以自行移步阅读即可:

《基于轻量级YOLOv5s开发构建隧道基建裂痕、脱落等缺陷问题检测系统》

本文的想法是相近的,核心的目的是想要以公路养护场景为切入点,探索实践在自动巡航拍摄的视频图像数据基础上是否具备准确检测分析识别的能力。

首先看下效果图,如下所示:

接下来整体看下数据集情况,如下所示:

数据来源于实际巡航拍摄,为的就是真实数据来训练测试模型。

这里由于资源限制的问题,在初步版本的模型开发选型上,我们选择的是yolov5s系列的模型,原生模型文件如下所示:

# Parameters
nc: 1
depth_multiple: 0.33
width_multiple: 0.50anchors:- [10,13, 16,30, 33,23]- [30,61, 62,45, 59,119] - [116,90, 156,198, 373,326]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:[[-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)]

这里为了提升模型精度,我继承了前不久提出的spd-conv模块、BIFPN模块和SE注意力模块,这块的内容可以参考前面的博文,这里就不再赘述了,如下所示:

# Parameters
nc: 1  # 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, Focus, [64, 3]],     # 0-P1/2[-1, 1, Conv, [128, 3, 1]],  # 1[-1,1,SPD,[1]],              # 2 -P2/4[-1, 3, C3, [128]],          # 3[-1, 1, Conv, [256, 3, 1]],  # 4[-1,1,SPD,[1]],              # 5 -P3/8[-1, 6, C3, [256]],          # 6[-1, 1, Conv, [512, 3, 1]],  # 7-P4/16[-1,1,SPD,[1]],              # 8 -P4/16[-1, 9, C3, [512]],          # 9[-1, 1, Conv, [1024, 3, 1]], # 10-P5/32[-1,1,SPD,[1]],              # 11 -P5/32[-1, 3, C3, [1024]],         # 12[-1, 1, SPPF, [1024, 5]],    # 13]# Head
head:[[-1, 1, Conv, [512, 1, 1]],                     #14[-1, 1, nn.Upsample, [None, 2, 'nearest']],     #15[[-1, 9], 1, BiFPN, [256, 256]],                #16 cat backbone P4[-1, 3, C3, [512, False]],                      #17[-1, 1, Conv, [256, 1, 1]],                     #18[-1, 1, nn.Upsample, [None, 2, 'nearest']],     #19[[-1, 6], 1, BiFPN, [128, 128]],                #20 cat backbone P3[-1, 3, C3, [256, False]],                      #21 [-1, 1, Conv, [512, 3, 2]],                     #22[[-1, 17, 9], 1, BiFPN, [256, 256]],            #23 v5s通道数是默认参数的一半[-1, 3, C3, [512, False]],                      #24 [-1, 1, Conv, [512, 3, 2]],                     #25[[-1, 14], 1, BiFPN, [256, 256]],               #26[-1, 3, C3, [1024, False]],                     #27 [-1, 1, SE, [1024]],                            #28[[21, 24, 28], 1, Detect, [nc, anchors]],       #29 Detect(P3, P4, P5)]

默认完全相同的训练参数,均执行100次epoch的迭代计算。

等待训练完成后,我们来整体对比分析下,如下所示:

【Precision曲线】
精确率曲线(Precision-Recall Curve)是一种用于评估二分类模型在不同阈值下的精确率性能的可视化工具。它通过绘制不同阈值下的精确率和召回率之间的关系图来帮助我们了解模型在不同阈值下的表现。
精确率(Precision)是指被正确预测为正例的样本数占所有预测为正例的样本数的比例。召回率(Recall)是指被正确预测为正例的样本数占所有实际为正例的样本数的比例。
绘制精确率曲线的步骤如下:
使用不同的阈值将预测概率转换为二进制类别标签。通常,当预测概率大于阈值时,样本被分类为正例,否则分类为负例。
对于每个阈值,计算相应的精确率和召回率。
将每个阈值下的精确率和召回率绘制在同一个图表上,形成精确率曲线。
根据精确率曲线的形状和变化趋势,可以选择适当的阈值以达到所需的性能要求。
通过观察精确率曲线,我们可以根据需求确定最佳的阈值,以平衡精确率和召回率。较高的精确率意味着较少的误报,而较高的召回率则表示较少的漏报。根据具体的业务需求和成本权衡,可以在曲线上选择合适的操作点或阈值。
精确率曲线通常与召回率曲线(Recall Curve)一起使用,以提供更全面的分类器性能分析,并帮助评估和比较不同模型的性能。


【Recall曲线】
召回率曲线(Recall Curve)是一种用于评估二分类模型在不同阈值下的召回率性能的可视化工具。它通过绘制不同阈值下的召回率和对应的精确率之间的关系图来帮助我们了解模型在不同阈值下的表现。
召回率(Recall)是指被正确预测为正例的样本数占所有实际为正例的样本数的比例。召回率也被称为灵敏度(Sensitivity)或真正例率(True Positive Rate)。
绘制召回率曲线的步骤如下:
使用不同的阈值将预测概率转换为二进制类别标签。通常,当预测概率大于阈值时,样本被分类为正例,否则分类为负例。
对于每个阈值,计算相应的召回率和对应的精确率。
将每个阈值下的召回率和精确率绘制在同一个图表上,形成召回率曲线。
根据召回率曲线的形状和变化趋势,可以选择适当的阈值以达到所需的性能要求。
通过观察召回率曲线,我们可以根据需求确定最佳的阈值,以平衡召回率和精确率。较高的召回率表示较少的漏报,而较高的精确率意味着较少的误报。根据具体的业务需求和成本权衡,可以在曲线上选择合适的操作点或阈值。
召回率曲线通常与精确率曲线(Precision Curve)一起使用,以提供更全面的分类器性能分析,并帮助评估和比较不同模型的性能。


【F1值曲线】
F1值曲线是一种用于评估二分类模型在不同阈值下的性能的可视化工具。它通过绘制不同阈值下的精确率(Precision)、召回率(Recall)和F1分数的关系图来帮助我们理解模型的整体性能。
F1分数是精确率和召回率的调和平均值,它综合考虑了两者的性能指标。F1值曲线可以帮助我们确定在不同精确率和召回率之间找到一个平衡点,以选择最佳的阈值。
绘制F1值曲线的步骤如下:
使用不同的阈值将预测概率转换为二进制类别标签。通常,当预测概率大于阈值时,样本被分类为正例,否则分类为负例。
对于每个阈值,计算相应的精确率、召回率和F1分数。
将每个阈值下的精确率、召回率和F1分数绘制在同一个图表上,形成F1值曲线。
根据F1值曲线的形状和变化趋势,可以选择适当的阈值以达到所需的性能要求。
F1值曲线通常与接收者操作特征曲线(ROC曲线)一起使用,以帮助评估和比较不同模型的性能。它们提供了更全面的分类器性能分析,可以根据具体应用场景来选择合适的模型和阈值设置。

整个训练过程中的loss对比曲线如下所示:

综合对比来看:经过改进后的s系列的模型要明显由于官方原生的模型精度。

很多时候大家也都可以根据实际场景下业务需求来针对性地进行一下适配改造,可能会有意想不到的效果。

 

http://www.khdw.cn/news/12642.html

相关文章:

  • 网站运营软件淘宝店铺推广方式有哪些
  • 为什么我的网站无法访问微信crm系统软件
  • 个人营销型网站中国免费网站服务器2020
  • 从用户旅程角度做网站分析快速优化排名公司推荐
  • 移动端电商网站搜索关键词的网站
  • 主机 建设网站seo文章推广
  • 制作一个网站的流程商务软文写作300字
  • 怎么做网站dreamwave制作一个网站步骤
  • 查建设工程规划许可证网站seo外包一共多少钱
  • 昌邑做网站的公司怎么看百度关键词的搜索量
  • 做壁纸网站正规赚佣金的平台
  • 企业网站的用户需求分析青岛网站建设优化
  • 怎样在别人网站做加强链接百度用户客服电话
  • 好听的公司名字网站seo系统
  • 呼市賽罕区信息网站做一顿饭工作域名查询注册商
  • 龙华网站建设销售员快手流量推广网站
  • 网站如何做h5动态页面seo网站关键词优化方法
  • 中国住房和城乡建设部网站首页长沙网络公司营销推广
  • 自己建网站流程要学什么seo关键词排名优化推荐
  • 医院 网站建设 中企动力东莞新闻最新消息今天
  • 做网站还是订阅号深圳网络推广哪家公司好
  • 小程序模板做视频网站站长统计官方网站
  • 青岛网站建设公司 中小企业补贴百度搜索指数排名
  • 做网站跟做APP哪个容易太原seo计费管理
  • 美团网网站建设分析软文外链购买平台
  • 网站优化收费福建百度推广开户
  • 做网站要和企业logo软文营销写作技巧
  • 做照片的网站有哪些合肥网站排名提升
  • wordpress 4.2.1西安网站seo厂家
  • 做减肥网站百度网址链接是多少