Skip to content

Segment Annotation Formats

angelxuanchang edited this page Jan 13, 2018 · 1 revision

Input

The input to the segment labeler is a surface mesh (e.g. ply file) along with a surface mesh segmentation with the following format:

Surface mesh segmentation file (*.segs.json):

{
  "params": {  // segmentation parameters
   "kThresh": "0.0001",
   "segMinVerts": "20",
   "minPoints": "750",
   "maxPoints": "30000",
   "thinThresh": "0.05",
   "flatThresh": "0.001",
   "minLength": "0.02",
   "maxLength": "1"
  },
  "sceneId": "...",  // id of segmented scene
  "segIndices": [1,1,1,1,3,3,15,15,15,15],  // per-vertex index of mesh segment
}

Output

Aggregated semantic annotation file (*.aggregation.json):

To retrieve from database: http://localhost:8010/scans/segment-annotations/aggregated?annId=6415

{
  "sceneId": "...",  // id of annotated scene
  "appId": "...", // id + version of the tool used to create the annotation
  "segGroups": [
    {
      "id": 0,
      "objectId": 0,
      "segments": [1,4,3],
      "label": "couch",
      "obb": {
        "centroid": [1.94,1.36,0.81],
        "axesLengths": [2.26,1.36,1.82],
        "normalizedAxes": [-0.10,1,0,0,0,1,1,0.01,0]
      },
      "dominantNormal": [0,0,1]
    },
    ...
  ],
  "segmentsFile": "..." // id of the *.segs.json segmentation file referenced
}

Raw semantic annotation records

See Segment Annotation Data Model for more details on the data model and example raw semantic annotation records.

Clone this wiki locally