文 韜,周稻祥,李 明
(太原理工大學(xué)大數(shù)據(jù)學(xué)院,山西晉中 030600)
深度學(xué)習(xí)能夠?qū)崿F(xiàn)數(shù)據(jù)的分級特征表達(dá)且具有強(qiáng)大的視覺信息處理能力,而特征信息質(zhì)量直接影響深度學(xué)習(xí)框架的判別精度,且現(xiàn)有判別模型多數(shù)采用頂層抽象特征或相鄰層特征組合進(jìn)行識(shí)別判斷。由于關(guān)注局部信息而忽略全局信息的特征不平衡問題造成特征信息利用率較低,因此對全局均衡特征問題進(jìn)行深入研究是機(jī)器視覺領(lǐng)域中的熱點(diǎn)與難點(diǎn)。
目前,特征提取框架主要有單階段與兩階段檢測方法。其中,單階段檢測方法以基于深度學(xué)習(xí)的回歸算法為主,僅需運(yùn)行一次檢測網(wǎng)絡(luò),速度較快但精度較低。文獻(xiàn)[1]提出單發(fā)多盒探測器(Single Shot multi-box Detector,SSD)算法,該算法僅需單次運(yùn)行卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)[2]即可得到結(jié)果,但存在識(shí)別準(zhǔn)確率不高的問題。針對以上問題,文獻(xiàn)[3-5]提出YOLO 系列算法,通過引入批量歸一化(Batch Normalization,BN)[6]進(jìn)一步提高網(wǎng)絡(luò)識(shí)別速度與準(zhǔn)確率。兩階段檢測方法提取候選區(qū)域并對其相應(yīng)區(qū)域進(jìn)行分類。從整體上來看,兩階段檢測算法的識(shí)別精度較高,但識(shí)別速度比單階段檢測方法低。文獻(xiàn)[7]提出區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(Regional-CNN,R-CNN),并利用選擇搜索算法產(chǎn)生大量候選區(qū)域,進(jìn)而對候選區(qū)域進(jìn)行檢測分類,但該算法的時(shí)間開銷大,導(dǎo)致R-CNN 檢測速度較慢。Fast R-CNN[8]通過權(quán)重共享方式實(shí)現(xiàn)網(wǎng)絡(luò)的端到端訓(xùn)練,有效縮短網(wǎng)絡(luò)時(shí)間開銷,但是選擇搜索算法的時(shí)間開銷較大問題仍未解決。因此,F(xiàn)aster RCNN[9]使用區(qū)域建議網(wǎng)絡(luò)替代選擇搜索算法,有效減少產(chǎn)生候選區(qū)域的時(shí)間開銷。Mask R-CNN[10]在Faster R-CNN 的基礎(chǔ)上增加一個(gè)語義分割支路,實(shí)現(xiàn)多任務(wù)的訓(xùn)練與檢測。
上述研究為現(xiàn)有平衡信息流中的特征不平衡問題提供了解決方案,但其均是基于局部或相鄰特征層,并未考慮全局特征信息。因此,本文提出一種全局特征金字塔網(wǎng)絡(luò)(Global Feature Pyramid Network,GFPN),該網(wǎng)絡(luò)在不增加超參數(shù)的情況下,通過將不同層語義信息與各自特征相結(jié)合,從而形成包含各層語義信息的特征網(wǎng)絡(luò),以提高網(wǎng)絡(luò)檢測精度。
Mask R-CNN 框架如圖1 所示,它是基于Faster R-CNN 框架增加一個(gè)與目標(biāo)檢測與回歸并行的語義分割分支。前2 個(gè)分支沿用Faster R-CNN 方法,語義分割分支采用全卷積網(wǎng)絡(luò)(Full Convolutional Network,F(xiàn)CN)[17]架構(gòu)思想對感興趣區(qū)域進(jìn)行逐像素預(yù)測,該網(wǎng)絡(luò)實(shí)現(xiàn)了單模型多任務(wù)的處理方式。
圖1 Mask R-CNN 框架Fig.1 Mask R-CNN framework
在主干網(wǎng)絡(luò)的特征提取器方面,Mask R-CNN 使用FPN+ResNet101 對特征進(jìn)行提取,將提取的特征圖輸入?yún)^(qū)域建議網(wǎng)絡(luò)中并產(chǎn)生不同尺度的錨點(diǎn)框,進(jìn)而生成特征映射圖。Mask R-CNN 應(yīng)用改進(jìn)的ROI Align 替代原來的ROI Pooling,有效緩解目標(biāo)物體的邊緣呈鋸齒狀。
Faster R-CNN 提出區(qū)域建議網(wǎng)絡(luò),用于尋找可能包含目標(biāo)物體的預(yù)定義數(shù)量的區(qū)域,根據(jù)預(yù)先設(shè)定的不同比例、尺度的錨點(diǎn)產(chǎn)生不同候選框,并尋找最接近真實(shí)框的候選框。區(qū)域建議網(wǎng)絡(luò)的產(chǎn)生使得生成候選區(qū)域的時(shí)間大幅縮短,降低由于產(chǎn)生候選區(qū)域而浪費(fèi)的計(jì)算資源,使得網(wǎng)絡(luò)可進(jìn)一步接近實(shí)時(shí)檢測。
ROI Align 的主要思想是取消量化,用雙線性插值方法獲取最終坐標(biāo),坐標(biāo)采用浮點(diǎn)數(shù)值,將整個(gè)提取特征的過程簡化為一個(gè)連續(xù)操作,解決量化過程中因量化計(jì)算而形成候選區(qū)域在原圖實(shí)際偏差中較大的問題。
掩碼表示是在Mask R-CNN 中增添一個(gè)用于實(shí)例分割的分支,并對每一個(gè)目標(biāo)物體的不同個(gè)例建立一個(gè)m×m大小的二進(jìn)制掩膜區(qū)分前后景,在分支中采用FCN 進(jìn)行分割。與原始FCN 不同,該FCN 不進(jìn)行分類,僅區(qū)分前后景,分類由另外一個(gè)分支來完成,每個(gè)分支任務(wù)不同,從而達(dá)到多任務(wù)效果,這也是網(wǎng)絡(luò)集成程度較高的一種表現(xiàn)。
Mask R-CNN 使用的多任務(wù)損失函數(shù)如式(1)所示,該函數(shù)由分類損失函數(shù)、邊界框損失函數(shù)與掩碼損失函數(shù)3 個(gè)部分構(gòu)成。
其中,Ncls表示分類類別的個(gè)數(shù),Lcls表示分類損失函數(shù),且其計(jì)算方法如式(2)所示:
1.2.4 劃痕實(shí)驗(yàn) OVCAR-8細(xì)胞以每孔2×105細(xì)胞接種于六孔板,待細(xì)胞長至完全融合后采用無菌200 μL槍頭在中央劃痕,PBS沖洗后采用倒置顯微鏡拍照;更換培養(yǎng)基后用11 μmol/L紫云英苷處理24 h,再次使用顯微鏡拍照,以0 μmol/為對照,以劃痕寬度變化反應(yīng)細(xì)胞遷移能力。
其中,pi表示物體被識(shí)別為目標(biāo)的置信度是一個(gè)0、1 函數(shù),當(dāng)物體為正例時(shí)為1,否則為0,即只有當(dāng)?shù)趇個(gè)框內(nèi)物體為正例時(shí),該錨點(diǎn)才對損失函數(shù)有貢獻(xiàn)。
邊界框回歸損失函數(shù)如式(3)所示。除上述兩類損失函數(shù)外,Mask R-CNN 中掩碼分支使用的是平均二值交叉熵?fù)p失函數(shù),具體如式(4)所示。
其中,mi表示物體被預(yù)測為目標(biāo)的置信度表示第i個(gè)掩膜層中逐像素經(jīng)過Sigmoid 函數(shù)后的輸出,這樣避免了類間競爭,將分類任務(wù)交給分類函數(shù),mask 層只區(qū)分掩膜中的特定小類。
主干網(wǎng)絡(luò)中的高層次特征具有更強(qiáng)的語義信息,淺層次特征具有更多的內(nèi)容描述。近年來,在FPN 和PANet 中通過橫向連接進(jìn)行特征集合,進(jìn)而促進(jìn)目標(biāo)檢測的發(fā)展。受上述方法的啟發(fā),低層次和高層次信息在目標(biāo)檢測方面是互補(bǔ)的。研究表明,不同分辨率的綜合特征具有均衡信息,但上述方法中的連接方式更多關(guān)注相鄰的分辨率層,較少關(guān)注其他層級,使得部分特征信息在特征融合過程中存在丟失。
利用多層特征生成判別金字塔對檢測至關(guān)重要。FPN 中通過自上而下的橫向連接方式豐富淺層語義信息,且其僅利用鄰域特征層信息,因此存在局限性。PANet 通過引入一個(gè)自下而上的路徑來進(jìn)一步增強(qiáng)低分辨率特征層的內(nèi)容描述信息,它建立的額外路徑雖然將底層內(nèi)容描述與高層語義信息相融合,但是從總體特征層融合來看,仍未達(dá)到全局信息融合效果。不同于其他方法,ThunderNet 采用對應(yīng)像素位疊加方式將后三層特征層相融合,該方法會(huì)引起以下2 個(gè)問題:1)底層具有紋理形態(tài)、對小物體敏感的內(nèi)容描述未被利用;2)對應(yīng)像素位疊加將會(huì)造成特征層厚度與計(jì)算量增大,且由于數(shù)值分布方差的增大造成模型效果較差。
綜合上述方法,本文提出了GFPN,其網(wǎng)絡(luò)框架如圖2 所示。GFPN 通過依賴全局融合的語義特征來增強(qiáng)原始特征。金字塔中的每一個(gè)特征層都能從其他層中獲得相同的信息,從而平衡信息流,使得特征更具辨別力。
圖2 GFPN 框架Fig.2 GFPN framework
與以往使用橫向連接集成多級特征的方法不同,本文方法主要使用相同的深度集成融合語義特征來增強(qiáng)多分辨率特征,包含調(diào)整尺寸與融合2 個(gè)步驟。
在獲取不同階段的特征層時(shí),階段為i的特征層表示為Ci,在圖像中,C2的分辨率最高,為了集成多級特性并同時(shí)保持其語義信息,本文將多級特征{C2,C3,C5}調(diào)整為同一分辨率(與C4相同,4 分辨率定義為M4×M4)對特征層進(jìn)行重新排序,且按通道連接處理后,特征圖輸入后續(xù)的融合模塊。融合模塊如圖3 所示,其由一個(gè)1×1×N卷積層與一個(gè)3×3×N的卷積層串行連接而成,目的在于對全局特征圖進(jìn)行融合,輸出包含全局特征的特征圖。Feature map大小為M4×M4×4N,其中,N為FPN 各個(gè)階段輸出的特征圖的數(shù)量。1×1 卷積核的主要作用是將不同層信息融為一體,且對輸入通道數(shù)進(jìn)行降維(由輸入的4N降為N)。此時(shí),經(jīng)過1×1 卷積過后的特征圖變?yōu)镸4×M4×N,之后連接的3×3×N的卷積核是為了消除由于上下采樣、降維以及融合特征造成的特征混淆效應(yīng),使得鄰域信息存在區(qū)別化,并保留細(xì)節(jié)信息,但不會(huì)改變特征圖的層數(shù),融合模塊特征圖輸出仍為M4×M4×N。
圖3 融合模塊Fig.3 Fusion module
借鑒ResNet 中Skip Connection 思想,本文將經(jīng)過融合模塊處理后的特征圖采用相同的反向過程對獲得的特征進(jìn)行重新標(biāo)度,以增強(qiáng)原始特征,該過程中的每個(gè)原始特征圖都將獲得全局語義信息。
實(shí)驗(yàn)采用公開的COCO[18]數(shù)據(jù)集進(jìn)行訓(xùn)練和預(yù)測,并采用相應(yīng)的評價(jià)標(biāo)準(zhǔn)來衡量模型效果,評價(jià)標(biāo)準(zhǔn)包含AP(從0.5~0.95 步長為0.05 IoU 閾值下的平均值)、AP50和AP75(代表IoU 閾值為0.5 與0.75 下的AP 指標(biāo))。APS、APM、APL分別代表?。娣e<322)、中(322<面積<962)、大(面積>962)3 種面積(面積是分割掩碼中的像素?cái)?shù)量)測量下的平均準(zhǔn)確率值。Precision 與mAP 的計(jì)算公式為:
其中,TP 表示將正例分對的樣例,F(xiàn)P 表示將正例分錯(cuò)的樣例,N表示所有樣本個(gè)數(shù)。
本文顯卡采用Tesla P100 16 GB,使用Nvidia 圖像處理驅(qū)動(dòng)CUDA9.0 以及CUDNN 7.0.0 優(yōu)化神經(jīng)網(wǎng)絡(luò)計(jì)算,使用的深度學(xué)習(xí)框架為Pytorch 1.1,運(yùn)行環(huán)境為Python3.6,模型采用ImageNet[19]預(yù)訓(xùn)練權(quán)重模型。采用自適應(yīng)梯度下降法調(diào)整學(xué)習(xí)率,且初始學(xué)習(xí)率設(shè)置為0.01。針對訓(xùn)練集設(shè)計(jì)40 000 epoch 在4 塊GPU 上完成訓(xùn)練。模型訓(xùn)練損失函數(shù)如圖4 所示。從圖4 可以看出,算法在迭代30 000 次后開始收斂。
圖4 訓(xùn)練損失函數(shù)圖Fig.4 Graph of training loss function
為驗(yàn)證GFPN 對相同主體網(wǎng)絡(luò)框架的提升效果,本文對基于GFPN 的Mask R-CNN 與其他主流檢測網(wǎng)絡(luò)進(jìn)行對比,結(jié)果如表1 與圖5 所示。從表1可以看出:相較于其他主流檢測網(wǎng)絡(luò),融合全局特征層后的GFPN 在檢測準(zhǔn)確率方面有顯著提升;與單階段框架(SSD512,RetinaNet)相比,采用GFPN的Mask R-CNN 在AP 數(shù)值上提升了3~10 個(gè)百分點(diǎn),在大、中、小3 種面積AP 指標(biāo)上分別有3~8 個(gè)百分點(diǎn)、5~13 個(gè)百分點(diǎn)、4~15 個(gè)百分點(diǎn)的提升,尤其在小面積上的提升幅度較大;與雙階段(Libra R-CNN,F(xiàn)aster R-CNN w FPN)相比,采用GFPN 的Mask RCNN 在AP 數(shù)值上提升了2~6 個(gè)百分點(diǎn),在大、中、小3 種面積上AP 指標(biāo)分別有7~10 個(gè)百分點(diǎn)、4~8 個(gè)百分點(diǎn)、3~7 個(gè)百分點(diǎn)的提升;通過上述數(shù)值分析可得出,GFPN 可有效提升Mask R-CNN 的識(shí)別精度,且在不同方法框架對比下有明顯優(yōu)勢。研究表明,在目標(biāo)檢測算法中,特征層不平衡現(xiàn)象對檢測精度的影響是顯著的,而全局特征融合實(shí)驗(yàn)結(jié)論也從實(shí)驗(yàn)角度驗(yàn)證了全局特征融合這一理論的可行性。
表1 本文網(wǎng)絡(luò)與其他主流檢測網(wǎng)絡(luò)的識(shí)別精度對比Table 1 Comparison of recognition accuracy between the proposed network and other mainstream detection networks %
圖5 5 種網(wǎng)絡(luò)的實(shí)驗(yàn)效果對比Fig.5 Comparison of the experimental effect of five networks
實(shí)驗(yàn)在保證檢測框架相同情況下,驗(yàn)證GFPN對模型識(shí)別精度的影響。本文選定檢測框架為Mask R-CNN,采用不同規(guī)模的特征提取器進(jìn)行實(shí)驗(yàn),結(jié)果如表2 所示。從表2 可以看出,針對ResNet-101 而言,相比FPN,GFPN 在APS、APM、APL、總體AP上分別提高了4.9、6.2、8.0、3.9 個(gè)百分點(diǎn),這說明GFPN 可有效提升網(wǎng)絡(luò)識(shí)別精度,通過控制變量可顯著提高GFPN 對網(wǎng)絡(luò)的識(shí)別效果。
表2 不同特征提取器的識(shí)別精度對比Table 2 Comparison of recognition accuracy of different feature extractors%
實(shí)驗(yàn)本文網(wǎng)絡(luò)與其他主流檢測網(wǎng)絡(luò)在COCO 測試集的檢測時(shí)間進(jìn)行對比,結(jié)果如表3 所示。從表3 可以看出:與FPN 相比,GFPN 在未引入超參數(shù)的情況下增添了融合模塊與浮點(diǎn)計(jì)算量;與Mask R-CNN ResNet-101-FPN 相比,ResNet-101-GFPN 的檢測時(shí)間增加0.112 s;與Mask R-CNN ResNet-50-FPN 相比,ResNet-50-GFPN 的檢測時(shí)間增加0.08 s。因此,從總體上來看,本文在未增加超參數(shù)的情況下,通過引入GFPN 使得網(wǎng)絡(luò)仍能達(dá)到實(shí)時(shí)檢測的效果。
表3 本文網(wǎng)絡(luò)與其他主流檢測網(wǎng)絡(luò)的時(shí)間對比Table 3 Comparison of time between the proposed network and other mainstream detection networks
本文針對特征不平衡問題,提出基于全局特征融合的GFPN,采用調(diào)整尺寸與融合2 個(gè)模塊處理FPN 框架中不同分辨率特征層的特征,從而得到全局特征融合信息,以增強(qiáng)原始特征。實(shí)驗(yàn)結(jié)果表明,GFPN 可有效提升目標(biāo)檢測網(wǎng)絡(luò)的識(shí)別效率,且在未引入超參數(shù)的情況下,不僅可有效改善識(shí)別精度,而且檢測速度接近FPN。下一步將在不改變模型結(jié)構(gòu)及不引入其他超參數(shù)的情況下,采用深度可分離卷積對Mask R-CNN+GFPN 進(jìn)行輕量化處理,以進(jìn)一步提高檢測速度。