文 韜,周稻祥,李 明
(太原理工大學大數據學院,山西晉中 030600)
深度學習能夠實現數據的分級特征表達且具有強大的視覺信息處理能力,而特征信息質量直接影響深度學習框架的判別精度,且現有判別模型多數采用頂層抽象特征或相鄰層特征組合進行識別判斷。由于關注局部信息而忽略全局信息的特征不平衡問題造成特征信息利用率較低,因此對全局均衡特征問題進行深入研究是機器視覺領域中的熱點與難點。
目前,特征提取框架主要有單階段與兩階段檢測方法。其中,單階段檢測方法以基于深度學習的回歸算法為主,僅需運行一次檢測網絡,速度較快但精度較低。文獻[1]提出單發多盒探測器(Single Shot multi-box Detector,SSD)算法,該算法僅需單次運行卷積神經網絡(Convolutional Neural Network,CNN)[2]即可得到結果,但存在識別準確率不高的問題。針對以上問題,文獻[3-5]提出YOLO 系列算法,通過引入批量歸一化(Batch Normalization,BN)[6]進一步提高網絡識別速度與準確率。兩階段檢測方法提取候選區域并對其相應區域進行分類。從整體上來看,兩階段檢測算法的識別精度較高,但識別速度比單階段檢測方法低。文獻[7]提出區域卷積神經網絡(Regional-CNN,R-CNN),并利用選擇搜索算法產生大量候選區域,進而對候選區域進行檢測分類,但該算法的時間開銷大,導致R-CNN 檢測速度較慢。Fast R-CNN[8]通過權重共享方式實現網絡的端到端訓練,有效縮短網絡時間開銷,但是選擇搜索算法的時間開銷較大問題仍未解決。因此,Faster RCNN[9]使用區域建議網絡替代選擇搜索算法,有效減少產生候選區域的時間開銷。Mask R-CNN[10]在Faster R-CNN 的基礎上增加一個語義分割支路,實現多任務的訓練與檢測。
上述研究為現有平衡信息流中的特征不平衡問題提供了解決方案,但其均是基于局部或相鄰特征層,并未考慮全局特征信息。因此,本文提出一種全局特征金字塔網絡(Global Feature Pyramid Network,GFPN),該網絡在不增加超參數的情況下,通過將不同層語義信息與各自特征相結合,從而形成包含各層語義信息的特征網絡,以提高網絡檢測精度。
Mask R-CNN 框架如圖1 所示,它是基于Faster R-CNN 框架增加一個與目標檢測與回歸并行的語義分割分支。前2 個分支沿用Faster R-CNN 方法,語義分割分支采用全卷積網絡(Full Convolutional Network,FCN)[17]架構思想對感興趣區域進行逐像素預測,該網絡實現了單模型多任務的處理方式。

圖1 Mask R-CNN 框架Fig.1 Mask R-CNN framework
在主干網絡的特征提取器方面,Mask R-CNN 使用FPN+ResNet101 對特征進行提取,將提取的特征圖輸入區域建議網絡中并產生不同尺度的錨點框,進而生成特征映射圖。Mask R-CNN 應用改進的ROI Align 替代原來的ROI Pooling,有效緩解目標物體的邊緣呈鋸齒狀。
Faster R-CNN 提出區域建議網絡,用于尋找可能包含目標物體的預定義數量的區域,根據預先設定的不同比例、尺度的錨點產生不同候選框,并尋找最接近真實框的候選框。區域建議網絡的產生使得生成候選區域的時間大幅縮短,降低由于產生候選區域而浪費的計算資源,使得網絡可進一步接近實時檢測。
ROI Align 的主要思想是取消量化,用雙線性插值方法獲取最終坐標,坐標采用浮點數值,將整個提取特征的過程簡化為一個連續操作,解決量化過程中因量化計算而形成候選區域在原圖實際偏差中較大的問題。
掩碼表示是在Mask R-CNN 中增添一個用于實例分割的分支,并對每一個目標物體的不同個例建立一個m×m大小的二進制掩膜區分前后景,在分支中采用FCN 進行分割。與原始FCN 不同,該FCN 不進行分類,僅區分前后景,分類由另外一個分支來完成,每個分支任務不同,從而達到多任務效果,這也是網絡集成程度較高的一種表現。
Mask R-CNN 使用的多任務損失函數如式(1)所示,該函數由分類損失函數、邊界框損失函數與掩碼損失函數3 個部分構成。

