RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何學(xué)習(xí)MR-SLAM的緊湊描述符的問(wèn)題

3D視覺(jué)工坊 ? 來(lái)源:3D視覺(jué)工坊 ? 2023-07-07 10:54 ? 次閱讀

作者:K.Fire | 來(lái)源:3D視覺(jué)工坊 在公眾號(hào)「3D視覺(jué)工坊」后臺(tái),回復(fù)「原論」即可獲取論文pdf。 添加微信:cv3d007,備注:SLAM,拉你入群。文末附行業(yè)細(xì)分群。

本文通過(guò)生成具有最小推理時(shí)間的緊湊且具有判別性的特征描述符來(lái)解決多機(jī)器人探索過(guò)程中保持低水平通信帶寬的同時(shí)進(jìn)行精確定位的問(wèn)題;文中將描述符生成轉(zhuǎn)化為老師-學(xué)生框架下的學(xué)習(xí)問(wèn)題。首先設(shè)計(jì)一個(gè)緊湊的學(xué)生網(wǎng)絡(luò),通過(guò)從預(yù)訓(xùn)練的大型教師模型中轉(zhuǎn)移知識(shí)來(lái)學(xué)習(xí)它。為了減少?gòu)慕處煹綄W(xué)生的描述符維度,文中提出了一種新的損失函數(shù),使知識(shí)在兩個(gè)不同維度的描述符之間轉(zhuǎn)移。

1 前言

機(jī)器人SLAM系統(tǒng)(MR-SLAM系統(tǒng))相比單機(jī)器人系統(tǒng)最主要的限制是:通信帶寬的限制。在MR-SLAM系統(tǒng)中,為了整合整個(gè)團(tuán)隊(duì)的所有軌跡,團(tuán)隊(duì)中的每個(gè)機(jī)器人都需要共享其關(guān)鍵幀數(shù)據(jù)(包括關(guān)鍵幀姿態(tài)和觀察到的特征點(diǎn)),以處理機(jī)器人間的閉環(huán)和全局定位。這種類(lèi)型的數(shù)據(jù)交換占用了很高的通信容量,很可能降低實(shí)時(shí)性能。

一些工程上的解決方案比如降低頻率、減少關(guān)鍵點(diǎn)數(shù)量可以降低通信帶寬,但會(huì)導(dǎo)致定位精度降低;提高精度則會(huì)導(dǎo)致帶寬升高;如果降低描述符維度會(huì)導(dǎo)致匹配性能變差。

卷積神經(jīng)網(wǎng)絡(luò)(CNN)方法已經(jīng)顯示出對(duì)手工描述符的優(yōu)越性能,但基于CNN的方法多適用于單機(jī)器人系統(tǒng)(SR-SLAM),高模型復(fù)雜性和描述符維度是阻礙基于學(xué)習(xí)的方法在MR-SLAM中應(yīng)用的兩個(gè)主要障礙。

本文提出了一個(gè)基于知識(shí)蒸餾(KD)的描述符學(xué)習(xí)框架。該框架是一個(gè)經(jīng)典的師生組合,其中學(xué)生是我們要學(xué)習(xí)的緊湊模型,而教師是一個(gè)預(yù)訓(xùn)練的更大的網(wǎng)絡(luò),其預(yù)測(cè)用于監(jiān)督學(xué)生的學(xué)習(xí)。為了解決老師和學(xué)生之間輸出維度的不同,本文還設(shè)計(jì)了一種新的損失函數(shù)。

本文模型與傳統(tǒng)模型的比較如下圖所示:

本文主要貢獻(xiàn)如下:

設(shè)計(jì)了一個(gè)師生模型來(lái)生成緊湊的二進(jìn)制描述符。

提出了一種新的基于距離的蒸餾損失,它允許具有不同輸出維度的模型之間的知識(shí)轉(zhuǎn)移。

開(kāi)發(fā)了一個(gè)基于新描述符模型的MR-SLAM系統(tǒng)作為評(píng)估平臺(tái)。

2 算法框架

2.1 基于學(xué)習(xí)的描述符生成

