3.Method
一、
1.核心目標
- 輸入:多張從不同角度拍攝的頭發照片。
- 輸出:3D發型模型,且模型由發絲構成(即每根頭發被建模為獨立的曲線/線段,而非體積/網絡)。
2.數據預處理
在正式重建前,需要從輸入圖像中提取以下初始信息:
-
相機參數估計
計算每張圖像的相機位置、角度、焦距等參數(再如位置、方向,即SfM或COLMAP類似的工作) -
分割掩碼
從圖像中分理處頭發區域(如通過語義分割),排除背景干擾(告訴我們圖像上哪些像素是頭發)。 -
方向圖
估計圖像中頭發的局部方向,幫助后續發絲對齊,這些圖能表示出頭發紋理的流向或彎曲方向。
3.兩階段重建流程
第一階段:
- 粗略估計頭發的幾何形狀,可能基于預處理數據(如方向圖)生成粗糙的發絲幾何(如初始發絲位置和走向)
- 例如:通過優化或匹配多視角的方向信息,初步確定發絲的空間分布。
第二階段:
- 在粗估計的基礎上優化細節(如發絲形狀、密度、末端分叉等)。
- 可能結合高斯模型或其他方法增強真實感,進一步優化,細化結構或加入紋理細節。
二、
這段話描述了第一階段的3D線條“抬升”過程,核心是用3D高斯表達+相機優化,并用方向場控制發絲走向。
1.第一階段:3D線條提升
技術組合:
- 3D Gaussian Splatting【16】:將場景表示為多個3D高斯橢球體,每隔高斯由均值(位置)、協方差矩陣(形狀/方向)和顏色參數控制,適合高效渲染復雜幾何(如頭發),用高斯來表示三維點(或線段)并進行渲染。
- BARF【19】:一種神經輻射場優化方法,同時優化相機參數和場景幾何,解決多視角對齊問題,這里用于優化每張圖像的相機姿態。
關鍵操作:
-
優化相機參數:
通過BARF校正輸入圖像的相機位姿(消除初始估計誤差)。 -
3D場景提升:
將2D方向圖嵌入到3D高斯幾何中,實現從2D到3D的映射。這些方向信息被直接編碼到了每個高斯的幾何形狀中。也就是說,高斯不只是表示顏色密度點,它的形狀還體現了頭發的走向。
頭發方向建模:
- 協方差矩陣表示方向場:
每個高斯的協方差矩陣的最大方差方向對應發絲的主方向(即頭發走向)。高斯在某個方向上伸展得最長(最大方差)——這個方向就表示頭發的方向。
正交方向的方差表示方向的不確定性(如發絲彎曲或交叉區域的模糊性)。高斯在垂直方向上的大小(較小的方差)表示“不確定性”或模糊度,表示我們知道發絲在某條線上,但具體粗細或橫向形狀不太確定。
這種方式使得我們可以在渲染過程中考慮這種不確定性(模糊渲染)。 - 渲染優勢:
高斯橢球的方向性與頭發對齊,使得渲染的顏色和方向圖(用于后續重建)均高度真實。通過方向對齊的高斯體,我們能真實地渲染出頭發顏色圖和方向圖。因為高斯地方向已經和發絲一致,所以呈現出的視覺效果更自然、更符合真實頭發。
局限性:
-
非結構化表面分布:
高斯僅分布在頭發外層表面,不像真正的頭發是連續曲線,缺乏內部發絲的結構信息,所以只是“點狀”或“面狀”的分布,還不能直接作為最終發絲,需第二階段進一步處理。 -
把這個階段得到的高斯表示,用來合成多視角渲染圖(包括顏色圖和方向圖),然后在第二階段,再通過這些渲染結果來重建結構化的發絲幾何(連續的曲線)。
圖示理解:
- 非結構化的高斯:類似“毛茸茸”的表面分布,覆蓋頭發外層,但未形成離散發絲。
- 結構化輸出:第二階段將表面高斯轉換未清洗、獨立的發絲線條。
三、
1.粗優化
參數化表示:潛在紋理圖
-
方法:
將頭發參數化為一種隱式紋理圖(類似UV映射或隱式神經表示),通過優化紋理圖的潛在編碼來初步擬合發絲的整體形狀和密度分布。 -
監督信號
光度損失:使渲染結果與輸入圖像顏色一致
幾何損失:利用第一階段的高斯模型提供幾何約束(如方向場對齊)。
作用:
快速生成頭發的全局結構(如發束分布,大致走向),但缺乏發絲級細節。
2.細優化
顯式發絲解碼
-
方法:
將粗優化后的潛紋理解碼為顯式發絲幾何(即每條發絲作為獨立的3D曲線)。 -
直接優化:
對顯式發絲的頂點位置、曲率等參數進行微調,以匹配高分辨率細節。
關鍵技術
-
高斯附加到線段:
每條發絲被分割為多個線段,每個線段綁定一個各向異性高斯。 -
自由度控制:
主方向尺度:與線段長度成正比(反應發絲延伸方向)。
次方向尺度:固定為極小值(確保高斯僅沿發絲方向伸展,避免過渡平滑)。 -
作用:
通過高斯的方向性渲染,在發絲表面引入微觀細節(如毛躁感、光澤變化),同時保持計算效率。
3.正則化與真實感增強
預訓練擴散模型
-
方法:
引入預訓練的擴散模型【15】作為先驗,通過正則化損失約束發絲結構的合理性(如避免不自然的交叉或扭曲)。 -
作用:
提升頭發內部結構的物理真實性(如發束間的層次感、自然蓬松度)。
可微分渲染
- 工具:3D Gaussian Splatting框架。
- 優勢:
支持端到端梯度回傳,使幾何優化(發絲位置/形狀)與渲染效果(顏色、光照)聯合優化。
實時生成多視角一致的渲染結果,用于損失計算。
4.關鍵設計總結
-
粗到細的流程:
先哦那個過隱式表示解決全局問題,再顯式優化局部細節,避免陷入局部最優。 -
高斯線段綁定:
將高斯的方向性與發絲幾何對齊,實現細節可控的渲染。 -
多模態監督:
結合圖像重建損失(光度)、幾何損失(高斯方向場)、生成先驗(擴散模型)共同優化。
3.1 3D Line Lifting with Unstructured Gaussians
一、
1.核心問題:傳統SfM在頭發場景中的局限性
- SfM【35】是傳統多視角3D重建的標準方法,但它在以頭發為中心的場景中表現不佳,原因包括:
頭發缺乏明顯的紋理特征(如重復、低對比度的發絲),導致特征點匹配失敗。
頭發的高頻細節和半透明性會干擾相機位姿估計。
2.解決方案:結合BARF的相機優化
改進的3D Gaussian Splatting
-
初始重建:
使用3D Gaussian Splatting(一種基于高斯橢球體的可微分渲染方法)對場景進行初步建模。 -
相機參數聯合優化:
初始估計:仍依賴SfM提供粗略的相機位姿(如COLMAP)。
殘差學習:通過BARF【19】引入可學習得6自由度相機參數(3D平移+3D旋轉),作為SfM初始估計的增量修正。
梯度優化:相機參數與3D高斯參數(位置、協方差、顏色等)同步優化,利用渲染誤差(如與輸入圖像的差異)反向傳播調整。(即不僅僅優化高斯體的位置、形狀和顏色,同時也能優化相機的外參)。
技術優勢
- 端到端訓練:相機位姿和高斯模型共同優化,避免SfM的誤差累積。
- 魯棒性:BARF的殘差學習能適應頭發場景的弱紋理條件,提升相機定位精度。
3.為什么需要可微分渲染?
- 3D Gaussian Splatting支持可微分渲染,使得:
相機參數可以通過像素級顏色損失進行梯度更新(如L1/L2損失)。
高斯橢球的形狀(協方差矩陣)也能根據相機優化動態調整,確保幾何一致性。
二、
1.高斯參數化:
-
每個3D高斯primitive(可理解為場景中的一個可渲染元素)由以下可學習參數定義:
μ(均值):高斯分布的中心位置,3D坐標中心(Gaussian的位置)
s(縮放系數):決定高斯分布的尺寸,三個方向上的縮放(控制形狀大小)。
q(旋轉四元數):控制高斯分布的方向(控制方向朝向)。
o(不透明度):控制該元素對最終顏色的貢獻程度(用于blending)。 -
通過這些參數計算協方差矩陣Σ=RSSTRT
R是由四元數q轉換得到的旋轉矩陣,3×3。
S=diag(s)是由縮放系數構成的對角矩陣,以縮放系數為對角元素。
最終Σ是三位高斯的形狀和方向。
2.附加特征:
每個高斯還包含其他可學習屬性:
- f(球諧系數):用于表達視角依賴的顏色,也用于視角相關的顏色建模。
- l(頭發分割標簽):可能用于特定場景(如頭發)的分割任務(是否屬于頭發)。
- τ(置信度):表示高斯3D方向的可信程度。
3.渲染流程:
-
投影到屏幕空間:
將3D高斯投影到2D圖像平面,得到屏幕空間的均值μ’和協方差Σ’(形狀在圖像上的擴散)。 -
深度排序:
根據高斯元素的深度(Z值)進行排序(從遠到近),確保正確的遮擋關系。 -
α混合渲染:
對每個像素p,通過front-to-back的alpha混合計算最終顏色Cp,逐像素進行透明度合成。
4.公式說明:
(1)最終顏色合成公式:
- Cp:像素p的最終顏色
- ci:第i個高斯在該像素的顏色
- αip:第i個高斯在像素p處的alpha值(不透明度)。
- Tip:前面所有高斯的透過率(即剩余未被遮擋的能量)。
(2)累計透過率公式:
第i個高斯的透過率由前i-1個高斯累乘得到(前面所有元素不遮擋的概率)。
(3)高斯的α值:
- 表示高斯重心越靠近像素點p,其貢獻就越大(高斯分布公式),是高斯在像素p處的貢獻權重。
- oi:不透明度
- μ’i、Σ’i:投影后的高斯中心和協方差。
這里α混合類似于傳統圖形學的透明度混合,但權重由高斯分布的概率密度函數決定。
5.技術特點:
- 這種方法實現了可微分的點云渲染,允許通過反向傳播優化所有參數。
三、
1.核心公式:
對于每個像素p,除了顏色Cp(前文已定義),還通過相應的α混合基質計算以下屬性:
-
頭發分割表現lp:
lp是像素p上的頭發分割值(范圍通常是0到1)
li是第i個高斯的原始分割標簽(例如,是否為頭發區域)。
最終lp是所有高斯在像素p處的標簽加權和,權重為Tpiαpi,所以這一項是加權混合所有高斯對該像素屬于“頭發”的概率貢獻,即αpi。 -
方向置信度τp:
τi是第i個高斯的方向置信度(表示其朝向的可靠性)。
τp是像素p的方向置信度(是否有清晰的頭發方向)。
和lp類似,最終τp是所有高斯在像素p處的置信度加權和,也是進行加權平均得到像素的整體方向可信度。 -
高斯輪廓sp:
這個公式計算的是所有高斯在像素p處的累積不透明度(即“覆蓋度”)。
沒有呈上任何特征值,相當于只考慮像素被渲染的“強度”或“掩碼”。
Sp是像素p是否被高斯命中(也就是是否出現在渲染圖像中)。
這可以用于生成輪廓圖,即哪里有毛發、哪里沒有。
如果sp≈1,表示該像素被高斯完全覆蓋;如果sp≈0,表示幾乎沒有高斯影響該像素。
2.關鍵點解析
- 輪廓sp的作用:
可以用于:
檢測高斯潑濺得覆蓋情況(例如,sp低的區域可能是背景或未被重建的區域)。
作為掩碼用于后續處理(如背景剔除)。
四、
1.核心思想
- 目標:用3D高斯模型描述頭發絲的幾何走向
- 方法:
將高斯分布的主方向(方向方差最大的方向)與頭發絲的方向對齊。
通過協方差矩陣的特征分解提取方向信息:
最大特征值對應的特征向量=頭發絲的主方向(βi)。
其余兩個正交方向的方差=方向的不確定性(例如頭發絲的粗細或彎曲程度)(是否精確、模糊等)。協方差矩陣中與βi正交的兩個方向的方差(即次大和最小特征值)表示方向的不確定性:如果方差小→頭發絲方向明確(如直發)。如果方差大→方向模糊(如卷發或交叉發絲區域)。
2.關鍵步驟
(1)3D高斯與頭發方向的對齊
- 初始方向來源:
通過3D lifting of orientation maps(可能是從2D圖像估計的頭發方向圖)初始化高斯的主方向βi。
協方差的幾何意義:
Σi
Ri:控制高斯的主方向
Si:特征值(方差)大小表示頭發絲在三個軸上的伸展程度
最大方差方向:即縮放系數si中最大的分量對應的軸,定義為頭發絲方向βi。
(2)渲染頭發方向βp
- βp:像素p上最終融合得到的3D頭發方向
- βi:第i個高斯的主方向(即最大協方差方向)(單位向量)。
- αip:高斯i對像素p的影響程度,高斯i在像素p的權重(根據協方差和屏幕位置計算,由協方差矩陣Σ‘i和距離決定,見公式(1)~(2))。
- 所以整體是一個加權平均,融合多個高斯對該像素頭發的預測。對覆蓋像素p的所有高斯的主方向βi進行加權平均,權重由高斯的可見性和貢獻度(αipTip)決定。
五、
總體含義:在訓練階段,作者使用一種基于梯度的優化方式來優化每個高斯原語的位置、方向、顏色等屬性,借助多個損失函數來引導優化,使結果在外觀和幾何上更接近真實頭發結構。
1.優化方法:
- 使用基于梯度的優化方法訓練高斯模型,引用自文獻【16】。
2.光度損失:
-
Lrgb:結合了L1損失和結構相似性損失(SSIM),用于約束渲像與真實圖像的顏色和結構一致性;
L1損失:預測圖像與真實圖像逐像素的差值。
SSIM損失:結構相似性,考慮圖像亮度,對比度和結構。 -
Lseg:分割損失,通過L1損失匹配渲染的頭發輪廓(sp)和分割掩碼(lp)與真實掩碼。
-
Ldir:方向損失,監督頭發方向的一致性。引入了一個渲染置信因子τp,
βp:預測像素p的頭發方向(由高斯推導)
β^p:該像素的真是方向
d(…):表示預測方向βp與真實方向β^p之間的絕對角度差。
τp:該像素的方向置信度,來源于高斯,用于加權方向誤差,并通過-logτp項防止τp過小(類似正則化),τp讓高置信度的像素對方向誤差影響更大。
3.總訓練目標:
- λseg和λdir使超參數,用于平衡不同損失的貢獻,用來調節各個損失的權重。
- 三個部分一起控制訓練目標:
1.圖像重建要準確(顏色)
2.分割要對(輪廓)
3.頭發方向要準(幾何結構)
3.2 3D Hair Strands Reconstruction
一、
第一階段的結果
-
高斯模型:高斯原語(小橢球體)已經很好地擬合了發型的可見結構,高斯模型已經捕捉到發型可見部分的結構。
幾何形狀:頭發在3D空間中的分布和輪廓,頭發整體的3D體積和形狀(如發束的分布、密度等)。
發絲方向:每一部分頭發的生長方向和流向信息,每個局部區域的頭發走向。
這些高斯模型可以理解為對頭發“點云”或“體積”的初步重建,但尚未生成連續的頭發絲。 -
優化的相機參數:相機的內外參數(如位姿、焦距、朝向)也被同步優化(進一步精細化),以確保渲染和投影的準確性,確保3D高斯與多視角2D觀測數據(如輸入圖像)對齊。
第二階段:3D頭發絲重建的輸入
第一階段的輸出(高斯模型+相機參數)作為第二階段的先驗信息,用于生成更精細的連續頭發絲,也就是從表面點云提取出真實的頭發絲結構。
二、
- 頭發絲的表示:頭發貼圖
頭發貼圖H:
類似于紋理貼圖,但存儲的是3D發絲數據,覆蓋在3D頭部模型的頭皮區域上。
每個紋素對應一條3D發絲,用折線表示:
其中pkl是第k根發絲的第l個3D控制點。
頭部模型對齊:
使用多視角優化(基于面部關鍵點【38】)將3D頭部模型與場景對齊,確保頭發貼圖的空間準確。 - 優化挑戰與正則化
自由度問題:
直接優化發絲控制點(即顯式表示H)會導致參數過多(每根發絲有多個3D點),容易陷入過擬合或陷入局部最優。
潛空間表示Z:
引入潛變量頭發貼圖Z,通過預訓練的編碼器E和解碼器G與顯式貼圖H互相轉換
作用:
壓縮發絲的高維數據到低維潛空間,減少優化變量。
利用解碼器G的歸納偏置(如發型先驗),約束生成的發絲結構合理。 - 兩階段優化策略
粗優化:
優化潛變量Z,解碼得到顯式貼圖H后,直接優化H中的發絲控制點。
優勢:可微調局部細節(如發梢分叉、彎曲),提升精度。
三、
-
潛變量頭發貼圖(Z)的解碼效率問題
計算成本高:
將潛變量貼圖Z解碼為顯式發絲貼圖H是一個計算密集型操作,無法在每次優化迭代中對所有發絲執行。
粗優化階段的策略:
僅解碼部分引導發絲,記為H‘。
這些引導發絲是稀疏的代表性子集,用于高效優化潛變量Z,而無需處理全部發絲。
優勢:減少計算量,同時保持對整體發型結構的控制。
細優化階段的靈活性:
一旦潛變量Z在粗優化中收斂,可解碼生成任意數量的發絲(高密度),用于局部微調。 -
發型優化的約束條件
優化發絲時使用兩類關鍵約束:
(1)光度損失
可微分光柵化
將3D發絲渲染為2D圖像,與輸入的多視角圖像對比(通過L1、SSIM損失)。
確保渲染的發絲在顏色、陰影和幾何上與真實觀測一致。
(2)潛擴散正則化
引用文獻【38】:
使用預訓練的擴散模型約束潛變量Z,確保生成的頭發符合真實發型的分布。
作用:
避免不合理的發型結構(如雜亂或穿透頭皮的發絲)。
對發型內部不可見部分(如被外層頭發遮擋的區域)提供先驗約束,增強整體真實感。 -
高斯重建階段提供的真值
噪聲抑制:
使用第一階段(高斯模型)生成的幾何和方向場作為監督信號。
優勢:
高斯模型已初步過濾了輸入圖像中的噪聲(如遮擋、光照變化)。
為發絲優化提供更干凈的初始條件,尤其是方向場,避免優化陷入局部最優。
四、
-
頭發絲的高斯化表示
為了將頭發絲(折線段)適配到可微分渲染框架中,每條發絲的線段
被轉換為一個高斯基元,其參數定義如下:
尺度向量skl:
與線段長度成正比(即1/2*||pkl+1 - pkl||2),使高斯沿線段方向拉伸。
其他兩個分量:固定為極小值e(如e=0.001),確保高斯在橫截面上近似為線狀(模擬細發絲)。
公式:
旋轉四元數:
將高斯的x軸對齊到線段方向(即pkl+1 - pkl),確保高斯沿發絲方向延伸。
其他屬性:
不透明度okl:設為1(完全不透明,避免透明干擾渲染)。
方向置信度τkl:設為1(完全信任預設方向)。
顏色參數fkl:通過球諧系數表示,可訓練,控制光線交互后的顏色表現。 -
外觀優化:兩階段訓練
(a)粗優化階段
優化參數:
隱式編碼Z:表示頭發的潛在特征(如形狀、密度等)。
外觀解碼器Ga:從潛在特征Z預測球諧系數fkl(決定顏色)。
Ga的結構與預訓練的頭發絲解碼器G相同,但G是固定的(基于合成數據預訓練),而Ga是每場景從頭訓練的。
目標:通過光度損失(如渲染圖像與真實圖像的差異)優化Z和Ga,初步擬合頭發的外觀。
(b)細優化階段
優化參數:
直接優化高斯參數H:包括位置、旋轉、縮放等幾何屬性。
目標:進一步提升渲染細節,匹配真實外觀。 -
技術動機
可微分光柵化:允許梯度回傳,使幾何和外觀參數能通過端到端訓練聯合優化。
高斯建模:用拉伸的高斯分布近似頭發絲的局部細節,平衡計算效率與渲染質量。
兩階段策略:粗階段解決全局最優,細階段優化局部細節,避免陷入局部最優。
第二遍:
(待寫)
五、
- 渲染損失函數
在細優化階段,損失函數基于高斯分布訓練目標Lgaussian(來自第一階段,公式(6)),并包含以下關鍵組成部分:
顏色損失Lrgb
分割損失Lseg
方向損失Ldir
傳統方法可能通過高斯分布的協方差矩陣提取方向(βi),但此處直接利用線段方向向量vkl=pkl+1 - pkl(即頭發絲生長方向),因為細優化階段抑制頭發絲的精確走向,無需依賴統計估計。 - 粗優化階段的挑戰與解決方案
問題:內存限制導致幾何”空洞“
在粗優化階段,受內存限制,每次訓練批次只能從潛在編碼Z解碼少量引導頭發絲H‘。
直接渲染稀疏的H’會導致生成的幾何體存在空洞,使得光度損失(如Lrgb)無法有效優化(因缺失區域無法計算梯度)。
解決方案:引導頭發絲插值
稠密化處理:通過插值算法將稀疏的H‘轉換為稠密頭發絲H^,再用于光柵化渲染。
插值方法基于文獻【39】,但改進為直接在3D坐標空間(而非潛在空間)進行插值,保留幾何一致性。
插值后,稠密的H^填補了空洞,使光度損失可正常計算。
細階段的優化無需插值:因此時已直接優化完整的稠密頭發幾何H,無需稀疏——稠密轉換。 - 技術動機與優勢:
方向向量的直接利用:
細階段已知頭發生長方向(vkl),比協方差矩陣估計的方向更準確,減少優化噪聲。
插值的必要性:
粗階段的內存限制是瓶頸,插值是一種計算高效的妥協,確保訓練穩定性。
兩階段分工:
粗階段:通過插值解決全局結構(低分辨率)。
細階段:直接優化高分辨率幾何(無需近似)。
六、
-
核心目標
通過擴散模型的先驗知識(如預訓練的潛在擴散模型)對頭發幾何進行正則化,確保生成的頭發既符合真實物理形態(如自然流線、疏密分布),又能避免人工優化的不合理結構(如交叉、雜亂)。 -
關鍵方法
(a)分數蒸餾采樣(SDS)
作用:從預訓練的擴散模型中提取”知識“,作為優化過程的指導信號(即損失函數Lsds)。
實現:在潛在空間中計算損失,而非直接處理3D幾何數據(如點云或網格)。
參考文獻:基于文獻【30】的SDS方法和文獻【38】的頭發生成框架。
(b)潛在擴散模型
輸入輸出:操作對象是潛在頭發圖Z,一種低維壓縮表示。
預訓練模型:使用現成的擴散模型(如【38】中的模型,無需重新訓練)。 -
兩階段優化流程
(a)粗優化階段
操作:直接對潛在頭發圖的降采樣版本Z’應用SDS損失Lsds。
目的:快速優化頭發的整體形狀和密度分布(低分辨率約束)。
(b)細優化階段
問題:細粒度優化(如單根發絲)無法直接應用低分辨率Z‘的損失。
解決方案:
隨機采樣:每一步選擇一部分頭發絲。
編碼到潛在空間:用預訓練編碼器E將這些發絲轉換為潛在表示。
插值到統一分辨率:將潛在表示插值為與Z’相同分辨率的紋理。
擴散懲罰:對插值后的低分辨率潛在圖施加SDS損失(與粗階段一致)。
優勢:在細粒度優化中保持擴散模型的全局約束,避免局部過擬合。 -
技術細節
潛在空間操作的意義:
避免高維幾何數據(如千萬級發絲)直接優化帶來的計算負擔。
利用擴散模型在壓縮空間中的生成能力。
動態子采樣與插值:
細階段通過隨機采樣和插值,將高維發絲”投影“到低維潛在空間,實現多尺度優化。 -
總結
貢獻:將擴散模型的生成先驗(通過SDS損失)嵌入到頭發幾何優化的全流程(粗+細階段),兼顧效率與質量。
創新點:
粗階段:直接約束低分辨率潛在表示。
細階段:通過動態編碼——插值,將高維發絲”對齊“到低維擴散空間。
依賴條件:需預訓練的編碼器E和潛在擴散模型(來自【38】)。