Skip to main content
Log in

Homography Estimation from Ellipse Correspondences Based on the Common Self-polar Triangle

  • Published:
Journal of Mathematical Imaging and Vision Aims and scope Submit manuscript

Abstract

This paper presents new implementation algorithms for estimating the homography from ellipse correspondences based on the common self-polar triangle. Firstly, we propose an analytical solution with a fourfold ambiguity to homography based on converting two ellipse correspondences to three common pole correspondences. Secondly, after exploring the position information of the common poles, we propose the analytical algorithms for estimating the homography from only two ellipse correspondences. We also propose an analytical linear algorithm for estimating the homography by using the common pole correspondences with the known projective scale factors when given three or more ellipse correspondences. Unlike the previous methods, our algorithms are very easy to implement and furthermore may usually provide a unique solution (at most two solutions). Experimental results in synthetic data and real images show the accuracy advantage and the usefulness of our proposed algorithms.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20
Fig. 21
Fig. 22
Fig. 23
Fig. 24
Fig. 25

Similar content being viewed by others

Notes

  1. This property can be used to match the corresponding ellipses between the two views.

  2. Note that since the determinant of \({\widetilde{\mathbf{C }}}_i\) is one, if \({\varvec{\xi }}_j\) lies inside \({\widetilde{\mathbf{C }}}_i\) then it must have \({\varvec{\xi }}_j^\mathrm{T}{\widetilde{\mathbf{C }}}_{i}{\varvec{\xi }}_j>0\) else if \({\varvec{\xi }}_j\) lies outside \({\widetilde{\mathbf{C }}}_i\) then it must have \({\varvec{\xi }}_j^\mathrm{T}{\widetilde{\mathbf{C }}}_{i}{\varvec{\xi }}_j<0\).

  3. http://www.ee.oulu.fi/~jkannala/bmvc.html.

  4. http://cmp.felk.cvut.cz/~chum/code/ell2h.html.

References

  1. Sturm, P.F., Maybank, S.J.: On plane-based camera calibration: a general algorithm, singularities, applications. In: IEEE Computer Society Conference on Computer Vision and Pattern Recognition, pp. 432–437 (1999)

  2. Zhang, Z.Y.: A flexible new technique for camera calibration. IEEE Trans. Pattern Anal. Mach. Intell. 22(11), 1330–1334 (2000)

    Article  Google Scholar 

  3. Tsai, R.Y., Huang, T.S., Zhu, W.L.: Estimating three-dimensional motion parameters of a rigid planar patch, II: singular value decomposition. IEEE Trans. Acoust. Speech Signal Process. 30(4), 525–534 (1982)

    Article  Google Scholar 

  4. Longuet-Higgins, H.C.: The reconstruction of a plane surface from two perspective projections. Proc. R. Soc. Lond. Ser. B 227, 399–410 (1986)

    Google Scholar 

  5. Faugeras, O., Lustman, F.: Motion and structure from motion in a piecewise planar environment. Int. J. Pattern Recognit. Artif. Intell. 2(3), 485–508 (1988)

    Article  Google Scholar 

  6. Liebowitz, D., Zisserman, A.: Metric rectification for perspective images of planes. In: Proceedings of the Conference on Computer Vision and Pattern Recognition, pp. 482–488 (1998)

  7. Criminisi, I.R., Zisserman, A.: Single view metrology. Int. J. Comput. Vis. 40(2), 123–148 (2000)

    Article  Google Scholar 

  8. Szeliski, R.: Image mosaicing for tele-reality applications. In: Proceedings of the Second IEEE Workshop on Applications of Computer Vision, pp. 44–53 (1994)

  9. Rothwell, C., Zisserman, A., Marinos, C., Forsyth, D.A., Mundy, J.L.: Relative motion and pose from arbitrary plane curves. Image Vis. Comput. 104, 250–262 (1992)

    Article  Google Scholar 

  10. Ma, S.D.: Conics-based stereo, motion estimation, and pose determination. Int. J. Comput. Vis. 10(1), 7–25 (1993)

    Article  MathSciNet  Google Scholar 

  11. Sugimoto, A.: A linear algorithm for computing the homography from conics in correspondence. J. Math. Imaging Vis. 13(2), 115–130 (2000)

    Article  MathSciNet  Google Scholar 

  12. Mudigonda, P.K., Jawahar, C.V., Narayanan, P.J.: Geometric structure computation from conics. In: ICVGIP, pp. 9–14 (2004)

  13. Agarwal, A., Jawahar, C.V., Narayanan, P.J.: A survey of planar homography estimation techniques. Centre for Visual Information Technology, Tech. Rep. (2005)

  14. Kannala, J., Salo, M., Heikkila, J.: Algorithms for computing a planar homography from conics in correspondence. In: British Machine Vision Conference, pp. 77–86 (2006)

  15. Conomis, C.: Conics-based homography estimation from invariant points and pole–polar relationships. In: International Symposium on 3D Data Processing, Visualization, and Transmission, pp. 908–915 (2006)

  16. Chum, O., Matas, J.: Homography estimation from correspondences of local elliptical features. In: International Conference on Pattern Recognition, pp. 3236–3239 (2012)

  17. Huang, H.F., Zhang, H., Cheung, Y.M.: Homography estimation from the common self-polar triangle of separate ellipses. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 1737–1744 (2016)

  18. Wright, J., Wagner, A., Rao, S., Ma, Y.: Homography from coplanar ellipses with application to forensic blood splatter reconstruction. In: IEEE Conference on Computer Vision and Pattern Recognition, vol. 1, pp. 1250–1257 (2006)

  19. Hartley, R.I., Zisserman, A.: Multiple View Geometry in Computer Vision, 2nd edn. Cambridge University Press, Cambridge (2004)

    Book  Google Scholar 

  20. Woods, F.S.: Higher Geometry. An Introduction to Advanced Methods in Analytic Geometry. Ginn and Company, Boston (1922)

    MATH  Google Scholar 

  21. Semple, J., Kneebone, G.: Algebraic Projective Geometry. Oxford University Press, Oxford (1952)

    MATH  Google Scholar 

  22. Barreto, J.P.: General Central Projection Systems: Modeling, Calibration and Visual Servoing. Ph.D. thesis, University of Coimbra (2004)

  23. Gibson, C.G.: Elementary Geometry of Algebraic Curves: An Undergraduate Introduction. Cambridge University Press, Cambridge (1998)

    Book  Google Scholar 

  24. Forsyth, D., Mundy, J.L., Zisserman, A.: Invariant descriptors for 3-D object recognition and pose. IEEE Trans. Pattern Anal. Mach. Intell. 13(10), 971–991 (1991)

    Article  Google Scholar 

  25. Fitzgibbon, A.W., Pilu, M., Fisher, R.B.: Direct least square fitting of ellipses. IEEE Trans. Pattern Anal. Mach. Intell. 21(5), 476–480 (1999)

    Article  Google Scholar 

