国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于深度學習的無人機單目視覺避障算法

2022-02-21 04:43張香竹張立家宋逸凡裴海龍
關鍵詞:線速度障礙物航行

張香竹 張立家 宋逸凡 裴海龍

(1.華南理工大學 自動化科學與工程學院,廣東 廣州 510640;2.廣東工業(yè)大學 計算機學院,廣東 廣州 510006)

與大型無人機相比,小型無人機的優(yōu)點是靈活性更大、功耗更低、價格更便宜。所以,小型無人機的應用范圍越來越廣,包括包裹快遞、在擁擠雜亂的環(huán)境中拍攝和監(jiān)視等。

深度感知和避障是無人機智能導航中必不可少的任務。傳統(tǒng)的解決方案是采用距離傳感器,如超聲波傳感器、雷達[1]、微軟Kinect[2]、立體相機[3]或多個傳感器數(shù)據(jù)融合[4]。但是,這些傳感器價格昂貴或者工作的范圍和環(huán)境有限,不適用于小型無人機系統(tǒng)。相對這些傳感器,單目相機具有重量輕、成本低等優(yōu)點,且大部分商業(yè)無人機包含前置攝像頭,使其成為避障的重要解決方案。

小型無人機采用單目相機估計深度和避障的可行性已被證實。早期,估計深度?;谑止ぬ卣骰蚧趲缀谓Y構的方法。Kumar等[5]把一幅圖分為很多塊,使用一組手工制作的特征表示一塊,之后,使用預先訓練好的支持向量機(SVM)分類器估計每塊的深度。然而,該方法對深度估計的精度較差,這限制了無人機在高度擁擠或雜亂環(huán)境中的應用。Alvarez等[6]采用運動構圖法(SFM),該方法以無人機懸停期間采集的一系列圖像為輸入,進行圖像特征匹配,并以圖像序列間的結構限制構建深度圖。這種懸停-建圖-規(guī)劃-選路徑-飛行-懸停的模式不適用于動態(tài)避障,且SFM對缺乏紋理的環(huán)境無法檢測。

目前,深度學習在視覺任務中性能表現(xiàn)突出,被廣泛用于其他領域,包括避障任務。該方案有端到端模式和感知-規(guī)劃兩種模式。端到端模式中的模型以圖像為輸入預測無人機飛行動作[7- 9],已經取得不錯的實驗效果。但由于訓練數(shù)據(jù)采用人工控制無人機飛行獲得,該模式受人為操作影響較大。為解決這一問題,有學者提出感知-規(guī)劃模式[10- 18],即模型以圖像為輸入進行標簽預測,規(guī)劃算法根據(jù)標簽控制無人機避障和導航。這是無人機避障的趨勢?;诰灯频葻o監(jiān)督的方法需要先確定聚類的個數(shù),再對感知結果進行處理。然而,這些參數(shù)事先并不知道,且不同的環(huán)境下聚類個數(shù)不同。

本研究結合單張圖像深度估計FastDepth算法和目標檢測的NanoDet算法實現(xiàn)無人機的自主導航和避障,以檢測框為依據(jù)劃分區(qū)域,深度估計用于判定區(qū)域深度。根據(jù)無人機減速所需距離和無人機檢測出障礙物到開始減速所需的反應距離等運動約束和評價函數(shù),篩選可航行區(qū)域,根據(jù)較近距離的障礙物或前視相機視線約束計算最小可航行區(qū)域,判斷該區(qū)域是否可安全通行。根據(jù)可航行區(qū)域中心角度及深度調整無人機偏航角速度和線速度。與無人機直飛的實驗對比,證明了本研究提出的方法的自主避障性能。

1 相關工作

由于在視覺任務中優(yōu)秀的性能表現(xiàn),深度學習方法常被用于單目視覺深度估計或目標檢測。由于深度學習中的端到端模式需人工控制無人機飛行獲得模型訓練數(shù)據(jù),受人為操作影響較大。因此,深度學習方法中的感知-規(guī)劃模式成為無人機自主避障的常用模式。

1.1 單目深度估計

單目深度估計在機器人應用中發(fā)揮著重要作用[19]。SFM方法通過一系列圖像進行深度估計,這種方法計算速度和對動態(tài)障礙物的適應都比較差[6]。另一種視差圖方法[20],是借鑒雙目經驗,將視差估計定義為圖像重建問題,訓練神經網(wǎng)絡扭曲一側圖像以匹配另一側圖像。

