Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Choosing the right label type for your image annotation project is important. Classification tags will maximize your labeling productivity, while polygons will boost your AI performance and bounding boxes may be for some an acceptable compromise.
Good news, check the Auto polygons tool which creates a polygon by simply adding a bounding box.
LabelFlow supports the following labeling types:
Image classification
Bounding boxes
Polygons
Auto polygons (a polygon generated from a bounding box)
You can read more about the different label types on our dedicated post:
The classification label type is the simplest and quickest way to label images. As opposed to the bounding box and polygon label types, the classification type doesn't have an associated geometry within the image. This label type simply consists of a general label for the entire image.
These are the simple steps you need to take to make a classification label:
Select the small arrow on the drawing tool on the left and select the classification tool
Click on the label box in the top left of the image or right-click on the image to select/add its class
It's that easy!
Check out the shortcuts page to find out how to increase your productivity!
A bounding box is the simplest type of label that is defined by just two points.
These are the simple steps you need to take to make a bounding box label:
Select the bounding box tool on the left
Click on the outermost edge of the subject of the label
Click the opposite edge of the object to create a rectangle covering the subject
Right-click on the label to select/add its class
You can move and resize the bounding box to make changes after it is created
Select and drag a vertex to its correct position
Click anywhere in the label to drag it to the correct position
The polygon label type is defined by several vertices, which allows the user to accurately label complex shapes.
By definition, polygon labels are closer in shape to the subject of the label than a simple bounding box.
These are the simple steps you need to take to make a polygon label:
Select the small arrow on the drawing tool on the left and select the polygon tool
Click on the outermost edge of the subject of the label
Follow the edges of the subject and select the vertices of the polygon
When you are finished click on the vertex near the pointer and the polygon will be created
Right-click on the label to select/add its class
You can create vertices and move existing ones to change the shape and size of the polygon!
Add vertices to the polygon by selecting an edge and dragging the vertex that appears
Select and drag an existing vertex to move it
Let us take the case that you are making an AI model that identifies rhinos from an image for wildlife protection services. You need to train your model with high-quality labeled images so you can produce an effective tool against poaching. These are the steps you can follow to get prepare the high-quality labeled images.
The first step is to gather a dataset of images containing rhinos.
Press “Add images” and you drop all the images that you will label for this project. You can drag and drop the images onto the screen or paste the URL to your database. You can also drop the URL to your database if your images are on the cloud.
It will lead you to a gallery where you can see all your pictures.
Select the image you would like to label first and away we go!
Select the bounding box tool and click on the edges of the Rhinos you would like to label. Two guiding lines will be available to help you select the edges. Right-click on the bounding box to specify the class of the label. Labels are colored by class for convenience.
Select the small arrow on the drawing tool and choose the polygon tool. Draw a polygon around the rhino and adjust the vertices at the end by dragging them.
Navigate between your images by simply choosing the next image you would like to label or clicking the small arrows at the bottom left. You can also use the left and right arrow keys.
Click on the keyboard icon on the top right to see the complete list of shortcuts
Labels can overlap, intersect or encompass other labels. Zoom in on your images by using the top right button or by using the trackpad. Create as many label classes as you need.
Once you've finished, select the export tool on the top right.
Select your desired file type and it will download to your device.
Now you are ready to train your AI model! It’s that easy! 👌
The beginner's guide to the image labelling annotation tool LabelFlow
At LabelFlow we are on a mission to build GitHub for Visual Data. We first started building an open source image labeling platform focused on user experience. We are now working on more advanced features to manage datasets and allow you build the next big thing with AI ! You can find the code on , feel free to ping us as well, there are impactful contributions to bring to the project.
Navigate to and you will be welcomed with this interface. Press “Start Labeling”. Click on “Create new dataset” and give your dataset a name. Now press “Start Labeling” and enter your dataset.
A small pop-up will appear with information about the number of labels and will prompt you to specify the export format, such as .
After 5 years building , an AI-powered platform for the energy space helping to identify hazards on power grids and wind turbines, LabelFlow founding team figured out that it was possible to bring AI to scale in complex use cases. It usually brings better reliability, more productivity and hence a better user experience but this has a price and there is no secret sauce: the dataset must be large, homogeneous, and accurately labeled. Machine Learning models performance mainly comes from the quality of the datasets, less from the model itself.
Head on over to and let us take a test case to see how you can leverage LabelFlow to bring your machine learning models to scale today.
Once you have created a label for your object, you may want to change its shape, size, location, or class.
Right-click on the label and select the appropriate class from the pop-up menu.
You can also press the number next to the class name on your keyboard to select that class
Select and drag a vertex to move it to correct the shape and size of the label.
If the label you are editing is a polygon, it is possible to add additional vertices to it.
Simply select an edge and drag the vertex that appears on your chosen position.
Click anywhere inside the label and drag it to another position
The Auto polygon tool allows you to boost your labeling productivity.
You create a bounding box around the object you wish to label and an AI automatically transforms this bounding box into a precise polygon around your object.
Click on the polygon you want to edit
You can now drag any points on the contour to adjust the polygon geometry
This edition mode is also illustrated in the above video.
Each labeling project has its own dataset which is a collection of images that are prepared to be labeled. You can view all the images in your dataset on the Images tab of your project.
You can add images to your dataset by clicking the "add images" button on the top right of the images page.
When you create a new project, you are greeted with the suggestion to add images to your dataset.
You can refine the automatically generated polygons by simply moving the target keypoint and/or adding inside keypoints and outside keypoints .
This is as simple as moving the target keypoint and/or doing a click inside or outside the created polygon.
Target keypoint. It must always be on the object you wish to label. Else move it on the object.
Outside keypoint. A click inside the polygon will add an outside keypoint and exclude this area from the polygon label.
Inside keypoint. A click outside the polygon will add an inside keypoint and include this area to the polygon label.
Always start by moving the target keypoint to another position on the object if the generated polygon is not good enough. Only after adjusting the target keypoint should you start adding inside and outside keypoints.
Click on to activate the selection mode (or press v
for the shortcut)
Select the polygon edition mode (next to the class selection menu in the top left). You can press e
to switch between both edition modes.
There are many shortcuts in LabelFlow you can take advantage of to optimize your productivity. Click on the keyboard icon on the top right to see the complete list of shortcuts
Press v
to activate the selection tool
Press b
to select the bounding box tool
Press p
to select the polygon tool
Press k
to select the classification tool
Press a
to select the Auto-Polygon tool
Press i
to select the AI Assistant tool and r
to run the AI Assistant
Press c
to change the class of the currently selected label
Press del
or Backspace
to delete the selected label
Press from 0
to 9
to select the corresponding class for the selected label
Press /
or f
to search for labels in the label class selection
Press ⬅️ Left arrow key to navigate to the previous image
Press ➡️ Right arrow key to navigate to the next image
Press Esc
to cancel current action
Press ctrl + z
or cmd + z
to undo last action
Press ctrl + y
, ctrl + shift + y
, cmd + y
, or cmd + shift + z
to redo last action
The AI Assistant tool assists (...) you in the labelling process! Each Assistant is an AI trained on a specific task.
For now there are 2 general purpose AI Assistants (more will come, vote below!).
DETR - COCO an object detection AI Assistant trained across 80 classes. More here.
ViT - ImageNet an image classification AI Assistant trained across 1000 classes. More here.
As we are launching this new feature and we want to collect your feedbacks, every plans (Community, Starter, Pro) have access to the current AI Assistants.
Productivity tip
From the labeling view: press the i
key to select the AI Assistant tool and r
to run the AI Assistant.
If you have specific needs in terms of AI Assistants, upvote or add your own request here ⬇️
The DEtection TRansformer (DETR) model was trained by Facebook on the (118,000 images) and is hosted by Hugging Face. You can find its complete description card .
DETR - COCO AI Assistant outputs by default bounding boxes around the detected objects. If the detected object class does not exist in the dataset, the AI assistant will create it.
It is possible to transform a bounding box into a polygon by selecting the Post-process option. Note that the inference time will be slightly longer by selecting this option.
DETR - COCO AI Assistant is able to detect 90 different classes of objects (some better than others we must say...!)
A class is a category in which labels are classified. It helps group similar labels together, which is essential for any labeling project. A class is defined by its name and has its own color to help differentiate it from the others.
When you create a new labeling project, it comes with the default class "None". These are the simple steps you need to take to create more labels
Right-click on an existing label
Click on the search field and write the name of the new class
Press enter or click on the button that says "Create class [New_Class] "
You can easily import classes to a new dataset from an existing dataset.
In your existing dataset having the classes you wish to copy
Click on Export
Select the COCO export format, and activate the option Avoid image names collision
In your new dataset
Click on Add Images
Drag and drop the COCO export file created at step 1
The classes tab in your project space shows all the information about all the classes in your project. The total number of classes is also visible to help you, as well as the number of occurrences for each class. Furthermore, this screen details the keyboard shortcuts that can be used to quickly select the appropriate class.
You can change the name of a class by selecting the edit icon and giving your class a new name.
You can also delete a class and all labels associated with it will be classified as "None".
LabelFlow can accommodate complex taxonomies, allowing users to manage very specific use cases.
The use of the /
to separate classes and subclasses is widely used and easily comprehensible: Class/Subclass1/Subclass2
An example schema could be: Object/Material/Defect
for infrastructure inspections, or even Object/Type/Material/Defect
.
Using this methodology to manage complex taxonomies and use-cases allows for the classes to be easily interpreted once exported.
Online workspaces allow users to collaborate by uploading images to LabelFlow's secure servers, unlocking new levels of productivity. Sign up to use these collaborative tools for free now.
By default, LabelFlow users have one local or offline workspace, where they can label and export their datasets from their computers without ever having to sign in.
Signing in to LabelFlow allows users to create unlimited online workspaces, upload their images to LabelFlow's secure servers and collaborate with teammates. Here's a brief walkthrough of the new Workspace feature.
There are 2 ways to import your images
There are two ways to import images and labels to your dataset.
Import Images from files. Simply Drag and drop the files in the uploader.
Online workspaces allow users to collaborate by uploading images to LabelFlow's secure servers, unlocking new levels of productivity. Sign up to use these collaborative tools for free now.
Vision Transformer (ViT) model was pre-trained by Google on ImageNet-21k (14 million images, 21,843 classes), and fine-tuned on ImageNet 2012 (1 million images, 1,000 classes). The model is hosted by Hugging Face and you can find its complete description card here.
ViT - ImageNet performs image classification, it add tags corresponding to the detected object onto the image. If the detected object class does not exist in the dataset, the AI assistant will create it.
ViT - ImageNet AI Assistant is able to detect 1000 different classes of objects (some better than others we must say...!).
Online workspaces allow users to collaborate by uploading images to LabelFlow's secure servers, unlocking new levels of productivity. Sign up to use these collaborative tools for free now.
Online Workspaces can be shared with teammates, unlocking new levels of productivity through collaboration.
Simply enter your teammates' email addresses to add them to the workspace.
Users invited to a workspace have access to all of its datasets, so be mindful of who you invite
Don't hesitate to create multiple workspaces for different teams and projects
One email address per line when inviting new members
For now, all invitees are given the Owner role, giving them the ability to edit & delete datasets as well as update the plan, payment methods and billing information. More roles will be added in the near future.
Head over to our feedback page to let us know what roles you'd like to see on LabelFlow, and vote on other new features.
Online workspaces allow users to collaborate by uploading images to LabelFlow's secure servers, unlocking new levels of productivity. Sign up to use these collaborative tools for free now.
The settings tab is where you'll be able to update your workspace's name, your plan and also delete your workspace.
You can change the name of your workspace from the settings tab. Making modifications to the name will also automatically update the Avatar, which helps to quickly identify specific workspaces.
You'll also be able to consult and update your current plan, payment methods and billing information from the settings tab to match your needs.
LabelFlow offers plans ranging from 1000 images hosted for free, up to 50,000 images. For needs above 50,000 hosted images, feel free to contact the team on our Discord server to discuss the options or by email contact@labelflow.ai .
This is what we call the Danger Zone. You can delete a workspace along with all of its data from the settings tab. In order to delete the workspace for good, you will be prompted to type the workspace's name to avoid any potential accidents.
Deleting the Workspace workspace will delete all of its images and labels
The workspace plan will be canceled
Every member will lose access to the workspace
Simply drag and drop the image files in the image uploader
These are the simple steps you should follow to import from your computer:
Press the Add images button on the top right
Drag and drop your images and/or folders.
Select Start Labeling once the import is finished
It's that easy. 🔥👌
You can also import 🖊 annotations in the COCO format, it's explained here.
Simply paste the image URLs in the Image uploader
These are the simple steps you should follow to import from your database:
Press the Add images button on the top right
Select Import from a list of URLs instead button
Copy and paste the image URLs
Select Start Import
It's that easy. 🔥👌
LabelFlow can ingest Labels in the COCO format into a dataset. For that you must drop a COCO .json file in the uploader. The COCO .json file contains the annotations of your dataset images.
Open an existing dataset or create a new one
First import your images
Press the Add images button on the top right
Drag and drop your images in the uploader
Select Start Labeling once the import is finished
Second import your annotations
Press the Add images button again
Drag and drop your annotation file in the COCO format
Select Start Labeling once the import is finished
It's that easy. 🔥👌
This feature allows you to share a dataset with someone: from LabelFlow export the dataset in COCO format, your colleague can then import the annotation file in a new dataset.
COCO is a file format for object detections within an image. It describes the boundaries and attributes of labels inside an image which makes it perfect as an input for training AI models.
Once you are finished with your labeling project, select the export tool on the top right.
A small pop-up will appear with information about the number of labels and prompts you to specify the export format. Select the file type and it will download your labels in the COCO format.
As an option, you can export the images together with the COCO detection file in a zip file.
Note that it may take several minutes ⏱ when you export the images of a large dataset (1000+ images).
How to migrate a dataset to another workspace
Let's imagine you want to move a dataset from a workspace that we'll call old-workspace
to new-workspace
. For now you'll need to export your dataset in the COCO format and import them back into the new workspace.
Go to your old workspace https://labelflow.ai/old-workspace
Open the dataset you wish to migrate
Click on Export in the top right
Select the COCO format
In the displayed options, choose to export the annotations only, it will save a JSON file to your computer
Name your workspace (it has to be unique across the entire LabelFlow community)
Sign-in if you are not already signed-in
new-workspace
Create a new dataset. This dataset is hosted in your new-workspace
.
Make sure you have selected your new-workspace
in the workspace switcher (see above)
Click on the dataset card to open the image gallery view
Click on the Add images button
Click on Add images a 2nd time and drop the COCO (.json) annotation file you have exported at step 1.
You should repeat this operation for every dataset you wish to migrate.
You Only Look Once, or YOLO is a widely used labeling format, where a .txt file is created for each image file in the same directory. Each .txt file contains the annotations for the corresponding image file, that is object class, object coordinates, height, and width.
Once you are finished with your labeling project, select the export tool on the top right.
A small pop-up will appear with information about the number of labels and prompts you to specify the export format. Select the YOLO file type and it will download your labels in the YOLO format.
As an option, you can export the images together with the YOLO detection file in a zip file.
Note that it may take several minutes ⏱ when you export the images of a large dataset (1000+ images).
Online workspaces allow users to collaborate by uploading images to LabelFlow's secure servers, unlocking new levels of productivity. Sign up to use these collaborative tools.
You can also import 🖊 annotations in the COCO format, .
Click on Create workspace
by opening the workspace switcher (top left - or )
You now have an online workspace in the workspace switcher. Select it.
Start by uploading the images you had in your old-workspace
dataset you have exported at . Once done, close the import modal to come back to the image gallery view.
That's it . Click on your images, your annotations and the classes have been imported.
The LabelFlow Graph API is available at the following URL: https://labelflow.ai/graphiql. It allows front-end applications to access all LabelFlow back-end services in a unified way. The Graph API is a gateway to LabelFlow services.
The Graph API uses the GraphQL query language, at modern, open specification initiated by Facebook but now used by a large part of the Web, as a successor to REST APIs. The specification and documentation for GraphQL can be found at https://graphql.org/.The Graph API is implemented over HTTPS, in practice, most tools made for REST APIs are compatible with GraphQL APIs out of the box.
The API is available as a GraphQL API over HTTPS. All communications with the API are encrypted and secured using state-of-the-art standards. The API is used by LabelFlow's own applications. It is open to integration with customers' IT systems.
Discover our discord server! The place where you can interact with the LabelFlow community and its developers.
The CSV export format lists the labels contained in your dataset. Note that the polygon and classification labels are exported as bounding boxes.
You'll find several columns for every label:
imageId
: a unique identifier for every image
imageName
: speaks for itself...!
width
: width of the image in pixel
height
: height of the image in pixel
class
: name of the label class
xmin
, ymin
, xmax
, ymax
: bounding box coordinates in pixel of its top left corner and bottom right corner
imageURL
: link to the image stored in LabelFlow
For security reasons, the image URL is valid for 7 days only. You can generate a new CSV export at any time to reset the validity dates of the URLs.
LabelFlow GraphQL playground is the best way to get started with the API. Just connect to https://labelflow.ai/graphiql using any modern web browser, and get started. The interface should look like something like this.
As the images on LabelFlow are stored locally only, there is no authentication needed. All queries and mutations will be done on a database stored locally in your browser.
Let’s write a graphQL query which asks for the ids, names, and dataset id of the first 10 images you have access to:
You can now run the query by pressing the ▶️“Run Query Button” in the top left of the screen. You should see the response appear on the right side of the screen.
Our Graph API is self-documented. You can access all the documentation in the GraphQL playground. There are several ways to benefit from the documentation:
Automatic autocompletion of your queries
Manual autocompletion of your queries, triggered by pressing CTRL-SPACE when writing a query in the query area
Schema documentation, using the “Schema” Button on the right side of the screen.
Here is a screenshot showcasing both Autocompletion (on the left side, in the query area), and the schema documentation (on the right side, in the sidebar). Our API is based on the principle of OpenCrud (https://github.com/opencrud/opencrud).