5 ms·
An Algorithm to Extract Looping GIFs from Videos
- comboy 12y agoVery cool concept and article. You may also notice that many of these looping gifs are done in much simpler way by just playing part of a video and then playing it in reverse.
- rnhmjoj 12y agoSo you could just check if the frame i is similar to the frame n-i?
- jessaustin 12y agoThe idea is that frame 0 is similar to frame 0, and also that frame n is similar to frame n. (The resulting gif is 2n - 2 frames long.)
- loco5niner 12y agoI'm missing something. I don't really understand the first part of what you said...
- tokenizerrr 12y agoYou just play it normally once, then in reverse. Then it loops around.
- mxfh 12y agoThis so called pingpong style method can create a loop out of any source material, but the result will most likely look unnatural since you're reusing frames and it only works quite convincingly for pendular motions. The method described here finds naturally appearing loop candidates in any video stream and is way more flexible.
- deleted 12y ago[deleted]
- ZoFreX 12y agoI assume something has broken, but this article makes no sense to me. It's full of sentences like: "If is very similar to , and is different from , then we do not need to compute to know that and are also very different."
- pavel_lishin 12y agoI don't think it's rendering correctly for you: http://i.imgur.com/vCmW52W.png http://i.imgur.com/vCmW52W.png
- rhambasan 12y agoDo you have Javascript enabled? (The page is running MathJax to convert MathML to HTML + CSS)
- rnhmjoj 12y agoIt uses MathJax to render LaTeX. Probably you have blocked the script or it's not loaded.
- Zikes 12y agoThe article uses a lot of MathML, which seems to be parsed for display by the MathJax JS library.
- timmclean 12y agoDo you have HTTPS Everywhere installed? Their JavaScript is hosted on HTTP, so it gets blocked with a mixed content warning on Firefox (probably on Chrome too).
- mxfh 12y agosome prior research on this: --- Loop Findr by Collin Burger http://loopfindr.tumblr.com/ http://loopfindr.tumblr.com/ http://golancourses.net/2014/collin/05/12/loop-findr/ http://golancourses.net/2014/collin/05/12/loop-findr/ https://github.com/cyburgee/loopFindr https://github.com/cyburgee/loopFindr --- Microsoft Research: Automated video looping with progressive dynamism (2013) http://research.microsoft.com/en-us/um/people/hoppe/proj/videoloops/ http://research.microsoft.com/en-us/um/people/hoppe/proj/vid... http://research.microsoft.com/pubs/196137/videoloops.pdf http://research.microsoft.com/pubs/196137/videoloops.pdf http://research.microsoft.com/en-us/downloads/d02f3198-7896-45eb-89e8-5a75859b67c8/ http://research.microsoft.com/en-us/downloads/d02f3198-7896-...
- FraKtus 12y agoThe automated video looping paper is a fascinating one… much better … however it's patented. Anybody knows what is the position of Microsoft about the patents they own and describe in their research paper ?
- MzHN 12y agoI was hoping Microsoft would turn this into a product. They did bring Cliplets[1] and eventually the Cinemagraph app for Windows Phones[2], but neither of those have any intelligence to them. The only benefit they provide over a video editor is that you can paint a mask to specify the area of the video to loop. The loops still turn out jumpy, unless you do all the manual work, as mentioned in the article itself. [1] http://research.microsoft.com/en-us/um/redmond/projects/clipletsdesktop/ http://research.microsoft.com/en-us/um/redmond/projects/clip... [2] http://www.windowsphone.com/en-us/store/app/lumia-cinemagraph/594477c0-e991-4ed4-8be4-466055670e69 http://www.windowsphone.com/en-us/store/app/lumia-cinemagrap...
- leni536 12y agoWe will say that a video segment loops well when its first and last video frames are very similar. It's a reasonable approximation. However really perfect loops have not only matching positions of the objects but perfect speeds too. I would calculate optical flows and compare them at the first and the last frames too and somehow put it into the distance function. One example: this algorithm would find the half period of a pendulum perfectly loop. Taking optical flows into account would fix this.
- kazinator 12y agoYes. For instance, suppose a point-like object is moving on a flat plane, in a repeating figure eight path. The ideal repetition unit is one cycle of the entire figure eight. But by the frame similarity heuristic, we will find that the cross in the figure eight creates two identical positions which give rise to a half-cycle of the figure eight also being considered viable. In this half cycle, the point abruptly changes direction at the cusp of a tear-drop path.
- amelius 12y agoNote that it is only possible to make a video looping if the entropy does not increase visibly in it.
- Tepix 12y agoI don't think it can be generalized like that, what if you want to loop a bouncing ball and start the loop at the moment the ball hits the floor?
- baxter001 12y agoSlightly misleading to say the summed colour value difference between the frames a distance that's analogous to a geometric distance, geometric distance measures on data with high numbers of dimensions becomes useless, as the dimensionality increases the difference between 'near' and 'far' tends towards zero.
- Animats 12y agoWith a better, faster algorithm, probably with some help from a GPU, this could become a new app. There's already "http://loopc.am/" http://loopc.am/", but it's not as good. Then cash out by selling out to Instagram. Also use to jazz up real estate ads.
- xxxyy 12y agoIsn't this just k-NN? I mean: one can reduce this problem to k-NN by first loading the database with all video frames, and then performing queries using frame 0, frame 1, etc. There are good tree algorithms[0] and implementations[1][2] for executing k-NN queries. These implementations also exploit the properties of the triangle inequality. [0] http://en.wikipedia.org/wiki/Ball_tree http://en.wikipedia.org/wiki/Ball_tree [1] http://mlpack.org/doxygen.php?doc=nstutorial.html http://mlpack.org/doxygen.php?doc=nstutorial.html [2] http://scikit-learn.org/stable/modules/neighbors.html#neighbors http://scikit-learn.org/stable/modules/neighbors.html#neighb...