李賓皚,李 穎,郝鳴陽,顧書玉
(1.國網上海市電力公司建設部,上海 200120;2.南京七寶機器人技術有限公司,南京 211100)
語義分割是計算機視覺的基礎性問題之一,是圖像分類、場景解析、物體檢測、3D 重建等任務的預處理步驟[1]。2014 年,Long 等人提出了全卷積網絡(fully convolutional network,FCN)[2]模型,該方法使用原始圖像作為模型的輸入,使用模型直接對圖片中的每個像素進行分類,模型的輸出結構即為原始圖像的語義分割圖。在PASCAL VOC 2012圖像分割競賽中,全卷積網絡取得了62.2%的分割準確度。在此基礎上,Chen 等人通過在模型末端添加全連接CRF提出了DeepLab模型[3],在PASCAL VOC 2012圖像分割競賽中取得了71.6%的分割精確度。Liu 等人通過“區域-區域”上下文來建模相鄰圖像塊之間的語義關系,進一步將分割準確度推升至78.0%。
盡管在分割效果上取得了巨大的進步,但這些基于深度學習的方法依賴大量像素級手工標注的數據。對圖片中對象逐像素標注所需的時間是僅標注對象邊界框所需標注時間的15倍[4],Cityscapes 數據集中單張圖片平均標注時間高達1.5小時。表1中可以看到常見語義分割數據集中的樣本數量與類別數量,昂貴的標注成本不僅提升了語義分割算法工程落地的難度,也在一定程度上限制了深度神經網絡的規模,因為網絡的層數越多、參數量越大,對訓練樣本的需求往往也更高。

表1 常見語義分割數據集中樣本數量
為了降低圖像標注的難度,一種方式是僅隊數據進行簡要標注,或利用監控、互聯網爬取得到的數據固有的結構訓練模型。這類使用比像素級標注粒度更粗的標注進行學習的語義分割方法一般稱為弱監督學習語義分割方法。
弱監督學習指的是在沒有全部樣本真實值標簽這樣強監督信號的情況下,訓練深度學習模型的手段。一般來說,弱監督監督學習方法可以分為三類:
(1)不完全監督學習是指訓練樣本中只有小部分圖片具有手工標注的真值標簽,而大部分圖片沒有標注的情況下,訓練模型的方法。
(2)不確切監督是指訓練樣本的標注粒度較低,只對訓練圖片中待分割物體的類別或邊界框進行標注的情況下,訓練模型的方法。
(3)不準確監督是指訓練樣本中的標簽不總是真值,即存在錯誤標注的情況下,訓練模型的方法。
由于語義分割中訓練數據收集的主要難度在于人工像素級標注的工作量極大,因此使用邊界框、語義點、粗略標注特別是圖像類別標簽進行訓練的不確切監督方法受到了廣泛的關注。
實例級標注指的是對于一幅圖片中的所有待分割的物體,只對其邊界框和類別進行標注。與像素級標注相比,實例級標注不僅可以極大的降低標注所需的人工成本,還可以將既有的目標檢測數據集如OpenImage 等直接作為語義分割數據集來使用。
2015年,Dai 等人通過觀察到CFM、FCN 等方法實際上只使用了多次下采樣之后的、粗糙的像素標注進行訓練,受此啟發提出了BoxSup。BoxSup 將MCG 等無監督的區域生成方法和DeepLab 等監督的語義分割方法結合,首先使用無監督的區域生成方法對邊界框中的圖像進行分割,并為分割后的每一個區域選擇一個類別標簽,得到原始標注并以此為監督訓練語義分割模型。在語義分割模型訓練結束后,BoxSup 將根據訓練后的語義分割模型反過來調整標注中每一個區域所對應的的類別標簽,其最小化目標函數可以寫做:

式中,i為圖片的序號,即對于訓練集中的全部圖片,最優化語義分割模型參數θ和所有分割區域{S}的標簽{ls},使(εo+λεr)的值最小。εr為調節兩目標函數比例的超參數,εr為語義分割模型在區域標簽為{ls}時的損失函數,εo則約束了邊界框內的同類別區域應盡量覆蓋整個邊界框。具體的:

