助力智能车损计算,基于高精度YOLOv8开发构建智能化车辆受损区域分割检测识别分析系统

车辆受损评估本身有专业的评估流程,本文并不是要探究这块的内容,而是想要通过技术手段来对车辆受损区域的面积做自动化的计算,在前面的博文中我们已经有了相关的开发实践了,感兴趣的话可以自行移步阅读即可:

《基于yolov5-v7.0开发构建汽车车损实例分割检测识别分析系统》

《基于轻量级YOLOv5+Transformer的汽车车损检测识别分析系统》

前面的工作主要是进行了车损的检测和分割,而没有再做后面的计算分析工作,本文的主要目的就是考虑以最新的YOLOv8系列的模型来开发构建更高精度的分割检测系统,首先看下实例效果:

本文使用到的数据集与前文相同,如下:

训练数据配置如下:

# Dataset
path: ./dataset
train:- /data/chesun/dataset/images/train
val:- /data/chesun/dataset/images/test
test:- /data/chesun/dataset/images/test# Classes
names:0: chesun

这里我们主要是选用了n、s和m三个不同量级的模型来开发构建不同参数量级的分割模型。

模型配置文件如下所示:

# Ultralytics YOLO 🚀, AGPL-3.0 license
# YOLOv8 object detection model with P3-P5 outputs. For Usage examples see https://docs.ultralytics.com/tasks/detect# Parameters
nc: 1  # number of classes
scales: # model compound scaling constants, i.e. 'model=yolov8n.yaml' will call yolov8.yaml with scale 'n'# [depth, width, max_channels]n: [0.33, 0.25, 1024]  # YOLOv8n summary: 225 layers,  3157200 parameters,  3157184 gradients,   8.9 GFLOPss: [0.33, 0.50, 1024]  # YOLOv8s summary: 225 layers, 11166560 parameters, 11166544 gradients,  28.8 GFLOPsm: [0.67, 0.75, 768]   # YOLOv8m summary: 295 layers, 25902640 parameters, 25902624 gradients,  79.3 GFLOPs# YOLOv8.0n backbone
backbone:# [from, repeats, module, args]- [-1, 1, Conv, [64, 3, 2]]  # 0-P1/2- [-1, 1, Conv, [128, 3, 2]]  # 1-P2/4- [-1, 3, C2f, [128, True]]- [-1, 1, Conv, [256, 3, 2]]  # 3-P3/8- [-1, 6, C2f, [256, True]]- [-1, 1, Conv, [512, 3, 2]]  # 5-P4/16- [-1, 6, C2f, [512, True]]- [-1, 1, Conv, [1024, 3, 2]]  # 7-P5/32- [-1, 3, C2f, [1024, True]]- [-1, 1, SPPF, [1024, 5]]  # 9# YOLOv8.0n head
head:- [-1, 1, nn.Upsample, [None, 2, 'nearest']]- [[-1, 6], 1, Concat, [1]]  # cat backbone P4- [-1, 3, C2f, [512]]  # 12- [-1, 1, nn.Upsample, [None, 2, 'nearest']]- [[-1, 4], 1, Concat, [1]]  # cat backbone P3- [-1, 3, C2f, [256]]  # 15 (P3/8-small)- [-1, 1, Conv, [256, 3, 2]]- [[-1, 12], 1, Concat, [1]]  # cat head P4- [-1, 3, C2f, [512]]  # 18 (P4/16-medium)- [-1, 1, Conv, [512, 3, 2]]- [[-1, 9], 1, Concat, [1]]  # cat head P5- [-1, 3, C2f, [1024]]  # 21 (P5/32-large)- [[15, 18, 21], 1, Detect, [nc]]  # Detect(P3, P4, P5)

等待训练完成后我们来整体对不同参数量级的模型进行对比可视化。

【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分数绘制在同一个

上面是所有模型的对比信息,下面我们单独拎出来纵向对比结果:

感觉跟我的数据量过少有关系,只有两百张左右的数据集,n系列的模型居然效果优于s和m系列的模型。

最后我们对mAP指标也进行可视化,如下所示:

这里我们将对应的分割结果存储为结构化数据,如下:

