• 沒有找到結果。

4.4.1 工作流介绍

工作流简介

在钢铁厂中,钢板的材质、热处理工艺以及使用环境等外界因素均会影响钢板的使用 寿命,而这些外界因素导致钢板缺陷。研究钢板表面的缺陷类型对钢板的使用寿命至 关重要,ModelArts Pro提供热轧钢板表面缺陷检测工作流,提供高精度钢板表面缺陷 识别算法,提高钢板表面缺陷检测场景上线效率。

● 功能介绍

支持自主上传热轧钢板表面图片数据,构建热轧钢板表面缺陷类型的检测模型,

用于识别热轧钢板表面图片中的缺陷类型。

● 适用场景 钢铁制造。

● 优势

模型精度高,识别速度快;更新模型简便。

工作流流程

在“ModelArts Pro>视觉套件”控制台选择“我的工作流>热轧钢板表面缺陷检测工作 流”新建应用,详细操作请见新建应用。您可以在汽车制造、电器制造场景下开发热 轧钢板表面缺陷检测模型,自主上传数据训练模型,实现缺陷类型识别功能。

4-19 热轧钢板表面缺陷检测工作流流程

4-8 热轧钢板表面缺陷检测工作流说明

流程 说明 详细指导

准备数据 在使用热轧钢板表面缺陷检测工作 流开发应用之前,您需要提前准备 用于模型训练的数据,上传至OBS 中。 的API和SDK识别。

部署服务

4.4.2 准备数据

在使用热轧钢板表面缺陷检测工作流开发应用之前,您需要提前准备用于模型训练的 数据,上传至OBS服务中。

设计钢板标签

首先需要考虑好热轧钢板表面缺陷的类型标签,即能识别出热轧钢板表面的缺陷类 型。例如以“scratch”、“scar”、“pit”等作为热轧钢板表面缺陷的类型。

数据集要求

● 文件名规范,不能有中文,不能有+、空格、制表符。

● 保证图片质量:不能有损坏的图片;目前支持的格式包括JPG、JPEG、PNG、

BMP。

● 为了保证模型的预测准确度,训练样本跟真实使用场景尽量相似。

● 为保证模型的泛化能力,数据集尽量覆盖所有标签的图片。

● 基于已设计好的热轧钢板表面缺陷标签准备图片数据。每个分类标签需要准备20 个数据以上,为了训练出效果较好的模型,建议每个分类标签准备200个以上的数 据。

● 针对未标注数据,要求将图片放在一个目录里,示例如下所示。

├─dataset-import-example

│ IMG_20180919_114732.jpg

│ IMG_20180919_114745.jpg

│ IMG_20180919_114945.jpg

– 如果导入位置为OBS,用户需具备此OBS路径的读取权限。

– 只支持JPG、JPEG、PNG、BMP格式的图片。

● 针对已标注数据,要求用户将标注对象和标注文件存储在同一目录,并且一一对 应,如标注对象文件名为“IMG_20180919_114745.jpg”,那么标注文件的文件 名应为“IMG_20180919_114745.xml”。

热轧钢板表面缺陷检测工作流标注时标注框包含缺陷即可,因此建议使用矩形标 注框标注图片。如果标注框坐标超过图片,将无法识别该图片为已标注图片。

物体检测的标注文件需要满足PASCAL VOC格式,格式详细说明请参见表4-9。

4-9 PASCAL VOC 格式说明

字段 是否

必选

说明

folder 是 表示数据源所在目录。

filename 是 被标注文件的文件名。

size 是 表示图像的像素信息。

● width:必选字段,图片的宽度。

● height:必选字段,图片的高度。

● depth:必选字段,图片的通道数。

segmented 是 表示是否用于分割。

字段 是否 必选

说明

object 是 表示物体检测信息,多个物体标注会有多个object 体。

● name:必选字段,标注内容的类别。

● pose:必选字段,标注内容的拍摄角度。

● truncated:必选字段,标注内容是否被截断(0表 示完整)。

● occluded:必选字段,标注内容是否被遮挡(0表 示未遮挡)。

● difficult:必选字段,标注目标是否难以识别(0 表示容易识别)。

● confidence:可选字段,标注目标的置信度,取值 范围0-1之间。

● bndbox:必选字段,标注框的类型。热轧钢板表 面缺陷检测工作流标注时标注框包含缺陷即可,

因此建议使用矩形标注框,即标注框类型选择

“bndbox”,标注信息为左上和右下两个点坐 标,如下所示。

<xmin>100<xmin>

<ymin>100<ymin>

<xmax>200<xmax>

<ymax>200<ymax>

示例:

├─dataset-import-example

│ IMG_20180919_114732.jpg

│ IMG_20180919_114732.xml

│ IMG_20180919_114745.jpg

│ IMG_20180919_114745.xml

│ IMG_20180919_114945.jpg

│ IMG_20180919_114945.xml

标注文件的示例如下所示:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

<annotation>

<folder>NA</folder>

<filename>bike_1_1593531469339.png</filename>

<source>

<database>Unknown</database>

</source>

<segmented>0</segmented>

<object>

<name>Dog</name>

<pose>Unspecified</pose>

<truncated>0</truncated>

<difficult>0</difficult>

<occluded>0</occluded>

<bndbox>

<xmin>279</xmin>

<ymin>52</ymin>

<pose>Unspecified</pose>

<truncated>0</truncated>

<difficult>0</difficult>

<occluded>0</occluded>

</annotation>

上传数据至 OBS

使用ModelArts Pro进行应用开发时,您需要将数据上传至OBS桶中。

1. 首先需要获取访问OBS权限,在未进行委托授权之前,无法使用此功能。您需要 提前获得OBS授权,详情请见配置访问权限。

