CoolFace
Datasetpublic

ncc2/ff4d-sam3d-prep

ff4d-sam3d prepped training data (motion324 + syn4d) STATUS: upload complete (2026-09-07 23:01 UTC). Check COMPLETE.txt for the per-stream entry counts. Files appear a few GB at a time, stream by stream. pointmaps is the largest stream and lands last for each root. Check the file list for what is already complete; a __NNN.tar that is present is complete (each is committed only after a successful upload). Prepped training samples for ff4d-sam3d — video-to-4D on the SAM-3D… See the full description on the dataset page: https://huggingface.co/datasets/ncc2/ff4d-sam3d-prep.

sourceHugging Faceotherupdated 9d agoView on Hugging Face
0likes292downloads
Dataset Card

ff4d-sam3d prepped training data (motion324 + syn4d)

STATUS: upload complete (2026-09-07 23:01 UTC). Check `COMPLETE.txt` for the per-stream entry counts. Files appear a few GB at a time, stream by stream. pointmaps is the largest stream and lands last for each root. Check the file list for what is already complete; a __NNN.tar that is present is complete (each is committed only after a successful upload).

Prepped training samples for ff4d-sam3d — video-to-4D on the SAM-3D Objects backbone. Each sample is one scene × object × motion; views are augmentation and share the SS/SLat latents, differing only in the layout target and the input conditioning.

Derived data. These are artifacts (renders, pointmaps, encoded latents, layout targets) computed from third-party sources — see Sources below. Use of this data is bounded by those sources' licenses; cite them, not just this repo.

Sources

rootderived fromsamples
ff4d_sam3d_m324_scale4kRiver-Chen/Motion324 train shards part_0001part_0004~4,000 objects
ff4d_sam3d_motion324Motion324 (earlier 500-object prep, 13-camera rig)500 objects
ff4d_sam3d_syn4d_full_objscalesyn4d corpus2,678 samples (geometry only, no SLat)

Objects in scripts/prepare/m324_eval_holdout_shas.txt are excluded — they are the evaluation holdout and must not appear in training data.

Streams

layout_targets/<sha>.npz                              per-frame (R, t, s) + rotation-6d tokens
layout_targets_metric/<sha>.npz                       per-view metric layout
renders_cond_pm/<sha>/<view>/%04d.png                 full-frame RGBA conditioning renders
renders_cond_pm/<sha>/cameras.npz                     extrinsics / intrinsics / cam names
pointmaps/<sha>/<view>/%04d.npy                       512x512x3 float16, NaN off-object
ss_latents_video_canon/sam3d_ss_enc_16l8/<sha>.npz    mean (F,8,16,16,16) + per-frame center, scale
slat_latents_video_canon/sam3d_slat_enc_8l8/<sha>.npz sparse coords (N,4) + feats (N,8)

Files are named by sha and disjoint across shards, so merging two shards is a plain copy.

Recipe

scripts/prepare/prep_motion324.sh, 8 frames, steps rigid cond canon slat pointmap (no align), encoders sam3d_ss_enc_16l8 / sam3d_slat_enc_8l8, checkpoints/hf. Objects from part_0001part_0002 were prepped with 4 yaws (0 90 180 270); later objects with a single yaw (270), since views share the latents and only multiply the conditioning streams.

Packaging

Streams are uploaded as gzip-compressed tars (<root>__<stream>__NNN.tar.gz) because the untarred roots are 100k+ small files. Pointmaps compress ~17x (float16, mostly NaN off-object). Extract with tar xzf <file> -C data/<root>/<stream>/.