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