准备数据
在使用第二相面积含量测定工作流开发应用之前,您需要提前准备用于模型训练的数据,上传至OBS服务中。
数据标签
标注基于ModelArts的图像分割标注基础能力,由于第二相边界多为不规则形状,目前采用多边形标注第二相,标签为“second_phase”。
数据集要求
- 文件名规范,不能有中文,不能有+、空格、制表符。
- 保证图片质量:不能有损坏的图片;目前支持的格式包括JPG、JPEG、PNG、BMP。
- 为了保证模型的预测准确度,训练样本跟真实使用场景尽量相似。
- 为保证模型的泛化能力,数据集尽量覆盖所有材质类型的待定级图片。
- 为保证训练效果,需要准备至少20张待训练的图片数据,低于20张工作流数据处理会报错。此外,为优化模型,建议对金相图像的第二相边界标注清晰。
- 针对未标注数据,要求将图片放在一个目录里,示例如下所示。
├─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格式,格式详细说明请参见表1。
表1 PASCAL VOC格式说明 字段
是否必选
说明
folder
是
表示数据源所在目录。
filename
是
被标注文件的文件名。
size
是
表示图像的像素信息。
- width:必选字段,图片的宽度。
- height:必选字段,图片的高度。
- depth:必选字段,图片的通道数。
segmented
是
表示是否用于分割。
mask_source
否
表示图像分割保存的mask路径。
object
是
表示物体检测信息,多个物体标注会有多个object体。
- name:必选字段,标注内容的类别。
- pose:必选字段,标注内容的拍摄角度。
- truncated:必选字段,标注内容是否被截断(0表示完整)。
- occluded:必选字段,标注内容是否被遮挡(0表示未遮挡)
- difficult:必选字段,标注目标是否难以识别(0表示容易识别)。
- confidence:可选字段,标注目标的置信度,取值范围0-1之间。
- polygon:必选字段,标注框的类型。第二相面积含量测定工作流标注时使用多边形标注框,即标注框类型选择“polygon”,标注信息如下所示。
各点坐标。 <x1>100<x1> <y1>100<y1> <x2>200<x2> <y2>100<y2> <x3>250<x3> <y3>150<y3> <x4>200<x4> <y4>200<y4> <x5>100<x5> <y5>200<y5> <x6>50<x6> <y6>150<y6> <x7>100<x7> <y7>100<y7>
- mask_color:可选字段,标签的颜色,以RGB值表示。
示例:
├─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
标注文件的示例如下所示:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <annotation> <folder>NA</folder> <filename>image_0006.jpg</filename> <source> <database>Unknown</database> </source> <size> <width>512</width> <height>400</height> <depth>3</depth> </size> <segmented>1</segmented> <object> <name>not_edge</name> <pose>Unspecified</pose> <truncated>0</truncated> <difficult>0</difficult> <occluded>0</occluded> <polygon> <x1>71</x1> <y1>48</y1> <x2>75</x2> <y2>73</y2> <x3>49</x3> <y3>69</y3> <x4>68</x4> <y4>92</y4> <x5>90</x5> <y5>101</y5> <x6>45</x6> <y6>110</y6> <x7>71</x7> <y7>48</y7> </polygon> </object> </annotation>
上传数据至OBS
使用ModelArts Pro进行应用开发时,您需要将数据上传至OBS桶中。
- 首先需要获取访问OBS权限,在未进行委托授权之前,无法使用此功能。您需要提前获得OBS授权,详情请见配置访问权限。
- 已创建用于存储数据的OBS桶及文件夹,且数据存储的OBS桶与ModelArts Pro在同一区域(目前仅支持华为-北京四),详情请见创建OBS桶。
- 上传数据至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工具指南》。