1. どんなもの?
- pretrained modelをfine tuning,distillationするUnsupervised Anomaly Detection
- local featureとglobal featureをそれぞれ別のNNより抽出し,その一致度を測ることでscore算出
- local featureは画像内のPatchから抽出,global featureはそのPatchを使用しないようにpartial convolutionすることで抽出
2. 先行研究と比べてどこがすごい?
- 従来のADでは,
- 画像全体を入力:global featureを獲得できるが,localizationができない
- Patchを入力:global featureを獲得できない
3. 技術や手法の"キモ"はどこ?
変数の定義
- $\mathbf{I}$: 入力画像
- $\mathbf{p}$: Patch
- $\mathbf{M}$: mask
- $\mathcal{L}$: Local Network
- $\mathcal{R}$: pretrained model
- $\mathcal{D}$: $\mathcal{L}(\mathbb{p})$と$\mathcal{R}(\mathbb{p})$の次元数を合わせるDecoder
- $c_{ij}$: minibatch内の$\mathcal{L}(\mathbb{p})$の相関行列の$(i, j)$番目要素
- $\mathcal{G}$: Global Network
- $\mathcal{C}$: DADのhead
学習
Local feature
- pretrained modelからfine tuningと蒸留を同時に行うことで学習する
- knowledge distillation loss $$ l_k = | \mathcal{D}(\mathcal{L}(\mathbb{p})) - \mathcal{R}(\mathbb{p}) |^2_2 $$
- compactness loss $$ l_c = \Sigma_{i \not= j}{c_{ij}} $$
- ↑2つを重みつき和して, $$ l_{local} = \lambda_k l_k + \lambda_c l_c $$
- を最小化するようにを事前に学習する
- local featureは $$ \mathbf{Z}_l = \mathcal{L}(\mathbb{p}) $$
Global feature
- Loacal feature抽出のために使ったPatchをGlobal Networkでは使わないようにpartial convolution
-
global featureは
-
IAD lossとDAD lossを最小化するよう学習する
Inconsistency Anomaly Detection Head
- Inconsistency Anomaly Detection Head(IAD Head)をlocalとglobal featureの不整合を検出できるよう設計
Distortion Anomaly Detection Head
- Distortion Anomaly Detection Head(DAD Head)を画像内の歪みを検出できるように設計
- と疑似欠陥を付与したPatchを分類できるようにする
- はかのいずれか
- のときは,のときは
推論
score
- inconsistency anomaly score
- distortion anomaly score
- 重み付きで足し合わせて,
localization
- overlapを許して,slinding windowすることでpatchを作り,score算出をしていく
4. どうやって有効だと検証した?
- MVTec で実験
- PROにおいて,PaDiMを上回る
- PROにおいて,PaDiMを上回る
5. 議論はあるか?
- PROにおいてSoTA更新
- image levelのAUROCについて言及がない?