隨著激光雷達(dá)傳感器(“光檢測和測距”的縮寫,有時(shí)稱為“激光掃描”,現(xiàn)在在一些最新的 iPhone 上可用)或 RGB-D 攝像頭(一種 RGB-D 攝像頭)的興起,3D 數(shù)據(jù)變得越來越廣泛。D 圖像是標(biāo)準(zhǔn) RGB 圖像與其關(guān)聯(lián)的“深度圖”的組合,目前由 Kinect 或英特爾實(shí)感技術(shù)使用。3D 數(shù)據(jù)可以對傳感器周圍環(huán)境進(jìn)行豐富的空間表示,并可應(yīng)用于機(jī)器人、智能家居設(shè)備、無人駕駛汽車或醫(yī)學(xué)成像。
3D 數(shù)據(jù)可以采用多種格式:RGB-D 圖像、多邊形網(wǎng)格、體素、點(diǎn)云。點(diǎn)云只是一組無序的坐標(biāo)三元組 (x, y, z),這種格式已經(jīng)變得非常流行,因?yàn)樗A袅怂性?3D 信息,不使用任何離散化或 2D 投影。從根本上講,基于 2D 的方法無法提供準(zhǔn)確的 3D 位置信息,這對于機(jī)器人或自動駕駛等許多關(guān)鍵應(yīng)用來說是個(gè)問題。
因此,直接在點(diǎn)云輸入上應(yīng)用機(jī)器學(xué)習(xí)技術(shù)非常有吸引力:它可以避免執(zhí)行 2D 投影或體素化時(shí)發(fā)生的幾何信息丟失。由于 3D 數(shù)據(jù)固有的豐富特征表示,點(diǎn)云深度學(xué)習(xí)在過去 5 年中引起了廣泛關(guān)注。
但也存在一些挑戰(zhàn):輸入的高維度和非結(jié)構(gòu)化性質(zhì),以及可用數(shù)據(jù)集的小規(guī)模及其噪聲水平。此外,點(diǎn)云本質(zhì)上是被遮擋和稀疏的:3D 對象的某些部分對傳感器來說只是隱藏的,或者信號可能會丟失或被阻擋。除此之外,點(diǎn)云本質(zhì)上是不規(guī)則的,使得 3D 卷積與 2D 情況非常不同(見下圖)。
受 ML6 客戶的幾個(gè)用例的啟發(fā),我們研究了兩種應(yīng)用于 3D 對象檢測的點(diǎn)云深度學(xué)習(xí)方法(VoteNet 和 3DETR)。兩者都是由 Facebook 研究團(tuán)隊(duì)發(fā)明的(請參閱下面的鏈接部分中 Facebook 研究文章的鏈接[5]、[6]和[7])。該模型的目標(biāo)是使用點(diǎn)云(從 RGB-D 圖像預(yù)處理)并估計(jì)定向 3D 邊界框以及對象的語義類別。
1、數(shù)據(jù)預(yù)處理
我們一直使用的主要數(shù)據(jù)集是 SUN RGB-D 數(shù)據(jù)集。它包括室內(nèi)場景(臥室、家具店、辦公室、教室、浴室、實(shí)驗(yàn)室、會議室等)的 10,335 個(gè) RGB-D 圖像。這些場景使用圍繞 37 種對象的 64,595 個(gè)定向 3D 邊界框進(jìn)行注釋,其中包括椅子、桌子、枕頭、沙發(fā)……(請參閱鏈接[1]、[2]、[3]和[4]鏈接部分詳細(xì)說明數(shù)據(jù)集的各種來源以及用于創(chuàng)建數(shù)據(jù)集的方法)。在訓(xùn)練期間通過應(yīng)用點(diǎn)云的隨機(jī)子采樣、翻轉(zhuǎn)、旋轉(zhuǎn)和隨機(jī)縮放來使用數(shù)據(jù)增強(qiáng)。
RGB-D 圖像到濁點(diǎn)的轉(zhuǎn)換是通過圖像中給定坐標(biāo)處的 2D 坐標(biāo)和深度值的線性變換來完成的,同時(shí)考慮到相機(jī)的固有特性?;镜娜菍W(xué)考慮導(dǎo)致了這種線性變換的數(shù)學(xué)公式(有關(guān)更詳細(xì)的解釋,請參閱[8])。下圖(由 yodayoda Inc. 在[8]中提供)說明了該操作。預(yù)處理可以使用 Matlab 函數(shù)來完成,例如 Facebook 團(tuán)隊(duì)的代碼(需要對代碼進(jìn)行一些更改才能使其與免費(fèi)版本 Octave 一起使用,這會顯著減慢預(yù)處理速度)或使用 Open3D 開源庫(請參閱 鏈接部分鏈接[9]到圖書館的主頁)。
2、Pointnet++ 和 VoteNet
第一種方法 VoteNet ([5]) 使用 Pointnet++ ([7]) 作為主干(均來自同一作者 Charles R. Qi)。
Pointnet++ 將點(diǎn)云作為輸入并輸出輸入云的子集,但每個(gè)點(diǎn)都有更多特征,并且現(xiàn)在豐富了有關(guān)局部幾何圖案的上下文。這與卷積網(wǎng)絡(luò)類似,只是輸入云以數(shù)據(jù)相關(guān)的方式進(jìn)行子采樣,特定點(diǎn)周圍的鄰域由度量距離定義,并且該鄰域中的點(diǎn)數(shù)是可變的。下圖(摘自[7])說明了 Pointnet++ 架構(gòu)。
圖片
該圖像上的 Pointnet 層創(chuàng)建每個(gè)局部區(qū)域的抽象(由固定半徑定義)。每個(gè)局部區(qū)域都被轉(zhuǎn)換為由其質(zhì)心和豐富特征組成的向量,從而形成鄰域的抽象表示。在我們的特定情況下,原始輸入點(diǎn)云由可變數(shù)量(20,000 或 40,000)的三元組(x、y、z)組成,Pointnet++ 主干網(wǎng)的輸出是一組 1,024 個(gè)維度為 3+256 的點(diǎn)。主干中的每個(gè) Pointnet 層只是一個(gè)多層感知器(每個(gè) 1 或 2 個(gè)隱藏層)。
用于 3D 對象檢測的 VoteNet 方法使用 Pointnet++ 的輸出并應(yīng)用“深度霍夫投票”。下圖說明了該方法(摘自[5])。
圖片
主干輸出的每個(gè)點(diǎn)(具有豐富的特征)都被輸入到共享的多層感知器中以生成投票(“投票模塊”):該投票神經(jīng)網(wǎng)絡(luò)輸出點(diǎn)(其輸入)和點(diǎn)的質(zhì)心之間的位移三元組。它所屬的對象(如果有)。它經(jīng)過訓(xùn)練,可以最大限度地減少位移的范數(shù),并添加一些有助于投票聚合的額外功能。
如上圖所示,投票被聚集。每個(gè)簇都被饋送到“提議和分類模塊”(實(shí)際上是 2 個(gè)多層感知器),該模塊輸出一個(gè)預(yù)測向量,包括:客觀性得分、邊界框參數(shù)和語義分類得分。這三個(gè)元素中的每一個(gè)都構(gòu)成一個(gè)損失函數(shù)(如果我們添加上面提到的投票回歸損失,那么總共 4 個(gè)元素):對象交叉熵?fù)p失、邊界框估計(jì)損失和類別預(yù)測損失。
3、3DETR
3DETR 方法(在[6]中描述)是一種純粹基于Transformer的方法,與普通transformer架構(gòu)相比幾乎沒有任何修改,這是非常了不起的。3DETR 架構(gòu)如下圖所示(摘自[6])。
圖片
Transformer 編碼器從子采樣+集合聚合層接收輸入,就像上面描述的 Pointnet++ 主干一樣(除了在這種情況下該操作僅應(yīng)用一次,而不是在 Pointnet++ 中應(yīng)用多次)。然后,Transformer 編碼器應(yīng)用多層自注意力和非線性投影(在我們的例子中,有 3 個(gè)多頭注意力層,每個(gè)層有 8 個(gè)頭)。不需要位置嵌入,因?yàn)樵撔畔⒁寻谳斎胫小W宰⒁饬C(jī)制是排列不變的,并且允許表示長范圍依賴。話雖這么說,編碼器中的自注意力層可以使用掩碼進(jìn)行修改,以便關(guān)注局部模式而不是全局模式。
解碼器由多個(gè)transformer塊組成(在我們的例子中為 8 個(gè))。它接收查詢并預(yù)測 3D 邊界框。查詢是通過從輸入云中采樣一些點(diǎn)(在我們的例子中為 128 個(gè))并將它們輸入到位置嵌入層和隨后的多層感知器中來生成的。
4、實(shí)戰(zhàn)案例
這是來自 SUN RGB-D 數(shù)據(jù)集的 RGB-D 圖像的示例。
然后圖像被預(yù)處理成 20,000 或 80,000 個(gè)點(diǎn)的點(diǎn)云。你可以使用 MeshLab 可視化各種 3D 數(shù)據(jù),包括點(diǎn)云。
VoteNet 或 3DETR 算法現(xiàn)在可以預(yù)測邊界框(和對象類)。
5、性能表現(xiàn)
為了評估 3D 對象檢測技術(shù),最廣泛使用的指標(biāo)是平均精度 (mAP):平均精度 (AP) 是精度-召回率曲線下的面積,平均精度 (mAP) 是所有對象的平均值 類。IoU(交并集)閾值固定為 0.25 或 0.5,為我們提供 AP25 或 AP50 指標(biāo)。這控制了預(yù)測邊界框和真實(shí)邊界框之間所需的重疊。
我們在 Google Cloud Platform 虛擬機(jī)上的 SUN RGB-D 訓(xùn)練集上對 VoteNet 模型進(jìn)行了 180 個(gè) epoch 的訓(xùn)練(如[5]的作者所建議),并在測試集上獲得了 57% 的 AP25(如[5])。我們的 VoteNet 模型大小合理,具有大約 100 萬個(gè)可訓(xùn)練參數(shù)。
至于3DETR模型,該模型更大,有700萬個(gè)可訓(xùn)練參數(shù),需要訓(xùn)練360個(gè)epoch才能在SUN RGB-D數(shù)據(jù)集上達(dá)到57%的AP25。這需要幾天的訓(xùn)練。幸運(yùn)的是,[6]的作者公開了一個(gè)在 SUN RGB-D 上預(yù)訓(xùn)練了 1080 個(gè) epoch 的模型。我們對其進(jìn)行了測試,得到了與 VoteNet 相同的 AP25,即 57%。編碼器中帶有屏蔽自注意力的 3DETR 模型版本也可用,并且性能稍好一些。應(yīng)該指出的是,根據(jù)[6]的作者的說法,性能增益在另一個(gè)數(shù)據(jù)集上更為重要(ScanNetV2 請參閱下面該數(shù)據(jù)集的更多信息)。
6、遷移學(xué)習(xí)
一個(gè)重要的考慮因素是將預(yù)訓(xùn)練模型(例如[5]和[6]的作者提供的模型)轉(zhuǎn)移到我們客戶的數(shù)據(jù)上的能力。這在 3D 對象檢測的情況下尤其重要,因?yàn)閿?shù)據(jù)難以注釋、被遮擋且有噪聲。
我們測試了在 ScanNetV2 數(shù)據(jù)集上訓(xùn)練的 VoteNet 到 SUN RGB-D 數(shù)據(jù)集的可遷移性。ScanNetV2(詳細(xì)信息請參閱[10])是一個(gè)由室內(nèi)場景重建的 1,200 個(gè) 3D 網(wǎng)格的帶注釋數(shù)據(jù)集。它確實(shí)包括 18 個(gè)對象類別 雖然 SUN RGB-D 和 ScanNetV2 都屬于相似的室內(nèi)場景領(lǐng)域,但它們實(shí)際上完全不同:ScanNetV2 中的場景覆蓋更大的表面、更完整并包含更多對象。對 ScanNetV2 數(shù)據(jù)集中的頂點(diǎn)進(jìn)行采樣以創(chuàng)建輸入點(diǎn)云。
我們使用在 ScanNetV2 上預(yù)訓(xùn)練了 180 個(gè) epoch 的 VoteNet 模型。我們盡可能保留了這個(gè)模型的內(nèi)容:主干模塊、投票模塊以及除最后一個(gè)輸出層之外的所有提案和分類模塊。有趣的是,該模型僅在 SUN RGB-D 上進(jìn)行了 30 個(gè) epoch 的微調(diào),就達(dá)到了與在 SUN RGB-D 上從頭開始訓(xùn)練 180 個(gè) epoch 的相同 VoteNet 模型相同的性能。
這是一個(gè)令人鼓舞的結(jié)果,讓我們相信我們的預(yù)訓(xùn)練模型可以輕松地從其他類型的室內(nèi)域轉(zhuǎn)移到 ML6 客戶端的數(shù)據(jù),而不需要大型注釋數(shù)據(jù)集。
審核編輯:湯梓紅
-
傳感器
+關(guān)注
關(guān)注
2566文章
53008瀏覽量
767652 -
攝像頭
+關(guān)注
關(guān)注
61文章
4982瀏覽量
98431 -
激光雷達(dá)
+關(guān)注
關(guān)注
971文章
4236瀏覽量
192906 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5561瀏覽量
122806
原文標(biāo)題:點(diǎn)云目標(biāo)識別深度網(wǎng)絡(luò)
文章出處:【微信號:vision263com,微信公眾號:新機(jī)器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
基于深度學(xué)習(xí)的方法在處理3D點(diǎn)云進(jìn)行缺陷分類應(yīng)用

