3D【17】深度信息增強:Real-time Shading-based Refinement for Consumer Depth Cameras

該論文的目的是增強RGBD中的深度信息。利用的是shading-based方法,大體過程是通過光照模型渲染出深度圖的亮度圖,然後與真實RGB圖片的亮度進行各種比較(梯度啊,亮度差啊之類的)。因爲光照渲染是與3d點的法向量有關,而法向量又與RGBD圖片中的深度信息有關,上面說的各種比較就能夠將誤差傳播到3D點的法向量,最後傳播到深度信息。這樣就完成了深度信息的增強。
論文的效果很吊,可惜沒有開源。這裏只能記錄一下理論相關的東西。
那麼,既然是shading-based我們就需要先進行光照估計。

光照估計

論文使用的是2階球面諧波光照模型:
這裏寫圖片描述
其中,i、j是像素座標,k(i,j) 是反射率。lk 是2階球面諧波的第k個係數(總共9個),Hk(n),n=(nx,ny,nz) 是2階球面諧波方程,n是3D點的法向量。
2階球面諧波的9個方程計算公式如下:
這裏寫圖片描述

由於是對RGBD圖片進行增強,因此我們已經預先知道了每個3D點的xyz座標,也就知道了其對應的法向量。同時,先忽略反射率係數,那麼現在需要求的就只有光照係數lk 。光照係數的求解只要最小化以下函數就可:
這裏寫圖片描述
其中,I(i,j) 是RGB圖片在i、j位置的亮度值。而最優化上面這個式子等同於解決一個線性方程組:
這裏寫圖片描述

那麼光照係數可以用下式求解:
這裏寫圖片描述

作者爲了使求解的光照係數更具有穩定性,加入一個約束項:λL(llp) 。意思是要求當前幀的光照係數要儘量與前一幀的光照係數(lp )變化不要太大。這樣就等於要解下面的線性方程:
這裏寫圖片描述
其中MI 是一個9*9的單位矩陣,感覺上面式子有點錯誤,應該是在MI 後面少乘了個l

求解出光照係數後,就可以求解反射率k(i,j) 了:
直接將RGB圖片的亮度I(i,j) 除於 k=08lkHk(n(i,j)) 就ok了。

深度圖增強

利用 Gauss-Newton,最小化下式就可以獲取增強後的深度圖D
這裏寫圖片描述
其中D是深度圖,Eg 是梯度約束,Es 是平衡約束,Ep 是深度約束,Er 是時間尺度上的平滑約束。具體的:

這裏寫圖片描述
這裏寫圖片描述

這裏寫圖片描述

這裏寫圖片描述

上面式子中,p(i,j) 表示3D點,可以通過深度圖D計算得到:
這裏寫圖片描述
其實就是RGBD轉點雲的計算公式。ux,uy 是RGBD圖片的中心點,fx,fy 是相機焦距。

而法向量計算公式爲:
這裏寫圖片描述

Er 中,np 是前一幀增強後的法向量,c(i,j)是當前幀i,j位置點與前一幀的對應點,可以利用ICP計算得到。

論文還對Eg 進行了改進,以及 Gauss-Newton的優化等。

實驗結果

項目主頁:http://gvv.mpi-inf.mpg.de/projects/RealTimeSFS/
分別是rgb圖片,設備獲取的初始點雲,增強後的點雲。
這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章