IP Library Granted Patent US 8,977,520
Granted Patent B2
US 8,977,520 · App. 12/909,692 · Granted Mar 10, 2015

Computer system for automatically classifying roof elements

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 8,977,520
App. No.
12/909,692
Granted
Mar 10, 2015
Kind
B2
Abstract

A set of instructions stored on at least one computer readable medium for running on a computer system. The set of instructions includes instructions for identifying line segments of a roof that is preferably displayed within a geo-referenced image, instructions for determining three-dimensional information of the line segments including position, orientation and length of the line segments preferably utilizing the geo-referenced image, and instructions for classifying, automatically, at least one of the line segments as one of a plurality of predefined roof elements utilizing at least one of the relative position and orientation of the line segments.

Claims (49)

1. An apparatus comprising:

at least one non-transitory computer readable medium storing a set of instructions for running on a computer system, the set of instructions comprising:

instructions for identifying line segments of a roof shown in at least two images using input from a user selecting end points of the line segments in a first image of the at least two images;

instructions for determining three-dimensional information of the line segments including position, orientation and length of the line segments; and

instructions for determining, automatically, a classification of at least one of the line segments utilizing position and orientation of a first line segment relative to a position and orientation of a second line segment of the line segments as one of a plurality of predefined roof elements.

2. The apparatus of claim 1 , wherein the set of instructions further comprises instructions for generating a three-dimensional model of the roof utilizing the line segments.

3. The apparatus of claim 1 , wherein the set of instructions further comprises at least one instruction for storing classification information indicative of a classification of the at least one line segment as the plurality of predefined roof elements.

4. The apparatus of claim 3 , wherein the line segments have lengths, and wherein the set of instructions further comprises instructions for generating a report including a cumulative length of the line segments for one or more predefined roof element.

5. The apparatus of claim 1 , wherein the set of instructions further comprises instructions for grouping the end points of the line segments by elevation into at least a first group, and wherein the instructions for determining three-dimensional information of the line segments including position, orientation and length of the line segments is defined further as determining the three-dimensional information of the line segments utilizing at least the first group.

6. The apparatus of claim 5 , wherein the instructions for grouping the end points of the line segments by elevation include instructions for receiving user input to group the end points of the line segments by elevation.

7. The apparatus of claim 5 , wherein the set of instructions further comprises instructions for calculating an elevation of each end point of the line segments and then averaging the elevation within each group of end points.

8. The apparatus of claim 1 , wherein the set of instructions includes instructions for determining whether at least two points on the line segments are at a same elevation in classifying the line segments as predefined roof elements.

9. The apparatus of claim 1 , wherein the predefined roof elements are selected from a group consisting of a rake and a valley, and wherein the set of instructions includes instructions for determining an angle between adjacent line segments in classifying one of the line segments as at least one of a rake and a valley.

10. The apparatus of claim 1 , wherein the predefined roof elements are selected from a group consisting of a ridge and an eave, and wherein the set of instructions includes instructions for determining a relative elevation between line segments within a roof section in classifying one of the line segments as at least one of a ridge and an eave.

11. A method, comprising the step of:

making a set of instructions on a non-transitory computer readable storage medium accessible to a processor of a computer system, the set of instructions including instructions for identifying line segments of a roof shown in at least two images using input from a user selecting points of line segments in a first image, the line segments having end points; grouping by elevation at least two of the end points of the line segments displayed in at least one image; determining three-dimensional information of the line segments including position, orientation and length of the line segments using the grouped end points; and determining, automatically, a classification of at least one of the line segments utilizing at least one of the relative position and orientation of the line segments as one of a plurality of predefined roof elements.

12. A method, comprising the step of:

selling and distributing a set of instructions stored on at least one non-transitory computer readable storage medium, the set of instructions comprising instructions for identifying line segments of a roof shown in at least two images using input from a user selecting points of line segments in a first image, the line segments having end points; grouping by elevation at least two of the end points of the line segments displayed in at least one image; determining three-dimensional information of the line segments including position, orientation and length of the line segments using the grouped end points; and determining, automatically, a classification of at least one of the line segments utilizing at least one of the relative position and orientation of the line segments as one of a plurality of predefined roof elements.

13. A method comprising the step of:

providing access to a set of instructions stored on a first non-transitory computer readable storage medium for installation on a second non-transitory computer readable storage medium associated with a user device, the set of instructions including instructions for identifying line segments of a roof shown in at least two images using input from a user selecting points of line segments in a first image, the line segments having end points; grouping by elevation at least two of the end points of the line segments displayed in at least one image; determining three-dimensional information of the line segments including position, orientation and length of the line segments using the grouped end points; and determining, automatically, a classification of at least one of the line segments utilizing at least one of the relative position and orientation of the line segments as one of a plurality of predefined roof elements.

14. A computer system, comprising:

at least one processor;

one or more non-transitory computer readable storage medium storing a set of instructions that when executed by the at least one processor cause the at least one processor to:

identify line segments of a roof displayed within one or more geo-referenced images shown in at least two images using input from a user selecting points of line segments in a first image, the line segments having end points;

group by elevation at least two of the end points of the line segments displayed in at least one image;

