王云艷,朱鎮(zhèn)中,熊 超
(1.湖北工業(yè)大學(xué) 電氣與電子工程學(xué)院,武漢 430068;2.襄陽湖北工業(yè)大學(xué)產(chǎn)業(yè)研究院,湖北 襄陽 441100)
多視圖立體匹配(MVS)是計算機視覺領(lǐng)域中一個重要的問題,其目的是在多張已知相機姿態(tài)和固有參數(shù)的圖像中,重建觀察場景或?qū)ο蟮母呔?D幾何模型。多視圖立體匹配在很多領(lǐng)域都具有非常廣泛的應(yīng)用,如自動駕駛[1]、醫(yī)學(xué)圖像處理[2]、虛擬現(xiàn)實[3]、文化遺產(chǎn)保護[4]和衛(wèi)星空間成像[5]等方面,因此研究多視圖立體匹配問題具有重要的實際意義。
在多視圖立體匹配任務(wù)中,關(guān)鍵的問題就是如何找到相關(guān)圖像像素的對應(yīng)點。在傳統(tǒng)的三維重建算法中,通過雙側(cè)光度一致性[6-7]來改善遮擋邊界的行為,或者利用空間一致性[8]約束來提取真實的深度,或者利用補償機制[9]對深度值進(jìn)行優(yōu)化。上述方法在用朗伯曲面進(jìn)行場景重建時,已經(jīng)取得了很大的成功。傳統(tǒng)方法都是采用一些人為設(shè)定的規(guī)則來對深度值進(jìn)行過濾和采集的,但是面對一些透明、反光的物體,效果就會特別不理想。隨著神經(jīng)網(wǎng)絡(luò)的發(fā)展,人們提出了各種基于學(xué)習(xí)的重建方法,越來越多的學(xué)者將卷積神經(jīng)網(wǎng)絡(luò)運用到MVS方法[10]中。李健等[11]在傳統(tǒng)方法中用卷積網(wǎng)絡(luò)進(jìn)行改進(jìn),融入深度特征,提升場景重建的魯棒性。Ji等[12]提出了基于體素的SurfaceNet,將整個空間分解成立方體,并以立方體為單位對曲面進(jìn)行回歸。這些方法都是利用卷積神經(jīng)網(wǎng)絡(luò)結(jié)合全局語義信息來實現(xiàn)重建的,基于學(xué)習(xí)的方法能學(xué)習(xí)場景的全局語義信息,包括物體材料、鏡面、三維幾何先驗和環(huán)境照明,可獲得更完整的重建。隨后Yao等[13]提出的MVSNet采用一種端到端的訓(xùn)練策略,將代價體用于3DCNN正則化進(jìn)而深度回歸形成深度圖。Point-MVSNet[14]中采用直接基于點的匹配代價體的方法。R-MVSNet使用循環(huán)神經(jīng)網(wǎng)絡(luò)來聚合代價體上下文信息。但是無論是基于學(xué)習(xí)的傳統(tǒng)方法改進(jìn)還是基于學(xué)習(xí)的重建方法往往都存在一些問題,在一些網(wǎng)絡(luò)中,只有高層次特征被用于深度估計,所學(xué)的模型缺乏空間信息,這可能會降低物體的重建精度,而且大多數(shù)的MVS方法都是利用3DCNN來預(yù)測深度圖或體素占有率的。但其占用的內(nèi)存消耗隨圖片分辨率的增長呈立方體的增加,由此無法進(jìn)行高分辨率圖像的重建工作。在代價體的學(xué)習(xí)中未考慮通道之間的相關(guān)性,不利于網(wǎng)絡(luò)完整學(xué)習(xí)到更加豐富的特征,重建的效果仍然有很大的上升空間。
為了解決上述問題,設(shè)計了一種基于路徑聚合(PA)的特征提取模塊和基于改進(jìn)SE的代價體正則化過程的級聯(lián)網(wǎng)絡(luò)PAA-MVSNet,采用端到端深度估計網(wǎng)絡(luò)框架CasMVSNet[15]為基準(zhǔn)網(wǎng)絡(luò)。具體來說,借助PANet[16]的思想,引入深淺層特征聚合的特征提取模塊,可在不同尺度上進(jìn)行特征提取,更有效地提取圖像的多尺度特征。自下而上的多尺度融合方式,利用準(zhǔn)確的低層定位信號增強整個特征層次,從而縮短了低層與頂層特征之間的信息路徑。引入了YOLO網(wǎng)絡(luò)中的C3塊和SPP模塊,在保證速度的前提下,提高了重建精度??紤]到通道之間具有關(guān)聯(lián)性,讓網(wǎng)絡(luò)學(xué)習(xí)到通道之間的交叉特征,在正則化模塊中每兩個相同的代價體之間插入一個改進(jìn)的SE注意力模塊,通過自適應(yīng)學(xué)習(xí)通道注意力機制,強化重要的通道特征,將不重要的特征弱化,提升深度估計的準(zhǔn)確率,以達(dá)到改善重建的效果。秉持由粗到精的思想,通過3個階段來生成估計深度圖。在第一階段中從數(shù)據(jù)集中獲取像素的深度范圍,用低尺度特征投影到空間形成代價體,再經(jīng)過注意力機制特征加強的正則化網(wǎng)絡(luò)預(yù)測一個粗糙的深度圖,然后通過第一階段預(yù)測的深度值來縮小深度范圍。以此類推,隨著分辨率和深度間隔的自適應(yīng)調(diào)整,最終輸出高分辨率深度圖。與現(xiàn)有的方法相比,重建場景的精度和完整性得到了很大的提升。
傳統(tǒng)的MVS方法主要采用光度一致性來推斷物體的幾何結(jié)構(gòu),但是在一些無紋理、反光區(qū)域表現(xiàn)不太理想。為了解決這一難題,許多基于學(xué)習(xí)的MVS算法應(yīng)運而生。Yao等[13]構(gòu)建的MVSNet模型取得了令人印象深刻的效果,通過對圖像進(jìn)行特征提取,然后投影到空間中構(gòu)建代價體,再經(jīng)過正則化和深度圖優(yōu)化得到深度圖,融合多個視圖的估計深度圖來構(gòu)建3D模型。該算法的內(nèi)存需求與輸入圖像分辨率成立方比,雖然取得較理想的效果,但是昂貴的計算成本讓很多人望而卻步。而且該模型也不能利用高分辨率圖像上的所有特征信息。為了實現(xiàn)高分辨率圖像重建,后人在減少計算資源和提高特征提取效果方面做了很多工作。Yao等[17]提出了利用GRU單元對代價體進(jìn)行有序正則化,減少了內(nèi)存需求,但增加了運行時間。Cvp-MVSNet[18]和Cas-MVSNet構(gòu)建了金字塔結(jié)構(gòu),采用級聯(lián)網(wǎng)絡(luò)來由粗到精的三段式生成深度圖,通過自適應(yīng)深度調(diào)整,不僅減少了內(nèi)存消耗,而且在精確度和完整性上也取得了一定的提高。Fast-MVSNet[19]通過構(gòu)建一個稀疏代價體來學(xué)習(xí)稀疏的高分辨率深度圖,利用小尺度卷積對局部區(qū)域像素的深度依賴進(jìn)行編碼來密化稀疏的深度圖,也一定程度上減少了內(nèi)存占用,但是重建的精度并不太理想。楊碩等[20]將BN層轉(zhuǎn)換成Inplace-ABN層,節(jié)省大量的內(nèi)存消耗,再利用改進(jìn)的GRU模塊構(gòu)建正則化模塊實現(xiàn)信息的重建與更新,最后使用L-M層實現(xiàn)細(xì)化,但還是存在一些信息的缺失,因為將原始圖像采樣為不同分辨率的圖像,會導(dǎo)致信息的丟失,影響最后的準(zhǔn)確性。劉萬軍等[21]采用了雙U-Net結(jié)構(gòu)來獲得更加完整和準(zhǔn)確的特征信息,再通過代價體分層融合結(jié)構(gòu)來使每級代價體之間實現(xiàn)信息互通,從而提高重建精度。隨著注意力機制的廣泛應(yīng)用,將注意力模塊應(yīng)用到重建網(wǎng)絡(luò)中也取得了不錯的效果。劉會杰等[22]在每一級特征提取中均加入注意力層,以捕獲深度推理任務(wù)的遠(yuǎn)程依賴關(guān)系。謝琪琦等[23]將注意力引入代價體正則化中也取得了較好的效果。受上述研究的啟發(fā),設(shè)計了一個基于路徑聚合的帶有空間金字塔池化的特征提取網(wǎng)絡(luò),并在正則化模塊之間添加了一個自適應(yīng)通道注意力模塊,以保存較多的信息特征,從而更好地重建深度圖。
PANet(path aggregation network)是一種用于目標(biāo)檢測的神經(jīng)網(wǎng)絡(luò)架構(gòu),它是由JiFeng Dai等在2018年提出的,意為路徑聚合網(wǎng)絡(luò)。它的主要目的是解決目標(biāo)檢測任務(wù)中多尺度物體檢測問題。在傳統(tǒng)的檢測方法中,需使用多個不同的尺度特征圖進(jìn)行檢測,導(dǎo)致了模型計算量大、速度慢、結(jié)構(gòu)復(fù)雜等問題。而PANet通過特定的結(jié)構(gòu)來實現(xiàn)多尺度特征圖的融合,將不同尺度的特征圖分別傳遞到不同的路徑,然后逐級聚合將它們?nèi)诤显谝黄?。這種方法可使得模型具有多尺度的感受野,從而檢測不同大小的物體。PANet是一種優(yōu)秀的目標(biāo)檢測模型。
注意力機制是一種模擬人類認(rèn)知機制的方法,已廣泛應(yīng)用于自然語言處理[24]、計算機視覺等領(lǐng)域。SE(squeeze and excitation)模塊[25]是一種用于卷積網(wǎng)絡(luò)表達(dá)增強的技術(shù),可在不增加網(wǎng)絡(luò)復(fù)雜度的情況下提高網(wǎng)絡(luò)的性能。它先通過壓縮操作,即全局池化操作來提取每個通道特征圖的全局統(tǒng)計信息,再通過激勵操作自適應(yīng)地調(diào)整每個通道的權(quán)重,以增強網(wǎng)絡(luò)對于特征的表達(dá)能力。同時,SE模塊很容易集成到現(xiàn)有的網(wǎng)絡(luò)結(jié)構(gòu)中。
構(gòu)建的PAA-MVSNet網(wǎng)絡(luò)模型架構(gòu)如圖1所示?;赑ANet的思想設(shè)計特征金字塔結(jié)構(gòu),將高級特征與低級特征進(jìn)行路徑聚合操作,使得模型具有多尺度的感受野,隨后提取了3種不同尺度的特征構(gòu)成級聯(lián)網(wǎng)絡(luò)。然后將低分辨率的特征投影到假設(shè)平面上,考慮通道之間的關(guān)聯(lián)性,在代價體網(wǎng)絡(luò)結(jié)構(gòu)中加入自適應(yīng)通道注意力,從而得到更為準(zhǔn)確的概率體來預(yù)測深度圖。再將得到的低分辨率深度圖進(jìn)行上采樣操作,以用于下一階段的深度圖的構(gòu)建。
圖1 構(gòu)建的PAA-MVSNet網(wǎng)絡(luò)模型架構(gòu)
與之前的工作類似,輸入N張圖像,一張為參考圖像,其余N-1張為源圖像。為了解決不同尺度下特征之間關(guān)聯(lián)性差的問題,設(shè)計一種多級網(wǎng)絡(luò)模型,如圖2所示。隨著網(wǎng)絡(luò)的加深,圖像的分辨率也進(jìn)行了相應(yīng)的縮小和放大??紤]到網(wǎng)絡(luò)越深,丟失的信息越多,所提網(wǎng)絡(luò)使用了很多跳躍連接,將每次上采樣的結(jié)果與前面相同尺寸的特征相結(jié)合,實現(xiàn)高、低級特征聚合,更能準(zhǔn)確地提取圖像的特征。
在所提網(wǎng)絡(luò)中,對于所有輸入尺寸為640×512的RGB圖像,首先通過卷積將原始圖的通道數(shù)轉(zhuǎn)換為8通道,再經(jīng)過1個C3塊,C3塊由1個1×1的卷積和2個3×3的卷積組成,每個卷積之間都有1個批量歸一化和激活函數(shù)。1×1的卷積用于降低通道數(shù),減少計算量;而3×3卷積層用于提取特征和降低圖像分辨率。C3塊使用了多層卷積層,可在不增加圖像分辨率的情況下增加感受野,從而提高特征提取能力。重復(fù)2次以上操作,生成32通道的特征圖,分辨率降低為原來的1/16。再經(jīng)過SPP(空間金字塔池化模塊),獲取由卷積層生成的特征圖,并在多個尺度上對其進(jìn)行池化,從而使模型能捕捉不同級別的對象信息,從而可提高其整體精度。如此,得到了原始圖像大小的1、1/4、1/16的特征映射,分別對應(yīng)的是8、16、32通道數(shù)。然后經(jīng)過上采樣操作,逐步恢復(fù)特征分辨率,將相同尺寸的特征層結(jié)合,形成比較厚的特征,繼續(xù)C3塊的操作,輸出3個尺度的特征層。這樣自上而下和自下而上的結(jié)構(gòu)相結(jié)合地提取模塊可保留豐富的細(xì)節(jié)特征,利用concat操作可更好地恢復(fù)一些丟失信息,從而使后續(xù)的深度估計任務(wù)結(jié)果更加準(zhǔn)確和完整。
與以前許多MVS網(wǎng)絡(luò)一樣,運用單應(yīng)性變換將先前提取的特征映射到每個深度上構(gòu)建3D成本代價體,此操作將所有特征圖扭曲到參考相機視錐體中的不同正交平面上,類似于經(jīng)典的平面掃描立體視覺,并且深度范圍通常是根據(jù)稀疏重建確定的。變換是由單應(yīng)性矩陣定義的:
(1)
式中:Hi(d)為第i個特征圖與深度d處參考特征圖之間的單應(yīng)性變換;Ki、Ri、ti為相機的內(nèi)參、外參和平移;n0為參考相機的主軸。然后使用可微分單應(yīng)性變換將2D特征圖變形為參考相機的假設(shè)平面,形成特征體。為了將多個特征體融合,采用基于方差的成本度量方法,以適應(yīng)任意數(shù)量N的輸入特征:
(2)
考慮到SE模塊的靈活性和高效性,將該模塊引入代價體正則化網(wǎng)絡(luò)結(jié)構(gòu)中。代價體正則化的功能是對代價體進(jìn)行平滑處理,以減小代價體中噪聲和異常值。將注意力機制整合到正則化步驟中可幫助集中注意力于代價體的重要區(qū)域,忽略不重要特征或者噪聲信息。設(shè)計了一個SE+模塊,并引入正則化模塊中,如圖3所示。在原始的SE模塊中,通過Squeeze、Excitation和Reweight操作可實現(xiàn)為每個通道分配權(quán)重,但該權(quán)重僅考慮單個通道的信息,沒有考慮任意2個通道之間的關(guān)系。為此,研究SE+模塊來綜合考慮每個通道之間的相互關(guān)系后再為特征圖分配權(quán)重,在此基礎(chǔ)上將殘差思想引入SE+模塊。給定一個特征圖Fe,整個過程可定義為:
圖3 基于SE+的代價體正則化模塊
Oe=Sigmoid(Linear(Sum(GAP(Fe)?
GAP(Fe)T))+GAP(Fe))⊙Fe
(3)
其中,GAP表示全局平均池化操作,Sum表示將所有行添加到第一行。在反饋入線性層之前,所提出的方法獲得了注意力圖M。M中的每個元素都是2個通道的全局平均池化的乘積,如A21表示第2個通道和第1個通道的乘積。通過Sum運算,每個通道都能感知所有通道的信息。
本文構(gòu)建了3層級聯(lián)結(jié)構(gòu),并關(guān)注每一級的損失,總損失定義如下:
(4)
式中:Lk為第k階段的損失;λk為對應(yīng)的損失權(quán)重,與CasMVSNet相同,損失權(quán)重分別設(shè)置為0.5、1和2。
所提模型在DTU數(shù)據(jù)集上進(jìn)行訓(xùn)練。DTU是1個大型數(shù)據(jù)集,包含受控實驗室環(huán)境中的128個場景,其模型使用結(jié)構(gòu)光掃描儀捕獲信息。在7種不同的照明條件下,在相同的49或64個相機位置掃描每個場景,生成分辨率為1 200×1 600像素的RGB圖像。由于數(shù)據(jù)集涵蓋了各種對象和材料,因此非常適合在現(xiàn)實條件下訓(xùn)練和測試深度學(xué)習(xí)MVS方法。為了證明網(wǎng)絡(luò)的擴展性,在Tanks and Temples數(shù)據(jù)集上直接進(jìn)行測試。與實驗室設(shè)置良好的DTU數(shù)據(jù)集不同,Tanks and Temples數(shù)據(jù)集包含真實的戶外場景,但室外一些不可抗因素,導(dǎo)致該數(shù)據(jù)集比DTU數(shù)據(jù)集復(fù)雜得多。該數(shù)據(jù)集由8個不同的場景組成,用于驗證所提模型的泛化能力。
所提模型初始圖像的分辨率大小為640×512,該網(wǎng)絡(luò)由粗到精分為3個階段,深度假設(shè)層數(shù)為48、32、8,3個尺度下的特征圖分辨率逐漸增加,分別為原始輸入圖像大小的1/16、1/4和1。實驗遵循與MVSNet相同的輸入視圖選擇和數(shù)據(jù)預(yù)處理策略,使用Adam優(yōu)化器,其中β1為0.9,β2=0.999。初始學(xué)習(xí)率設(shè)置為0.001,在10、12和14個時期后,學(xué)習(xí)率減半。該模型在batchsize設(shè)為1的單個NVIDIA3060顯卡上進(jìn)行訓(xùn)練。
為了證明所提模型的有效性,通過DTU數(shù)據(jù)集提供的Matlab代碼來計算重建模型的準(zhǔn)確性(accuracy,Acc)誤差、完整性(completeness,Comp)誤差和整體性(Overall)誤差,其中Overall是Acc和Comp的總和平均值。這3個指標(biāo)越低表示重建效果越好。DTU評估集定量結(jié)果如表1所示。
表1 DTU數(shù)據(jù)集上的定量評估結(jié)果 mm
由表1可看出,相比于CasMVSNet,所提模型在Acc上降低5%,Comp上降低1.04%,與其他模型相比,Acc和Comp排名也比較靠前,由此證明了所提模型改進(jìn)的有效性。
在生成點云質(zhì)量方面,選用了CasMVSNet、EPPMVSNet[26]、PAA-MVSNet和Gound Truth進(jìn)行細(xì)節(jié)對比,選用scan10和scan62兩個場景。3種模型的點云效果圖如圖4所示??梢钥闯?CasMVSNet和EPPMVSNet所生成的點云均有不同層次的缺失,而所提方法相較于上述方法,消除了很多噪音的影響,更加專注于物體自身的重建。同時,框內(nèi)重建模型的細(xì)節(jié)表現(xiàn)地更好,完整性也得到了較好的改善。
圖4 scan10和scan62可視化對比
為了進(jìn)一步的驗證所提計模型的可擴展性,使用在DTU數(shù)據(jù)集上訓(xùn)練的模型在Tanks and Temples數(shù)據(jù)集上重建點云,輸入圖像大小為1 920×1 080,視圖數(shù)N為7,使用F-scoce作為評估指標(biāo),以衡量重建的性能。隨后將所提方法與目前主流的方法進(jìn)行比較,定量結(jié)果如表2所示。
表2 Tanks and Temples數(shù)據(jù)集定量結(jié)果
從表2可以看出,所提模型在大部分場景都取得了不錯的結(jié)果,各種指標(biāo)結(jié)果均靠前,這充分證實了所提方法的泛化性。重建可視化圖如圖5所示??煽闯?產(chǎn)生的點云效果良好,并在視覺上得到了吸引人的效果。
為了進(jìn)一步驗證設(shè)計模塊的有效性,進(jìn)行了消融實驗和定量分析,以評估設(shè)計模型中每個部分對最終重建質(zhì)量的影響。針對提出的基于路徑聚合的特征提取網(wǎng)絡(luò)和代價體注意力模塊2種改進(jìn),在DTU數(shù)據(jù)集上進(jìn)行了4組對比實驗。由于研究是針對CasMVSNet的改進(jìn),因此實驗包含CasMVSNet、CasMVSNet+PA特征提取模塊、CasMVSNet+代價體注意力模塊和最終版模型,并使用準(zhǔn)確性和完整性結(jié)果衡量重建質(zhì)量。
表3展示了實驗結(jié)果。可看出,在準(zhǔn)確性和完整性方面,所提出的2種改進(jìn)都對結(jié)果有相應(yīng)提升,因此所提模型設(shè)計是有意義的。消融深度估計圖如圖6所示。對每個實驗估計的深度圖進(jìn)行對比,可見在添加了改進(jìn)模塊后,相較于原方法及添加單個改進(jìn)方法,所提方法在消除周邊噪聲起到了良好的作用,重建物體邊緣的平滑度也有所提升。
表3 消融評價指標(biāo)的實驗結(jié)果
圖6 消融深度估計圖
提出了一種基于路徑聚合(PA)的特征提取模塊和基于SE+的代價體正則化網(wǎng)絡(luò)方法,通過改進(jìn)CasMVSNet的特征提取模塊和代價體正則化模塊對物體進(jìn)行3D重建工作。借鑒了PANet提出的路徑聚合的思想和YOLOv5中的空間池化模塊,同時考慮到通道之間的相關(guān)性,在代價體正則化中加入改進(jìn)的SE+模塊,較全面地學(xué)習(xí)特征,專注于學(xué)習(xí)重要信息進(jìn)行深度推理,從而捕獲優(yōu)質(zhì)特征用于重建工作。實驗證明,改進(jìn)的網(wǎng)絡(luò)明顯提升了原網(wǎng)絡(luò)CasMVSNet的精度,但是研究專注于提高模型改進(jìn)后的精度,以內(nèi)存消耗和運行時間為代價,不管是特征提取網(wǎng)絡(luò)還是正則化板塊,都相應(yīng)地增加了模型的訓(xùn)練時間,因此在保持相同精度的同時有效減少內(nèi)存消耗和運行時間成為后續(xù)工作的主要目標(biāo)。