如何使用工业质检解决方案

您所在的位置:网站首页 人工智能检测员是做什么的 如何使用工业质检解决方案

如何使用工业质检解决方案

2024-07-15 11:54| 来源: 网络整理| 查看: 265

背景信息

缺陷检测是生产制造过程中必不可少的一步,广泛应用于各个工业领域,包括3C、电子、汽车、化工及轻工等领域。虽然人工智能和机器视觉等检测技术逐渐成熟,但人工目视的方法仍占据较大比重,导致了生产自动化程度低、生产效率低、难以形成精益化生产等问题。针对该问题,阿里云PAI借助人工智能算法,提出了如下解决方案。

解决方案

基于智能标注(iTAG)平台和PAI数据集管理,对目标场景的数据进行快捷标注和样本管理。

基于PAI提供的模型和算法,针对自己的数据,在DSW平台上进行模型Fine-Tune,从而构建具体场景的质检模型。

将模型进行EAS在线部署,形成完整的端到端流程,通过访问服务自动识别图片中的缺陷。

使用流程

基于阿里云PAI,构建工业质检解决方案的使用流程如下。

image

准备数据

使用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)标注员控制台,进行数据标注,详情请参见标注图像(打标,质检及验收)。标注示例如下。

imageimageimageimage

标注完成后,导出.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页面,构建以下两种质检模型。

目标检测模型

名称或描述文本框中输入YOLOX,然后按回车键。在右侧的基于YOLOX模型和iTAG标注数据的图像检测示例区域,单击在阿里云DSW打开,并按照控制台操作指引构建yolox目标检测模型。image.png如果您使用的是iTAG标注的自定义数据集,请将以下数据集目录替换为准备数据中的自定义数据集目录。image

语义分割模型

名称或描述文本框中输入STDC,然后按回车键。在右侧的基于EasyCV的STDC图像语义分割示例区域,单击在阿里云DSW打开,并按照控制台操作指引构建图像语义分割模型。image.png

说明

目前只能使用DSW Gallery中PAI提供的示例数据,不能使用自定义数据集。

将训练后得到的_export.pt为后缀的模型,上传到OSS,详情请参见控制台上传文件。

部署及调用模型服务

部署模型服务的具体操作步骤如下。

进入模型在线服务(EAS)页面。

登录PAI控制台。

在左侧导航栏单击工作空间列表,在工作空间列表页面中单击待操作的工作空间名称,进入对应的工作空间。

在工作空间页面的左侧导航栏选择模型部署 > 模型在线服务(EAS),进入模型在线服务(EAS)页面。

部署模型服务。

模型在线服务(EAS)页面,单击部署服务,在自定义模型部署区域,单击自定义部署

部署服务页面,配置参数,并单击部署image

将以下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。

模型在线服务(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。

模型在线服务(EAS)页面,单击已调用服务服务监控列下的image图标。

服务监控页签,即可查看模型调用的指标水位。image



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3