本文類(lèi)似于主流的CNN方法,通過(guò)Siamese框架結(jié)構(gòu)學(xué)習(xí)描述符。它是一個(gè)雙胞胎模型,在訓(xùn)練過(guò)程中共享相同的權(quán)重。在Siamese框架下,每個(gè)訓(xùn)練階段都準(zhǔn)備兩批。批次中的每個(gè)圖像塊對(duì)另一個(gè)都是負(fù)的,同一時(shí)代的兩個(gè)批是一一對(duì)應(yīng)的。

它有兩個(gè)主要的損耗用于訓(xùn)練:

Triplet loss:它強(qiáng)制匹配的對(duì)盡可能接近,而不匹配的對(duì)盡可能遠(yuǎn)。最近的方法大多遵循HardNet策略,只提取包含最小距離的負(fù)對(duì)進(jìn)行訓(xùn)練:

為當(dāng)前實(shí)值描述子,為對(duì)應(yīng)的正描述子,為最接近的負(fù)描述子,n為批大小。dis計(jì)算兩個(gè)描述符之間的L2距離。

Binarization loss:它旨在最小化實(shí)值描述符與對(duì)應(yīng)的二進(jìn)制描述符之間的差異:

B(k)為二進(jìn)制描述子B的第k個(gè)值,R(k)為實(shí)值描述子R的第k個(gè)值,D為描述子的維數(shù)。

2.2 老師-學(xué)生蒸餾框架

5180a5f2-1c52-11ee-962d-dac502259ad0.png

如上圖所示,所有的老師卷積層之后是濾波響應(yīng)歸一化(FRN)和閾值線性單元(TLU)。批處理歸一化(BN)和l2歸一化放在最后的卷積層之后。

學(xué)生卷積層第一部分是深度卷積,它對(duì)每個(gè)輸入通道應(yīng)用一個(gè)卷積濾波器。第二部分是1×1卷積,稱(chēng)為逐點(diǎn)卷積。

基于該體系結(jié)構(gòu),每個(gè)模型都能夠?qū)D像補(bǔ)丁嵌入到實(shí)值描述符中。為了得到二進(jìn)制描述符,使用以下方程對(duì)實(shí)值描述符進(jìn)行二值化:

2.3 蒸餾損失函數(shù)

它由一個(gè)實(shí)值項(xiàng)和一個(gè)二元值項(xiàng)組成,它們分別強(qiáng)制學(xué)生模型的描述符批在實(shí)值和二元空間上具有與教師模型相似的分布。

實(shí)值項(xiàng)負(fù)描述符損失項(xiàng):

其中是相對(duì)于當(dāng)前描述符的負(fù)描述符的總數(shù)。和分別是教師和學(xué)生產(chǎn)生的當(dāng)前重估描述符,和是相應(yīng)的負(fù)描述符。此外,由于教師和學(xué)生之間的維度不同,我們?cè)黾恿艘粋€(gè)系數(shù)λr,設(shè)置為0.95來(lái)調(diào)整教師側(cè)距離的尺度

二值項(xiàng)負(fù)描述符損失項(xiàng):

其中λb是縮放系數(shù),通常設(shè)置為兩個(gè)模型的輸出維度之間的比率:Ds/Dt。在訓(xùn)練階段的到二進(jìn)制描述符計(jì)算公式:

這里是防止被0整除的系數(shù),設(shè)為1e-5。

最后,將這兩個(gè)損失項(xiàng)合并為蒸餾損失函數(shù):

其中是二值項(xiàng)的加權(quán)系數(shù)。

2.4 學(xué)生訓(xùn)練

第一階段,使用學(xué)習(xí)率為0.01的ADAM優(yōu)化器訓(xùn)練教師模型。這個(gè)過(guò)程使模型能夠生成高質(zhì)量的128維描述符?;緭p耗函數(shù)為:

其中是控制二值化損失的加權(quán)系數(shù)。

在第二階段,在老師的監(jiān)督下訓(xùn)練學(xué)生模型,學(xué)習(xí)率設(shè)為0.01。因此,目標(biāo)函數(shù)既包括基本損失Lbasic,也包括蒸餾損失Ldistillation,可表示為:

其中為蒸餾損失加權(quán)系數(shù),在訓(xùn)練時(shí)設(shè)置為2。

4 實(shí)驗(yàn)與結(jié)果

4.1 特征匹配實(shí)驗(yàn)