兩種建立元件3D圖形的方法介
基于深度學(xué)習(xí)和3D圖像處理的精密加工件外觀缺陷檢測系統(tǒng)
3D點(diǎn)云技術(shù)介紹及其與VR體驗(yàn)的關(guān)系
點(diǎn)云問題的介紹及3D點(diǎn)云技術(shù)在VR中的應(yīng)用
基于圖卷積的層級圖網(wǎng)絡(luò)用于基于點(diǎn)云的3D目標(biāo)檢測

3D 點(diǎn)云的無監(jiān)督膠囊網(wǎng)絡(luò) 多任務(wù)上實(shí)現(xiàn)SOTA
基于層級圖網(wǎng)絡(luò)的圖卷積,用點(diǎn)云完成3D目標(biāo)檢測
如何在LiDAR點(diǎn)云上進(jìn)行3D對象檢測

何為3D點(diǎn)云語義分割
用于處理三維點(diǎn)云的深度學(xué)習(xí)方法的分析
設(shè)計(jì)時(shí)空自監(jiān)督學(xué)習(xí)框架來學(xué)習(xí)3D點(diǎn)云表示
一種有效將3D點(diǎn)云分割成平面組件的多分辨率方法
基于深度學(xué)習(xí)的點(diǎn)云分割的方法介紹
基于深度學(xué)習(xí)的3D點(diǎn)云實(shí)例分割方法

評論