police — AI監視映像検索ツール
概要
Moondream2ビジョン・ランゲージモデルを活用したローカルAIビデオ検索ツールです。PySide6を使ったGUIフロントエンドとPythonバックエンドで構成され、監視カメラ映像や任意の動画ファイルからフレームを抽出して解析、自然言語クエリ(例:「赤い服の人」「白い車」)に基づいて対象のフレームやシーンを検索します。モデル推論はローカルで完結する設計なので、クラウド送信によるプライバシー懸念を低減できます。Python 3.10以上を想定し、CUDAの有無を確認するスクリプトが含まれるためGPU環境での高速化も可能です。(約300字)
リポジトリの統計情報
- スター数: 6
- フォーク数: 3
- ウォッチャー数: 6
- コミット数: 7
- ファイル数: 13
- メインの言語: Python
主な特徴
- ローカルで動作するAIビデオ検索:クラウド不要で映像をその場で解析、プライバシーに配慮。
- Moondream2 VLMの活用:画像とテキストを統合して自然言語による検索を実現。
- PySide6によるデスクトップGUI:ユーザー操作で動画読み込み、検索クエリ投入、結果表示が可能。
- GPU対応チェックと簡易バックエンド:check_cuda.pyで環境確認、backend.pyで推論ロジックを提供。
技術的なポイント
本プロジェクトは、Vision-Language Model(VLM)であるMoondream2をコアに据え、映像データの視覚情報とテキスト照合を行う設計です。一般的なワークフローは次のとおりです:動画をフレーム単位でサンプリング(時間間隔やFPSに応じて調整)→ 各フレームをMoondream2に入力して視覚特徴量とテキスト埋め込みを生成→ 自然言語クエリをテキスト埋め込みに変換して類似度計算を行い、スコアの高いフレームを検索結果として返す、という流れです。フレーム抽出や前処理はバックエンド側で行われ、GUIは操作性に集中します。
技術面で注目すべき点は、ローカル実行によるデータ保護、CUDAの有無を判定してGPUアクセラレーションを利用可能にする点、そしてPySide6を使ったクロスプラットフォームのデスクトップUIです。check_cuda.pyは環境依存のアクセラレーション確認を簡易に行うユーティリティで、GPUが使える場合は推論速度が大幅に向上します。backend.pyは推論と検索ロジックのエントリポイントとなる想定で、モデル読み込み、フレーム処理、クエリ処理(テキスト→埋め込み、埋め込み同士の類似度計算)が実装されます。
実運用を考えると、性能・使い勝手のチューニングポイントがいくつかあります。まずフレームサンプリングの頻度(精度と処理負荷のトレードオフ)、次に類似度の閾値設定や非最大抑制などのポストプロセッシング、さらに長時間映像を扱う際のインデックス化戦略(埋め込みを事前に保存して検索を高速化)です。また、モデルのメモリ要件やGPU VRAMの制約を踏まえたバッチ処理設計、並列化や量子化による推論コスト削減も実装で有効です。エンドユーザー向けには検出結果のハイライト表示、時間軸シーク、メタデータによるフィルタリング(カメラID、タイムスタンプ)などのUI改善が考えられます。ライセンスはMITであり、商用利用やカスタマイズもしやすい一方、監視用途ならば倫理・法令の遵守が重要です。(約1500字)
プロジェクトの構成
主要なファイルとディレクトリ:
- .gitignore: file
- README.md: file
- README_zh-TW.md: file
- backend.py: file
- check_cuda.py: file
…他 8 ファイル
補足(推測を含む):backend.py はモデル読み込みと推論エンドポイント(ローカルサーバやCLI)を提供する役割、check_cuda.py は環境依存のCUDA/CuDNNの可用性を確認する簡易ユーティリティ、README はセットアップや実行手順、依存パッケージ(Python 3.10+、PySide6等)について説明している可能性が高いです。GUI部分はPySide6で実装され、ユーザーが動画を選び自然言語でクエリを投げて結果を確認する流れを想定しています。
まとめ
ローカルで動く自然言語対応の監視映像検索ツール。実用性とプライバシーを両立した小規模プロジェクトです。(50字程度)
リポジトリ情報:
- 名前: police
- 説明: 説明なし
- スター数: 6
- 言語: Python
- URL: https://github.com/craig7351/police
- オーナー: craig7351
- アバター: https://avatars.githubusercontent.com/u/1267188?v=4
READMEの抜粋:
🚓 AI Video Search Tool
English | 繁體中文
A local AI-powered video analysis tool using Moondream2 Vision Language Model. Search surveillance footage using natural language queries like “person in red” or “white car” - all compl…