IP Library Patent Application 18974949
Patent Application
App. No. 18/974,949

Computer Vision Systems and Methods for Modeling Three-Dimensional Structures Using Two-Dimensional Segments Detected in Digital Aerial Images

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 None
App. No.
18/974,949
Abstract

A system for modeling a three-dimensional structure utilizing two-dimensional segments comprising a memory and a processor in communication with the memory. The processor extracts a plurality of two-dimensional segments corresponding to the three-dimensional structure from a plurality of images indicative of different views of the three-dimensional structure. The processor determines a plurality of three-dimensional candidate segments based on the extracted plurality of two-dimensional segments and adds the plurality of three-dimensional candidate segments to a three-dimensional segment cloud. The processor transforms the three-dimensional segment cloud into a wireframe indicative of the three-dimensional structure by performing a wireframe extraction process on the three-dimensional segment cloud.

Claims (92)

1 . A system for modeling a three-dimensional structure utilizing two-dimensional segments comprising:

a memory; and

a processor in communication with the memory, the processor:

extracting a plurality of two-dimensional segments corresponding to the three-dimensional structure from a plurality of images indicative of different views of the three-dimensional structure;

determining a plurality of three-dimensional candidate segments based on the extracted plurality of two-dimensional segments;

adding the plurality of three-dimensional candidate segments to a three-dimensional segment cloud; and

transforming the three-dimensional segment cloud into a wireframe indicative of the three-dimensional structure by performing a wireframe extraction process on the three-dimensional segment cloud.

2 . The system of claim 1 , wherein the processor:

captures the plurality of images from different camera viewpoints;

determines a projection plane, camera parameter sets, and image parameters associated with each image of the plurality of images; and

identifies, based on the projection plane, the camera parameter sets, and the image parameters, two-dimensional segments sets in each image of the plurality of images corresponding to edges of the three-dimensional structure.

3 . The system of claim 1 , wherein the processor determines the plurality of three-dimensional candidate segments based on the plurality of two-dimensional segments by determining a plurality of ground three-dimensional segments, determining a plurality of horizontal three-dimensional segments, and determining a plurality of oblique three-dimensional segments.

4 . The system of claim 3 , wherein the processor determines the plurality of ground three-dimensional segments by:

pairing each extracted two-dimensional segment to proximate extracted two-dimensional segments in views other than ground views of the three-dimensional structure;

selecting parallel two-dimensional segment pairs;

determining a three-dimensional segment from each selected parallel two-dimensional segment pair; and

selecting ground three-dimensional segments from the determined three-dimensional segments.

5 . The system of claim 3 , wherein the processor determines the plurality of horizontal three-dimensional segments by:

pairing each extracted two-dimensional segment with parallel extracted two-dimensional segments in views other than horizontal views of the three-dimensional structure;

determining a three-dimensional segment from each two-dimensional segment pair;

compiling the determined three-dimensional segments, based on characteristics thereof, into a plurality of clusters; and

selecting at least one cluster from the plurality of clusters and determining a horizontal three-dimensional segment indicative of the selected cluster.

6 . The system of claim 3 , wherein the processor determines the plurality of oblique three-dimensional segments by:

pairing each extracted two-dimensional segment with non-parallel extracted two-dimensional segments in views other than oblique views of the three-dimensional structure;

determining a three-dimensional segment from each two-dimensional segment pair;

compiling the determined three-dimensional segments, based on characteristics thereof, into a plurality of clusters; and

selecting at least one cluster from the plurality of clusters and determining an oblique three-dimensional segment indicative of the selected cluster.

7 . The system of claim 1 , wherein the processor determines the plurality of three-dimensional segments based on the extracted plurality of two-dimensional segments by determining a plurality of epipolar three-dimensional segments, the processor:

pairing extracted two-dimensional segments in other views with compatible epipolar lines, the epipolar lines reducing comparisons between extracted two-dimensional segments;

determining a three-dimensional segment from each two-dimensional segment pair;

selecting three-dimensional segment pairs having a consensus above a predetermined threshold value; and

excluding outlier three-dimensional segment pairs.

8 . A method for modeling a three-dimensional structure utilizing two-dimensional segments comprising the steps of:

extracting a plurality of two-dimensional segments corresponding to the three-dimensional structure from a plurality of images indicative of different views of the three-dimensional structure;

determining a plurality of three-dimensional candidate segments based on the extracted plurality of two-dimensional segments;

adding the plurality of three-dimensional candidate segments to a three-dimensional segment cloud; and

transforming the three-dimensional segment cloud into a wireframe indicative of the three-dimensional structure by performing a wireframe extraction process on the three-dimensional segment cloud.

9 . The method of claim 8 , further comprising:

capturing the plurality of images from different camera viewpoints;

determining a projection plane, camera parameter sets, and image parameters associated with each image of the plurality of images; and

identifying, based on the projection plane, the camera parameter sets, and the image parameters, the two-dimensional segments sets in each image of the plurality of images corresponding to edges of the three-dimensional structure.

10 . The method of claim 8 , further comprising determining a plurality of ground three-dimensional segments, determining a plurality of horizontal three-dimensional segments, and determining a plurality of oblique three-dimensional segments.

11 . The method of claim 10 , further comprising determining the plurality of ground three-dimensional segments by:

pairing each extracted two-dimensional segment to proximate extracted two-dimensional segments in views other than ground views of the three-dimensional structure;

selecting parallel two-dimensional segment pairs;

determining a three-dimensional segment from each selected parallel two-dimensional segment pair; and

selecting ground three-dimensional segments from among the determined three-dimensional segments.

12 . The method of claim 10 , further comprising determining the plurality of horizontal three-dimensional segments by:

pairing each extracted two-dimensional segment with parallel extracted two-dimensional segments in views other than horizontal views of the three-dimensional structure;

determining a three-dimensional segment from each two-dimensional segment pair;

compiling the determined three-dimensional segments, based on characteristics thereof, into a plurality of clusters; and

selecting at least one cluster from the plurality of clusters and determining a horizontal three-dimensional segment indicative of the selected cluster.

13 . The method of claim 10 , further comprising determining the plurality of oblique three-dimensional segments by:

pairing each extracted two-dimensional segment with non-parallel extracted two-dimensional segments in views other than oblique views of the three-dimensional structure;

determining a three-dimensional segment from each two-dimensional segment pair;

compiling the determined three-dimensional segments, based on characteristics thereof, into a plurality of clusters; and

selecting at least one cluster from the plurality of clusters and determining an oblique three-dimensional segment indicative of the selected cluster.

14 . The method of claim 8 , further comprising determining a plurality of epipolar three-dimensional segments by:

pairing extracted two-dimensional segments in other views with compatible epipolar lines, the epipolar lines reducing comparisons between extracted two-dimensional segments;

determining a three-dimensional segment from each two-dimensional segment pair;

selecting three-dimensional segment pairs having a consensus above a predetermined threshold value; and

excluding outlier three-dimensional segment pairs.

15 . A non-transitory computer readable medium having instructions stored thereon for modeling a three-dimensional structure utilizing two-dimensional segments which, when executed by a processor, causes the processor to carry out the steps of:

extracting a plurality of two-dimensional segments corresponding to the three-dimensional structure from a plurality of images indicative of different views of the three-dimensional structure;

determining a plurality of three-dimensional candidate segments based on the extracted plurality of two-dimensional segments;

adding the plurality of three-dimensional candidate segments to a three-dimensional segment cloud; and

transforming the three-dimensional segment cloud into a wireframe indicative of the three-dimensional structure by performing a wireframe extraction process on the three-dimensional segment cloud.

16 . The non-transitory computer readable medium of claim 15 , the processor further carrying out the steps of:

capturing the plurality of images from different camera viewpoints;

determining a projection plane, camera parameter sets, and image parameters associated with each image of the plurality of images; and

identifying, based on the projection plane, the camera parameter sets and the image parameters, the two-dimensional segments sets in each image of the plurality of images corresponding to edges of the three-dimensional structure.

17 . The non-transitory computer readable medium of claim 15 , the processor further carrying out the steps of determining a plurality of ground three-dimensional segments, determining a plurality of horizontal three-dimensional segments, and determining a plurality of oblique three-dimensional segments.

18 . The non-transitory computer readable medium of claim 17 , the processor determining the plurality of ground three-dimensional segments by carrying out the steps of:

pairing each extracted two-dimensional segment with proximate extracted two-dimensional segments in views other than ground views of the three-dimensional structure;

selecting parallel two-dimensional segment pairs;

determining a three-dimensional segment from each selected parallel two-dimensional segment pair; and

selecting ground three-dimensional segments from the determined three-dimensional segments.

19 . The non-transitory computer readable medium of claim 17 , the processor determining the plurality of horizontal three-dimensional segments by carrying out the steps of:

pairing each extracted two-dimensional segment with parallel extracted two-dimensional segments in views other than horizontal views of the three-dimensional structure;

determining a three-dimensional segment from each two-dimensional segment pair;

compiling the determined three-dimensional segments, based on characteristics thereof, into a plurality of clusters; and

selecting at least one cluster from the plurality of clusters and determining a horizontal three-dimensional segment indicative of the selected cluster.

20 . The non-transitory computer readable medium of claim 17 , the processor determining the plurality of oblique three-dimensional segments by carrying out the steps of:

pairing each extracted two-dimensional segment with non-parallel extracted two-dimensional segments in views other than oblique views of the three-dimensional structure;

determining a three-dimensional segment from each two-dimensional segment pair;

compiling the determined three-dimensional segments, based on characteristics thereof, into a plurality of clusters; and

selecting at least one cluster from the plurality of clusters and determining an oblique three-dimensional segment indicative of the selected cluster.

21 . The non-transitory computer readable medium of claim 15 , the processor determining a plurality of epipolar three-dimensional segments by carrying out the steps of:

pairing extracted two-dimensional segments in other views with compatible epipolar lines, the epipolar lines reducing comparisons between extracted two-dimensional segments;

determining a three-dimensional segment from each two-dimensional segment pair;

selecting three-dimensional segment pairs having a consensus above a predetermined threshold value; and

excluding outlier three-dimensional segment pairs.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 10, 2024
From: ESTEBAN, JOSE LUIS; CABIDO, RAUL; RIVAS, FRANCISCO
To: GEOMNI, INC.
Reel/Frame 069534/0557 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 10, 2024
From: GEOMNI, INC.
To: INSURANCE SERVICES OFFICE, INC.
Reel/Frame 069534/0649 →