Task contract. Convert consecutive RGB frames into a temporally aligned dense optical-flow visualization using a fixed, documented color wheel. Hue represents direction and saturation/value represent magnitude.
Current handoff. The MPI Sintel-only v1.8 clarity repair passed Workflow 3.5 Gate B PR #437, produced and independently audited 46 Final samples, and passed dual-human Gate C review. Promotion PR #436 merged into dev as 7c8f1284; the pipeline is under pipelines/ready.
Input → target previews
Preview 1 — final/alley_1
training/final/alley_1 RGB frames.flo rendered as direction/magnitude colorVerified excerpt: frames 0001–0040, 40 paired frames, 20 FPS, 2.0 s. Hue encodes direction; saturation encodes magnitude using the original preview's documented 99th-percentile scale of 14.7303 pixels; value is fixed at 255.
Preview 2 — clean/ambush_5
training/clean/ambush_5 RGB framesPipeline-generated sample: 49 paired frames, 20 FPS, 2.45 s, 1024×436. Hue encodes direction; saturation encodes magnitude with the Stage 1 fixed 40-pixel scale; invalid pixels are black.
Preview 3 — final/temple_3
training/final/temple_3 RGB framesPipeline-generated sample: 49 paired frames, 20 FPS, 2.45 s, 1024×436. Hue encodes direction; saturation encodes magnitude with the Stage 1 fixed 40-pixel scale; invalid pixels are black.
Alignment. In every pair, target frame t visualizes the displacement from input frame t to the following RGB frame t+1.
Identity and provenance
| Dataset | MPI Sintel Optical Flow Training & Test Data |
|---|---|
| Official source | MPI Sintel downloads page, complete package |
| Official description | 23 training sequences with ground-truth optical flow, 12 test sequences, Bundler, and example .flo readers/writers |
| Acquisition | Fresh EC2 download of MPI-Sintel-complete.zip; ZIP and SHA-256 verified before upload |
| S3 raw prefix | s3://tv2v-data/raw/taxonomy/Task_120_dense_optical_flow_visualization_data-pipeline/ |
| S3 reconciliation | 3 objects, 5,627,783,853 bytes: archive, SHA256SUMS.txt, and STATUS.json |
| License | Use is subject to the MPI Sintel dataset terms; commercial/redistribution scope was not independently confirmed in this audit and must be reviewed before release. |
Measured archive inventory
| ZIP integrity | unzip -tq passed |
|---|---|
| SHA-256 | bdc80abbe6ae13f96f6aa02e04d98a251c017c025408066a00204cd2c7104c5f |
| Measured contents | 8,546 files; 7,466 PNG; 1,041 .flo; 207 directory entries |
| Passes | Training: albedo, clean, final, flow and auxiliary masks. Test: clean and final. Code/tools are retained in raw. |
Paper, authors, acquisition, and contamination
| Paper | A Naturalistic Open Source Movie for Optical Flow Evaluation, ECCV 2012 |
|---|---|
| Authors | Daniel J. Butler, Jonas Wulff, Garrett B. Stanley, Michael J. Black |
| Official archive | European mirror; official US mirror also listed |
| Reproducible download | curl -L -C - -o MPI-Sintel-complete.zip https://files.is.tue.mpg.de/sintel/MPI-Sintel-complete.zip |
| Fresh download? | Yes, direct official mirror on a dedicated EC2 instance |
| Known modifications | None to ZIP. SHA/status files are added records; extracted previews remain derived artifacts. |
| Registration / DUA | No registration required; terms still require review before redistribution/commercial release |
Splits, formats, and annotation semantics
| Native item | Format / scale | Meaning |
|---|---|---|
| Training | 23 sequences; clean/final/albedo PNG passes | RGB inputs; final includes rendering effects absent from clean |
| Test | 12 sequences; clean/final PNG; no public flow | Evaluation-only input, excluded from supervised targets |
frame_XXXX.flo | Little-endian: float32 magic 202021.25, int32 width/height, H×W×2 float32 | Dense (u,v) displacement from frame t to t+1 |
| invalid masks | Binary PNG | Pixels without valid flow supervision |
| occlusion masks | Binary PNG | Pixels occluded in the next frame |
| Preview RGB | 1024×436, alley_1 final frames 0001–0040 | 40 real task-input frames |
| Preview flow color | 1024×436 H.264 | Hue=direction, saturation=magnitude/14.7303 px, value=255 |
MPI-Sintel-complete/
├── training/{clean,final}/<sequence>/frame_*.png → input video
├── training/flow/<sequence>/frame_*.flo → target visualization
├── training/{albedo,invalid,occlusions}/...
├── test/{clean,final}/<sequence>/frame_*.png → no public flow target
├── flow_code/ → reference readers/color code
└── bundler/
Input/target definition
| Output | Construction |
|---|---|
| input_video.mp4 | Numerically ordered frames from one training sequence and one render pass (clean or final). |
| target_video.mp4 | Corresponding .flo fields rendered with the fixed v1.8 HSV mapping, a 40-pixel magnitude scale, 2×2 pooling, and square-root saturation. |
| Alignment rule | A flow field describes motion from frame t to t+1; each complete sample therefore retains N RGB input frames and N−1 forward-flow target frames. |
| metadata.json | Sequence/pass/frame range, flow convention, visualization function/version, normalization/clipping, invalid/occlusion handling, source hash, and merged generation commit. |
Pipeline → final four-file contract
verified ZIP → select training sequence + clean/final pass → decode RGB + matching .flo → validate magic/shape/finiteness/masks → fixed versioned color mapping → align frame t with flow t→t+1 → equal H.264/yuv420p clips → prompt.txt + metadata.json → contract validation → final/taxonomy/Task_120_dense_optical_flow_visualization/Task_120_dense_optical_flow_visualization_NNNNNNNNN/
Quality gates and limitations
- Decode every selected
.flo; verify magic value, width/height, finite vectors, and image-size equality. - Never use public test sequences as supervised targets because their ground-truth flow is not included.
- Keep color wheel, magnitude normalization, invalid-pixel color, and clipping fixed across all samples.
- Prevent cross-sequence joins and off-by-one input/flow alignment.
- Clean and final passes share flow but differ in rendering; record the pass to prevent ambiguous duplicates.
- The clarity-repaired Full passed exact-VersionId streamed SHA-256 readback for all 184 payload objects; release remains subject to MPI Sintel terms.
Completeness and source verification
| Check | Result |
|---|---|
| Official source/archive description | Verified |
| ZIP integrity + SHA-256 | Passed and recorded |
| S3 reconciliation | 3 Raw objects; 5,627,783,853 bytes |
| Accepted source scope | 46 deterministic units: all 23 MPI Sintel training sequences across clean/final; Dynamic Replica excluded |
| Workflow 3.5 clarity Gate B | Owner + MJXWANG PASS; PR #437 merged as 92074736 |
| Workflow 3.5 Gate C | Owner + MJXWANG PASS at exact head b90a497c; PR #436 merged as 7c8f1284 |
| Distribution terms | Internal promotion is complete; any external redistribution or commercial release remains subject to upstream terms review |
| Production Final samples | 46 samples / 184 objects / 161,611,662 bytes; pipeline under pipelines/ready |