徐博文, 盧奕南
(吉林大學 計算機科學與技術學院, 長春 130012)
隨著深度學習方法的快速發展, 計算機視覺任務中的實例分割方法也取得了較大進展. 實例分割在運輸、 醫學病變組織分割、 工業缺損分割等領域應用廣泛. 以目標檢測任務為例, 其目的是實現目標對象的準確定位和識別功能, 而使用檢測框表示對象的方法并不準確, 因為框內包含了大量背景信息, 同時無法獲得對象的準確邊界信息. 實例分割可逐像素地分離目標對象, 并根據目標對象的實例類別進行聚類, 從而更準確地分離場景中的目標對象.
基于實例分割技術的發展, 無人駕駛技術也得到極大改進, 并開始應用于交通領域. 通過匹配識別算法[1]或改進實例分割方法[2]可以為無人駕駛技術獲取更廣泛而精確的環境信息, 如車輛、 行人和駕駛工具周圍的障礙物等, 以實現更安全、 更可靠的導航和控制. 常見的目標檢測方法有YOLO[3]和Faster R-CNN[4]等, 其多數使用邊界框顯示或分割檢測結果, 但這種方法不能準確地表示目標在場景中的位置信息, 誤差較大.
傳統的實例分割方法有Mask R-CNN[5],Yolact[6]和PolarMask[7]等, 其多數先采用檢測方法區分不同的實例, 再利用語義分割方法在不同的實例區進行逐像素地標記劃分. 但這種方法在對高流量的車輛遮擋場景以及車輛遠景的問題處理上, 通常效果較差. 針對上述問題, 本文提出一種基于改進SOLO[8]模型的分割方法, 由于SOLO模型具有根據實例的位置和大小為實例中每個像素分配類別的特點, 從而可將實例分割轉化為一個單次分類問題. 但SOLO模型的設計機制會出現當兩個實例的中心都投影到同一個網格中時, 只能識別出一個實例而忽略了另一個實例的問題. 針對該問題本文對其進行改進, 利用注意力機制可幫助模型過濾特征信息, 并提高模型處理實例分割問題的能力, 通過設計聯合注意力模塊提高模型對區域內相應對象的關注能力, 同時也提高模型對多層次特征的表達能力, 從而進一步過濾掉冗余或不相關的干擾信息, 提升模型對多尺度實例的分割性能. 模塊采用串聯的方式融合通道注意力和空間注意力, 從而更好地選擇特征信息, 提高模型對細節信息的掌握能力. 同時, 注意力模塊采用殘差結構動態調整注意力模塊的復雜度, 以保證模型的高效性能. 通過在數據集Cityscapes上的實驗結果表明, 本文模塊結構可顯著提高模型的實例分割能力.
在語義分割中, 目前主流的方法是使用全卷積神經網絡(FCN)[9]輸出N個通道的密集預測. 每個輸出通道負責其中一個語義類別, 語義分割的目的是區分不同的語義類別. 而SOLO網絡[8]進一步引入了實例類別的概念, 以區分圖像中的物體實例, 即量化中心位置和物體尺寸, 使利用位置分割物體成為可能. 該網絡首先將輸入圖像劃分為S×S個網格, 得到S2個中心位置類別. 根據對象中心, 每個對象實例被分配到其中一個網格作為其中心位置的類別. 然后將中心位置的類別編碼到通道軸上, 類似于語義分割中的語義類別. 每個輸出通道是對每個中心位置類別的響應, 對應通道的特征圖可預測屬于該類別的實例掩碼. 因此, 結構化的幾何信息自然存儲在空間矩陣中. 實際上, 實例類別類似于實例的對象中心位置. 因此, 通過將每個像素歸入其實例類別, 即相當于使用回歸方法由每個像素預測對象中心. 將位置預測任務轉化為分類而不是回歸任務的原因是, 在使用分類時, 用固定數量的通道對多個實例進行建模更直接、 更容易, 且不需要依賴分組或學習嵌入向量等后續處理.
在每個特征金字塔網絡(FPN)特征層, 附加兩個子網絡, 一個用于類別預測, 一個用于掩碼分割. 在掩碼分支中, SOLO網絡連接了橫縱坐標和原始特征編碼空間信息. 這里數字表示空間分辨率和通道. 圖1為假設了256個通道的頭部結構, 其中箭頭表示卷積或插值, Align表示雙線性插值. 在推理過程中, 掩碼(mask)分支輸出進一步向上采樣到原始圖像大小.

