Scalabel (pronounced "scalable") is a versatile and scalable tool that supports various kinds of annotations needed for training computer vision models, especially for driving environment. BDD100K is labeled with this tool.
- Overview video
- 2D Bounding box
- 2D Segmentation
- 2D Bounding box tracking
- 2D Segmentation tracking
- 2D Lane marking
- 3D Bounding box
- 3D Bounding box tracking
More installation and usage details can be find in our documentation. It also includes Windows setup.
-
Check out the code
git clone git@github.com:ucbdrive/scalabel.git cd scalabel
-
Compile the code
There are two alternative ways to get the compiled code
-
Usage docker
Download from dockerhub
docker pull scalabel/www
or build the docker image yourself
docker build . -t scalabel/www
-
Compile the code yourself
Install golang, nodejs and npm.
Compile Go server code
go get github.com/aws/aws-sdk-go github.com/mitchellh/mapstructure \ gopkg.in/yaml.v2 github.com/satori/go.uuid go build -i -o ./bin/scalabel ./server/http
Transpile Javascript code
npm install node_modules/.bin/npx webpack --config webpack.config.js --mode=production
-
-
Prepare data directory
mkdir data cp app/config/default_config.yml data/config.yml
-
Launch the server
If using docker,
docker run -it -v `pwd`/data:/opt/scalabel/data -p 8686:8686 scalabel/www \ /opt/scalabel/bin/scalabel --config /opt/scalabel/data/config.yml
Otherwise
./bin/scalabel --config ./data/config.yml
Then, the server can be accessed at
http://localhost:8686
. -
Get labels
The collected labels can be directly downloaded from the project dashboard. The data can be follow bdd data format. After installing the requirements and setting up the paths of the bdd data toolkit, you can visualize the labels by
python3 -m bdd_data.show_labels.py -l <your_downloaded_label_path.json>
Please go to documentation for detailed annotation instructions and advanced usages.