Buckets:
| Name | Size | Uploaded | Xet hash |
|---|---|---|---|
| VidaForge | 349 items | ||
| __pycache__ | 1 items | ||
| bridgedatav2 | 6 items | ||
| droid | 2 items | ||
| flux2_ae | 7 items | ||
| scripts | 18 items | ||
| tools | 7 items | ||
| ucf101 | 6 items | ||
| README.md | 3.54 kB xet | 45d0e8cf | |
| dataset.py | 6.74 kB xet | e6dcac2b | |
| run.sh | 2.74 kB xet | ada26ba0 | |
| traj_to_mp4.py | 19.2 kB xet | 2fb69fc3 |
Data Processing & Analysis
ucf101
bridgedatav2
UMAP visualization
data_processing/umap_alg.py runs UMAP on per-frame features and saves a 2D scatter plot.
Points are colored by frame index, which makes it easy to inspect temporal trajectories.
It can also mark GOP boundaries by detecting keyframes / I-frames from the original video bitstream.
Supported inputs:
.npy: expects a 2D array with shape(T, D).npz: expects a key namedfeaturesby default
For the latent files produced by forward.py, features usually has shape (T, 768, 16, 16).
umap_alg.py now supports these files directly and will project them to 2D frame features before UMAP:
mean_pool(default): spatial average pooling,(T, 768, 16, 16) -> (T, 768)flatten: flatten each frame latent,(T, 768, 16, 16) -> (T, 196608)
PPL smoothness metric
data_processing/cal_metric.py computes a StyleGAN-inspired perceptual path
length (PPL) on video latent interpolation paths. It is meant to compare the
local smoothness of the dinov2, mae, siglip2, and flux2_ae feature spaces.
The script:
- encodes raw video frames into the selected RAE latent space
- samples two nearby points on each adjacent-frame latent path
- decodes the two nearby latents back to images
- computes LPIPS between the decoded images
- divides by
eps^2and aggregates the result as PPL
Supported PPL interpolation geometries:
linear: standard per-gap linear interpolationslerp: token-wise spherical interpolationsmooth_continuous: the same cubic-Hermite path used by stage-2TrajectoryPlan(sampling_mode="smooth_continuous")- frame velocities are estimated from the whole latent trajectory, so each adjacent-frame gap depends on its temporal neighbors
- this mode is currently implemented in
data_processing/cal_metric.pyonly;data_processing/forward_intrapolate.pystill supportslinear/slerp
It can also visualize the per-gap PPL distribution for a single video:
- x-axis: the left frame index of each adjacent-frame gap
- y-axis: the PPL value of that gap
When --samples-per-gap > 1, the plot uses the mean PPL of each gap, which
helps show how local smoothness changes across the whole sequence.
Interpretation:
- lower PPL -> smoother local geometry / smoother interpolation path
- higher PPL -> sharper perceptual changes under small latent-space moves
Comparison protocols:
default: use each backbone's runtime default interpolationdinov2 -> linearmae -> linearsiglip2 -> slerpflux2_ae -> linear
defaultcan also be overridden explicitly with--interp-mode smooth_continuouscontrolled: force all backbones to uselinearboth: report both sets of numbers in one run
Important outputs per result row:
ppl_mean_raw: mean over all collected PPL samplesppl_mean_trimmed: mean after percentile trimmingppl_median: median PPLppl_std: standard deviationpairs_evaluated: number of adjacent latent-frame pairssamples_evaluated: total sampled(alpha, alpha + eps)comparisons
Trimmed mean uses the percentile window controlled by:
--trim-percentile-low(default1)--trim-percentile-high(default99)
Weight / dependency notes:
- LPIPS uses the repo's cached
vgg.pthweights underRAE/src/disc/.caches/ - torchvision also needs a VGG16 backbone checkpoint
- on this machine, a local VGG16 checkpoint is available at:
/home/i-zhaoshitian/models/vgg/vgg16-397923af.pth
- Total size
- 373 GB
- Files
- 289,899
- Last updated
- Aug 4
- Pre-warmed CDN
- US EU US EU