基于非平衡態(tài)熱力學(xué)的全新三維點(diǎn)云生成模型,北大這項研究提名CVPR 2021最佳論文
本文介紹了北京大學(xué)王選計算機研究所胡瑋老師課題組本科生羅世通的工作,這篇論文提出了基于非平衡態(tài)熱力學(xué)的全新三維點(diǎn)云生成模型,并獲得 CVPR2021 的最佳論文提名。
論文鏈接: https://arxiv.org/abs/2103.01458
代碼地址: https://github.com/luost26/diffusion-point-cloud
課題組主頁(yè):https://www.wict.pku.edu.cn/huwei/
早期的三維點(diǎn)云生成模型將點(diǎn)云簡(jiǎn)單地視為一個(gè) N*3 維的高維向量,其中 N 代表點(diǎn)云中點(diǎn)的數量。點(diǎn)云生成問(wèn)題被轉化為了一個(gè) N*3 維向量的生成問(wèn)題。這使得許多常用的生成模型能夠直接應用到點(diǎn)云生成中。雖然這類(lèi)方法成功實(shí)現了點(diǎn)云的生成,但是它們存在兩大缺陷:首先,由于訓練好的生成模型只能生成固定維數的向量,因此這些模型生成的點(diǎn)云點(diǎn)數也只能是固定的;其次,由于這些模型將 N 個(gè)點(diǎn)的三維坐標以固定的順序排列在一起構成一個(gè) N*3 維向量,點(diǎn)與點(diǎn)之間無(wú)形之中被賦予了先后次序,排序不變性這一三維點(diǎn)云的重要性質(zhì)被破壞了。由于點(diǎn)與點(diǎn)之間被賦予了順序,神經(jīng)網(wǎng)絡(luò )不得不去學(xué)習如何泛化到不同的排序上,最終影響了模型的生成效果。
為了解決上述問(wèn)題,研究者們分別獨立提出了 FoldingNet 和 AtlasNet。它們將點(diǎn)云表示為一個(gè)從二維矩形區域到三維空間的映射,并且用神經(jīng)網(wǎng)絡(luò )來(lái)實(shí)現這一映射。直覺(jué)上來(lái)看,這個(gè)映射就是把一張二維的 “紙片” 折成立體的結構,這也正是 FoldingNet 名字的含義。盡管這類(lèi)方法實(shí)現了任意點(diǎn)數的點(diǎn)云生成以及滿(mǎn)足了點(diǎn)云的排序不變性質(zhì),它們仍然具有一些缺陷: 首先,這些模型的損失函數采用了 Chamfer 距離或者 Earth Mover 距離。計算這兩種距離需要引入兩個(gè)點(diǎn)云之間點(diǎn)與點(diǎn)的對應關(guān)系,但是這種對應關(guān)系并不是天然存在的,只能人為構造,所以這兩種距離并不能最真實(shí)地反映兩個(gè)點(diǎn)云之間的差距。另一方面,從實(shí)踐上看,以 Chamfer 距離(CD)作為損失函數訓練出來(lái)的生成模型,其生成的點(diǎn)云密度常常不均勻。對于 Earth Mover 距離(EMD),由于計算這一距離所需要的一一對應關(guān)系只能通過(guò)近似的方式找到,所以常常會(huì )有較大的誤差,導致訓練效果受到影響。
近期比較新穎的一種觀(guān)點(diǎn)是將三維點(diǎn)云視為來(lái)自于某個(gè)三維概率分布的一組樣本,這一觀(guān)點(diǎn)啟發(fā)了另一條研究思路:使用非參數估計工具去擬合點(diǎn)云的三維概率分布。PointFlow 使用連續歸一化流擬合三維分布,連續歸一化流最大的缺陷在于速度很慢,因為其前向傳播和反向傳播都需要對一個(gè)連續函數進(jìn)行數值積分,運行一次數值算法方法往往需要對神經(jīng)網(wǎng)絡(luò )進(jìn)行幾十甚至上百次求值。
本文提出了一種全新的三維點(diǎn)云生成模型。受到非平衡態(tài)熱力學(xué)中的「擴散過(guò)程」概念啟發(fā),這項研究將具備一定形態(tài)的點(diǎn)云視為熱力學(xué)系統中的粒子。具備一定形態(tài)的點(diǎn)云中的點(diǎn)隨著(zhù)時(shí)間的推移,會(huì )在空間中擴散開(kāi)來(lái),點(diǎn)的分布從集中有序走向分散無(wú)序。為了生成點(diǎn)云,本文考慮建模擴散過(guò)程的逆過(guò)程——將分散無(wú)序的點(diǎn)集逐步恢復為具有一定形態(tài)的點(diǎn)云,點(diǎn)的分布從分散走向集中。為了實(shí)現這一逆擴散過(guò)程,本文者提出了一種基于有限長(cháng)度馬爾可夫鏈的模型。只要該馬爾可夫鏈經(jīng)過(guò)恰當的訓練,初始位置服從高斯分布的點(diǎn)集在該馬爾可夫鏈的引導下進(jìn)行隨機游走,最終會(huì )集中于有意義的位置,構成有意義的形狀。研究者構造了上述馬爾可夫鏈模型的一種具體實(shí)現,并且導出了訓練該模型的優(yōu)化目標函數,最終通過(guò)實(shí)驗展現了上述方法在三維點(diǎn)云自編碼、生成以及無(wú)監督表示學(xué)習等基礎任務(wù)上的優(yōu)越性能。
相比之下,本文提出的方法具有較大的優(yōu)勢。首先,本文提出的方法支持生成任意點(diǎn)數的點(diǎn)云,且確保了點(diǎn)之間的排序不變性。和基于 GAN 的方法相比,本方法只需要對馬爾可夫鏈的轉移核進(jìn)行訓練,訓練損失函數形式非常簡(jiǎn)單,而 GAN 需要同時(shí)對生成器、判別器兩部分進(jìn)行訓練,且損失函數形式復雜,不穩定。和基于連續歸一化流以及能量模型的方法相比,本方法速度快,且模型表達能力更強,因為本方法對網(wǎng)絡(luò )結構沒(méi)有任何限制,而歸一化流要求網(wǎng)絡(luò )可逆,限制了表達能力。
具體來(lái)說(shuō),這項研究的貢獻主要有:
提出了一種基于非平衡態(tài)熱力學(xué)擴散過(guò)程的三維點(diǎn)云生成模型。
給出了該模型的一種具體實(shí)現方案,該方案包含用于實(shí)現該模型的神經(jīng)網(wǎng)絡(luò )結構、基于變分推斷的訓練損失函數、高效的訓練算法、采樣算法四部分。
通過(guò)實(shí)驗表明了該模型在點(diǎn)云生成、自編碼、無(wú)監督表示學(xué)習上取得了優(yōu)越的性能。
方法
我們借助逆擴散過(guò)程建模三維點(diǎn)云。如上圖所示,我們使用馬爾可夫鏈建模點(diǎn)云的逆擴散過(guò)程,并且使用神經(jīng)網(wǎng)絡(luò )參數化馬爾可夫鏈的轉移核。轉移核是一個(gè)條件概率分布,它根據點(diǎn)當前的位置決定下一步所在位置的分布。為了使模型能夠生成不同形狀的點(diǎn)云,我們額外引入一個(gè)形狀隱變量 z,在具體實(shí)現上,我們使用歸一化流參數化 z 的先驗分布,增強模型的表達能力。
根據概率圖可知,由于存在隱變量,我們無(wú)法直接使用最大似然估計訓練模型,因此,我們轉而通過(guò)最大化似然函數的證據誤差下界(ELBO)來(lái)訓練模型。
生成點(diǎn)云主要包括三個(gè)步驟:(1)首先從形狀隱變量的先驗分布中采樣一個(gè)形狀變量 z;(2)然后在三維標準高斯分布中采樣一個(gè)點(diǎn)集 X^(T);(3)最后在以 z 為條件,在馬爾可夫鏈迭代采樣,直到得到 X^(0),即生成的點(diǎn)云。
實(shí)驗結果
本文提出的模型在三個(gè)基準任務(wù)上達到了優(yōu)越的性能:(1)點(diǎn)云生成;(2)點(diǎn)云自編碼;(3)無(wú)監督表示學(xué)習。
下圖展示了部分生成的點(diǎn)云以及不同點(diǎn)云生成模型之間的定量比較:
下圖展示了不同點(diǎn)云自編碼器重建的點(diǎn)云以及不同模型點(diǎn)云自編碼性能的定量比較:
下圖展示了自編碼器隱空間插值結果:
下圖為自編碼器對不同形狀的編碼的 tSNE 可視化,可以看出,不同類(lèi)別的點(diǎn)云編碼區別清晰。我們進(jìn)一步使用線(xiàn)性 SVM 對編碼進(jìn)行分類(lèi),我們的模型在更大規模的 ModelNet40 數據集上準確率顯著(zhù)高于其它方法:
參考文獻
Panos Achlioptas, Olga Diamanti, Ioannis Mitliagkas, and Leonidas Guibas. Learning representations and generative models for 3d point clouds. In International conference on machine learning, pages 40–49. PMLR, 2018.
Ruojin Cai, Guandao Yang, Hadar Averbuch-Elor, Zekun Hao, Serge Belongie, Noah Snavely, and Bharath Hariharan. Learning gradient fields for shape generation. arXiv preprint arXiv:2008.06520, 2020.
Jonathan Ho, Ajay Jain, and Pieter Abbeel. Denoising diffusion probabilistic models. arXiv preprint arXiv:2006.11239, 2020.
GuandaoYang,XunHuang,ZekunHao,Ming-YuLiu,Serge Belongie, and Bharath Hariharan. Pointflow: 3d point cloud generation with continuous normalizing flows. In Proceedings of the IEEE International Conference on Computer Vision, pages 4541–4550, 2019.
Diederik P Kingma and Max Welling. Auto-encoding variational bayes. arXiv preprint arXiv:1312.6114, 2013.
Yaoqing Yang, Chen Feng, Yiru Shen, and Dong Tian. Foldingnet: Point cloud auto-encoder via deep grid deformation. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 206–215, 2018.
*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。