CVPR2020:点云分类的自动放大框架PointAugment
CVPR2020:點云分類的自動放大框架PointAugment
PointAugment: An Auto-Augmentation Framework for Point Cloud Classification
論文地址:
https://openaccess.thecvf.com/content_CVPR_2020/html/Li_PointAugment_An_Auto-Augmentation_Framework_for_Point_Cloud_Classification_CVPR_2020_paper.html
 code:https://github.com/liruihui/PointAugment
 摘要
本文提出了一種新的自動放大框架PointAugment,在訓(xùn)練分類網(wǎng)絡(luò)時,自動優(yōu)化和放大點云樣本,以豐富數(shù)據(jù)的多樣性。與現(xiàn)有的二維圖像自動放大方法不同,PointAugment是一種樣本感知的方法,采用一種對抗性學(xué)習(xí)策略來聯(lián)合優(yōu)化放大器網(wǎng)絡(luò)和分類器網(wǎng)絡(luò),使放大器能夠?qū)W習(xí)產(chǎn)生最適合分類器的放大樣本。此外,構(gòu)造了一個帶形狀變換和點位移的可學(xué)習(xí)點放大函數(shù),并根據(jù)分類器的學(xué)習(xí)進度,精心設(shè)計損失函數(shù)來采用放大樣本。大量實驗也證實了PointAugment的有效性和魯棒性,可以改善各種網(wǎng)絡(luò)的形狀分類和檢索性能。
1.介紹
近24年來,人對三維神經(jīng)網(wǎng)絡(luò)的研究興趣與日俱增。可靠地訓(xùn)練網(wǎng)絡(luò)通常依賴于數(shù)據(jù)的可用性和多樣性。然而,與ImageNet[10]和MS-COCO數(shù)據(jù)集[15]等二維圖像基準(zhǔn)測試不同,3D數(shù)據(jù)集的數(shù)量通常要小得多,標(biāo)簽數(shù)量相對較少,多樣性有限。例如,ModelNet40[38]是3D點云分類最常用的基準(zhǔn)之一,只有40個類別的12311個模型。有限的數(shù)據(jù)量和多樣性可能導(dǎo)致過擬合問題,進而影響網(wǎng)絡(luò)的泛化能力。目前,數(shù)據(jù)放大(DA)是一種非常普遍的策略,通過人工增加訓(xùn)練樣本的數(shù)量和多樣性來避免過度擬合,提高網(wǎng)絡(luò)泛化能力。對于三維點云,由于訓(xùn)練樣本數(shù)量有限,且在3D中有巨大的放大空間,傳統(tǒng)的DA策略[23,24]通常只是在一個小的、固定的預(yù)先定義的放大范圍內(nèi)隨機擾動輸入點云,以保持類標(biāo)簽。
盡管這種傳統(tǒng)的DA方法對現(xiàn)有的分類網(wǎng)絡(luò)有效,但可能導(dǎo)致訓(xùn)練不足,如下所述。首先,現(xiàn)有的深部三維點云處理方法將網(wǎng)絡(luò)訓(xùn)練和數(shù)據(jù)采集視為兩個獨立的階段,沒有聯(lián)合優(yōu)化,例如反饋訓(xùn)練結(jié)果以放大DA。因此,訓(xùn)練后的網(wǎng)絡(luò)可能是次優(yōu)的。其次,現(xiàn)有方法對所有輸入點云樣本應(yīng)用相同的固定放大過程,包括旋轉(zhuǎn)、縮放和/或抖動。在放大過程中忽略了樣本的形狀復(fù)雜度,例如,球體無論如何旋轉(zhuǎn)都保持不變,但復(fù)雜形狀可能需要更大的旋轉(zhuǎn)。因此,傳統(tǒng)的DA對于增加訓(xùn)練樣本可能是多余的或不充分的[6]。
為了改進點云樣本的放大,提出了一種新的三維點云自動放大框架PointAugment,并展示了其放大形狀分類的有效性;見圖1。與以前的二維圖像不同,PointAugment學(xué)習(xí)生成特定于單個樣本的放大函數(shù)。此外,可學(xué)習(xí)的放大函數(shù)同時考慮了形狀變換和點方向位移,這與三維點云樣本的特征有關(guān)。此外,PointAugment通過一種對抗性學(xué)習(xí)策略,將放大網(wǎng)絡(luò)(augmentor)與分類網(wǎng)絡(luò)(Classifier)進行端到端的訓(xùn)練,從而與網(wǎng)絡(luò)訓(xùn)練共同優(yōu)化放大過程。通過將分類損失作為反饋,放大器可以學(xué)習(xí)通過擴大類內(nèi)數(shù)據(jù)變化來豐富輸入樣本,而分類器可以學(xué)習(xí)通過提取不敏感特征來克服這一問題。受益于這種對抗性學(xué)習(xí),放大器可以學(xué)習(xí)生成在不同訓(xùn)練階段最適合分類者的放大樣本,從而最大限度地提高分類者的能力。作為探索3D點云自動放大的第一次嘗試,展示了通過用PointAugment取代傳統(tǒng)的DA,可以在四個具有代表性的網(wǎng)絡(luò)上實現(xiàn)對ModelNet40[38](見圖1)和SHREC16[28](見第5節(jié))數(shù)據(jù)集的形狀分類的明顯改進,包括PointNet[23]、PointNet++[24],RSCNN[18]和DGCNN[37]。此外,還展示了PointAugment在形狀檢索上的有效性,并評估了其魯棒性、損失配置和模塊化設(shè)計。
 
 2.相關(guān)工作
