李運堂,詹葉君,王鵬峰,黃永勇,李孝祿,陳 源
(1.中國計量大學(xué)機電工程學(xué)院,浙江 杭州 310018;2.中國計量大學(xué)現(xiàn)代科技學(xué)院,浙江 杭州 310017)
輸電線長期暴露于自然環(huán)境,表面容易粘附異物、內(nèi)部容易受損甚至出現(xiàn)斷股、斷線,致使電力傳輸異常。 因此,對輸電線路進行定期巡檢并及時發(fā)現(xiàn)問題,對于確保電力傳輸安全具有重要意義[1]。人工輸電線路巡檢需要徒步到達指定地點進行檢測,易受地理環(huán)境影響,效率低、成本高、誤檢率大。無人機具有機動性強、靈活性好等優(yōu)點,可以到達山區(qū)、叢林等苛刻環(huán)境。 因此,無人機輸電線路巡檢近年來得到廣泛關(guān)注[2-3]。
在復(fù)雜多樣的背景中完整、快速、準確地識別出輸電線是無人機跟蹤輸電線飛行、實現(xiàn)自動巡檢的前提。 目前,輸電線識別主要有常規(guī)圖像處理和基于深度學(xué)習(xí)的圖像智能識別兩種方法。 在常規(guī)圖像處理方面,趙樂等[4]利用水平方向Ratio 算子檢測圖像邊緣,采用Hough 變換提取輸電線,具有較好的抗噪性,輸電線識別精度高,但對圖像中輸電線方向要求嚴格,并且容易將水平方向的線性噪聲識別為輸電線。 趙浩程等[5]通過直方圖均衡化提高圖像中輸電線和背景的對比度,采用Radon 變換快速完整地識別和提取輸電線,但背景復(fù)雜時,噪聲影響大,穩(wěn)定性較差。 張從新等[6]利用多組態(tài)形態(tài)學(xué)算法濾除二值圖中的背景噪聲,增強輸電線邊緣信息,采用Canny 算子檢測圖像邊緣,通過直線提取算法快速、準確地提取和識別輸電線,但需人工調(diào)節(jié)背景不同時邊緣檢測閾值,泛化能力有待提高。 Abid Hasan 和Ko[7]采用中值模糊過濾出邊緣特征,利用腐蝕和膨脹形態(tài)學(xué)操作與Canny 算子結(jié)合識別輸電線邊緣,可去除平滑操作無法處理的噪聲,保留輸電線像素信息。 Tian 等[8]通過雙邊濾波器消除圖像背景噪聲,同時保留輸電線邊緣信息,利用輸電線之間平行的先驗條件,通過Hough 變換識別輸電線,檢測速度快,但需手動調(diào)整參數(shù)以獲得最佳識別效果。
利用常規(guī)圖像處理檢測輸電線易受背景噪聲干擾,識別精度低,易出現(xiàn)漏檢或錯檢。 近年來,許多學(xué)者采用深度學(xué)習(xí)方法進行輸電線識別和提取。 其中,語義分割作為深度學(xué)習(xí)的核心應(yīng)用領(lǐng)域之一,圖像中每個像素均劃分出對應(yīng)的類別,實現(xiàn)像素級分類,突破了常規(guī)圖像處理識別精度的瓶頸[9-10]。 在語義分割領(lǐng)域,Long 等[11]提出的全卷積網(wǎng)絡(luò)(FCN)考慮多尺度特征融合,基于端到端的思想用卷積層代替全連接層處理圖像分割。 Ronneberger等[12]提出具有U 型結(jié)構(gòu)的UNet 網(wǎng)絡(luò),采用下采樣編碼、上采樣解碼和跳躍連接結(jié)構(gòu),下采樣逐層提取特征信息,上采樣逐層恢復(fù)特征信息,跳躍連接結(jié)構(gòu)對不同尺度的特征層進行融合,該方法對圖像中的小目標分割效果較好。 Badrinarayanan 等[13]提出的SegNet 網(wǎng)絡(luò)具有典型的編解碼結(jié)構(gòu),編碼器由VGG16 的前13 個卷積層組成,實現(xiàn)端到端像素級圖像分割。 Chen 等[14]提出的Deeplab 網(wǎng)絡(luò)引入了空洞卷積的金字塔池化,跨像素提取特征,擴大了感受野,使每個卷積輸出均包含較大范圍信息,能夠提取圖像多尺度特征。 針對輸電線的語義分割,Yetgin 和Gerek[15]利用離散余弦變換提取出輸電線特征,采用隨機森林和支持向量機分類器判斷圖像中是否存在輸電線,但不能實現(xiàn)輸電線的定位和提取。 劉嘉瑋等[16]針對已有語義分割模型輸電線識別準確率低和輸電線圖像數(shù)據(jù)樣本過少等問題,改進了UNet 網(wǎng)絡(luò),在下采樣中將池化層添加到第5 層從而覆蓋輸入圖像的全部感受野,在背景圖像中,添加與輸電線類似的線段,形成仿真數(shù)據(jù)集,采用改進的UNet 網(wǎng)絡(luò)在所搭建的仿真數(shù)據(jù)集上訓(xùn)練,能夠精確提取輸電線像素信息,識別準確率高,但仿真數(shù)據(jù)集與真實輸電線圖像差別較大、特征單一,容易導(dǎo)致網(wǎng)絡(luò)過擬合。 趙振兵等[17]采用FCN 網(wǎng)絡(luò)訓(xùn)練數(shù)據(jù)集,在上采樣階段添加多尺度膨脹卷積,擴大了感受野,有效提高了像素分類精度,但FCN 網(wǎng)絡(luò)模型參數(shù)多,識別速度慢。 Zhang 等[18]采用VGG16 作為主干特征提取網(wǎng)絡(luò)搭建輸電線檢測模型,利用非極大值抑制細化輸電線邊緣,提高輸電線分割精度,但模型參數(shù)較多,網(wǎng)絡(luò)訓(xùn)練速度較慢。
本文提出基于新型編解碼網(wǎng)絡(luò)復(fù)雜背景航拍圖像輸電線識別方法,能夠快速、準確地識別出圖像中的輸電線。 編碼器選用MobileNetV3 模型作為主干特征提取網(wǎng)絡(luò)并引入注意力機制,更新了H-swish和Hard-sigmoid 激活函數(shù),采用深度可分離卷積塊代替普通卷積,在編碼器第13 特征層引出快捷鏈路進行最大池化,壓縮特征信息后與第16 特征層在通道上進行堆疊。 解碼器添加金字塔池化模塊(PSP)增強輸電線特征復(fù)用性。 在編碼器和解碼器之間加入多尺度特征融合的跳躍連接結(jié)構(gòu),最終融合后的特征層通過1×1 卷積調(diào)整通道數(shù)對圖像中的輸電線像素點進行分類。 實驗表明,相對于現(xiàn)有的語義分割網(wǎng)絡(luò),新型編解碼網(wǎng)絡(luò)具有更高的分割精度和更快的識別速度。
輸電線大多架設(shè)在野外,航拍圖像背景復(fù)雜多變,輸電線貫穿整幅圖像并且像素點數(shù)占比很小,檢測難度大。 為實現(xiàn)無人機自動跟蹤輸電線飛行,要求輸電線識別精度高、速度快。 為滿足上述需求,本文構(gòu)建了一種新型編解碼網(wǎng)絡(luò),如圖1 所示。 該網(wǎng)絡(luò)包括降維和特征提取的編碼器,升維和特征恢復(fù)的解碼器兩部分,編解碼器之間的跳躍連接結(jié)構(gòu)使編碼器與解碼器相對應(yīng)的特征層進行通道上的疊加融合。 編解碼網(wǎng)絡(luò)淺層特征層主要用于邊緣分割,深層特征層主要用于像素分類,多層次特征融合結(jié)構(gòu)有助于增加特征信息的表達能力,便于輸電線分割。
圖1 新型編解碼網(wǎng)絡(luò)結(jié)構(gòu)
①編碼器
常見的主干特征提取網(wǎng)絡(luò)模型參數(shù)多,內(nèi)存要求高,選取輕量級MobileNetV3 模型作為編碼器的主干特征提取網(wǎng)絡(luò)減少了模型參數(shù)[19],運算效率高,識別速度快。 由于網(wǎng)絡(luò)深度增加容易出現(xiàn)網(wǎng)絡(luò)退化,難以訓(xùn)練等問題,借鑒殘差網(wǎng)絡(luò)思想,改進MobileNetV3 結(jié)構(gòu),在第13 特征層引出快捷鏈路進行最大池化壓縮特征信息,并與第16 特征層在通道上進行堆疊,充分利用淺層特征信息。
MobileNetV3 由1 個卷積塊和15 個Bneck 組成的卷積結(jié)構(gòu)模塊構(gòu)成。 如圖2 所示,Bneck 模塊包括多個深度可分離卷積(Dwise)、批量歸一化(BN)、H-swish、 Hard-sigmoid 激 活 函 數(shù)、 注 意 力 機 制(SE)[20]等,從而提高網(wǎng)絡(luò)模型表達能力并實現(xiàn)網(wǎng)絡(luò)輕量化。
圖2 Bneck 模塊
SE 對特征層進行一次平均池化(AvgPool),再進行兩次全連接(FC)得到與平均池化前特征層通道數(shù)相同,尺寸為1×1 的權(quán)重層,其每一層參數(shù)即為平均池化前特征層各個通道上的權(quán)重系數(shù)。 通過訓(xùn)練得到特征層各個通道的權(quán)重系數(shù),從而提高輸電線特征信息的利用率。
Bneck 模塊前兩層非線性激活函數(shù)采用H-swish函數(shù)
式中:Relu6 = min[6,max(0,x)],x為輸入值。H-swish激活函數(shù)能夠引入更多的非線性因素,提高模型表達能力。
在SE 的第二個全連接層更新Hard-sigmoid 激活函數(shù)
由于沒有指數(shù)項,計算量小,模型訓(xùn)練速度快。
②解碼器
為聚合特征層不同區(qū)域的上下文信息,提高輸電線特征復(fù)用性,獲取輸電線圖像全局信息,在解碼網(wǎng)絡(luò)中引入PSPNET 網(wǎng)絡(luò)[21]的金字塔池化模塊(PSP),如圖3 所示。
圖3 PSP 模塊
PSP 模塊將輸入特征層按照1×1,2×2,3×3 和6×6多尺度網(wǎng)格劃分成4 個子特征層,對子特征層每個網(wǎng)格內(nèi)部進行平均池化。 為保證全局特征權(quán)重,池化后的四個子特征層經(jīng)過1×1 卷積調(diào)整通道數(shù)為輸入特征層通道數(shù)的1/4;再通過上采樣(Upsample)恢復(fù)至池化前尺寸;最后,通過快捷鏈路將輸入特征層與上采樣后的4 個子特征層做通道上堆疊,得到融合4 種不同金字塔尺度的特征層。PSP 模塊融合了不同感受野平均池化特征,能夠更有效地聚合全局場景中輸電線語義信息,提高語義分割精度,使輸電線分割更精細。
解碼器中,PSP 模塊融合不同尺度特征信息,卷積塊(DBL)調(diào)整通道數(shù)并加強特征信息提取,通過上采樣恢復(fù)像素后與MobileNetV3 第11 特征層跳躍連接進行通道上堆疊;再經(jīng)過一層PSP 模塊提取特征信息,DBL 模塊調(diào)整通道數(shù)并提取特征信息,上采樣恢復(fù)像素后與MobileNetV3 第7 特征層跳躍連接進行堆疊;堆疊后的結(jié)果經(jīng)過三次深度可分離卷積提取特征信息并調(diào)整通道數(shù),上采樣恢復(fù)像素后與MobileNetV3 第4 特征層跳躍連接進行堆疊;再經(jīng)過三次深度可分離卷積和上采樣后與Mobile-NetV3 第2 特征層跳躍連接在通道上進行堆疊,通過三次深度可分離卷積和上采樣恢復(fù)像素到與輸入圖像具有相同尺寸的416×416,最后經(jīng)過1×1 卷積將通道數(shù)調(diào)整為類別數(shù),將輸出特征圖整合為416×416×2,實現(xiàn)輸電線像素和背景像素的分類。
編解碼網(wǎng)絡(luò)淺層下采樣倍數(shù)小,有利于提取細長輸電線簡單的邊緣特征信息;深層下采樣倍數(shù)大,輸電線特征信息經(jīng)過大幅壓縮,空間損失大,但有利于輸電線和背景的像素分類。 通過跳躍連接結(jié)構(gòu),將淺層和深層多尺度的特征信息融合,圖像分割精度得到顯著提升。
為便于理解構(gòu)建的新型編解碼網(wǎng)絡(luò)內(nèi)部運行過程,對不同深度特征層進行可視化操作[22],如圖4所示。
圖4 不同深度特征信息
可以看出,編碼器網(wǎng)絡(luò)淺層下采樣倍數(shù)小,有利于提取輸電線和背景詳細紋理特征,網(wǎng)絡(luò)深度增加,特征信息被壓縮,更加關(guān)注全局語義信息。 在解碼器中,通過跳躍連接結(jié)構(gòu)融合多尺度特征信息,結(jié)合淺層細節(jié)特征和深層語義特征,輸電線特征信息更加豐富,每一次級聯(lián)后,可視化結(jié)果更精細,網(wǎng)絡(luò)更加注重學(xué)習(xí)輸電線特征而忽略背景特征,提升識別效果。
由于沒有公開的輸電線圖像數(shù)據(jù)集,如圖5 所示,采用無人機拍攝了4 000 張輸電線數(shù)據(jù)樣本。為增強數(shù)據(jù)樣本之間的無關(guān)性,防止單一特征過擬合,調(diào)整無人機飛行姿態(tài),獲取視角、背景和光照強度不同時的輸電線圖像。
圖5 無人機拍攝輸電線圖像
采用Labelme 標注輸電線數(shù)據(jù)樣本標簽值,如圖6 所示,輸出包含輸電線像素信息的Json 文件。
圖6 Labelme 標注界面
數(shù)據(jù)集大小直接影響網(wǎng)絡(luò)訓(xùn)練效果,由于采集的樣本數(shù)量有限,為提高編解碼網(wǎng)絡(luò)訓(xùn)練魯棒性,增強網(wǎng)絡(luò)泛化能力,通過Mosaic 數(shù)據(jù)增強方法擴充圖像數(shù)據(jù)集。 如圖7 所示,在數(shù)據(jù)集中任意抽取四張圖片進行隨機縮放、翻轉(zhuǎn)、裁剪和色域變換等操作,再拼接成一張圖片作為訓(xùn)練數(shù)據(jù),批量歸一化時一次可同時訓(xùn)練四張圖片。 數(shù)據(jù)擴增容易出現(xiàn)模糊、分辨率過低等不適合網(wǎng)絡(luò)訓(xùn)練的圖像,經(jīng)人工篩選去除,最后得到數(shù)據(jù)集共5 000 張輸電線圖像,按照9 ∶1 劃分為訓(xùn)練集和測試集。 訓(xùn)練前將所有數(shù)據(jù)集尺寸統(tǒng)一調(diào)整為416×416×3。
圖7 Mosaic 數(shù)據(jù)增強
深度學(xué)習(xí)框架為Pytorch-GPU V1.7.0,處理器為Inter Core i7-9700k 3.60 GHz 八核,顯卡為Nvidia GeForce GTX 1660,顯存6 GB,內(nèi)存32 GB,Nvidia 運算平臺為CUDA10.1,GPU 加速庫為CUDNN7.6.4,圖像處理庫為Opencv4.4.0,編程語言Python3.7。
采用主流評價指標驗證輸電線語義分割性能。
①像素準確率(PA):預(yù)測正確的輸電線像素點數(shù)與該幅圖像所有像素點數(shù)之比。
式中:像素分割類別k=1,Pii表示網(wǎng)絡(luò)模型預(yù)測的像素點類別為輸電線,實際像素點標簽值類別也為輸電線,Pij表示網(wǎng)絡(luò)模型預(yù)測的像素點類別為輸電線,實際像素點標簽值類別為背景。
②類別平均像素準確率(MPA):所有目標類別PA 的均值。
③平均交并比(MIOU):每個分類預(yù)測結(jié)果和標簽值交集與并集的比值,求和后再求均值,為語義分割的標準度量,反映輸電線語義分割的準確度。
式中:pji表示網(wǎng)絡(luò)模型預(yù)測的像素點類別為背景,實際像素點標簽值類別為輸電線。
對編解碼網(wǎng)絡(luò)使用GPU 訓(xùn)練,采用Adam 優(yōu)化器,批大小(Batch_size)為8,初始學(xué)習(xí)率為0.000 1,訓(xùn)練世代為500 代,每隔一代調(diào)整學(xué)習(xí)率衰減速度,學(xué)習(xí)率衰減系數(shù)為0.000 5。
損失函數(shù)由兩部分構(gòu)成,分別為交叉熵損失L和Dice_Loss。 交叉熵損失反映真實概率與預(yù)測概率的差異,其值越小,網(wǎng)絡(luò)模型預(yù)測效果越好。
式中:X為網(wǎng)絡(luò)預(yù)測結(jié)果,Y為標簽值結(jié)果。
Dice 系數(shù)為集合相似度的度量函數(shù),其值越大表示預(yù)測結(jié)果與真實結(jié)果重合度越大,取值范圍為[0,1]。
采用遷移學(xué)習(xí)策略[23],利用開源VOC 數(shù)據(jù)集在編解碼網(wǎng)絡(luò)上通過預(yù)訓(xùn)練得到預(yù)訓(xùn)練權(quán)值參數(shù),并將其遷移至編解碼網(wǎng)絡(luò)模型訓(xùn)練輸電線數(shù)據(jù)集,共訓(xùn)練500 個世代,編解碼網(wǎng)絡(luò)損失值變化如圖8所示。 可見,隨著訓(xùn)練代數(shù)增加,網(wǎng)絡(luò)訓(xùn)練趨于穩(wěn)定,損失值收斂于0.1 附近。
圖8 損失值-訓(xùn)練世代曲線
為了檢驗所構(gòu)建的新型編解碼網(wǎng)絡(luò)有效性,對比新型編解碼網(wǎng)絡(luò)與主流語義分割模型UNet[12]網(wǎng)絡(luò)、PSPNet[24]網(wǎng)絡(luò)以及文獻[16]和文獻[18]所述網(wǎng)絡(luò)的輸電線識別效果,五個網(wǎng)絡(luò)實驗環(huán)境和數(shù)據(jù)集相同,實驗結(jié)果如圖9 所示。 可以看出,PSPNet網(wǎng)絡(luò)輸電線識別效果較差,將輸電線附近的背景像素誤判為輸電線,并出現(xiàn)輸電線斷線情況。 UNet 網(wǎng)絡(luò)模型對于簡單背景,可以識別出輸電線的方向和具體位置,識別效果較好,但在樹葉繁茂背景下容易出現(xiàn)輸電線丟失和斷裂,并且將樹干誤判為輸電線。文獻[16]改進的UNet 網(wǎng)絡(luò)輸電線識別效果較好,但復(fù)雜背景圖像邊緣處未識別出輸電線。 文獻[18]所用網(wǎng)絡(luò)利用非極大值抑制細化輸電線邊緣容易導(dǎo)致輸電線斷裂或缺失。 新型編解碼網(wǎng)絡(luò)在背景復(fù)雜,輸電線方向不同時,均能準確識別出完整、干凈的輸電線。
圖9 五種網(wǎng)絡(luò)輸電線識別結(jié)果
表1 對比了五種網(wǎng)絡(luò)的實驗結(jié)果。 可以看出,新型編解碼網(wǎng)絡(luò)的各項評價指標均優(yōu)于UNet 網(wǎng)絡(luò)、PSPNet 網(wǎng)絡(luò)、文獻[16]和文獻[18]所述網(wǎng)絡(luò)。 文獻[16]改進的UNet 網(wǎng)絡(luò)相對于改進前的UNet 網(wǎng)絡(luò)分割精度有所提高,但模型深度增加導(dǎo)致運算量增大,識別速度降低。 文獻[18]采用VGG16 作為主干特征提取網(wǎng)絡(luò),模型參數(shù)量大,特征提取能力弱于MobileNetV3,分割精度不高,識別速度低于其他網(wǎng)絡(luò)。 新型編解碼網(wǎng)絡(luò)的分割準確率MPA 和MIOU 分別達到了94.37%和86.95%,分割速度達到了31 frame/s,均高于其他四種網(wǎng)絡(luò),表明新型編解碼網(wǎng)絡(luò)輸電線分割精度高、識別速度快。
表1 五種網(wǎng)絡(luò)實驗結(jié)果對比
為進一步驗證新型編解碼網(wǎng)絡(luò)的有效性,進行消融對比實驗,如表2 所示。 方法1:編碼器中Bneck 模塊采用Relu6 激活函數(shù),未引入注意力機制,采用普通卷積代替深度可分離卷積;方法2:編碼器第13 特征層未引出快捷鏈路進行最大池化層與第16 特征層堆疊,直接進行正向傳播;方法3:解碼器只進行卷積和上采樣操作,未引入PSP 模塊;方法4:去除編解碼網(wǎng)絡(luò)之間的跳躍連接結(jié)構(gòu);方法5:減少編碼器主干特征提取網(wǎng)絡(luò)深度,去除第11 特征層后的Bneck 模塊,對淺層特征進行解碼器操作還原至原圖大?。环椒?:新型編解碼網(wǎng)絡(luò)。
表2 消融對比實驗結(jié)果
可以看出,方法1 的FPS 明顯低于其他方法,表明引入H-swish 激活函數(shù)和深度可分離卷積有利于網(wǎng)絡(luò)輕量化和提高識別速度,由于未引入注意力機制獲取輸電線特征層各通道信息,方法1 識別精度低。 方法2 識別精度較高但低于方法6,表明在第13 特征層引出的快捷鏈路能夠利用淺層特征信息,使深層特征更加豐富,有助于提高識別精度。 方法3 識別結(jié)果表明,解碼器中PSP 模塊有效聚合了全局語義信息,有助于提高分割精度。 方法4 識別精度較低,表明編解碼器中添加跳躍連接有效融合了淺層和深層多尺度特征信息,大幅提高了輸電線像素分類準確度。 方法5 識別精度最低,但FPS 最高,表明隨著編解碼網(wǎng)絡(luò)深度增加,編碼器特征提取效果得到增強,輸電線語義信息分類和定位更準確,但模型參數(shù)增加降低了識別速度。
針對輸電線在航拍圖像中像素點數(shù)占比小、背景復(fù)雜、檢測難度大,現(xiàn)有方法檢測速度慢、精度低等問題,設(shè)計了基于新型編解碼網(wǎng)絡(luò)的輸電線識別方法。 編碼器采用MobileNetV3 輕量級模型作為主干特征提取網(wǎng)絡(luò),并在MobileNetV3 的淺層引出快捷鏈路與深層堆疊,解碼器中添加PSP 模塊和深度可分離卷積,在編解碼器之間加入多尺度特征融合的跳躍連接結(jié)構(gòu)。 實驗結(jié)果表明,新型編解碼網(wǎng)絡(luò)MPA、MIOU 和FPS 分別達到了94.37%、86.95%和31 frame/s,分割精度和識別速度均優(yōu)于UNet 網(wǎng)絡(luò)和PSPNet 網(wǎng)格。 消融對比實驗表明,采用深度可分離卷積能夠減少網(wǎng)絡(luò)參數(shù),降低運算成本并提高計算效率,有助于提高網(wǎng)絡(luò)輕量化和運算速度。 引入H-swish 和Hard-sigmoid 激活函數(shù)增加了非線性因素,提高了網(wǎng)絡(luò)模型的表達能力。 添加注意力機制、引出的快捷鏈路、PSP 模塊、跳躍連接結(jié)構(gòu)和網(wǎng)絡(luò)深度的增加對提高分割精度具有顯著作用。
新型編解碼網(wǎng)絡(luò)能快速準確地識別出復(fù)雜背景下的輸電線,為無人機跟蹤輸電線巡檢提供了新的方法。 后續(xù)工作將進一步采集和擴充輸電線樣本,優(yōu)化網(wǎng)絡(luò)實現(xiàn)復(fù)雜背景中多根、交叉或方向改變的輸電線識別,推動語義分割用于輸電線識別技術(shù)的發(fā)展。