如何建立计算机视觉驱动的汽车损伤检测系统-------杂记

简介: 如何建立计算机视觉驱动的汽车损伤检测系统-------杂记

作为提高视觉人工智能的组成部分,在保险行业中的重要性日益凸显。它的实施带来了多种优势,例如流程自动化、降低成本、计算机准确性和增强客户体验。


计算机视觉技术带来了很多机会,包括在一定的编程替代人工检测中。这就是为什么 Intelliarts 团队发现有希望开始研究自动汽车损坏评估项目。


在这次探索中,我们深入研究了Intelliarts团队利用计算机解决汽车损坏检测挑战的经验。我们将研究可以采用特定的算法、导航模型训练和评估过程,并评估视觉项目领域流行算法的潜在计算机好处。


什么算法可以解决汽车损坏检测任务


为此,工程师利用图像分割算法。它的工作是根据某些视觉特征(例如颜色、纹理、强度或形状)将一个或另一个类别定位于图像中的特定像素。在车辆检验的情况下,等级划分有损坏或无损坏。图像分割的目标旨在使图像的表示简化或改变为更有意义的形式,将对象与背景分开,使它们易于分析。


图像分割的两种主要方法如下:


实例分割


通过这种计算机视觉技术,每个单独的物体都被识别并用唯一的标识符标记。初始化分割的第一步是物体检测。在这个阶段,计算机视觉算法尝试检测图像中的所有物体,从而达到每个物体个对象边界框提供边界框,即围绕对象的坐标或坐标图形。在对框内的区域进行分类的过程中,算法计算特定类别(例如具有汽车、树、人等)的特定感兴趣的对象位于边界框内部的置信度或可能性。


在该技术的第二步中,算法在每个边界框执行分割并标记每个像素,指示它是否属于一个对象。


实例构件的另一个要求是使用像素级控制器。这些是二值图像,用于识别图像中对象或感兴趣区域的位置。控制器中的每个像素都被分配一个值 0 或 1,指示该值像素是否属于感兴趣的对象或区域。可以通过注释图像来手动生成像素级控件。


该算法的工作方式保证同一对象的多个实例彼此重叠,即使它们重叠或被图像中的其他对象部分重叠。


分割


图像分割技术涉及将图像分割为多个片段,每个片段对应于图像中的特定对象或感兴趣区域,对它们分别进行分类。与传统的图像分割方法简单地构建图像分割为基于像素相似性对于不同的区域,分割分割旨在将每个片段与相关的有意义的分割标签相关联,例如人、汽车、建筑物、树木等。


语义分割将属于同一类的多个对象视为单个实体。如果需要的话,它可以指示图像中的所有权、所有汽车或所有建筑物的边界。有意义的是,语义分割仅允许检测损坏而不是区分它们。在构造上,实例分割可以区分多个不同的损坏。


经过训练后,分割模型可用于通过网络传播新图像并生成像素级分割器来分割新图像。当天的工作原理与实例分割中的像素级掩码类似,但为图像中的每个像素级掩码分配一个标签,而不是生成多个空闲码,每个实例一个对象。


以下部分提供了现实生活重构和分割分割算法以及所获得意见的实际比较。

image.png

用于评估训练模型性能的机器学习指标


机器学习指标是模型解决给出定任务效果的必要条件。它们有助于评估模型的性能并提供对模型的优点和缺点的意见。


机器学习指标的值是根据模型在未使用的数据集上进行测试后显示的结果来计算的。这样,工程师就可以评估模型在现实数据上的潜在性能。获得的结果可以指导进一步的决策,因为工程师可能需要多次修改模型才能证明其性能令人满意。


以下是在测试用于解决损坏检测任务的模型时要考虑使用的主要图像分割指标的列表:


1. MIoU(并集平均交集)


该指标测量数据集中每个类别的预测和真实分割器之间的平均重叠。MloU 的计算方法是计算每个类别的 IoU,然后取所有类别的指令。IoU = 类的预测掩码和真实值掩码之间的交集/类的预测掩码和真实掩码之间的并集。


2. 像素精度


该指标精度为图像中被像素正确分类的像素总数。像素精度=正确分类的像素数/图像中的像素总数。


3. 骰子系数


在图像分割中,骰子系数以 0 到 1 的范围来快速预测和真实分割器的像素之间的重叠,其中 0 表示不重叠,1 表示完美匹配。Dice 系数 = 2 * 两个钳子正确分类的像素数 / 两个客户端中的像素数


在我们对下面详细介绍的实例分割和分割分割模型性能的研究中,Intelliarts团队使用MloU和Dice Coefficient指标来日常测试结果。

image.png

现实生活中的人工智能架构示例


