IP Library Granted Patent US 12,456,209
Granted Patent B2
US 12,456,209 · App. 17/638,773 · Granted Oct 28, 2025

Systems and methods for estimating feature locations based on image analysis and homography

Inventors: Atulya Shree (San Francisco, CA); Kai Jia (San Francisco, CA); Zhiyao Xiong (San Francisco, CA); Siu Fai Chow (San Francisco, CA); Raymond Phan (San Francisco, CA); Panfeng Li (San Francisco, CA); Domenico Curro (San Francisco, CA)
Assignee: Hover Inc.
G06T7/543G06T7/33G06T7/73
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,456,209
App. No.
17/638,773
Granted
Oct 28, 2025
Kind
B2
Abstract

Techniques are described for identifying correspondences between images to generate a fundamental matrix for the camera positions related to the images. The resultant fundamental matrix enables epipolar geometry to correlate common features among the images. Correspondences are identified by confirming feature matches across images by applying a homography to data representing features across images. Further techniques are described herein for generating a representation of a boundary of a feature of a structure based on a digital image. In one or more embodiments, generating a representation of a boundary of a particular feature in a digital image comprises determining a portion of the image that corresponds to the structure, and determining a portion of the image that corresponds to the particular feature. One more vanishing points are associated with the portion of the image corresponding to the particular feature. The one or more vanishing points are used to generate a set of bounding lines for the particular feature, based on which the boundary indicator for the feature is generated.

Claims (56)

1 . A computer-implemented method comprising:

receiving a first image comprising data for a set of representations of co-planar rectangular features on a surface having a first orientation;

receiving a second image comprising data for the set of representations of co-planar rectangular features on the surface having a second orientation;

selecting, from the set of representations on the surface having the first orientation, a first representation, wherein the set of representations includes one or more first additional representations on the surface having the first orientation in addition to the first representation;

selecting, from the set of representations on the surface having the second orientation, a second representation, wherein the set of representations includes one or more second additional representations on the surface having the second orientation in addition to the second representation;

generating a homography aligning the first representation to the second representation;

estimating locations of the first additional representations on the surface having the second orientation based on the homography;

selecting an inlier pair formed from a first inlier and a second inlier based on the estimated locations, the inlier pair selected from the first additional representations and the second additional representations and the inlier pair being determined to match; and

generating an adjusted homography collectively aligning the first representation and the first inlier to the second representation and the second inlier.

2 . The method of claim 1 , further comprising generating a fundamental matrix between the first and second images based on the homography.

3 . The method of claim 2 , further comprising:

drawing an epipolar line in the second image based on the fundamental matrix with the first image; and

correlating at least one feature in the first image in the second image.

4 . The method of claim 3 , further comprising estimating at least one camera position based on the correlated features.

5 . The method of claim 4 , further comprising reconstructing a three dimensional model of the correlated features based on the estimated camera position.

6 . The method of claim 1 , further comprising validating the homography based on a comparison between the estimated locations of one or more of the first additional representations relative to the second additional representations, wherein the first additional representations and the second additional representations are associated with same co-planar rectangular features.

7 . The method of claim 6 , wherein validating further comprises detecting non-alignment for all estimated locations of the first additional representations and at least one of the second additional representations.

8 . The method of claim 6 , wherein validating further comprises detecting an error below a threshold for a position of the estimated locations of at least one of the first additional representations and at least one of the second additional representations.

9 . The method of claim 1 , further comprising generating a fundamental matrix between the first and second images based on the adjusted homography.

10 . The method of claim 6 , wherein validating further comprises detecting that a particular feature representation, of the first additional representations, is an inlier based on determining that the estimated location of the particular feature representation is within a threshold number of pixels from locations of at least one of the second additional representations.

11 . The method of claim 10 , further comprising:

determining that one or more other feature representations, other than the particular feature representation of the first additional representations, are mis-aligned; and

in response to determining that the one or more other feature representations of the first additional representations, are mis-aligned, adjusting the homography based on an estimated position of at least one of the one or more other feature representations.

12 . The method of claim 11 , further comprising generating a fundamental matrix between the first and second images based on the adjusted homography.

13 . A computer-readable storage medium comprising instructions which, when executed by a computer system, cause the computer system to:

receive a first image comprising data for a set of representations of co-planar rectangular features on a surface having a first orientation;

