While visiting Georgia Tech. recently I had the chance to chat with an old friend and colleague, Professor Irfan Essa. He and one of his graduate students, Matthias Grundmann, showed me an impressive new video stabilization algorithm. This algorithm takes as input any hand-held video, automatically estimates the camera motion, and generates a stabilized video.
Shown below is an original video (admittedly with exaggerated shaking).
And shown here are the results of stabilizing this video.
The stabilization is incredibly effective and particularly impressive since it works in near real-time. You will notice that the stabilized video is cropped relative to the original. The amount of cropping depends on the amount of camera shake and a few user controlled optimization parameters. Complete details can be found here.
This algorithm has been implemented on YouTube and is freely available to be applied to any uploaded video. On upload, your video is automatically analyzed to determine if it is shaky. If it is, you will be asked if you want to stabilize it prior to upload. Try it here.
While there are, of course, other stabilization software, this approach is particularly nice because it can handle highly complex camera motion (including rolling shutter effects), works in near real-time, and is free. There are also a few limitations. For example, stabilization may fail if there are insufficient features that can reliably be tracked across the video frames.
While video stabilization may not be considered a typical forensic technique. I mention it because it can be an effective first step within a larger forensic workflow.