作者:K.Fire | 來源:3D視覺工坊 在公眾號「3D視覺工坊」后臺,回復「原論文」即可獲取論文pdf。 添加微信:cv3d007,備注:SLAM,拉你入群。文末附行業細分群。
本文通過生成具有最小推理時間的緊湊且具有判別性的特征描述符來解決多機器人探索過程中保持低水平通信帶寬的同時進行精確定位的問題;文中將描述符生成轉化為老師-學生框架下的學習問題。首先設計一個緊湊的學生網絡,通過從預訓練的大型教師模型中轉移知識來學習它。為了減少從教師到學生的描述符維度,文中提出了一種新的損失函數,使知識在兩個不同維度的描述符之間轉移。
1 前言
多機器人SLAM系統(MR-SLAM系統)相比單機器人系統最主要的限制是:通信帶寬的限制。在MR-SLAM系統中,為了整合整個團隊的所有軌跡,團隊中的每個機器人都需要共享其關鍵幀數據(包括關鍵幀姿態和觀察到的特征點),以處理機器人間的閉環和全局定位。這種類型的數據交換占用了很高的通信容量,很可能降低實時性能。
一些工程上的解決方案比如降低頻率、減少關鍵點數量可以降低通信帶寬,但會導致定位精度降低;提高精度則會導致帶寬升高;如果降低描述符維度會導致匹配性能變差。
卷積神經網絡(CNN)方法已經顯示出對手工描述符的優越性能,但基于CNN的方法多適用于單機器人系統(SR-SLAM),高模型復雜性和描述符維度是阻礙基于學習的方法在MR-SLAM中應用的兩個主要障礙。
本文提出了一個基于知識蒸餾(KD)的描述符學習框架。該框架是一個經典的師生組合,其中學生是我們要學習的緊湊模型,而教師是一個預訓練的更大的網絡,其預測用于監督學生的學習。為了解決老師和學生之間輸出維度的不同,本文還設計了一種新的損失函數。
本文模型與傳統模型的比較如下圖所示:
本文主要貢獻如下:
設計了一個師生模型來生成緊湊的二進制描述符。
提出了一種新的基于距離的蒸餾損失,它允許具有不同輸出維度的模型之間的知識轉移。
開發了一個基于新描述符模型的MR-SLAM系統作為評估平臺。
2 算法框架
2.1 基于學習的描述符生成
本文類似于主流的CNN方法,通過Siamese框架結構學習描述符。它是一個雙胞胎模型,在訓練過程中共享相同的權重。在Siamese框架下,每個訓練階段都準備兩批。批次中的每個圖像塊對另一個都是負的,同一時代的兩個批是一一對應的。
它有兩個主要的損耗用于訓練:
Triplet loss:它強制匹配的對盡可能接近,而不匹配的對盡可能遠。最近的方法大多遵循HardNet策略,只提取包含最小距離的負對進行訓練:
為當前實值描述子,為對應的正描述子,為最接近的負描述子,n為批大小。dis計算兩個描述符之間的L2距離。
Binarization loss:它旨在最小化實值描述符與對應的二進制描述符之間的差異:
B(k)為二進制描述子B的第k個值,R(k)為實值描述子R的第k個值,D為描述子的維數。
2.2 老師-學生蒸餾框架
如上圖所示,所有的老師卷積層之后是濾波響應歸一化(FRN)和閾值線性單元(TLU)。批處理歸一化(BN)和l2歸一化放在最后的卷積層之后。
學生卷積層第一部分是深度卷積,它對每個輸入通道應用一個卷積濾波器。第二部分是1×1卷積,稱為逐點卷積。
基于該體系結構,每個模型都能夠將圖像補丁嵌入到實值描述符中。為了得到二進制描述符,使用以下方程對實值描述符進行二值化:
2.3 蒸餾損失函數
它由一個實值項和一個二元值項組成,它們分別強制學生模型的描述符批在實值和二元空間上具有與教師模型相似的分布。
實值項負描述符損失項:
其中是相對于當前描述符的負描述符的總數。和分別是教師和學生產生的當前重估描述符,和是相應的負描述符。此外,由于教師和學生之間的維度不同,我們增加了一個系數λr,設置為0.95來調整教師側距離的尺度
二值項負描述符損失項:
其中λb是縮放系數,通常設置為兩個模型的輸出維度之間的比率:Ds/Dt。在訓練階段的到二進制描述符計算公式:
這里是防止被0整除的系數,設為1e-5。
最后,將這兩個損失項合并為蒸餾損失函數:
其中是二值項的加權系數。
2.4 學生訓練
第一階段,使用學習率為0.01的ADAM優化器訓練教師模型。這個過程使模型能夠生成高質量的128維描述符。基本損耗函數為:
其中是控制二值化損失的加權系數。
在第二階段,在老師的監督下訓練學生模型,學習率設為0.01。因此,目標函數既包括基本損失Lbasic,也包括蒸餾損失Ldistillation,可表示為:
其中為蒸餾損失加權系數,在訓練時設置為2。
4 實驗與結果
4.1 特征匹配實驗
使用UBC數據集:整個數據集包含大約400k個64×64個帶標簽的補丁,在一個子集上訓練模型,并在另外兩個子集上測試它。通過報告95%召回率(FPR95)的假陽性率來展示匹配性能。
采用幾種方法作為基準方法。第一類是基于cnn的方法,包括HardNet、SOSNet、HyNet等。第二類方法是一些傳統的方法,包括SIFT、BRIEF、LDAHash、BinBoost。還報告了每種CNN方法的參數數量和時間消耗(生成500個描述符),以可視化描述符生成效率。
此外,為了測試泛化能力,文章評估了在HPatches數據集上訓練并在UBC數據集上測試的CNN方法的性能。
實驗結果如下表所示:
由表1可以看出,基于cnn的方法明顯優于傳統方法。另一方面,匹配結果表明,即使沒有蒸餾,所提出的方法也可以與大多數基于cnn的方法相媲美。此外,在KD方法的幫助下,文中的網絡能夠優于所有基線方法。
由表2可以看出,文中的模型比基線CNN模型輕30%左右,運行速度也比基線方法快。
由表3可以看出,因為盡管在不同的數據集上訓練,但它的性能與CNN方法相當。
4.2 MR-SLAM實驗
MR-VINS的詳細框架如下圖所示:
整個系統采用集中式架構,即MR-SLAM系統由多個機器人和一個中央服務器組成。將視覺慣性里程計模塊放在機器人上,而將后端模塊放在服務器上。在此框架的基礎上,在機器人一側添加了CNN描述符模型,主要將描述符用于循環閉合和全局定位。作者將描述符模型放在機器人通信模塊之前,以便描述符可以集成到發送到服務器的關鍵幀消息中。
使用公共EuRoC數據集,采用定位精度和通信帶寬兩項指標進行評價。
SLAM精度的定量結果如下表所示。
與原始MR-VINS相比,可以看出,基于cnn的方法能夠提高定位性能,尤其是MR-SLAM。此外,在單機器人和多機器人任務上,文中的方法總體上達到了與CNN方法相當的精度。然而,由于SLAM的性能不僅僅取決于圖像匹配,定位精度優勢并不像特征匹配結果那么明顯。
下表顯示了不同SLAM系統的帶寬。
結果表明,文中的方法比原來的MR-VINS和CCM-SLAM具有更低的帶寬。由于文中模型的消息頻率是CCM-SLAM的3倍,所以文中模型的關鍵幀信息的大小比CCM-SLAM小10倍左右。窄帶寬歸因于文中的描述符極其緊湊的尺寸(普通BRIEF描述符的1/4)。此外,由于關鍵幀尺寸緊湊,就不需要在MR-SLAM任務期間專門降低關鍵幀頻率。
5 總結
在本文中,探討了如何學習MR-SLAM的緊湊描述符的問題。本文提出了一個師生框架,該框架利用緊湊的學生模型來估計低維描述符。由于教師和學生之間的輸出維度不同,作者提出了一個基于距離的蒸餾損失函數,使知識在不同的維度描述符之間蒸餾傳遞。通過特征匹配實驗和MR-SLAM系統的實驗,驗證了本文所提出算法的有效性。
-
機器人
+關注
關注
212文章
28935瀏覽量
209712 -
函數
+關注
關注
3文章
4355瀏覽量
63319 -
模型
+關注
關注
1文章
3418瀏覽量
49482
原文標題:比目前最先進的模型輕30%!高效多機器人SLAM蒸餾描述符!
文章出處:【微信號:3D視覺工坊,微信公眾號:3D視覺工坊】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
UBL UBOOT 描述符
usb標準描述符之技巧
USB HID報告及報告描述符簡介
Descriptor描述符解釋
Linux中文件及文件描述符概述
USB設備鍵值表描述符說明資料免費下載

USB各描述符之間的依賴是怎么樣的

Linux系統編程中的文件描述符調用

科普一下什么是USB的描述符
Gadget框架構造描述符

從獲取描述符的角度理解Gadget框架

基于DWC_ether_qos的以太網驅動開發-描述符格式介紹

Python的優雅之處:Descriptor(描述符)

評論