{"chesun": [[[585728, 123904], [584704, 125952], [573440, 125952], [571392, 126976], [569344, 126976], [565248, 132096], [563200, 132096], [558080, 137216], [557056, 137216], [555008, 139264], [552960, 139264], [551936, 140288], [549888, 140288], [546816, 143360], [544768, 143360], [544768, 145408], [541696, 148480], [541696, 150528], [540672, 151552], [540672, 153600], [536576, 156672], [536576, 158720], [533504, 161792], [532480, 161792], [510976, 183296], [510976, 184320], [505856, 189440], [505856, 191488], [491520, 205824], [491520, 207872], [486400, 212992], [486400, 214016], [479232, 221184], [479232, 222208], [478208, 224256], [478208, 225280], [473088, 230400], [473088, 232448], [471040, 233472], [471040, 235520], [464896, 241664], [464896, 243712], [461824, 246784], [461824, 248832], [458752, 251904], [458752, 253952], [456704, 254976], [456704, 257024], [454656, 258048], [454656, 265216], [453632, 266240], [453632, 271360], [451584, 273408], [451584, 284672], [450560, 286720], [450560, 290816], [448512, 292864], [448512, 295936], [445440, 299008], [445440, 301056], [440320, 306176], [440320, 307200], [438272, 309248], [438272, 311296], [437248, 312320], [437248, 315392], [435200, 317440], [435200, 319488], [434176, 320512], [434176, 322560], [432128, 323584], [432128, 327680], [430080, 328704], [430080, 330752], [429056, 331776], [429056, 333824], [427008, 335872], [427008, 339968], [425984, 342016], [425984, 345088], [423936, 347136], [423936, 348160], [421888, 350208], [421888, 355328], [420864, 356352], [420864, 377856], [418816, 379904], [418816, 401408], [420864, 402432], [420864, 475136], [421888, 476160], [421888, 491520], [423936, 492544], [423936, 502784], [425984, 503808], [425984, 528384], [423936, 530432], [423936, 581632], [421888, 582656], [421888, 607232], [423936, 609280], [423936, 615424], [425984, 617472], [425984, 623616], [427008, 625664], [427008, 631808], [429056, 633856], [429056, 634880], [430080, 636928], [430080, 642048], [432128, 643072], [432128, 645120], [434176, 647168], [434176, 650240], [435200, 651264], [435200, 653312], [437248, 655360], [437248, 658432], [438272, 659456], [438272, 664576], [440320, 666624], [440320, 667648], [442368, 669696], [442368, 671744], [443392, 672768], [443392, 675840], [445440, 677888], [445440, 680960], [446464, 683008], [446464, 684032], [448512, 686080], [448512, 688128], [450560, 689152], [450560, 692224], [451584, 694272], [451584, 696320], [453632, 697344], [453632, 699392], [454656, 700416], [454656, 702464], [456704, 704512], [456704, 705536], [458752, 707584], [458752, 708608], [459776, 710656], [459776, 712704], [461824, 713728], [461824, 715776], [462848, 716800], [462848, 718848], [466944, 721920], [466944, 723968], [471040, 729088], [471040, 730112], [476160, 735232], [476160, 737280], [478208, 738304], [478208, 740352], [484352, 746496], [484352, 748544], [487424, 751616], [487424, 753664], [489472, 754688], [489472, 756736], [491520, 757760], [491520, 759808], [494592, 762880], [494592, 764928], [495616, 765952], [495616, 768000], [497664, 770048], [497664, 773120], [499712, 774144], [499712, 779264], [500736, 781312], [500736, 790528], [502784, 792576], [502784, 808960], [500736, 811008], [500736, 828416], [499712, 830464], [499712, 838656], [497664, 839680], [497664, 849920], [495616, 851968], [495616, 863232], [494592, 864256], [494592, 880640], [495616, 882688], [495616, 887808], [503808, 896000], [505856, 896000], [507904, 897024], [508928, 897024], [510976, 899072], [517120, 899072], [519168, 897024], [530432, 897024], [532480, 899072], [535552, 899072], [536576, 901120], [540672, 901120], [541696, 902144], [551936, 902144], [552960, 904192], [555008, 904192], [560128, 909312], [560128, 912384], [561152, 913408], [561152, 915456], [563200, 917504], [563200, 918528], [565248, 920576], [565248, 923648], [566272, 925696], [566272, 926720], [568320, 928768], [568320, 929792], [569344, 931840], [569344, 934912], [571392, 936960], [571392, 937984], [573440, 940032], [573440, 942080], [574464, 943104], [574464, 945152], [576512, 946176], [576512, 951296], [577536, 953344], [577536, 954368], [579584, 956416], [579584, 961536], [581632, 962560], [581632, 970752], [582656, 972800], [585728, 972800], [587776, 974848], [718848, 974848], [720896, 972800], [727040, 972800], [729088, 970752], [730112, 970752], [735232, 966656], [735232, 964608], [737280, 962560], [738304, 962560], [751616, 950272], [751616, 948224], [753664, 946176], [753664, 945152], [754688, 943104], [754688, 942080], [757760, 937984], [757760, 934912], [759808, 933888], [759808, 931840], [761856, 929792], [761856, 926720], [762880, 925696], [762880, 921600], [764928, 920576], [764928, 917504], [765952, 915456], [765952, 912384], [768000, 910336], [768000, 909312], [770048, 907264], [770048, 905216], [771072, 904192], [771072, 902144], [773120, 901120], [773120, 899072], [778240, 893952], [778240, 892928], [781312, 888832], [781312, 887808], [782336, 885760], [782336, 884736], [786432, 880640], [786432, 879616], [787456, 877568], [787456, 874496], [789504, 872448], [789504, 866304], [790528, 864256], [790528, 851968], [792576, 849920], [792576, 823296], [794624, 822272], [794624, 815104], [795648, 814080], [795648, 800768], [797696, 798720], [797696, 790528], [798720, 789504], [798720, 779264], [800768, 778240], [800768, 770048], [802816, 768000], [802816, 759808], [803840, 757760], [803840, 753664], [805888, 751616], [805888, 748544], [806912, 746496], [806912, 743424], [812032, 738304], [812032, 737280], [814080, 735232], [814080, 733184], [815104, 732160], [815104, 729088], [817152, 727040], [817152, 724992], [819200, 723968], [819200, 721920], [820224, 720896], [820224, 718848], [822272, 716800], [822272, 715776], [823296, 713728], [823296, 712704], [825344, 710656], [825344, 705536], [827392, 704512], [827392, 700416], [828416, 699392], [828416, 696320], [830464, 694272], [830464, 686080], [831488, 684032], [831488, 671744], [833536, 669696], [833536, 648192], [835584, 647168], [835584, 541696], [836608, 540672], [836608, 519168], [835584, 517120], [835584, 481280], [833536, 479232], [833536, 470016], [831488, 467968], [831488, 461824], [830464, 459776], [830464, 456704], [828416, 454656], [828416, 450560], [827392, 448512], [827392, 437248], [825344, 435200], [825344, 427008], [823296, 425984], [823296, 418816], [822272, 417792], [822272, 413696], [820224, 412672], [820224, 409600], [819200, 407552], [819200, 402432], [817152, 401408], [817152, 396288], [815104, 394240], [815104, 391168], [814080, 389120], [814080, 388096], [812032, 386048], [812032, 382976], [811008, 380928], [811008, 376832], [808960, 374784], [808960, 371712], [806912, 369664], [806912, 366592], [805888, 364544], [805888, 361472], [803840, 360448], [803840, 356352], [802816, 355328], [802816, 353280], [800768, 352256], [800768, 350208], [798720, 348160], [798720, 345088], [797696, 344064], [797696, 336896], [795648, 335872], [795648, 330752], [794624, 328704], [794624, 325632], [792576, 323584], [792576, 319488], [790528, 317440], [790528, 314368], [789504, 312320], [789504, 309248], [787456, 307200], [787456, 306176], [786432, 304128], [786432, 301056], [784384, 299008], [784384, 297984], [782336, 295936], [782336, 292864], [781312, 290816], [781312, 289792], [779264, 287744], [779264, 284672], [778240, 282624], [778240, 281600], [774144, 278528], [774144, 276480], [773120, 274432], [773120, 273408], [771072, 271360], [771072, 270336], [768000, 266240], [768000, 265216], [765952, 263168], [765952, 260096], [764928, 258048], [764928, 254976], [762880, 253952], [762880, 251904], [761856, 249856], [761856, 248832], [759808, 246784], [759808, 243712], [757760, 241664], [757760, 240640], [754688, 237568], [754688, 233472], [753664, 232448], [753664, 230400], [749568, 227328], [749568, 225280], [746496, 222208], [746496, 221184], [743424, 217088], [741376, 217088], [737280, 212992], [737280, 210944], [733184, 207872], [733184, 205824], [732160, 204800], [732160, 202752], [729088, 199680], [729088, 197632], [727040, 196608], [727040, 194560], [723968, 191488], [723968, 189440], [720896, 186368], [720896, 184320], [718848, 183296], [718848, 181248], [716800, 180224], [716800, 178176], [713728, 175104], [713728, 173056], [712704, 172032], [712704, 167936], [710656, 166912], [710656, 164864], [708608, 163840], [708608, 161792], [707584, 159744], [707584, 155648], [705536, 153600], [705536, 150528], [704512, 148480], [704512, 147456], [702464, 145408], [702464, 143360], [699392, 140288], [699392, 139264], [697344, 139264], [696320, 137216], [689152, 137216], [688128, 135168], [679936, 135168], [677888, 134144], [671744, 134144], [669696, 132096], [667648, 132096], [666624, 131072], [664576, 131072], [663552, 129024], [659456, 129024], [658432, 126976], [655360, 126976], [653312, 125952], [615424, 125952], [614400, 123904]]]}