圖1 頭部結構
為區分實例, SOLO模型采用了按位置分割對象的基本概念. 輸入圖像在概念上劃分為S×S個網格.如果一個對象的中心落入一個網格單元, 則網格單元負責處理該對象的mask.因此, 如圖2所示, 模型最后會輸出S2個mask. 而第k個通道負責在坐標(i,j)位置分割實例, 其中k=iS+j.

圖2 網絡結構示意圖
SOLO模型的訓練損失函數由分類損失與mask預測損失組成:
L=Lcate+λLmask,
(1)
其中Lcate是針對語義類別分類的傳統焦點損失(focal loss),Lmask是掩碼預測的損失:

(2)
掩碼預測損失中的i=k/S,j=k%S, 按從左到右和從上到下的順序索引網格單元格;Npos表示正樣本數量;p*和mask*分別表示類別目標和mask目標; sgn是階躍函數, 如果pi,j>0, 則其為1, 否則為0;dmask使用Dice損失, 定義為
LDice=1-D(p,q),
(3)
式中D是骰子系數, 定義為

(4)
這里px,y,qx,y為預測軟掩碼p和ground truth掩碼q中位于(x,y)處的像素值.
SOLO方法由于其快速、 高效、 精準的特點, 作為當前性能表現強大的實例分割方法, 已廣泛應用于自動駕駛、 增強現實、 醫學圖像分析和圖像視頻編輯等領域.
由于SOLO方法采用劃分網格的方式, 通過中心點采樣將各實例分配至各網格, 但在面對多個物體落在同一個網格的情形, 只簡單地通過特征金字塔網絡進行尺度分配. 因此, 為解決SOLO方法在面對多目標場景下目標重疊時處理效果較差的問題, 本文提出一種基于聯合注意力機制的分割方法.
輸入的圖像首先按SOLO方法的設計劃分為S×S個網格. 按照中心采樣的原則, 如果一個對象的中心落在一個網格單元格中, 則該網格負責對應于該對象的mask. 所以該網絡模型會輸出S2個mask, 第k個通道負責坐標(i,j)位置的分割實例, 整個網絡模型將掩碼分支分解為mask kernel分支和mask feature分支, 分別學習卷積核和卷積特征. 本文在特征金字塔后添加了本文設計的聯合注意力模塊, 相比SE(squeeze-and-excitation)注意力模塊[10], 增添了額外的并行操作以提升對融合處理后特征所包含的信息. 改進的SOLO模型框架如圖3所示.

