A web based labeling tool for creating AI training data sets (2D and 3D). The tool has been developed in the context of autonomous driving research. It supports images (.jpg or .png) and point clouds (.pcd). It is a Meteor app developed with React, Paper.js and three.js.
Latest changes - Version 1.5: Provide a Docker image and update to Meteor 1.10 - Version 1.4: Support for RGB pointclouds (thanks @Gekk0r) - Version 1.3: Improve pointcloud labeling: bug fixes and performance improvement (labeling a 1M pointcloud is now possible) - Version 1.2.2: Breaking change: exported point cloud coordinates are no longer translated (thanks @hetzge) - Version 1.2.0: Support for binary and binary compressed point clouds (thanks @CecilHarvey)
:movie_camera: VIDEO: Bitmap labeling overview
:rocket: DEMO: Bitmap editor
:movie_camera: VIDEO: Point cloud labeling overview
:rocket: DEMO: Point cloud editor
sse-docker-stack.yml)YOUR_IMAGES_PATH) and run the tool using docker-composesse-docker-stack.ymlwget https://raw.githubusercontent.com/Hitachi-Automotive-And-Industry-Lab/semantic-segmentation-editor/master/sse-docker-stack.yml
SSE_IMAGES=YOUR_IMAGES_PATH docker-compose -f sse-docker-stack.yml up
(Optional) You can use your own configuration file based on settings.json to customize classes data
wget https://raw.githubusercontent.com/Hitachi-Automotive-And-Industry-Lab/semantic-segmentation-editor/master/settings.json
METEOR_SETTINGS=$(cat ./settings.json) SSE_IMAGES=YOUR_IMAGES_PATH docker-compose -f stack.yml up
curl https://install.meteor.com/ | sh
or download Meteor Windows Installer
cd semantic-segmentation-editor-x.x.x
meteor npm install
meteor npm start
The editor will run by default on http://localhost:3000
(Optional) Edit settings.json
By default, images are served from your_home_dir/sse-images and pointcloud binary segmentation data are stored in your_home_dir/sse-internal.
You can configure these folders in settings.json by modifying images-folder and internal-folder properties.
On Windows, use '/' separators, example c:/Users/john/images
Check Meteor Environment Variables to configure your app
(MONGO_URL, DISABLE_WEBSOCKETS, etc...)
{
"configuration": {
"images-folder": "/mnt/images", // The root folder containing images and PCD files
"internal-folder": "/mnt/pointcloud_data" // Segmentation data (only 3D) will be stored in this folder
},
// The different sets of classes available in the tool
// For object classes, only the 'label' field is mandatory
// The icon field can be set with an icon from the mdi-material-ui package
"sets-of-classes": [
{
"name": "Cityscapes", "objects": [
{"label": "VOID", "color": "#CFCFCF"},
{"label": "Road", "color": "#804080", "icon": "Road"},
{"label": "Sidewalk", "color": "#F423E8", "icon": "NaturePeople"},
{"label": "Parking", "color": "#FAAAA0", "icon": "Parking"},
{"label": "Rail Track", "color": "#E6968C", "icon": "Train"},
{"label": "Person", "color": "#DC143C", "icon": "Walk"},
{"label": "Rider", "color": "#FF0000", "icon": "Motorbike"},
{"label": "Car", "color": "#0000E8", "icon": "Car"}
},
{ ... }
]
}
The editor is built around 3 different screens:
The file navigator let's you browse available files to select a bitmap images or a point cloud for labeling

The bitmap image editor is dedicated to the labeling of jpg and png files by drawing polygons

The point cloud editor is dedicated to the labeling of point clouds by creating objects made of subsets of 3D points

There are several tools to create labeling polygons:
Create contiguous polygons easily
Start a new polygon with the Polygon Drawing Tool
Create the starting point by snapping to the outline of the polygon you want to workaround
x, y, z, label (optional integer), rgb (optional integer)x, y, z, label, object and rgb (if available)/api/listing: List all annotated images/api/json/[PATH_TO_FILE]: (2D only) Get the polygons and other data for that file/api/pcdtext/[PATH_TO_FILE]: (3D only) Get the labeling of a pcd file using 2 addditional
columns: label
and object/api/pcdfile/[PATH_TO_FILE]: (3D only) The same but returned as "plain/text" attachment file download$ claude mcp add semantic-segmentation-editor \
-- python -m otcore.mcp_server <graph>