特征檢測是SLAM系統中常見但耗時的模塊,隨著SLAM技術日益廣泛應用于無人機等功耗受限平臺,其效率優化尤為重要。本文首次針對視覺SLAM流程開展硬件加速特征檢測器的對比研究,通過對比現代SoC平臺(NvidiaJetson Orin與AMD Versal)上最佳GPU加速方案(FAST、Harris、SuperPoint)與對應FPGA加速方案的性能,得出全新結論。
? 文章:
Accelerated Feature Detectors for Visual SLAM: A Comparative Study of FPGA vs GPU
? 作者:
Ruiqi Ye, Mikel Luján
? 論文鏈接:
https://arxiv.org/abs/2510.13546
? 編譯:
INDEMIND
01 本文核心內容
圖像特征檢測一直是計算機視覺和機器人領域的重要研究方向,并且在圖像分類、目標檢測、視覺里程計(VO)和SLAM等更復雜的算法中發揮著基礎性作用。這些任務有時需要部署在邊緣平臺上,例如自主無人機和機器人。邊緣平臺通常使用電池供電,因此受到能源效率的限制。然而,僅使用帶有嵌入式微控制器(例如Arm、RISC-V)的系統級芯片(SoC)的邊緣平臺往往無法滿足這些復雜任務的嚴格要求。
另一方面,高端圖形處理單元(GPU)是計算機視覺和機器人研究人員廣泛使用的加速器,以實現實時性能。集成到現代SoC中的嵌入式GPU,例如Nvidia Jetson系列產品,使機器人系統更加節能。
帶有嵌入式GPU的節能SoC并非唯一能夠加速特征檢測的邊緣平臺。集成現場可編程門陣列(FPGA)的SoC也廣泛可用。集成FPGA的SoC能夠為特定算法提供定制硬件加速,而無需通過PCIe/CXL傳輸數據。這種平臺在用于視覺SLAM硬件加速方面的研究程度不如GPU。
盡管文獻中有許多進展,但特征檢測仍然計算密集,因為這些算法往往要對圖像中的每個像素進行迭代,提取特征點。例如,流行的ICE-BA在其視覺SLAM流水線的前端使用FAST特征檢測器。圖1展示了在Nvidia Jetson Orin、AMD VCK190和配備Intel Xeon芯片的工作站上,使用EuRoC數據集的MachineHall序列對ICE-BA定位線程進行性能分析的結果。運行時間分為三個模塊:預處理、FAST特征檢測器和稀疏光流。在兩個平臺上,FAST檢測器的運行時間都占主導地位,至少占執行時間的66%。對于其他EuRoCMH序列,運行時間分解情況類似,因此省略了進一步的分解。例如,在Jetson Orin上,FAST檢測器特征檢測始終占據運行時間的80%-85%左右。
因此,利用FPGA設計特征檢測器的硬件加速器已成為計算機系統和機器人領域的一個熱門研究方向。近年來,計算機系統和機器人研究人員開始考慮在視覺SLAM管道中對特征檢測進行硬件加速。然而,這些研究均還沒有對集成在視覺SLAM管道中的硬件加速特征檢測器進行過系統化比較。
本文首次對FPGA和GPU加速的特征檢測器進行了比較研究,考慮了視覺SLAM管道。由于ICE-BA在精度、效率、一致性和軟件模塊化方面處于領先地位,因此被選為視覺SLAM管道。本文比較了FAST、Harris和SuperPoint的GPU和FPGA實現。FAST和SuperPoint分別被選中,因為它們分別代表了最先進的算法和基于神經網絡的特征檢測器。此外,FAST和SuperPoint提供了其他非基于學習的檢測器(如Harris、SIFT、SUSAN和Shi-Tomasi)所不具備的重復性。SuperPoint被選中而非SiLK,因為SuperPoint是一個輕量級的卷積神經網絡,因此更適合邊緣部署。選擇Harris是為了研究的完整性。
評估使用了EuRoC數據集中的機器大廳(MH)序列,并表明當使用FAST和Harris時,依賴GPU的實現能夠獲得比FPGA實現更好的運行時性能和能效。然而,當考慮SuperPoint時,其FPGA實現能夠獲得比GPU實現更好的運行時性能和能效(分別提高3.1倍和1.4倍)。與GPU加速的ICE-BA相比,FPGA加速的ICE-BA在運行時間性能方面也能達到相當的水平,在5個數據集序列中有2個序列的幀率更高。然而,從精度來看,結果表明,總體而言,GPU加速的ICE-BA比FPGA加速的ICE-BA更準確。此外,通過使用硬件加速器進行特征檢測,可以進一步提高視覺SLAM管道的性能,減少全局光束法平差模塊的調用頻率,同時不犧牲精度。
02 實驗設置
A.硬件和軟件設置

