All Projects → ruirangerfan → Three-Filters-to-Normal

ruirangerfan / Three-Filters-to-Normal

Licence: MIT license
Three-Filters-to-Normal: An Accurate and Ultrafast Surface Normal Estimator (RAL+ICRA'21)

Programming Languages

C++
36643 projects - #6 most used programming language
Cuda
1817 projects
CMake
9771 projects
matlab
3953 projects

Projects that are alternatives of or similar to Three-Filters-to-Normal

Clustering-Datasets
This repository contains the collection of UCI (real-life) datasets and Synthetic (artificial) datasets (with cluster labels and MATLAB files) ready to use with clustering algorithms.
Stars: ✭ 189 (+360.98%)
Mutual labels:  datasets, synthetic-data
recurrent-defocus-deblurring-synth-dual-pixel
Reference github repository for the paper "Learning to Reduce Defocus Blur by Realistically Modeling Dual-Pixel Data". We propose a procedure to generate realistic DP data synthetically. Our synthesis approach mimics the optical image formation found on DP sensors and can be applied to virtual scenes rendered with standard computer software. Lev…
Stars: ✭ 30 (-26.83%)
Mutual labels:  datasets, synthetic-data
multi-task-defocus-deblurring-dual-pixel-nimat
Reference github repository for the paper "Improving Single-Image Defocus Deblurring: How Dual-Pixel Images Help Through Multi-Task Learning". We propose a single-image deblurring network that incorporates the two sub-aperture views into a multitask framework. Specifically, we show that jointly learning to predict the two DP views from a single …
Stars: ✭ 29 (-29.27%)
Mutual labels:  datasets, synthetic-data
ake-datasets
Large, curated set of benchmark datasets for evaluating automatic keyphrase extraction algorithms.
Stars: ✭ 125 (+204.88%)
Mutual labels:  datasets
table-evaluator
Evaluate real and synthetic datasets with each other
Stars: ✭ 44 (+7.32%)
Mutual labels:  synthetic-data
awesome-forests
🌳 A curated list of ground-truth forest datasets for the machine learning and forestry community.
Stars: ✭ 111 (+170.73%)
Mutual labels:  datasets
masader
The largest public catalogue for Arabic NLP and speech datasets. There are +250 datasets annotated with more than 25 attributes.
Stars: ✭ 66 (+60.98%)
Mutual labels:  datasets
spectrochempy
SpectroChemPy is a framework for processing, analyzing and modeling spectroscopic data for chemistry with Python
Stars: ✭ 34 (-17.07%)
Mutual labels:  datasets
covid19-datasets
A list of high quality open datasets for COVID-19 data analysis
Stars: ✭ 56 (+36.59%)
Mutual labels:  datasets
dataset
dataset is a command line tool, Go package, shared library and Python package for working with JSON objects as collections
Stars: ✭ 21 (-48.78%)
Mutual labels:  datasets
datasets
🤗 The largest hub of ready-to-use datasets for ML models with fast, easy-to-use and efficient data manipulation tools
Stars: ✭ 13,870 (+33729.27%)
Mutual labels:  datasets
VisDA2020
VisDA2020: 4th Visual Domain Adaptation Challenge in ECCV'20
Stars: ✭ 53 (+29.27%)
Mutual labels:  synthetic-data
Few-Shot-Intent-Detection
Few-Shot-Intent-Detection includes popular challenging intent detection datasets with/without OOS queries and state-of-the-art baselines and results.
Stars: ✭ 63 (+53.66%)
Mutual labels:  datasets
time-series-classification
Classifying time series using feature extraction
Stars: ✭ 75 (+82.93%)
Mutual labels:  datasets
akshare
AKShare is an elegant and simple financial data interface library for Python, built for human beings! 开源财经数据接口库
Stars: ✭ 5,155 (+12473.17%)
Mutual labels:  datasets
parlitools
A collection of useful tools for UK politics
Stars: ✭ 22 (-46.34%)
Mutual labels:  datasets
datasets
The primary repository for all of the CORGIS Datasets
Stars: ✭ 19 (-53.66%)
Mutual labels:  datasets
Dataset-Sentimen-Analisis-Bahasa-Indonesia
Repositori ini merupakan kumpulan dataset terkait analisis sentimen Berbahasa Indonesia. Apabila Anda menggunakan dataset-dataset yang ada pada repositori ini untuk penelitian, maka cantumkanlah/kutiplah jurnal artikel terkait dataset tersebut. Dataset yang tersedia telah diimplementasikan dalam beberapa penelitian dan hasilnya telah dipublikasi…
Stars: ✭ 38 (-7.32%)
Mutual labels:  datasets
ml-datasets
🌊 Machine learning dataset loaders for testing and example scripts
Stars: ✭ 40 (-2.44%)
Mutual labels:  datasets
farabio
🤖 PyTorch toolkit for biomedical imaging ❤️
Stars: ✭ 48 (+17.07%)
Mutual labels:  datasets

Three-Filters-to-Normal (3F2N): An Accurate and Ultrafast Surface Normal Estimator

(a) RGB images; (b) Depth/Disparity Images; (c) Surface Normal Inferences.

1. Publication:

This paper (arxiv preprint) was accepted to RA-L and ICRA'21. In this repository, we publish our MATLAB, C++, and CUDA code.

Please cite our paper (IEEE published version) when using our source code or datasets:

@article{fan2021three,
  title     = {Three-filters-to-normal: An accurate and ultrafast surface normal estimator},
  author    = {Fan, Rui and Wang, Hengli and Xue, Bohuan and Huang, Huaiyang and Wang, Yuan and Liu, Ming and Pitas, Ioannis},
  journal   = {IEEE Robotics and Automation Letters},
  volume    = {6},
  number    = {3},
  pages     = {5405--5412},
  year      = {2021},
  publisher = {IEEE},
  doi       = {10.1109/LRA.2021.3067308}
}

2. Contributions:

Rui Ranger Fan proposed 3F2N and completed the MATLAB and CUDA code; Bohuan Xue completed the C++ code; Hengli Wang and Huaiyang Huang created the large-scale datasets that were used for quantifying algorithm performance; Huaiyang Huang explored the application of 3F2N in 3-D reconstruction; Yuan Wang studied the usability of CNN in 3F2N; Hengli Wang and Bohuan Xue carried out algorithm evaluations; Ming Liu and Ioannis Pitas provided comments and suggestions on paper writing. Rui Ranger Fan, Hengli Wang, and Bohuan Xue contributed equally to this work.


3. Demo Video:

In this video, we demonstrated: (a) the performance of 3F2N w.r.t. different filter types/sizes; (b) comparisons between 3F2N and other SoTA algorithms; (c) experimental results on other public datasets containing depth/disparity images; (d) application of 3F2N in SLAM. Our proposed 3F2N can also be used for semantic driving scene segmentation tasks, as discussed in SNE-RoadSeg, ECCV'20.


4. Datasets

This project used 24 3-D mesh models from Free3D to create three datasets (eight models in each dataset). According to different difficulty levels, we name our datasets easy, medium, and hard, respectively. Each 3-D mesh model is first fixed at a certain position. A virtual range sensor with pre-set intrinsic parameters is then used to capture depth images at 1800–2500 different view points. At each view point, a 480x640 pixel depth image is generated by rendering the 3-D mesh model using OpenGL Shading Language (GLSL). However, since the OpenGL rendering process applies linear interpolation by default, rendering surface normal images is infeasible. Hence, the surface normal of each triangle, constructed by three mesh vertices, is considered to be the ground truth surface normal of any 3-D points residing on this triangle. The datasets are publicly available for research purposes.

(1)–(5) columns on (a), (d) and (g) rows show the 3-D mesh models, depth images, surface normal ground truth and the experimental results obtained using FD-Mean and FD-Median SNEs (ours), respectively; (1)–(5) columns on (b), (e) and (h) rows show the angular error maps obtained by PlaneSVD/PlanePCA, VectorSVD, AreaWeighted, AngleWeighted, and FALS SNEs, respectively; (1)–(5) columns on (c), (f) and (i) rows show the angular error maps obtained by SRI, LINE-MOD, SNE-RoadSeg, FD-Mean and FD-Median SNEs, respectively.


5. Source Code

5.1. Matlab code

Navigate to matlab_code and run demo.m, a result and the corresponding error map (degrees) will be displayed.

5.2. C++ code

Step 1: Install Eigen library and OpenCV.

sudo apt-get install libeigen3-dev
sudo apt-get install libopencv-dev

Step 2: Run the following commands:

mkdir c_code/build
cd c_code/build
cmake ..
make 
./example

5.3. CUDA code

Similar to the C++ code, please use CMake to build the environment and run main.cu.


6. Contact

Please feel free to drop me emails (Rui Fan, [email protected]) if you have any questions.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].