IP Library › Granted Patent US 9,471,597
Granted Patent B2
US 9,471,597 · App. 14/230,840 · Granted Oct 18, 2016

Three-dimensional annotations for street view data

Inventors: Jiajun Zhu (Sunnyvale, CA); Daniel Joseph Filip (San Jose, CA); Luc Vincent (Palo Alto, CA)
Assignee: Google Inc.
G06F17/30241G06T19/00G06T2219/004
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 9,471,597
App. No.
14/230,840
Granted
Oct 18, 2016
Kind
B2
Abstract

The present invention relates to annotating images. In an embodiment, the present invention enables users to create annotations corresponding to three-dimensional objects while viewing two-dimensional images. In one embodiment, this is achieved by projecting a selecting object onto a three-dimensional model created from a plurality of two-dimensional images. The selecting object is input by a user while viewing a first image corresponding to a portion of the three-dimensional model. A location corresponding to the projection on the three-dimensional model is determined, and content entered by the user while viewing the first image is associated with the location. The content is stored together with the location information to form an annotation. The annotation can be retrieved and displayed together with other images corresponding to the location.

Claims (46)

1. A method, comprising:

identifying, by one or more computing devices, a plurality of features in one or more two-dimensional images;

matching, by the one or more computing devices, at least some of the plurality of features of the one or more two-dimensional images with features of one or more neighboring two-dimensional images;

calculating, by the one or more computing devices, a location for each of the matched features, the calculating resulting in a cloud of points in three-dimensional space;

estimating, by the one or more computing devices, at least one facade plane based on the cloud of points;

estimating, by the one or more computing devices, at least one street plane based on a location of a street, the street being associated with given ones of the one or more two-dimensional images; and

forming, by the one or more computing devices, a three-dimensional model from the at least one estimated facade plane and the at least one estimated street plane, the three-dimensional model corresponding to one or more objects shown in the two-dimensional images;

wherein estimating the at least one facade plane includes translating the at least one facade plane on an axis from the street and evaluating how many points of the cloud of points are within a predetermined range of the one or more facade planes at each of a plurality of stages of the translation.

2. The method of claim 1 , wherein the at least one estimated facade plane and the at least one estimated street plane together form at least one surface.

3. The method of claim 1 , further comprising varying an angle of each facade plane relative to the street.

4. The method of claim 1 , wherein estimating the at least one street plane is based on the location of the street relative to a camera used to capture selected ones of the one or more two-dimensional images.

5. The method of claim 1 , further comprising:

projecting a bounding box onto the three-dimensional model;

identifying a location corresponding to the projected bounding box; and

generating a display of an annotation associated with the identified location.

6. The method of claim 5 , wherein the display is generated so that the annotation is displayable together with or on top of a selected image corresponding to the identified location.

7. A system, comprising one or more computing devices configured to:

identify a plurality of features in one or more two-dimensional images;

match at least some of the plurality of features of the one or more two-dimensional images with features of one or more neighboring two-dimensional images;

calculate a location for each of the matched features, the calculation resulting in a cloud of points in three-dimensional space;

estimate at least one facade plane based on the cloud of points;

estimate at least one street plane based on a location of a street, the street being associated with given ones of the one or more two-dimensional images; and

form a three-dimensional model from the at least one estimated facade plane and the at least one estimated street plane, the three-dimensional model corresponding to one or more objects shown in the two-dimensional images, the three-dimensional model being stored in a model database;

wherein estimating the at least one facade plane includes translating the at least one facade plane on an axis from the street and evaluating how many points of the cloud of points are within a predetermined range of the one or more facade planes at each of a plurality of stages of the translation.

8. The system of claim 7 , wherein the one or more computing devices are further configured to vary an angle of each facade plane relative to the street.

9. The system of claim 7 , wherein estimating the at least one street plane is based on the location of the street relative to a camera used to capture selected ones of the one or more two-dimensional images.

10. The system of claim 7 , wherein the one or more computing devices are further configured to:

project a bounding box onto the three-dimensional model;

identify a location corresponding to the projected bounding box; and

generate a display of an annotation associated with the identified location.

11. The system of claim 10 , wherein the display is generated so that the annotation is displayable together with or on top of a selected image corresponding to the identified location.

12. A non-transitory computer-readable storage medium on which computer readable instructions of a program are stored, the instructions, when executed by one or more computing devices, cause the one or more computing devices to perform a method comprising:

identifying a plurality of features in one or more two-dimensional images;

matching at least some of the plurality of features of the one or more two-dimensional images with features of one or more neighboring two-dimensional images;

calculating a location for each of the matched features, the calculating resulting in a cloud of points in three-dimensional space;

estimating at least one facade plane based on the cloud of points;

estimating at least one street plane based on a location of a street, the street being associated with given ones of the one or more two-dimensional images; and

forming a three-dimensional model from the at least one estimated facade plane and the at least one estimated street plane, the three-dimensional model corresponding to one or more objects shown in the two-dimensional images;

wherein estimating the at least one facade plane includes translating the at least one facade plane on an axis from the street and evaluating how many points of the cloud of points are within a predetermined range of the one or more facade planes at each of a plurality of stages of the translation.

13. The non-transitory computer-readable storage medium of claim 12 , wherein the method further comprises:

projecting a bounding box onto the three-dimensional model;

identifying a location corresponding to the projected bounding box; and

generating a display of an annotation associated with the identified location.

14. The non-transitory computer-readable storage medium of claim 13 , wherein the display is generated so that the annotation is displayable together with or on top of a selected image corresponding to the identified location.

15. The non-transitory computer-readable storage medium of claim 12 , wherein the method further comprises varying an angle of each facade plane relative to the street.

16. The non-transitory computer-readable storage medium of claim 12 , wherein estimating the at least one street plane is based on the location of the street relative to a camera used to capture selected ones of the one or more two-dimensional images.

Assignments (2)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044097/0658 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2014
From: ZHU, JIAJUN; FILIP, DANIEL; VINCENT, LUC
To: GOOGLE INC.
Reel/Frame 032616/0546 →
Continuity (3)
Continuation 13282880 · Oct 27, 2011
Continuation 12014513 · Jan 15, 2008
Related Publication 20140210817A1 · Jul 31, 2014