ESH系列08丨焊接孔隙率检测参考实现

全文字数584,预计阅读2min

一、用例介绍

该用例介绍了如何在工业质量检测应用中利用AI技术来检测焊接孔隙率。通过利用检测网络模型,对读取到的视频流的帧进行推理分类,可以大大加快孔隙率的检测,让AI更好的服务工业检测应用的场景。

二、效果展示

fsadfafsda

三、工作原理

数据的输入源可以是已有的图像视频库,也可以是时序数据,也可以从网络摄像头获取实时视频流。通过EII网络消息总线,在OpenVINO的Inference Engine中加载,然后调用Python API来使用分类检测模型运行推理加速,提取帧并执行推理以将帧分类为有缺陷或无缺陷。推理完成后可以接入第三方应用进行后续的处理。

值得注意的是,在CPU上的神经网络加速库是MKLDNN,已经封装在Inference Engine的COMMON API中,直接调用即可。为了演示的方便,这里使用了焊接检测视频来模拟焊接检测摄像机的视频流。

20211215234154

四、配置与下载

1.配置说明:

System : Ubuntu 18.04LTS

Software : OpenVINO toolkit 2021.3

Programming Language : Python 3.6

Time to Complete : About 30min

(Last Updated: 07/19/2021)

2.如何下载

登录ESH官网,link:https://www.intel.com/content/www/us/en/developer/articles/reference-implementation/weld-porosity-detection.html

找到Weld Porosity Detection Reference Implementation并点击下载,记得保存key,一会要用。

20211216000326

五、安装与使用

1.解压并输入key,执行安装

20211216000442

2.安装完成

afaetewtaefg

3.配置python虚拟环境

脚本会创建名为m_detect的python虚拟环境,执行脚本会下载相关依赖包并激活虚拟环境。

cd weld_porosity_detection/Weld_Porosity_Detection_2021.3/Weld_Porosity_Detection/weld_porosity_detection
source setvirtualenv.sh

source

4.运行应用

执行推理代码,指定模型文件的路径和视频文件,推理设备为CPU。如果我们是在服务器运行的话,可以添加--no_show参数。

python inference.py \
--model ./models/model.xml \
--label ./models/labels.txt \
--input ./data/weld.mp4 \
--device CPU

开始执行推理进行分类检测

afsdFADSF

推理过程中,可以看到下图几种情形:

没有检测到焊接,识别准确率为99.77%

20211219222359

检测到正常的焊接,识别准确率为97.60%

20211219205231

检测到有缺陷的焊接,识别准确率为99.84%

20211219205307

六、移除和清理环境

当我们使用完后,可以根据以下的操作清理环境。

1.移除python虚拟环境

2021-12-16-22-39-51

2.卸载应用软件包

如果卸载所有由edgesoftware脚本安装的软件包,请回到安装路径,执行下面命令

./edgesoftware uninstall -a

20211219232701