专栏名称: 3D视觉工坊
1、OpenCV的技术传播; 2、3D点云与重建技术; 3、Vslam技术; 4、深度学习; 5、技术干货分享。
目录
相关文章推荐
完美Excel  ·  deepseek使用心得1 ·  昨天  
完美Excel  ·  deepseek引爆了完美Excel ·  3 天前  
Excel之家ExcelHome  ·  阶梯电价的模式化公式 ·  4 天前  
Excel之家ExcelHome  ·  6个Excel序号技巧,新手必会 ·  3 天前  
Excel之家ExcelHome  ·  五个公式一枝花,月入三千都靠他 ·  5 天前  
51好读  ›  专栏  ›  3D视觉工坊

PatchCore算法的内存瓶颈问题如何解决?融合优化异常检测模型!

3D视觉工坊  · 公众号  ·  · 2025-01-24 07:00

正文

点击下方 卡片 ,关注 「3D视觉工坊」 公众号
选择 星标 ,干货第一时间送达

来源:3D视觉工坊

添加小助理:cv3d001,备注:方向+学校/公司+昵称,拉你入群。文末附3D视觉行业细分群。

扫描下方二维码,加入 「3D视觉从入门到精通」知识星球 ( 点开有惊喜 ) ,星球内凝聚了众多3D视觉实战问题,以及各个模块的学习资料: 近20门秘制视频课程 最新顶会论文 、计算机视觉书籍 优质3D视觉算法源码 等。想要入门3D视觉、做项目、搞科研,欢迎扫码加入!

0.这篇文章干了啥?

这篇文章提出了一种名为“Sequential PatchCore”的方法,通过解决高分辨率图像下PatchCore算法的内存瓶颈问题,改进了异常检测性能。文章引入了水渍合成数据,研究其对模型的影响,并提出了核心集融合(Coreset Melding)技术,显著提高了传递学习速度和性能。通过微调和多次实验,验证了合成水渍数据的有效性,并展示了在缺陷检测中的优越表现。文章还提出了一种新的缺陷级召回率评估方式,克服了传统像素级评价的不足,为模型性能提供了更准确的衡量标准。

下面一起来阅读一下这项工作~

1. 论文信息

论文题目:Sequential PatchCore: Anomaly Detection for Surface Inspection using Synthetic Impurities

作者:Runzhou Mao, Juraj Fulir等

作者机构:Fraunhofer ITWM, Kaiserslautern, Germany等

论文链接:https://arxiv.org/pdf/2412.01791

2. 摘要

表面杂质(例如水渍、指纹、贴纸)的出现是自动化视觉检测系统中常提到的问题,通常会导致系统性能下降。同时,视觉表面检测的合成数据生成技术主要集中在生成完美的样本和缺陷,而忽视了杂质的存在。本研究强调了在生成合成数据时考虑杂质的重要性。我们提出了一种程序化方法,将逼真的水渍纳入合成数据中。合成数据集生成的目标是与真实数据集相对应,随后用于训练异常检测模型,并研究水渍的影响。用于表面检测的高分辨率图像在异常检测训练过程中会导致内存瓶颈。为了解决这一问题,我们引入了Sequential PatchCore——一种通过顺序构建核心集的方法,使得在消费级硬件上训练大尺寸图像成为可能。这使得我们可以使用在不同数据集版本上预训练的核心集进行迁移学习。我们的结果展示了使用合成数据进行显式核心集异常模型预训练的好处,并且进一步通过实际数据微调核心集,获得了更高的性能。我们观察到杂质和标签模糊性如何降低模型性能,并额外报告了按缺陷分类的召回率,以提供与工业实际相关的模型性能视角。 推荐课程: 国内首个3D缺陷检测实战教程

3. 效果展示

不同形状和大小的水渍。真实的水渍图像(上);合成水渍图像(中);水渍分割掩模(下)。 不同光照条件下两组织物质地和水渍分布模式的差异。每组中的第一行显示不同的照明模式,第二行显示添加水渍的效果,第三行显示黑色背景上的水渍口罩,红色区域表示水渍。左边的图像显示了一种纹理和水渍分布模式,而右边的图像显示了另一种模式。

