李 湛,薛喜地,楊學博,孫維超,于興虎,2,高會軍,3
(1. 哈爾濱工業(yè)大學智能控制與系統(tǒng)研究所,哈爾濱 150001;2. 哈爾濱工業(yè)大學寧波智能裝備研究院,寧波 315201;3. 哈爾濱工業(yè)大學機器人技術與系統(tǒng)國家重點實驗室,哈爾濱 150001)
近年來,各種類型的無人機在軍民領域得到了廣泛的成功應用,從巡查航拍到自主協(xié)作、分布式定位建圖等[1-2],都大幅提高了人們的工作效率。小型多旋翼無人機體積小、機動性高等特點使其在包括室內的各種復雜環(huán)境中執(zhí)行多種任務。因此,在復雜陌生環(huán)境中實現(xiàn)自主智能導航,則能夠充分利用其高機動性多自由度的特點,執(zhí)行大量地面移動機器人無法完成的任務,如地面擁擠情況下的物資傳遞、快速巡查追蹤等[3-4]。然而,無人機的高性能自主導航算法的研究非常具有挑戰(zhàn)性,在環(huán)境結構不確定、光線不穩(wěn)定,以及室內存在具有形態(tài)差異大、行走方向隨意性高的行人等場景下,如何實現(xiàn)自主穩(wěn)定導航一直是該領域的難點之一。
目前,基于模型的方法[5-6]是無人機自主決策導航的常用手段,但其效果過度依賴于對無人機自身動態(tài)及其所處環(huán)境的精確建模。同時,對環(huán)境和自身建模的計算量巨大,且對建模時存在的模型誤差難以進行補償。對于初次到達的陌生環(huán)境,更是需要重新進行一系列的建模工作,使得該類算法應用范圍較為狹窄。
與此不同,自然界的生物則通過不斷與環(huán)境進行交互,并且獲得環(huán)境的反饋來強化生物的某項能力。例如動物的行走、捕獵、群體協(xié)作等能力,均是在不斷試錯的過程中來持續(xù)改善和提升自身的決策策略與技能。該類型學習過程的特點是無需對環(huán)境進行精確建模,僅通過與環(huán)境的不斷交互來持續(xù)改進策略,即為強化學習算法[7]的核心思想??梢钥闯觯瑥娀瘜W習屬于端到端的學習類型,即輸入一個環(huán)境狀態(tài),直接輸出一個決策動作。
然而,由于強化學習應用于無人機導航?jīng)Q策領域的時間較短,現(xiàn)有研究存在的主要問題有:1)強化學習策略的遷移問題:目前強化學習最關鍵的環(huán)節(jié)是仿真環(huán)境,如果仿真環(huán)境里建立的幾何模型和物理模型能夠足夠逼近現(xiàn)實世界,那么在仿真環(huán)境里訓練好的策略直接移植到實物無人機上即可獲得一致的效果。但建模誤差通常難以避免,因此仿真環(huán)境訓練得到的策略遷移到實物無人機上的效果并不理想。文獻[8]提出一種仿真數(shù)據(jù)與現(xiàn)實數(shù)據(jù)相融合的方法(Generalization through simulation, GTS),將仿真環(huán)境下訓練得到的卷積層與現(xiàn)實數(shù)據(jù)訓練得到的全連接層拼接在一起,使得仿真模型與現(xiàn)實環(huán)境得到一定程度上的統(tǒng)一。但該方法仍存在策略遷移造成的性能降低,如其在仿真環(huán)境下無人機的運行軌跡比較平直,而遷移到實物之后卻比較扭曲。因此,強化學習策略從仿真環(huán)境移植到實物,仍存在一系列需要開展深入研究的遷移學習問題。2)在有行人場景下采用無深度信息單目視覺感知的避障性能有待提高:單目無深度信息的攝像頭具有成本低、重量輕、使用門檻低等特點,在小型無人機上應用日趨廣泛,但由于無深度信息,以及行人的多樣性及高動態(tài)性,使采用單目視覺實現(xiàn)室內有行人環(huán)境的端到端導航具有較高挑戰(zhàn)性?,F(xiàn)有基于單目視覺的無人機室內導航方法,大多數(shù)都是在無人的室內環(huán)境下進行實驗,這也就導致該類算法在實際環(huán)境中的實用性不足。前述GTS算法是目前基于強化學習的無人機自主導航方向較為前沿的研究,但其依舊是在無行人干擾的環(huán)境下進行實驗。
本文的主要貢獻為:1)針對強化學習策略遷移問題,提出一種基于跨傳感器遷移學習的全新框架,使得遷移到實際環(huán)境中的策略對比現(xiàn)有方法具有更好的泛化性能。2)為進一步提高室內有行人環(huán)境下的單目無深度信息避障性能,提出了一種異步深度神經(jīng)網(wǎng)絡結構,通過規(guī)劃器與行人信息的結合,解決現(xiàn)有方法由于行人形態(tài)差異過大造成的策略不穩(wěn)定問題,使得在不具備深度信息的情況下,仍能夠實現(xiàn)在室內有行人時的有效、穩(wěn)定避障。實驗結果表明了該方法的有效性和可行性。
本文基于Cyberbotics公司研發(fā)的Webots仿真平臺對無人機在室內環(huán)境下的三維自主避障任務進行仿真,強化學習系統(tǒng)的框圖如圖1所示,虛擬仿真環(huán)境如圖2所示。在Webots仿真器中進行強化學習訓練,涉及到其中的三個高級組件:1)場景樹:在場景樹里配置物理引擎的仿真步長、無人機、三維環(huán)境等信息,用以仿真“世界”的搭建;2)控制器:用以搭建無人機的底層控制以及強化學習算法,控制無人機的運動;3)監(jiān)督器:用以監(jiān)控仿真環(huán)境的運行,以及根據(jù)控制器在強化學習訓練時發(fā)出的重置環(huán)境指令重置環(huán)境。同時,Webots仿真環(huán)境提供了一系列Python的接口函數(shù),方便研究人員直接控制仿真環(huán)境里現(xiàn)有的無人機模型。本文深度強化學習所用到的深度學習框架為Pytorch框架。
在圖1中,“控制器”模塊和“強化學習”模塊共同組成一個智能體(即無人機的“大腦”),該智能體從“無人機仿真環(huán)境”中獲取環(huán)境狀態(tài)觀測之后,給出一個決策動作去作用于“無人機仿真環(huán)境”模塊,而“無人機仿真環(huán)境”模塊返回給智能體相應決策動作所產生的環(huán)境狀態(tài)改變,如此構成了一個完整的強化學習經(jīng)典反饋框架。為使仿真環(huán)境更加接近現(xiàn)實環(huán)境,本文在仿真環(huán)境搭建了一個類似室內走廊場景的虛擬環(huán)境,如圖2中的(a)圖和(b)圖所示。仿真所用到的小型無人機如圖2(c)所示,為Webots平臺內置無人機模型,在仿真環(huán)境里可以通過接口函數(shù)獲取電機轉速、陀螺儀、加速計、氣壓計、GPS定位等數(shù)據(jù),用于后續(xù)算法開發(fā)。
圖1 強化學習系統(tǒng)Fig.1 Reinforcement learning system
圖2 三維仿真環(huán)境Fig.2 3D simulation environment
值得注意的是,在仿真環(huán)境里并未直接采用單目相機作為傳感器,而是采用激光雷達作為傳感器,是因為仿真環(huán)境里采集到的相機圖像不夠逼近現(xiàn)實,將會大幅降低遷移效果。同時為方便模型搭建,本文將Webots內置的激光雷達模型直接連接于無人機上方,但將其重量參數(shù)設置為零,因此不會對飛行控制帶來額外問題,如圖2(c)所示。同時,為與后續(xù)實際環(huán)境下采集數(shù)據(jù)所用的RPLidar A2型激光雷達參數(shù)保持一致,這里將仿真環(huán)境里的激光雷達的刷新頻率設置為15Hz。此外,為了實現(xiàn)從激光雷達到單目視覺的跨傳感器遷移學習,本文將仿真環(huán)境和現(xiàn)實環(huán)境下的單線激光雷達的可視范圍均限制在無人機正前方的180°范圍內,從而與攝像頭的視野范圍基本保持一致。
本文所涉及的實驗任務可描述為:首先,在1.1節(jié)所述的仿真環(huán)境中,結合深度強化學習方法,訓練得到一個穩(wěn)定的初級避障策略。無人機在仿真建筑物中自主漫游,將其最主要的目標設定為“存活”的更久。其次,在現(xiàn)實環(huán)境中,結合上述初級避障策略來進行跨傳感器的遷移學習,使其能夠更好的適應現(xiàn)實環(huán)境。特別地,現(xiàn)實環(huán)境與仿真環(huán)境的一個明顯差異是現(xiàn)實環(huán)境中存在行人這一不確定因素,因此在遷移過程中還需要研究提高有行人場景下的避障策略的穩(wěn)定性和適應能力。
近些年來深度強化學習算法取得了顯著進展,其中“深度”指的是強化學習結合了深度神經(jīng)網(wǎng)絡,其優(yōu)勢在于其能夠通過上百萬甚至千萬的參數(shù)實現(xiàn)強大的擬合與泛化能力。因此將強化學習的訓練參數(shù)以深度神經(jīng)網(wǎng)絡的形式擬合,極大的擴寬了強化學習的應用范圍。本文采用深度確定性策略梯度[9]強化學習算法(Deep deterministic policy gradient, DDPG),其網(wǎng)絡結構如圖3所示。該算法結合了Q-Learning強化學習算法和深度學習的優(yōu)勢,是一種基于策略梯度(Policy gradient)的學習算法。DDPG算法為離線策略(Off-policy)類型的算法,具有經(jīng)驗回放(Memory replay)機制,該機制類似于人類在跟外界環(huán)境交互的過程中儲存起來的記憶。每次訓練時隨機在記憶池里抽出一定數(shù)量(Batch size)的樣本來訓練,類似于人類的“反省”,有了經(jīng)常的“反省”,算法對于歷史數(shù)據(jù)的利用將更加充分,有利于得到效果更優(yōu)的策略。
圖3 本文的DDPG算法網(wǎng)絡結構示意圖Fig.3 Schematic diagram of DDPG algorithm network structure for this work
DDPG網(wǎng)絡結構上不考慮后期的優(yōu)化因素,可以看作是由兩個深度網(wǎng)絡構成,其中一個是表演者(Actor),從環(huán)境獲取狀態(tài)信息s,輸出執(zhí)行動作a;另一個是評論者(Critic),其結合環(huán)境的狀態(tài)信息s以及表演者輸出的動作a,輸出一個評分。因此兩個網(wǎng)絡構成了對抗競爭的關系,其中表演者的目標是要最大化評論者的評分,評論者的目標時最小化自己給出評分的變化率(旨在使其策略穩(wěn)定下來)。因此當DDPG算法訓練收斂之時,表演者可以針對當前環(huán)境給出一個比較優(yōu)秀的動作,而評論者也可以給出一個比較準確的評分。因此表演者網(wǎng)絡和評論者網(wǎng)絡的代價函數(shù)如式(1)所示。其中l(wèi)a和lc分別為表演者網(wǎng)絡和評論者網(wǎng)絡的代價函數(shù),表演者最大化評論者的評分q,也就是要最小化-q。表演者最小化狀態(tài)值函數(shù)的變化量。
(1)
DDPG算法同一般強化學習算法一樣,具有狀態(tài)空間(State space)、動作空間(Action space)、回報函數(shù)(Reward function)三大要素,而這三大要素隨著不同任務而變化。本文所設計的三要素如下。
1) 狀態(tài)空間:本文的強化學習算法在仿真環(huán)境里進行訓練,利用單線激光雷達作為環(huán)境感知傳感器,因此狀態(tài)空間定義為單線激光雷達的一系列深度值數(shù)組,本文對其180°范圍內的數(shù)據(jù)進行降采樣,每隔9°采樣一次,組成一個長度為20的數(shù)組。此時激光雷達數(shù)據(jù)儲存格式如式(2)所示。其中s表示狀態(tài)空間,D表示新的激光雷達數(shù)據(jù)。li表示表示降采樣后的第i個激光雷達射線對應的深度值。
s=D=[l1,l2,…,l18,l19,l20]
(2)
動作空間:DDPG強化學習策略可以輸出連續(xù)的動作空間,而本文設定沒有全局定位信息,因此將動作空間a分解為無人機的線速度v和偏航角速度w,如式(3)所示。值得注意的是,神經(jīng)網(wǎng)絡往往比較適合處理-1~1之間的數(shù)據(jù),因此在這里將無人機的線速度和角速度均映射到[-1, 1]區(qū)間。
a=[v,w]
(3)
(4)
(5)
本文2.1節(jié)詳細敘述了無人機使用單線激光雷達作為傳感器在仿真環(huán)境下訓練得到穩(wěn)定的初級避障策略,本節(jié)進一步研究從只使用激光雷達傳感器的初級避障策略,到只使用單目視覺的實物無人機避障策略的跨傳感器遷移學習方法。整體算法框架如圖4所示
圖4 整體算法結構圖Fig.4 The overall algorithm structure diagram of this work
遷移學習包含眾多類型的算法,其中比較實用的一種類型是模仿學習[10-13],其核心思想為在遷移學習新策略過程中,存在一個專家策略來不斷地指導新策略,在遷移學習訓練的過程中,目標是縮小新策略與專家策略之間的差距。因此,模仿學習屬于有監(jiān)督學習。
專家策略的獲取方法有多種,例如監(jiān)督學習、半監(jiān)督學習、無監(jiān)督學習等等。本文研究的核心問題在于將仿真環(huán)境訓練得到的策略遷移到實際環(huán)境當中,因此采用2.1節(jié)訓練得到的初級避障策略作為專家策略,屬于無監(jiān)督學習類型。
如圖5所示,在進行遷移學習訓練之前,需要用攝像頭以及激光雷達傳感器在如圖6所示的現(xiàn)實環(huán)境中采集數(shù)據(jù),并利用上述專家策略來對數(shù)據(jù)集進行自動標注。在采集數(shù)據(jù)集過程中,攝像頭圖片數(shù)據(jù)與單線激光雷達數(shù)據(jù)在每個程序周期里進行對齊及同步,實現(xiàn)兩種傳感器數(shù)據(jù)的逐幀綁定。
圖6 現(xiàn)實世界環(huán)境示意圖Fig.6 Schematic of the real world environment
圖5 激光雷達和攝像頭安裝結構示意圖Fig.5 Lidar and camera fixed structure diagram
值得注意的是,激光雷達的刷新頻率為15 Hz,因此將攝像頭的圖片采樣周期也強制同步至15 Hz。從另一個角度分析,如采樣頻率過高,采集到的數(shù)據(jù)在短時間內的相似度很高,則會占用過多的計算資源且意義不大。
采集得到的數(shù)據(jù)集格式為一系列(I,L)數(shù)據(jù)對,其中I為圖片數(shù)據(jù),L為激光雷達數(shù)據(jù)。圖片大小為640×480,格式為RGB。采集數(shù)據(jù)完畢之后,對數(shù)據(jù)集進行離線處理。利用2.1節(jié)中訓練得到的初級避障策略作為專家策略,輸入數(shù)據(jù)集中的激光雷達數(shù)據(jù),專家策略輸出一系列決策動作a來作為圖片數(shù)據(jù)集的標簽,這也就實現(xiàn)了遷移學習過程中的自動標注。處理后的新數(shù)據(jù)集格式為(I,B),其中B為專家策略輸出的一系列決策動作a,用來當作圖片數(shù)據(jù)集的標簽。
最后,遷移學習利用上述離線處理得到的新數(shù)據(jù)集來訓練深度網(wǎng)絡,也就實現(xiàn)了跨傳感器強化學習策略的遷移學習。深度神經(jīng)網(wǎng)絡采用的是性能優(yōu)良的Resnet18深度神經(jīng)網(wǎng)絡,同時,Pytorch深度學習框架提供了Resnet18網(wǎng)絡的部署實現(xiàn)模板,使用非常方便。因此,本文在其模板網(wǎng)絡結構后添加了規(guī)格為(256, 128, 16)的三層全連接層,網(wǎng)絡最終有兩個輸出,分別是無人機的給定線速度v和給定偏航角速度w。
在訓練時,網(wǎng)絡的一個批次數(shù)據(jù)大小采用的是128,代價函數(shù)采用經(jīng)典的均方誤差,如式(7)所示。其中l(wèi)為網(wǎng)絡的整體代價函數(shù),lv為回歸線速度v部分的子代價函數(shù),lw為回歸給定偏航角速度w部分的子代價函數(shù),兩個子代價函數(shù)的具體表達式如式(7)和(8)所示。
l=lv+lw
(6)
(7)
(8)
本文第2節(jié)提供了本次工作所設計的跨傳感器遷移學習的詳細內容,實現(xiàn)了在室內無人環(huán)境下的無人機自主導航避障。然而,室內經(jīng)常會有形態(tài)差異大、行走方向隨意性大的行人群體存在,這將導致2.2節(jié)所述方法得到的避障策略在有行人時表現(xiàn)出與行人交互不友好、路徑不穩(wěn)定等問題。
導致上述遷移學習策略在有行人場景下表現(xiàn)不佳的原因可以追溯到以下兩點:1)Resnet18網(wǎng)絡在有行人場景下的泛化能力不足,源自于其網(wǎng)絡結構較為簡單所帶來的弊端;2)從上述遷移學習擬合得到的策略可以看出,遷移學習得到的策略依舊為端到端決策類型的策略,而端到端策略的優(yōu)勢在于研究人員不必去詳細研究其計算過程,只需關心該策略的輸入和輸出即可,輸入一張圖片即可輸出一個決策動作。但同時也帶來一個很嚴重的問題,即輸入一張帶有行人的原始圖片數(shù)據(jù),神經(jīng)網(wǎng)絡的“注意力”可能會更多地聚焦在室內的建筑物環(huán)境上,而在行人身上投入較少的“注意力”,這也會導致無人機在有行人場景下與行人交互不友好,甚至為了保持與建筑物的安全距離而撞到行人。
因此,本文提出一種基于異步深度網(wǎng)絡的神經(jīng)網(wǎng)絡結構來改善有行人情況下的無人機避障性能,該異步網(wǎng)絡結構如圖7所示。從圖中可以看出,異步網(wǎng)絡結構具有兩個分支,左側分支為Resnet8深度網(wǎng)絡,右側分支為YOLO v3-tiny深度網(wǎng)絡[14-16],兩個分支網(wǎng)絡的輸出最終匯聚到一起,經(jīng)過四個全連接隱藏層,最終輸出的決策動作分別是無人機的給定線速度v和給定偏航角速度w。其中“異步”指的是,為了提高整個網(wǎng)絡在前向傳播時的計算速度,本文將resnet18和YOLO v3-tiny兩個分支分別放置在兩個子線程下進行運算,最終兩個線程的計算結果在主線程上匯總,再將匯總起來的計算結果經(jīng)過四個全連接隱藏層的計算后輸出結果。
圖7 異步網(wǎng)絡結構示意圖Fig.7 Schematic diagram of asynchronous network
YOLO v3系列網(wǎng)絡借鑒了殘差網(wǎng)絡結構[17-19],形成層數(shù)更深的神經(jīng)網(wǎng)絡,有著更強大的擬合能力。同時其采用多尺度檢測的圖像金字塔[20-21]機制,提升了預測框的平均重合率(mAP)以及對體積較小物體的檢測性能。而YOLO v3-tiny為YOLO v3網(wǎng)絡的簡化版,犧牲部分預測準確率以及回歸精度來很大程度上提升網(wǎng)絡的前向傳播速度。YOLOv3-tiny的前向傳播速度甚至可以達到YOLO v3網(wǎng)絡的10倍左右,易于在輕量級移動設備上使用。
該網(wǎng)絡結構的特點是利用YOLO v3-tiny網(wǎng)絡卓越的分類能力,將環(huán)境中的行人信息提取出來,再與Resnet18的結構融合后進行綜合決策,這也解決了本節(jié)開頭所述的兩大問題。值得注意的是,本文所使用的YOLO v3-tiny網(wǎng)絡為利用Coco數(shù)據(jù)集進行預訓練過的網(wǎng)絡,因此可以直接使用YOLO v3-tiny網(wǎng)絡來提取行人信息。
其中YOLO v3-tiny網(wǎng)絡輸出行人預測向量信息(對于每個行人輸出一個預測框),該向量格式如式(9)所示,pi表示第i個行人的圖像中預測框的位置信息,其中xti,yti表示第i個行人預測框在圖像中的左上角坐標,同樣xbi,ybi表示第i個行人預測框在圖像中的右下角坐標。最終行人向量信息如式(10)所示,其中pi表示第i個行人的預測框信息。這里取行人個數(shù)上限為10個人,因為對于一般情況室內同一視野內同時近距離出現(xiàn)超過10個人的可能性非常小,換而言之,若近距離人數(shù)超過10個則當前環(huán)境非常擁擠,無人機幾乎無法在這種場景下飛行。若當前視野內人數(shù)不足10個人時,則該行人向量末端用0補齊。同樣地,該異步網(wǎng)絡訓練時的代價函數(shù)等配置與2.2節(jié)所述一致。
pi=(xti,yti,xbi,ybi)
(9)
f=(p1,p2,…,p9,p10)
(10)
強化學習訓練的回報函數(shù)曲線如圖8所示,從圖中可以看出無人機在仿真環(huán)境中隨著訓練時間的增加,其與環(huán)境交互所獲得的回報也越來越多,最終趨于平穩(wěn),在宏觀上表現(xiàn)為無人機穩(wěn)定在建筑物內無碰撞飛行,這也從正面驗證了本文2.1節(jié)所設計回報函數(shù)的合理性。硬件設備為GTX 1080Ti GPU、i7 8700 K CPU,訓練所花費時長約為3.7 h。
圖8 回報函數(shù)曲線Fig.8 Reward function data
網(wǎng)絡的擬合能力對比分析:跨傳感器遷移學習、采用分段動態(tài)學習率,下降曲線如圖9(a)曲線所示。動態(tài)學習率使得網(wǎng)絡梯度在每個訓練階段都以相對比較合適的下降速度來更新網(wǎng)絡參數(shù),防止網(wǎng)絡下降過慢或者梯度爆炸。訓練所用的硬件設備與4.1節(jié)所述一致,數(shù)據(jù)集總量為100,000數(shù)據(jù)樣本,將整個數(shù)據(jù)集訓練200次總耗時約為20 h。從圖9中左側圖片的曲線(“*”形狀)可以看出,隨著訓練的進行,損失函數(shù)不斷收斂,最終趨于0附近。這表明該異步網(wǎng)絡結構有足夠的能力擬合有行人環(huán)境下的數(shù)據(jù)集。而單獨Resnet18的損失函數(shù)下降曲線如圖9左側圖片中的藍色曲線(“-”形狀)所示,可以看出單獨Resnet18網(wǎng)絡訓練該數(shù)據(jù)集最終也能逐漸趨于收斂,但其擬合精度的瓶頸比較明顯,最終的擬合精度要比異步深度網(wǎng)絡低。
網(wǎng)絡的前向傳播速度的對比分析:圖9(b)表示在幾次室內導航任務中深度網(wǎng)絡的平均輸出幀率,其中曲線(“*”形狀)表示雙線程運行異步網(wǎng)絡的輸出幀率曲線變化,曲線(“-”形狀)表示單線程運行異步網(wǎng)絡的輸出幀率隨時間變化曲線。綜合兩條曲線可以明顯看出基于雙線程運行的幀率大致為單線程的2倍。這意味著雙線程運行的網(wǎng)絡前向傳播速度有顯著提高。本次實驗也在NVidia公司的TX2單板計算機上測試了該異步網(wǎng)絡的平均幀率,其結果是25.7 Hz,這意味著在機載計算環(huán)境中亦可以保證實時性。
圖9 代價函數(shù)下降曲線及網(wǎng)絡幀率對比圖Fig.9 Cost function decline curve and network frame rate comparison chart
異步網(wǎng)絡在室內有行人實際場景中的泛化能力分析:為了檢驗該異步深度網(wǎng)絡在有行人環(huán)境下的泛化能力,在實際有行人的室內環(huán)境中進行了飛行測試,部分飛行軌跡圖如圖10所示。其中實線軌跡是本次研究所設計算法的無人機飛行軌跡,虛線軌跡是GTS算法的在實物上復現(xiàn)的飛行軌跡。通過對比軌跡可以發(fā)現(xiàn)實線軌跡幾乎是全程在以最大安全裕度在飛行,同時在有行人的情況下也能夠非常穩(wěn)定和平滑度軌跡避開行人。而虛線軌跡相對比較扭曲和不平滑,最終虛線曲線在“行人”文字標記處碰撞到行人而導致任務結束。從而綜合以上可以得出,本文所設計的異步網(wǎng)絡在有行人環(huán)境下具有較好的泛化能力和軌跡穩(wěn)定性。
圖10 無人機飛行軌跡對比圖Fig.10 Comparison chart of UAV flight trajectory
各算法無人機飛行測試中的存活時間對比分析:如圖11所示,本次飛行存活測試分別測試了基本DDPG算法、GTS算法、單Resnet18網(wǎng)絡、異步網(wǎng)絡在上述條件下的性能。為了與目前較為有代表性的算法性能做對比,本文分別在室內有行人、室內無行人、室內光線不穩(wěn)定、陌生室內等幾種環(huán)境下對無人機進行飛行存活時長測試。這里“存活時長”定義為從無人機起飛開始計時,在室內漫游飛行至無人機發(fā)生碰撞為止所花費的總時長。值得注意的是,為了使得各個算法更有可對比性,本文在做該項測試時盡量保證了各算法的基本條件一致,主要包括室內行人數(shù)量、光線、硬件設備、計算平臺等主要因素。對于某一個算法在某一個場景下分別測試多次,最終取平均結果作為最終的參考存活時長。
圖11 無人機存活時間對比圖Fig.11 Comparison chart of UAV survival time
從圖11中可以看出,基本DDPG算法的性能最弱,這是由于其仿真環(huán)境里的視覺部分遷移到現(xiàn)實世界效果不佳。同時可以看出,單Resnet18網(wǎng)絡與GTS算法的性能幾乎持平,而基于異步網(wǎng)絡結構的算法性能遠超另外三種算法,這也說明了異步網(wǎng)絡結構的算法有著更好的穩(wěn)定性和更友好的行人交互性能。
值得注意的是,這里的基礎DDPG算法指的是在仿真環(huán)境里直接用單目視覺的圖片數(shù)據(jù)作為狀態(tài)輸入,DDPG算法直接輸出決策動作,最后將訓練收斂的策略直接移植到實物上進行測試。
本文首先在Webots仿真環(huán)境訓練得到一個穩(wěn)定的僅使用虛擬激光雷達作為傳感器的初級避障策略;其次通過將真實激光雷達與單目攝像頭圖像數(shù)據(jù)逐幀綁定來采集現(xiàn)實環(huán)境中的數(shù)據(jù)集,利用上述初級避障策略當作專家策略,實現(xiàn)從虛擬激光雷達到現(xiàn)實單目視覺的跨傳感器遷移學習;最后針對室內有行人的場景設計了一種基于Resnet18網(wǎng)絡和YOLO v3-tiny網(wǎng)絡相結合的異步深度神經(jīng)網(wǎng)絡結構,改善了單Resnet18深度網(wǎng)絡進行遷移學習時,在有行人室內環(huán)境下的避障效果,同時基于雙線程的機制極大加速了深度網(wǎng)絡的前向傳播速度。仿真及實驗結果表明,本文所提出基于跨傳感器異步遷移學習方法能夠在光線不穩(wěn)定、陌生、有行人的室內環(huán)境下,相對于現(xiàn)有工作有著泛化能力更強、軌跡裕度更大、更穩(wěn)定的優(yōu)點。