Press "Enter" to skip to content

如何构建基于计算机视觉的汽车损伤检测系统

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

计算机视觉技术带来了许多机会,包括在一定程度上替代手动检查。这就是为什么Intelliarts团队认为开始进行自动化汽车损坏评估项目是有希望的。

在这次探索中,我们深入研究Intelliarts团队使用计算机视觉解决汽车损坏检测难题的经验。我们将研究可能使用的具体算法,阐明模型训练和评估过程,并评估计算机视觉项目中热门算法的潜在益处。

哪些算法可以解决汽车损伤检测任务

为此,工程师们利用图像分割算法。它的作用是根据特定的视觉特征,如颜色、纹理、强度或形状,将图像中的每个像素归入一种或另一种类别。在车辆检查的情况下,类别可以是有损伤或没有损伤。图像分割的目标是简化或改变图像的表示形式,将对象与背景分离,并使它们易于分析。

图像分割有两种主要方法:

实例分割

使用这种计算机视觉技术,每个个体对象都被识别并分配一个唯一的标识符。实例分割的第一步是对象检测。在此阶段,计算机视觉算法尝试检测图像中的所有对象,并为每个对象提供一个边界框,即围绕对象的矩形或正方形图形。在边界框内进行的分类期间,算法计算感兴趣对象与特定类别(如汽车、树木、人类等)在边界框内的置信度或可能性。

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

实例分割的另一个要求是使用像素级掩模。像素级掩模是用于识别图像中对象或感兴趣区域位置的二进制图像。掩模中的每个像素被分配一个值,要么是0,要么是1,表示该像素是属于对象或感兴趣区域的。像素级掩模可以通过注释图像手动生成。

这种算法的工作方式确保了即使同一对象的多个实例重叠或部分被其他对象遮挡,它们也可以被区分开来。

语义分割

语义分割技术将图像分割为多个段落,每个段落都对应图像中的一个特定对象或感兴趣区域,并分别进行分类。与仅根据像素相似性将图像划分为任意区域的传统图像分割方法不同,语义分割旨在将每个段落与有意义的语义标签相关联,如人、汽车、建筑物、树木等。

语义分割将属于同一类别的多个对象视为单个实体。如果需要,它可以指示图像中例如所有人、所有汽车或所有建筑物的边界。需要注意的是,语义分割只能检测损伤,而无法区分损伤的具体类型。相比之下,实例分割可以区分多个不同的损伤。

一旦训练完成,语义分割模型可以通过将新图像传播到网络并生成像素级别的分割掩模来分割新图像。后者与实例分割中的像素级掩模类似,但是它为图像中的每个像素分配一个标签,而不是生成多个掩模(每个对象的一个)。

实际上,下面的章节提供了现实生活实例和语义分割算法的对比和获得的洞察。

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

机器学习指标是衡量模型解决给定任务能力的定量度量标准。它们有助于评估模型的性能,并提供有关模型优点和缺点的洞察。

机器学习指标的值是基于模型在之前未使用的数据集上进行测试后显示的结果计算的。通过这种方式,工程师们可以评估模型在实际数据上的潜在性能。获得的结果指导进一步的决策,因为工程师们可能需要多次修改模型,直到其性能得到满意的证明。

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

1. MIoU(平均交并比)

该度量指标测量了数据集中每个类别的预测和实际分割掩模之间的平均重叠率。MloU通过计算每个类别的IoU,然后取所有类别的平均值来计算。IoU = 预测掩模和实际掩模交集 / 预测掩模和实际掩模并集。

2. 像素精度

该度量指标测量了模型正确分类的图像像素的百分比。像素精度 = 正确分类的像素数 / 图像中的总像素数。

3. Dice系数

在图像分割中,Dice系数测量了预测和真实分割掩模之间的像素重叠程度,介于0到1之间,其中0表示没有重叠,1表示完全匹配。Dice系数 = 2 * 两个掩模都正确分类的像素数 / 两个掩模的总像素数。

