黃 煒 ,朱映韜 ,陳冬杰 ,王寶土 *,陳 建 ,
(1.福州大學(xué) 先進(jìn)制造學(xué)院,福建 泉州 362200;2.福州大學(xué) 物理與信息工程學(xué)院,福建 福州 350108)
點(diǎn)云是三維空間中的點(diǎn)集,不僅能夠表達(dá)物體與場(chǎng)景的幾何信息,還包含了顏色或反射率等屬性信息,比起傳統(tǒng)的二維圖像、視頻,可以更逼真地展現(xiàn)三維世界,被廣泛應(yīng)用于沉浸式視頻媒體、自由視點(diǎn)電視、移動(dòng)機(jī)器人以及自動(dòng)駕駛等智能領(lǐng)域。然而,點(diǎn)云龐大的數(shù)據(jù)量是限制其相關(guān)應(yīng)用發(fā)展的一大瓶頸。因此,高效的點(diǎn)云壓縮算法已成為新興智能領(lǐng)域的研究熱點(diǎn)之一。
近幾年,動(dòng)態(tài)圖像專家組(Moving Picture Experts Group,MPEG)正積極推進(jìn)著點(diǎn)云壓縮的標(biāo)準(zhǔn)化進(jìn)程。現(xiàn)有的點(diǎn)云壓縮標(biāo)準(zhǔn)主要有基于視頻的點(diǎn)云壓縮(Video-based Point Cloud Compression,V-PCC)和基于幾何的點(diǎn)云壓縮(Geometry-based Point Cloud Compression,G-PCC),前者主要針對(duì)二類動(dòng)態(tài)點(diǎn)云,后者則應(yīng)用于一類靜態(tài)點(diǎn)云和三類激光雷達(dá)點(diǎn)云。本文討論的重點(diǎn)為一、二類密集點(diǎn)云的幾何壓縮方案。除了以V-PCC和G-PCC為代表的經(jīng)典壓縮算法,深度學(xué)習(xí)近年來(lái)也被成功應(yīng)用于點(diǎn)云數(shù)據(jù)。基于學(xué)習(xí)的點(diǎn)云壓縮方法傾向于采用自編碼器網(wǎng)絡(luò)[1-7],從自重建中學(xué)習(xí)點(diǎn)云幾何特征。然而,自編碼器網(wǎng)絡(luò)雖然能從自重建中學(xué)習(xí)全局幾何特征,但其降維過(guò)程會(huì)丟失一部分高維豐富的局部特征,簡(jiǎn)單的重復(fù)降維與升維并不能實(shí)現(xiàn)較好的局部特征學(xué)習(xí)。此外,點(diǎn)云的龐大計(jì)算開(kāi)銷限制了網(wǎng)絡(luò)設(shè)計(jì)時(shí)卷積層的深度與寬度,從而限制了壓縮性能。針對(duì)這些問(wèn)題,本文提出了基于稀疏卷積的非對(duì)稱特征聚合點(diǎn)云壓縮算法。
在自編碼器相關(guān)的點(diǎn)云壓縮工作中,主流方法可分為基于點(diǎn)集的方法或基于體素的方法。基于點(diǎn)集的處理直接從三維點(diǎn)云數(shù)據(jù)中提取特征,而基于體素的方法使點(diǎn)云變得有序化和結(jié)構(gòu)化,進(jìn)而可對(duì)體素進(jìn)行三維卷積特征提取,在當(dāng)下能夠?qū)崿F(xiàn)更高的重建精度。GUARDA等人最早將點(diǎn)云體素化并分塊進(jìn)行特征學(xué)習(xí)與壓縮[1],該團(tuán)隊(duì)后續(xù)在此基礎(chǔ)上進(jìn)一步研究了顯隱式量化結(jié)合[2],在解碼端進(jìn)行由粗到細(xì)的多分辨率重建[3]。MILANI等人[4]則將自編碼器網(wǎng)絡(luò)與對(duì)抗網(wǎng)絡(luò)的理念結(jié)合,實(shí)現(xiàn)更高精度的解碼。然而在上述工作[1-4]中,解碼端均通過(guò)固定閾值二分類判決重建點(diǎn)云的體素占用情況,對(duì)重建點(diǎn)云的準(zhǔn)確度存在一定的影響。為解決這一問(wèn)題,QUACH等人提出的GeoCNN[5]通過(guò)最小化輸入點(diǎn)云與重構(gòu)點(diǎn)云間的失真計(jì)算得到動(dòng)態(tài)閾值,優(yōu)化重建點(diǎn)云的準(zhǔn)確度。FRANK等人[6]在Quach等人的基礎(chǔ)上進(jìn)一步研究通道熵建模,優(yōu)化變分自編碼器網(wǎng)絡(luò)性能。WANG等人提出的Learned-PCGC[7]則通過(guò)匹配原始點(diǎn)云的點(diǎn)數(shù)提出另一種自適應(yīng)閾值,進(jìn)而優(yōu)化率失真性能。
本節(jié)對(duì)所提出的非對(duì)稱特征聚合編解碼網(wǎng)絡(luò)進(jìn)行闡述,并說(shuō)明逐通道稀疏殘差卷積的結(jié)構(gòu)。
為解決現(xiàn)有自編碼器網(wǎng)絡(luò)不能有效學(xué)習(xí)局部幾何特征的問(wèn)題,本文設(shè)計(jì)了非對(duì)稱特征聚合編解碼網(wǎng)絡(luò)。如圖1(a)所示,在所設(shè)計(jì)的編碼網(wǎng)絡(luò)內(nèi)部,稀疏卷積層與ReLU函數(shù)用于特征粗提取與通道、維度變換,通過(guò)卷積核尺寸為2×2×2,步長(zhǎng)為2的稀疏卷積實(shí)現(xiàn)降維。鑒于自編碼器相關(guān)的大量工作[1-7]已驗(yàn)證過(guò),當(dāng)自編碼器網(wǎng)絡(luò)的升降維次數(shù)為3時(shí),可在保證良好的率失真性能的同時(shí)具有適中的復(fù)雜度與計(jì)算開(kāi)銷。在如圖1(b)所示的解碼網(wǎng)絡(luò)中,使用卷積核尺寸為2×2×2,步長(zhǎng)為2的轉(zhuǎn)置稀疏卷積實(shí)現(xiàn)升維,同時(shí)為了避免柵格效應(yīng),在轉(zhuǎn)置稀疏卷積后銜接一次稀疏卷積。藍(lán)色虛線框所示的特征精提取結(jié)構(gòu)則通過(guò)本文設(shè)計(jì)的逐通道稀疏殘差卷積進(jìn)行高效的特征學(xué)習(xí);綠色虛線框所示的多尺度特征聚合支路將高分辨率特征降維匹配維度后級(jí)聯(lián)傳遞至深層,保證進(jìn)行良好的全局特征學(xué)習(xí)的同時(shí),實(shí)現(xiàn)更好的局部幾何特征提取;二分類判決層用于判斷體素是否被占用,以確定非空體素集,迭代3次最終輸出重建點(diǎn)云。可以注意到,應(yīng)用自編碼器的工作中[1-7],編解碼網(wǎng)絡(luò)的結(jié)構(gòu)設(shè)計(jì)通常是對(duì)稱的。本文在解碼網(wǎng)絡(luò)中并沒(méi)有對(duì)稱地設(shè)計(jì)特征融合支路,這是因?yàn)椋舯3肿跃幋a器網(wǎng)絡(luò)的對(duì)稱結(jié)構(gòu)而在解碼網(wǎng)絡(luò)中設(shè)計(jì)支路傳遞特征,則理論上需要隨著自重建而不斷升維匹配特征維度,然而點(diǎn)云數(shù)據(jù)的計(jì)算開(kāi)銷極其龐大,解碼支路不斷升維會(huì)導(dǎo)致模型的復(fù)雜度過(guò)高,進(jìn)而造成嚴(yán)重的過(guò)擬合。

