袁瓏,李秀梅,潘振雄,孫軍梅*,肖蕾
1.杭州師范大學信息科學與技術(shù)學院,杭州 311121;2.福建省軟件評測工程技術(shù)研究中心,廈門 361024
隨著計算機軟硬件技術(shù)的不斷發(fā)展,基于卷積神經(jīng)網(wǎng)絡(luò)的深度學習技術(shù)廣泛應用于社會各個領(lǐng)域(LeCun等,2015),尤其在計算機視覺領(lǐng)域的圖像分類(Deng等,2009)、目標檢測(Liu等,2019a)、人臉識別(Liu等,2017)和語義分割(Ding和Zhao,2018)等方面更是取得了巨大成功。但由于深度學習自身的脆弱性,在一些應用場景容易受到對抗樣本(adversarial examples)對模型的攻擊(Athalye等,2018)。對抗樣本最早在圖像分類領(lǐng)域提出(Szegedy等,2014),比較典型的研究有FGSM(fast gradient sign method)(Goodfellow等,2015;Dong等,2018)、DeepFool(Moosavi-Dezfooli等,2016)和C&W(Carlini-Wagner)(Carlini和Wagner,2017)等。隨著研究的不斷深入,對抗樣本不僅攻擊圖像分類,也開始攻擊其他計算機視覺任務,如面部識別(Sharif等,2016;Liu等,2017)、視覺跟蹤(Bertinetto等,2016;Yan等,2020)、語音識別(Du等,2020)和自然語言處理(Ren等,2019)等。
作為計算機視覺的核心任務,基于深度學習的目標檢測(曹家樂 等,2022)在人工智能領(lǐng)域扮演著越來越重要的角色,許多其他計算機視覺任務諸如人臉識別、目標追蹤和圖像分割都是基于目標檢測實現(xiàn)的。因此目標檢測的安全對計算機視覺的發(fā)展至關(guān)重要。Xie等人(2017)首次在目標檢測和語義分割任務上證明,目標檢測和圖像分類都存在類似的安全性問題。對抗樣本在目標檢測領(lǐng)域的出現(xiàn)對目標檢測器的魯棒性提出了巨大考驗?,F(xiàn)有的對抗樣本總結(jié)分析(Yuan等,2019;Akhtar和Mian,2018;潘文雯 等,2020)主要集中在圖像分類領(lǐng)域,鮮有論文對目標檢測領(lǐng)域的對抗樣本生成方法及防御進行總結(jié)和分析。本文對目標檢測領(lǐng)域的對抗樣本生成和防御進行歸納總結(jié),以期催生更多的防御策略,從而使未來的目標檢測技術(shù)更加魯棒,從容面對更復雜的環(huán)境。
為了梳理面向目標檢測領(lǐng)域的對抗樣本生成方法及防御策略,首先,根據(jù)對抗樣本擾動生成的范圍,將對抗攻擊分為全局擾動攻擊和局部擾動攻擊。在全局擾動攻擊的基礎(chǔ)上,根據(jù)攻擊的目標檢測器類別分為針對兩階段網(wǎng)絡(luò)的攻擊、針對單階段網(wǎng)絡(luò)的攻擊以及兩種網(wǎng)絡(luò)均針對的攻擊,并對目標檢測的對抗樣本生成方法進行總結(jié)和分析。然后,通過實驗對典型的目標檢測對抗樣本生成方法的性能進行分析對比。接著,從預處理方法和提高模型魯棒性兩個角度介紹了目標檢測領(lǐng)域應對對抗攻擊的防御策略。最后,對面向目標檢測的對抗樣本研究面臨的挑戰(zhàn)和發(fā)展趨勢進行展望。
目標檢測作為計算機視覺領(lǐng)域眾多任務的基礎(chǔ)一直是研究熱點,它的任務是從給定的圖像中提取感興趣區(qū)域并標記出類別和位置。目前,隨著深度學習神經(jīng)網(wǎng)絡(luò)的快速發(fā)展,基于深度學習的目標檢測技術(shù)(Liu等,2020;Ding和Zhao,2018)憑借優(yōu)越的檢測性能已經(jīng)取代了需要人工提取特征并分類的傳統(tǒng)目標檢測方法(Divvala等,2012;Wang等,2009;Viola和Jones,2004)。
基于深度學習的主流目標檢測算法根據(jù)有無候選框生成階段分為以Faster R-CNN(region convolutional neural network)(Ren等,2015)為代表的兩階段檢測和以YOLO(you only look once)(Redmon等,2016)為代表的單階段檢測。兩階段檢測網(wǎng)絡(luò)將檢測物體分為兩個階段,先檢測物體的位置然后進行分類。Girshick等人(2014)首次提出R-CNN算法,采用選擇性搜索算法(Uijlings等,2013)從圖像中提取候選框進而分類。但是R-CNN每一個候選框都需要進行特征提取,比較耗費時間。為此,Girshick(2015)設(shè)計了Fast R-CNN,對圖像只提取一次特征,提高了檢測速度。隨后,Ren等人(2015)提出Faster R-CNN算法,用區(qū)域建議網(wǎng)絡(luò)(region proposal network,RPN)代替?zhèn)鹘y(tǒng)的選擇搜索算法,加快提取候選框的過程。
與兩階段網(wǎng)絡(luò)不同,單階段網(wǎng)絡(luò)不需要RPN而是直接將分類和定位一次完成。單階段檢測最具代表性的網(wǎng)絡(luò)是YOLO系列網(wǎng)絡(luò)(Redmon等,2016;Redmon和Farhadi,2017,2018;Bochkovskiy等,2020)和SSD(single shot multibox detector)網(wǎng)絡(luò)(Liu等,2016)。2016年提出的YOLOv1通過舍棄候選框生成階段加快網(wǎng)絡(luò)檢測速度,但是降低了精度。同年提出的SSD網(wǎng)絡(luò)通過引入多尺度信息,在保持速度的同時提高了精度。YOLOv2和YOLOv3分別添加了多尺度信息和設(shè)計了更強的骨干網(wǎng)絡(luò)DarkNet53以提高提取特征的能力。YOLOv4與YOLOv3相比,將骨干網(wǎng)絡(luò)升級為學習能力更強的CSPDarknet(cross stage partial Darknet),在YOLOv3的特征金字塔網(wǎng)絡(luò)(feature pyramid networks,F(xiàn)PN)基礎(chǔ)上加入路徑聚合網(wǎng)絡(luò)(path aggregation network,PAN)(Liu等,2018)和空間金字塔池化模塊(spatial pyramid pooling,SPP)(He等,2015)。此外,近幾年提出了一類檢測框架anchor-free。這類框架通過回歸得到物體的關(guān)鍵點(例如左上角和右下角或者物體的中心點),進而得到邊界框,這一類檢測框架的代表網(wǎng)絡(luò)有CornerNet(Law和Deng,2018)、ExtremeNet(Zhou等,2019b)、CenterNet(Duan等,2019)和Fcos(fully convolutional one-stage object detection)(Tian等,2019)等。
1.2.1 對抗樣本的概念
對抗樣本由Szegedy等人(2014)首次提出。指在原本干凈的數(shù)據(jù)集中,通過某種方式或遵循某種規(guī)律,向圖像中加入一些細微的噪聲(又稱為擾動)形成的圖像。在分類任務中,這類樣本會使已經(jīng)訓練好的機器學習或者深度學習模型容易產(chǎn)生錯誤的分類結(jié)果。如圖1(Goodfellow等,2015)所示,干凈樣本(左)通過人眼判斷和模型輸出的結(jié)果均為熊貓,但是添加對抗噪聲后的圖像送入模型則輸出結(jié)果為長臂猿。對抗攻擊前,模型輸出熊貓的置信度為57.7%,將對抗樣本輸入模型后,得到99.3%的長臂猿高置信度。在目標檢測任務中,這類樣本則會使模型輸出錯誤的分類和定位結(jié)果。圖2(Xie等,2017)為目標檢測對抗樣本示例。對原始樣本,F(xiàn)aster R-CNN能正確識別狗的類別和位置;而對對抗樣本,在添加對抗擾動后,輸出位置和分類都是錯誤的檢測結(jié)果。檢測器錯誤地檢測出人和火車,卻無法確定狗的存在,分類和定位都發(fā)生錯誤。
圖1 圖像分類對抗樣本示例(Goodfellow等,2015)
圖2 目標檢測對抗樣本示例(Xie等,2017)
FGSM是最早提出的圖像分類攻擊方法(Goodfellow等,2015),該方法以簡單的攻擊思路和強大的攻擊效果成為對抗攻擊領(lǐng)域最為經(jīng)典的方法之一。后續(xù)的許多方法都是在此方法的基礎(chǔ)上做出改進,增強了攻擊的穩(wěn)定性。例如,將一步運算變成多步迭代的I-FGSM(iterative-FGSM)(Kurakin等,2017)和在迭代過程中加入動量的MI-FGSM(momentum iterative-FGSM)(Dong等,2018)等。除了FGSM系列,經(jīng)典的對抗攻擊方法還有C&W攻擊(Carlini和Wagner,2017)、ATN(adversarial transformation networks)(Baluja和Fischer,2017)、單像素攻擊(Su,2019)、通用對抗擾動(universal adversarial perturbations,UAP)(Moosavi-Dezfooli等,2017)和AdvGAN(adversarial GAN)(Xiao等,2018)等。
1.2.2 對抗樣本的產(chǎn)生原因
自Szegedy等人(2014)提出對抗樣本以來,對其產(chǎn)生原因至今仍未有統(tǒng)一看法,以下是國內(nèi)外學者比較認可的幾個觀點。Szegedy等人(2014)認為對抗樣本存在于數(shù)據(jù)流中的低概率(高維)區(qū)域,模型訓練過程中只學習到了訓練數(shù)據(jù)周圍的局部空間,而對抗樣本不處于模型訓練這一局部空間,所以會使模型最后判斷錯誤。Goodfellow等人(2015)提出了與Szegedy完全相反的意見,認為正是因為神經(jīng)網(wǎng)絡(luò)模型的高維線性導致了對抗樣本的產(chǎn)生,當在輸入圖像中加入少量噪聲后,該細微噪聲經(jīng)過多層網(wǎng)絡(luò)的傳播,經(jīng)過如ReLU或Maxout的線性激活函數(shù)后被無限放大,導致分類錯誤。Ilyas等人(2019)指出對抗樣本不是缺陷,它反映的更近似是一種特征。通常認為,模型訓練會選擇一些人類可以理解的特征進行分類,這些特征稱為健壯性特征;但也會選擇一些人類無法理解的其他特征用于區(qū)分目標,這類特征稱為非健壯性特征。對抗樣本歸因于非健壯性特征的存在,反映了數(shù)據(jù)的一種特征,具有高度可預測性,但這種特征是脆弱的且難以被人類理解。這類特征通常認為是模型訓練的異常結(jié)果,對抗樣本就是這類特征的代表。
1.2.3 對抗樣本的相關(guān)術(shù)語
下面給出本文用到的對抗樣本的相關(guān)術(shù)語。
1)對抗性擾動。指添加到干凈樣本使其成為對抗樣本的噪聲,一般對這種擾動有大小限制,使添加到圖像上的擾動不被人眼察覺。
2)遷移性。指生成的對抗樣本在不同模型、不同數(shù)據(jù)集上的攻擊能力。
3)白盒攻擊。指攻擊時攻擊者對攻擊的目標模型內(nèi)部的結(jié)構(gòu)和參數(shù)都了解。
4)黑盒攻擊。相對于白盒攻擊而言,指攻擊者對攻擊模型的結(jié)構(gòu)和參數(shù)等一切內(nèi)部數(shù)據(jù)都未知。
5)欺騙率。指對抗樣本進入模型以后,愚弄模型的對抗樣本所占百分比。
6)目標攻擊。指對抗攻擊算法生成的對抗樣本,能使模型將樣本分類到攻擊者想要的指定類別的攻擊方式。
7)非目標攻擊。不同于目標攻擊,指攻擊者生成的對抗樣本使模型輸出錯誤的分類結(jié)果,但不限制其錯誤類別。
基于深度學習的目標檢測在繼承神經(jīng)網(wǎng)絡(luò)優(yōu)點的同時,也容易遭受到對抗樣本的攻擊,這使得目標檢測在實際使用時具有一定的安全隱患。由于目標檢測不僅包含圖像分類,還包含對目標定位,所以圖像分類上的對抗攻擊方法用在目標檢測上效果較差,甚至絕大多數(shù)情況會攻擊失敗(Lu等,2017)。目標檢測是經(jīng)典的多任務學習,對其進行攻擊往往是根據(jù)目標檢測所要達到的兩個目標,即位置和類別來進行的。針對攻擊方法的損失函數(shù)設(shè)計分為單損失攻擊和組合損失攻擊。單損失攻擊在生成對抗樣本時對物體進行分類損失函數(shù)攻擊或者回歸損失函數(shù)攻擊,而組合損失攻擊則綜合考慮了兩種損失函數(shù)來進行攻擊。
基于對抗樣本的目標檢測攻擊通過對輸入圖像x加入特定的擾動,得到擾動圖像x′,并將其作為目標檢測器的輸入,旨在欺騙目標檢測器生成隨機或有目標的錯誤結(jié)果,其過程可以表示為
(1)
目標檢測中常用的數(shù)據(jù)集主要有:
1)PASCAL VOC(pattern analysis, statistical modeling and computational learning visual object classes)數(shù)據(jù)集。這是目標檢測領(lǐng)域最常用的數(shù)據(jù)集之一,由于其輕量性,廣泛應用于目標檢測、圖像分類和圖像分割任務。數(shù)據(jù)集包含20個類別的物體,分為4大種類,每幅圖像都有相應的XML(extensible markup language)文件對應,文件包含圖像物體的位置和類別。常用的PASCAL VOC數(shù)據(jù)集有VOC2007(Everingham等,2010)和VOC2012(Shetty,2016)。其中,VOC2007數(shù)據(jù)集包括9 963幅圖像,由train、val和test組成。VOC2012數(shù)據(jù)集包括11 530幅圖像,由train和test兩部分組成?,F(xiàn)在常用的訓練方法有兩種。一種是使用07_train+12_train作為訓練集,用07_test作為測試集;另一種是使用07_train+07_test+12_train作為訓練集,用12_test作為測試集。
2)MS COCO(Microsoft common objects in context)數(shù)據(jù)集(Lin等,2014)。該數(shù)據(jù)集發(fā)布于2014年,是目標檢測、語義分割和人體關(guān)鍵點檢測任務較為權(quán)威的重要數(shù)據(jù)集,包括91個物體類別、328 000幅圖像和250萬個標簽,使用JSON(JavaScript object notation)格式的標注文件給出每幅圖像中目標像素級別的分割信息。數(shù)據(jù)集共包含80個對象類別的待檢測目標,目標間的尺度變化大,具有較多的小目標物體。
3)ImageNet數(shù)據(jù)集(Russakovsky等,2015)是計算機視覺領(lǐng)域的一個大型數(shù)據(jù)庫,廣泛應用于圖像分類和目標檢測等任務,包括1 400多萬幅圖像,2萬多個類別。其中103萬幅圖像可以用于目標檢測任務,包含200個物體類別,有明確的類別標注和物體的位置標注。
4)Open Image數(shù)據(jù)集(Kuznetsova等,2020)是谷歌團隊發(fā)布的具有對象位置注釋的現(xiàn)有最大的數(shù)據(jù)集,包含190萬幅圖像,600個種類,1 540萬個邊界框標注。
目標檢測領(lǐng)域通常采用mAP(mean average precision)(Shetty,2016)衡量對抗樣本的攻擊效果。mAP為所有類別的平均精確率的均值,是衡量目標檢測器檢測效果最重要的一個指標。具體為
(2)
式中,m為類別數(shù)目,APi表示第i類物體的AP(average precision)值。平均準確率AP為固定類別的精確率—召回率曲線下的面積和,表示檢測器對該類別的檢測能力,值越大代表檢測器對該類物體的檢測效果越好。
除了用mAP衡量模型的檢測能力外,評價指標還包括精確率和召回率。
精確率(precision)表示分類正確的正樣本個數(shù)與分類后判別為正樣本個數(shù)的比值,衡量的是一個分類器分出來的正樣本確實是正樣本的概率。
召回率(recall)表示分類正確的正樣本數(shù)與真正的正樣本數(shù)的比值,衡量的是一個分類器能將所有的正樣本都找出來的能力。在通常情況下,精確率越高,則召回率越低。
Lu等人(2017)提出在“停止”標志和人臉圖像上添加擾動來誤導相應的檢測器,這是第一篇在目標檢測領(lǐng)域提出對抗樣本生成的文章。此后,出現(xiàn)了一系列針對目標檢測的分類和定位兩個任務進行對抗攻擊的研究。根據(jù)對檢測目標像素修改的數(shù)量,對抗攻擊分為全局擾動攻擊和局部擾動攻擊。根據(jù)攻擊的對象檢測器類型,對抗攻擊可以分為針對兩階段檢測器的攻擊、針對單階段檢測器的攻擊以及針對兩種檢測器的攻擊。
對于面向目標檢測的對抗攻擊方法,本文以全局像素攻擊和局部像素攻擊作為一級分類,以不同的目標檢測器類型攻擊作為二級分類。分類方法如圖3所示。
圖3 面向目標檢測的對抗樣本生成方法分類
全局擾動攻擊是在對抗樣本生成時對整幅圖像進行像素修改,添加的噪聲具有一個統(tǒng)一特點,即添加的噪聲不是特定于一個地方而是遍布全圖。
3.1.1 針對兩階段網(wǎng)絡(luò)攻擊
針對兩階段網(wǎng)絡(luò)攻擊的方法主要有DFool(detectors fool)、DAG(dense adversary generation)、ShapeShifter、RAP(robust adversarial perturbation)和CAP(contextual adversarial attack)方法。
1)DFool方法。這是Lu等人(2017)提出的一種針對Faster R-CNN的白盒攻擊方法,用Faster R-CNN對所有的停車標志進行得分測試。
(3)
式中,T表示圖像I在根坐標系的紋理特征,I(Mi,T)表示對圖像I使用映射Mi在T上進行疊加產(chǎn)生的特征,BS(I)是圖像I在Faster R-CNN產(chǎn)生的關(guān)于停車標志物體的候選框集合,φs(b)是Faster R-CNN對候選框的預測得分。通過最小化訓練集所有圖像的平均得分對式(3)進行優(yōu)化,提取梯度。在優(yōu)化過程中,使用符號函數(shù)進行梯度的引導,并且通過多次迭代,當欺騙率達到90%時停止迭代。具體過程為
T(n+1)=T(n)+ε×d(n)
(4)
2)DAG方法。Xie等人(2017)將對抗樣本從圖像分類擴展到更加困難的語義分割和目標檢測,針對兩階段檢測器的分類損失函數(shù)提出DAG白盒攻擊??紤]到兩階段檢測器是通過RPN篩選含有物體的建議框,提出在一組像素點集或目標候選框集上優(yōu)化目標任務損失函數(shù)進行攻擊的方法。將攻擊的目標放在感興趣區(qū)域(region of interest,RoI),其攻擊表達式為
(5)
式中,Xm代表第m次迭代得到的圖像,初始化為輸入的圖像,f(·)代表目標檢測器生成結(jié)果的函數(shù),tn為輸入圖像的Tm個目標中的一個,ln代表該物體的正確類別,l′n代表指定的錯誤標簽,rm是求得的對抗梯度,αDAG為迭代學習率。
DAG的整個攻擊思路為:首先對輸入網(wǎng)絡(luò)中的圖像X,為其中的每個目標tn隨機指定一個標簽作為要攻擊的目標,該標簽不同于目標的真實類別。接著進行迭代攻擊,并在每次迭代中找出網(wǎng)絡(luò)中仍然預測正確的RoI區(qū)域繼續(xù)迭代。通過反向傳播提高錯誤類別的得分,經(jīng)過計算目標函數(shù)關(guān)于輸入圖像的梯度,通過L∞將梯度進行歸一化后將梯度進行累計,直到達到最高迭代次數(shù)或者所有正樣本均預測錯誤,停止迭代。
DAG方法屬于分類損失的單損失攻擊,通過為目標設(shè)置一個非正確的標簽,然后迭代朝著類別置信度低的方向進行移動,最終使檢測器對輸入圖像的所有RoI都分類錯誤。從攻擊的原理來看屬于分類損失攻擊,從攻擊造成的結(jié)果來看屬于目標分類錯誤攻擊。
3)ShapeShifter方法。這是Chen等人(2019)提出的針對Faster R-CNN的第1個有目標的攻擊方法。受圖像分類對抗攻擊方法C&W(Carlini和Wagner,2017)和期望轉(zhuǎn)換(expectation over transformation,EOT)(Brown,2017)的啟發(fā),對Faster R-CNN進行攻擊。在圖像分類中,C&W通過優(yōu)化的方式對圖像進行有目標攻擊,ShapeShifter結(jié)合C&W的L2攻擊方式,具體攻擊為
(6)
式中,LF為模型輸出和目標標簽y′的損失函數(shù),通過tanh將像素約束在[-1, 1]之間,便于優(yōu)化,用c控制修改后的圖像x′和原圖xo之間的差距。
在C&W基礎(chǔ)上加上EOT,期望變換就是在每次迭代過程中添加隨機擾動,使加入的擾動更具有魯棒性,操作方式為
Mt(xb,xo)=t(xb)+xo
(7)
式中,t表示平移、旋轉(zhuǎn)或者縮放操作,xo為目標圖像,xb為背景圖像。對目標圖像xo進行t操作后加入到背景圖像xb。
Chen(2019)對Faster R-CNN第1階段得到的多個區(qū)域建議提取其覆蓋的子圖像,然后對子圖像進行分類,得到所有區(qū)域建議的分類損失,并且在迭代過程中利用EOT增強擾動的魯棒性。
(8)
式中,x′為修改后的對抗樣本,y′為攻擊指定的目標類別,xo為干凈圖像。通過優(yōu)化式(8),同時攻擊每個建議區(qū)域的所有分類。優(yōu)化過程往往先通過RPN提取區(qū)域建議,并對區(qū)域建議進行修剪,在目標檢測器第2階段分類過程中進行式(8)的優(yōu)化。
4)RAP方法。Li等人(2018a)針對兩階段目標檢測模型提出的一種更為魯棒的對抗性擾動生成算法,核心是通過破壞兩階段模型中特有的RPN網(wǎng)絡(luò)對檢測器進行攻擊,設(shè)計了一種將分類損失與位置損失結(jié)合在一起的損失函數(shù),使用基于梯度的迭代算法對圖像進行優(yōu)化,具體為
(9)
計算網(wǎng)絡(luò)預測的實際偏移量與人為指定的較大的偏移量之間的差值,將其作為損失函數(shù),進行反向傳播修改輸入的圖像,使最后網(wǎng)絡(luò)預測的偏移量與真實偏移量之間產(chǎn)生很大的差距。
RAP方法設(shè)計了一個同時包含位置損失函數(shù)和分類損失函數(shù)的組合損失函數(shù),通過降低RPN網(wǎng)絡(luò)得到的建議框置信度,使目標檢測器將圖像中的物體分類為背景,達到無法識別目標的目的。針對修改后仍然能識別出來的圖像,又通過干擾其位置參數(shù),使網(wǎng)絡(luò)錯誤地定位該物體的正確位置,以此進行攻擊。
5)CAP方法。這是Zhang等人(2020)針對兩階段檢測器提出的非目標攻擊的方法。CAP將分類損失和位置損失作為聯(lián)合損失。在此基礎(chǔ)上,又加入上下文損失。Zhang等人(2020)考慮到圖像中相鄰像素的強相關(guān)性,發(fā)現(xiàn)候選區(qū)域的周邊區(qū)域?qū)δ繕藱z測器的定位和分類具有指導作用,將這塊區(qū)域稱為上下文區(qū)域。與單一候選區(qū)域相比,Zhang等人(2020)提出的上下文區(qū)域具有更高的特征性,訓練時能夠極大地捕捉圖像中物體的強特征,并對這些特征添加噪聲,使攻擊效果更好。具體為
(10)
3.1.2 針對單階段網(wǎng)絡(luò)的攻擊
針對單階段網(wǎng)絡(luò)的攻擊方法主要有PhyAttack、CA(category-wise attack)和Daedalus方法。
1)PhyAttack方法。這是Song等人(2018b)提出的針對YOLOv2檢測器的物理攻擊方法。受圖像分類領(lǐng)域的物理攻擊RP2(robust physical perturbations)(Evtimov等,2017)的啟發(fā),在RP2基礎(chǔ)上加入額外的對抗性損失函數(shù),通過概率最小化式(11)降低圖像中標志的得分,使檢測器無法檢測到停車標志。
(11)
式中,fθ(x)是檢測器對圖像x的輸出,s是YOLO網(wǎng)絡(luò)單元格,b是物體的檢測框,y是該物體對應的標簽,P(·)是用來從張量中提取對象類的概率。
同時,Song(2018b)設(shè)計出creation attack,使目標檢測器檢測出不存在的物體。通過設(shè)計一個指定的位置,對該位置進行迭代優(yōu)化,提高邊框的置信度得分,使分類器將該位置分為前景區(qū)域,隨后對位置之后的分類步驟提高類別概率,具體為
object=Pbox(s,b,fθ(x))>τ
Jc(x,y)=object+(1-object)·P(s,b,y,fθ(x))
(12)
式中,object為篩選出來的建議框位置,τ為邊框置信度閾值,當超過該閾值時停止對位置進行優(yōu)化,P(s,b,y,fθ(x))代表網(wǎng)格單元s中含有的邊框b屬于類別y的概率,Pbox(s,b,fθ(x))為網(wǎng)格單元s含有的邊框b屬于前景區(qū)域的置信度值。
2)CA方法。這是Liao等人(2020)首次針對anchor-free(Zhou,2019a)目標檢測模型提出的非目標攻擊的方法。anchor-free模型將目標檢測經(jīng)典模型特有的anchor刪去,從而減少網(wǎng)絡(luò)參數(shù),加快訓練速度,并且能極大地減少背景誤檢率。CA通過尋找重要的像素區(qū)域,利用其高級語義信息對檢測器進行類別攻擊。CA有L0和L∞兩種優(yōu)化方式,具體為
argmaxn{fn(x+r,p)}≠Ck
tmin≤x+r≤tmax
(13)
式中,r是對抗擾動,k代表檢測到的物體類別,Pk為CenterNet得到的包含類別Ck的熱力圖,p為熱力圖中得分大于閾值tattack的像素點,argmaxn{fn(x+r,p)}表示第n次迭代對抗樣本中像素p預測的類別。
對于L0范數(shù)的攻擊,Liao(2020)受圖像分類的對抗攻擊方法DeepFool(Moosavi-Dezfooli等,2016)和 SparseFool(Modas等,2019)的啟發(fā),提出ApproxBoundary方法來近似目標檢測器的決策邊界,使原始圖像朝著垂直于決策邊界的方向一步步移動,生成較為稀疏的擾動來欺騙目標檢測器,這種L0范數(shù)攻擊稱為稀疏類別攻擊(sparse category-wise attack,SCA)??紤]到目標檢測與圖像分類的區(qū)別,SCA選取總概率最高的Pk來生成局部目標像素集,然后用改進后的DeepFool算法進行攻擊,直到對原始圖像所有對象攻擊成功為止。
對于L∞范數(shù)的攻擊,Liao(2020)學習圖像分類的對抗攻擊PGD(project gradient descent)(Madry等,2018)思想,沿著圖像梯度的方向分步迭代生成攻擊樣本。這種L∞范數(shù)攻擊稱為密集類別攻擊(dense category-wise attack,DCA),首先計算圖像中每個類別的像素的損失,并將損失求和。具體為
(14)
式中,CE為交叉熵損失,Pj為圖像中j個類別對應的像素集,Cj為圖像預測的第j個類別。對獲得的損失求取梯度,然后用L∞范數(shù)對求得的梯度進行歸一化處理后得到擾動。具體為
(15)
式中,rj表示圖像xi上對所有物體像素計算的損失之和,r′j為用L∞范數(shù)對rj進行標準化后的對抗梯度。
3)Daedalus方法。這是Wang等人(2021)提出的一種破壞YOLO組件的攻擊方法,通過破壞YOLO的非極大值抑制(non maximum suppression,NMS)機制,使檢測器產(chǎn)生誤報等錯誤的結(jié)果。NMS是目標檢測至關(guān)重要的組成部分,主要目的是消除冗余建議框,并確定物體的最佳位置。Daedalus攻擊的優(yōu)化計算為
arg min|δ|p+c·f(x+δ)
s.t.x+δ∈[0,1]n
(16)
式中,δ是添加的擾動,要求擾動的Lp范數(shù)最小,以保證其肉眼的不可見性,f是定義的對抗性損失函數(shù),c為平衡對抗損失和失真的超參數(shù)。
為了解決使生成的對抗樣本像素值限制在[0,1]這樣一個盒約束問題,采用C&W方法,將變量δ替換成ω,具體為
(17)
式中,x為輸入的原圖,δ為計算的加入擾動,對于整個公式,需要得到的就是導致擾動的變量ω,通過加入tanh使值保持在[-1,1],便于迭代優(yōu)化。
對于對抗性損失函數(shù)f,設(shè)計了3種不同的損失函數(shù):1)最小化各建議框的IoU(intersection over union)值;2)使所有建議框尺寸縮小,且最大化各建議框中心之間的歐幾里得距離;3)為了節(jié)省成本,只縮小各建議框的尺寸。3種損失函數(shù)的計算分別為
(18)
(19)
(20)
Daedalus攻擊的核心是使NMS失效,通過破壞NMS的篩選機制達到破壞的目的。設(shè)計的損失函數(shù)結(jié)合C&W算法使生成的對抗樣本在攻擊性和遷移性方面都有不錯表現(xiàn),但是也結(jié)合了C&W方法的缺點,即生成對抗樣本的時間成本很高,生成一個有效的對抗樣本需要進行上千次迭代,這也是未來需要改進的地方。
3.1.3 針對兩種檢測器的攻擊
針對兩種檢測器的攻擊方法主要有UEA(unified and efficient adversary)、G-UAP(generic universal adversarial perturbation)和TOG(targeted adversarial objectness gradient attacks)方法。
1)UEA方法。目標檢測領(lǐng)域內(nèi)對抗樣本的生成,都需要將圖像輸入到網(wǎng)絡(luò),通過神經(jīng)網(wǎng)絡(luò)的前向傳播獲得需要的數(shù)據(jù),然后根據(jù)設(shè)計的損失函數(shù)進行反向傳播調(diào)整網(wǎng)絡(luò)輸入,這需要耗費一些時間來生成對抗樣本。而且生成的對抗樣本在Faster R-CNN表現(xiàn)很好,但是在YOLO網(wǎng)絡(luò)上效果卻很差,其攻擊的遷移性較差。針對這兩個問題,Wei等人(2019)提出了UEA方法。通過引入對抗生成網(wǎng)絡(luò)(generative adversarial networks,GAN)(Isola等,2017),將GAN網(wǎng)絡(luò)結(jié)合高級分類損失和底層特征損失來進行訓練生成對抗樣本。通過引入GAN網(wǎng)絡(luò)的生成器和判別器,由生成器生成進入目標檢測的對抗樣本,然后由判別器區(qū)分輸入的圖像是對抗樣本還是干凈圖像。GAN的損失函數(shù)為
LcGAN(G,D)=EI[logD(I)]+
EI[log(1-D(G(I)))]
(21)
式中,G是生成器,D是判別器,I是輸入的圖像。為了衡量生成的對抗樣本和原始樣本的差別,G(I)表示對圖像I生成的噪聲,引入L2loss衡量它們的相似性,具體為
(22)
為了同時攻擊兩種類別的檢測器,Wei(2019)提出在GAN網(wǎng)絡(luò)中加入DAG方法提出的損失函數(shù),用來攻擊以Faster R-CNN為代表的基于建議的目標檢測器,具體為
(23)
為了增加對抗樣本的可遷移性,攻擊基于回歸的目標檢測器,提出多尺度注意力特征損失,具體為
(24)
式中,“°” 表示兩個矩陣之間的哈達瑪(Hadmard)積。Xm表示目標檢測器的骨干網(wǎng)絡(luò)第m層提取的特征子圖,Rm是一個隨機預定義的特征圖,在訓練過程中固定。Am是根據(jù)RPN的建議區(qū)域計算出的注意力權(quán)重,是兩個矩陣的Hadmard乘積。特征圖的損失函數(shù)將注意力特征圖強制為隨機排列,從而更好地操縱前景區(qū)域的特征圖。
最后的損失函數(shù)為以上4種損失函數(shù)的組合,即
L=LcGAN+αLL2+βLDAG+εLFea
(25)
式中,α,β,ε為每種損失函數(shù)所占的比重。
由于UEA是通過訓練一個GAN來生成針對目標檢測器的對抗樣本,是通過生成機制代替?zhèn)鹘y(tǒng)的攻擊算法的優(yōu)化過程,是一個前向機制,省略了反向傳播過程,所以生成樣本的時間更少,損失函數(shù)中添加了多尺度的注意力特征損失,對骨干網(wǎng)絡(luò)特征圖進行多層提取,并對前景區(qū)域部分的特征區(qū)域進行重點關(guān)注,在訓練過程中進行更好的學習,使最后的對抗樣本具有更佳的遷移性。
2)G-UAP方法。G-UAP(Wu等,2019)是一種在UAP(Moosavi-Dezfooli等,2017)基礎(chǔ)上改進、擴展到目標檢測領(lǐng)域的黑盒攻擊方法。G-UAP方法通過攻擊RPN網(wǎng)絡(luò),將攻擊思路簡化為一個二分類問題,即誘導RPN網(wǎng)絡(luò)將前景物體誤認為背景,通過優(yōu)化式(26)尋找到通用擾動。
(26)
式中,δ為生成的擾動,l代表前景的標簽。式(26)等號右側(cè)前半部分代表圖像中前景的得分概率,后半部分為背景的得分概率。為了誤導前景變?yōu)楸尘埃筶為0,式(26)變?yōu)?/p>
(27)
通過最小化式(27),降低圖像中所有物體的前景置信度得分,增加背景置信度得分。
G-UAP選擇一批圖像,然后累計每個圖像得到的擾動,將擾動作為網(wǎng)絡(luò)的特征映射,用雅克比矩陣表示,這樣可以從一批圖像中學到通用的擾動以欺騙更多的樣本。
3)TOG方法。對兩階段檢測器Faster R-CNN設(shè)計的對抗攻擊方法往往通過攻擊兩階段網(wǎng)絡(luò)特有的組件RPN網(wǎng)絡(luò)來欺騙檢測器。Chow等人(2020a)提出的基于迭代的TOG方法可以同時攻擊兩階段和單階段兩種目標檢測器,TOG方法根據(jù)最后的攻擊效果分為目標消失攻擊、偽造標簽攻擊和分類錯誤攻擊3類。TOG方法通過逆轉(zhuǎn)訓練過程,固定網(wǎng)絡(luò)參數(shù),每次反向傳播時修改輸入的圖像,通過迭代生成對抗樣本,迭代直到攻擊成功或達到閾值停止,整體為
(28)
目標消失(vanish)攻擊使目標檢測器無法定位和識別任何物體。通過攻擊目標檢測器的Lobj損失函數(shù),該函數(shù)是檢測圖像中是否存在物體的損失函數(shù),在Faster R-CNN是RPN的置信度得分,在YOLO網(wǎng)絡(luò)代表網(wǎng)格的物體置信度得分。設(shè)置O(x)=?,使目標檢測器將目標劃為背景區(qū)域,從而使檢測器檢測不到任何物體,具體為
(29)
偽造標簽(fabrication)攻擊通過引入大量的偽造對象來增加目標檢測的對象數(shù)量,達到攻擊目標檢測器的目的,具體為
(30)
式(30)與式(29)的區(qū)別在于式(29)是將前景換為背景區(qū)域,而目標偽造是使更多的背景區(qū)域變?yōu)榍熬?,使所有的建議框或網(wǎng)格遠離空標簽。
目標分類錯誤(object-mislabeling)攻擊使目標檢測器對在輸入圖像上檢測到的對象進行錯誤的分類。具體做法是對檢測出來的對象進行分類時,用選定的目標類別代替原來的標簽進行反向傳播,得到對抗梯度,修改圖像,使檢測器雖然檢測出來物體,但是分類錯誤,具體為
(31)
式中,O*表示錯誤的類別標簽。
因為TOG不是針對目標檢測器的特有結(jié)構(gòu)(例如RPN)設(shè)計的,而是從目標檢測多任務角度進行攻擊,所以可以為不同種類的目標檢測器生成對抗樣本。
與全局擾動攻擊需要針對全像素進行攻擊的方法不同,局部擾動攻擊只在原始圖像的一個區(qū)域內(nèi)添加擾動,使該區(qū)域的擾動能影響全圖,達到欺騙目標檢測器的目的。主要方法有Bpatch、Dpatch、EA(evaporate attack)和Adversarial-YOLO方法。
1)Bpatch方法。這是Li等人(2018a)率先提出的針對兩階段檢測器的局部進行擾動攻擊的方法,通過在圖像目標之外的背景上添加擾動塊來攻擊目標檢測器。BPatch也是針對兩階段檢測器中特有的部件RPN(區(qū)域提議網(wǎng)絡(luò))進行攻擊。由于RPN網(wǎng)絡(luò)會生成大量包含候選框的候選區(qū)域,下一階段的網(wǎng)絡(luò)會針對RPN網(wǎng)絡(luò)生成的候選框按照置信度進行排列,將高于置信度閾值的候選框挑選出來進行下一階段的分類和位置回歸。BPatch針對RPN網(wǎng)絡(luò)的篩選機制提出了攻擊思路,通過降低RPN層得到的高置信度候選區(qū)的置信度,使得最后送入下一層網(wǎng)絡(luò)的候選框少包含甚至不包含前景目標。
BPatch補丁也是一種通過對損失函數(shù)優(yōu)化來生成對抗擾動的方法,公式包含3種損失函數(shù):1)真陽性置信度損失(true positive confidence loss,TPC),該項損失的目的是降低包含圖像目標區(qū)域候選框的置信度,從而無法提取正確的候選框進入下一層網(wǎng)絡(luò);2)真陽性形狀損失(true positive shape loss,TPS),該項損失是對目標的位置進行攻擊,目的是使最后物體的位置定位是不精確甚至錯誤的;3)假陽性置信度損失(false positive confidence loss,F(xiàn)PC),目的是提高背景區(qū)域的置信度,將背景補丁附近的區(qū)域選中送入RPN網(wǎng)絡(luò)的下一層網(wǎng)絡(luò)。通過這3個損失函數(shù)降低真實候選框的置信度,提高背景區(qū)域假候選區(qū)域的置信度,最后達到攻擊目標檢測的目的。
BPatch損失函數(shù)具體計算為
Lfpc(I(Q);F) s.t.fPSNR(I(Q))≥ε
(32)
式中,Ltpc,Lshape,Lfpc為上面提到的3個損失,I(Q)為加入補丁Q的圖像I,F(xiàn)為已經(jīng)訓練好的RPN網(wǎng)絡(luò),ε為峰值信噪比的下限。
TPC損失具體計算為
(33)
式中,Sj表示第j個候選區(qū)域的置信度得分;Zj為權(quán)重,當?shù)趈個候選區(qū)域與任意標簽比較,得到的IoU大于閾值(一般為0.5),且該候選框的置信度大于閾值(一般為0.1)時,令Zj= 1,否則Zj= 0。
TPS損失具體計算為
(34)
FPC損失函數(shù)定義為
(35)
當?shù)趈個候選框與背景補丁Q的IoU>0.3且與任意的真實矩形框的IoU=0時,就選擇該候選框進行優(yōu)化,令rj=1,否則,令rj=0。通過優(yōu)化式(35)提高背景補丁的置信度,使RPN網(wǎng)絡(luò)給下一層網(wǎng)絡(luò)輸出更多的包含背景區(qū)域的候選框,導致檢測失敗。
2)Dpatch方法。這是Liu等人(2019b)提出的針對目標檢測器的目標攻擊方法,核心是生成一個patch,然后將該patch當做一個GT(ground truth)檢測框,通過反向傳播使網(wǎng)絡(luò)直接優(yōu)化該patch。因此,當分類損失和回歸損失都收斂的情況下,只會產(chǎn)生一個檢測框,即patch的坐標和類別。DPatch可以針對Faster R-CNN和YOLO系列網(wǎng)絡(luò)的特點同時進行攻擊。
針對Faster R-CNN兩階段檢測網(wǎng)絡(luò),攻擊思路是使其RPN網(wǎng)絡(luò)無法生成正確的候選區(qū)域,使DPatch所在的區(qū)域成為唯一有效的RoI,而忽略其他可能的候選區(qū)域。
針對YOLO單階段網(wǎng)絡(luò),核心要素是邊界框預測和置信度分數(shù)。圖像中的每個網(wǎng)絡(luò)都可以預測邊界框和這些邊界的置信度分數(shù)。這些置信度得分反映了該邊界框包含一個對象的概率以及該邊界框的準確性。如果置信度得分相對較低,則由網(wǎng)格預測的邊界框視為不包含真實對象。同樣,攻擊YOLO時,應將DPatch所在的網(wǎng)格視為對象,而其他網(wǎng)格則應忽略,即包含DPatch的網(wǎng)格比其他具有普通對象的網(wǎng)格具有更高的置信度得分。
DPatch方法受谷歌對抗補丁(Brown等,2017)的啟發(fā),通過類比圖像分類的patch,得
(36)
(37)
在目標攻擊中,DPatch還可以提前指定想要攻擊的目標類標簽yt和邊界框標簽Bt,通過反向傳播最小化損失函數(shù)。具體為
(38)
對于非目標攻擊,DPatch將圖中的目標標簽設(shè)置為0,即將其訓練為背景。DPatch方法易受patch的大小影響,一般patch選的越大,攻擊的成功率也就越大,相應的擾動的像素也就越多。
3)EA方法。目標檢測攻擊的絕大部分算法,諸如DAG、RAP,它們生成對抗樣本的本質(zhì)是通過損失函數(shù)進行優(yōu)化得到,導致它們只能攻擊白盒目標檢測模型。對于未知的黑盒模型,其攻擊效果不盡人意。針對這種情況,Wang等人(2020)提出一種基于粒子群優(yōu)化的黑盒攻擊方法——EA方法。這種方法僅利用模型預測的位置和標簽信息來生成對抗樣本。該算法將對抗樣本的生成看做式(39)的優(yōu)化。
minL(x′)=d(x′,x)-δ(D(x′))
(39)
式中,d(·,·)是距離度量,在此將距離度量通過L2范數(shù)進行實例化;δ(·)是對抗標準,如果滿足攻擊標準則取0,否則取負無窮;D代表目標檢測模型。該方法首先向圖像中添加隨機噪聲來生成初始圖像粒子群,圖像粒子的初始化計算為
x′i=x+ε×z
s.t.z%N(0,δ2C),δ(x′i)=0
(40)
式中,x為原始圖像,z是隨機生成的高斯噪聲,ε為限制噪聲的超參數(shù),C表示正態(tài)分布中的樣本種類,δ(·)表示對抗標準,如果擾動圖像使檢測器錯誤,則取0,否則取1。將添加了隨機擾動的圖像作為初始粒子x′i,計算粒子群的適應度值。在滿足對抗要求的情況下,圖像粒子與原始圖像的距離越小,適應度值就越大。
Wang(2020)修改了傳統(tǒng)的PSO(particle swarm optimization)算法(Kennedy和Eberhart,1995)的速度迭代公式,為了使生成的圖像和原始圖像盡可能相似,加入了最佳像素位置(Ubest)來引導粒子接近原始圖像。同時,為了避免傳統(tǒng)PSO易陷入局部最優(yōu)問題,在速度迭代公式中添加高斯噪聲。攻擊分為兩個階段。第1階段的粒子群移動方式為
pv=μ1×E+μ2×z×(Pbest-x)+
μ3×z×(Gbest-x)+μ4×(Ubest-x)+μ5×z
(41)
式中,μ1為初始權(quán)重因子,μ2和μ3為初始化學習因子,μ4為原始圖像投影的權(quán)重,μ5為高斯噪聲的權(quán)重,Pbest為粒子個體的歷史最優(yōu)值,Gbest為粒子群全局最優(yōu)值。第2階段當粒子已經(jīng)很接近目標則開始變慢速度,去除式(41)第2項,使粒子穩(wěn)定地向前移動,直到達到迭代次數(shù)或者達到全局最優(yōu)解,最終得到對抗樣本。
4)Adversarial-YOLO方法。這是Thys等人(2019)設(shè)計的一種基于YOLO網(wǎng)絡(luò)的肉眼可見的對抗樣本生成方法。該方法生成的對抗樣本可以欺騙基于YOLO的行人檢測,使其無法檢測到人的存在。這種方法在數(shù)字世界和物理世界都有較強的攻擊效果。在數(shù)字世界,為了使生成的樣本具有攻擊性,需要最小化檢測器輸出的對象的類損失Lobj。為此,設(shè)計了3種Lobj:1)將類標簽為人的網(wǎng)格誤導成其他種類;2)最小化物體的置信度得分;3)前兩者的結(jié)合。實驗證明,設(shè)計的第2種損失的效果最好(Thys 等,2019)。
同時,為了使生成的對抗樣本可以轉(zhuǎn)移到物理世界,加入了打印損失Lnps,具體為
(42)
式中,ppatch為patch的像素,Cprint是一組可打印出來的顏色C中的一種顏色。為了使優(yōu)化過程中patch的色彩過渡更為平滑以及防止噪聲圖像,提出了第3種損失Ltv,具體為
(43)
式中,pi,j代表像素點。如果圖像中相鄰像素相似,則分數(shù)較低,反之,則分數(shù)較高。將以上3部分損失合并,得到最終的總損失,通過優(yōu)化總損失得到對抗樣本。最終的總損失為
L=αLnps+βLtv+Lobj
(44)
為了便于了解各種目標檢測對抗樣本生成方法的特點,表1對每種方法進行了簡要總結(jié)。同時根據(jù)是否知道模型內(nèi)部參數(shù)、是否屬于定向攻擊、主要攻擊的檢測器類型、損失函數(shù)的設(shè)計等6個方面對上述提到的對抗攻擊方法進行總結(jié)分析,如表2所示。從表1和表2可以看出,自Lu等人(2017)提出DFool攻擊以來,面向目標檢測的對抗樣本生成技術(shù)的發(fā)展具有以下幾個規(guī)律:
表1 對抗攻擊方法描述
表2 對抗攻擊方法總結(jié)
1)攻擊形式多樣化。主要體現(xiàn)在3個方面。(1)攻擊效果多樣化。最開始的攻擊方法如DAG,攻擊效果是使目標檢測器對檢測到的物體進行錯誤的分類。隨著越來越多攻擊方法的提出,造成的攻擊效果不僅包含分類錯誤,還有使圖像中的物體無法檢測到、使檢測到的物體錯誤分類、使檢測到的物體的檢測框錯誤、使圖中出現(xiàn)許多未知標簽等??梢钥闯?,現(xiàn)在提出方法的攻擊效果越來越多樣化。(2)攻擊損失函數(shù)更加多樣化。由單一的分類損失變?yōu)榉诸悡p失結(jié)合回歸損失的聯(lián)合損失函數(shù),有些方法在聯(lián)合損失函數(shù)基礎(chǔ)上,還加入背景損失、上下文損失函數(shù),使生成的對抗樣本更具有攻擊性。(3)目標檢測的對抗攻擊不僅包含全局擾動攻擊,也包含以patch為主的局部擾動攻擊。全局擾動攻擊和局部擾動攻擊各有優(yōu)缺點,分別適應不同場景。全局擾動攻擊的擾動攻擊全局,擾動分散不易察覺,而以補丁為主的局部攻擊,常常延伸到物理世界,將對抗補丁做成貼紙或圖案,以此實現(xiàn)物理世界的端到端攻擊。
2)攻擊對象更豐富。面向目標檢測的對抗攻擊對象既包括以Faster R-CNN為代表的兩階段檢測器,也包括以YOLO為代表的單階段檢測器,此外也開始出現(xiàn)針對無錨框(anchor-free)(Huang等,2015)的新型檢測器的研究,例如上文對CenterNet攻擊的CA算法。值得注意的是,目前的方法大多數(shù)是攻擊兩階段檢測器。因為相比于單階段檢測器,兩階段檢測器檢測精度更高,更難攻擊,因此大多研究更關(guān)注于攻擊Faster R-CNN。
3)白盒攻擊普遍,黑盒攻擊鮮有。本文提及的方法中,黑盒攻擊方法僅有3種。這是因為目標檢測相比于圖像分類,網(wǎng)絡(luò)更深,提取特征的能力更強。不僅可以進行圖像分類,還可以用上下文信息對圖像分類的結(jié)果進行糾正。因此目標檢測對對抗樣本的“免疫力”大幅高于圖像分類,如果不了解模型內(nèi)部的參數(shù),很難構(gòu)造出具有較強攻擊性的對抗樣本。這也造成了目標檢測領(lǐng)域的黑盒攻擊方法鮮有的現(xiàn)象。因此,如何設(shè)計出有效的黑盒攻擊方法在未來是一個值得關(guān)注的方向,值得進一步探討。
選取全局擾動攻擊中有代表性的DAG、RAP、UEA和TOG方法,其中TOG包括3個子策略,共6種攻擊方式進行對比實驗。選擇的數(shù)據(jù)集為PASCAL VOC,其中訓練集為VOC 2007 + VOC 2012的全部訓練圖像,測試集選擇VOC 2007的全部測試圖像。選擇Faster R-CNN模型作為攻擊的目標模型。首先采用干凈樣本訓練Faster R-CNN,用訓練好的模型在測試集上進行測試。以mAP為評價指標,mAP越大,說明檢測器對數(shù)據(jù)集的檢測效果越好。表3為Faster R-CNN的正常訓練結(jié)果,經(jīng)過13次迭代后,mAP達到70.1%,超過了Faster R-CNN論文中的效果,用此檢測器測試不同的攻擊方法。將測試集通過6種攻擊方法生成對抗樣本,然后用訓練好的Faster R-CNN進行檢測,實驗結(jié)果如表4所示。
表3 Faster R-CNN正常訓練結(jié)果
表4 不同方法在PASCAL VOC 2007測試集上攻擊的AP結(jié)果
表4給出了6種對抗樣本生成方法對PASCAL VOC測試集中20個小類的檢測情況。第2列是攻擊前的檢測精度AP,第3—8列是6種對抗樣本生成方法攻擊后的檢測精度。最后一行是20個小類AP的平均值,即mAP值。從表中可以看出,20個小類的樣本受不同方法攻擊前后AP值的變化。這些方法均能夠有效攻擊Faster R-CNN檢測器,但不同攻擊方法的攻擊強度不同。TOG作為最新的一種攻擊方法,攻擊效果最好,TOG的3種子策略都優(yōu)于其他3種算法,尤其是TOG-消失,幾乎使整個測試集的AP下降到0。
實驗選擇Faster R-CNN為測試模型,分別從攻擊強度、攻擊所需要的時間以及生成的擾動大小3個角度對上述6種攻擊方法進行分析。
攻擊強度用攻擊成功率(attack success rate,ASR)評估,表示攻擊前后mAP的變化情況,定義為
(45)
式中,mAPclean代表攻擊前的檢測器的mAP,mAPattack為攻擊后的檢測器的mAP,ASR越高代表攻擊越強。
攻擊算法的時間成本為整個測試集所有對抗樣本生成時間除以圖像數(shù)量求得的平均值。
生成的擾動大小是指生成的對抗樣本圖像與原始圖像的差距。實驗使用對抗樣本中較常用的L2范數(shù)衡量擾動的程度。
表5是6種對抗樣本生成方法在攻擊強度、攻擊所需要的時間以及生成的擾動大小3個方面的表現(xiàn)。從攻擊強度看,3種TOG方法的攻擊成功率比其他3種方法好,UEA的攻擊成功率最差。從對抗樣本生成時間看,UEA的生成時間是最快的,這是因為UEA算法已經(jīng)訓練好了一個GAN網(wǎng)絡(luò),生成對抗樣本的過程只涉及前向傳播,而其他方法均需通過反向傳播來生成擾動。同時,因為UEA缺少了反向傳播來針對不同圖像生成擾動,無法捕捉不同圖像的細微差異性,所以為了達到攻擊效果,只能增大擾動范圍,表5顯示的6種方法中,UEA產(chǎn)生的對抗樣本L2范數(shù)指標為0.124,是其他方法的數(shù)倍。RAP與DAG相比,生成的時間較少,因為生成對抗樣本時限制了生成擾動的大小,要求圖像的PSNR大于固定的閾值,所以最后的迭代次數(shù)一般是少于DAG的,故時間代價比DAG要小。整體而言,綜合考慮ASR、時間代價和擾動大小,TOG在各指標上的表現(xiàn)更加均衡,相比其他方法有更好的攻擊效果。
表5 幾種攻擊方法在Faster R-CNN上效果對比
對抗樣本的可遷移性是指生成的對抗樣本對未知模型的攻擊能力,是衡量對抗樣本的重要指標。一種好的對抗樣本生成方法,不僅具有較高的白盒攻擊能力,同時也應具有較高的黑盒攻擊能力。
實驗選取上節(jié)提到的6種方法,以Faster R-CNN作為源模型生成對抗樣本,被攻擊的目標模型選擇以Darknet為骨干網(wǎng)絡(luò)的YOLOv3(YOLOv3-D)和SSD300兩種單階段檢測網(wǎng)絡(luò),實驗結(jié)果如表6所示。從數(shù)據(jù)上看,6種方法都使兩種檢測器的檢測精度下降,但程度不同。除了UEA,其他方法的攻擊成功率都在10%之內(nèi)。TOG-消失使YOLOv3-D從81.6%下降到77.5%,攻擊成功率為5.0%,對SSD300的攻擊成功率為3.4%。RAP對YOLOv3-D和SSD300的攻擊成功率分別為3.7%和2.8%,但對Faster R-CNN攻擊成功率高達92.83%(表5)。結(jié)合表5和表6可以看出,TOG系列、DAG和RAP方法的可遷移性都較低。而UEA對YOLOv3-D有43.2%的攻擊成功率,對SSD300的攻擊成功率為45.2%,相比其他方法,UEA方法的可遷移性較好。從算法思想上看,DAG方法生成對抗樣本是根據(jù)RPN生成的建議框進行分類攻擊,攻擊成功率與RPN網(wǎng)絡(luò)有關(guān);RAP算法的核心是破壞RPN網(wǎng)絡(luò);TOG方法是通過Faster R-CNN的損失函數(shù)反向傳播后求取的對抗梯度來生成對抗樣本。這些方法都是基于Faster R-CNN的內(nèi)部信息進行攻擊,一旦檢測器改變檢測思路,例如YOLO直接得到建議框而不需要RPN網(wǎng)絡(luò),這些對抗樣本就會失效,所以其可遷移性很低。從另一方面看,UEA在訓練過程中加入特征圖損失這一方法能有效提高對抗樣本的遷移能力。從以上數(shù)據(jù)也可以看出,目前面向目標檢測的白盒攻擊方法的可遷移性是有限的,無法對未知模型造成較大破壞。
表6 遷移性比較結(jié)果
目標檢測在許多計算機視覺任務中扮演著重要角色,所以如何有效防止目標檢測器遭受對抗樣本的侵害以提高模型魯棒性顯得越發(fā)重要。目前對于目標檢測對抗樣本的防御方法較少,本文按防御的時間段和作用,將防御策略分為預處理防御和提高模型魯棒性防御兩類。
預處理防御策略是指將圖像在輸入神經(jīng)網(wǎng)絡(luò)前先經(jīng)過一系列操作,以減輕對抗樣本的攻擊。常見方法有去噪、濾波和圖像壓縮等。預處理防御策略在圖像分類攻擊領(lǐng)域是一項重要的防御措施,能夠有效降低對抗樣本的攻擊性。一些學者嘗試將圖像分類的預處理操作運用到目標檢測領(lǐng)域,發(fā)現(xiàn)也能起到一定的防御作用。
5.1.1 去噪、濾波和圖像壓縮
Saha等人(2020)發(fā)現(xiàn)去噪(Akhtar等,2018;Vincent等,2008)和濾波器濾波圖像(Wang,2016a,2016b)等經(jīng)典防御方法在目標檢測的對抗防御上能起到較好作用。Liao等人(2020)將DAG產(chǎn)生的對抗樣本經(jīng)過JPEG(joint photographic experts group)壓縮(Dziugaite等,2016)后,用CenterNet和SSD模型進行檢測,發(fā)現(xiàn)這些對抗示例基本失去了攻擊性。
5.1.2 隨機中值平滑
Chiang等人(2020)提出一種針對目標檢測器的隨機中值平滑方法來防御對抗樣本。傳統(tǒng)的高斯平滑操作由于計算的是平均值,易受基函數(shù)的影響而產(chǎn)生偏斜,而目標檢測需要完成回歸任務,這對于回歸問題是重大缺陷,因此采用中值代替平均值的中值平滑方法。實驗結(jié)果表明,DAG攻擊生成的對抗樣本經(jīng)過隨機中值平滑操作,攻擊成功率很低。
5.2.1 對抗訓練
對抗訓練作為圖像分類領(lǐng)域?qū)构舴烙某S梅椒軌蛴行岣吣P汪敯粜?。Goodfellow等人(2015)提出通過對抗訓練提高模型魯棒性。Kurakin等人(2017)提出在大型網(wǎng)絡(luò)Inception v3模型和大型數(shù)據(jù)集ImageNet上用批量歸一化的方法進行對抗訓練。很多方法(Tramèr等,2018;Li等,2019;Song,2018a;Madry等,2018)均將對抗訓練用于對抗樣本防御。
Zhang和Wang(2019)通過對目標檢測器的一些經(jīng)典攻擊方法進行分析,從目標檢測的多任務學習(Redmon等,2016)角度指出,這些攻擊是從單一的分類損失或分類損失與位置損失的組合實現(xiàn)對目標檢測器的攻擊,不同的任務損失對模型魯棒性的作用不同,提出基于分類和位置損失來對抗訓練目標檢測器。結(jié)果表明,這種對抗訓練在不同的攻擊方法、數(shù)據(jù)集和檢測器特征提取器上都能很好地提高魯棒性。
5.2.2 限制上下文信息使用
Saha等人(2020)認為現(xiàn)階段的目標檢測器之所以效果較好,是因為有效利用了上下文信息。這種上下文信息也因此被攻擊者利用,Saha提出在訓練檢測器時限制上下文信息的使用可以有效防御那些通過上下文推理進行攻擊的方法。
限制上下文信息的使用可以從兩方面實現(xiàn)。1)Grad-defence。借助Grad-CAM(Selvaraju等,2017)的思想,將卷積層的中間進行可視化并進行裁剪,使其不超過被檢測物體的邊界框。如果超過了被檢測物體的邊界框,則對邊界框周圍的像素做非零懲罰,以限制最后一層的感受野范圍,從而降低對抗樣本在物體周圍添加的噪聲影響,獲得更準確的預測。2)在訓練數(shù)據(jù)中消除上下文的影響,通過人工在訓練圖像上粘貼一個脫離上下文的前景物體,用這種圖像訓練檢測器,以限制上下文信息的使用。實驗證明,這兩種方法都能起到一定的防御作用。
5.2.3 正則化方法
Bouabid和Delaitre(2020)將圖像分類領(lǐng)域的混合訓練方法(Zhang等,2018)擴展到目標檢測領(lǐng)域來提高模型的魯棒性。混合正則訓練方法使神經(jīng)網(wǎng)絡(luò)由經(jīng)驗風險最小化變?yōu)轭I(lǐng)域風險最小化,可以使網(wǎng)絡(luò)不再僅記憶訓練的數(shù)據(jù),而且更加關(guān)注泛化的數(shù)據(jù)。通過線性插值樣本及標簽,將圖像從像素和錨點網(wǎng)絡(luò)兩方面進行混合,形成標簽和樣本的凸組合,然后在凸組合上訓練神經(jīng)網(wǎng)絡(luò),減少對錯誤標簽的記憶,增加模型的魯棒性。
5.2.4 特征對齊
Xu等人(2021)提出使用中間層的特征對齊可以提高模型魯棒性,降低對抗樣本的攻擊效果。通過知識蒸餾(knowledge distillation)和自監(jiān)督學習(self-supervised learning)兩種方法,將來自siamese網(wǎng)絡(luò)和教師網(wǎng)絡(luò)的先驗特征進行特征對齊,這樣的特征更加全面有效,通過指導中間特征層的輸出來強化對抗訓練,使得到的網(wǎng)絡(luò)抗干擾能力更強。實驗結(jié)果表明,新的特征對齊方法在防御上比Zhang和Wang(2019)的對抗訓練效果更好。
5.2.5 噪聲混合
Li等人(2020)觀察到對抗樣本的噪聲是通過反向傳播形成的,具有特定規(guī)律,如果破壞這種規(guī)律就會降低攻擊效果。同時,神經(jīng)網(wǎng)絡(luò)對通用噪聲的敏感度比對抗噪聲低,更容易抵抗沒有規(guī)律的通用噪聲。因此設(shè)計了一種分段屏蔽框架,將圖像分成小部分,隨機對每部分的像素進行清洗,并添加通用噪聲破壞對抗樣本中的對抗模式,以達到防御目的。實驗表明,加入分段屏蔽框架的目標檢測模型在抵抗對抗樣本的性能上優(yōu)于未加入分段屏蔽框架的檢測器。
5.2.6 檢測器預警(DetectorGuard)
Xiang和Mittal(2021)針對對抗攻擊中的局部攻擊,設(shè)計了一種名為檢測器預警(DetectorGuard)的通用框架報警機制。DetectorGuard利用圖像分類與目標檢測的相互聯(lián)系,將魯棒性從分類器傳遞到檢測器,設(shè)計了一種對象預測器的組件。對象預測器通過在整幅圖像或特征圖上使用比較魯棒的分類器作為滑動窗口,對圖像中的各位置分類,最后將分類結(jié)果進行聚合得到最后的預測結(jié)果。將預測結(jié)果與原始目標檢測器的檢測結(jié)果進行對比,如果兩個檢測結(jié)果不一致,則認定為對抗樣本,觸發(fā)檢測器預警框架的攻擊警報。
表7列舉了一些目標檢測現(xiàn)有防御策略,這些防御策略各有優(yōu)缺點且適用場合不同,往往只針對特定的攻擊方法或數(shù)據(jù)集。目前,最有效的措施是進行對抗訓練,但對抗訓練需要優(yōu)先生成對抗樣本,對目標檢測任務來說,開銷大,速度慢。特別對于補丁類的攻擊的防御代價更大,因為生成一個有效的補丁往往需要上千次乃至上萬次迭代。
表7 防御方法總結(jié)
總體來說,目標檢測領(lǐng)域的防御技術(shù)目前仍然十分匱乏,僅有的一些措施是對全局擾動攻擊進行防御,對物理場景中檢測的防御甚至沒有。造成這種現(xiàn)象的原因是目標檢測領(lǐng)域的對抗攻擊出現(xiàn)時間短,研究遠沒有圖像分類領(lǐng)域那么深入,且目標檢測的網(wǎng)絡(luò)結(jié)構(gòu)更加復雜,不僅涉及分類,還涉及位置回歸。所以許多分類器上的防御技術(shù)在目標檢測領(lǐng)域遇到回歸網(wǎng)絡(luò)就會失效。如何有效防御目標檢測領(lǐng)域的對抗攻擊在將來是一個研究熱點。
目前,目標檢測領(lǐng)域的對抗樣本生成和防御技術(shù)處于探索階段,還有很大發(fā)展空間。未來值得重點關(guān)注的研究方向如下:
1)目標檢測對抗樣本的可遷移性。對抗樣本的可遷移性作為衡量對抗樣本的重要屬性之一,需要得到更多關(guān)注。而目標檢測是計算機視覺中的一個熱門領(lǐng)域,它不同于圖像分類,由于其特有的方法和技術(shù),使得目標檢測對于一般的對抗樣本有很好的抗干擾性。目前該領(lǐng)域提出的大多數(shù)對抗樣本白盒生成方法往往是針對特定的一類目標檢測器進行攻擊,例如針對兩階段檢測器進行攻擊,但是這樣生成的對抗樣本對單階段檢測器的攻擊效果就不盡人意。說明現(xiàn)階段方法生成的對抗樣本的可遷移能力較差,無法在其他模型上取得較好效果。如何有效解決現(xiàn)有攻擊方法過于依賴模型信息而導致生成的對抗樣本缺乏泛化能力的問題,提高對抗樣本的可遷移性和魯棒性,使生成的對抗樣本在各種目標檢測模型上均具有較高的攻擊性,是未來的一個研究熱點。
2)目標檢測的對抗防御。由于目標檢測對抗樣本生成是一個新興領(lǐng)域,處于起步階段,對于對抗樣本產(chǎn)生的原因仍未達成共識。對抗防御方面的研究較少,已有的一些防御策略主要是借鑒圖像分類中的對抗防御方法。如何增強目標檢測器的魯棒性以從容應對對抗攻擊,以及如何從神經(jīng)網(wǎng)絡(luò)的根源抵抗這種攻擊,仍然需要進一步研究。隨著目標檢測在安全攸關(guān)領(lǐng)域的普遍應用,設(shè)計更魯棒、更安全的目標檢測器越來越成為一項迫切的任務。
3)對抗樣本的擾動大小和生成速度。由于目標檢測模型是一個大型網(wǎng)絡(luò),而現(xiàn)有方法,如:DFool(Lu等,2017)、DAG(Xie等,2017)、RAP(Li,2018b)、CAP(Zhang等,2020)、BPatch(Li等,2018a)、TOG(Chow等,2020b)都是基于反向傳播生成的,因此生成對抗樣本需要較長時間。盡管UEA方法提出使用GAN網(wǎng)絡(luò)提前訓練好網(wǎng)絡(luò),這樣生成對抗樣本時僅通過前向傳播就能生成,但是這種方法的攻擊效果并不十分理想,而且生成的圖像擾動較大。因此還需要在此基礎(chǔ)上設(shè)計一種更好的網(wǎng)絡(luò),使生成對抗樣本的速度比傳統(tǒng)方法更快,在節(jié)省時間的同時,能保持較好的低擾動率和較高的攻擊效果,這也是未來發(fā)展的一個重點方向。
本文從對抗樣本擾動生成的范圍、攻擊的檢測器類型以及使用的損失函數(shù)出發(fā),歸納總結(jié)了面向目標檢測的對抗樣本生成方法。通過實驗比較分析了幾種典型對抗樣本生成方法的性能。介紹了針對目標檢測現(xiàn)有的對抗防御策略。
目前,目標檢測領(lǐng)域的對抗樣本無論生成還是防御都還存在很多問題,且由于對抗樣本產(chǎn)生的原因還不是十分清楚,因而防御策略的研究較少。本文希望能夠給研究者帶來更多關(guān)于目標檢測的對抗樣本生成與防御的研究思路。隨著對目標檢測對抗樣本生成與防御研究的深入開展,必然會推動目標檢測技術(shù)進一步發(fā)展,為目標檢測的廣泛應用提供更安全的保障。