How hzwer/eccv2022-rife works
RIFE is a PyTorch video-frame interpolation system. Its user-facing workflow takes adjacent video frames or an image pair, runs a pretrained interpolation model to synthesize intermediate frames, and writes interpolated images or video. The repository also supports distributed training on Vimeo data and evaluation across several benchmark datasets. The sampled inference code shows frame processing and model invocation; the README documents broader command options and evaluation capabilities. Some model and dataset implementation details were not sampled, so only documented or source-supported wiring is shown.
Main entry points: RIFE.py RIFE model API · inference_video.py Video inference · inference_img.py Image inference · IFNet.py Flow interpolation
Components 16
Inference interfaces
- Video inference
inference_video.py - Image inference
inference_img.py
Interpolation model
- RIFE model API
model/RIFE.py - Flow interpolation
model/IFNet.py - Context refinement
model/refine.py - Image warping
model/warplayer.py
Training and evaluation
- Training loop
train.py - Vimeo dataset
dataset.py - Benchmark runners
benchmark
Other components
- CLI user
- Video or frames
- Image pair
- Interpolated video
- Interpolated frames
- Vimeo training data
- Evaluation datasets
Connections 17
- CLI user → Video inference: runs video
- Video or frames → Video inference: supplies frames
- Video inference → RIFE model API: requests interpolation
- Video inference → Interpolated video: writes result
- CLI user → Image inference: runs images
- Image pair → Image inference: supplies pair
- Image inference → RIFE model API: requests interpolation
- Image inference → Interpolated frames: writes frames
- RIFE model API → Flow interpolation: estimates flow
- Flow interpolation → Context refinement: uses context nets
- Flow interpolation → Image warping: warps frames
- CLI user → Training loop: starts training
- Vimeo training data → Vimeo dataset: provides samples
- Training loop → Vimeo dataset: loads batches
- Training loop → RIFE model API: updates model
- Evaluation datasets → Benchmark runners: provides samples
- Benchmark runners → RIFE model API: evaluates interpolation