為完整性起見,還包含了一臺基于英特爾的工作站。
B.數據集
評估使用了來自EuRoC數據集的機器大廳(MH)序列,其分辨率為752×480。每個序列被分為“簡單”、“中等”或“困難”三類。“簡單”序列的環境具有良好的紋理和照明,“中等”序列包含快速運動和明亮場景,“困難”序列則有快速運動和照明不良的場景。MH序列的圖像由立體相機以20Hz的頻率捕獲,而慣性測量單元(IMU)數據則以200Hz的頻率同步。實驗中僅使用了左相機的圖像和IMU數據。
C.評估

圖2展示了加速ICE-BA管道的高層概述。綠色模塊在所考慮的SoC的Arm處理器上執行。模塊以紅色標注(特征檢測器)在嵌入式GPU或FPGA上進行加速。表IV總結了FAST和Harris特征檢測器的算法參數。硬件加速器與軟件基線使用相同的算法參數。

表V總結了Nvidia Jetson Orin的配置。

表VI展示了在2個Arm A72/A78內核下不同時鐘頻率下ICE-BA定位線程所達到的不同運行時間。

03 實驗對比
A.特征檢測器硬件加速器的結果

圖3總結了GPU和FPGA加速的FAST和Harris相對于Xeon上的FAST軟件基線的速度提升和能效改進結果。
對于FAST加速器,FTFast+Orin max在5個序列中的4個(除了MH01)實現了最佳的運行時性能,并且在所有MH序列中實現了最佳的能效(僅為2.2-2.3毫焦/幀),其次是VCK190上的Vitis FAST加速器,其速度慢12.8%-15.2%。然而,請注意,在Orin max配置下,GPU的時鐘頻率為1.3GHz,而FAST FPGA加速器的時鐘頻率為150MHz。與GPU時鐘頻率與FPGA加速器相同的FTFast+Orin VS相比,Vitis FAST加速器可實現5.9×-7.7×的速度提升。并且在能源效率方面提升3.3-4.3倍。
與英特爾至強處理器上的OpenCV軟件基線相比,FTFast+Orin max實現了3.7-7.6倍的速度提升和52-104倍的能效提升,而Vitis FAST加速器實現了5.1-8.5倍的速度提升和38.3-95.6倍的能效提升。
在Harris加速器方面,Vitis Harris加速器在所有MH序列中均實現了最佳的運行時性能,與英特爾至強處理器上的OpenCV基線相比,速度提升10.6-11倍,與VPI Harris+Orin max相比,速度提升1.01-1.1倍。由于采用了精度較低的數值計算方案,Vitis Harris加速器的運行速度略勝于VPI Harris+Orin最高配置版本。另一方面,VPI Harris+Orin max在所有MH序列中實現了最佳的能效,在英特爾至強處理器上比軟件基線提高了136-146倍,在Vitis Harris加速器上提高了1.02-1.1倍。圖4總結了不同SuperPoint GPU和FPGA加速器的運行時間和能效。
采用VCK190的Vitis SuperPoint加速器在所有MH序列中實現了最佳的運行時性能(28幀/秒)和能效(除MH04外,為745-758毫焦/幀),與SuperPoint+Orin max相比,速度提升2-3.1倍,能效提升1.2-1.4倍。值得注意的是,Vitis SuperPoint加速器是唯一能夠實現實時性能的加速器,而SuperPoint+Orin max的幀率最高只能達到14幀/秒。
與FAST加速器相比,兩個硬件平臺上的Harris加速器在運行時和能效方面表現更差,尤其是在GPU實現中。

根據表VII,SuperPoint加速器的功耗高于FAST和Harris加速器,尤其是在FPGA上(21.1瓦對10.8瓦對10.3瓦)。這是因為FPGA加速器的功耗與其時鐘頻率和所占面積成正比。AMD深度學習處理器單元(DPU)上運行的Vitis SuperPoint的執行頻率更高(1.3GHz對比150MHz),占用面積更大(FF:28%對比0.82%對比0.97%,LUT:45%對比2.91%對比2.01%,DSP:42%對比0%對比0%,BRAM:73%對比1.24%對比3.62%,AIE:48%對比0%對比0%),與Vitis FAST和Harris加速器相比。
B.硬件加速ICE-BA的結果
圖5總結了將ICE-BA管道與GPU和FPGA加速的FAST和Harris集成后,相對于軟件基線(ICE-BA+OpenCV FAST+Xeon)的速度提升和能效改進情況。