式中,N為S中區域的總數;B為每個區域對應的邊界框;"IOU"(B,S)為分割區域與邊界框之間的交并比;δ(lS,lB)為分割區域與邊框類別一致性謂詞。BoxSup采用了一種迭代的貪心策略來優化式,在多次迭代后,模型的性能可以達到略低于強監督訓練的可觀水平。
在BoxSup 的基礎上,Bbox-Seg 將EM 算法應用到了語義分割模型的訓練當中,使模型在小部分樣本像素級標注、大部分樣本實例級標注的半監督訓練集上取得了更好的效果。SID 利用邊界框標注和先驗信息對分割區域進行處理,直接得到高質量的區域標簽對語義分割模型進行訓練,避免了BoxSup 中訓練集的迭代。
盡管實例級的標注方法極大地簡化了標注任務,但當數據集較大時,對每個對象邊界框的標注依然是一項繁重的工作。一種粒度更粗的標注方法是使用圖片級的類別標簽,即對于每張圖片中感興趣對象是否存在進行標注。圖片級的類別標簽的標注難度極低,有時標簽甚至可以直接從互聯網、物聯網中得到,因此這類弱監督語義分割方法受到了產學界的格外關注。
由于圖像類別標簽中不包含任何位置信息,因此在分割時必須采用額外的方法對對象進行定位。類激活圖(Class Activation Mapping,CAM)[5]是最常用的定位方法之一。通過將VGGNet、GoogLeNet 等網絡最后一層卷積層提取的特征經過全局平均池化(Global average pool)后再輸入全連接層分類,CAM 可以將全連接層輸出的類別分數投射回卷積神經網絡最后一層特征圖中,以此完成對待分割物體的粗略定位。

圖1 通過CAM對類別相關的對象進行定位
主流的圖片級標注弱監督語義分割方法均運用了CAM 對待分割目標進行了定位,SEC 是其中較有代表性的一種。SEC 提出了seed、expand、constrain 三 原則,利用CAMs 計算局部圖像區域對最終圖片分類中各類別的分數的貢獻,SEC 粗略地估算每個類別的對象在圖片中出現的區域。然而,由于類激活圖的分辨率較低且往往只會在對象的局部區域才會有較高的響應,因此無法直接使用類激活圖進行訓練。為了解決這一問題,SEC 在普通的語義分割損失之上又增加了擴張損失和邊界約束損失。擴張損失通過全局加權排序池化(global weighted rank pooling,GWRP)構成,該池化方法結合了全局最大值池化和全局平均值池化的特性,要求模型輸出大小適中的預測區域。邊界約束損失則要求模型預測結果與全連接CRF 的預測結果盡可能的相似,要求模型的預測區域符合圖片的結構和紋理等信息。
在SEC 的基礎上,AffinityNet 對像素之間的一致性,從而獲得了更好的泛化能力。rpm 觀察到CAMs 對實例對象類別的響應的最大值應該再該實例區域內這一特點,通過CAMs 響應的局部最大值反向推導來擴大與每個局部最大值響應的區域,從而完成對同類實例對象的分割。IRNet[6]使用一般性的(class-agnostic)模型對圖中的對象及其邊界進行檢測,并以此為依據擴散CAMs得到的信息。
為了驗證弱監督語義分割模型在電網場景中運用的可行性,本文使用在POSCAL 2012測試集中取得了最高mean IoU 的圖像級標注弱監督方法IRNet[6]進行了實驗。在數據準備階段,我們共收集了訓練集15,000張變電站、建筑工地中設備、人員的圖片,對呼吸器、壓力表、壓板開關、人員等類別進行了圖片級標注并按照4 ∶1的比例劃分為訓練集和測試集。為了進一步增強數據的多樣性,試驗過程中對訓練集中的圖片采用了隨機水平翻轉、正負15°以內的隨機旋轉、HSV 色彩空間中的隨機擾動等方式進行增強,最終得到增強后的訓練數據約60,000張,所有圖片的尺度被調整為最長邊不超過512像素。
模型分為CAM、IRNet 和語義分割網絡三部分進行訓練。在訓練CAM 時使用交叉熵作為損失函數,設置學習率為0.01,批大小為32,訓練輪次為5輪。在IRNet訓練階段,設置學習率為0.025,批大小為4,訓練迭代次數為20輪。最終結果如圖2所示,由于缺少人工的逐像素標注,在現有試驗條件下無法計算mean IoU 等客觀評價指標。盡管邊緣的分割效果與使用像素級標注強監督的方法相比仍有較大差距,但對區域的正確分割使得該模型能夠在數據增強、相機位姿估計等場景中作為前處理使用。實驗證明了弱監督語義分割方法在實際工程應用中的價值。
值的注意的是,試驗中發現訓練集中類別出現的相關性可能導致圖片級標注的語義分割方法性能大幅下降。如說將呼吸器硅膠桶和呼吸器油封作為兩個類別進行標注訓練,由于絕大多數照片中的呼吸器都包含了硅膠桶和油封兩個部分,因此硅膠桶和油封都會作為特征被CAM 學習,從而導致模型無法對兩個類別進行區分。為了解決這一問題,一個可能的思路是采用實例級標注的弱監督學習或半監督學習。

圖2 IRNet對變電站建筑工地數據集的分割結果
本文針對電力系統中圖像語義分割技術樣本標注成本過高的問題進行了分析,對基于深度學習的語義分割方法特別是弱監督方法進行了介紹和分析,并通過實驗證明了在電網場景中使用弱監督標簽實現語義分割的可行性。實驗表明,弱監督語義分割方法可以極大地簡化模型訓練數據的標注過程,從而起到降低標注成本、增加樣本數量和多樣性的作用。在對圖像分割邊緣準確性不敏感的應用場景下,弱監督語義分割方法是一種可行的方案。