趙世陽,王曉峰
上海海事大學(xué) 信息工程學(xué)院,上海 201306
行人檢測(cè)是計(jì)算機(jī)視覺中的一個(gè)經(jīng)典問題,在自動(dòng)駕駛汽車、智能監(jiān)控、機(jī)器人等應(yīng)用中發(fā)揮著重要作用,引起了越來越多的關(guān)注[1]。大多數(shù)早期的行人檢測(cè)方法都是基于手工特征構(gòu)建的,由于當(dāng)時(shí)缺乏有效的圖像表示,人們只能選擇設(shè)計(jì)復(fù)雜的特征表示,并且需要各種加速技術(shù)用盡有限的計(jì)算資源。比較典型的方法有梯度特征直方圖[2](histogram of oriented gradients,HOG)和形變部件模型[3](deformable part model,DPM),但傳統(tǒng)基于手工設(shè)計(jì)的特征易受外部條件的影響,并且所提取特征的魯棒性較弱,所以檢測(cè)精度不高。
近年來隨著深度學(xué)習(xí)技術(shù)的不斷發(fā)展,由于深度卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)能夠?qū)W習(xí)圖像的魯棒且高級(jí)的特征表示,出現(xiàn)了大量基于深度神經(jīng)網(wǎng)絡(luò)的行人檢測(cè)方法。通常,基于CNN的行人檢測(cè)器主要分為兩類:第一類稱為二階段檢測(cè)器,具有代表性的方法如R-CNN[4]、Fast R-CNN[5]、Faster R-CNN[6]等,這類算法首先會(huì)生成一系列的候選區(qū)域用來作為樣本,隨后再通過卷積層來進(jìn)行樣本的分類,從而檢測(cè)出目標(biāo)的位置;第二類稱為一階段檢測(cè)器,常見的算法有YOLO[7]、SSD[8]等,這類算法不需要產(chǎn)生候選區(qū)域,而是直接將目標(biāo)定位的問題轉(zhuǎn)化為回歸問題來進(jìn)行處理。最近,受到關(guān)鍵點(diǎn)檢測(cè)的啟發(fā),CornerNet[9]提出了一種基于關(guān)鍵點(diǎn)檢測(cè)的anchor-free檢測(cè)方法,在一些研究中,anchor-free思想被應(yīng)用到行人檢測(cè)中,并為行人檢測(cè)開辟了新的視野。與傳統(tǒng)的基于anchor-base的檢測(cè)方法(如RCNN和SSD)相比,新興的anchor-free檢測(cè)方法(如CornerNet)在設(shè)計(jì)上靈活,取得了更有前景的結(jié)果。
通常情況下,現(xiàn)實(shí)場(chǎng)景中的行人檢測(cè)總是會(huì)受到遮擋帶來的影響,從而導(dǎo)致行人的可見率低,尺度小,難以檢測(cè)。因此,如何有效地解決行人遮擋是行人檢測(cè)中的一個(gè)重要問題。對(duì)此,為提高行人遮擋檢測(cè)準(zhǔn)確率,一些針對(duì)遮擋設(shè)計(jì)的模型也被提了出來。解決遮擋最常見的策略是基于零件模型的方法,DeepParts[10]構(gòu)建了一系列與特定遮擋模式相對(duì)應(yīng)的零件檢測(cè)器,但這種基于零件模型的方法通常很耗時(shí)并且難以訓(xùn)練。Bi-Box[11]使用兩個(gè)不同的分支:可見部分預(yù)測(cè)分支和行人整體預(yù)測(cè)分支,兩個(gè)分支相互補(bǔ)充,根據(jù)行人的可見部分來進(jìn)行遮擋檢測(cè)。Repulsion Loss[12]引入了一種全新的回歸損失函數(shù),用來使生成的預(yù)測(cè)框盡量接近指定目標(biāo)框,遠(yuǎn)離周圍其他的目標(biāo)框。FasterRCNN+ATT-vbb[13]發(fā)現(xiàn)不同特征通道與不同的身體部位之間的關(guān)系,使用通道注意力機(jī)制來處理不同的遮擋模式。在各種行人檢測(cè)方法中,最近由Liu等人[14]提出的基于中心點(diǎn)和尺度預(yù)測(cè)的模型(center and scale prediction,CSP)是一種有前途的anchor-free行人檢測(cè)器,它可以通過預(yù)測(cè)行人的中心和尺度來進(jìn)行檢測(cè)。盡管CSP檢測(cè)器解決了行人檢測(cè)中各種規(guī)模的挑戰(zhàn),但它并未明確解決行人遮擋問題,為了解決這個(gè)問題,在CSP算法的基礎(chǔ)上使用了一種多尺度上下文模塊和注意力模塊,用來改善CSP檢測(cè)器。本文的主要貢獻(xiàn)包括:
(1)設(shè)計(jì)了一種多尺度上下文提取模塊,級(jí)聯(lián)不同的擴(kuò)張卷積來增大感受野,使用密集連接實(shí)現(xiàn)多尺度特征共享,提取上下文信息。
(2)引入了通道注意力模塊來進(jìn)行多尺度特征融合的調(diào)整,增強(qiáng)特征的可分辨性和魯棒性。
(3)在Caltech數(shù)據(jù)集上取得了41.73%的MR-2。
CSP是由Liu等人提出,首次將anchor-free的方法應(yīng)用到行人檢測(cè)領(lǐng)域,取得了很好的檢測(cè)結(jié)果。一般來說,基于anchor-base的模型在進(jìn)行預(yù)測(cè)之前會(huì)先設(shè)定好一組anchor,然后在推理過程中會(huì)在特征圖上使這些anchor進(jìn)行滑動(dòng)來提取n個(gè)候選框,最后再做進(jìn)一步的分類和回歸。給定特征圖Φdet和錨框Β,檢測(cè)可以表示為:
然而這些anchor-base的方法都不可避免地需要針對(duì)特定的數(shù)據(jù)集設(shè)計(jì)甚至優(yōu)化滑窗或者anchor超參數(shù),從而限制了檢測(cè)的精度和通用性。和anchor-base模型不同,CSP認(rèn)為行人檢測(cè)中行人的中心點(diǎn)和尺度都是一種高級(jí)的語義特征,行人檢測(cè)完全可以轉(zhuǎn)化為這些語義特征的檢測(cè)。在anchor-free的檢測(cè)方法中,只需要Φdet這一個(gè)參數(shù),檢測(cè)任務(wù)可以表示為:
CSP模型的網(wǎng)絡(luò)結(jié)構(gòu)主要包括兩個(gè)部分:特征提取部分和檢測(cè)頭部分。在特征提取階段,使用ResNet50作為主干網(wǎng)絡(luò)來提取不同級(jí)別的特征,將ResNet50的第3、4、5階段的特征圖分別進(jìn)行反卷積將尺寸提升到跟2層特征圖相同的大小,并在通道維度上進(jìn)行拼接生成最終用于檢測(cè)的特征圖。在檢測(cè)頭部分,在最終的特征圖上使用3×3卷積將其通道縮小到256,并且通過兩個(gè)1×1卷積分別來生成中心點(diǎn)的特征熱圖和尺度預(yù)測(cè)圖,并且額外增加了一個(gè)1×1卷積來進(jìn)行偏移量的預(yù)測(cè),用來調(diào)整中心點(diǎn)的位置。并根據(jù)中心點(diǎn)和尺度進(jìn)行檢測(cè)框的生成。
基于CSP檢測(cè)器的目標(biāo)損失函數(shù)表示為L,由三個(gè)損失函數(shù)加權(quán)相加組成:
其中λc、λs、λo分別代表中心點(diǎn)分類、尺度回歸、偏移量回歸的權(quán)重。在實(shí)驗(yàn)中分別設(shè)為0.01、1和0.1。
中心點(diǎn)分類損失函數(shù)定義為Lcenter,為平衡訓(xùn)練中正負(fù)樣本的數(shù)量,使用focal loss的思想進(jìn)行設(shè)計(jì):
其中,s k、t k分別代表網(wǎng)絡(luò)的預(yù)測(cè)值和真實(shí)值。
偏移損失函數(shù)由SmoothL1表示,與公式(5)類似。
在現(xiàn)實(shí)世界當(dāng)中,一個(gè)目標(biāo)不可能是單獨(dú)存在的,在它周圍一定存在著各種各樣的對(duì)象,而這個(gè)目標(biāo)則會(huì)受到周圍這些對(duì)象的影響,這些跟目標(biāo)有著或多或少關(guān)系的對(duì)象信息,就是通常所說的上下文信息。當(dāng)大腦進(jìn)行目標(biāo)識(shí)別時(shí),上下文信息可以幫助人們利用背景與目標(biāo)之間的關(guān)聯(lián)進(jìn)行目標(biāo)的判斷,因此,即使在周圍環(huán)境特別復(fù)雜和多變的情況下,依然可以準(zhǔn)確地識(shí)別和定位多個(gè)目標(biāo)。上下文信息一般分為三類,分別是語義上下文信息、空間上下文信息和尺度上下文信息,有效地運(yùn)用上下文信息可以提高目標(biāo)識(shí)別的準(zhǔn)確度。
近年來,各種類型的上下文信息被應(yīng)用到計(jì)算機(jī)視覺各個(gè)領(lǐng)域:如目標(biāo)檢測(cè)、語義分割、人體關(guān)鍵點(diǎn)估計(jì)等,文獻(xiàn)[15-16]指出背景信息也就是所謂的上下文信息對(duì)檢測(cè)遮擋的物體至關(guān)重要。例如:一個(gè)預(yù)測(cè)框的背景信息為斑馬線,那么該預(yù)測(cè)框檢測(cè)到行人的概率相對(duì)比較大,如果檢測(cè)框的背景為墻壁或者天空,那很大可能就不是行人。通過上下文信息,往往可以利用行人的可見部分以及周圍的背景信息推測(cè)出行人的整體部分,進(jìn)而進(jìn)行檢測(cè)。由于被遮擋的人群中包含各種尺度的行人實(shí)例,越是遮擋嚴(yán)重、尺寸較小的行人,需要的上下文信息就越多,而尺寸較大、比較分散的行人需要的上下文信息就比較少。因此,如何提取多尺度的上下文信息是解決遮擋的一個(gè)重要問題。Inception[17]運(yùn)用多個(gè)分支結(jié)構(gòu),多個(gè)不同大小的卷積核來捕獲多尺度信息。ASPP[18]引入擴(kuò)張卷積,利用不同擴(kuò)張率的3×3卷積來提取多尺度特征。而RFB Net[19]則在兩種方式的基礎(chǔ)上進(jìn)行改進(jìn),堆疊大小和擴(kuò)張率都不同的卷積核來提高感受野的大小,捕獲更多的上下文信息。受上述方法啟發(fā),本文結(jié)合上下文以及多尺度信息,將擴(kuò)張卷積以及密集連接結(jié)合在一起以增強(qiáng)特征的表述,來解決行人遮擋問題。
在認(rèn)知科學(xué)中,人們對(duì)所觀察的事物,一般而言并不會(huì)去關(guān)注事物的全部信息,而是選擇性地關(guān)注一些比較重要的信息而忽略其他可見的信息,這種方式就被稱為注意力機(jī)制。人類的視覺注意機(jī)制啟發(fā)了計(jì)算機(jī)視覺中注意力機(jī)制的發(fā)展。如今,注意力機(jī)制的思想被廣泛地應(yīng)用到許多計(jì)算機(jī)視覺任務(wù)之中,比如圖像分類、語義分割、目標(biāo)檢測(cè)等?;谧⒁饬C(jī)制的模型也是取得了良好的效果。SENet[20]通過模擬通道之間的相關(guān)性,對(duì)特征圖實(shí)現(xiàn)通道重構(gòu)。SKNet[21]受到SENet和Inception的啟發(fā),將SENet和Inception的多分支卷積層相結(jié)合,從而進(jìn)行了改進(jìn)。此外,CBAM[22]提出了通道注意力機(jī)制和空間注意力機(jī)制相結(jié)合的雙重注意力結(jié)構(gòu)。注意力機(jī)制會(huì)在提取特征時(shí)引導(dǎo)網(wǎng)絡(luò)關(guān)注有用的信息,抑制沒用的信息,從而讓網(wǎng)絡(luò)認(rèn)識(shí)到什么樣的特征需要關(guān)注,哪里的特征需要關(guān)注。受到上述方法的啟發(fā),本文在網(wǎng)絡(luò)特征融合階段引入通道注意力機(jī)制,分配給特征通道不同的權(quán)重,對(duì)融合的特征圖進(jìn)行自適應(yīng)的調(diào)整。
模型的整體框架如圖1所示。骨干網(wǎng)絡(luò)為ResNet50,與CSP算法相似,檢測(cè)頭部分主要包括三個(gè)1×1卷積層,分別用來預(yù)測(cè)中心位置、尺度信息和偏移量。ResNet50分為五個(gè)階段,將2到5個(gè)階段的輸出特征圖分別定義為φ2、φ3、φ4、φ5。考慮到基于中心點(diǎn)檢測(cè)需要更高分辨率的特征圖,因此輸入的圖片分別進(jìn)行倍數(shù)為4、8、16、16的下采樣用來提高分辨率。其中在特征融合階段,引入了多尺度上下文提取模塊(multi-scale context block,MCB)來進(jìn)行周圍上下文信息的提取和融合。首先把輸出的特征圖φ3、φ4、φ5通過歸一化和反卷積后將分辨率提升到和φ2相同大小,然后將φ2、φ3、φ4、φ5分別輸入到上下文提取模塊進(jìn)行上下文信息提取,把提取的特征圖進(jìn)行拼接后送入通道注意力調(diào)節(jié)模塊(channel attention block,CA)進(jìn)行通道權(quán)重調(diào)整,生成特征圖φconc,最后將特征圖φconc送到檢測(cè)頭進(jìn)行檢測(cè)。接下來將詳細(xì)介紹上下文和通道注意力兩個(gè)模塊的構(gòu)造。
圖1 模型總體網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 Overall architecture of model
為了增強(qiáng)感受野的大小,提取不同尺度的上下文信息用來加強(qiáng)遮擋檢測(cè),受到ASPP和RFBNet模型的啟發(fā),本文引入擴(kuò)張卷積來進(jìn)行上下文信息的提取,但是由于分割和檢測(cè)任務(wù)的不同,可能會(huì)帶來兩個(gè)問題,一是過大的擴(kuò)張率可能會(huì)容易引入較多的背景噪音,而較小的擴(kuò)張率則無法提供足夠大的感受野。二是采用并行設(shè)計(jì)的結(jié)構(gòu),每個(gè)分支各自獨(dú)立,在前饋過程中不會(huì)共享任何信息,而且相對(duì)于串行設(shè)計(jì)來說,還會(huì)影響模型的效率。
為了解決上述存在的問題,本文采用級(jí)聯(lián)連接的方法來進(jìn)行擴(kuò)張卷積,采用較小的擴(kuò)張率,并且利用DenseNet[23]的思想,在擴(kuò)張卷積層之間引入跳躍連接來使之共享不同尺度的特征信息。相對(duì)于并行設(shè)計(jì)的結(jié)構(gòu),使用級(jí)聯(lián)方式堆疊的卷積塊可以保持更大的感受野。舉例來說,擴(kuò)張卷積可以增加卷積核的感受野,一個(gè)擴(kuò)張率為r,卷積核大小為k的感受野為RF=(r-1)×(k-1)+k,因此對(duì)于擴(kuò)張率分別為3、5、7的擴(kuò)張卷積,基于并行設(shè)計(jì)的感受野大小為max{k(3),k(5),k(7)}=15,而基于級(jí)聯(lián)方式的感受野大小為sum{k(3),k(5),k(7)}-3=30,很明顯,級(jí)聯(lián)連接可以在保持效率的同時(shí)捕獲更大的感受野,在更大范圍內(nèi)生成更多尺度的上下文信息。
MCB的詳細(xì)結(jié)構(gòu)如圖2所示,一共有三個(gè)卷積塊,每一卷積塊的擴(kuò)張率逐漸增加,分別為3、5、7,并且在卷積塊之間采用密集連接。每個(gè)卷積塊都由一個(gè)1×1卷積和擴(kuò)張率為r的3×3卷積組成,其中1×1卷積也就是常見的bottleneck結(jié)構(gòu)主要是用來降低計(jì)算量,由于密集連接采用的是通道連接(即圖中所示的C)而不是相加,所以通道數(shù)會(huì)飛速上升,故采用1×1卷積來進(jìn)行特征通道的降維,之后再接擴(kuò)張率為r的3×3卷積用來擴(kuò)大感受野,提取上下文信息。每一個(gè)卷積塊的輸入都是前面所有卷積塊的輸出,每一個(gè)卷積塊都會(huì)與前面所有卷積塊的輸出在通道維度上做一個(gè)連接,連接來自不同層的特征圖,提高特征的可重用率。另外,為了保持初始輸入的粗粒度信息,使用全局平均池化和1×1卷積對(duì)全局特征進(jìn)行提取,并經(jīng)過上采樣操作與三個(gè)卷積塊的輸出特征圖進(jìn)行連接生成最終的特征圖。
圖2 多尺度上下文模塊Fig.2 Multi-scale context block
盡管上下文提取模塊包含豐富的上下文信息,但并非所有的信息都有助于提升行人檢測(cè)的性能,可能會(huì)由于冗余信息的誤導(dǎo)而使準(zhǔn)確率降低。因此,為了消除冗余信息的負(fù)面影響并且進(jìn)一步增強(qiáng)特征的表示能力,設(shè)計(jì)了一種注意力引導(dǎo)模塊。對(duì)ResNet50每個(gè)階段提取的特征圖進(jìn)行融合時(shí),由于每個(gè)特征圖的尺度不同,并且每個(gè)特征通道的重要性也不同,因此網(wǎng)絡(luò)在進(jìn)行預(yù)測(cè)時(shí),對(duì)每個(gè)特征通道上信息的關(guān)注度也應(yīng)該不同。為了能夠讓檢測(cè)器在檢測(cè)不同行人時(shí)能夠自適應(yīng)地為每個(gè)特征通道分配不同的權(quán)值,進(jìn)而提高有用信息的關(guān)注度,受到SENet中通道注意力模塊的啟發(fā),本文將通道注意力機(jī)制與多尺度特征融合結(jié)合使用,通過通道注意力為融合的特征圖進(jìn)行自適應(yīng)的加權(quán)調(diào)整。該模塊的網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。具體而言,該通道注意力模塊主要包括兩個(gè)操作,Squeeze和Excitation。其中,Squeeze部分主要是為了獲取每個(gè)通道特征圖的全局信息,生成一個(gè)特征向量。這一步通過使用全局平均池化(global average pooling,GAP)來實(shí)現(xiàn)。設(shè)原始特征為F={f1,f2,…,f c},其中f c代表第c個(gè)通道的像素值,那么首先GAP可以表示為:
圖3 通道注意力模塊Fig.3 Channel attention block
其中mc為每個(gè)通道特征圖的平均值。
當(dāng)Sequeeze操作得到了通道的全局特征之后,接下來需要對(duì)全局特征做Excitation操作,來獲取通道之間的非線性關(guān)系。因此,使用激活函數(shù)Sigmoid來進(jìn)行操作:
最后,經(jīng)過特征向量e調(diào)節(jié)后的特征圖作為最終的特征圖送到檢測(cè)頭進(jìn)行預(yù)測(cè)。該通道注意力模塊可以有效地將不同尺度的特征進(jìn)行融合,并為特征通道分配不同的權(quán)重,使網(wǎng)絡(luò)可以自適應(yīng)地對(duì)行人進(jìn)行檢測(cè)。
為了證明該方法的有效性,在目前比較流行的Caltech行人檢測(cè)數(shù)據(jù)集上進(jìn)行了評(píng)估。Caltech行人檢測(cè)數(shù)據(jù)集是由Dollar等人提出,由于其出色的泛化能力和數(shù)據(jù)規(guī)模被廣泛應(yīng)用到行人檢測(cè)中。Caltech數(shù)據(jù)集主要是通過車載攝像頭,在城市街道進(jìn)行拍攝收集的視頻數(shù)據(jù),共包括11組視頻。前6個(gè)視頻集set00~set05用于訓(xùn)練,其余5個(gè)視頻集set06~set10則用于測(cè)試。訓(xùn)練集和測(cè)試集分別具有42 782張和4 024張圖像。Caltech數(shù)據(jù)集的圖像分辨率為640×480,并對(duì)大約2 300個(gè)不同的行人進(jìn)行了標(biāo)注,包括各種復(fù)雜場(chǎng)景中的各種遮擋行人。絕大多數(shù)行人尺寸較小,分辨率較低,像素在30~100之間,并且道路背景復(fù)雜,識(shí)別比較困難,因此具有一定的檢測(cè)難度。本文在合理子集(reasonable,R),遮擋子集(heavy occlusion,HO)和總體數(shù)據(jù)集(ALL)對(duì)算法進(jìn)行評(píng)估。
評(píng)估的標(biāo)準(zhǔn)是使用對(duì)數(shù)平均漏檢率(log-average miss rate,記為MR-2)來檢驗(yàn)檢測(cè)器的性能,計(jì)算方式為FPPI-MR(false positives per image against miss rate)曲線在對(duì)數(shù)空間[10-2,100]之間均勻分布的9個(gè)點(diǎn)的平均值。其較低的值能夠反映出更好的檢測(cè)效果。其中MR和FPPI的計(jì)算方式如公式(9)和(10)所示,其中FN代表假陰性樣本數(shù)量,F(xiàn)P代表假陽性樣本數(shù)量,TP代表真陽性樣本數(shù)量,N代表圖片的數(shù)量。
實(shí)驗(yàn)環(huán)境參數(shù)如表1所示。
表1 實(shí)驗(yàn)環(huán)境參數(shù)Table 1 Experimental environment parameters
實(shí)驗(yàn)的主干網(wǎng)絡(luò)是在ImageNet上經(jīng)過預(yù)訓(xùn)練的ResNet50,使用Adam方法進(jìn)行參數(shù)優(yōu)化,并且應(yīng)用移動(dòng)平均權(quán)重策略[24]來實(shí)現(xiàn)更加穩(wěn)定的訓(xùn)練。為了增強(qiáng)訓(xùn)練數(shù)據(jù)的多樣性,采用了標(biāo)準(zhǔn)的數(shù)據(jù)增強(qiáng)技術(shù),包括隨機(jī)色彩失真、隨機(jī)水平翻轉(zhuǎn)、隨機(jī)縮放和隨機(jī)擦除。對(duì)于Caltech數(shù)據(jù)集,訓(xùn)練期間將網(wǎng)絡(luò)的輸入分辨率設(shè)為336×448,將一個(gè)GPU上的Batch Size設(shè)定為8,學(xué)習(xí)率設(shè)定為10-4,訓(xùn)練120個(gè)Epoch后停止。
為證明本文提出的改進(jìn)方法的有效性,首先在Caltech行人數(shù)據(jù)集上跟原CSP算法進(jìn)行對(duì)比。計(jì)算得到的FPPI-MR曲線如圖4所示,其中4(a)、(b)、(c)分別代表了在合理子集、嚴(yán)重遮擋子集和總體的檢測(cè)結(jié)果。合理子集R的遮擋比例不超過35%,嚴(yán)重遮擋子集HO的遮擋比例為35%~80%。實(shí)驗(yàn)結(jié)果表明,該算法在HO子集上對(duì)原算法提升最大。這是由于遮擋比例大的行人可提取的特征較少,需要更多的上下文信息幫助檢測(cè),MCB模塊采用級(jí)聯(lián)的方式來提取上下文,相對(duì)于串聯(lián)來說感受野更大,提取的上下文信息更加豐富,并且使用小擴(kuò)張率,相對(duì)于大的擴(kuò)張率來說,減少了噪音的加入。將MCB模塊添加到CSP算法中,在遮擋行人子集上的MR-2降低了2.92%,引入注意力模塊(CA)進(jìn)行調(diào)整之后,在遮擋子集上的MR-2降低了4.08%。
圖4 FPPI-MR曲線Fig.4 FPPI-MR curve
相對(duì)于HO子集,原CSP算法在R子集上的性能已接近飽和,所以提升較小,MR-2由4.54%降低為4.35%。R子集由于遮擋較輕,檢測(cè)時(shí)對(duì)周圍上下文信息需求較少,過多的上下文信息可能會(huì)影響檢測(cè)性能。因此,MCB模塊使用跳躍連接實(shí)現(xiàn)特征復(fù)用,并使用平均池化和1×1卷積提取原始特征的粗粒度信息進(jìn)行融合,配合CA模塊利用通道加權(quán)抑制冗余的上下文信息,防止在遮擋較輕甚至無遮擋的情況下網(wǎng)絡(luò)退化。
最后在總體行人上添加MCB模塊,MR-2降低了0.79%,添加CA模塊后MR-2降低了1.43%,有效地提升了模型的檢測(cè)性能。
這些結(jié)果表明,不同的遮擋比例會(huì)減少行人的有效特征,對(duì)算法性能的提升有一定的影響。本文提出的算法在遮擋比例達(dá)到35%以上時(shí)對(duì)原算法提升最大,另外在遮擋比例低于35%時(shí)也能保持優(yōu)于原算法的檢測(cè)性能,因此該算法在不同程度的遮擋比例中有著良好的泛化能力。
為了更好地評(píng)估模型,針對(duì)算法的查全率和查準(zhǔn)率也做了對(duì)比,得到的PR曲線如圖5所示。改進(jìn)后的算法在R、HO和ALL三個(gè)子集上的精確率分別提高了0.09%、3.88%和0.54%,降低了誤檢率,證明了該算法的有效性。
圖5 PR曲線Fig.5 PR curve
其次,比較了在特征融合階段的特征圖的不同組合,適當(dāng)?shù)奶卣魅诤嫌欣诟鞣N規(guī)模的行人檢測(cè)。從表2中可以看出,沒有結(jié)合φ4、φ5的{φ2、φ3}組合由于沒有融合高級(jí)語義特征,因此漏檢率最高,為51.63%,但參數(shù)較少,檢測(cè)速度最快;結(jié)合了φ4的{φ3、φ4}、{φ2、φ3、φ4}組合,漏檢率分別為48.09%和49.26%,較{φ2、φ3}組合有所下降;而結(jié)合了φ4、φ5的{φ4、φ5}、{φ3、φ4、φ5}、{φ2、φ3、φ4、φ5}組合,因?yàn)槿诤狭烁呒?jí)語義特征,因此檢測(cè)效果較好,但會(huì)占用更多的運(yùn)行內(nèi)存,所以檢測(cè)速度較慢。另外,由于MR{φ3、φ4、φ5}<MR{φ2、φ3、φ4、φ5},MR{φ3、φ4}<MR{φ2、φ3、φ4},因此結(jié)合了φ2這種低級(jí)的特征圖會(huì)使模型的漏檢率升高。所以對(duì)于該模型來說,最佳的性能來自于{φ3、φ4、φ5}的組合,漏檢率為41.73%。
表2 特征融合對(duì)比實(shí)驗(yàn)Table 2 Comparisons of different fusion methods
另外,為了表明MCB模型結(jié)構(gòu)的有效性,在CSP模型的基礎(chǔ)上分別嵌入ASPP、RFBNet進(jìn)行比較,得到的結(jié)果如表3所示。在不加CA模塊的情況下,三個(gè)模塊的漏檢率分別為43.60%、43.15%、42.89%,加上CA模塊后漏檢率為42.55%、42.16%、41.73%。由此可以看出,MCB模塊的設(shè)計(jì)表現(xiàn)效果更好。
表3 MCB與經(jīng)典模型的對(duì)比實(shí)驗(yàn)Table 3 Comparison of MCB and classic modules
最后,在Caltech的合理子集(R)、遮擋行人(HO)和總體行人(ALL)三個(gè)子集上與當(dāng)前最先進(jìn)的模型的MR-2進(jìn)行比較,包括RPN+BF[25]、MS-CNN[26]、SDS-RCNN[27]、GDFL[28]、ALFNet[29]、CSP以及專門針對(duì)行人遮擋設(shè)計(jì)的DeepParts[10]、Bi-Box[11]、RepLoss[12]、ATT-part[13]。實(shí)驗(yàn)對(duì)比結(jié)果如表4所示。
表4 在Caltech上的結(jié)果對(duì)比實(shí)驗(yàn)Table 4 Comparisons of state-of-the-art detections on Caltech%
由表4可知,在遮擋情況下,限于行人的可見率和尺度大小,普通的行人檢測(cè)器漏檢率普遍較高,而專注于行人遮擋問題提出的檢測(cè)器則表現(xiàn)較好。與上述算法相比較,本文提出的算法在遮擋行人中取得了最好的效果。能取得如此良好效果的原因是:由于上述基于anchor-base的算法,直接對(duì)整個(gè)錨框進(jìn)行總體的分類來檢測(cè)行人,行人的遮擋信息是包含在整體推斷里的,容易造成干擾,而本文采用基于anchor-free的檢測(cè)器,行人中心點(diǎn)和尺度的預(yù)測(cè)是分開進(jìn)行的,并且使用了高分辨率的特征圖,因此受遮擋和尺度大小的影響相對(duì)較小;另外,采用多尺度上下文提取模塊可以提供更多的信息來幫助檢測(cè)器進(jìn)行遮擋行人的推斷,并且注意力模塊通過對(duì)特征通道間的調(diào)整,增強(qiáng)了行人特征的表示,可以在遮擋方面取得更好的效果。
圖6展示了CSP模型和本文改進(jìn)后的模型對(duì)于遮擋行人的檢測(cè)效果。其中,左邊為原CSP算法的檢測(cè)效果,右邊為本文提出的改進(jìn)后的CSP算法的檢測(cè)效果。其中紅色的檢測(cè)框代表漏檢,綠色的檢測(cè)框代表正確檢測(cè)??梢钥闯霰疚牡母倪M(jìn)的模型在遮擋比例較高的場(chǎng)景下更加具有魯棒性。
圖6 遮擋場(chǎng)景檢測(cè)結(jié)果對(duì)比Fig.6 Comparisons of occlusion scene detection
另外,對(duì)該算法失效部分的實(shí)驗(yàn)也進(jìn)行了分析,圖7展示了本文改進(jìn)的模型在數(shù)據(jù)集中失效的場(chǎng)景。通過分析,可以得出失效的場(chǎng)景主要有兩種,像素值過低和遮擋范圍過大。具體來說,行人尺度大小在30~40像素,遮擋比例70%~80%的情況下模型的漏檢率較高;在30像素以下,遮擋比例80%以上模型基本失效。在這種場(chǎng)景下,檢測(cè)器可以利用的信息太少,以至于無法進(jìn)行準(zhǔn)確的檢測(cè)。大多數(shù)行人都是在30~80像素之間觀察到的,而對(duì)于汽車應(yīng)用而言,進(jìn)行行人檢測(cè)也必須在這個(gè)尺度下進(jìn)行。舉例來說,對(duì)于身高1.8 m的行人,可以根據(jù)觀察到的像素值對(duì)行人的距離進(jìn)行估計(jì),當(dāng)車輛以55 km/h的速度行駛時(shí),一個(gè)30像素的行人距離車有4 s的距離,而一個(gè)80像素的行人只有1.5 s的距離,這就表明,對(duì)于30像素以下的行人,檢測(cè)會(huì)留出足夠的時(shí)間來提醒駕駛員,而80像素的行人由于距離過近,對(duì)實(shí)時(shí)檢測(cè)的準(zhǔn)確性要求就足夠高。所以,盡管該模型會(huì)在行人像素過低、遮擋范圍過大的場(chǎng)景中失效,但在一定程度上滿足實(shí)時(shí)檢測(cè)的要求。
圖7 模型失效場(chǎng)景Fig.7 Model failure scene
在本文中,針對(duì)行人遮擋問題,對(duì)基于anchor-free的行人檢測(cè)器進(jìn)行了兩點(diǎn)改進(jìn):一是通過上下文模塊級(jí)聯(lián)多個(gè)擴(kuò)張卷積層來擴(kuò)大感受野,使用密集連接實(shí)現(xiàn)多尺度特征共享,提取上下文信息;二是利用通道注意力模塊對(duì)多尺度特征圖融合進(jìn)行自適應(yīng)的調(diào)整,增強(qiáng)特征表示。與原算法相比,本文提出的算法在行人遮擋上面表現(xiàn)得更為出色,在Caltech數(shù)據(jù)集上的漏檢率降低到了41.73%,驗(yàn)證了本文方法的有效性。在未來的工作中,將從特征提取能力更強(qiáng)的骨干網(wǎng)絡(luò)中進(jìn)行研究,并且考慮引入時(shí)空上下文信息來提高檢測(cè)效果。