其中,Ncls表示分類類別的個數,Lcls表示分類損失函數,且其計算方法如式(2)所示:
1.2.4 劃痕實驗 OVCAR-8細胞以每孔2×105細胞接種于六孔板,待細胞長至完全融合后采用無菌200 μL槍頭在中央劃痕,PBS沖洗后采用倒置顯微鏡拍照;更換培養基后用11 μmol/L紫云英苷處理24 h,再次使用顯微鏡拍照,以0 μmol/為對照,以劃痕寬度變化反應細胞遷移能力。

其中,pi表示物體被識別為目標的置信度是一個0、1 函數,當物體為正例時為1,否則為0,即只有當第i個框內物體為正例時,該錨點才對損失函數有貢獻。
邊界框回歸損失函數如式(3)所示。除上述兩類損失函數外,Mask R-CNN 中掩碼分支使用的是平均二值交叉熵損失函數,具體如式(4)所示。

其中,mi表示物體被預測為目標的置信度表示第i個掩膜層中逐像素經過Sigmoid 函數后的輸出,這樣避免了類間競爭,將分類任務交給分類函數,mask 層只區分掩膜中的特定小類。
主干網絡中的高層次特征具有更強的語義信息,淺層次特征具有更多的內容描述。近年來,在FPN 和PANet 中通過橫向連接進行特征集合,進而促進目標檢測的發展。受上述方法的啟發,低層次和高層次信息在目標檢測方面是互補的。研究表明,不同分辨率的綜合特征具有均衡信息,但上述方法中的連接方式更多關注相鄰的分辨率層,較少關注其他層級,使得部分特征信息在特征融合過程中存在丟失。
利用多層特征生成判別金字塔對檢測至關重要。FPN 中通過自上而下的橫向連接方式豐富淺層語義信息,且其僅利用鄰域特征層信息,因此存在局限性。PANet 通過引入一個自下而上的路徑來進一步增強低分辨率特征層的內容描述信息,它建立的額外路徑雖然將底層內容描述與高層語義信息相融合,但是從總體特征層融合來看,仍未達到全局信息融合效果。不同于其他方法,ThunderNet 采用對應像素位疊加方式將后三層特征層相融合,該方法會引起以下2 個問題:1)底層具有紋理形態、對小物體敏感的內容描述未被利用;2)對應像素位疊加將會造成特征層厚度與計算量增大,且由于數值分布方差的增大造成模型效果較差。
綜合上述方法,本文提出了GFPN,其網絡框架如圖2 所示。GFPN 通過依賴全局融合的語義特征來增強原始特征。金字塔中的每一個特征層都能從其他層中獲得相同的信息,從而平衡信息流,使得特征更具辨別力。

圖2 GFPN 框架Fig.2 GFPN framework
與以往使用橫向連接集成多級特征的方法不同,本文方法主要使用相同的深度集成融合語義特征來增強多分辨率特征,包含調整尺寸與融合2 個步驟。
在獲取不同階段的特征層時,階段為i的特征層表示為Ci,在圖像中,C2的分辨率最高,為了集成多級特性并同時保持其語義信息,本文將多級特征{C2,C3,C5}調整為同一分辨率(與C4相同,4 分辨率定義為M4×M4)對特征層進行重新排序,且按通道連接處理后,特征圖輸入后續的融合模塊。融合模塊如圖3 所示,其由一個1×1×N卷積層與一個3×3×N的卷積層串行連接而成,目的在于對全局特征圖進行融合,輸出包含全局特征的特征圖。Feature map大小為M4×M4×4N,其中,N為FPN 各個階段輸出的特征圖的數量。1×1 卷積核的主要作用是將不同層信息融為一體,且對輸入通道數進行降維(由輸入的4N降為N)。此時,經過1×1 卷積過后的特征圖變為M4×M4×N,之后連接的3×3×N的卷積核是為了消除由于上下采樣、降維以及融合特征造成的特征混淆效應,使得鄰域信息存在區別化,并保留細節信息,但不會改變特征圖的層數,融合模塊特征圖輸出仍為M4×M4×N。

圖3 融合模塊Fig.3 Fusion module
借鑒ResNet 中Skip Connection 思想,本文將經過融合模塊處理后的特征圖采用相同的反向過程對獲得的特征進行重新標度,以增強原始特征,該過程中的每個原始特征圖都將獲得全局語義信息。
實驗采用公開的COCO[18]數據集進行訓練和預測,并采用相應的評價標準來衡量模型效果,評價標準包含AP(從0.5~0.95 步長為0.05 IoU 閾值下的平均值)、AP50和AP75(代表IoU 閾值為0.5 與0.75 下的AP 指標)。APS、APM、APL分別代表小(面積<322)、中(322<面積<962)、大(面積>962)3 種面積(面積是分割掩碼中的像素數量)測量下的平均準確率值。Precision 與mAP 的計算公式為:

