更新时间:2024-10-30 GMT+08:00
分享

点云标注数据集文件说明

Octopus格式文件基本要求(点云标注)

上传的Octopus格式数据集需包含以下文件。

.
├─ 文件夹1 
    ├─ 点云1.pcd          #点云文件 
    ├─ 图片1.jpg         #该点云图像对应的已标注图片 
    ├─ 点云1.json        #该点云的所有标注信息 
├─ 文件夹2 
    ├─ 点云2.pcd         #点云文件 
    ├─ 图片2.jpg        #该点云图像对应的已标注图片 
    ├─ 点云2.json        #该点云的所有标注信息

Metadata.xml样例

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

<ModelMetaData>

<SRS>EPSG:32650</SRS>

<SRSOrigin>262808.2870,3375951.2110,20.6160</SRSOrigin>

</ModelMetaData>

标注数据.json文件说明

数据集中必含“.json”文件,用于集合该时间戳已标注点云的所有标注数据信息,包括该点云所在的项目id、数据包id、图片上所有标注框信息等。上传数据集前请保证“.json”文件内容正确。“.json”文件编写的参考样例如下:

3D立方体框数据

该文件说明适用于3D目标识别,3D目标追踪,3D联合任务。
{ 
  "frame_id": 11, 
  #帧序号 
  "batch_task_id": 2284, 
  #批次任务ID 
  "project_id": "da7febfd1405496ffd1240e6c17efc0f", 
  #资源域ID 
  "label_mode": "auto", 
  #标注类型:auto和manual两种 
  "status": "labeled", 
  #标注任务状态:unlabeled、labeled  
  "sample_type": "POINT_CLOUD", 
  #样本类型:包含“IMAGE”(图片)、“POINT_CLOUD”(点云) 、“AUDIO”(音频)、“TEXT”(文本)
  "des_order": "", 
  #此份数据对应的原始数据包描述 
  "tag_names": [ 
    "a_in_premodel", 
    "b_in_premodel" 
  ], 
  #标签名称 
  "valid": true, 
  #是否有效,包含“true”和“false”两种 
  "create_time": 1669339994173, 
  #标注的创建时间 
  "difficult": false, 
  #是否难例,包含“true”难例和“false”非难例 
  "label_counts": [ 
  #各类标注物的个数统计 
    { 
      "label_meta_id": 5414, 
      #标注物使用的标签ID,  
      "label_num": 1, 
      #标注物个数  
      "label_meta_name": "Car", 
      #标签名称 
      "label_meta_desc": "自采目标识别", 
      #标签描述 
      "label_meta_attr": "{\"优先级\":\"0,1\"}", 
      #标签额外属性 
      "label_meta_shape": "cube_3d", 
      #标签形状 包含“bndbox、line、circle、polygon、points、dashed、cube_3d、multiBox、polygon_3d_v2、audio、text、line_3d、dash_3d、line_dash_3d、dash_line_3d、double_line_3d、double_dash_3d”
      "label_meta_color": "#d0021b", 
      #标签颜色 
      "level": 0 
    } 
  ], 
  "point_cloud_meta_info": { 
   #3D点云的标注属性信息,包含标定项id、图片名称、传感器类型、图片大小、图片源的obs路径url、时间戳  
    "id": "6a275591-53e1-406e-820e-ad077ae1da49", 
    "name": "lidar-269-19.pcd", 
    #点云名称 
    "source":"https://octopus-raw-da7febfd1405496ffd1240e6c17efc0f.obs.cn-north-5.myhuaweicloud.com/label-data/task-2284/data/8/lidar-269-19.pcd", 
    #点云源的obs路径url 
"calibration_item_id": 269, 
    #标定项ID 
"sensor": "lidar", 
    #传感器类型 
    "timestamp": 1669339994173, 
    "size": 0 
  }, 
  "image_meta_infos": [ 
    #图片属性信息,包含标定项id、图片名称、传感器类型、图片大小、图片源的obs路径url、时间戳  
    { 
      "id": "3b018a08-caa8-4e86-ae7a-1e9988b65578", 
      "name": "camera03-268-19.jpg", 
      "source": "https://octopus-raw-da7febfd1405496ffd1240e6c17efc0f.obs.cn-north-5.myhuaweicloud.com/label-data/task-2284/data/8/camera03-268-19.jpg", 
      "sensor": "camera03_0", 
      #传感器名称 
      "timestamp": 1669339994173, 
      "calibration_item_id": 268, 
      #标定项ID 
      "size": { 
      #图片尺寸 
        "width": 1920, 
        "depth": 3, 
        "height": 1020 
      } 
    } 
  ], 
  "label_task_id": 1372, 
   #批次子任务ID 
  "partitionId": 20221124, 
  "label_update_time": 1688457112216, 
   #标注最近更新时间 
  "prefix_folder": "8", 
  "image_id": "9af1a414-d943-4965-96dd-ac0cd620eda5", 
  "inspection": 0, 
  "labels": [ 
   #标注物信息 
    { 
      "label_meta_id": 5414, 
      #标注物对应的标签ID 
      "create_time": 0, 
      "name": "Car", 
      #标注物名称 
      "shape_type": "cube_3d", 
      #标注物形状:3D立体框 
      "serial_number": 0, 
      "label_object_id": -1, 
      "attribute": "", 
      #标注物属性 
      "label_meta_name": "Car", 
      "inspection": { 
      #审核属性 
        "miss_label_error": false, 
         #漏标 
        "vehicle_direction_error": false, 
        #车头方向错误 
        "attribute_error": false, 
        #属性错误 
        "out_range_label_error": false, 
        #未贴合 
        "anchor_error": false, 
        #锚点错误 
        "classification_error": false, 
        #类别错误 
        "correct_label": true, 
        "extra_label_error": false 
        #多标 
      }, 
      "cube_3d": { 
        "orientation": 1.53980839, 
        "alpha": 1.527701791334979, 
        "rotation": { 
        #3D框旋转角 
          "x": 0.0, 
          "y": 0.0, 
          "z": 1.53980839 
        }, 
        "bndboxs": [ 
        #3D联合标注中2D框的标注信息 
          { 
            "label_meta_id": 5414, 
            "bndbox": { 
              "ymin": 508.54608, 
              "xmin": 926.8102, 
              "ymax": 727.8024, 
              "xmax": 1189.3324 
            }, 
            "label_meta_color": "#d0021b", 
            "serial_number": 2, 
            "sensor": "camera03_0", 
            "attribute": "{}", 
            "source": "https://octopus-raw-da7febfd1405496ffd1240e6c17efc0f.obs.cn-north-5.myhuaweicloud.com/label-data/task-2284/data/8/camera03-268-19.jpg", 
            "label_meta_name": "Car", 
            "inspection": { 
              "miss_label_error": false, 
              "vehicle_direction_error": false, 
              "attribute_error": false, 
              "out_range_label_error": false, 
              "anchor_error": false, 
              "classification_error": false, 
              "correct_label": true, 
              "extra_label_error": false 
            } 
          } 
        ], 
        "serial_number": 2, 
        #标注物合成对象的唯一自增id,如果标注物之间没有合成则与serial_number保持一致,追踪任务中同一物体在不同帧中此字段相同 
        "location": { 
        #3D框中心点坐标 
          "x": 0.6671804785728455, 
          "y": 15.472203254699707, 
          "z": -1.1619998216629028 
        }, 
        "attribute":  "{\"优先级\":\"1\"}", 
        "dimensions": { 
        #3D框长宽高 
          "length": 4.557755470275879, 
          "width": 2.0348410606384277, 
          "height": 1.4403225183486938 
        } 
      } 
    } 
  ], 
  "labels_ext": { 
    "track_points": [ 
      { 
        "serial_number": 1, 
        "points": [ 

        ] 
      } 
    ] 
  } 
}