receive a second image comprising data for representations of the set of co-planar rectangular features on the surface having a second orientation;

select, from the set of representations on the surface having the first orientation, a first representation, wherein the set of representations includes one or more first additional representations on the surface having the first orientation in addition to the first representation;

select, from the set of representations on the surface having the second orientation, a second representation, wherein the set of representations includes one or more second additional representations on the surface having the second orientation in addition to the second representation;

generate a homography aligning the first representation to the second representation;

estimate locations of the first additional representations on the surface in the second orientation based on the homography;

select an inlier pair formed from a first inlier and a second inlier based on the estimated locations, the inlier pair selected from the first additional representations and the second additional representations and the inlier pair being determined to match; and

generate an adjusted homography collectively aligning the first representation and the first inlier to the second representation and the second inlier.

14 . The computer-readable storage medium of claim 13 , further comprising instructions that, when executed by the computer system, cause the computer system to generate a fundamental matrix between the first and second images based on the homography.

15 . The computer-readable storage medium of claim 14 , further comprising instructions that, when executed by the computer system, cause the computer system to:

draw an epipolar line in the second image based on the fundamental matrix with the first image; and

correlate at least one feature in the first image in the second image.

16 . The computer-readable storage medium of claim 15 , further comprising instructions that, when executed by the computer system, cause the computer system to estimate at least one camera position based on the correlated features.

17 . The computer-readable storage medium of claim 16 , further comprising instructions that, when executed by the computer system, cause the computer system to reconstruct a three dimensional model of the correlated features based on the estimated camera position.

18 . The computer-readable storage medium of claim 13 , further comprising instructions that, when executed by a computer system, cause the computer system to validate the homography based on a comparison between the estimated locations of one or more of the first additional representations relative to the second additional representations, wherein the first additional representations and the second additional representations are associated with same co-planar rectangular features.

19 . The computer-readable storage medium of claim 18 , wherein the instructions, when executed by the computer system, cause the computer system to validate the homography by detecting non-alignment for all estimated locations of the first additional representations and at least one of the second additional representations.

20 . The computer-readable storage medium of claim 18 , wherein the instructions, when executed by the computer system, cause the computer system to validate the homography by detecting an error below a threshold for a position of the estimated locations of at least one of the first additional representations and at least one of the second additional representations.

21 . The computer-readable storage medium of claim 13 , further comprising instructions that, when executed by the computer system, cause the computer system to generate a fundamental matrix between the first and second images based on the adjusted homography.

22 . The computer-readable storage medium of claim 18 , wherein the instructions, when executed by the computer system, cause the computer system to validate the homography by detecting that a particular feature representation, of the first additional representations, is an inlier based on determining that the estimated location of the particular feature representation is within a threshold number of pixels from locations of at least one of the second additional representations.

23 . The computer-readable storage medium of claim 22 , further comprising instructions that, when executed by the computer system, cause the computer system to:

determine that one or more other feature representations, other than the particular feature representation of the first additional representations, are mis-aligned; and

in response to determining that the one or more other feature representations of the first additional representations, are mis-aligned, adjust the homography based on an estimated position of at least one of the one or more other feature representations.

24 . The computer-readable storage medium of claim 23 , further comprising instructions that, when executed by the computer system, cause the computer system to generate a fundamental matrix between the first and second images based on the adjusted homography.

25 . The method of claim 1 , wherein the inlier pair was determined to match with less than a threshold error, wherein a remaining of the first additional representations was determined to match, based on the homography, with greater than the threshold error, and wherein the method further comprises:

estimating a location of the remaining of the first additional representations on the surface having the second orientation based on the adjusted homography; and

selecting a second inlier pair that includes the remaining of the first additional representations, wherein the remaining of the first additional representations was determined to match a remaining of the second additional representations with less than the threshold error,

and wherein the adjusted homography is further adjusted based on the second inlier pair.

26 . The computer-readable storage medium of claim 13 , wherein the inlier pair was determined to match with less than a threshold error, wherein a remaining of the first additional representations was determined to match, based on the homography, with greater than the threshold error, and wherein the computer-readable storage medium further comprises instructions that, when executed by the computer system, cause the computer system to:

estimate a location of the remaining of the first additional representations on the surface having the second orientation based on the adjusted homography; and

