Deepen AI - Enterprise
Deepen AI
  • Deepen AI Overview
  • FAQ
  • Saas & On Premise
  • Data Management
    • Data Management Overview
    • Creating/Uploading a dataset
    • Create a dataset profile
    • Auto Task Assignments
    • Task Life Cycle
    • Tasks Assignments
    • Creating a group
    • Adding a user
    • Embed labeled dataset
    • Export
    • Export labels
    • Import Labels
    • Import profile
    • Import profile via JSON
    • Access token for APIs
    • Data Streaming
    • Reports
    • Assessments
  • 2D/3D editors
    • Editor Content
    • AI sense (ML-assisted labeling)
    • Assisted 2d Segmentation
    • Scene Labeling
  • 2D Editor
    • 2D Editor Overview
    • 2D Bounding Boxes
    • 2D Polyline/Line
    • 2D Polygon
      • 2D Semantic/Instance Segmentation
        • 2D Segmentation (foreground/background)
    • 2D Points
    • 2D Semantic Painting
      • Segment Anything
      • Propagate Labels in Semantic Segementation
      • 2D Semantic Painting/Segmentation Output Format
    • 3D Bounding boxes on images
    • 2D ML-powered Visual Object Tracking
    • 2D Shortcut Keys
    • 2D Customer Review
  • 3D Editor
    • 3D Editor Overview
    • 3D Bounding Boxes — Single Frame/Individual Frame
    • 3D Bounding Boxes_Sequence
    • 3D Bounding Boxes Features
      • Label View
      • One-Click Bounding Box
      • Sequence Timeline
      • Show Ground Mesh
      • Secondary Views
      • Camera Views
      • Hide/UnHide Points in 3D Lidar
    • 3D Lines
    • 3D Polygons
    • 3D Semantic Segmentation/Painting
    • 3D Instance Segmentation/Painting
    • Fused Cloud
    • 3D Segmentation (Smart Brush)
    • 3D Segmentation (Polygon)
    • 3D Segmentation (Brush)
    • 3D Segmentation (Ground Polygon)
    • 3D Painting (Foreground/Background)
    • 3D Segmentation(3D Brush/Cube)
    • Label Set
    • 3D Shortcut Keys
    • 3D Customer Review
  • 3D input/output
    • JSON input format for uploading a dataset in a point cloud project.
    • How to convert ROS bag into JSON data for annotation
    • Data Output Format - 3D Semantic Segmentation
    • Data Output Format - 3D Instance Segmentation
  • Quality Assurance
    • Issue Creation
    • Automatic QA
  • Calibration
    • Calibration
    • Charuco Dictionary
    • Calibration FAQ
    • Data Collection for Camera intrinsic Calibration
    • Camera Intrinsic calibration
    • Data Collection for Lidar-Camera Calibration (Single Target)
    • Lidar-Camera Calibration (Single target)
    • Data Collection for Lidar-Camera Calibration (Targetless)
    • Lidar-Camera Calibration (Targetless)
    • Data Collection for Multi Target Lidar-Camera Calibration
    • Multi Target Lidar-Camera Calibration
    • Lidar-Camera Calibration(Old)
    • Vehicle-Camera Calibration
      • Data Collection for Vehicle-Camera Calibration
      • Vehicle Camera Targetless Calibration
      • Data collection for lane based targetless vehicle-camera calibration
      • Lane based Targetless Vehicle Camera Calibration
    • Data Collection for Rough Terrain Vehicle-Camera Calibration
    • Rough Terrain Vehicle-Camera Calibration
    • Calibration Toolbar options
    • Calibration Profile
    • Data Collection for Overlapping-Camera Calibration
    • Overlapping-Camera Calibration
    • Data collection guide for Overlapping Camera Calibration (Multiple-Targets)
    • Overlapping Camera Calibration (Multiple-Targets)
    • Data Collection for Vehicle-3D Lidar calibration
    • Data Collection for Vehicle-2D Lidar calibration
    • Vehicle Lidar (3D and 2D) Calibration
    • Data Collection for Vehicle Lidar Targetless Calibration
    • Data Collection for IMU Lidar Targetless Calibration
    • Vehicle Lidar Targetless Calibration
    • Data Collection for Non Overlapping Camera Calibration
    • Non-Overlapping-Camera Calibration
    • Multi Sensor Visualization
    • Data Collection for LiDAR-LiDAR Calibration
    • LiDAR-LiDAR Calibration
    • Data Collection for IMU Intrinsic calibration
    • IMU Intrinsic Calibration
    • Data Collection for Radar-Camera Calibration
    • Radar-Camera Calibration
    • Data Collection for IMU Vehicle calibration
    • Lidar-IMU Calibration
    • IMU Vehicle Calibration
    • Data Collection for vehicle radar calibration
    • Vehicle radar calibration
    • Calibration Optimiser
    • Calibration list page
    • Data collection for rough terrain vehicle-Lidar calibration
    • Rough terrain vehicle Lidar calibration
    • Surround view camera correction calibration
    • Data Collection for Surround view camera correction calibration
    • Data Collection for Lidar-Radar calibration
    • Lidar Radar Calibration
    • Vehicle Lidar Calibration
    • API Documentation
      • Targetless Overlapping Camera Calibration API
      • Target Overlapping Camera Calibration API
      • Lidar Camera Calibration API
      • LiDAR-LiDAR Calibration API
      • Vehicle Lidar Calibration API
      • Global Optimiser
      • Radar Camera Calibration API
      • Target Camera-Vehicle Calibration API
      • Targetless Camera-Vehicle Calibration API
      • Calibration groups
      • Delete Calibrations
      • Access token for APIs
    • Target Generator
  • API Reference
    • Introduction and Quickstart
    • Datasets
      • Create new dataset
      • Delete dataset
    • Issues
    • Tasks
    • Process uploaded data
    • Import 2D labels for a dataset
    • Import 3D labels for a dataset
    • Download labels
    • Labeling profiles
    • Paint labels
    • User groups
    • User / User Group Scopes
    • Download datasets
    • Label sets
    • Resources
    • 2D box pre-labeling model API
    • 3D box pre-labeling model API
    • Output JSON format
Powered by GitBook
On this page
  • Introduction
  • Quickstart
Export as PDF
  1. API Reference

Introduction and Quickstart

PreviousTarget GeneratorNextDatasets

Last updated 4 months ago

Introduction

To add a dataset (submit a new labelling job), you first need to obtain a client id and auth token from deepen team. A dataset here represents a logical labelling job and encapsulates all the labelling requirements. At the dataset level, you need to specify what you are interested in labelling (for example:2d bounding boxes, lanes, polygons, 3d bounding boxes, 3d segmentation etc), called label types. For each label type, you then need to specify the categories of labels/objects (for example bus, car, truck, pedestrian) and attributes (for example occlusion, direction) that you are interested in labelling. You can create one or more datasets inside the client that get labelled as per the labelling requirements specified at the dataset level.

Quickstart

Obtain a client id and auth token from Deepen AI. If you are a client admin, you can also create different Access Tokens using the UI and use those instead. These are required in all API calls. Client Id is part of the path parameters in most of the API calls and the auth token should be prefixed with “Bearer “ and must be passed as the value of the ‘Authorization’ header in all API requests.

Create a zip file of the images/json to be uploaded as part of the first dataset. We need the exact size of the zip file to create a new dataset. On Linux, you can use the following command to get the exact bytes in a zip file.

ls -l <path to zip file> | awk '{print $5}'

Run the following command to create a new dataset

$ curl -X POST https://tools.deepen.ai/api/v2/clients/{client_id}/datasets -H 'Authorization: Bearer <token>' -H 'Content-Type: application/json' -d '{"dataset_name" : "test_api_dataset", "dataset_type":"3d", "labelling_mode":"frame_by_frame", "dataset_format":"default", "files": [{"file_size" : 14309374, "file_type":"application/zip"}] }'

