  We present O-CNN, an Octree-based Convolutional Neural Network (CNN) for 3D
shape analysis. Built upon the octree representation of 3D shapes, our method
takes the average normal vectors of a 3D model sampled in the finest leaf
octants as input and performs 3D CNN operations on the octants occupied by the
3D shape surface. We design a novel octree data structure to efficiently store
the octant information and CNN features into the graphics memory and execute
the entire O-CNN training and evaluation on the GPU. O-CNN supports various CNN
structures and works for 3D shapes in different representations. By restraining
the computations on the octants occupied by 3D surfaces, the memory and
computational costs of the O-CNN grow quadratically as the depth of the octree
increases, which makes the 3D CNN feasible for high-resolution 3D models. We
compare the performance of the O-CNN with other existing 3D CNN solutions and
demonstrate the efficiency and efficacy of O-CNN in three shape analysis tasks,
including object classification, shape retrieval, and shape segmentation.