目前,用深度學習的方法解決單目深度估計已成為趨勢[19]。學者們通過改變網(wǎng)絡結構[21- 23]、增加網(wǎng)路輸入[13,24]、增加網(wǎng)絡預測任務[25- 26]或修改預測標簽[27- 28],提高預估精度。Eigen等[21]用兩個網(wǎng)絡(一個預測全局粗尺度,另一個預測局部細節(jié)),并加入法向和標簽輔助預測任務[25]提高深度估計精度。Laina等[22]則修改了深度殘差網(wǎng)絡。有學者把稀疏深度圖與RGB圖像同時作為網(wǎng)絡輸入[13,24]。有學者則以光流圖和RGB圖像作為CNN輸入[24]。Qi等[26]同時預估深度和法線,解決預測中的模糊問題。Fu等[27]和Diaz等[28]認為不同距離預估誤差不同,對距離做間距遞增離散化,通過有序回歸進行預測深度。這些方法通過增加算法復雜性和計算成本獲得更高的預測準確性,不適于實時推理。

1.2 目標檢測

目標檢測的目的是找出圖像中所有感興趣物體,含物體定位和物體分類兩個子任務[29]。目前,目標檢測算法按提取目標檢測框的步驟不同,分為雙階段和單階段兩種。雙階段分兩個階段:產生候選框即目標在圖像中位置;對候選框分類和修正位置。這類算法精度高,但速度較慢,代表性算法有RCNN、faster RCNN[30]等。與雙階段不同,單階段算法通過一次檢測即可得到物體類別概率和物體位置信息,代表性算法有SSD[31]、Yolov2[32]等。這種方法速度快,但較雙階段算法精度差。這些算法都已有所改進,速度和精度都有所提升。這些方法模型大,不適于移動端。有人提出yolo-tiny等方法用于移動端的目標檢測[33]。

1.3 單目避障算法

深度學習中End-to-end模式進行無人機自主導航和避障取得了喜人的性能[7- 9]。其訓練數(shù)據(jù)采用人工控制無人機飛行獲得,受人為操作影響較大。為解決這一問題,有學者提出感知-規(guī)劃模式[34]。該模式用深度模型得到圖像感知,規(guī)劃算法以感知結果為輸入進行自主導航和避障。該模式分為3類:距離預測[16- 18]、視差圖預估[15]和深度圖預估[11- 14]。有學者根據(jù)深度模型預測圖像左、中、右3部分距無人機最近障礙物的距離[16- 18]。然后,規(guī)劃算法以預測距離為輸入,控制無人機角速度和線速度。該方法控制效果較好,但算法并沒有估計出障礙物所在方向與相機視線之間的夾角,造成角速度控制的模糊性。單目深度估計或估計視差圖可以解決這一問題。但是,這些方法對深度圖或視差圖進行二值化[12- 13]、均勻劃分區(qū)域[11,15]或無監(jiān)督像素聚類[14]實現(xiàn)區(qū)域劃分。由于環(huán)境中障礙物個數(shù)是變化的,所以這種區(qū)域劃分方法難以確定區(qū)域個數(shù)。張午陽等[35]提出用Yolo算法檢測障礙物,根據(jù)人均身高計算物體與無人機(UAV)的距離,但這不適用于無人場景。受文獻[35]啟發(fā),本研究提出了基于目標檢測框的深度區(qū)域劃分方法。

2 方法

2.1 系統(tǒng)結構

本系統(tǒng)包含3個模塊:感知模塊、深度估計模塊及避障模塊,如圖1所示。感知模塊包括可運行在移動端的深度估計[36]和目標檢測[37],區(qū)域深度估計模塊主要包含3部分:①對預估結果進行預處理;②基于目標檢測框對深度估計圖進行區(qū)域劃分;③對劃分區(qū)域進行深度估計。最后的避障模塊分3部分:①考慮無人機減速所需距離和無人機檢測出障礙物到開始減速所需的反應距離等運動約束的有效區(qū)域深度;②基于評價函數(shù)篩選可航行區(qū)域,并依據(jù)無人機尺寸和前視相機視線約束計算最小可航行尺度,保證該區(qū)域可安全飛行;③根據(jù)可航行區(qū)域規(guī)劃運動。

圖1 系統(tǒng)結構示意圖Fig.1 System structure diagram

2.2 圖像感知

