VIAME/VIAME

Video and Image Analytics for Multiple Environments

VIAME – 一个 DIY 计算机视觉工具包

它是什么 – VIAME(Vision for Intelligent Analytic Media Extraction)是一个开源计算机视觉框架,汇集了大量算法、流水线和用户界面,用于构建 AI 驱动的视频和图像分析应用。它最初用于海洋科学社区中的物种分析,但现已发展成为一个通用的、可扩展的工具包。

核心理念

  • 流水线为中心:C++/Python 节点在多线程流水线(基于 Kitware 的 KWIVER 构建)中连接。
  • 插件架构:算法(检测器、跟踪器、滤波器、测量工具等)以插件形式提供,可与自定义代码混合使用。
  • 双界面:用于标注、训练和视觉检查的桌面 GUI(VIVIA/DIVE),以及用于远程使用的基于 Web 的版本。
  • 端到端工作流:从原始视频 → 数据标注 → 模型训练 → 推理 → 评估 → 搜索/拼接。

主要功能

功能 你可以做什么
目标检测与跟踪 运行预训练检测器,训练新模型,并在视频流上生成目标轨迹。
数据标注 交互式工具(桌面和 Web),用于绘制边界框、多边形和立体测量。
多摄像头与立体视觉 融合视频源,测量真实世界尺寸,生成拼接图。
图像增强 在分析前应用滤波器、去噪和对比度增强。
快速模型生成与搜索 基于小型标注集构建模型,并用于查询大型视频档案。
评估与评分 将检测/轨迹与 ground-truth CSV/COCO/JSON 格式进行比较。
可扩展流水线 组合任意 C++ 或 Python 进程;通过 plugins/ 目录添加新插件。

如何获取

  • 预构建二进制文件 – Windows .zip 或 Linux .tar.gz 包(GPU 版或仅 CPU 版)在 README 中提供链接。
  • Docker – 拉取 kitware/viame:gpu-algorithms-default 获取无头命令行容器;还提供完整的 Web/桌面镜像。
  • Python 包 – pip install viame(Python 3.10-3.14)。该包安装一个 viame CLI,它封装了核心工具,并能下载附加模型。
  • 从源码构建 – 克隆仓库,初始化子模块,然后运行 CMake 并带有可选标志(例如 VIAME_ENABLE_PYTORCH、VIAME_ENABLE_CUDA)。请参阅“Quick Build”部分获取确切命令。

典型命令行工作流

# 设置环境(用于二进制或源码安装)
source /opt/noaa/viame/setup_viame.sh

# 在视频上运行流水线
viame run my_pipeline.pipe video.mp4

# 在标注数据集上训练检测器
viame train data/ train_detector.conf

# 评估结果
viame score detections.csv groundtruth.csv

# 列出并安装附加模型
viame add-ons

同样的流水线可以通过 viame 包在 Python 中调用,或通过导入底层的 KWIVER 类来使用。

安装要点

  • 需要约 8 GB 磁盘空间。
  • GPU 加速需要 NVIDIA GPU(VRAM ≥ 8 GB)和驱动程序 ≥ 570.65。
  • 支持的操作系统:Windows 7/8/10/11(64 位)、Linux(RHEL、CentOS、Ubuntu)、以及 macOS 对 web 工具的有限支持。
  • 可选依赖(OpenCV、VXL、PyTorch、CUDA、TensorRT、ONNX、TensorFlow、Darknet、MATLAB)通过 CMake 标志切换。

文档与社区

  • 快速入门指南和完整手册托管于 https://viame.github.io/VIAME/。
  • 示例流水线、教程和插件模板位于 examples/ 和 plugins/ 目录。
  • 公共标注档案和 Web 标注工具可在 https://viame.kitware.com/ 获得。
  • 项目采用 BSD-3 许可证;引用和致谢列在 docs/citations.md 和 docs/acknowledgements.md 中。

适用人群

  • 需要现成视频分析工具箱的研究人员(例如野生动物监测、监控、工业检测)。
  • 需要带有 GPU 支持的 C++/Python 混合框架来构建自定义 AI 流水线的开发者。
  • 既需要标注 GUI 又需要用于批处理的命令行接口的团队。

以上信息均直接取自仓库的 README,未推断任何额外功能。

相关

  • 项目
  • 项目
  • Dispatch
  • 项目
  • 项目