Hysen Labs
Open-source project
VIAME/VIAME avatar
VIAME

VIAME

Video and Image Analytics for Multiple Environments

336 stars89 forksPythonNOASSERTION
DEEP OPEN-SOURCE ANALYSIS

VIAME is a computer vision toolkit for video and image analytics

A Kitware-built computer vision application for detection, tracking, annotation, search, mosaicing, and measurement, with desktop and web interfaces and a pipeline framework.

What VIAME does

VIAME is a computer vision application designed for do-it-yourself artificial intelligence, according to its README. It covers object detection, object tracking, image and video annotation, query-based search, image mosaicing, image enhancement, size measurement, multi-camera data processing, rapid model generation, and tools for evaluating different algorithms. The project originally targeted marine species analytics, but the README says it now contains many common algorithms and libraries and is also useful as a generic computer vision toolkit. It includes standalone tools for the tasks above, a pipeline framework that connects C, C++, Python, and MATLAB nodes together in a multi-threaded fashion, and multiple algorithms built on top of that pipeline infrastructure. A portion of the algorithms have been integrated into both desktop and web user interfaces for deployment in different environments, with an open annotation archive and an example of the web platform available at viame.kitware.com. The README points to a user quick-start guide and a full manual for comprehensive instruction, and it lists select documentation entries broken down by functionality such as installation, building, object detection, object tracking, detector training, evaluation, calibration, registration, mosaicing, and stereo measurement. The project is presented as both an end-user application and a toolkit that developers can embed or extend.

Installation and building

The README gives installation options for the full desktop version as an msi, zip, or tar file, with standalone annotators available via smaller installers and docker files for both desktop and web. For full desktop installs the user extracts the binaries into a directory such as /opt/noaa/viame on Linux or C:\Program Files\VIAME on Windows. GPU-enabled builds require sufficiently new video drivers, version 570.65 or higher, while manual annotators or frame classifiers only do not need this. The install needs up to eight gigabytes of disk space and runs on Windows 7 with updates, Windows 8, 10, or 11, or 64-bit Linux such as RHEL, CentOS, or Ubuntu, while macOS only supports standalone annotation tools. NVIDIA drivers version 570.65 or above and a CUDA-enabled GPU with eight gigabytes or more of video memory are recommended. The quick build instructions target developers who want the latest branch, requiring Git, CMake, and a C++ compiler, with Python and CUDA also recommended. CUDA 12.6 with CUDNN 9 is preferred, though other versions from 11 through 13 likely work, and Python 3.10 or above is required. The build uses a super-build that compiles most dependencies alongside VIAME, or a standalone build, with cmake configuration and a make command on Linux or Visual Studio on Windows. Optional build flags control which plugins and algorithms are compiled in.

Capabilities and layout

The README lists many optional build flags grouped by purpose. Core flags include VIAME_ENABLE_OPENCV for OpenCV processes, VIAME_ENABLE_VXL for VXL processes, VIAME_ENABLE_PYTHON for Python processes, and VIAME_ENABLE_PYTORCH for PyTorch detectors, trackers, and classifiers. System flags include VIAME_ENABLE_CUDA and VIAME_ENABLE_CUDNN for GPU optimizations, VIAME_ENABLE_DIVE for the DIVE annotation and training GUI, VIAME_ENABLE_VIVIA for the VIVIA desktop GUIs, VIAME_ENABLE_DOCS for Doxygen, VIAME_BUILD_DEPENDENCIES for the super-build, VIAME_INSTALL_EXAMPLES, and VIAME_DOWNLOAD_MODELS for pre-trained models. Specialized algorithm flags include VIAME_ENABLE_TENSORFLOW, VIAME_ENABLE_TENSORRT, VIAME_ENABLE_DARKNET for YOLO, VIAME_ENABLE_MATLAB, VIAME_ENABLE_KWANT for detection and track scoring, and VIAME_ENABLE_SEAL for a multi-modality GUI. The source code layout shows directories for cmake, docs, configs with pipelines and models, examples, packages such as kwiver and fletch, plugins, and tools. Update instructions remind contributors to re-run git submodule update after switching branches, with git submodule sync for address changes and a recursive update for manual builds. The license section states the core is BSD-3, with a citations document for papers used and an acknowledgements document for funding sources. The README frames VIAME as a mature, modular computer vision system rather than a single script. The build flag table shows the project can be trimmed to the algorithms a user needs, so an embedded deployment does not have to carry every plugin, and the submodule update steps keep the kwiver and fletch dependencies aligned with the checked-out version during development.

Editorial conclusion

The core of VIAME is released under the BSD-3 license, and the repository's most recent commit was on 2026-08-26. The toolkit is hosted at github.com/VIAME/VIAME.

DEEP OPEN-SOURCE ANALYSIS

Official sources

Community notes

Community notes