圖像數(shù)據(jù)放大
訓(xùn)練數(shù)據(jù)對深層神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)執(zhí)行任務(wù)起著非常重要的作用。然而,與現(xiàn)實世界的復(fù)雜性相比,訓(xùn)練數(shù)據(jù)的數(shù)量往往是有限的,因此經(jīng)常需要數(shù)據(jù)放大來放大訓(xùn)練集,最大限度地利用訓(xùn)練數(shù)據(jù)學(xué)習(xí)到的知識。一些工作沒有隨機變換訓(xùn)練數(shù)據(jù)樣本[42,41],而是嘗試利用圖像組合[12]、生成對抗網(wǎng)絡(luò)[31,27]、貝葉斯優(yōu)化[35]和潛在空間中的圖像插值[4,16,2]從原始數(shù)據(jù)中生成放大樣本。然而,這些方法可能產(chǎn)生與原始數(shù)據(jù)不同的不可靠樣本。另一方面,一些圖像DA技術(shù)[12,42,41]對具有規(guī)則結(jié)構(gòu)的圖像應(yīng)用像素插值,但是不能處理順序不變的點云。另一種方法的目的是找到一個預(yù)先定義的轉(zhuǎn)換函數(shù)的最佳組合,以增加訓(xùn)練樣本,而不是基于人工設(shè)計或完全隨機性應(yīng)用轉(zhuǎn)換函數(shù)。
AutoAugment[3]提出了一種強化學(xué)習(xí)策略,通過交替訓(xùn)練代理任務(wù)和策略控制器,然后將學(xué)習(xí)到的放大函數(shù)應(yīng)用于輸入數(shù)據(jù),從而找到最佳的放大函數(shù)集。不久之后,另兩項研究,FastAugment[14]和PBA[8]探索了先進的超參數(shù)優(yōu)化方法,以更有效地找到放大的最佳轉(zhuǎn)換。與這些學(xué)習(xí)為所有訓(xùn)練樣本找到固定的放大策略的方法不同,PointAugment是樣本感知的,這意味著在訓(xùn)練過程中根據(jù)單個訓(xùn)練樣本的屬性和網(wǎng)絡(luò)能力動態(tài)生成轉(zhuǎn)換函數(shù)。最近,Tang等人[33]張等[43]建議學(xué)習(xí)使用對抗策略的目標(biāo)任務(wù)的放大策略。傾向于直接最大化增加樣本的損失,以提高圖像分類網(wǎng)絡(luò)的泛化能力。與之不同的是,PointAugment通過一個明確設(shè)計的邊界擴大了放大后的點云與原始點云之間的損失;動態(tài)地調(diào)整了放大樣本的難度,以便放大的樣本能夠更好地滿足不同訓(xùn)練階段的分類要求。
點云數(shù)據(jù)放大
在現(xiàn)有的點處理網(wǎng)絡(luò)中,數(shù)據(jù)放大主要包括圍繞重力軸的隨機旋轉(zhuǎn)、隨機縮放和隨機抖動[23,24]。這些手工制定的規(guī)則在整個訓(xùn)練過程中都是固定的,因此可能無法獲得最佳樣本來有效地訓(xùn)練網(wǎng)絡(luò)。到目前為止,還沒有發(fā)現(xiàn)有任何研究利用三維點云來實現(xiàn)網(wǎng)絡(luò)學(xué)習(xí)最大化的工作。
點云深度學(xué)習(xí)
在PointNet架構(gòu)[23]的基礎(chǔ)上,有幾篇文章[24,17,18]探索了局部結(jié)構(gòu)來放大特征學(xué)習(xí)。另一些人通過創(chuàng)建局部圖[36,37,29,45]或幾何元素[11,22]來探索圖形卷積網(wǎng)絡(luò)。另一個工作流程[32,34,19]將不規(guī)則點投影到規(guī)則空間中,以允許傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)工作。與上述工作不同,目標(biāo)不是設(shè)計一個新的網(wǎng)絡(luò),而是通過有效地優(yōu)化點云樣本的增加來提高現(xiàn)有網(wǎng)絡(luò)的分類性能。為此,設(shè)計了一個放大器來學(xué)習(xí)一個特殊的放大函數(shù),并根據(jù)分類器的學(xué)習(xí)進度調(diào)整放大函數(shù)。
- Overview
 
