Developed a video stabilization algorithm with the following steps:
- Similarity motion model estimation between frames using optical flow features
- Used a simple full-body detector to extract salient point per frame and added constraints for the salient point to be in the frame.
- Formulated a linear program using motion smoothness and saliency constraints.
A sample motion model with the before (blue) and after (yellow) motion:
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: