Team Ai
Datasetpublic

YuePanEdward/regx-benchmark

RegX Cross-Domain Multi-View Point Cloud Registration Benchmark RegX evaluates multi-view point cloud registration across scales spanning nine orders of magnitude — nanometre-scale microscopy to kilometre-scale airborne maps — and sensors never designed to be compared: clinical colonoscopes, RGB-D cameras, spinning and solid-state LiDAR, terrestrial and airborne laser scanners. Most registration benchmarks fix one sensor and one scale. RegX asks a narrower question instead: does… See the full description on the dataset page: https://huggingface.co/datasets/YuePanEdward/regx-benchmark.

sourceHugging Facecc-by-nc-sa-4.0updated 1mo agoView on Hugging Face
2likes7.2kdownloads
Dataset Card

RegX

Cross-Domain Multi-View Point Cloud Registration Benchmark

RegX evaluates multi-view point cloud registration across scales spanning nine orders of magnitude — nanometre-scale microscopy to kilometre-scale airborne maps — and sensors never designed to be compared: clinical colonoscopes, RGB-D cameras, spinning and solid-state LiDAR, terrestrial and airborne laser scanners.

Most registration benchmarks fix one sensor and one scale. RegX asks a narrower question instead: does a method generalize when the domain changes underneath it? Every sample is meant for zero-shot evaluation.

Introduced in Register Any Point: Scaling 3D Point Cloud Registration by Flow Matching (ECCV 2026).

At a glance

Scenes264
Registration samples1,540
Point clouds3,243
Views per sample2 – 24
Source datasets61
Scenario categories5
Total size~17 GB

Categories

CategoryScenesSamplesPoint cloudsSizeTypical scale
Object38133209172 MBnm – cm
IndoorScan533921,2095.8 GB1 – 30 m
OutdoorScan77468649724 MB10 – 100 m
TLS734621,0678.0 GB10 – 1000 m
Map23851092.4 GB100 m – km

Object covers endoscopic, microscopy, plant and Stanford-model scans. IndoorScan/ OutdoorScan hold single-sensor scans and submaps. TLS holds terrestrial laser scans. Map holds session-level maps and airborne scans, where registration means merging maps built at different times or by different sensors.

Layout

RegX/
├── README.md                          # this card
├── LICENSE                            # terms for the curated artifacts
├── ATTRIBUTION.md                     # per-source license + citation table
├── datasets.csv                       # registry of the 61 source datasets
├── references.bib                     # BibTeX for the citation keys
├── regx_multiview_samples_v2.json     # all 1,540 registration samples + curation metadata
├── regx_multiview_samples_v2.jsonl    # the "samples" array only, one JSON object per line --
│                                       # for the HF dataset viewer / `load_dataset()`; the
│                                       # .json above is the canonical, complete file
├── view_regx.py                       # interactive viser viewer, see Usage below
└── <Category>/<scene>/
    ├── 000.ply, 001.ply, ...           # the views (2–24 per scene)
    ├── metadata.yaml                  # provenance, scenario tags, sensor
    ├── connection_graph.npy           # N×N pairwise overlap ratios
    ├── connection_graph.txt           # same matrix, plain text
    └── connection_graph_order.txt     # row index → .ply filename

metadata.yaml

yaml
type: TLS                              # category
scene: Indoor, Infrastructure, Degenerate-geometry
applications: surveying, as-built modeling, registration benchmarking
description: Terrestrial laser scans of a road tunnel, captured from several scanner stations.
geography: China
source_dataset: WHUTLS                 # → row in datasets.csv
license: '-'                           # upstream terms ('-' = not stated)
citation: dong2020jprs-whutls          # BibTeX key of the source paper
num_point_clouds: 7
pointcloud_info:
  000.ply:
    dataset_source: WHUTLS             # per-file, may differ within a scene
    sensor: RIEGL TLS
    time: 2019-06-20                   # when known

Per-file dataset_source matters in Map: a single scene such as Map/MulRAN_Map_KAIST merges maps from MulRAN, STheReO and HeLiPR recorded years apart.

