An Algorithm to Extract Looping GIFs from Videos
zulko.github.io
zulko.github.io
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.
---
Loop Findr by Collin Burger
http://golancourses.net/2014/collin/05/12/loop-findr/
https://github.com/cyburgee/loopFindr
---
Microsoft Research: Automated video looping with progressive dynamism (2013)
http://research.microsoft.com/en-us/um/people/hoppe/proj/vid...
http://research.microsoft.com/pubs/196137/videoloops.pdf
http://research.microsoft.com/en-us/downloads/d02f3198-7896-...
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/clip...
[2] http://www.windowsphone.com/en-us/store/app/lumia-cinemagrap...
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.
"If is very similar to , and is different from , then we do not need to compute to know that and are also very different."
(The page is running MathJax to convert MathML to HTML + CSS)
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
[1] http://mlpack.org/doxygen.php?doc=nstutorial.html
[2] http://scikit-learn.org/stable/modules/neighbors.html#neighb...