軸屋敬介 | Keisuke Jikuya
Home
Blog
Note
Post
CFLOW-AD: Real-Time Unsupervised Anomaly Detection with Localization via Conditional Normalizing Flows
CFLOW-AD: Real-Time Unsupervised Anomaly Detection with Localization via Conditional Normalizing Flows
https://arxiv.org/abs/2107.12571
Oct 21, 2021
Anomaly Detection, Flow,
WACV (2022)
1. どんなもの?
事前学習済みのCNNのEncoderの階層ごとに出力をPositional Encoderで条件付きの正規化Flow(Decoder)で尤度を求め、確率を出し異常度を算出
2. 先行研究と比べてどこがすごい?
FlowなのでPaDiM等より計算コストが低く時間が少ない
しかも、PaDiM等より精度が出た
3. 技術や手法の”キモ”はどこ?
変数定義
$u_i$: ランダム変数
$j_i$: CFLOW Decoderのヤコビアン
学習
デコーダの学習
\[L(\theta) = D_{KL}[p\_z(z) | \hat{p}\_z(z,c,\theta)] \approx \frac{1}{N}\sum^N_{i=1} \big[\frac{||u||^2}{2} - log |det J_i | \big] + const\]
推論(異常度の算出)
テストデータの対数尤度を推定
\[\log \hat{p}_z (z_i, c_i, \hat{\theta}) = - \frac{|| u_i ||^2 + D \log 2\pi}{2} + \log |det J_i|\]
各kスケールの確率に変換
\[p^k_i = e^{\log \hat{p}_z (z^k_i, c^k_i, \hat{\theta}_k)}\]
双線形補間でアップサンプリングしてすべての確率を集約して異常マップに
\[S = max{\sum^K_{k=1}P_k} - \sum^K_{k=1}P_k\]
4. どうやって有効だと検証した?
MVTec データセット
STC データセット
監視カメラの映像
一覧へ戻る