Computational Photography

Video stabilization

Developed a video stabilization algorithm with the following steps:

  1. Similarity motion model estimation between frames using optical flow features
  2. Used a simple full-body detector to extract salient point per frame and added constraints for the salient point to be in the frame.
  3. Formulated a linear program using motion smoothness and saliency constraints.

A sample motion model with the before (blue) and after (yellow) motion: sample_motion_model

Panorama Generation

I used SIFT features to fit homography motion models between frames and performed blending in the alpha channel to generate panoramas. A sample result is presented below:

Inputs: inp_1 inp_2 inp_3

Output: output