圖1 非對(duì)稱特征聚合編解碼網(wǎng)絡(luò)模型
為實(shí)現(xiàn)更高效的特征精提取,受深度可分離卷積[8]啟發(fā),本文將稀疏卷積、瓶頸層、逐通道卷積和殘差鏈接有機(jī)結(jié)合,設(shè)計(jì)了逐通道稀疏殘差卷積。如圖2所示,經(jīng)稀疏卷積層粗提取的特征以V通道特征的形式輸入到逐通道稀疏殘差卷積,對(duì)經(jīng)由卷積核尺寸為1×1×1且輸出通道數(shù)為1的瓶頸層生成的跨通道特征逐通道進(jìn)行稀疏卷積,每一個(gè)通道對(duì)應(yīng)不同的權(quán)重矩陣,分別學(xué)習(xí)每一個(gè)通道的特征。由于點(diǎn)云極其龐大的數(shù)據(jù)特性,若不對(duì)深度可分離卷積做改進(jìn)就直接應(yīng)用于點(diǎn)云數(shù)據(jù),深度可分離卷積本身的結(jié)構(gòu)將造成巨大的計(jì)算復(fù)雜度,而在稀疏卷積神經(jīng)網(wǎng)絡(luò)[9]中,稀疏張量被定義為由三維空間坐標(biāo)矩陣和特征向量矩陣組成的數(shù)據(jù)結(jié)構(gòu),通過(guò)索引坐標(biāo)實(shí)現(xiàn)僅在非空的體素上執(zhí)行卷積運(yùn)算,將稀疏卷積引入深度可分離卷積可以明顯提升計(jì)算效率。而相比直接輸入同樣卷積核尺寸的稀疏卷積層,逐通道稀疏殘差卷積通過(guò)引入瓶頸層與逐通道卷積,并通過(guò)殘差鏈接復(fù)用相鄰模塊的特征輸入,捕捉網(wǎng)絡(luò)中更長(zhǎng)的依賴關(guān)系,在優(yōu)化網(wǎng)絡(luò)計(jì)算復(fù)雜度的同時(shí)也能提升整體的特征學(xué)習(xí)效果。此外,由于模塊內(nèi)部的每個(gè)稀疏卷積層的輸入和輸出均為1通道特征,激活函數(shù)可能導(dǎo)致較為明顯的信息損失,因此在模塊內(nèi)部均不使用激活函數(shù)。

