whrenstone / Labelbox

The most versatile labeling tool for machine learning

Home Page:https://www.labelbox.io/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Labelbox

Labelbox is a cloud based data labeling tool designed for enterprises for machine learning applications.

Benefits of using Labelbox

  • Simple Image Labeling: Labelbox makes it really easy to do basic image classification or segmentation tasks. To get started, simply upload your data or a CSV file containing URLs of data that is already hosted in a cloud, select an image classification or segmentation labeling template, invite collaborators and start labeling.

  • Label just about anything: Not only are Labelbox templates open source, you can build your own templates using Labelbox.js. Build your own custom labeling template to label any kind of data as long as it can be loaded in a browser

  • Manage Teams: Ready for your team, no matter the size. Labelbox streamlines your workflows, from micro labeling projects for quick R&D to production grade projects requiring hundreds of collaborators

  • Monitor Performance: Maintain the highest quality standards for your data by keeping track of labeling task performance of individuals and teams

Overview

All labeling tasks share the theme of "data in labels out". This repo contains a set of highquality labeling frontends to aid in many data labeling projects.

           -----------------------
           |                     |
           |                     |
           |                     |
Data -->   |  Labeling Frontend  |   --> Label
           |                     |
           |                     |
           |                     |
           -----------------------

Please see labeling frontend templates for templates relevant to your labeling task.

Once you've found a template for your job you can either host and manage the data labeling yourself or deploy your frontend to our hosting service at (labelbox.io)[https://www.labelbox.io/].

Labelbox Frontend Templates

Image Classification

Code Here

Image Segmentation

Code Here

Text Classification

Code Here

Using labeling-api.js

To develop a Labelbox frontend, import labeling-api.js and use the 2 APIs described below to Fetch and Submit an individual dataset row. Note that multiple data can be loaded in a single Fetch if a row in CSV file contains an array of data.

Attach the Labelbox's client side api.

<script src="https://api.labelbox.io/client/v0.1/labeling-api.js"></script>

Get a row to label

Labelbox.fetchNextAssetToLabel().then((dataToLabel) => {
  // ... draw to screen for user to view and label
});

Save the label for a row

Labelbox.setLabelForAsset(label); // labels the asset currently on the screen

Full Example

Full Example

<script src="https://api.labelbox.io/client/v0.1/labeling-api.js"></script>
<div id="form"></div>
<script>
function next(label){
  if (label) {
    Labelbox.setLabelForAsset(label);
  }
  Labelbox.fetchNextAssetToLabel().then(drawItem);
}

function drawItem(dataToLabel){
  const labelForm = `
    <img src="${dataToLabel}" style="width: 300px;"></img>
    <div style="display: flex;">
      <button onclick="next('bad')">Bad Quality</button>
      <button onclick="next('good')">Good Quality</button>
    </div>
  `;
  document.querySelector('#form').innerHTML = labelForm;
}

next();
</script>

Local Labeling Frontend Development

Run localhost server

  1. Start the localhost server in a directory containing your labeling frontend files. For example, run the server inside labelingfrontend if you have index.html (labeling frontend) inside it.
python2 -m SimpleHTTPServer
  1. Copy file path to the main HTML file. Following the example above, it would look like localhost:8000/index.html

  2. Paste the path of labeling frontend under Custom Labeling Interface for an existing project.

Installing Labeling Frontend in Labelbox.io

At Labelbox, we are fan of https://zeit.co/now for cloud deployment.

Install Now

Create an account at Zeit, download and install Now here: https://zeit.co/download

Deploy labeling frontend

In terminal, go to your labeling frontend directory and type: now and copy the link.

Add labeling frontend to your Labelbox project

Paste the link under custom labeling interface tab, as shown in the video below. Now you are ready to label data with your team using the custom frontend.

Request Features

Have a feature request or you'd like us to make a labeling template for you?

Create an issue here: https://github.com/Labelbox/Labelbox/issues or contact us at support@labelbox.io

About

The most versatile labeling tool for machine learning

https://www.labelbox.io/

License:MIT License


Languages

Language:TypeScript 68.4%Language:JavaScript 21.8%Language:HTML 6.3%Language:CSS 3.6%