任 磊,孫曉明
(浙江理工大學信息學院,浙江 杭州 310018)
近年來隨著計算機視覺技術的發(fā)展,許多基于圖像的計算機應用技術應運而生,如:車牌識別、人臉識別、三維圖像重建等,計算機處理數(shù)據圖像的結果將直接影響到這些應用的精準度。非朗伯體三維信息的獲取對于從圖像恢復物體空間形狀具有重要意義,一般采用兩種方法進行相關信息的獲取:多視角三維重建與光度立體視覺。前者利用攝影設備采集多張場景圖像來恢復三維幾何結構,該方法幾何結構的重建精度高,但局部細節(jié)存在偏差;后者利用場景內的光度信息(光照方向/強度等)恢復場景表面的法向圖,并通過法向圖恢復三維幾何結構。相比于多視角方法,光度立體視覺方法雖然重建精度略低,但可獲得更詳盡的局部細節(jié)。
非朗伯體的光度立體視覺技術大致可分為4 類,即基于離群值抑制、基于復雜反射率模型、基于參照物以及基于深度學習的光度立體視覺技術?;陔x群值抑制的方法[1-2]假設非朗伯觀測值是局部且稀疏的,可被視為離群值。異常值的剔除往往需要大量輸入數(shù)據,并且在處理密集的非朗伯體對象時比較困難(如存在高光)。許多復雜的反射率模型被用于近似代替非朗伯體模型,包括Torrance-Sparrow 模型[3]、Ward 模型[4]等。這些方法不但需要解決復雜的優(yōu)化問題,而且處理材料種類有限。基于參照物的光度立體法[5]通常需要額外的參考對象,該類方法雖然可在光線方向未知的情況下處理存在空間變化的BDRF對象,但由于對參照物形狀和材料的要求,限制了其應用前景。近年來,隨著深度學習在各個計算機視覺任務中取得了巨大成功,基于深度學習的方法也被引入到標定的光度立體視覺中[6-9]。其不是通過構造復雜的反射率模型,而是直接學習從給定方向的反射率觀測結果到法向信息的映射。
傳統(tǒng)的光度立體視覺方法大多假設一個簡化的反射率模型(理想的朗伯模型或簡易反射率模型),然而現(xiàn)實物體大多數(shù)都是非朗伯體,且一種特定的簡易模型也只對一小部分材料有效。同時,光源信息的標定也是一個復雜且繁瑣的過程。研究人員希望可僅通過固定視點下的多幅圖像直接計算圖像法向信息,這就是未標定的光度立體視覺技術[10-13]。Chen 等[6]引入UPS-FCN 網絡,這是一個單級模型,可從已進行歸一化處理且已知光照強度的圖像中回歸出物體表面法向信息,但全卷積網絡在提取特征時感受野太小,無法獲取全局信息,且計算效率低下,算法魯棒性不強,其性能遠落后于標定的PS-FCN 方法[6]。
近年來,生成對抗網絡(GAN)在計算機視覺、圖像處理等多個領域展現(xiàn)出良好性能[14-16]。本文旨在進一步提高未標定光度立體視覺技術法向估計的精確度,因此提出多尺度聚合的生成對抗網絡,能夠有效解決圖像尺寸變化及輸入數(shù)量變化的問題。多尺度聚合使每張圖像局部特征與全局特征經過最大池化能更好地聚合在一起,生成的法向信息圖比基于全卷積算法生成的圖像更加準確。為進一步提高生成法向信息的精確性,本文采用微調模塊使法向信息圖在生成細節(jié)上更為精確,同時在處理局部細節(jié)較光滑的非朗伯體上展現(xiàn)出更好的訓練效果。通過多項消融實驗,證明了該設計結構的有效性與通用性。在公共數(shù)據集上的平均角度誤差為14.1°,相比UPS-FCN的結果下降了1.92°,MSE 誤差為9.15%,相比UPS-FCN 下降了1.43%,模型具有更強的魯棒性,同時在處理局部細節(jié)比較光滑的非朗伯體上展現(xiàn)了最優(yōu)的訓練效果。
光度立體視覺是一種在同一視點、不同光源方向下,通過拍攝同一物體的多幅圖像恢復出物體表面法向信息的技術。在理想的朗伯體條件下,常用的求解過程為:①建立光照模型;②標定光源信息;③求解表面法向信息;④求解深度信息。然而,現(xiàn)實世界中絕大多數(shù)物體都是由漫反射與鏡面反射材質組合而成的。
1980 年,Woodham[17]在假設場景反射為理想朗伯模型的情況下提出經典的光度立體視覺技術,該問題建立在平行光源的條件下,即光照方向為已知的標量,光源在各方向上輻射均勻。亮度公式可簡化為:
其中,Ijk代表圖像j上第k點的亮度值,ρk為對應k點的漫反射系數(shù),nk為該點法向量方向,而對應的光照方向lj已知,因此k點亮度值只取決于ρk和nk。在一個擁有M 個光源的系統(tǒng)中,光照方向矩陣可記為L=(l1,l2,…,lM)∈R3×M,某點的亮度向量記為I=(i1,i2,…,iM)∈RM,可得到式(1)的矩陣形式:
對于已進行歸一化處理的法向信息N=(nx,ny,nz),其自由度為2,漫反射系數(shù)ρ未知。所以為求出最終法向,至少要求方向矩陣L的秩為3,即取3 處不共線的光照方向,才可以通過最小二乘得到未經過歸一化處理的法向n^,如式(4)所示。
未標定光度立體的網絡結構如圖1 所示。為獲得更精確的法向信息,生成器由兩個分支組成:多尺度聚合網絡(MUPS)與微調模塊。多尺度聚合網絡是從任意數(shù)量的輸入圖像中學習法向信息之間的映射,利用多尺度聚合使局部特征與全局特征更好地融合,通過最大池化結構對多個輸入特征進行聚合,最后經過歸一化層得到法向信息。
采用跳躍連接以達到多尺度特征聚合的目的在于,求解一個物體的表面法向信息是由多個因素決定的,單一觀測的特征圖中顯然不能提供足夠多的信息解決噪聲模糊性等問題。對于每一個圖像觀測到的特征圖,采用多尺度特征聚合以實現(xiàn)局部與全局特征更好地融合,從而在每張圖中觀測到更全面的信息。對于光度立體多輸入的特性而言,最后利用最大池化方法對多個特征進行聚合,以解決傳統(tǒng)卷積網絡固定輸入的問題。最大池化可以很自然地從不同光線方向捕捉到圖像中的強特征(如對于一個表面存在高光的點,其法線靠近視點平分線與光照方向),此外最大池化在訓練過程中可輕松忽略掉非激活的特性,使網絡具有更強的魯棒性。將池化后的特征進行L2 歸一化處理,得到粗粒度的法向信息圖。微調模塊的作用是將粗精準度的法向圖微調生成更高精度的結果圖,其由4 個殘差塊組成。由于為提高網絡性能而加深網絡結構會導致網絡優(yōu)化困難與訓練困難,因此本文采用殘差結構。
(1)多尺度聚合網絡基于U-Net 網絡,并利用了卷積神經網絡的屬性(如平移不變性和參數(shù)共享)。網絡由多個卷積模塊與反卷積模塊組成,最開始經過4 個卷積核大小為3×3、步長為1的卷積層,每一次卷積過后經過Leaky Re-LU 激活層并進行正則化處理,再通過步長為2的平均池化層,達到下采樣目的。另一部分由3 個反卷積層與卷積層組成,通過卷積核大小為4×4、步長為2的反卷積層,再通過與對應下采樣部分的特征圖進行特征融合后,送入卷積層中。最后將得到的結果進行最大池化與歸一化處理得到最終結果。
(2)微調模塊網絡由4 個殘差塊和1 個卷積層以及歸一化層組成。理論上,網絡模型越復雜,網絡層數(shù)越深,意味著網絡擬合能力越強,但在實際訓練過程中常常會出現(xiàn)增加網絡層后模型訓練效果反而變差的情況。這是因為隨著網絡層級的增加,容易出現(xiàn)梯度消失現(xiàn)象。為此,He等[18]提出一種殘差結構,通過跳躍連接的方式使該問題得到很好地解決。經過殘差塊后,特征圖的寬度/高度恒定不變,最后經過卷積層與歸一化層輸出生成的法向信息圖。
(3)針對判別器模型,本文借鑒PatchGAN[16],判別器D的輸入為生成器G 生成的法向信息圖與真實的法向信息圖。經過多個卷積層提取輸入特征后,最終輸出16 組數(shù)值范圍在[0,1]之間的評測值,求均值后得到該圖為真實法向信息圖的概率。
Fig.1 Network structure圖1 網絡結構
生成器模型的損失函數(shù)LG由兩部分組成,分別是對抗損失Lgen與法向量的余弦相似度損失Lnormal,如式(5)所示。其中λ1=1,λ2=0.01。
其中,Ni,j表示點(i,j)處的真實法向信息,如果真實的法向信息與預測的法向信息相差很小,則Ni,j與點乘值接近于1,Lnormal值會很小,反之亦然。本文對于生成器對抗損失定義如下:
其中,x~pg表示輸入數(shù)據x符合pg分布,N~pr表示真實法向信息N符合pr分布。
實驗中,UPS-MRGAN 是在Pytroch的框架中實現(xiàn)的。在網絡訓練過程中,所有批處理歸一化與Leaky ReLU 操作都使用共享的超參數(shù),設置批歸一化衰減率為0.9,以及Leaky ReLU 中的α為0.02。本文采用兩個階段進行訓練,在第一階段單獨訓練MUPS,使用Adam 優(yōu)化器進行優(yōu)化(β1=0.9,β2=0.99),設置初始學習率為10-5。MUPS 訓練10 個批次后,被訓練成可通過任意數(shù)量的輸入圖像得到粗粒度的法向信息圖。在第二階段,將MUPS 網絡與微調模塊作為生成器,同時訓練生成器與判別器。生成器參數(shù)與第一階段中的參數(shù)相同,共進行20 次迭代,在每一次迭代中對生成器與判別器網絡交替進行優(yōu)化。
UPS-MRGAN 模型具體訓練方法如下:
網絡的數(shù)據集由Chen 等[6]提供,其中訓練集和驗證集包括合成數(shù)據集Blobby 與Sculptrue,而測試集采用DiLigent 數(shù)據集[19],其常被作為公共標準數(shù)據集使用。Blobby、Sculpture 共包含112 212 個樣本數(shù)據,其中每個樣本又包含64 張大小為128×128的光度圖像及對應法向信息。DiLigent 數(shù)據集中包括多種非朗伯體,每個物體包括96 張光度圖像與真實的法向信息。
將合成的兩個數(shù)據集按照9∶1的比例分成訓練集與驗證集,為進一步提高網絡擬合性能,在訓練過程中進行實時的數(shù)據增強:隨機將圖像寬/高比縮放到[32,128]范圍內,之后隨機裁剪成大小為32 × 32的圖像塊進行訓練。最后,本文以32 張圖像作為一個批次進行訓練與測試。
本文對于光度立體視覺技術生成的法向信息圖采用的評價標準是平均角度誤差(Mean Angular Error,MAE)與均方誤差MSE。為驗證本文算法的有效性及公平性,在DiLigent 數(shù)據集上與傳統(tǒng)的未標定算法WT13[20]、LC18[13]、PF14[21]以及基于深度學習的UPS-FCN[6]進行比較,結果如圖2 所示,其中本文方法為紅線部分。
由圖2 可知,本文算法的綜合MAE 達到最低,比UPSFCN 降低了1.92%。本文算法處理的pot2、buddah、reading、cow 以及harvest 數(shù)據相比其他算法獲得了更好的效果,而ball、cat、pot1、bear 以 及goblet數(shù)據得到的MAE結果都比UPS-FCN低1%~2%。同時,本文算法在處理局部細節(jié)比較光滑的非朗伯體pot2 時結果比之前的最優(yōu)算法還低2%。本文算法優(yōu)于UPS-FCN的原因在于:①多尺度聚合能更好地使多張圖像的局部特征與全局特征融合;②微調模塊通過殘差網絡可在生成的法向信息圖基礎上進一步改善生成細節(jié);③生成對抗網絡相較于卷積神經網絡,在生成類任務上,其對抗損失有助于在訓練網絡時跳出局部最優(yōu)解,從而實現(xiàn)新的最優(yōu)解。
Fig.2 Comparison of MAE values of each method圖2 各算法平均角度誤差值比較
同時為進一步評估真實法向信息與估計法向信息之間的差異,同樣在DiLigent 數(shù)據集上測算各種方法的MSE誤差,如表1 所示。通過比較發(fā)現(xiàn),本文算法在多個非朗伯體上的MSE 最小。相較于UPS-FCN 算法,MSE 下降了1.43%,其中pot2、buddah、goblet、reading、cow 以及harvest 都比最優(yōu)算法下降了多個百分點,雖然在ball、cat、pot1、bear數(shù)據上沒有達到最佳效果,但重建的法向信息誤差也優(yōu)于其他算法。通過兩個定量實驗數(shù)據對比可以發(fā)現(xiàn),本文算法在非朗伯體材料的未標定光度立體視覺研究中取得了不錯的效果。
最后,將本文算法與UPS-FCN 進行定性分析,結果如圖3 所示。其中,GT Normal 列代表真實的法向信息,2、3 列分別為UPS-FCN 生成法向圖與真實法向圖之間的誤差圖,4、5 列為本文算法得到的法向圖及其誤差圖。其中,低誤差表現(xiàn)為藍色,高誤差表現(xiàn)為紅色。定性與定量分析結果表明,本文算法使得未標定的光度立體求法向圖的效果得到進一步改善。
Table 1 MSE error comparison of various methods on DiLigent dataset表1 在DiLigent 數(shù)據集上各種方法的MSE 誤差比較
Fig.3 Comparison of error visualization of the proposed algorithm and UPS-FCN algorithm圖3 本文算法與UPS-FCN 算法誤差可視化比較
為驗證損失函數(shù)與網格結構的有效性,本文將UPSMRGAN 與其消融版本進行比較:
(1)w/o Res:代表移除微調模塊。殘差結構的移除將網絡重新蛻變成單階段的網絡,相應損失函數(shù)Lnormal的結構也發(fā)生了變化。
(2)w/o MS:代表移除多尺度聚合。將結構中的跳躍連接移除,退化成簡單的卷積神經網絡。
(3)w/oLD:代表移除判別器,不采用生成對抗模式進行訓練。
(4)w/oLnormal:代表移除余弦相似度損失函數(shù)。移除后,兩階段訓練也變成了單階段訓練,生成器的損失函數(shù)僅為對抗損失。
本章對上述模型進行訓練,最后針對DiLigent 數(shù)據集進行定量與定性分析。消融實驗的定量實驗結果如表2 所示。
Table 2 MAE value of ablation test results表2 消融實驗結果的MAE 值
選取兩個單獨對象與整個數(shù)據集綜合的MAE 值,定性結果選取其中一個對象,消融實驗對比結果如圖4 所示,其中上部分為生成的法向圖,下部分為與真值(Groundtruth)進行比較的誤差圖。實驗結果表明,完整的網絡模型可獲得最佳性能。如圖4(a)所示,當移除了微調模塊,法向信息圖的狹縫區(qū)域會產生偽影,表明微調模塊通過殘差塊從細節(jié)中微調了法向信息,使得結果更為精確。
Fig.4 Comparison results of ablation experiments圖4 消融實驗對比結果
為進一步驗證其作用,本文重新訓練了一個網絡UPSFCN+Res,將本文訓練的微調模塊添加到UPS-FCN 網絡中,如表3 所示。通過對比發(fā)現(xiàn),微調模塊同樣可提高UPS-FCN 網絡估計法向信息的精度值。當缺少對抗訓練時,生成器由于尚未完全收斂,通常會產生一些較大的細節(jié)錯誤,這是因為對抗訓練可加快生成器的收斂速度,使得模型性能更優(yōu)。當缺少了多尺度融合時,相較于完整模型,MAE 值上升了1%,而且在處理具有明顯凹陷區(qū)域的harvest 時效果最差,這是由于局部特征無法更全面地學習到法向信息。
Table 3 Impact of Res module on the network表3 Res 模塊對網絡的影響
同時,本文的全損失函數(shù)也達到了最佳性能。如圖4(d)與表2 所示,Lnormal可保持像素級別差異的最小化,缺省后物體的法向信息會產生較為模糊的效果。
光度立體技術對于恢復非朗伯空間形狀具有重要意義。本文基于生成對抗網絡進行模型搭建,通過MUPS 網絡、微調模塊及生成對抗模塊進行訓練。實驗結果證明,該方法可實現(xiàn)更高精度的法向信息圖,在處理局部細節(jié)比較光滑的非朗伯體上也展現(xiàn)出良好的訓練效果。但是,本文是從圖像中直接提取特征學習法向信息圖的映射,而忽略了光源信息的重要性。因此,下一階段的工作是通過圖像學習到光源信息的映射后,再學習其與法向信息圖之間的映射。此外,未來還將充分考慮處理多種混合材質的問題,以進一步提升光度立體算法的泛化性能。