determine three-dimensional information of the line segments including position, orientation and length of the line segments utilizing the one or more geo-referenced images using the grouped end points; and

determine, automatically, a classification of at least one of the line segments utilizing at least one of the relative position and orientation of the line segments as one of a plurality of predefined roof elements.

15. A set of instructions stored on at least one non-transitory computer readable storage medium for running on a computer system, the set of instructions comprising:

instructions that when executed by at least one processor of the computer system cause the at least one processor to identify and group together end points of rooflines of a roof depicted in a first image to create one or more sets of elevation grouped rooflines, the first image being an orthogonal image; and

instructions that when executed by the at least one processor of the computer system cause the at least one processor to receive signals from a user to align the one or more sets of elevation grouped rooflines of the roof onto actual rooflines displayed within a second image, the second image being an oblique image.

16. The set of instructions stored on the at least one non-transitory computer readable storage medium for running on the computer system of claim 15 , the set of instructions further comprising:

instructions that when executed by at least one processor of the computer system cause the at least one processor to calculate elevations of the end points using the identified end points in the first image and the aligned sets of elevation grouped rooflines in the second image.

17. A computer system, comprising:

at least one processor;

one or more non-transitory computer readable storage medium storing a set of instructions that when executed by the at least one processor cause the at least one processor to:

identify line segments of a roof displayed within one or more geo-referenced images shown in at least two images using input from a user selecting points of line segments in a first image, the line segments having end points;

group by elevation at least two of the end points of the line segments displayed in at least one image;

determine information of the line segments including position, orientation and length of the line segments utilizing the one or more geo-referenced images using the grouped end points; and

determine, automatically, a classification of at least one of the line segments utilizing at least one of the relative position and orientation of the line segments as one of a plurality of predefined roof elements.

18. A computer system, comprising:

at least one processor;

one or more non-transitory computer readable storage medium storing a set of instructions that when executed by the at least one processor cause the at least one processor to:

identify and group together end points of rooflines of a roof depicted in a first image to create one or more sets of elevation grouped rooflines, the first image being an orthogonal image; and

receive signals from a user to align the one or more sets of elevation grouped rooflines of the roof onto actual rooflines displayed within a second image, the second image being an oblique image.

19. A computer system, comprising:

at least one processor;

one or more non-transitory computer readable storage medium storing a set of instructions that when executed by the at least one processor cause the at least one processor to:

draw at least part of a wireframe image of a roof, using locations of end points of line segments identified by a user in a first image depicting the roof and using rooflines grouped by elevation based at least in part on the locations of the end points; and

align the wireframe image of the roof drawn in the first image with a same roof depicted in a second image, the first and second images being captured from different perspectives; wherein the first image is an orthogonal image and the second image is an oblique image.

Assignments (12)
RELEASE OF SECURITY INTEREST Recorded Apr 14, 2025
From: HPS INVESTMENT PARTNERS, LLC
To: PICTOMETRY INTERNATIONAL CORP.
Reel/Frame 070828/0266 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS Recorded Apr 9, 2025
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: PICTOMETRY INTERNATIONAL CORP.; EAGLE VIEW TECHNOLOGIES, INC.; OMNIEARTH, INC.
Reel/Frame 070786/0022 →
FIRST LIEN SECURITY AGREEMENT Recorded Mar 28, 2025
From: EAGLE VIEW TECHNOLOGIES, INC.; PICTOMETRY INTERNATIONAL CORP.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 070671/0078 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS Recorded Aug 29, 2018
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: PICTOMETRY INTERNATIONAL CORP.; EAGLE VIEW TECHNOLOGIES, INC.; OMNIEARTH, INC.
Reel/Frame 046970/0875 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Aug 23, 2018
From: PICTOMETRY INTERNATIONAL CORP.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 046919/0065 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Aug 14, 2018
From: PICTOMETRY INTERNATIONAL CORP.
To: HPS INVESTMENT PARTNERS, LLC,
Reel/Frame 046823/0755 →
RELEASE OF SECOND LIEN SECURITY INTEREST Recorded Sep 22, 2017
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: PICTOMETRY INTERNATIONAL CORP.; EAGLE VIEW TECHNOLOGIES, INC.; OMNIEARTH, INC.
Reel/Frame 043955/0128 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jul 20, 2015
From: PICTOMETRY INTERNATIONAL CORP.; EAGLE VIEW TECHNOLOGIES, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 036130/0873 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jul 20, 2015
From: PICTOMETRY INTERNATIONAL CORP.; EAGLE VIEW TECHNOLOGIES, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 036130/0899 →
RELEASE OF SECURITY INTEREST Recorded Jul 2, 2015
From: JPMORGAN CHASE BANK, N.A.
To: PICTOMETRY INTERNATIONAL CORPORATION
Reel/Frame 035972/0938 →
NOTICE OF SECURITY INTEREST Recorded Jan 21, 2011
From: PICTOMETRY INTERNATIONAL CORP.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 025674/0723 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 21, 2010
From: STEPHENS, JOHN W.; GIUFRRIDA, FRANK D.; SCHULTZ, STEPHEN L.; ADAMS, STEVE; WANG, YANGDONG
To: PICTOMETRY INTERNATIONAL CORPORATION
Reel/Frame 025176/0554 →