查看引用/信息源請點擊:中國AI網
相較于廣泛使用的GPU版OpenCV,平均加速比超過7.3倍
(中國AI網 2025年10月23日)基于視覺的SLAM技術廣泛應用于虛擬現實等領域,其核心是通過視覺圖像檢測特征點來構建未知環境地圖并同時確定自身位置。這項技術通常對硬件功耗、處理速度和精度有著嚴格要求。當前基于ORB(定向FAST和旋轉BRIEF)的SLAM系統在處理速度和魯棒性方面表現出色,但仍無法滿足移動平臺實時處理需求。這主要是由于耗時的定向FAST計算約占整個SLAM系統一半處理時間。
在一項研究中,東京科學大學,大連理工大學,南京大學團隊提出兩種在低端嵌入式GPU上加速定向FAST特征檢測的方法:通過二進制編碼策略快速確定候選點,以及采用可分離哈里斯檢測策略與底層GPU硬件指令優化最耗時的FAST特征點檢測和哈里斯角點檢測步驟。在Jetson TX2嵌入式GPU的實驗表明,相較于廣泛使用的GPU版OpenCV,平均加速比超過7.3倍,顯著提升了移動資源受限環境下實時應用的潛力。
SLAM是一種構建未知環境地圖并同時定位的算法。不同SLAM系統采用多種傳感器模式,如聲納、激光雷達和攝像頭。其中基于特征的視覺SLAM(VSLAM)因便捷性和成本效益而獲得廣泛研究。隨著VSLAM發展,業界已提出包括SIFT、SURF、FAST、甚至基于學習方法在內的多種特征點提取方法。
當前主流SLAM系統多部署于移動應用,對實時性、計算資源和功耗有嚴格要求。盡管SIFT、SURF和基于學習的描述符能應對光照、尺度等圖像變換因素并提取精確特征點,但計算開銷大,往往無法滿足SLAM系統性能需求。ORB(定向FAST和旋轉BRIEF)作為輕量級特征描述方法,通過定向FAST(加速段測試特征)進行特征點檢測,并通過旋轉BRIEF(二進制魯棒獨立基本特征)進行特征描述,以犧牲部分精度和魯棒性為代價提升計算速度,目前已成為SLAM系統主要特征點檢測方法。
但隨著圖像分辨率持續提升,基于ORB的SLAM系統在多數移動平臺上仍難以滿足實時處理需求。主要原因在于:為提升精度,現代ORB算法的定向FAST檢測步驟通常需要構建多級金字塔以檢測不同尺度特征,還需對FAST算法識別的候選特征點進行哈里斯角點匹配以篩選更穩定的特征點。盡管FAST算法本身計算簡單,但重復性高且相鄰像素處理具有局部獨立性,導致算法復雜度優化困難。因此定向FAST特征點檢測通常約占ORB計算時間的50%,而ORB本身占SLAM系統總計算量的65%以上。
為增強SLAM系統實用性,眾多研究者探索在移動平臺上加速定向FAST處理的方法,主要途徑是利用FPGA和GPU等高性能加速硬件。研究者成功在FPGA構建管道并設計可重用片上BRAM存儲中間結果,從而加速定向FAST處理。盡管FPGA在大規模SLAM系統中具有能效優勢,但存在設備成本高、開發周期長的問題,且定制化硬件設計難以在變化條件下保持穩定性能。相比之下,嵌入式GPU憑借卓越的并行處理能力和更靈活的軟件計算方式成為移動智能系統的首選。
有研究人員提出采用嵌入式GPU進行目標檢測的異步處理方法,利用CPU處理目標檢測任務以抵消定向FAST特征點檢測時的GPU開銷,在Jetson Nano GPU實現了單層ORB系統近81 FPS的實時檢測性能。另外有人采用GPU多通道流處理分解ORB流程并平衡GPU計算資源負載,從而加速系統處理,其方法顯著提升了定向FAST算法在Jetson AGX Xavier GPU的執行效率。
同時,有研究人員通過CUDA利用Tesla K40c GPU架構的并行處理能力加速FAST檢測,將GPU資源平均分配給每個像素,實現了各金字塔層級FAST特征檢測任務的高效處理,速度較CPU提升6~10倍。所述方法雖利用GPU提升整體ORB處理流程,但未對定向FAST算法本身進行深度優化。
近期業界發布的CUDA_ORB框架通過GPU像素級處理實現ORB算法,在1920×1080圖像的四層金字塔中檢測超過3,000個特征點,在Jetson TX2 GPU達到57fps的處理速度,優于基于GPU的OpenCV庫,但在特征點檢測和內存使用方面仍有優化空間。圖1展示了不同圖像尺寸下各步驟運行時分布分析,結果表明FAST和哈里斯檢測是定向FAST算法中最耗時的環節:FAST特征檢測涉及大量分支指令,其并行執行效率比加減乘等基本算術操作低數倍至數十倍;哈里斯檢測需頻繁訪問隨機分布的特征點,導致嵌入式GPU因高內存訪問延遲而產生顯著開銷。
所以,東京科學大學,大連理工大學,南京大學團隊提出以下重要優化以進一步提升定向FAST性能并推動其在SLAM系統中的應用:
優化FAST檢測策略,采用二進制編碼策略快速識別候選特征點,顯著減少分支語句數量。PTX代碼分析顯示這一策略節省超35%的全局內存加載和分支語句,實現近1.2倍加速;
半可分離Sobel算子,利用快速但容量受限的共享內存上的循環緩沖區加速哈里斯檢測,平均提升檢測速度7.3倍;
利用共享內存整合FAST和哈里斯步驟,最小化像素和特征點數據的傳輸開銷。并通過大量實驗評估各優化方案,相比包括最流行OpenCV庫在內的多種方法,所提出方法顯著提升了定向FAST處理速度。
研究人員將提出的Semi-Sep_ORB方法與三種方法對比:以CUDA_ORB為基線,選取OpenCV庫中最常用的兩種ORB方法OPENCVCPU_ORB和OPENCVGPU_ORB。所選兩種基于GPU的方法代表了當前定向FAST性能的先進水平。實驗采用圖5所示八種不同類型和尺寸的圖像,構建單層和四層金字塔。為直觀驗證兩種優化方法的有效性,分別對比FAST和哈里斯檢測器與其他方法的性能。

