Skip to main content

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

DIVA

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 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

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

Hashes for diva_framework-0.0.6-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a52e2277f533791a88ebf5698bbe554e3404071ce91687ebf7cc1b6aa98b473a
MD5 22061b9f3fa2b83ec31d3656b7833d83
BLAKE2b-256 c32e923d4b3855cf48053877de4ff548a84fce393099e3f81b273e09391a165b

See more details on using hashes here.

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

Hashes for diva_framework-0.0.6-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7f78a1b1730b688ccdb00c1e4998c8add258c9c82fb518bc131e70042c5997d0
MD5 4adb5f1e276cd3daa7060c1d313b1a01
BLAKE2b-256 2e54521d26da3da754e209ab670a8b4855f4992c9d54d77e6c068bcc2fb6eaa8

See more details on using hashes here.

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

Hashes for diva_framework-0.0.6-cp36-cp36m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4126735136170305a7a284a27429bf13de8648493033119b32456fa8e8e2baa9
MD5 20c867ab72f65446ab634df1ffcb6983
BLAKE2b-256 5f89ef2ebf39ea486724a2f763c1af24f2c8039812030634dccb3d7501818e4d

See more details on using hashes here.

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

Hashes for diva_framework-0.0.6-cp35-cp35m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d9487619e80555196bb4f1c57cf5db7f997bca57b1e9737a8e283e71e6e986e7
MD5 41736f7fc97cae7928febc3a0b4ba018
BLAKE2b-256 8af1de2aae0e5170fe31f23685202bbe79a3ebb5a1bd91eda1aa103d3f5aee1c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page