張緒德
(凱里學院,貴州黔東南苗族侗族自治州 556011)
語義分割圖像就是按照目標種類進行圖像分割,幫助人們更好地進行判斷。傳統的圖像分割技術有區域生長方法[1]、圖切算法[2]、分水嶺分割方法[3]等,但是傳統分割方法存在精度值低、分割不準確的情況。隨著卷積神經網絡CNN 在計算機視覺和語音識別[4]等領域取得不錯的效果,采用深度學習方法,應用基于卷積神經網絡對目標特征進行學習,按照目標類別輸出結果,能很好地對圖像目標進行語義分割。
基于深度學習的語義分割算法采用全卷積網絡FCN 方式對分割任務進行處理。PSPNet[5]采用獨特的金字塔場景解析PSP 模塊作為Decoder,PSP 模塊為采用不同步長和池化大小的平均池化層進行池化,然后將池化的結果尺寸調整到統一大小,再進行堆疊得到分割圖像。DeepLab 系列語義分割算法可以追溯到2015 年谷歌提出的DeepLabV1[6],DeepLabV1 特征提取網絡是使用VGG(Visual Geometry Group,視覺幾何組),2017 年DeepLabV2 在DeepLabV1 的基礎上使用空洞卷積形式,連接空洞空間金字塔池化ASPP 模塊,骨干特征網絡使用ResNet-101,DeepLabV3+在前面的基礎上使用編碼-解碼器結構,為DeepLabV3 添加有效的解碼器模塊,使模型提取特征能力得到加強。
研究選用DeeplabV3+語義分割算法特征提取網絡采用MobileNetV2,MobileNetV2 采用倒置殘差模塊,輸入圖像經過1×1 卷積進行通道擴張,方便獲得圖像中特征信息,然后使用3×3 深度可分離卷積進行特征抽取,采用此方法有利于減少模型參數量,最后使用1×1 卷積減少通道數。
進行語義分割,采用普通卷積下采樣時會降低分辨率,引起圖像中信息丟失。使用卷積時通過引入擴張率dilation rate 將普通3×3 的卷積核在相同參數量和計算量下擁有5×5(dilated rate 為2)或者更大的感受野,從而避免下采樣,有效解決分辨率降低造成的信息丟失。圖1 左側展示了普通3×3 的卷積,圖1 右側展示了dilation rate 為2 的空洞卷積。

圖1 空洞卷積形式
使用空洞卷積可以增大圖像感受野,聚合更多的上下文信息。ASPP 模塊在多個尺度上對物體進行魯棒分割,捕獲目標與圖像上下文多尺度信息[7]。本次使用的空洞卷積dilation rate 分別為1、6、12、18,將分別提取出來的特征層進行堆疊,通過1×1 卷積將圖像壓縮后進行特征融合,選用的ASPP 模塊如圖2 所示。

圖2 ASPP 模塊
圖像語義分割的過程之中使用編碼-解碼器結構有利于進行特征的提取。編碼器在語義分割時主要應用于深度卷積神經網絡之中,編碼器提取較為深層次的語義信息,使用編碼器有助于分辨率低時提取,圖像經過編碼器得到的深層特征具有更豐富的信息,深層特征輸出應該使用較高的權重;解碼器指的是能夠完全恢復到原圖的部分,主要作用在于卷積采樣,并對各個層級進行連接處理,在深度神經網絡中隨著網絡層級的加深,特征圖像尺寸變得更小,語義分割需要采用高分辨率特征來改善細節,解碼器能實現融合層級特征,DeeplabV3+語義分割算法編碼-解碼器結構如圖3 所示。

