Talk:Homography

From Wikipedia, the free encyclopedia
Jump to: navigation, search
WikiProject Mathematics (Rated Start-class, Mid-priority)
WikiProject Mathematics
This article is within the scope of WikiProject Mathematics, a collaborative effort to improve the coverage of Mathematics on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
Mathematics rating:
Start Class
Mid Priority
 Field: Geometry
WikiProject Computing (Rated Stub-class)
WikiProject icon This article is within the scope of WikiProject Computing, a collaborative effort to improve the coverage of computers, computing, and information technology on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
Stub-Class article Stub  This article has been rated as Stub-Class on the project's quality scale.
 ???  This article has not yet received a rating on the project's importance scale.
 
Note icon
This article has been automatically rated by a bot or other tool as Stub-Class because it uses a stub template. Please ensure the assessment is correct before removing the |auto= parameter.

how do you add the matrix R and the scalar (t \cdot \frac{n^T}{d})?

Only guessing: column vector by row vector: http://en.wikipedia.org/wiki/Dyadic_product. 84.163.99.62 17:28, 2 August 2007 (UTC)

Affine transformation?[edit]

Is a homography just an affine transformation? It appears to be using homogeneous coordinates... —Ben FrantzDale 03:54, 24 October 2007 (UTC)

No, a homography is more general than an affine transformation. Homographies include affine transformations as a special case. Under an affine transformation, a point at infinity stays at infinity, but this may not be the case under a general homography.--173.51.40.230 (talk) 10:45, 14 December 2008 (UTC)


3D plane to plane equation[edit]

I have a question about the 3D plane to plane equations:

[quoted from article]:

H_{ba} = R - \frac{t n^T}{d}

R 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 to the plane respectively.

[end quoted]


It seems to me that there are two distances in this problem, distance from camera a to the plane, and distance from camera b to the plane. Which distance should be used in computing H? Or am I misunderstanding something implicit about the distance d?

The problem I'm working on involves the same camera viewing the same scene from two different locations, and I want to take the image from location a and transform it to appear as though it was taken from position b. What's missing is the homography between those two locations, which this section seems to answer (save for my understanding about d).

--Pi Alpha Squared (talk) 19:12, 11 February 2010 (UTC)

conflicting explanations[edit]

Both of these sentences are present in the computer vision section:

"...any two images of the same planar surface in space are related by a homography (assuming a pinhole camera model)."
"If the camera motion between two images is pure rotation, with no translation, then the two images are related by a homography (assuming a pinhole camera model)."

Which is correct? The second does not technically imply that the first MUST be incorrect, but it does suggest this. 70.116.11.243 (talk) 01:07, 21 April 2011 (UTC)

Both are correct. — Preceding unsigned comment added by 94.245.127.65 (talk) 09:16, 24 October 2012 (UTC)

Yes I think both are correct. A homography between two images exists if the images are of the same planar surface OR if the cameras are related by a rotation (ie cameras have the same physical location). Perhaps this should be explained better in the article. 118.210.177.102 (talk) 06:57, 24 March 2013 (UTC)

Computer vision[edit]

Material has been added to this article:

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 registration, or computation of camera motion—rotation and translation—between two images. Once camera rotation and translation have been extracted 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[edit]

We have two cameras a and b, looking at points P_i in a plane.

Passing the projections of P_i from {}^bp_i in b to a point {}^ap_i in a:


{}^ap_i = K_a \cdot H_{ba} \cdot K_b^{-1} \cdot {}^bp_i

where the homography matrix H_{ba} is

H_{ba} = R - \frac{t n^T}{d}.

R 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 to the plane respectively. Ka and Kb are the cameras' intrinsic parameter matrices.


Homography-transl-bold.svg

The figure shows camera b looking at the plane at distance d.

Note: From above figure, n^T P_i is the projection of vector P_i into n^T, and equal to d. So \frac{t n^T}{d} P_i = t. And we have H_{ba} P_i = R P_i - t.

This formula is only valid if camera b have no rotation and no translation. In the general case where R_a,R_b and t_a,t_b are the respective rotations and translations of camera a and b, R=R_a R_b^T and the homography matrix H_{ba} becomes

H_{ba} = R - R_a \frac{(t_b-t_a) n^T}{d-n^T t_b}R_b^T = R_a (I-\frac{(t_b-t_a) n^T}{d-n^T t_b})R_b^T .