select a second inlier pair that includes the remaining of the first additional representations, wherein the remaining of the first additional representations was determined to match a remaining of the second additional representations with less than the threshold error,

and wherein the adjusted homography is further adjusted based on the second inlier pair.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2025
From: SHREE, ATULYA; JIA, KAI; XIONG, ZHIYAO; CHOW, SIU FAI; PHAN, RAYMOND; LI, PANFENG; CURRO, DOMENICO
To: HOVER INC.
Reel/Frame 072429/0012 →
Continuity (5)
Provisional Application 63070165 · Aug 25, 2020
Provisional Application 62983324 · Feb 28, 2020
Provisional Application 62940135 · Nov 25, 2019
Provisional Application 62893100 · Aug 28, 2019
Related Publication 20220284609A1 · Sep 8, 2022
References Cited (30)
US 6137491A · Szeliski · 2000 [cited by examiner]
US 8189925B2 · Kroepfl · 2012 [cited by examiner]
US 8401276B1 · Choe · 2013 [cited by examiner]
US 9020187B2 · Pirchheim · 2015 [cited by examiner]
US 9280821B1 · Choe · 2016 [cited by examiner]
US 9305361B2 · Jiang · 2016 [cited by examiner]
US 9824486B2 · Hu · 2017 [cited by examiner]
US 10600192B1 · McKennoch · 2020 [cited by examiner]
US 20100310182A1 · Kroepfl et al. · 2010 [cited by applicant]
US 20140211989A1 · Ding · 2014 [cited by examiner]
US 20150125091A1 · Gallo · 2015 [cited by examiner]
US 20170178372A1 · Gormish · 2017 [cited by examiner]
US 20180144458A1 · Xu · 2018 [cited by examiner]
US 20180158199A1 · Wang · 2018 [cited by examiner]
US 20190020817A1 · Shan · 2019 [cited by examiner]
US 20190197709A1 · Windmark · 2019 [cited by examiner]
US 20190213437A1 · Baumela Molina · 2019 [cited by examiner]
KR 101742115B1 · 2017 [cited by examiner]
WO WO2021041719 · 2021 [cited by applicant]
A. Tanacs, A. Majdik, J. Molnar, A. Rai and Z. Kato, “Establishing Correspondences between Planar Image Patches,” 2014 International Conference on Digital Image Computing: Techniques and Applications (DICTA), Wollongong… [cited by examiner]
M. Kushnir and I. Shimshoni, “Epipolar Geometry Estimation for Urban Scenes with Repetitive Structures,” (2014) in IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 36, No. 12, pp. 2381-2395, Dec. 1, … [cited by examiner]
J. A. Lee, K. -C. Yow and A. Y. -S. Chia, “Robust matching of building facades under large viewpoint changes,” 2009 IEEE 12th International Conference on Computer Vision, Kyoto, Japan, 2009, pp. 1258-1264, doi: 10.1109/… [cited by examiner]
A. Tanacs, A. Majdik, J. Molnar, A. Rai and Z. Kato, “Establishing Correspondences between Planar Image Patches,” 2014 International Conference on Digital Image Computing: Techniques and Applications (DICTA), Wollongong… [cited by examiner]
Kushnir, M., & Shimshoni, I. (2014). Epipolar Geometry Estimation for Urban Scenes with Repetitive Structures. IEEE transactions on pattern analysis and machine intelligence, 36(12), 2381-2395. https://doi.org/10.1109/T… [cited by examiner]
International Search Report in PCT/US2020/048263 issued Jan. 12, 2021. [cited by applicant]
International Preliminary Report on Patentability received for PCT Patent Application No. PCT/US2020/048263, mailed on Jan. 12, 2021. [cited by applicant]
Lee et al., Robust Matching of Building Facades Under Large Viewpoint Changes, IEEE 12 [cited by applicant]
Pritchett, et al., Wide Baseline Stereo Matching, IEEE 6 [cited by applicant]
Extended European Search Report received for EP Patent Application No. 20859444.0, mailed on Sep. 15, 2023. [cited by applicant]
Lin, et al., “A systematic approach for 2D-image to 3D-range registration in urban environments” Computer Vision and Image Understanding, vol. 116, Issue 1, Jan. 2012, pp. 25-37. [cited by applicant]