王 維,陶青川,沈建軍
(四川大學 電子信息學院,四川 成都 610065)
河流、湖泊等場景下的智能視頻監控在水質分析監測、水文預報以及捕獲異常行為等方面發揮著重要作用。因此,對水陸分割線快速準確的提取,在水質預測、洪澇災害預警以及水面目標識別等方面具有重要意義[1,2]。
文獻[3]提出利用模糊C均值聚類迭代提取水陸交界線,但對于較復雜的水陸場景,實用性不強。文獻[4]對水陸交界線的提取受陸地背景干擾影響大,同時對光照較敏感。文獻[5]對于規則的水陸分割線提取較準確,但對于較曲折的水陸分割線提取效果欠佳。目前的大多研究是基于傳統機器視覺進行水陸分割線的提取,即根據獲取水域與陸地之間的特征差異進行圖像的分割,對于不同場景需要更新相關的參數設置,適用性較差。
基于圖像領域的深度學習方法在水陸分割方面研究較少,主要原因可能是采集樣本制作數據集需要耗費大量的人力和成本。融合了傳統的圖像分割和目標識別任務的圖像語義分割是對圖像中的每一個像素進行類別的預測,目前已廣泛應用于自動駕駛等領域。Long等[6]提出基于像素級分類的全卷積網絡(fully convolutional network,FCN)圖像語義分割算法,能夠解決傳統圖像分割精度低、抗干擾能力較弱等問題,但原有的FCN網絡對圖像進行多次縮放導致許多有用信息的缺失。
文中提出一種改進的FCN網絡模型對水域圖像進行分割,通過融合池化層帶來的信息缺失,實現對水域的準確提取,通過分割的結果確定水陸分割線。將所提方法應用于實時在線分割,驗證了算法的可行性,為水利智能監控提供新的方法。
由于文中選用的FCN-8s是一種監督學習的經典語義分割網絡[7],需要利用標簽數據進行訓練,生成分類模型,實現對水域的分割。目前針對水域的公開數據較少,因此文中的數據集主要來源于成都河長制辦公室、人工拍攝以及采用網絡爬蟲技術獲取不同自然條件下的水域圖像。為降低訓練所需時間以及硬件資源成本,將采集的所有圖片尺寸調整為512×512范圍內。采用LabelMe開源工具包進行水域圖片的標注,其中“0”代表陸地區域且對應可視化RGB值為(0,0,0),“1”代表水域區域且對應可視化RGB值為(255,255,255)。為保證最終分割效果的準確性,提升網絡泛化性能,防止因數據樣本過少導致的欠擬合問題,對原圖以及標簽圖進行翻轉、拉伸等處理,最終數據集擴充為原來的5倍,其中,隨機選取6020張圖像作為訓練集,1980張圖像作為驗證集,668張圖像作為測試集。樣本擴增圖如圖1所示。

圖1 樣本擴展
文中水陸分割線提取方法主要基于改進的FCN網絡對圖像中的水域進行分割,根據分割后的結果進行水陸分割線的提取,算法的具體流程如圖2所示。

圖2 算法流程
文中所提算法分兩部分組成,即網絡訓練階段和水陸分割線提取階段。訓練階段將數據集輸入到改進后的網絡中,采用隨機梯度下降法進行網絡學習,并通過微調網絡參數進行訓練,當網絡loss收斂到一定程度時,停止網絡訓練。水域分割階段,首先,由部署的攝像頭進行含水域圖像的采集,通過FFMpeg進行視頻流的解碼獲取RGB圖像;其次,利用訓練好的網絡模型計算得到水域分割結果;最后,對水域分割結果進行邊緣提取,通過分割圖與原圖的映射關系確定最終的水陸分割線。
2.2.1 全卷積網絡
由Long等提出的FCN網絡,以VGG網絡作為目標特征提取的基礎,主要由卷積層、反卷積層、池化層以及softmax層組成[8]。其中卷積層通過與輸入的水陸圖像進行卷積操作,獲取不同目標的特征圖;池化層是對卷積層所獲取的特征圖進行降維操作,目的是增大網絡學習的感受野、減少模型參數,同時還可以加快訓練。通過卷積層和池化層處理后,獲取的特征圖大小按2的倍數遞減。網絡底層卷積有利于目標的局部和細節特征的獲取,而高層卷積更偏向于語義信息的獲取,若直接對第5層特征圖進行上采樣恢復原圖大小,會導致圖像中許多有用信息的丟失,因此分割目標精度不高。FCN-8s通過融合底層特征,跨層連接操作來彌補多層池化導致的細節信息的丟失,使最終的預測結果精度更高,同時采用反卷積使預測圖與輸入圖具有相同的分辨率。跨層連接結構如圖3所示。

