2015-CVPR-Direction Matters: Depth Estimation with a Surface Normal Classifier
abstract
- 用分類器對整個集合法向量進行分類,通過一系列優化最終決定surface orientation(表面方向)
introduciton
- 用雙目矯正圖片對學習視差的侷限性:
- 條紋少的地方,如牆
- 過度曝光的地方
- 輸入數據本身就很模糊,如反射地面
- 目前處理以上問題的方案:
- 將基於不相似計算的匹配成本加入到最後的能量函數中
- 利用圖片中的邊緣信息和先驗知識,如平面表面
- 機器學習的引入使得分類器能夠基於單張圖片估計表面方向
- 本文的亮點:
- 表面法向量估計對均勻的區域(牆,反射地面)的深度估計比較可靠
- 不限制每個像素點只有一個法向量,多個法向量的存在能夠解決分類器在某個方向不能可靠的推斷視差的問題
related work
- Markov random field(MRF):全局最優解決方案
- anisotropic Total Variation(TV) :將圖像中的邊緣信息和深度不連續性聯合起來
formulation
- 基於2D圖片獲取深度信息的能量函數最小化的問題,由於問題(給一個像素打上什麼標記最優)非凸,全局energy函數一般是非凸問題,不過可以把問題轉化爲3D體素,一般都可以得到全局最優
- 三個知識點:
- 前向差分離散化( forward difference discretization)
- positively 1-homogeneous function
- wiki
- homogeneous function of degree 1:
- 結論: 具有的性質:
- Wulff construction
- wiki
- 定義:體積一定的滴狀或晶體達到平衡時的形狀,能量(吉布斯自由能)最小化準則會選擇晶體每個面的最佳形狀
- , 表示平面每單位面積的吉布斯自由能, 表示每個平面的面積, 表示實際的晶體形狀和用Wulff construction出來的晶體之間能量的差值
- 晶體表面法向量的長度和平面能量的大小成正比,法向量是指從晶體的中心到平面的距離,對於一個球體而言就是它的半徑.
- 前向差分離散化( forward difference discretization)
能量函數公式:
對於圖片 中的任意像素點 ,其標記 L .那麼引入變量 ,對任意 成立.
這相當於在 立體空間找到一個分割面,在邊界上添加規則化項和限制,使得標記分配問題變成一個凸優化問題
那麼能量函數表達式如下:
其中:
1. data costs, 表示對標記維t進行求導, 表示對所有維度進行求導.兩種求導方式都用前向差分離散化替代.
2. 而 可以是任意 convex positively 1-homogeneous function,效果是對cut surface 進行anisotropic peneliazation(各向異性懲罰),並且這個規則化項是依據法向量方向分類器來定義的.
3. 分類器會對每個像素 和離散的平面法向量集合 輸出一個分數 ,爲了充分利用這個分數,懲罰項是各向異性的,那麼就會選出平面的最佳法向量
不過,以上條件一般很難滿足,所以可以通過構建一個凸包形狀來代替,Wulff shape就是一個凸的,封閉的,有界的集合,並且包含原點(法向量所在的點).
構建Wulff shape思想:半空間(half space)相交.對於一個離散的半空間集合 ,法向量朝外,包含原點,且原點到邊界的距離爲 .從這個集合中選取用來構建Wulff shape 的子集爲 .
Transforming the Normal Directions
- 法向量轉換: 把法向矢量看作是矢量(法向量)而不是垂直於它們的平面,讓 和 是矢量,使得 垂直於 。那麼 。因此,對於任意非奇異變換 , ,這意味着 是變換的法向量的轉置。因此,變換的法向矢量是 。換句話說,法向量由變換點的變換的逆轉置來變換。
- 相機圖像幀與世界座標系之間的轉換關係
- 雅克比矩陣
- 下面將對binocular stereo的法向量轉換進行分析:
- 對於圖像上的點 ,視差值爲 ,即(r,s,t);和世界座標系中物體座標(x,y,z),轉換關係如下:
- 上面是世界座標系轉換爲視差空間的關係矩陣,對該矩陣求雅克比矩陣
- 即求得視差空間中某點處切平面的方向,那麼世界座標系vector變換到視差空間vector的關係矩陣記爲 ,那麼normal法向量的變換矩陣爲
- 法向量轉換矩陣:
對於上面兩個M矩陣之間的差異,我也沒找到好的解釋,歡迎大家留言討論!
本來是沒有求雅克比矩陣,直接把空間點座標變換當成 矩陣,然後死活不知道 變換到 的,後來經過實驗室數學系大佬orz的指點推導,發現沒有求雅克比矩陣.其實也對,不同space間點座標變換和向量變換的確是不一樣的,normal法向量和切平面向量纔是有對應關係的,所以求雅克比矩陣求得切平面向量才應該是正解.
還是應了那句話:數學即真理!!!orz
- 對於圖像上的點 ,視差值爲 ,即(r,s,t);和世界座標系中物體座標(x,y,z),轉換關係如下:
final optimization problem
- 對法向量 的分類劃分是基於訓練數據的聚類.因爲不能對每個方向進行採樣,所以在半空間交界處會出現long thin corners問題,解決方法是:將Wulff shape和單位球 (包含內部)相交,從而限制對long thin coreners的過度懲罰. 當然也需要對所有的分數進行歸一化.
- 將邊緣信息加入到規則化項可以讓分類器處理不了的梯度不連續處的法向量方向被處理.而梯度不連續的地方的法向量方向一般和圖片梯度方向或者負方向對齊.通過公式 將這種情況加入到Wulff shape中
那麼,最終的優化目標是:
拉格朗日乘子 強調 的一致性;energy可以通過 和 極小化,通過 和 最大化.算法在primal項單調減,在dual項單調升.
Implementation
- Census transformation
- 2014-ECCV-Discriminatively trained dense surface normal estimation
- 結合上下文信息和分割信息,提取圖像特徵
- 用5000個弱分類器集成學習,合成一個強分類器.對surface normal 進行預測
- 對標籤空間的編碼:
- 用k-means對法向量的ground-truth聚類,並且在每次投影都把簇中心投影到單位(半)球.簇中心用參考向量表示.
- 然後選擇三個參考向量構建三角形T( ),並尋找每個ground-truth法向量 對應的最近鄰三角形
- 接着利用公式
用強分類器求解最近鄰三角形 ,在 儘量小的情況下求解最能表示 的三角形 - 最後用三角形 表示ground-truth 法向量
- 法向量聚類爲40個簇,法向量之間的相似性通過boosting regression(如adaboost,random forest)結合(contextual)上下文信息和超像素信息計算
- Contextual信息由4個密集的特徵提取方法:texton, self-similarity, local quantized ternary pattern, SIFT.每個方法提取的特徵合成512維的Bag of Words
- 無監督超像素分割由4個分割方法:MeanShift, SLIC, GraphCut-segmentation, normalized cuts
- 分類器對每個像素輸出是簇中心法向量方向的40個分數.歸一化[0,1].
- 然後通過上面求出的法向量轉換矩陣對每個像素的法向量轉換到3維 空間
- 半平面相交處的法向量數值變化小,所以不用保留交界處所有位置的法向量信息.而且一般只有一個或者幾個法向量的分數較高
- 對邊緣信息也加入到規則化項(regularization)