Upgrade to Pro — share decks privately, control downloads, hide ads and more …

実務で使える異常検知 SOTA 手法 PatchCore

Henry Cui
August 27, 2022

実務で使える異常検知 SOTA 手法 PatchCore

Henry Cui

August 27, 2022
Tweet

More Decks by Henry Cui

Other Decks in Programming

Transcript

  1. 実務で使える異常検知 SOTA 手法
    PatchCore
    機械学習の社会実装勉強会第14回
    Henry
    2022/8/27

    View Slide

  2. 自己紹介
    ■ 東京大学理学部情報科学科
    ■ 同大学大学院情報理工学系研究科コンピュター科学専攻
    ■ 博士(情報理工学)取得
    ● ICMLなどの国際・国内学会・ジャーナルに論文発表
    ● 学振DC2
    ● AIPチャレンジなどの競争的研究費取得
    ● 中国の東北大学などを訪問
    ■ 在学中に株式会社パンハウスを共同創業
    2

    View Slide

  3. 内容
    ■ 画像異常検知
    ■ PatchCore
    ■ デモ
    3

    View Slide

  4. 画像異常検知
    ■ 想定シーン
    ● 自動車部品工場・サラダ工場など
    ■ 問題設定
    ● 正常データはたくさんある
    ■ 正常部品が手元にある
    ■ ある程度集められる
    ● 異常データはほぼない
    ■ すべての異常パターンを網羅的に用意することが難しい
    ■ そもそも異常パターンがまれ
    ■ AIにやってほしいこと
    ● 正常データだけでモデル構築して、運用時に異常検知できる
    ● 「Unsupervised Anomaly Detection」とも呼ぶ
    4

    View Slide

  5. 最近のアプローチ
    ImageNetで学習されたモデルを活用
    ■ ImageNetは巨大なデータセットで、それを学習したモデルは
    だいたいのドメインの特徴量を取り出せる、と仮定
    ■ 上記モデルと使って、画像の特徴量が簡単に出せる
    ■ 特徴量間の距離を上手く使えば、学習なしで異常検知でき
    ちゃう?
    ■ はい、実際高精度でできてしまう
    5

    View Slide

  6. 内容
    ■ 画像異常検知
    ■ PatchCore
    ■ デモ
    6

    View Slide

  7. PatchCoreとは
    ■ Towards Total Recall in Industrial Anomaly Detection,
    CVPR 2022
    ■ 工業異常検知用データセット MVTec AD において現状SOTA
    ● https://paperswithcode.com/sota/anomaly-detection-on-mvtec-ad
    7

    View Slide

  8. PatchCoreの中身
    8

    View Slide

  9. PatchCoreの中身
    以下の3つの部分からなっている
    ■ 特徴量作成
    ● 手元にある正常画像に関する特徴量を作成
    ■ 特徴量サンプリング
    ● 上記ステップで作成される特徴量が膨大
    ● 保存・距離測定時の探索のコストがかかるので、少なめにする
    ■ 距離測定
    ● 運用時に新しい画像が来るときに、正常の特徴量との距離を持って異
    常の度合いを決める
    9

    View Slide

  10. (1/3) 特徴量作成
    ■ 先行研究PaDiMの図示と大まかに同じことをやっている
    ■ ある座標 (i, j) に対して
    ● 周り window size p の特徴量を adaptive average pooling
    ● 中間の2つの層だけを取り出す
    ■ 上記PaDiMの図では3つを示してる
    ■ 後ろよりすぎだと、特徴量がImageNet分類に特化しすぎ問題
    ● 短い方を bilinearly rescale して長さ揃って concat する
    10

    View Slide

  11. (2/3) 特徴量サンプリング
    ■ ここで使う Coreset はもともと独立に研究された分野で、色ん
    な手法が確立された
    ■ 最近は、機械学習に影響しつつあり、回帰や能動学習などに
    使われ始めている
    ■ ある目的の達成が維持されるような部分集合を探す
    ● k-NN、回帰を行うときに見つかる関数が変わらない
    ■ 今回は最大カバレージを求める
    11

    View Slide

  12. (2/3) 特徴量サンプリング
    ■ Toy データでの Coreset VS Random Sampling 効果
    12

    View Slide

  13. (3/3) 距離測定
    ■ 新しい画像に対する異常スコア s を coreset 内要素との最短
    距離で計算
    ■ s は s* を coreset 内要素の分布を考慮してスケールした値に
    なる
    13

    View Slide

  14. 実験結果(すごく良かったよ、何ならSOTA)
    14
    他にも ablation study 色々...

    View Slide

  15. 内容
    ■ 画像異常検知
    ■ PatchCore
    ■ デモ
    ● 公式実装
    https://github.com/amazon-research/patchcore-inspection
    15

    View Slide