2. 已创建用于存储数据的OBS桶及文件夹,且数据存储的OBS桶与ModelArts Pro在 同一区域(目前仅支持华为-北京四),详情请见创建OBS桶。

3. 上传数据至OBS,OBS上传数据的详细操作请参见《对象存储服务快速入门》。

说明

● 您在创建OBS桶时,需保证您的OBS桶与ModelArts Pro在同一个区域。

● 建议根据业务情况及使用习惯,选择OBS使用方法。

如果您的数据量较小(小于100MB)或数据文件较少(少于100个),建议您使 用控制台上传数据。控制台上传无需工具下载或多余配置,在少量数据上传时,

更加便捷高效。

如果您的数据量较大或数据文件较多,建议选择OBS Browser+或obsutil工具上 传。OBS Browser+是一个比较常用的图形化工具,支持完善的桶管理和对象管理 操作。推荐使用此工具创建桶或上传对象。obsutil是一款用于访问管理OBS的命 令行工具,对于熟悉命令行程序的用户,obsutil是执行批量处理、自动化任务较 好的选择。

如果您的业务环境需要通过API或SDK执行数据上传操作,或者您习惯于使用API 和SDK,推荐选择OBS的API或SDK方法创建桶和上传对象。

上述说明仅罗列OBS常用的使用方式和工具,更多OBS工具说明,请参见《OBS 工具 指南》。

前提条件

● 已在视觉套件控制台选择“热轧钢板表面缺陷检测工作流”新建应用,详情请见 新建应用。

● 已准备数据并上传至OBS,详情请见准备数据。

进入应用开发页面

● 方式一:首次进入

基于预置工作流新建应用后,直接进入“应用开发”v1版本页面。

● 方式二:新建应用后进入

a. 登录“ModelArts Pro>视觉套件”控制台。

默认进入“应用开发>工作台”页面。

b. 选择已新建的应用名称,单击“操作”列的“查看”。

进入“应用总览”页面。

4-20 进入应用总览

c. 在开发版本列表中单击“操作”列的“查看”。

进入“应用开发”页面。

4-21 进入应用开发

新建训练数据集

在“数据选择”页面,单击“新建训练数据集”,右侧弹出“新建数据集”页面,根 据数据存储位置和数据标注情况,按表4-10填写数据集基本信息,然后单击“确 定”。

4-22 新建数据集

4-10 新建训练数据集参数说明

参数 说明

数据集名称 待新建的数据集名称。

描述 数据集简要描述。

数据集输入位置 训练数据存储至OBS的位置。

单击“数据集输入位置”右侧输入框,

在弹出的“数据集输入位置”对话框 中,选择“OBS桶”和“文件夹”,然 后单击“确定”。

数据集输出位置 待新建的数据集存储至OBS的位置。

待新建的数据集有一个默认存储位置。

如果需要修改数据集存储位置,请单击

“数据集输出位置”右侧的“修改”,

在弹出的“数据集输出位置”对话框 中,选择“OBS桶”和“文件夹”,然 后单击“确定”。

说明

“数据集输出位置”不能与“数据集输入位 置”为同一路径,且不能是“数据集输入位 置”的子目录。“数据集输出位置”建议选 择一个空目录。

新建训练数据集后,勾选当前应用开发所需的训练数据集。

由于模型训练过程需要有标签的数据,针对已上传的数据集,手动添加或修改标签。

单击数据集操作列的“标注”,进入数据集概览页单击右上角的“开始标注”,在

“数据标注”页面手动标注数据,详细的操作指导请参考标注数据-物体检测。

说明

热轧钢板表面缺陷检测工作流标注数据时,必须使用矩形标注框标注数据。

导入数据集

1. 在“数据选择”页面,单击“导入数据集”。

弹出“导入数据集”对话框。

“导入数据集”对话框会显示您在热轧钢板表面缺陷检测工作流创建的其他应用 中已使用的数据集信息,包括“数据集名称”和“标注进度”。

4-23 导入数据集

2. 勾选数据集,然后单击“确定”。

数据集导入后,“数据选择”页面右上角会显示“数据集导入成功”。

3. 导入勾选数据集后,在数据选择页面勾选当前应用开发所需的训练数据集。

由于模型训练过程需要有标签的数据,针对已上传的数据集,手动添加或修改标 签。

单击数据集操作列的“标注”,进入数据集概览页单击右上角的“开始标注”,

在“数据标注”页面手动标注数据,详细的操作指导请参考标注数据-物体检测。

说明

热轧钢板表面缺陷检测工作流标注数据时,必须使用矩形标注框标注数据。

查看标签解析

新建并选择训练数据集后,针对已标注的数据,在“标签解析”中查看标签样本的统 计数据,横轴为“标签”,纵轴为标签对应的有效“样本数”。

4-24 标签解析

后续操作

选择训练数据集后,单击右下角的“下一步”,进入应用开发的“模型训练”步骤,

详细操作指引请参见训练模型。

4.4.4 训练模型

针对已标注完成的训练数据,开始训练模型,您可以查看训练的模型准确率和误差变 化。

前提条件

已在视觉套件控制台选择“热轧钢板表面缺陷检测工作流”新建应用,并已执行完

“数据选择”步骤,详情请见选择数据。

训练模型

在“模型训练”页面,单击“开始训练”。

模型训练一般需要运行一段时间,等模型训练完成后,“模型训练”页面下方显示查 看训练详情。

4-25 训练模型

查看训练详情

模型训练完成后,可在“模型训练”页面查看“训练详情”,包括“准确率变化情

模型训练完成后,可在“模型训练”页面查看“训练详情”,包括“准确率变化情