楊 輝,權(quán)冀川,梁新宇,王中偉
1.陸軍工程大學 指揮控制工程學院,南京210007
2.中國人民解放軍73658部隊
目標檢測算法的研究有著近二十年的歷史,由最初檢測線段,逐步發(fā)展到檢測人臉、行人等常見目標,到現(xiàn)在檢測復(fù)雜的、形態(tài)各異的目標。近年來,由于目標檢測技術(shù)的不斷完善,計算機硬件設(shè)備的不斷發(fā)展,目標檢測已經(jīng)逐漸應(yīng)用到人們的生產(chǎn)生活中,例如在視頻監(jiān)控[1]、自動駕駛系統(tǒng)[2]、人臉識別系統(tǒng)[3]、醫(yī)學圖像目標檢測[4]等領(lǐng)域具有非常多的應(yīng)用。
傳統(tǒng)的目標檢測算法主要由三步驟組成,區(qū)域選擇、特征提取和分類器設(shè)計。首先是在圖像上選擇候選區(qū)域,得到多個大小不一的候選框,再對每個候選區(qū)域進行特征提取,然后將提取到的特征放入分類器中進行類別判斷和回歸處理,得到最終的檢測結(jié)果。這種檢測算法的效果并不理想,檢測效率低,計算復(fù)雜度高。
2014年文獻[5]將深度學習方法用在目標檢測任務(wù)中,相比于傳統(tǒng)目標檢測算法,該方法取得了驚人的效果。此后,基于深度學習的目標檢測算法逐漸成為主流的方法。然而,該類模型的檢測結(jié)果嚴重依賴于候選區(qū)域的數(shù)量和質(zhì)量,檢測速度較為緩慢。針對這個問題,文獻[6-9]提出了相應(yīng)的算法,在很大程度上提高了檢測速度。近幾年,YOLO[10-13]、SSD[14]、RetinaNet[15]等一階段算法也在不斷發(fā)展,進一步提高了檢測速度,但是檢測精度有所降低。
盡管上述強監(jiān)督目標檢測算法已經(jīng)取得了很好的效果,但強監(jiān)督目標檢測算法模型需要在大規(guī)模標注精度高的數(shù)據(jù)集上進行訓(xùn)練,檢測結(jié)果嚴重依賴于數(shù)據(jù)集標注的精度。目前的數(shù)據(jù)集標注工作主要是靠人工完成,而人工標注在很大程度上容易受人的主觀因素影響,很難獲得大規(guī)模的且標注精度高的數(shù)據(jù)集。同時,很多特殊領(lǐng)域也很難獲得大規(guī)模的數(shù)據(jù)集,例如軍事領(lǐng)域。若采用強監(jiān)督算法實現(xiàn)這些領(lǐng)域的目標檢測任務(wù),則很難訓(xùn)練出檢測效果好的模型。目前,數(shù)據(jù)集標注的成本越來越高,如何在低成本標注的數(shù)據(jù)集上取得良好的檢測結(jié)果已成為研究的熱點。大量學者開始研究基于弱監(jiān)督學習的目標檢測算法。弱監(jiān)督目標檢測算法只需要帶有圖像級標簽的數(shù)據(jù)集就能實現(xiàn)目標檢測。因此,與強監(jiān)督目標檢測算法相比,弱監(jiān)督目標檢測算法具有更強的適應(yīng)能力。
本文對算法進行詳細介紹,并分析對比了各類算法的檢測性能。在此基礎(chǔ)上,進一步對弱監(jiān)督目標檢測算法的發(fā)展方向進行了總結(jié)與展望。
目前主流的弱監(jiān)督目標檢測算法都是在卷積神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上實現(xiàn)的,算法流程如圖1所示。按照不同的特征處理方法可以將基于卷積神經(jīng)網(wǎng)絡(luò)的弱監(jiān)督目標檢測算法歸為以下四類:基于多示例學習的弱監(jiān)督目標檢測算法;基于類激活圖的弱監(jiān)督目標檢測算法;基于注意力機制的弱監(jiān)督目標檢測算法;基于偽標簽的弱監(jiān)督目標檢測算法。
圖1 弱監(jiān)督目標檢測算法流程Fig.1 Weakly supervised object detection algorithm flow
目前針對弱監(jiān)督目標檢測任務(wù),主流的方法離不開多示例學習(Multi-Instance Learning,MIL)的思想。在多示例學習[16]中,可以把每張只帶有圖像級標注的圖片看作一個包,把圖片中的分割區(qū)域看作一個示例,包由多個示例組成。若包中至少有一個示例包含目標物體,則該包為正包,否則該包為負包。該算法僅需對包進行類別標注,而不需要對更細粒度的示例進行類別標注,最終目的是對新的包或者新的示例給出類別和位置預(yù)測,其算法流程如圖2所示。
圖2 MIL算法流程Fig.2 MIL algorithm flow
盡管多示例學習的方法能夠在標簽信息不足的情況下實現(xiàn)目標檢測,但多示例學習的效果依賴于潛在變量的初始化情況。如果潛在變量沒有被正確初始化,模型將陷入局部最優(yōu)解,從而影響模型的檢測性能。為了緩解模型陷入局部最優(yōu)解的非凸性問題,可以采用空間正則化[17]、上下文信息[18-19]和漸進細化[20-22]等方法。
文獻[17]提出了一種基于Clique的最小熵模型作為正則化器,以減輕多示例學習過程中的局部隨機性。同時,提出了一種遞歸學習算法,將圖像分類和目標檢測結(jié)合起來,然后逐步優(yōu)化分類器和檢測器。在文獻[18]中,上下文模型通過降低目標具有顯著特征部位的置信度,提高目標其他區(qū)域特征的置信度,以此來提高多示例學習的檢測精度。文獻[19]提出具有周圍分割上下文的緊密框挖掘算法(Tight box mining with Surrounding Segmentation Context,TS2C),利用弱監(jiān)督分割方法獲得周圍分割上下文來抑制交并比(Intersection-Over-Union,IOU)低的候選框,并提高候選框的IOU。通過這種方法,可以發(fā)現(xiàn)IOU高的候選框,從而學習更好的目標檢測器。文獻[21]將在線示例分類器精化算法與多示例學習網(wǎng)絡(luò)集成在一起,提出一種生成候選框集群的方法,通過迭代過程學習形成精煉的示例分類器。同一集群中的示例在空間上相鄰并且與同一目標相關(guān)聯(lián),這樣可以避免網(wǎng)絡(luò)的注意力集中在目標的一部分而不是整個目標上。
也有學者從以下幾方面對上述問題進行優(yōu)化。Wan等[23]提出了連續(xù)多示例學習(Continuation Multiple Instance Learning,C-MIL)算法。該算法引入了延拓方法,通過平滑損失函數(shù)并將其轉(zhuǎn)化為多個更容易的子問題來解決復(fù)雜的優(yōu)化問題,將其轉(zhuǎn)化為多示例學習,從而創(chuàng)建延拓多示例學習,目的是以系統(tǒng)的方式緩解非凸性問題。Chen等[24]提出了一種空間似然投票(Spatial Likelihood Voting,SLV)模塊,在沒有任何邊界框注釋的情況下使目標定位的過程得以收斂。同時,也提出用于多任務(wù)學習的端到端的訓(xùn)練框架,讓分類和定位任務(wù)相互促進,提高檢測性能。Ren等[25]提出一個示例感知和聚焦上下文的統(tǒng)一框架,引用“Concrete Drop-Block”的參數(shù)空間缺失模塊,通過最大化檢測目標,使整個框架聚焦上下文信息而不是專注最有區(qū)別的部分,進而提高檢測精度。Zhang等[26]提出了一種之字形學習策略,采用平均能量累積得分(mean Energy Accumulation Scores,mEAS)的標準,自動測量和排序包含目標物體的圖像的定位難度。首先讓模型訓(xùn)練簡單的圖像,使模型獲得一定的學習能力后再訓(xùn)練困難的圖像,從而獲得檢測能力更強的模型。Lin等[27]提出了一個端到端的目標示例挖掘(Object Instance Mining,OIM)框架來解決這個問題。該框架基于兩個假設(shè):具有最高置信度的候選框和與其高度重疊的候選框?qū)儆谕活悇e;同一類別的物體具有很高的外觀相似度。在框架形式上,構(gòu)建了空間圖和外觀圖,并用于挖掘圖像中所有可能的目標示例。其中,空間圖旨在對最高置信度候選框與其周圍候選框的空間關(guān)系進行建模,而外觀圖旨在捕獲與最高置信度候選框具有高度相似外觀的所有可能的目標示例。
卷積神經(jīng)網(wǎng)絡(luò)各層的卷積單元實際上都充當著目標檢測器的角色,盡管在卷積層中具有定位目標的顯著能力,但是當使用全連接層進行分類時,此功能會喪失[28]。針對該問題,Zhou等[29]提出全局平均池化層的優(yōu)勢超出了僅作為正則化器的范圍,只需稍做調(diào)整,卷積神經(jīng)網(wǎng)絡(luò)就可以保留其卓越的定位能力。文獻[29]使用類似GoogLeNet算法[30]中的網(wǎng)絡(luò)體系結(jié)構(gòu),網(wǎng)絡(luò)主要由卷積層組成,在最終輸出層之前,采用全局平均池化層代替全連接層,并將卷積特征圖輸入分類器進行目標分類。通過這種連通性結(jié)構(gòu),可以將輸出層的權(quán)重映射到卷積特征圖上確定圖像區(qū)域的重要性。該技術(shù)稱為類激活映射,使用該技術(shù)進行目標檢測的方法屬于基于類激活圖的弱監(jiān)督目標檢測算法,其算法流程如圖3所示。
圖3 類激活圖算法流程Fig.3 Class activation map algorithm flow
使用類激活圖(Class Activation Map,CAM)可在僅有圖像級標簽的數(shù)據(jù)集上實現(xiàn)目標檢測。CAM方法作為弱監(jiān)督方法被廣泛應(yīng)用。早期的基于CAM的目標檢測算法檢測精度不高,只能定位到目標具有顯著特征的部位。
為了提高該類算法的檢測精度,大量學者在該方向做出了貢獻。Cheng等[31]結(jié)合SSD算法和Dense-Net[32]算法的思想,提出層次顯著圖檢測網(wǎng)絡(luò)。該算法包括層次類激活圖(Hierarchical-Class Activation Map,Hierarchical-CAM)和層次空間金字塔顯著圖(Hierarchical-Spatial Pyramid Saliency Map,Hierarchical-SPSM)。層次顯著圖用于在輸入圖像中定位目標,與CAM或SPSM相比,可以提高定位精度。Benassou等[33]利用網(wǎng)絡(luò)的泛化能力,并使用干凈的示例和對抗性示例訓(xùn)練模型以定位整個目標對象。對抗性示例是添加了擾動的圖像,通常用于訓(xùn)練魯棒模型。經(jīng)過對抗性示例訓(xùn)練的CNN可以檢測到更多的可區(qū)分目標的特征。同時,將信息熵應(yīng)用于網(wǎng)絡(luò)生成的CAM,以在訓(xùn)練過程中對其進行指導(dǎo)。Diba等[34]提出一種兩階段級聯(lián)CNN(2-Stage Cascaded CNN)算法。第一階段提取特征并創(chuàng)建類激活圖,以便為每個目標示例創(chuàng)建一些候選框。第二階段在候選框中選擇最佳邊界框,以通過多示例學習損失來學習目標分類。該算法在一定程度上提高了弱監(jiān)督目標檢測的性能。
由于圖像級標注的數(shù)據(jù)不存在真實框,通過選擇性搜索生成的候選框的IOU值較低,進而導(dǎo)致訓(xùn)練得到的模型檢測精度不高。為了解決此問題。Cheng等[35]將選擇性搜索與梯度加權(quán)的類激活映射(Gradient-weighted Class Activation Mapping,Grad-CAM)技術(shù)相結(jié)合,可以比基于貪婪搜索的方法生成更多高IOU的候選框。在候選框選擇時,對于每一個目標類別,選取盡可能多的正樣本的同時,只選擇類別明確的困難負樣本。通過上調(diào)損失,在訓(xùn)練中關(guān)注更具判別性的負候選框,提高訓(xùn)練效果,得到檢測精度更高的模型。Du等[36]針對分類器的細化在開始時高度依賴于初始候選框質(zhì)量的問題,提出了一種弱監(jiān)督目標檢測分類器細化方法。該方法可以獲取目標的高質(zhì)量特定類的激活圖,并在激活圖的最大響應(yīng)點生成釘盒,以抑制錯誤的細化方向。在多次迭代訓(xùn)練后得到精煉的分類器,從而提高目標檢測的性能。
當前的CAM方法存在以下三個基本問題:全局平均池化層偏向?qū)⑤^高的權(quán)重分配給具有較小激活區(qū)域的通道;目標區(qū)域內(nèi)部的負加權(quán)激活;由于使用類激活圖的最大值作為閾值參考產(chǎn)生不穩(wěn)定性,從而導(dǎo)致只能定位到目標對象的小部分區(qū)域。針對此問題,Bae等[37]提出了三種簡單但有效的技術(shù)來緩解此問題,包括閾值平均池化、負權(quán)重夾緊和百分位數(shù)作為閾值標準,該方法大幅度提高了檢測性能。
注意力模型(Attention Model,AM)[38]最初用于機器翻譯,現(xiàn)在已成為神經(jīng)網(wǎng)絡(luò)領(lǐng)域的一個重要概念。注意力機制作為神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的重要組成部分,在自然語言處理、統(tǒng)計學習、語音處理和計算機視覺等領(lǐng)域有大量的應(yīng)用。深度學習中的注意力機制和人類的選擇性視覺注意力機制類似,核心目標都是從眾多信息中選擇出對當前任務(wù)目標更關(guān)鍵的信息。注意力機制在強監(jiān)督目標檢測算法中已得到廣泛應(yīng)用,且取得了很好的效果。同樣,注意力機制也可以用于弱監(jiān)督目標檢測算法,其算法流程如圖4所示。
圖4 注意力機制算法流程Fig.4 Attention mechanism algorithm flow
注意力機制分為軟注意力機制和硬注意力機制,在軟注意力機制中每個權(quán)重的取值范圍為0到1之間,在硬注意力機制中每個權(quán)重的值取0或1,也就是網(wǎng)絡(luò)只注意某幾個特定的點,且權(quán)重均為1。常用的注意力機制為軟注意力機制,其從原理上可分為空間注意力模型、通道注意力模型、空間和通道混合注意力模型三種。
空間注意力模型只注意和任務(wù)相關(guān)的區(qū)域,比如在分類任務(wù)中,模型就是尋找網(wǎng)絡(luò)中最重要的部位進行處理。通道注意力機制通過建模確定各個通道的重要程度,然后針對不同的任務(wù)增加或抑制不同的通道??臻g和通道混合注意力模型分別學習了通道的重要性和空間的重要性,該模塊可以很容易地嵌入到任何已知的框架中。
因為空間和通道混合的注意機制不僅可以注意到圖像中重要的部位,還可以給重要通道分配更大的權(quán)重,所以該注意力機制在弱監(jiān)督目標檢測中被廣泛利用。本文所列舉的基于注意力機制的弱監(jiān)督目標檢測算法中所用的注意力模型都是空間和通道混合的注意力模型。The等[39]提出了一種注意力網(wǎng)絡(luò)的神經(jīng)網(wǎng)絡(luò)架構(gòu)。給定圖像中的一組候選區(qū)域,注意力網(wǎng)絡(luò)首先計算每個候選區(qū)域的注意力得分。然后將這些候選區(qū)域與它們的注意力得分組合在一起,形成整個圖像的特征向量。該特征向量用于對圖像進行分類,并通過注意力得分實現(xiàn)目標定位。Yang等[40]提出了單一的端到端弱監(jiān)督目標檢測網(wǎng)絡(luò),該網(wǎng)絡(luò)可以共同優(yōu)化區(qū)域分類和回歸。同時,加入指導(dǎo)分類的注意力機制模塊增強特征學習的定位能力,從而顯著提高目標檢測的性能。Choe等[41]提出了一種基于注意力的丟棄層(Attentionbased Dropout Layer,ADL)方法,利用自我注意機制來處理模型的特征圖,去除目標對象中最具區(qū)分性的部分,讓模型能夠?qū)W到目標對象其他的特征。該方法包括兩個關(guān)鍵部分:在模型中隱藏最有區(qū)別的部分,以捕獲對象的整體范圍;突出有用信息的區(qū)域,以提高模型的識別能力。Gao等[42]提出了一種考慮網(wǎng)絡(luò)注意力和全局上下文信息的端到端弱監(jiān)督目標檢測算法。該算法采用輕量級的級聯(lián)注意丟棄模塊(Cascade Attentive Dropout Module,CADM)幫助網(wǎng)絡(luò)學習更全面的特征。同時,引入改進的全局上下文模塊,以更有效的特征融合方式增強學習能力,從而共同優(yōu)化區(qū)域分類和定位。
當數(shù)據(jù)集中存在大量未標注的數(shù)據(jù)時,可以采用基于偽標簽的弱監(jiān)督目標檢測算法來改善檢測效果。首先對圖像級標注的數(shù)據(jù)集提取特征,形成相應(yīng)的偽標簽,然后將帶有偽標簽的數(shù)據(jù)反向傳入卷積神經(jīng)網(wǎng)絡(luò),最后訓(xùn)練得到目標檢測模型,實現(xiàn)目標的定位與分類,其算法流程如圖5所示。
圖5 偽標簽算法流程Fig.5 Pseudo algorithm flow
Zhang等[43]提出了一個從弱監(jiān)督到強監(jiān)督的框架,采用偽標簽真實性挖掘(Pseudo Ground-truth Excavation,PGE)算法從圖片的每個示例中挖掘偽標簽。此外,采用偽標簽真實性調(diào)適(Pseudo Ground-truth Adaptation,PGA)算法,進一步從PGE中提高偽標簽的真實性。最后,使用這些偽標簽訓(xùn)練一個強監(jiān)督的檢測器。Zhang等[44]提出了一種偽標簽挖掘(Pseudo Ground Truth Mining,PGTM)算法,在訓(xùn)練數(shù)據(jù)中自動找到未標記實例的缺失邊界框。然后,結(jié)合挖掘到的偽標簽和標記注釋共同訓(xùn)練強監(jiān)督目標檢測器。同時,提出了一種增量學習(Incremental Learning,IL)框架,逐步合并經(jīng)過訓(xùn)練的強監(jiān)督檢測器的結(jié)果,以提高缺少邊界框的物體的檢測性能。
Zhang等[45]提出偽監(jiān)督對象定位算法(Pseudo Supervised Object Localization,PSOL),證明弱監(jiān)督的目標定位應(yīng)該分為兩部分:與類無關(guān)的目標定位和目標分類。對于與類無關(guān)的目標定位,應(yīng)該使用與類無關(guān)的方法生成帶有噪聲的偽標簽,然后在沒有類別標簽的情況下對它們執(zhí)行邊界框回歸。Zhong等[46]提出了知識遷移(Knowledge Transfer)框架,借助外部帶有標簽信息的源數(shù)據(jù)集提高弱監(jiān)督目標檢測的準確性。該算法通過一類通用檢測器(One-Class Universal Detector,OCUD)迭代地從源域遷移知識,并用于學習目標域檢測器。同時,目標域檢測器在每次迭代中挖掘的偽標簽可有效改善OCUD。兩者相互作用,從而提高了檢測精度。為了從可區(qū)分的局部目標對象部分中發(fā)現(xiàn)完整的目標區(qū)域,Zhang等[47]提出一種順序搜索策略,構(gòu)建了基于深度強化學習(Deep Reinforcement Learning,DRL)的完整區(qū)域搜索模塊實現(xiàn)弱監(jiān)督目標檢測任務(wù),并建立了弱監(jiān)督的增強搜索代理學習(Reinforcement Searching-Agent Learning)框架,使用特征一致性分析和特征激活映射生成偽標簽,學習所需的搜索代理。
綜上所述,表1總結(jié)了四類弱監(jiān)督目標檢測算法的機制,并對每類算法的優(yōu)點和缺點進行了比較。
表1 弱監(jiān)督目標檢測算法優(yōu)缺點比較Table 1 Comparison of weakly supervised object detection algorithms
當前通用目標檢測任務(wù)中流行的數(shù)據(jù)集有PASCAL VOC 2007[48]、PASCAL VOC 2012[49]、ImageNet[50]、MS-COCO[51]等。
PASCAL VOC數(shù)據(jù)集常用于圖像分類、圖像分割、目標檢測等任務(wù),其中PASCAL VOC 2007數(shù)據(jù)集和PASCAL VOC 2012數(shù)據(jù)集主要用于目標檢測。它們包含20個對象類別,例如人、自行車、鳥、瓶子、狗等。
ImageNet數(shù)據(jù)集用于圖像分類、目標檢測和場景分類等任務(wù),包含約1 420萬張圖片,22 000個類別。對于目標檢測任務(wù),它是一個具有200個對象類別的重要數(shù)據(jù)集。
MS-COCO數(shù)據(jù)集用于目標檢測、語義分割、人體關(guān)鍵點檢測和字幕生成等任務(wù)。對于目標檢測任務(wù),它是挑戰(zhàn)性最大的數(shù)據(jù)集之一。該數(shù)據(jù)集的目標大部分來自于自然場景,包含日常復(fù)雜場景的圖像,而且使用更加嚴格的評估標準,要求算法具有更精確的定位能力。
表2 從類別、訓(xùn)練集、驗證集、測試集四方面對上述數(shù)據(jù)集進行了對比。
表2 數(shù)據(jù)集對比Table 2 Data set comparison
本文所列舉的弱監(jiān)督目標檢測算法大多采用PASCAL VOC 2007數(shù)據(jù)集和PASCAL VOC 2012數(shù)據(jù)集作為算法的數(shù)據(jù)集,僅少數(shù)算法采用了MS-COCO數(shù)據(jù)集中的部分數(shù)據(jù)作為算法的訓(xùn)練數(shù)據(jù)集。主要原因是PASCAL VOC數(shù)據(jù)集中物體種類較少,數(shù)據(jù)集相對簡單。MS-COCO數(shù)據(jù)集中物體種類多,且小目標物體所占數(shù)量大,數(shù)據(jù)集較為復(fù)雜。同時,主流的強監(jiān)督目標檢測算法在MS-COCO數(shù)據(jù)集上的檢測精度都較低,平均檢測精度一般不超過50%。而弱監(jiān)督目標檢測算法的檢測精度遠低于強監(jiān)督目標檢測算法,在MS-COCO數(shù)據(jù)集的檢測精度非常低,平均檢測精度一般不超過20%。下文詳細比較與分析了四類弱監(jiān)督目標檢測算法中主流的算法在PASCAL VOC 2007數(shù)據(jù)集上的檢測結(jié)果。
常用的目標檢測評價指標包括精確率(Precision)、召回率(Recall)、平均精確率(Average Precision,AP)、mAP(mean Average Precision)、定位準確率(CorLoc)等。
假設(shè)用P表示精確率,其計算公式如下:
式(1)中,TP(True Positives)是正樣本被正確識別為正樣本的數(shù)量,F(xiàn)P(False Positives)是負樣本被錯誤識別為正樣本的數(shù)量。
假設(shè)用R表示召回率,其計算公式如下:
式(2)中,TP(True Positives)是正樣本被正確識別為正樣本的數(shù)量,F(xiàn)N(False Negatives)是正樣本被錯誤識別為負樣本的數(shù)量。一般來說,召回率越高,精確率越低。
AP通常用于計算平均的檢測精度,衡量檢測器在每個類別上的性能好壞;而mAP則更多用于評價多目標的檢測器性能,衡量檢測器在所有類別上的性能好壞,即得到每個類別的AP值后再取所有類別的平均值。
CorLoc值為正確定位的圖像數(shù)量占所有圖像數(shù)量的百分比,其計算公式如下:
式(3)中,TP、FP和類別無關(guān),只和位置有關(guān)。
本文主要選取mAP值和CorLoc值。因為目標檢測模型中的分類和定位都需要進行評估,并且每個圖像都可能包含不同類別的不同目標,所以圖像分類問題的標準度量不能用于目標檢測問題上,故選用mAP值。此外,對于弱監(jiān)督學習,因為在標注時沒有給出目標的邊界框,所以采用CorLoc值作為衡量檢測結(jié)果的重要標準。
本文選取了當前主流的弱監(jiān)督目標檢測算法,在PASCAL VOC 2007數(shù)據(jù)集上進行了比較。為了確保算法在特征提取過程中的一致性,所有算法均采用在ImageNet數(shù)據(jù)集上進行過預(yù)訓(xùn)練的VGG16[52]算法作為特征提取的主干網(wǎng)絡(luò)。在特征處理階段各個算法的處理方式不同,導(dǎo)致算法在參數(shù)設(shè)置上面存在較大差異。其中OCIR、MELM、C-MIL、OIM+IR屬于基于多示例學習的弱監(jiān)督目標檢測算法;WCCN、Du’s、PG+PS屬于基于類激活圖的弱監(jiān)督目標檢測算法;GAM、Gao’s屬于基于注意力機制的弱監(jiān)督目標檢測算法;W2F、PGTM、Zhong’s屬于基于偽標簽的弱監(jiān)督目標檢測算法。表2列出了弱監(jiān)督目標檢測算法對數(shù)據(jù)集中所有物體目標檢測的平均精確率?;诙嗍纠龑W習算法的檢測結(jié)果在50%左右;基于類激活圖的算法檢測最好的結(jié)果為51.1%;基于注意力機制的算法檢測結(jié)果一般不超過50%;而基于偽標簽的算法檢測結(jié)果在52%~60%之間。前三類算法直接在只帶有弱標簽的數(shù)據(jù)集上對模型進行訓(xùn)練,導(dǎo)致模型無法學習較為完整的知識,學習能力較弱,影響模型的檢測精度。而基于偽標簽的弱監(jiān)督目標檢測算法針對弱標簽數(shù)據(jù)集首先生成帶有偽標簽數(shù)據(jù),并將偽標簽數(shù)據(jù)回傳到卷積神經(jīng)網(wǎng)絡(luò)中再次訓(xùn)練,從而可使模型學習到更多的信息,提高了模型的學習能力。因此,基于偽標簽的弱監(jiān)督檢測算法的檢測精度比前三類算法都高。
由表3可知,在aero、bus、car、train、tv等物體目標上往往會取得較好的檢測結(jié)果,其平均精確度一般在60%以上;而在bottle、person等物體目標上的檢測精度較低,一般不超過30%。造成這一現(xiàn)象的主要原因是,由于前一類物體目標在圖像中所占像素區(qū)域較大,經(jīng)過卷積神經(jīng)網(wǎng)絡(luò)多次下采樣后仍然可以提取到特征;而后者均屬于小尺度目標物體,在圖像中所占像素區(qū)域較小,經(jīng)卷積神經(jīng)網(wǎng)絡(luò)多次下采樣后很難再提取到特征。通過比較發(fā)現(xiàn),不同類別的算法對于小尺度目標物體的檢測精度也有較大差別。例如,Du’s基于類激活圖的弱監(jiān)督目標檢測算法對于person目標檢測的平均精確率為29.5%,比基于多示例學習的弱監(jiān)督目標檢測算法高出15個百分點左右。因為該算法通過多次迭代訓(xùn)練得到了更精煉的分類器,從而提高了對小尺度目標的檢測精度。Zhong’s基于偽標簽的檢測算法也可在很大程度上提高對bottle、person等小尺度目標的檢測精度,該算法檢測的平均精確率為59.8%。主要原因是,生成的偽標簽數(shù)據(jù)可以有效減少小尺度目標在池化過程中的信息丟失。
表3 主流算法在VOC 2007數(shù)據(jù)集上的mAP對比Table 3 mAP comparison of mainstream algorithms on VOC 2007 dataset %
表4 列出了上述目標檢測模型定位準確率CorLoc的比較結(jié)果?;诙嗍纠龑W習算法的定位準確率在60%~68%之間;基于類激活圖算法的定位準確率不超過70%;基于注意力機制算法的定位準確率在70%左右;基于偽標簽的弱監(jiān)督目標檢測算法的CorLoc數(shù)值均在70%以上,高于其他類別的算法。
表4 主流算法在VOC 2007數(shù)據(jù)集上定位準確率的比較Table 4 Comparison of CorLoc of mainstream algorithms on VOC 2007 dataset %
結(jié)合表3的結(jié)果,基于偽標簽的弱監(jiān)督目標檢測算法不僅具有最高的檢測精度,而且具有最高的定位精度,因此該類算法的總體檢測效果最好。
表5 列出了主流的強監(jiān)督目標檢測算法與弱監(jiān)督目標檢測算法在數(shù)據(jù)集PASCAL VOC 2007上mAP值的對比,本文主要選取了C-MIL、PG+PS、Zhong’s三種弱監(jiān)督目標檢測算法。另外,選取了Faster R-CNN[8]和SSD兩種強監(jiān)督目標檢測算法。
從表5中可以看出,弱監(jiān)督目標檢測算法的mAP值都在60%以下,而強監(jiān)督目標檢測算法的mAP值在70%左右。盡管弱監(jiān)督目標檢測算法降低了算法對數(shù)據(jù)集標注的要求,但是其檢測精度遠遠低于強監(jiān)督目標檢測的檢測精度。同時,Zhong等人提出的弱監(jiān)督檢測算法在bus、car、cat等物體(此類物體在圖片中所占像素比例大)上的檢測精度與強監(jiān)督目標檢測算法的檢測精度非常接近,該算法在只有圖像級標注的弱標簽上生成了標簽信息更強的偽標簽數(shù)據(jù),再利用生成的偽標簽數(shù)據(jù)訓(xùn)練模型。此方法不僅減少了標注的成本,也沒有降低模型在大目標物體上的檢測精度??偠灾?,盡管弱監(jiān)督目標檢測算法已經(jīng)取得了不錯的成績,但是與強監(jiān)督目標檢測算法還存在較大的差距,其依然有很大的提升空間。
表5 弱監(jiān)督目標檢測算法與強監(jiān)督目標檢測算法的比較Table 5 Comparison of weakly supervised object detection algorithm and strongly supervised object detection algorithm %
隨著深度學習理論和方法的發(fā)展,強監(jiān)督目標檢測算法在通用數(shù)據(jù)集上取得了較好的效果。但基于弱監(jiān)督學習的目標檢測問題本身仍面臨很多困難和挑戰(zhàn),其檢測精度與強監(jiān)督算法相比還有很大的差距。總結(jié)前面對各種弱監(jiān)督目標檢測算法的討論分析與實驗結(jié)果可見,在弱監(jiān)督目標檢測問題上已經(jīng)出現(xiàn)了一些很有價值的研究方向,具體包括:
(1)基于偽標簽的弱監(jiān)督目標檢測算法。在上述四類弱監(jiān)督目標檢測算法中,基于偽標簽的弱監(jiān)督目標檢測算法取得了最好的效果。目前,該類算法生成的偽標簽數(shù)據(jù)與人工標注的標簽數(shù)據(jù)存在一定的差距。如何獲取真實性更高的偽標簽數(shù)據(jù),進一步提高該類算法的檢測精度是未來研究的重點??墒紫茸尵W(wǎng)絡(luò)生成偽標簽數(shù)據(jù),其次用偽標簽數(shù)據(jù)訓(xùn)練模型,再把原始數(shù)據(jù)輸入訓(xùn)練后的模型得到真實性更高的偽標簽數(shù)據(jù),最后用新的偽標簽數(shù)據(jù)再次訓(xùn)練模型,以此來提高模型的檢測精度。
(2)強監(jiān)督與弱監(jiān)督結(jié)合的目標檢測算法。如何縮小弱監(jiān)督目標檢測算法與強監(jiān)督目標檢測算法之間的檢測精度差距是未來研究的熱點??梢灾攸c研究強監(jiān)督與弱監(jiān)督相結(jié)合的協(xié)同學習[53]方法。將強監(jiān)督學習網(wǎng)絡(luò)和弱監(jiān)督學習網(wǎng)絡(luò)集成到端到端的架構(gòu)中作為兩個子網(wǎng),在前后迭代中共同學習的方法就是協(xié)同學習。文獻[53]將弱監(jiān)督學習網(wǎng)絡(luò)和強監(jiān)督學習網(wǎng)絡(luò)連接成為一個整體網(wǎng)絡(luò),通過一致性損失(Consistency Loss)約束強監(jiān)督和弱監(jiān)督學習網(wǎng)絡(luò)使其具有相似的預(yù)測結(jié)果,通過強監(jiān)督學習網(wǎng)絡(luò)和弱監(jiān)督學習網(wǎng)絡(luò)間部分特征共享保證兩個網(wǎng)絡(luò)在感知水平上的一致性,從而實現(xiàn)強監(jiān)督學習網(wǎng)絡(luò)和弱監(jiān)督學習網(wǎng)絡(luò)的協(xié)同增強學習。此方法不僅可以提高弱監(jiān)督目標檢測算法的檢測精度,也可用于提高強監(jiān)督目標檢測算法的性能。
(3)中小尺度目標的弱監(jiān)督目標檢測算法。弱監(jiān)督目標檢測算法在大尺度目標上已取得較好的檢測精度,但是在中小尺度目標上檢測精度還很低,提高弱監(jiān)督目標檢測算法在中小尺度目標上的檢測精度是未來需要解決的問題??梢越梃b強監(jiān)督目標檢測算法中提高小尺度目標檢測精度的方法。①在檢測算法模型中加入多尺度特征融合網(wǎng)絡(luò)。卷積神經(jīng)網(wǎng)絡(luò)的多層結(jié)構(gòu)可以自動學習不同層次的圖像特征,低層特征圖保留了圖像邊緣、輪廓、紋理等局部細節(jié)信息,有利于目標定位;高層特征圖則包含更加抽象的語義信息,有利于目標分類。多尺度特征融合網(wǎng)絡(luò)通過自上而下的橫向連接將低層特征與高層特征相互融合,構(gòu)建具有細粒度特征和豐富語義信息的特征表示,融合后的特征具有更強的描述性,有利于小目標檢測。②在算法模型中加入注意力機制模塊。注意力機制的本質(zhì)是快速找到感興趣區(qū)域,忽略不重要的信息。通過注意力機制重點關(guān)注中小尺度目標物體區(qū)域,使模型更好地學習中小尺度目標物體,以此提升小目標的檢測效果。
(4)面向小樣本數(shù)據(jù)集的弱監(jiān)督目標檢測算法。在軍事、醫(yī)療等領(lǐng)域很難獲得大規(guī)模的數(shù)據(jù)集,而樣本數(shù)量不足會嚴重影響訓(xùn)練效果或者導(dǎo)致訓(xùn)練出來的模型泛化能力不足,最終導(dǎo)致弱監(jiān)督目標檢測算法的精度降低。因此,如何解決數(shù)據(jù)集規(guī)模過小的問題是弱監(jiān)督目標檢測面臨的重大挑戰(zhàn)之一。①采用數(shù)據(jù)增廣的方法擴大數(shù)據(jù)集的規(guī)模,主要是增加訓(xùn)練數(shù)據(jù)集,使數(shù)據(jù)集盡可能多樣化,使訓(xùn)練的模型具有更強的泛化能力。目前常用的數(shù)據(jù)增廣方法主要包括水平或垂直翻轉(zhuǎn)、旋轉(zhuǎn)、縮放、裁剪、平移、對比度調(diào)整、色彩抖動、增添噪聲等。②采用小樣本學習中的元學習[54](Meta Learning)方法。元學習的思想是利用大量跟目標任務(wù)相似的任務(wù)來訓(xùn)練一個元學習器(Meta Learner),然后作用到目標任務(wù)上獲得一個不錯的模型初值,從而能夠僅利用目標任務(wù)的少量數(shù)據(jù)對模型進行快速適配。