基于非平衡態熱力學的全新三維點云生成模型,北大這項研究提名CVPR 2021最佳論文
本文介紹了北京大學王選計算機研究所胡瑋老師課題組本科生羅世通的工作,這篇論文提出了基于非平衡態熱力學的全新三維點云生成模型,并獲得 CVPR2021 的最佳論文提名。
論文鏈接: https://arxiv.org/abs/2103.01458
代碼地址: https://github.com/luost26/diffusion-point-cloud
課題組主頁:https://www.wict.pku.edu.cn/huwei/
早期的三維點云生成模型將點云簡單地視為一個 N*3 維的高維向量,其中 N 代表點云中點的數量。點云生成問題被轉化為了一個 N*3 維向量的生成問題。這使得許多常用的生成模型能夠直接應用到點云生成中。雖然這類方法成功實現了點云的生成,但是它們存在兩大缺陷:首先,由于訓練好的生成模型只能生成固定維數的向量,因此這些模型生成的點云點數也只能是固定的;其次,由于這些模型將 N 個點的三維坐標以固定的順序排列在一起構成一個 N*3 維向量,點與點之間無形之中被賦予了先后次序,排序不變性這一三維點云的重要性質被破壞了。由于點與點之間被賦予了順序,神經網絡不得不去學習如何泛化到不同的排序上,最終影響了模型的生成效果。
為了解決上述問題,研究者們分別獨立提出了 FoldingNet 和 AtlasNet。它們將點云表示為一個從二維矩形區域到三維空間的映射,并且用神經網絡來實現這一映射。直覺上來看,這個映射就是把一張二維的 “紙片” 折成立體的結構,這也正是 FoldingNet 名字的含義。盡管這類方法實現了任意點數的點云生成以及滿足了點云的排序不變性質,它們仍然具有一些缺陷: 首先,這些模型的損失函數采用了 Chamfer 距離或者 Earth Mover 距離。計算這兩種距離需要引入兩個點云之間點與點的對應關系,但是這種對應關系并不是天然存在的,只能人為構造,所以這兩種距離并不能最真實地反映兩個點云之間的差距。另一方面,從實踐上看,以 Chamfer 距離(CD)作為損失函數訓練出來的生成模型,其生成的點云密度常常不均勻。對于 Earth Mover 距離(EMD),由于計算這一距離所需要的一一對應關系只能通過近似的方式找到,所以常常會有較大的誤差,導致訓練效果受到影響。
近期比較新穎的一種觀點是將三維點云視為來自于某個三維概率分布的一組樣本,這一觀點啟發了另一條研究思路:使用非參數估計工具去擬合點云的三維概率分布。PointFlow 使用連續歸一化流擬合三維分布,連續歸一化流最大的缺陷在于速度很慢,因為其前向傳播和反向傳播都需要對一個連續函數進行數值積分,運行一次數值算法方法往往需要對神經網絡進行幾十甚至上百次求值。
本文提出了一種全新的三維點云生成模型。受到非平衡態熱力學中的「擴散過程」概念啟發,這項研究將具備一定形態的點云視為熱力學系統中的粒子。具備一定形態的點云中的點隨著時間的推移,會在空間中擴散開來,點的分布從集中有序走向分散無序。為了生成點云,本文考慮建模擴散過程的逆過程——將分散無序的點集逐步恢復為具有一定形態的點云,點的分布從分散走向集中。為了實現這一逆擴散過程,本文者提出了一種基于有限長度馬爾可夫鏈的模型。只要該馬爾可夫鏈經過恰當的訓練,初始位置服從高斯分布的點集在該馬爾可夫鏈的引導下進行隨機游走,最終會集中于有意義的位置,構成有意義的形狀。研究者構造了上述馬爾可夫鏈模型的一種具體實現,并且導出了訓練該模型的優化目標函數,最終通過實驗展現了上述方法在三維點云自編碼、生成以及無監督表示學習等基礎任務上的優越性能。
相比之下,本文提出的方法具有較大的優勢。首先,本文提出的方法支持生成任意點數的點云,且確保了點之間的排序不變性。和基于 GAN 的方法相比,本方法只需要對馬爾可夫鏈的轉移核進行訓練,訓練損失函數形式非常簡單,而 GAN 需要同時對生成器、判別器兩部分進行訓練,且損失函數形式復雜,不穩定。和基于連續歸一化流以及能量模型的方法相比,本方法速度快,且模型表達能力更強,因為本方法對網絡結構沒有任何限制,而歸一化流要求網絡可逆,限制了表達能力。
具體來說,這項研究的貢獻主要有:
提出了一種基于非平衡態熱力學擴散過程的三維點云生成模型。
給出了該模型的一種具體實現方案,該方案包含用于實現該模型的神經網絡結構、基于變分推斷的訓練損失函數、高效的訓練算法、采樣算法四部分。
通過實驗表明了該模型在點云生成、自編碼、無監督表示學習上取得了優越的性能。
方法
我們借助逆擴散過程建模三維點云。如上圖所示,我們使用馬爾可夫鏈建模點云的逆擴散過程,并且使用神經網絡參數化馬爾可夫鏈的轉移核。轉移核是一個條件概率分布,它根據點當前的位置決定下一步所在位置的分布。為了使模型能夠生成不同形狀的點云,我們額外引入一個形狀隱變量 z,在具體實現上,我們使用歸一化流參數化 z 的先驗分布,增強模型的表達能力。
根據概率圖可知,由于存在隱變量,我們無法直接使用最大似然估計訓練模型,因此,我們轉而通過最大化似然函數的證據誤差下界(ELBO)來訓練模型。
生成點云主要包括三個步驟:(1)首先從形狀隱變量的先驗分布中采樣一個形狀變量 z;(2)然后在三維標準高斯分布中采樣一個點集 X^(T);(3)最后在以 z 為條件,在馬爾可夫鏈迭代采樣,直到得到 X^(0),即生成的點云。
實驗結果
本文提出的模型在三個基準任務上達到了優越的性能:(1)點云生成;(2)點云自編碼;(3)無監督表示學習。
下圖展示了部分生成的點云以及不同點云生成模型之間的定量比較:
下圖展示了不同點云自編碼器重建的點云以及不同模型點云自編碼性能的定量比較:
下圖展示了自編碼器隱空間插值結果:
下圖為自編碼器對不同形狀的編碼的 tSNE 可視化,可以看出,不同類別的點云編碼區別清晰。我們進一步使用線性 SVM 對編碼進行分類,我們的模型在更大規模的 ModelNet40 數據集上準確率顯著高于其它方法:
參考文獻
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.
*博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。