VIAME-Web is a web interface for performing data management, video annotation, and running 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.
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.
You can run VIAME Web locally with vanilla docker-compose.
docker-compose -f docker/docker-compose.yml up
VIAME server will be running at http://localhost:8010/
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.