目的
前回の「V-JEPA2で何ができそうか試してみる」では、V-JEPA 2が映像から取り出した特徴量(映像の情報を数値で表したもの)を使って走行動画のリスク区間を調べる実験を紹介しました。今回はその続編として、入力画像の空間的な細部(detail)を減らした場合に何が変わるか、つまり、画像の細部を減らした際にどのような影響があるのかを調査してみます。各detail条件で、特徴量からリスクのスコアを出す小さな判定器(probe)だけを学習し直し、同じvalidation集合(検証用データ)で比較しました。
今回の問い
入力の細部を256、128、64相当にしたとき、学習済みの重みを更新しない(凍結した)V-JEPA 2 encoder(映像を特徴量に変換するモデル)から得る特徴でリスク区間をどれくらい順位づけられるでしょうか。また、各detail条件で線形probeをtrainデータ(学習用データ)から学習し直すとどうなるでしょうか。
入力情報の条件
全条件で2秒・64フレームの窓(window:動画から切り出した時間区間。frameは動画の1枚の画像)を使い、V-JEPA 2 encoderは凍結しました。まず映像を256×256にletterboxし、128/64条件では一度小さく縮小してから256×256に再拡大します。その後は全条件で同じencoder入力サイズ・token gridです。
同じ動画窓(2秒、64フレーム)
├─ 256のdetail ──────────→ 凍結encoder → train160でprobeをfit
├─ 128へ縮小 → 256へ再拡大 → 凍結encoder → train160でprobeをfit
└─ 64へ縮小 → 256へ再拡大 → 凍結encoder → train160でprobeをfit
つまりこれは、encoderへ渡す解像度そのものを下げて処理を軽くする実験ではありません。推論時間やメモリ使用量の削減も測っていません。
比較方法
主指標はAverage Precision(AP)です。APは、リスク区間という正例をスコア上位に並べられるかを、precision(適合率:正例と判定した中で実際に正例だった割合)とrecall(再現率:実際の正例のうち拾えた割合)から評価します。正解率とは異なり、AP=0.144516を「約14%の判定が正しい」とは読みません。
| 項目 | 内容 |
|---|---|
| データセット | Nexar Collision Predictionの公式train splitを使った内部split。公式testは未使用 |
| train | 160本、11,390窓 |
| validation | 固定pilot 40本、2,905窓 |
| 重複 | train/validation間は0本 |
| モデル |
facebook/vjepa2-vitl-fpc64-256、指定revision b3c1679b7c34d3255ef3547f27c7b226aefab26f
|
| probe | trainのみでfitするStandardScaler+class-balanced LogisticRegression、C=0.01、lbfgs、seed=42 |
| 主指標 | 窓単位Average Precision(AP) |
| 差の区間 | 動画単位paired bootstrap(同じ動画の再標本化を条件間で揃える方法)、1,000回、seed=42、95% percentile信頼区間(AP差の再標本化分布の中央95%) |
用語と指標の読み方
| 用語 | この記事での意味 |
|---|---|
| encoder・特徴量・probe | encoderが映像を数値表現である特徴量に変換し、probeがその特徴量からリスクのスコアを出します。凍結するのはencoderで、各条件で学習し直すのはprobe側だけです |
| window / frame | windowは切り出した時間区間、frameは動画の1枚の画像です。窓APとフレームAPはそれぞれの単位のスコアと正解ラベルで計算するため、同じ指標名でも値を直接比較しません |
| AP / PR-AUC | AP(Average Precision)は、recallの増分を重みとして各閾値のprecisionを足し合わせます。PR-AUC(precision-recall曲線の下面積)という呼び方でも、点の間を直線で結ぶ台形積分はAPと算出法が異なり、値が一致するとは限りません。ここで報告するのはAPです |
| 陽性率・評価集合 | 陽性率は評価対象に正例が占める割合です。APは陽性率や評価集合の構成に依存するため、異なるデータや評価単位のAPをそのまま性能差と見なしません |
| paired bootstrap・95%信頼区間 | 動画を重複ありで選び直し、同じ動画の組を各条件に使ってAP差を繰り返し計算します。今回はその差の中央95%をpercentile区間とします。区間が0を含むことは、差がないと証明されたという意味ではありません |
| train / validation・pilot | trainはprobeの学習用、validationは学習に使わない検証用です。pilotは小規模な探索的評価を指し、今回の40本からの結果です |
| letterbox・token grid | letterboxは縦横比を保って余白を足し、所定サイズに収める処理です。token gridはencoderが扱う画像の小領域の並びです。今回の縮小・再拡大では、この並びやencoder入力サイズを小さくしていません |
AP・precision・recallの定義と台形積分との差はscikit-learnの指標解説、陽性率との関係はprecision-recall曲線の仕様を参照できます。復元抽出とpercentile区間の一般的な説明はSciPyのbootstrap解説にあります。これは用語の参照先で、今回SciPyで実行したという意味ではありません。
結果
| detail条件 | 窓AP | 256との差(95%区間) | フレームAP | 同一固定閾値でのイベント検出 | False alarms |
|---|---|---|---|---|---|
| 256 | 0.144516 | — | 0.104294 | 4 / 21 | 20 |
| 128 | 0.107617 | -0.036898 [-0.184652, 0.083747]
|
0.082793 | 4 / 21 | 25 |
| 64 | 0.101968 | -0.042548 [-0.199979, 0.072646]
|
0.083509 | 2 / 21 | 18 |
validation窓は各条件2,905件すべてを採点しました。フレーム指標は各条件で45,859行中43,446行(94.74%)が有効です。128/64の特徴抽出失敗は0件で、イベント21件もすべて全区間を採点できました。
イベント指標には3条件共通の閾値0.8996675を使っています。ただし、この閾値を選んだ履歴は今回確認していません。したがって4/21、2/21といった値やfalse alarmsは参考比較に限り、運用上の性能を表すものではありません。
どう読めるか
窓APの点推定は入力の細部を減らすほど低くなりました。一方で、128・64それぞれの256との差の95%信頼区間はいずれも0を含みます。今回の40本pilotだけから、細部を減らした条件で性能が確実に低下した、あるいは差がない、と断定することはできません。
今回は256/128/64それぞれでprobeをtrain160から再学習しました。過去の固定probeは1,200本の学習データを使っており、条件が一致しません。過去値と比べて「再学習で精度が回復した」と結論づけることもできません。
再現する場合
公開済みのコードはGitHubのjepa-risk-detectionにあります。環境設定はuv.lockとREADMEを参照してください。
今回の比較スクリプトと前処理の追加変更、窓APとその差の信頼区間を再計算する集計手順は未公開です。現時点では、リポジトリをcloneするだけで同じ実験を再現することはできません。詳しい条件と公開状況は検証レポートを参照してください。
主な実行条件は--mode pilot --probe-mode refit --selection pilot --bootstrap 1000 --seed 42です。実行には利用条件を確認して各自で取得したNexarデータ、準備済みmanifest、既存256特徴・probe metadata、閾値情報、モデルファイルなどが必要です。これらはリポジトリに同梱していません。
限界
- 40本の固定validation pilotだけを評価しており、公式testや独立した大規模holdoutでの結果ではありません。
- AP差の区間は0を含むため、統計的な差を断定できません。
- 過去のtrain1200固定probeとの直接比較はできません。
- 閾値の選定履歴を確認できていないため、イベント指標は同一閾値による参考比較です。
- この実験はリスク区間ラベルの分類です。事故を事前に予知できることや、運転環境で安全に使えることは示していません。
- 入力サイズを最終的に全条件256×256に揃えるため、推論時間・メモリ使用量・消費電力の削減は評価していません。
データとモデルの出典・ライセンス
データセットはNexar Collision Predictionです。公式のNexar Open Data Licenseとデータカードの引用条件を確認してください。データセットのライセンスは本プロジェクトのMIT Licenseとは別です。
- Moura, Daniel C., and Zvitia, Orly. “Nexar Collison Dataset.” Hugging Face, 2025. https://huggingface.co/datasets/nexar-ai/nexar_collision_prediction
- Daniel C. Moura, Shizhan Zhu, and Orly Zvitia. “Nexar Dashcam Collision Prediction Dataset and Challenge.” 2025. https://arxiv.org/abs/2503.03848
- V-JEPA 2の指定revisionのモデルページにはMITと表示されています。
今回の記事・レポートには集計値だけを掲載し、動画、フレーム、重み、probe、特徴量、動画単位の結果は含めません。派生probeの再配布条件は確認していないため、probeファイルも配布しません。
- 閾値の選定履歴を確認できていないため、イベント指標は同一閾値による参考比較です。
- この実験はリスク区間ラベルの分類です。事故を事前に予知できることや、運転環境で安全に使えることは示していません。
- 入力サイズを最終的に全条件256×256に揃えるため、推論時間・メモリ使用量・消費電力の削減は評価していません。