這項工作的主要貢獻是PointAugment框架,該框架自動優(yōu)化輸入點云樣本的放大,以便更有效地訓(xùn)練分類網(wǎng)絡(luò)。圖2說明了框架的設(shè)計,有兩個深層神經(jīng)網(wǎng)絡(luò)組件:(i)一個放大器A和(ii)一個分類器C。
在闡述PointAugment框架之前,首先討論框架背后的關(guān)鍵思想。這些都是新的想法(在以前的作品[3,14,8]中沒有出現(xiàn)),使能夠有效地增加訓(xùn)練樣本,這些樣本現(xiàn)在是三維點云,而不是二維圖像。
?樣本感知。目標(biāo)是通過考慮樣本的基本幾何結(jié)構(gòu),為每個輸入樣本回歸一個特定的放大函數(shù),而不是為每個輸入數(shù)據(jù)樣本找到一套通用的放大策略或過程。稱之為樣本感知的自動放大。
?2D與3D放大。與二維圖像放大不同,三維放大涉及更廣闊和不同的空間域。應(yīng)該考慮云的兩種變形點(包括點云的變換和點云的變換)的放大(包括點云的變換和點云的變換)。
?聯(lián)合優(yōu)化。在網(wǎng)絡(luò)訓(xùn)練過程中,分類器將逐漸學(xué)習(xí)并變得更加強大,因此需要更具挑戰(zhàn)性的放大樣本,以便更好地訓(xùn)練分類器,因為分類器變得更強。因此,以端到端的方式設(shè)計和訓(xùn)練PointAugment框架,這樣就可以共同優(yōu)化放大器和分類器。為此,必須仔細設(shè)計損失函數(shù),動態(tài)調(diào)整增加樣本的難度,同時考慮輸入樣本和分類器的容量。
- Method
 
