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.
- 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
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.
The client application is a standard @vue/cli application.
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.
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.
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.
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.