YoojLee / paper_review

paper review archive
6 stars 2 forks source link

GeneralAD: Anomaly Detection Across Domains by Attending to Distorted Features #88

Open YoojLee opened 2 weeks ago

YoojLee commented 2 weeks ago

image

Summary

anomaly detection은 근본적으로 OCC 문제임. 따라서, industrial anomaly detection이든 semantic anomaly detection이든 결국엔 하나의 occ 프레임워크로 해결이 가능하다는 것이 원칙적으론 맞음. 다만, 기존의 방법론들은 하나의 task에서만 잘하고 나머지 task에서는 suboptimal하는 형태가 보임. 이를 해결하기 위해, self-supervision (pseudo anomaly)를 주어 anomaly detection하는 프레임워크 제안 (여러 task를 하나로 해결 가능함 with minimum mod per-task) + semantic & industrial & logical anomaly detection 10개의 벤치마크에서 평가한 결과 6개에서 SoTA.

Method Highlights

image feature distortion (feature level에서의 pseudo anomaly generation)을 통해 anomalous sample을 만들어내고, 그 다음에 이를 DINOv2의 backbone으로 feature extraction한 후 Multi-Head Attention 기반으로 패치 간의 interaction + MLP를 통해 score 값 표현하게끔 채널 mix 를 포함한 discriminator를 학습하여 AD를 수행하는 방식.

image pseudo anomaly를 pixel level이 아닌, feature level에서 주는데 3가지 전략을 활용함. 이 3가지 전략은 어떤 level의 AD task를 푸느냐에 따라 달라짐.

image image scoring은 패치 단위 스코어의 top-k의 average를 취함 -> 이 k는 task마다 달라짐 (semantic 같은 경우에는 전체 활용함)

Experiment Highlights

image task-specific하게 design하지 않은 아키텍처로도 좋은 성능. Semantic Benchmark에서 기존 industrial sota + 동일한 self-sup arch인 simplenet이 많이 성능이 떨어지는 걸 알 수 있는데, 이는 simplenet의 discriminator는 각 패치를 별도로 판별하지만 (그냥 패치 feature map에 mlp니까) GeneralAD의 경우에는 attention을 통해 패치를 한꺼번에 보는 구조이기 때문 (spatial dimension에서 mixing이 발생). LOCO 같은 경우에는 가장 높은 성능을 보여주는데, 이는 attention shuffling으로 만들어낸 pseudo anomaly가 물체나 요소가 잘못된 위치에 있는 부분들을 잘 mimic했을 것으로 보인다고 논문에서 주장.

image 역시 좋은 성능.

image 정성적으로 보았을 때도 준수하게 localization하고 있는 것을 볼 수 있음. semantic 같은 경우에는 anomalous 영역이 따로 label로 주어지진 않지만 전체적으로 해당 object임을 판별할 수 있는 부분에 attend되는 형태로 보면 reasonable하다고 판단됨.

image few shot 상황에서도 good.

Ablations

image 단순히 backbone빨은 아니라는 것을 보여줌. 다만, 이 방법론이 DINOv2에 맞춰서 개발된 것은 논문에서도 그렇다고 얘기하고 있는 것 같음. 다만, DINOv2가 강력한 backbone이긴 하지만 그렇다고 해서 기존의 anomaly detection 방법론들을 모두 다 개선시키는 것은 아니다 이런 형태로 가는 듯.

image feature noise의 magnitude엔 전체적으로 robust한 경향을 보여줌. Top K 같은 경우에, K는 anomaly 영역의 크기에 따라 적절한 K를 설정해줘야 함 (industrial은 작게, semantic은 크게).

image image

distortion type에 따른 ablation. 각 task에 따라 최적 성능을 보여주는 strategy가 다르지만, 전체 패치에 노이즈를 주는 방식이 전반적으로 성능은 좋아보임 (이렇게 하지, 굳이 뭣하러 다르게 했을까 싶은데 technical novelty라고 생각했던 것 같다). VisA에서의 결과는 어땠을까? 궁금.

Strengths

Weaknesses

YoojLee commented 2 weeks ago

개인적으로 궁금한 게, CIFAR 같은 데이터셋은 매우 저해상도인데 518 $\times$ 518의 해상도를 처리하는 DINOv2로 어떻게 학습시킬 수 있었을까?