為方便后續(xù)的移動端部署,本研究采用FastDepth算法[36]進行單目深度估計。這種算法有兩個主要貢獻:一個高效輕量級的編碼-解碼網(wǎng)絡和網(wǎng)絡裁剪。同時,本研究用NCNN 優(yōu)化器[38]對FastDepth算法進行優(yōu)化后移植到移動端。

本研究的目標檢測方法為NanoDet算法[37]。該方法有輕量級超高速且精度較好的特點,非常適合部署在移動端。為此,該方法有3個主要貢獻:以改進的FCOS算法為基礎架構,體積較小且對移動端CPU友好的ShuffleNetV2為主干網(wǎng)絡,NCNN優(yōu)化器[38]部署到移動端。該模型用包含80種物體類別的COCO2017數(shù)據(jù)集進行訓練和測試,而室內辦公區(qū)域常見的為人和椅子。后續(xù)對這兩種障礙物進行避障實驗。

2.3 避障算法

本研究基于目標檢測結果對深度圖進行區(qū)域劃分。為保證無人機飛行安全,本研究考慮反應時間、最大減速及預估誤差,通過有效動態(tài)空間轉換(EDS)[39]獲得區(qū)域有效深度。除此之外,評價函數(shù)篩選可航行區(qū)域;根據(jù)無人機尺寸約束和視線范圍約束計算最小可航行區(qū)域,判斷該區(qū)域是否可安全飛行。設計規(guī)劃算法控制無人機的偏航角速度和線速度,保證無人機平穩(wěn)飛行。

2.3.1 基于目標檢測框的區(qū)域劃分

(a)原圖

(b)目標檢測結果

(c)剔除遠距離目標框

(d)深度圖中目標檢測框圖2 基于目標檢測框的圖像區(qū)域劃分Fig.2 Image region division based on object detection boxes

2.3.2 有效深度

為保障無人機飛行安全,需考慮反應速度、最大減速及深度預估誤差對深度的影響。需把預估距離轉換到EDS[39],篩選可航行候選區(qū)域。

無人機反應距離及減速距離為:

(1)

其中,vt表示t時刻無人機的線速度,T表示采樣時間間隔,drp表示反應所需距離,amax表示最大加速度,ddc表示最大減速所需的距離。

由于無人機長時間沒有收到控制指令,會立即懸停;且無人機的實時速度無法獲取,所以,本研究用最大線速度和等待控制指令的最大時長的乘積d代替上述反應距離和減速距離的總和。

由于深度估計存在誤差,計算有效深度時需去除誤差。Kumar等[5]把深度估計誤差視為常數(shù)。Yang等[14]用基于像素聚類得到的目標檢測框的長或寬與圖像長或寬的比值Rj表示障礙物輪廓的完整性。本研究與文獻[5]方法類似,不同的是:本文目標檢測框由目標檢測算法獲得。比值Rj如下:

(2)

其中:wj和hj分別為圖像中第j個區(qū)域中目標檢測框的寬和長,W和H分別是圖像的寬和長。設置閾值μ,若Rj大于該閾值,說明物體輪廓完整性較差,深度誤差估計大,視為不可航行區(qū)域;其他情況,視為常數(shù)ed。

則第j個區(qū)域的有效深度為:

(3)

其中:Dj表示第j個區(qū)域的有效深度,0表示區(qū)域不可航行。

由于障礙物較遠時對無人機的飛行影響較小,此時,考慮合并深度較大區(qū)域,并以最小深度為最終深度值,具體如圖3所示。圖中顏色越深表示障礙物距離越近,顏色越淺表示障礙物距離越遠。

(a)合并前的有效深度 (b)有效深度圖3 有效深度圖(單位:m)Fig.3 Effective depth map(Unit:m)

2.3.3 約束

無人機可航行候選區(qū)域可分為以下3種情況:無可航行區(qū)域、僅有一個可航行區(qū)域和多個可航行候選區(qū)域。第3種情況時,根據(jù)評價函數(shù)篩選可航行區(qū)域。存在可航行區(qū)域時,根據(jù)無人機尺寸及無人機前視相機視場約束計算最小可通行尺度,保障無人機飛行安全。

由區(qū)域劃分和有效深度圖3得避障圖(見圖4)。圖4中上面矩形圖為圖3(b)有效深度圖,下面三角圖為避障圖。避障圖圖4中藍色區(qū)域表示障礙物,無顏色區(qū)域表示可航行。

