DL3DV Data Preparation
May 30, 2026 ยท View on GitHub
This page describes the release data flow for DL3DV:
- Download the selected DL3DV sequences from Hugging Face.
- Convert them with the E-RayZer converter.
- Download the mini-train curriculum statistics.
- Validate the generated manifest before training or evaluation.
E-RayZer does not redistribute DL3DV images or camera metadata. Users should request access to the DL3DV Hugging Face datasets and download the raw data directly.
Splits
The repository includes fixed sequence-id lists:
data_splits/dl3dv/mini_train_100.txt
data_splits/dl3dv/train_full.txt
data_splits/dl3dv/test_full.txt
mini_train_100: 100 training sequences for the release training example.train_full: the full filtered DL3DV training list.test_full: the 140-scene DL3DV benchmark split used for evaluation.
1. Log In to Hugging Face
pip install huggingface-hub
hf auth login
You can also set HF_TOKEN instead of logging in interactively.
2. Download Raw DL3DV
Download the 100-sequence mini-train split:
python scripts/download_dl3dv_hf_sequences.py \
--scene-id-list data_splits/dl3dv/mini_train_100.txt \
--output-dir data/dl3dv_raw \
--source all \
--resolution 960P \
--clean-cache
Download the full DL3DV benchmark split:
python scripts/download_dl3dv_hf_sequences.py \
--scene-id-list data_splits/dl3dv/test_full.txt \
--output-dir data/dl3dv_raw \
--source benchmark \
--resolution 960P \
--clean-cache
Optional full-training download:
python scripts/download_dl3dv_hf_sequences.py \
--scene-id-list data_splits/dl3dv/train_full.txt \
--output-dir data/dl3dv_raw \
--source all \
--resolution 960P \
--clean-cache
For the benchmark split, the script follows the official
DL3DV/DL3DV-Benchmark release and downloads only the files E-RayZer needs:
nerfstudio/transforms.json and nerfstudio/images_4/*.
3. Convert
Convert the mini-train split:
python scripts/convert_dl3dv_opencv_list.py \
--raw-root data/dl3dv_raw \
--output-dir data/dl3dv_release \
--split-name mini_train_100 \
--scene-id-list data_splits/dl3dv/mini_train_100.txt \
--image-mode none
Convert the benchmark split:
python scripts/convert_dl3dv_opencv_list.py \
--raw-root data/dl3dv_raw \
--output-dir data/dl3dv_release \
--split-name test_full \
--scene-id-list data_splits/dl3dv/test_full.txt \
--image-mode none
Optional full-training conversion:
python scripts/convert_dl3dv_opencv_list.py \
--raw-root data/dl3dv_raw \
--output-dir data/dl3dv_release \
--split-name train_full \
--scene-id-list data_splits/dl3dv/train_full.txt \
--image-mode none
The converter reads Hugging Face transforms.json, undistorts images_4, and
writes E-RayZer manifests under data/dl3dv_release/manifests/.
4. Download Mini-Train Statistics
The release training command uses the fixed mini_train_100 split with
precomputed curriculum statistics. Download and extract the artifact into the
converted data directory:
curl -L "https://drive.google.com/uc?export=download&id=1J0Og8fw2sg38LUxHLRTPgpvJSOIfOstS" \
-o dl3dv_mini_train_stats.tar.gz
tar -xzf dl3dv_mini_train_stats.tar.gz -C data/dl3dv_release
The same file is available from Google Drive.
This artifact contains only JSON statistics for the 100 mini-train sequences. It does not contain DL3DV images.
5. Validate
Validate the mini-train manifest:
python scripts/check_dl3dv_manifest.py \
--dataset-name dl3dv \
--manifest-path data/dl3dv_release/manifests/mini_train_100.txt \
--covisibility-root data/dl3dv_release/covisibility/dl3dv
Validate the benchmark manifest:
python scripts/check_dl3dv_manifest.py \
--dataset-name dl3dv \
--manifest-path data/dl3dv_release/manifests/test_full.txt
After this, use:
- Training for
scripts/train_dl3dv.sh - Evaluation for
scripts/evaluate_dl3dv.sh