论文笔记:Spherical CNN
生活随笔
收集整理的這篇文章主要介紹了
论文笔记:Spherical CNN
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Spherical CNN
1、四個問題
- 3D場景下旋轉不變性特征的提取。
- 提出了球形卷積操作,也叫作球形互相關(spherical cross-correlation)。球形卷積具有旋轉不變性。
- 為了增強計算效率,使用FFT(Fast Fourier Transform)來計算球形卷積。
- 在3D模型識別上效果還不錯,與其他深度神經網絡的模型相比準確率差一些,但是對旋轉變化的魯棒性更強。
- 由于在球形卷積中使用了FFT和IFFT,在轉換過程中會損失一部分信息。
- 球形卷積僅針對的理想的3D物體做到了旋轉不變性,不存在背景或者其他噪聲的干擾,如果在存在多個3D物體的自然場景下,必須要先分割出3D物體再提取旋轉不變特征,流程過于繁瑣。
2、論文概述
1、簡介
- 一種比較常見的思路是,將球形曲面展開為一個2D平面,如圖1所示。從一個球面的信號到平面的映射過程中存在不規則的畸變。當圖1的左圖旋轉到右圖中的情況時,第一行表示球面上的情況,其實相當于在球面上平移;第二行表示從球面投影到平面的情況,不僅存在平移變化,還存在投影畸變。
- 上面這個簡單的例子說明了:球形曲面上的信號,不適合使用卷積(convolution)或互相關(cross-correlation)這類操作提取特征。盡管卷積這類操作具有平移不變性,但是球形曲面上還存在不規則的投影畸變。從不同旋轉狀態下的同一目標使用卷積提取到的特征不具備等效性(equivalence)。
- 因此作者想要提出一個網絡來解決這個問題,也就是本文中的Spherical CNN(S2S^2S2-CNN)。三維空間下的旋轉矩陣RRR可以用一個特殊正交群SO(3)SO(3)SO(3)來表示。Spherical CNN的目的是做到在SO(3)SO(3)SO(3)下的等效性。
- SO(3)SO(3)SO(3)互相關滿足傅里葉理論,即SO(3)SO(3)SO(3)傅里葉變換。因此使用廣義FFT算法來能高效地實現SO(3)SO(3)SO(3)傅里葉變換和S2S^2S2傅里葉變換。
2、貢獻
- 球面CNN理論。
- 提出了對于球面S2S^2S2和三維特殊正交群SO(3)SO(3)SO(3)的廣義傅里葉變換。
- 實驗驗證球面CNN對旋轉不變性的適用性。
3、球面和旋轉群的互相關
- 首先類比經典的平面互相關(x∈Z2x \in \mathbb{Z}^2x∈Z2),隨后再引出S2S^2S2和SO(3)SO(3)SO(3)互相關。
- 平面互相關(planar correlation)的理解:
- 輸出的特征圖是按xxx平移時(x∈Z2x \in \mathbb{Z}^2x∈Z2)輸入的特征圖與濾波器的內積計算得到的結果。
- 類似的,球面互相關(spherical correlation)可以理解為:
- 輸出的特征圖是按RRR旋轉時(R∈SO(3)R \in SO(3)R∈SO(3))輸入的特征圖與濾波器的內積計算得到的結果。
4、球面CNN
- 球面單元:
- S2S^2S2可以定義為一組單位球面上的點的幾何x∈R3x \in \mathbb{R}^3x∈R3,是一個三維流型,可以用球面坐標系來表示:α∈[0,2π]\alpha \in [0, 2\pi]α∈[0,2π],β∈[0,π]\beta \in [0, \pi]β∈[0,π]。
- 球面信號:
- 使用連續函數f:S2→RKf: S^2 \rightarrow \mathbb{R}^Kf:S2→RK對球面圖像和濾波器進行建模,其中KKK是通道數。
- 旋轉:
- 在三維空間中一組旋轉稱為SO(3)SO(3)SO(3),也叫作“特殊正交群”,用一個3×33 \times 33×3的矩陣表示旋轉。這個旋轉矩陣具有以下性質:∥Rx∥=∥x∥\|Rx \| = \| x \|∥Rx∥=∥x∥,det(R)=+1det(R) = +1det(R)=+1。
- 如果用三維向量xxx來表示球面上的點,那么可以使用矩陣向量乘法RxRxRx來表示旋轉。
- 旋轉群SO(3)SO(3)SO(3)是一個三維流型,它也可以用ZYZZYZZYZ歐拉角進行參數化表示:α∈[0,2π]\alpha \in [0, 2\pi]α∈[0,2π],β∈[0,π]\beta \in [0, \pi]β∈[0,π],γ∈[0,2π]\gamma \in [0, 2\pi]γ∈[0,2π]。
- 球面信號的旋轉:
- 為了定義球面互相關,引入旋轉算子LRL_RLR?,結合函數fff,可以得到旋轉函數LRfL_R fLR?f:[LRf](x)=f(R?1x)[L_R f](x) = f(R^{-1} x)[LR?f](x)=f(R?1x)。
- 我的理解是:LRfL_R fLR?f是一個旋轉了RRR的特征圖,在其上xxx位置對應的特征是[LRf](x)[L_R f](x)[LR?f](x),換算回旋轉前的函數fff的特征圖上,對應于R?1xR^{-1} xR?1x位置的特征。
- 旋轉算子在RRR上是可逆的,即有:LRR′=LRLR′L_{R R^\prime} = L_{R} L_{R^\prime}LRR′?=LR?LR′?。
- 內積:
- 在球面信號矢量空間上的內積定義為:
- ?ψ,f?=∫S2∑k=1Kψk(x)fk(x)dx\langle\psi, f\rangle=\int_{S^{2}} \sum_{k=1}^{K} \psi_{k}(x) f_{k}(x) d x?ψ,f?=∫S2?k=1∑K?ψk?(x)fk?(x)dx
- 積分測度dxdxdx表示球面上的標準旋轉不變積分測度,可以由球面坐標dαsin?(β)dβ/4πd \alpha \sin (\beta) d \beta / 4 \pidαsin(β)dβ/4π表示。
- 由于球面高度圖的體積不隨轉動變化,所以,可以具有對于任意的旋轉R∈SO(3)R \in \mathrm{SO}(3)R∈SO(3)的不變性:∫S2f(Rx)dx=∫S2f(x)dx\int_{S^{2}} f(R x) d x=\int_{S^{2}} f(x) d x∫S2?f(Rx)dx=∫S2?f(x)dx。
- 注意到,LR?1L_{R^{-1}}LR?1?與LRL_RLR?伴隨,那么LRL_RLR?是幺正(unary)的:
- ?LRψ,f?=∫S2∑k=1Kψk(R?1x)fk(x)dx=∫S2∑k=1Kψk(x)fk(Rx)dx=?ψ,LR?1f?\begin{aligned}\left\langle L_{R} \psi, f\right\rangle &=\int_{S^{2}} \sum_{k=1}^{K} \psi_{k}\left(R^{-1} x\right) f_{k}(x) d x \\ &=\int_{S^{2}} \sum_{k=1}^{K} \psi_{k}(x) f_{k}(R x) d x \\ &=\left\langle\psi, L_{R^{-1}} f\right\rangle \end{aligned}?LR?ψ,f??=∫S2?k=1∑K?ψk?(R?1x)fk?(x)dx=∫S2?k=1∑K?ψk?(x)fk?(Rx)dx=?ψ,LR?1?f??
- 球面相關性(spherical correlation):
- 對球形信號fff和ψ\psiψ,定義相關性為:
- [ψ?f](R)=?LRψ,f?=∫S2∑k=1Kψk(R?1x)fk(x)dx[\psi \star f](R)=\left\langle L_{R} \psi, f\right\rangle=\int_{S^{2}} \sum_{k=1}^{K} \psi_{k}\left(R^{-1} x\right) f_{k}(x) d x[ψ?f](R)=?LR?ψ,f?=∫S2?∑k=1K?ψk?(R?1x)fk?(x)dx
- 輸入是SO(3)SO(3)SO(3)上的一個旋轉矩陣,fff為輸入信號,ψ\psiψ為濾波器,這個函數就是計算輸入信號與濾波器在旋轉為RRR時的相關性。
- SO(3)SO(3)SO(3)上信號的旋轉:
- 對旋轉算子進行推廣,以便能對SO(3)SO(3)SO(3)上的信號起作用。
- 對于f:SO(3)→RKf : \mathrm{SO}(3) \rightarrow \mathbb{R}^{K}f:SO(3)→RK和R,Q∈SO(3)R, Q \in \mathrm{SO}(3)R,Q∈SO(3):[LRf](Q)=f(R?1Q)\left[L_{R} f\right](Q)=f\left(R^{-1} Q\right)[LR?f](Q)=f(R?1Q)。
- 旋轉群相關:
- 與前面類似,定義旋轉群上兩個信號f,ψ:SO(3)→RKf, \psi : \mathrm{SO}(3) \rightarrow \mathbb{R}^{K}f,ψ:SO(3)→RK的相關性:
- [ψ?f](R)=?LRψ,f?=∫SO(3)∑k=1Kψk(R?1Q)fk(Q)dQ[\psi \star f](R)=\left\langle L_{R} \psi, f\right\rangle=\int_{\mathrm{SO}(3)} \sum_{k=1}^{K} \psi_{k}\left(R^{-1} Q\right) f_{k}(Q) d Q[ψ?f](R)=?LR?ψ,f?=∫SO(3)?k=1∑K?ψk?(R?1Q)fk?(Q)dQ
- 這里的dQdQdQ是SO(3)SO(3)SO(3)上的不變測度,可以用ZYZZYZZYZ歐拉角來表示:dαsin?(β)dβdγ/(8π2)d \alpha \sin (\beta) d \beta d \gamma /\left(8 \pi^{2}\right)dαsin(β)dβdγ/(8π2)。
- 等變性:
- 等變性指的是,對于一些算子TRT_RTR?,如果Φ°LR=TR°Φ\Phi \circ L_{R}=T_{R} \circ \PhiΦ°LR?=TR?°Φ,那么Φ\PhiΦ就是等變的。
- [ψ?[LQf]](R)=?LRψ,LQf?=?LQ?1Rψ,f?=[ψ?f](Q?1R)=[LQ[ψ?f]](R)\left[\psi \star\left[L_{Q} f\right]\right](R)=\left\langle L_{R} \psi, L_{Q} f\right\rangle=\left\langle L_{Q^{-1} R} \psi, f\right\rangle=[\psi \star f]\left(Q^{-1} R\right)=\left[L_{Q}[\psi \star f]\right](R)[ψ?[LQ?f]](R)=?LR?ψ,LQ?f?=?LQ?1R?ψ,f?=[ψ?f](Q?1R)=[LQ?[ψ?f]](R)
- 球面相關性和群相關性都是等變的。
5、使用G-FFT進行快速卷積
- 總所周知,快速傅里葉變換(FFT)可以高效地計算相關性和卷積。
- 由傅里葉定理給出:f?ψ^=f^?ψ^\widehat{f * \psi}=\hat{f} \cdot \hat{\psi}f?ψ?=f^??ψ^?。
- FFT的時間復雜度為O(nlog?n)O(n \log n)O(nlogn),而乘法算子具有線性復雜度,因此使用FFT實現的相關性比原始的相關性計算時間復雜度O(n2)O(n^2)O(n2)快的多。
- 對于球面和旋轉群上的函數,有一個類似的變換,把它稱作廣義傅里葉變換(GFT)和其對應的快速算法(GFFT)。論文中沒有做詳細描述,這里也不展開描述,詳細可以參考這篇文檔:SOFT: SO(3) Fourier Transforms。這篇論文中也是直接使用了他們推導好的數學公式。
- 用XXX表示S2S^2S2或SO(3)SO(3)SO(3),再用UlU^lUl表示相應的基函數,在函數f:X→Rf : X \rightarrow \mathbb{R}f:X→R,GFT可以寫為:
- f^l=∫Xf(x)Ul(x) ̄dx\hat{f}^{l}=\int_{X} f(x) \overline{U^{l}(x)} d xf^?l=∫X?f(x)Ul(x)?dx
- 實際應用中使用GFFT可有效計算這個積分。
- SO(3)SO(3)SO(3)的逆變換定義為:
- f(R)=∑l=0b(2l+1)∑m=?ll∑n=?llf^mnlDmnl(R)f(R)=\sum_{l=0}^{b}(2 l+1) \sum_{m=-l}^{l} \sum_{n=-l}^{l} \hat{f}_{m n}^{l} D_{m n}^{l}(R)f(R)=l=0∑b?(2l+1)m=?l∑l?n=?l∑l?f^?mnl?Dmnl?(R)
- S2S^2S2下的逆變換也依次類推。
- 最大頻率bbb是帶寬,與網格的分辨率相關。
- 在頻域內實現球面互相關:
- 信號fff與濾波器ψ\psiψ經過傅里葉變換得到球形頻域上旋轉等變的頻譜,相乘隨后對各通道求和,最終做傅里葉逆變換轉換回空域。由于濾波器是局部的,所以使用矩陣乘法(DFT)會比FFT更快。
6、實驗
3、參考資料
總結
以上是生活随笔為你收集整理的论文笔记:Spherical CNN的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 论文笔记:Semi-Supervised
- 下一篇: 论文笔记:Group Equivaria