Professional Documents
Culture Documents
Final Project Report UAV Video Stabilization: CMPE264: Image Analysis and Computer Vision
Final Project Report UAV Video Stabilization: CMPE264: Image Analysis and Computer Vision
1 Introduction
Unmanned Aerial Vehicles (UAVs) have slowly started to permeate to civilian
and law enforcement applications. Once thought to be exclusively employed
by the military, the UAVs are being used today in border surveillance, whale
and other sea mammal tracking, and search and rescue missions in disaster
areas. The usefulness of the imagery that these flying robots relay to the
controlling ground stations in military applications is directly related to how
much information the operator can “extract” from the frames being watched
in real-time. Image quality, RF noise rejection, and image stabilization have
come to play an important role in the overall performance measurement
of the mission. While many of the mainstream UAVs have sophisticated
equipment onboard to take care of the above mentioned problems, the price
tag is usually in the order of millions of dollars, making them unaffordable
about any other situation except military applications.
Recent advances in solid-state sensors and overall reduction of the elec-
tronics have made possible to noticeably improve the smaller UAVs capab-
ilities. Nevertheless, this smaller UAVs are now more sensible to natural
oscillations of the airplane and wind turbulence, thus degrading the stability
of the imagery served to the end user.
The Naval Postgraduate School (NPS) has been performing experimental
flights on tactical UAVs since 2001 in order to develop technology that sup-
ports U.S. troops in different peace-keeping scenarios around the world.
These small UAVs carry visual and IR cameras used to relay video down
to a ground station providing vital information for the deployed team. Even
though these UAVs have autopilots and robust control schemes implemented
on board, it is practically impossible to completely eliminate vibration and
oscillations due to external disturbances and natural behavior of the plane.
These oscillations get mechanically transmitted to the camera and as a con-
sequence the relayed video is difficult to watch and makes it exhausting for
the operator to evaluate.
To address the issue of oscillations and low frequency vibrations in the
recorded imagery, implementation of an image stabilization algorithm is re-
quired to improve visual quality. Furthermore, the stabilization algorithm
needs to be robust and computationally inexpensive to perform in real time,
and to run on the PC104 computer that is available at the ground station.
2 Implementation
Image stabilization for moving platforms is usually related to high-frequency
unwanted motion compensation. Many of the widely known algorithms, like
the ones presented in [1], are very sensitive to panning and rotation, thus ren-
dering them useless for applications where intentional panning and rotation
are part of the application.
The image stabilization algorithm, and the Simulink implementation presen-
ted herein, follows directly the work presented in [2], showing very stable be-
havior for intentional panning and rotation. This algorithm offered promising
results in stabilizing the UAV footage provided by the Unmanned Systems
Lab at the Naval Postgraduate School. The implemented frame motion com-
pensation follows the one proposed in [3].
Simulink, a model based engineering tool developed by The Mathworks
(makers of Matlab), was picked as development platform for this project due
to its “block-oriented” design paradigm, offering great ease of use and better
understanding of each functional block of the algorithm.
The presented algorithm consist of five main functional blocks shown in
Figure 1:
gk = ak ⊕ ak+1 0 ≤ k ≤ 6. (2)
shows the Simulink implementation of this functional block. Note that before
the output a frame rate transition block is included to keep the frame rate
constant, taking into account the down-sample mentioned in Subsection 2.1
3 Results
Several tests were run using different region sizes in order to quantify the
variability in the values of the motion vectors, since the value of the motion
vectors affects the visual quality of the motion compensated video footage.
The block sizes ranged a minimum of 6 × 6 pixels in increments of 25 up
to a maximum of 106 × 106 pixels. A fixed p in equation 3 value of 8 was
used. Then the motion vectors of the first 16 frames were plotted in a bar
graph to show the variability from frame to frame for the specified block size.
Figure 7 shows that the results for the block sizes 56–106 contain practically
identical values. Thus allowing us to reduce the size of the region scanned
and noticeably improving the frame rate output to 7 frames per second for
the analyzed footage.
Using 56 × 56 regions, there existed the need to prove that the the sta-
bilization was working correctly. Therefore a small Simulink model, shown
in Figure 8 was set up in order to generate difference frames such that:
Fd = Ft − Ft−1 , (7)
for both, the original footage and the compensated footage. Figure 9 shows
three difference frames for a given sequence, showing that the compensation
indeed does much better than the original video. Figure 10 shows the mean
of each difference frame Fd for a segment of video footage. It is clear from
that figure that the compensated video does better in most of the cases than
that of the original video.
4 Conclusion
From the implementation of the previously described image stabilization al-
gorithm one can conclude the following:
• The GCBP method described in [2] and [3] show good performance in
stabilizing video footage that contains significant intentional rotation
and panning as was the case with the UAV footage.
• The significance of the results for the motion vectors mentioned in Sec-
tion 3 is that decreasing the block size also increases speed of the motion
compensation implementation. Therefore, the results above show that
we can run the model with a block size of roughly 56 × 56 pixels and
still attain the same level of quality as running the model with a larger
block size, but at a faster speed with reduced computational costs.
5 Acknowledgments
The authors of this Final Project would like to thank Dr. Vladimir Dobrok-
hodov from the Naval Postgraduate School Unmanned Systems Lab for provid-
ing us with several hours of UAV footage and invaluable support in the Sim-
ulink implementation of this algorithm.
References
[1] J. Bergen, P. Anandan, K. Hanna, and R. Hingorani, Hierarchical Model-
Based Motion Estimation, David Sarnoff Research Center, Princeton, NJ,
1992
[2] S. Ko, S. Lee, S. Jeon, E. Kang, Fast Digital Image Stabilizer Based
on Gray-Coded Bit Plane Matching, IEEE Transactions on Consumer
Electronics, Vol 45, No.3 August 1999.