Download references

Acknowledgements

The author thanks the anonymous referees for valuable suggestions.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Yang Guo.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

A Proof of “The ellipses \({\widetilde{\mathbf{C }}}_1\), \({\widetilde{\mathbf{C }}}_2\) have at least a common self-polar triangle if and only if the matrix \({\widetilde{\mathbf{C }}}_2^{-1}{\widetilde{\mathbf{C }}}_1\) has three linearly independent eigenvectors”

A Proof of “The ellipses \({\widetilde{\mathbf{C }}}_1\), \({\widetilde{\mathbf{C }}}_2\) have at least a common self-polar triangle if and only if the matrix \({\widetilde{\mathbf{C }}}_2^{-1}{\widetilde{\mathbf{C }}}_1\) has three linearly independent eigenvectors”

First suppose that the triangle \({\varDelta }{\varvec{\xi }}_1{\varvec{\xi }}_2{\varvec{\xi }}_3\) is a common self-polar triangle for the ellipses \({\widetilde{\mathbf{C }}}_1\), \({\widetilde{\mathbf{C }}}_2\). Then according to

$$\begin{aligned}&{\varvec{\xi }}_2^\mathrm{T}{\widetilde{\mathbf{C }}}_1{\varvec{\xi }}_1=0, \quad {\varvec{\xi }}_3^\mathrm{T}{\widetilde{\mathbf{C }}}_1{\varvec{\xi }}_1=0,\\&{\varvec{\xi }}_2^\mathrm{T}{\widetilde{\mathbf{C }}}_2{\varvec{\xi }}_1=0, \quad {\varvec{\xi }}_3^\mathrm{T}{\widetilde{\mathbf{C }}}_2{\varvec{\xi }}_1=0, \end{aligned}$$

we have that \({\widetilde{\mathbf{C }}}_1{\varvec{\xi }}_1\) is equal (up to scale) \({\widetilde{\mathbf{C }}}_2{\varvec{\xi }}_1\), namely \({\varvec{\xi }}_1\) is an eigenvector of the matrix \({\widetilde{\mathbf{C }}}_2^{-1}{\widetilde{\mathbf{C }}}_1\). Similarly, so are \({\varvec{\xi }}_2\) and \({\varvec{\xi }}_3\). Consequently, the matrix \({\widetilde{\mathbf{C }}}_2^{-1}{\widetilde{\mathbf{C }}}_1\) must have three linearly independent eigenvectors.

Conversely, suppose that the matrix \({\widetilde{\mathbf{C }}}_2^{-1}{\widetilde{\mathbf{C }}}_1\) has three linearly independent eigenvectors \({\varvec{\xi }}_1\), \({\varvec{\xi }}_2\), \({\varvec{\xi }}_3\) satisfying

$$\begin{aligned} \begin{aligned} {\widetilde{\mathbf{C }}}_2^{-1}{\widetilde{\mathbf{C }}}_1{\varvec{\xi }}_i=\lambda _i{\varvec{\xi }}_i,\quad i=1,2,3, \end{aligned} \end{aligned}$$

where \(\lambda _1\), \(\lambda _2\), \(\lambda _3\) are the three eigenvalues.

When \(\lambda _1\ne \lambda _2\ne \lambda _3\), according to \({\widetilde{\mathbf{C }}}_1{\varvec{\xi }}_1=\lambda _1{\widetilde{\mathbf{C }}}_2{\varvec{\xi }}_1\) and \({\widetilde{\mathbf{C }}}_1{\varvec{\xi }}_2=\lambda _2{\widetilde{\mathbf{C }}}_2{\varvec{\xi }}_2\), we may get

$$\begin{aligned} \begin{aligned} {\varvec{\xi }}_2^\mathrm{T}{\widetilde{\mathbf{C }}}_1{\varvec{\xi }}_1=\lambda _1{\varvec{\xi }}_2^\mathrm{T}{\widetilde{\mathbf{C }}}_2{\varvec{\xi }}_1,\quad {\varvec{\xi }}_1^\mathrm{T}{\widetilde{\mathbf{C }}}_1{\varvec{\xi }}_2=\lambda _2{\varvec{\xi }}_1^\mathrm{T}{\widetilde{\mathbf{C }}}_2{\varvec{\xi }}_2. \end{aligned} \end{aligned}$$

On one hand, since \(\lambda _1\ne \lambda _2\), we have

$$\begin{aligned} \begin{aligned} {\varvec{\xi }}_2^\mathrm{T}{\widetilde{\mathbf{C }}}_1{\varvec{\xi }}_1=0, \quad {\varvec{\xi }}_2^\mathrm{T}{\widetilde{\mathbf{C }}}_2{\varvec{\xi }}_1=0. \end{aligned} \end{aligned}$$

Similarly, we also may get

$$\begin{aligned} \begin{aligned}&{\varvec{\xi }}_3^\mathrm{T}{\widetilde{\mathbf{C }}}_1{\varvec{\xi }}_1=0, \quad {\varvec{\xi }}_3^\mathrm{T}{\widetilde{\mathbf{C }}}_2{\varvec{\xi }}_1=0, \\&{\varvec{\xi }}_3^\mathrm{T}{\widetilde{\mathbf{C }}}_1{\varvec{\xi }}_2=0, \quad {\varvec{\xi }}_3^\mathrm{T}{\widetilde{\mathbf{C }}}_2{\varvec{\xi }}_2=0. \end{aligned} \end{aligned}$$

On the other hand, since \({\varvec{\xi }}_1\), \({\varvec{\xi }}_2\), \({\varvec{\xi }}_3\) are linearly independent, we also have

$$\begin{aligned} \begin{aligned}&{\varvec{\xi }}_1^\mathrm{T}{\widetilde{\mathbf{C }}}_1{\varvec{\xi }}_1\ne 0,\quad {\varvec{\xi }}_1^\mathrm{T}{\widetilde{\mathbf{C }}}_2{\varvec{\xi }}_1\ne 0,\\&{\varvec{\xi }}_2^\mathrm{T}{\widetilde{\mathbf{C }}}_1{\varvec{\xi }}_2\ne 0,\quad {\varvec{\xi }}_2^\mathrm{T}{\widetilde{\mathbf{C }}}_2{\varvec{\xi }}_2\ne 0,\\&{\varvec{\xi }}_3^\mathrm{T}{\widetilde{\mathbf{C }}}_1{\varvec{\xi }}_3\ne 0,\quad {\varvec{\xi }}_3^\mathrm{T}{\widetilde{\mathbf{C }}}_2{\varvec{\xi }}_3\ne 0, \end{aligned} \end{aligned}$$

namely the triangle \({\varDelta }{\varvec{\xi }}_1{\varvec{\xi }}_2{\varvec{\xi }}_3\) is a common self-polar triangle for the ellipses \({\widetilde{\mathbf{C }}}_1\), \({\widetilde{\mathbf{C }}}_2\).

When \(\lambda _1=\lambda _2\ne \lambda _3\), according to the above discussion, we may immediately get

$$\begin{aligned} \begin{aligned}&{\varvec{\xi }}_1^\mathrm{T}{\widetilde{\mathbf{C }}}_1{\varvec{\xi }}_3=0,\quad {\varvec{\xi }}_1^\mathrm{T}{\widetilde{\mathbf{C }}}_2{\varvec{\xi }}_3=0,\\&{\varvec{\xi }}_2^\mathrm{T}{\widetilde{\mathbf{C }}}_1{\varvec{\xi }}_3=0,\quad {\varvec{\xi }}_2^\mathrm{T}{\widetilde{\mathbf{C }}}_2{\varvec{\xi }}_3=0,\\&{\varvec{\xi }}_3^\mathrm{T}{\widetilde{\mathbf{C }}}_1{\varvec{\xi }}_3\ne 0,\quad {\varvec{\xi }}_3^\mathrm{T}{\widetilde{\mathbf{C }}}_2{\varvec{\xi }}_3\ne 0. \end{aligned} \end{aligned}$$

That means that the line \(\mathbf{l }\) passing through the points \({\varvec{\xi }}_1\) and \({\varvec{\xi }}_2\) is the polar line of \({\varvec{\xi }}_3\) with respect to \({\widetilde{\mathbf{C }}}_1\), \({\widetilde{\mathbf{C }}}_2\).

Additionally, since

$$\begin{aligned} \begin{aligned}&{\varvec{\xi }}_1^\mathrm{T}{\widetilde{\mathbf{C }}}_1{\varvec{\xi }}_1=\lambda _1{\varvec{\xi }}_1^\mathrm{T}{\widetilde{\mathbf{C }}}_2{\varvec{\xi }}_1,\\&{\varvec{\xi }}_2^\mathrm{T}{\widetilde{\mathbf{C }}}_1{\varvec{\xi }}_1=\lambda _1{\varvec{\xi }}_2^\mathrm{T}{\widetilde{\mathbf{C }}}_2{\varvec{\xi }}_1,\\&{\varvec{\xi }}_2^\mathrm{T}{\widetilde{\mathbf{C }}}_1{\varvec{\xi }}_2=\lambda _2{\varvec{\xi }}_2^\mathrm{T}{\widetilde{\mathbf{C }}}_2{\varvec{\xi }}_2,\\ \end{aligned} \end{aligned}$$

we may know

$$\begin{aligned} \begin{aligned} ({\varvec{\xi }}_1+t{\varvec{\xi }}_2)^\mathrm{T}{\widetilde{\mathbf{C }}}_1({\varvec{\xi }}_1+t{\varvec{\xi }}_2)=\lambda _1({\varvec{\xi }}_1+t{\varvec{\xi }}_2)^\mathrm{T}{\widetilde{\mathbf{C }}}_2({\varvec{\xi }}_1+t{\varvec{\xi }}_2), \end{aligned} \end{aligned}$$

where t is an unknown variable. That means that the common polar line \(\mathbf{l }\) of \({\varvec{\xi }}_3\) with respect to \({\widetilde{\mathbf{C }}}_1\) and \({\widetilde{\mathbf{C }}}_2\) passes through the two intersection points of \({\widetilde{\mathbf{C }}}_1\) and \({\widetilde{\mathbf{C }}}_2\). Further, according to the pole–polar relation, we may assert that \({\widetilde{\mathbf{C }}}_1\) is double contact with \({\widetilde{\mathbf{C }}}_2\). Consequently, the point \({\varvec{\xi }}_3\) and any two points of the line \(\mathbf{l }\) which are harmonic with respect to the two common tangent points of \({\widetilde{\mathbf{C }}}_1\) and \({\widetilde{\mathbf{C }}}_2\) may form a common self-polar triangle of \({\widetilde{\mathbf{C }}}_1\) and \({\widetilde{\mathbf{C }}}_2\) [21].

Last, when \(\lambda _1=\lambda _2=\lambda _3\), we may have that \({\widetilde{\mathbf{C }}}_1\) is equal (up to scale) to \({\widetilde{\mathbf{C }}}_2\), namely the two ellipses are coincident. Obviously, the ellipses \({\widetilde{\mathbf{C }}}_1\), \({\widetilde{\mathbf{C }}}_2\) have an infinity of common self-polar triangles. This completes the proof.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Guo, Y. Homography Estimation from Ellipse Correspondences Based on the Common Self-polar Triangle. J Math Imaging Vis 62, 169–188 (2020). https://doi.org/10.1007/s10851-019-00928-6

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10851-019-00928-6

Keywords

Navigation