connection_graph

An N×N matrix where entry (i, j) is the fraction of points in cloud i that have a neighbor in cloud j after ground-truth alignment. It is not symmetric — clouds differ in extent and density. Row order is given by connection_graph_order.txt.

Usage

python
import json, yaml, numpy as np, open3d as o3d
from pathlib import Path

root = Path("RegX")
samples = json.loads((root / "regx_multiview_samples_v2.json").read_text())["samples"]

s = samples[0]
scene = root / s["scene"]
print(yaml.safe_load((scene / "metadata.yaml").read_text())["description"])

clouds, gt_poses = [], []
for view in s["inputs"]:
    pcd = o3d.io.read_point_cloud(str(scene / view["point_cloud_file"]))
    clouds.append(np.asarray(pcd.points))          # unaligned input
    gt_poses.append(np.array(view["transformation_matrix"]))  # input → world

Filter to a category or a view-count regime:

python
tls   = [s for s in samples if s["scene"].startswith("TLS/")]
pairs = [s for s in samples if s["view_count"] == 2]
hard  = [s for s in samples if s["min_overlap_ratio"] < 0.3]

The sample list is also mirrored as regx_multiview_samples_v2.jsonl (one JSON object per line, no wrapping metadata) so datasets.load_dataset("<repo>") works directly; still pair it with the point clouds and metadata.yaml files as above.

Interactive viewer

view_regx.py is a viser-based browser viewer for browsing samples, toggling between the augmented input and the ground-truth alignment, and (given a batch_regx.py-style results folder) inspecting a model's predictions and per-edge failures.

bash
pip install numpy open3d viser
python view_regx.py --root . --json regx_multiview_samples_v2.json

Run python view_regx.py --help for the full option list (filtering by category/scene, sorting failures by error, etc.).

Evaluation protocol

Predict a pose for every view; error is measured after aligning your prediction to the ground truth up to a global rigid transform (the world frame is arbitrary).

Because scenes span nine orders of magnitude, translation error is normalized by the scene extent before thresholding. Two operating points are reported:

ThresholdRotationNormalized translation
Standard15°2.5%
Strict3°0.5%

Two success rates are reported at each threshold:

  • —Edge success rate — mean success over all overlapping pairs in a sample.
  • —Graph success rate — 1 only if every overlapping pair succeeds; the consistency-sensitive metric and the primary number in the paper.

Also reported: mean/median rotation error (deg) and translation error (m), global RMSE, and runtime per sample.

Provenance and licensing

RegX curates data from 61 source datasets. It does not replace them.

  • —Curated artifacts (sample definitions, ground-truth transforms, overlap graphs, metadata, docs) — CC BY-NC-SA 4.0, see LICENSE.
  • —Point cloud geometry — remains under each source's own terms. See ATTRIBUTION.md and the license column of datasets.csv.

Upstream terms range from CC0 and MIT to non-commercial share-alike and custom research licenses. 12 sources (41 scenes, 333 samples, 22% of the benchmark) publish no explicit license — for those, obtain the data from the original provider rather than redistributing our copy, and consult the original release before any commercial use.

Known limitations

  • —Ground truth for several sources was produced by a SLAM system rather than surveyed directly, so it is accurate but not exact. It is adequate for the thresholds above.
  • —Overlap ratios are computed on voxel-subsampled clouds and are approximate.
  • —Category boundaries are pragmatic, not ontological: airborne laser scans live in Map.

Citation

bibtex
@inproceedings{pan2026eccv,
  title     = {{Register Any Point: Scaling 3D Point Cloud Registration by Flow Matching}},
  author    = {Pan, Yue and Sun, Tao and Zhu, Liyuan and Nunes, Lucas and
               Armeni, Iro and Behley, Jens and Stachniss, Cyrill},
  booktitle = {Proc.~of the Europ.~Conf.~on Computer Vision (ECCV)},
  year      = {2026}
}