The material included this reference:

  • O. Chum and T. Pajdla and P. Sturm (2005). "The Geometric Error for Homographies". Computer Vision and Image Understanding 97 (1): 86–102. doi:10.1016/j.cviu.2004.03.004. 

The material has been removed since it is a nonstandard use of the term "homography". It is suggested that homography (computer vision) be created for readers and editors interested in this topic.Rgdboer (talk) 23:20, 13 August 2013 (UTC) Several external links pertain to the proposed article:

Multiple issues[edit]

The article should follow the presentation of some notable textbook. As it stands, the article does not present precise definitions, and many statements are just plain wrong. For instance, with the usual definition of PSL_2(A), it is not true that PSL_2(A) is the group of automorphisms of the projective line over A. This can fail even if A is a field! As for the definitions, is (az+b)/(cz+d) a linear fractional transformation if ad-bc=0 (i.e., constant maps)? Another example: the result by Singmaster is almost certainly misquoted since of course if q is a power of p, one could take the reduction mod p homomorphism (or for that matter, the trivial homomorphism). But most seriously, the article should be guided by some notable modern reference to decide what is worth including. Ebony Jackson (talk) 03:50, 29 December 2013 (UTC)

I agree with these comment, but not with the rating "low importance". Because of the wide use of homography in optics and applied geometry, the rating "mid importance" seems the correct one.
About the multiple issues, I may add the following: the first sentence of the lead ("a homography is an automorphism of a projective line") is incorrect, not only because the notion of automorphism of a projective space is not clearly defined (collineation or projective linear transformation?). The main error is that an homography is not a transformation of the projective line, but a transformation of the affine line. Thus the correct wording could be
A homography is the restriction to the affine line of a projective linear transformation of the projective line. It has the form x \mapsto \frac{ax+b}{cx+d}, where  ad-bc \not= 0.
In fact, it would be better to exchange the two sentences, giving first the definition that does not needs to know what is a projective space. I could do this correction immediately, but it makes no sense without correcting the whole article accordingly.
Moreover, I believe that the correct definition is not restricted to the line, and should be "A homography is the restriction to an affine space of a projective linear transformation of its projective completion". However, I am not enough familiar to this subject to be sure of the terminology. D.Lazard (talk) 10:42, 29 December 2013 (UTC)
Would you then argue that homography and homography (computer vision) be merged? Regarding "importance", is there somewhere a definition of the different levels (or perhaps better yet, a list of representative examples)? It may be that my overall calibration needs adjusting. Ebony Jackson (talk) 17:12, 29 December 2013 (UTC)
IMO, homography (computer vision) is a witness that "homography" is classically not restricted to dimension one. In fact, this article says (in a rather confusing way) that two plane images of the same scene by two cameras are related by a homography. This is followed by the method of computing this homography in practice, and how this homography allows to calibrate the cameras. This is specific to computer vision a deserve a separate article. "Homography in computer vision" would be a less confusing title than "homography (computer vision)" which suggests wrongly that the definitions of "homography" in mathematics and computer vision are different. Thus, I do not suggest a merge, but when homography will be rewritten to include higher dimension, homography (computer vision) could be improved by removing duplicate definitions and emphasizing on what is specific to this domain. D.Lazard (talk) 17:46, 29 December 2013 (UTC)
Sorry I didn't see this exchange before I reworked the page. This article has had a very checkered past. It was incorrect in a number of places, but I put it on the backburner and didn't get to it. Then the computer vision stuff got put in. As an application, this is ok, but the computer vision guys have perverted the terminology and as a result it would be confusing to leave it here and remain faithful to their way of speaking. I agree with User:D.Lazard, keep the articles separate. Then in August, in an attempt to widen the article to include a very specialized generalization (to projective lines over rings) changes were made that frankly, baffle me. I've rewritten the lead so that it is at least correct and placed the stuff about rings in its own section (to be expanded). I've temporarily removed the cross-ratio section so that I can work on it before putting it back. I envision adding a section that explains why the synthetic definition of projectivity (composition of perspectivities) and the analytic definition of homography are equivalent. I agree with User:D.Lazard's MID rating for importance, but for a totally different reason - which he may not agree with. There is a camp in the math project, and I am a member, that believes that this is a priority assessment and is an indicator to editors of how important it is to work on the article and not how important the topic is in relation to the field (which is how most other projects view this assessment). I don't think the topic is that important, but I believe there is a definite need to have more editors work on it.Bill Cherowitzo (talk) 21:46, 29 December 2013 (UTC)
Regarding the cross-ratio section: maybe it's best to say very little about it in this article, and instead include a link to cross-ratio, and make there whatever improvements you were going to make. Ebony Jackson (talk) 00:15, 30 December 2013 (UTC)
Agreed. After looking at the section a bit longer, I see nothing that really belongs in this article except the fact that cross-ratios are preserved by homographies. Perhaps a section on properties of homographies could give it a mention. Bill Cherowitzo (talk) 18:45, 30 December 2013 (UTC)