圖3 FCN跳躍結構
2.2.2 空洞卷積特征提取

圖4 空洞卷積
由FCN-8s網絡中采用多個池化層操作來減少模型參數,加快訓練的速度,增大感受野,但同時它也導致輸入圖像信息的丟失且丟失信息無法被還原,因此會制約水域分割精度的提高。若網絡中采用空洞卷積進行替代部分池化層,可以降低池化層對圖像信息丟失的影響[11]。除此之外,還可維持與原網絡相同的感受野大小。空洞卷積如圖4所示,其中圖4(a)是感受野為3×3的常規卷積,圖4(b)是感受野為7×7的空洞卷積,空洞率為2。在卷積核不變的情況下,相比于常規卷積,空洞卷積保留的特征圖周圍像素信息更豐富,更有利于圖像語義分割像素點分類的準確性。
2.2.3 改進的FCN網絡
對跨層連接的FCN-8s網絡進行微調,采用自己建立的數據集進行網絡訓練,并將最終的網絡模型用于對復雜水陸場景圖像進行語義分割,經測試集發現邊緣分割效果有所欠缺。原因是FCN的過多的下采樣操作導致圖像細節有用信息的丟失,而反卷積操作并不能彌補丟失的有用信息,為進一步提升網絡的分割精度和效率,改善網絡因逐層卷積及池化操作造成的圖像有用信息的丟失,分割效果不佳等問題[7],提出一種全卷積網絡改進方法,旨在減少網絡池化引起的圖像縮放次數,使更多細節信息得到有效保留,以實現對水陸圖像準確的分割。
與FCN-8s模型相比,文中對原網絡的主要改進方案如下:
(1)去除原網絡中的pool5,同時將第5階段卷積層采用空洞卷積進行替代,彌補因刪除pool5導致的感受野變小的問題;
(2)將pool1以及pool2的輸出特征信息進行融合,通過實驗比較發現,只對pool2的輸出特征信息進行融合的網絡模型分割性能優于同時對前兩個池化層進行融入的網絡模型。改進的全卷積網絡結構如圖5所示。

圖5 改進FCN結構
通過改進的網絡模型結構如圖5所示,為了便于后續的實驗對比區分,文中將WaterFCN+1作為最終用于水域分隔的網絡,即只進行pool2輸出信息的融入;將同時融入前兩池化層的網絡稱為WaterFCN+2。去除原網絡中的pool5后,在設計的網絡模型中輸入圖像縮小的倍數降為16,該模型在特征學習過程中為后續的預測分類保留了更多的有用圖像信息。為使最終的預測結果圖與輸入圖像具有相同的分辨率,對最后融合的特征圖進行4倍上采樣操作,從而實現對圖像中的每個像素點的預測分類。
文中軟件實驗環境為TensorFlow1.8, cuda9.0, python3.6, Win10, VS2015;硬件實驗環境采用GPU顯卡為NVIDIA GTX 1080TI,內存8 G,i5-6500處理器,該配置是目前深度學習的主流配置。
3.1.1 評價指標
為了比較網絡的性能,采取了圖像分割領域中一個衡量圖像分割精度的重要指標——平均交并比(MIOU)以及像素準確率(PA)對結果進行網絡評估比較[12]。平均交并比計算方法如下
(1)
(2)
其中,Pii表示正確預測的點,Pij表示本身被標記為i類的像素,在經過語義分割網絡后,被預測為j類像素,Pji表示本身被標記為j類的像素,在經過語義分割網絡后,被預測為i類像素。
3.1.2 數據集對網絡性能影響
由于原始圖像數據量較小,為提高文中所提網絡分割性能,將原圖進行翻轉、拉伸等操作進行數據集的擴充,并利用擴充后的數據集進行網絡的訓練、驗證以及測試。為了驗證擴充數據集對文中所提網絡分割性能的影響,文中比較了數據擴充前后的網絡分割結果,見表1。

