Skip to content
Posts

Thin Plate Spline Motion Model

A practical guide to using the Thin Plate Spline Motion Model for animating static images by transferring motion from a driving video, with setup instructions and observations about optimal video dimensions and motion tracking limitations.

Published
Updated
Reading time 1 min
Words 171
Thin Plate Spline Motion Model

This is my tentative workflow for using this repository to animate static images using a driving video.

GitHub Repository

Conda Environment and Usage

conda activate thin-plate-spline
cd C:\Users\trima\Documents\GitHub\Thin-Plate-Spline-Motion-Model
python demo.py --config config/vox-256.yaml --checkpoint checkpoints/vox.pth.tar --source_image assets/source.png --driving_video assets/driving.mp4
python demo.py --config config/vox-256.yaml --checkpoint checkpoints/vox.pth.tar --find_best_frame --source_image assets/0014.png --driving_video assets/driving.mp4 --result_video output.mp4

First Test

  • As far as I can tell, this program requires a driving_video that is 1:1 aspect ratio. Makes sense because the model was trained on 256x256 data.
  • It really doesn’t like a zooming or panning camera. I diffused frame 420 and the frames nearest that frame are definitely where the result_video is most coherent, and farthest away from frame 420 it’s lost motion tracking entirely.
  • The result_video is 256x256. By default, this program doesn’t output the invididual frames. Probably wouldn’t be hard to make this change so the frames can be uspcaled.
This was the source_image used for the video above.

Relationship Map

Connected Memory

This relationship map centers on the current entry and highlights connected categories and tags.

Categories 0
Tags 0
Posts 0