李國強 ,彭熾剛 ,汪 勇 ,向東偉 ,楊成城
(1.廣東電網(wǎng)有限責(zé)任公司 機巡作業(yè)中心,廣東 廣州 510062;2.武漢匯卓航科技有限公司,湖北 武漢 430070)
隨著國民經(jīng)濟的增長和無人機在電網(wǎng)的逐步應(yīng)用推廣,繁重的無人機作業(yè)任務(wù)讓無人機的智能化顯得尤為重要。同時,機器學(xué)習(xí)技術(shù)的飛速發(fā)展,給無人機的智能化提供了新的思路。但是,機器視覺的目前所需要的訓(xùn)練數(shù)據(jù)是通過無人機等手段采集的,不僅耗時長、耗人力,而且檢測往往只是針對單張圖片,進行二維平面上的識別,面對實時視頻檢測比較卡頓,同樣無法識別物體三維空間姿態(tài)。
因此,需要改善視頻實時識別的卡頓,改進訓(xùn)練數(shù)據(jù)的采集技術(shù)。傳統(tǒng)的目標檢測算法大多數(shù)以圖像識別為基礎(chǔ)。一般可以在圖片上使用窮舉法或者滑動窗口選出所有物體可能出現(xiàn)的區(qū)域框,對這些區(qū)域框提取特征并使用圖像識別分類方法,得到所有分類成功的區(qū)域后,通過非極大值抑制輸出結(jié)果。近些年來相關(guān)學(xué)者提出采用人工智能的方法實現(xiàn)目標檢測,其中包括K 最近鄰KNN[1]、隨機森林Random Forest[2]、線性向量 機SVM[3]。這些淺層機器學(xué)習(xí)方法在建模過程中功能簡單,復(fù)雜函數(shù)和分類問題的表達有限,魯棒性差,準確度和精度低。而對于難以應(yīng)對指數(shù)增長的遙感圖像目標特征提取,也不能達到很好的特征分析和識別效果。
針對以上的問題,本文擬解決的關(guān)鍵問題和創(chuàng)新點如下:
(1)引入深度學(xué)習(xí)特征學(xué)習(xí)機制:深度學(xué)習(xí)研究怎樣在大量數(shù)據(jù)中快速自動的獲取多層特征,其核心思想是利用一系列非線性變換從原始數(shù)據(jù)中提取特征,從低級到高級,從具體到抽象,從一般到具體的語義。通過無監(jiān)督機制,采用自學(xué)習(xí)方法學(xué)習(xí)遙感圖像的特征,提高了遙感圖像的自動化程度和準確性。
(2)采用3D 游戲引擎進行渲染模擬目標模型的真實存在環(huán)境,通過虛擬相機拍攝得到海量的訓(xùn)練數(shù)據(jù)集。
(3)GPU 計算的處理機制:采用GPU 加速計算,優(yōu)勢在于針對實時視頻檢測,數(shù)據(jù)的吞吐量大以及數(shù)據(jù)處理速度快。
(1)淺層機器學(xué)習(xí)目標檢測方法:淺層目標檢測方法通常有支持K 最近鄰KNN[1]、隨機森林Random Forest[2]、向量機SVM[3]。
(2)R-CNN 為代表的深度學(xué)習(xí)目標檢測方法:2014年RBG(Ross B.Girshick)[4]使用卷積神經(jīng)網(wǎng)絡(luò)直接產(chǎn)生Region Proposal 來代替?zhèn)鹘y(tǒng)目標檢測使用的手工設(shè)計的滑動窗口特征,設(shè)計了R-CNN 框架,使得目標檢測取得巨大突破,極大地促進了深度學(xué)習(xí)對目標檢測的熱度。在此基礎(chǔ)之上,很多學(xué)者對CNN 進行改進用以實現(xiàn)目標檢測與場景識別,具有代表性的是R-CNN[4](CVPR2014、TPAMI2015)、SPP -NET[5](ECCV2014)、FastR -CNN[6](ICCV2015)、FasterR-CNN[7](NIPS2015)。
(3)以YOLO 為代表回歸方法的深度學(xué)習(xí)目標檢測算法:基于回歸方法的深度學(xué)習(xí)目標檢測算法主要有YOLO[8](CVPR2016、oral)、SSD[9](ECCV 2016)。
在遙感影像識別領(lǐng)域,郭軍[10]引進了基于上下文信息的可見光遙感圖像目標檢測與識別,王慧利[11]提出了聚類與幾何特征相結(jié)合的遙感圖像多類人造目標檢測算法,吳一全等[12]提出了基于自適應(yīng)參數(shù)支持向量機的高光譜遙感圖像小目標檢測,林煜東[13]引進了基于姿態(tài)加權(quán)投票的旋轉(zhuǎn)縮放不變目標檢測方法,李湘眷等[14]提出了窗口融合特征對比度的光學(xué)遙感目標檢測算法。
R-CNN 采用監(jiān)督學(xué)習(xí)機制,神經(jīng)網(wǎng)絡(luò)模型使用卷積算法對圖像進行提取特征點和反向傳播算法進行機器學(xué)習(xí)訓(xùn)練。遵循傳統(tǒng)目標檢測的思路,同樣采用提取框,對每個框提取特征、圖像分類、非極大值抑制4 個步驟進行目標檢測。
R-CNN 對輸入的數(shù)據(jù)的主要是通過以下幾種方法來實現(xiàn)形變變化、尺度變化、位移變化的不變性:子采樣、權(quán)值共享和局部感受野。
子采樣:如果卷積層的輸入被平移,它的輸出將被平移,但是不會改變它,并且一旦檢測到特征,只要保存相對于其他特征的近似位置,其精確位置就不那么重要。因此,在每個卷積層后面將有一個附加層來執(zhí)行局部平均值化,即子采樣以降低輸出對平移和變形的敏感度。
權(quán)值共享:加權(quán)平均可以大大減少訓(xùn)練參數(shù)的個數(shù),通過降采樣降低輸入影像的分辨率,濾除帶噪聲的特征,增強在圖像識別中起作用的特征。
局部感受野:局部感受野是指網(wǎng)絡(luò)每一層中的單個神經(jīng)元只與與其輸入層對應(yīng)的鄰域中的神經(jīng)元相連。
卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練分為兩個階段:
(1)向前傳播階段:通過卷積核對輸入數(shù)據(jù)進行卷積操作,經(jīng)過逐級變換傳送到輸出層。數(shù)據(jù)在實際網(wǎng)絡(luò)的計算過程中卷積層的向前傳播過程如下:其中一個輸入為15 個神經(jīng)元的圖片,卷積核為2×2×1 的網(wǎng)絡(luò),即卷積核的權(quán)值為W1、W2、W3、W4。那么卷積核對于輸入數(shù)據(jù)的卷積過程。卷積核采用步長為1 的卷積方式,卷積整個輸入圖片,形成了局部感受野,然后與其進行卷積算法,即權(quán)值矩陣與圖片的特征值進行加權(quán)和(再加上一個偏置量),然后通過激活函數(shù)得到輸出。
(2)向后傳播階段:當卷積神經(jīng)網(wǎng)絡(luò)輸出的結(jié)果與期望值不相符時,則進行反向傳播過程。求出結(jié)果與期望值的誤差,再將誤差一層一層地返回,計算出每一層的誤差,然后進行權(quán)值更新。該過程的主要目的是通過訓(xùn)練樣本和期望值來調(diào)整網(wǎng)絡(luò)權(quán)值。誤差的傳遞過程可以這樣來理解:首先,數(shù)據(jù)從輸入層到輸出層,期間經(jīng)過了卷積層、下采樣層、全連接層,而數(shù)據(jù)在各層之間傳遞的過程中難免會造成數(shù)據(jù)的損失,也就導(dǎo)致了誤差的產(chǎn)生。而每一層造成的誤差值是不一樣的,所以當求出網(wǎng)絡(luò)的總誤差之后,需要將誤差傳入網(wǎng)絡(luò)中,求得該各層對于總的誤差應(yīng)該承擔(dān)多少比重。
Deep-Object-Pose[15]是 繼PoseCNN 和Deep-6DPose 之后,為了實現(xiàn)機器人的抓取研究,英偉達TREMBLAY J 等提出的一種改進的目標空間姿態(tài)估計方法。利用合成數(shù)據(jù)來訓(xùn)練用于機器人操作的深層神經(jīng)網(wǎng)絡(luò),一個基于深度神經(jīng)網(wǎng)絡(luò)的一次性系統(tǒng),可以在幾乎實時的情況下,從單個RGB 圖像中推斷出雜亂的已知物體的三維姿態(tài),而不需要進行校正。該系統(tǒng)采用一種簡單的深度網(wǎng)絡(luò)結(jié)構(gòu),完全基于模擬數(shù)據(jù)進行訓(xùn)練,通過PnP[16](Perspective-n-Point)推導(dǎo)出投影三維包圍盒的二維圖像坐標。結(jié)合非光真實感(領(lǐng)域隨機化)和光真實感合成數(shù)據(jù)來訓(xùn)練魯棒的深度神經(jīng)網(wǎng)絡(luò),實現(xiàn)了與基于真實數(shù)據(jù)訓(xùn)練的最先進網(wǎng)絡(luò)相媲美的性能。Yu Xiang 等人在2017 年提出的神經(jīng)網(wǎng)絡(luò)體系結(jié)構(gòu)如圖1 所示,針對物體的空間姿態(tài)信息進行識別。