Terminology[edit]

The edits by user:Wcherowi‎ are a great improvement of the article. Nevertheless there are some terminology questions that deserve to be discussed.

  • The term "homography" is much older than the abstract notion of projective space. In fact, that is the study of the homographies of the Euclidean spaces that was the main motivation of introducing the projective space.Therefore, I suggest to add to the lead something like: "Homography may also refer to the restriction to a Euclidean space or more generally to an affine space of a projective (linear) transformation."
  • In the preceding item, I have put "linear" between parentheses, because the article projective transformation includes in the definition of "projective transformation" not only the collineations but also the duality. IMO, "projective transformation" is a synonym of "homography", and the definition of the article projective transformation refers to the "transformations of the projective space". My suggestion here is to correct the article without changing its title.
  • Above definition of the homographies in the affine space implies the notion of "projective completion" of an affine space. It seems that this notion which is referred to by several articles is not defined in Wikipedia. I have only found the definition of the projective completion of a vector space in projectivization. IMO the terminology of this article is incorrect, because, as far as I know, "projectivization" is a synonym of "projective completion".
  • Before my recent edits, "homographic function" did not appear in this article and homographic function was a redirect to Möbius function, restricting unduly the notion to the complex case. I suggest to mention "homographic function" in the lead. This would avoid a redirect to an anchor.

By the way, the best modern reference for all these questions seems to be the book "Geometry" by Marcel Berger, and, in particular, its chapter 6, which is devoted to the subject of this article. Unfortunately I have not, presently, an easy access to this book. D.Lazard (talk) 10:25, 30 December 2013 (UTC)

Agree on all counts. The problems with the projective transformation page stem from the same editor who reeked havoc here. That page had been a redirect to this one (as it should be since the terms are synonyms). I'll fix it. Bill Cherowitzo (talk) 18:40, 30 December 2013 (UTC)

Structure[edit]

Currently the article states:

Any permutation of the points of a projective line will be a collineation.

In fact, a transformation is projective iff it preserves the relation of projective harmonic conjugates. In classical projective geometry the structure of a line is expressed by a projective range. Removal of the material on cross-ratio, the homography that moves three given points to the projective line over GF(2), does not follow proper editing protocol. My mistake of writing PSL(2,A) instead of PGL(2,A) precipitated an overhaul of the article by the author of ovoid (projective geometry) who seems to misunderstand fundamentals of classical projective geometry. Since this article serves students entering the study of complex analysis, it is Top priority.Rgdboer (talk) 20:53, 3 January 2014 (UTC)

The two statements are not in conflict. The permutation statement is obvious given the definition of a collineation, but I will provide a reference for it when I get to working on this section. A projective transformation (projectivity) is a collineation, but not vice versa (as the fundamental theorem of projective geometry tells us!). The only thing that I am confused about is why you would bring up ovoid (projective geometry). I am not the author of that article, my contributions were essentially to add missing references and there is absolutely no mention of classical projective geometry in the entire article. Bill Cherowitzo (talk) 05:43, 4 January 2014 (UTC)

Ovoid, like Oval (projective plane), shows that you work in the finite realm, so that readers may understand why your writing does not reflect the projective geometry of real and complex spaces.Rgdboer (talk) 21:19, 4 January 2014 (UTC)

Alright, I admit to having expertise in finite geometry, but this is of no consequence unless I am composing new material. The job of a Wikipedia editor is to report on what is available in the secondary literature and not to add to, expand upon or amend that material, so my expertise does not come into play. Bill Cherowitzo (talk) 20:07, 5 January 2014 (UTC)

New lead[edit]

I have rewritten the lead. In fact, the previous lead emphasized more on collineations than of the subject of the article. I have essentially proceeded by changing the order of the sentences. This allows also to state the fundamental theorem of projective geometry and to correct some errors (homographies were not defined as bijective).

I am not very satisfied by the second paragraph, in which, I have tried to clarify the previous explanation of the number of equivalent terms (by the way, I have removed one, which seems very rare, and put the other in bold, because two of them are targets of redirects) and the distinction between analytic and synthetic approach.

