???一、論文
- 研究領(lǐng)域:用于大尺度室外TLS點云配準(zhǔn)的聯(lián)合關(guān)鍵點檢測和特征表達(dá)網(wǎng)絡(luò)
- 論文:JoKDNet: A joint keypoint detection and description network for large-scale
outdoor TLS point clouds registration -
International Journal of Applied Earth Observations and Geoinformation
-
Received 30 June 2021; Received in revised form 17 August 2021; Accepted 28 August 2021
- 論文團隊主頁
- 論文鏈接
- 團隊公開的數(shù)據(jù)集WHU-TLS
二、論文概述
提出了一種新的神經(jīng)網(wǎng)絡(luò)JoKDNet來聯(lián)合學(xué)習(xí)關(guān)鍵點檢測和特征描述,以提高大規(guī)模室外地面激光掃描(TLS)點云配準(zhǔn)的可行性和準(zhǔn)確性。
JoKDNet是第一個基于深度學(xué)習(xí)的方法,專注于 無初始姿態(tài)?、不同視場、大規(guī)模戶外TLS點云配準(zhǔn)。該網(wǎng)絡(luò)將關(guān)鍵點檢測和描述集成到一個框架中,提高了對具有重復(fù)和對稱特征且缺乏明顯幾何特征的點云的配準(zhǔn)能力和魯棒性。
- 引入一種新的關(guān)鍵點檢測模塊,自動學(xué)習(xí)每個采樣點的得分(重要性),并將最重要的前k個采樣點作為檢測到的關(guān)鍵點
- 提出了一個增強的特征描述模塊,學(xué)習(xí)每個關(guān)鍵點的特征表示,將局部和全局特征結(jié)合起來。
- 設(shè)計了一個損失函數(shù),使檢測到的關(guān)鍵點在匹配時具有更高的可區(qū)分性,同時最大化非對應(yīng)關(guān)鍵點之間的特征距離,最小化對應(yīng)關(guān)鍵點之間的特征距離
- 最后,利用距離矩陣模塊和隨機樣本一致性(RANSAC)確定源云和目標(biāo)點云的對應(yīng)關(guān)系,進(jìn)行變換計算。
Loss損失函數(shù):
三、論文詳述
- abstract
大規(guī)模室外地面激光掃描(TLS)點云的配準(zhǔn)在具有對稱和重復(fù)元素(例如,公園、森林和隧道)、弱幾何特征(例如,地下挖掘),并且在不同的階段顯著變化(例如,山)。為了解決這些問題,提出了一種新的神經(jīng)網(wǎng)絡(luò)JoKDNet來聯(lián)合學(xué)習(xí)關(guān)鍵點檢測和特征描述,以提高點云配準(zhǔn)的可行性和準(zhǔn)確性。首先,引入一種新的關(guān)鍵點檢測模塊,自動學(xué)習(xí)每個采樣點的得分,并將最重要的Top-k采樣點作為檢測到的關(guān)鍵點。其次,提出了一個增強的特征描述模塊,通過融合層次化的局部特征和上下文特征來學(xué)習(xí)每個關(guān)鍵點的特征表示。再次,設(shè)計了一個損失函數(shù),使檢測到的關(guān)鍵點在匹配時具有更高的可區(qū)分性,同時最大化非對應(yīng)關(guān)鍵點之間的特征距離,最小化對應(yīng)關(guān)鍵點之間的特征距離。最后,利用距離矩陣模塊和隨機樣本一致性(RANSAC)確定源云和目標(biāo)點云的對應(yīng)關(guān)系,進(jìn)行變換計算。綜合實驗表明,JoKDNet在五個具有挑戰(zhàn)性的場景(例如,公園,森林,隧道,地下挖掘和山脈)從兩個數(shù)據(jù)集(WHU-TLS和ETH-TLS)的配準(zhǔn)誤差,以及對不同場景的魯棒性,在無ICP的情況下,最大旋轉(zhuǎn)誤差小于0.06?,最大平移誤差小于0.84 m。
- Introduction
3D點云的配準(zhǔn)對于諸如數(shù)字文化遺產(chǎn)等許多應(yīng)用起著關(guān)鍵作用(Yang和Zang,2014; Montuori等人,2014)、3D重建(Jung等人,2014; Oesau等人,2014),滑坡監(jiān)測(Prokop和Panholzer,2009; Vosselman和Maas,2010)和森林清單調(diào)查(Liang等人,2016; Kelbe等人,2016年)。地面激光掃描(TLS)點云的自動配準(zhǔn)由于空間分布不規(guī)則、噪聲、結(jié)構(gòu)不完整和遮擋等因素而困難,導(dǎo)致特征/關(guān)鍵點提取困難。
傳統(tǒng)的點云配準(zhǔn)方法主要包括兩步:建立三維對應(yīng)關(guān)系和兩點云之間的剛體變換估計。不幸的是,3D-3D點對應(yīng)的建立是不平凡的(Yew和Lee,2018)。盡管在過去十年中已經(jīng)提出了若干3D手工制作的關(guān)鍵點檢測器和描述符,但是構(gòu)建3D-3D對應(yīng)的有效性仍然不令人滿意(Weinmann et al.2011; Theiler and Schindler,2012; Guo等人,2014; 2016),在具有高對稱性和相似特征結(jié)構(gòu)的場景中對全局定位/姿態(tài)估計造成了巨大挑戰(zhàn)(Yew和Lee,2018)。這證明了3D手工特征檢測器難以滿足進(jìn)一步配準(zhǔn)的3D-3D點對應(yīng)的要求。
傳統(tǒng)的點云配準(zhǔn)方法主要包括兩步:
- 建立三維對應(yīng)關(guān)系
- 兩點云之間的剛體變換估計
可重復(fù)性和可區(qū)分性分別是3D關(guān)鍵點檢測器和描述符的主要特征(Tombari等人,2010年)。可重復(fù)性涉及獲得各種干擾的相同關(guān)鍵點的能力(例如,視點改變、丟失部分和噪聲)??蓞^(qū)分性是區(qū)分關(guān)鍵點的能力,其可以被有效地描述和匹配,以避免不正確的對應(yīng)?;谑止ぬ卣鞯年P(guān)鍵點檢測和描述方法的可重復(fù)性和可區(qū)分性是有限的。一方面,在各種干擾下的相同關(guān)鍵點(例如,點密度或拓?fù)渥兓⒁朁c改變、缺失結(jié)構(gòu)、傳感器噪聲)呈現(xiàn)不一致的幾何形狀,因此難以檢測對應(yīng)的關(guān)鍵點。另一方面,特征表示能力依賴于設(shè)計者的經(jīng)驗和參數(shù)調(diào)整能力,因此很難區(qū)分具有對稱重復(fù)或弱幾何特征的關(guān)鍵點。
深度學(xué)習(xí)在基于圖像的任務(wù)中取得了巨大成功,例如對象檢測(雷德蒙等人,2016)和面部識別(Schroff等人,2015年)。還在3D點云的語義分割中研究了3D深度學(xué)習(xí)中的一些研究(Wu等人,2019年)的報告。然而,對于注冊任務(wù),目前的深度學(xué)習(xí)方法僅適用于小場景,難以處理大規(guī)模的戶外TLS點云。在本文中,提出了一種新的神經(jīng)網(wǎng)絡(luò)JoKDNet,聯(lián)合學(xué)習(xí)關(guān)鍵點檢測器和描述符,以提高點云配準(zhǔn)的準(zhǔn)確性和魯棒性。據(jù)我們所知,JoKDNet是第一個基于深度學(xué)習(xí)的方法,專注于無初始姿態(tài)的大規(guī)模戶外TLS點云配準(zhǔn)。它包括關(guān)鍵點檢測、關(guān)鍵點特征描述和損失函數(shù)公式化。關(guān)鍵點檢測模塊旨在學(xué)習(xí)每個下采樣點的重要性,并將最重要的TOp-k個點作為檢測到的關(guān)鍵點。關(guān)鍵點特征描述模塊旨在通過特征描述模塊學(xué)習(xí)每個關(guān)鍵點的特征表示,將局部和全局特征結(jié)合起來。以下是本文與當(dāng)前工作相比的主要貢獻(xiàn):
目前的深度學(xué)習(xí)方法僅適用于小場景
(1)JoKDNet是第一個基于深度學(xué)習(xí)的方法,專注于大規(guī)模戶外TLS點云配準(zhǔn),無需初始姿勢,并在配準(zhǔn)不同視場的TLS點云方面表現(xiàn)出色。
(2)該網(wǎng)絡(luò)將關(guān)鍵點檢測和描述集成到一個框架中,提高了對具有重復(fù)和對稱特征且缺乏明顯幾何特征的點云的配準(zhǔn)能力和魯棒性。
文章的其余部分組織如下:第二節(jié)介紹了相關(guān)工作。第3節(jié)闡述了JoKDNet的結(jié)構(gòu)。第4節(jié)說明了JoKDNet的實驗和驗證。最后,第5節(jié)對本文進(jìn)行了總結(jié),并對未來的工作進(jìn)行了展望。
- Related work
基于特征的手工方法
基于手工特征的方法,例如快速點特征直方圖(Rusu等人,2009)、旋轉(zhuǎn)投影統(tǒng)計(Guo等人,2013)、語義特征線(Yang等人,2016)、自適應(yīng)協(xié)方差(Zai等人,2017)、二進(jìn)制形狀上下文描述符(Dong等人,2017年; 2018年)在大多數(shù)情況下都取得了令人滿意的結(jié)果。不幸的是,點云中的不完整結(jié)構(gòu)、遮擋或雜亂顯著地?fù)p害了這樣的描述符(Guo等人,2016年; Xu等人,2019; Ge等人,2019; Ge和Hu,2020)。此外,該方法受到手工特征依賴于設(shè)計者的經(jīng)驗和調(diào)整參數(shù)的能力的事實的限制。因此,基于特征的手工配準(zhǔn)方法在具有對稱重復(fù)特征、幾何特征弱、場景動態(tài)變化、重疊區(qū)域有限等場景中顯得力不從心。
深度學(xué)習(xí)方法
與手工特征相比,深度學(xué)習(xí)表現(xiàn)為從大量數(shù)據(jù)中自動學(xué)習(xí)特征,可以學(xué)習(xí)高層次、高描述性的描述符?,F(xiàn)有的基于深度學(xué)習(xí)的點云處理方法根據(jù)輸入數(shù)據(jù)格式的不同分為三種:
(1)基于體素的網(wǎng)絡(luò),將點云轉(zhuǎn)換為體素,從而實現(xiàn)從無序和非結(jié)構(gòu)化數(shù)據(jù)到有序和結(jié)構(gòu)化數(shù)據(jù)的轉(zhuǎn)換,可以直接使用3D卷積神經(jīng)網(wǎng)絡(luò)來消費點云。
(2)多視圖卷積神經(jīng)網(wǎng)絡(luò)(CNN)將點云投影到圖像中并使用2D圖像處理方法;
(3)直接處理不規(guī)則、非結(jié)構(gòu)化點集的基于點的網(wǎng)絡(luò)。
基于體素的深度網(wǎng)絡(luò)結(jié)構(gòu)采用卷積架構(gòu)來有效地處理數(shù)據(jù),這已被證明是最先進(jìn)的精度(Maturana和謝勒,2015; Milletari等人,2016; Dai等人,2017; Song等人,2017年)。Voxnet是基于3D卷積運算進(jìn)行對象識別的特征提取的開創(chuàng)性工作(Maturana和謝勒,2015)。類似地,對于形狀識別和完成,3D ShapeNet學(xué)習(xí)形狀的深度體積表示(Wu等人,2009年,2009年,2015年)。3D U-Net是應(yīng)用于醫(yī)學(xué)圖像處理的基于體素的網(wǎng)絡(luò)的流行示例(?i?ek O ¨等人,2016年)。然而,基于體素的Deep網(wǎng)絡(luò)將空間劃分為3D網(wǎng)格,導(dǎo)致數(shù)據(jù)稀疏性問題。為了解決這個問題,OctNet提出通過對OctTree數(shù)據(jù)結(jié)構(gòu)使用卷積來在深度學(xué)習(xí)上下文中引入OctTree(Riegler等人,2017年)。Klokov和Lempitsky提供了另一種引入Kd樹的方法(Klokov和Lempitsky,2017)。
3DMatch是使用3D卷積運算來計算特征描述符將基于體素的網(wǎng)絡(luò)應(yīng)用于RGB-D數(shù)據(jù)配準(zhǔn)的先驅(qū)工作(Zeng等人,2017年)。由于點云被轉(zhuǎn)換為體素,因此它可以利用圖像處理的成熟網(wǎng)絡(luò)結(jié)構(gòu)并擴展到3D卷積運算。基于3DMatch,Zhang et al.(2019)使用均勻樣本方法來獲得關(guān)鍵點,并使用基于體素的深度學(xué)習(xí)模型來計算3D特征描述符,然后利用RANSAC方法來消除離群值并計算變換。
多視圖深度網(wǎng)絡(luò)通過以一定的方式從不同的視角投影三維點云數(shù)據(jù)來獲得大量的2D渲染。然后,直接在圖像上使用圖像卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)來學(xué)習(xí)和識別3D對象的特征(Su等人,2015年)。Qi等人(2016)研究了用于3D對象分類的點云的體積和多視圖表達(dá),這兩個實驗的結(jié)果相差甚遠(yuǎn),這表明當(dāng)前的體積卷積神經(jīng)網(wǎng)絡(luò)不可否認(rèn)地發(fā)展3D表示的能力。Chen等人(2017)通過計算前視圖中鳥瞰圖和柱面坐標(biāo)的特征圖,介紹了點云的多視圖表達(dá)。Huang等人(2018)通過為每個3D關(guān)鍵點錨定三個本地相機并收集多視圖特征圖來學(xué)習(xí)半全局表達(dá)式。Pujol-Mir 'o等人(2019)修改了Huang et al.(2018),計算最佳投影方向生成2D渲染圖像,并通過實驗選擇最佳鄰域范圍和圖像大小,最后使用2D卷積神經(jīng)網(wǎng)絡(luò)計算特征描述。多視圖DP網(wǎng)絡(luò)受鄰域點的數(shù)量和2D渲染圖像的大小的影響。此外,3D數(shù)據(jù)信息在投影期間丟失。
PointNet(Qi等人,2017 a)是一種直接在點上操作的開創(chuàng)性方法,并顯示了直接與點一起工作的改進(jìn),并且在連續(xù)空間中,它學(xué)習(xí)更精確的點分布。在多個點云數(shù)據(jù)處理任務(wù)中,例如分類、零件分割和場景分割任務(wù),PointNet可獲得最先進(jìn)的結(jié)果。之后,大量基于不規(guī)則點的深度學(xué)習(xí)模型被提出并應(yīng)用于點云的各個領(lǐng)域,包括點云配準(zhǔn)(Qi et al.2017 b; Deng等人,2018a; 2018b; Deng等人,2019; Aoki等人,2019年; Wang等人,2019; Wang和所羅門,2019)。
PPFNet將點對特征(PPF)作為輸入,并使用PointNet來學(xué)習(xí)幾何特征描述(Deng等人,2018年a)。該方法采用隨機采樣來獲取關(guān)鍵點,魯棒性不強,且結(jié)構(gòu)受樣本數(shù)的限制,導(dǎo)致不適合大規(guī)模場景。此外,MLP用于獲得局部特征,并使用最大池化操作來獲得具有所有補丁的全局特征。然后將全局特征和局部特征通過MLP運算連接起來得到最終的幾何特征描述。僅使用像PointNet這樣的MLP很難獲得更好的特征描述。因此,PPF-FoldNet用FoldingNet代替PointNet進(jìn)行基于PPFNet的特征嵌入,并獲得端到端網(wǎng)絡(luò)對每個補丁的特征進(jìn)行編碼(Deng et al.2018年b)。該方法還以PPF作為輸入,使用mini-PointNet和skip-links作為編碼器,使用FoldingNet作為解碼器來重建PPF。該方法的效果取決于點對特征的可分辨性和魯棒性。PointNetLK組合PointNet和Lucas-Kanade(LK)算法以通過迭代獲得旋轉(zhuǎn)和變換(Aoki等人,2019年)的報告。然而,該方法涉及迭代計算,其迭代次數(shù)依賴于從實驗獲得的閾值。另一方面,該方法收集整個點云進(jìn)行特征提取,不能應(yīng)用于大規(guī)模場景。Deng等人(2019)提出了一種端到端神經(jīng)網(wǎng)絡(luò)來注冊點云,它結(jié)合了FoldingNet和RelativeNet。該方法利用MLP直接獲得最終的旋轉(zhuǎn)和平移參數(shù)。同樣,(Wang and所羅門,2019)的工作采用DGCNN(Wang et al.,2019)網(wǎng)絡(luò)作為特征提取方法和評分模塊,以創(chuàng)建一個考慮到兩點云關(guān)系的新嵌入。最后,采用奇異值分解模塊學(xué)習(xí)平移參數(shù),取得了比MLP更好的精度。
目前,只有少數(shù)深度學(xué)習(xí)網(wǎng)絡(luò)可以處理Kitti數(shù)據(jù)集(蓋革等人,2012)注冊。3DFateNet是基于深度學(xué)習(xí)的關(guān)鍵點檢測的先驅(qū)工作,然而,這種方法預(yù)測了整個場景的所有輸入和密集推理的權(quán)重,在大規(guī)模戶外TLS點云中實現(xiàn)具有挑戰(zhàn)性(Yew和Lee,2018)。DeepVCP是一種解決精細(xì)配準(zhǔn)問題的新架構(gòu),它使用PointNet++來檢測關(guān)鍵點,然后通過初始姿態(tài)和PointNet來生成相應(yīng)的點(Lu et al.2019年)的報告。然而,它受到初始位姿的限制,并且在沒有初始位姿的點云配準(zhǔn)中存在困難。
- JoKDNet
JoKDNet被提出來通過聯(lián)合學(xué)習(xí)關(guān)鍵點檢測器和描述符來提高可重復(fù)性和區(qū)分可驗證性。JoKDNet主要包括關(guān)鍵點檢測器模塊(表示為紫色),特征嵌入模塊(其是關(guān)鍵點檢測器模塊的一部分),特征描述符模塊(表示為藍(lán)色)和損失函數(shù)公式(表示為綠色),如圖1.
?JoKDNet將源點云和目標(biāo)點云作為輸入。
Xanc是源點云中的下采樣點
Xpos、Xneg是根據(jù)Rgt和Tgt的地面真值在目標(biāo)點云中選擇的匹配點和非匹配點。
具有相鄰點的Xanc作為補丁輸入到關(guān)鍵點檢測器模塊以學(xué)習(xí)特征描述符Fanc和每個錨點的得分。然后,使用頂部K層來獲取對配準(zhǔn)最重要的貢獻(xiàn)的K個點Panc。
通過Panc的索引從Xpos和Xneg中選擇的Ppos和Pneg被饋送到特征嵌入模塊以獲得特征描述符Fpos和Fneg。
將Panc和Fanc、Ppos和Fpos、Pneg和Fneg分別作為特征描述符模塊的三對輸入來學(xué)習(xí)區(qū)分特征。
關(guān)鍵點檢測器模塊
圖2中的第一行關(guān)鍵點檢測器模塊的細(xì)節(jié)。首先,采用網(wǎng)格采樣法對初始點云進(jìn)行下采樣,得到N個下采樣點。下采樣點均勻分布在整個場景中,但并不是所有的采樣點都適合匹配,因此進(jìn)一步利用基于學(xué)習(xí)的方法從采樣點中檢測關(guān)鍵點。
其次,搜索每個點的半徑R內(nèi)的K個相鄰點以形成作為特征嵌入層的輸入的貼片。在R半徑內(nèi)少于K個點的情況下,我們簡單地復(fù)制它們,相反,我們對它們進(jìn)行降采樣。在本文中,相鄰點的數(shù)量K和搜索半徑R分別設(shè)置為32和0.6米。
第三,共享多層感知器(MLP)應(yīng)用于每個相鄰點,以學(xué)習(xí)它們的特征嵌入,其由4個隱藏層組成,神經(jīng)元大小為32,64,128。然后,使用最大池化層組合來自K個相鄰點的信息,從而獲得每個下采樣點的128維全局特征。最后,在每個下采樣點上應(yīng)用另一個共享MLP以將其特征嵌入的維度從128減小到1,其對每個下采樣點的得分值進(jìn)行編碼(即,用于配準(zhǔn)的下采樣點的重要性)。然后,應(yīng)用前k層以從具有較大得分值的所有下采樣點獲得Nk個關(guān)鍵點。
"T-Net" 可能是指 "Transformation Network",它是一種在神經(jīng)網(wǎng)絡(luò)中用于學(xué)習(xí)輸入數(shù)據(jù)的空間變換的架構(gòu)。Transformation Network 通常用于處理具有平移、旋轉(zhuǎn)、縮放等變換不變性的任務(wù),如點云、圖像和其他空間數(shù)據(jù)。
在點云處理中,T-Net 可以用于實現(xiàn)點云的對齊和配準(zhǔn),以及進(jìn)行點云分類、分割等任務(wù)。它可以學(xué)習(xí)適應(yīng)性的變換,使得輸入點云可以在不同變換下保持一致。T-Net 的架構(gòu)通常包括共享的特征提取網(wǎng)絡(luò)和用于估計變換矩陣的部分。
例如,在點云處理中,T-Net 可以被嵌入到一個更大的網(wǎng)絡(luò)中,用于點云的預(yù)處理、特征提取和變換估計。通過訓(xùn)練網(wǎng)絡(luò),T-Net 可以學(xué)習(xí)識別輸入點云的特定變換,并輸出變換矩陣,從而將點云變換為一個規(guī)范的形式。
總之,T-Net 是一種在神經(jīng)網(wǎng)絡(luò)中用于學(xué)習(xí)輸入數(shù)據(jù)的變換的架構(gòu),常常用于處理具有空間變換特性的任務(wù),如點云處理。這個概念通常在深度學(xué)習(xí)和計算機視覺領(lǐng)域中使用。
MLP 是 "Multilayer Perceptron" 的縮寫,中文翻譯為 "多層感知器"。它是一種基本的神經(jīng)網(wǎng)絡(luò)模型,用于解決各種機器學(xué)習(xí)任務(wù),如分類、回歸和其他模式識別任務(wù)。
MLP 由多個神經(jīng)元層組成,每一層都與前一層和后一層連接。它至少包括一個輸入層、一個或多個隱藏層和一個輸出層。每個神經(jīng)元層包含多個神經(jīng)元(也稱為節(jié)點),并且每個神經(jīng)元都與前一層的所有神經(jīng)元相連。
典型的 MLP 結(jié)構(gòu)如下:
輸入層:接受原始輸入數(shù)據(jù)的特征。每個輸入特征對應(yīng)一個輸入神經(jīng)元。
隱藏層:包含多個神經(jīng)元,每個神經(jīng)元都與前一層的所有神經(jīng)元相連。隱藏層通常用于提取數(shù)據(jù)的高級特征表示。
輸出層:輸出模型的預(yù)測結(jié)果,可以是分類、回歸等任務(wù)的輸出。
在訓(xùn)練過程中,MLP 通過反向傳播算法來調(diào)整神經(jīng)元之間的連接權(quán)重,從而最小化模型的損失函數(shù)。通過多次迭代訓(xùn)練,MLP 可以學(xué)習(xí)到適合特定任務(wù)的模式和特征。
雖然 MLP 在許多任務(wù)上表現(xiàn)出色,但也有一些限制,例如對于復(fù)雜的非線性關(guān)系可能需要更深層的網(wǎng)絡(luò)結(jié)構(gòu)。因此,在現(xiàn)代深度學(xué)習(xí)中,MLP 通常作為更復(fù)雜網(wǎng)絡(luò)的基本組件,如卷積神經(jīng)網(wǎng)絡(luò)(CNN)和循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)。
Max-pooling 是一種用于卷積神經(jīng)網(wǎng)絡(luò)(CNN)中的池化操作,用于減小特征圖的尺寸,并提取出重要的特征。
在卷積神經(jīng)網(wǎng)絡(luò)中,卷積層可以從輸入數(shù)據(jù)中提取特征,但隨著網(wǎng)絡(luò)層數(shù)的增加,特征圖的尺寸可能會變得很大,導(dǎo)致計算和內(nèi)存需求增加。為了解決這個問題,池化操作被引入,其中的一種就是 Max-pooling。
Max-pooling 操作的步驟如下:
1. **定義池化窗口大小**:選擇一個固定大小的池化窗口,通常是一個小矩形區(qū)域。
2. **在窗口內(nèi)尋找最大值**:在每個池化窗口內(nèi),找到特征圖中的最大值。這個最大值就是該窗口的池化輸出。
3. **滑動窗口**:將池化窗口按步長(stride)滑動,以覆蓋整個特征圖,從而生成池化后的特征圖。
Max-pooling 的效果是將每個池化窗口內(nèi)的最大值提取出來,從而在減小特征圖的尺寸的同時,保留了重要的特征。這種池化操作有助于減少模型對位置的敏感性,提高模型的魯棒性。
需要注意的是,隨著深度學(xué)習(xí)技術(shù)的發(fā)展,有些先進(jìn)的模型在某些情況下已經(jīng)采用了其他類型的池化操作,如平均池化、自適應(yīng)池化等,以更好地適應(yīng)不同的數(shù)據(jù)分布和任務(wù)需求。
"Concatenation operation"(連接操作)是指將兩個或多個張量沿著某個維度進(jìn)行拼接的操作。在深度學(xué)習(xí)中,這是一種常見的操作,用于在神經(jīng)網(wǎng)絡(luò)中將不同的特征或信息進(jìn)行組合。
在深度學(xué)習(xí)中,特征通常表示為張量,而這些張量可以具有不同的維度。通過連接操作,您可以將這些張量沿著某個維度(通常是特征維度)進(jìn)行堆疊,從而生成一個更大的張量。這可以用于多種情況,例如:
1. **特征拼接**:在卷積神經(jīng)網(wǎng)絡(luò)(CNN)中,您可能有多個不同層的特征圖,您可以將它們沿著通道維度連接,以生成更豐富的特征表示。
2. **序列合并**:在處理序列數(shù)據(jù)(如文本或時間序列)時,您可以將不同的序列沿著序列維度連接,以構(gòu)建更長的序列。
3. **多模態(tài)數(shù)據(jù)融合**:當(dāng)處理多模態(tài)數(shù)據(jù)(例如圖像和文本的組合)時,您可以將不同模態(tài)的特征進(jìn)行連接,以實現(xiàn)不同信息源之間的融合。
4. **殘差連接**:在殘差網(wǎng)絡(luò)(Residual Networks,ResNets)中,連接操作用于將輸入張量與經(jīng)過卷積層處理后的張量進(jìn)行連接,以實現(xiàn)跳躍連接。
連接操作可以通過各種深度學(xué)習(xí)庫(如TensorFlow、PyTorch等)中的函數(shù)來實現(xiàn)。通常,連接操作會在網(wǎng)絡(luò)的某個中間層進(jìn)行,以實現(xiàn)特征的融合或組合。通過合理使用連接操作,您可以構(gòu)建更復(fù)雜、更靈活的神經(jīng)網(wǎng)絡(luò)架構(gòu)。
"Dropout" 是一種用于神經(jīng)網(wǎng)絡(luò)的正則化技術(shù),旨在防止過擬合(overfitting)。它是通過在訓(xùn)練過程中隨機關(guān)閉一些神經(jīng)元來實現(xiàn)的,從而減少神經(jīng)網(wǎng)絡(luò)對特定神經(jīng)元的依賴,提高模型的泛化能力。
在神經(jīng)網(wǎng)絡(luò)中,每個神經(jīng)元都可以被視為模型中的一個參數(shù),通過神經(jīng)元之間的連接權(quán)重來表示。當(dāng)神經(jīng)網(wǎng)絡(luò)過擬合時,模型可能會過度依賴于某些特定的神經(jīng)元和連接權(quán)重,導(dǎo)致在訓(xùn)練數(shù)據(jù)上表現(xiàn)很好,但在未見過的數(shù)據(jù)上表現(xiàn)較差。
Dropout 的工作原理如下:
1. 在每次訓(xùn)練迭代中,隨機選擇一部分神經(jīng)元并關(guān)閉它們。這意味著在當(dāng)前迭代中,這些神經(jīng)元不會參與前向傳播和反向傳播。
2. 通過隨機關(guān)閉神經(jīng)元,強制網(wǎng)絡(luò)學(xué)習(xí)更加魯棒的特征表示,因為網(wǎng)絡(luò)不再可以過度依賴于特定的神經(jīng)元。
3. 在前向傳播和反向傳播過程中,關(guān)閉的神經(jīng)元權(quán)重乘以零,不會影響權(quán)重的更新。
在測試階段,Dropout 通常被關(guān)閉,因為此時模型應(yīng)該使用所有的神經(jīng)元來進(jìn)行預(yù)測。
在深度學(xué)習(xí)框架中,您可以通過添加 Dropout 層來實現(xiàn) Dropout 技術(shù)。例如,使用 TensorFlow 或 PyTorch,您可以這樣創(chuàng)建一個 Dropout 層:
```python
import tensorflow as tf
from tensorflow.keras.layers import Dropout# 創(chuàng)建一個 Dropout 層
dropout_layer = Dropout(rate=0.5) ?# rate 表示關(guān)閉的神經(jīng)元比例# 在模型中應(yīng)用 Dropout 層
model = tf.keras.Sequential([
? ? # 其他層
? ? dropout_layer,
? ? # 其他層
])
```通過在模型中添加 Dropout 層,您可以在訓(xùn)練過程中實現(xiàn)神經(jīng)元的隨機關(guān)閉,從而幫助提高模型的泛化能力。
"FC" 層是 "Fully Connected Layer"(全連接層)的縮寫,也被稱為 "Dense Layer"(稠密層)。全連接層是神經(jīng)網(wǎng)絡(luò)中的一種基本層,其所有輸入神經(jīng)元都與輸出神經(jīng)元相連接,每個連接都有一個權(quán)重。全連接層在神經(jīng)網(wǎng)絡(luò)中用于將前一層的所有特征連接到當(dāng)前層的所有神經(jīng)元。
全連接層的工作原理如下:
1. **輸入數(shù)據(jù)傳遞**:全連接層接收前一層的輸出,這通常是一個向量(或矩陣,如果批次中有多個樣本)。
2. **權(quán)重和偏差**:每個輸入特征都與每個輸出神經(jīng)元連接,每個連接都有一個權(quán)重。此外,每個輸出神經(jīng)元還有一個偏差(或稱為閾值)。
3. **權(quán)重相乘和求和**:對于每個輸出神經(jīng)元,將其對應(yīng)的所有輸入特征與權(quán)重相乘,然后將這些乘積相加,加上偏差。這會產(chǎn)生每個輸出神經(jīng)元的輸出。
4. **激活函數(shù)**:通常,在全連接層的輸出上應(yīng)用一個激活函數(shù),以引入非線性性。這有助于模型學(xué)習(xí)復(fù)雜的非線性關(guān)系。
全連接層在深度學(xué)習(xí)中扮演著重要角色,特別是在傳統(tǒng)的前饋神經(jīng)網(wǎng)絡(luò)(多層感知器)中。通常,神經(jīng)網(wǎng)絡(luò)的最后一層是全連接層,用于產(chǎn)生最終的預(yù)測結(jié)果或特征表示。
以下是使用 TensorFlow 創(chuàng)建全連接層的示例代碼:
```python
import tensorflow as tf
from tensorflow.keras.layers import Dense# 創(chuàng)建一個全連接層
fc_layer = Dense(units=128, activation='relu') ?# 128 個神經(jīng)元,使用 ReLU 激活函數(shù)# 在模型中應(yīng)用全連接層
model = tf.keras.Sequential([
? ? # 其他層
? ? fc_layer,
? ? # 其他層
])
```在這個示例中,`Dense` 層代表全連接層,它有 128 個神經(jīng)元,并使用 ReLU 激活函數(shù)。通過在模型中添加全連接層,您可以實現(xiàn)特征的組合和轉(zhuǎn)換,從而使神經(jīng)網(wǎng)絡(luò)能夠從輸入數(shù)據(jù)中學(xué)習(xí)更高級的表示。
特征描述符模塊
在特征描述子模塊中,采用局部特征學(xué)習(xí)、上下文信息融合、全局和局部特征融合等方法,得到更具鑒別力的特征描述。
構(gòu)建局部鄰域信息
圖中的第二行。2示出了特征描述符模塊的體系結(jié)構(gòu),該模塊被應(yīng)用于學(xué)習(xí)每個關(guān)鍵點的特征表示。從關(guān)鍵點檢測器模塊獲得每個關(guān)鍵點的鄰近點,結(jié)合更豐富的鄰近屬性信息來提高特征描述的可區(qū)分性。對于輸入的相鄰點{x1,x2,,xK},采用最遠(yuǎn)點采樣(FPS,Moenning and Dodgson,2003)選取一個點子集{xi 1,xi 2,,xiM},對每個采樣點xij搜索S個相鄰點,則該層的輸出為Nk ×M × S × 3,可以得到更詳細(xì)的局部鄰域信息。
考慮到面片的稀疏性和FPS算法能夠保持面片的幾何特征,本文采用FPS算法。此外,F(xiàn)PS的效率不會因為鄰域點的數(shù)量少而受到影響。
集成上下文信息
共享MLP在每個局部鄰域中用于學(xué)習(xí)局部特征,其由具有神經(jīng)元大小32、64的2個隱藏層組成。然后,最大池化層用作對稱函數(shù)以聯(lián)合收割機來自S個相鄰點的信息。實際上,通過在特征描述符期間聚合上下文信息對特征表示更有幫助。因此,最大池化結(jié)果被復(fù)制S次,并連接Nk × M × S × 3張量以整合上下文信息(圖12中的Concat操作)。2)的情況。
在點云配準(zhǔn)(Point Cloud Registration)中,"點云 anchor keypoints" 是指被用作參考的穩(wěn)定關(guān)鍵點或錨點,以幫助實現(xiàn)點云之間的對齊。點云配準(zhǔn)旨在將多個點云(可能來自不同時間、不同視角或傳感器)對齊在同一坐標(biāo)系中,以便進(jìn)行后續(xù)處理,如物體識別、3D建模等。
在點云配準(zhǔn)中使用點云 anchor keypoints 的過程如下:
1. **提取關(guān)鍵點**:首先,從每個點云中提取關(guān)鍵點。這些關(guān)鍵點可能是具有顯著特征的點,如邊緣、角點、表面凹凸點等。這些關(guān)鍵點有助于捕捉點云的結(jié)構(gòu)和形狀。
2. **選擇錨點**:從提取的關(guān)鍵點中選擇一部分作為錨點。這些錨點通常是在所有點云中都可以穩(wěn)定檢測到的點,具有良好的可重復(fù)性和區(qū)分性。
3. **配準(zhǔn)過程**:在點云配準(zhǔn)的過程中,錨點充當(dāng)參考點,幫助算法找到不同點云之間的變換(平移、旋轉(zhuǎn)、縮放等),使其在共同坐標(biāo)系中對齊。
4. **優(yōu)化**:通過優(yōu)化方法,比如最小二乘法、迭代最近點(ICP)算法等,調(diào)整其他點的位置,使得點云之間的誤差最小化。這樣,可以將多個點云對齊到一個參考點云或共同的坐標(biāo)系中。
使用點云 anchor keypoints 可以提高點云配準(zhǔn)的效果,特別是在點云之間存在較大姿態(tài)變化或噪聲的情況下。選擇穩(wěn)定的錨點有助于提高配準(zhǔn)的準(zhǔn)確性和可靠性,從而為后續(xù)的點云分析任務(wù)提供更好的基礎(chǔ)。
在點云配準(zhǔn)或特征匹配的任務(wù)中,一種常見的方法是計算點云中的錨關(guān)鍵點與其對應(yīng)的關(guān)鍵點之間的特征距離,以衡量它們的相似性或匹配程度。這有助于確定點云之間的對應(yīng)關(guān)系,進(jìn)而實現(xiàn)點云的對齊或匹配。
特征距離的計算可以基于錨關(guān)鍵點和對應(yīng)關(guān)鍵點之間的特征描述子或特征向量。一般來說,特征描述子是通過對點云中的局部區(qū)域進(jìn)行特征提取得到的,用于表示點云的形狀、法線、曲率等信息。計算特征距離的一種常見方法是使用歐氏距離或其他相似性度量方法。
以下是計算點云 錨關(guān)鍵點到對應(yīng)的關(guān)鍵點的特征距離的一般步驟:
1. **特征提取**:對于點云中的錨關(guān)鍵點和對應(yīng)關(guān)鍵點,分別提取特征描述子。這些描述子可以是點的法線、顏色直方圖、表面特征等。
2. **計算特征距離**:使用適當(dāng)?shù)木嚯x度量(如歐氏距離、余弦距離等),計算錨關(guān)鍵點的特征描述子與對應(yīng)關(guān)鍵點的特征描述子之間的距離。
3. **相似性評價**:根據(jù)計算得到的特征距離,可以定義一個相似性度量,例如使用相似性分?jǐn)?shù)或相似性矩陣,以衡量錨關(guān)鍵點與對應(yīng)關(guān)鍵點之間的相似性。
4. **匹配策略**:基于相似性度量,可以使用不同的匹配策略,如最近鄰匹配、最佳匹配等,來確定點云之間的對應(yīng)關(guān)系。
需要注意的是,特征描述子的選擇和距離度量方法會對特征距離的計算結(jié)果產(chǎn)生影響。在實際應(yīng)用中,根據(jù)任務(wù)的需求和數(shù)據(jù)的特點,您可能需要嘗試不同的方法和參數(shù)來獲得最佳的匹配效果。
"Epoch" 是在機器學(xué)習(xí)和深度學(xué)習(xí)中常用的術(shù)語,用來表示一次完整的訓(xùn)練數(shù)據(jù)集在神經(jīng)網(wǎng)絡(luò)中的前向傳播、反向傳播的訓(xùn)練循環(huán)。在每個 epoch 中,訓(xùn)練數(shù)據(jù)會被輸入到神經(jīng)網(wǎng)絡(luò)中進(jìn)行訓(xùn)練,并且模型的權(quán)重會根據(jù)損失函數(shù)的反向傳播進(jìn)行更新。
在訓(xùn)練神經(jīng)網(wǎng)絡(luò)時,通常需要經(jīng)過多個 epoch 才能使模型充分地學(xué)習(xí)訓(xùn)練數(shù)據(jù)中的模式和特征。每個 epoch 都可以看作是一個訓(xùn)練周期,其中模型對整個訓(xùn)練數(shù)據(jù)集進(jìn)行了一次學(xué)習(xí)。
在每個 epoch 中,以下步驟通常會發(fā)生:
1. **前向傳播**:將訓(xùn)練數(shù)據(jù)輸入到神經(jīng)網(wǎng)絡(luò)中,通過網(wǎng)絡(luò)的各層計算輸出,得到預(yù)測值。
2. **計算損失**:將預(yù)測值與真實標(biāo)簽進(jìn)行比較,計算模型的損失或誤差。
3. **反向傳播**:根據(jù)損失值,使用反向傳播算法計算相對于每個參數(shù)的梯度。
4. **參數(shù)更新**:根據(jù)計算得到的梯度,使用優(yōu)化算法(如梯度下降)來更新模型的參數(shù),以減小損失函數(shù)。
5. **重復(fù)訓(xùn)練**:重復(fù)以上步驟,直到所有的訓(xùn)練數(shù)據(jù)都被用于訓(xùn)練,并且模型的參數(shù)逐漸收斂。文章來源:http://www.zghlxwxcb.cn/news/detail-682516.html
通常情況下,神經(jīng)網(wǎng)絡(luò)的訓(xùn)練會經(jīng)過多個 epoch,以使模型逐漸優(yōu)化并提高在訓(xùn)練數(shù)據(jù)以外的數(shù)據(jù)上的泛化能力。epoch 的數(shù)量是一個超參數(shù),需要根據(jù)具體任務(wù)和數(shù)據(jù)集的大小來進(jìn)行調(diào)整。較小的 epoch 數(shù)量可能導(dǎo)致模型欠擬合,而較大的 epoch 數(shù)量可能導(dǎo)致模型過擬合。因此,在訓(xùn)練神經(jīng)網(wǎng)絡(luò)時,選擇適當(dāng)?shù)?epoch 數(shù)量是一個需要進(jìn)行實驗和調(diào)優(yōu)的重要因素。文章來源地址http://www.zghlxwxcb.cn/news/detail-682516.html
到了這里,關(guān)于《論文閱讀18》JoKDNet的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!