3D语义分割数据:

除label_counts,labels和label_ext外的其余字段说明参考3D立方体框数据中的样例文件。
{
  "label_counts": [
    {
      "label_meta_id": 1853,
      "label_num": 1,
      "label_meta_name": "truck",
      "label_meta_desc": "v0504",
      "label_meta_attr": "{\"优先级\":\"0,1\"}",
      "label_meta_shape": "polygon_3d_v2",
      #标签形状
      "label_meta_color": "#f8e71c",
      "level": 0
    },
    {
      "label_meta_id": 1854,
      "label_num": 1,
      "label_meta_name": "car",
      "label_meta_desc": "car0504",
      "label_meta_attr": "{\"优先级\":\"0,1\"}",
      "label_meta_shape": "polygon_3d_v2",
      "label_meta_color": "#7ed321",
      "level": 0
    }
  ],

  "labels": [
  #标注物信息
    {
      "label_meta_id": 1854,
      #标注物对应的标签ID
      "create_time": 0,
      "polygon_3d_v2": {
      #该类标注物使用的符号
        "ascii_char": "$"
      },
      "name": "car",
      #标注物名称
      "shape_type": "polygon_3d_v2",
      #标注物形状
      "serial_number": 0,
      "label_object_id": -1,
      "attribute": "",
      #标注物属性
      "label_meta_name": "car",
      "inspection": {
        "miss_label_error": false,
        "vehicle_direction_error": false,
        "attribute_error": false,
        "out_range_label_error": false,
        "anchor_error": false,
        "classification_error": false,
        "correct_label": true,
        "extra_label_error": false
      }
    },
    {
      "label_meta_id": 1853,
      "create_time": 0,
      "polygon_3d_v2": {
        "ascii_char": "#"
      },
      "name": "truck",
      "shape_type": "polygon_3d_v2",
      "serial_number": 0,
      "label_object_id": -1,
      "attribute": "",
      "label_meta_name": "truck",
      "inspection": {
        "miss_label_error": false,
        "vehicle_direction_error": false,
        "attribute_error": false,
        "out_range_label_error": false,
        "anchor_error": false,
        "classification_error": false,
        "correct_label": true,
        "extra_label_error": false
      }
    }
  ],
  "labels_ext": {
    #该帧点云每个点的类别,和labels中polygon_3d_v2->ascii_char对应
    "ascii_string":"   $$$$$          #####"                 
  }
}

