Skip to content

KTH-RPL/HilDA

Repository files navigation

HilDA: Hierarchical Distillation with Diffusion
for Advancing Self-Supervised LiDAR Pre-training

arXiv Project Page

ECCV 2026

Maciej Wozniak1,  ·  Jesper Ericsson1,3,  ·  Hariprasath Govindarajan2  ·  Truls Nyberg1,3
Thomas Gustafsson3  ·  Patric Jensfelt1  ·  Olov Andersson1

1KTH Royal Institute of Technology   2Linköping University   3TRATON AB / Scania
*Equal contribution


05.07.26 Code released

Weights will be released soon

Quick start

The main HilDA is trained using configs/distillation/spunet_vits_2layers_noocc_005.py and expects the following setup:

  1. Install the required Python dependencies

  2. Download the nuScenes dataset

    • Download the official nuScenes dataset and place it in the path used by the config:
      • data/nuscenes
  3. Prepare the dataset info files

    • This config uses the 3-sweep distillation dataset loader, so the preprocessing cache must be generated before training.
    • Run:
      python pointcept/datasets/preprocessing/nuscenes/preprocess_nuscenes_3sweeps_info.py \
        --dataset_root data/nuscenes \
        --output_root data/nuscenes \
        --max_sweeps 10 \
        --with_camera
    • This will create the expected pickle files under data/nuscenes/info/.
  4. Make sure the DINOv2 teacher weights are available

    • The model will try to load the pretrained DINOv2 ViT-S/14 weights at runtime.
    • If the automatic download fails, place the checkpoint in a local folder named dinov2_weights with the expected name:
      • dinov2_vits14_pretrain.pth
  5. Start training

    • After the dataset and weights are in place, launch training with:
       export PYTHONPATH=./
      
       python tools/train.py \
         --config-file configs \
         --num-gpus 8    

Overview

Vision Foundation Models (VFMs) are powerful teachers for camera-to-LiDAR knowledge distillation, but current methods treat them as black boxes — distilling only the final layer and ignoring both the teacher's layer-wise semantic structure and the spatiotemporal information in LiDAR sequences.

HilDA is a self-supervised pre-training framework that captures both the semantic what and the geometric where needed for driving. It combines hierarchical distillation (multi-layer + global context) with a temporal occupancy diffusion objective.

HilDA teaser
Segmentation errors (red) progressively vanish as we add (a) temporal occupancy diffusion, (b) multi-layer distillation, and (c) global context (CLS) distillation.

Method

HilDA architecture

From LiDAR sweeps and synchronized multi-view images, a 3D backbone is trained end-to-end with three self-supervised objectives — no task labels:

# Component What it does
1 Multi-Layer Distillation Aligns multiple teacher layers with student layers via calibrated point–pixel correspondences, transferring how features form across the hierarchy.
2 Global Context Distillation Aligns the VFM's CLS token with a learnable 3D global-context token, injecting scene-level semantics.
3 Temporal Occupancy Diffusion A conditional diffusion model denoises future BEV occupancy from past + present features, teaching object permanence and scene dynamics.

The distillation and diffusion heads are discarded at inference — only the pre-trained backbone transfers to all downstream tasks, with no re-pretraining.

Results

HilDA sets a new state of the art on camera–LiDAR cross-modal distillation and transfers strongly to spatial and spatiotemporal 3D tasks.

Semantic Segmentation

Segmentation comparison
Fewer errors than ScaLR; correctly segments rare long-tail cases (scooter driver, person on a truck).

3D Object Detection

3D detection comparison
Robust detections at long range and under heavy occlusion, where prior distillation baselines miss objects.

Semantic Occupancy

Semantic occupancy
Cleaner, more complete semantic occupancy than ScaLR / CleverDistiller; highest mIoU across a 5-second horizon.

Cross-Modal Feature Alignment

Cross-modal feature similarity
HilDA's 3D feature similarity (bottom) closely matches DINOv2's 2D pattern — strong cross-modal alignment.

Recovering Annotation Errors

Annotation error recovery
Ground truth mislabels a light pole and signs as "vegetation"; HilDA correctly predicts "manmade".

Citation

@inproceedings{wozniak2026hilda,
  title     = {HilDA: Hierarchical Distillation with Diffusion for
               Advancing Self-Supervised LiDAR Pre-training},
  author    = {Wozniak, Maciej and Ericsson, Jesper and
               Govindarajan, Hariprasath and Nyberg, Truls and
               Gustafsson, Thomas and Jensfelt, Patric and Andersson, Olov},
  booktitle = {European Conference on Computer Vision (ECCV)},
  year      = {2026}
}

We wanna thank Xiaoyang Wu and the rest of the team behind Pointcept, a great library this work is based on.

Website template adapted from Nerfies.

About

HilDA: Hierarchical Distillation with Diffusion for Advancing Self-Supervised LiDAR Pre-training

Resources

License

Stars

6 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors