/scalabel

Quantify computer vision performance in human terms

Primary LanguageJavaScriptBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause


Build Status Language grade: JavaScript Language grade: Python

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.

scalabel interface

Demos

Try It Yourself

More installation and usage details can be find in our documentation. It also includes Windows setup.

  1. Check out the code

    git clone git@github.com:ucbdrive/scalabel.git
    cd scalabel
    
  2. Compile the code

    There are two alternative ways to get the compiled code

    1. Usage docker

      Download from dockerhub

      docker pull scalabel/www
      

      or build the docker image yourself

      docker build . -t scalabel/www
      
    2. 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
      
  3. Prepare data directory

    mkdir data
    cp app/config/default_config.yml data/config.yml
    
  4. 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.

  5. 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>
    

More Usage Info

Please go to documentation for detailed annotation instructions and advanced usages.