点击蓝字
关注我们,让开发变得更有趣
文章作者:伍增 邓书梦 广东荣旭智能技术有限公司
AI 技术在外观瑕疵检测应用中的
挑战
人工智能 (AI) 技术作为“未来数十年”最先进的生产力代表之一,正在赋能各行各业。在智能制造领域,AI 技术被广泛应用于外观瑕疵检测,也称为 AI 工业质检。IDC 预计,2025年中国工业 AI 质检整体市场将达到9.58亿美元(约合人民币62亿元),2021-2025年 CAGR 为28.5%,如下图所示。
图片来源: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
荣旭图形化 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。
本文将介绍基于 Anomalib 和英特尔开发者套件打造智能光学字符瑕疵检测系统。
项目背景与技术方案
印刷字符瑕疵检测是一个在制造线终检段的刚性需求,如下图所示,任何有字符瑕疵的产品都不能流出工厂。当前,行业中普遍采用的是 OCR、OCV 以及模板匹配的方式来识别,由于不同行业的产品表面都不一样,背景复杂多变,要准确提取并识别字符瑕疵存在一定难度,而且效率低,误判高,操作复杂。
字符瑕疵及检测结果
荣旭智能光学字符瑕疵检测系统,基于 Anomalib 工具包和英特尔开发者套件,搭载工业相机及工业镜头完成原型样机设计,如下图所示。
光学字符瑕疵检测原型样机
软件技术方案与实现
荣旭智能光学字符瑕疵检测系统的软件实现主要由三步实现:
1. 安装 Anomalib 和 OpenVINO™
2. 训练正样本并导出 OpenVINO™ 模型
3. 验证检测结果
第一步,安装 anomalib 和 OpenVINO™,命令如下所示:
pip install anomalib
pip install openvino-dev
向右滑动查看完整代码
第二步,训练正样本并导出 OpenVINO™ 模型。首先,请在
datasets\MVTec\bottle\train\good 放置23张正常的 OCR 字符图片
然后,请在
datasets\MVTec\bottle\test\good 放3张正常的 OCR 字符图片
接着,请在
datasets\MVTec\bottle\test\contamination 放一张字符缺的 OCR 字符图片
并修改
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 图片的验证结果,正常的图片是没有误识别的,如下图所示:
在 results\padim\mvtec\bottle\run\images\contamination 下是我们放置的一个 NG 图片,结果如下:
可以看到,缺陷正常识别出来了
使用 OpenVINO™ 实现推理程序,结果如下所示:
经过 OpenVINO™ 优化后,该算法在 N5105 CPU 上运行速度大约200ms左右,iGPU 的运行速度大约100ms左右,完全满足大多数光学字符瑕疵检测的速度需求。
总结与展望
荣旭智能基于 Anomalib 打造光学字符智能解决方案,在保证检测效率可行的前提下,可以大大地降低收集负样本的成本,提升模型的训练和部署效率,对于 AI 二分类 (OK/NG) 应用多了一个更优的选择方案。
下一步我司将使用 OpenVINO™ 的 NNCF 工具包,对 Anomalib 模型进行 INT8 量化,进一步提高在英特尔开发者套件上的推理速度,并将这套智能光学字符解决系统应用于磁芯元器件、IC 半导体、车载电子变压器等领域。
广东荣旭智能技术有限公司官网:
https://www.gdrosmart.com/
--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 中文社区(openvinodev)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。