圖10和圖11對比了不同圖像上FAST檢測性能:由于FAST檢測僅取決于圖像分辨率,OPENCVCPU_ORB運行時隨圖像尺寸增加而增長。
盡管基于GPU的方法通過并行處理緩解了線性增長,但因GPU資源有限導致線程塊需順序執行,運行時仍逐漸增加。與基線相比,OPENCVGPU性能優異但在小圖像上表現不足,而Semi-Sep_ORB在所有圖像上均呈現顯著加速,加速比范圍2.2~4.5倍。

圖12和圖13對比哈里斯檢測器性能:與FAST檢測器不同,哈里斯檢測計算復雜度與FAST特征點數量成正比,因此OPENCVCPU_ORB運行時取決于點數。對于單層僅含3290個點的Fashion圖像,所提出方法僅實現1.1倍加速,未完全發揮優化策略優勢;但當點數超5000時,加速比高達13倍,顯著優于其他方法。排除小圖像后,優化后的FAST和哈里斯檢測器在各種圖像上均實現穩定加速, 顯示了高魯棒性,顯著提高了面向快速處理器在GPU的執行效率。
除靜態圖像外,研究人員同時將評估擴展至視頻處理:選取768×432分辨率、特征點較少的室內場景視頻,以及1280×720分辨率、特征點數量顯著的街道場景視頻。另外,除Jetson TX2外,同時采用更先進的Jetson AGX Xavier GPU評估優化內核性能。

