劉召,張黎明,耿美曉,么軍,張金祿,胡益菲
(1. 清研同創(chuàng)機(jī)器人(天津)有限公司,天津 300300; 2. 國網(wǎng)天津市電力公司,天津 300010)
隨著我國電力行業(yè)的升級改造,更加智能的帶電作業(yè)機(jī)器人成為當(dāng)前的研究熱點(diǎn)。2009年我國進(jìn)行了高壓帶電作業(yè)機(jī)器人產(chǎn)品化樣機(jī)的驗證[1],但現(xiàn)有高壓帶電作業(yè)機(jī)器人系統(tǒng)一般采用主從控制方式,依然是人工手動控制[2],需要借助人眼判斷目標(biāo)的位置來進(jìn)行操作。雖然在一定程度上提高了工作效率保護(hù)了作業(yè)人員,但在高空高壓環(huán)境下依然存在巨大的安全隱患,造成無法挽回的安全和財產(chǎn)損失。因此,利用當(dāng)前性能優(yōu)良的深度學(xué)習(xí)方法代替人眼對線纜目標(biāo)進(jìn)行自動識別檢測,研制更智能的帶電作業(yè)機(jī)器人成為亟待解決的問題。
傳統(tǒng)的目標(biāo)檢測方法以圖像識別為基礎(chǔ),主要包括4個步驟:提取候選框、對每個框提取特征、圖像特征分類、非極大值抑制完成框回歸[3-4]。一般對圖像使用窮舉法選出物體可能出現(xiàn)的區(qū)域框,對這些區(qū)域框提取特征并使用圖像識別方法分類,得到所有分類成功的區(qū)域后,通過非極大值抑制輸出結(jié)果。傳統(tǒng)方法中最成功的是基于多尺度形變部件模型(deformable part model,DPM)[5],它利用部件間的關(guān)系來描述物體,但該方法相對復(fù)雜,檢測速度也較慢。所以,人工提取的特征不能適應(yīng)當(dāng)今的海量數(shù)據(jù),難以應(yīng)用于背景復(fù)雜的高壓線纜圖像數(shù)據(jù)中,且不同場景的圖像往往要重新設(shè)計合適的特征,實際應(yīng)用時也要依據(jù)具體情況而定,這些限制直接影響著最終的檢測效果及效率。
2006 年人工智能專家Hinton 提出深度學(xué)習(xí)(deep learning, DL)概念[6],開啟了人工智能領(lǐng)域研究深度學(xué)習(xí)的熱潮。深度學(xué)習(xí)具有很強(qiáng)的特征學(xué)習(xí)能力,它采用逐層訓(xùn)練的方法緩解了傳統(tǒng)神經(jīng)網(wǎng)絡(luò)算法在訓(xùn)練多層神經(jīng)網(wǎng)絡(luò)時出現(xiàn)的局部最優(yōu)問題[7-8]?;谶@些特征,深度學(xué)習(xí)在圖像識別、語音識別、自然語言處理、工業(yè)過程控制等方面已顯示出獨(dú)特的優(yōu)勢。
近兩年深度學(xué)習(xí)技術(shù)在目標(biāo)檢測領(lǐng)域也取得了長足的進(jìn)展。與傳統(tǒng)依賴手工設(shè)計的特征提取算法不同,深度卷積神經(jīng)網(wǎng)絡(luò)對幾何變換、形變、光照具有一定程度的不變性,可以有效克服復(fù)雜場景下目標(biāo)檢測困難,并且可在訓(xùn)練數(shù)據(jù)驅(qū)動下自適應(yīng)地構(gòu)建特征描述,具有更高的靈活性和泛化能力。基于深度學(xué)習(xí)的目標(biāo)檢測主要分為基于區(qū)域建議方法和無區(qū)域建議的方法[3,9]?;趨^(qū)域建議的方法是以R-CNN (Region-based convolutional neural networks)[10]為基礎(chǔ),在PASCAL VOC2012數(shù)據(jù)集上的檢測平均精度mAP達(dá)到53.3%,較傳統(tǒng)方法有很大的提升。此后研究者在此基礎(chǔ)上提出了很多改進(jìn)模型,如SPP-net(Spatial pyramid pooling networks)[11]、Fast R-CNN[12]等。而無區(qū)域建議的目標(biāo)檢測方法主要是YOLO(You only look once)[13]及其改進(jìn)模型?;趨^(qū)域建議的方法在精度上更具優(yōu)勢,而無區(qū)域建議的方法檢測速度更快?;谏疃葘W(xué)習(xí)的目標(biāo)檢測方法在低空目標(biāo)、人體行為檢測、無人機(jī)圖像等領(lǐng)域已取得較好應(yīng)用[14-16]。
本文針對帶電作業(yè)機(jī)器人在復(fù)雜背景環(huán)境中線纜目標(biāo)的智能檢測問題,首次將Faster R-CNN模型引入到高壓線纜及相關(guān)物體的目標(biāo)檢測任務(wù)中,根據(jù)高壓線纜的特點(diǎn)對原始Faster R-CNN進(jìn)行了改進(jìn),引入跳轉(zhuǎn)連接使提取的特征更具表達(dá)能力,增加錨框數(shù)量使模型對不同尺寸目標(biāo)都有較好的檢測性能,最終實現(xiàn)了高空高壓環(huán)境下各種線纜的目標(biāo)檢測,在精度上取得了目前最好的檢測效果,并且檢測速度更快,為帶電作業(yè)機(jī)器人后續(xù)的操作提供了可靠的視覺支持。
根據(jù)高壓線纜目標(biāo)檢測的實際需求,本文以Faster R-CNN[17]模型為基礎(chǔ)并提出了有效的改進(jìn)策略,最終設(shè)計的模型原理框架如圖1所示。它主要分為4個主要的步驟來實現(xiàn):1)將整幅高壓線纜圖像輸入深度卷積神經(jīng)網(wǎng)絡(luò)生成特征圖譜;2)將特征圖譜輸入給區(qū)域候選網(wǎng)絡(luò)(region proposal network, RPN)生成目標(biāo)候選區(qū)域,避免了使用選擇性搜索耗時長的問題,同時可以獲得更加準(zhǔn)確的定位結(jié)果;3)采用感興趣區(qū)域池化層(region of interest, ROI)提取候選區(qū)域的特征,它可以將輸入的任意尺寸的特征圖譜轉(zhuǎn)化成統(tǒng)一維度的輸出向量,從而解決了卷積神經(jīng)網(wǎng)絡(luò)輸入必須是固定尺寸的問題;4)利用一個多任務(wù)分類器做候選區(qū)域的位置回歸,目標(biāo)類別的判定采用深度學(xué)習(xí)算法精確檢測出定位器的邊界框位置。其中本文的改進(jìn)首先在特征提取部分,引入跳轉(zhuǎn)連接并調(diào)整激活層和卷積層的順序,提高了網(wǎng)絡(luò)提取圖像高級特征的能力;其次在目標(biāo)候選區(qū)域生成階段增多錨框的種類和數(shù)量,提升對小目標(biāo)檢測的性能。
圖 1 基于Faster R-CNN高壓線纜目標(biāo)檢測框架Fig. 1 Object detection framework of high voltage cable based on Faster R-CNN
卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)是一類包含卷積計算且具有深度結(jié)構(gòu)的前饋神經(jīng)網(wǎng)絡(luò),是深度學(xué)習(xí)中最具代表性的網(wǎng)絡(luò)結(jié)構(gòu)之一。傳統(tǒng)的CNN網(wǎng)絡(luò)一般包括卷積層、池化層和全連接層,隨著網(wǎng)絡(luò)層數(shù)的加深逐層提取圖像的特征。一個典型是CNN結(jié)構(gòu)如圖2所示。
圖 2 CNN的一般結(jié)構(gòu)框架Fig. 2 General structure of CNN
一般的目標(biāo)檢測方法都是使用選擇性搜索來獲取候選區(qū)域,但這種方法不僅耗時且準(zhǔn)確率不高,因此考慮用一個卷積神經(jīng)網(wǎng)絡(luò)來進(jìn)行候選區(qū)域的提取,這也就是RPN網(wǎng)絡(luò)的核心思想。
RPN的網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。在RPN網(wǎng)絡(luò)之前會用一個卷積神經(jīng)網(wǎng)絡(luò)對需要檢測的圖像進(jìn)行特征提取,這個前置的CNN提取的特征維度為。對該特征圖譜再進(jìn)行一次卷積操作,保持維度不變,同樣得到一個維度的特征圖譜。為了便于下文敘述,先定義一個“錨”的概念:對于這個維度為的卷積特征圖譜,認(rèn)為其一共有個“錨”。讓該卷積特征圖譜的每個“錨”都對原圖中對應(yīng)位置上9種尺寸的候選框進(jìn)行檢測,檢測的目標(biāo)是判斷候選框中是否包含一種物體,因此共有個候選檢測框。這每個“錨”對應(yīng)的9個候選框的面積分別為。每種面積又分為3種長寬比,分別為
圖 3 RPN網(wǎng)絡(luò)結(jié)構(gòu)Fig. 3 RPN networks structure
圖 4 “錨”與網(wǎng)絡(luò)輸出的對應(yīng)關(guān)系Fig. 4 Corresponding relation between frame and network output
Fast R-CNN網(wǎng)絡(luò)將特征提取和區(qū)域分類兩個步驟融合在一個卷積神經(jīng)網(wǎng)絡(luò)中,不同于之前的方法是提取完每個區(qū)域的特征之后,再以傳統(tǒng)的SVM作為分類器。這樣Fast R-CNN就可以同時進(jìn)行特征提取網(wǎng)絡(luò)和分類網(wǎng)絡(luò)的訓(xùn)練,從而獲得更高的準(zhǔn)確度,其網(wǎng)絡(luò)結(jié)構(gòu)如圖5。
圖 5 Fast R-CNN網(wǎng)絡(luò)結(jié)構(gòu)Fig. 5 Fast R-CNN networks structure
對于待檢測圖像中的候選區(qū)域,將它映射到前置CNN所提取的卷積特征圖譜中對應(yīng)的區(qū)域,即圖5中的感興趣區(qū)域映射,這樣操作是因為卷積特征圖譜實際上和原始圖像在位置上存在一定的對應(yīng)關(guān)系,即待檢測圖像中的候選區(qū)域是對應(yīng)在卷積特征圖譜中相同的位置。然后使用ROI池化層對該區(qū)域再進(jìn)行特征提取,如圖6所示。ROI池化層對于不同尺寸大小的輸入圖像都能得到一個固定維度的輸出向量。一般的卷積神經(jīng)網(wǎng)絡(luò)的輸入需要固定尺寸的圖像,而候選區(qū)域的尺寸是大小不一的。如果先將不同尺寸的區(qū)域縮放到統(tǒng)一大小再輸入卷積神經(jīng)網(wǎng)絡(luò)提取特征,會降低后續(xù)的分類準(zhǔn)確率,因此使用ROI池化層避免這個問題。
圖 6 ROI池化層Fig. 6 ROI pooling layer
為了具體闡述ROI池化層的作用,假設(shè)前置CNN輸出特征圖譜的寬度為,?高度為,通道為,其中是一個常數(shù)。首先,ROI池化層把特征圖譜劃分為的區(qū)域網(wǎng)格,這樣每個網(wǎng)格的維度變成:寬為、高為、通道為。對每個網(wǎng)格中的每個通道都取最大值作為該網(wǎng)格的輸出,這樣的網(wǎng)格最終形成了一個維的特征向量。然后,把特征圖譜劃分成和的網(wǎng)格,用同樣的方法提取每個網(wǎng)格的輸出特征,提取的特征的維度分別為和。最后,將得到的所有特征向量拼接起來,就得到了維的特征向量。顯而易見,這個輸出特征的維度與輸入特征圖譜的、均無關(guān)。因此ROI池化層可以把輸入的任意寬度、高度的卷積特征圖譜轉(zhuǎn)換為固定維度的向量。
得到ROI池化層的特征向量后,分成兩個分支分別送到全連接層進(jìn)行分類和框回歸。對于分類,如果待檢測圖像中有類物體需要檢測,那么最終的輸出應(yīng)該是個數(shù),因為多包含了一類“背景類”,輸出中的每個數(shù)值都代表該區(qū)域為某類物體的類別概率。對于框回歸,其要做的是對RPN輸出的候選檢測框進(jìn)行某種程度的細(xì)化。因為RPN網(wǎng)絡(luò)獲得的候選框有時存在一定偏差。認(rèn)為通過RPN網(wǎng)絡(luò)得到的候選框的4個參數(shù)為,其中,表示候選框左上頂點(diǎn)的坐標(biāo);表示候選框的寬和高。而正確的目標(biāo)框位置用表示,那么框回歸的作用就是學(xué)習(xí)參數(shù)。
1.4.1 特征提取部分的改進(jìn)
傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)大多是由卷積層、池化層和全連接層組成深層網(wǎng)絡(luò),對于圖像分類等計算機(jī)視覺任務(wù),不斷加深網(wǎng)絡(luò)層數(shù)一般可以提高性能,但當(dāng)網(wǎng)絡(luò)加深到一定程度時,會導(dǎo)致梯度彌散或梯度消失,網(wǎng)絡(luò)變得難以訓(xùn)練,同時導(dǎo)致提取的特征的語義屬性減弱,對類別的判別能力變差[18-19]。為了解決這個問題,引入跳轉(zhuǎn)連接,將卷積層的輸入特征圖譜加到輸出部分,使網(wǎng)絡(luò)具有能有效進(jìn)行反傳的梯度信息。同時增加的卷積操作,在減少參數(shù)的同時使網(wǎng)絡(luò)具有更強(qiáng)的特征提取能力,多增加的激活層也使網(wǎng)絡(luò)具有更好的非線性表達(dá)能力。此外,調(diào)整模塊中各操作的順序為批標(biāo)準(zhǔn)化、ReLU,再進(jìn)行卷積操作,這種完全預(yù)激活的方式可以起到更好正則化的作用,同時使梯度信息可以無障礙傳遞。本文改進(jìn)的特征提取模塊如圖7。
圖 7 改進(jìn)的深層網(wǎng)絡(luò)特征提取模塊Fig. 7 Improved deep network feature extraction module
改進(jìn)的特征提取模塊降低參數(shù)的同時,也提高了網(wǎng)絡(luò)在推理時的速度,節(jié)省了測試時間,更有利于高壓線纜目標(biāo)檢測實際應(yīng)用的需求。當(dāng)使用圖7的模塊時,參數(shù)量為,參數(shù)量的計算公式如式(1),其中輸入的通道數(shù)是 inc,輸出的通道數(shù)是 outc。使用傳統(tǒng)的兩層卷積核大小為的卷積層時,參數(shù)量為,參數(shù)量減少了,計算復(fù)雜度減少了。
1.4.2 區(qū)域候選框機(jī)制的改進(jìn)
區(qū)域候選網(wǎng)絡(luò)中候選框的尺寸和長寬比是非常重要的超參數(shù),它直接影響生成候選框的數(shù)量,也影響著網(wǎng)絡(luò)對不同尺寸目標(biāo)的識別能力。原始Faster R-CNN針對特征圖譜上的每個“錨”,由3種長寬比和3種尺寸生成9個候選框,然后對獲得的原始圖片候選區(qū)域使用非極大值抑制算法刪除冗余的候選區(qū)域,其中最小的尺寸為。但是在高壓線纜識別中存在著連接點(diǎn)等尺寸較小的目標(biāo),為了提升網(wǎng)絡(luò)對小目標(biāo)的檢測性能,本文增加了一組大小的候選框,其長寬比依然有3種。在訓(xùn)練過程中,RPN部分使用的候選框尺寸則由9種變?yōu)?2種,分別為,3個長寬比分別為和
在整個模型結(jié)構(gòu)中,多任務(wù)分類器的損失函數(shù)定義為
為了驗證本文提出的基于Faster R-CNN的高壓線纜目標(biāo)檢測方法的有效性和先進(jìn)性,首先本文生成了具有大量高壓線纜圖片的數(shù)據(jù)集,并將數(shù)據(jù)處理成VOC2007數(shù)據(jù)形式,主要包括采集高壓線纜圖像數(shù)據(jù)和標(biāo)注需檢測目標(biāo)兩個部分。
2.1.1 采集高壓線纜圖像數(shù)據(jù)
本文使用高清攝像機(jī)采集了不同場景、天氣環(huán)境下的高壓線纜圖像,并對其中感興趣的目標(biāo)進(jìn)行了人工標(biāo)簽。天氣環(huán)境主要分為晴天、陰天和強(qiáng)光3種情況,之所以將強(qiáng)光單獨(dú)作為一類是因為強(qiáng)光會導(dǎo)致拍攝的線纜圖像出現(xiàn)斷裂的情況。高壓線纜圖像中的桿塔結(jié)構(gòu)較復(fù)雜,有單回路結(jié)構(gòu)和多回路結(jié)構(gòu),上有瓷柱,有多根線纜,線纜有時會出現(xiàn)重疊現(xiàn)象;圖像背景一般都較為復(fù)雜,主要包含房屋、樹木等。
2.1.2 標(biāo)注檢測目標(biāo)
對采集到的線纜圖像中需要檢測的目標(biāo)進(jìn)行了人工標(biāo)簽,使用LabelImg標(biāo)注工具。圖像中需要檢測的目標(biāo)有線纜與瓷柱的連接處(連接點(diǎn),corner)、向右傾斜的線纜(右傾線, rline)、向左傾斜的線(左傾線, lline)和帶線夾的線(線夾線,clampline)。表1中所列的數(shù)據(jù)集Data1和Data4的場景近似,Data1中的連接點(diǎn)只有一種情況,即橫向連接;而數(shù)據(jù)集Data4中連接點(diǎn)有兩種情況,包括橫向連接和縱向連接,如圖8(a)和圖8(d)所示,圖8(d)展示了Data4中的兩種連接點(diǎn)。
表 1 不同場景的數(shù)據(jù)集Table 1 Test sets of five scenarios
所有場景的數(shù)據(jù)均訓(xùn)練迭代10萬次,采用衰減學(xué)習(xí)率,前5萬代為0.001,后5萬代為0.000 1。為了對比本文所提方法的有效性,對比方法為原始的Faster R-CNN。高壓線纜圖像尺寸為
評價指標(biāo)選擇目標(biāo)檢測中常用的平均準(zhǔn)確率(average precision, AP),其值為P-R曲線圍成的面積,其中P表示準(zhǔn)確率、R表示召回率。P、R的計算方法如式(6)和式(7)所示:
式中:TP是被正確劃分為正例的個數(shù),F(xiàn)P是被錯誤劃分為正例的個數(shù), FN是被錯誤劃分為負(fù)例個數(shù)。mAP(mean average precision)即是所有類別的平均準(zhǔn)確率的平均值。
實驗環(huán)境為Ubuntu16.04系統(tǒng),Intel Core i7-8700K和英偉達(dá)GTX 1080Ti顯卡,使用Tensor-Flow框架進(jìn)行提出算法的訓(xùn)練和測試。
使用5種場景數(shù)據(jù)的訓(xùn)練集分別訓(xùn)練原始Faster R-CNN模型和提出的改進(jìn)Faster R-CNN模型,然后在測試集上進(jìn)行測試,得到各類別的平均準(zhǔn)確率。原始Faster R-CNN的測試結(jié)果如表2所示,改進(jìn)的Faster R-CNN的測試結(jié)果如表3所示。
表 2 原始Faster R-CNN在5種場景下測試結(jié)果Table 2 The test results average of original Faster R-CNN in the five scenarios
表 3 改進(jìn)Faster R-CNN在5種場景下測試結(jié)果Table 3 The test results average of improved Faster RCNN in the five scenarios
從測試集的實驗結(jié)果可以看出,在不同天氣條件環(huán)境下,原始的Faster R-CNN模型對高壓線纜圖像中的各類別目標(biāo)檢測的平均準(zhǔn)確率均在80%以上,而mAP值均在84%以上。說明Faster R-CNN模型可以解決高壓線纜目標(biāo)檢測任務(wù)。而改進(jìn)的Faster R-CNN模型對高壓線纜目標(biāo)具有更好的檢測性能,mAP值均在92%以上,相較原始的Faster R-CNN模型有明顯提升,說明提出改進(jìn)方法的有效性,且在陰天、強(qiáng)光和晴天背景復(fù)雜的場景下都可以較好地完成高壓線纜目標(biāo)檢測任務(wù)。如圖8是5種場景下,高壓線纜目標(biāo)檢測結(jié)果的樣例。每種場景展示了兩張圖像,圖8(a)~(e)依次對應(yīng)表1中的5種場景。
Data1、Data4和Data5數(shù)據(jù)集均為晴天下的場景中,且出現(xiàn)線纜重疊的情況較多,對比表2和表3中Data1、Data4兩個數(shù)據(jù)集的測試結(jié)果可以看出,改進(jìn)的方法對線纜的檢測有較大的提升,mAP值分別提升了6%和8%,但在Data5數(shù)據(jù)集上,改進(jìn)算法對左傾線的檢測AP值有些小的降低。說明改進(jìn)的Faster R-CNN模型可以較好解決目標(biāo)遮擋的檢測問題,但個別較嚴(yán)重的重疊情況可能無法檢測。結(jié)合帶電作業(yè)機(jī)器人的實際操作看,當(dāng)發(fā)現(xiàn)重疊的線纜較多時,可以調(diào)節(jié)攝像頭的方位使拍攝的圖像中重疊的線纜盡量少,從而提升對線纜目標(biāo)檢測準(zhǔn)確率。而且在實際應(yīng)用中帶電作業(yè)機(jī)器人每次總是處理單根線纜,所以重疊問題對實際操作的影響并不是很大。
在實際操作中更常見的場景是背景復(fù)雜的時候,如圖8中Data2和Data5所示的場景,背景中會有大面積的房屋、樹木等干擾識別的目標(biāo)。但在這兩個場景下,改進(jìn)的Faster R-CNN模型的mAP均值93%以上。說明改進(jìn)的Faster R-CNN模型在進(jìn)行高壓線纜目標(biāo)檢測時,可以較好地克服背景中包含大面積的房屋、樹木等復(fù)雜場景。這一點(diǎn)在實際中的應(yīng)用更有價值,提高了系統(tǒng)的適用范圍,同時也驗證了改進(jìn)方法在進(jìn)行高壓線纜目標(biāo)檢測時的有效性。
圖 8 5種場景下測試集的目標(biāo)檢測結(jié)果Fig. 8 Detection results of test sets in five scenarios
改進(jìn)的Faster R-CNN模型進(jìn)行高壓線纜目標(biāo)檢測時的速度與使用的硬件環(huán)境密切相關(guān),當(dāng)使用高性能的GPU如1080Ti測試時,15 f/s 的處理速度,相較于未改進(jìn)算法的 12 f/s 處理速度有提升,完全能夠滿足帶電作業(yè)機(jī)器人的實時性需求。
針對帶電作業(yè)機(jī)器人需要自動識別高空高壓線纜的實際課題需求,本文結(jié)合當(dāng)前在視覺領(lǐng)域最有效的深度學(xué)習(xí)方法,實現(xiàn)了一種自動識別線纜目標(biāo)的方法。首先引入了Faster R-CNN模型進(jìn)行特征提取,針對高壓線纜圖像的特點(diǎn)提出了兩個方面的改進(jìn):在特征提取時引入跳轉(zhuǎn)連接并調(diào)整卷積層、激活層的順序,提升網(wǎng)絡(luò)對高層語義特征的提取能力,改進(jìn)候選框生成策略提升網(wǎng)絡(luò)對連接點(diǎn)等小目標(biāo)的檢測能力。本文改進(jìn)的Faster R-CNN模型展現(xiàn)出了針對不同天氣環(huán)境、較復(fù)雜背景下的魯棒、實時、高精度檢測的優(yōu)良性能,可以滿足帶電作業(yè)機(jī)器人視覺智能識別的技術(shù)指標(biāo)。本文將深度學(xué)習(xí)方法應(yīng)用于帶電作業(yè)機(jī)器人的視覺識別任務(wù)中,取得了較好的精度和實時的性能,具有很高的工程應(yīng)用價值。