Package: diva-framework
Deep Intermodal Video Analytics (DIVA) FrameworkThe 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 theDIVA 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.ResourcesDIVA Framework Github RepositoryThis is the main DIVA Framework site, all development of the framework happens here.DIVA Framework Issue TrackerSubmit any bug reports or feature requests for the framework here.DIVA Framework Main Documentation PageThe source for the framework documentation is maintained in the Github repository usingSphinxA built version is maintained onReadTheDocs.   A good place to get started in the documentation, after reading theIntroductionis theUseCasesection 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:R-C3DACTDIVA Docker ImageKitware maintains aDockerimage with DIVA prebuilt.
The Dockerfile used to build the image can be foundhere.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 wheelKitware 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-pipUpgrade PIP if older than version 19.3.1:pip3 install -U pipInstall the wheels:pip install kwiver diva-frameworkVerify the installation:plugin_explorer --proc divaThe plugindiva_experimentshould be listed in the output.Building DIVADependenciesDIVA requires, at a minimum,Git,CMake, a C++ compiler, and aPython 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 managersudoapt-getinstallbuild-essentiallibgl1-mesa-devsudoapt-getinstalllibexpat1-devsudoapt-getinstalllibgtk2.0-devsudoapt-getinstallliblapack-devsudoapt-getinstallpython2.7-devRunning CMakeWe 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\srccontains the code from the git repository\DIVA\build\releasecontains the built files for the release configuration\DIVA\build\debugcontains the built files for the debug configurationBasic CMake generation via command lineThe following example will pull and build Fletch and KWIVER along with the DIVA code base.
It assumes that you are\DIVA\build\releasedirectory.  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 4NoteThe-j 4argument starts a build process with 4 threads.  You’ll want to choose a value consistent with the number of cores you have,
typically one or two more if you have a dedicated machineTo build with CUDA enabled:$ cmake ../../src -DCMAKE_BUILD_TYPE=Release -DDIVA_BUILD_WITH_CUDA=ON
$ make -j 4To build with CUDNN enabled:$ cmake ../../src -DCMAKE_BUILD_TYPE=Release -DDIVA_BUILD_WITH_CUDA=ON -DDIVA_BUILD_WITH_CUDNN=ON
$ make -j 4NoteIf your CUDA and or CUDNN installations are not in the default location, you may need to specifiy their
location with the CUDA_TOOLKIT_ROOT_DIR and CUDNN_TOOLKIT_ROOT_DIR variablesNext StepsFor more details on building and using the DIVA framework, please see theDIVA Framework DocumentationFor general build or code issues, please join thekwiver-usersmailing 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 thekwiver-announcemailing list.