圖3 改進的SOLO模型框架
Mask kernel分支用于學習卷積核, 即分類器的權重位于預測頭內, 與語義類別分支平行. 預測頭在FPN輸出的特征圖上預測. 頭部結構的2個分支均有4個卷積層提取特征, 最后一個卷積層做預測. 頭部的權重在不同的特征圖層級上共享. 通過在kernel分支上的第一個卷積內加入歸一化坐標, 即在輸入后加入兩個額外的通道增加空間性. 對于劃分的每個網格, kernel分支預測D維輸出, 表示預測的卷積核權重,D表示參數的數量.生成的權重取決于網格所在位置.若輸入圖像劃分為S×S個網格單元, 則輸出空間將為S×S×D.若輸入為H×W×C的特征F, 則輸出為卷積核S×S×D, 其中C是輸入特征的通道數,S是劃分的網格數,D是卷積核的通道數.
Mask feature分支用于學習mask特征的表達能力, 如圖3所示. 由圖3可見, 首先通過骨干網絡和特征金字塔將提取到的不同層級特征經過本文聯合注意力模塊處理后, 作為分支的輸入, 輸出是H×W×C的特征掩碼. 整個SOLO框架中一個重要的設計就是采用了FPN應對不同的尺寸. 將不同層級的特征融合得到特征掩碼是一個重要的部分. 生成的特征圖是H×W×C, 再與kernel分支的結果相乘, 得到的輸出結果是H×W×S2.
經過前兩個分支的輸出, 生成具體的mask: 對于在坐標(i,j)處的每個網格, 先獲得卷積核G, 然后將其與特征F卷積得到實例mask, 最多生成S×S個mask; 然后使用矩陣非極大值抑制(NMS)方法得到最終的實例分割結果.
在前向預測過程中, 圖像通過骨干網絡和特征金字塔得到網格位置的類別分值P(i,j)后, 先用較低的置信度閾值(0.1)篩選一遍結果, 再進行卷積提取mask特征. mask特征與預測得到的卷積核進行卷積, 再經過一個Sigmoid操作, 然后用0.5的閾值生成雙極型掩碼, 最后使用矩陣NMS, 得到結果.
注意力機制方法[10]通過關注重要的特征, 抑制不重要的特征, 廣泛應用于目標檢測任務中. 其中, 通道注意力旨在關注有意義的輸入圖像, 為有效計算通道注意力, 需對輸入特征圖的空間維度進行壓縮, 對于空間信息的聚合, 常用的方法是平均池化. 而最大池化收集了物體的獨特特征, 可推斷在更細通道上的注意力. 所以同時使用平均池化和最大池化的特征效果更好. 而空間注意力機制旨在關注最具信息量的部分, 是對通道注意力機制的補充. 為計算空間注意力, 會沿通道維度進行平均池化和最大池化操作, 然后將其連接生成一個有效的特征描述符, 再通過卷積層生成空間注意力圖. 受兩種注意力機制[11]的啟發, 本文采用一種串聯形式的聯合注意力機制, 設計一個聯合注意力模塊, 融合空間注意力和通道注意力引導mask分支聚焦有意義的像素信息, 抑制無意義的像素信息.
本文設計的聯合注意力機制引導的mask頭, 是一種將通道注意力與空間注意力串聯的設計. 通道注意力模塊結構如圖4所示. 由圖4可見, 輸入一個H×W×C特征, 首先分別執行全局最大池化和平均池化的操作以獲得兩個通道的池化特征; 然后將其輸入到一個兩層的多層感知機(MLP)神經網絡, 第一層用ReLU作為激活函數, 兩層神經網絡共享系數; 再將得到的兩個特征相加, 用Sigmoid作為激活函數, 得到權重系數MC; 最后用MC乘以輸入特征F得到縮放后的新特征. 整體計算過程如下:

圖4 通道注意力模塊結構
MC(F)=σ(MLP(AvgPool(F))+MLP(MaxPool(F))).
(5)
本文對空間注意力模塊的設計是先通過提取預測的特征信息后, 再將這些特征輸入到4個卷積層和空間注意力模塊, 如圖5所示. 由圖5可見, 空間注意力模塊首先沿通道軸分別通過平均池化和最大池化生成對應的池化特征Pavg,Pmax∈1×W×H, 用拼接函數對二者進行聚合, 然后輸入一個3×3的卷積層, 再用Sigmoid函數進行歸一化處理, 得到權重系數MS, 最后用MS乘以輸入特征F得到新特征.整體計算過程如下:

