現在、世界最先端の画像の異常検知手法の性能は、どのくらいなのでしょうか?
2021年度に国際会議に採択された論文の最新手法を調査してみました!(Pythonのプログラムコードも見つけたので、リンクを貼っておきます。)
論文の実験結果に記載されているMVTecデータセットのAUC値で各手法を比較してみたいと思います。
手法の概要紹介
CutPaste
CVPR2021に採択された論文の手法。
CVPRはコンピュータビジョン系の世界最高峰の国際会議で、採択率は約20%。5人の一流の研究者が論文を投稿しても、1人しか採択されないという超難関です。
この手法のアプローチとしては、名前の通り、「カット&ペースト」して学習用の異常画像を作成することです。
正常画像の一部の領域をランダムに切り取り、切り取った領域を正常画像に張り付けることで疑似的な異常画像を生成し、全く同じ重みで、元の正常画像では0、疑似的な異常画像では1を予測するようにCNNを学習させます。
論文はこちらを参照ください。
Python(Pytorch)のプログラムコードはこちら。
InTra
ICIAP2021に採択された論文の手法。
Transformerベースの異常検知手法です。
元々Transformerは翻訳などの自然言語分野の手法でしたが、近年、画像認識などにも使われるようになってきました。
論文はこちらを参照ください。
Python(Pytorch)のプログラムコードはこちら。
DifferNet
WACV2021に採択された論文の手法。
CNNによる特徴量抽出と確率密度分布の推定を組み合わせた手法です。
さらにLossを逆伝搬させることで勾配マップを取得し、簡単に入力画像の異常箇所を可視化することができます。
論文はこちらを参照ください。
Python(Pytorch)のプログラムコードはこちら
ADFI
コーディング無しで簡単に異常検知モデルを自動生成できるプラットフォーム。
参考情報として、前回の記事で算出したADFI(DML)のAUCも載せておきます。
異常検知モデル自動作成プラットフォーム「ADFI」の使い方はこちら。
各手法の比較結果
各論文にMVTecデータセットでの実験結果が載っていますので、それを一覧にまとめてAUCの値を比較しました。
全データセットでのAUCの平均値はCutPasteが最高でしたが、実質、誤差くらいしか違いませんでした。
(アカデミックの分野の方々は、この0.01ポイント上げるために死に物狂いで研究されているので、誤差と言ったら怒られそうですが。)
ただし、どの手法も最高値を出しているデータセットがあるので、手法によって得意・不得意が異なるようです。
所感
世界最先端の異常検知手法を比較してみましたが、0.01ポイントの差を争う世界なのだと改めて実感しました。つまり、どの手法も高性能でした!(「誤差」と言って、ごめんなさい!)
この記事で調べた手法は、GitHubでプログラムコードが公開されているので、とてもありがたいですね!
時間あるときに、自分でも試してみようと思います。
関連記事