雙目立體視覺猶如3D電影(左右眼看到的場景略有差異),能夠直接給人帶來強烈的空間臨場感。類比機器視覺,從單個攝像頭升級到兩個攝像頭,即立體視覺(Stereo Vision)能夠直接提供第三個維度的信息,即景深(depth),能夠更為簡單的獲取到三維信息。雙目視覺最常見的例子就是我們的雙眼:我們之所以能夠準確的拿起面前的杯子、判斷汽車的遠近,都是因為雙眼的雙目立體視覺,而3D電影、VR眼鏡的發(fā)明,也都是雙目視覺的應用。
雙目視覺的基本原理是利用兩個平行的攝像頭進行拍攝,然后根據(jù)兩幅圖像之間的差異(視差),利用一系列復雜的算法計算出特定點的距離,當數(shù)據(jù)足夠時還能生成深度圖。
為什么雙目視覺能夠在無人機應用中脫穎而出?
其實,各個避障技術在無人機上都有用武之地,只是應用場景有所不同,特別對于前視避障而言,有些技術就不適用了。
紅外和超聲波技術,因為都需要主動發(fā)射光線、聲波,所以對于反射的物體有要求,比如:紅外線會被黑色物體吸收,會穿透透明物體,還會被其他紅外線干擾;而超聲波會被海綿等物體吸收,也容易被槳葉氣流干擾。
而且,主動式測距還會產(chǎn)生兩臺機器相互干擾的問題。相比之下,雖然雙目視覺也對光線有要求,但是對于反射物的要求要低很多,兩臺機器同時使用也不會互相干擾,普適性更強。
最重要的是,常見的紅外和超聲波目前都是單點測距,只能獲得特定方向上的距離數(shù)據(jù),而雙目視覺可以在小體積、低功耗的前提下,獲得眼前場景的比較高分辨率的深度圖,這就讓避障功能有了更多的發(fā)展空間,比如避障之后的智能飛行、路徑規(guī)劃等。
激光技術雖然也能實現(xiàn)類似雙目視覺的功能,但是受限于技術發(fā)展,目前的激光元件普遍價格貴、體積大、功耗高,應用在消費級無人機上既不經(jīng)濟也不實用。
所以各方比較之下,性價比高、原理簡單、前景廣闊、普遍適用的雙目視覺就這樣脫穎而出了。
精靈4Pro上的五向避障
精靈4Pro上的五向避障可以說是大疆無人機避障技術的集中體現(xiàn),因此我們以精靈4Pro舉例說明。P4P前后的避障都采用了雙目視覺系統(tǒng),相比精靈4而言,僅雙目視覺部分的數(shù)據(jù)量就翻了一倍。向下采用雙目視覺+超聲波的組合避障,以提高在不同環(huán)境中飛行的穩(wěn)定性和安全性。而飛行器左右的避障則采用了紅外線避障。
視覺里程計
值得一提的是,其中下視的雙目運用了視覺里程計(VO)的技術。
視覺里程計簡單來說,就是「通過左右雙目的圖像,反推出視野中物體的三維位置」,所以相比光流+超聲波技術只能簡單的測出速度和高度,視覺里程計還能構建地面的三維模型,并通過連續(xù)的圖像,跟蹤自身與環(huán)境的相對移動,估計出自身的運動。準確測出自身與地面的相對位置。
雖然視覺里程計的數(shù)據(jù)處理量是光流法的數(shù)倍不止,但正是因為它的引入,使得精靈4和精靈4Pro在無GPS的室內也能對自身位置有清晰的掌控,從而實現(xiàn)穩(wěn)定的懸停并且不會出現(xiàn)掉高等現(xiàn)象。
有了視覺里程計,再結合前后立體視覺的地圖重構,無人機就同時掌握了障礙物的位置和機器自身的位置,這時再驅動電機進行繞行就顯得易如反掌了,一個完整的避障功能就是這么實現(xiàn)的。
Flight Autonomy系統(tǒng)
精靈4Pro的五向避障并非各自獨立,前后視的雙目視覺、下視雙目+超聲波和左右紅外避障共同構成了大疆的FlightAutonomy系統(tǒng),這個系統(tǒng)賦予了精靈4Pro對三維環(huán)境的記憶能力,前后雙目+下視雙目能夠實時對周圍的地形進行構建和記錄(Mapping),具體而言分為局部地圖(Local Mapping)和全局地圖(Global Mapping)。