
# 准备数据
在使用安全帽检测技能模板开发技能之前，您需要提前准备用于模型训练的数据，上传至OBS服务中。
 #### 数据集要求
- 文件名规范，不能有中文，不能有+、空格、制表符。
- 保证图片质量：不能有损坏的图片；目前支持的格式包括jpg、jpeg、bmp、png。
- 为了保证模型的预测准确度，训练样本跟真实使用场景尽量相似。
- 为保证模型的泛化能力，数据集尽量覆盖所有标签的图片，且数据集中每个标签要有大于5个样本。
- 针对未标注数据，要求将图片放在一个目录里，示例如下所示。
  ```
  ├─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]。
  示例：
  ```
  ├─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>
      <size>
          <width>554</width>
          <height>606</height>
          <depth>3</depth>
      </size>
      <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>
              <xmax>474</xmax>
              <ymax>278</ymax>
          </bndbox>
      </object>
      <object>
          <name>Cat</name>
          <pose>Unspecified</pose>
          <truncated>0</truncated>
          <difficult>0</difficult>
          <occluded>0</occluded>
          <bndbox>
              <xmin>279</xmin>
              <ymin>198</ymin>
              <xmax>456</xmax>
              <ymax>421</ymax>
          </bndbox>
      </object>
  </annotation>
  ```
  只支持JPG、JPEG、PNG、BMP格式的图片，单张图片大小不能超过5MB，且单次上传的图片总大小不能超过8MB。
   表1PASCAL VOC格式说明 
  | 字段        | 是否必选 | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
  |:---|:---|:---|
  | folder    | 是    | 表示数据源所在目录。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
  | filename  | 是    | 被标注文件的文件名。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
  | size      | 是    | 表示图像的像素信息。 - width：必选字段，图片的宽度。  - height：必选字段，图片的高度。  - depth：必选字段，图片的通道数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
  | segmented | 是    | 表示是否用于分割。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
  | object    | 是    | 表示物体检测信息，多个物体标注会有多个object体。 - name：必选字段，标注内容的类别。  - pose：必选字段，标注内容的拍摄角度。  - truncated：必选字段，标注内容是否被截断（0表示完整）。  - occluded：必选字段，标注内容是否被遮挡（0表示未遮挡）  - difficult：必选字段，标注目标是否难以识别（0表示容易识别）。  - confidence：可选字段，标注目标的置信度，取值范围0-1之间。  - bndbox：必选字段，标注框的类型，可选值请参见[表2]。   |
     
   表2标注框类型描述 
  | type    | 形状  | 标注信息                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
  |:---|:---|:---|
  | point   | 点   | 点的坐标。 \<x\>100\<x\> \<y\>100\<y\>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
  | line    | 线   | 各点坐标。 \<x1\>100\<x1\> \<y1\>100\<y1\> \<x2\>200\<x2\> \<y2\>200\<y2\>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
  | bndbox  | 矩形框 | 左上和右下两个点坐标。 \<xmin\>100\<xmin\> \<ymin\>100\<ymin\> \<xmax\>200\<xmax\> \<ymax\>200\<ymax\>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
  | 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\> |
  | circle  | 圆形  | 圆心坐标和半径。 \<cx\>100\<cx\> \<cy\>100\<cy\> \<r\>50\<r\>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
     
  
 
#### 上传数据至OBS
使用ModelArts Pro进行应用开发时，您需要将数据上传至OBS桶中。
1. 首先需要获取访问OBS权限，在未进行委托授权之前，无法使用此功能。
2. 已创建用于存储数据的OBS桶及文件夹，且数据存储的OBS桶与ModelArts Pro在同一区域（目前仅支持华为-北京四），详情请见[创建OBS桶](https://support.huaweicloud.com/qs-obs/obs_qs_0001.html)。
3. 上传数据至OBS，OBS上传数据的详细操作请参见[《对象存储服务快速入门》](https://support.huaweicloud.com/qs-obs/obs_qs_0001.html)。
   ![](https://support.huaweicloud.com/usermanual-hilens/public_sys-resources/note_3.0-zh-cn.png)
   - 您在创建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工具指南](https://support.huaweicloud.com/tg-obs/obs_09_0001.html)》。
     
     
 
