李 浩,張曉強(qiáng)
(中國(guó)礦業(yè)大學(xué)信息與控制工程學(xué)院,江蘇 徐州 221116)
隨著深度學(xué)習(xí)理論的發(fā)展和計(jì)算機(jī)性能的不斷提升[1-3],目標(biāo)檢測(cè)逐漸成為深度學(xué)習(xí)領(lǐng)域的熱門(mén)研究方向,其實(shí)現(xiàn)方式為預(yù)測(cè)一幅圖像的所有目標(biāo)標(biāo)注框以及對(duì)應(yīng)分類(lèi)。由于多數(shù)經(jīng)典檢測(cè)模型均是基于預(yù)設(shè)好超參數(shù)的錨點(diǎn)框,如RetinaNet[4]、SSD[5]、YOLOv3[6]等單階段檢測(cè)模型以及Faster R-CNN[7]等雙階段檢測(cè)模型,因此研究人員普遍認(rèn)為預(yù)設(shè)參數(shù)對(duì)目標(biāo)檢測(cè)模型至關(guān)重要,并證明了錨點(diǎn)的超參數(shù)設(shè)置可降低模型魯棒性,并且顯著增加模型參數(shù)調(diào)試的復(fù)雜度。自2018 年起,F(xiàn)COS[9]、CornerNet[10]和CenterNet[11]等無(wú)錨點(diǎn)檢測(cè)模型在無(wú)錨點(diǎn)的情況下預(yù)測(cè)物體,可避免調(diào)試錨點(diǎn)相關(guān)的超參數(shù),但是獲得的檢測(cè)效果難以達(dá)到錨點(diǎn)檢測(cè)模型的水平。
雖然錨點(diǎn)的設(shè)置使得目標(biāo)檢測(cè)領(lǐng)域取得顯著進(jìn)展,但是基于錨點(diǎn)的檢測(cè)器仍面臨諸多問(wèn)題。在RetinaNet[4]中,錨點(diǎn)框的尺寸、比例與個(gè)數(shù)等超參數(shù)對(duì)該模型的平均精度影響較大,造成設(shè)置合理的上述參數(shù)較為困難。在設(shè)置合理的超參數(shù)后,由于錨點(diǎn)框的比例與尺寸在模型建立時(shí)必須固定,使得檢測(cè)模型對(duì)形狀變化較大的目標(biāo)集的檢測(cè)難度增大。同時(shí),預(yù)制定的錨點(diǎn)框?qū)?huì)限制檢測(cè)模型的魯棒性與通用性,這是因?yàn)槊坑龅揭粋€(gè)全新的數(shù)據(jù)集都需要重新設(shè)計(jì)錨點(diǎn)框的超參數(shù)以獲得最優(yōu)性能。為獲得更高的召回率,一個(gè)基于錨點(diǎn)的模型需要在輸入圖像上密集鋪置錨點(diǎn)框。比如在特征金字塔網(wǎng)絡(luò)(Feature Pyramid Networks,F(xiàn)PN)[12]中,一幅圖像的短邊resize 為800 時(shí),最終所需的錨點(diǎn)框數(shù)量將高達(dá)1.8×105,且多數(shù)錨點(diǎn)框在訓(xùn)練中均被標(biāo)注為負(fù)例,而過(guò)多的負(fù)例將會(huì)加劇正負(fù)例數(shù)量的不平衡。全卷積神經(jīng)網(wǎng)絡(luò)(Fully Convolutional Networks,F(xiàn)CNs)[13]在語(yǔ)義分割[14-15]、深度估計(jì)[16]、關(guān)鍵點(diǎn)檢測(cè)[17]、實(shí)例分割[18]以及全景分割[19]等密集檢測(cè)任務(wù)獲得顯著效果。
近年來(lái),無(wú)論模型是否使用錨點(diǎn),預(yù)測(cè)頭模塊總是伴隨著FPN,通過(guò)對(duì)FPN 中每張?zhí)卣鲌D對(duì)應(yīng)的錨點(diǎn)框進(jìn)行指定,特定的特征圖僅預(yù)測(cè)特定大小范圍的標(biāo)簽框。該預(yù)測(cè)結(jié)構(gòu)的優(yōu)點(diǎn)是可以使計(jì)算資源得到整合,有效提高檢測(cè)精度以及模型對(duì)小型物體的召回率。但該預(yù)測(cè)結(jié)構(gòu)與早期雙階段模型面對(duì)的問(wèn)題類(lèi)似,即從人類(lèi)的視角來(lái)看,這種選擇與屏蔽機(jī)制并不符合認(rèn)知常識(shí),并且無(wú)論是否是基于錨點(diǎn)的模型,特征金字塔結(jié)構(gòu)的預(yù)測(cè)模式都會(huì)導(dǎo)致正例與負(fù)例的比例處于一個(gè)較低值,此時(shí)需要采取一些平衡正負(fù)例的措施,造成模型的冗雜度增加。為解決該問(wèn)題,本文提出一種新的模型結(jié)構(gòu)。該模型通過(guò)取消預(yù)設(shè)錨點(diǎn)參數(shù)環(huán)節(jié)和特征金字塔網(wǎng)絡(luò),避免與錨點(diǎn)相關(guān)的冗余并降低特征金字塔提取網(wǎng)絡(luò)的權(quán)重,從而提高模型的魯棒性。
本文提出的模型在訓(xùn)練階段過(guò)程中,預(yù)測(cè)頭模塊的特征圖標(biāo)簽制作過(guò)程舍棄了錨點(diǎn)與標(biāo)簽框匹配步驟,直接以預(yù)測(cè)頭特征圖的像素點(diǎn)為單位與標(biāo)簽框進(jìn)行匹配。如圖1 所示,預(yù)測(cè)頭模塊分為分類(lèi)支路、檢測(cè)支路與中心偏離支路3 個(gè)支路。
圖1 預(yù)測(cè)頭模塊框架Fig.1 Framework of prediction head module
假設(shè)Fi∈?H×W×C為模型中一個(gè)預(yù)測(cè)頭的特征圖i,s是特征圖到某一層為止的累加步長(zhǎng)。一幅圖像的標(biāo)簽框可以被定義為一個(gè)五維向量Bi,Bi=。其中,向量中的表示一個(gè)標(biāo)簽框的左上角與右下角對(duì)應(yīng)的坐標(biāo),ci表示標(biāo)簽框的所屬類(lèi)別。C表示類(lèi)別的個(gè)數(shù),COCO 數(shù)據(jù)集的類(lèi)別個(gè)數(shù)為80。對(duì)于特征圖的每一個(gè)位置(x,y),模型的坐標(biāo)映射將其映射至初始輸入圖像對(duì)應(yīng)的坐標(biāo)位置([s/2]+xs,[s/2]+ys),該映射得到的輸入圖像的坐標(biāo)位置接近(x,y)坐標(biāo)感受野的中心。
在基于錨點(diǎn)的檢測(cè)器模型中,模型通常會(huì)輸出幾張?zhí)卣鲌D,這些特征圖上的每一個(gè)坐標(biāo)位置都會(huì)設(shè)置一個(gè)或多個(gè)錨點(diǎn),而這些錨點(diǎn)的相關(guān)超參數(shù)與模型的預(yù)測(cè)結(jié)果相關(guān)聯(lián),錨點(diǎn)的超參數(shù)與目標(biāo)簽框的參數(shù)將會(huì)按照預(yù)設(shè)公式得到計(jì)算值。但是本文提出的模型中沒(méi)有該步驟,其直接在每一個(gè)特征圖的坐標(biāo)位置回歸標(biāo)簽框的坐標(biāo)。即基于用于語(yǔ)義分割的FCNs[13]在舍棄錨點(diǎn)后,每一個(gè)坐標(biāo)位置都會(huì)作為一個(gè)訓(xùn)練樣本。取消錨點(diǎn)參數(shù)設(shè)置的原因如下:
1)目前主流的錨點(diǎn)超參數(shù)設(shè)置方式是基于特定數(shù)據(jù)集訓(xùn)練集的標(biāo)簽框形狀進(jìn)行聚類(lèi)并計(jì)算得到。在模型進(jìn)行檢測(cè)時(shí),由于檢測(cè)集與訓(xùn)練集的數(shù)據(jù)分布相同,因此通常不會(huì)出現(xiàn)數(shù)據(jù)分布遷移的問(wèn)題。但在實(shí)際應(yīng)用中,訓(xùn)練集與預(yù)測(cè)對(duì)象的分布總是不同,而模型訓(xùn)練得到的權(quán)重往往與該組針對(duì)特定訓(xùn)練集的錨點(diǎn)超參數(shù)相關(guān)。針對(duì)利用單個(gè)圖像中各個(gè)標(biāo)簽框與預(yù)測(cè)特征圖中各個(gè)空間位置(x,y)的相對(duì)位置關(guān)系制作標(biāo)簽特征圖問(wèn)題,取消錨點(diǎn)機(jī)制可提高模型的通用性。
2)基于錨點(diǎn)的模型,通常標(biāo)簽特征圖中的每個(gè)空間位置至少有9 個(gè)錨點(diǎn),導(dǎo)致交并比得分計(jì)算過(guò)程中的數(shù)量較多,且密集的錨點(diǎn)鋪設(shè)將會(huì)嚴(yán)重影響正負(fù)例標(biāo)簽的分布情況。損失計(jì)算與反向梯度傳播過(guò)程中大量學(xué)習(xí)價(jià)值較低的負(fù)例降低了模型訓(xùn)練的效率,但基于空間位置的模型中每個(gè)空間位置只有一個(gè)損失計(jì)算對(duì)象,且正負(fù)例比例較錨點(diǎn)模型更高,這將大幅降低模型的運(yùn)算量并提高訓(xùn)練效率。
3)研究實(shí)驗(yàn)表明,在增加了正例區(qū)域與中心偏離支路后,模型的檢測(cè)精度與召回率均優(yōu)于多數(shù)傳統(tǒng)錨點(diǎn)模型。
1.1.1 正例區(qū)域原則
針對(duì)正例與負(fù)例的劃分提出了正例區(qū)域原則,其規(guī)則為:取部分每個(gè)標(biāo)簽框的中心位置到該標(biāo)簽框4 條邊的距離作為正例區(qū)域。假設(shè)原標(biāo)簽框高大于框?qū)挘粼瓨?biāo)簽框的框高大于等于448,則取標(biāo)簽框高的1/3作為正例區(qū)域的高;若原標(biāo)簽框高大于等于224 小于448,則取標(biāo)簽框高的1/2 作為正例區(qū)域的高;若原標(biāo)簽框高小于224,則取標(biāo)簽框高作為正例區(qū)域的高。正例區(qū)域的寬遵循近似原則,不同之處是若標(biāo)簽框?qū)捯呀?jīng)小于正例區(qū)域的高,則以標(biāo)簽框?qū)捴苯幼鳛檎齾^(qū)域的寬。假設(shè)原標(biāo)簽框?qū)挻笥诳蚋?,則標(biāo)簽框?qū)捠紫劝凑丈鲜鲆?guī)律計(jì)算獲得正例區(qū)域的寬,接著換算正例區(qū)域的高,若標(biāo)簽框高小于正例區(qū)域的寬,則以標(biāo)簽框高直接作為正例區(qū)域的高。
若一張?zhí)卣鲌D中某個(gè)坐標(biāo)位置(x,y)對(duì)應(yīng)的原圖位置落在任意一個(gè)正例區(qū)域內(nèi),則該位置被劃分為正例,且其對(duì)應(yīng)的類(lèi)別c*是此正例區(qū)域?qū)?yīng)的標(biāo)簽框類(lèi)別;若一張?zhí)卣鲌D中某個(gè)坐標(biāo)位置(x,y)對(duì)應(yīng)的原圖位置落在任意一個(gè)非正例區(qū)域的標(biāo)簽框內(nèi),則該位置將不會(huì)參與損失計(jì)算;否則此坐標(biāo)位置將被歸為負(fù)例,對(duì)應(yīng)類(lèi)別c*=0(背景)。正例區(qū)域選取方式示意圖如圖2 所示。
圖2 正例區(qū)域選取方式示意圖Fig.2 Schematic diagram of region selection method of positive example area
除了分類(lèi)標(biāo)簽外,還可用檢測(cè)標(biāo)簽的四維向量p*=(l*,r*,t*,b*)作為坐標(biāo)位置的回歸目標(biāo)。四維坐標(biāo)示意圖如圖3 所示。
圖3 四維坐標(biāo)示意圖Fig.3 Schematic diagram of four-dimensional coordinates
(l*,r*,t*,b*)分別為坐標(biāo)位置(x,y)對(duì)應(yīng)的原圖位置離標(biāo)簽框4 條邊的距離。如果一個(gè)坐標(biāo)位置同時(shí)落在多個(gè)正例區(qū)域內(nèi),則簡(jiǎn)單地將面積最小的正例區(qū)域作為其回歸目標(biāo)。正例區(qū)域原則上通過(guò)把圖像中不同高寬比的標(biāo)簽框轉(zhuǎn)換為形狀趨向于正方形的正例區(qū)域,以調(diào)節(jié)正例坐標(biāo)的分布,并將正例坐標(biāo)集中在一起,且可獲得以下2 個(gè)優(yōu)勢(shì):1)正例區(qū)域原則降低了大型目標(biāo)對(duì)應(yīng)的特征圖正例坐標(biāo)個(gè)數(shù),有效縮小了大型目標(biāo)與小型目標(biāo)在損失計(jì)算中所占比重的差別,且模型可對(duì)檢測(cè)較為困難的小型目標(biāo)投入更多注意力,不再將訓(xùn)練重心放在易檢測(cè)物體上;2)只選取大型目標(biāo)正例區(qū)域可有效避免關(guān)鍵位置被遮擋的問(wèn)題(具體如圖2 所示),關(guān)鍵位置是指以目標(biāo)標(biāo)簽框中心為圓心的小型區(qū)域。實(shí)踐證明該區(qū)域的檢測(cè)結(jié)果通常是最優(yōu)的,而如果不使用正例區(qū)域原則,目標(biāo)A 的核心區(qū)域?qū)?huì)完全被目標(biāo)B 的非核心區(qū)域所遮擋。坐標(biāo)位置離標(biāo)簽框4 條邊的距離如式(1)~式(4)所示:
1.1.2 中心偏離支路
中心偏離支路的作用是輔助篩除出低質(zhì)量的預(yù)測(cè)框。研究表明,低質(zhì)量預(yù)測(cè)框通常是由一些遠(yuǎn)離標(biāo)簽框中心點(diǎn)位置的坐標(biāo)點(diǎn)所得,因此需盡可能降低坐標(biāo)位置的分類(lèi)預(yù)測(cè)值。在預(yù)測(cè)過(guò)程中,通過(guò)非極大值抑制(Non-Maximum Suppression,NMS)可篩除掉這類(lèi)坐標(biāo)位置,使得多數(shù)參與預(yù)測(cè)的坐標(biāo)位置均接近目標(biāo)物體中心位置。中心偏離是一個(gè)簡(jiǎn)單高效的篩除低質(zhì)量檢測(cè)框的手段。如圖1 所示,僅需在預(yù)測(cè)頭模塊的分類(lèi)支路或者回歸支路中增加一個(gè)分支對(duì)中心偏離進(jìn)行預(yù)測(cè)即可。此分支可用來(lái)計(jì)算預(yù)測(cè)點(diǎn)與對(duì)應(yīng)目標(biāo)框中心的距離,在給定標(biāo)簽位置(l*,r*,t*,b*)的情況下,中心偏離的回歸目標(biāo)S*計(jì)算方法為:
中心偏離的回歸目標(biāo)S*為0~1,損失函數(shù)將會(huì)被加入初始的損失函數(shù)中。在檢測(cè)過(guò)程中,中心偏離預(yù)測(cè)分?jǐn)?shù)將會(huì)乘以對(duì)應(yīng)坐標(biāo)位置的分類(lèi)得分,并將得到的結(jié)果作為最終被使用的分類(lèi)得分。因此,將會(huì)造成遠(yuǎn)離目標(biāo)框中心的坐標(biāo)位置對(duì)應(yīng)的分類(lèi)預(yù)測(cè)值大幅降低,而低質(zhì)量的預(yù)測(cè)邊框?qū)?huì)被NMS 清除,從而提高檢測(cè)性能。
通過(guò)回歸目標(biāo)標(biāo)簽制作方式的更新與中心偏離模塊的加入,本文提出的模型得以完全舍棄錨點(diǎn),并以一種簡(jiǎn)單直接的方式進(jìn)行訓(xùn)練,以獲得更快的推理速度。
將多個(gè)預(yù)測(cè)分支整合為單線程檢測(cè)路線且不丟失小型物體的檢測(cè)精度至關(guān)重要,一個(gè)可行的方法是盡可能地提高預(yù)測(cè)頭特征圖的分辨率,且為了避免模型過(guò)大而造成顯存溢出,需使得骨干模型中的特征圖分辨率盡量小。上述2 個(gè)要求看似存在相悖,但通過(guò)多次下采樣之后再進(jìn)行多次上采樣的方式,可在減少模型參數(shù)量與計(jì)算量的同時(shí),保證最終輸出特征圖和輸入特征圖的像素比達(dá)到一個(gè)較高的數(shù)值。在本文所提模型中,像素比達(dá)到了1∶4,則可避免由于像素丟失而導(dǎo)致位置信息丟失的問(wèn)題。在減少模型中間部分參數(shù)量的同時(shí),可將剩余的顯存空間用來(lái)拓寬模型的深度,進(jìn)而獲得更深層的語(yǔ)義信息。不同于其他網(wǎng)絡(luò)模型,本文模型使用沙漏形狀的網(wǎng)絡(luò)作為骨干網(wǎng)絡(luò),且不使用不同尺寸的特征圖對(duì)不同大小的物體進(jìn)行檢測(cè),省略了不同特征圖制作訓(xùn)練標(biāo)簽時(shí)的信息判斷過(guò)程。同時(shí),模型構(gòu)造時(shí)預(yù)測(cè)頭的各個(gè)特征圖之間的信息傳遞模塊也將無(wú)需保留,最終模型只保留預(yù)測(cè)模塊的3 個(gè)向量輸出,從而節(jié)省了大量計(jì)算資源。
沙漏網(wǎng)絡(luò)的內(nèi)部結(jié)構(gòu)如圖4 所示。多個(gè)沙漏模塊可以級(jí)聯(lián)且方便擴(kuò)展,從理論上可以無(wú)限制疊加,在本文提出的模型中,使用了2 個(gè)沙漏網(wǎng)絡(luò)串聯(lián)。沙漏模塊先通過(guò)最大池化層以及一系列的卷積對(duì)輸入特征進(jìn)行下采樣,再通過(guò)反卷積等一系列操作將特征圖進(jìn)行上采樣直至恢復(fù)到原始分辨率。由于信息在最大池化層會(huì)存在一定的丟失,因此在沙漏網(wǎng)絡(luò)中通過(guò)引入跳躍連接來(lái)彌補(bǔ)上采樣模塊中特征圖損失的部分信息。該結(jié)構(gòu)下的沙漏網(wǎng)絡(luò)可采用一個(gè)整合歸一的結(jié)構(gòu)同時(shí)捕獲特征圖的全局信息與局部信息。
圖4 沙漏網(wǎng)絡(luò)的內(nèi)部結(jié)構(gòu)Fig.4 Internal structure of hourglass network
模型先通過(guò)2 個(gè)步長(zhǎng)為2 的模塊將特征分辨率降為原圖的1/4,再將輸出的特征圖作為沙漏網(wǎng)絡(luò)的輸入。在如圖4 所示的沙漏網(wǎng)絡(luò)內(nèi)部結(jié)構(gòu)中,模型特征圖的分辨率減半6 次,并按照256、384、384、384和512 的順序改變其通道數(shù)。在達(dá)到最低分辨率時(shí),沙漏模型通過(guò)最近鄰上采樣來(lái)逐步恢復(fù)其特征圖邊長(zhǎng),每次上采樣前均會(huì)經(jīng)過(guò)2 個(gè)殘差網(wǎng)絡(luò)模塊,每個(gè)跳躍連接模塊同樣包括2 個(gè)殘差模塊,而擁有512 個(gè)通道數(shù)的特征圖構(gòu)成的沙漏網(wǎng)絡(luò)中間位置則包含4 個(gè)殘差網(wǎng)絡(luò)。
通過(guò)把傳統(tǒng)的骨干網(wǎng)絡(luò)常用結(jié)構(gòu)如Resnet[20]、Densenet[21]替換為沙漏網(wǎng)絡(luò),這樣可以在骨干網(wǎng)絡(luò)部分整合低階幾何(局部)信息與高階(全局)語(yǔ)義信息。FPN 的核心作用也是整合這兩類(lèi)特征的信息,但區(qū)別在于以下2 個(gè)方面:
1)通常圖像在每次下采樣后都會(huì)損失部分信息,在后期即使進(jìn)行特征融合也無(wú)法獲得早期已損失的特征信息,因此早期在各個(gè)特征圖之間加入信息傳遞模塊。這是因?yàn)樵诩尤胄畔鬟f模塊后,下采樣操作前的特征信息直接傳遞到模型后半部分,可有效保留早期損失的特征信息。沙漏網(wǎng)絡(luò)在早中期特征提取階段通過(guò)跳躍連接的方式對(duì)各個(gè)特征圖之間的信息進(jìn)行傳遞,盡可能地減少早期信息的損失,而FPN 主要作用于后期特征提取階段,則早期階段會(huì)不可避免地?fù)p失部分信息。
2)FPN 輸出一組預(yù)測(cè)特征圖(通常數(shù)量為3),假設(shè)未使用FPN 的模型預(yù)測(cè)特征圖分辨率為7×7,則使用FPN 后分辨率變?yōu)?×7+14×14+28×28,極大地增加了制作標(biāo)簽特征圖的計(jì)算成本。然而,由于骨干網(wǎng)絡(luò)的特征圖本身不直接參與標(biāo)簽制作,因此在骨干網(wǎng)絡(luò)中進(jìn)行特征整合可省略FPN 中多階段的繁瑣標(biāo)簽匹配過(guò)程。
當(dāng)輸入圖像放大1 倍時(shí),預(yù)測(cè)特征圖的分辨率也僅為14×14,此時(shí)標(biāo)簽框制作的計(jì)算成本仍低于FPN 網(wǎng)絡(luò)。但研究表明,通過(guò)沙漏網(wǎng)絡(luò)對(duì)特征整合模塊前置加上放大輸入圖像分辨率的聯(lián)合操作,可獲得高于FPN 網(wǎng)絡(luò)的檢測(cè)效果,且使用沙漏網(wǎng)絡(luò)取代FPN 的作用,使得模型得以實(shí)現(xiàn)完全的全卷積單線程訓(xùn)練與檢測(cè)。
模型的訓(xùn)練過(guò)程如算法1 所示。
算法1網(wǎng)絡(luò)訓(xùn)練算法
圖像輸入至模型后通過(guò)2 次簡(jiǎn)單的卷積進(jìn)行下采樣操作,得到的特征圖進(jìn)入沙漏網(wǎng)絡(luò),并將經(jīng)過(guò)多次沙漏模塊提取后得到的特征圖輸入到預(yù)測(cè)頭模塊中,從而得到最終輸出結(jié)果。模型最終輸出層的每個(gè)空間位置預(yù)測(cè)一個(gè)80 維的分類(lèi)標(biāo)簽向量c、一個(gè)四維預(yù)測(cè)框向量p=(l,t,r,b)與一個(gè)一維中心偏離向量。與文獻(xiàn)[12]相同,模型沒(méi)有訓(xùn)練一個(gè)復(fù)合類(lèi)的分類(lèi)器,而是訓(xùn)練了80 個(gè)二維分類(lèi)器。在骨干模型得出的特征圖的2 個(gè)分支上分別添加4 個(gè)卷積層,因?yàn)榛貧w目標(biāo)的值為正值,模型使用了exp(x)將回歸分支的預(yù)測(cè)值x映射在(0,+∞)區(qū)間。損失函數(shù)如式(6)~式(9)所示:
其中,Lcls為focal loss,而Lreg為GIOU loss,Npos表示正例的數(shù)量,λ是用于平衡分類(lèi)與回歸損失的比重超參數(shù)。Loss 的總值由特征圖上所有坐標(biāo)位置的損失計(jì)算而得出。η表示一個(gè)指示參數(shù),若大于0 即對(duì)應(yīng)坐標(biāo)位置標(biāo)簽為正例,則η為1,否則為0。
模型的預(yù)測(cè)方式是輸入一張圖像,直接將其放入網(wǎng)絡(luò)并獲得最終特征圖中每個(gè)位置的分類(lèi)得分cx,y以及回歸得分px,y。與文獻(xiàn)[4]相同,參數(shù)選擇cx,y>0.05 的作為正例并通過(guò)式(1)~式(4)獲得對(duì)應(yīng)的預(yù)測(cè)框。
目標(biāo)檢測(cè)任務(wù)同語(yǔ)義分割任務(wù)類(lèi)似,在逐像素全卷積預(yù)測(cè)中通過(guò)清晰簡(jiǎn)單的全卷積方式進(jìn)行模型網(wǎng)絡(luò)構(gòu)建,并能獲得與當(dāng)前主流模型實(shí)現(xiàn)方式較為近似或更優(yōu)的結(jié)果。
本文選擇的實(shí)驗(yàn)數(shù)據(jù)集是基于大尺度目標(biāo)檢測(cè)基準(zhǔn)數(shù)據(jù)集COCO,且COCO2017 與COCO2014 數(shù)據(jù)集對(duì)比如表1 所示。
表1 COCO2017 與COCO2014 數(shù)據(jù)集對(duì)比Table 1 Comparison of COCO2017 dataset and COCO2014 dataset
與文獻(xiàn)[6,12,15]類(lèi)似,本文模型使用COCO2017數(shù)據(jù)集進(jìn)行訓(xùn)練與預(yù)測(cè),COCO2017 比COCO2014擁有更多的訓(xùn)練圖像且相應(yīng)地減少了驗(yàn)證集的大小。模型沒(méi)有對(duì)驗(yàn)證集進(jìn)行微調(diào),實(shí)驗(yàn)結(jié)果的預(yù)測(cè)性能基于驗(yàn)證集。
模型使用隨機(jī)梯度下降(Stochastic Gradient Descent,SGD)與動(dòng)量Momentum 優(yōu)化算法相結(jié)合,迭代2.7×105次,初始學(xué)習(xí)率為0.01,每批次有4 張圖像,在2 個(gè)GPU 中訓(xùn)練。學(xué)習(xí)率為1.8×105與2.4×105時(shí)衰減為原來(lái)的1/10。權(quán)重衰減率設(shè)為0.000 1,動(dòng)量Momentum 超參數(shù)設(shè)為0.9。模型使用Cornernet 的預(yù)訓(xùn)練權(quán)重初始化骨干模型。對(duì)于新增加的層,則參照文獻(xiàn)[4]進(jìn)行初始化,輸入圖像的尺寸統(tǒng)一縮放到896像素×896像素。
在檢測(cè)過(guò)程中,模型通過(guò)對(duì)圖像特征進(jìn)行提取,獲得每個(gè)坐標(biāo)位置的預(yù)測(cè)坐標(biāo)、預(yù)測(cè)類(lèi)別與中心偏離,再通過(guò)點(diǎn)乘預(yù)測(cè)類(lèi)別與中心偏離得到優(yōu)化后的預(yù)測(cè)類(lèi)別。接下來(lái)的后處理過(guò)程與文獻(xiàn)[4]中的后處理方式相同,預(yù)測(cè)模式下的圖像尺寸和訓(xùn)練模式的尺寸一致。
實(shí)驗(yàn)將本文模型與其他經(jīng)典模型的平均精度(Average Precision,AP)和平均召回率(Average Recall,AR)進(jìn)行對(duì)比,結(jié)果如圖5~圖7 所示。在圖5 和圖6 中AP50 表示當(dāng)檢測(cè)框與標(biāo)簽框的交并比大于50%時(shí)預(yù)測(cè)正確,AP75表示當(dāng)檢測(cè)框與標(biāo)簽框的交并比大于75%時(shí)預(yù)測(cè)正確,APs、APm、APl分別表示模型預(yù)測(cè)小型、中型與大型目標(biāo)的AP。在圖7中,AR50、AR75以及ARs、ARm、ARl代表的含義與AP 同理。
圖5 單階段檢測(cè)模型的AP 對(duì)比Fig.5 AP comparison of one-stage detection models
圖6 雙階段檢測(cè)模型的AP 對(duì)比Fig.6 AP comparison of two-stage detection models
圖7 9 種模型的AR 對(duì)比Fig.7 AR comparison of nine models
從圖5、圖6 可以看出,與基于錨點(diǎn)的經(jīng)典單階段檢測(cè)模型(YOLOv2 與DSSD513)以及無(wú)錨點(diǎn)的新型單階段檢測(cè)模型(Cornernet 與FCOS)相比,本文模型的平均精度更優(yōu)。雖然基于錨點(diǎn)的雙階段檢測(cè)模型擁有比單階段模型更復(fù)雜的結(jié)構(gòu)與訓(xùn)練方式,但其精度水平與單階段模型精度相當(dāng)。在目標(biāo)類(lèi)別上,模型對(duì)大型目標(biāo)的檢測(cè)效率最優(yōu),其次是中型目標(biāo),而對(duì)小型目標(biāo)的檢測(cè)效果最差。
從圖7 可以看出,單線程模型并未因?yàn)橐瞥鼺PN而導(dǎo)致召回率明顯下降,且其具有與FPN 模型相差不大的召回率,由此可見(jiàn)骨干網(wǎng)絡(luò)的單線程構(gòu)造可在一定程度上替代FPN 的功能。而在目標(biāo)類(lèi)別上,本文模型對(duì)小型物體的召回率相比其他模型好,這主要是因?yàn)橥ㄟ^(guò)正例區(qū)域原則增加了小型物體的預(yù)測(cè)損失在損失函數(shù)中的比重。若要繼續(xù)提高小型物體的召回率,則需進(jìn)一步對(duì)正例區(qū)域中手工選擇的閾值超參數(shù)進(jìn)行對(duì)比分析,以選擇最優(yōu)閾值。同時(shí),還可以通過(guò)選取更多的閾值對(duì)取值區(qū)間進(jìn)行細(xì)化,改進(jìn)每個(gè)取值范圍內(nèi)標(biāo)簽框?qū)捀吲c正例區(qū)域的寬高之間的映射關(guān)系。通過(guò)引入超參數(shù)軟設(shè)置思想,對(duì)標(biāo)簽框?qū)捀吲c正例區(qū)域的寬高構(gòu)造連續(xù)函數(shù),而不是簡(jiǎn)單地使用根據(jù)閾值分段的一次函數(shù)。
2.3.1 正例區(qū)域原則與中心偏離的效果
本文提出的無(wú)錨點(diǎn)檢測(cè)模型使用正例區(qū)域原則與中心偏離技巧可以有效提高最終檢測(cè)精度,正例區(qū)域平衡不同大小檢測(cè)目標(biāo)的對(duì)應(yīng)坐標(biāo)點(diǎn)的個(gè)數(shù),并優(yōu)化坐標(biāo)點(diǎn)落點(diǎn)的分布。中心偏離賦給低質(zhì)量的遠(yuǎn)離目標(biāo)中心檢測(cè)框較低的置信度,降低錯(cuò)誤可能性較高的預(yù)測(cè)檢測(cè)框通過(guò)非極大值抑制的幾率。如表2 所示,正例區(qū)域原則與中心分離分支可以提高模型檢測(cè)精度近4 個(gè)百分點(diǎn),這說(shuō)明正例區(qū)域原則與中心偏離支路可使得模型的精度超過(guò)了經(jīng)典的基于錨點(diǎn)的模型Retinanet。
表2 正例區(qū)域原則與中心偏離對(duì)本文模型平均精度的影響Table 2 Effect of the principle of positive region and center deviation on the AP of the proposed model %
2.3.2 單線程效果
本文提出的沙漏型單線程網(wǎng)絡(luò)結(jié)構(gòu)具有與Resnet+FPN 結(jié)構(gòu)模型相當(dāng)?shù)恼Z(yǔ)義特征表征能力,且可節(jié)省大量的內(nèi)存空間。節(jié)省的空間可以提高初始輸入圖像與最終用于檢測(cè)特征圖的分辨率,并進(jìn)一步提升模型的特征提取與表征能力,從而保證了模型能夠維持小型物體的預(yù)測(cè)精度。從表3 可以看出,沙漏網(wǎng)絡(luò)+2 倍分辨率模型結(jié)構(gòu)的檢測(cè)精度高于Retinanet,而Retinanet 使用2 倍分辨率的特征圖則會(huì)出現(xiàn)內(nèi)存溢出問(wèn)題。
表3 單線程網(wǎng)絡(luò)對(duì)不同模型平均精度的影響Table 3 Effect of single-threaded network on the AP of the different models %
2.3.3 標(biāo)簽比例結(jié)果分析
在去除FPN 模塊后,模型訓(xùn)練時(shí)的正負(fù)例比例得到平衡,模型正例標(biāo)簽在總標(biāo)簽個(gè)數(shù)占比如表4 所示。
表4 模型正例標(biāo)簽在總標(biāo)簽個(gè)數(shù)占比Table 4 Proportion of model positive example labels in total labels %
實(shí)驗(yàn)對(duì)本文模型與同樣采用無(wú)錨點(diǎn)的FCOS 模型進(jìn)行對(duì)比,其檢測(cè)正例標(biāo)簽占總標(biāo)簽個(gè)數(shù)的比值遠(yuǎn)高于FCOS。正負(fù)例樣本個(gè)數(shù)的不平衡會(huì)造成模型訓(xùn)練效率的降低,最終導(dǎo)致模型表現(xiàn)性能下降。雖然有方法可以減少這種比例不平衡造成的損失,比如設(shè)置正負(fù)比例標(biāo)簽輸入模型的比例、增加正例標(biāo)簽對(duì)損失函數(shù)的影響權(quán)重等,但這些方法本身會(huì)引入大量的超參數(shù)和額外的計(jì)算量。而通過(guò)單線程的方法可降低模型本身標(biāo)簽的不平衡性,達(dá)到增加正例標(biāo)簽占比的效果。
2.3.4 推理速度對(duì)比
在模型推理速度方面,實(shí)驗(yàn)對(duì)本文模型與其他經(jīng)典模型進(jìn)行對(duì)比,結(jié)果如表5 所示。
表5 4 種模型的推理速度對(duì)比Table 5 Comparison of reasoning speed of four models ms
本文模型兼具較少計(jì)算量與較低模型復(fù)雜度的優(yōu)勢(shì),使得預(yù)測(cè)圖像的推理速度得到了提升。通過(guò)在1.1 節(jié)與1.2 節(jié)中對(duì)模型進(jìn)行改進(jìn)與精簡(jiǎn),本文所提模型對(duì)每張圖像的推理時(shí)間為149 ms,這主要是因?yàn)椋?)模型沒(méi)有采取現(xiàn)有常見(jiàn)的多階段預(yù)測(cè)模塊特征金字塔網(wǎng)絡(luò)FPN,這種預(yù)測(cè)模式類(lèi)似于雙階段檢測(cè)模式,不符合人類(lèi)視覺(jué)認(rèn)知的方式,同時(shí)模塊會(huì)增加計(jì)算量與權(quán)重參數(shù);2)模型沒(méi)有采取錨點(diǎn)可減少大量錨點(diǎn)的相關(guān)計(jì)算量。由此可見(jiàn),本文模型的復(fù)雜度與推理計(jì)算量遠(yuǎn)低于傳統(tǒng)基于錨點(diǎn)的FPN 預(yù)測(cè)頭模型。
正例區(qū)域原則、中心偏離支路以及單線程構(gòu)造網(wǎng)絡(luò)使得本文模型的性能高于傳統(tǒng)帶有錨點(diǎn)超參數(shù)的單階段檢測(cè)模型,且模型復(fù)雜度遠(yuǎn)低于傳統(tǒng)模型。雖然本文模型的預(yù)測(cè)精度為單模型單尺度測(cè)試,而部分對(duì)比模型的精度結(jié)果為多模型多尺度,但是該模型的總體預(yù)測(cè)結(jié)果仍?xún)?yōu)于對(duì)比模型。
本文提出一種基于單線程的無(wú)錨點(diǎn)模型,通過(guò)正例區(qū)域原則優(yōu)化無(wú)錨點(diǎn)網(wǎng)絡(luò)的標(biāo)簽特征圖構(gòu)造方式,加入中心偏離支路優(yōu)化模型訓(xùn)練時(shí)權(quán)重的更新效率以及檢測(cè)推理效果,并將骨干網(wǎng)絡(luò)改造為單線程構(gòu)造以減少模型的內(nèi)存需求。實(shí)驗(yàn)結(jié)果表明,該模型可顯著提高預(yù)測(cè)精度并加快推理速度。下一步將通過(guò)加入壓縮激勵(lì)模塊和中間監(jiān)督模塊,解決特征提取效率較低的問(wèn)題,進(jìn)一步提高本文模型的預(yù)測(cè)能力。