Skip to content

zachmullen/VIAME-Web

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VIAME Logo


VIAME-Web is a web interface for performing data management, video annotation, and running a portion of the algorithms stored within the VIAME (https://github.com/VIAME/VIAME) repository. When compiled, docker instances for VIAME-Web can be run either as local servers or online in web services. A sample instance of VIAME-Web is running on a public server at https://viame.kitware.com. Additional documentation will be available in the future for users.


Example from viame.kitware.com sample data       Example from mevadata.org UAV clip      

Features

  • Video Annotation
    • Single-frame boxes and polygons
    • Multi-frame bounding box tracks with interpolation
    • Automatic transcoding to support avi, mov,
  • Still image annotation
    • Bounding boxes
    • Polygons
  • Customizable labeling
    • label shapes and tracks
    • add text, numeric, multiple-choice attributes

Documentation

Code Architecture

VIAME-Web uses Girder for data management and has a typical girder + girder worker + docker architecture. Command-line executables for VIAME and FFmpeg are built inside the worker docker image. See docker scripts for additional details.

Client

The client application is a standard @vue/cli application.

Server

The Rest API server is a Girder3 plugin. Generally, it needs a running MongoDB instance, Python3, and a python environment, Run pip install on the against the server directory. Then girder build , girder serve to start the girder server. Refer to Girder3 documentation and the included docker scripts for details.

Worker

The processing server is a typical Girder worker tasks. Generally, it needs a running RabbitMQ instance. Python3, and a python environment. Run pip install on the against the server directory. Then girder-worker -l info to start girder worker.

Example Data

Input

VIAME-Web takes two different kinds of input data, either a video file (e.g. .mpg) or an image sequence. Both types can be optionally accompanied with a CSV file containing video annotations. Example input sequences are available at https://viame.kitware.com/girder#collections.

Output

When running an algorithmic pipelines or performing manual video annotation (and saving the annotations with the save button) output CSV files are produced containing output detections. Simultaneously a detection plot of results is shown underneath each video sequence.

Packages

No packages published

Languages

  • Vue 39.5%
  • TypeScript 36.6%
  • Python 19.5%
  • JavaScript 3.1%
  • Dockerfile 0.7%
  • Shell 0.4%
  • Other 0.2%