Benchmarks
Point cloud software benchmark: every number Neurones 3D publishes
This page is the point cloud software benchmark record for Neurones 3D: every performance and accuracy figure the site publishes, in one table, with what it was measured on and the guide that documents it. Accuracy is held-out or scored against independent labels, and where a result is weak or has a limit, that is listed too.
By Dr. Florent Poux, 3D Geodata Academy · Updated

At a glance
Short statements, each one checkable. Where there is a number, it was measured, and the guides say on what.
- A 43.5 million point LAS opens in about 1.2 s and renders at 60 FPS (9.0 ms a frame, median).
- A 127.8 million point, 7.9 GB E57 opens in about 22 s; a 16.2 million point COPC in 2.4 s.
- Held-out classifier accuracy, per point: indoor 81.9 % and 82.3 %, outdoor aerial LiDAR 86.2 %, powerline 87 to 88 %.
- The ground filter scores F1 90.3 % (precision 83.8 %, recall 97.9 %) against IGN LiDAR HD’s own ground class, on 16.2 million points in 2.1 s.
- On S3DIS Area 4, the floor plan, six sections and elevations, 21 files and the GIS layers are written in 1.0 s.
- A 38-layer USD stage composes to the same 15,217,537 triangles that OpenUSD 26.8 reports.
- M3C2 measured an injected 50 mm lift as +0.04998 m.
- The workspace carries 1,222 passing tests in 78 suites, measured on 15 September 2026.
The numbers, and what each was measured on
How to read these numbers
Every figure below is one the site already publishes, gathered in one place and linked to the guide that states it, with what it was measured on and its limits. Accuracy is per point, on data the model did not see in training, or against labels N3D did not make. Times depend on the machine: read them as orders of magnitude, not as a guarantee on yours. The figures are as published on 24 September 2026.
| What | Result | Measured on | Guide |
|---|---|---|---|
| Open LAS | about 1.2 s; 60 FPS, 9.0 ms a frame (median) | 43.5 M points | open |
| Decompress LAZ | about 40 M points a second; 142 M points in about 3.3 s | LAZ files | formats |
| Open COPC | 2.4 s | 16.2 M points | open |
| Open E57 | about 22 s | 127.8 M points, 7.9 GB | open |
| Open IFC | meshed in about 1 s | 100,871 entities | USD, IFC |
| USD composition | same 65,654 meshes, 15,217,537 triangles and bounding box as OpenUSD 26.8 | 38-layer factory stage | USD, IFC |
| USD open, reopen | 59.3 s first, 1.64 s from cache | same stage | USD, IFC |
| USD peak memory | 6.5 GB, first composition | 900,000-prim stage | USD, IFC |
| Splat rendering | about 60 FPS | 2 M splats | splats |
| Splat level of detail | 2.4x faster at a 500,000 budget, 4.6x at 150,000; merged Gaussians cost 1.14x | 1.92 M splat capture | splats |
| Decomposition | 1,501 regions in 5.8 s, against 9,626 from region growing | 43.5 M point building | primitives |
| Indoor classifier | 81.9 % and 82.3 % held-out | ten classes | classification |
| Outdoor classifier | 86.2 % held-out | IGN LiDAR HD, six classes | classification |
| Powerline classifier | 87 to 88 % held-out | six classes, with instances | classification |
| Streetscape (preview) | 31 of 32 traffic-sign objects | fifteen classes, mobile LiDAR | classification |
| Ground filter | precision 83.8 %, recall 97.9 %, F1 90.3 %, 2.1 s | IGN LiDAR HD ground class, 16.2 M points, 2.0 m, 0.50 m | ground filter |
| Ground filter, 1.0 m | recall 99.7 %, precision 80.4 % | same tile | ground filter |
| Scene graph | 31 rooms, 48 openings in 0.35 s | S3DIS Area 4, 43.5 M points | scene graph |
| Floor plan | 42 spaces; plan, 6 sections and elevations, 21 files, GIS layers in 1.0 s | S3DIS Area 4, 43 M points | floor plan |
| Sheet collisions | from up to 107 to 0 | IFC storeys and Area 4, A3 and A1 | floor plan |
| Wall thickness | about ±30 mm | real survey, default voxel | floor plan |
| Terrain products | 6 rasters, 153 × 140 cells at 0.50 m, in 0.66 s; 616 contours at 1 m | 1.75 M point aerial corridor tile | terrain |
| M3C2, injected lift | 50 mm measured as +0.04998 m (median) | real vegetated tile | compare |
| M3C2, self | 0.0 % changed, no patches | a cloud against itself | compare |
| M3C2, demo pair | 120 mm found; 10 mm unchanged against a 14.9 mm level of detection | demo pair | compare |
| Column transfer | 0.21 s | 20 M points | transfer |
| Clean mesh | 501 and 2,431 non-manifold edges | 20,000-point sphere; real indoor scan | meshing |
| Video to 3D | about 23 s a frame | Depth Anything 3, CPU, pure Rust | video |
| Test suite | 1,222 passed, 0 failed, in 78 suites | the workspace, 15 September 2026 |
What the table does not say
Some rows are there because they are limits. The clean mesher is closed but not edge-manifold, and the mesh audit reports the edges rather than hiding them. Video to 3D is experimental and slow on the CPU. The Streetscape model is a development preview. M3C2 reports a mean in a cylinder, so a 1.5 m dome reads about 1.28 m at its apex. And a benchmark on someone else’s data is not a promise about yours: the classifiers write a per-point confidence so you can see where they hesitate on your own scans.
Checking the numbers yourself
Several figures can be re-run: n3d-render-cli ground --check-against 2 scores the ground filter
against a file’s own ground class, indoor-eval scores a classifier against a labelled file, and
compare --json writes an M3C2 result to a file. Most of the processes behind the table
run in the free viewer, so the results can be checked on your own data before anything is bought. For
the context around each figure, see point cloud classification,
LiDAR terrain and
point cloud change detection.