选择正确的人工智能架构是任何机器学习项目的关键一步。明智选择的解决方案可以通过提供更准确的分割过程、更高的处理速度和更高的资源使用效率来改善结果。此外,可能会出现某些架构更适合实时或近实时应用程序,而另外一些架构可能更适合大型数据集的批量处理,这也应该仔细考虑。


有一些图像分割架构已经过广泛测试并且非常流行。其中包括 Mask R-CNN 和 U-net,它们是 Intelliarts 团队用于测试解决汽车损坏检测任务的实例分割和语义分割技术的算法。它们允许工程师利用现成的权重(即在大型数据集上预先训练的模型)上的扭矩技术。这样,就没有从头开始训练模型,这是一个占用大量资源的任务。


让我们深入了解一下这些算法是什么:


Mask R-CNN


Mask R-CNN(带眼镜的基于区域的梯度神经网络)是一种用于对象检测和实例分割的深度学习架构。它建立在 Faster R-CNN 对象检测模型的基础上,并具有分割部分,即对输入数据进行操作的层子集。


Mask R-CNN 分两个阶段工作。在第一阶段,它使用区域提案通过网络(RPN)生成区域提案,该网络建议图像中可能包含对象的区域。在第二阶段,它同时预测每个提案的类标签、边界框和客户端来执行对象检测和分割。


优网


U-Net是一种专为图像分割任务而设计的柔性神经网络架构。它在解决脑肿瘤分割、细胞分割和肺部分割等医学图像分割任务方面非常受欢迎。它也适用于其他图像分割任务应用,例如自动驾驶中的道路分割。


U-Net架构具有独特的“U”形状,由下采样和上采样操作组成。该网络具有一个收缩路径,用于捕获上下文文本输入图像进行下采样;以及一个扩展路径,用于实现精确定位本质上,网络检索有关被分割的对象的详细信息,同时还捕获图像的上下文和全局结构。


基于现实生活观察的实例分割(Mask R-CNN)与语义分割(U-Net)


在我们最近的研究中,Intelliarts团队测试了两种用于图像分割任务的流行神经网络架构——Mask R-CNN和U-net。这两种计算机视觉算法都使用相同的数据集进行训练和测试我们使用来自公开可用的Coco汽车损坏检测和Segme图像数据集的预清理和预备份数据。 


尽管 Mask R-CNN 具有更复杂的架构和处理区域建议而不是整个图像,但测试表明 U-net 作为基于语义分割的算法表现更好。


当人工智能算法用于识别汽车损坏并评估其严重程度时,U-net在测试的第一部分显示了最佳结果。此外,在第二部分中,当Intelliarts工程师让计算机视觉模型识别损坏的汽车部件时并识别它们时,Mask R-CNN 的表现也更好。我们团队得出的结论是,语义分割模型,尤其是经过测试的 U-net,目前在车辆损坏检查方面是更好的选择。


您可能想尝试一个 在线演示 ,该演示为经过训练的人工智能模型提供了一个交互式玩具。该演示展示了计算机视觉模型根据输入图像或视频帧检测汽车损坏的能力。


如何训练人工智能模型


深度神经网络已成功用于解决计算机视觉和其他任务。许多基于该技术的最先进的解决方案已成功评估保险和其他领域。深度学习ML模型的训练包括以下步骤:

image.png

资料准备


人工智能算法需要照片和视频中包含大量的数字数据进行训练。数据的数量和质量与训练结果之间存在着最重要的相关性。甚至还有一个称为垃圾输入、垃圾输出(GIGO)的概念,这意味着无意义的输入数据会产生无意义的输出。因此,查找建议或准备大量数据集。在车辆评估的情况下,需要从不同角度、不同照明等情况下获得不同劣化程度的变形车辆的高质量样本。


数据注释,即人工智能应用程序中数据的分类和标记,用于使模型了解材料中的数字信息到底是什么以及为什么它很重要。为了训练用于车辆评估的人工智能模型,工程师需要数据集,其图像通过以下两种方式进行注释:


  • 损坏检测: 当收集不同类型的不同损坏时,有必要使用烘焙或画笔用相关元数据来标记和标记感兴趣的对象。不需要添加边界框,因为模型会自行生成边界框更不用说不需要的边界框可能会产生重叠并重叠正在训练的模型。
  • 汽车零件检测: 此类数据注释是损坏检测的必要零件阶段。标记将帮助模型识别受到损坏的特定车辆部件,甚至以首选测量单位计算面积。


图像标记几乎是为计算机应用视觉训练AI模型最运行、最宝贵资源的方面。逐像素选择对象并分配正确的标签来描述对象及其各种属性或特征是运行的工作。该方法是手动标记,即手动注释图像。然而,机器学习算法的帮助可能会在编程自动化和简化任务方面有所帮助。


