Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DENALI: A Dataset Enabling Non-Line-of-Sight Spatial Reasoning with Low-Cost LiDARs

Teaser

Project page  ·  Dataset download

Behari, N., Rivero, D., Apostolides, L., Ghosh, S., Liang, P. P., & Raskar, R. DENALI: A Dataset Enabling Non-Line-of-Sight Spatial Reasoning with Low-Cost LiDARs. CVPR 2026 (Highlight).

DENALI is a dataset and benchmark for non-line-of-sight (NLOS) perception using low-cost SPAD LiDARs. It captures 30 retroreflective objects across two sizes, two grid resolutions (3x3 / 8x8), two lighting conditions, and 100 gantry locations, with calibrated AprilTag poses for both the SPAD and a tracking RGB camera. This repository contains end-to-end code for capture, training, evaluation, real-time inference, and a Mitsuba 3 digital-twin renderer; the captured dataset is downloaded separately (see below).

Capture setup

Capture setup

A low-cost SPAD LiDAR illuminates a relay wall; the third-bounce return in each pixel histogram (the small bumps after the direct-return peak) carries enough signal for compact 1D-CNNs to localize, classify, and size-classify the hidden object.

Dataset objects

Dataset objects

The dataset spans 30 retroreflective shapes (10 letters, 10 numbers, 10 shapes) at two sizes (4 in. / 8 in.), with CAD meshes for digital-twin rendering.

Layout

denali/
├── README.md
├── assets/         shared geometry and calibration
├── benchmark/      main + generalization benchmarks
├── capture/        SPAD + RealSense capture rig
├── digitaltwin/    Mitsuba 3 digital-twin renderer
├── gui/            live-inference web app
└── denali-data/    raw NLOS captures (download separately)

Each top-level package has its own README and dependency file.

Data

Tip

Download denali-dataset-cvpr2026.tar.gz from the project page and extract it inside denali/.

cd denali
tar xzf /path/to/denali-dataset-cvpr2026.tar.gz

The archive expands to a denali-data/ folder; every package in this repo reads from denali-data/data/ by default:

denali/denali-data/data/
├── A_4inch_3x3_lighton_NLOSdata/
├── A_4inch_3x3_lightoff_NLOSdata/
├── ...   (one folder per object × size × grid × light)
└── widerectangle_8inch_8x8_lighton_NLOSdata/

benchmark/ reads from a pre-extracted dataset at benchmark/saved_dataset/. Build it once from the raw captures:

cd benchmark
python -m main_table.scripts.build_dataset \
    --data-dir   ../denali-data/data \
    --output-dir saved_dataset

Contents

Folder Purpose
benchmark/ Main benchmark table (Sec. 4) and generalization analyses (Sec. 7).
capture/ Drives the gantry, the TMF8828 SPAD, and the dual RealSenses to record the raw captures in denali-data/data/.
digitaltwin/ Renders the calibrated capture scene in Mitsuba 3 alongside the captured RGB and SPAD histogram.
gui/ Dash + Plotly web app that runs the three inference heads live over any capture in denali-data/data/.

assets/ contains shared geometry, calibration data, object meshes, and figures used in this README.

Live demo

The Dash app in gui/ runs the three pretrained inference heads (object class, object size, and 2D location) live over the captured 3x3 SPAD histograms:

GUI walkthrough

Citation

@inproceedings{behari2026denali,
  title     = {{DENALI}: A Dataset Enabling Non-Line-of-Sight Spatial Reasoning with Low-Cost LiDARs},
  author    = {Behari, Nikhil and Rivero, Diego and Apostolides, Luke and Ghosh, Suman and Liang, Paul Pu and Raskar, Ramesh},
  booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
  year      = {2026},
}

About

Code release for "DENALI: A Dataset Enabling Non-Line-of-Sight Spatial Reasoning with Low-Cost LiDARs" (CVPR 2026 Highlight)

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages