跳到正文
IFAI

开源项目

用开源库 Anomalib 做工业质检:只训正常样本,推理加速近 4 倍

首次发布 传播指数 52

ML6 工程师展示了基于开源库 Anomalib 的工业视觉质检方案。该方案采用教师-学生网络架构的单分类学习,仅需无缺陷样本即可训练,能在像素级精确定位缺陷。配合 OpenVINO 在 CPU 上的推理速度提升近 4 倍,达到 30.2 fps。

用开源库 Anomalib 做工业质检:只训正常样本,推理加速近 4 倍
图:aws.amazon.com

Anomalib 是一个专门用于工业异常检测的开源深度学习算法库,能帮你在流水线上快速搭建自动化视觉质检流程,而且几乎不需要人工标注缺陷。

做工业质检最大的痛点就是缺陷样本极难收集。正常产品成千上万,但不同形式的划痕、磕碰往往很少见。Anomalib 采用单分类学习方案,直接绕开了这个难题。

只用正常样本就能挑出瑕疵

这套方案的核心在于只拿无缺陷的正常图像进行训练,省去了大量收集和标注异常数据的时间。

模型采用了金字塔式的教师-学生网络架构。教师模型是一个在 ImageNet 上预训练好的 ResNet18,学生模型则是同样结构但随机初始化的 ResNet18。

在检测过程中,算法会比对教师网络与学生网络输出特征之间的差异。这种差异可以直接在像素级打出异常概率分值,从而在图像上精确圈出瑕疵的具体位置和大小。

硬件门槛与实测跑分

ML6 工程师在工业界常用的 MVTec 异常检测数据集上测试了这套方案,覆盖了其中的 7 个不同类别,输入图像尺寸统一调整为 244x244,超参数保持默认。

测试硬件非常平民,仅用了一台 AWS EC2 t3.xlarge 实例,配置为 4 核 Intel Xeon Platinum 8175M 2.50GHz vCPU 与 8GB 内存,完全没有依赖昂贵的独立显卡。

测试结果显示,该方案在多个工业品类中都拿到了极高的分数,在皮革类别上甚至跑出了满分。

速度表现同样很亮眼。如果在 CPU 上直接使用原生 PyTorch 跑推理,帧率相对有限。但通过 Anomalib 内置的工具将模型导出到 Intel OpenVINO 框架后,在瓶子类别测试中跑出了大约 30.2 fps 的推理吞吐量,比原生 PyTorch 提速了将近 4 倍。

想要尝试的开发者可以直接在 GitHub 上获取 Anomalib,代码库本身自带现成的高级检测算法、基准测试工具以及硬件导出支持。

为什么重要

这套方案对工厂质检和边缘计算开发者格外实用。传统计算机视觉质检往往受制于缺陷数据不足,或者需要给产线工控机加装昂贵显卡。现在只用正常样本训练,配合 OpenVINO 就能在普通 CPU 上跑到 30 fps 的实时水准,部署成本几乎被压到了最低。

不过需要提醒的是,单分类学习极度依赖正常样本的纯净度。如果训练集里混入了轻微瑕疵,或者产线光照变化过大,模型的误报率可能会上升。投产前依然需要在真实产线环境下做细致的阈值微调。

来源 (2)

  1. [1]
    medium.com(在新标签页打开)原文medium.com
  2. [2]

每日 AI 内容精选