4. 主要贡献

  • 提出一种生成合成水渍的新方法,
  • 分析杂质对异常检测模型的影响,
  • 提出通过使用缺陷召回率克服标签模糊性的模型性能新观点,
  • 提出一种解决PatchCore异常检测高分辨率图像内存瓶颈的新方法,
  • 提供双数据集用于金属表面在杂质影响下的异常检测。

5. 基本原理是啥?

  1. 水渍模型的引入 :研究通过扩展合成数据,加入水渍的影响,以降低水渍的召回率。水渍模型的设计基于 Perlin噪声 抖动采样 ,这两种方法被证明能够生成足够真实的水渍,减少模型对水渍的敏感性。

  2. 核心集融合(Coreset Melding) :核心集是指从大规模数据集中抽取的一个小子集,可以有效地代表整个数据集。核心集融合方法通过将多个核心集合并成一个,允许在多个数据集上并行训练并最终合并为一个模型。这种方法提高了训练的效率,并且能控制最终模型的复杂度。

  3. PatchCore 方法的改进 :PatchCore算法存在一个已知的内存瓶颈,特别是在高分辨率图像的处理上。为了克服这一瓶颈,研究提出了 Sequential PatchCore ,通过多次迭代训练集替代了直接存储整个训练集的内存开销,使得该方法能在GPU上运行,极大提高了计算速度。

  4. 模型的微调 :通过对模型进行微调(fine-tuning),尤其是在包含水渍的训练数据上,提升了检测精度和F1得分。这表明,尽管水渍增加了模型的复杂性,但通过微调后,模型能够更好地处理水渍并提高检测性能。

  5. 按缺陷召回率(Defect-wise Recall) :研究引入了按缺陷召回率这一新指标,以更好地衡量模型在实际缺陷检测中的表现。与像素级召回率不同,按缺陷召回率能够更好地评估模型在不完美的标注和预测条件下的检测能力。

6. 实验结果

