DIVE is a web interface for performing data management, video annotation, and running a portion of the algorithms stored within the VIAME repository. When compiled, docker instances for DIVE can be run either as local servers or online in web services. A sample instance of DIVE is running on a public server at viame.kitware.com.
THis is a version of DIVE that integrates with Digital Slide Archive. There are features and differences with the core DIVE functionality. The DIVE-DSA user guide lists all new features and functionality.
- video annotation
- still image (and image sequence) annotation
- single-frame boxes, polygons, and lines
- multi-frame bounding box tracks with interpolation
- Automatic transcoding to support most video formats
- Customizable labeling with text, numeric, multiple-choice attributes
- [User Guide] (https://DigitalSlideArchive.github.io/dive-dsa/)
DIVE uses Girder for data management and has a typical girder + girder worker + docker architecture. See docker scripts for additional details.
- The client application is a standard @vue/cli application.
- The job runner is built on celery and Girder Worker. Command-line executables for VIAME and FFmpeg are built inside the worker docker image.
DIVE 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.
docker exec -it dive-dsa-girder-1 bash
cd /opt/dive/src
apt-get update && apt-get install -y npm
girder build
girder build --dev --watch-plugin dive_server