周思達(dá),邱 爽,唐嘉寧,郭 川
(電氣信息工程學(xué)院,云南 昆明 650000)
隨著無(wú)人機(jī)技術(shù)進(jìn)入民用市場(chǎng),無(wú)人機(jī)被廣泛應(yīng)用于軍用和民用領(lǐng)域,在地貌探索,搜索救援,應(yīng)急監(jiān)測(cè)等方面發(fā)揮著日益重要的作用。
環(huán)境感知是無(wú)人機(jī)自主導(dǎo)航的關(guān)鍵,為了安全穩(wěn)定的執(zhí)行飛行任務(wù),無(wú)人機(jī)在運(yùn)動(dòng)過(guò)程中必須實(shí)時(shí)對(duì)周?chē)系K物做出反應(yīng)。近幾年,國(guó)內(nèi)外的專(zhuān)家學(xué)者已對(duì)無(wú)人機(jī)的自主導(dǎo)航飛行開(kāi)展的大量研究,這些研究可分為兩個(gè)方面:一方面是無(wú)人機(jī)在運(yùn)動(dòng)的過(guò)程中實(shí)時(shí)檢測(cè)周?chē)h(huán)境,探測(cè)周?chē)系K物從而實(shí)現(xiàn)避障;另一方面是利用路徑規(guī)劃算法在已知環(huán)境障礙物的情況下規(guī)劃路徑[1,2]。
基于路徑圖、人工勢(shì)場(chǎng)、單元分解的規(guī)劃算法[2]是在已知環(huán)境障礙物的情況下的三種飛行航跡規(guī)劃方法。其中基于路徑圖的方法是要根據(jù)一些給定的方法把可以通行的沒(méi)有障礙物的路徑轉(zhuǎn)變?yōu)橐粭l條有向線段的合集,然后再在這些合集里尋找更符合的路徑。對(duì)于人工勢(shì)場(chǎng)法,要假設(shè)吸引力和排斥力,吸引力引導(dǎo)無(wú)人機(jī)靠近目標(biāo),排斥力阻止無(wú)人機(jī)靠近障礙物。對(duì)于單元分解的規(guī)劃算法,要將飛行空間劃分成大小相同的單元格,再用適合的算法搜索單元格,最后選出符合飛行的單元格序列。然而這三種航跡規(guī)劃方法必須一定要在已知環(huán)境障礙物的情況下進(jìn)行。
對(duì)于無(wú)人機(jī)實(shí)時(shí)的飛行探索,主要是依靠各類(lèi)探測(cè)傳感器及交互應(yīng)答協(xié)議對(duì)障礙物進(jìn)行避障處理,傳感器主要包括光電、電磁等常用的傳感器。對(duì)于長(zhǎng)期技術(shù)研究階段則采用光電、激光和雷達(dá)技術(shù)來(lái)實(shí)現(xiàn)。如2016年,Barry領(lǐng)導(dǎo)的團(tuán)隊(duì)就利用立體激光掃描器來(lái)感知周?chē)h(huán)境,從而實(shí)現(xiàn)了每小時(shí)30英里的高速避障飛行[3]。因而,飛行探索傳感器的靈敏度和精確度將直接決定飛行任務(wù)的成敗。
但不管是依靠哪種路徑規(guī)劃的算法,在山野小路,湖泊叢林這樣復(fù)雜多變的非結(jié)構(gòu)化環(huán)境以及較為封閉的室內(nèi)場(chǎng)所中往往會(huì)因?yàn)樾畔⒘烤薮蠖鴮?dǎo)致無(wú)人機(jī)的飛行判斷出現(xiàn)錯(cuò)誤[4]。因此,無(wú)人機(jī)在這樣的環(huán)境中識(shí)別路徑并進(jìn)行路徑?jīng)Q策更具挑戰(zhàn)性。
最近幾年,深度學(xué)習(xí)已成為各種計(jì)算機(jī)視覺(jué)任務(wù)的強(qiáng)大工具,它的優(yōu)勢(shì)之一在于它的通用性:從海量的信息中直接提取特征而不需要算法設(shè)計(jì)師進(jìn)行特征的選擇和設(shè)計(jì)。將深度學(xué)習(xí)應(yīng)用到無(wú)人機(jī)的自主導(dǎo)航上,讓其直接從海量的環(huán)境信息中提取特征,從而為無(wú)人機(jī)的自主導(dǎo)航探索提供更為充分的依據(jù)。
文獻(xiàn)[5]利用深度學(xué)習(xí)從輸入圖像中提取每個(gè)像素的特征向量,利用支持向量機(jī)在線進(jìn)行自監(jiān)督學(xué)習(xí),通過(guò)訓(xùn)練后的分類(lèi)器進(jìn)行道路/非道路分類(lèi)。為無(wú)人機(jī)沿著道路避障飛行提供了一定的參考。
Laddha等[6]利用GPS和慣性測(cè)量單元對(duì)道路上可飛行路徑進(jìn)行自動(dòng)標(biāo)注,利用卷積神經(jīng)網(wǎng)絡(luò)來(lái)進(jìn)行訓(xùn)練完成路徑識(shí)別。但預(yù)處理手段極其復(fù)雜,無(wú)人機(jī)飛行性能往往由復(fù)雜的計(jì)算和大量的訓(xùn)練數(shù)據(jù)決定。蘇黎世大學(xué)Scaramuzza等[7]首次將路徑導(dǎo)航轉(zhuǎn)化為神經(jīng)網(wǎng)絡(luò)的分類(lèi)問(wèn)題,根據(jù)識(shí)別到的路徑位置來(lái)判斷無(wú)人機(jī)的位置方向,研究者通過(guò)頭戴三個(gè)不同方向的攝像頭,在山野,湖泊,荒原各種不同的環(huán)境中行走,組成了數(shù)據(jù)集IDSIA.利用神經(jīng)網(wǎng)絡(luò)判斷所處環(huán)境中路徑的位置,判斷無(wú)人機(jī)實(shí)時(shí)的飛行方向,從而完成無(wú)人機(jī)的自主飛行。這種方法是深度學(xué)習(xí)在無(wú)人機(jī)航跡規(guī)劃上的一次較為成功的嘗試,識(shí)別成功率甚至能接近90%。
以往的無(wú)人機(jī)航跡規(guī)劃方面的研究主要集中在傳統(tǒng)的路徑規(guī)劃算法上,基于深度學(xué)習(xí)的無(wú)人機(jī)路徑識(shí)別還較為少見(jiàn),對(duì)于復(fù)雜環(huán)境下無(wú)人機(jī)的飛行探索,使用深度學(xué)習(xí)的方法利用端對(duì)端的的神經(jīng)網(wǎng)絡(luò)能直接對(duì)無(wú)人機(jī)的飛行路徑進(jìn)行識(shí)別,從而控制無(wú)人機(jī)的飛行。和傳統(tǒng)的方法相比較,基于深度學(xué)習(xí)的方法具有魯棒性高,適用范圍廣的特點(diǎn)。但由于現(xiàn)實(shí)環(huán)境多種多樣,如在森林或是城市飛行時(shí),參考物和特征(線、面、體)極不明確,環(huán)境是顯著非結(jié)構(gòu)化的,在這樣的環(huán)境中,無(wú)人機(jī)的判斷能力會(huì)顯著下降,從而大大降低無(wú)人機(jī)飛行的安全性和穩(wěn)定性。
本文搭建了一個(gè)深度殘差網(wǎng)絡(luò)模型,首先將相機(jī)獲取的普通彩色RGB圖作為輸入,通過(guò)訓(xùn)練學(xué)習(xí),得到能預(yù)測(cè)無(wú)人機(jī)三種飛行方向(左/中/右)的訓(xùn)練模型,再利用小覓深度攝像頭D1000-IR-120采集不同建筑環(huán)境內(nèi)的深度圖片,利用神經(jīng)網(wǎng)絡(luò)遷移學(xué)習(xí)的原理,將包含深度信息的數(shù)據(jù)進(jìn)行訓(xùn)練學(xué)習(xí),大大提高了在各種不同環(huán)境下的飛行準(zhǔn)確率。由于數(shù)據(jù)集包含了大量室外非結(jié)構(gòu)化的環(huán)境,也包含了室內(nèi)結(jié)構(gòu)化的建筑場(chǎng)景,擴(kuò)展了無(wú)人機(jī)路徑識(shí)別飛行的適用范圍,與傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)單單使用RGB圖進(jìn)行訓(xùn)練的方法相比,本文提出的方法提高了無(wú)人機(jī)飛行探索的安全性和穩(wěn)定性。
AlexNet、VGG、GoogLeNet等網(wǎng)絡(luò)模型的出現(xiàn)將神經(jīng)網(wǎng)絡(luò)的發(fā)展帶入了幾十層的階段,研究人員發(fā)現(xiàn)層數(shù)越深的網(wǎng)絡(luò)泛化能力會(huì)越強(qiáng)[8]。但網(wǎng)絡(luò)層數(shù)越來(lái)越深又會(huì)因?yàn)樘荻葟浬⒑吞荻缺ìF(xiàn)象造成網(wǎng)絡(luò)難以訓(xùn)練。2015年,微軟亞洲研究院何凱明等人發(fā)表了基于Skip Connection 的深度殘差網(wǎng)絡(luò)(Residual Neural Network,簡(jiǎn)稱ResNet)算法[9],其原理是在l輸入和輸出之間添加一條直接連接的Skip Connection可以讓神經(jīng)網(wǎng)絡(luò)具有回退的能力,通過(guò)這種方式可以選擇是否經(jīng)過(guò)這層卷積層還是跳過(guò)卷積層選擇Skip Connection,亦或是結(jié)合卷積層和Skip Connection的輸出。
本文采用殘差結(jié)構(gòu)的網(wǎng)絡(luò)來(lái)解決網(wǎng)絡(luò)退化的問(wèn)題。假設(shè)將模塊的的輸入設(shè)為X,將在卷積層的映射設(shè)為F(X),模塊的輸出為H(X),因此模塊的輸出則可以表示為H(X)=F(X)+X。殘差網(wǎng)絡(luò)的越層連接將輸入的信息跨越中間層傳輸?shù)搅撕髮?,這樣就保證了信息的完整性。殘差結(jié)構(gòu)有兩層,輸入X通過(guò)殘差映射后輸入到下一層,表達(dá)式如下
yl=F(xl,{Wl})+h(xl)
xl+1=f(yl)
(1)
其中,F(xiàn)(x)為殘差函數(shù),xl和xl+1分別為第l個(gè)殘差單元的輸入與輸出,恒等映射的表達(dá)式為h(xl)=xl,ReLU激活函數(shù)為f(x)。從上式可推出從淺層l到深層L的學(xué)習(xí)特征為
(2)
那么反向傳播的梯度通過(guò)鏈?zhǔn)椒▌t就可以求出
(3)
其中,?loss/?xl是損失函數(shù)到L層的梯度,括號(hào)中的前一項(xiàng)表示梯度經(jīng)過(guò)了Wi層,1表示無(wú)損信息能夠通過(guò)越層連接,所以即使殘差的梯度較小,+1也能確保梯度不會(huì)消失。
本文利用的部分RGB數(shù)據(jù)是蘇黎世大學(xué)Scaramuzza教授的研究組發(fā)布的IDSIA數(shù)據(jù)集。數(shù)據(jù)集是由頭戴三個(gè)攝像頭的徒步者沿著室外不同環(huán)境的路徑迅速行走而采集。頭戴的三個(gè)攝像頭平行排列,中間的攝像頭指向正前方,左邊和右邊的攝像頭分別朝向道路兩邊。IDSIA數(shù)據(jù)集就由三個(gè)攝像頭采集的圖像序列組成。三個(gè)攝像頭采集的數(shù)據(jù)就分成了三組標(biāo)簽,沿著道路左邊邊緣的數(shù)據(jù)由靠左的相機(jī)采集,則標(biāo)簽定位左轉(zhuǎn)。中間攝像頭采集的數(shù)據(jù)標(biāo)簽為直行,右邊攝像頭采集的數(shù)據(jù)標(biāo)簽為左轉(zhuǎn)。
圖1 F-RSENET網(wǎng)絡(luò)架構(gòu)
文章采用了深度殘差神經(jīng)網(wǎng)絡(luò)來(lái)對(duì)圖像進(jìn)行分類(lèi)處理,其主要架構(gòu)基于resnet-18[10].為了提高網(wǎng)絡(luò)訓(xùn)練的收斂速度,將每個(gè)殘差塊后批處理化的過(guò)程取消。于是其具體結(jié)構(gòu)如圖1所示。首先,將IDSIA數(shù)據(jù)集中的RGB圖像裁剪成320×180大小的圖片作為網(wǎng)絡(luò)的輸入。其中,網(wǎng)絡(luò)的殘差模塊一共有四個(gè),每一個(gè)殘差模塊包含兩個(gè)基礎(chǔ)塊,每個(gè)基礎(chǔ)塊實(shí)現(xiàn)兩個(gè)卷積層,因此卷積層的數(shù)量是4×2×2=16。這樣再加上初始的卷積層和最后的全連接層,一共是18層的網(wǎng)絡(luò)。其中第一個(gè)卷積核是7×7外,其余卷積核的大小都是3×3.部分層采用了步長(zhǎng)為2的下采樣,其余步長(zhǎng)則都為1。池化層都采用平均池化的方法,最后輸出三類(lèi)結(jié)果,表示的是左轉(zhuǎn),直行,右轉(zhuǎn)三個(gè)無(wú)人機(jī)飛行方向的概率。
采用普通RGB彩色圖進(jìn)行訓(xùn)練,在道路邊緣模糊或是周邊較為空曠的場(chǎng)景下,網(wǎng)絡(luò)的誤判概率很高。這是由于RGB圖在某些場(chǎng)景受環(huán)境光照和陰影的影響比較大,從而導(dǎo)致圖像紋理信息不明顯,網(wǎng)絡(luò)無(wú)法通過(guò)圖像特征將其區(qū)分開(kāi)造成的[11]。如圖2表示的就是網(wǎng)絡(luò)判斷錯(cuò)誤的RGB圖?;谶@一事實(shí),本文考慮到若是能獲取到圖像的深度信息,這一問(wèn)題就迎刃而解了。
圖2 誤判的某些RGB圖
傳統(tǒng)的機(jī)器視覺(jué)是現(xiàn)實(shí)的三維環(huán)境投影成二維圖像,再建立圖像信息與環(huán)境特征的數(shù)學(xué)模型。RGB彩色圖就是通過(guò)這一方法獲得的,因而損失了深度等信息。與之相反,深度圖像與環(huán)境光照和陰影沒(méi)有關(guān)系,深度圖像的每一個(gè)像素點(diǎn)都能夠清楚的表達(dá)環(huán)境的表面幾何形狀。與RGB彩色圖相比,深度圖像處理對(duì)環(huán)境的幾何形狀和物理特征都沒(méi)有任何限制,它能直接利用環(huán)境中的三維信息,從而能大大簡(jiǎn)化對(duì)三維環(huán)境的識(shí)別和定位問(wèn)題[12]。
本文采用雙目立體視覺(jué)理論來(lái)獲取深度圖,雙目立體視覺(jué)理論的基礎(chǔ)是人類(lèi)對(duì)視覺(jué)系統(tǒng)的研究,通過(guò)對(duì)雙目立體圖像的處理,獲取場(chǎng)景的三維信息。在雙目立體視覺(jué)系統(tǒng)中,深度信息是分兩步進(jìn)行獲得的:首先,在雙目立體圖像之間建立點(diǎn)與點(diǎn)之間的關(guān)系,求出對(duì)應(yīng)點(diǎn)的視差圖像,然后再根據(jù)對(duì)應(yīng)點(diǎn)的視差計(jì)算出相應(yīng)像素點(diǎn)的深度[13]。
作為基于視覺(jué)識(shí)別的3D傳感器,本文采用了小覓雙目攝像頭作為深度信息的采集工具。雙目攝像頭對(duì)同一場(chǎng)景環(huán)境下的圖像進(jìn)行拍攝,運(yùn)用立體匹配算法獲取視差圖,視差圖表示了空間物體在水平方向上左視圖與右視圖的像素差值。那么,可通過(guò)公式推導(dǎo)出深度z與視差的關(guān)系為
(4)
其中,b為雙目相機(jī)的基準(zhǔn)線,f為相機(jī)的焦距(相機(jī)的焦距一般有fx和fy,但因?yàn)橐暡钪辉趚方向,所以直接取fx即可),d的單位是像素pixel,XR和XT的單位是毫米。
本文采用的深度圖片數(shù)據(jù)集的采集方法和IDSIA數(shù)據(jù)集的采集方法類(lèi)似,由于沒(méi)有三對(duì)雙目攝像頭,數(shù)據(jù)集的采集分為三個(gè)步驟依次完成。首先將雙目攝像頭指向正前方,與徒步者視角一致,沿著道路迅速行走并保持?jǐn)z像頭盡量穩(wěn)定。然后將雙目攝像頭朝左偏移固定的角度,沿著同樣的道路行走。最后,將雙目攝像頭朝右偏移固定角度,沿著道路迅速行走。這樣,就用同一組雙目攝像機(jī)采集了三組不同的圖像序列。再經(jīng)過(guò)雙目視覺(jué)理論的處理之后,就得到了三組包含深度信息的深度圖。其中指向正前方采集的圖像標(biāo)簽為直行,朝左偏移的雙目攝像頭采集的圖像標(biāo)簽為右轉(zhuǎn),朝右偏移的雙目攝像頭采集的圖像標(biāo)簽則為左轉(zhuǎn)。下圖3是為進(jìn)行可視化將采集到的深度圖轉(zhuǎn)換成偽彩色圖的效果。
圖3 深度圖像分類(lèi)標(biāo)簽
本文實(shí)驗(yàn)一共采用了兩個(gè)數(shù)據(jù)集,首先采用的是室外數(shù)據(jù)集IDSIA對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,IDSIA數(shù)據(jù)集包含多種多樣的室外道路類(lèi)型,不管是寬闊的森林平原還是狹窄的山谷小路。拍攝的環(huán)境有雨天,陰天甚至下雪。其次本文也采用了自己利用雙目攝像頭采集與制作的深度圖像數(shù)據(jù)集,該數(shù)據(jù)集同樣包含三組標(biāo)簽(左轉(zhuǎn),右轉(zhuǎn)和直行),采集的數(shù)據(jù)集主要是校園室內(nèi),走廊等無(wú)人機(jī)能自由飛行的一些場(chǎng)景。這樣無(wú)人機(jī)的室內(nèi)室外環(huán)境都有所涉及,大大增強(qiáng)了網(wǎng)絡(luò)預(yù)測(cè)的泛化能力。本文也采用了多種經(jīng)典方法對(duì)數(shù)據(jù)集進(jìn)行擴(kuò)充增強(qiáng),如隨機(jī)翻轉(zhuǎn)和旋轉(zhuǎn)等。本文使用的軟件平臺(tái)為深度學(xué)習(xí)框架tensorflow2.0.
表1是無(wú)人機(jī)在IDSIA數(shù)據(jù)集和深度圖像數(shù)據(jù)集下卷積神經(jīng)網(wǎng)絡(luò)CNN和本文采用的深度殘差網(wǎng)絡(luò)F-resnet的飛行識(shí)別準(zhǔn)確率。從表中可以看出,使用深度殘差網(wǎng)絡(luò)模型要比普通網(wǎng)絡(luò)模型的效果要好,傳統(tǒng)卷積網(wǎng)絡(luò)隨著層數(shù)加深,學(xué)習(xí)效率反倒會(huì)變得很低,而殘差網(wǎng)絡(luò)內(nèi)部殘差塊使用的跳躍連接的方式,大大緩解了普通卷積網(wǎng)絡(luò)隨著深度增加出現(xiàn)的梯度消失的問(wèn)題,從而提升無(wú)人機(jī)的識(shí)別準(zhǔn)確率。另外,相較于只利用RGB圖訓(xùn)練或是只利用深度圖像這種單一圖像進(jìn)行訓(xùn)練的方法,使用包含有深度信息的深度圖片進(jìn)行遷移學(xué)習(xí)能讓無(wú)人機(jī)的判斷準(zhǔn)確度有所提升??梢钥闯龅氖?,在道路邊緣比較模糊,場(chǎng)景的環(huán)境較為空曠且光線過(guò)暗或過(guò)明時(shí),普通RGB圖的紋理特征和顏色特征很不明顯,神經(jīng)網(wǎng)絡(luò)很難提取到特征信息。因此很難判斷出準(zhǔn)確的路徑位置。如下圖的某些場(chǎng)景。而深度圖像的優(yōu)勢(shì)在于它的每個(gè)像素點(diǎn)都反映了場(chǎng)景中的物體到搭載在無(wú)人機(jī)上攝像頭的實(shí)際距離。也就是說(shuō),神經(jīng)網(wǎng)絡(luò)獲取到的圖片實(shí)際上是包含了深度距離信息的矩陣,從而有效提高了路徑位置的判斷準(zhǔn)確率。
表1 無(wú)人機(jī)在IDSIA數(shù)據(jù)集和深度圖像數(shù)據(jù)集下CNN和F-resnet飛行識(shí)別準(zhǔn)確率
本文提出了一種深度殘差學(xué)習(xí)模型F-RESNET,使無(wú)人機(jī)能在室內(nèi)室外的某一路徑飛行時(shí)對(duì)飛行方向具有一定的判斷能力。使用殘差網(wǎng)絡(luò)構(gòu)建模型,利用越層連接的原理實(shí)現(xiàn)了對(duì)更深層次網(wǎng)絡(luò)的訓(xùn)練,不僅提升網(wǎng)絡(luò)的識(shí)別準(zhǔn)確率,也提高了網(wǎng)絡(luò)的收斂速度。其次,再利用RGB圖獲取顏色信息和紋理信息的同時(shí),使用雙目立體視覺(jué)理論獲取了深度圖像數(shù)據(jù)集,給網(wǎng)絡(luò)訓(xùn)練增加了距離信息。最后的實(shí)驗(yàn)也表明,本文提出的網(wǎng)絡(luò)模型提高了普通卷積模型的識(shí)別準(zhǔn)確率,在無(wú)人機(jī)自主航跡規(guī)劃方面具有一定的實(shí)際應(yīng)用價(jià)值。