研究中的实验结果展示了引入水渍合成数据对模型性能的影响以及所提出方法的有效性:

  1. 水渍模型的影响

  • 引入水渍合成数据显著降低了水渍的召回率(见表I),表明所提出的水渍模型在提升模型处理水渍的能力方面具有较好的效果。合成水渍数据增强了训练数据的多样性,从而使得模型更具鲁棒性。
  • 通过使用合成水渍数据,模型能较好地适应水渍的影响,减少了水渍对检测性能的负面影响。尽管模型能够减少对水渍的敏感性,但水渍仍然对缺陷检测有所影响,尤其是在某些缺陷的召回率上。
  • 合成数据与真实数据的比较

    • 实验发现,单独使用合成数据会导致性能下降,这主要是由于 领域间差距(domain gap) 所引起的。这与先前的研究一致(。通过微调模型,能够弥合这种差距,从而使得合成数据与真实数据的结合效果更加突出,整体性能超过仅使用真实数据的情况。
    • 在缺陷检测的表现上,尽管合成数据提高了水渍的处理能力,但模型在缺陷识别上的整体表现依然受到一定的影响。通过微调后,精度和F1分数显著提高。
  • 按缺陷召回率(Defect-wise Recall)

    • 按缺陷召回率评估时,模型能够识别大多数缺陷。与像素级召回率相比,按缺陷召回率能够克服标注瑕疵和划痕形变所带来的模糊性。研究指出,划痕的凸起区域会逐渐远离表面纹理,使得定义其确切边界变得困难。通过关注缺陷的检测数量而非缺陷的精确覆盖,解决了这一问题。
    • 尽管模型预测可能会泄漏并轻微覆盖到附近的缺陷,但整体检测能力依然较强。实验报告了一个像素级检测结果,表明过滤掉小的预测结果反而会降低各缺陷类别的性能。
  • PatchCore算法的优化

    • PatchCore算法面临高分辨率图像时的内存瓶颈问题。为了解决这个问题,研究提出了 Sequential PatchCore 方法。该方法通过多次迭代训练集替代了内存存储整个训练集的方式,避免了内存开销过大的问题。此外,方法的GPU实现显著提高了计算速度,加速了图像评分的计算。
    • 通过优化内存管理和并行训练,模型不仅减少了内存开销,还提高了处理速度,尤其是在处理大规模数据时,效率得到了显著提升。
  • 核心集融合(Coreset Melding)

    • 核心集融合方法通过并行训练和融合多个核心集,显著提高了传递学习的速度,并能够保持较高的性能。实验中,核心集融合使得训练过程更加高效,并允许控制最终模型的复杂度。通过对核心集的合理设计,研究能够在多个数据集上并行训练并最终融合成一个模型。
    • 核心集融合的思想与联邦学习类似,因为它在多个设备和数据集上并行训练,最终将多个模型合并为一个。这一方法也具有潜力在持续学习任务中发挥作用,尤其是在需要动态扩展标称区(nominal zone)的情况下。
  • 总体性能

    • 总体而言,像素级指标报告了较低的性能,这主要是因为像素级的标注和预测几乎不可能做到完美匹配。然而,缺陷级召回率提供了更为准确的性能评估,它揭示了传统像素级评价标准未能全面反映模型能力的问题。
    • 微调后,训练模型在水渍影响下的表现得到显著改善,精度和F1分数均有明显提高。这表明微调在实际应用中的重要性和有效性。

    7. 总结 & 未来工作

    我们介绍了Sequential PatchCore,解决了PatchCore在高分辨率图像上的已知内存瓶颈。此外,我们还提出了新颖的核心集融合方法,通过并行训练提高了迁移学习的速度,同时实现了具有竞争力的性能。在这项工作中,我们首次评估了水渍对异常检测的影响。合成数据生成的可重复性使得评估成为可能,因为我们只测量了水渍的影响。合成杂质有助于模拟训练数据中缺失的特征,同时保持所有其他参数相同,不受真实环境中变化的影响。基于Perlin噪声和抖动采样的提议水渍模型的真实性已被证明足以减少模型对水渍的敏感性。尽管模型本身对水渍的敏感性降低,但在杂质上的训练减少了缺陷的性能。这支持了杂质具有与缺陷相似特征的观察结果。然而,一旦基于水渍训练的模型进行了微调,精度和F1得分显著提高。总体而言,由于像素级的标注和预测几乎不可能确保完全一致,按像素度量的性能仍然较低。因此,所引入的按缺陷召回率提供了模型性能的新视角,指出了标准度量方法下得出不完全结论的问题。

    本文仅做学术分享,如有侵权,请联系删文。

    3D视觉交流群,成立啦!

    目前我们已经建立了3D视觉方向多个社群,包括 2D计算机视觉 最前沿 工业3D视觉 SLAM 自动驾驶 三维重建 无人机 等方向,细分群包括:

    工业3D视觉 :相机标定、立体匹配、三维点云、结构光、机械臂抓取、缺陷检测、6D位姿估计、相位偏折术、Halcon、摄影测量、阵列相机、光度立体视觉等。

    SLAM :视觉SLAM、激光SLAM、语义SLAM、滤波算法、多传感器融合、多传感器标定、动态SLAM、MOT SLAM、NeRF SLAM、机器人导航等。

    自动驾驶 :深度估计、Transformer、毫米波|激光雷达|视觉摄像头传感器、多传感器标定、多传感器融合、3D目标检测、路径规划、轨迹预测、3D点云分割、模型部署、车道线检测、Occupancy、目标跟踪等。

    三维重建 :3DGS、NeRF、多视图几何、OpenMVS、MVSNet、colmap、纹理贴图等

    无人机 :四旋翼建模、无人机飞控等

    2D计算机视觉 :图像分类/分割、目标/检测、医学影像、GAN、OCR、2D缺陷检测、遥感测绘、超分辨率、人脸检测、行为识别、模型量化剪枝、迁移学习、人体姿态估计等

    最前沿 :具身智能、大模型、Mamba、扩散模型、图像/视频生成等

    除了这些,还有 求职 硬件选型 视觉产品落地、产品、行业新闻 等交流群







    请到「今天看啥」查看全文