設定感測器融合

作者 : Dan Mackrants,Vision Business Unit, CEVA

當感測器搭配運作時最能夠發揮效用,對於SLAM尤其如此。SLAM可以根據使用者的姿勢調整場景,對於AR/VR深具價值,另外也可避免無人機和機器人發生碰撞,具備多種實際用途...

大家都同意,當感測器搭配運作時最能夠發揮效用。對於SLAM (同步定位和測繪)尤其如此。SLAM可以根據使用者的姿勢調整場景,對於AR/VR深具價值,另外也可避免無人機和機器人發生碰撞,具備多種實際用途。SLAM市場預計將以 36% 的年均複合成長率蓬勃發展,至2023年可成長到4.65億美元,對於多數營建業者來說都是絕佳商機。其中一種應用可能會透過基礎平台市場的龐大規模佔據主導地位 —— 手機上用於室內導航的SLAM。

GPS無法在室內運作,信標型導航只能在具備信標基礎設施的區域運作。SLAM則可以在任何具有室內地圖的地方運作,這符合多數建物管理者的低成本期望。讓SLAM在此處發揮作用是感測器融合應用的絕佳範例,在這裡可以將場景與使用者在區域中行走時的姿勢和動作融合。

立即可用的導入方式

首先說明如何依據CEVA SensPro感測器中樞DSP硬體,搭配SLAM和MotionEngine軟體模組來安排及測試這類解決方案,以調整和管理動作輸入。我們需要相機和慣性測量感測器、主機CPU和DSP處理器。我們將使用CPU來託管MotionEngine和SLAM架構,並使用DSP來卸載繁重的演算法SLAM任務。

為了簡化解釋,讓我們從廣泛使用的開放原始碼實作OrbSLAM著手。這項實作會執行三大功能。追蹤會進行(視覺)架構對架構配準,並在目前地圖上定位新架構。測繪藉由建立一組複雜的線性方程式並求解,將點位新增至地圖並進行區域最佳化。環線閉合差可在返回先前所在點位的多個點位處修正來進行全域最佳化。這是透過大量線性方程式求解所達成。

其中一些功能在CPU核心上的主機應用程式內可以非常有效地執行,並且搭配針對目標應用的控制和管理功能。有些功能則必須在DSP上執行才會實用或具競爭優勢。例如,追蹤功能在CPU上或許可達到每秒顯示格數(fps)為 1,其中特徵擷取可能會消耗40%的演算法運行時間。相較之下,DSP實作則可達到30fps,此解析度對於視訊與IMU之間的細粒度關聯非常重要。

這項優勢何以存在,原因很容易理解。DSP實作提供極高的平行性與定點/浮點支援,這點對於追蹤與線性方程式求解至關重要。此實作還會搭配一個特殊的指令集,以便加速功能擷取。主機與DSP之間的簡易連結可讓您將DSP作為加速器使用,將密集運算卸載至SensPro。

融合IMUVision

我們提供兩個關鍵元件 —— 使用CEVA-SLAM SDK產品的Visual SLAM,以及可準確解決IMU輸入並提供六移動自由度中三種的MotionEngine軟體。若要將IMU與視訊資訊融合則需使用迭代演算法,這種演算法通常是根據應用需求來自訂。最後一個步驟是將視覺資料與運動資料建立關聯,藉此產生精確的定位和測繪預估值。CEVA提供經實證的Visual SLAM和IMU MotionEngine,作為融合演算法開發的堅實基礎。構成此運算大部分的演算法密集型函數在DSP上的速度執行最快,例如SensPro2平台。

測試原型

一旦建立原型平台,將如何進行測試?有數個SLAM資料集可供使用。Kitti是一個例子,EuroC則是另一個例子。以下範例展示OpenCV實作和CEVA-SLAM SDK實作之間的準確度比較。您也應該對產品進行類似的分析。

Diagram1 for blog Setting Up Sensor Fusion Diagram2 for blog Setting Up Sensor Fusion

融合您自己的演算法

如前所述,有許多方法可以建立SLAM平台。也許您不想從OrbSLAM開始,或者您想融合自己偏好或差異化的演算法。SensPro感測器中樞DSP一律支援這些選擇。

加入LINE@,最新消息一手掌握!

發表評論