Please note that “dataset_format”: ”json” along with “dataset_type”: ”3d” will be used to upload 3D LiDAR data in JSON format. For image datasets, “dataset_type” needs to be “images”, we do not need “dataset_format” for “images”. The response will have a resumable upload url and dataset id to which the zip file needs to be uploaded.

Run the following command to upload the zip file.

$ curl -v -X PUT -H 'Expect:' --upload-file '<path to zip file>' '<resumable upload url>'

You can also follow the google cloud storage documentation at to upload the zip file in multiple chunks.

Once the dataset zip file is uploaded, you need to call the process uploaded data api to process the zip file and make it ready for labelling. Here “file_name” will be “json_data.zip” for 3d with dataset_format as json and “data.zip” for 2d dataset_type.

$ curl -X POST https://tools.deepen.ai/api/v2/datasets/{datasetId}/process_uploaded_data -H 'Authorization: Bearer <auth token>' -H 'Content-Type: application/json' -d '{"file_name": "3d_data.zip"}'

Run the following command to check the status of the dataset.

$ curl -X GET https://tools.deepen.ai/api/v2/datasets/{datasetId} -H 'Authorization: Bearer <auth token>' { "dataset_id":"{dataset_id}", "client_id":"{client_id}", "dataset_format":"default", "dataset_name":"test_api_dataset_2", "dataset_type":"3d", "labelling_mode":"frame_by_frame", "processing_status":"files_getting_labelled", "pipeline_stage_status":{"Labelling":{"done":0,"failed":1,"in_progress":0,"ready":9,"waiting":0},"QA":{"done":0,"failed":0,"in_progress":0,"ready":0,"waiting":10}}, "pipeline_status":{"Labelling":0,"QA":0,"__ALL_STAGES_DONE":0,"__TOTAL":10}}

If the dataset is successfully preprocessed, you should see the processing_status as files_getting_labelled. Once the dataset is successfully preprocessed, you can see the files in the dataset with the following command.

$ curl -X GET https://tools.deepen.ai/api/v2/datasets/{datasetId}/files -H 'Authorization: Bearer <auth token>'

{ "files": [ { "client_id": "{clientId}", "dataset_id": "{datasetId}", "file_id": "000009.png", "status": "labelling_in_progress" }, {

"client_id": "{clientId}", "dataset_id": "{datasetId}", "file_id": "000019.png", "status": "labelling_in_progress" }, {

"client_id": "{clientId}", "dataset_id": "{datasetId}", "file_id": "inner_kitty/000059.png", "status": "labelling_in_progress" }, { "client_id": "{clientId}", "dataset_id": "{datasetId}", "file_id": "inner_kitty/000069.png", "status": "labelling_in_progress" } ] }

Get the labelling status of a particular file using the following command

$ curl -X GET https://tools.deepen.ai/api/v2/datasets/{datasetId}/files/000019.png -H 'Authorization: Bearer <auth token>'

{ "client_id": "{clientId}", "dataset_id": "{datasetId}", "file_id": "000019.png", "status": "labelling_in_progress", }

Get the current labels of a file with the following command

curl -X GET https://tools.deepen.ai/api/v2/datasets/{datasetId}/files/000019.png/labels -H 'Authorization: Bearer <auth token>'

{ "labels": [ { "file_id": "000019.png", "label_category_id": "bus", "label_id": "bus:1", "label_type": "box", "attributes": { "attribute2": "attribute2_value1", "attribute1": "attribute_value1" }, "box": [366, 87, 174, 116], }, { "file_id": "000019.png", "label_category_id": "white double solid", "label_id": "white double solid:1", "label_type": "lane", "attributes": {}, "labeller_email": "{clientId}@deepen.ai", "polygons": [[[338, 330], [460, 253], [567, 179], [773, 91], [ 862,59]]] } ] }

Get all the labels of a dataset using the following command

curl -X GET https://tools.deepen.ai/api/v2/datasets/{datasetId}/labels -H 'Authorization: Bearer <auth token>'

https://cloud.google.com/storage/docs/json_api/v2/how-tos/resumable-upload