VIAME/VIAME

Video and Image Analytics for Multiple Environments

VIAME – DIYコンピュータビジョンツールキット

概要 – VIAME(Vision for Intelligent Analytic Media Extraction)は、AIを活用した動画・画像解析アプリケーションを構築するための、多数のアルゴリズム、パイプライン、ユーザーインターフェースをまとめたオープンソースのコンピュータビジョンフレームワークです。当初は海洋科学コミュニティでの種の解析用に始まりましたが、現在は汎用的で拡張可能なツールキットに成長しています。

主要なアイデア

  • パイプライン中心: C++/Pythonノードをマルチスレッドのパイプライン(KitwareのKWIVER上に構築)で接続します。
  • プラグインアーキテクチャ: アルゴリズム(検出器、トラッカー、フィルター、測定ツールなど)はプラグインとして提供され、カスタムコードと組み合わせることができます。
  • デュアルUI: アノテーション、トレーニング、視覚検査用のデスクトップGUI(VIVIA/DIVE)と、リモート使用用のWebベースバージョンを提供します。
  • エンドツーエンドのワークフロー: 生の動画 → データアノテーション → モデルトレーニング → 推論 → 評価 → 検索/モザイク処理までを一貫して行えます。

主な機能

機能 できること
物体検出・追跡 事前トレーニング済みの検出器を実行し、新しいモデルをトレーニングし、動画ストリーム全体で物体トラックを生成します。
データアノテーション バウンディングボックス、ポリゴン、ステレオ測定を描画するための対話型ツール(デスクトップおよびWeb)。
マルチカメラ・ステレオ フィードを統合し、実世界のサイズを測定し、モザイクを生成します。
画像強調 解析前にフィルター、ノイズ除去、コントラスト向上を適用します。
高速モデル生成と検索 小さなラベル付きセットでモデルを構築し、大規模な動画アーカイブを検索するために使用します。
評価・スコアリング 検出・トラックをグラウンドトゥルースの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 コマンドラインインターフェースが含まれます。
  • ソースからビルド – リポジトリをクローンし、サブモジュールを初期化し、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クラスをインポートして使用できます。

インストールのハイライト

  • ディスクスペース約8GBが必要です。
  • GPUアクセラレーションには、NVIDIA GPU(VRAM 8GB以上、ドライバ≥570.65)が必要です。
  • 対応OS: Windows 7/8/10/11(64ビット)、Linux(RHEL、CentOS、Ubuntu)、Webツール用にMacOSの限定的なサポート。
  • オプションの依存関係(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とバッチ処理用のヘッドレスCLIの両方を必要とするチーム。

上記の情報はすべてリポジトリのREADMEから直接取得したものであり、追加の機能は推測されていません。

関連

  • プロジェクト
  • プロジェクト
  • Dispatch
  • プロジェクト
  • プロジェクト