圖3 編碼-解碼器結構
由圖可知DeeplabV3+語義分割算法編碼器由DCNN 和ASPP 模塊組成,圖像經過DCNN 分別進行深層和淺層特征提取,深層特征提取信息通過ASPP后將不同空洞卷積的輸出層經過1×1卷積進行信息融合,解碼器包括編碼器輸出信息上采樣后與淺層特征信息進行融合,再通過分類網絡將每個像素點按照目標進行分類,通過上采樣到與原圖同樣大小尺寸,就能實現語義分割[8]。
基于DeeplabV3+的道路圖像語義分割方法采用實驗環境Windows10,訓練時GPU 采用NVIDIA GeForce RTX 2080Ti,顯卡顯存為11 GB,軟件環境選擇pycharm 腳本編輯器,學習框架為PyTorch。
在進行圖像語義分割方法研究時,數據集的選取是進行研究的基礎,經過語義分割后圖像中的每個像素點會按照類別進行分類,最終圖像會按照類別呈現不同的板塊。研究采用的數據集是CamVid 語義分割數據集,數據集使用11 種常用的類別來進行分割精度的評估,分別為Road、Symbol、Car、Sky、Sidewalk、Pole、Fence、Pedestrian、Building、Bicyclist、Tree,數據集在進行語義分割算法使用時加上Background 共分為12 類。
CamVid 語義分割數據集中提供的訓練圖片和標簽圖片是PNG 格式,為方便區分和進行訓練,將訓練圖片格式修改成JPG,標簽文件格式保持PNG 格式。經過格式轉變后訓練圖片和標簽文件的信息依舊存在一一對應形式。
DeeplabV3+語義分割算法在進行訓練時,將訓練過程分為50 個epoch 進行訓練,Batchsize 設置為8,訓練時為加快模型收斂,以模型加載預訓練權重方式進行。
DeeplabV3+語義分割算法評價指標采用模型準確率Accuracy、類別平均像素準確率MPA、平均交并比MIoU 判斷語義分割算法性能的好壞。
模型準確率Accuracy 表示預測結果中正確的占總預測值的比例。類別平均像素準確率MPA 是指分別計算每個類被正確分類像素數的比例,將所有類進行累加求平均。
平均交并比MIoU 是指每個類計算真實標簽和預測結果的交并比IoU,然后再對所有類別的IoU 求其均值。
分別使用傳統 PSPNet 語義分割算法、MobileNetV2+PSPNet 算法和本文中的DeeplabV3+語義分割算法在CamVid 語義分割數據集進行訓練,模型通過數據集訓練完成后參數指標準確率Accuracy、類別平均像素準確率MPA、平均交并比MIoU 結果如表1 所示。

表1 不同算法在CamVid 數據集語義分割結果
模型訓練完成后選取CamVid 進行語義分割數據集預測,分割前后圖片顯示如圖4 所示,經過語義分割模型前后圖片顯示能很好根據真實目標輪廓進行分割。

圖4 語義分割效果圖
通過結果進行分析,利用DeeplabV3+語義分割算法,圖片能將真實目標輪廓進行分割,與傳統PSPNet語義分割算法、MobileNetV2+PSPNet 算法相比,MPA值分別提升1.11%和1.64%,MIoU 值分別提升2.02%和2.52%。模型參數量與MobileNetV2+PSPNet 算法相比,參數量多13.12 MB。
本研究基于DeeplabV3+語義分割算法進行道路圖像語義分割,通過數據集選取、數據集訓練、測試結果驗證語義分割模型在實際圖像中的應用。實驗表明,DeeplabV3+語義分割算法在道路圖像語義分割中取得良好的效果,準確率Accuracy 為92.11%、類別平均像素準確率MPA 為71.88%、平均交并比MIoU 為63.97%。本文算法和傳統PSPNet 語義分割算法、MobileNetV2+PSPNet 算法相比,MPA 和MIoU 值得到提高,模型參數量比MobileNetV2+PSPNet 多13.12 MB,僅為ResNet-50+PSPNet 參數量的12.4%。道路圖像語義分割依然面臨著隨道路環境復雜多變而圖像中存在類別之間相互遮擋、相互重疊的問題,精確進行語義分割仍存在非常大的挑戰。