張緒德
(凱里學(xué)院,貴州黔東南苗族侗族自治州 556011)
語義分割圖像就是按照目標種類進行圖像分割,幫助人們更好地進行判斷。傳統(tǒng)的圖像分割技術(shù)有區(qū)域生長方法[1]、圖切算法[2]、分水嶺分割方法[3]等,但是傳統(tǒng)分割方法存在精度值低、分割不準確的情況。隨著卷積神經(jīng)網(wǎng)絡(luò)CNN 在計算機視覺和語音識別[4]等領(lǐng)域取得不錯的效果,采用深度學(xué)習(xí)方法,應(yīng)用基于卷積神經(jīng)網(wǎng)絡(luò)對目標特征進行學(xué)習(xí),按照目標類別輸出結(jié)果,能很好地對圖像目標進行語義分割。
基于深度學(xué)習(xí)的語義分割算法采用全卷積網(wǎng)絡(luò)FCN 方式對分割任務(wù)進行處理。PSPNet[5]采用獨特的金字塔場景解析PSP 模塊作為Decoder,PSP 模塊為采用不同步長和池化大小的平均池化層進行池化,然后將池化的結(jié)果尺寸調(diào)整到統(tǒng)一大小,再進行堆疊得到分割圖像。DeepLab 系列語義分割算法可以追溯到2015 年谷歌提出的DeepLabV1[6],DeepLabV1 特征提取網(wǎng)絡(luò)是使用VGG(Visual Geometry Group,視覺幾何組),2017 年DeepLabV2 在DeepLabV1 的基礎(chǔ)上使用空洞卷積形式,連接空洞空間金字塔池化ASPP 模塊,骨干特征網(wǎng)絡(luò)使用ResNet-101,DeepLabV3+在前面的基礎(chǔ)上使用編碼-解碼器結(jié)構(gòu),為DeepLabV3 添加有效的解碼器模塊,使模型提取特征能力得到加強。
研究選用DeeplabV3+語義分割算法特征提取網(wǎng)絡(luò)采用MobileNetV2,MobileNetV2 采用倒置殘差模塊,輸入圖像經(jīng)過1×1 卷積進行通道擴張,方便獲得圖像中特征信息,然后使用3×3 深度可分離卷積進行特征抽取,采用此方法有利于減少模型參數(shù)量,最后使用1×1 卷積減少通道數(shù)。
進行語義分割,采用普通卷積下采樣時會降低分辨率,引起圖像中信息丟失。使用卷積時通過引入擴張率dilation rate 將普通3×3 的卷積核在相同參數(shù)量和計算量下?lián)碛?×5(dilated rate 為2)或者更大的感受野,從而避免下采樣,有效解決分辨率降低造成的信息丟失。圖1 左側(cè)展示了普通3×3 的卷積,圖1 右側(cè)展示了dilation rate 為2 的空洞卷積。
圖1 空洞卷積形式
使用空洞卷積可以增大圖像感受野,聚合更多的上下文信息。ASPP 模塊在多個尺度上對物體進行魯棒分割,捕獲目標與圖像上下文多尺度信息[7]。本次使用的空洞卷積dilation rate 分別為1、6、12、18,將分別提取出來的特征層進行堆疊,通過1×1 卷積將圖像壓縮后進行特征融合,選用的ASPP 模塊如圖2 所示。
圖2 ASPP 模塊
圖像語義分割的過程之中使用編碼-解碼器結(jié)構(gòu)有利于進行特征的提取。編碼器在語義分割時主要應(yīng)用于深度卷積神經(jīng)網(wǎng)絡(luò)之中,編碼器提取較為深層次的語義信息,使用編碼器有助于分辨率低時提取,圖像經(jīng)過編碼器得到的深層特征具有更豐富的信息,深層特征輸出應(yīng)該使用較高的權(quán)重;解碼器指的是能夠完全恢復(fù)到原圖的部分,主要作用在于卷積采樣,并對各個層級進行連接處理,在深度神經(jīng)網(wǎng)絡(luò)中隨著網(wǎng)絡(luò)層級的加深,特征圖像尺寸變得更小,語義分割需要采用高分辨率特征來改善細節(jié),解碼器能實現(xiàn)融合層級特征,DeeplabV3+語義分割算法編碼-解碼器結(jié)構(gòu)如圖3 所示。
圖3 編碼-解碼器結(jié)構(gòu)
由圖可知DeeplabV3+語義分割算法編碼器由DCNN 和ASPP 模塊組成,圖像經(jīng)過DCNN 分別進行深層和淺層特征提取,深層特征提取信息通過ASPP后將不同空洞卷積的輸出層經(jīng)過1×1卷積進行信息融合,解碼器包括編碼器輸出信息上采樣后與淺層特征信息進行融合,再通過分類網(wǎng)絡(luò)將每個像素點按照目標進行分類,通過上采樣到與原圖同樣大小尺寸,就能實現(xiàn)語義分割[8]。
基于DeeplabV3+的道路圖像語義分割方法采用實驗環(huán)境Windows10,訓(xùn)練時GPU 采用NVIDIA GeForce RTX 2080Ti,顯卡顯存為11 GB,軟件環(huán)境選擇pycharm 腳本編輯器,學(xué)習(xí)框架為PyTorch。
在進行圖像語義分割方法研究時,數(shù)據(jù)集的選取是進行研究的基礎(chǔ),經(jīng)過語義分割后圖像中的每個像素點會按照類別進行分類,最終圖像會按照類別呈現(xiàn)不同的板塊。研究采用的數(shù)據(jù)集是CamVid 語義分割數(shù)據(jù)集,數(shù)據(jù)集使用11 種常用的類別來進行分割精度的評估,分別為Road、Symbol、Car、Sky、Sidewalk、Pole、Fence、Pedestrian、Building、Bicyclist、Tree,數(shù)據(jù)集在進行語義分割算法使用時加上Background 共分為12 類。
CamVid 語義分割數(shù)據(jù)集中提供的訓(xùn)練圖片和標簽圖片是PNG 格式,為方便區(qū)分和進行訓(xùn)練,將訓(xùn)練圖片格式修改成JPG,標簽文件格式保持PNG 格式。經(jīng)過格式轉(zhuǎn)變后訓(xùn)練圖片和標簽文件的信息依舊存在一一對應(yīng)形式。
DeeplabV3+語義分割算法在進行訓(xùn)練時,將訓(xùn)練過程分為50 個epoch 進行訓(xùn)練,Batchsize 設(shè)置為8,訓(xùn)練時為加快模型收斂,以模型加載預(yù)訓(xùn)練權(quán)重方式進行。
DeeplabV3+語義分割算法評價指標采用模型準確率Accuracy、類別平均像素準確率MPA、平均交并比MIoU 判斷語義分割算法性能的好壞。
模型準確率Accuracy 表示預(yù)測結(jié)果中正確的占總預(yù)測值的比例。類別平均像素準確率MPA 是指分別計算每個類被正確分類像素數(shù)的比例,將所有類進行累加求平均。
平均交并比MIoU 是指每個類計算真實標簽和預(yù)測結(jié)果的交并比IoU,然后再對所有類別的IoU 求其均值。
分別使用傳統(tǒng) PSPNet 語義分割算法、MobileNetV2+PSPNet 算法和本文中的DeeplabV3+語義分割算法在CamVid 語義分割數(shù)據(jù)集進行訓(xùn)練,模型通過數(shù)據(jù)集訓(xùn)練完成后參數(shù)指標準確率Accuracy、類別平均像素準確率MPA、平均交并比MIoU 結(jié)果如表1 所示。
表1 不同算法在CamVid 數(shù)據(jù)集語義分割結(jié)果
模型訓(xùn)練完成后選取CamVid 進行語義分割數(shù)據(jù)集預(yù)測,分割前后圖片顯示如圖4 所示,經(jīng)過語義分割模型前后圖片顯示能很好根據(jù)真實目標輪廓進行分割。
圖4 語義分割效果圖
通過結(jié)果進行分析,利用DeeplabV3+語義分割算法,圖片能將真實目標輪廓進行分割,與傳統(tǒng)PSPNet語義分割算法、MobileNetV2+PSPNet 算法相比,MPA值分別提升1.11%和1.64%,MIoU 值分別提升2.02%和2.52%。模型參數(shù)量與MobileNetV2+PSPNet 算法相比,參數(shù)量多13.12 MB。
本研究基于DeeplabV3+語義分割算法進行道路圖像語義分割,通過數(shù)據(jù)集選取、數(shù)據(jù)集訓(xùn)練、測試結(jié)果驗證語義分割模型在實際圖像中的應(yīng)用。實驗表明,DeeplabV3+語義分割算法在道路圖像語義分割中取得良好的效果,準確率Accuracy 為92.11%、類別平均像素準確率MPA 為71.88%、平均交并比MIoU 為63.97%。本文算法和傳統(tǒng)PSPNet 語義分割算法、MobileNetV2+PSPNet 算法相比,MPA 和MIoU 值得到提高,模型參數(shù)量比MobileNetV2+PSPNet 多13.12 MB,僅為ResNet-50+PSPNet 參數(shù)量的12.4%。道路圖像語義分割依然面臨著隨道路環(huán)境復(fù)雜多變而圖像中存在類別之間相互遮擋、相互重疊的問題,精確進行語義分割仍存在非常大的挑戰(zhàn)。