全文字数584,预计阅读2min
一、用例介绍
该用例介绍了如何在工业质量检测应用中利用AI技术来检测焊接孔隙率。通过利用检测网络模型,对读取到的视频流的帧进行推理分类,可以大大加快孔隙率的检测,让AI更好的服务工业检测应用的场景。
二、效果展示
三、工作原理
数据的输入源可以是已有的图像视频库,也可以是时序数据,也可以从网络摄像头获取实时视频流。通过EII网络消息总线,在OpenVINO的Inference Engine中加载,然后调用Python API来使用分类检测模型运行推理加速,提取帧并执行推理以将帧分类为有缺陷或无缺陷。推理完成后可以接入第三方应用进行后续的处理。
值得注意的是,在CPU上的神经网络加速库是MKLDNN
,已经封装在Inference Engine的COMMON API
中,直接调用即可。为了演示的方便,这里使用了焊接检测视频来模拟焊接检测摄像机的视频流。
四、配置与下载
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,一会要用。
五、安装与使用
1.解压并输入key,执行安装
2.安装完成
3.配置python虚拟环境
脚本会创建名为m_detect
的python虚拟环境,执行脚本会下载相关依赖包并激活虚拟环境。
cd weld_porosity_detection/Weld_Porosity_Detection_2021.3/Weld_Porosity_Detection/weld_porosity_detection
source setvirtualenv.sh
4.运行应用
执行推理代码,指定模型文件的路径和视频文件,推理设备为CPU。如果我们是在服务器运行的话,可以添加--no_show
参数。
python inference.py \
--model ./models/model.xml \
--label ./models/labels.txt \
--input ./data/weld.mp4 \
--device CPU
开始执行推理进行分类检测
推理过程中,可以看到下图几种情形:
没有检测到焊接,识别准确率为99.77%
检测到正常的焊接,识别准确率为97.60%
检测到有缺陷的焊接,识别准确率为99.84%
六、移除和清理环境
当我们使用完后,可以根据以下的操作清理环境。
1.移除python虚拟环境
2.卸载应用软件包
如果卸载所有由edgesoftware脚本安装的软件包,请回到安装路径,执行下面命令
./edgesoftware uninstall -a