表1 數據擴充前后對比
由表1可知,使用未擴充的數據集進行訓練的網絡,水域的平均交并比為87.58,像素準確率僅為89.673;而采用圖像的拉伸和旋轉進行擴充的數據集訓練的網絡模型,圖像的水域的平均交并和像素精度分別提高了0.05和0.067,水域分割性能得到一定的提升。因此,較豐富的數據樣本對網絡的性能有重要的影響。
3.1.3 分割性能對比實驗
采用擴充后的數據集分別對原FCN網絡、更改后的WFCN+1以及WFCN+2進行訓練,通過訓練后的網絡模型進行水域圖像的語義分割,其中圖6(a)是池塘水域測試圖像。水域語義分割實驗結果如圖6所示。

圖6 水域分割結果
由圖6可知,原FCN網絡分割的結果不僅邊界分割較粗糙,而且還具有空洞現象。但是WFCN+1不僅邊緣信息分割更準確,而且還減少了空洞現象、邊緣更加的平滑。WFCN+2分割效果相對于WFCN+1出現了一定程度的過分割現象并且邊緣不夠平滑,但是較原FCN網絡效果更好。實驗結果表明去除第五池化層并將第5階段卷積層采用空洞卷積替代的WFCN+1在水域分割方面的效果更佳。
為了驗證文中所提網絡的分割性能優越性,采用擴充后的驗證集對網絡性能進行測試對比,通過計算各方法的平均交并比(MIOU)、水域的像素精度(PA)實現對網絡的評估,結果見表2。

表2 網絡對比值
由表2可以發現,WaterFCN+1得到的平均交并比以及水域像素識別精度均優于WaterFCN+2和原FCN,充分表明了文中改進的WaterFCN+1綜合性能更高,更適合于水利智能監控平臺。
為了驗證文中所提算法在水陸分割線提取方面的優越性,選用了傳統水陸分割線提取算法與文中算法進行對比。首先選取具有代表性的4幅圖像且每幅圖像都包含水域和陸地,如圖7所示。傳統的水陸分割線提取方法選用文獻[5]中提出的邊界分段處理方法、文獻[4]中經形態學處理后的邊緣提取方法。為了方便后文的描述分別將文獻[5]選用的算法設為算法1、文獻[4]選用的算法設為算法2以及文中所提算法進行實驗對比,水陸分割線提取結果如圖7所示。

圖7 水陸分割線提取結果
由以上實驗效果可知,在背景較簡單且規則水陸情況下,3個算法都能實現對水陸分割線的準確提取;但對于水陸交接線曲折變化且水域與陸地顏色相近、水面具有倒影以及光照不均勻等復雜水陸圖像,傳統的分割方法水域識別率較差,而文中所提的方法能有效實現水陸分割線的提取,相比于傳統的方法,能夠克服光照、倒影、水陸交接不規則等因素的干擾,穩定性較強,準確率較高,具備一定的工程實用價值。
采集20個不同場景下的200幅水陸圖像進行算法的準確性檢驗,若誤差在5個像素以內,則認為算法準確[5]。實驗檢測統計結果如圖8所示,誤差在3個像素內的達到90%,誤差在5個像素內達到95%,誤差在10內達到99%左右。通過統計的結果圖表明,文中提出的算法對水陸分割線的提取準確率達到95%以上。

圖8 水陸分割線檢測結果統計
在實時性測試中,采用文中算法對視頻中的水陸分割線進行檢測,選取圖片大小為512×512,平均處理時間為160 ms,相比于以往的算法,文中的算法實時性更高。
文中提出一種改進FCN的水陸分割線提取算法,利用了構建的河岸場景數據集訓練網絡模型,克服了光照等不可控因素的干擾,實現了對水陸分割線的快速、準確提取。文中方法不僅能實現對智能視頻監控中水位的監測,同時還能輔助實現對河流中水色的提取以及無人艦艇的導航,具有一定的工程應用價值。但文中算法目前因樣本量少,對于水域占比小的圖像分割精度還待于進一步提高。