圖5 空間注意力模塊結構
MS(F)=σ(f3×3(AvgPool(F),MaxPool(F))).
(6)
對于通道注意力機制與空間注意力機制的排列順序問題, 在空間的角度, 通道注意力是全局的, 而空間注意力是局部的.對比研究表明, 按順序生成注意力圖比并行生成注意力圖更好.所以本文設計的聯合注意力模塊采用串行的方式排列通道注意力模塊與空間注意力模塊.聯合注意力機制中的通道注意力子模塊和空間注意力子模塊的串行連接可表示為
F′=MS(MC(F)).
(7)
經過特征金字塔融合后的特征F首先使用殘差結構將特征F與通道注意力模塊處理后的MC(F)逐個元素相乘, 然后用殘差結構將通道注意力特征與空間注意力模塊逐個元素處理.這里使用殘差結構可動態地調整網絡結構的復雜度, 優化了模塊的結構.最后得到串行連接的注意力特征F′.
針對城市道路場景的實例分割任務, 本文采用更具代表性的數據集Cityscapes. 與研究實例分割的通用數據集COCO相比, 數據集COCO針對道路環境的數據較少, 對于自動駕駛和移動機器人的應用并不適合. 而數據集Cityscapes應用較廣, 數據質量較高, 其含有5 000張在城市環境中駕駛場景的圖像, 有19個類別的密集像素標注, 其中8個具有實例標注. 數據集Cityscapes是一個大規模數據集, 其中包含一組不同的立體視頻序列, 記錄了50個不同城市的街道場景. 該數據集包含來自50個不同城市街道場景中記錄的多種立體視頻序列, 除2萬個弱標注外, 還包含5 000幀高質量標注. 因此, 該數據集的數量級較大. 數據集Cityscapes共有fine和coarse兩套測評標準, 前者提供了5 000張精細標注的圖像, 后者提供了5 000張精細標注和2萬張粗糙標注的圖像.
為方便處理, 本文將數據集Cityscapes轉換成數據集COCO的格式. 數據集Cityscapes提供的標注信息有彩色語義圖、 實例ID單通道圖、 語義ID單通道圖以及所有語義Polygon的文本描述. 而數據集COCO標注文件中包含了info,licenses,categories,images和annotations, 本文代碼預先設定前三項, 將categories根據需要進行了修改, 保留了5個類別, 分別是car,pedestrian,truck,bus,rider, 對應數據集Cityscapes中原類別ID的24~28.
本文使用AP(平均精度)和mAP(全量平均精度)作為在數據集Cityscapes上衡量模型實例分割性能的指標, AP和mAP的計算公式分別為

(8)

(9)
其中p(r)表示P-R曲線與橫縱坐標軸圍成的面積,C表示類別數量.P-R曲線是一個表示預測率與回歸率關系的曲線, 通過將樣本按預測為正例的概率值從大到小排序, 從第一個開始, 逐個將當前樣本點的預測值設為閾值, 確定閾值后, 即可得出混淆矩陣各項的數值, 然后計算出P和R, 形成以R為橫坐標、P為縱坐標的曲線.
除AP和mAP外, 本文衡量指標還包括AP50,AP75,APS,APM和APL, 其中AP50和AP75分別表示0.5和0.75不同的IoU閾值, APS,APM和APL分別表示對于小、 中、 大不同尺度目標的AP值. 這種設置可充分評估模型的分割性能.
本文使用detectron2工具搭建模型框架, 在數據集Cityscapes上評估改進SOLO模型的性能, 將模型在其上進行訓練、 測試和消融研究. 使用掩碼的平均精度AP(平均超過IoU閾值),APS,APM和APL(不同大小的AP)作為衡量模型分割效果的指標. 所有消融研究均使用本文的改進模型和ResNet-101進行. 模型的分割結果如圖6所示.

圖6 模型分割結果
將本文模型與Mask-RCNN,Centermask,Yolact和SOLO模型在數據集Cityscapes上進行對比實驗, 實驗結果列于表1. 實驗結果表明, 本文模型在精準度上得到了提升. 由表1可見, 本文模型在小尺度目標上的分割效果優于其他模型, 同時平均性能也有提升. 表2列出了本文模型對注意力機制的對比實驗結果.

表1 不同模型的分割結果

表2 注意力引導模塊對比結果
由表2可見, 聯合注意力這種通道注意力在前、 空間注意力在后的排列比單獨的通道注意力和空間注意力取得的效果更好. 圖7為本文方法的收斂趨勢, 其中loss_ins表示Lmask, loss_cate表示Lcate, total_loss表示總損失, lr表示學習率.

圖7 損失收斂曲線
綜上所述, 針對SOLO網絡特征在多尺度場景下目標以及遮擋目標分割效果較差的問題, 本文提出了一種基于SOLO實例分割和聯合注意力機制的方法, 提高了視覺特征信息處理的效率與準確性, 從而有效提高了面向城市道路復雜場景的分割精度.