开发者实战 | 荣旭智能基于 Anomalib 打造智能光学字符瑕疵检测系统

点击蓝字

关注我们,让开发变得更有趣

文章作者:伍增  邓书梦  广东荣旭智能技术有限公司

1

AI 技术在外观瑕疵检测应用中的

挑战

人工智能 (AI) 技术作为“未来数十年”最先进的生产力代表之一,正在赋能各行各业。在智能制造领域,AI 技术被广泛应用于外观瑕疵检测,也称为 AI 工业质检。IDC 预计,2025年中国工业 AI 质检整体市场将达到9.58亿美元(约合人民币62亿元),2021-2025年 CAGR 为28.5%,如下图所示。

8cff0d6a70ee0272cac42548ee523eea.png

图片来源:https://www.idc.com/getdoc.jsp?containerId=prCHC49755922

在外观瑕疵检测领域,广东荣旭智能技术有限公司作为一家定制化 AI 视觉检测系统/一体化检测装备供应商,已耕耘了十多年,落地超过200多种 AI 质检设备,并将 AI 技术和行业应用经验集成到了图形化 AI 视觉开发平台中,通过零代码方式,快速落地 AI 质检设备。

了解广东荣旭智能技术(请复制链接到浏览器)

https://www.gdrosmart.com/

https://www.gdrosmart.com/product_view_266_109.html

460c5161b8f3e5eeb4c3a581ed9e8740.png

荣旭图形化 AI 视觉开发平台

在 AI 工业质检的实践中,即便应用了迁移学习,也需要在产线上对每种瑕疵收集几十张负样本。假定瑕疵A的发生率为0.1%, 为了收集50张瑕疵 A 的负样本,则需要等待50,000个产品制造出来,不仅难度大,而且耗时长,成本高。

收集满足迁移学习需求的负样本,已经成为 AI 瑕疵检测应用中的重大挑战之一。

当前,解决该挑战的思路主要有两个:

一种思路是应用 Zero-Shot Learning (零样本学习)技术,当前最火爆的计算机视觉 Zero-Shot, Learning 模型是 Meta 发布的 SAM 大模型,以及后续的改进系列,例如,FasterSAM、MobileSAM 等等。

另一种思路是应用无监督学习技术,即无需收集负样本,只需要学习少量正样本,便可以检测出异常样本。当前在 AI 工业质检中应用广泛的无监督异常检测深度学习库 Anomalib, 链接:

https://github.com/openvinotoolkit/anomalib。

02f5bd6d08e887e87603d7e22a3e9d1f.png

本文将介绍基于 Anomalib英特尔开发者套件打造智能光学字符瑕疵检测系统。

2

项目背景与技术方案

印刷字符瑕疵检测是一个在制造线终检段的刚性需求,如下图所示,任何有字符瑕疵的产品都不能流出工厂。当前,行业中普遍采用的是 OCR、OCV 以及模板匹配的方式来识别,由于不同行业的产品表面都不一样,背景复杂多变,要准确提取并识别字符瑕疵存在一定难度,而且效率低,误判高,操作复杂。

5eba685ce36ec2a8b82c85fe977ac6da.png

字符瑕疵及检测结果

荣旭智能光学字符瑕疵检测系统,基于 Anomalib 工具包和英特尔开发者套件,搭载工业相机及工业镜头完成原型样机设计,如下图所示。

5a4e1d3fc2399c169a4297cb3720a4f9.png

光学字符瑕疵检测原型样机

3

软件技术方案与实现

荣旭智能光学字符瑕疵检测系统的软件实现主要由三步实现:

1. 安装 Anomalib 和 OpenVINO

2. 训练正样本并导出 OpenVINO 模型

3. 验证检测结果

第一步,安装 anomalib 和 OpenVINO,命令如下所示:

pip install anomalib
pip install openvino-dev

向右滑动查看完整代码

第二步,训练正样本并导出 OpenVINO 模型。首先,请在 

