論文筆記:Spherical Regression: Learning Viewpoints, Surface Normals and 3D Rotations on n-Spheres

摘要

Many computer vision challenges require continuous outputs, but tend to be solved by discrete classification. The reason is classification’s natural containment within a probability n-simplex, as defined by the popular softmax activation function. Regular regression lacks such a closed geometry, leading to unstable training and convergence to suboptimal local minima. Starting from this insight we revisit regression in convolutional neural networks. We observe many continuous output problems in computer vision are naturally contained in closed geometrical manifolds, like the Euler angles in viewpoint estimation or the normals in surface normal estimation. A natural framework for posing such continuous output problems are n-spheres, which are naturally closed geometric manifolds defined in the ℝ(n+1) space. By introducing a spherical exponential mapping on n-spheres at the regression output, we obtain well-behaved gradients, leading to stable training. We show how our spherical regression can be utilized for several computer vision challenges, specifically viewpoint estimation, surface normal estimation and 3D rotation estimation. For all these problems our experiments demonstrate the benefit of spherical regression. All paper resources are available at https://github.com/leoshine/Spherical_Regression。

很多計算機視覺任務要求連續的輸出,但是通常被離散分類解決。原因是分類問題本質上在一個概率n單純形內。常規的迴歸缺少一個這樣的閉合幾何結構,導致訓練不穩定並收斂到局部極值。從這點出發,我們重新考察了CNN中的迴歸問題。我們觀察到計算機視覺領域中的連續輸出問題本質上在一個閉合的幾何流形內,例如在視角估計中的歐拉角,表面法向量估計中的法向量。引起這種連續輸出問題的本質框架是n-球,通常是定義在Rn+1\mathbb R^{n+1}空間下的閉合幾何流形。通過在迴歸輸出中引入在n球上的球形映射,我可以得到表現良好的梯度,有利於穩定訓練。我們展示了我們的球形迴歸可以用於多種計算機視覺問題,例如視角估計、表面法向量估計和3D旋轉估計。對於這些問題,我們的實驗說明了球形迴歸的優勢。文章中的所有資源可在https://github.com/leoshine/Spherical_Regression中獲得。

we observe many continuous output problems in computer vision are naturally contained in closed geometrical manifolds defined by the problem at hand.
這篇文章觀察到了計算機視覺中很多連續輸出問題本質上在一個由特定問題定義的閉合集合流形中。例如,視角估計中,角度在[π,π][- \pi , \pi]之間,表面法向量估計中法向量的l2l_2模爲1。這表明引起這種連續輸出問題的本質框架在n-球 SnS^n內, 由在Rn+1\mathbb R^{n+1}空間的閉合幾何流形定義。

這篇文章的主要貢獻有三點:

  1. 將n-球應用到計算機視覺中的連續輸出問題,利用n-球的性質,做球形迴歸;
  2. 提出了一種新型的、球形映射激活函數,爲在SnS^n球上回歸特別定義。
  3. 展示了一般的球形迴歸框架可以用於幾種計算機視覺任務,例如視角估計、表面法向量估計、3D旋轉估計等。

動機

深度分類與迴歸網絡

在這裏插入圖片描述
將CNN分爲兩個子網絡,爲base network和prediction head。

基礎網絡包括從輸入x到中間隱藏embedding層O=[o0,o1,,on]T=H(x)\mathbf O=[o_0, o_1,\dots, o_n]^T=H(x)。給定一個輸入xx,隱藏表示層OO是無約束的。

預測頭包括了在損失函數之前的最後一個n+1n+1維的層PP,通常稱爲網絡的輸出。該層由激活函數g()g(\cdot)得到,P:pk=g(ok;O)\mathbf P: p_k=g(o_k;\mathbf O).

訓練

在訓練過程中,第k層的參數由隨機梯度下降更新:θkθkγLθk\theta_k \leftarrow{\theta_k - \gamma \frac{\partial \mathcal L}{\partial \theta_k}}。展開鏈式法則:

Lθk=LPPO(Ohl1hk+1hk)hkθk\frac{\partial \mathcal L}{\partial \theta_k} = \frac{\partial \mathcal L}{\partial \mathbf P} \frac{\partial \mathbf P}{\partial \mathbf O} (\frac{\partial \mathbf O}{\partial h_{l-1}}\cdots\frac{\partial h_{k+1}}{\partial h_k})\frac{\partial h_k}{\theta _k}

