Scalabel (pronounced "scalable") is a versatile and scalable tool that supports all kinds of annotations needed in a driving database. It supports bounding box, semantic instance segmentation, and video tracking.
-
Checkout the code
git clone [email protected]:ucbdrive/scalabel.git cd scalabel
-
Create a directory <data_dir> to store the server data:
mkdir ../data
Or, for Windows users:
mkdir ..\data
-
Launch server. There are two options, either (i) to build with Docker or (ii) to build by yourself.
-
Build and run a Docker image from the Dockerfile.
Build by yourself
docker build . -t 'scalabel/server'
Or
docker pull scalabel/server
After getting the docker image, you can run the server
docker run -it -v `pwd`/../data:/data -p 8686:8686 scalabel/server
-
Build the server by yourself.
- Install GoLang. Refer to the instruction page for details.
- Install GoLang dependency
go get gopkg.in/yaml.v2
- Compile the server
go build -i -o $GOPATH/bin/scalabel ./server/go
For Windows users, use
go build -i -o %GOPATH%\bin\scalabel.exe .\server\go
Note that you may choose your own path for the server executable. We use $GOPATH/bin/scalabel as it conforms to golang best practice, but if your GOPATH is not configured, this will not work.
- Specify basic configurations (e.g. the port to start the server,
the data directory to store the image annotations, etc) in your own
config.yml
. Refer toapp/config/default_config.yml
for the default configurations. - Launch the server by running
$GOPATH/bin/scalabel --config app/config/default_config.yml
For Windows users, run:
%GOPATH%\bin\scalabel.exe --config app\config\default_config.yml
If you used a different server path when compiling, make sure to use the correct path here.
-
-
Access the server through the specifed port (we use
8686
as the default port specified in theconfig.yml
)http://localhost:8686
Please check the documentation for detailed usage instructions.