動画の審判 openvons (open-Jev) — 動画を見て、決めた項目に確率で答える
導入・カスタマイズのご相談 ↗

試験動画 (H3 で生成。項目ごとに 問題あり 10 本 / 問題なし 10 本。正解は判定後に開きます。一覧はこの枠の中でスクロール)

試験動画はまだありません。手元の動画を選んでください。
カメラをロボットの前方カメラのつもりで動かしてください。1 フレームの符号化 約 25 ms + 質問 1 つ 約 25 ms。フレームは判定に使うだけで保存しません。

しくみ

  1. 動画を窓に切る — 監視・安全系は 2 fps × 4 秒、スポーツの反則は 10 fps × 1.6 秒。窓は半分ずつ重ねてずらす。カット (色分布の急変) と PTZ 操作 (位相相関で画面全体が動く) でシーンを区切り、窓はシーンをまたがない。
  2. 前後の状況 — 学習 head は前後 1 窓ずつの特徴も連結して見る (同じシーンの中だけ)。生成動画の評価で動画正解率 72→83% (12 本 × 10 項目)。12 秒の長い窓を足すだけでは差が出なかった。
  3. 種目 — スポーツと判定されたシーンでは種目 (バスケ/サッカー/野球/ゴルフ/ランニング) を 1 問で決め、その種目の項目 (ヒット・ゴール・シュート成功・ハンド・スイングやフォームの欠点・ダブルドリブル) だけを見る。ヒットやゴールのように「あった」が良い知らせの項目は あり/なし で表示。
  4. 場面の判定 (分母) — 「自動」ではシーンごとに「これはどんな映像か」を 1 問だけ聞き (店舗・街 / 工事現場 / スポーツ / 室内 / 道路 / タイトル画面など)、その場面の項目だけを判定する。タイトル画面や別の場面で誤検出しない。
  5. 窓ごとに質問を並べる — 「喧嘩が起きているか」「高所で作業している人がハーネスを着けていないか」など 10 項目。答えは はい / いいえ / 判別できない の 3 択。「判別できない」があるので、見えないものに無理に答えない。
  6. 確率で答えさせる — VLM (Qwen3-VL-4B) に文章を書かせず、選択肢の 1 文字の確率だけを読む。動画の符号化は窓につき 1 回で、質問を 10 個にしても符号化はやり直さない (KV cache の複製)。
  7. 学習 head (切替可) — 凍結した VLM の内部状態 (hidden state) に項目ごとの小さな MLP を載せ、ラベル付き動画 400 本で学習したもの。細かい動作 (万引きの「隠す」、ダブルドリブル) の窓レベルの識別力が質問方式より高い。判定画面の「判定のしかた」で切り替え。
  8. 判断に変える — 温度で校正した確率を、openvons 共通の 3 段 (確定 / 要確認 / 棄却) に。危険度の高い項目 (喧嘩・火・倒れている人・ハーネス) は確信があっても人に回す。

10 項目

項目シーンfps × 窓危険度VLM への質問

試験動画

各項目について「問題あり」10 本と「問題なし」10 本 (計 200 本) を MiniMax H3 (ComfyUI) で生成した 15 秒の動画。問題ありは 0〜5 秒 通常 → 5〜10 秒 事象 → 10〜15 秒 通常 の構成で、時刻の当たりも見る。生成動画なので実環境の精度とは別に、方式の動作を確かめる目的。60 本での正解率は 75%: 喧嘩・倒れている人・火・運転中スマホは全部当たり、ダブルドリブルや「鞄に隠す」などの細かい動作は 4B の VLM では拾えない (詳細 docs/judge.md)。

コード: examples/judge / エンジン: openvons/vision/video_judge.py