はじめに
監視カメラの自動監視、車載カメラを用いた事故検知等、幅広いユースケースが考えられる動画像異常検知(VAD:Video Anomaly Detection)。近年の深層学習・生成モデルのブレークスルーに伴い、VAD分野も急速に進化しています。しかしながら、本分野の体系的な解説記事は乏しいため、VADでよく用いられる学術的なアプローチや産業応用の事例をまとめます。本記事を通じて特定のタスクにおいて最良の方針を選択する一助になれば幸いです。
概要
従来のコンピュータビジョンではハンドメイド特徴量(HOG特徴等)や背景差分、あるいはoptical flow情報を用いた識別アプローチが選択されていたものの、高レベルで複雑なシナリオが要求されるVADでは十分な解決ができていませんでした。
しかし、深層学習のブレークスルーに伴い、次々にSoTAを達成する手法が登場するなど、ここ数年で急速にVAD分野も進化しています。主にVADのアプローチは学術的には4つに大別され、①正常データのみの手法:UVAD(Unsupervised Video Anomaly Detection)、
②異常データを用いた手法:WVAD(Weakly-supervised Video Anomaly Detection)、③教師情報を必要としない手法:FVAD異常データを用いた手法:FVAD(Fully-unsupervised Video Anomaly Detection):、④マルチモーダル大規模言語モデル(MLLM)を用いた手法となります。それぞれにメリット・デメリットがあります、下図にまとめました。
なお簡単のため、学術的要素が強いFVADについては本記事では取り上げません。
ユースケースや設置環境、データの収集可能性等を加味して最適な手段を選択することが第一歩となります。また、vadタスクに限定されませんが、一般的なAIの構築フローを下図に示します。データ収集段階、学習段階を経て、実用フェーズに移る流れとなります。
UVAD:教師なしVAD
UVADは、異常検知の典型的な課題である教師データの収集困難さに目を付けた手法です。異常の発生は稀有なので、大半の正常データを学習対象としてモデル化し、その逸脱度を異常と定義することで検知を可能とする。特に有名で先駆的な手法として下記[1]があげられます。
ABNORMAL EVENT DETECTION IN VIDEOS USING GENERATIVE ADVERSARIAL NETS
監視カメラ画像と、オプティカルフロー(速度情報)それぞれの「正常」をAIモデルを用いて学習し、その乖離度合いを異常として出力することができる。
この手法では、シーンの正常性の内部表現を学習するために,正常フレーム(Appearance)とそれに対応するオプティカルフロー画像(Motion)を用いて学習するGANを用いることを提案しています。
ポイントとしては、大量の正常データのみを学習対象として、その逸脱度合いで異常を検知するフレームワークです。従来よりUVAD向けのデータセットは数多く提案されており、UCSD[2]やShanghai-Tech[3]、Avenue[4]などが挙げられます。異常データが収集できない、あるいは収集できてもごく少量の場合は、uvadを選択することが望ましいでしょう。
しかし、uvadの弱点は学習対象にない正常も、異常と認識してしまうことです。工場内の監視を考える場合、データ収集段階で存在しない人物が実用段階で現れた場合、たとえその人が異常な行動を示さなくとも異常と誤検知される可能性があります。また、照明変動や、工場内のレイアウト変動にも影響される可能性が高いです。
WVAD:弱教師ありVAD
UVADは問題設定において、「学習時に正常を網羅する」という強い仮定があり、これは実世界運用においては先程説明したように、難しいシーンもあります。こうした問題点を踏まえ、弱い教師データを用いるアプローチがWVADです。通常の教師ありと同じように、正常と異常データを用いて識別器を学習します。近年では、大規模なデータセット[UCF-Crime[5]/XD-violence[6]等]が提案され、汎用的で現実的なモデルを構築することができるようになりました。異常データが収集可能な場合には、wvadを選択することが望ましいでしょう。特にWVADは、異常を明示的に学習するため、照明変動やカメラ地点の移動といった変化に比較的ロバストです。さらに、学習データのアノテーションが動画クリップレベルで住むため、コスト低く収集することが可能です。しかし異常データが集まらない場合は適用ができないことに注意してください。
[5]の手法概要。正常ビデオと異常ビデオそれぞれをAIモデルに学習させ、正常と異常それぞれの特徴を理解する。
MLLMとVAD
近年の目覚ましい大規模言語モデルの発展により、VAD分野においてもMLLMを活用した手法が登場し始めています。LLMとの融合により、言語モダリティを扱うことができる点が最大の特徴といえます。アプローチとしては、主に①学習を必要としない手法、②MLLMを追加学習(ファインチューニング)する手法が登場しています。VADを適用する現場のデータ収集状況により、①か②を選択することができます。とはいえ、既存ベンチマークにおける優位性では②が圧倒的であることに注意してください。
②のファインチューニングアプローチ[7]では、動画異常検知向けのキャプション付きデータセットを用いて学習することで、異常事象の特定と、その状況説明を行うことができます。
より高レベルな異常理解が可能になる手法ですが、追加学習には相当の計算リソースや電力が必要とされる点が課題です。推論であっても、エッジでの処理には限界がある点に注意してください。VAD向けのベンチマークとして、Holmes-VADのデータセットが近日公開される予定のようです。
まとめ
本記事では、動画異常検知(VAD: Video Anomaly Detection)の基本的なアプローチと適用事例について解説しました。
VADのアプローチは主に以下の4つに分類されます:
UVAD(Unsupervised VAD):異常データが不要で、正常データのみを用いて異常を検知。ただし、環境変動に弱い。
WVAD(Weakly-supervised VAD):異常データも利用し、照明変動などにロバスト。ただし、異常データの収集が必要。
FVAD(Fully-unsupervised VAD):完全な教師なしで行うが、実用には課題が多い。
MLLM(大規模言語モデルを用いた手法):異常事象の詳細な説明が可能だが、高い計算リソースが必要。
各アプローチには特有の強みと弱みがあり、ユースケースやデータの収集可能性に応じて最適な手法を選択することが重要です。最後までご覧くださりありがとうございました。
参考文献
[1] Ravanbakhsh et al., "Abnormal Event Detection in Videos Using Generative Adversarial Nets" (ICIP 2017)
[2] Mahadevan et al., "Anomaly Detection in Crowded Scenes" (CVPR 2010)
[3] Luo et al., "A Revisit of Sparse Coding Based Anomaly Detection in Stacked RNN Framework" (ICCV 2017)
[4] Lu et al., "Abnormal Event Detection at 150 FPS in MATLAB" (ICCV 2013)
[5] Sultani et al., "Real-World Anomaly Detection in Surveillance Videos" (CVPR 2018)
[6] Wu et al., "Not Only Look, But Also Listen: Learning Multimodal Violence Detection Under Weak Supervision" (ECCV 2020)
[7] Zhang et al., "Holmes-VAD: Towards Unbiased and Explainable Video Anomaly Detection via Multi-modal LLM," arXiv 2024.