圖7總結了ICE-BA管道與不同FAST、Harris和SuperPoint加速器集成后的精度(以RMSEATE衡量)。

關于與FAST加速器集成的ICE-BA,ICE-BA+FTFast+Orin max在所有MH序列中均實現了最佳的運行時性能和能效。該管道的運行時性能和能效可低至9毫秒(111幀/秒)和183毫焦/幀。
與Orin相比,ICE-BA與Vitis FAST加速器集成后性能和能效均較差,這是由于處理器微架構(Arm A72對比Arm A78)、處理器核心數量(2對比12)以及時鐘頻率(1.2GHz對比2.2GHz)的差異所致。然而,與ICE-BA+FTFast+Orin VS相比,ICE-BA與Vitis FAST加速器集成后可實現相當的運行時性能,在MH03、MH04和MH05序列中性能略優。不過,與ICE-BA+FTFast+Orin VS相比,ICE-BA與FAST FPGA加速器集成后能效更低,這是由于功耗更高(12.6瓦對比16.7瓦,見表VII)。
與Xeon上的軟件基線相比,ICE-BA+FTFast+Orin max管道實現速度提升2.1-10.5倍,能效提升11.9-57.3倍。與軟件基線相比,ICE-BA管道與Vitis FAST加速器集成后能效提升了3-25.1倍。關于精度,總體而言,ICE-BA+FTFast的精度略高于軟件基線,而ICE-BA與Vitis FAST加速器集成后的精度低于ICE-BA+FTFast,但MH05除外。這主要是由于使用了近似值和低精度數字,其中移位操作用于近似乘法和除法操作,并且使用了定點數而非浮點數。
在ICE-BA與Harris加速器集成方面,ICE-BA+VPI Harris+Orin max在MH01和MH02序列中實現了最佳的運行時性能,而ICE-BA管道與Vitis Harris加速器集成在MH03、MH04和MH05序列中實現了最佳的運行時性能。
令人驚訝的是,在“中等”和“困難”情況下,ICE-BA+Vitis Harris的運行時性能優于ICE-BA+VPI Harris+Orin max。在具有快速運動和光照不良的序列數據集上,盡管在Arm處理器微架構方面存在劣勢,但就能效而言,在MH01和MH02序列中,ICE-BA+VPI Harris+Orin VS是最節能的實現方式,而在MH03、MH04和MH05序列中,ICE-BA+Vitis Harris則是最節能的實現方式。在精度方面,ICE-BA與Harris FPGA加速器集成在“簡單”序列(MH01和MH02)中比GPU對應實現更準確,而ICE-BA與Harris GPU加速器集成在“中等”和“困難”序列(MH03、MH04和MH05)中更準確。
與Xeon上的軟件基線相比,ICE-BA+VPI Harris+Orin最大流水線實現了2.2-3.6倍的速度提升和12.2-20倍的能效提升。與軟件基線相比,ICE-BA流水線與Vitis Harris加速器集成實現了1.7-4.4倍的速度提升和12.6-33.4倍的能效提升。
圖5總結了ICE-BA流水線與GPU和FPGA加速的SuperPoint集成的運行時性能和能效。有趣的是,盡管VCK190上的Arm內核數量有限且頻率較低,但ICE-BA+Vitis SuperPoint在MH01和MH02序列上仍能實現最佳的運行時性能和能效。我們認為這是由于MH01和MH02是“簡單”的序列,代表了具有良好紋理的場景。
與ICE-BA+SuperPoint+Orin max相比,ICE-BA+Vitis SuperPoint在MH01和MH02序列上實現了高達1.5倍的速度提升和1.1倍的能效提升。在其余序列中,ICE-BA+Vitis SuperPoint也能實現與ICE-BA+SuperPoint+Orin max相當的運行時性能。
ICE-BA+SuperPoint+Orin max在MH03、MH04和MH05序列上實現了最佳的運行時性能(高達7FPS)和能效。在精度方面,ICE-BA與SuperPoint GPU加速器集成通常比ICE-BA+Vitis SuperPoint更準確,除了MH04序列。ICE-BA+Vitis SuperPoint的精度較低,因為Vitis SuperPoint使用INT8精度進行量化,而SuperPoint GPU加速器使用FP16精度。
總體而言,與采用Harris GPU加速器的ICE-BA相比,采用FAST GPU加速器的ICE-BA性能更高、能耗更低且更精準。然而,ICE-BA+Vitis FAST的性能和能耗效率略遜于ICE-BA+Vitis Harris,在諸如MH01、MH02和MH03這類“簡單”和“中等”難度的序列中,其精度也更低。此外,盡管ICE-BA+SuperPoint是運行時性能和能耗效率最差的配置,但它在精度方面并不總是優于ICE-BA+FAST或ICE-BA+Harris。
例如,在兩個硬件平臺上,ICE-BA+SuperPoint僅在紋理和光照良好的MH01“簡單”序列上比ICE-BA+FAST和ICE-BA+Harris更準確。我們還發現,使用硬件加速器進行特征檢測,可能會對ICE-BA管道中映射線程的下游模塊的運行時性能產生積極影響,尤其是全局光束法平差模塊。