I hope that the new version is understandable by non-specialists. The old one one was certainly not. For example, it did not explain why the definition of the projective space as the set of lines in a vector space is coordinate geometry (another name of analytic geometry).

D.Lazard (talk) 17:48, 9 January 2014 (UTC)

Projective lines[edit]

I am generally happy with D. Lazard's recent edits, but he raises the question of whether or not the treatment of the projective line should come before or after the general definition and I have some comments on that. The topic of homographies is a synthesis of two traditions, the synthetic and the analytic. While there is a current preference for doing things analytically, the answer to why things are defined the way they are is mostly grounded in the synthetic tradition. IMHO this article needs to present both viewpoints and the interplay between them. This dictated, in some of my earlier edits, the order in which some items were presented. Thus, in the section on the projective line, I presented the synthetic material first because from that viewpoint the projective line does not have an intrinsic definition of homography and one needs to make choices. Historically, the choice was to use a general property (preserving cross-ratios) to define a homography on a line. This led algebraically to the use of linear fractional transformations since they preserve cross-ratios. When the synthetic/analytic order of the paragraphs was switched, the remark about the fact that the Möbius transformations preserve cross-ratios became meaningless. As the section now reads, new material will have to be added to explain to the novice reader why the form for a homography does not look like the general form, otherwise it appears to be a deus ex machina. For much the same reason, I would not put the section on the projective line before the general treatment. If it is presented as just the simplest case of the general form, it doesn't need special treatment, and if not, the special nature of this case does not help in understanding the general case. Bill Cherowitzo (talk) 19:36, 10 January 2014 (UTC)

