ssrajadh/sentrysearch

Semantic search over videos using Gemini Embedding 2 or Qwen3-VL.

何を解決するか

SentrySearch は動画映像に対して意味的検索を可能にし、ユーザーが自然言語の記述を入力するか、参照画像を提供することで特定の瞬間を検索できるようにします。何時間も動画を手動でスクロールして特定のイベントを探す必要がなくなり、最も関連性の高いセグメントを自動的に別々のクリップにトリムします。

動作方法

このツールは動画を重複するチャンクに分割し、マルチモーダルモデル(Google Gemini、Alibaba Qwen、またはローカルの Qwen3-VL モデル)を使用して各チャンクの埋め込みを生成します。これらのベクトルはローカルの ChromaDB データベースに保存されます。ユーザーが検索を行うと、クエリ(テキストまたは画像)が同じベクトル空間に埋め込まれ、保存された動画埋め込みとコサイン類似度を使って照合されます。最も一致する結果が ffmpeg を使って元のファイルから自動的にトリムされます。

対象ユーザー

大量の動画映像を管理するすべての人々、特にドライブレコーダー所有者やセキュリティカメラ運用者向けです。特定の視覚的イベントを迅速に検索する必要がある方々に最適です。

主な特徴

  • 柔軟なバックエンド: クラウド API(Gemini、DashScope)とローカル実行(Apple Silicon 用の PyTorch または MLX)をサポートしており、プライバシー保護とオフライン利用が可能。
  • マルチモーダル検索: 自然言語テキストまたは参照画像のどちらでも検索が可能。
  • 異常検出: highlights 機能により、インデックス内の最も統計的に異常なクリップを識別し、トリムします。
  • VLM リランキング: 初期の埋め込み結果をより高い精度で改善するために、オプションの --rerank フラグで視覚言語モデル(VLM)を使用します。
  • ハードウェア最適化: Apple Silicon(MLX)および NVIDIA GPU(4ビット量子化)向けに特別な最適化を実装しており、メモリ使用量と処理時間を削減します。

関連

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