卷积神经网络(CNN)能够很好的处理二维平面图像的问题。然而,对球面图像进行处理需求日益增长。例如,对无人机、机器人、自动驾驶汽车、分子回归问题、全球天气和睦候模型的全方位视觉处理问题。html
将球形信号的平面投影做为卷积神经网络的输入的这种Too Naive作法是注定要失败的,Cnns的巨大成就来源于局部感觉野的权值共享,而多层结构总能找到不一样rect的相同目标,给出响应。而对于球形图像,一个目标在图片的不一样位置是发生形变的,若要使用CNNs直接共享,构建的局部感觉野理应描述这种转换。以下图所示,而这种平面投影引发的空间扭曲会致使CNN没法共享权重。git
We propose a definition for the spherical cross-correlation that is both expressive and rotation-equivariant. The spherical correlation satisfies a generalized Fourier theorem, which allows us to compute it efficiently using a generalized(non-commutative) Fast Fourier Transform (FFT) algorithm. We demonstrate the computational efficiency, numerical accuracy, and effectiveness of spherical CNNs applied to 3D model recognition and atomization energy regression.github
如何使三维图像由二维图像重构出来,解决在不一样位置产生形变问题,经典的FFT方法和李群模型就成为这种桥梁。算法
关于SO3 做为刚体变换的阐述,参考:半闲居士视觉SLAM十四讲笔记(3)三维空间刚体运动 - par..._CSDN博客 。
express
wocao,这个大纲写的更简洁明了:高翔《视觉SLAM十四讲》从理论到实践。
网络
区分出三维图像和平面的细微差异,把球面图像看作是三维流形,把球面展开为离散的三维李群,把SO(3)的关系用CNNs的高层进行表示。
app
As shown in Figure 1, there is no good way to use translational convolution or cross-correlation1 to analyze spherical signals. The most obvious approach, then, is to change the definition of crosscorrelation by replacing filter translations by rotations. Doing so, we run into a subtle but important difference between the plane and the sphere: whereas the space of moves for the plane (2D translations) is itself isomorphic to the plane, the space of moves for the sphere (3D rotations) is a different, three-dimensional manifold called SO(3)2. It follows that the result of a spherical correlation (the output feature map) is to be considered a signal on SO(3), not a signal on the sphere, S2. For this reason, we deploy SO(3) group correlation in the higher layers of a spherical CNN (Cohen and Welling, 2016).dom
The implementation of a spherical CNN (S2-CNN) involves two major challenges. Whereas a square grid of pixels has discrete translation symmetries, no perfectly symmetrical grids for the sphere exist. This means that there is no simple way to define the rotation of a spherical filter by one pixel. Instead, in order to rotate a filter we would need to perform some kind of interpolation. The other challenge is computational efficiency; SO(3) is a three-dimensional manifold, so a naive implementation of SO(3) correlation is O(n6).
ide
球形CNNs的两个难点:图像网格化的粒度,多大的粒度分解能保证重建的准确性;SO(3)的三维流形计算复杂度问题,时间复杂度是O(n6)的。post
........................................
The Key moments:
使用G-FFT进行快速相关性卷积,的相关结构。It is well known that correlations and convolutions can be computed efficiently using the Fast Fourier Transform (FFT). This is a result of the Fourier theorem, which states that[f = ^ f ^ . Since the FFT can be computed in O(n log n) time and the product has linear complexity, implementing the correlation using FFTs is asymptotically faster than the naive O(n2) spatial implementation.
.................
.......................................
最重要的一点,Our code is available at: https://github.com/jonas-koehler/s2cnn .
实验效果:
Results We evaluate by RMSE and compare our results to Montavon et al. (2012) and Raj et al. (2016) (see table 3). Our learned representation outperforms all kernel-based approaches and a MLP trained on sorted Coulomb matrices. Superior performance could only be achieved for an MLP trained on randomly permuted Coulomb matrices. However, sufficient sampling of random permutations grows exponentially with N, so this method is unlikely to scale to large molecules.
文中定义了S2和SO(3)的互相关,并分析了它们的属性,进而实现了一个通用的RRT相关算法。实验的数值结果证明了该算法的稳定性和准确性,即便在深度网络上依然有效。
总之,在准确率、可扩展性、等方面是综合最有前途的一个三维网络。
进一步优化:
For intrinsically volumetric tasks like 3D model recognition, we believe that further improvements can be attained by generalizing further beyond SO(3) to the roto-translation group SE(3). The development of Spherical CNNs is an important first step in this direction. Another interesting generalization is the development of a Steerable CNN for the sphere (Cohen and Welling, 2017), which would make it possible to analyze vector fields such as global wind directions, as well as other sections of vector bundles over the sphere.
把SO(3)上的计算往SE(3)上进行转化,把旋转相关性变换到切空间的平移SE(3),应该能够达到新的加速效果。
Appendix:
李群与李代数
三维旋转矩阵构成了特殊正交群SO(3),而变换矩阵构成了特殊欧氏群SE(3)
但不管SO(3),仍是SE(3),它们都不符合加法封闭性,即加以后再也不符合旋转矩阵的定义,可是乘法却知足,将这样的矩阵称为群。即只有一种运算的集合叫作群。
群记做G=(A, .),其中A为集合,.表示运算。群要求运算知足如下几个条件:
(1)封闭性。(2)结合律。
(3)幺元。一种集合里特殊的数集。
(4)逆。
能够证实,旋转矩阵集合和矩阵乘法构成群,而变换矩阵和矩阵乘法也构成群。
介绍了群的概念以后,那么,什么叫李群呢?
李群就是连续(光滑)的群。一个刚体的运动是连续的,因此它是李群。
每一个李群都有对应的李代数。那么什么叫李代数呢?
李代数就是李群对应的代数关系式。
李群和李代数之间的代数关系以下:
可见二者之间是指数与对数关系。
那么exp(φ^)是如何计算的呢?它是一个矩阵的指数,在李群和李代数中,它称为指数映射。任意矩阵的指数映射能够写成一个泰勒展开式,可是只有在收敛的状况下才会有结果,它的结果仍然是一个矩阵。
一样对任意一元素φ,咱们亦可按此方式定义它的指数映射:
因为φ是三维向量,咱们能够定义它的模长θ和方向向量a知足使φ=θa。那么,对于a^,能够推导出如下两个公式:
设a=(cosα, cosβ, cosγ),可知(cosα)^2+(cosβ)^2+(cosγ)^2=1
(1)a^a^=aaT-I
(2)a^a^a^=-a^
上面两个公式说明了a^的二次方和a^的三次方的对应变换,从而可得:
exp(φ^)=exp(θa^)=∑(1/n!(θa^)n)=...=a^a^+I+sinθa^-cosθa^a^=(1-cosθ)a^a^+I+sinθa^=cosθI+(1-cosθ)aaT+sinθa^.
回忆前一讲内容,它和罗德里格斯公式一模一样。这代表,so(3)实际上就是由旋转向量组成的空间,而指数映射即罗德里格斯公式。经过它们咱们把so(3)中任意一个向量对应到了一个位于SO(3)中的旋转矩阵。反之,若是定义对数映射,咱们也能把SO(3)中的元素对应到so(3)中:
但一般咱们会经过迹的性质分别求解转角和转轴,那种方式会更加省事一些。
OK,讲了李群和李代数的对应转换关系以后,有什么用呢?
主要是经过李代数来对李群进行优化。好比说,对李群中的两个数进行运算,对应的他们的李代数会有什么变化?
首先是,两个李群中的数进行乘积时,对应的李代数是怎么样的变化,是否是指数变化呢?可是注意,李群里的数是矩阵,不是常数,因此不知足ln(exp(A+B))=A+B,由于A,B是矩阵,不是常数,那么是怎么的对应关系呢?