圖2 逐通道稀疏殘差卷積
在訓(xùn)練過(guò)程中,本文的網(wǎng)絡(luò)模型應(yīng)用率失真優(yōu)化模型作為損失函數(shù),定義為

式中:λ為拉格朗日乘子,用于約束率失真性能的權(quán)衡,R即編碼端輸出碼流的大小,D表示輸入點(diǎn)云與重建點(diǎn)云之間的二元交叉熵。

由于解碼端重建點(diǎn)云的過(guò)程可近似為二分類任務(wù),升維后通過(guò)1或0來(lái)標(biāo)識(shí)重建點(diǎn)云的體素是否非空,因此二元交叉熵可用于衡量編碼輸入與解碼重建的失真,αn為輸入點(diǎn)云中第n個(gè)體素占用與否的情況,αn的值為1時(shí)表示體素被占用,αn的值為0時(shí)表示空體素,pn為重建點(diǎn)云預(yù)測(cè)第n個(gè)體素非空的概率,由Sigmoid函數(shù)映射得到。
為了保證公平對(duì)比,本文的訓(xùn)練集采用Shape Net[10]數(shù)據(jù)集,共有24 641幀大小不等的點(diǎn)云,訓(xùn)練時(shí)隨機(jī)抽取10%的點(diǎn)云作為驗(yàn)證集。本文的網(wǎng)絡(luò)模型實(shí)現(xiàn)平臺(tái)為Pytorch,采用Adam算法作為優(yōu)化器,初始學(xué)習(xí)率設(shè)置為0.001,隨著訓(xùn)練進(jìn)程衰減至0.000 01,Batchsize設(shè)置為4,每個(gè)目標(biāo)碼率的模型統(tǒng)一訓(xùn)練100輪,訓(xùn)練與測(cè)試的硬件環(huán)境為Nvidia GeForce GTX 2080Ti GPU和Intel Xeon Gold 6230 CPU。為說(shuō)明網(wǎng)絡(luò)的率失真性能提升,本文在 8iVFB(8i Voxelized Full Bodies)和 Owlii(Owlii dynamic human mesh)數(shù)據(jù)集上進(jìn)行測(cè)試,使用峰值信噪比(Peak Signal to Noise Ratio,PSNR)和碼率(bits per point,bpp)作為客觀評(píng)價(jià)指標(biāo),測(cè)量點(diǎn)到面誤差的均方誤差作為失真指標(biāo),與點(diǎn)云壓縮經(jīng)典算法V-PCC、G-PCC以及基于深度學(xué)習(xí)的點(diǎn)云壓縮算法Learned-PCGC進(jìn)行比較。ShapeNet、8iVFB與Owlii均為許多工作[1-7]廣泛使用的數(shù)據(jù)集。
表1給出了本文算法相對(duì)于上述現(xiàn)有算法在不同數(shù)據(jù)集上的 BD-Rate(Bj?ntegaard-Delta Rate)和BD-PSNR增益(Bj?ntegaard-Delta PSNR)。其中,各實(shí)驗(yàn)對(duì)比算法的數(shù)據(jù)均來(lái)源于相關(guān)文獻(xiàn)公開(kāi)的測(cè)試結(jié)果與可復(fù)現(xiàn)的網(wǎng)絡(luò)模型。從表1可以看出,本文的BD-Rate相對(duì)于經(jīng)典算法和基于學(xué)習(xí)的算法都有不同程度的降低,BD-PSNR也有不同程度的提升,說(shuō)明本文的編碼性能是最優(yōu)的。

