parislille3d
The Paris-Lille-3D (NPM3D) dataset.

Paris-Lille-3D: A Point Cloud Dataset for Urban Scene Segmentation and Classification by Roynard, Deschaud and Goulette (2018).
The 10-class benchmark splits the data into:
- train:
Lille1_1.ply,Lille1_2.ply,Paris.ply - val / held-out:
Lille2.ply
There is also a 50-class research split with three large .ply files plus per-class XML annotations; this loader targets the standard 10-class benchmark used by published RandLA-Net checkpoints.
Classes:
-
ParisLille3D–The Paris-Lille-3D 10-class benchmark.
Functions:
-
load_parislille3d_data–Parse a Paris-Lille-3D 10-class PLY file.
ParisLille3D [source] ¶
ParisLille3D(
root: PathLike,
*,
split: ParisLille3DSplit = "train",
files: Optional[Sequence[str]] = None,
transform: Optional[
Callable[[Dict[str, Any]], Dict[str, Any]]
] = None,
)
Bases: PointCloudDataset
The Paris-Lille-3D 10-class benchmark.
Each sample is a single PLY scan, returned as a dictionary:
| Key | Shape | Dtype | Meaning |
|---|---|---|---|
pos | \((N, 3)\) | float32 | XYZ |
intensity | \((N, 1)\) | uint8 | LiDAR reflectance |
segment | \((N,)\) | int64 | Raw class id, 0-9 (0 = unclassified, ignored) |
name | str | Source file name without extension |
Parameters:
-
root(PathLike) –Dataset root. Files are read from
<root>/ParisLille3D/raw/<file>.ply. -
split(ParisLille3DSplit, default:'train') –One of
"train"(the default) /"val"/"trainval"/"all". The 10-class benchmark holds outLille2.plyas the val split; the public test files (test_10_classes/) have no labels and are not loaded here. -
files(Optional[Sequence[str]], default:None) –Optional explicit list of file names. Overrides
split. -
transform(Optional[Callable[[Dict[str, Any]], Dict[str, Any]]], default:None) –Callable applied to each loaded sample dict at
__getitem__time.
Note
The raw dataset must be downloaded manually from npm3d.fr/paris-lille-3d. The expected layout is <root>/ParisLille3D/raw/<Lille1_1, Lille1_2, Lille2, Paris>.ply.
Methods:
-
download–Paris-Lille-3D must be downloaded manually (a license must be accepted).
Attributes:
-
name(str) –Name of the dataset directory.
-
data_dir(str) –Path to the dataset directory
<root>/<name>. -
raw_dir(str) –Path to the raw download directory.
-
processed_dir(str) –Path to the processed cache directory.
load_parislille3d_data [source] ¶
Parse a Paris-Lille-3D 10-class PLY file.
The training files store per-vertex x, y, z (float32), reflectance (uchar) and class (int32). The class column is omitted in test files; callers receive only pos and intensity in that case.
| Key | Shape | Dtype |
|---|---|---|
pos | \((N, 3)\) | float32 |
intensity | \((N, 1)\) | uint8 |
segment | \((N,)\) | int64 |