EC-Net: a Edge-aware Point set Consolidation Network
Brief Introduction
關(guān)于EC-Net 網(wǎng)絡(luò)的實(shí)現(xiàn),以及相關(guān)技術(shù),解決的問題,以及為解決的問題
論文鏈接:Lequan Yu EC-Net: an Edge-aware ECCV 2018 paper
視頻鏈接:GAMES Webinar 120期李賢芝(關(guān)于PU-Net,EC-Net 和 PU-GAN)
Detail
這個(gè)EC-Net是在基礎(chǔ)上提出來的改進(jìn)網(wǎng)絡(luò),目的是為了解決PU-Net在規(guī)則物體點(diǎn)云上采樣上無法檢測(cè)邊緣,導(dǎo)致物體棱角不平滑,呈現(xiàn)出不規(guī)則起伏的缺點(diǎn)。因此,李賢芝她們?cè)谶@個(gè)網(wǎng)絡(luò)的基礎(chǔ)上,加上了一些額外的部分,并且在訓(xùn)練數(shù)據(jù)上進(jìn)行了改進(jìn),使得網(wǎng)絡(luò)不僅具有上采樣的能力,還可以在這個(gè)過程中將規(guī)則物體表面上缺失的邊緣點(diǎn)進(jìn)行補(bǔ)充,使得在三維重建的時(shí)候可以得到更好的邊緣效果,以及更好的表面。
Point Consolidation 是一個(gè)對(duì)于增強(qiáng)3D重建最終輸出的質(zhì)量來說非常重要的一個(gè)過程,可以提高點(diǎn)云表面點(diǎn)集包含的信息量,也就是說,通過point conoslidation我們可以得到一個(gè)更加rich的表面,這樣有助于我們生成一個(gè)具有更多sharp features的重建結(jié)果。
EC-Net是在PU-Net的基礎(chǔ)上進(jìn)行的改進(jìn),在網(wǎng)絡(luò)設(shè)計(jì)上類似,但在特征提取方面都是采用和PU-Net相同的方式來進(jìn)行提取的,不同的地方在于:
- 訓(xùn)練數(shù)據(jù)的準(zhǔn)備(Training Data Preparation)
- 點(diǎn)的擬合方法(Point Regression)
- 損失函數(shù)的設(shè)計(jì)
網(wǎng)絡(luò)的架構(gòu)如下:
Figure.1 EC-Net 網(wǎng)絡(luò)架構(gòu)圖
Training Data Preparation
使用Virtual Scan來產(chǎn)生訓(xùn)練數(shù)據(jù),可以產(chǎn)生類似real scan的線狀的點(diǎn)云效果,這是使用隨機(jī)降采樣的方式來得到訓(xùn)練數(shù)據(jù)所不能做到的,可以更加貼合實(shí)際應(yīng)用的upsampling,如下圖是論文給出的一個(gè)Virtual Scan 產(chǎn)生的一個(gè)瓶子,可以明顯地看到線狀的點(diǎn)的分布:
Figure.2 Virtual Scan 方法得到的礦泉水瓶
具體的方法是:
- 采用多個(gè)攝像機(jī),來得到point cloud的depth map
- 然后在depth map上面加噪音
- back projection 回原來的 point cloud
最終得到論文所使用的訓(xùn)練數(shù)據(jù)集
Point Regression
EC-Net 采用了不同于PU-Net的點(diǎn)的擬合方式,不是直接將得到的feature去到全連接層中來擬合出上采樣之后得到的點(diǎn)的坐標(biāo),而是通過這些特征來得到相對(duì)于原來點(diǎn)云位置的擾動(dòng),論文中稱為residual coordinate,然后將得到的擾動(dòng)加到原來的坐標(biāo)(復(fù)制了r份,因?yàn)槭巧喜蓸觼淼玫降?#xff09;。作者提到,比其直接擬合出點(diǎn)的坐標(biāo)來說,擬合出相對(duì)于原來位置的擾動(dòng)更加簡(jiǎn)單。
Loss Function Design
損失函數(shù)的設(shè)計(jì)上,保留了原來的reconstruction loss,在這里稱為 surface loss,即保持了對(duì)點(diǎn)的約束,使得最后擬合出來的坐標(biāo)保持在原來的表面上;另外一個(gè)是repulsion loss,懲罰那些堆積在一起的點(diǎn),保證上采樣得到的點(diǎn)云盡可能的均勻。
此外,為了實(shí)現(xiàn)edge-aware的效果,EC-Net增加了幾個(gè)和邊緣檢測(cè)相關(guān)的損失函數(shù):
- edge distance regression loss
- edge loss
作者在視頻中在回答提問的時(shí)候有講到,Edge-aware 的目的事實(shí)上就是為了解決一些點(diǎn)云數(shù)據(jù)中邊緣相關(guān)的點(diǎn)距離邊緣距離過大,導(dǎo)致三維重建的結(jié)果缺乏一些sharp feature,也就是一些邊緣相關(guān)的特征這樣的問題,因此設(shè)計(jì)損失函數(shù)的目標(biāo)就是希望將這些表面中分布原理邊緣的點(diǎn)push到邊緣上,來擬合出邊緣相關(guān)的點(diǎn),使得重建后的結(jié)果具備一些sharp feature,這就是上面兩個(gè)損失函數(shù)所要做的工作。
下面是兩個(gè)損失函數(shù)具體的方程,第一個(gè)是 edge distance regression loss:
Lregr=1N~∑1≤i≤N~[Γb(dE2(xi,E))?Γb(di)]L_{regr}=\frac{1}{\tilde N}\sum_{1\le i \le\tilde N}\left[ \varGamma_(d_{E}^{2}(x_{i}, E))-\varGamma_(d_{i})\right] Lregr?=N~1?1≤i≤N~∑?[Γb?(dE2?(xi?,E))?Γb?(di?)]
其中,Γb(x)=max?(0,min(x,b))\varGamma_(x)=\max(0,min(x,b))Γb?(x)=max(0,min(x,b)),這個(gè)損失將會(huì)引導(dǎo)網(wǎng)絡(luò)來得到surface上面的點(diǎn)到邊緣的距離,判斷這個(gè)距離是否小于設(shè)定好的閾值,如果小于閾值的話,則認(rèn)為這個(gè)點(diǎn)是屬于邊緣的點(diǎn),然后再通過下面這個(gè) edge loss 損失函數(shù),來鼓勵(lì)這些點(diǎn)向邊緣位置靠近:
Ledge=1N~edge∑1≤i≤N~edgedE2(xi,E)L_{edge}=\frac{1}{\tilde N_{edge}}\sum_{1\le i\le \tilde N_{edge}}d^{2}_{E}(x_{i},E) Ledge?=N~edge?1?1≤i≤N~edge?∑?dE2?(xi?,E)
其中,N~edge\tilde N_{edge}N~edge? 是邊緣上的點(diǎn)的個(gè)數(shù)。
Result
Figure.3 論文中給出的上采樣結(jié)果
(當(dāng)然,這些都是較好的結(jié)果,事實(shí)上在一些數(shù)據(jù)上會(huì)有一些
Contribution
第一個(gè)利用 deep net 實(shí)現(xiàn)具有 edge-aware 的點(diǎn)云上采樣的方法
Consideration
這些閾值以及邊緣事實(shí)上都是事先在點(diǎn)云上面手工標(biāo)注好的,因此在訓(xùn)練的時(shí)候事實(shí)上還是采用PU-Net 中按patch 的方法來進(jìn)行訓(xùn)練的。而這也是這兩個(gè)網(wǎng)絡(luò)所存在的缺點(diǎn),這兩個(gè)網(wǎng)絡(luò)面對(duì)較為大型的點(diǎn)云數(shù)據(jù)來說是無能為力的,一方面需要手工標(biāo)注的數(shù)據(jù)過大,另外一方面,與此同時(shí)的訓(xùn)練時(shí)間也過長,因此這兩個(gè)網(wǎng)絡(luò)都不適合應(yīng)用于大型的點(diǎn)云數(shù)據(jù)的上采樣。這是講者點(diǎn)出的問題。
總結(jié)
以上是生活随笔為你收集整理的EC-Net: a Edge-aware Point set Consolidation Network的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【安全知识分享】ISO9001质量管理体
- 下一篇: linux加密认证全面分析