Analysis updated 2026-07-18 · repo last pushed 2018-02-23
Generate surface normals for 3D building models from laser scan data to enable proper shading and rendering.
Process LiDAR point clouds for robotic navigation to help robots understand surface geometry around them.
Analyze raw 3D scan data to determine surface orientations for computer graphics pipelines.
| cloudcompare/normals_hough | bong-water-water-bong/npu-gpu-cpu | colesbury/node-llvm | |
|---|---|---|---|
| Stars | 3 | 3 | 3 |
| Language | C++ | C++ | C++ |
| Last pushed | 2018-02-23 | — | 2014-08-06 |
| Maintenance | Dormant | — | Dormant |
| Setup difficulty | moderate | hard | hard |
| Complexity | 3/5 | 5/5 | 4/5 |
| Audience | researcher | researcher | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires installing the Eigen and nanoflann C++ libraries before the header-only code can be used in a project.
This project helps computers figure out which way surfaces are facing in 3D scan data. When you scan a physical object or environment with a laser scanner, you get a cloud of points in 3D space, but the raw data doesn't tell you whether a particular point belongs to a flat wall, a curved surface, or a sharp edge. This tool estimates the "normal" direction at each point, which is a way of describing the orientation of the surface at that spot. The method combines a Hough transform (a classic technique for finding shapes and directions in noisy data) with deep learning, specifically trained to be robust even when the point cloud is messy or unstructured. You give it an input file containing 3D coordinates, and it produces an output file where each point has been analyzed and its surface direction estimated. People who would use this are typically working with 3D scanning, LiDAR data, or computer graphics pipelines. For example, if you are building a 3D model of a building from laser scans, you need surface normals to properly shade and render the model. Or if you are doing robotic navigation using LiDAR, understanding surface orientation helps the robot interpret the geometry of its surroundings. The code is written in C++ and comes as a header-only library, meaning it is relatively easy to include in another project. The current version depends on two tools: Eigen (a math library) and nanoflann (a tool for fast spatial searches). Earlier versions relied on different libraries called CGAL and PCL, and those are still included in the repository for reference. The README doesn't go into much detail about the specific options or parameters you can pass to the tool, beyond the basic input and output file flags.
Estimates surface orientation directions for 3D point cloud data from laser scans or LiDAR. It combines a classic shape-finding technique with deep learning to work well even on messy, noisy scan data.
Mainly C++. The stack also includes C++, Eigen, nanoflann.
Dormant — no commits in 2+ years (last push 2018-02-23).
Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.
Mainly researcher.
This repo across BitVibe Labs
Verify against the repo before relying on details.