圖4 避障圖Fig.4 Obstacle avoidance figure

圖5 角度和最小通行尺度示意圖Fig.5 Schematic diagram of angle and minimum pass size

計算公式如下所示:

(4)

(5)

由此,區(qū)域的夾角為

(6)

若可航行候選區(qū)域不止一個,則選擇一個可航行距離盡可能遠、且無人機軌跡盡可能平滑的區(qū)域作為可航行區(qū)域?;诖?,設計評價函數(shù)Fj如下:

(7)

最后,計算最小可通行尺度Sj。選取可航行區(qū)域相鄰兩區(qū)域中具有較小深度值的區(qū)域(可航行區(qū)域的鄰域)與可航行區(qū)域的鄰邊為一邊;從該邊朝著可航行區(qū)域的方向選取深度值小于等于該鄰域深度值的區(qū)域,或者無人機前視相機的視線邊界作為另一邊,計算最小可通行尺度。圖5中可航行區(qū)域左邊界為一邊,無人機前視相機的右邊界為另一邊,與虛線共同組成一個等腰三角形,且該虛線為等腰三角形的底邊。該虛線長度Sj為

(8)

由于無人機飛行過程中存在抖動等,若可通過尺度大于無人機尺寸的1.5倍,則該區(qū)域為可航行候選區(qū)域;否則,不可通過。四旋翼無人機的尺寸是指軸距,即對角線上的兩個電機軸心的距離,具體為29 cm。

2.3.4 局部規(guī)劃

為適合不同的情況,本研究設計不同的局部規(guī)劃算法:無可航行區(qū)域,則無人機朝著一個方向旋轉,直至有可航行區(qū)域;若僅有一個可航行區(qū)域,無人機朝該區(qū)域旋轉。只有中間區(qū)域可航行時,無人機會直線飛行;否則,無人機前向速度為零。

無人機接收偏航角速度,而非角度。根據(jù)上文規(guī)劃算法,為防止角速度變化過快,加入低通濾波:

υθt=αυθt-1+(1-α)υθ

(9)

其中:υθt和υθt-1分別為當前速度和前一時刻角速度;υθ為當前預估角速度,是矢量方向θ(Dj+D0)與相機水平視場角θFOV比值的2倍,即υθ=2θ/θFOV,范圍為[-1,1]rad/s;Dj為可航行區(qū)域深度與其中心角構成的距離矢量,矢量方向θ(Dj+D0)由距離矢量Dj與相機視線軸方向距離矢量D0合成,α為前一時刻偏航角速度的權重,為0.7。

因為環(huán)境中可能存在動態(tài)障礙物,所以無人機的線速度不僅要考慮可航行點所在區(qū)域深度的影響,還要考慮整體環(huán)境的影響,即

vt=βvt-1+(1-β)v

(10)

其中:vt和vt-1分別為當前時刻和前一時刻的線速度;v為預估的無人機當前時刻線速度,由相機視線軸所在區(qū)域深度Dj、深度估計模型可測的最大深度dmax及最大線速度Vmax共同決定,v=(Dj/dmax)Vmax,Vmax為0.5 m/s;dmax為5 m;β為權重系數(shù),為0.7。

3 實驗

為驗證本研究提出的方法的避障性能,在兩種場景中進行算法實驗:一個是僅包含3種不同顏色且位置固定的椅子;另一個場景中包含位置固定的椅子和移動的人。無人機避障過程中,圖像中出現(xiàn)頻次較高的障礙物如圖6所示。

圖6 環(huán)境中出現(xiàn)較高頻次的障礙物Fig.6 Obstacles of high frequency in the environment

為說明算法避障有效性,本研究以無人機沿可航行方向最大線速度直線飛行作為參照(以下稱直飛)。為保障環(huán)境安全,無人機直飛接近障礙物時,懸停無人機,之后從該點開始下一次直飛實驗。實驗過程中,無人機接近障礙物而本方法沒有產生較大偏航時,手動停止無人機,并從該點開始下一次實驗。值得一提的是:本方法并未針對本文實驗場景數(shù)據(jù)進行訓練。

每種方法在每個場景飛行10次。在僅有椅子的場景中,直飛的平均飛行時間為4.5 s,本方法的平均飛行時間為14.8 s;在包含動態(tài)障礙物的場景中,直飛的平均飛行時間為3.9 s,本方法的平均飛行時間為12.3 s。由此可得:本方法較無人機直飛的平均飛行時間長2倍以上。飛行環(huán)境中,障礙物之間的距離范圍從1 m至3 m。從平均飛行時間和最大線速度可確定:實驗環(huán)境中障礙物之間的平均距離約為2 m。

