/L1Stabilizer

:movie_camera: Video stabilization using L1-norm optimal camera paths.

Primary LanguageMATLAB

Video Stabilization

Implementation of "Auto-Directed Video Stabilization with Robust L1 Optimal Camera Paths"(link). The algorithm computes L1-norm optimized camera paths composed of constant, linear and parabolic segments inspired from professional camera equipment like tripods and camera dolly. The algorithm is evidently laden with significance for its implementation in several modern video editors and YouTube.

Output sample

Prerequisites

ffmpeg
matlab
cvx
vlfeat

How-To

  1. Extract frames to a directory.
    ffmpeg -i test.mp4 frames/out-%05d.jpg
  1. Change vlfeat and cvx directory paths in main.m and optimizeAffineTransforms.m.
  2. Change original and output directory for frames in main.m.
  3. Run main.m.
  4. Merge frames.
    bash create_video.sh

Plots

alt-text-1 alt-text-2

To-Do

  • Wobble suppression
  • Mitigate rolling shutter troubles
  • Video retargeting
  • Saliency tracker(eg. face)

License

This project is licensed under the GPL v.2 License.