논문 링크 : DRAEM
DRÆM – A discriminatively trained reconstruction embedding for surface anomaly detection논문 리뷰입니다.
Introduction
- 표면 이상 탐지는 정상적인 모양에서 벗어나는 image 영역을 찾아내는 작업이다. 일반적인 anomaly detection 문제는 훈련된 정상 이미지와 현저히 다른 전체 이미지를 anomaly로 간주한다. 반면에 surface anomaly detection 문제는 anomaly가 image pixel의 작은 부분에만 존재하며, 일반적으로 train data의 분포에 가깝다.
- 실제로 anomaly는 다양하게 나타날 수 있고, anomaly가 포함된 image를 얻기 어렵고, 수동 annotation 작업이 오래 걸릴 수 있다. 이는 anomaly-free(정상) image로만 이루어진 불균형한 train set이 될 가능성이 크다.
- Autoencoder, GAN과 같은 Reconstructive 방법들은 anomaly-free image만을 사용하여 강력한 reconstruction subspace를 학습할 수 있다. 학습 중에 관측되지 않은 이상 영역에서 reconstruction 능력이 떨어지는 것을 이용하여 input image와 reconstruction image간의 차이를 임계치로 anomaly를 탐지할 수 있다. 하지만, 정상적인 모양과 크게 다르지 않은 anomaly는 종종 잘 reconstruct 되기 때문에 anomaly를 감지하는 것은 어렵다. (그림 왼쪽 위 참조)
- 최근의 개선 방법들은 일반적인 목적의 network와 anomaly-free image에 특화된 network에서 추출된 deep feature의 차이를 고려한다. 판별 방법은 deep subspace에서 non-anomalous texture의 clustering에서 벗어나는 것으로 정의될 수 있고, 이러한 compact subspace를 형성하면 anomaly가 정상 sample과 가깝게 mapping되는 것을 방지할 수 있다.
- generative method의 일반적인 단점은 anomaly-free data로만 모델을 학습하며, discriminative anomaly detection에 최적화 되지 않는다는 것이다. 왜냐하면 training time에 positive example(i.e anomaly)가 이용되지 않기 때문이다. Synthetic anomaly를 사용하여 discriminative segmentation method를 학습할 수 있지만, 이는 합성 모양에 overfitting되며, 결과적으로 실제 anomaly에 잘 일반화되지 않는 decision boundary를 학습하게 된다. (그림 오른쪽 위 참조)
- 본 논문에서는 원본과 reconstuct된 모양을 포함하는 subspace에서 discriminative model에 학습시켜 overfitting을 줄일 수 있다고 가정한다. 이 방법은 합성 모양에 overfit되지 않고, 원본과 reconstruct된 anomaly 모양간의 local-appearance-conditioned distance 함수를 학습하여 다양한 실제 anomaly들에 잘 일반화 될 수 있다.
- 이 가설을 검증하기 위해, 새로운 deep surface anomaly detection network를 제안한다. 이 network는 합성된 OOD 패턴에서 end-to-end방식으로 판별적으로 학습되며, 이 패턴들은 target-domain anomaly를 충실히 반영할 필요가 없다.
- Network는 reconstructive sub-network와 discriminative sub-network로 구성되어 있다.
- reconstructive sub-network는 anomaly-free reconstruction을 학습한다.
- discriminative sub-network는 원본 image와 reconstructed image의 공동모양에 대한 discriminative model을 학습하여 고품질의 픽셀단위 anomaly detection map을 생성한다.
- 제안된 모델은 판별적으로 학습하지만, 테스트 시점에서 synthetic anomaly appearance가 실제 anomaly와 밀접하게 일치할 필요가 없다.
DRÆM
제안된 discriminative joing reconstruction anomaly embedding method (DRÆM)은 reconstructive sub-network와 discriminative sub-network로 구성되어 있다.
- reconstructive sub-network는 input image의 anomaly를 암묵적으로 감지하고, 의미적으로 그럴듯한 이상이 없는 콘텐츠로 재구성 하도록 학습되며, input image의 정상적인 영역은 그대로 유지한다.
- discriminative sub-network는 original image와 reconstructed image의 결합된 모양으로부터 joint reconstruction-anomaly embedding을 학습하고, 정확한 anomaly segmentation map을 생성한다.
Anomalous training example들은 개념적으로 간단한 과정을 통해 anomaly-free image에 anomaly를 시뮬레이션 하여 생성된다. 이러한 anomaly generation method는 임의의 양의 anomaly sample뿐만 아니라 픽셀단위의 완벽한 anomaly segmentation map을 제공하므로 실제 anomaly sample 없이도 제안된 방법을 훈련하는데 사용할 수 있다.
Reconstructive sub-network
reconstructive sub-network는 encoder-decoder 구조로 구성되며 input image의 local pattern을 정상 sample의 분포에 더 가까운 pattern으로 변환한다.
reconstruction 기반 anomaly detection method들은 $l_2$ loss를 종종 사용하지만, 이는 이웃하는 픽셀간의 독립성을 가정하기 때문에, SSIM loss를 추가하여 사용하였다.
$$
L_{SSIM}(I, I_{r})=\frac{1}{N_{p}}\sum^{H}_{i=1}\sum^{W}_{j=1}1-SSIM(I, I_{r})_{(i,j)}\tag{1}
$$
- $I$ : original image
- $I_a$ : simulator를 통한 anomalous image
- $I_r$ : network에 의한 reconstructed image
- $H$ : image $I$의 height
- $W$ : image $I$의 width
- $N_p$ : image $I$의 pixel 수
- $SSIM(I, I_{r})_{(i,j)}$: image 좌표 $(i,j)$를 중심으로 한 $I$와 $I_{r}$ 의 patch(window size = 11x11)에 대한 SSIM값
그러므로 reconstruction loss는 아래와 같다.
$$
L_{rec}(I, I_{r})=\lambda L_{SSIM}(I, I_{r}) \text{ + } l_{2}(I, I_{r})\tag{2}
$$
- $\lambda$ : loss balancing hyper-parameter
Discriminative sub-network
Discriminative sub-network는 U-Net과 유사한 아키텍쳐를 사용한다.
reconstructive sub-network의 정상 복원 속성 때문에 $I$와 $I_r$의 결합된 모양은 이상이 있는 이미지에서 상당한 차이가 있어, anomaly segmentation에 필요한 정보를 제공한다.
reconstruction 기반의 이상 탐지 방법들은 SSIM과 같은 유사도 함수를 통해 anomaly map을 얻지만, surface anomaly detection에서는 수작업으로 측정하기 어렵다. 하지만 Discriminative sub-network는 적절한 거리 측정을 자동으로 학습한다.
Focal Loss($L_{seg}$)는 discriminative sub-network에 적용되어 hard example의 정확한 segmentation을 위한 robustness를 높인다.
두 sub-network의 segmentation과 reconstructive의 목표를 위한 DRÆM의 학습에 사용되는 total loss는 아래와 같다.
$$
L(I, I_{r}, M_{a}, M) = L_{rec}(I,I_{r})\text{ + }L_{seg}(M_{a}, M)\tag{3}
$$
- $I_c$ : $I_r$ 과 $I$의 channel 단위 연결
- $M_o$ : network에서 추출된 $I$와 같은 size의 anomaly score map
- $M_a$ : ground truth(simulator에서 나온 학습과정에서의 정답 mask)
- $M$ : output anomaly segmentation mask
Simulated anomaly generation
DRÆM은 target domain에서 실제 anomaly 모양을 충실히 반영하는 시뮬레이션을 필요로 하지 않으며, 대신 OOD 형태만을 생성하여 적절한 거리 함수를 학습하여 정상으로부터의 편차로 이상 모양을 인지할 수 있도록 한다.
이 simulator는 original anomaly-free image $I$, augmented image containing simulated anomaly $I_a$, pixel-perfect anomaly mask $M_a$를 포함하는 training sample 3가지를 생성한다.
- 다양한 anomaly 형태를 포착하기 위해 Perlin noise generator를 이용해 noise image를 생성한다.($P$)
- 무작위로 샘플링된 threshold에 의해 이진화되어 anomaly map으로 변환된다.($M_a$)
- anomaly texture image는 input image의 분포와 무관한 anomaly source image dataset에서 샘플링 된다.($A$)
- Random augmentation sampling은 {posterize, sharpness, solarize, equalize, brightness change, color change, auto-contrast} set에서 샘플링한 3가지 random augmentation function에 의해 적용된다.
- augmented texture image($A$)는 anomaly map($M_a$)으로 마스킹되고 $I$와 혼합되어 OOD anomaly를 생성하여 학습된 Network의 decision boundary를 강화하는데 도움이 된다.
augmented training image $I_a$는 아래와 같이 정의된다.
$$
I_{a}=\overline{M}_{a}\odot I \text{ + }(1-\beta)(M_{a}\odot I) \text{ + }\beta(M_{a}\odot A)\tag{4}
$$
- $\overline{M}_{a}$ : inverse of $M_a$
- $\odot$ : 원소별 곱셈연산
- $\beta$ : 불투명도 parameter($\beta \in [0.1, 1.0]$)
이러한 무작위 합성과 증강은 하나의 텍스쳐로 다양한 anomaly image를 생성할 수 있다.
Surface anomaly localization and detection
discriminative sub-network의 output은 픽셀 수준의 anomaly detection mask $M_o$이다. 이는 이미지에 anomaly가 존재하는지 여부를 판단하는 이미지 수준의 anomaly score를 간단한 방법으로 해석할 수 있다.
$M_o$는 local anomaly 반응 정보를 집계하기 위해 $s_{f}\times s_{f}$ 크기의 mean filter $f_{s_{f}\times s_{f}}$를 사용하여 평활된다. 이미지 수준의 anomaly score $\eta$는 평활된 anomaly score map의 최대값을 취하여 계산된다.
$$
\eta = max(M_{o}\ast f_{s_{f}\times s_{f}})\tag{5}
$$
- $f_{s_{f}\times s_{f}}$ : $s_{f}\times s_{f}$ 크기의 mean filter
- $\ast$ : convolution operator
Experiments
DRÆM은 unsupervised surface anomaly detection와 localization의 SOTA와 비교하여 광범위하게 평가되었다. 추가적으로 제안된 방법의 개별 구성 요소와 시뮬레이션된 anomaly에서의 학습효과를 평가하기 위해 ablation study가 수행되었다. 마지막으로 DRÆM의 결과는 SOTA의 weakly-supervised, fully-supervised surface-defect detection 방법들과 비교하여 더 넓은 관점에서 평가되었다.
Comparison with unsupervised methods
DRÆM은 MVTec anomaly detection dataset으로 평가되었다. MVTec dataset은 15개의 object class를 포함하고 있고, 다양한 anomaly 예제를 포함하고 있어 surface anomaly detection 방법을 전반적으로 평가할 수 있다.
평가를 위해 AUROC를 사용했다. 이미지 수준의 AUROC는 anomaly detection에 사용되고, 픽셀 기반의 AUROC는 anomaly localization 평가를 위해 사용된다. 하지만 anomaly가 존재하는 픽셀이 전체 픽셀에서 차지하는 비율이 매우 적기때문에, False positive rate가 낮게 유지되어 surface anomaly detection에서 localization accuracy를 잘 반영하지 못한다. 따라서 매우 불균형한 class와 precision이 중요한 surface anomaly detection에 더 적합한 AP(average precision) 를 추가적으로 사용하였다.
위 그림에서 3번째 anomaly map을 보면 ground truth와 높은 정확도로 유사한 것을 알 수 있다. 결과적으로 DRÆM은 surface anomaly detection, localization에서 SOTA 정량적 결과를 달성했다.
Surface Anomaly Detection
DRÆM은 15개의 class중 9개에서 가장 높은 AUROC를 달성하였다.
일부 class에서의 성능 저하는 정상 이미지 분포와 유사한 매우 까다로운 anomaly로 설명된다. object의 일부가 결여된 경우 특히 탐지하기 어려운데, object feature가 결여된 영역은 일반적으로 흔히 발생하는 특징을 포함하기 때문에 anomaly가 없는 영역과 구분하기 어렵다.
위 그림(a)에서 ground truth는 잘린 트랜지스터 리드가 있어야 할 영역을 anomaly로 표시하지만, DRÆM은 잘린 리드의 작은 영역에서만 anomaly를 탐지했다. 이는 학습과정에서 배경특징이 일반적이었기 때문이다.
Anomaly Localization
DRÆM은 AUROC 점수에서 이전의 최고 성능 방법들과 유사한 결과를 얻었고, 15개의 class중 11개의 class에서 더 높은 AP점수를 기록했으며, 다른 class들에서도 이전의 방법들과 유사한 결과를 보였다.
위 그림(b)에서 실제 anomaly는 알약의 노란부분이지만, ground truth는 알약 전체 표면을 덮고 있다. DRÆM은 알약의 노란부분의 위치를 추적하는 anomaly map을 생성했지만 ground truth와 불일치하여 성능오류가 증가했다. 이러한 annotation 모호성은 평가된 방법의 AP score에 영향을 미친다.
Ablation Study
DRÆM design 선택은 3가지를 평가하는 그룹 실험에 의해 분석된다.
- method architecture
- the choice of anomaly appearance pattern
- low perturbation example generation
Architecture
- Disc : discriminative sub-network alone
- reconstructive sub-network의 영향을 확인하기 위함
- 전체 DRÆM과 비교했을 때 성능이 저하된 것을 알 수 있다. 이는 discriminative sub-network가 시뮬레이션된 anomaly에 과적합되었기 때문이며 이는 실제 anomaly를 충실하게 표현하지 못한다.
- Recon-AE : Reconstructive sub-network as an auto-encoder-based detector
- reconstructive sub-network의 판별력을 평가하기 위해 오토인코더 기반의 surface anomaly detector로 사용
- subnetwork의 재구성된 image output을 input image와 비교하여 SSIM함수를 사용해 anomaly map을 생성
- Recon-AE는 AE-SSIM을 능가했으며 이는 시뮬레이션된 anomaly 학습이 추가적인 정보를 제공한다는 것을 시사한다.
- DRÆM과의 성능차이를 고려할 때, SSIM 유사도 함수는 anomaly 정보추출에 최적화 되지 않았을 수 있다.
- 최적의 결과를 위해서는 reconstructive와 discriminative 부분이 모두 필요하다.
- backbone을 SOTA supervised discriminative surface anomaly detection network로 대체하여 평가한 결과 성능이 크게 떨어졌으며, 이는 단순히 anomaly나 normality 모양을 학습하는 것보다 정상 상태로부터 anomaly deviation 정도를 학습하는 것이 더 강력하다는 것을 입증한다.
Anomaly appearance patterns
DRÆM$_{ImageNet}$ : 시뮬레이터에서 texture source로 ImageNet을 사용하여 다시 학습
- 결과는 훨씬작은 DTD dataset을 사용할 때와 유사하다.
- augmentation과 opacity randomization가 성능에 크게 기여하며, 10개 미만의 texture image로도 우수한 성능을 달성할 수 있다.
DRÆM$_{color}$ : 무작위로 샘플링된 색상의 homogeneous(일정한속성) region으로 생성
- SOTA의 결과를 달성
- 이는 DRÆM이 실제 anomaly와 정확히 일치하는 시뮬레이션을 필요로 하지 않는다.
DRÆM$_{rect}$ : anomaly shape generator의 성능을 평가하기 위해 Perlin noise generator를 직사각형 영역 generator로 대체
- 성능이 약간 떨어지지만, 시뮬레이션된 anomaly 형태가 real world에서 anomaly에 잘 일반화되기 위해 반드시 현실적일 필요는 없다.
Low perturbation examples
DRÆM$_{\text{no_aug}}$ : image augmentation과 opacity randomization 사용하지 않음
DRÆM$_{\text{img_aug}}$ : image augmentation만 사용
DRÆM$_{\beta}$ : opacity randomization만 사용
DRÆM$_{\text{no_aug}}$와 DRÆM은 localization 성능에서 상당한 차이가 있지만 image augmentation없이도 opacity randomization을 학습에 사용하면 성능차이를 크게 줄일 수 있다.
Comparison with supervised methods
지도학습방법은 학습시 anomaly에 대한 annotation이 필요하기 때문에 DAGM dataset을 사용하여 평가하였다. DAGM dataset은 배경과 유사한 아주 작은 anomaly가 존재한다.
위 표를 보면 지도학습방법은 anomaly image를 거의 완벽하게 분류하는 반면, 비지도 학습 방법들은 고전하고 있다. DRÆM은 이러한 방법을 크게 능가하며, fully-supervised 방법들에 근접한 성능을 보였다.
training image들은 타원형 주석으로 표면 결함을 덮고있어 배경을 포함하는데 이것으로 인해 지도학습 방법들은 test image에서 부정확한 위치 추적을 한다. DRÆM은 annotation을 전혀 사용하지 않기 때문에 더 정확한 anomaly map을 형성한다.
Conclusion
- DRÆM은 MVTec dataset에서 현재 SOTA를 능가했다.
- surface anomaly detection task에서 AUROC 점수 2.5점
- localization task에서 AP 점수 13.5점
- DAGM dataset에서 DRÆM이 fully supervised 방법들과 가깝게 이상 이미지를 분류하면서, localization 정확도에서 이를 능가했다.
- DRÆM이 real anomaly에 대해 학습하지 않았기 때문에 놀랄만한 결과이다.
- reconstructive sub-network를 통해 reconstruction-anomaly embedding을 학습하는 것이 표준 방법에 비해 결과를 크게 향상시키며, 단순한 시뮬레이션에서 reconstruction의 편차 정도를 학습함으로써 정상 모양이나 실제 anomaly 모양을 학습하는 것보다 더 정확한 결정경계를 잘 추정할 수 있다.