使用UBC數(shù)據(jù)集:整個(gè)數(shù)據(jù)集包含大約400k個(gè)64×64個(gè)帶標(biāo)簽的補(bǔ)丁,在一個(gè)子集上訓(xùn)練模型,并在另外兩個(gè)子集上測(cè)試它。通過(guò)報(bào)告95%召回率(FPR95)的假陽(yáng)性率來(lái)展示匹配性能。

采用幾種方法作為基準(zhǔn)方法。第一類(lèi)是基于cnn的方法,包括HardNet、SOSNet、HyNet等。第二類(lèi)方法是一些傳統(tǒng)的方法,包括SIFT、BRIEF、LDAHash、BinBoost。還報(bào)告了每種CNN方法的參數(shù)數(shù)量和時(shí)間消耗(生成500個(gè)描述符),以可視化描述符生成效率。

此外,為了測(cè)試泛化能力,文章評(píng)估了在HPatches數(shù)據(jù)集上訓(xùn)練并在UBC數(shù)據(jù)集上測(cè)試的CNN方法的性能。

實(shí)驗(yàn)結(jié)果如下表所示:

51aee192-1c52-11ee-962d-dac502259ad0.png

由表1可以看出,基于cnn的方法明顯優(yōu)于傳統(tǒng)方法。另一方面,匹配結(jié)果表明,即使沒(méi)有蒸餾,所提出的方法也可以與大多數(shù)基于cnn的方法相媲美。此外,在KD方法的幫助下,文中的網(wǎng)絡(luò)能夠優(yōu)于所有基線方法。

由表2可以看出,文中的模型比基線CNN模型輕30%左右,運(yùn)行速度也比基線方法快。

由表3可以看出,因?yàn)楸M管在不同的數(shù)據(jù)集上訓(xùn)練,但它的性能與CNN方法相當(dāng)。

4.2 MR-SLAM實(shí)驗(yàn)

MR-VINS的詳細(xì)框架如下圖所示:

51ff911e-1c52-11ee-962d-dac502259ad0.png

整個(gè)系統(tǒng)采用集中式架構(gòu),即MR-SLAM系統(tǒng)由多個(gè)機(jī)器人和一個(gè)中央服務(wù)器組成。將視覺(jué)慣性里程計(jì)模塊放在機(jī)器人上,而將后端模塊放在服務(wù)器上。在此框架的基礎(chǔ)上,在機(jī)器人一側(cè)添加了CNN描述符模型,主要將描述符用于循環(huán)閉合和全局定位。作者將描述符模型放在機(jī)器人通信模塊之前,以便描述符可以集成到發(fā)送到服務(wù)器的關(guān)鍵幀消息中。

使用公共EuRoC數(shù)據(jù)集,采用定位精度和通信帶寬兩項(xiàng)指標(biāo)進(jìn)行評(píng)價(jià)。

SLAM精度的定量結(jié)果如下表所示。

523a8a08-1c52-11ee-962d-dac502259ad0.png

與原始MR-VINS相比,可以看出,基于cnn的方法能夠提高定位性能,尤其是MR-SLAM。此外,在單機(jī)器人和多機(jī)器人任務(wù)上,文中的方法總體上達(dá)到了與CNN方法相當(dāng)?shù)木?。然而,由于SLAM的性能不僅僅取決于圖像匹配,定位精度優(yōu)勢(shì)并不像特征匹配結(jié)果那么明顯。

下表顯示了不同SLAM系統(tǒng)的帶寬。

524fa6f4-1c52-11ee-962d-dac502259ad0.png

結(jié)果表明,文中的方法比原來(lái)的MR-VINS和CCM-SLAM具有更低的帶寬。由于文中模型的消息頻率是CCM-SLAM的3倍,所以文中模型的關(guān)鍵幀信息的大小比CCM-SLAM小10倍左右。窄帶寬歸因于文中的描述符極其緊湊的尺寸(普通BRIEF描述符的1/4)。此外,由于關(guān)鍵幀尺寸緊湊,就不需要在MR-SLAM任務(wù)期間專(zhuān)門(mén)降低關(guān)鍵幀頻率。

5 總結(jié)

