Wen Wang1,2, Qiuyu Wang2, Kecheng Zheng2, Hao Ouyang2, Zhekai Chen1, Biao Gong2, Hao Chen1,
Yujun Shen2, Chunhua Shen1
1Zhejiang University, China, 2Ant Group
- [2024/12/20]. Thanks to kijai for the ComfyUI Support at ComfyUI-FramerWrapper!
- [2024/12/19]. Release the checkpoints.
- [2024/10/28]. Huggingface Gradio Demo is now available here!
- [2024/10/25]. Launch the project page and upload the arXiv preprint.
We propose Framer, a more controllable and interactive frame interpolation method that allows users to produce smoothly transitioning frames between two images by customizing the trajectory of selected keypoints, enhancing control and handling challenging cases.
The proposed method, Framer, provides interactive frame interpolation, allowing users to customize transitions by tailoring the trajectories of selected keypoints. This approach mitigates the ambiguity of image transformation, enabling much finer control of local motions and improving the model's ability to handle challenging cases (e.g., objects with differing shapes and styles). Framer also includes an "autopilot" mode that automatically estimates keypoints and refines trajectories, simplifying the process and enabling motion-natural and temporally coherent results.
This work utilizes a large-scale pre-trained image-to-video diffusion model (Stable Video Diffusion) as the base model. It introduces additional end-frame conditioning to facilitate video interpolation and incorporates a point trajectory controlling branch for user interaction.
Framer outperforms existing frame interpolation methods in terms of visual quality and natural motion, particularly in cases involving complex motions and significant appearance changes. Quantitative evaluation using FVD (Fréchet Video Distance) demonstrates superior performance compared to other methods. User studies show a strong preference for Framer's output, highlighting its effectiveness in producing realistic and visually appealing results.
Note the videos are spatially compressed. We refer readers to the project page for the original videos.
Start Image | Input Trajectory & Interpolation Results | End Image |
Start Image | Input Trajectory & Interpolation Results | End Image |
Start Image | Interpolation Results | End Image |
Start Image | Interpolation Results | End Image |
Start Image | Interpolation Results | End Image |
Start Image | Interpolation Results | End Image |
conda create -n framer python=3.8 -y
conda activate framer
conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.6 -c pytorch -c nvidia
pip install -r requirements.txt
Download pretrained Stable Video Diffusion and Framer weights and put them in ./checkpoints
, as follows.
checkpoints/
|─ stable-video-diffusion-img2vid-xt
└─ framer_512x320
python app.py
Some example inputs are presented in ./examples
, enjoy the interactive frame interpolation!
Please consider citing our paper if our code is useful:
@article{wang2024framer,
title={Framer: Interactive Video Interpolation},
author={Wang, Wen and Wang, Qiuyu and Zheng, Kecheng and Ouyang, Hao and Chen, Zhekai and Gong, Biao and Chen, Hao and Shen, Yujun and Shen, Chunhua},
journal={arXiv preprint https://arxiv.org/abs/2410.18978},
year={2024}
}
For academic use, this project is licensed under the 2-clause BSD License. For commercial use, please contact C Shen.
- Our implementation is based on SVD_Xtend and DragAnything.
- Thanks to kijai for the ComfyUI Support.