在生产制造过程中,为了提升缺陷检测效率,PAI提供了工业质检解决方案。该解决方案借助人工智能算法,帮助您快速构建端到端的质检服务。本文为您介绍该解决方案的使用流程。
背景信息
缺陷检测是生产制造过程中必不可少的一步,广泛应用于各个工业领域,包括3C、电子、汽车、化工及轻工等领域。虽然人工智能和机器视觉等检测技术逐渐成熟,但人工目视的方法仍占据较大比重,导致了生产自动化程度低、生产效率低、难以形成精益化生产等问题。针对该问题,阿里云机器学习PAI借助人工智能算法,提出了如下解决方案。
-
解决方案
-
基于智能标注(iTAG)平台和PAI数据集管理,对目标场景的数据进行快捷标注和样本管理。
-
基于PAI提供的模型和算法,针对自己的数据,在DSW平台上进行模型Fine-Tune,从而构建具体场景的质检模型。
-
将模型进行EAS在线部署,形成完整的端到端流程,通过访问服务自动识别图片中的缺陷。
-
-
使用流程
基于阿里云机器学习平台PAI,构建工业质检解决方案的使用流程如下。
-
准备数据
使用PAI提供的示例iTAG数据,或基于智能标注(iTAG)进行原始数据标注。导出标注结果上传到OSS,用于后续的模型训练。
-
基于DSW构建质检模型
在DSW平台,参考DSW Gallery提供的案例,构建模型。
-
部署及调用模型服务
通过模型在线服务EAS,您可以将训练好的模型部署为在线服务,并在实际的生产环境中调用,从而进行推理。
-
前提条件
在开始执行操作前,请确认您已完成以下准备工作。
-
已开通PAI(DSW、EAS)后付费,并创建默认工作空间,详情请参见开通并创建默认工作空间。
-
已创建OSS存储空间(Bucket),用于存储原始图像和训练获得的模型文件。关于如何创建存储空间,详情请参见控制台创建存储空间。
-
已创建DSW实例,建议镜像选择modelscope:tf1.15torch1.11-gpu-py37-cu113-ubuntu20.04,GPU机型为P100或V100,内存大于32 GB,详情请参见创建及管理DSW实例。
准备数据
您可以使用DSW Gallery中PAI提供的示例iTAG数据,也可以使用iTAG标注的自定义数据集。如果数据未标注,可基于智能标注(iTAG)对原始数据进行标注。iTAG标注流程如下,更详细的操作流程,详情请参见iTAG使用文档。
-
将待标注的图像数据上传到OSS,具体操作,请参见控制台上传文件。
-
创建数据集。
在PAI的数据集管理模块,通过扫描文件夹创建数据集的方式,将上传到OSS的图像文件创建为数据集,具体操作,请参见创建及管理数据集。
-
创建打标任务并完成打标任务处理。
-
通过智能标注(iTAG)管理员控制台,创建标注任务,详情请参见创建标注任务。
-
通过智能标注(iTAG)标注员控制台,进行数据标注,详情请参见标注图像(打标,质检及验收)。标注示例如下。
-
-
标注完成后,导出.manifest的标注结果文件,详情请参见导出标注结果数据。
-
将标注结果文件、标签文件、原始图像文件按照以下目录结构,上传到DSW的Notebook,详情请参见上传下载数据文件。
itag_det_example |--imgs |--class_list.txt |--pet_det.manifest
其中:
-
imgs:该目录存放原始图像文件。
-
class_list.txt:标签文件,按行填写数据标签,例如:
类别一 类别二
-
pet_det.manifest:在上述步骤中获取的标注结果文件。
-
基于DSW构建质检模型
-
进入DSW Gallery页面,详情请参见进入DSW Gallery。
-
在DSW Gallery页面,构建以下两种质检模型。
-
将训练后得到的_export.pt为后缀的模型,上传到OSS,详情请参见控制台上传文件。
部署及调用模型服务
部署模型服务的具体操作步骤如下。
-
进入PAI-EAS 模型在线服务页面。
-
登录PAI控制台。
-
在左侧导航栏单击工作空间列表,在工作空间列表页面中单击待操作的工作空间名称,进入对应工作空间内。
-
在工作空间页面的左侧导航栏选择模型部署 > 模型在线服务(EAS),进入PAI-EAS 模型在线服务页面。
-
-
部署模型服务。
-
在推理服务页签,单击部署服务。
-
在部署服务页面,配置参数,并单击部署。
将以下JSON文件内容粘贴到对应配置编辑下的文本框中。
{ "name": "easycv_yolox_example", "processor": "easycv", "model_path": "oss://examplebucket/epoch_10_export.pt", "model_config": {"type":"YoloXPredictor"}, "metadata": { "instance": 1 }, "cloud": { "computing": { "instance_type": "ecs.gn5i-c4g1.xlarge" } } }
其中:
-
name:需要替换为您自己的服务名称,您可以直接在控制台模型服务信息区域修改该参数。
-
processor:配置为easycv。EAS提供的EasyCV Processor可以加载EasyCV框架训练得到的深度学习模型,更多EasyCV processor使用说明,详情请参见预置Processor使用说明。
-
model_config:您可以在控制台模型服务信息区域修改模型类别。
-
当部署yolox目标检测模型时,该参数配置为yolox目标检测。
-
当部署图像语义分割模型时,该参数配置为语义分割。
-
-
-
-
查看模型服务的公网地址和访问Token。
-
在PAI-EAS 模型在线服务页面,单击目标服务服务方式列下的调用信息。
-
在调用信息对话框的公网地址调用页签,查看公网调用的访问地址和Token。
-
-
使用脚本进行批量调用。
-
创建调用模型服务的Python脚本eas_predict.py。
import requests import base64 import json resp = requests.get('http://exmaplebucket.oss-cn-zhangjiakou.aliyuncs.com/images/000000123213.jpg') ENCODING = 'utf-8' datas = json.dumps( { "image": base64.b64encode(resp.content).decode(ENCODING) }) head = { "Authorization": "NTFmNDJlM2E4OTRjMzc3OWY0NzI3MTg5MzZmNGQ5Yj***" } for x in range(0,10): resp = requests.post("http://150231884461***.cn-hangzhou.pai-eas.aliyuncs.com/api/predict/test_easycv_yolox_example", data=datas, headers=head) print(resp.text)
其中:image:需要将图像数据编码成Base64格式。
-
将eas_predict.py的Python脚本上传至您的任意环境,并在脚本上传后的当前目录执行如下调用命令。
python
其中需要替换为实际的Python脚本名称。
-
-
监控服务指标。调用模型服务后,您可以查看模型调用的相关指标水位,包括QPS、RT、CPU、GPU及Memory。
-
在PAI-EAS 模型在线服务页面,单击已调用服务服务监控列下的
图标。
-
在服务监控页签,即可查看模型调用的指标水位。
-
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家
阿里云企业补贴进行中: 马上申请
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠
转转请注明出处:https://www.yunxiaoer.com/165080.html