在本文中,探討了如何學(xué)習(xí)MR-SLAM的緊湊描述符的問(wèn)題。本文提出了一個(gè)師生框架,該框架利用緊湊的學(xué)生模型來(lái)估計(jì)低維描述符。由于教師和學(xué)生之間的輸出維度不同,作者提出了一個(gè)基于距離的蒸餾損失函數(shù),使知識(shí)在不同的維度描述符之間蒸餾傳遞。通過(guò)特征匹配實(shí)驗(yàn)和MR-SLAM系統(tǒng)的實(shí)驗(yàn),驗(yàn)證了本文所提出算法的有效性。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 機(jī)器人
    +關(guān)注

    關(guān)注

    211

    文章

    28379

    瀏覽量

    206913
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4327

    瀏覽量

    62569
  • 模型
    +關(guān)注

    關(guān)注

    1

    文章

    3226

    瀏覽量

    48807

原文標(biāo)題:比目前最先進(jìn)的模型輕30%!高效多機(jī)器人SLAM蒸餾描述符!

文章出處:【微信號(hào):3D視覺(jué)工坊,微信公眾號(hào):3D視覺(jué)工坊】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    USB描述符詳解

    對(duì)于實(shí)現(xiàn)USB功能的項(xiàng)目,不管是實(shí)現(xiàn)CDC,大容量存儲(chǔ)、HID等都必須使用實(shí)現(xiàn)USB標(biāo)準(zhǔn)描述符,從而實(shí)現(xiàn)USB枚舉過(guò)程。這里共享一個(gè)USB描述符的詳解。
    發(fā)表于 06-12 14:46

    UBL UBOOT 描述符

    ?? 在DM368的開(kāi)發(fā)包目錄下/psp/flash-utils/DM36x/GNU:執(zhí)行make 可以省成UBL:ubl_DM36x_nand.bin ;我想問(wèn)的是如何添加UBL 的描述符?燒寫(xiě)到
    發(fā)表于 06-21 08:48

    usb標(biāo)準(zhǔn)描述符之技巧

    usb標(biāo)準(zhǔn)描述符之技巧 USB是個(gè)通用的總線,端口都是統(tǒng)一的。但是USB設(shè)備卻各種各樣,例如USB鼠標(biāo),USB鍵盤(pán),U盤(pán)等等,那么USB主機(jī)是如何識(shí)別出不同的設(shè)備的呢?這就要依賴(lài)
    發(fā)表于 04-12 11:09 ?1528次閱讀

    USB HID報(bào)告及報(bào)告描述符簡(jiǎn)介

    在USB中,USB HOST是通過(guò)各種描述符來(lái)識(shí)別設(shè)備的,有設(shè)備描述符,配置描述符,接口描述符,端點(diǎn)描述符,字符串
    發(fā)表于 04-12 11:13 ?4031次閱讀

    Descriptor描述符解釋

    Descriptor即描述符,是一個(gè)完整的數(shù)據(jù)結(jié)構(gòu),可以通過(guò)C語(yǔ)言等編程實(shí)現(xiàn),并存儲(chǔ)在USB設(shè)備中,用于描述一個(gè)USB設(shè)備的所有屬性,USB主機(jī)是通過(guò)一系列命令來(lái)要求設(shè)備發(fā)送這些信息的。
    發(fā)表于 07-16 09:39 ?2644次閱讀

    Linux中文件及文件描述符概述

    6.2 Linux中文件及文件描述符概述 在Linux中對(duì)目錄和設(shè)備的操作都等同于文件的操作,因此,大大簡(jiǎn)化了系統(tǒng)對(duì)不同設(shè)備的處理,提高了效率。Linux中的文件主要分為4種:普通文件、目錄文件
    發(fā)表于 10-18 14:35 ?0次下載

    USB設(shè)備鍵值表描述符說(shuō)明資料免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是USB設(shè)備鍵值表描述符說(shuō)明資料免費(fèi)下載包括了:1.設(shè)備描述符的結(jié)構(gòu),2. 配置描述符的結(jié)構(gòu),3. 接口描述符的結(jié)構(gòu),4. HID
    發(fā)表于 07-16 16:56 ?35次下載
    USB設(shè)備鍵值表<b class='flag-5'>描述符</b>說(shuō)明資料免費(fèi)下載

    USB各描述符之間的依賴(lài)是怎么樣的

    USB 是個(gè)通用的總線,端口都是統(tǒng)一的。但是USB 設(shè)備卻各種各樣,例如USB 鼠標(biāo), USB鍵盤(pán), U盤(pán)等等,那么USB 主機(jī)是如何識(shí)別出不同的設(shè)備的呢?這就要依賴(lài)于描述符了。USB 的描述符主要有設(shè)備描述符,配置
    發(fā)表于 07-23 16:53 ?8次下載
    USB各<b class='flag-5'>描述符</b>之間的依賴(lài)是怎么樣的

    隱藏描述符工具應(yīng)用程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是HID Descriptor Tool隱藏描述符工具應(yīng)用程序免費(fèi)下載。
    發(fā)表于 01-08 08:00 ?11次下載
    隱藏<b class='flag-5'>描述符</b>工具應(yīng)用程序免費(fèi)下載

    Linux系統(tǒng)編程中的文件描述符調(diào)用

    文件描述符 進(jìn)程每打開(kāi)一個(gè)文件的時(shí)候,會(huì)獲得該文件的文件描述符,而后續(xù)的讀寫(xiě)操作都把文件描述符作為參數(shù)。在用戶(hù)空間或者內(nèi)核空間,都是通過(guò)文件描述符來(lái)唯一地索引一個(gè)打開(kāi)的文件。文件
    的頭像 發(fā)表于 09-02 09:50 ?1675次閱讀
    Linux系統(tǒng)編程中的文件<b class='flag-5'>描述符</b>調(diào)用

    科普一下什么是USB的描述符

    以及行為呢?這就要通過(guò)描述符來(lái)實(shí)現(xiàn)了。那么什么是USB的描述符呢?其實(shí)就是一些傳遞的協(xié)議信息,比如設(shè)備的類(lèi)型、廠商ID、產(chǎn)品ID、端點(diǎn)情況、版本號(hào)等信息。 既然描述符是協(xié)議信息,那么不同的版本也會(huì)有所不同,比如USB1.1協(xié)議定
    的頭像 發(fā)表于 12-02 14:41 ?3954次閱讀

    Gadget框架構(gòu)造描述符

    假設(shè)你要【模擬】一個(gè) USB 設(shè)備: 這個(gè) USB 設(shè)備含有廠家信息:它記錄在設(shè)備描述符里,所以設(shè)備描述符應(yīng)該由你提供 這個(gè)芯片可能有多種配置,這也是由你決定,所以配置描述符應(yīng)該由你提供 某個(gè)配置下
    的頭像 發(fā)表于 07-13 11:34 ?639次閱讀
    Gadget框架構(gòu)造<b class='flag-5'>描述符</b>

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

    安裝好 gadget 驅(qū)動(dòng)程序后(比如 modprobe g_zero), 它只是構(gòu)造好了各類(lèi)描述符。在設(shè)備的枚舉過(guò)程會(huì)讀取描述符。 使用 OTG 線連接電腦和開(kāi)發(fā)板時(shí),電腦軟件會(huì)執(zhí)行如下
    的頭像 發(fā)表于 07-13 11:38 ?924次閱讀
    從獲取<b class='flag-5'>描述符</b>的角度理解Gadget框架

    基于DWC_ether_qos的以太網(wǎng)驅(qū)動(dòng)開(kāi)發(fā)-描述符格式介紹

    前面我們介紹了描述符鏈表的工作模式,重點(diǎn)是了解環(huán)形鏈表是如何環(huán)形的,以及相關(guān)的寄存器。驅(qū)動(dòng)編寫(xiě)就需要更進(jìn)一步,了解描述符的具體內(nèi)容,即4個(gè)描述符的每個(gè)字段的含義。
    的頭像 發(fā)表于 09-04 14:14 ?2622次閱讀
    基于DWC_ether_qos的以太網(wǎng)驅(qū)動(dòng)開(kāi)發(fā)-<b class='flag-5'>描述符</b>格式介紹

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

    學(xué)習(xí) Python 這么久了,說(shuō)起 Python 的優(yōu)雅之處,能讓我脫口而出的, Descriptor(描述符)特性可以排得上號(hào)。 描述符 是Python 語(yǔ)言獨(dú)有的特性,它不僅在應(yīng)用層使用,在語(yǔ)言
    的頭像 發(fā)表于 11-02 10:52 ?997次閱讀
    Python的優(yōu)雅之處:Descriptor(<b class='flag-5'>描述符</b>)
    RM新时代网站-首页