圖1 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
數(shù)據(jù)分析與處理包括:3D 模型制作、圖像合成、目標檢測。
實驗中的模型文件通過SketchUp 軟件進行人工繪制,然后通過3D 打印機將模型文件打印出來。如圖2所示,圖2(a)為手工描繪的3D 模型文件,圖2(b)是將圖2(a)中的3D 模型文件通過3D 打印技術(shù)打印出的真實模型。

圖2 模型文件及模型
與2D 對象檢測相比,3D 對象檢測需要標記的數(shù)據(jù)更加復(fù)雜,而手工生成這些數(shù)據(jù)幾乎是不可能的。目前我們基于UE4 開發(fā)了一個插件,利用它可以生成海量的高質(zhì)量的合成數(shù)據(jù),這些數(shù)據(jù)包括RGB 圖像、深度圖、分割圖以及每一幀的標記數(shù)據(jù)文件。通過利用異步、多線程的順序幀抓取,插件以50~100 Hz 的頻率生成數(shù)據(jù),這比默認的UE4 截屏函數(shù)要快得多。除了合成數(shù)據(jù),插件還包括不同的組件,以生成高度隨機化的圖像。這種隨機化包括光照、物體、相機的位置、姿勢、紋理和干擾以及相機路徑跟隨等。這些組成部分使研究人員能夠輕松地創(chuàng)建隨機場景來訓(xùn)練深層神經(jīng)網(wǎng)絡(luò)。
通過將模型塔導(dǎo)入到UE4 場景中,利用插件提供的自動傳送虛擬相機,可以捕捉模型塔在逼真場景中的各個方位的每一幀圖像,并高速生成合成數(shù)據(jù)。其中虛擬相機是由左右雙攝像頭組成,左右相機之間的距離保持60 cm(這是UE4 中的坐標距離,具體值由對象大小來設(shè)定),捕捉到的一幀數(shù)據(jù)包括:RGB 圖像、深度圖、分割圖和數(shù)據(jù)標記文件,由于是左右雙相機捕捉,因此一幀數(shù)據(jù)包括8 個文件。
圖3 為一組合成數(shù)據(jù),其中包含虛擬RGB 相機拍攝的影像(如圖3(a)所示)、虛擬深度相機拍攝的影像(如圖3(b)所示)、分割圖片(如圖3(c)所示)。同時還包含配置文件,配置文件分為_camera_settings.json 和_object_settings.json。_camera_settings.json 是UE4 虛擬相機的配置文件,包含一些相機的捕獲圖片大小以及相機在世界坐標系中的XYZ 位置和方位矩陣;_object_settings.json 則是捕獲對象的配置文件,包含對象的類名、三維場景坐標、姿態(tài)以及對象的包圍盒信息等信息。

