/motion

Motion uses machine learning to create stunning GIFs using geometric shapes, based on Primitive.

Primary LanguagePythonMIT LicenseMIT

Motion PRs Welcome

MOTION is an exploration of geometry, video, and machine learning. By using ML techniques, the tool generates shapes to fit the lines and colors of your image.

The project was inspired by Primitive as well as Geometrize. The stitching of frames into GIFs is made possible by FFMPEG and ImageMagick.

This repo contains the code to be able to run Motion locally with python. You can also see the online demo here.

Quick overview

image preview gif preview

We wanted to create a tool that could make short looping videos from still images, and the abstract effect created by geomatric shapes has always been a source of inspiration. With a unique hill-climbing algorithm, we were able to convert still photographs into beautiful, moving GIFs.

Installation

Before running the script, you must first install Primitive and ImageMagick.

To install Primitive, follow the instructions in the primitive repo.

go get -u github.com/fogleman/primitive

Then, install ImageMagick

brew install imagemagick

Now, clone the motion repo and install all dependencies:

git clone git@github.com:kapwing/motion.git
cd motion
pipenv install
pipenv run python3 motion.py test.jpg

Acknowledgements

Credit is due to Michael Fogleman, the creator of Primitive on which this project is based

License

Motion is open source software licensed as MIT.