Git Product home page Git Product logo

cvat's Introduction

Computer Vision Annotation Tool (CVAT)

CVAT is completely re-designed and re-implemented version of Video Annotation Tool from Irvine, California tool. It is free, online, interactive video and image annotation tool for computer vision. It is being used by our team to annotate million of objects with different properties. Many UI and UX decisions are based on feedbacks from professional data annotation team.

CVAT screenshot

Documentation

Screencasts

LICENSE

Code released under the MIT License.

INSTALLATION

These instructions below should work for Ubuntu 16.04. Probably it will work on other OSes as well with minor modifications.

Install Docker CE or Docker EE from official site

Please read official manual here.

Install the latest driver for your graphics card

The step is necessary only to run tf_annotation app. If you don't have a Nvidia GPU you can skip the step.

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-cache search nvidia-*   # find latest nvidia driver
sudo apt-get install nvidia-*    # install the nvidia driver
sudo apt-get install mesa-common-dev
sudo apt-get install freeglut3-dev
sudo apt-get install nvidia-modprobe

Reboot your PC and verify installation by nvidia-smi command.

The step is necessary only to run tf_annotation app. If you don't have a Nvidia GPU you can skip the step. See detailed installation instructions on repository page.

Install docker-compose (1.19.0 or newer)

sudo pip install docker-compose

Build docker images

To build all necessary docker images run docker-compose build command. By default, in production mode the tool uses PostgreSQL as database, Redis for caching.

Run containers without tf_annotation app

To start all containers run docker-compose up -d command. Go to localhost:8080. You should see a login page.

Run containers with tf_annotation app

If you would like to enable tf_annotation app first of all be sure that nvidia-driver, nvidia-docker and docker-compose>=1.19.0 are installed properly (see instructions above) and docker info | grep 'Runtimes' output contains nvidia.

Run following command:

docker-compose -f docker-compose.yml -f docker-compose.nvidia.yml up -d --build

Create superuser account

You can register a user but by default it will not have rights even to view list of tasks. Thus you should create a superuser. The superuser can use admin panel to assign correct groups to the user. Please use the command below:

docker exec -it cvat sh -c '/usr/bin/python3 ~/manage.py createsuperuser'

Type your login/password for the superuser on the login page and press Login button. Now you should be able to create a new annotation task. Please read documentation for more details.

Stop all containers

The command below will stop and remove containers and networks created by up. See documentation for docker-compose down for more details.

docker-compose down

Advanced settings

If you want to access you instance of CVAT outside of your localhost you should specify ALLOWED_HOSTS environment variable. The best way to do that is to create docker-compose.override.yml and put all your extra settings here.

version: "2.3"

services:
  cvat:
    environment:
      ALLOWED_HOSTS: .example.com
    ports:
      - "80:8080"

Annotation logs

It is possible to proxy annotation logs from client to another server over http. For examlpe you can use Logstash. To do that set DJANGO_LOG_SERVER_URL environment variable in cvat section of docker-compose.yml file (or add this variable to docker-compose.override.yml).

version: "2.3"

services:
cvat:
    environment:
      DJANGO_LOG_SERVER_URL: https://annotation.example.com:5000

cvat's People

Watchers

Leon avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.