Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
実務で使える異常検知 SOTA 手法 PatchCore
Search
Henry Cui
August 27, 2022
Programming
0
1.2k
実務で使える異常検知 SOTA 手法 PatchCore
Henry Cui
August 27, 2022
Tweet
Share
More Decks by Henry Cui
See All by Henry Cui
Direct Preference Optimization
zchenry
0
110
Diffusion Model with Perceptual Loss
zchenry
0
61
レンズの下のLLM / LLM under the Lens
zchenry
0
88
Go with the Prompt Flow
zchenry
0
94
Mojo Dojo
zchenry
1
130
ことのはの力で画像の異常検知 / Anomaly Detection by Language
zchenry
0
150
驚愕の事実!LangChainが抱える問題 / Problems of LangChain
zchenry
0
110
MLOps初心者がMLflowを触る / MLflow Brief Introduction
zchenry
0
57
{{guidance}}のガイダンス / Guidance of guidance
zchenry
0
100
Other Decks in Programming
See All in Programming
IntelliJ IDEA を知らなかった 自分に教えたい小ネタ集 / IntelliJ IDEA Hints for My Past Self
mackey0225
3
170
オブジェクト指向コードレビューの新しいアプローチ
akkie76
3
1.5k
Deno に Web 標準 API を実装する / Implementing Web Standard API to Deno
petamoriken
0
350
PHP 8.3で追加されたjson_validate()を徹底的に深掘りしてみよう
mashirou1234
1
720
MySQL のインデックスの種類をおさらいしよう! / overviewing indexes in MySQL
okashoi
0
170
WinUI 3デモ - "CommunityToolkit.Mvvm"NuGetパッケージ編
andrewkeepcoding
0
130
Compiling Python to WebAssembly with py2wasm
syrusakbary
0
130
Learning PHP and Static Analysis with PHP Parser
inouehi
1
250
LLMチャットボットのアプリケーション設計Tips
os1ma
4
660
Enhancing Applications with Accessibility API
kishikawakatsumi
3
890
プロンプトエンジニアリング入門
tomokusaba
2
970
生成 AI の中身を覗いてみよう〜基礎から医療現場での応用まで〜
soh9834
2
760
Featured
See All Featured
Building Effective Engineering Teams - LeadDev
addyosmani
25
1.8k
Product Roadmaps are Hard
iamctodd
43
9.6k
Bash Introduction
62gerente
604
210k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
67
38k
GraphQLとの向き合い方2022年版
quramy
28
12k
The Invisible Customer
myddelton
114
12k
Fontdeck: Realign not Redesign
paulrobertlloyd
75
4.8k
VelocityConf: Rendering Performance Case Studies
addyosmani
319
23k
Git: the NoSQL Database
bkeepers
PRO
421
63k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
8
8.2k
Designing the Hi-DPI Web
ddemaree
275
33k
Practical Orchestrator
shlominoach
180
9.7k
Transcript
実務で使える異常検知 SOTA 手法 PatchCore 機械学習の社会実装勉強会第14回 Henry 2022/8/27
自己紹介 ▪ 東京大学理学部情報科学科 ▪ 同大学大学院情報理工学系研究科コンピュター科学専攻 ▪ 博士(情報理工学)取得 • ICMLなどの国際・国内学会・ジャーナルに論文発表 •
学振DC2 • AIPチャレンジなどの競争的研究費取得 • 中国の東北大学などを訪問 ▪ 在学中に株式会社パンハウスを共同創業 2
内容 ▪ 画像異常検知 ▪ PatchCore ▪ デモ 3
画像異常検知 ▪ 想定シーン • 自動車部品工場・サラダ工場など ▪ 問題設定 • 正常データはたくさんある ▪
正常部品が手元にある ▪ ある程度集められる • 異常データはほぼない ▪ すべての異常パターンを網羅的に用意することが難しい ▪ そもそも異常パターンがまれ ▪ AIにやってほしいこと • 正常データだけでモデル構築して、運用時に異常検知できる • 「Unsupervised Anomaly Detection」とも呼ぶ 4
最近のアプローチ ImageNetで学習されたモデルを活用 ▪ ImageNetは巨大なデータセットで、それを学習したモデルは だいたいのドメインの特徴量を取り出せる、と仮定 ▪ 上記モデルと使って、画像の特徴量が簡単に出せる ▪ 特徴量間の距離を上手く使えば、学習なしで異常検知でき ちゃう?
▪ はい、実際高精度でできてしまう 5
内容 ▪ 画像異常検知 ▪ PatchCore ▪ デモ 6
PatchCoreとは ▪ Towards Total Recall in Industrial Anomaly Detection, CVPR
2022 ▪ 工業異常検知用データセット MVTec AD において現状SOTA • https://paperswithcode.com/sota/anomaly-detection-on-mvtec-ad 7
PatchCoreの中身 8
PatchCoreの中身 以下の3つの部分からなっている ▪ 特徴量作成 • 手元にある正常画像に関する特徴量を作成 ▪ 特徴量サンプリング • 上記ステップで作成される特徴量が膨大
• 保存・距離測定時の探索のコストがかかるので、少なめにする ▪ 距離測定 • 運用時に新しい画像が来るときに、正常の特徴量との距離を持って異 常の度合いを決める 9
(1/3) 特徴量作成 ▪ 先行研究PaDiMの図示と大まかに同じことをやっている ▪ ある座標 (i, j) に対して •
周り window size p の特徴量を adaptive average pooling • 中間の2つの層だけを取り出す ▪ 上記PaDiMの図では3つを示してる ▪ 後ろよりすぎだと、特徴量がImageNet分類に特化しすぎ問題 • 短い方を bilinearly rescale して長さ揃って concat する 10
(2/3) 特徴量サンプリング ▪ ここで使う Coreset はもともと独立に研究された分野で、色ん な手法が確立された ▪ 最近は、機械学習に影響しつつあり、回帰や能動学習などに 使われ始めている
▪ ある目的の達成が維持されるような部分集合を探す • k-NN、回帰を行うときに見つかる関数が変わらない ▪ 今回は最大カバレージを求める 11
(2/3) 特徴量サンプリング ▪ Toy データでの Coreset VS Random Sampling 効果
12
(3/3) 距離測定 ▪ 新しい画像に対する異常スコア s を coreset 内要素との最短 距離で計算 ▪
s は s* を coreset 内要素の分布を考慮してスケールした値に なる 13
実験結果(すごく良かったよ、何ならSOTA) 14 他にも ablation study 色々...
内容 ▪ 画像異常検知 ▪ PatchCore ▪ デモ • 公式実装 https://github.com/amazon-research/patchcore-inspection
15