鐘映春,鄭海陽*,張文祥,王波,羅志勇
1. 廣東工業(yè)大學(xué)自動化學(xué)院,廣州 510006; 2. 廣東省機(jī)械技師學(xué)院機(jī)電工程系,廣州 510450;3. 廣州市優(yōu)飛信息科技有限公司,廣州 510630
電網(wǎng)安全運(yùn)行對于國家和社會都具有極為重要的意義,對輸電線路進(jìn)行巡檢是確保電網(wǎng)安全的關(guān)鍵措施之一(閆春江 等,2018)。近年來,為了提高巡檢效率和人員的安全性,廣泛采用無人機(jī)進(jìn)行電力輸電線的巡檢。
工程車輛是包括挖掘機(jī)、起重機(jī)等在內(nèi)的大型機(jī)械,這些車輛在施工現(xiàn)場得到廣泛應(yīng)用。當(dāng)工程車輛在高壓輸電線網(wǎng)下方或附近進(jìn)行施工時,由于經(jīng)常需要舉升挖斗或起重臂,極有可能出現(xiàn)挖斗或起重臂進(jìn)入電網(wǎng)安全距離的情況,引起擊穿短路等安全事故。為了防止這類情況的發(fā)生,非常有必要對無人機(jī)航拍圖像中在高壓輸電線網(wǎng)附近作業(yè)的工程車輛進(jìn)行準(zhǔn)確識別,以盡早給出預(yù)警信號。
目前對圖像中工程車輛的識別方法主要包括經(jīng)典模式識別方法和深度學(xué)習(xí)方法(武金婷 等,2019)。在經(jīng)典模式識別方法中,邵宇等人(2013)提出了一種基于視頻序列的工程車輛識別算法,結(jié)合方向梯度直方圖(histogram of oriented gradients, HOG)和支持向量機(jī)(support vector machine, SVM)來對智能監(jiān)控中的工程車輛進(jìn)行識別,張全發(fā)等人(2013)則在此基礎(chǔ)上提出使用Hough變換直線檢測的方法來提高對智能監(jiān)控中工程車輛的檢測率,但是這種方法只有在背景環(huán)境較為單一的條件下才能夠保證較高的識別準(zhǔn)確率。在深度學(xué)習(xí)方法方面,閆春江等人(2018)將PBAS(pixel-based adaptive segmenter)算法和VGGNet-16(Visual Geometry Group network-16)網(wǎng)絡(luò)模型相結(jié)合,提出一種基于深度學(xué)習(xí)的工程車輛入侵的檢測方法,能夠在提高檢測速度的同時保持較高的檢測準(zhǔn)確率,但是對于背景比較復(fù)雜的場景,依舊存在一定的漏檢率。目前關(guān)于無人機(jī)航拍圖像中工程車輛識別的研究甚為罕見。Zhang等人(2018)提出使用Faster R-CNN(faster region-convolutional neural network)來對無人機(jī)航拍圖像中的工程車輛進(jìn)行識別,該方法能夠?qū)崿F(xiàn)較好的目標(biāo)識別準(zhǔn)確率,但是其推理時間較長,且要求有足夠大的數(shù)據(jù)集對模型進(jìn)行訓(xùn)練。
膠囊網(wǎng)絡(luò)是Sabour等人(2017)為解決卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)池化操作丟失圖像大量特征信息而提出的一種網(wǎng)絡(luò)結(jié)構(gòu)。為了提取圖像中更多的特征,Phaye等人(2018)提出將特征提取網(wǎng)絡(luò)改進(jìn)為3層特征提取網(wǎng)絡(luò)。Zhang等人(2019)提出了CNN-CapsNet,將CapsNet和VGG16(Simonyan和Zisserman,2015)或Inception3(Szegedy等,2016)結(jié)合,以提取圖像更多的特征,但是增加了網(wǎng)絡(luò)復(fù)雜度。Yang等人(2020)則是將膠囊網(wǎng)絡(luò)和Res2Net相結(jié)合,利用Res2Net提取圖像更多的特征。Bhamidi和El-Sharkawy(2020)結(jié)合了膠囊網(wǎng)絡(luò)和殘差網(wǎng)絡(luò),提出了一種3層殘差膠囊網(wǎng)絡(luò),實現(xiàn)了對復(fù)雜數(shù)據(jù)更好的識別效果。為了測量膠囊網(wǎng)絡(luò)分類時預(yù)測結(jié)果的不確定指數(shù),Afshar等人(2020)提出將膠囊網(wǎng)絡(luò)與貝葉斯算法相結(jié)合,該方法提高了膠囊網(wǎng)絡(luò)的計算成本。動態(tài)路由算法是膠囊網(wǎng)絡(luò)的核心算法,Wang和Liu(2018)改進(jìn)了動態(tài)路由算法中耦合系數(shù)的初始化方式和更新方式,有效提升了膠囊網(wǎng)絡(luò)的分類性能。Hinton等人(2018)提出將膠囊網(wǎng)絡(luò)改進(jìn)為基于EM(expectation maximization)路由算法的矩陣型膠囊網(wǎng)絡(luò),輸出用矩陣表示,可以更好地表征圖像的特征。Zhao等人(2019)則將動態(tài)路由算法中的softmax函數(shù)替換為max-min函數(shù),在目標(biāo)特征較為簡單的圖像識別中可以提高分類準(zhǔn)確率。Basu等人(2020)則提出了一種將膠囊網(wǎng)絡(luò)的擠壓函數(shù)去除,并在膠囊網(wǎng)絡(luò)中加入池化層的改進(jìn)膠囊網(wǎng)絡(luò),提高了膠囊網(wǎng)絡(luò)的識別準(zhǔn)確率。目前膠囊網(wǎng)絡(luò)在小型數(shù)據(jù)集的相關(guān)領(lǐng)域得到了廣泛應(yīng)用,如文本識別(Wu 等,2020)、白細(xì)胞分類(Baydilli和 Atila,2020)、行為檢測(Ha和Chen,2021)和心臟圖像分割(劉暢 等, 2021)等。
針對當(dāng)前各種算法在識別無人機(jī)電力巡檢航拍圖像中的工程車輛過程中,存在識別準(zhǔn)確率低、參數(shù)規(guī)模大以及訓(xùn)練集樣本需求大等問題,本文提出一種改進(jìn)的膠囊網(wǎng)絡(luò)方法對無人機(jī)巡檢航拍圖像中工程車輛進(jìn)行識別,主要包括對其網(wǎng)絡(luò)結(jié)構(gòu)和動態(tài)路由算法進(jìn)行改進(jìn),并探索網(wǎng)絡(luò)層數(shù)、動態(tài)路由算法中關(guān)鍵參數(shù)等因素對識別準(zhǔn)確率、效率和參數(shù)規(guī)模的影響。
本文設(shè)計的無人機(jī)航拍圖像中工程車輛識別算法總體架構(gòu)如圖1所示。
圖1 總體架構(gòu)設(shè)計Fig.1 Design of research architecture
從圖1可見,無人機(jī)航拍圖像中工程車輛識別改進(jìn)算法的總體架構(gòu)包括構(gòu)建數(shù)據(jù)集、構(gòu)建圖像識別模型以及測試、對比和評估3大過程。
構(gòu)建數(shù)據(jù)集包括圖像標(biāo)注、圖像分塊、圖像尺寸歸一化和圖像分組等過程。
構(gòu)建圖像識別模型階段對原始膠囊網(wǎng)絡(luò)算法進(jìn)行了兩個方面的改進(jìn):改進(jìn)網(wǎng)絡(luò)結(jié)構(gòu)和改進(jìn)動態(tài)路由算法。同時構(gòu)建了經(jīng)典模式識別算法模型和YOLOv5算法模型,用于后續(xù)對比實驗。
測試、對比和評估階段如下:1)確定兩種改進(jìn)的有效性;2)探索膠囊網(wǎng)絡(luò)層數(shù)、動態(tài)路由算法關(guān)鍵參數(shù)等對算法識別性能的影響;3)將本文算法獲取的膠囊網(wǎng)絡(luò)最優(yōu)模型分別與經(jīng)典模式識別方法、YOLOv5(you only look once v5)方法進(jìn)行對比。
本文的圖像使用大疆“御”Mavic 2無人機(jī)搭載LID-20c哈蘇航拍相機(jī)采集,航拍圖像分辨率為2 592×1 944 像素,共采集包含不同場景的2 069幅圖像。本文采用PowerLabelImg進(jìn)行圖像標(biāo)注。航拍圖像中的工程車輛主要有挖掘機(jī)Excavator、起重機(jī)Crane以及塔吊機(jī)Tower crane等3種類別。
無人機(jī)航拍圖像經(jīng)過標(biāo)注,得到工程車輛的ground-truth以及對應(yīng)存儲的工程車輛類別信息和位置信息,根據(jù)這些信息從無人機(jī)航拍原圖像中裁剪出ground-truth對應(yīng)的圖像子塊,并對所有圖像子塊進(jìn)行圖像尺寸歸一化處理,得到對應(yīng)分辨率為64×64 像素的無人機(jī)航拍圖像子塊,任選其中一個樣例如圖2所示。
圖2 圖像分塊和歸一化案例Fig.2 A case of image subblock and normalization
本文構(gòu)建了兩個數(shù)據(jù)集。第1個數(shù)據(jù)集由圖像分塊和歸一化后的圖像子塊構(gòu)建,主要用于膠囊網(wǎng)絡(luò)實驗以及后續(xù)對比實驗,簡稱為數(shù)據(jù)集1,共有1 890幅圖像子塊,將該數(shù)據(jù)集按照4 ∶1的比例隨機(jī)分為訓(xùn)練集和測試集。第2個數(shù)據(jù)集不需要經(jīng)過圖像分塊和歸一化,直接由經(jīng)過標(biāo)注的無人機(jī)航拍高分辨率原圖像構(gòu)建而成,簡稱為數(shù)據(jù)集2。按照4 ∶1的比例將數(shù)據(jù)集2隨機(jī)分為訓(xùn)練集和測試集。
CNN由于池化操作而使得大量圖像信息丟失,因此存在對空間信息不敏感、無旋轉(zhuǎn)不變性等問題,膠囊網(wǎng)絡(luò)可以有效解決此問題。膠囊網(wǎng)絡(luò)對64×64像素的彩色圖像子塊進(jìn)行處理的網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。膠囊網(wǎng)絡(luò)主要由3部分組成,分別為特征提取層、主膠囊層和數(shù)字膠囊層,其中數(shù)字膠囊層是膠囊網(wǎng)絡(luò)的核心層,其通過動態(tài)路由算法實現(xiàn)對目標(biāo)的分類。
圖3 原始膠囊網(wǎng)絡(luò)結(jié)構(gòu)Fig.3 Architecture of original capsule network
膠囊網(wǎng)絡(luò)去除了CNN中常用的池化層,首先通過單層的特征提取網(wǎng)絡(luò)提取圖像特征;接著通過主膠囊層,將提取出來的特征轉(zhuǎn)換為向量表示,作為數(shù)字膠囊層的輸入;數(shù)字膠囊層通過動態(tài)路由算法,不斷更新輸入向量,經(jīng)過一定的迭代次數(shù)后,數(shù)字膠囊層輸出一組向量,有多少個類別則對應(yīng)多少個輸出向量,每個輸出向量的模值代表了圖像中某一實體屬于某一類別的概率。膠囊網(wǎng)絡(luò)使用動態(tài)路由機(jī)制代替池化操作,從而避免了圖像信息的大量丟失,適用于數(shù)據(jù)集較小的目標(biāo)識別場景。工程車輛識別的無人機(jī)航拍圖像數(shù)據(jù)集較小且獲取困難,因此考慮使用膠囊網(wǎng)絡(luò)對無人機(jī)航拍圖像中的工程車輛進(jìn)行識別。
膠囊網(wǎng)絡(luò)在某些復(fù)雜數(shù)據(jù)集中具有良好的識別效果(Xi等,2017),在識別航拍圖像中的工程車輛過程中,可以通過對膠囊網(wǎng)絡(luò)進(jìn)行改進(jìn)以進(jìn)一步提高其目標(biāo)識別準(zhǔn)確率。
3.2.1 網(wǎng)絡(luò)結(jié)構(gòu)的改進(jìn)
無人機(jī)航拍工程車輛圖像數(shù)據(jù)集具有較為復(fù)雜的圖像特征,因此本文將膠囊網(wǎng)絡(luò)的單層卷積特征提取網(wǎng)絡(luò)改進(jìn)為多層卷積特征提取網(wǎng)絡(luò),以提取圖像中更復(fù)雜的特征。
考慮到網(wǎng)絡(luò)深度的增加會使得網(wǎng)絡(luò)的參數(shù)大幅增加,將嚴(yán)重影響神經(jīng)網(wǎng)絡(luò)訓(xùn)練的效率。本文提出采用密集連接型網(wǎng)絡(luò)的跳躍式連接方式,實現(xiàn)不同層之間的特征級聯(lián)(Huang 等,2017)。具有3層密集連接型的膠囊網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示。
圖4 3層密集連接型膠囊網(wǎng)絡(luò)結(jié)構(gòu)Fig.4 Architecture of 3-level densely connected capsule network
由圖4可以看出,3層密集連接型網(wǎng)絡(luò)依舊由3部分組成,分別是特征提取網(wǎng)絡(luò)、主膠囊層以及數(shù)字膠囊層。特征提取網(wǎng)絡(luò)由3個連續(xù)的多層密集連接型網(wǎng)絡(luò)結(jié)構(gòu)塊構(gòu)成,對應(yīng)輸出3個特征圖;與原始膠囊網(wǎng)絡(luò)方法類似,主膠囊層由3個子塊構(gòu)成,分別以特征提取網(wǎng)絡(luò)得到的3個特征圖作為輸入,對應(yīng)輸出3個8維的向量組,對這3個向量組進(jìn)行級聯(lián)得到主膠囊層的第4個輸出向量組;在數(shù)字膠囊層中,通過動態(tài)路由算法分別對主膠囊層的4個輸出進(jìn)行路由計算,得到存儲著圖像特征信息的另外4組向量,將這4組向量進(jìn)行級聯(lián)即得到最終的輸出結(jié)果。
本文將原始膠囊網(wǎng)絡(luò)分別改進(jìn)為3層、5層、7層的密集連接型膠囊網(wǎng)絡(luò),以探索網(wǎng)絡(luò)層數(shù)對識別效果的影響。分別設(shè)計3層、5層、7層的密集連接型膠囊網(wǎng)絡(luò)卷積核,如圖5所示。
圖5 不同層數(shù)膠囊網(wǎng)絡(luò)的卷積核Fig.5 Convolution kernel of capsule network with different layers
3.2.2 動態(tài)路由算法的改進(jìn)
softmax函數(shù)在原始膠囊網(wǎng)絡(luò)的動態(tài)路由算法中主要用于更新子膠囊與父膠囊之間的耦合系數(shù),加強(qiáng)兩者之間的連接。其原理是,假設(shè)動態(tài)路由過程共有n個輸出,動態(tài)路由過程中softmax的具體計算過程為:
對于第i個輸入膠囊,有l(wèi)ogits系數(shù)
bi=[bi1,bi2,bi3,…]
(1)
對bi進(jìn)行softmax計算,則得到耦合系數(shù)
(2)
包含工程車輛的無人機(jī)航拍圖像的背景較為復(fù)雜,容易對識別過程造成較大的干擾。研究表明,在耦合系數(shù)的更新過程中,在logits系數(shù)bi中加入leak值可以有效地減少背景噪聲的干擾(Zhao等,2018),針對工程車輛識別背景噪聲較大的問題,本文提出將多層密集連接型膠囊網(wǎng)絡(luò)中動態(tài)路由過程的softmax函數(shù)替換為leaky-softmax函數(shù)。
同樣假設(shè)動態(tài)路由過程共有n個輸出,leaky-softmax函數(shù)的具體計算過程為:
對于第i個輸入膠囊,對應(yīng)的有l(wèi)eak值li為
li=[0,0,0,…]
(3)
將logits系數(shù)bi和leak值li進(jìn)行級聯(lián),則得到
lbi=[bi1,bi2,bi3,…,0,0,0,…]
(4)
對應(yīng)地,有
(5)
lci是對lbi進(jìn)行softmax計算后得到的結(jié)果。則對應(yīng)的耦合系數(shù)ci取lci的前n項,有
ci=[lci[0],lci[1],lci[2],…,lci[n-1]]
(6)
由耦合系數(shù)的最終取值可知,通過在logits系數(shù)加入leak值,有望減少耦合系數(shù)中的干擾成分,從而減少噪聲干擾,提高識別準(zhǔn)確率。
此外,在動態(tài)路由算法中有兩個關(guān)鍵參數(shù):路由系數(shù)r和擠壓系數(shù)λ,其中路由系數(shù)r是指動態(tài)路由算法進(jìn)行路由計算的迭代次數(shù),擠壓系數(shù)λ是指動態(tài)路由算法中用于歸一化的擠壓函數(shù)中的一個可變參數(shù)。這些參數(shù)可能會影響識別準(zhǔn)確率或者效率等。本文將探索這些參數(shù)對膠囊網(wǎng)絡(luò)性能的影響。
實驗硬件平臺:CPU為i7-6700K,32 GB內(nèi)存,GPU為英偉達(dá)公司的GTX1070顯卡,8 GB顯存,硬盤1 TB,1 920個CUDA核心,內(nèi)存帶寬256 GB/s。
實驗軟件平臺:Linux操作系統(tǒng),深度學(xué)習(xí)專用編程框架CUDA9.0以及cuDNN7.0,高層神經(jīng)網(wǎng)絡(luò)API庫Keras,TensorFlow和Python 3.6。
本文采用mAP(mean average precision)、檢測速率等指標(biāo)作為對各個算法性能的主要評價指標(biāo)。
AP(average precision)值常用于評價目標(biāo)識別算法對某一類別識別效果,主要由精確度(precision)和召回率(recall)共同確定,即
p=TP/(TP+FP)
(7)
r=TP/(TP+FN)
(8)
(9)
式中,P為精確度,r為召回率,TP為預(yù)測正確的正樣本數(shù)量,F(xiàn)P為預(yù)測為正樣本的負(fù)樣本數(shù)量,F(xiàn)N為預(yù)測為負(fù)樣本的正樣本數(shù)量,則TP+FP表示所有被預(yù)測為正樣本的樣本數(shù)量,TP+FN表示所有樣本中的ground-truth數(shù)量。
mAP是所有類別的AP值的平均值,本文以mAP作為主要評價指標(biāo)之一。
為了評價算法的識別效率,本文使用每秒幀率(frames per second,F(xiàn)PS),即每秒處理圖像數(shù)來作為檢測速度的評估指標(biāo),F(xiàn)PS越大,算法的識別效率越好。
為了避免訓(xùn)練階段中配置信息不同帶來的測試結(jié)果誤差,本文均采用相同的迭代次數(shù)與學(xué)習(xí)率調(diào)整方式,共進(jìn)行50輪迭代訓(xùn)練,學(xué)習(xí)率為0.000 1。
本文主要對比以下4種算法的性能:
1)原始膠囊網(wǎng)絡(luò)方法。
2)多層密集連接型膠囊網(wǎng)絡(luò)方法,簡稱改進(jìn)1算法。
3)原始膠囊網(wǎng)絡(luò)方法+leaky_softmax函數(shù),簡稱改進(jìn)2算法。
4)將改進(jìn)1和改進(jìn)2融合在一起,簡稱改進(jìn)3算法。
4.3.1 確定對原始算法的兩個改進(jìn)的有效性
為了評估改進(jìn)后算法能否提高識別準(zhǔn)確率或者效率,設(shè)定改進(jìn)1算法和改進(jìn)3算法均為3層密集連接型膠囊網(wǎng)絡(luò),4種算法均設(shè)置為路由系數(shù)r=3,擠壓系數(shù)λ=1。本文在數(shù)據(jù)集1上進(jìn)行如下實驗:
1)采用數(shù)據(jù)集1中的訓(xùn)練集對原始膠囊網(wǎng)絡(luò)、改進(jìn)1算法、改進(jìn)2算法和改進(jìn)3算法等4種算法分別進(jìn)行訓(xùn)練,記錄隨著epoch數(shù)的增加4種算法驗證準(zhǔn)確率的變化曲線。
2)對比評估4種算法在訓(xùn)練階段的數(shù)據(jù)結(jié)果,分析算法的性能。
實驗結(jié)果如表1所示。
表1 4種算法性能對比Table 1 Comparison of four algorithms’ performance
從表1可見,4種算法的識別準(zhǔn)確率具有以下關(guān)系:
mAP3>mAP1>mAP2>mAPorg
(10)
式中,mAPorg為原始膠囊網(wǎng)絡(luò)的識別準(zhǔn)確率,mAP1為改進(jìn)1算法的識別準(zhǔn)確率,其余符號以此類推。
從表1和式(10)可見:1)本文提出的2種改進(jìn)方法的識別準(zhǔn)確率均高于原始算法,說明本文提出的兩種改進(jìn)是有效的;2)改進(jìn)1的準(zhǔn)確率比改進(jìn)2的準(zhǔn)確率高,說明多層密集連接的改進(jìn)效果比動態(tài)路由改進(jìn)的效果更好;3)改進(jìn)3的準(zhǔn)確率比改進(jìn)1和改進(jìn)2都高,說明將兩種改進(jìn)結(jié)合在一起可以進(jìn)一步提升膠囊網(wǎng)絡(luò)的識別準(zhǔn)確率,但是識別效率有所降低。
4.3.2 網(wǎng)絡(luò)層數(shù)對膠囊網(wǎng)絡(luò)識別性能的影響
為了探索網(wǎng)絡(luò)層數(shù)對膠囊網(wǎng)絡(luò)性能的影響,設(shè)置路由系數(shù)r=3,擠壓系數(shù)λ=1,本文在數(shù)據(jù)集1中進(jìn)行了如下實驗:
令改進(jìn)1算法和改進(jìn)3算法中網(wǎng)絡(luò)的層數(shù)分別為1層(原始膠囊網(wǎng)絡(luò))、3層、5層和7層,而后分別對各個算法進(jìn)行訓(xùn)練和測試。實驗結(jié)果如圖6所示。
圖6 網(wǎng)絡(luò)層數(shù)對算法性能的影響Fig.6 Effect of network layers on algorithm performance((a)change curves of mAP;(b) changes curve of FPS;(c) change curves of parameter scale)
由圖6(a)可見,首先,網(wǎng)絡(luò)層數(shù)對識別準(zhǔn)確率有很大影響,二者之間存在非單調(diào)非線性的關(guān)系。在本文的應(yīng)用場景中,5層的網(wǎng)絡(luò)識別準(zhǔn)確率最高;其次,動態(tài)路由算法的改進(jìn)與否不會影響識別準(zhǔn)確率跟隨網(wǎng)絡(luò)層數(shù)的變化趨勢。由圖6(b)可見,首先,網(wǎng)絡(luò)層數(shù)與識別效率之間是單調(diào)遞減的關(guān)系。層數(shù)越多,效率越低;其次,動態(tài)路由算法的改進(jìn)與否對于膠囊網(wǎng)絡(luò)的識別效率影響不大。由圖6(c)可見,網(wǎng)絡(luò)結(jié)構(gòu)的改進(jìn)并不一定會增加膠囊網(wǎng)絡(luò)的參數(shù)規(guī)模,但是隨著多層密集連接型膠囊網(wǎng)絡(luò)層數(shù)的增加,參數(shù)規(guī)模會逐步增加。同時結(jié)合mAP變化曲線可知,膠囊網(wǎng)絡(luò)的目標(biāo)識別準(zhǔn)確率并不會隨著參數(shù)規(guī)模的增大而提高,兩者之間沒有明顯的關(guān)聯(lián)性。
4.3.3 動態(tài)路由算法中關(guān)鍵參數(shù)對膠囊網(wǎng)絡(luò)性能的影響
為了探索動態(tài)路由算法中的路由系數(shù)r和擠壓系數(shù)λ對膠囊網(wǎng)絡(luò)算法識別性能的影響,令λ=1時,r=3、r=5;再令λ=0.5時,r=3、r=5,膠囊網(wǎng)絡(luò)中的動態(tài)路由算法分別采用softmax函數(shù)和leaky_softmax函數(shù),采用數(shù)據(jù)集1進(jìn)行訓(xùn)練和測試。實驗結(jié)果如圖7所示。
圖7 動態(tài)路由算法中關(guān)鍵參數(shù)對膠囊網(wǎng)絡(luò)性能的影響Fig.7 Effects of key parameters in dynamic routing algorithms on capsule network performance((a)change curves of mAP when λ=1;(b)change curves of mAP when λ=0.5)
對圖7實驗結(jié)果進(jìn)行分析:1)當(dāng)擠壓系數(shù)λ固定不變時,softmax型膠囊網(wǎng)絡(luò)和leaky_softmax型膠囊網(wǎng)絡(luò)在路由系數(shù)r=5時的mAP大體上均要高于r=3時的mAP,只有在λ=0.5且網(wǎng)絡(luò)層數(shù)為7時,r=3時的mAP要高于r=5時;2)擠壓系數(shù)λ不同取值對算法目標(biāo)識別準(zhǔn)確率會有一定的影響,但是并沒有固定的規(guī)律,當(dāng)路由系數(shù)和網(wǎng)絡(luò)層數(shù)分別取不同值時,擠壓系數(shù)的改變對目標(biāo)識別準(zhǔn)確率的影響效果是不同的;3)在本文所做的測試實驗中,當(dāng)r=5、λ=1時,leaky_softmax型的5層密集連接型膠囊網(wǎng)絡(luò)的目標(biāo)識別準(zhǔn)確率為94.56%,在本文的實驗中為最優(yōu)值,命名此時的膠囊網(wǎng)絡(luò)算法模型為本文中的最優(yōu)算法模型。
4.3.4 本文最優(yōu)算法與其他算法的性能對比
為了評估本文的最優(yōu)算法與經(jīng)典模式識別方法以及YOLOv5方法之間的性能差異,分別在數(shù)據(jù)集1和數(shù)據(jù)集2上進(jìn)行了如下實驗:
1)使用數(shù)據(jù)集1中的訓(xùn)練集對HOG+局部二值模式(local binary pattern,LBP)+SVM的經(jīng)典模式識別方法進(jìn)行訓(xùn)練;使用數(shù)據(jù)集2中的訓(xùn)練集對YOLOv5方法進(jìn)行訓(xùn)練,獲得對應(yīng)的模型。YOLOv5選擇進(jìn)行對比的版本是YOLOv5x,YOLOv5x在YOLOv5各個版本中mAP最高,但是對應(yīng)的參數(shù)規(guī)模也最大。
2)使用數(shù)據(jù)集1和數(shù)據(jù)集2中的測試集分別測試各個模型,記錄識別mAP和FPS。
實驗結(jié)果如表2所示,本文最優(yōu)算法的mAP性能最好,但是識別效率FPS最低,參數(shù)規(guī)模中等偏小。
表2 與其他算法性能對比Table 2 Comparing performance with other algorithms
在mAP性能方面,原始膠囊網(wǎng)絡(luò)的識別準(zhǔn)確率為89.49%,比YOLOv5x高了17.88%,同時也比經(jīng)典模式識別方法高0.77%;本文最優(yōu)算法模型有效提升了原始膠囊網(wǎng)絡(luò)的識別準(zhǔn)確率mAP,達(dá)到了94.56%,相比原始膠囊網(wǎng)絡(luò)提高了5.07%??梢?,膠囊網(wǎng)絡(luò)算法經(jīng)過兩個方面的改進(jìn),并探索網(wǎng)絡(luò)層數(shù)和動態(tài)路由算法的兩個關(guān)鍵參數(shù)的最佳搭配后,其識別性能得到顯著改進(jìn)。
對比各個算法的FPS值可見,原始膠囊網(wǎng)絡(luò)的FPS為28.77幀/s,相比較于經(jīng)典模式識別方法提升了8.55幀/s;經(jīng)過改進(jìn)后的膠囊網(wǎng)絡(luò)隨著網(wǎng)絡(luò)層數(shù)的增加FPS有所下降,本文最優(yōu)算法模型的FPS為10.05幀/s,相比原始膠囊網(wǎng)絡(luò)下降了20.78幀/s??梢?,增加層數(shù)的代價主要是識別效率降低。
對比各個算法的epoch數(shù)以及網(wǎng)絡(luò)的參數(shù)規(guī)??芍琘OLOv5x訓(xùn)練過程中收斂所需要的epoch數(shù)為150,而膠囊網(wǎng)絡(luò)僅為20,可見,本文算法能夠較快達(dá)到收斂。YOLOv5x算法的參數(shù)規(guī)模為87.71 M,原始膠囊網(wǎng)絡(luò)的參數(shù)規(guī)模為27.96 M,本文最優(yōu)算法模型為28.48 M,二者都遠(yuǎn)低于YOLOv5x算法的參數(shù)規(guī)模。這說明,雖然最優(yōu)算法模型中膠囊網(wǎng)絡(luò)的層數(shù)增加,但是由于采用跳躍式連接的網(wǎng)絡(luò)機(jī)制,其參數(shù)規(guī)模與原始膠囊網(wǎng)絡(luò)的參數(shù)規(guī)模相近。
任意選取采用本文最優(yōu)算法模型識別工程車輛的兩個案例如圖8所示。對本文最優(yōu)算法在不同光照、角度等外界因素影響下的魯棒性進(jìn)行分析。首先從圖8(a)(b)可以看出,無人機(jī)航拍圖像的背景顏色與工程車輛相近,對于工程車輛的識別具有較大干擾,但是在測試案例中仍識別出了挖掘機(jī);其次圖8(a)(b)是在不同光照條件下的工程車輛識別結(jié)果,均識別出了工程車輛;圖8(c)(d)是對旋轉(zhuǎn)不同角度的塔吊機(jī)進(jìn)行識別,對于不同角度的塔吊機(jī),本文算法均能夠?qū)⑵渥R別出來。因此本文算法在不同光照、角度以及背景等外界因素的影響下仍具有較好的魯棒性。
圖8 最優(yōu)算法模型識別的兩個案例Fig.8 Two recognizing cases by optimal algorithm in this paper((a)recognition of extractor under light condition 1; (b) recognition of extractor under light condition 2; (c) recognition of tower crane under angle 1; (d) recognition of tower crane under angle 2)
采用人工提取圖像特征的經(jīng)典模式識別方法和YOLOv5等深度學(xué)習(xí)算法識別無人機(jī)電力巡檢航拍圖像中的工程車輛,難以達(dá)到實際應(yīng)用的要求,為此本文提出采用膠囊網(wǎng)絡(luò)識別無人機(jī)電力巡檢航拍圖像中的工程車輛并提出兩種改進(jìn)方法。本文的主要貢獻(xiàn)有:1)采用多層密集連接型方法改進(jìn)原始膠囊網(wǎng)絡(luò)結(jié)構(gòu);2)采用leaky-softmax函數(shù)改進(jìn)原始膠囊網(wǎng)絡(luò)的動態(tài)路由算法;3)本文還探索了網(wǎng)絡(luò)層數(shù)和動態(tài)路由算法關(guān)鍵參數(shù)與識別準(zhǔn)確率的相互關(guān)系,以找到識別準(zhǔn)確率最高時的參數(shù)。
實驗結(jié)果表明:1)經(jīng)過本文改進(jìn)的膠囊網(wǎng)絡(luò)模型在最佳參數(shù)情況下的mAP達(dá)到94.56%,顯著優(yōu)于原始膠囊網(wǎng)絡(luò)、人工提取圖像特征的模式識別方法和YOLOv5x識別算法。2)當(dāng)網(wǎng)絡(luò)層數(shù)較少時,mAP隨網(wǎng)絡(luò)層數(shù)增加而增加。達(dá)到峰值后,mAP隨網(wǎng)絡(luò)層數(shù)增加而減少。在識別航拍圖像中的工程車輛時,5層膠囊網(wǎng)絡(luò)的識別準(zhǔn)確率最高;此外,識別準(zhǔn)確率隨網(wǎng)絡(luò)層數(shù)的變化趨勢不受動態(tài)路由算法改進(jìn)的影響。3)膠囊網(wǎng)絡(luò)層數(shù)增加會降低識別效率,但是并不會顯著增加參數(shù)規(guī)模,且參數(shù)規(guī)模增加,目標(biāo)識別準(zhǔn)確率不一定增加,說明參數(shù)規(guī)模與目標(biāo)識別準(zhǔn)確率無關(guān)。
需要指出的是,膠囊網(wǎng)絡(luò)在進(jìn)行目標(biāo)檢測的過程中,識別效率有待提高,因此下一步將把膠囊網(wǎng)絡(luò)算法與端到端的目標(biāo)檢測方法結(jié)合,以提高算法的識別效率。