鐘春來 楊洋 王喆 曹立佳
無人機已被廣泛應用于民用領域,如空中監視、包裹遞送、精準農業、智能交通、搜救行動、災后行動、火災檢測、遙感、交通監控等。近年來,無人機的應用領域因其成本效益、快速機動性和易于部署而顯著增加。
無人機導航可以看作是無人機根據當前環境和位置制定如何安全、快速到達目標位置的計劃過程。為了順利完成預定的任務,無人機必須充分了解自身的狀態,包括位置、導航速度、航向以及起點和目標位置。迄今為止,已經提出了各種導航方法,主要可分為三類:慣性導航、衛星導航和視覺導航。然而,這些方法都不是完美的。因此,根據具體任務采用合適的無人機導航至關重要。隨著計算機視覺的快速發展,視覺導航已被證明是自主導航領域的一個重要且具有前景的研究方向之一。首先,視覺傳感器可以提供豐富的周圍環境在線信息;其次,視覺傳感器具有顯著的抗干擾能力,非常適合動態環境的感知。第三,大多數視覺傳感器都是無源傳感器,這也導致傳感系統無法被檢測到。基于視覺的無人機導航系統的示意圖如圖1所示,系統以來自外界感知和自身感知傳感器的輸入,在經過內部定位、地圖構建、障礙物避讓和路徑規劃等處理后,導航系統最終會輸出連續的控制信號,以引導無人機飛向目標位置。
視覺傳感器
一般來說,視覺導航使用的視覺傳感器包括單目、雙目、三原色加距離(RGB-D)和魚眼相機。單目相機因其價格低和靈活性高成為了應用的首選。然而,它們只能捕捉到彩色圖像,無法直接獲得深度信息。雙目攝像機是單目攝像機的擴展版本,可以在沒有紅外傳感器的情況下通過比較兩個攝像頭捕捉到的圖像,利用視差原理來估計物體的深度信息。RGB-D相機結合了彩色圖像和深度圖像的優勢,通常通過使用紅外傳感器來獲取深度信息。RGB-D相機最適合室內環境,因為它作用的區域范圍有限。魚眼相機可以為遠距離區域提供寬視角,這對于復雜環境中的避障具有吸引力,但存在嚴重的圖像畸變。
基于地圖的視覺導航系統
基于地圖的視覺導航系統使得無人機能夠根據預定義的地圖和環境布局進行導航,具備避障和路徑規劃能力。這些地圖的詳細程度各不相同,可以是涵蓋整個環境的三維模型,也可以僅僅是環境元素之間相互連接的示意圖。基于地圖的導航系統可以分為三種主要類型:獨立于地圖的導航系統、依賴于地圖的導航系統和基于地圖構建的導航系統。
獨立于地圖的導航系統
獨立于地圖的導航系統在沒有已知地圖的情況下運行,而無人機只能通過觀察和提取周圍環境的獨特特征來進行導航。目前,光流和特征跟蹤方法是與地圖無關的導航系統中最常用的方法。
基于光流的檢測方法利用圖像中每個像素的灰度隨時間的變化和相關性分析來推斷像素的運動速度,從而檢測目標物體的運動。光流方法可以分為兩種主要類型:全局光流和局部光流。全局光流方法主要考慮相鄰像素之間的平滑運動,而局部光流方法則采用差分法,假設光流在圖像的所有像素點上都是恒定的。曾幼涵等人提出了一種基于光流的導航算法,實現了無人機在無GPS情況下的速度與位置控制。然而,在復雜環境中存在一些限制,例如存在快速移動的物體、障礙物遮擋或不斷變化的照明條件,這些因素可能使光流方法的應用受到限制。
基于特征跟蹤的導航系統是一類依靠跟蹤環境中獨特的視覺特征或關鍵點來實現導航和控制的導航方法。基于特征跟蹤的系統首先檢測環境中的關鍵視覺特征或地標,這些特征可以是點、邊緣、角點(Harris、SIFT、SURF和ORB等)或其他可以在圖像中可識別的獨特圖案。當在初始幀中檢測到特征,系統會跟蹤它們在連續幀中的移動,此跟蹤過程涉及從當前幀到下一幀的特征匹配,通常使用特征匹配和特征跟蹤技術;通過跟蹤特征隨時間的運動,系統可以估計無人機與環境之間的相對運動。這些信息對于了解無人機如何移動以及如何調整其軌跡至關重要。
依賴地圖的導航系統
基于地圖的導航系統依賴于已知環境的空間結構,以實現無人機的導航、避障和路徑規劃。在這些方法中,通常使用兩種不同類型的地圖:八叉樹地圖和柵格地圖。這些地圖包含了豐富的信息,其使用二維地圖表示環境的三維模型以及顯示環境元素之間連接關系的地圖。此外,當三維數據直接儲存在二維地圖中時,它適用于如辦公區域、寬敞的走廊或平坦的戶外區域等高度信息不太重要的環境。然而,在更復雜的環境中,如傳統的城市區域,障礙物的形狀不規則,這使得使用二維模型更具挑戰性。因此,必須采用三維占用模型,其中高度的概率分布得到更新,而不僅僅是一個維度的數值。可以重新規劃那些具有非標準輪廓的障礙物,如隧道、樹木、建筑物墻壁以及以獨特方式排列的物體。
基于地圖構建的導航系統
由于周圍地形復雜且崎嶇,對于無人機來說,很難使用預先存在的準確環境地圖進行導航。此外,由于風暴或大雨等自然災害,無人機無法輕易識別目標區域。因此,在復雜環境中導航時生成地圖是一種有效的解決方案。一般來說,地圖構建方法廣泛應用于自主和半自主領域,并且由于同步視覺定位和建圖技術的快速發展而被廣泛接受和流行。根據其視覺傳感器圖像處理方式可以分為間接法和直接法。
間接方法不直接使用圖像,而是首先從圖像中檢測和提取特征,然后將他們用作運動估計和定位方法的輸入。特征通常是旋轉和透視不變的,并且對運動模糊和噪聲具有魯棒性。然而,大多數間接方法僅從圖像中提取不同的特征點,這最多只能重建一組特定的點,我們將這種方法稱為稀疏間接方法,它只能重建稀疏的場景圖。
盡管間接法在普通環境中表現良好,但很容易陷入無紋理的世界。因此,直接方法在過去十年中變得流行。與間接技術相比,直接方法通過利用所有圖像的強度信息來優化幾何參數,從而提高了對光度和幾何像差的抵抗力。此外,直接技術更有可能識別密集對應關系,從而使它們能夠以更高的計算成本重建密集地圖。
障礙物檢測和避障
避障是自主導航的關鍵組成部分之一,因為它可以識別和傳輸有關周圍障礙物的關鍵信息,從而降低碰撞和飛行員失誤的風險。因此,它有可能顯著提高無人機的自主性。避障基于檢測障礙物并計算無人機與障礙物之間的距離。當障礙物接近時,無人機根據避障模塊的指令進行躲避或掉頭。一種方法使用測距儀(如雷達、超聲波和紅外線)來估計距離。此外,它們的視野和測量范圍狹窄,使得它們無法在復雜的環境中收集足夠的信息。與該方法相比,視覺傳感器可以收集大量的視覺數據,這些數據可以被處理并用于避開障礙物。避障方法分為三類:基于外觀的方法、基于運動的方法和基于深度的方法。
基于外觀的方法是障礙物視為統一背景(即地面或天空)的前景對象。它們的工作基于來自相關背景的一些先驗知識,以邊緣、顏色、紋理或形狀特征的形式。使用安裝在無人機上的相機對連續拍攝的單張圖像進行障礙物檢測。檢查獲取的圖像是否符合天空或地面特征;如果沒有,則被視為障礙像素。對圖像中的每個像素執行此過程。結果是一個二值圖像,其中障礙物以白色像素呈現,其余像素以黑色像素呈現。對于無人機,大多數研究都在尋找一種將天空與地面分開的方法。例如,Huh等人使用地平線將天空與地面分開,然后使用粒子過濾器算法確定移動障礙物。Mashaly等人提出在復雜的環境中進行有效分割天空的方法。在另一項研究中提出一種利用單個廣角相機的實時障礙物檢測系統,該系統使用基于局部對象的背景減法來獲取靜態/移動對象的輪廓。
在基于運動的方法中,假設附近的物體具有可以使用圖像中的運動矢量檢測到的劇烈運動。該過程涉及在很短的時間內拍攝兩個連續的圖像或幀。首先,在兩幀上提取幾個匹配點。然后,計算匹配點的位移矢量。由于距離相機較近的物體具有較大的位移,因此任何位移值超過特定閾值的點都被視為障礙物像素。基于運動的障礙物檢測主要依賴于匹配點的質量。因此,如果不匹配特征的數量較多,其質量可能會下降。此外,如果使用光流進行運動估計,必須注意靠近中心的圖像點。這是因為,在光流中,運動矢量的數量并不多。事實上,使用光流檢測無人機前面的障礙物仍然具有挑戰性。
與基于運動的方法一樣,基于深度的方法從單個相機拍攝的圖像中獲取深度信息。有兩種方法可以實現這一目標,第一種是運動立體,第二種是深度學習。前者是者的機器人兩側放置了兩個攝像頭,并捕獲一對連續的圖像。盡管這些圖像僅使用單個相機拍攝,但它們可以被視為一對立體圖像,從中可以估計物點的深度。為此,在圖像中搜索匹配點。然后,使用標準深度估計計算,計算對象點的深度。深度小于閾值的像素被視為障礙物。后者是使用適當的數據訓練深度學習網絡,從單個圖像生成深度圖。Mern等人提出了一種小型無人機避障系統,其中使用視覺算法計算深度。
路徑規劃
路徑規劃是無人機導航中的一項必要活動,需要根據一組性能特征(例如最低的工作成本、最短的飛行時間和最短的路線)確定從起點到目的地點的最有效路徑。無人機在整個過程中還必須避開障礙物,如圖2所示。根據用于計算理想路徑的環境信息的類型,該問題可以分為全局路徑規劃和局部路徑規劃。全局路徑規劃旨在根據全局地圖上確定最佳可能路徑。然而,它不足以實時控制無人機,特別是當其他活動必須快速完成或在飛行過程中出現意外障礙時。因此,局部路徑規劃必須不斷接收來自周圍環境的傳感器數據并實時計算無碰撞路徑。
無人機路徑規劃涉及多個目標,包括尋找最短路徑、最低成本路徑以及保持持久安全路徑等。解決這些問題的開放性挑戰促使研究人員探索各種方法和技術,其中包括基于網絡的技術、基于采樣的方法和基于人工智能的方法,具體分類如圖3所示。
基于網格的方法是在構型空間(無人機可能達到的位置空間)上覆蓋網格,并假設每個構型都有一個網格點。機器人可以從一個點移動到相鄰的點,只要這個點在自由空間內。這些方法支持在內存中表示環境,從而實現路徑規劃和機器人定位。基于網格的路徑規劃,包括A*,D*,MEA*和Dijkstra等。基于采樣的算法用采樣配置的路線圖來表示配置空間。基本算法對空間中的配置進行采樣,并保留自由空間中的配置作為里程碑,以尋找連接起點和目標的路徑。這些算法更適用于三維空間,包括粒子群優化算法(Particle swarm optimization,PSO)、勢場法(Potential Field Method,PFM)、快速探索隨機樹法 (Rapidly exploring Random Tree,RRT)、RRT*和泰森多邊形法(Voronoi Diagram,VD)。
人工智能算法在無人機路徑規劃中的應用是至關重要的,它可以幫助無人機在復雜環境中更有效地規劃路徑,基于人工智能的路徑規劃方法包括蟻群算法、人工神經網絡 (Artificial Neural Network,ANN)、暴力搜索、遺傳算法(Genetic Algorithm,GA)和可變鄰域搜索法(Variable Neighbourhood Search,VNS)等。無人機必須確保在有限的電池儲能容量下高效執行任務,因此機器學習算法在感知、規劃和控制方面發揮著關鍵作用。深度強化學習是近年來新出的一種方法,它通過智能體與環境的互動來學習如何選擇行動以尋找最佳路徑,常用算法有Q-learning、DQN、DDPG、DDQN、CPP等。深度強化學習算法可以幫助無人機學習在復雜和未知的環境中尋找最佳路徑,以最大程度地提高任務執行效率。具體算法的選擇通常取決于問題的性質、狀態空間的維度和可用的訓練數據。深度強化學習在無人機領域的應用前景廣闊,有望進一步提高無人機的自主性和效率。
總結
隨著計算機視覺的快速發展和無人機的日益普及,它們的結合已成為學術界和工業界重點關注的研究領域。本文主要從定位與建圖、避障和路徑規劃三個方面介紹無人機視覺導航。定位和建圖是自主導航的關鍵,也為無人機提供位置和環境信息。避障和路徑規劃對于無人機安全、快速地到達目標位置且不發生碰撞至關重要。
與傳統機器人相比,無人機不能在狀態估計存在相當大誤差的情況下立刻停止運行,導致飛行器的控制命令不連貫甚至墜毀,無人機可以為計算機視覺應用提供具有挑戰性的測試平臺。通常,飛機的尺寸比移動機器人的尺寸大。因此,圖像處理算法必須能夠魯棒地實時提供視覺信息,并具有補償圖像序列粗糙變化和三維信息變化的能力。其次無人機自身計算能力和能量的限制,其中大部分算法都不能直接應用于無人機。雖然目前無人機視覺導航領域面臨諸多挑戰,但同時也為計算機視覺應用提供了重要的實驗平臺,這有望推動該領域不斷發展。