圖3 UE4 合成得單組數(shù)據(jù)
部分信息如下:

利用UE4 插件可以快速高效合成自己想要的訓(xùn)練數(shù)據(jù),生成數(shù)據(jù)的多少可以根據(jù)自己的需求來設(shè)定。為了讓自己的數(shù)據(jù)更合理更逼真,也可以更換不同的UE場景,改變目標對象的位置,以及添加一些外在干擾項(如天氣變化、物體遮擋、場景光照等因素),這樣可以使得合成數(shù)據(jù)更多樣性,更逼近現(xiàn)實,因為數(shù)據(jù)集的好壞直接決定了后面訓(xùn)練網(wǎng)絡(luò)模型的好壞,也決定了網(wǎng)絡(luò)模型的魯棒性。
考慮到電力塔材質(zhì)的特殊性,因為電力塔是銀白色金屬材質(zhì),具有高反射性,所以在UE4 中表面顏色受光照影響比較明顯。為了克服光照這一因素對塔身檢測的干擾,在合成數(shù)據(jù)時,可以在UE4 場景中添加一些隨機光照組件,它可以以很快的速度隨機改變光照強度以及光源的位置;或者在場景的不同位置,調(diào)整不同的光照強度,分別生成一定數(shù)量的數(shù)據(jù)用于后期的訓(xùn)練。
3.3.1 實驗環(huán)境
選擇適合的實驗環(huán)境,對于實驗的精度以及效率有著很重要的影響。其中表1 中是本次實驗所用的電腦配置,表2 是本次圖像識別所用的攝像頭參數(shù)。

