
In the field of
computer vision, any two images of the same planar surface in space are related by a
homography (assuming a
pinhole camera model). This has many practical applications, such as
image rectification Image rectification is a transformation process used to project images onto a common image plane. This process has several degrees of freedom and there are many strategies for transforming images to the common plane. Image rectification is used in c ...
,
image registration, or camera motion—rotation and translation—between two images. Once
camera resectioning has been done from an estimated homography matrix, this information may be used for navigation, or to insert models of 3D objects into an image or video, so that they are rendered with the correct perspective and appear to have been part of the original scene (see
Augmented reality).
3D plane to plane equation
We have two cameras ''a'' and ''b'', looking at points
in a plane.
Passing from the projection
of
in ''b'' to the projection
of
in ''a'':
:
where
and
are the z coordinates of P in each camera frame and where the homography matrix
is given by
:
.
is the
rotation matrix by which ''b'' is rotated in relation to ''a''; ''t'' is the translation
vector from ''a'' to ''b''; ''n'' and ''d'' are the normal vector of the plane and the distance from origin to the plane respectively.
''K''
''a'' and ''K''
''b'' are the cameras'
intrinsic parameter matrices.
The figure shows camera ''b'' looking at the plane at distance ''d''.
Note: From above figure, assuming
as plane model,
is the projection of vector
along
, and equal to
. So
. And we have
where
.
This formula is only valid if camera ''b'' has no rotation and no translation. In the general case where
and
are the respective rotations and translations of camera ''a'' and ''b'',
and the homography matrix
becomes
:
where ''d'' is the distance of the camera ''b'' to the plane.
The homography matrix can only be computed between images taken from the same camera shot at different angles. It doesn't matter what is present in the images. The matrix contains a warped form of the images.
Affine homography
When the image region in which the homography is computed is small or the image has been acquired with a large focal length, an ''affine homography'' is a more appropriate model of image displacements. An affine homography is a special type of a general homography whose last row is fixed to
:
See also
*
Direct linear transformation
*
Epipolar geometry
*
Feature (computer vision)
*
Fundamental matrix (computer vision)
*
Pose (computer vision)
*
Photogrammetry
Photogrammetry is the science and technology of obtaining reliable information about physical objects and the environment through the process of recording, measuring and interpreting photographic images and patterns of electromagnetic radiant ima ...
References
*{{cite journal ,
author=O. Chum and T. Pajdla and P. Sturm ,
title=The Geometric Error for Homographies ,
journal=Computer Vision and Image Understanding ,
volume=97 ,
pages=86–102 ,
year=2005 ,
doi=10.1016/j.cviu.2004.03.004
, issue=1,
url=http://perception.inrialpes.fr/Publications/2005/CPS05/ChumPajdlaSturm-cviu05.pdf
Toolboxes
homestis a
GPL C/
C++ library for
robust, non-linear (based on the
Levenberg–Marquardt algorithm) homography estimation from matched point pairs (Manolis Lourakis).
*
OpenCV
OpenCV (''Open Source Computer Vision Library'') is a library of programming functions mainly aimed at real-time computer vision. Originally developed by Intel, it was later supported by Willow Garage then Itseez (which was later acquired by I ...
is a complete (''open and free'') computer vision software library that has many routines related to homography estimation
cvFindHomography and re-projection
.
External links
* Serge Belongie & David Kriegman (2007
Explanation of Homography Estimationfrom Department of Computer Science and Engineering,
University of California, San Diego.
* A. Criminisi, I. Reid & A. Zisserman (1997
"A Plane Measuring Device" §3 Computing the Plane to Plane Homography, from Visual Geometry Group, Department of Engineering Science,
University of Oxford
The University of Oxford is a collegiate research university in Oxford, England. There is evidence of teaching as early as 1096, making it the oldest university in the English-speaking world and the world's second-oldest university in contin ...
.
* Elan Dubrofsky (2009
Homography Estimation Master's thesis, from Department of Computer Science,
University of British Columbia.
* Richard Hartley & Andrew Zisserman (2004
Multiple View Geometryfrom Visual Geometry Group, Oxford. Includes
Matlabbr>
Functionsfor calculating a homography and the
fundamental matrix (computer vision).
GIMP Tutorial – using the Perspective Toolby Billy Kerr on
YouTube
YouTube is a global online video sharing and social media platform headquartered in San Bruno, California. It was launched on February 14, 2005, by Steve Chen, Chad Hurley, and Jawed Karim. It is owned by Google, and is the second most ...
. Shows how to do a perspective transform using
GIMP.
* Allan Jepson (2010
Planar Homographiesfrom Department of Computer Science,
University of Toronto. Includes 2D homography from four pairs of corresponding points, mosaics in image processing, removing perspective distortion in computer vision, rendering textures in computer graphics, and computing planar shadows.
Plane transfer homographyCourse notes from CSE576 at
University of Washington
The University of Washington (UW, simply Washington, or informally U-Dub) is a public research university in Seattle, Washington.
Founded in 1861, Washington is one of the oldest universities on the West Coast; it was established in Seat ...
in
Seattle
Seattle ( ) is a port, seaport city on the West Coast of the United States. It is the county seat, seat of King County, Washington, King County, Washington (state), Washington. With a 2020 population of 737,015, it is the largest city in bo ...
.
* Etienne Vincent & Robert Laganiere (2000
Detecting Planar Homographies in an Image Pairfrom School of Information Technology and Engineering,
University of Ottawa. Describes an algorithm for detecting planes in images, uses random sample consensus (
RANSAC) method, describes heuristics and iteration.
Geometry in computer vision
Functions and mappings