在我们对实例分割和语义分割模型性能的研究中,Intelliarts团队使用了MloU和Dice系数度量指标来衡量测试结果。

实际应用的AI架构示例

选择合适的AI架构是任何机器学习项目中关键的一步。明智选择的解决方案可以通过提供更好的分割过程准确性、更高的处理速度和高效的资源利用效率来改善结果。此外,有些架构可能更适合实时或准实时应用,而其他架构可能更适合批处理大型数据集,这也需要谨慎考虑。

有一些已经广泛测试并且非常受欢迎的图像分割架构。其中包括Mask R-CNN和U-net,它们正是Intelliarts团队用于测试解决汽车损坏检测任务的实例分割和语义分割技术的算法。工程师可以利用这些算法对已经在大型数据集上进行预训练的权重进行微调。这样就不需要从头开始训练一个资源密集型的模型。

让我们深入了解这些算法:

Mask R-CNN

Mask R-CNN(具有掩模的基于区域的卷积神经网络)是用于目标检测和实例分割的深度学习架构。它建立在Faster R-CNN目标检测模型的基础上,并具有一个分割部分,即在输入数据上操作的一组层。

Mask R-CNN分为两个阶段。在第一阶段,它使用区域建议网络(RPN)生成区域建议,该网络提供了图像中可能包含目标的区域。在第二阶段,它通过同时预测每个建议的类别标签、边界框和掩模来执行目标检测和分割。

U-Net

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在测试的第一部分中显示出最佳结果,当使用AI算法来识别汽车损坏并评估其程度时。此外,在第二部分中,当Intelliarts工程师让计算机视觉模型识别损坏的汽车零件并加以识别时,Mask R-CNN也表现得更好。因此,我们团队得出结论,语义分割模型,特别是经过测试的U-net,是目前进行车辆损伤检查的更好选择。

您可以尝试一个在线演示,展示了训练好的AI模型的交互式游乐场。演示演示了计算机视觉能力模型基于输入的图像或视频帧来检测汽车损坏。

如何训练AI模型

深度神经网络成功地应用于解决计算机视觉和其他任务。许多基于这项技术构建的最新解决方案在保险和其他领域都得到了成功应用。深度学习ML模型的训练包括以下步骤:

数据准备

AI算法需要大量包含在照片和视频中的数字数据进行训练。数据的数量和质量与训练结果有很强的相关性。甚至有一个被称为垃圾输入产生垃圾输出(GIGO)的概念,意味着无意义的输入数据会产生无意义的输出。因此,建议找到或准备大量的数据集。对于车辆评估的情况,需要高质量的带有不同角度、不同光照等各种损坏状况的损坏车辆样本。

数据注释,即对用于AI应用的数据进行分类和标记,用于使模型理解视觉材料中的数字信息以及其重要性。对于训练用于车辆评估的AI模型,工程师需要使用已经按以下两种方式进行注释的数据集图像:

  • 损伤检测:当收集不同类型的损伤的多样化数据集时,需要使用多边形或刷子标记感兴趣的对象,并使用相关的元数据进行标签化。不需要添加边界框,因为模型会自动生成它们。更不用说无关的边界框可能会导致重叠并混淆模型训练。
  • 车辆零件检测:这种数据注释是损伤检测的必要并行阶段。标签化将有助于模型识别遭受损坏的特定车辆零件,并甚至计算它们的区域。

图像标注几乎是训练计算机视觉应用的最耗时、最资源密集的方面之一。通过逐像素地选择对象,并分配正确的标签来描述对象及其各种属性或特征,这是一个耗时的工作。这种方法是手动标注,即人工手动注释图像。然而,机器学习算法的辅助可能在一定程度上自动化和简化任务。

在我们的案例中,我们使用了已经正确标记的图像,这些图像来自上述的开源数据集。这被认为是使用已经进行过预处理和打包的数据。其他数据收集方法包括定制数据众包、建立私有集合以及通过网络爬虫和数据抓取自动收集数据。