表1 實驗電腦環(huán)境

表2 攝像頭參數(shù)
3.3.2 檢測圖片中的模型
單張圖片識別效果如圖4 所示,準確識別出了圖片桿塔模型的三維空間姿態(tài)信息。通過實驗可以清晰地看出,利用Deep-Object-Pose 對遙感影像桿塔單張數(shù)據(jù)的檢測,能比較準確地識別出桿塔的三維空間姿態(tài)信息。

圖4 單張圖片識別
3.3.3 檢測現(xiàn)實模型
為了驗證算法的可擴展性,本文使用羅技C920 高清攝像頭仿照無人機通道巡檢作業(yè)方式識別桿塔模型。識別現(xiàn)實模型空間姿態(tài)如圖5 所示,精確識別出了現(xiàn)實桿塔三維空間姿態(tài)信息。

圖5 識別現(xiàn)實模型空間姿態(tài)
3.3.4 檢測遮擋模型目標
本文為了驗證算法在現(xiàn)實環(huán)境中的應(yīng)用性,選擇高光反射比較強的鏡面作為遮擋物,從圖6中可以很清晰地看出,本算法能完整地識別桿塔模型的姿態(tài)信息,驗證了算法識別的準確性。

圖6 模型遮擋識別實驗
本文提出的Deep-Object-Pose 算法適用于做桿塔這類無紋理鏤空目標的檢測識別,通過視頻的實時檢測,其能準確識別桿塔的空間姿態(tài)信息。為驗證算法的可擴展性,通過實驗進行遮擋驗證,其算法能準確地估計物體的空間姿態(tài)信息,模擬無人機在電力巡檢過程中桿塔在現(xiàn)實環(huán)境中有遮擋的情況,這將為無人機的智能化奠定良好的基礎(chǔ)。