OctNet Batch Normalization

OctNets, illustrated in Figure 1 and proposed by Riegler et al. in [], are octree-based convolutional neural networks intended for efficient learning on 3D data. A C++/CUDA implementation with Torch interface can be found on GitHub at griegler/octnet. However, the vanilla implementation does not include batch normalization []. Efficiently implementing batch normalization on octrees is non-trivial because of the variable tree structure. In this article, I explain how to implement batch normalization for OctNets and the implementation can be found on GitHub:

OctNet Batch Normalization on GitHub
  • [] Gernot Riegler, Ali Osman Ulusoy, Andreas Geiger. OctNet: Learning Deep 3D Representations at High Resolutions. CVPR, 2017.
  • [] Sergey Ioffe, Christian Szegedy: Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift. ICML 2015: 448-456