Per WP:UPFRONT, we must respect, as far as possible, the rule of sorting the sections in increasing order of difficulty. This suggest to consider the case of the line before the general case. However this rule must be broken if it implies to break the logical structure of the article and therefore make it more difficult to understand. I have not a clear opinion of the best solution in this case.
I agree that the article must present all the points of view on homography. However there are more than two points of view. Beside the synthetic point of view, there is a "coordinate free" point of view (projectivization of a vector space), a "homogeneous coordinates" point of view (equivalent with taking Kn+1 as a specific vector space), and a "projective completion of an affine space" point of view. The latter is historically the first one, dating from Desargues (17th century). Thus there is only one tradition on the topic, which has been split at the end of 19th century when axiomatic geometries have been introduced, before converging again with the proof of the equivalence of the two approaches.
In my edits, I have tried to describe simultaneously all these points of view (except the purely synthetic one). These edits will be completed by adding two new sections: The first one, "Projective frames and homography" will be devoted to the so called (see Berger's book) "first fundamental theorem of projective geometry" (callled here "fundamental theorem of projective geometry (synthetic version)", which states that, given two frames (that is maximal simplexes) of projective spaces of the same dimension, there is exactly one homography sending the first to the second one. If one of the frames is the canonical frame of P(Kn+1), this allows to define homogeneous coordinates with respect to a frame. The second section, "Cross-ratio and homography" will define the cross-ratio as in Berger's book (chapter 6): If a, b, c and d be four points on a projective line such that the first three are pairwise distinct, let f be the homography from the given projective line onto K ∪ {∞}, which sends a to ∞, b to 0, c to 1. Then f(d) is the cross-ratio of the four points. The classical formulas for the cross-ratio follow easily from this definition.
I do not know if this way of presenting things is synthetic or analytic. It is not clearly analytic, because the definitions are given without using coordinates. It is not clearly synthetic as it uses explicitly the basis field. Nevertheless, it is probably the presentation which makes things most natural and makes easiest the comparison between synthetic and analytic approaches (thanks to Berger).
When these two new sections will be completed, the other sections will need to be edited. I have some ideas for doing that (for example renaming the section "Synthetic approach" as "Geometric interpretation", and adding a section explaining what has to be changed when working on a non-commutative field or without Desargues' theorem/axiom), but it is too early to discuss this. We have to wait on the result of my future edits.
D.Lazard (talk) 17:35, 11 January 2014 (UTC)

Synthetic vs. analytic[edit]

It appears that the disagreements in the preceding discussions come mainly from misunderstandings caused by the bad writing of the article. The first bad thing is the unnecessary emphasizing on collineations. But the main cause is the confusing use of "synthetic" and "analytic". For me, "synthetic" refers to the definition of the geometry through axioms, by opposition to its modern definition through linear algebra. On the other hand, "analytic" is an old fashioned term for "using coordinates". IMO, both term must be avoided, the former because only very few people understand it correctly, the latter because it is together ambiguous (analytic commonly refers to formal power series) and too restrictive (is coordinate–free linear algebra "analytic" or not?). This being acted, I now understand why User:Wcherowi asked to put at the top the "synthetic material". Therefore, I have rewritten the part of the section "Synthetic approach" that deserve to be just after the lead and moved it at this place under the name "Geometric motivation". The remainder of the section is strongly related to the notions of projective frames and projective coordinates. I have thus just renamed if "Simplex and homography". In the future it should be merged with the section about frames and coordinates. D.Lazard (talk) 17:45, 13 January 2014 (UTC)

Frame or simplex, elation and homology[edit]

Before my recent edit, the article called simplex what is commonly called a frame. I guess that it is a confusion of a previous editor between affine frames and projective frames. In fact, an affine frame is a simplex, or more exactly the set of vertices of a simplex. But this in not the case for projective frames, since a space (or, more generally a manifold) of dimension n may not contain any simplex with n+2 vertices. As "a simplex is a generalization of the notion of a triangle or tetrahedron to arbitrary dimensions" (quoted from Simplex), calling "simplex" a projective frame imply to call "triangle" three distinct colinear points (projective frame of a line). Moreover, as far as I know, the word "simplex" has been introduced for the need of algebraic topology and does not belong to the classical terminology of projective geometry. Nevertheless, I am not absolutely sure of these historical assertions. Therefore, I have left the mention of "simplex" in a footnote. If it is confirmed that "simplex" does not belong to the classical terminology of projective geometry, then the footnote should be removed. On the other hand, if I am wrong, the footnote should be included in the text, with a reliable reference. D.Lazard (talk) 22:28, 19 January 2014 (UTC)

In this edit, I have also removed the mention of "elation". I have never heard this word before, and the definition given in the previous version of the article is not understandable. However, a Google search shows that the word is relevant for this article. However, in the papers that I have seen, "elation" appears appears in the classification of the plane homographies. It is not clear that the term is defined in higher dimension. Therefore I suggest to reintroduce "elation" (and also "homology") in a section, yet to write, about the classification of the plane homographies. D.Lazard (talk) 15:09, 20 January 2014 (UTC)
I think that you are running into problems because you are relying too heavily on only one source (Berger). I used the term simplex because that is the term the reference used (Baer, p. 66) and I included the definition since this is an idiosyncratic use of the term (Baer is known for doing this, but you removed my footnote with that warning). "Elation" and "Homology" are standard terms (introduced by Sophus Lie) used both in the plane and higher dimensional projective spaces (Yale - p. 228, Beutelspacher & Rosenbaum - p. 98, Pedoe - p. 315, etc.) but perhaps not so much by the French authors(?) Bill Cherowitzo (talk) 18:55, 20 January 2014 (UTC)
I apologize. I was confused by the old version of the section "Synthetic approach" and the fact that it gives a definition of "perspectivity" that differs from that of Perspectivity. This confusion was enforced by the fact that the same figure appears in the two articles, with captions mentioning "perspectivity", but for different notions of perspectivity. Also the similarity of wording between "central collineation" and "central projection" added to the confusion. In fact the old "Synthetic approach" and the new "Motivation" sections have different objects. The object of the latter is clearly stated by its heading. The object of the former is, independently of the definitions that are chosen (synthetic or through linear algebra), to define some special homographies and to state that every homography may be obtained by composing them.
Therefore I intend to reintroduce this section and to rewrite it in term that are compatible with both approaches. This includes the fact that a central collineation is defined by a n+1 × n+1 matrix having an eigenspace of dimension n. It is a homology if the matrix has two different eigenvalues and is thus diagonalizable. It is an elation if the matrix has only one eigenvalue and is non-diagonalizable. The fact that every homography is a composition of central collineations is the definition of "homography" in one approach and a theorem in the other.
By the way, it appears that the "fundamental theorem of projective geometry" consist, in fact, in three theorems. 1/ There is exactly one homography mapping a given frame onto another given frame (easy in linear algebra approach, more difficult in synthetic approach). 2/ Every homography is a composition of central collineations (definition in one approach, more difficult in the other). 3/ Every collineation of a projective space of dimension at least 2 is the composition of a homography and an automorphic collineation, the latter being the identity in the classical real case. As Fundamental theorem of projective geometry is a redirect, section about that will probably be useful. D.Lazard (talk) 17:11, 22 January 2014 (UTC)