
拓海さん、最近うちの現場でも監視カメラの映像をAIで解析しようという話が出てきましてね。ただ、うちのように変な事例(異常)がめったに起きない現場だと学習データが足りないと聞きました。そもそもそういうのって現実的にどうやって解決するんですか。

素晴らしい着眼点ですね!大きく分けて三つの考え方がありますよ。まずは異常を直接集める方法、次に合成して作る方法、最後に正常のみ学習して外れ値を検出する方法です。今回は合成で異常データを作る研究を、分かりやすく説明しますよ。

合成するってカメラ映像をでっち上げるということですか。現場の実務に使える精度が出るんでしょうか。投資対効果が分からないと踏み切れません。

大丈夫、一緒に整理しますよ。要点は三つです。第一に合成とは既存の正常映像を変形して“あり得る異常”を作ることです。第二にその合成データを使ってモデルを訓練すると、稀な事象にも反応しやすくなります。第三に現場導入では合成と現実データの組合せで検証を回すのが有効です。

でも本当にそれで“本物の異常”と見分けがつくようになるんですか。うちの現場は人の動きが特殊なところもあるので、そこが心配です。

良い懸念ですね。技術的には、まず正常映像から意味のある領域を自動で切り出す(これはunsupervised segmentation、無監督セグメンテーションの考え方です)ことで、実際に変化を加える場所を限定します。身近な例で言うと、机の上の物だけを切り出して入れ替えるようなイメージですよ。

これって要するに“正常な写真の一部を入れ替えたり変形して、異常のサンプルを作る”ということ?

その通りですよ!要するに正常から“できるだけ自然に見える変異”を作り、モデルに学習させるのです。重要なのは現場の特性に合わせて変換ルールを作ることです。変換が現場とかけ離れていると誤検知が増えますから、一緒に調整しましょう。

なるほど。導入の手順やコスト感も教えてください。現場の業務を止めずに段階的に導入したいのですが。

大丈夫、段階的にできますよ。まずは既存の正常データで合成ルールを作るPoC(概念実証)を短期間で回し、合成データで学習したモデルをオフラインで評価します。評価が良ければ、まずはアラートを人が確認するモードで運用して、誤検知率を測りながら閾値を調整します。

分かりました。まずは正常だけで異常を作る、合成で様子を見る。それで成果が出そうなら拡張する、という流れですね。自分の言葉で言うと、正常データを活用して“あり得る悪い事象”を作り、その合成で学習して検出器の目を広げる、ということですね。


