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)。该包安装一个viameCLI,它封装了核心工具,并能下载附加模型。 - 从源码构建 – 克隆仓库,初始化子模块,然后运行 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
- 项目
- 项目