表VIII總結了特征檢測模塊和定位線程的運行時間,以及與不同FAST實現集成的ICE-BA管道的運行時間和精度。根據表VIII,在將OpenCV中的FAST實現替換為FTFast和Vitis FAST后,特征檢測模塊的運行時間分別減少了1.01毫秒-2.15毫秒(GPU)和4.72毫秒-7.12毫秒(FPGA),而定位線程的運行時間分別減少了0.61毫秒-1.19毫秒(GPU)和3.4毫秒-4.93毫秒(FPGA)。然而,管道的運行時間減少幅度要大得多,即15.29毫秒-63.34毫秒(GPU)和63.91毫秒-274.46毫秒(FPGA)。
考慮到定位線程與映射線程中的局部和全局光束法平差模塊并行運行,而全局光束法平差模塊在視覺SLAM管道中通常是耗時最長的模塊,我們認為使用硬件加速器進行特征檢測會影響全局光束法平差模塊的性能。進一步的研究表明,與使用OpenCV FAST相比,使用FTFast或Vitis FAST時,全局光束法平差的調用頻率更低,從而減少了運行時間。全局光束法平差是一個非線性最小二乘系統求解器,它聯合優化全局地圖中的所有地標以及從每個地標可觀測到的特征點,以進一步減少累積的平移和旋轉誤差,從而提高精度。令人驚訝的是,盡管全局光束法平差的調用頻率更低,但在所有MH序列中,ICE-BA+FTFast的精度都高于ICE-BA+OpenCV FAST。
04 總結
本文是首次針對先進系統級芯片(SoC)結合現場可編程門陣列(FPGA)/圖形處理器(GPU)的視覺SLAM系統中特征檢測器的研究。
評估結果表明,使用非基于學習的特征檢測器(如FAST和Harris)時,來自Nvidia VPI庫的FTFast和Harris,以及ICE-BA+FTFast和ICE-BA+VPI Harris,其運行時性能和能效優于Vitis FAST和Harris加速器以及FPGA加速的ICE-BA。然而,當考慮基于學習的檢測器(如SuperPoint)時,Vitis SuperPoint加速器在運行時性能和能效方面(分別提高了3.1倍和1.4倍)優于其GPU對應版本。ICE-BA+Vitis SuperPoint在運行時性能方面也與集成SuperPoint GPU加速器的ICE-BA相當,在5個數據集序列中有2個序列的幀率更高。不過,從精度方面來看,結果表明,總體而言,GPU加速的ICE-BA比FPGA加速的ICE-BA更準確。我們還發現,使用硬件加速進行特征檢測能夠進一步提升運行時性能。通過減少全局光束法平差(通常是計算量最大的模塊)的調用頻率來優化視覺SLAM管道,同時不犧牲精度。
-
FPGA
+關注
關注
1656文章
22317瀏覽量
631090 -
機器人
+關注
關注
213文章
30665瀏覽量
220041 -
gpu
+關注
關注
28文章
5118瀏覽量
134556 -
計算機
+關注
關注
19文章
7770瀏覽量
92835
原文標題:FPGA vs GPU:視覺SLAM中特征檢測器的加速性能對比
文章出處:【微信號:gh_c87a2bc99401,微信公眾號:INDEMIND】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄

FPGA和GPU加速的視覺SLAM系統中特征檢測器研究
評論