其中,TP 表示將正例分對的樣例,FP 表示將正例分錯的樣例,N表示所有樣本個數。
本文顯卡采用Tesla P100 16 GB,使用Nvidia 圖像處理驅動CUDA9.0 以及CUDNN 7.0.0 優化神經網絡計算,使用的深度學習框架為Pytorch 1.1,運行環境為Python3.6,模型采用ImageNet[19]預訓練權重模型。采用自適應梯度下降法調整學習率,且初始學習率設置為0.01。針對訓練集設計40 000 epoch 在4 塊GPU 上完成訓練。模型訓練損失函數如圖4 所示。從圖4 可以看出,算法在迭代30 000 次后開始收斂。

圖4 訓練損失函數圖Fig.4 Graph of training loss function
為驗證GFPN 對相同主體網絡框架的提升效果,本文對基于GFPN 的Mask R-CNN 與其他主流檢測網絡進行對比,結果如表1 與圖5 所示。從表1可以看出:相較于其他主流檢測網絡,融合全局特征層后的GFPN 在檢測準確率方面有顯著提升;與單階段框架(SSD512,RetinaNet)相比,采用GFPN的Mask R-CNN 在AP 數值上提升了3~10 個百分點,在大、中、小3 種面積AP 指標上分別有3~8 個百分點、5~13 個百分點、4~15 個百分點的提升,尤其在小面積上的提升幅度較大;與雙階段(Libra R-CNN,Faster R-CNN w FPN)相比,采用GFPN 的Mask RCNN 在AP 數值上提升了2~6 個百分點,在大、中、小3 種面積上AP 指標分別有7~10 個百分點、4~8 個百分點、3~7 個百分點的提升;通過上述數值分析可得出,GFPN 可有效提升Mask R-CNN 的識別精度,且在不同方法框架對比下有明顯優勢。研究表明,在目標檢測算法中,特征層不平衡現象對檢測精度的影響是顯著的,而全局特征融合實驗結論也從實驗角度驗證了全局特征融合這一理論的可行性。

表1 本文網絡與其他主流檢測網絡的識別精度對比Table 1 Comparison of recognition accuracy between the proposed network and other mainstream detection networks %

圖5 5 種網絡的實驗效果對比Fig.5 Comparison of the experimental effect of five networks
實驗在保證檢測框架相同情況下,驗證GFPN對模型識別精度的影響。本文選定檢測框架為Mask R-CNN,采用不同規模的特征提取器進行實驗,結果如表2 所示。從表2 可以看出,針對ResNet-101 而言,相比FPN,GFPN 在APS、APM、APL、總體AP上分別提高了4.9、6.2、8.0、3.9 個百分點,這說明GFPN 可有效提升網絡識別精度,通過控制變量可顯著提高GFPN 對網絡的識別效果。

表2 不同特征提取器的識別精度對比Table 2 Comparison of recognition accuracy of different feature extractors%
實驗本文網絡與其他主流檢測網絡在COCO 測試集的檢測時間進行對比,結果如表3 所示。從表3 可以看出:與FPN 相比,GFPN 在未引入超參數的情況下增添了融合模塊與浮點計算量;與Mask R-CNN ResNet-101-FPN 相比,ResNet-101-GFPN 的檢測時間增加0.112 s;與Mask R-CNN ResNet-50-FPN 相比,ResNet-50-GFPN 的檢測時間增加0.08 s。因此,從總體上來看,本文在未增加超參數的情況下,通過引入GFPN 使得網絡仍能達到實時檢測的效果。

表3 本文網絡與其他主流檢測網絡的時間對比Table 3 Comparison of time between the proposed network and other mainstream detection networks
本文針對特征不平衡問題,提出基于全局特征融合的GFPN,采用調整尺寸與融合2 個模塊處理FPN 框架中不同分辨率特征層的特征,從而得到全局特征融合信息,以增強原始特征。實驗結果表明,GFPN 可有效提升目標檢測網絡的識別效率,且在未引入超參數的情況下,不僅可有效改善識別精度,而且檢測速度接近FPN。下一步將在不改變模型結構及不引入其他超參數的情況下,采用深度可分離卷積對Mask R-CNN+GFPN 進行輕量化處理,以進一步提高檢測速度。