Introduction
異常檢測已經取得了非常突出的進展。考慮到異常的多樣性,通常的異常檢測方案是首先擬合出正常樣本的分布,之后檢測該分布之外的離群點作為異常。因此,異常檢測需要學習出一個非常緊湊的正常樣本的邊界 (下圖a)。出于這種目的,當前所有的異常檢測方法都只能用一個模型解決一個類別 (下圖c)。但是,這種“一個模型只處理一個類別”的separate setting是十分耗費儲存空間的,并且無法處理正常樣本具有一定多樣性的場景 (比如,一種物體有多種正常的型號)。
傳統的separate setting V.S. our unified setting
我們致力于解決一個更困難的unified setting,那就是用一個模型解決所有類別的異常檢測 (上圖d)。這就需要所有類別共享相同的分類邊界 (上圖b),因此,如何擬合出多類正常樣本的分布是十分重要的。
基于重構的方法是一種常用的異常檢測方法。這種方法在正常樣本上訓練一個重構模型,并假設重構只能在正常樣本上成功,對于異常樣本將會具有較大的重構誤差。因此,重構誤差可以作為異常評分。但是,基于重構的方法會遇到“恒等映射”的問題。所謂“恒等映射”指的是,雖然重構模型是在正常樣本上訓練的,其遇到異常樣本同樣會重構成功。這使得正常樣本和異常樣本的重構誤差都很小,難以被區分開來。更重要的是,相比于傳統的separate setting,在unified setting下,正常樣本的分布更加復雜,這加劇了“恒等映射”的問題 (詳見paper的實驗及分析)。
MLP, CNN, transformer都會遇到“恒等映射”的問題
我們首先follow了特征重構 [2] 的框架,并測試了3種通用的網絡架構MLP、CNN、transformer (上圖)。我們發現,3種網絡結構都會遇到“恒等映射”的問題。這使得在訓練過程中,重構的loss (上圖藍線) 可以降到非常小,但其檢測性能 (上圖綠線) 和定位性能 (上圖紅線) 甚至會隨著loss的下降而下降。這證明了“恒等映射”的問題,即,可以非常好地完成重構,但卻無法區分正常和異常。
因此,我們希望,從重構網絡的結構設計上徹底解決“恒等映射”問題。具體的,我們提出了三個創新點,構成了我們的UniAD網絡。
UniAD網絡結構
創新點一:Layer-wise Query Embedding
我們觀察到,transformer中“恒等映射”的問題比MLP和CNN要輕微一些。第一,在transformer中,loss并不會完全降低到0。第二,在transformer中,檢測性能和定位性能的下降幅度遠小于MLP和CNN。因此,我們認為transformer中必然存在一種結構可以抑制“恒等映射”。經過數學分析和消融實驗,我們認為,具有query embedding的attention可以抑制“恒等映射” (分析與實驗詳見paper)。
但是,現有的transformer網絡,一些不具有query embedding (如類似于ViT的),一些只在decoder的第一層有query embedding (如類似于DETR的)。我們希望通過增加query embedding,來增加其抑制“恒等映射”的能力。因此,我們以transformer為基礎,提出了Layer-wise Query Embedding,即,在decoder的每一層都加入query embedding。
創新點二:Neighbor Masked Attention
我們認為,在傳統的Attention中,一個token是可以利用自己的信息的,這可能會防止信息泄漏,即,直接將輸入進行輸出,形成“恒等映射”。因此,我們提出了Neighbor Masked Attention,即,一個token是不能利用自己和自己的鄰居的信息的。這樣,網絡就必須通過更遠處的token來理解這個點的信息應該是什么,進而在這個過程中理解了正常樣本,擬合了正常樣本的分布。
Neighbor Masked Attention
創新點三:Feature Jittering
受到De-noising Auto-Encoder的啟發,我們設計了一個Feature Jittering策略。即,在輸入的feature tokens中加入噪聲,而重構的目標依然是未加噪聲的feature tokens。因此,Feature Jittering可以將重構任務轉化為去噪任務。網絡通過去除噪聲來理解正常樣本,并擬合正常樣本的分布。同時,恒等映射在這種情況下不能使得loss等于0,也就不是最優解了。
性能對比
我們在MVTec-AD上“一個模型處理所有類別”的unified setting下,在檢測指標上遠超baseline達到了8.4%,在定位指標上遠超baseline達到了7.3%。
MVTec-AD的異常檢測指標
MVTec-AD的異常定位指標
我們的異常檢測的可視化結果如下圖所示,從左到右依次為,正常 (作為reference)、異常、異常的重構結果、ground-truth、我們的檢測結果。結果證明,我們的方法可以將異常重構為對應的正常,所以重構的差異可以準確地定位出異常區域。
可視化結果
我們還將unified setting拓展到了CIFAR-10數據集中,我們的方法同樣穩定地超越了Baseline。
CIFAR-10的異常檢測指標
消融實驗
消融實驗證明了我們所設計模塊的有效性。
消融實驗
結論
首先,我們提出了異常檢測的unified setting,即,可以僅僅使用一個模型,解決所有類別的異常檢測問題。之后,我們分析了基于重構的方法存在的“恒等映射”問題,并針對性地提出了三點改進,形成了我們的UniAD網絡。我們的方法在MVTec-AD上,顯著地超越了baseline達到8.4% (異常檢測) 和7.3% (異常定位)。
-
異常檢測
+關注
關注
1文章
42瀏覽量
9748 -
模型
+關注
關注
1文章
3254瀏覽量
48889 -
網絡架構
+關注
關注
1文章
93瀏覽量
12594
原文標題:NeurIPS 2022 | 上交&清華等提出UniAD:一個模型解決所有類別的異常檢測!
文章出處:【微信號:CVer,微信公眾號:CVer】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論