DINO-WM: World Models on Pre-trained Visual Features enable Zero-shot Planning
Paper • 2411.04983 • Published • 14
A learned safety filter for robot manipulation based on DINOv2 and a world model. Trained on LIBERO-Object tasks with backdoor trigger detection.
| File | Size | Description |
|---|---|---|
best_classifier.pth |
258 MB | World model backbone + safety classifier head |
policy.pth |
18 MB | HJ safety critic (DDPG policy trained in WM latent space) |
libero_action_stats.npz |
554 B | Action normalization statistics |
The BD3 artifacts are available in the bd3/ directory. They are
stored separately so the previously published root-level checkpoints remain
unchanged. See bd3/README.md for file descriptions and
SHA-256 checksums.
Load the model via dino_safety_filter.py from the latent-safety-dino repository:
from dino_safety_filter import build_libero_dino_safety_filter
safety_filter = build_libero_dino_safety_filter(
wm_ckpt_path="best_classifier.pth",
hj_policy_path="policy.pth",
action_stats_path="libero_action_stats.npz",
threshold=0.0,
device="cuda:0",
)
# safety_filter.filter_action(action) -> (filtered_action, accepted)
train_dino_decoder.py — VQVAE decoder for visual reconstructiontrain_dino_wm.py — World model dynamics (front/wrist/state prediction heads)train_dino_classifier.py — Safety classifier (failure_head only, backbone frozen)train_critic.sh — HJ avoid critic in WM latent space (DDPG)Based on DINO-WM: https://arxiv.org/abs/2411.04983