Questions
Where do Neurones 3D's benchmark numbers come from?
From the project’s own measured runs, each documented in the guide for that process with the data it was measured on and its limits. Accuracy figures are held-out (data the model was not trained on) or scored against labels N3D did not produce, such as IGN LiDAR HD’s own ground class.
How accurate is Neurones 3D's point cloud classification?
Held-out, per point: indoor (ten classes) 81.9 % and 82.3 %, outdoor aerial LiDAR 86.2 %, powerline 87 to 88 %; the streetscape preview found 31 of 32 traffic-sign objects. A capture unlike the training data will score lower, and the per-point confidence column shows where.
How was the ground filter benchmarked?
Against IGN LiDAR HD’s own production ground class, on 16.2 million points, at a 2.0 m resolution and a 0.50 m threshold: precision 83.8 %, recall 97.9 %, F1 90.3 %, in 2.1 s. Precision and recall are reported separately, never as one accuracy, because a filter that calls everything ground scores 60 % on a scene that is 60 % ground.
How fast does N3D open a large point cloud?
A 43.5 million point LAS in about 1.2 s, a 16.2 million point COPC in 2.4 s, and a 127.8 million point, 7.9 GB E57 in about 22 s. LAZ decompresses at about 40 million points a second. A file is indexed once, and every later open memory-maps the index back in about a second.
How was USD composition checked?
On a 38-layer factory stage, N3D and OpenUSD 26.8 report the same 65,654 meshes, the same 15,217,537 triangles and the same bounding box to the millimetre. The first open took 59.3 s; every reopen, from N3D’s mesh cache, 1.64 s.
Can I reproduce these benchmarks?
Several are built into the command line: ground --check-against 2 scores the ground filter against a file’s own class 2, indoor-eval scores a model against a labelled file, and compare --json writes the M3C2 result. The command line comes with the Engine & SDK edition; each guide lists its commands.
Where are the results weakest?
The Streetscape model is still a development preview; the clean mesher leaves non-manifold edges and says so; Depth Anything 3 on the CPU takes about 23 s a frame; and splat scenes larger than video memory cannot be streamed yet.
The guides behind it
Each guide gives the menu path, the steps, the command-line equivalent and the limits.
confidence column, and split a powerline corridor into individual trees, spans and poles.
Understand the scene
Ground filter
Drop a simulated cloth on the upside-down cloud to fit the ground, label every point ground or off-ground, and measure each point’s height above that ground, with no training data and parameters you can adjust live.
Understand the scene
Decompose into primitives
Turn a scene of millions of points into a few hundred pieces a person can actually review (planes by size, cylinders, linear runs and clusters), each point carrying its component and its primitive_kind.
Build deliverables
Scene graph and spaces
See the structure of a scene - every object as a node, spatial relations as typed edges, and the rooms they sit in, found as volumes of air rather than boxes - with areas, volumes, heights and doors per room.
Build deliverables
Floor plans, sections and elevations
One command from raw points to a drawing set - walls between their measured faces, doors with their swing, windows with their glass, dimension chains, room areas and levels, a legend, a scale bar and a north arrow - plus sections and elevations placed where they show the most.
Build deliverables
Terrain products (DTM, DSM, CHM, contours)
Turn one ground fit into the raster set a client actually receives (DTM, DSM, canopy height, slope, aspect, hillshade, contours, trees and sunlight), all on one grid so they cannot disagree, with a README that says what is wrong with them.
Compare and register
Compare and detect change (M3C2)
Compare a survey against a reference (another survey, a mesh or a BIM model) as a signed distance with conformance bands and a worst-first list of defects, or run M3C2 to say what was gained, what was lost, and what simply was not observed.
Models, splats and video
USD, IFC and STEP models
Open a USD stage fully composed (references, payloads, variants, prototypes and instancing resolved), an IFC building or a STEP part, switch components on and off, fly to any of them, and measure a scan against the model’s surface.
Models, splats and video
Gaussian splats and level of detail
Stand inside a photoreal Gaussian splat capture (PLY or SPZ), draw it through a level-of-detail tree that keeps large captures fast, turn it into a real point cloud, or mesh it into a three-level glTF chain for a game engine.
Understand the scene
Transfer a column from a layer
Work on a light subsample, then project the answer (a classification, a segment id, a height) onto the full-resolution cloud, and leave a point with no source in range empty rather than guessing.
Build deliverables
Meshing (Poisson, clean mesh, segment meshes)
Three ways to a surface - screened Poisson for a smooth watertight shape, the clean mesher for a closed solid or an open façade with a texture baked from the cloud, and segment meshes for clean planar panels - each with an audit that says what the mesh is.