李志欣,陳圣嘉,周 韜,馬慧芳
1.廣西師范大學(xué) 廣西多源信息挖掘與安全重點(diǎn)實(shí)驗(yàn)室,廣西 桂林541004
2.西北師范大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,蘭州730070
目標(biāo)檢測是計(jì)算機(jī)視覺的基本問題之一,近年來由于深度學(xué)習(xí)的發(fā)展,這一問題在性能上取得了實(shí)質(zhì)性的提高。眾所周知,普遍的目標(biāo)檢測器是把檢測問題轉(zhuǎn)化為對候選框進(jìn)行分類的問題。隨著卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)在圖像識別任務(wù)上的廣泛成功,越來越多基于CNN的目標(biāo)檢測方法被提出。這些結(jié)構(gòu)多樣的方法在一定程度上提高了目標(biāo)檢測的準(zhǔn)確性,其中許多方法實(shí)現(xiàn)了在多個基準(zhǔn)數(shù)據(jù)集上的實(shí)時性能。然而,圖像通常包含遮擋目標(biāo)和小目標(biāo),當(dāng)前的目標(biāo)檢測方法對這些目標(biāo)并不敏感,因此不可避免地限制了目標(biāo)檢測的性能。圖1 通過實(shí)例展示了這種檢測中存在的缺陷,檢測缺陷已用紅色箭頭標(biāo)注。在圖1(a)中有幾個可見的結(jié)果:(1)從圖中左上角可以清楚看到,完整的公交車能準(zhǔn)確檢測出來,而旁邊被遮擋的公交車沒有被檢測出;(2)圖中一個人正在騎自行車,由于自行車被人遮擋,基線檢測器只檢測出人,完全忽略掉自行車;(3)一個距離較遠(yuǎn)穿著藍(lán)色衣服的人,由于目標(biāo)很小也被完全忽略。結(jié)果(1)和(2)說明檢測器只關(guān)注目標(biāo)的整體特征,而對不完整目標(biāo)的局部特征不敏感,即對遮擋或變形目標(biāo)的表征能力較弱,從而會影響檢測器的性能。如果能結(jié)合遮擋或變形目標(biāo)的特征,這些檢測缺失就能避免。結(jié)果(3)說明檢測器缺乏對小尺度目標(biāo)特征的捕獲能力,對小目標(biāo)檢測性能較弱。在圖1(b)中,最右邊的女人被小孩遮擋住了頭部,而他們都是小尺度目標(biāo),檢測器沒能檢測出,說明檢測器沒有捕獲足夠檢測小尺度目標(biāo)所需的細(xì)節(jié)特征。但是如果能通過多尺度深度特征融合來增強(qiáng)對小尺度目標(biāo)特征的捕獲,再提高對檢測遮擋目標(biāo)的敏感性,就可以在圖像中檢測更多的目標(biāo)。
圖1 一些典型的Faster R-CNN 檢測缺陷Fig.1 Some typical detection defects of Faster R-CNN
綜上所述,對遮擋目標(biāo)和小目標(biāo)的檢測是提高目標(biāo)檢測性能必須要解決的關(guān)鍵問題。一般來說,小目標(biāo)檢測的相關(guān)問題實(shí)際上是檢測涉及不同大小尺度目標(biāo)的問題,這使小目標(biāo)的檢測變得更具挑戰(zhàn)性。當(dāng)前的目標(biāo)檢測方法通過生成不同尺度的特征表示來適應(yīng)小目標(biāo)檢測。大量研究表明,多尺度特征圖生成的特征表示能增強(qiáng)對小目標(biāo)的檢測能力,尤其是大尺度特征圖。因此需要設(shè)計(jì)一種多尺度特征提取方法并將其集成到模型中,以提高檢測器對小目標(biāo)的敏感性。而針對增強(qiáng)遮擋目標(biāo)檢測敏感性的問題,通常是通過在大型數(shù)據(jù)集中學(xué)習(xí)覆蓋大量視覺特征的變化來解決。然而,在數(shù)據(jù)集中捕獲所有可能的遮擋樣本是不可能的,即使在非常大的數(shù)據(jù)集中,低概率的遮擋目標(biāo)也不會輕易得到。并且,通過收集更大的數(shù)據(jù)集來解決這個問題是非常低效的。因此考慮嘗試使用對抗網(wǎng)絡(luò)來生成所需要的遮擋目標(biāo)樣本。
在R-CNN(region-convolutional neural network)系列模型的基礎(chǔ)上,本文提出一種協(xié)同級聯(lián)網(wǎng)絡(luò)和對抗網(wǎng)絡(luò)的方法,稱為Collaborative R-CNN。該方法對Faster R-CNN架構(gòu)進(jìn)行改進(jìn)構(gòu)造級聯(lián)網(wǎng)絡(luò),從多標(biāo)簽數(shù)據(jù)中提取不同尺度目標(biāo)的特征,并通過多尺度深度特征融合來增強(qiáng)檢測小目標(biāo)的能力。同時,設(shè)計(jì)了一種多尺度池化操作,通過添加多尺度池化來調(diào)整網(wǎng)絡(luò)對不同大小目標(biāo)的檢測能力。此外,訓(xùn)練對抗空間失活網(wǎng)絡(luò)(adversarial spatial dropout network,ASDN)生成包含遮擋目標(biāo)的訓(xùn)練樣本,可以顯著影響模型的分類能力,提高模型對遮擋目標(biāo)的魯棒性。在PASCAL VOC 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,該方法相比其他幾種先進(jìn)的方法更有效準(zhǔn)確。本文主要的貢獻(xiàn)包括:
(1)對Faster R-CNN 進(jìn)行改進(jìn),提出級聯(lián)網(wǎng)絡(luò);
(2)提出多尺度RoIAlign(region of interest align)池化來調(diào)整對不同大小目標(biāo)的檢測能力;
(3)改進(jìn)ASDN 對抗網(wǎng)絡(luò),生成帶有硬遮擋的樣本來提升模型對遮擋物體的識別能力;
(4)設(shè)計(jì)協(xié)同級聯(lián)網(wǎng)絡(luò)和對抗網(wǎng)絡(luò)的總體架構(gòu)進(jìn)行目標(biāo)檢測。
當(dāng)前目標(biāo)檢測模型通?;趦煞N方法:(1)基于候選區(qū)域的方法將目標(biāo)檢測任務(wù)劃分為兩個階段,也即兩階段目標(biāo)檢測方法。在第一階段,將候選區(qū)域生成網(wǎng)絡(luò)(region proposal network,RPN)連接到一個CNN 上,從候選區(qū)域中提取特征,生成高質(zhì)量的候選框;在第二階段,設(shè)計(jì)一個區(qū)域子網(wǎng)絡(luò)對候選框進(jìn)行分類和邊界框回歸。(2)基于回歸的方法則將目標(biāo)檢測任務(wù)視為一個階段,稱為一階段目標(biāo)檢測方法,直接對目標(biāo)進(jìn)行分類和回歸。
隨著CNN 的興起,兩階段方法如R-CNN、Fast R-CNN、Faster R-CNN等成為目標(biāo)檢測的主流。R-CNN 采用選擇性搜索方法提取候選區(qū)域,采用線性支持向量機(jī)作為候選區(qū)域的分類器。然而對于R-CNN 來說,生成候選區(qū)域的過程在計(jì)算上是緩慢的。為了提高候選區(qū)域生成過程的計(jì)算速度,F(xiàn)ast RCNN 提出了RoIPooling(region of interest pooling),得到固定大小的相應(yīng)特征圖,方便進(jìn)行后續(xù)操作,極大提高了處理速度。Faster R-CNN 用候選區(qū)域網(wǎng)絡(luò)代替選擇性搜索方法,進(jìn)一步提高了候選區(qū)域生成的計(jì)算速度。同時,卷積層與框架其他部分共享參數(shù),實(shí)現(xiàn)了整個網(wǎng)絡(luò)的端到端訓(xùn)練。Faster R-CNN 在PASCAL VOC 2007 數(shù)據(jù)集上獲得了69.9%的性能,成為當(dāng)時最具代表性的方法。一階段目標(biāo)檢測方法如SSD(single shot multibox detector)、YOLO(you only look once)和RON(reverse connection with objectness prior networks)等也得到了很大發(fā)展。這些方法直接計(jì)算候選目標(biāo),不依賴于候選區(qū)域,因此計(jì)算速度比兩階段方法快。這些方法對顯著的、常規(guī)的目標(biāo)具有較好的檢測性能,但對小目標(biāo)和遮擋目標(biāo)的識別準(zhǔn)確率不高。此外,一些新的方法也使目標(biāo)檢測的性能上了新的臺階。
當(dāng)前目標(biāo)檢測的效果與大規(guī)模數(shù)據(jù)集的應(yīng)用密切相關(guān)。但對檢測遮擋目標(biāo)問題,即使在大規(guī)模數(shù)據(jù)集中,一些罕見的遮擋樣本也并不容易找到。然而,通過添加罕見的遮擋目標(biāo)樣本來擴(kuò)充數(shù)據(jù)集的方法低效且成本昂貴。本文方法不是試圖收集罕見的遮擋目標(biāo)樣本來擴(kuò)充數(shù)據(jù)集,而是自主生成罕見的遮擋目標(biāo)樣本。生成對抗網(wǎng)絡(luò)將生成問題視作判別器和生成器這兩個網(wǎng)絡(luò)的對抗和博弈:生成器從給定噪聲中生成合成數(shù)據(jù),判別器分辨生成器的輸出和真實(shí)數(shù)據(jù)。前者試圖生成更接近真實(shí)的數(shù)據(jù),相應(yīng)地,后者試圖更完美地分辨真實(shí)數(shù)據(jù)與生成數(shù)據(jù)。兩個網(wǎng)絡(luò)在對抗中進(jìn)步,在進(jìn)步后繼續(xù)對抗,由生成對抗網(wǎng)絡(luò)得到的數(shù)據(jù)也就趨于完美,逼近真實(shí)數(shù)據(jù),從而可以生成想得到的數(shù)據(jù),如圖片、序列、視頻等。A-Fast-RCNN(adversary fast R-CNN)提出通過訓(xùn)練對抗網(wǎng)絡(luò)的方法來生成低概率的對抗性樣本,以避免依賴大規(guī)模數(shù)據(jù)集來捕捉所有可能的視覺概念變化,得到了良好的性能。這也啟發(fā)了使用對抗網(wǎng)絡(luò)的方法來提高模型識別遮擋目標(biāo)的能力。此外,還有其他方法提出使用級聯(lián)網(wǎng)絡(luò)來識別遮擋或不可見的關(guān)鍵點(diǎn),采用1×1 卷積層來減少網(wǎng)絡(luò)參數(shù)的數(shù)量,從而加快計(jì)算速度。盡管這些方法使目標(biāo)檢測有了很大進(jìn)步,但是都不能在識別小目標(biāo)和遮擋目標(biāo)的同時,取得良好的性能和速度。
相比之下,本文方法結(jié)合了高效的網(wǎng)絡(luò)結(jié)構(gòu)、深度特征融合、多尺度池化和更有效的訓(xùn)練策略,充分利用CNN 進(jìn)行目標(biāo)檢測,能在不大幅度降低計(jì)算速度的前提下提取不同尺度特征。該方法與對抗網(wǎng)絡(luò)相結(jié)合,能夠適應(yīng)多標(biāo)簽圖像中目標(biāo)特征的廣泛變化,泛化能力更好,魯棒性更強(qiáng),從而增強(qiáng)了目標(biāo)檢測的性能。
一般來說,CNN 中不同深度的特征對應(yīng)著不同層次的語義信息。深層網(wǎng)絡(luò)提取的特征包含更多的高級語義信息,而淺層網(wǎng)絡(luò)提取的特征則包含更多的細(xì)節(jié)特征。隨著網(wǎng)絡(luò)深度的增加,特征圖變得越來越抽象,細(xì)節(jié)信息所占的比例越小,對小目標(biāo)的識別效果就越差。目前幾乎所有圖像分類和目標(biāo)檢測性能較好的方法都采用特征金字塔的方法來解決這一問題。然而,這種方法是計(jì)算密集型的,會嚴(yán)重影響模型的計(jì)算速度,因此需要通過修改網(wǎng)絡(luò)結(jié)構(gòu)來提高對多尺度目標(biāo)的識別能力。
VGG16 模型已證實(shí)增加網(wǎng)絡(luò)的深度能對網(wǎng)絡(luò)產(chǎn)生積極影響。VGG16 模型的卷積層通過采用多個小3×3 卷積核來增加網(wǎng)絡(luò)的深度,并同時減少參數(shù)的數(shù)量,從而減少了模型的計(jì)算復(fù)雜度。此外,與采用大卷積核的模型AlexNet相比,使用更小的卷積核有利于使用更多的濾波器,進(jìn)而促進(jìn)了更多激活函數(shù)的使用,進(jìn)一步增強(qiáng)模型對更復(fù)雜的模式和概念的學(xué)習(xí)能力。然而,針對小目標(biāo)和數(shù)據(jù)比較稀疏的情況下,小卷積核只有較小的感受野,只能提供較少的關(guān)于目標(biāo)的尺寸、形狀和位置的信息。并且,在深度網(wǎng)絡(luò)的計(jì)算過程中,對特征圖填充的邊緣特征進(jìn)行多次卷積,導(dǎo)致最后的特征圖損失了很多細(xì)節(jié)特征,從而增加了錯誤的概率。相比之下,較大的卷積核擁有更大的感受野可以捕獲更多的細(xì)節(jié)特征和空間上下文信息,有助于識別具有更多空間上下文關(guān)系的目標(biāo)和具有不同尺度的目標(biāo)。雖然增加卷積核數(shù)量對提高網(wǎng)絡(luò)針對復(fù)雜概念特征表示有積極作用,但是卷積核數(shù)量的增加會導(dǎo)致網(wǎng)絡(luò)參數(shù)數(shù)量增加。大卷積核擁有大的感受野,也意味著更多的參數(shù),如果卷積層給網(wǎng)絡(luò)帶來大量參數(shù),這無疑會限制系統(tǒng)性能。在級聯(lián)網(wǎng)絡(luò)中,卷積核的數(shù)量主要由參數(shù)的數(shù)量決定,因此在提高性能同時必須控制參數(shù)的數(shù)量,需要在網(wǎng)絡(luò)特征表示的質(zhì)量和計(jì)算性能之間進(jìn)行最優(yōu)權(quán)衡。
為解決這一問題,設(shè)計(jì)了基于Faster R-CNN 模型的級聯(lián)網(wǎng)絡(luò)結(jié)構(gòu),如圖2 所示。該級聯(lián)網(wǎng)絡(luò)結(jié)構(gòu)在原有的VGG16 模型基礎(chǔ)上增加了兩個淺層網(wǎng)絡(luò),其中一層包含5 個5×5 卷積核,另一層包含3 個7×7卷積核。此外,在原始VGG16 模型基礎(chǔ)上增加了兩個淺層網(wǎng)絡(luò),使得最終的輸出特征圖大小與VGG16模型相同,但分辨率更高,使得目標(biāo)的特征信息更加詳細(xì)。由于高分辨率的特征圖具有更多的特征信息,使得特征深度融合后的級聯(lián)網(wǎng)絡(luò)包含更多的目標(biāo)特征信息,即網(wǎng)絡(luò)既包含深度語義信息又包含目標(biāo)的細(xì)節(jié)特征信息,而這些細(xì)節(jié)特征正是檢測小目標(biāo)所最需要的。每個級聯(lián)網(wǎng)絡(luò)具有相同數(shù)量的池化層,確保用于融合的特征映射在大小上是一致的。拼接層用于拼接特征圖并保持融合后特征圖的大小不變,同時使得模型有更多的特征表示。此外,將批量歸一化添加到每個卷積層后,可以提高訓(xùn)練速度和分類的效果。綜合級聯(lián)網(wǎng)絡(luò)和多尺度RoIAlign的改進(jìn)模型稱為Improved R-CNN 模型。
圖2 Improved R-CNN 模型的網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 Network structure of Improved R-CNN model
如圖3 所示,將Faster R-CNN 預(yù)訓(xùn)練模型的參數(shù)直接遷移到Improved R-CNN 模型中,可以減少訓(xùn)練時間。將Faster R-CNN 的參數(shù)遷移到Improved RCNN,實(shí)際上是對Faster R-CNN 的骨干網(wǎng)絡(luò)VGG16模型的參數(shù)遷移。在預(yù)訓(xùn)練模型的基礎(chǔ)上進(jìn)行遷移學(xué)習(xí),可以提高系統(tǒng)的精度。這個過程稱為微調(diào),將改善最終結(jié)果。具體的,通過調(diào)用預(yù)訓(xùn)練模型VGG16 的參數(shù),把VGG16 的參數(shù)作為級聯(lián)網(wǎng)絡(luò)的部分固定參數(shù),采用參數(shù)凍結(jié)不進(jìn)行訓(xùn)練,以加快網(wǎng)絡(luò)收斂速度。最后,訓(xùn)練級聯(lián)網(wǎng)絡(luò)的活動參數(shù),微調(diào)全連接層來實(shí)現(xiàn)遷移學(xué)習(xí)。由于在Improved R-CNN模型中使用多尺度RoIAlign 改變了全連接層第6 層FC6 層的維度,F(xiàn)aster R-CNN 預(yù)訓(xùn)練的參數(shù)不對FC6層進(jìn)行傳遞。參數(shù)傳遞之后,對Improved R-CNN 模型進(jìn)行額外訓(xùn)練,對參數(shù)進(jìn)行微調(diào)。Zhang 等人研究了全連接層在視覺表示遷移中的作用。通過對預(yù)訓(xùn)練模型進(jìn)行微調(diào),全連接層在實(shí)現(xiàn)目標(biāo)域的高精度方面起著重要作用。全連接層在CNN 中起到將學(xué)到的具有高語義信息的特征表示映射到樣本標(biāo)記空間的作用。不含全連接層的網(wǎng)絡(luò)微調(diào)后的結(jié)果不如含全連接層的網(wǎng)絡(luò),全連接層可以保證網(wǎng)絡(luò)表示能力遷移的效果。因此,遷移的FC7 層可以看作保證遷移模型參數(shù)表示能力的一種方法。
圖3 Faster R-CNN 參數(shù)遷移到Improved R-CNNFig.3 Faster R-CNN parameters transferred to Improved R-CNN
RoIPooling 操作是從RoI中提取小特征圖(例如,7×7 尺寸)的標(biāo)準(zhǔn)操作。首先,RoIPooling 將一個浮點(diǎn)數(shù)字的RoI 量化到特征圖的離散粒度,然后將這個量化的RoI 劃分為多個區(qū)間,這些區(qū)間本身也進(jìn)行了量化,最后將每個區(qū)間的特征值進(jìn)行聚合(通常通過最大池化操作)。例如,輸入圖像在VGG16 最后一層得到的特征圖的尺寸為/32,RoIPooling 進(jìn)行第一次量化,使特征圖變?yōu)閞ound(/32),round(·)函數(shù)表示取整。第二次量化是在池化過程中進(jìn)行取整。因此,RoIPooling 操作還打破了像素到像素的平移同變性,并且像素間偏移產(chǎn)生的誤差會對小目標(biāo)的識別能力造成極大的限制。這些量化使特征圖在池化過程中損失掉很多細(xì)節(jié)特征,并導(dǎo)致了RoI 和提取的特征之間的不匹配問題。雖然這些量化對檢測較大目標(biāo)的魯棒性影響不大,但嚴(yán)重影響了檢測小目標(biāo)需要達(dá)到的像素級精度目標(biāo)框。因此,本文方法采用了Mask R-CNN中提出的池化操作RoIAlign,消除了RoIPooling 的苛刻的量化,并正確地將提取的特征與輸入對齊。RoIPooling 和RoIAlign 的操作過程如圖4 所示,圖中虛線網(wǎng)格表示特征圖,有色區(qū)域表示RoI,池化尺寸為(2×2),4 個點(diǎn)表示每個區(qū)間中的采樣點(diǎn)。RoIAlign 根據(jù)特征圖上鄰近的網(wǎng)格點(diǎn),通過雙線性插值計(jì)算每個采樣點(diǎn)的值,沒有對RoI 或采樣點(diǎn)中涉及的任何坐標(biāo)進(jìn)行量化。RoIAlign 避免了RoI邊界或細(xì)分區(qū)間的任何量化(例如,它應(yīng)用/32 而不是round(/32)),采用雙線性插值方法計(jì)算每個RoI中4 個規(guī)則采樣點(diǎn)的輸入特征值,并利用最大池化操作對特征圖進(jìn)行聚合。
圖4 RoIPooling 和RoIAlign 的操作過程Fig.4 Operation process of RoIPooling and RoIAlign
Faster R-CNN 在生成特征圖的過程中容易丟失大量的目標(biāo)局部信息,嚴(yán)重影響其小目標(biāo)檢測的性能。例如,最初64×64 像素大小的目標(biāo)在卷積層的最后一層只剩下2×2 像素大小。這一問題可通過在候選區(qū)域生成網(wǎng)絡(luò)中放大特征圖和使用較小尺度的錨(anchor)來解決。Faster R-CNN 框架對RPN 生成的每個RoI 的特征圖應(yīng)用了池化大小為7×7 的RoIPooling 操作。然而,在使用單一尺度池化時,捕獲不同大小尺度的目標(biāo)特征非常困難。本文提出的多尺度RoIAlign 相比單尺度RoIPooling 在捕獲不同大小尺度目標(biāo)特征方法具有較大優(yōu)勢。多尺度池化可以更好捕獲數(shù)據(jù)集中多尺度目標(biāo)的特征信息,更符合客觀世界目標(biāo)的實(shí)際尺度,以及為RPN 獲取復(fù)雜的候選區(qū)域特征提供更好的輔助作用。池化大小是依據(jù)目標(biāo)在數(shù)據(jù)集中可能存在的尺度種類以及常規(guī)物體的高寬比來進(jìn)行設(shè)置。設(shè)置高寬比大于1 的池化大小可隱式地捕獲特征圖中垂直的空間特征信息,高寬比小于1 的池化大小可隱式地捕獲水平的空間特征信息。通過實(shí)驗(yàn)驗(yàn)證,發(fā)現(xiàn)設(shè)置池化大小為11×3、3×11 和11×11 模型性能達(dá)到最佳。本文方法通過應(yīng)用11×3 和3×11 這兩種尺度的池化來解決捕獲不同尺度的目標(biāo)特征困難的問題。11×3 大小的池化旨在捕獲更多的水平特征,即有助于檢測寬度遠(yuǎn)遠(yuǎn)大于高度的目標(biāo)。相反,3×11 大小的池化可以捕獲更多的垂直特征,即有助于檢測高度遠(yuǎn)遠(yuǎn)大于寬度的目標(biāo)。此外,還增加了一個11×11 大小的池化,以增強(qiáng)所提出模型檢測小尺度目標(biāo)的魯棒性。
提出的多尺度RoIAlign 操作可以在尺度多變目標(biāo)的情況下提取特征,從而提高目標(biāo)檢測的精度。此外,還采用了更小尺度的錨來增強(qiáng)檢測小目標(biāo)的能力。Faster R-CNN 的RPN 用特征圖進(jìn)行預(yù)測,錨為3種尺度(128,256,512)和3種比例(1∶1,1∶2,2∶1),即特征圖上每個位置設(shè)置9 種參考錨,這些大約能覆蓋邊長70~768尺度的目標(biāo)。但對于更小的目標(biāo),現(xiàn)有尺度的錨無法準(zhǔn)確定位,雖然極小的目標(biāo)在PASCAL VOC 數(shù)據(jù)集中的占比較少,但這也不可避免地限制了模型的性能。在大型數(shù)據(jù)集中,極小的目標(biāo)也有較多的數(shù)量。因此,本文方法增加了更小尺度的錨來適應(yīng)小尺度目標(biāo),使得每個錨點(diǎn)產(chǎn)生12 種候選區(qū)域,覆蓋了更多小尺度的目標(biāo)。在原有錨的尺度(128,256,512)基礎(chǔ)上增加了更小尺度的錨,使提出的模型使用了(64,128,256,512)的錨尺度,每種尺度3 種比例(1∶1,1∶2,2∶1),在RPN 中每個錨點(diǎn)產(chǎn)生12 個候選區(qū)域,用來適應(yīng)小尺度目標(biāo)。
特征過濾的整個過程如圖5 所示。由于使用多尺度RoIAlign 操作導(dǎo)致后續(xù)的全連接層獲得了更大的維度,必然增加了目標(biāo)檢測相關(guān)計(jì)算的時間消耗。為此,Improved R-CNN 模型也使用卷積層和池化層來減少全連接層的參數(shù)冗余。
圖5 特征過濾結(jié)構(gòu)Fig.5 Feature filtering structure
眾所周知,在多尺度RoIAlign 中得到的不同維度的特征不可能直接拼接。然而,正如R2CNN中使用的方法,可以通過過濾層來將池化得到的特征圖(即多維矩陣)轉(zhuǎn)化為一維向量。本文在使用過濾層之前,通過使用卷積核大小為1×1、步長大小為1 的卷積層來降低模型參數(shù)的數(shù)量,從而避免了在使用過濾層之前的參數(shù)冗余。使用1×1 卷積核的卷積操作能起到降維的作用,降維是指圖像通道的數(shù)量(厚度)降低,而圖像的寬度和高度沒有改變。接下來分別減少了4 種池化得到的特征圖維度,7×7 尺寸的池化得到的特征圖維度降低到512,11×11 尺寸的池化得到的特征圖維度降低到128,3×11 和11×3 池化的特征圖維度降低到256。然后利用過濾層將匯聚的特征圖轉(zhuǎn)化為4 個一維向量,再利用拼接層將4 個向量進(jìn)行拼接,最后把拼接后的向量傳遞到全連接層。
為訓(xùn)練對各種情況(如遮擋、變形目標(biāo))都具有很高魯棒性的目標(biāo)檢測器,需要多樣化的樣本。但即使在大規(guī)模數(shù)據(jù)集中,也不可能覆蓋所有潛在的含有遮擋和變形目標(biāo)的樣本。因此,這里采用了一種替代方法,不是依賴于數(shù)據(jù)集或篩選數(shù)據(jù)來尋找識別困難的樣本,而是積極地生成目標(biāo)檢測器難以識別的樣本。
首先對一個目標(biāo)檢測器網(wǎng)絡(luò)()和對抗網(wǎng)絡(luò)()的損失函數(shù)進(jìn)行分析比較,其中是輸入的一組特征矩陣,采用F()和F()來表示類別和預(yù)測的邊界框位置輸出。因此,()的損失函數(shù)E可以定義如下:
其中,和分別表示的真實(shí)類別和邊界框位置。第一項(xiàng)是Softmax 損失,第二項(xiàng)是基于F()和的損失,即邊界框的損失。對抗網(wǎng)絡(luò)的目的是學(xué)習(xí)如何預(yù)測那些()無法準(zhǔn)確分類的。因此,()為給定的生成新的對抗示例,然后將其添加到訓(xùn)練樣本中。對抗網(wǎng)絡(luò)()的損失函數(shù)定義如下:
對于容易被()分類的()生成的例子,會得到一個較低的E損失值,但會得到一個較高的E損失值。相反,對于()生成的例子,如果()很難對()生成的例子進(jìn)行分類,則會獲得較高的E值和較低的E值,因此這兩個網(wǎng)絡(luò)的任務(wù)完全相反。
ASDN 用于對前景目標(biāo)的深度特征進(jìn)行遮擋。在標(biāo)準(zhǔn)的Faster R-CNN 中,可以在RoIPooing 層之后獲得每個前景候選目標(biāo)的卷積特征,因此可以使用這些基于區(qū)域的特征作為對抗網(wǎng)絡(luò)的輸入。給定目標(biāo)的特征,ASDN 將生成一個掩膜,指示特征的哪些部分要失活,使檢測器無法識別該目標(biāo)。
本文將分級訓(xùn)練應(yīng)用于ASDN,該訓(xùn)練方法已經(jīng)在以前的工作中得到了應(yīng)用。首先在一個多標(biāo)簽圖像數(shù)據(jù)集上對ASDN 進(jìn)行預(yù)訓(xùn)練,以獲得適合ASDN 與Improved R-CNN 對聯(lián)合訓(xùn)練時使用的數(shù)據(jù)集的初步感知。然后,通過修正所有網(wǎng)絡(luò)層來訓(xùn)練ASDN,其框架如圖6 所示。
圖6 與Improved R-CNN 相結(jié)合的ASDN 框架Fig.6 Framework of ASDN combined with Improved R-CNN
ASDN 用于生成難以分類的包含遮擋目標(biāo)的訓(xùn)練樣本。ASDN 在卷積層、多尺度RoIAlign 池化層和全連接層上的結(jié)構(gòu)與Improved R-CNN 框架相同。將RoIAlign 池化層之后的每個特征圖的卷積特征作為ASDN 的輸入。給定×大小的特征圖,ASDN通過賦值0 來生成一個掩膜,代表需要遮擋的特征映射部分,這將使Improved R-CNN 獲得更高的E損失值,引入更難分類的被遮擋目標(biāo)的特征。這是通過應(yīng)用一個/3×/3 滑動窗口來實(shí)現(xiàn)的,該滑動窗口刪除所有通道中遮擋特征對應(yīng)位置的值,從而生成一組新的特征向量。將以這種方式得到的所有新特征向量都傳遞到Softmax 損失層,計(jì)算損失函數(shù),并選擇損失值最大的特征向量。然后,在特征圖中創(chuàng)建一個單一的×掩膜,其中央位置像素為1,其他像素為0。窗口滑動是將窗口映射回圖像通過篩選來選擇硬遮擋樣本,并把其作為訓(xùn)練ASDN 的真實(shí)樣本,如圖7(a)所示。這樣,ASDN 為個特征圖生成空間掩膜,得到個使目標(biāo)檢測器損失值很大的訓(xùn)練樣本。ASDN 的訓(xùn)練利用下面的二元交叉熵?fù)p失函數(shù):
圖7 ASDN 訓(xùn)練中選擇和生成樣本的實(shí)例Fig.7 Instances of selecting and generating samples in ASDN training
其中,對抗網(wǎng)絡(luò)表示為(),它得到在圖像上計(jì)算出的特征,并生成一個新的對抗樣本。為個正樣本候選區(qū)域生成空間掩膜,并為對抗失活網(wǎng)絡(luò)獲得對訓(xùn)練樣本{(,),(,),…,(X,M}。A(X表示ASDN 給定的輸入特征圖X在位置(,)處的輸出。M表示掩膜第行第列的值。如果M=1,則刪除特征圖對應(yīng)空間位置中所有通道的值。
ASDN 使用重要性抽樣法來選擇熱力圖中1/3 的像素,并把這些像素賦值為1,其余的2/3 像素賦值為0。ASDN 網(wǎng)絡(luò)的輸出不是一個二值掩膜而是連續(xù)的熱力圖。因此,要生成二值掩膜,不是直接閾值化熱力圖,而是通過重要性抽樣法選取閾值來生成二值掩膜。在訓(xùn)練過程中,抽樣過程結(jié)合了樣本的隨機(jī)性和多樣性。ASDN 網(wǎng)絡(luò)輸出的熱力圖,使對整張圖像越重要的像素?zé)崃^(qū)域越突出,例如目標(biāo)通常會成為圖像中最重要的像素?zé)崃^(qū)域。因此,在使用重要性抽樣法來選擇圖像中重要的像素來生成遮擋掩膜的過程中需要控制閾值的大小。如果閾值過大,生成的二值掩膜會覆蓋一部分目標(biāo)的非重要像素區(qū)域;如果閾值過小,目標(biāo)的一些最重要的像素區(qū)域會覆蓋不完全。因此,本文通過實(shí)驗(yàn)驗(yàn)證和參考ASDN 網(wǎng)絡(luò)對重要性抽樣法閾值的設(shè)置,來確定閾值的選取。結(jié)果顯示當(dāng)閾值選取1/3 時,得到的二值掩膜效果最好。
圖7(b)展示了ASDN 生成的遮擋掩膜實(shí)例,其中黑色區(qū)域表示被遮擋的部分,表示對分類最重要的像素。硬遮擋樣本的應(yīng)用在ASDN 學(xué)習(xí)過程中產(chǎn)生高的損失值,可以識別出對分類來說最重要的目標(biāo)的像素部分。在本例中,使用掩膜來遮擋這些部分的像素,使分類更加困難。
在聯(lián)合模型中,ASDN 與Improved R-CNN 模型共享卷積層和池化層,但各自使用自己獨(dú)立的全連接層。當(dāng)然,這兩個網(wǎng)絡(luò)的參數(shù)必須根據(jù)所面臨的任務(wù)進(jìn)行獨(dú)立優(yōu)化。為了訓(xùn)練Improved R-CNN 模型,首先在正向傳播訓(xùn)練階段使用預(yù)訓(xùn)練的ASDN 生成掩膜,在池化層之后生成修改后的特征圖,然后將修改后的特征傳遞給Improved R-CNN 模型,計(jì)算損失并進(jìn)行模型訓(xùn)練。雖然修改了特征,但是它們的標(biāo)簽沒有改變。通過這種方式,確保在訓(xùn)練Improved R-CNN 模型時引入更困難的和更多樣化的樣本,并在對有遮擋的目標(biāo)進(jìn)行分類時獲得更高的魯棒性。對于ASDN 的訓(xùn)練,使用采樣策略將熱力圖轉(zhuǎn)換為二值掩膜,使得分類損失的計(jì)算不可微,因此訓(xùn)練過程中無法利用分類損失的梯度進(jìn)行反向傳播。與AFast-RCNN 相同,只有硬示例掩膜被用作真實(shí)樣本來訓(xùn)練對抗網(wǎng)絡(luò),方法是使用與式(3)中描述的相同的損失來計(jì)算那些導(dǎo)致檢測器分類分?jǐn)?shù)顯著下降的二值掩膜。
實(shí)驗(yàn)中使用的PASCAL VOC 2007 和PASCAL VOC 2012 數(shù)據(jù)集分別包含9 963 幅和22 531 幅圖像,并劃分為訓(xùn)練集、驗(yàn)證集和測試集。實(shí)驗(yàn)把PASCAL VOC 2007 數(shù)據(jù)集劃分為5 011 幅圖像的訓(xùn)練驗(yàn)證集和4 952 幅圖像的測試集,把PASCAL VOC 2012 數(shù)據(jù)集劃分為11 540 幅圖像的訓(xùn)練驗(yàn)證集和10 991 幅圖像的測試集。以平均精度(average precision,AP)和平均精度均值(mean average precision,mAP)作為評價(jià)指標(biāo),符合PASCAL 挑戰(zhàn)賽規(guī)定。測試速度和模型收斂速度也是評估模型性能的重要指標(biāo),實(shí)驗(yàn)將Collaborative R-CNN 的速度與幾種先進(jìn)方法進(jìn)行了比較,包括Faster R-CNN、A-Fast-RCNN、SSD和RON。所有實(shí)驗(yàn)結(jié)果都在一臺配置了Intel Core i7 4.20 GHz時鐘頻率的處理器,GTX 1080 Ti GPU 和16 GB 內(nèi)存的電腦上運(yùn)行得到。
本文首先通過PASCAL VOC 2007 訓(xùn)練集將Collaborative R-CNN 參數(shù)初始化并訓(xùn)練Faster R-CNN。為了適應(yīng)Collaborative R-CNN 模型中全連接層FC6尺寸的變化,該層由0 均值高斯分布初始化,標(biāo)準(zhǔn)差為0.01,學(xué)習(xí)率設(shè)為0.01,基于0.9 的動量和0.000 5 的權(quán)重衰減值,并設(shè)置每20 個epoch 學(xué)習(xí)率降低至當(dāng)前的10%,共60 個epoch。對于Faster R-CNN 模型和Collaborative R-CNN 模型的訓(xùn)練包括一系列迭代,設(shè)置為60 個epoch,其中每個epoch 包含2 000 次迭代。mAP分?jǐn)?shù)是在模型的迭代過程中計(jì)算得到的,訓(xùn)練模型的mAP分?jǐn)?shù)在40個epoch之前,70 000迭代次數(shù)之后開始收斂。在這70 000 迭代次數(shù)后,Collaborative R-CNN 模型的mAP 得分為77.5%,而Faster R-CNN訓(xùn)練模型的mAP 得分為73.2%。這些結(jié)果表明,Collaborative R-CNN模型比Faster R-CNN模型具有更快的收斂速度。ASDN 經(jīng)過12 000 次迭代的預(yù)訓(xùn)練,然后聯(lián)合模型進(jìn)行120 000 次迭代訓(xùn)練。再次采用了變化的學(xué)習(xí)率,采用了前一部分使用的動量和權(quán)重衰減值,初始學(xué)習(xí)率為0.001,迭代60 000 后下降到0.000 1。
消融實(shí)驗(yàn)的目的是評估不同尺度的錨和不同尺度池化等改進(jìn)方法對訓(xùn)練模型在PASCAL VOC 2007數(shù)據(jù)集上目標(biāo)檢測性能的影響。實(shí)驗(yàn)包括了Faster R-CNN 基線模型和改變了錨尺度的Faster R-CNN;級聯(lián)網(wǎng)絡(luò)是一個與Improved R-CNN 等效的網(wǎng)絡(luò)結(jié)構(gòu),但采用RoIPooling 操作,而Improved R-CNN 采用的是多尺度RoIAlign 操作;以及綜合所有方法的Collaborative R-CNN。雖然RoIPooling 也能捕捉到目標(biāo)的不同尺度特征,但與RoIAlign 相比,其模型的準(zhǔn)確率較低。RoIAlign 消除了對RoIPooling 的嚴(yán)格量化,因而能正確地將提取的特征與感興趣區(qū)域?qū)R。RoIPooling 的量化導(dǎo)致了感興趣區(qū)域和提取特征之間產(chǎn)生了不匹配問題。這些量化打破了像素到像素的平移同變性,同時會導(dǎo)致一些特征信息的丟失。雖然這不會對大目標(biāo)的檢測精度產(chǎn)生較大影響,但對于小目標(biāo),量化問題會降低檢測準(zhǔn)確率。
消融實(shí)驗(yàn)結(jié)果如表1 所示。結(jié)果表明,本文增加了更小尺度錨使得性能得到了略微提高,也隱含地說明了本文方法能捕獲更小尺度的目標(biāo),提升了模型檢測小目標(biāo)能力,使得最終的mAP 得到了提升。消融實(shí)驗(yàn)是在PASCAL VOC 2007 數(shù)據(jù)集上進(jìn)行的,測試集中極小目標(biāo)數(shù)量較少,在這種情況下也能提升性能說明了本文方法的優(yōu)越性,也表明了采用更小尺度錨的方法具有很大潛力。此外,更多尺度的錨也意味著更多的候選區(qū)域特征信息,為后續(xù)操作提供更有意義的目標(biāo)信息,在整個網(wǎng)絡(luò)中起到了承上啟下的作用。采用4 個尺度(3×11,11×3,7×7,11×11)池化的級聯(lián)網(wǎng)絡(luò)比采用單尺度(7×7)的池化的Faster R-CNN 性能更好,也比采用單尺度(7×7)的池化和3 個尺寸(3×11,11×3,7×7)的池化的級聯(lián)網(wǎng)絡(luò)性能更好。首先,這些結(jié)果證明了所提出的多尺度RoIAlign 操作相對于標(biāo)準(zhǔn)RoIPooling 操作的優(yōu)勢,因?yàn)槎喑叨萊oIAlign 操作增強(qiáng)了提取多變尺度目標(biāo)特征的能力。其次,這些結(jié)果表明,提出的級聯(lián)網(wǎng)絡(luò)對模型性能的增加有積極影響,并且級聯(lián)網(wǎng)絡(luò)可以捕獲更多尺度的特征信息,從而能夠檢測更多不同大小目標(biāo),即多尺度的目標(biāo)。隨著網(wǎng)絡(luò)深度的增加,特征圖越來越抽象,一些特征信息在通過卷積和池化后逐漸被忽略,特別對于小目標(biāo)將損失很多特征信息。并且較深的網(wǎng)絡(luò)產(chǎn)生的低分辨率特征圖不利于小目標(biāo)的識別。而提出的級聯(lián)網(wǎng)絡(luò)結(jié)構(gòu)深度融合多尺度特征信息,提供了小目標(biāo)檢測所需要的更多的細(xì)節(jié)特征信息,從而增強(qiáng)了小目標(biāo)檢測的性能。最后,這些結(jié)果證明了使用水平尺度(11×3)池化和垂直尺度(3×11)池化的優(yōu)勢,說明添加11×11 尺度的池化可以提高級聯(lián)網(wǎng)絡(luò)的目標(biāo)檢測性能,也證明了多尺度池化的有效性。表中FT(fine-tuning)表示微調(diào),通過固定部分參數(shù)進(jìn)行訓(xùn)練,對提高模型性能也有很大貢獻(xiàn)。表中的結(jié)果清楚地表明,與Improved R-CNN 模型的結(jié)果相比,包含ASDN 的Collaborative R-CNN 增加了2.3 個百分點(diǎn)的性能,反映了ASDN 對抗網(wǎng)絡(luò)生成的遮擋樣本對性能提高有顯著影響。
表1 在PASCAL VOC 2007 數(shù)據(jù)集上的消融實(shí)驗(yàn)結(jié)果Table 1 Results of ablation experiments on PASCAL VOC 2007 dataset
表2 和表3 分別列出了在PASCAL VOC 2007 和PASCAL VOC 2012 數(shù)據(jù)集中Collaborative R-CNN 和各種先進(jìn)方法獲得的各種圖像種類的AP 值和綜合的mAP 值。實(shí)驗(yàn)結(jié)果表明,所提出方法的檢測性能明顯優(yōu)于Faster R-CNN,且對鳥類(bird)和植物(plant)等小目標(biāo)的檢測性能有了顯著提高。雖然在PASCAL VOC 2007 數(shù)據(jù)集上RON 方法得到的mAP值略大于提出的Collaborative R-CNN 方法,但也相當(dāng)接近。以上實(shí)驗(yàn)結(jié)果證明了本文方法的有效性。
表2 在PASCAL VOC 2007 數(shù)據(jù)集上的目標(biāo)檢測實(shí)驗(yàn)結(jié)果Table 2 Experimental results of object detection on PASCAL VOC 2007 dataset
表3 在PASCAL VOC 2012 數(shù)據(jù)集上的目標(biāo)檢測實(shí)驗(yàn)結(jié)果Table 3 Experimental results of object detection on PASCAL VOC 2012 dataset %
Collaborative R-CNN 在PASCAL VOC 2007 和PASCAL VOC 2012 數(shù)據(jù)集的目標(biāo)檢測定性實(shí)驗(yàn)結(jié)果如圖8 所示。這些例子定性地證明了Collaborative R-CNN 能夠檢測具有不同大小和寬高比的物體,并且能夠很好地定位它們的位置,特別是對于飛機(jī)、鳥類和人這樣的目標(biāo)能夠準(zhǔn)確檢測出來。實(shí)驗(yàn)結(jié)果也證明了提出的方法對遮擋目標(biāo)的魯棒性,例如圖像中的汽車、植物和人能夠準(zhǔn)確檢測。圖9比較了Collaborative RCNN和Faster R-CNN在PASCAL VOC 2007和PASCAL VOC 2012 數(shù)據(jù)集上的一些目標(biāo)檢測定性實(shí)驗(yàn)結(jié)果。這些例子展示了兩種方法對小目標(biāo)和被遮擋目標(biāo)的檢測性能。在每對檢測結(jié)果中(頂部與底部),頂部是Faster R-CNN 的檢測結(jié)果,底部是Collaborative R-CNN 的檢測結(jié)果。
圖8 在PASCAL VOC 2007 和PASCAL VOC 2012 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果Fig.8 Experimental results on PASCAL VOC 2007 and PASCAL VOC 2012 datasets
圖9(a)中,被遮擋的公交車、自行車和人被Faster R-CNN 忽略了,而Collaborative R-CNN 正確地把這些模糊的目標(biāo)進(jìn)行了標(biāo)注。圖9(b)中,最右邊的婦女懷里抱著一個小孩,并且小孩遮擋住了婦女上半部分身體,這既是小目標(biāo)也是被遮擋目標(biāo)。在這種情況下,F(xiàn)aster R-CNN 在圖像中這個位置沒有檢測出任何目標(biāo),而使用提出的方法將這個目標(biāo)標(biāo)注為一個人。這些檢測結(jié)果使Faster R-CNN 和所提出的方法之間形成鮮明對比。圖9(c)中,一把被遮擋的椅子被Faster R-CNN 忽略了,而提出的方法正確地將這個目標(biāo)標(biāo)注為椅子。這些例子說明了Collaborative R-CNN 與Faster R-CNN 相比,在檢測小目標(biāo)和被遮擋的目標(biāo)時具有明顯的優(yōu)勢。
圖9 Faster R-CNN 和Collaborative R-CNN 的實(shí)驗(yàn)結(jié)果Fig.9 Experimental results of Faster R-CNN and Collaborative R-CNN
最后,表4 展示了兩階段方法和一階段方法在PASCAL VOC 2012 數(shù)據(jù)集上的檢測性能和計(jì)算時間,比較方法包括Faster R-CNN 和Collaborative RCNN以及SSD和RON。在這個實(shí)驗(yàn)中,獲取每個圖像目標(biāo)檢測的時間,并平均所有的檢測時間(ms/image)。實(shí)驗(yàn)結(jié)果表明,兩階段法的計(jì)算準(zhǔn)確度較高,但計(jì)算速度較低。可以看到,Collaborative R-CNN 的計(jì)算速度低于Faster R-CNN,這是因?yàn)槎喑叨萊oIAlign 操作比RoIPooling 操作要消耗更多的計(jì)算時間。由于兩者之間的計(jì)算時間差異較小,Collaborative R-CNN 仍然滿足實(shí)時目標(biāo)檢測的要求。綜合來看,Collaborative R-CNN 與Faster R-CNN 相比,只略微降低了計(jì)算速度,但顯著提高了檢測性能。
表4 在PASCAL VOC 2012 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果Table 4 Experimental results on PASCAL VOC 2012 dataset
本文提出了Collaborative R-CNN,通過增強(qiáng)對小目標(biāo)和遮擋目標(biāo)的檢測能力提升目標(biāo)檢測性能。利用級聯(lián)網(wǎng)絡(luò)和多尺度RoIAlign 操作深度融合了多尺度特征,并獲得了語義多尺度特征表示,使模型能適應(yīng)不同尺寸和寬高比的目標(biāo),如人、車和飛機(jī)等,顯著提高了對小目標(biāo)的檢測性能。將ASDN 與提出的級聯(lián)網(wǎng)絡(luò)相結(jié)合,生成能夠明顯提高模型分類能力的被遮擋訓(xùn)練樣本,提高了模型對遮擋目標(biāo)的魯棒性。在PASCAL VOC 2007 和PASCAL VOC 2012 數(shù)據(jù)集上將本文方法與各種先進(jìn)方法進(jìn)行了對比,實(shí)驗(yàn)結(jié)果表明Collaborative R-CNN 與Faster R-CNN 相比具有更高的檢測準(zhǔn)確率,并對小目標(biāo)和遮擋目標(biāo)的檢測性能顯著提升,但檢測速度降低不明顯。