{"id":18831647,"url":"https://github.com/riccorl/super-slomo-tf2","last_synced_at":"2025-07-09T16:11:13.976Z","repository":{"id":40968555,"uuid":"223998629","full_name":"Riccorl/Super-SloMo-tf2","owner":"Riccorl","description":"Tensorflow 2 implementation of Super SloMo paper","archived":false,"fork":false,"pushed_at":"2023-04-22T15:37:32.000Z","size":45000,"stargazers_count":60,"open_issues_count":9,"forks_count":9,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-14T04:16:42.059Z","etag":null,"topics":["cnn","computer-vision","flow","frame","frame-interpolation","generative-model","interpolation","neural-network","opencv","optical-flow","slomo","slow-motion","tensorflow"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Riccorl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-11-25T16:55:58.000Z","updated_at":"2024-01-04T16:39:56.000Z","dependencies_parsed_at":"2022-09-01T16:04:13.607Z","dependency_job_id":null,"html_url":"https://github.com/Riccorl/Super-SloMo-tf2","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Riccorl%2FSuper-SloMo-tf2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Riccorl%2FSuper-SloMo-tf2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Riccorl%2FSuper-SloMo-tf2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Riccorl%2FSuper-SloMo-tf2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Riccorl","download_url":"https://codeload.github.com/Riccorl/Super-SloMo-tf2/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248819412,"owners_count":21166477,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cnn","computer-vision","flow","frame","frame-interpolation","generative-model","interpolation","neural-network","opencv","optical-flow","slomo","slow-motion","tensorflow"],"created_at":"2024-11-08T01:55:37.112Z","updated_at":"2025-04-14T04:16:52.438Z","avatar_url":"https://github.com/Riccorl.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Super Slo Mo TF2 \n\n[![tensorflow](https://aleen42.github.io/badges/src/tensorflow.svg)](https://www.tensorflow.org/)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n\nTensorflow 2 implementation of [\"Super SloMo: High Quality Estimation of Multiple Intermediate Frames \nfor Video Interpolation\" by Jiang H., Sun D., Jampani V., Yang M., Learned-Miller E. and Kautz J.](https://arxiv.org/abs/1712.00080)\n\n\u003cp align=\"center\"\u003e\n  \u003cimg width=\"552\" height=\"310.4\" src=\"resources/rally1_259_12.gif\"\u003e\n\u003c/p\u003e\n\n## Setup\n\nThe code is based on Tensorflow 2.1. To install all the needed dependency, run\n\n##### Conda\n\n```bash\nconda env create -f environment.yml\nsource activate super-slomo\n```\n\n##### Pip \n\n```bash\npython3 -m venv super-slomo\nsource super-slomo/bin/activate\npip install -r requirements.txt\n```\n\n## Inference\n\nYou can download the pre-trained model [here](https://www.dropbox.com/s/l35juwrsvcaw565/chckpnt259.zip). This model is trained for 259 epochs on \nthe adobe240fps dataset. It uses the single frame prediction mode. \n\nTo generate a slomo video run:\n\n```bash\npython super-slomo/inference.py path/to/source/video path/to/slomo/video --model path/to/checkpoint --n_frames 20 --fps 480\n```\n\n## Train\n\n#### Data Extraction\n\nBefore the training phase, the frames must be extracted from the original video sources. \nThis code uses the adobe240fps dataset to train the model. To extract frames, run the following command:\n\n```bash\npython super-slomo/frame_extraction.py path/to/dataset path/to/destination \n```\n\nIt will use ffmepg to extract the frames and put them in the destination folder, grouped in folders of 12 consecutive frames.\nIf ffmpeg is not available, it falls back to slower opencv.\n\nFor info run:\n```bash\npython super-slomo/frame_extraction.py -h\n```\n\n#### Train the model\n\nYou can start to train the model by running:\n\n```bash\npython super-slomo/train.py path/to/frames --model path/to/checkpoints --epochs 100 --batch-size 32\n```\n\nIf the `model` directory contains a checkpoint, the model will continue to train from that epoch until the total number \nof epochs provided is reached\n\nYou can also visualize the training with tensorboard, using the following command\n\n```bash\ntensorboard --logdir log --port 6006\n```\n\nand go to [https://localhost:6006](https://localhost:6006).\n\n\nFor info run:\n```bash\npython super-slomo/train.py -h\n```\n\n##### Multi-frame model\n\nThe model above predicts only one frame at time, due to hardware limitations. If you can access to powerful GPUs,\nyou can predict more frame with a single sample (like in the original paper). To start, clone the multi-frame branch\n\n```bash\ngit clone --branch multi-frame https://github.com/Riccorl/Super-SloMo-tf2.git \n```\n\nthen, follow the instructions above to setup and extract the frames. The training command has one additional parameter `--frames`\nto control the number of frames to predict:\n\n```bash\npython super-slomo/train.py path/to/frames --model path/to/checkpoints --epochs 100 --batch-size 32 --frames 9\n```\n\n## Useful links\n\n#### Dataset links\n\n* [Adobe 240fps](https://www.cs.ubc.ca/labs/imager/tr/2017/DeepVideoDeblurring)\n* [Need for Speed dataset](https://ci2cv.net/nfs/index.html)\n* [UCF101](https://www.crcv.ucf.edu/data/UCF101.php)\n\n#### Random notes\n\n* [Evaluation script](https://people.cs.umass.edu/~hzjiang/projects/superslomo/UCF101_results.zip)\n\n#### References\n\n* [Paper](https://arxiv.org/abs/1712.00080)\n* [Project Page](https://people.cs.umass.edu/~hzjiang/projects/superslomo/)\n* [PyTorch implementation](https://github.com/MayankSingal/Super-SlowMo)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Friccorl%2Fsuper-slomo-tf2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Friccorl%2Fsuper-slomo-tf2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Friccorl%2Fsuper-slomo-tf2/lists"}