基于OpenCV可以完成对应的区域计算,实例如下所示:

我们将ROI区域提取出来如下所示:

还是很不错的效果,感兴趣也都可以实践下,将AI技术与自己的生产生活场景相结合创造有趣的场景应用吧。

 

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

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

相关文章

数据结构入门到入土——List的介绍

目录 一,什么是List? 二,常见接口介绍 三,List的使用 一,什么是List? 在集合框架中,List是一个接口,继承自Collection。 Collection也是一个接口,该接口中规范了后序容…

【智慧门店】东胜物联蓝牙网关助力解决方案商,推动汽车后市场企业智能化升级

截至2023年9月底,我国汽车保有量达3.3亿辆,后市场前景广阔。 随着人工智能、5G、物联网等新技术的普及,汽车后市场企业希望向智能化迈进,借助新兴科技的力量提升汽车维修、车辆保养等服务质量,满足消费者日益增长的需…

算法模板之单调栈和单调队列图文详解

🌈个人主页:聆风吟 🔥系列专栏:算法模板、数据结构 🔖少年有梦不应止于心动,更要付诸行动。 文章目录 📋前言一. ⛳️单调栈讲解1.1 🔔单调栈的定义1.2 🔔如何维护一个单…

关于SQL时间盲注(基于sleep函数)的手动测试、burpsuite爆破、sqlmap全自动化注入

