前置知識(shí)
1)仿射變換
\quad
所謂仿射變換,就是向量經(jīng)過一次線性變換加一次平移變換,用公式可以表示為:
\quad
其中,p為變換前原始向量,q為變換后目標(biāo)向量,A為線性變換矩陣,b為平移變換向量。
\quad
對(duì)于二維圖像而言,p和q分別是某個(gè)像素點(diǎn)在原圖和仿射變換后的圖中的未知(x, y)。因此,p、q可以寫成如下形式:
\quad
所以,仿射變換矩陣T如上形式,是一個(gè)3*3的矩陣。它的作用是將某一個(gè)圖片中的所有像素點(diǎn)的位置進(jìn)行改變,映射到一個(gè)新圖中。注意:在這個(gè)過程中,只改變像素點(diǎn)的位置,不改變像素點(diǎn)的值。
\quad
一般來講,我們要想求T,需要三組點(diǎn)的對(duì)應(yīng)值,即可將T中的所有元素求出來。求出T后,就可以對(duì)圖中所有的像素點(diǎn)進(jìn)行仿射變換。
\quad
仿射變換的效果如下:兩幅圖中已用紅色圓點(diǎn)分別表示出選定的三角形點(diǎn),可以看出,雖然圖像整體出現(xiàn)變化,但對(duì)應(yīng)的點(diǎn)像素值是相同的??偟膩碇v:仿射=平移+旋轉(zhuǎn)。
\quad 仿射變換有兩個(gè)性質(zhì):共線不變性和比例不變性。
- 共線不變性:任一直線經(jīng)仿射變換的像(image)仍是一直線
- 比例不變性:直線上各點(diǎn)之間的距離比例維持不變
2)透視變換(projective transformation)
\quad
圖像的幾何變換主要分為:剛性變換(平移、旋轉(zhuǎn))、相似變換(縮放、剪切)、仿射變換和透視變換(也稱為投影變換)。剛性變換、相似變換、仿射變換都屬于平面變換(線性)。
\quad
透視變換屬于空間變換(非線性)。例如想要實(shí)現(xiàn)如下效果,將撲克牌單獨(dú)提取出來。
\quad
透視變換是將一個(gè)圖像投影到新的視平面,該過程包括:1.將源二維坐標(biāo)系轉(zhuǎn)換為三維坐標(biāo)系;2.將三維坐標(biāo)系投影到新的二維坐標(biāo)系。仿射變換屬于透視變換的特例。透視變換能夠保持“直線性”,即原圖中的直線,在經(jīng)透視變換后仍為直線。
簡(jiǎn)而言之,就是將一個(gè)平面通過一個(gè)投影矩陣投影到指定平面上。示意圖如下所示,利用透視中心、原像素點(diǎn)、目標(biāo)點(diǎn)三點(diǎn)共線的條件。
\quad
透視變換的公式為:
\quad
(x,y,1)為源目標(biāo)點(diǎn),要移動(dòng)的目標(biāo)點(diǎn)為(X, Y, Z)。但是就像仿射變換那樣,要使Z那個(gè)位置為1,才是一個(gè)二維坐標(biāo)。所以在新視平面上的二維坐標(biāo)(x’, y’)。這也正是為什么說仿射變換是透視變換的特例,因?yàn)榉律渥儞Q的Z直接就等于1。
\quad
透視變換矩陣需要4組坐標(biāo)點(diǎn)才可以計(jì)算出來。
3)雅各布矩陣
\quad
雅可比(Jacobian)是一個(gè)在數(shù)學(xué)中用于描述多元函數(shù)的導(dǎo)數(shù)的矩陣,用于表示一個(gè)向量值函數(shù)的各個(gè)分量相對(duì)于輸入變量的偏導(dǎo)數(shù)。
4)SSIM圖像質(zhì)量損失
\quad
在圖像重建、壓縮等領(lǐng)域,評(píng)價(jià)輸出圖像與原圖的差距,最常用的一種損失是MSE。它的計(jì)算如下,就是element-wise的計(jì)算重建圖像與原圖的像素差的平方,然后在全圖求平均。
\quad
但是,MSE反應(yīng)的距離,與我們?nèi)祟惖母惺苡袝r(shí)會(huì)有很大的區(qū)別。比如下圖,有時(shí)MSE相差很大的兩張圖,在我們?nèi)祟惪磥矸炊鴽]什么差別。
\quad 因此,SSIM損失要做的事是更偏重于兩個(gè)圖的結(jié)構(gòu)相似性,而不是逐像素的計(jì)算兩者的差異。SSIM損失從亮度、對(duì)比度、結(jié)構(gòu)三個(gè)方面來評(píng)價(jià)兩張圖像的相似性。
一、動(dòng)機(jī)
\quad
盡管NeRF的加速技術(shù)取得了進(jìn)步,但是基于NeRF的NVS方法普遍上仍然是time-consuming,因?yàn)樗麄冃枰趕cene space中查詢 dense points。
\quad
另一方面,顯式表示,特別是點(diǎn)云,由于其高速甚至實(shí)時(shí)的渲染性能而引起了持續(xù)的關(guān)注。一旦與神經(jīng)網(wǎng)絡(luò)集成,基于點(diǎn)的graphics與NeRF相比,實(shí)現(xiàn)了一種很有前途的顯式表示,具有相當(dāng)?shù)恼鎸?shí)性和極高的效率。再到最近,3DGS實(shí)現(xiàn)了實(shí)時(shí)和高質(zhì)量的渲染。但盡管實(shí)現(xiàn)了實(shí)時(shí)的推理,3DGS依賴于per-subject《3DGS》或 per-frame《Dynamic 3DGS》的參數(shù)優(yōu)化。因此,這在交互式場(chǎng)景中是不切實(shí)際的,因?yàn)橐坏﹫?chǎng)景或角色改變,它需要高斯參數(shù)的re-optimization。
\quad
在這篇文章中,我們 target a 泛化性的3DGS,直接以前饋的方式而不是per-subject optimization來回歸高斯參數(shù)。受learning-based human reconstruction領(lǐng)域中發(fā)展的啟發(fā),PIFu-like 方法,我們的目標(biāo)是從具有不同 human topologies、clothing styles和pose-dependent deformations的大規(guī)模三維人體掃描模型中學(xué)習(xí)人類高斯表示的回歸(本文也是data-driven方法)。
\quad
具體而言,我們引入了一個(gè)2D Gaussian parameter maps,然后還有一個(gè)iterative depth estimation module
二、相關(guān)工作
1)Neural Implicit Human Representation.
\quad
INR的優(yōu)點(diǎn)是:memory efficiency和topological flexibility。
\quad
姿態(tài)和穿著的巨大變化使用于人體的泛化性NeRF是一項(xiàng)更具挑戰(zhàn)性的任務(wù),因此最近的工作通過利用人類先驗(yàn)簡(jiǎn)化了問題。例如,NHP 和GM-NeRF采用SMPL人體模型,Key-NeRF使用3D骨骼關(guān)鍵點(diǎn)來編碼空間信息,但這些額外的過程增加了計(jì)算成本,并且不準(zhǔn)確的先驗(yàn)估計(jì)會(huì)誤導(dǎo)最終的渲染結(jié)果。
\quad
此外,盡管在加速單一場(chǎng)景NeRF方面取得了巨大進(jìn)展,但針對(duì)交互式場(chǎng)景的efficient generalizable NeRF仍有待進(jìn)一步發(fā)展。
2)Deep Image-based Rendering.
\quad
Image-based rendering使用加權(quán)混合機(jī)制從一組多視圖圖像中合成新的視圖,這通常是從幾何代理(geometry proxy)計(jì)算出來的。
\quad
geometry proxy的意思是指一種用于替代復(fù)雜幾何結(jié)構(gòu)的簡(jiǎn)化模型或?qū)ο蟆_@個(gè)簡(jiǎn)化的模型通常用于提高計(jì)算效率、降低計(jì)算成本,或者在某些情況下作為原始幾何的替代,以便更有效地處理、渲染或操作圖形數(shù)據(jù)。
\quad
在NVS領(lǐng)域中,geometry proxy就是指重建出的顯式點(diǎn)云、mesh surface,或隱式的SDF、Occ網(wǎng)格等。
三、Preliminary
\quad
3D-GS用point primitives顯式地構(gòu)造了一個(gè)靜態(tài)的3D場(chǎng)景,每一個(gè)高斯可以被一個(gè)協(xié)方差矩陣Σ和平均值μ定義:
\quad
為了被梯度下降有效優(yōu)化,這個(gè)協(xié)方差矩陣Σ被分解為一個(gè)縮放矩陣S和一個(gè)旋轉(zhuǎn)矩陣R:
\quad
然后利用a view transformation W和 一個(gè)透視變換的仿射變換的Jacobian,將3D高斯從三維空間投影到二維空間中。
\quad
投影到二維空間后,然后使用point-based alpha-blend rendering(跟NeRF中使用的很像),
\quad c是顏色(由球諧系數(shù)定義),α是密度。
四、方法
\quad
方法的總體框架如下:
\quad 一旦給定一個(gè)目標(biāo)的新視點(diǎn),我們選擇兩個(gè)相鄰的視圖,并使用一個(gè)共享的圖像編碼器提取圖像特征)。然后用一個(gè)深度估計(jì)器以這兩個(gè)圖像的特征作為輸入,估計(jì)這兩個(gè)圖像的深度圖(depth maps)。這兩個(gè)圖形的前景區(qū)域的深度值和RGB值分別決定了每個(gè)高斯點(diǎn)的三維位置和顏色,而三維高斯點(diǎn)的其他參數(shù)則以像素級(jí)的方式進(jìn)行預(yù)測(cè)。其他參數(shù)圖與深度圖和源RGB圖像結(jié)合起來,在二維圖像平面上formulate高斯表示,并進(jìn)一步不投影到三維空間中。從這兩個(gè)source views進(jìn)行反投影出來的高斯,被用于渲染新的views。
4.1. View Selection and Depth estimation
\quad
不同于普通的三維高斯分布,它在所有源視圖上優(yōu)化每個(gè)高斯點(diǎn)的特征,我們通過對(duì)兩個(gè)鄰近視圖進(jìn)行插值來合成新的目標(biāo)視圖。
\quad
一個(gè)場(chǎng)景如果有N個(gè)稀疏圖像。對(duì)于target view,通過將目標(biāo)視圖與source views的向量相乘,就可得出哪些視圖是最近的。然后選擇最近的兩個(gè)視圖來作為 the ‘working set’ of two-view stereo。
選擇完views后,將他們輸入編碼器網(wǎng)絡(luò)獲取dense feature maps
\quad
深度圖是我們連接二維圖像平面和三維高斯表示的框架的關(guān)鍵組成部分。注意,雙視角的深度估計(jì),相當(dāng)于disparity estimation。對(duì)于一個(gè)視角中的某個(gè)pixel (u, v),視察估計(jì)的目的是在另一個(gè)視角中找到(u+x, v)。
\quad
立體匹配也稱作視差估計(jì),或雙目深度估計(jì)。它的目的是在一個(gè)視角的某個(gè)坐標(biāo)中,找到另一個(gè)視角下對(duì)應(yīng)的坐標(biāo)。這樣做的前提是考慮每個(gè)像素的位移被約束為一個(gè)水平線。
\quad
只要給定相機(jī)參數(shù),視察預(yù)測(cè)可以被很容易地轉(zhuǎn)換為深度圖。因此這篇文章沒有太區(qū)分這兩者的概念。本文主要啟發(fā)于Raft-stereo。
\quad
構(gòu)造3D cost volume的方法如下,給定兩個(gè)特征圖,使用一個(gè)矩陣乘法來獲得。
\quad
有了3D cost volume后,使用《Raft: Recurrent all-pairs field transforms for optical flow》中的更新算子,從其中來查詢T次兩個(gè)視角的深度圖,然后選擇最后一次更新的結(jié)果拿來凸上采樣到全分辨率的圖像。
4.2. Pixel-wise Gaussian Parameters Prediction
\quad
這篇文章,以一個(gè)pixel-wise manner來在2D 圖像平面上構(gòu)造3D Gaussians(這一點(diǎn)很有意思)。也就是說構(gòu)造一張Gaussian maps。
\quad
在圖形學(xué)中,特別是在基于球諧系數(shù)的光照模型中,漫反射通??梢员硎緸榍蛑C系數(shù)的線性組合。光照環(huán)境的球諧系數(shù)可以用于近似描述場(chǎng)景中光照的變化,其中漫反射是這些變化的一個(gè)重要組成部分。
簡(jiǎn)而言之,漫反射可以通過球諧系數(shù)來近似。
\quad
這個(gè)Gaussian maps由如下5個(gè)參數(shù)圖組成,每一個(gè)參數(shù)圖分別代表3D position,color,rotation,scaling,opacity。
\quad
給定預(yù)測(cè)的深度圖D,利用相機(jī)參數(shù)K的投影矩陣P∈R3×4結(jié)構(gòu),位于x處的像素可以立即從圖像平面反投影到三維空間。對(duì)下面這個(gè)式子的理解是,將一個(gè)二維坐標(biāo)x和它對(duì)應(yīng)的深度值輸入給一個(gè)反投影矩陣P,然后就可以得到該二維坐標(biāo)對(duì)應(yīng)的三維坐標(biāo)在哪里。注意,這個(gè)投影矩陣P的所有參數(shù)都是可學(xué)習(xí)的。
\quad
考慮到以人為中心的場(chǎng)景的主要特征是漫反射,我們直接用source image作為color map,而不是預(yù)測(cè)SH系數(shù)。
\quad
我們認(rèn)為,剩下的三個(gè)高斯參數(shù)通常與(1) pixel level local features,(2) a global context of human bodies, and (3) a detailed spatial structure 相關(guān)。因此作者這里想做的是構(gòu)造出包含著三種信息的高斯特征,然后基于這個(gè)特征來預(yù)測(cè)三種map。image feature已經(jīng)推導(dǎo)出了(1)和(2)的強(qiáng)線索。因此,這里構(gòu)造了一個(gè)額外的但架構(gòu)相同的編碼器,將depth map作為它的映射,作用是輸出spatial feature,來體現(xiàn)(3)的這種信息。構(gòu)造好了兩個(gè)feature后,再用一個(gè)像U-Net的解碼器D將這兩種特征進(jìn)行融合。
\quad
這個(gè)┏就是得到的高斯特征?;谶@個(gè)高斯特征,有好幾個(gè)CNN預(yù)測(cè)頭,專門預(yù)測(cè)每種參數(shù)圖。rotation map需要被歸一化,因?yàn)樗硎疽粋€(gè)四元組,scaling map和opacity map需要激活以滿足他們的范圍。
4.3. Joint Training with Differentiable Rendering
\quad
有了這幾個(gè)pixel-wise Gaussian parameter maps后,將它們lift到3D空間,然后聚合到一起形成3D Gaussian cloud,然后對(duì)其渲染出一個(gè)新視圖來進(jìn)行訓(xùn)練。
\quad
在訓(xùn)練時(shí),損失函數(shù)主要包括兩個(gè)方面。
\quad
一個(gè)是對(duì)渲染出的新視圖進(jìn)行監(jiān)督。這里用了兩種損失,一個(gè)是L1損失,一個(gè)是SSIM損失,兩個(gè)超參數(shù)權(quán)重分別是0.8和0.2。
\quad
另一方面是對(duì)深度進(jìn)行監(jiān)督。與Raft-stereo相同,在中間過程的所有預(yù)測(cè)到的深度圖序列上,以指數(shù)遞增的權(quán)重(μ為0.9),執(zhí)行L1監(jiān)督損失。
5.實(shí)驗(yàn)部分
\quad
由于在最開始的訓(xùn)練步驟中如果深度估計(jì)不穩(wěn)定的話,會(huì)對(duì)高斯參數(shù)回歸有很大的影響,因此作者對(duì)深度估計(jì)模塊進(jìn)行了40k次迭代的預(yù)訓(xùn)練。(這是一個(gè)問題)
\quad
訓(xùn)練完深度估計(jì)模塊后,再聯(lián)合訓(xùn)練深度估計(jì)模塊和高斯參數(shù)預(yù)測(cè)模塊,執(zhí)行100 k次迭代?;?5個(gè)小時(shí)。
5.1 數(shù)據(jù)集和指標(biāo)
\quad
在一個(gè)cycle內(nèi),有8個(gè)cameras。每?jī)蓚€(gè)相鄰的cameras是45°。在一次訓(xùn)練中,每次source images是兩個(gè)相鄰的圖像,然后在這兩個(gè)視角之間隨機(jī)選取三個(gè)新視角進(jìn)行渲染,評(píng)價(jià)。
\quad
為了評(píng)價(jià)在真實(shí)場(chǎng)景的魯棒性,作者捕捉了4個(gè)characters的相同8-cameras設(shè)置以及額外的8個(gè)camera views作為評(píng)估數(shù)據(jù)。
評(píng)價(jià)時(shí),之評(píng)價(jià)前景區(qū)域的渲染結(jié)果。
5.2 baseline
\quad
對(duì)比時(shí),仍然是與泛化性方法進(jìn)行對(duì)比,包括ENeRF、FloRen、IBRNet。所有的這些方法,都采用本文設(shè)置的方法來進(jìn)行訓(xùn)練、對(duì)比。
\quad
此外,還與同時(shí)使用8個(gè)views進(jìn)行優(yōu)化的3D-GS進(jìn)行了對(duì)比。
\quad
一旦遮擋發(fā)生,新視圖中的一些區(qū)域在source view中是看不見的。在這種情況下,輸入視圖中深度模糊會(huì)導(dǎo)致ENeRF和IBRNet呈現(xiàn)不合理的結(jié)果,因?yàn)檫@些方法在進(jìn)行特征聚合時(shí)會(huì)被混淆。在這些情況下,不可靠的幾何代理也使FloRen產(chǎn)生模糊的輸出,即使它使用了depth和flow流精煉網(wǎng)絡(luò)。
\quad
在我們的方法中,由大量人體圖象學(xué)習(xí)到的human priors幫助緩解遮擋帶來的不良反應(yīng)。此外,3D-GS需要幾分鐘來進(jìn)行優(yōu)化,并在這樣一個(gè)稀疏的攝像機(jī)設(shè)置中產(chǎn)生新視圖的噪聲渲染結(jié)果
5.3 消融實(shí)驗(yàn)文章來源:http://www.zghlxwxcb.cn/news/detail-780510.html
\quad 當(dāng)去除深度特征后,如上所示,質(zhì)量下滑了一些。文章來源地址http://www.zghlxwxcb.cn/news/detail-780510.html
到了這里,關(guān)于GPS-Gaussian:Generalizable Pixel-wise 3D Gaussian Splatting for Real-time Human Novel View Synthesis的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!