為說明算法細節(jié),本研究以一次飛行為例,給出系統(tǒng)輸出:線速度和角速度,如圖7所示。

圖7 系統(tǒng)動態(tài)輸出Fig.7 Dynamic outputs of the system

圖7橫軸代表幀數(shù),縱軸代表線速度或角速度。每段場景序號從左至右依次增大,且每段場景配置相應場景圖。偏航角中定義向左為正方向,向右則為負方向。從圖7可以看出:第1段場景中,障礙物距無人機較遠時,無人機沿直線飛行;第2段場景中,障礙物在無人機右前方時,算法得出無人機應該配置較大的正向偏航角速度,即左向偏航角速度,并減小無人機線速度,達到快速避障的目的;第3段場景與第1段場景類似;第4段場景與第2段場景類似;第5段場景中,障礙物在無人機左前方,此時,無人機持續(xù)產生較大的右向偏航角速度。從中也可以看出:遇到障礙物時,本方法會在較短時間內完成避障行動。

根據(jù)平均飛行時間和圖7可知:本算法可以根據(jù)環(huán)境中的障礙物距無人機的遠近和障礙物相對無人機前視相機的方位自主調節(jié)速度和偏航角速度,實現(xiàn)無人機自主避障。本文給出室內環(huán)境布局圖,及3條無人機自主避障軌跡,以展現(xiàn)無人機的避障效果,見圖8。其中,每條軌跡用不同顏色表示,具體的圖例見布局圖下方所示。由于環(huán)境中動態(tài)人的運動軌跡是無規(guī)則的,本文并未展示含動態(tài)障礙物的無人機自主避障軌跡圖。

圖9展現(xiàn)部分圖像的中間處理結果。圖9中共含3個框。第一個框內是場景中僅含椅子的部分圖像的中間處理結果,中間框中是場景中含動態(tài)障礙物的部分圖像的中間處理結果,最下層框內是部分避障失敗圖像的中間處理結果。

圖9內中間列和右側列圖片中,像素顏色越深表示障礙物與無人機距離越近,反之,距離越遠。從圖9可以看出:本算法可以檢測出訓練數(shù)據(jù)集中包含的類別,如人、椅子;對于未經模型訓練的數(shù)據(jù)類別,如紙箱,或者圖像中僅包含部分部件的障礙物,如椅子、桌子,則無法檢測。另外,由于受光照、紋理等影響,單目深度估計精度變差從而造成避障失敗,如最下層框中的圖像。

圖8 無人機自主避障示意圖Fig.8 Diagram of UAV autonomous obstacle avoidance

圖9 算法中間處理結果Fig.9 Intermediate treatment results of the algorithm

4 結語

本研究提出基于單張RGB圖像的深度估計、目標檢測和基于反應距離、減速距離等運動約束的四旋翼無人機自主避障算法。與無人機直飛的對比實驗可以看出:本算法具有較好的自主避障性能。經過實驗結果分析可知:本算法受單目深度估計精度和檢測算法穩(wěn)定性的影響。下一步,需考慮用深度相機解決單目深度估計精度問題及通過視頻序列解決目標檢測穩(wěn)定性問題。

猜你喜歡
線速度障礙物航行
到慧骃國的航行
海洋美景
第六章 邂逅“胖胖號”
高低翻越
趕飛機
月亮為什么會有圓缺
天體運動中的四大難點
盤棒砂磨機線速度對研磨效果的影響
潛艇
一種輻照線纜表面品質保護裝置
手游| 巴马| 静海县| 凤凰县| 永春县| 民勤县| 十堰市| 伊金霍洛旗| 南投市| 望谟县| 鸡东县| 台南市| 兰西县| 偃师市| 台江县| 凉山| 安泽县| 依兰县| 乌审旗| 厦门市| 金山区| 青海省| 哈密市| 同心县| 龙陵县| 礼泉县| 夏津县| 鄂伦春自治旗| 葫芦岛市| 山阳县| 高唐县| 阿瓦提县| 琼海市| 南平市| 阿合奇县| 开封市| 腾冲县| 海原县| 蒲城县| 泸水县| 安塞县|