datasets\MVTec\bottle\train\good 放置23张正常的 OCR 字符图片

2b4833d384bcdcfc524e1958a8092077.png

然后,请在 

datasets\MVTec\bottle\test\good 放3张正常的 OCR 字符图片

5aa71b663dd5956e2d281520b7970ddc.png

接着,请在 

datasets\MVTec\bottle\test\contamination 放一张字符缺的 OCR 字符图片

6560681233c3b00cd94d70b52d59bbbb.png

并修改 

rc/anomalib/models/padim/config.yaml 文件,如下所示:

optimization:
  export_mode: "openvino" # options: openvino, onnx

向右滑动查看完整代码

修改之后,模型训练完毕后会直接生成 OpenVINO 的模型

最后,输入命令,等待训练完成:

python tools/train.py --config src/anomalib/models/padim/config.yaml

向右滑动查看完整代码

第三步,验证检测结果

训练完成后,在 

results\padim\mvtec\bottle\run\images\good下是 ok 图片的验证结果,正常的图片是没有误识别的,如下图所示:

8823f479318ca856f28c2cb9f97ed76a.png

d37061634fab48c44ab1c880f5f6cd57.png

4854367a885140ca6d6b496e69dc8d94.png

在 results\padim\mvtec\bottle\run\images\contamination 下是我们放置的一个 NG 图片,结果如下:

83374ce23a8c4d5f496c808d77c7bbe6.png

可以看到,缺陷正常识别出来了

使用 OpenVINO 实现推理程序,结果如下所示:

200f3bde592ca896a01eb31197ebabb5.png

34be1a39cef7de9842b742500e726025.png

ba108bf737c6312e369587e3b417bf2d.png

经过 OpenVINO 优化后,该算法在 N5105 CPU 上运行速度大约200ms左右,iGPU 的运行速度大约100ms左右,完全满足大多数光学字符瑕疵检测的速度需求。

4

总结与展望

荣旭智能基于 Anomalib 打造光学字符智能解决方案,在保证检测效率可行的前提下,可以大大地降低收集负样本的成本,提升模型的训练和部署效率,对于 AI 二分类 (OK/NG) 应用多了一个更优的选择方案。

下一步我司将使用 OpenVINO 的 NNCF 工具包,对 Anomalib 模型进行 INT8 量化,进一步提高在英特尔开发者套件上的推理速度,并将这套智能光学字符解决系统应用于磁芯元器件、IC 半导体、车载电子变压器等领域。

广东荣旭智能技术有限公司官网:

https://www.gdrosmart.com/

f3bcae3a7c0345fe0dd11236df465a31.gif

--END--

你也许想了解(点击蓝字查看)⬇️➡️ OpenVINO™ DevCon 2023重磅回归!英特尔以创新产品激发开发者无限潜能➡️ 5周年更新 | OpenVINO™  2023.0,让AI部署和加速更容易➡️ OpenVINO™5周年重头戏!2023.0版本持续升级AI部署和加速性能➡️ OpenVINO™2023.0实战 | 在 LabVIEW 中部署 YOLOv8 目标检测模型➡️ 开发者实战系列资源包来啦!➡️ 以AI作画,祝她节日快乐;简单三步,OpenVINO™ 助你轻松体验AIGC
➡️ 还不知道如何用OpenVINO™作画?点击了解教程。➡️ 几行代码轻松实现对于PaddleOCR的实时推理,快来get!➡️ 使用OpenVINO 在“端—边—云”快速实现高性能人工智能推理➡️ 图片提取文字很神奇?试试三步实现OCR!➡️【Notebook系列第六期】基于Pytorch预训练模型,实现语义分割任务➡️使用OpenVINO™ 预处理API进一步提升YOLOv5推理性能
扫描下方二维码立即体验 
OpenVINO™ 工具套件 2023.0

点击 阅读原文 立即体验OpenVINO 2023.0

41d350268fbac6df7a2c8e1a4e133029.png

文章这么精彩,你有没有“在看”?

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值