Deqing Sun, Brian Curless, Janne Kontkanen, Eric Tabellion, Fitsum Reda, Caroline Pantofaru
We lifted 20 functions out of this paper's own repositories and ran 12 of them in a sandbox. "Ran" means the function executed on a synthesized input and returned a value. It is not a reproduction of the paper's results.
| Repository | Role | Ran |
|---|---|---|
| google-research/frame-interpolation | canonical | 2 of 6 |
| dajes/frame-interpolation-pytorch | — | 10 of 14 |
| Function | Status | Where it lives |
|---|---|---|
| Conv2d | Ran | dajes/frame-interpolation-pytorch/interpolator.py code served (permissive licence) · get_code("33031ed5f24825b1") |
| FeatureExtractor | Ran | dajes/frame-interpolation-pytorch/interpolator.py code served (permissive licence) · get_code("9ef67e49992f642f") |
| FlowEstimator | Ran | dajes/frame-interpolation-pytorch/interpolator.py code served (permissive licence) · get_code("a7349eca770ecdf9") |
| Fusion | Ran | dajes/frame-interpolation-pytorch/interpolator.py code served (permissive licence) · get_code("5df4eeacc27fbe49") |
| PyramidFlowEstimator | Ran | dajes/frame-interpolation-pytorch/interpolator.py code served (permissive licence) · get_code("646c00a2c3ce3ec0") |
| SubTreeExtractor | Ran | dajes/frame-interpolation-pytorch/interpolator.py code served (permissive licence) · get_code("c47da384c303149c") |
| build_image_pyramid | Ran | dajes/frame-interpolation-pytorch/interpolator.py code served (permissive licence) · get_code("5e996c1e85b97cc1") |
| concatenate_pyramids | Ran | dajes/frame-interpolation-pytorch/interpolator.py code served (permissive licence) · get_code("e5a70acb4070eb0f") |
| flow_pyramid_synthesis | Ran | dajes/frame-interpolation-pytorch/interpolator.py code served (permissive licence) · get_code("6ea74e810cda7a86") |
| get_channels_at_level | Ran | dajes/frame-interpolation-pytorch/interpolator.py code served (permissive licence) · get_code("f8ee6422386d84b6") |
| l1_loss | Ran | google-research/frame-interpolation/losses/losses.py code served (permissive licence) · get_code("36bbb37e74c4a4dc") |
| patches_to_image | Ran | google-research/frame-interpolation/eval/interpolator.py code served (permissive licence) · get_code("41eb7c711cf87551") |
| Interpolator | Not yet run | dajes/frame-interpolation-pytorch/interpolator.py code served (permissive licence) · get_code("e48dec25e2c77c29") |
| generate_image_triplet_example | Not yet run | google-research/frame-interpolation/datasets/util.py code served (permissive licence) · get_code("62b36be97a57cd56") |
| image_to_patches | Not yet run | google-research/frame-interpolation/eval/interpolator.py code served (permissive licence) · get_code("81e6e74325f0e8ca") |
| multiply_pyramid | Not yet run | dajes/frame-interpolation-pytorch/interpolator.py code served (permissive licence) · get_code("12d32fa9bc246c8f") |
| pyramid_warp | Not yet run | dajes/frame-interpolation-pytorch/interpolator.py code served (permissive licence) · get_code("6c403027f71d5c0e") |
| style_loss | Not yet run | google-research/frame-interpolation/losses/vgg19_loss.py code served (permissive licence) · get_code("c4b4c0fc22dc8ce1") |
| vgg_loss | Not yet run | google-research/frame-interpolation/losses/vgg19_loss.py code served (permissive licence) · get_code("56ee3540e67f1685") |
| warp | Not yet run | dajes/frame-interpolation-pytorch/interpolator.py code served (permissive licence) · get_code("b6d4f892f64d3fe9") |
Some links come from the archived Papers with Code dataset (CC BY-SA 4.0): attribution and licence.
We present a frame interpolation algorithm that synthesizes an engaging slow-motion video from near-duplicate photos which often exhibit large scene motion. Near-duplicates interpolation is an interesting new application, but large motion poses challenges to existing methods. To address this issue, we adapt a feature extractor that shares weights across the scales, and present a "scale-agnostic" motion estimator. It relies on the intuition that large motion at finer scales should be similar to small motion at coarser scales, which boosts the number of available pixels for large motion supervision. To inpaint wide disocclusions caused by large motion and synthesize crisp frames, we propose to optimize our network with the Gram matrix loss that measures the correlation difference between features. To simplify the training process, we further propose a unified single-network approach that removes the reliance on additional optical-flow or depth network and is trainable from frame triplets alone. Our approach outperforms state-of-the-art methods on the Xiph large motion benchmark while performing favorably on Vimeo-90K, Middlebury and UCF101. Source codes and pre-trained models are available at https://film-net.github.io.
The same record, over MCP at https://syntology.ai/mcp:
get_harvested_code_for_paper("2202.04901")
get_code_for_paper("2202.04901")
have("2202.04901")
Connect an agent — have() is free.