近期幾乎看了所有有關NERF技術論文,本身我研究的領域不在深度學習技術方向,是傳統的機器人控制和感知。所以總結了下這部分基于學習的感知技術,會寫一個新的系列教程講解這部分三維感知技術的發展到最新的技術細節,并支持自己最近的項目開發和論文。本系列禁止轉載,有技術探討可以發郵件給我 fanzexuan135@163.com
深入淺出3D感知中的優化與學習技術
1 引言
3D感知是計算機視覺和機器人領域的一個核心問題,旨在從2D圖像恢復場景的3D結構和運動。它在自動駕駛、虛擬/增強現實、智能制造等許多領域有著廣泛應用。傳統的3D感知算法大多基于幾何視覺的理論,通過精心建模和優化來求解相機位姿、場景結構等幾何量。而近年來,深度學習的崛起為3D感知問題帶來了新的思路和活力。本文將對3D感知中的經典優化方法和深度學習方法進行綜述和對比,并重點介紹一些將二者結合的新進展,讓讀者對這一領域的基本概念和前沿成果有一個全面的了解。
2 將3D感知問題建模為優化問題
在3D感知的諸多任務中,如相機定位、稠密重建、非剛性形變估計等,我們面臨的核心問題往往可以表述為一個優化問題:
min ? x ∈ X E ( x ; y ) ( 1 ) \min\limits_{x \in X} E(x; y) \qquad (1) x∈Xmin?E(x;y)(1)
其中 y y y表示輸入的觀測數據(如一組圖像),而 x x x表示我們感興趣的幾何量(如相機位姿、場景深度),構成了優化變量。 X X X表示 x x x的可行域,囊括了我們對 x x x已知的先驗知識(如相機姿態必須是剛體變換)。 E ( x ; y ) E(x; y) E(x;y)是一個衡量 x x x與 y y y匹配程度的目標函數(或代價函數),可以分解為數據項和正則項兩部分:
E ( x ; y ) = D ( x ; y ) + R ( x ) ( 2 ) E(x; y) = D(x; y) + R(x) \qquad (2) E(x;y)=D(x;y)+R(x)(2)
數據項 D ( x ; y ) D(x; y) D(x;y)度量了在當前估計 x x x下,觀測數據 y y y的擬合/重投影誤差,反映了 x x x對 y y y的解釋能力。以雙目立體匹配為例,若 y y y為左右兩幀圖像,而 x x x為像素的視差值,則數據項可以定義為:
D ( x ; y l , y r ) = ∑ p ρ ( y l ( p ) , y r ( p ? [ x ( p ) , 0 ] T ) ) ( 3 ) D(x; y_l, y_r) = \sum_p \rho\Big( y_l(p), y_r\big(p - [x(p), 0]^T\big) \Big) \qquad (3) D(x;yl?,yr?)=p∑?ρ(yl?(p),yr?(p?[x(p),0]T))(3)
其中 p p p遍歷所有像素, ρ ( ? ) \rho(\cdot) ρ(?)為某種顏色/梯度constancy誤差度量。這個數據項的意義是:在估計的視差 x x x下,將左圖 y l y_l yl?的像素 p p p投影到右圖 y r y_r yr?,若視差正確,則左右圖像的局部外觀應該一致。
正則項 R ( x ) R(x) R(x)通常基于一些先驗假設,對 x x x施加額外約束,鼓勵解具有某些良好性質。以稠密重建為例,我們通常假設相鄰像素的深度值是接近的(分段光滑),于是可以定義一個鼓勵深度圖光滑的正則項:
R ( x ) = ∑ p ∥ ? x ( p ) ∥ 1 ( 4 ) R(x) = \sum_p \|\nabla x(p)\|_1 \qquad (4) R(x)=p∑?∥?x(p)∥1?(4)
其中 p p p遍歷像素, ? x ( p ) \nabla x(p) ?x(p)為深度圖在 p p p處的梯度。
求解優化問題(1),得到的 x ? x^* x?就是在觀測數據 y y y下對真實幾何量 x ^ \hat{x} x^的最大后驗估計(MAP):
x ? = arg ? max ? x P ( x ∣ y ) = arg ? max ? x P ( y ∣ x ) P ( x ) ( 5 ) x^* = \arg\max_x P(x|y) = \arg\max_x P(y|x) P(x) \qquad (5) x?=argxmax?P(x∣y)=argxmax?P(y∣x)P(x)(5)
換言之,優化求解的過程可以看作是在先驗( R ( x ) R(x) R(x))和似然( D ( x ; y ) D(x; y) D(x;y))之間尋求平衡,得到后驗概率最大的估計值。
當目標函數是凸的,且其梯度/Hessian矩陣容易計算時,優化問題可以用牛頓法、高斯牛頓法、梯度下降等經典算法有效求解。然而,3D感知問題的目標函數往往是高度非線性和非凸的,優化變量 x x x所在的空間(如李群流形SE(3))也可能是非歐的,這給問題的求解帶來很大挑戰。
3 經典的優化算法及其局限性
針對非線性最小二乘型的3D感知問題,高斯牛頓法是最常用的優化算法。它在當前估計點 x k x_k xk?處,對目標函數 E ( x ) E(x) E(x)做二階泰勒展開:
E ( x ) ≈ E ( x k ) + J ( x k ) Δ x + 1 2 Δ x T H ( x k ) Δ x ( 6 ) E(x) \approx E(x_k) + J(x_k) \Delta x + \frac{1}{2} \Delta x^T H(x_k) \Delta x \qquad (6) E(x)≈E(xk?)+J(xk?)Δx+21?ΔxTH(xk?)Δx(6)
其中 J ( x k ) = ? E ? x ∣ x = x k J(x_k) = \frac{\partial E}{\partial x}|_{x=x_k} J(xk?)=?x?E?∣x=xk??為 E E E在 x k x_k xk?處的Jacobian矩陣, H ( x k ) = ? 2 E ? x 2 ∣ x = x k ≈ J ( x k ) T J ( x k ) H(x_k) = \frac{\partial^2 E}{\partial x^2}|_{x=x_k} \approx J(x_k)^T J(x_k) H(xk?)=?x2?2E?∣x=xk??≈J(xk?)TJ(xk?)為近似的Hessian矩陣。高斯牛頓法通過求解如下線性方程來生成更新步長 Δ x k \Delta x_k Δxk?:
H ( x k ) Δ x k = ? J ( x k ) T r ( x k ) ( 7 ) H(x_k) \Delta x_k = -J(x_k)^T r(x_k) \qquad (7) H(xk?)Δxk?=?J(xk?)Tr(xk?)(7)
其中 r ( x k ) : = D ( x ; y ) ∣ x = x k r(x_k) := D(x; y)|_{x=x_k} r(xk?):=D(x;y)∣x=xk??為數據項的殘差。然后用 Δ x k \Delta x_k Δxk?更新當前估計:
x k + 1 = x k ? Δ x k ( 8 ) x_{k+1} = x_k \boxplus \Delta x_k \qquad (8) xk+1?=xk??Δxk?(8)
直到 Δ x k \Delta x_k Δxk?足夠小。這里的 ? \boxplus ?表示在流形空間(如SE(3))上的加法。注意 ( 7 ) (7) (7)是個高維稀疏線性系統,可用Cholesky分解或預條件共軛梯度等方法高效求解。
當目標函數局部可以很好地用二次函數近似時,高斯牛頓法具有二階收斂速度。然而它也有一些局限性:
-
在最優解附近,目標函數的Hessian陣必須是正定的,否則 ( 7 ) (7) (7)不保證有解。
-
Jacobian矩陣 J ( x k ) J(x_k) J(xk?)中的某些項可能在數值上或理論上難以定義/求導,如光度誤差對姿態變量的導數。
-
算法容易停留在局部極小值,缺乏全局視野。
-
若目標函數含有非光滑的正則項(如 L 1 L_1 L1?范數),則Jacobian在奇異點不存在。
一些改進的優化技術如Levenberg-Marquardt方法通過信賴域策略緩解了正定性問題,但其它問題仍然存在。
為了增強魯棒性,人們常常在數據項中使用截斷二次等M估計函數,降低異常值的影響。但這些非凸函數也使得優化更加困難,可能需要更復雜的啟發式或全局優化策略。
4 基于深度學習的端到端方法
與經典建模范式不同,深度學習采用了一種數據驅動的端到端方法。其基本思想是:收集一個有代表性的數據集 D = { ( y i , x i ? ) } i = 1 N \mathcal{D}=\{(y_i, x_i^*)\}_{i=1}^N D={(yi?,xi??)}i=1N?,其中 y i y_i yi?為輸入圖像, x i ? x_i^* xi??為圖像對應的ground truth幾何參數(如深度圖、光流場等)。然后訓練一個深層神經網絡 f θ : y ? x f_\theta: y \mapsto x fθ?:y?x,其參數 θ \theta θ通過最小化如下經驗風險而學習得到:
L ( θ ) = ∑ i = 1 N l ( f θ ( y i ) , x i ? ) ( 9 ) \mathcal{L}(\theta) = \sum_{i=1}^N l\big(f_\theta(y_i), x_i^*\big) \qquad (9) L(θ)=i=1∑N?l(fθ?(yi?),xi??)(9)
其中 l ( ? ) l(\cdot) l(?)為某種loss函數,如 L 1 / L 2 L_1/L_2 L1?/L2? loss。這一范式的優點是:
-
端到端可微分,不需要人工提取特征或設計目標函數/優化策略。只要定義合適的網絡結構和loss函數,就可以從數據中自動學習復雜的映射。
-
前向推斷速度快,可滿足實時性需求。
-
可遷移性好。從一個場景學到的泛化能力可遷移到新場景。
以單目深度估計為例,Eigen等[1]首次將CNN應用于該任務。他們在網絡的encoder中使用了兩個并行的VGG分支分別提取全局和局部特征,decoder采用多尺度架構,在4個spatial resolution下估計深度,并對深度圖施加了尺度不變loss和平滑loss。Laina等[2]提出了更深的ResNet架構,并引入了反距離的Berhu loss,取得了更好的效果。
對于光流估計,FlowNet[3]首次證明了深度回歸在該任務上的有效性。后續的FlowNet2[4]引入了級聯和迭代細化,大幅提升了估計精度。RAFT[5]從另一角度解決該問題,巧妙地將經典的優化過程與深度特征提取相結合,可以看作本文后面要重點介紹的一類混合方法。
盡管深度學習取得了矚目成績,但純端到端的黑盒回歸也有其局限性:
-
缺乏對幾何和物理規律的顯式建模,純數據驅動的學習有時不夠穩定,容易受domain gap影響。
-
需要大量paired數據做監督訓練,在許多3D感知任務上難以獲得,labeled數據的稀缺限制了模型的表現。
-
不可解釋和可控。學習到的映射高度復雜,缺乏可解釋性。網絡的預測結果不能保證滿足一些幾何約束。
因此,如何將基于物理的歸納偏置與深度學習的表達能力相結合,已成為新的研究熱點。
5 將深度學習嵌入優化過程
一類有前景的混合方法是將深度學習嵌入到傳統優化過程中,形成"可學習"、"可微分"的復合層。這類方法在經典優化算法的框架下,用學習的模塊替代手工設計的某些部分(如能量/梯度的計算),并端到端訓練整個系統。RAFT[5]是這一思想在光流估計任務上的代表作。
與FlowNet等直接回歸光流場的方法不同,RAFT明確建模了光流估計中的迭代優化過程。記 I 1 , I 2 \mathcal{I}_1, \mathcal{I}_2 I1?,I2?為輸入的兩幀圖像,網絡的目標是學習一個映射:
f 1 , f 2 , … , f N = R A F T ( I 1 , I 2 ) ( 10 ) f_1, f_2, \dots, f_N = \mathrm{RAFT}(\mathcal{I}_1, \mathcal{I}_2) \qquad (10) f1?,f2?,…,fN?=RAFT(I1?,I2?)(10)
其中 f k ∈ R H × W × 2 f_k \in \mathbb{R}^{H \times W \times 2} fk?∈RH×W×2為第 k k k次迭代估計的光流場。具體來說,RAFT包含三個關鍵組件:
(1) 特征提取網絡,用CNN從輸入圖像中提取高層特征:
F 1 = F e a t u r e E n c o d e r ( I 1 ) , F 2 = F e a t u r e E n c o d e r ( I 2 ) ( 11 ) \mathbf{F}_1 = \mathrm{FeatureEncoder}(\mathcal{I}_1), \quad \mathbf{F}_2 = \mathrm{FeatureEncoder}(\mathcal{I}_2) \qquad (11) F1?=FeatureEncoder(I1?),F2?=FeatureEncoder(I2?)(11)
(2) 相關體計算模塊,基于當前估計的光流場 f k f_k fk?和特征 F 1 , F 2 \mathbf{F}_1, \mathbf{F}_2 F1?,F2?構造一個4D相關體:
C k = C o m p u t e C o r r e l a t i o n ( f k , F 1 , F 2 ) ( 12 ) \mathbf{C}_k = \mathrm{ComputeCorrelation}(f_k, \mathbf{F}_1, \mathbf{F}_2) \qquad (12) Ck?=ComputeCorrelation(fk?,F1?,F2?)(12)
直觀上, C k [ i , j , p , q ] \mathbf{C}_k[i, j, p, q] Ck?[i,j,p,q]度量了以 f k [ i , j ] f_k[i, j] fk?[i,j]為中心的 I 1 \mathcal{I}_1 I1?局部patch與 I 2 \mathcal{I}_2 I2?中對應patch的相似性。這一步可以看作傳統優化方法中計算匹配代價的過程。
(3) GRU更新單元,迭代細化光流估計:
h k + 1 , f k + 1 = G R U U p d a t e ( f k , h k , C k ) ( 13 ) h_{k+1}, f_{k+1} = \mathrm{GRUUpdate}(f_k, h_k, \mathbf{C}_k) \qquad (13) hk+1?,fk+1?=GRUUpdate(fk?,hk?,Ck?)(13)
其中 h k h_k hk?是隱藏狀態, f k + 1 f_{k+1} fk+1?是細化后的光流場。這一步可以看作傳統優化中的梯度下降更新。但與手工設計的梯度不同,這里的更新方向由數據驅動學習得到。
整個RAFT網絡是端到端可訓練的,所有參數都通過最小化預測光流場 f N f_N fN?與GT光流場 f ? f^* f?的差異來學習:
L ( θ ) = ∑ i = 1 M ∥ f N ( i ) ? f ? ( i ) ∥ 1 ( 14 ) \mathcal{L}(\theta) = \sum_{i=1}^M \|f_N^{(i)} - f^{*(i)}\|_1 \qquad (14) L(θ)=i=1∑M?∥fN(i)??f?(i)∥1?(14)
RAFT的優點在于,它將學習的連續warp和相關計算嵌入到每一步的迭代更新中,而非單純堆疊卷積層,賦予了網絡更強的歸納偏置。同時,顯式建模迭代過程也使得網絡更加可解釋。實驗表明,這一混合范式在準確性和泛化性方面都優于純端到端的回歸方法。
類似地,BA-Net[6]以及LM-Reloc[7]將深度學習引入SLAM后端優化中。它們用學習的網絡模塊替代了傳統的 bundle adjustment (BA) 流程中的某些手工設計部分,如:
(1) 在Pose-Graph優化中,用GNN預測每條邊的信息矩陣,作為Mahalanobis距離的權重[6];
(2) 在特征點BA中,用CNN預測每對匹配的置信度,作為Huber損失的權重[7]。
這些學習的模塊可以看作是傳統目標函數的"插件",使優化過程更加自適應和數據驅動。實驗表明,嵌入學習模塊的SLAM系統在準確性、魯棒性方面都有明顯提升。
6 將優化嵌入深度學習
與上一節"learning in optimization"的思路互補,另一類混合范式是將優化模塊嵌入到深度網絡中,形成端到端可訓練的"可微分優化層"。這類方法用可微分的優化層(用內部迭代求解一個隱式函數)替代網絡中的某些前饋層,使網絡輸出自動滿足一些硬約束。
以經典的PnP問題為例,已知一組3D點 { X i } \{\mathbf{X}_i\} {Xi?}在世界坐標系下的坐標和它們在相機中的2D投影 { x i } \{\mathbf{x}_i\} {xi?},估計相機的位姿 T ∈ S E ( 3 ) \mathbf{T} \in \mathrm{SE}(3) T∈SE(3)。傳統的DLT、P3P等解法先建立目標函數:
E ( T ) = ∑ i = 1 N ∥ π ( T X i ) ? x i ∥ 2 ( 15 ) E(\mathbf{T}) = \sum_{i=1}^N \|\pi(\mathbf{T}\mathbf{X}_i) - \mathbf{x}_i\|^2 \qquad (15) E(T)=i=1∑N?∥π(TXi?)?xi?∥2(15)
其中 π : P 3 → P 2 \pi: \mathbb{P}^3 \to \mathbb{P}^2 π:P3→P2為相機投影模型。然后用SVD或Ransac求解一個閉式解 T ? = arg ? min ? T E ( T ) \mathbf{T}^* = \arg\min_{\mathbf{T}} E(\mathbf{T}) T?=argminT?E(T)。
DSAC[8]提出了一種可微分的RANSAC層,可以集成到任意網絡中用于PnP估計。該層將傳統RANSAC的采樣、模型估計和評價過程公式化為可微分的操作,關鍵是將假設模型的評價函數softmax化:
s i = exp ? ( ? E ( T i ) / τ ) ∑ j exp ? ( ? E ( T j ) / τ ) ( 16 ) s_i = \frac{\exp(-E(\mathbf{T}_i)/\tau)}{\sum_{j} \exp(-E(\mathbf{T}_j)/\tau)} \qquad (16) si?=∑j?exp(?E(Tj?)/τ)exp(?E(Ti?)/τ)?(16)
其中 τ \tau τ為溫度參數。DSAC層的輸出是加權的假設集合:
T ? = ∑ i s i T i , s.t. ∑ i s i = 1 ( 17 ) \mathbf{T}^* = \sum_{i} s_i \mathbf{T}_i, \quad \text{s.t.} \sum_{i} s_i = 1 \qquad (17) T?=i∑?si?Ti?,s.t.i∑?si?=1(17)
DSAC層可以插入到任意2D-3D匹配網絡中,使網絡輸出的匹配自動滿足PnP約束。實驗表明,這種端到端的可微分求解范式可以明顯提高姿態估計的精度,且節省后處理時間。
類似地,一些工作將ICP[9]、特征匹配[10]、mesh簡化[11]等傳統幾何任務重構為可微分層,嵌入到深度網絡中,實現幾何約束感知的端到端學習。
7 基于優化與學習的混合范式
7.1 引入物理約束和先驗知識
將物理規律、幾何約束等先驗知識納入深度學習pipeline,是混合范式的一個關鍵優勢。這不僅可以提高模型輸出的幾何一致性和物理合理性,還能降低模型對label數據的依賴。那么如何設計高效、通用的約束編碼和融合機制呢?
一種思路是將約束顯式地嵌入loss函數中。如Pixel2Mesh[1]在mesh變形的同時,加入了拉普拉斯loss和法向loss,鼓勵相鄰頂點的位置和法向保持局部一致。SDFDIFF[2]在用SDF表示形狀時,設計了Eikonal loss L E = ∫ Ω ( ∣ ? f ( x ) ∣ ? 1 ) 2 d x \mathcal{L}_E=\int_\Omega (|\nabla f(\mathbf{x})|-1)^2\mathrm{d}\mathbf{x} LE?=∫Ω?(∣?f(x)∣?1)2dx,鼓勵SDF滿足 i s o \mathrm{iso} iso-surface的性質。
另一思路是將約束隱式地嵌入網絡結構中。如Shen等[3]在點云配準中,用一個預訓練的網絡估計兩組點之間的軟對應,再用 S V D \mathrm{SVD} SVD求解最優剛體變換,從而將 S E ( 3 ) \mathrm{SE}(3) SE(3)流形約束融入前向傳播。RAFT[4]用相關體搜索匹配,用GRU迭代更新optical flow,從而將光流平滑性、small displacement等先驗隱式地編碼入網絡計算圖。
此外,還可將約束直接納入輸入和輸出表示中。如 NeuralSym[5] 用球諧函數(SPHARM)表示物體形狀,從而顯式建模物體的拓撲和對稱性。Gao等[6]發現用黎曼度量等內蘊表示取代歐式表示,可使網絡更好地適應非歐流形(如旋轉群 S O ( 3 ) \mathrm{SO(3)} SO(3))。
7.2 降低對label數據的依賴
大量的label數據對于監督深度學習至關重要,但在許多3D感知任務中,精確的逐點標注非常困難。因此,如何最大限度地利用無監督和弱監督信號,來指導深度網絡學習更加魯棒和可泛化的表示,成為一個重要課題。
合理利用數據本身蘊含的某些不變性,是構建自監督loss的重要手段。一個典型例子是對極幾何約束:從不同視角觀測同一個剛體,任意匹配點的深度值應滿足對極方程。基于這一原理,Zhou等[7]聯合訓練兩個CNN分別估計單目深度和相機姿態,并設計loss監督二者的一致性,實現了僅需monocular視頻的深度自監督學習。
多模態感知也為弱監督學習開辟了新路徑。投影laser點提供的稀疏深度能為image depth估計構建有力的監督信號[8];而在缺乏audio-visual pair的情況下,音頻和視頻互為表征空間,音頻事件和視覺目標的同步性能為它們構建弱監督[9]。
此外,知識的遷移和先驗的編碼也能降低學習難度。如 D O N \mathrm{DON} DON[10]將ShapeNet上預訓練的object detector遷移到KITTI數據,僅用很少的label數據微調,就實現了高精度的outdoor 3D檢測。Neural Point Descriptor[11]基于可區分性、平滑性、局部一致性等先驗,無監督地學習了一個通用、緊致的3D點云描述子表示。
7.3 提高系統的泛化性和適應性
現實世界的視覺環境千差萬別,數據分布也呈現多樣性(multi-modality)。因此,如何確保算法能夠適應不同的場景、傳感器和外部條件,是3D感知落地應用必須考慮的問題。現有的一些研究思路包括:
(1) 基于元學習的快速自適應。Finn等[12]提出MAML算法,通過二次梯度下降學習一個對不同任務都有良好初始化的meta-learner,從而實現少樣本條件下的快速finetune。類似思想也被用于6D位姿估計[13]、深度估計[14]等任務的domain adaptation中。
(2) 不變特征表示學習。Cohen等[15]利用群等變性,設計了對SO(3)旋轉不變的spherical CNN,使學習到的3D形狀描述子具有更好的泛化能力。Zhu等[16]用cycle-consistency loss實現了跨模態(如CT-X光)醫學圖像的遷移,學到了對成像原理不變的語義特征。
(3) 持續學習與漸進優化。Dai等[17]提出漸進網絡,在連續的優化域上學習網絡權重,避免在新樣本到來時catastrophic forgetting。VASE[18]引入外顯記憶模塊,實現了open-set的語義場景理解。
(4) 主動學習與探索。Chaplot等[19]讓agent主動探索周圍環境并搜集hard samples,再將其用于導航策略學習,實現了indoor navigation任務的自我強化。Luo等[20]提出主動多視圖深度估計,學習next-best-view并動態重建,在固定預算下提高深度圖的精度和完整性。
7.4 提高模型的可解釋性和可控性
深度學習模型常被比作"黑盒",內部工作機制難以洞察,這在一定程度上阻礙了其在自動駕駛等高安全性要求場合的應用。有鑒于此,AI可解釋性、可控性研究受到學界和業界的高度重視。在3D感知領域,一些有益的嘗試包括:
(1) 顯式編碼高層語義概念。3D-RCNN[21]在兩階段檢測框架中引入orientation anchor,將物體的朝向顯式地建模到網絡中,在提高精度的同時,輸出也更符合人的直覺。Han等[22]提出將場景組織為物體-關系圖,并用GCN建模推理其中的語義,使基于圖的3D重建更加可解釋。
(2) 模仿人類的感知推理過程。投射3D模型到2D,再回歸6D位姿[23];或者先粗略估計物體的3D包圍盒,再迭代優化[24],都是在網絡的計算過程中模仿人類"從粗到精分解子任務"的認知習慣。類似地,Neural-Sym[5]通過顯式建模視圖間和物體內的對稱關系,模仿人類對物體形狀的感知。
(3) 對抗性學習增強網絡魯棒性。Xiao等[25]發現,添加物理上合理的random perturbation(如小幅度旋轉平移),可使PointNet等3D分類網絡產生錯誤預測。為此,他們提出對抗性訓練和r-max pooling等策略,增強網絡應對形變的能力。Zeng等[26]研究了移動機器人中傳感器和運動規劃模塊的"協同對抗",揭示了其內部機理。
(4) 后修正與自我糾錯。Hu等[27]提出gradslam,學習一個RNN,在SLAM過程中接收未來觀測,主動返回過去重新優化歷史幀的位姿。這種"后知后覺"(hindsight)的反復修正機制,使SLAM系統更接近人腦的思維過程。Liao等[28]在VO pipeline后附加一個correction network,顯式地估計前一階段pose的不確定性并訂正,可視為自我糾錯的一種形式。
7.5 拓展應用場景
除了3D感知,混合優化-學習范式在其他需要求解復雜逆問題的領域也有廣闊的應用前景。它可以用于學習加速物理模擬[29]、drug discovery中的分子優化[30]、機器人強化學習中的運動規劃[31]等。這也為3D感知和其他AI領域的cross-fertilization提供了新的可能。
盡管基于優化的傳統3D感知方法和基于學習的新興方法各有所長,但它們在求解相同問題時往往是互補的。將二者有機融合、協同優化,對于開發更加魯棒、高效、可解釋的3D感知系統至關重要。
參考文獻:
[1] Eigen D, Puhrsch C, Fergus R. Depth map prediction from a single image using a multi-scale deep network[J]. NeurIPS, 2014.
[2] Laina I, Rupprecht C, Belagiannis V, et al. Deeper depth prediction with fully convolutional residual networks[C]//3DV. IEEE, 2016.
[3] Dosovitskiy A, Fischer P, Ilg E, et al. Flownet: Learning optical flow with convolutional networks[C]//ICCV, 2015.
[4] Ilg E, Mayer N, Saikia T, et al. Flownet 2.0: Evolution of optical flow estimation with deep networks[C]//CVPR, 2017.
[5] Teed Z, Deng J. RAFT: Recurrent all-pairs field transforms for optical flow[C]//ECCV, 2020.
[6] Tang C, Tan P. BA-Net: Dense bundle adjustment network[J]. arXiv, 2018.
[7] Wei Y, Liu S, Zhao W, et al. Deepsfm: Structure from motion via deep bundle adjustment[C]//ECCV, 2020.
[8] Brachmann E, Krull A, Nowozin S, et al. DSAC-differentiable RANSAC for camera localization[C]//CVPR, 2017.
[9] Wang Y, Solomon J M. Deep closest point: Learning representations for point cloud registration[C]//ICCV, 2019.
[10] Zhang J, Sun D, Luo Z, et al. Learning two-view correspondences and geometry using order-aware network[C]//ICCV, 2019.
[11] Hanocka R, Hertz A, Fish N, et al. MeshCNN: a network with an edge[J]. ACM TOG, 2019.