當梯度受約束時,訓練是穩定、收斂的。否則,梯度更新會導致優化的邊界效應。

分類

在分類中,常用的激活函數和損失函數爲softmax和cross entropy:g(ok;O)={pi=eoi/jeoj,i=0,1,2, ,n}g(o_k; \mathbf O) = \{p_i = e^{o_i} / \sum_je^{o_j}, i =0,1, 2,\cdots, n\}L(O,Y)=iyilogpi\mathcal L(\mathbf O, \mathbf Y) = -\sum_iy_i\log{p_i}。注意到softmax將原始的embeddingORn+1\mathbf O\in \mathbb R^{n+1}映射到了結構化的輸出P\mathbf P,稱爲n-單純形,其維度大於0,元素和爲1。

輸出概率關於隱藏激活單元的偏導數爲:

pjoi={pj(1pj)when  j=ipjpiothers\frac{\partial p_j}{\partial o_i} = \begin{cases} p_j(1-p_j) &\rm{when}\; j = i \\ -p_jp_i &\rm{others} \end{cases}

我們注意到偏導數pjoi\frac{\partial p_j}{\partial o_i}並不直接依賴於O\mathbf O,這導致損失函數關於ojo_j的偏導數爲:

Loi=kykpkpkoi=piyi\frac{\partial\mathcal L}{\partial o_i} = -\sum_k\frac{\partial y_k}{\partial p_k}\cdot\frac{\partial p_k}{\partial o_i} = p_i - y_i

O\mathbf O無關。由於P\mathbf P對應於位於n維單純形上的概率分佈,本質上收到l1l_1模的約束,pj1p_j \le 1。因此偏導數LO\frac{\partial\mathcal L}{\partial \mathbf O}僅依賴於一個受約束的量。

迴歸

在迴歸問題中,在最後一層沒有明確的激活函數保證流形結構。原始的embedding層直接與真值進行比較。以smooth-L1損失爲例子:
L={0.5yioi2ifyioi1yioi0.5otherwise\mathcal L = \begin{cases} 0.5|y_i-o_i|^2 & \rm{if } |y_i-o_i| \le 1 \\ |y_i-o_i| - 0.5 & \rm{otherwise} \end{cases}

損失函數關於oio_i的偏導數爲:
Loi={(yioi)ifyioi1sign(yioi)otherwise\frac{\partial \mathcal L}{\partial o_i} = \begin{cases} -(y_i-o_i) & \rm{if} |y_i-o_i| \le 1\\ -sign(y_i -o_i) &\rm{otherwise} \end{cases}
可以觀察到,偏導數Loi\frac{\partial \mathcal L}{\partial o_i}直接依賴於原始輸出項O\mathbf O。因此,如果O\mathbf O具有很高的方差,無約束的梯度也會相應地具有較高的方差。因此訓練將會不穩定。

結論

使用CNN進行分類可以獲得穩定的梯度並收斂。原因是偏導數LPPO\frac{\partial \mathcal L}{\partial \mathbf P}\cdot\frac{\partial \mathbf P}{\partial \mathbf O}是受約束的,因此梯度Lθk\frac{\mathcal L}{\theta_k}也是受約束的。
而使用CNN進行迴歸可能會有不穩定和局部次優解,因爲在訓練過程中梯度是無約束的。

文章接下來的內容集中在標籤YY在受限的n-球流形中的迴歸問題。

球迴歸

n-球定義爲SnS^n,是歐式空間中n+1維球的表面。

n球上受約束迴歸

爲了增強深度迴歸網絡在n球上的訓練穩定性,一個目標是保證梯度也是受限的。爲了約束梯度,本文提出一個在O\mathbf O之後的激活層。該激活層有兩個性質:

  1. 激活函數的輸出P=pk\mathbf P={p_k}應在n-球上,即kpk2=1\sum_kp_k^2=1
  2. 類似於分類,梯度L![](https://imgblog.csdnimg.cn/2019041512295690.png?xossprocess=image/watermark,typeZmFuZ3poZW5naGVpdGk,shadow10,textaHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3d1bW8xNTU2,size16,colorFFFFFF,t70)O\frac{\partial\mathcal L}{![\partial](https://img-blog.csdnimg.cn/2019041512295690.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3d1bW8xNTU2,size_16,color_FFFFFF,t_70)\mathbf O}不能依賴於輸入信號,即LO\frac{\partial\mathcal L}{\partial\mathbf O}不能直接依賴於原始的隱藏層embedding ORn+1\mathbf O \in \mathbb R^{n+1}

爲了滿足以上兩點要求,提出了Spherical Exponential Function(球形指數映射函數):

pj=Sexp(oj;O)=eojke2okp_j = S_{exp}(o_j;\mathbf O) = \frac{e^{o_j}}{\sqrt{\sum_k e^{2o_k}}}

由於球形指數映射函數將輸出限制爲正整數,因此還需要一個分支預測輸出的符號以保證輸出值在整個n-球上。
梯度爲:
pjoi={pi(1pi2)when ijpi2pjwhen i=j \frac{\partial p_j}{\partial o_i} = \begin{cases} p_i\cdot (1-p_i^2) & \rm{when}\: i \ne j \\ -p_i^2\cdot p_j & \rm{when}\: i = j \end{cases}

在這裏插入圖片描述

結論

給定了球形映射函數g()g(\cdot),梯度PO\frac{\partial \mathbf P}{\partial \mathbf O}O\mathbf O是分離的,P\mathbf P受n-球約束。給定真值Y\mathbf Y,可以計算損失函數L=P,Y\mathcal L=- \langle \mathbf P,\mathbf Y \rangle,由於P\mathbf PY\mathbf Y的模都是1,該損失函數與餘弦距離損失、L2損失函數相似。因此,梯度Lpi=sign(pi)yi\frac{\partial \mathcal L}{\partial p_i}=-sign(p_i)|y_i|只和P\mathbf P有關。我們同樣可以將單個的輸出{p12,p22, }\{p_1^2,p_2^2,\cdots\}視爲連續的概率,對連續的標籤yi2y_i^2使用cross-entropy損失,H(Y2,P2)=2iyi2logpiH(\mathbf Y^2, \mathbf P^2)=-2\sum_iy_i^2\log{p_i}

總結:使用球形映射函數的球形迴歸保證了參數受約束地更新,期望其有助於穩定地訓練與收斂。在三種應用和數據集中驗證了該想法。

S1S^1S2S^2, S3S^3上的特殊情況

在這裏插入圖片描述

S1S^1:歐拉角估計

兩個組成部分:

  1. 帶有球面指數映射的對兩個絕對值的迴歸分支:P=[cosϕ,sinϕ]|P|=[|\cos\phi|, |\sin\phi|], 2
  2. 預測符號組合的分類分支:sign(cosϕ)sign(\cos\phi)sign(sinϕ)sign(\sin\phi), 4

S2S^2:表面法向量估計

表面法向量v=[Nx,Ny,Nz]T\mathbf{v} = [N_x, N_y, N_z]^T,其中Nx2+Ny2+Nz2=1N_x^2+N_y^2+N_z^2=1。由於對於相機而言,這些表面是可見的,因此從二位圖像中計算得到的表面法向量都是指向平面外的,也就是Nz>0N_z>0。因此表面法向量位於一個三維單位半球上。
因此兩個組成部分是:

  1. 迴歸:[Nx,Ny,Nz][N_x, N_y, N_z], 3
  2. 分類:Nx|N_x|Ny|N_y|的符號組合,4

S3S^3:3D旋轉估計

三維的旋轉可以用單位四元數表示,q=a+bi+cj+dkq=a+b\mathbf{i} + c\mathbf{j}+d\mathbf{k},其中a2+b2+c2+d2=1a^2+b^2+c^2+d^2=1。由於qqq-q表示相同的旋轉量,可以設定a>0a>0。因此,三維旋轉量在四維半球上。給定旋轉向量表示的3D旋轉q=(θ,v)q=(\theta, \mathbf v),其單位四元數表示爲(cosθ2,sinθ2v)(\cos\frac{\theta}{2}, \sin\frac{\theta}{2}\mathbf v)
兩個組成部分爲:

  1. 迴歸: [a,b,c,d][|a|, |b|, |c|, |d|],4
  2. 分類:{b,c,d}\{|b|, |c|, |d|\}的符號組合,8

實驗

文章分別對S1S^1S2S^2S3S^3進行了實驗,驗證了方法的有效性。

結論

We conclude that spherical regression is a good alternative for tasks where continuous output prediction are needed.

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