ascii_string中保存了点云中每个点的类别,上述样例中点云的点数为23,则此字段会有23个字符,每个字符分别代表一个点的类别。字符具体表示的类别可以根据labels- > polygon_3d_v2- > ascii_char和labels- > name找到。

用来表示点类别的ascii码包括:

['!', '"', '#', '$', '%', '&', "'", '(', ')', '*', '+', ',', '-', '.', '/', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ':', '。', '<', '=', '>', '?', '@', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '[', '\\', ']', '^', '_', '`', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '{', '|', '}', '~'],此外空字符(' ')表示未标注的类别。

必须字段样例

数据集可视化

3D立方体框类的“.json”文件中必须包含label_counts和labels字段信息。3D语义分割类的“.json”文件中必须包含label_counts,labels和labels_ext字段信息。3D语义分割类的“.json”文件中必须包含label_counts和labels,labels_ext字段有无取决于是否有关系标注信息。

创建标注任务

3D立方体框类的“.json”文件中必须包含label_counts和labels字段信息。3D语义分割类的“.json”文件中必须包含label_counts,labels和labels_ext字段信息。3D地图类的“.json”文件中必须包含label_counts、labels,labels_ext字段有无取决于是否有关系标注信息。

如果使json文件中已有的标注信息在平台上直接展示,label_counts里面的标注物名称、描述、形状、额外属性需要和创建任务使用的平台标签信息保持一致。

3D立方体框示例如下:
{"label_counts": [
   #各类标注物的个数统计
        {
          "label_meta_id": 5414,
          #标注物使用的标签ID, 
          "label_num": 1,
          #标注物个数 
          "label_meta_name": "Car",
          #标签名称
          "label_meta_desc": "自采目标识别",
          #标签描述
          "label_meta_attr": "{\"优先级\":\"0,1\"}",
          #标签额外属性
          "label_meta_shape": "cube_3d",
          #标签形状
           "label_meta_color": "#d0021b"
          #标签颜色
          }
  ],
  "labels": [
  #标注物信息
    {
      "label_meta_id": 5414,
      #标注物对应的标签ID
      "name": "Car",
      #标注物名称
      "shape_type": "cube_3d",
      #标注物形状:3D立体框
      "attribute": "",
      #标注物属性
      "label_meta_name": "Car",
      "serial_number": 0,
      #该帧中标注物唯一自增id	
      "cube_3d": {
        "rotation": {
        #3D框旋转角
          "x": 0.0,
          "y": 0.0,
          "z": 1.53980839
        },
        "serial_number": 2,
        #标注物合成对象的唯一自增id,如果标注物之间没有合成则与serial_number保持一致,追踪任务中同一物体在不同帧中此字段相同
        "location": {
        #3D框中心点坐标
          "x": 0.6671804785728455,
          "y": 15.472203254699707,
          "z": -1.1619998216629028
        },
        "attribute":  "{\"优先级\":\"1\"}",
        "dimensions": {
        #3D框长宽高
          "length": 4.557755470275879,
          "width": 2.0348410606384277,
          "height": 1.4403225183486938
        }
      }
    }
  ]
}
3D语义分割示例如下:
{
  "label_counts": [
    {
      "label_meta_id": 1853,
      "label_num": 1,
      "label_meta_name": "truck",
      "label_meta_desc": "v0504",
      "label_meta_attr": "{\"优先级\":\"0,1\"}",
      "label_meta_shape": "polygon_3d_v2",
      #标签形状
      "label_meta_color": "#f8e71c"
    },
    {
      "label_meta_id": 1854,
      "label_num": 1,
      "label_meta_name": "car",
      "label_meta_desc": "car0504",
      "label_meta_attr": "{\"优先级\":\"0,1\"}",
      "label_meta_shape": "polygon_3d_v2",
      "label_meta_color": "#7ed321"
    }
  ],

  "labels": [
  #标注物信息
    {
      "label_meta_id": 1854,
      #标注物对应的标签ID
      "polygon_3d_v2": {
      #该类标注物使用的符号
        "ascii_char": "$"
      },
      "name": "car",
      #标注物名称
      "shape_type": "polygon_3d_v2",
      #标注物形状
      "attribute": "",
      #标注物属性
      "label_meta_name": "car"
    },
    {
      "label_meta_id": 1853,
      "polygon_3d_v2": {
        "ascii_char": "#"
      },
      "name": "truck",
      "shape_type": "polygon_3d_v2",
      "attribute": "",
      "label_meta_name": "truck"
    }
  ],
  "labels_ext": {
  #该帧点云每个点的类别,和labels中polygon_3d_v2->ascii_char对应
    "ascii_string":"   $$$$$          #####"   
  }
}

相关文档