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

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

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

表V總結(jié)了Nvidia Jetson Orin的配置。

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

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

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

根據(jù)表VII,SuperPoint加速器的功耗高于FAST和Harris加速器,尤其是在FPGA上(21.1瓦對10.8瓦對10.3瓦)。這是因為FPGA加速器的功耗與其時鐘頻率和所占面積成正比。AMD深度學(xué)習(xí)處理器單元(DPU)上運行的Vitis SuperPoint的執(zhí)行頻率更高(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的結(jié)果
圖5總結(jié)了將ICE-BA管道與GPU和FPGA加速的FAST和Harris集成后,相對于軟件基線(ICE-BA+OpenCV FAST+Xeon)的速度提升和能效改進情況。

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

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

表VIII總結(jié)了特征檢測模塊和定位線程的運行時間,以及與不同F(xiàn)AST實現(xiàn)集成的ICE-BA管道的運行時間和精度。根據(jù)表VIII,在將OpenCV中的FAST實現(xiàn)替換為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管道中通常是耗時最長的模塊,我們認(rèn)為使用硬件加速器進行特征檢測會影響全局光束法平差模塊的性能。進一步的研究表明,與使用OpenCV FAST相比,使用FTFast或Vitis FAST時,全局光束法平差的調(diào)用頻率更低,從而減少了運行時間。全局光束法平差是一個非線性最小二乘系統(tǒng)求解器,它聯(lián)合優(yōu)化全局地圖中的所有地標(biāo)以及從每個地標(biāo)可觀測到的特征點,以進一步減少累積的平移和旋轉(zhuǎn)誤差,從而提高精度。令人驚訝的是,盡管全局光束法平差的調(diào)用頻率更低,但在所有MH序列中,ICE-BA+FTFast的精度都高于ICE-BA+OpenCV FAST。
04 總結(jié)
本文是首次針對先進系統(tǒng)級芯片(SoC)結(jié)合現(xiàn)場可編程門陣列(FPGA)/圖形處理器(GPU)的視覺SLAM系統(tǒng)中特征檢測器的研究。
評估結(jié)果表明,使用非基于學(xué)習(xí)的特征檢測器(如FAST和Harris)時,來自Nvidia VPI庫的FTFast和Harris,以及ICE-BA+FTFast和ICE-BA+VPI Harris,其運行時性能和能效優(yōu)于Vitis FAST和Harris加速器以及FPGA加速的ICE-BA。然而,當(dāng)考慮基于學(xué)習(xí)的檢測器(如SuperPoint)時,Vitis SuperPoint加速器在運行時性能和能效方面(分別提高了3.1倍和1.4倍)優(yōu)于其GPU對應(yīng)版本。ICE-BA+Vitis SuperPoint在運行時性能方面也與集成SuperPoint GPU加速器的ICE-BA相當(dāng),在5個數(shù)據(jù)集序列中有2個序列的幀率更高。不過,從精度方面來看,結(jié)果表明,總體而言,GPU加速的ICE-BA比FPGA加速的ICE-BA更準(zhǔn)確。我們還發(fā)現(xiàn),使用硬件加速進行特征檢測能夠進一步提升運行時性能。通過減少全局光束法平差(通常是計算量最大的模塊)的調(diào)用頻率來優(yōu)化視覺SLAM管道,同時不犧牲精度。
-
FPGA
+關(guān)注
關(guān)注
1652文章
22234瀏覽量
628613 -
機器人
+關(guān)注
關(guān)注
213文章
30387瀏覽量
218717 -
gpu
+關(guān)注
關(guān)注
28文章
5065瀏覽量
134113 -
計算機
+關(guān)注
關(guān)注
19文章
7742瀏覽量
92526
原文標(biāo)題:FPGA vs GPU:視覺SLAM中特征檢測器的加速性能對比
文章出處:【微信號:gh_c87a2bc99401,微信公眾號:INDEMIND】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
淺談SLAM的回環(huán)檢測技術(shù)
如何在FPGA中實現(xiàn)過零檢測器?
SLAM大法之回環(huán)檢測
如何利用FPGA實現(xiàn)Laplacian圖像邊緣檢測器的研究?
激光SLAM與視覺SLAM有什么區(qū)別?
HOOFR-SLAM的系統(tǒng)框架及其特征提取
基于 FPGA 的目標(biāo)檢測網(wǎng)絡(luò)加速電路設(shè)計
單目視覺SLAM仿真系統(tǒng)的設(shè)計與實現(xiàn)
視覺SLAM深度解讀
基于視覺傳感器的ORB-SLAM系統(tǒng)的學(xué)習(xí)
基于計算機視覺領(lǐng)域中的特征檢測和匹配研究
視覺SLAM是什么?視覺SLAM的工作原理 視覺SLAM框架解讀

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