表1 本文方法相比于各個(gè)算法在不同數(shù)據(jù)集上的增益
為了更直觀地展示本文算法的率失真性能,選 取 測(cè) 試 集 中 的“l(fā)ongdress_vox10_1300”、“redandblack_vox10_1550”為例,將各個(gè)算法的測(cè)試結(jié)果繪制了相應(yīng)的率失真曲線,直觀地進(jìn)行不同碼率下的峰值信噪比評(píng)估,實(shí)驗(yàn)結(jié)果如圖3所示。圖3表明,本文方法在低碼率情況下取得了與現(xiàn)有先進(jìn)方法相近的重建精度。而隨著碼率的提高,重建精度的提升愈發(fā)明顯,主要體現(xiàn)在曲線提升的幅度上。這主要得益于本文方法對(duì)局部特征學(xué)習(xí)的優(yōu)化,高碼率情況下豐富的局部特征學(xué)習(xí)能夠更加精準(zhǔn)地進(jìn)行解碼重建。相對(duì)地,極低碼率情況下的重建更加依賴于全局特征,并且無(wú)法傳輸足夠的特征進(jìn)行解碼。因此,本文方法在極低碼率情況下的率失真曲線提升便沒(méi)有高碼率情況下顯著。

圖3 各個(gè)算法在不同數(shù)據(jù)集上的率失真曲線對(duì)比
除了率失真性能的比較,表2也以8iVFB數(shù)據(jù)集為例,展示了各個(gè)算法的時(shí)間復(fù)雜度對(duì)比。為保證對(duì)比公平,在同一設(shè)備上分別循環(huán)測(cè)試10次取均值計(jì)算數(shù)據(jù)。其中,各實(shí)驗(yàn)對(duì)比算法的測(cè)試結(jié)果均來(lái)源于相關(guān)文獻(xiàn)可復(fù)現(xiàn)的網(wǎng)絡(luò)模型。本文在實(shí)驗(yàn)中測(cè)試了各算法碼率最低(Lowest Rate,LR)與碼率最高(Highest Rate,HR)時(shí)的編解碼所需時(shí)間,以評(píng)估各實(shí)驗(yàn)對(duì)比算法在極端情況下的時(shí)間復(fù)雜度。從表2可知,V-PCC算法的編解碼時(shí)間最長(zhǎng),G-PCC算法耗時(shí)最短,本文方法提升率失真性能的同時(shí)合理控制了時(shí)間復(fù)雜度,與同為基于學(xué)習(xí)的點(diǎn)云壓縮算法相比實(shí)現(xiàn)了較快的編解碼速度,并在HR情況下取得了快于G-PCC的編碼速度。

