  This paper proposes three-filters-to-normal (3F2N), an accurate and ultrafast
surface normal estimator (SNE), which is designed for structured range sensor
data, e.g., depth/disparity images. 3F2N SNE computes surface normals by simply
performing three filtering operations (two image gradient filters in horizontal
and vertical directions, respectively, and a mean/median filter) on an inverse
depth image or a disparity image. Despite the simplicity of 3F2N SNE, no
similar method already exists in the literature. To evaluate the performance of
our proposed SNE, we created three large-scale synthetic datasets (easy, medium
and hard) using 24 3D mesh models, each of which is used to generate 1800--2500
pairs of depth images (resolution: 480X640 pixels) and the corresponding
ground-truth surface normal maps from different views. 3F2N SNE demonstrates
the state-of-the-art performance, outperforming all other existing
geometry-based SNEs, where the average angular errors with respect to the easy,
medium and hard datasets are 1.66 degrees, 5.69 degrees and 15.31 degrees,
respectively. Furthermore, our C++ and CUDA implementations achieve a
processing speed of over 260 Hz and 21 kHz, respectively. Our datasets and
source code are publicly available at sites.google.com/view/3f2n.
