Giter Site home page Giter Site logo

hhy5277 / cvat Goto Github PK

View Code? Open in Web Editor NEW

This project forked from opencv/cvat

0.0 1.0 0.0 27.38 MB

Computer Vision Annotation Tool (CVAT) is a web-based tool which helps to annotate video and images for Computer Vision algorithms

License: Other

JavaScript 54.74% Dockerfile 0.57% Python 36.88% Shell 0.91% HTML 5.28% CSS 1.62%

cvat's Introduction

Computer Vision Annotation Tool (CVAT)

Build Status Codacy Badge Gitter chat

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

Online Demo

Onepanel has added CVAT as an environment into their platform and a running demo of CVAT can be accessed at CVAT Public Demo.

After you click the link above:

  • Click on "GO TO WORKSPACE" and the CVAT environment will load up
  • The environment is backed by a K80 GPU

If you have any questions, please contact Onepanel directly at [email protected]. If you are in the Onepanel application, you can also use the chat icon in the bottom right corner.

LICENSE

Code released under the MIT License.

INSTALLATION

The instructions below should work for Ubuntu 16.04. It will probably work on other Operating Systems such as Windows and macOS, but may require minor modifications.

Install Docker CE or Docker EE from official site

Please read official manual here.

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 docker containers

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

You can include any additional components. Just add corresponding docker-compose file to build or run command:

# Build image with CUDA and OpenVINO support
docker-compose -f docker-compose.yml -f components/cuda/docker-compose.cuda.yml -f components/openvino/docker-compose.openvino.yml build

# Run containers with CUDA and OpenVINO support
docker-compose -f docker-compose.yml -f components/cuda/docker-compose.cuda.yml -f components/openvino/docker-compose.openvino.yml up -d

Additional optional components

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 bash -ic '/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, networks, volumes, and images created by up.

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 ELK. To do that run the following command below:

docker-compose -f docker-compose.yml -f components/analytics/docker-compose.analytics.yml up -d --build

Share path

You can use a share storage for data uploading during you are creating a task. To do that you can mount it to CVAT docker container. Example of docker-compose.override.yml for this purpose:

version: "2.3"

services:
  cvat:
    environment:
      CVAT_SHARE_URL: "Mounted from /mnt/share host directory"
    volumes:
      - cvat_share:/home/django/share:ro

volumes:
  cvat_share:
    driver_opts:
      type: none
      device: /mnt/share
      o: bind

You can change the share device path to your actual share. For user convenience we have defined the enviroment variable $CVAT_SHARE_URL. This variable contains a text (url for example) which will be being shown in the client-share browser.

Questions

CVAT usage related questions or unclear concepts can be posted in our Gitter chat for quick replies from contributors and other users.

However, if you have a feature request or a bug report that can reproduced, feel free to open an issue (with steps to reproduce the bug if it's a bug report).

If you are not sure or just want to browse other users common questions, Gitter chat is the way to go.

cvat's People

Contributors

aleksandrmelnikov avatar aschernov avatar azhavoro avatar bsekachev avatar codacy-badger avatar dmitriysidnev avatar ericjiang97 avatar idrissbellil avatar jrjbertram avatar nmanovic avatar syonekura avatar tkunic avatar vdanilin avatar

Watchers

 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.