在本節(jié)中,首先介紹放大器和分類器的網(wǎng)絡(luò)架構(gòu)細節(jié)。然后,提出了為放大器和分類器制定的損失函數(shù),并介紹了端到端訓(xùn)練策略。最后,給出了實現(xiàn)細節(jié)。
4.1. Network Architecture
放大器。不同于現(xiàn)有的工作[3,14,8],放大器是樣本感知的,學(xué)習(xí)生成一個特定的函數(shù)來放大每個輸入樣本。從現(xiàn)在起,為了便于閱讀,去掉了下標(biāo)i,并將P表示為A的訓(xùn)練樣本輸入,P′表示A的相應(yīng)放大樣本輸出。放大器的總體架構(gòu)如圖3(上圖)所示。
 
 4.2. Augmentor loss
為了使網(wǎng)絡(luò)學(xué)習(xí)最大化,由放大器生成的放大樣本P′應(yīng)滿足兩個要求:(i)P′比P更具挑戰(zhàn)性,即目標(biāo)是L(P′)≥L(P);(ii)P′不應(yīng)失去形狀特異性,這意味著應(yīng)該描述一個與P不太遠(或不同)的形狀。為了達到要求(i),一個簡單的方法來描述放大器(表示為LA)的損失函數(shù)是使P和P′上的交叉熵損失之差最大化,或者等效地最小化。
 
 4.3. Classi?er loss
分類C的目標(biāo)是正確預(yù)測P和P′。另外,無論輸入P或P′,C都應(yīng)該具有學(xué)習(xí)穩(wěn)定的每形狀全局特征的能力。
4.4. End-to-end training strategy
算法1總結(jié)了端到端訓(xùn)練策略。總的來說,在訓(xùn)練過程中,該程序交替地優(yōu)化和更新放大器A和分類器C中的可學(xué)習(xí)參數(shù),同時調(diào)整另一個參數(shù)。
4.5. Implementation details
使用PyTorch[21]實現(xiàn)PointAugment。具體來說,將訓(xùn)練階段的數(shù)量設(shè)為S=250,批量大小為B=24。為了訓(xùn)練放大器,采用了學(xué)習(xí)率為0.001的Adam優(yōu)化器。為了訓(xùn)練分類人員,遵循發(fā)布的代碼和文件中各自的原始配置。具體來說,對于PointNet[23]、PointNet++[24]和RSCNN[18],使用的Adam優(yōu)化器的初始學(xué)習(xí)率為0.001,該值逐漸降低,每20個時期衰減率為0.5。
對于DGCNN[37],使用動量為0.9、基本學(xué)習(xí)率為0.1的SGD解算器,該解算器使用余弦退火策略衰減[9]。還需要注意的是,為了減少模型振蕩[5],遵循[31]使用混合訓(xùn)練樣本來訓(xùn)練點放大,混合訓(xùn)練樣本包含一半原始訓(xùn)練樣本,另一半包含先前放大的樣本,而不是只使用原始訓(xùn)練樣本。詳見[31]。此外,為了避免過度擬合,設(shè)置了0.5的脫落概率來隨機丟棄或保持回歸的形狀方向變換和點方向位移。在測試階段,遵循之前的網(wǎng)絡(luò)[23,24],將輸入的測試樣本輸入到經(jīng)過訓(xùn)練的分類器,以獲得預(yù)測的標(biāo)簽,而不需要任何額外的計算成本。
 
 5. Experiments
在點放大上做了大量的實驗。首先,介紹了實驗中使用的基準(zhǔn)數(shù)據(jù)集和分類器。然后,在形狀分類和形狀檢索方面評估PointAugment。接下來,將對PointAugment的健壯性、損耗配置和模塊化設(shè)計進行詳細分析。最后,提出進一步的討論和未來可能的擴展。
 
 
 
總結(jié)
以上是生活随笔為你收集整理的CVPR2020:点云分类的自动放大框架PointAugment的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 推荐系统的个性化排名
 - 下一篇: 个性化排序的神经协同过滤