表2 各個(gè)算法在8iVFB數(shù)據(jù)集上的時(shí)間復(fù)雜度對(duì)比
除了客觀指標(biāo)評(píng)估,本文還以圖3(a)中的“l(fā)ongdress_vox10_1300”點(diǎn)云為例,提供了現(xiàn)有算法與本文方法的視覺(jué)對(duì)比,實(shí)驗(yàn)結(jié)果如圖4所示。圖4(a)展示了該幀原始點(diǎn)云的人物整體以及放大的裙子細(xì)節(jié),圖4(b)為本文方法在碼率為0.22 bpp時(shí)解碼的重建點(diǎn)云,圖4(c)—圖4(e)則分別展示了Learned-PCGC,G-PCC,V-PCC算法在相應(yīng)或更高碼率情況下的解碼重建結(jié)果。由圖4可看出,本文方法在整體上比Learned-PCGC算法和G-PCC算法更準(zhǔn)確地還原了原始點(diǎn)云,與整體稠密程度也明顯較好的V-PCC算法相比,V-PCC算法在原本不存在點(diǎn)的位置重建了點(diǎn),而本文方法在細(xì)節(jié)上不僅保留了應(yīng)當(dāng)重建的點(diǎn),也相應(yīng)保留了不應(yīng)重建的位置,驗(yàn)證了本文算法對(duì)點(diǎn)云數(shù)據(jù)局部幾何特征學(xué)習(xí)效果的提升。

圖4 各個(gè)算法解碼重建的視覺(jué)對(duì)比
本文基于稀疏卷積與自編碼器提出一個(gè)點(diǎn)云壓縮算法。首先,為解決自編碼器網(wǎng)絡(luò)對(duì)局部特征提取相對(duì)不足的問(wèn)題,提出了非對(duì)稱特征聚合編解碼網(wǎng)絡(luò),通過(guò)將特征學(xué)習(xí)任務(wù)的重心放在編碼端,進(jìn)行多分辨率特征的深層傳遞與聚合,合理控制模型復(fù)雜度以減少過(guò)擬合現(xiàn)象的同時(shí),能夠保證更好的點(diǎn)云局部幾何特征提取。其次,為實(shí)現(xiàn)更高效的特征提取,本文設(shè)計(jì)了逐通道稀疏殘差卷積,有效優(yōu)化網(wǎng)絡(luò)的壓縮性能的同時(shí)合理控制計(jì)算復(fù)雜度。在8iVFB和Owlii數(shù)據(jù)集上選取多種點(diǎn)云的實(shí)驗(yàn)結(jié)果證明,本文所提出的網(wǎng)絡(luò)相較現(xiàn)有算法有效提升了率失真性能,同時(shí)合理地控制了時(shí)間復(fù)雜度。