  This paper describes the development of a novel algorithm to tackle the
problem of real-time video stabilization for unmanned aerial vehicles (UAVs).
There are two main components in the algorithm: (1) By designing a suitable
model for the global motion of UAV, the proposed algorithm avoids the necessity
of estimating the most general motion model, projective transformation, and
considers simpler motion models, such as rigid transformation and similarity
transformation. (2) To achieve a high processing speed, optical-flow based
tracking is employed in lieu of conventional tracking and matching methods used
by state-of-the-art algorithms. These two new ideas resulted in a real-time
stabilization algorithm, developed over two phases. Stage I considers
processing the whole sequence of frames in the video while achieving an average
processing speed of 50fps on several publicly available benchmark videos. Next,
Stage II undertakes the task of real-time video stabilization using a
multi-threading implementation of the algorithm designed in Stage I.