在我们的例子中,我们使用了来自上述开源数据集的已正确标记的图像。它被认为是预清理和预备份数据的使用。其他数据收集方法包括自定义数据众包、构建私人集合以及通过网络抓取和网络爬行自动收集数据。


需要记住一些收集数据的最佳实践。其中包括确定 ML 项目的问题和目标、建立数据管道、建立存储机制、评估收集的数据以及收集与项目目标一致的简明数据。


训练


数据收集和注释完成后,准备好的训练数据集将被输入到视觉模型中。在此阶段,识别模型所犯的计算机错误,以便后续执行所需的调整要点,数据错误倾斜/倾斜权衡导致过度对称和欠对称问题。


当模型无法准确捕捉输入和输出变量之间的关系时,就会出现欠缺问题。可以通过简化模型来解决。


过度复杂的问题是当模型非常熟悉的训练数据时模型建立并存在偏差的情况。这样,当数据存在很大差异时,它就不会作业。这个问题可以通过使模型复杂化、扩展训练数据集或使用数据增强来解决。


在初始数据集上进行训练后,模型进入验证阶段。在该阶段,人工智能算法与验证数据集配合使用,使工程师能够证明他们对模型性能的假设。任何缺陷、不重要的参数和其他错误都应该在这个阶段暴露出来。


测试


训练和验证成功完成后,针对计算机视觉模型进行最后一次测试。通常,最终或保留由模型未使用的数据组成。数据被标记,以便工程师可以计算模型的准确性。该模型仅限于此类数据集上启动一次,结果被认为该模型训练将在现实世界数据上显示潜在的准确性。重要的是要查明经过的模型是否能够以可靠性的一致性报告准确的结果。


通常,整个训练过程从第一步开始会重复几次,因为开发人员可能需要准备另一个数据集或修改模型。经过多次尝试后,选择显示最佳结果的模型并认为已准备好上线。


Intelliarts的双模型人工智能解决方案


Intelliarts 工程师构建了一个由两个人工智能模型组成的软件解决方案,其中一个用于汽车损坏检测,另一个用于汽车零件检测。因此,当用户在结果解决方案中输入损坏汽车的图像时,它会指示损坏情况并单独识别出旅行的汽车部件。这样,图像处理的结果就是识别损坏并指定的汽车部件。如果它们相交,则解的输出结果为“左门 - 凹痕”。然后将结果与准备好的图像数据库中的类似案例进行比较,并指导修复成本。

image.png

汽车损坏检测人工智能解决方案的价值


完成的软件解决方案能够识别特定的汽车部件,检测和分类多种类型的损坏,例如金属或玻璃损坏以及汽车部件的错位或更换,评估损坏的严重程度,并估计估计的维修成本。人工智能模型的功能应该足以解决最简单的汽车损坏保险布局,而无需人工监督。


不用说,选择特定的算法或算法组合、训练人工智能模型,构建最终的软件解决方案应该与执行一组专门的任务紧密相关。


对于产品所有者来说,计算机项目的最终目标是技术评估保险行业并获得商业利益,包括以下内容:


  • 成本优化: 与人工检查相比,自动检测的成本要低,从而为保险公司节省大量成本。
  • 减少劳动密集型任务: 大部分汽车检查案例实现自动化可以减少保险公司工作人员的工作量,使他们能够专注于其他关键任务。
  • 提高准确性: 自动化系统可以更准确地分析汽车图像,甚至识别出人类检查员可能忽略的微小损坏。
  • 更快的报表处理: 自动汽车损坏检测可以加快报表处理时间,使保险公司能够更快地解决报表。这可能会提高客户满意度和留存率。


最后的想法


进行车辆检查是保险业的劳动密集型方面。为了简化错误处理,特别是在涉及汽车损坏评估的情况下,公司可以利用计算机视觉方法。图像分割算法在执行此类任务中发挥着关键作用。,最关键的一步是明智地选择神经网络架构,例如 Mask R-CNN、U-net 或其他模型开发。这需要使用数据注释技术进行彻底的培训以及附加的性能评估


相关文章
|
7月前
|
机器学习/深度学习 算法 计算机视觉
计算机视觉实战项目3(图像分类+目标检测+目标跟踪+姿态识别+车道线识别+车牌识别+无人机检测+A路径规划+单目测距与测速+行人车辆计数等)
计算机视觉实战项目3(图像分类+目标检测+目标跟踪+姿态识别+车道线识别+车牌识别+无人机检测+A路径规划+单目测距与测速+行人车辆计数等)
136 2
|
2月前
|
机器学习/深度学习 监控 算法
基于计算机视觉(opencv)的运动计数(运动辅助)系统-源码+注释+报告
基于计算机视觉(opencv)的运动计数(运动辅助)系统-源码+注释+报告
65 3
|
3月前
|
JSON 人工智能 数据格式
AI计算机视觉笔记二十六:YOLOV8自训练关键点检测
本文档详细记录了使用YOLOv8训练关键点检测模型的过程。首先通过清华源安装YOLOv8,并验证安装。接着通过示例权重文件与测试图片`bus.jpg`演示预测流程。为准备训练数据,文档介绍了如何使用`labelme`标注工具进行关键点标注,并提供了一个Python脚本`labelme2yolo.py`将标注结果从JSON格式转换为YOLO所需的TXT格式。随后,通过Jupyter Notebook可视化标注结果确保准确性。最后,文档展示了如何组织数据集目录结构,并提供了训练与测试代码示例,包括配置文件`smoke.yaml`及训练脚本`train.py`,帮助读者完成自定义模型的训练与评估。
|
4月前
|
数据采集 机器学习/深度学习 PyTorch
PyTorch 与计算机视觉:实现端到端的图像识别系统
【8月更文第29天】计算机视觉是人工智能领域的重要分支之一,其应用广泛,从自动驾驶汽车到医学影像分析等。本文将介绍如何使用 PyTorch 构建和训练一个端到端的图像分类器,并涵盖数据预处理、模型训练、评估以及模型部署等多个方面。
96 1
|
26天前
|
机器学习/深度学习 人工智能 TensorFlow
探索深度学习与计算机视觉的融合:构建高效图像识别系统
探索深度学习与计算机视觉的融合:构建高效图像识别系统
40 0
|
1月前
|
机器学习/深度学习 传感器 算法
行人闯红灯检测:基于计算机视觉与深度学习的智能交通解决方案
随着智能交通系统的发展,传统的人工交通违法判断已难以满足需求。本文介绍了一种基于计算机视觉与深度学习的行人闯红灯自动检测系统,涵盖信号灯状态检测、行人检测与跟踪、行为分析及违规判定与报警四大模块,旨在提升交通管理效率与安全性。
|
7月前
|
机器学习/深度学习 算法 计算机视觉
计算机视觉实战项目3(图像分类+目标检测+目标跟踪+姿态识别+车道线识别+车牌识别+无人机检测+A*路径规划+单目测距与测速+行人车辆计数等)
计算机视觉实战项目3(图像分类+目标检测+目标跟踪+姿态识别+车道线识别+车牌识别+无人机检测+A*路径规划+单目测距与测速+行人车辆计数等)
|
3月前
|
人工智能 计算机视觉
AI计算机视觉笔记十五:编写检测的yolov5测试代码
该文为原创文章,如需转载,请注明出处。本文作者在成功运行 `detect.py` 后,因代码难以理解而编写了一个简易测试程序,用于加载YOLOv5模型并检测图像中的对象,特别是“人”类目标。代码实现了从摄像头或图片读取帧、进行颜色转换,并利用YOLOv5进行推理,最后将检测框和置信度绘制在输出图像上,并保存为 `result.jpg`。如果缺少某些模块,可使用 `pip install` 安装。如涉及版权问题或需获取完整代码,请联系作者。
|
4月前
|
机器学习/深度学习 算法 大数据
【2023年MathorCup高校数学建模挑战赛-大数据竞赛】赛道A:基于计算机视觉的坑洼道路检测和识别 python 代码解析
本文提供了2023年MathorCup高校数学建模挑战赛大数据竞赛赛道A的解决方案,涉及基于计算机视觉的坑洼道路检测和识别任务,包括数据预处理、特征提取、模型建立、训练与评估等步骤的Python代码解析。
92 0
【2023年MathorCup高校数学建模挑战赛-大数据竞赛】赛道A:基于计算机视觉的坑洼道路检测和识别 python 代码解析
|
3月前
|
人工智能 监控 安全
AI计算机视觉笔记十三:危险区域识别系统
本文介绍了如何在 IPC 监控视频中实现区域入侵检测,通过 YOLOv5 和 ByteTrack 实现人物检测与多目标跟踪。系统能在检测到人员进入预设的危险区域时发出警报,保障安全。主要步骤包括:1)使用 YOLOv5 识别人物;2)使用 ByteTrack 进行多目标跟踪;3)利用射线法判断物体是否进入禁区内。项目基于 Python 开发,使用海思、君正、RK 等摄像头模组,代码已在 RV1126 上验证,计划移植至 RK3568 平台。项目结构清晰,包含模型训练、跟踪算法及图形化界面展示等功能。

热门文章

最新文章