圖14對比了兩種GPU上Semi-Sep_ORB和CUDA_ORB的性能:在所有情況下,無論GPU類型、圖像分辨率或檢測特征點數量如何,Semi-Sep_ORB始終優于CUDA_ORB。對于室內場景,Jetson TX2達到約144 FPS,AGX則超過270 FPS;對于街道場景,Jetson TX2處理速度在CUDA_ORB下約40 FPS,Semi-Sep_ORB下約55 FPS,而AGX在Semi-Sep_ORB下超過80 FPS。
值得注意的是,在Jetson TX2上運行的Semi-Sep_ORB甚至優于在AGX上運行的CUDA_ORB,證明了優化方法的有效性。檢測到的特征點用彩色圓圈標出。盡管兩個場景特征點數量相差近60倍且圖像分辨率不同,性能差異依然保持在三倍以內,進一步驗證了方法的效率。

表5展示了不同平臺上各種方法的功耗、能耗和效率分析,包含SYS_GPU、SYS_SOC、SYS_CPU、SYS_DDR、EC和EE六項指標。這些方法主要受GPU利用率、內存訪問模式和數據量影響。如表所示,隨著內核持續優化,SYS_GPU顯著增加,表明所提出方法有效增強線程并行性從而提升GPU利用率。
另外,優化策略采用基于分塊的方法將部分數據加載到共享內存,與基線相比數據傳輸量更大,導致SYS_DDR消耗增加。其余兩項指標因優化未引入異構計算或額外外設而基本保持不變。
值得注意的是,AGX采用比Jetson TX2(四核Cortex-A57 CPU和LPDDR4內存)能效更高的ARM CPU和LPDDR4X內存,因此盡管SYS_GPU顯著增加,AGX的SYS_CPU和SYS_SOC功耗仍較低。
研究人員同時在AGX上擴展了性能評估,包含使用四層金字塔結構處理Echeveria圖像的情況:與Jetson TX2結果相似,所提出方法顯著加速FAST和哈里斯特征檢測,較基線性能提升超六倍。基于Echeveria評估的每幀能耗(EC)和每瓦處理幀數(EE)在兩種平臺上應用優化策略后均呈現正向增長趨勢。由于各方法間功耗差異極小,能耗和效率主要受運行時影響,因此最快的方法SemiSep_ORB在Jetson TX2上達到0.037 J/F和26.78 FPS/W,在AGX上達到0.024 J/F和40.92 FPS/W,成為所有方法中EC最低、EE最高的方案。
相關論文:Faster than Fast: Accelerating Oriented FAST Feature Detection on Low-end Embedded GPUs
https://arxiv.org/pdf/2506.07164
總的來說,團隊分別針對定向FAST特征檢測中計算最密集的FAST和哈里斯檢測提出了兩種GPU內核:為增強FAST檢測,實現二進制編碼策略優化連續像素變化判斷;為哈里斯檢測引入系列優化策略加速Sobel運算。通過使用Jetson TX2和Jetson AGX Xavier GPU對各內核步驟進行大量實驗,所提出優化策略被證明顯著提升了FAST和哈里斯檢測性能。
另外,與各種常用方法相比,內核在Jetson TX2 GPU上實現FAST檢測2.2~4.5倍加速、哈里斯檢測1.1~13倍加速;在Jetson AGX Xavier上較原始GPU實現快6.21倍。未來工作計劃將所提出方法集成到更先進SLAM應用系統中,并考慮移植至FPGA平臺:相比GPU,FPGA可通過并行位操作、查找表和管道替代分支指令,有望顯著提升FAST特征檢測效率;其片上內存(如BRAM)可存儲圖像塊,最小化外部DRAM訪問頻次,通過本地化圖像處理、利用片上內存及數據流傳輸(而非批量傳輸),FPGA可大幅降低內存流量,從而實現更低延遲和功耗。