SQL时间注入是一种常见的SQL注入攻击方式,攻击者通过在SQL语句中注入时间相关的代码,来获取敏感信息或者执行非法操作。其基本原理如下: 攻击者向Web应用程序中输入一段恶意代码,通过SQL语句查询数据库,并注入时间相关…

纸质版表格怎么用扫描仪转换成电子版表格

要将纸质版表格转换成电子版表格,可以使用以下步骤: 1、准备一台物理扫描仪并与电脑连接好,并安装好驱动。 2、打开安装好的金鸣表格文字识别电脑客户端。 3、点击“扫描文件”,在弹出的对话框中选中需要使用的扫描仪。 4、点击“…

Springboot+vue的医疗报销系统(有报告),Javaee项目,springboot vue前后端分离项目

演示视频: Springbootvue的医疗报销系统(有报告),Javaee项目,springboot vue前后端分离项目 项目介绍: 本文设计了一个基于Springbootvue的前后端分离的医疗报销系统,采用M(model&a…

【网络技术】【Kali Linux】Wireshark嗅探(一)ping和ICMP

一、实验目的 本次实验使用wireshark流量分析工具进行网络嗅探,旨在了解ping命令的原理及过程。 二、网络环境设置 本系列实验均使用虚拟机完成,主机操作系统为Windows 11,虚拟化平台选择Oracle VM VirtualBox,组网模式选择“N…

手动创建idea SpringBoot 项目

步骤一: 步骤二: 选择Spring initializer -> Project SDK 选择自己的JDK版本 ->Next 步骤三: Maven POM ->Next 步骤四: 根据JDK版本选择Spring Boot版本 11版本及以上JDK建议选用3.2版本,JDK为11版本…

ArcGIS Pro中Conda环境的Scripts文件解读

Scripts中包含的文件如下 1. propy.bat 用于在 ArcGIS Pro 外部运行 Python 脚本(扩展名为 .py 的文件)。使用的conda环境是与ArcGIS pro环境同步。propy.bat原理是代替各自python环境下的python.exe,主要区别是propy.bat使用的是与Pro同的…

OCP NVME SSD规范解读-2.复位与控制器配置要求-part2

Maximum Data Transfer Size (MDTS):设备应支持至少256KB的最大数据传输大小。 CSTS.CFS Reporting: 设备固件应支持报告CSTS.CFS(Controller Status and Capabilities Field in the Status Register)。 Queue Depths: 每个提交队列的SQ最小…

C++11 lambda函数和包装器

目录 前言 一.lambda的引入 二、lambda函数的使用 1.一般使用 2.引用 三、包装器 1.包装普通对象 2.包装类成员对象 3.bind 前言 学习过python的同学应该对lambda函数不陌生,这是一个匿名函数,不需要写函数的名字。在不会多地方调用某个简单函数…

【OpenCV】告别人工目检:深度学习技术引领工业品缺陷检测新时代

目录 前言 机器视觉 缺陷检测 工业上常见缺陷检测方法 内容简介 作者简介 目录 读者对象 如何阅读本书 获取方式 前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。 点击跳转到网站 机器视觉…

裁员+失恋或许不能比这更遭了,敬小明一塌糊涂与充满感动的2023,也敬曾经的挚爱与寒冬的冰霜

~ 随机抽取评论区的 3位 小伙伴送上精美礼品 ~ 参与方式:关注、点赞、收藏,评论 "2024,一天当做两天卷!" 活动时间:截止到 2024-01-21 00:00:00 礼品清单:CSDN活动周边、自选图书 本文目录 序 …

go语言,ent库与gorm库,插入一条null值的time数据

情景介绍 使用go语言,我需要保存xxxTime的字段至数据库中,这个字段可能为空,也可能是一段时间。我采取的是统一先赋值为空,若有需要,则再进行插入(需要根据另一个字段判断是否插入) 在我的数据…

StackOverflowError的JVM处理方式

背景: 事情来源于生产的一个异常日志 Caused by: java.lang.StackOverflowError: null at java.util.stream.Collectors.lambda$groupingBy$45(Collectors.java:908) at java.util.stream.ReduceOps$3ReducingSink.accept(ReduceOps.java:169) at java.util.ArrayL…

IDEA 开发中常用的快捷键

目录 Ctrl 的快捷键 Alt 的快捷键 Shift 的快捷键 Ctrl Alt 的快捷键 Ctrl Shift 的快捷键 其他的快捷键 Ctrl 的快捷键 Ctrl F 在当前文件进行文本查找 (必备) Ctrl R 在当前文件进行文本替换 (必备) Ctrl Z 撤…

MySql 中的锁详解 —— 共享锁、排他锁、全局锁、表级锁、页级锁、行级锁、意向锁、记录锁、间隙锁等

目录 一. 前言 二. 锁的分类 三. 共享锁(读锁)和排他锁(写锁) 3.1. 共享锁(Shared Lock) 3.2. 排他锁(Exclusive Lock) 四. 全局锁、表级锁、页级锁和行级锁 4.1. 全局锁 4.…

Vue axios Post请求 403 解决之道

前言: 刚开始请求的时候报 CORS 错误,通过前端项目配置后算是解决了,然后,又开始了新的报错 403 ERR_BAD_REQUEST。但是 GET 请求是正常的。 后端的 Controller 接口代码如下: PostMapping(value "/login2&qu…

JVM GC 算法原理概述

对于JVM的垃圾收集(GC),这是一个作为Java开发者必须了解的内容,那么,我们需要去了解哪些内容呢,其实,GC主要是解决下面的三个问题: 哪些内存需要回收? 什么时候回收&…

【1】Docker详解与部署微服务实战

Docker 详解 Docker 简介 Docker 是一个开源的容器化平台,可以帮助开发者将应用程序和其依赖的环境打包成一个可移植、可部署的容器。Docker 的主要目标是通过容器化技术实现应用程序的快速部署、可移植性和可扩展性,从而简化应用程序的开发、测试和部…