有一些数据收集的最佳实践需要牢记。它们包括确定ML项目的问题和目标,建立数据流水线,建立存储机制,评估收集的数据,并收集与项目目标一致的简洁数据。

训练

一旦数据收集和注释完成,准备好的训练数据集将输入到计算机视觉模型中。在这个阶段,重要的是识别模型产生的错误,以便后续进行必要的调整,以避免不正确的偏差/方差权衡平衡导致过拟合和欠拟合问题。

欠拟合问题发生在模型无法准确捕捉输入和输出变量之间的关系时。可以通过简化模型来解决这个问题。

过拟合问题是一种模型对训练数据过于熟悉,导致算法变得受限和有偏差的情况。这种方式下,当数据存在显著差异时,模型将无法正常运行。可以通过复杂化模型、扩展训练数据集或使用数据增强来解决这个问题。

在训练了初始数据集之后,模型进入验证阶段。在此阶段,AI算法与验证数据集一起工作,使工程师能够证明他们对模型性能的假设。任何缺点、不可考虑的变量和其他错误都应在这个阶段中显现出来。

测试

在成功完成训练和验证之后,计算机视觉模型应该进行最后一次测试。通常,最终或保留集由模型尚未使用的数据组成。数据带有标签,以便工程师可以计算模型的准确性。模型仅在此类数据集上运行一次,并且结果被视为模型在实际数据上展示的潜在准确性。找出训练模型是否能够以可接受的一致性产生准确的结果非常重要。

通常,整个训练过程将从第一个步骤重复多次,因为开发人员可能需要准备另一个数据集或修改模型。经过多次尝试,选择显示最佳结果的模型,并且被视为已准备好投入使用。

Intelliarts的两模型AI解决方案

Intelliarts工程师构建了一个由两个AI模型组成的软件解决方案,其中一个用于汽车损伤检测,另一个用于汽车零件检测。因此,当用户在结果中输入受损汽车的图像时,它会指示损伤并单独识别受影响的汽车零件。这样,图像处理的结果是识别出的损伤和指定的汽车零件。如果它们相交,解决方案的输出结果可能是“左侧门-凹痕”之类的。然后,将结果与预先准备好的带有维修费用估计的图像数据库相比较。

汽车损伤检测的AI解决方案的价值

完成的软件解决方案能够识别特定的汽车零件,检测和分类多种类型的损伤,例如金属或玻璃损伤,汽车零件的位移或更换,评估损伤的严重程度,并指示估计的维修费用。训练好的AI模型的功能应足以处理大部分简单的汽车损伤保险索赔,仅需很少的人工监督。

不用说,选择特定的算法或算法组合,训练AI模型,然后构建完成的软件解决方案应与执行一系列专门任务紧密相连。

对于产品所有者来说,计算机视觉项目的最终目标是将技术应用于保险业,并获得以下业务收益:

  • 成本优化:自动化检测的成本比手动检查要低得多,可以为保险公司节省大量费用。
  • 减少繁重的任务:自动化大部分车辆检查案例可以减轻保险公司员工的工作负担,并使他们能够专注于其他关键任务。
  • 提高准确性:自动化系统可以更精确地分析汽车的图像,识别出人工检查员可能忽略的小损伤。
  • 加快理赔处理:自动化的汽车损伤检测可以加快理赔处理时间,使保险公司能够更快地解决索赔。这可能会带来客户满意度和保留率的提高。

最后的思考

进行车辆检查是保险业的一项繁重工作。为了简化索赔处理,特别是涉及汽车损伤评估的情况下,公司可以利用计算机视觉方法。图像分割算法在执行这种任务中起着至关重要的作用。然而,关键的一步是审慎选择最佳的神经网络架构,如Mask R-CNN、U-net或其他模型开发。这需要使用数据标注技术进行彻底的训练,以及随后的性能评估。

Leave a Reply

Your email address will not be published. Required fields are marked *