基于可見光單圖像三維結構恢復方法綜述
文:梁炎興 王映輝 江南大學人工智能與計算機學院2022年第2期
基于可見光單圖像的三維重構方法一直是計算機視覺領域的研究熱點,該文從光照物體的材質和結構差異,以及成像過程中信息損失等因素著手,對基于光照模型、基于幾何圖元以及基于深度學習策略的三維重建方法進行了分類和概述,并分析討論各類方法的優缺點以及未來的研究方向。
1 引言
從二維圖像重建出三維結構作為計算機視覺的一個重要研究領域,已取得豐富的成果。其主要任務是通過相機獲取物體的二維圖像信息,利用三維重建的相關理論分析處理、恢復真實物體的表面形貌。該技術廣泛應用于人工智能、機器人、無人駕駛、虛擬現實、航空遙感測量、工業自動化等重要領域。目前,許多基于多圖像的三維恢復方法已被提出并得到廣泛應用。雖然基于單圖像的三維恢復方法因其病態性而更具難度, 但其方便性一直受到業界和學術界的關注。尤其是基于可見光( 波段在 380 ~ 760 nm 區間的肉眼可見光 ) 而非結構光、紅外激光、超聲波等方式的單圖像,其自身已經丟失很多關鍵幾何信息,需要通過一些假設、先驗知識,或借助基于已有模型的深度學習方法實現三維恢復。
總的來說,基于可見光單圖像的三維恢復存在以下影響因素和困難:
(1) 物體自身的材質差異。不同材質的物體因微觀分子結構不同,呈現出不同的表面特性,如金屬、白紙、玻璃等。如果只考慮某種特定材質的物體,往往會使三維恢復系統缺乏泛化性和魯棒性,而針對多個類別會因較大的類內差異和較小的類間差異導致重建精度下降。
(2) 物體表面的幾何結構差異。點、線、面代表了不同維度的幾何結構,這些基本幾何結構元素的組合構成了物體的表面形貌。同一個物體的不同區域,因物體表面凹凸、高低程度的不同,造成表面結構、輪廓的差異。即使是同種材質的不同物體,也會因制造工藝、設計外形等因素導致物體表面的幾何結構有較大的差異。
(3) 圖像信息采集的損失。真實世界中的物體往往受到環境的影響,存在高光、陰影、遮擋、非剛性變形等現象,加上相機拍攝角度、距離、鏡頭畸變、投影等因素,導致圖像本身的信息損失甚至錯誤,干擾三維恢復的數據輸入。
基于單圖像的三維結構恢復是一個不確定性問題,即病態性問題,僅靠單幅圖像無法得到唯一確定的三維恢復結果,如何利用一定的先驗知識和預標定數據集,來指導和約束三維重建是一大難點。
基于以上困難,國內外許多研究成果給出了不同的解決方案和方法,概括起來包括:基于光照模型的方法、基于幾何圖元展布規律的方法和基于深度學習的方法。
2 基于光照模型的方法
2.1 基于紋理的形狀恢復方法
從紋理恢復形狀 (Shape from Texture,SfT) 的方法,是由 Gibson 于 1950 年首次提出,它是一種根據物體表面紋理變化來推算表面形變情況,進而恢復出物體三維結構的方法。為了簡化模型使其可計算,通常假定物體表面在一個水平面上, 此時該方法將問題轉變為估算物體所在平面的法向量。之后, 該方法逐漸從平面擴展到光滑連續曲面。
應用 SfT 方法必須滿足以下先驗條件:(1) 紋理由規則的紋理單元組成,并假定這些單元具有完全一致的固定形狀 ( 通常只有人工構造的規則圖案才滿足該要求 );(2) 紋理分布具有均勻性,即紋理密度相同;(3) 紋理圖像能夠轉換成基于頻域的表示;(4) 紋理具有各向同性特性或隨機相位特性。由于該方法限制條件嚴格,通用性弱,且紋理圖案極易受到光照、陰影的影響,導致其準確性較低。該方法逐漸被基于明暗的形狀恢復方法所代替。
2.2 基于明暗的形狀恢復方法
基于明暗的形狀恢復 (Shape from Shading,SfS) 方法是計算機視覺領域中三維結構恢復的重要方法之一。該方法最早由 Horn[14] 于 1986 年提出,其基本過程是借助一定的成像模型,從單幅圖像的明暗變化出發,根據表面點的亮度取決于入射光線和表面法線之間的角度這一物理定理,通過施加約束條件求解物體表面的梯度場,進而由積分梯度的方式得到表面起伏高度值。基于 SfS 方法的系統具有設備簡單、分辨率高、適用性強等優勢,在工業生產過程檢測、醫學圖像分析與重建、人臉與指紋等生物特征識別、星球表面形貌重建等領域得到廣泛的應用。
2.2.1 經典的 SfS 方法
由于物體表面的明暗極易受到光源、形狀、材質特性,以及相機或視點的角度、距離、參數等因素的影響,因此經典的SfS 方法需滿足以下前提假設:(1) 表面微觀結構需要抽象為一種朗伯特反射模型;(2) 物體表面各點的光照反射特性一致, 且反射系數已知;(3) 光源為無限遠處的點光源;(4) 物體表面與相機距離較遠,成像幾何關系滿足正交投影。
如圖 1 所示,由朗伯特反射模型可知,反射光的強度與入射光的強度,以及入射光與體表面法向量之間夾角的余弦值成正比,如公式 (1) 所示:
(1)
其中,x 和 y 為圖像的二維坐標;為漫反射光強度;
為光源強度;ρ 為表面反射系數;θ 為入射光與表面法向量之間的夾角。
若以相機坐標系為參照系,設物體表面起伏高度為,則物體表面的法方向可通過表面各點的法向量
和表面梯度
表示,它們之間的關系如公式 (2)~(3) 所示:
(2)
(3)
由公式(1) ~ (3) 可知,朗伯特反射模型可由公式(4) 表示:
(4)
其中,為歸一化的圖像亮度;
為反射函數; p0 和 q0 為反射點沿光源方向的向量。
通常,僅由該模型無法確定其唯一解,因此,必須建立聯合表面反射模型和表面微觀結構模型的正則化模型,對上式進行進一步約束和求解。
根據建立正則化模型方式的不同,SfS 算法大致可分為最小值方法、演化方法、線性化方法和局部方法等 4 類典型算法。
(1) 最小值方法
最小值方法就是將物體表面反射模型推導出的亮度方程和物體表面微觀結構模型聯合表示成一個能量函數的泛函極值問題或最優化問題,以求得最小值解或近似解。由于二維圖像數據與由反射模型所確定的物體表面亮度之間存在誤差,該方法首先將亮度方程轉化為誤差函數的形式;然后結合不同的約束條件
( 如光滑性約束、可積性約束、圖像梯度約束等 ),聯立得到新的泛函極值函數,并應用交錯網格方法或三角面元逼近方法將其離散化 ;最后利用 GaussSeidel
迭代方法得到物體表面梯度和表面起伏高度 Z 的網格點值。
(2) 演化方法
演化方法的核心是利用動力學思想,將 SfS 的泛函求解問題看作是一個 Hamilton 系統方程問題。當給定初值或邊界條件時,該方程就轉化為一個柯西初值問題或狄利克雷邊界問題。這類問題通常可以利用特征線方法、Viscosity 方法、Level Sets 方法等方法進行求解。其中,確定圖像中唯一形狀的特征點是關鍵,該點是演化過程開始的起點。演化過程從起點開始,搜索鄰近點,找出其中遠離光源方向的所有點,并從中篩選出離光源方向最近的點,再沿著該方向構成的演化路徑計算圖像中每一點的高度值,從而得到整個表面的高度。由于演化過程是關于時間可微的,故應用演化方法求解 SfS 問題,實際上也隱含地利用了物體表面微觀結構模型。
圖 1 朗伯特反射模型示意圖
(3) 線性化方法
線性化方法是指通過對反射函數作泰勒展開后,舍去其非線性項,將其轉化為線性問題進行求解。該方法認為在反射函數中,低階項占主要成份,舍去高階項后的結果與真實情況接近,且滿足泰勒展開的要求,從而間接要求物體表面的高低變化滿足連續緩慢的特性。因此,先將表面反射函數表示為表面梯度的函數,并作泰勒展開,只保留常數項和一次項,兩邊同時進行傅里葉變換,然后根據光源方向的傾角和偏角對其進行改寫,再進行逆傅里葉變換,即可得到物體表面的高度值。
(4) 局部化方法
上述方法的求解過程是全局的,不能獨立得到物體表面的局部形狀表示。而局部化方法首先根據先驗知識假定物體表面微觀結構是一個特定的形狀 ( 如球形 );然后將反射模型與物體微觀結構模型聯合構成形狀參數的線性偏微方程組,通過尋找圖像特征點,旋轉圖像使其與光源方向在圖像平面上的投影方向一致,計算在該坐標系下表面點的傾角 γ 和偏角 θ;最后利用邊界條件迭代求解,即可直接確定物體的局部三維表面形狀。
綜上所述,經典 SfS 方法的算法復雜度高,對初始環境尤其是光照條件限制嚴格。朗伯特反射模型本身存在缺陷—— 理想漫反射的條件在現實中幾乎無法滿足,以此為基礎的各種計算方法必然存在較大誤差。但是,該類方法為其他方法奠定了許多光學和計算機渲染的理論基礎,如后改進的 SfS 方法。
2.2.2 后改進的 SfS 方法
經典的 SfS 方法使用簡化的成像模型 ( 如假設物體表面滿足理想反射、光源位于無限遠處、相機遵循正交投影模型等 ), 盡管降低了 SfS 方法的復雜性,但也直接導致了三維恢復結果的誤差較大。這是因為實際物體的表面并非理想的漫反射表面, 而是既含有漫反射又含有鏡面反射的混合表面。尤其是當相機距離物體表面較近時,相機不再滿足正交投影,而接近于透視投影,甚至還會發生陰影、遮擋等現象,從而對表面各點的亮度產生更大的干擾。同時,實際物體的表面材質是非均勻、各向異性的,使得物體表面各點的光照反射特性不一致,反射系數也會隨著表面起伏高度和凹凸發生變化。近年來,國內外諸多學者對經典的 SfS 方法展開了不同方面的研究和改進,衍生出許多突破前提假設的后改進的 SfS 方法。
(1) 基于表面微觀結構的方法
經典的 SfS 算法中一個最重要的前提假設是物體表面的光反射模型遵循朗伯特反射模型,該模型是一個高度簡化的理想模型,忽略了許多實際情況。因此,采用不同的表面微觀結構模型和反射模型,盡可能地覆蓋多種光照情況,可以大大提高三維恢復結果的精確性。Ahmed 等首次建立了 Ward 模型下的 SfS 圖像輻照度方程,并利用 Lax-Friedrichs 算法進行了求解。
Vogel 等提出了透視投影下基于 Phong 模型的混合表面SfS 方法的研究,如圖 2 所示,同樣使用了 Lax-Friedrichs 算法進行求解。Archinal 等基于數字表面模型利用月球軌道觀察相機捕捉到窄視角圖像,通過光電映射增強技術,改進了月球表面重建模型的細節。O’Hara 等使用朗伯特反射模型和Oren-Nayar 反射模型的混合模型,基于小孔成像相機模型, 實現了單圖像的火星地表重建。Yang 等提出摒棄簡單的反射模型,將基于徑向基函數的模型擬合到數據中,其實驗結果相比于朗伯特反射模型有明顯提升。
Camilli 等研究了如何使一些非朗伯特模型應用在 SfS 方法的適配性問題上,拓展了 SfS 方法的普適性。王國琿等提出一種基于牛頓 - 拉弗森法的 Blinn-Phong 混合表面模型的三維恢復快速 SfS 算法,相比于其他方法提高了求解效率。
(2) 基于光照反射率的方法
物體表面的凹凸和高度,可根據表面點的亮度變化,通過不同的反射模型計算得到。均勻的光照反射率假定物體表面是光滑的,忽略了現實的非均勻性和各向異性。對不同情況的反射率進行分類處理,有利于提高三維恢復的精度。
Samaras 等建立了具有分段恒定反射率的多視點 SfS 模型,并將其應用于人臉重建,提高了人臉模型的精細程度。Capanna 等使用最大似然估計方法來降低噪聲對不同材質的反射率的敏感性,并將其應用于重建 Lutetia 小行星中。Wu 等使用單幅圖像和不同的約束條件,從低分辨率表面模型中恢復出不同的反射率對應的不同形貌,結果表明可以達到和使用相對高分辨率圖像一樣的重建效果。
(3) 基于光源或相機與物體距離的方法
圖 2 使用 SfS 方法恢復莫扎特臉模
相機距離物體遠近的不同直接決定后續計算使用正交投影還是透視投影,從而影響三維恢復的精度。Herbort 等基于非朗伯特模型和可變反射率,通過主動距離掃描技術,不斷改變相機和物體之間的距離,實現三維物體恢復,同時增加距離懲罰項進行優化約束,保證其精度接近原始曲面,以提高三維恢復模型的細節。Liu 等仔細分析了光照方向和光源與物體的距離對三維結構恢復的影響,提出一種誤差預測模型。該模型揭示了光源與物體表面的距離和方位角如何影響三維恢復精度。實驗結果表明,在窄視角高分辨率相機采集的圖像中,其三維恢復結果優于其他同時期的方法。
相比于經典的 SfS 方法,基于光源或相機與物體距離的方法在三維結構恢復的結果上有明顯提升,可以根據不同的場景適應不同的重建要求。但良好的重建結果依賴于準確的先驗知識,包括對光照情況的綜合考慮、物體表面微觀結構的精確建模、相機與視點的角度關系等。對于小范圍的室內近距離單個物體,或結構簡單的星球宏觀地貌等,SfS 方法的三維恢復效果較好,而對于大范圍的復雜室外場景,恢復效果較差。為了提高室外場景的三維恢復效果,SfS 方法逐漸被以多視圖幾何理論為基礎的運動結構恢復 (Structure from Motion,SfM) 方法和同時定位與地圖生成 (Simultaneous Localization And Mapping,SLAM) 方法所取代,但這類方法不屬于基于單圖像范疇的三維結構恢復方法。
3 基于幾何圖元展布規律的方法
自然界中的部分物體,尤其是人造物體具有明顯的幾何規律,如重復的紋理、對稱的結構、規則的幾何拼接圖形、人造CAD 模型等。借助幾何規律這一重要特性,通過對單幅圖像
局部建模和全局拓展,就可以恢復出完整的三維模型。具體可分為利用二維幾何特征的方法和利用三維構造模型的方法。
3.1 基于二維幾何特征的方法
基于二維幾何特征的方法是指一個三維模型映射在二維平面上的幾何圖形具有諸如對稱、重復等規律,通過將一個單位圖元旋轉、平移或縮放就可以反推出整個三維模型。
該方法的第一步是定義和檢測這種規律,即需要對目標形狀或預先訓練的模型進行強約束。Wei 等對此提出了一般對稱性的概念( 包括平移對稱、旋轉對稱和反射對稱),Chertok、Lee 和 Loy 在二維圖像的對稱性檢測方面也做了許多工作。這些定義和方法針對特定的目標類 ( 如人臉,人體和汽車 ) 或某些特定場景 ( 如具有平面墻、天花板和地板的室內場景,具有重復圖案的平面場景 ) 取得了良好的效果。
第二步要針對鄰近像素進行強制光度匹配,使二維單位圖元重復拓展拼接形成三維模型的過程中,圖元之間的拼接處更加平滑自然。通常使用基于馬爾可夫隨機場 (Markov Random Field,MRF) 的立體優化來強制匹配像素之間的光度一致性,使用一個平滑項來懲罰像素鄰域之間的不一致性。第三步為了使圖元之間具有相互一致的深度值,還需要對三維模型的深度圖進行建模。Zabih 等定義多個圖像之間的交互集并強制可見性約束,Sun 等使用遮擋項來懲罰遮擋,這間接地使深度貼圖保持了一致。
基于上述 3 個重建步驟,許多學者提出了系統性框架。Wu 等提出一種側重于利用圖元重復性的框架,該框架能通過輸入單幅圖像,自動檢測重復區域,并將其以圖像中稠密像素匹配的形式恢復出三維模型,如圖 3 所示。該匹配關系由一個
圖 3 基于重復圖元的單圖像重建
區間圖表示,區間圖表示圖像中每個像素與其匹配像素之間的距離。為了獲得稠密的重復結構,該方法還提出了一個圖割來平衡高層次的幾何重復約束、低層次的光度一致性和空間平滑性約束,以消除重復拼接處的不一致性。Xue 等提出一種側重于利用圖元對稱性縮小搜索空間的框架,通過輸入一個對稱分段平面物體的單幅圖像,尋找所有的對稱線匹配對,然后基于對稱線和平面線,通過 MRF 恢復出深度圖,相比于其他方法計算效率更高。
相較于其他三維模型,中國古代建筑是一種典型的同時具備軸對稱和中心對稱特點的三維模型。王映輝教授團隊針對此類問題進行了詳細的研究,并提出了一種中國唐朝風格的古建筑建模方法。該方法只需要已知建筑物一個角的圖像,就可以根據其幾何特征規則恢復出完整的唐朝建筑三維模型,相比于其他方法具有數據量少、魯棒性強的特點。基于上述建模方法, 團隊更進一步提出一種基于構件提取的室內場景重建方法。該方法對幾何圖元規律進行了延伸和拓展,提出了模型構件理論。首先,利用形狀檢測和平面分解方法提取室內場景中基本形狀構件,用基于邊界檢測方法及基于有向包圍盒的方法實現室內場景中基本形狀構件的擬合;然后,選擇基本形狀構件集中最大的構件作為基準構件,以基準構件為中心尋找最佳的組合構件,對組合構件與標準模型庫的標準模型逐一匹配,尋找匹配度最高的構件組合,識別最佳組合構件組成的物體,并利用標
準模型庫中的對應標準模型進行替換;最后,完成室內場景的重建。該方法豐富了二維幾何特征的種類和表達方式,保證了場景物體構件提取的準確性和場景物體的形狀完整性,并提高了室內場景重建的準確性。
重復性和對稱性是一種簡單明確的先驗條件,只需知道一個圖元就可以根據規律重建出所有表面,大大減少了三維結構恢復的難度。但是,特定在一個三維模型上的圖元無法用于處理另一個三維模型。理想的約束條件應盡可能廣義,以適應更多的對象,但是也應盡可能嚴格,使問題收斂。
3.2 基于三維構造模型的方法
現實中有許多物體是具有簡單幾何構型的,如立方體、圓柱體等,也有許多物體是具有特殊固定形狀的,如人臉是由眼睛、鼻子、嘴巴、耳朵和面部構成的,汽車是由底盤、車輪、車殼構成的。這些模型的三維結構清楚明確,只需通過對基本幾何體拼接組合即可得到一個更大的復雜幾何體。因此,在三維恢復過程中,使用特定的三維構造模型代替通用的光照反射模型可以大大提高重建精度。基于三維構造模型的方法由待表示對象的參數模型組成,通過尋找最佳擬合時的輸入圖像和三維模型投影之間的參數來實現重建。
最早 Pentland 針對自然界中的常見物體提出了超二次曲面模型,為基于三維構造模型的方法奠定了基礎。隨后 Jia 提出了廣義柱體的概念,并對所有柱類外形進行詳細分類描述。 Gupta 等提出了針對方形物體的建模規則,如圖 4 所示,
將模型針對不同的應用場景進一步細化分類,提高了重建精度。Xiao 等隨后也提出了類似的建模規則。這些模型雖然都能對某種特定外形物體進行描述,但各模型的局限性太大,導致其適用面較為狹窄。王映輝等提出一種實現三維網格細化的可調多邊形方法,該方法首先通過將三角形的中心點映射到切線平面來生成映射點;然后將映射點按一定比例移動,逆時針連接, 得到切平面上的可調多邊形;最后形成可調三角形和四邊形來填充可調多邊形之間的間隙。該方法生成的細分曲面可以根據不同的運動系數靈活調整,相較于傳統超二次曲面模型具有較強的魯棒性和有效性。
隨著 CAD 技術的不斷成熟,基于 CAD 模型的方法逐漸涌現。該類方法通過建立一組對應點描述模型,可以有效地確定物體的近似視點,從而粗略表示任意物體的近似外形。此外, 還有基于 CAD 模型的非參數化重建的方法,但是該方法僅限于對預先分割好的在線商品圖像進行三維恢復,其局限性較大,
圖 4 基于三維模型解析圖的幾何重建
究其原因是因為沒有對模型的各個組成部分進行有效分割和內部特征表示。王映輝等提出一套多域物質體數據內部分界面提取方法和多域物質體數據內部結構特征表達方法。該方法通過構建有向骨架樹、提取骨架形狀特征和脊骨特征,借助樹形結構拓撲進行向量表示,實現了體數據分界面形狀特征的完整描述。實驗結果表明,該方法不僅能夠準確表達三維恢復模型, 同時還能清晰地分割和描述模型內外的結構關系,增強了模型細節的精確性。
總體來看,基于幾何圖元展布規律的方法的先驗知識,在圖元或模型設計階段就已經被設定好,可針對特定物體提供更多的先驗信息,因此能取得較好的重建效果。雖然這類方法很難擴展到其他物體上,但因其應用面廣泛,成為繼 SfS 方法之后又一個重要的三維結構恢復方法。
4 基于深度學習的方法
深度學習 (Deep Learning) 源于對人工神經網絡 (ArtificialNeural Network,ANN) 進一步發展。本質上它是一種特征學習方法,負責把低層次的原始數據通過一些簡單的、非線性的網絡模型轉化成為高層次的表達 [82]。1986 年 Rumelhart 等提出反向傳播 (Back Propagation,BP) 算法,但由于該算法在梯度下降時會陷入局部極值,加之存在梯度消失、硬件算力不足等問題,未被大規模應用。直到 2006 年,Hinton 等
提出一種新的深度神經網絡模型,該模型利用預訓練的方法緩解了局部極值問題,降低了深度神經網絡的優化難度和對計算機算力的要求,才使該類方法得以重新應用。2012 年, 在 ImageNet 圖像識別大賽中,Krizhevsky 等采用深度學習模型 AlexNet 一舉奪冠。從此,深度學習受到國內外業界學者的廣泛關注和應用。隨著一些新的網絡結構、訓練模型、訓練數據集的出現,深度學習在語音識別、自然語言處理、圖像識別和分割等多個領域都取得了顯著的效果。自 AlexNet 網絡發布以來,深度學習在三維數據的分類、識別和重建上也取得了較大的進展。目前,廣泛應用的深度學習模型主要包括深度置信網絡 (Deep Belief Network,DBN)、卷積神經網絡 (Convolutional Neural Networks,CNN)、循環神經網絡 (Recurrent Neural Networks,RNN)、生成對抗網絡(Generative Adversarial Networks,GAN) 等。
相較于二維圖像領域,深度學習在三維重建上的研究起步較晚,但自 2012 年以來也取得了較大進展。其中,基于語義標簽的方法是三維恢復深度學習方法得以應用的重要前提,也是實現通過數據集訓練三維恢復深度網絡的重要基礎。場景的語義理解對于尺度和三維結構的感知起重要作用。基于語義標簽的三維恢復方法是指從帶有幾何信息提示 ( 如地平線、消失點、表面邊界等 ) 的單幅圖像中生成空間上合理的場景三維恢復。該方法通過了解像素或區域的語義類,可以很容易地實現
深度和幾何約束( 如“天空”距離較遠,“地面”是水平的), 從而建立局部二維圖像和整體三維模型之間的映射關系。但是, 要唯一確定絕對深度,還需要諸如紋理、相對深度、相機參數等額外信息。特別的,該方法非常依賴語義類的初始定義,語義類訓練集的精準與否直接影響最終的重建效果。
目前,國際上公開的數據集包括 PASCAL3D+、Object- Net3D[102] 和 IKEA 等。這些數據集對多個類別的物體語義和位姿信息進行預先人工標注。公開數據集為各大深度學習算法提供了一個相同的訓練起點和參考標準,但是這些數據集也有其自身的局限性:(1) 樣本數量不足,僅限于很少的對象類別和樣本;(2) 只能從有限的標簽字典中選擇一個標簽來標注模型,即使語義不夠準確,也不能創造發明新的標簽;(3) 圖像和三維模型因為拍攝視角、相機畸變等因素導致不能完全匹配;(4) 數據集之間對標簽的尺度定義不統一,存在線段、平面、CAD 模型等多種尺度。以上問題造成了深度學習方法在監督程度上的差異,從而直接影響三維恢復質量。根據實際應用需要,深度學習方法通常分為有監督學習、半監督學習和無監督學習。
4.1 有監督學習
Wu 等建立 3D ShapeNets 網絡,將三維幾何外形標簽表示為三維體素上二值變量的概率分布,通過吉布斯采樣預測外形類型,實現填補未知空洞來完成重建。Kar 等提出立體學習機系統,使用逆投影變換,將二維圖像特征投影到三維模型網格中,利用單視點語義線索進行三維恢復。該系統在簡化特征匹配過程的同時仍能保持較好的泛化性。Wu 等提出MarrNet 網絡模型,在端到端生成重建結果的網絡結構中加入 2.5D 草圖,增強了重建效果,使網絡可以針對不同類別的物體進行三維重建。Tulsiani 等利用射線一致性約束構造了一個通用檢測器,通過學習單視點的三維結構來訓練多視點的幾何一致性,使得普通 CNN 網絡可以測量不同三維物體之間的外觀一致性。Kato 等提出一種近似梯度渲染網格渲染器,并將其集成到神經網絡中,經過渲染器處理,使得神經網絡可以通過輸入單幅二維輪廓圖像來監督三維結構重建過程。
特別的,對于一些具有固定形貌的三維物體,有監督學習可以極大幫助深度網絡快速收斂,提高三維重聚的精確性。下面具體以人臉模型和人體模型為例進行簡單介紹。
人臉具有明確的五官和高度的對稱性,且眼睛、眉毛、鼻子、嘴巴和耳朵等相對位置是固定的,深度學習網絡只需根據輸入的二維人臉圖像,進行參數調整和模型變形,就能得到對應的三維人臉模型。3D 主動形變模型 (3D Morphable Models, 3DMM) 正是對應該思路的一種三維參數化模型,該模型通過利用原型人臉的大數據集進行人臉識別和圖像編碼,尋求構建基于圖像的二維人臉線性表示。實現該模型的最直接思路就是在線性空間中嵌入所有三維面部,或從大量的三維激光掃描圖像公開數據集中學習面部的密度函數參數。借助 3DMM 人臉模型,Romdhani 提出了一種基于多特征的方法,該方法使用了非線性最小二乘優化擬合,提高了恢復精度。Jourabloo 使用 CNN 回歸來估計和更新 3DMM 模型參數。雖然這些方法可以實現針對人臉的高精度模板生成和精確的單圖像人臉重建,但是非常依賴圖像與模板模型之間詳細準確的逐點匹配和復雜的參數擬合過程,以及大量的人臉數據的支持。
為了簡化模型訓練和參數擬合的復雜度,Castelan 等和Dovgard 等利用面部特征對稱性,將所有模型的表面形狀和亮度融合到一個單一的耦合統計模型中,簡化了參數擬合的過程。這種方法可以生成更加精確的面部曲面輪廓,且當新面孔和存儲的模板面孔之間形狀差異很小時,可以將新面孔表示為存儲的三維面孔的線性組合。但是在差異較大的情況下,需要調整模板以適應特定形狀 ( 如輸入的是笑臉時,數據庫應包括各種笑臉形狀)。同時,該模型不能顯式地對表面亮度進行建模, 當圖像明暗發生變化時會匹配失敗,特別是針對膚色變化時, 這種失效十分普遍。
Kemelmacher 等提出并解決了一個用于正面圖像的非凸優化問題,該方法使用深度圖和反射率圖代替普通的光照圖,并針對深度值和反射率值增加了對應的損失函數,提高深度學習網絡在不同亮度下的重建效果。Deng 等提出一種利用3DMM 模型的 R-Net、C-Net 的聯合網絡框架,如圖 5 所示。該網絡首先通過約束人臉表情、紋理、方位、光照等信息,利用魯棒的混合損失函數進行弱監督學習,同時使用感知水平的信息作為置信度,結合圖像與模型的互補信息進行形狀聚集, 最終實現人臉重建。Xu 等使用 3DMM 模型以及其他頭部區域的深度圖作為輸入,提出一種雙層網絡來重建頭部模型。該模型首先使用自重建方法在單個圖像上學習人臉形狀,然后使用立體圖像學習頭發和耳朵的幾何形狀,不僅提高了精度,而且保證了整體頭部幾何形狀的一致性。
同理,人體也是一種具有固定特征的模型,人體三維恢復的任務是從單幅圖像中分析二維人體姿態,估計一個簡單的
圖 5 基于 R-Net、C-Net 的三維人臉精確重建
三維人體骨架,從而實現完整的三維姿態和三維人體模型的恢復。雖然這個問題在多相機和多視圖幾何理論下得到了很好的解決,但是對于單幅圖像,不確定的成像條件和有限的數據集使得該任務變得非常復雜。傳統基于優化的方法為單目姿態和形狀恢復提供了最可靠的解決方案。然而,由于運行時間慢、對初始化條件的依賴,以及陷入局部極小值等問題使得效果并不顯著。借助人體參數模型 (Skinned Multi-Person Linear, SMPL) 可直接從圖像中回歸姿勢和形狀,甚至特征點、骨架點、輪廓、語義分割或原始像素。以 Kolotouros 等的方法為例, 該方法首先使用 SMPL 作為人體模型的模板引入網格;然后引入 GraphCNN 直接處理輸入的單幅圖像并提取特征點,隨后直接附著在 SMPL 模型的頂點坐標圖結構中以便繼續處理; 最后每個頂點都將其在 SMPL 模型變形網格中的三維位置作為最終的輸出結果。該方法能直接恢復出人體的完整三維幾何模型,而無需顯式地求解預先指定的參數化空間。同時,在得到每個頂點的三維坐標后,如果需要適配并預測符合特定的模型,只需要從當前模型中反向回歸其參數即可。Jiang 等提出一種基于 SMPL 參數模型和距離場的深度學習網絡,能夠同時利用兩種損失函數參與網絡訓練,生成更加準確的人體姿態模型。Zhu 等提出一種結合參數模型與自由形變的深度學習網絡, 該網絡利用身體關節、輪廓和每個像素著色信息的約束信息進行分層網格變形優化,不僅能恢復出完整人體模型,而且能實現精準的紋理貼圖匹配。
4.2 半監督學習
不同于直接使用三維模型數據集或三維參數模型數據集訓練深度網絡求解絕對深度信息的有監督學習方法,半監督學習方法使用三維空間上的特征 ( 如特征點、特征線段、特征面 ) 作為語義標簽,建立標簽和深度信息的關聯性,從而實現三維模型恢復。
Delage 等利用室內場景中的幾何線索 ( 如天花板和墻壁的接縫 ),使用 MRF 重建墻壁、天花板和地板的相對位置。Hedau 等利用相似的幾何線索恢復了雜亂房間的空間布局。這兩種方法對于簡單的室內場景效果明顯,但是對房間結構和房間布局有嚴格的要求,應用十分有限。Gould 等提出的場景分解模型證明了戶外場景中幾何信息和語義之間的強相關性。Hoiem 等提出了一套語義松散的幾何集,定義諸如建筑物是垂直的,道路、草和水是水平的等概念,并構建了一種簡單的三維恢復模型與之匹配,該模型可以通過“彈出”垂直區域來恢復結構。Russell 等采用一種更具語義動機的方法——利用詳細的人工標定數據集,來分割和推斷區域和區域邊緣的幾何類別 ( 如天空總是在盡可能遠的深度,草地和道路形成支撐其他對象的地平面等 ),并且通過建立相對于地平面的支撐和附著關系來完成深度推斷。
除了單純地使用數據集訓練網絡之外,與傳統算法相結合的方法也可以幫助網絡更快地收斂。Haines 等利用深度學習預測預分割區域的連續三維方向,并將區域平面檢測作為MRF 模型的優化問題。Fouhey 等首先檢測凸 / 凹邊、遮擋邊界、超像素及其方向,然后將分組問題表述為二元二次規劃問題。Heitz 等將目標檢測、多類圖像標記和深度感知相結合。Liu 等基于 Hetiz 的方法,將 MRF 和機器學習相結合。該方
圖 6 室外場景語義分類集
法首先使用一個學習好的多類圖像標簽集來推斷圖像中每個像素的語義類,該標簽集設置為:天空、樹、路、草、水、建筑、山和前景對象 ( 前 7 類覆蓋了室外場景中的大部分背景區域, 而最后一類負責標記一組前景對象 )。然后使用基于像素和超像素的機器學習網絡,結合全局深度優先、全局結構特征等規則約束,實現了較好的重建結果,如圖 6 所示。Yang 等將復雜的分割問題轉化為深度預測問題,不再顯示區分各個標簽, 并提出了一種不需要區分真實地面的深度學習網絡。然而,該方法受網絡架構的影響,限制了預測平面的總數量,導致其在復雜場景中的性能下降。Liu 等在 Yang 的方法基礎上,提出基于 Mask R-CNN 的實例分割框架,解決了這個問題。
4.3 無監督學習
雖然基于有監督學習和半監督學習的方法效果顯著,但構建大規模全覆蓋的監督訓練數據集十分困難,而且重建結果特別依賴數據集的標簽質量。本質上講,語義標簽還是某種特定的人工圖像特征,實際過程離不開求解從圖像特征到深度的映射。盡管網絡可以隱式推理出上下文語義,但是重建結果的優劣嚴重依賴語義集的設定,導致網絡的泛化性不足,使用場景有限。隨著研究的不斷深入,一些無監督學習的方法逐漸被提出。
Rezende 等首次提出一種無監督學習的三維重建網絡結構。該網絡實現了無需三維模型形貌標簽,就可以直接通過二
維圖像進行端到端的無監督學習訓練。雖然只適用于立方體和圓柱體等簡單形狀,但其證明了無監督學習三維表征的可能。Choy 等提出一種基于標準長短期記憶網絡 (Long Short Term Memory,LSTM) 的擴展網絡結構——三維循環重建神經 網 絡 (3D Recurrent Reconstruction Neural Network, 3D-R2N2),并建立了大型 CAD 模型數據集 ModelNet。該網絡無需利用圖像分類標簽進行訓練,就能很好地適應缺乏紋理特征和寬基線特征的問題。雖然該網絡在重建細節方面存在缺失,但由于實現了在單個架構中同時支持單視圖和多視圖重建,且實驗結果均優于傳統方法,使其具有十分重要的意義。Girdhar 等提出的 TL-Embedding Network 網絡首先在訓練自編碼器時利用像素網格學習三維模型嵌入,然后通過ConvNets 輸入二維圖像找到對應的模型嵌入,最后經過解碼器得到體素表示的三維重建模型。Yan 等提出的透視變換網絡(Perspective Tansformer Nets) 在傳統卷積神經網絡中加入透視變換,同時將在不同特定視角下的二維物體輪廓和對應體素輪廓的距離作為新的損失函數,因此在無監督學習下取得了較好的泛化能力。Li 等提出一種通過二維圖像和輪廓的集合來預測目標對象的三維網格形狀和紋理的深度學習網絡,該網絡將建模對象表示為可變形構件圖像的集合,通過對大量可變性構件圖像的分割,有效地加強了重建網格和原始圖像之間的語義一致性。由于該網絡不需要三維監督、手動注釋關鍵點、對象的多視圖圖像或 3D 參數化模板,因此很容易推廣到沒有此類標簽的各種對象類別。
為了更好地利用二維圖像和三維模型之間的著色信息,同時減少二維圖像和三維模型之間匹配誤差導致的“塊狀重疊” 問題,Chang 和 Hao 都提出直接從帶有紋理的合成 CAD 模型出發,使用合成圖像訓練深度模型以估計相機位姿和重建三維形狀。紋理 CAD 模型能夠表示任意方向和尺寸的曲面,并且借助紋理著色能夠捕捉到更加精細的細節。其關鍵在于深度學習網絡首先要訓練無標簽的二維圖片集,然后訓練與之對應的無標簽的三維模型集,最后通過一定的懲罰函數將二者聯立,并在輸入一幅新圖像時匹配判斷。這類方法有兩個優勢:
(1) 避免了人工定義模型和人工標注可能帶來的錯誤,同時紋理 CAD 模型之間可以任意組合,生成幾乎無限量的具有精確真實姿態和三維模型的渲染訓練圖像;(2) 深度學習網絡可以應對大量的外觀變化,對復雜建模的效果尤為明顯。雖然紋理CAD 模型在合成圖像 ( 即人工構造的紋理圖像,或人工構造的紋理模型對應映射的二維圖像 ) 上有明顯的效果,但在應用于自然圖像 ( 即非合成圖像 ) 時,性能有明顯下降。為了克服這個問題,個別學者嘗試在訓練集中添加少量人工標記的自然圖像來微調網絡參數,但是人工標簽又會引入由于標注錯誤帶來的誤差。
此外,一些學者嘗試利用 GAN 網絡進行三維恢復。其中,具有代表性的是 Wu 等提出的 3D-VAE-GAN 網絡。該網絡首先通過變分自編碼網絡得到輸入二維圖像的潛在向量,然后通過 GAN 網絡的生成器得到重建物體。其優點是可以從概率表征空間中采樣新的三維對象,并且判別器帶有三維物體識別的信息特征。實驗表明,與 TL-Embedding Network 的重建精度相比,3D-VAE-GAN 網絡取得了更好的效果。
綜上所述,相較于傳統方法,深度學習具有無需人工描述規則和設定參數、數據處理量大等諸多優勢,并取得了明顯成果。但深度學習也存在以下問題:(1) 公共數據集較少。與目前千萬級的二維圖像數據集相比,三維模型公共數據集規模小、種類少,早期具有代表性的公開數據集如 PASCAL3D+[101] 和 ObjectNet3D 已無法滿足實際需要。(2) 重建分辨率及精度問題。網絡支持的重建物體分辨率通常是 32×32×32,且重建結果與真實模型對比,精度未達到 95% 以上,存在細節部分缺失嚴重的問題。但是三維相比于二維多了一個維度,若盲目增加分辨率會導致數據量呈指數級增長,極大降低計算效率。(3) 單幅圖像重建的不確定問題。與傳統方法一樣,基于深度學習的方法在利用單幅圖像進行三維恢復時,一幅圖像往往對應多個不同的三維模型。這種不確定性反映在訓練集中就是兩幅看起來相似的圖像可能導致完全不同的重建結果。目前, 只能通過盡可能準確的定義損失函數和外加約束條件來限制其結果的不確定性。
5 總結與展望
基于可見光單圖像的三維結構恢復本身是一個不確定性問題。自 20 世紀 90 年代以來,國內外許多學者提出了各種方法,
如表 1 所示。基于光照模型的方法通過圖像的紋理和明暗關系, 假設和建立物體表面的微觀結構模型,構建二維圖像和三維深度之間的對應關系,實現三維結構恢復。該方法在已知材質反射率 ( 即消除了材質差異因素 ) 的前提下,試圖從幾何結構差異作為切入點進行求解,但該方法極易受到實際環境的光線情況、相機視點和光照模型類型的影響,且計算量較大。基于幾何圖元展布規律的方法利用二維圖像或三維模型存在的幾何規律代替光照模型,通過平移、旋轉、縮放、重復等操作實現三維恢復,從而回避了求解物體表面幾何結構差異帶來的誤差問題,對于人造紋理和模型有明顯的優勢,但正是這種先驗規律限制了該方法在其他不規則物體上的應用,導致其適用面較窄。基于深度學習的方法利用深度網絡避免了傳統方法中人工定義關系和人工設定參數的局限性,配合有監督、半監督或無監督的方法,實現了利用特征點、特征線段、特征面、特征模型等多維度的空間信息,根據輸入圖像直接得到對應三維深度點的求解過程。并且基于幾何圖元展布規律的方法依賴海量數據的支撐,有效減小了圖像采集過程中可能帶來的誤差。但其缺點也顯而易見:非常依賴網絡架構設計和訓練數據集的質量。雖然基于深度學習的方法比傳統方法有了明顯進步,但是完全依賴深度學習方法的效果仍不盡如人意。對于病態性問題,只有將單幅圖像擴展到多幅圖像,利用多視圖幾何理論才能盡可能地減小誤差。其中,SfM 和 SLAM 是多視圖幾何理論的兩種代表性方法,由于已經超出了單幅圖像的討論范圍,敬請讀者自行查閱相關資料。
從影響因素的角度來看,物體自身的材質差異和幾何結構差異是決定三維恢復結果優劣的根本原因,而圖像信息采集損失帶來的不確定性是其外部原因。從現有方法來看,無法通過數學計算來精準求解三維結構,只能通過構造合理的光照模型
表 1 基于可見光單圖像三維結構恢復方法對比
或尋找規則的幾何圖元紋理來近似描述物體表面的微觀結構, 在誤差允許的范圍內縮小或忽略差異,亦或通過深度學習的方式,在網絡訓練的時候,通過增加大量高精度、高分辨率圖像, 以減少信息損失和不確定性,從而逼近真實物體的表面形貌。此外,采用多方法的融合統一框架將是解決上述問題的一種新的趨勢。2020 年,Henderson 等提出一種傳統方法和深度學習相結合的新型網絡框架。該框架解決了從單幅圖像中進行三維恢復,以及生成新的三維形狀樣本的問題。框架算法中不僅結合了傳統的光照模型、先驗模型的方法,而且同時支持無標注數據集的學習和帶有語義標簽的有監督學習。結果表明,該算法能適應單色光以及白光環境,可以自動調整陰影和輪廓在網絡中的權重,生成的模型具有更精細的表面細節和較強的魯棒性。這種集成優勢是前文所述任何單一算法所無法實現的。綜上所述,基于可見光單圖像三維結構恢復問題未來可以從以下幾方面發展和突破:
(1) 傳統方法與基于深度學習方法相結合 現有基于深度
學習方法相較于傳統方法已經取得了明顯的效果,但是深度學習網絡的訓練非常依賴數據集 ( 數據集的好壞直接影響網絡效果 )。而基于可見光單圖像三維結構恢復問題缺少相應的海量標準數據集,使得網絡缺少泛化能力。傳統方法雖然計算復雜度高,但由于其通用性強,目前仍然發揮不可缺少的作用。二者相結合,可以最大發揮其方法的優勢,達到更好的重建效果。
(2) 基于 GAN 網絡或組合 GAN 網絡實現三維重建 盡管GAN 網絡本身的特性導致在訓練過程中引入噪聲,使得訓練結果不穩定,但是這種方法對于缺乏大型標準數據集的情況仍然顯示出良好的潛力。此外,將 GAN 網絡視作形狀或輪廓先驗知識模型的一部分,可以很好地幫助網絡快速收斂,使其滿足特定問題場景的需要。
(3) 建立真實場景的大型標準訓練數據集 多數研究者選用純白背景或 CAD 模型渲染出的人工合成數據集進行訓練。這些數據集環境復雜,標準不一,與真實場景差異較大,且每個物體的外形復雜程度差異很大,不利于網絡的訓練和最終實驗數據的對比,致使其網絡在真實環境中效果較弱。當下迫切需要參照二維圖像領域構建一些大型的標準數據集供大家測試和對比使用。
總體而言,每種基于可見光單圖像三維結構恢復方法在各自特定問題領域都取得了明顯的成果,但是每種方法的普適性較弱,對問題的初始條件要求嚴格。單純依靠某一種方法來解決恢復問題已經變得越發困難,未來基于多種方法以適用于更加廣泛的通用場景的融合解決方案,特別是結合深度學習的途徑,是一個亟待研究的重點方向。
中傳動網版權與免責聲明:
凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.hysjfh.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。
本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。
如涉及作品內容、版權等問題,請在作品發表之日起一周內與本網聯系,否則視為放棄相關權利。

關注伺服與運動控制公眾號獲取更多資訊

關注直驅與傳動公眾號獲取更多資訊

關注中國傳動網公眾號獲取更多資訊
- 運動控制
- 伺服系統
- 機器視覺
- 機械傳動
- 編碼器
- 直驅系統
- 工業電源
- 電力電子
- 工業互聯
- 高壓變頻器
- 中低壓變頻器
- 傳感器
- 人機界面
- PLC
- 電氣聯接
- 工業機器人
- 低壓電器
- 機柜