The DIVA Framework is a software framework designedto provide an architecture and a set of software modules whichwill facilitate the development of DIVA analytics
Project description
Deep Intermodal Video Analytics (DIVA) Framework
The DIVA Framework is a software framework designed to provide an architecutre and a set of software modules which will facilitate the development of DIVA analytics. From the DIVA Website:
The DIVA program seeks to develop robust automatic activity detection for a multi-camera streaming video environment. Activities will be enriched by person and object detection. DIVA will address activity detection for both forensic applications and for real-time alerting.
Resources
DIVA Framework Github Repository This is the main DIVA Framework site, all development of the framework happens here.
DIVA Framework Issue Tracker Submit any bug reports or feature requests for the framework here.
DIVA Framework Main Documentation Page The source for the framework documentation is maintained in the Github repository using Sphinx A built version is maintained on ReadTheDocs. A good place to get started in the documentation, after reading the Introduction is the UseCase section which will walk you though a number of typical use cases with the framework.
KITWARE has implemented two “baseline” activity recognition algorithms in terms of the Framework:
DIVA Docker Image
Kitware maintains a Docker image with DIVA prebuilt. The Dockerfile used to build the image can be found here.
Pull the image from Dockerhub:
docker pull kitware/diva:latest
(https://hub.docker.com/r/kitware/diva)
or build the DIVA image using the dockerfile:
docker build -t diva:tagname .
DIVA Python wheel
Kitware also provides a pared down DIVA build as a Python 3 wheel. The DIVA wheel depends on the Kwiver wheel, and the following system dependencies (installed via apt-get in this example):
# The following example uses the Ubuntu apt-get package manager # These command may differ depending on your Linux flavor and package manager sudo apt-get install libgl1-mesa-dev libexpat1-dev libgtk2.0-dev liblapack-dev python3.6 python3-pip
Upgrade PIP if older than version 19.3.1:
pip3 install -U pip
Install the wheels:
pip install kwiver diva-framework
Verify the installation:
plugin_explorer --proc diva
The plugin diva_experiment should be listed in the output.
Building DIVA
Dependencies
DIVA requires, at a minimum, Git, CMake, a C++ compiler, and a Python 2.7 environment.
The DIVA Framework repository is structured as a CMake “super-build” which fetches, configures and builds both KWIVER and Fletch along with the DIVA Framework specific code. While most of the framework’s dependencies are carried by Fletch, there may be some preparation of your development system required before you can successfully build the framework.
On Ubuntu systems, for example you’ll want to make sure the following packages are installed on your system:
# The following example uses the Ubuntu apt-get package manager
# These command may differ depending on your Linux flavor and package manager
sudo apt-get install build-essential libgl1-mesa-dev
sudo apt-get install libexpat1-dev
sudo apt-get install libgtk2.0-dev
sudo apt-get install liblapack-dev
sudo apt-get install python2.7-dev
Running CMake
We recommend building DIVA out of its source directory to prevent mixing source files with compiled products. Create a build directory in parallel with the DIVA source directory for each desired configuration. For example :
\DIVA\src |
contains the code from the git repository |
\DIVA\build\release |
contains the built files for the release configuration |
\DIVA\build\debug |
contains the built files for the debug configuration |
Basic CMake generation via command line
The following example will pull and build Fletch and KWIVER along with the DIVA code base. It assumes that you are \DIVA\build\release directory. What follows are the commands to configure and build the DIVA framework in several common configurations:
To build a “release” version of DIVA:
$ cmake ../../src -DCMAKE_BUILD_TYPE=Release $ make -j 4
To build with CUDA enabled:
$ cmake ../../src -DCMAKE_BUILD_TYPE=Release -DDIVA_BUILD_WITH_CUDA=ON $ make -j 4
To build with CUDNN enabled:
$ cmake ../../src -DCMAKE_BUILD_TYPE=Release -DDIVA_BUILD_WITH_CUDA=ON -DDIVA_BUILD_WITH_CUDNN=ON $ make -j 4
Next Steps
For more details on building and using the DIVA framework, please see the DIVA Framework Documentation
For general build or code issues, please join the kwiver-users mailing list. For discussions of the DIVA API, please contact diva-te <at> kitware.com to join the diva-API mailing list.
For announcements about KWIVER in general, please join the kwiver-announce mailing list.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
File details
Details for the file diva_framework-0.0.6-cp38-cp38-manylinux2014_x86_64.whl
.
File metadata
- Download URL: diva_framework-0.0.6-cp38-cp38-manylinux2014_x86_64.whl
- Upload date:
- Size: 30.9 MB
- Tags: CPython 3.8
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.8.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a52e2277f533791a88ebf5698bbe554e3404071ce91687ebf7cc1b6aa98b473a |
|
MD5 | 22061b9f3fa2b83ec31d3656b7833d83 |
|
BLAKE2b-256 | c32e923d4b3855cf48053877de4ff548a84fce393099e3f81b273e09391a165b |
File details
Details for the file diva_framework-0.0.6-cp37-cp37m-manylinux2014_x86_64.whl
.
File metadata
- Download URL: diva_framework-0.0.6-cp37-cp37m-manylinux2014_x86_64.whl
- Upload date:
- Size: 30.9 MB
- Tags: CPython 3.7m
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f78a1b1730b688ccdb00c1e4998c8add258c9c82fb518bc131e70042c5997d0 |
|
MD5 | 4adb5f1e276cd3daa7060c1d313b1a01 |
|
BLAKE2b-256 | 2e54521d26da3da754e209ab670a8b4855f4992c9d54d77e6c068bcc2fb6eaa8 |
File details
Details for the file diva_framework-0.0.6-cp36-cp36m-manylinux2014_x86_64.whl
.
File metadata
- Download URL: diva_framework-0.0.6-cp36-cp36m-manylinux2014_x86_64.whl
- Upload date:
- Size: 30.9 MB
- Tags: CPython 3.6m
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/28.8.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4126735136170305a7a284a27429bf13de8648493033119b32456fa8e8e2baa9 |
|
MD5 | 20c867ab72f65446ab634df1ffcb6983 |
|
BLAKE2b-256 | 5f89ef2ebf39ea486724a2f763c1af24f2c8039812030634dccb3d7501818e4d |
File details
Details for the file diva_framework-0.0.6-cp35-cp35m-manylinux2014_x86_64.whl
.
File metadata
- Download URL: diva_framework-0.0.6-cp35-cp35m-manylinux2014_x86_64.whl
- Upload date:
- Size: 30.9 MB
- Tags: CPython 3.5m
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.1.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.5.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d9487619e80555196bb4f1c57cf5db7f997bca57b1e9737a8e283e71e6e986e7 |
|
MD5 | 41736f7fc97cae7928febc3a0b4ba018 |
|
BLAKE2b-256 | 8af1de2aae0e5170fe31f23685202bbe79a3ebb5a1bd91eda1aa103d3f5aee1c |