Systems and methods for lean ortho correction for computer models of structures
Abstract
A system and method for lean ortho correction for computer models of structures. The system displays an image of a structure on a user interface and projects a structure model onto the image. Next, the system identifies a first world three-dimensional ("3D") point in the image, a second world 3D point in the image, and a third world 3D point in the image. The system then transforms coordinates of the structure model using the first world 3D point, the second world 3D point, the third world 3D point, and a lean ortho correction algorithm.

Term
12.5 yearsto projected expiry
Projected expiry 22 March 2039, counted from filing; an application has no term until it is granted.
- Priority
- Filed
- Published
- Today
- Projected expiry
15 claims: 10 independent, 5 dependent
- 1A method for lean ortho correction for computer models of structures, comprising steps of:projecting a structure model onto an image;identifying a plurality of world three-dimensional ("3D") points in the image;and adjusting the structure model by transforming coordinates of the structure model using the plurality of world 3D points and a lean ortho correction algorithm to compensate for lean in the image.
- 2The method of Claim 1 wherein the structure model comprises a wireframe model or polygonal model of the structure.
- 3The method of Claim 2, wherein the structure is a three-dimensional model of a house or a building.
- 4The method of any preceding claim, wherein the plurality of world three-dimensional ("3D") points in the image comprises a first world 3D point in the image, a second world 3D point in the image and a third world 3D point in the image.
- 6The method of Claim 5, wherein the second world 3D point corresponds to a point on the structure model and optionally wherein the second world 3D point has an elevation greater than the first world 3D point.
- 7The method of Claim 6, wherein the third world 3D point corresponds to a point on the structure associated with the second world 3D point.
- 8The method of any preceding Claim, wherein the lean ortho correction algorithm transforms image coordinates to model coordinates.
- 10The method of any preceding Claim, further comprising re-projecting the transformed coordinates of the structure model onto the image.
- 11The method of any preceding claim, wherein the image is an orthorectified image.
- 12The method of any preceding claim, further comprising displaying an image of a structure on a user interface of a computer system.
- 13The method of any preceding claim, further comprising identifying the plurality of world 3D points via user input.
- 14The method of any preceding claim, wherein the lean ortho correction algorithm calculates at least one lean value and at least one lean vector for each of the plurality of world 3D points and applies the at least one lean value and the at least one lean vector to transform the coordinates of the structure model.
- 15A system for lean ortho correction for computer models of structures, comprising:a processor for processing a structure model;a user interface in communication with the processor;and computer system code executed by the processor, the computer system code causing the processor to perform the method of any preceding claim.
Independent claims14
16 paragraphs in 8 sections, as filed
BACKGROUND
CROSS-REFERENCE TO RELATED APPLICATIONS
0001This application claims the benefit of <patcit id="pcit0001" dnum="US62646985"><text>U.S. Provisional Patent Application No. 62/646,985 filed on March 23, 2018</text></patcit>, the entire disclosure of which is expressly incorporated herein by reference.
TECHNICAL FIELD
0002The present disclosure relates generally to the fields of computer vision and photogrammetry. More specifically, the present disclosure relates to systems and methods for lean ortho correction for computer models of structures
RELATED ART
0003In the fields of computer vision and photogrammetry, there is often a need to project three-dimensional computer models of structures onto images that are not perfect. For example, many digital images suffer from leaning which has not been corrected. In such circumstances, while the digital images may be identified as "orthorectified," the images are not true orthographic images due to the failure to correct leaning in the images. As a result, existing computer modeling systems can produce models of structures that are inaccurate, or which are not properly projected onto images. Accordingly, it would be desirable to provide systems and methods for lean ortho correction of computer models of structures which addresses the foregoing needs.
SUMMARY
0004This present disclosure relates to systems and methods for lean ortho correction for computer models of structures. The system includes a transformation module which adjusts projections of computer models onto images that suffer from leaning and/or distortions present in the images, so that the images are still useful in generating and/or refining existing computer models of structures. The system displays a projection of a computer model onto an orthorectified image that suffers from leaning, and the user determines two world three-dimensional (3D) points in the image such that the second world 3D point has a height which is different than the height of the first world 3D point, and a third point where the second world 3D point is actually displayed in the image. The points can be identified by a user using a graphical user interface and an associated input device, or automatically using suitable computer vision techniques capable of identifying the points. Using the identified points, the system transforms the coordinates of the model points using a lean ortho correction algorithm, and re-projects the model onto the orthorectified image so that the projected model more accurately aligns with features of the orthorectified image.
BRIEF DESCRIPTION OF THE DRAWINGS
0005The foregoing features of the invention will be apparent from the following Detailed Description, taken in connection with the accompanying drawings, in which: <ul id="ul0001" list-style="none" compact="compact"><li><figref idref="f0001">FIG. 1</figref> is a diagram illustrating the system of the present disclosure;</li><li><figref idref="f0002">FIG. 2</figref> is a flowchart illustrating processing steps carried out by the system;</li><li><figref idref="f0003">FIG. 3</figref> depicts identification of a set of points in an orthorectified image suffering from leaning;</li><li><figref idref="f0004">FIG. 4</figref> depicts identification of an alternate set of points in the orthorectified image; and</li><li><figref idref="f0005">FIG. 5</figref> depicts projection of transformed computer model onto the orthorectified image after processing of model coordinates using a lean ortho correction algorithm.</li></ul>
DETAILED DESCRIPTION
0006The present disclosure relates to systems and methods for lean ortho correction for computer models of structures, as discussed in detail below in connection with <figref idref="f0001 f0002 f0003 f0004 f0005">FIGS. 1-5</figref>.
0007<figref idref="f0001">FIG. 1</figref> is a diagram illustrating the system of the present disclosure, indicated generally at 10. The system 10 includes a transformation module 12 that is executed by a processor 14 and which processes a structure model 22 stored in a memory 20 in communication with the processor 14, and a user interface 26 that communicates with the processor 14 and which can be operated by a user of the system 10. The structure model 22 could include a wireframe or polygonal model of a structure, such as a three-dimensional model of a house as shown. Importantly, the system 10 rapidly transforms coordinates of the structure model 22 to better fit an orthorectified image 16 that suffers from leaning. As can be seen in <figref idref="f0001">FIG. 1</figref>., when a projection 18 of the model 22 is projected onto the image 16, it can be seen that the projection 18 does not adequately align with corresponding features in the image 16 due to the presence of lean in the image 16. After processing of the model 22 using the transformation module 12 and points identified in the image 16 (as will be discussed in greater detail below), coordinates of the model 22 are transformed and the model is re-projected as projection 18' onto the image 16 as seen in <figref idref="f0001">FIG. 1</figref>. As can be appreciated, the transformed model and projection 18' more closely match corresponding features in the image 16, despite the fact that the image still suffers from leaning. Advantageously, this allows a user to create/modify models of structures using digital imagery that ordinarily would not be useful for modeling due to the presence of lean in the image, thereby improving the functioning of computer modeling systems.
0008As will be discussed in greater detail below, points could be identified in the image 16 by the user using the user interface 26, or automatically through suitable computer vision techniques. The user interface 26 could include, but is not limited to, a display and associated keyboard and/or mouse, a touchscreen, lightpen, etc. Moreover, the process steps of the invention disclosed herein (carried out by the module 12) could be embodied as computer-readable software code executed by one or more computer systems, and could be programmed using any suitable programming languages including, but not limited to, C, C++, C#, Java, Python, or any other suitable languages. Additionally, the computer system(s) on which the present invention could be embodied include, but are not limited to, one or more personal computers, servers, mobile devices, cloud-based computing platforms, etc., each having one or more suitably powerful microprocessors and associated operating system(s) such as Linux, UNIX, Microsoft Windows, MacOS, etc. Still further, the invention could be embodied as a customized hardware component such as a field-programmable gate array (FPGA), application-specific integrated circuit (ASIC), embedded system, or other customized hardware component without departing from the spirit or scope of the present disclosure.
0009The specific functions carried out by the system 10 (and in particular, the transformation module 12) will now be discussed with reference to <figref idref="f0002">FIG. 2</figref>, which is a flowchart 30 illustrating processing steps carried out by the system of the present disclosure, and additionally with reference to <figref idref="f0003 f0004 f0005">FIGS. 3-5</figref>. In step 32, the system displays an orthorectified image, such as the image 50 shown in <figref idref="f0003">FIG. 3</figref>. The image 50 could be displayed on a screen of the user interface 26 of <figref idref="f0001">FIG. 1</figref>, and suffers from leaning. Next, in step 34, the system projects a projection 52 computer model of the structure (house) shown in <figref idref="f0003">FIG. 3</figref> onto the image 50. As can be seen in <figref idref="f0003">FIG. 3</figref>, the projection 52 is a wireframe representation of the model, but not all features of the projected model match corresponding features in the image 50 due to the presence of lean in the image. Next, in step 36, the user identifies a first world three-dimensional (3D) point A shown in the image 50. As can be seen in <figref idref="f0003">FIG. 3</figref>, the point A corresponds to a roof corner appearing on one corner of the roof of the building shown in the image 50. Next, in step 38, the user identifies a second world three-dimensional (3D) point B shown in the image 50 having an elevation (height) which is greater than the elevation (height) of point A. As can be seen in <figref idref="f0003">FIG. 3</figref>, point B corresponds to one end of a roof ridge of the wireframe projection 52. Next, in step 40, the user identifies a point C in the image 50 where the second world point 3D point B actually appears in the image 50. As can be seen, point C in the image 50 shows the actual location of one end of the roof ridge that corresponds to the point B identified by the system.
0010<figref idref="f0004">FIG. 4</figref> shows an alternate set of points that could be identified and used by the system, in the image 50. For example, as can be seen, point A is the first world 3D point corresponding to a different corner of the roof of the building shown in <figref idref="f0004">FIG. 4</figref>, point B is the second world 3D point in the image having a height greater that the point A, and point C is a point identifying the actual location in the image 50 corresponding to point B. It is noted that the points A, B, and C could be identified by a user pointing and clicking on the points in the image using a mouse and display of the user interface 26 of <figref idref="f0001">FIG. 1</figref>, or automatically identified using computer vision techniques. For example, classical computer vision approaches can be used for point detection, as well as more sophisticated systems based on deep neural networks architectures to locate keypoints.
0011In step 42, the system transforms the coordinates of the model using the points A, B, and C identified in the image 50 and a lean ortho correction algorithm. Two suitable algorithms could be used - one algorithm which transforms the image coordinates to the model coordinates, or a second algorithm which transforms the model coordinates to the image coordinates. If the world coordinates of a corner of the image and the pixel size (ratio between world coordinates and pixel) in both X and Y direction are known, the system can use the following algorithms to convert from pixel to world coordinates, and vice versa: <tables id="tabl0001" num="0001"><img file="EP4557230A2_D0001.tif" /></tables><tables id="tabl0002" num="0002"><img file="EP4557230A2_D0002.tif" /></tables>
0012It is noted that the "WorldZ" in Algorithms 1 and 2 are not required to calculate pixel location. Point A in <figref idref="f0003 f0004">FIGS. 3-4</figref> (Ax, Ay, Az) is a world 3D point that matches perfectly with the corresponding image pixel when applying Algorithms 1 and 2, and it is noted that the values of Ax and Ay are optional. Point B in <figref idref="f0003 f0004">FIGS. 3-4</figref> (Bx, By, Bz) is a world 3D point where the height of A (Az) is different from the height of B (Bz). In this case, the corresponding image pixel should not match B when applying Algorithms 1 and 2. Point C in <figref idref="f0003 f0004">FIGS. 3-4</figref> (Cpx, Cpy) is the location where point B is actually displayed in the image.
0013Once these points have been identified, the following can be calculated: leanZ0 = Az; Bpx, Bpy = <transformation of point B from World coordinates to pixel coordinates using formula 1>; and leanVector = (Cp - Bp) / (Bz - Az). Then, Algorithms 3 and 4 can be applied to transform the model more accurately, as follows: <tables id="tabl0003" num="0003"><img file="EP4557230A2_D0003.tif" /></tables><tables id="tabl0004" num="0004"><img file="EP4557230A2_D0004.tif" /></tables>
0014Once the foregoing algorithms have been applied, the coordinates of the model 22 of <figref idref="f0001">FIG. 1</figref> are transformed by the system. The model 22 can then be re-projected onto the image, as is shown in <figref idref="f0005">FIG. 5</figref>. As can be seen in <figref idref="f0005">FIG. 5</figref>, the re-projection 52' of the model more closely matches corresponding features in the image 50, even though the image 50 still suffers from leaning. The image 50 can therefore still be used for future modeling tasks, such as updating the model 22, making corrections to it, adding to the model, etc. As can be appreciated, the system greatly improves the functionality of computerized modeling systems as it allows for usage of imperfect imagery (e.g., images suffering from leaning) during the process of computer modeling of structures.
0015Having thus described the system and method in detail, it is to be understood that the foregoing description is not intended to limit the spirit or scope thereof. It will be understood that the embodiments of the present disclosure described herein are merely exemplary and that a person skilled in the art may make any variations and modification without departing from the spirit and scope of the disclosure. All such variations and modifications, including those discussed above, are intended to be included within the scope of the disclosure. What is intended to be protected by Letters Patent is set forth in the following claims.
ALTERNATIVE STATEMENTS OF INVENTION
0016Alternative statements of invention are recited below as numbered clauses. <ol id="ol0001"><li>1. A system for lean ortho correction for computer models of structures, comprising: <ul id="ul0002" list-style="none" compact="compact"><li>a processor for processing a structure model stored in a non-transitory memory;</li><li>a user interface in communication with the processor; and</li><li>computer system code executed by the processor, the computer system code causing the processor to: <ul id="ul0003" list-style="none" compact="compact"><li>display an image of a structure on the user interface;</li><li>project the structure model onto the image;</li><li>identify, via user input, a first world three-dimensional ("3D") point in the image;</li><li>identify, via user input, a second world 3D point in the image;</li><li>identify, via user input, a third world 3D point in the image; and</li><li>transform coordinates of the structure model using the first world 3D point, the second world 3D point, the third world 3D point, and a lean ortho correction algorithm.</li></ul></li></ul></li><li>2. A method for lean ortho correction for computer models of structures, comprising steps of: <ul id="ul0004" list-style="none" compact="compact"><li>displaying an image of a structure on a user interface of a computer system;</li><li>projecting a structure model onto the image;</li><li>identifying a first world three-dimensional ("3D") point in the image;</li><li>identifying a second world 3D point in the image;</li><li>identifying a third world 3D point in the image; and</li><li>transforming coordinates of the structure model using the first world 3D point, the second world 3D point, the third world 3D point, and a lean ortho correction algorithm.</li></ul></li><li>3. The system of clause 1, or the method of clause 2, wherein the structure model comprises a wireframe model or polygonal model of the structure.</li><li>4. The system or method of clause 3, wherein the structure is a three-dimensional model of a house or a building.</li><li>5. The system of clause 1 or any one of clauses 3 to 4, or the method of clause 2 or any one of clauses 3 to 4, wherein the first world 3D point corresponds to a corner of the structure.</li><li>6. The system or method of clause 5, wherein the second world 3D point corresponds to a point on the structure model.</li><li>7. The system or method of clause 6, wherein the second world 3D point has an elevation greater than the first world 3D point.</li><li>8. The system or method of clause 7, wherein the third world 3D point corresponds to a point on the structure associated with the second world 3D point.</li><li>9. The system or method of any preceding clause, wherein the lean ortho correction algorithm transforms image coordinates to model coordinates.</li><li>10. The system or method of any one of clauses 1 to 8, wherein the lean ortho correction algorithm transforms model coordinates to image coordinates.</li><li>11. The system of clause 1 or any one of clauses 3 to 10, wherein the processor re-projects the transformed coordinates of the structure model onto the image.</li><li>12. The method of clause 2 or any one of clauses 3 to 10, further comprising re-projecting the transformed coordinates of the structure model onto the image.</li></ol>
Contents8
10 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10
12 members in 4 offices
Priority claims3
| Document | Office | Kind | Date |
|---|---|---|---|
| 201862646985P | United States of America | – | |
| 201862646985 | United States of America | P | |
| 19164723 | European Patent Office (EPO) | A |
Members12
| Document | Office | Kind | |
|---|---|---|---|
| CA3037583A1 | Canada | A1 | |
| EP3543878A1 | European Patent Office (EPO) | A1 | |
| US2019295328A1 | United States of America | A1 | |
| AU2019201991A1 | Australia | A1 | |
| US11450076B2 | United States of America | B2 | |
| US2023017465A1 | United States of America | A1 | |
| US11847757B2 | United States of America | B2 | |
| US2024119691A1 | United States of America | A1 | |
| AU2024205074A1 | Australia | A1 | |
| EP3543878B1 | European Patent Office (EPO) | B1 | |
| EP4557230A2This record | European Patent Office (EPO) | A2 | |
| EP4557230A3 | European Patent Office (EPO) | A3 |
17 legal events, as 2 offices reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | Office | |
|---|---|---|---|
| Intention to grant announcedINTG | INTG | EP | |
| Despatch of communication of intention to grant a patentORIGINAL CODE: EPIDOSNIGR1GRAP | GRAP | EP | |
| Information on the status of an ep patent application or granted ep patentGrantedSTATUS: GRANT OF PATENT IS INTENDEDSTAA | STAA | EP | |
| Request for examination filed17P | 17P | EP | |
| Information on the status of an ep patent application or granted ep patentGrantedSTATUS: REQUEST FOR EXAMINATION WAS MADESTAA | STAA | EP | |
| Designated contracting statesAK | AK | EP | |
| Information provided on ipc code assigned before grantRIC1 | RIC1 | EP | |
| Information provided on ipc code assigned before grantRIC1 | RIC1 | EP | |
| Information provided on ipc code assigned before grantRIC1 | RIC1 | EP | |
| Information provided on ipc code assigned before grantRIC1 | RIC1 | EP | |
| Information provided on ipc code assigned before grantRIC1 | RIC1 | EP | |
| Search report despatchedORIGINAL CODE: 0009013PUAL | PUAL | EP | |
| Amendment of ipc main classPREVIOUS MAIN CLASS: G06T0019200000R079 | R079 | DE | |
| Divisional application: reference to earlier applicationAC | AC | EP | |
| Designated contracting statesAK | AK | EP | |
| Public reference made under article 153(3) epc to a published international application that has entered the european phaseORIGINAL CODE: 0009012PUAI | PUAI | EP | |
| Information on the status of an ep patent application or granted ep patentGrantedSTATUS: THE APPLICATION HAS BEEN PUBLISHEDSTAA | STAA | EP |
Numbers
- Publication
- 4557230
- Application
- 251607453
Titles3
- German
- SYSTEME UND VERFAHREN ZUR LEAN-ORTHO-KORREKTUR FÜR COMPUTERMODELLE VON STRUKTUREN
- English
- SYSTEMS AND METHODS FOR LEAN ORTHO CORRECTION FOR COMPUTER MODELS OF STRUCTURES
- French
- SYSTÈMES ET PROCÉDÉS DE CORRECTION ORTHO PAUVRE POUR MODÈLES INFORMATIQUES DE STRUCTURES
Classification
- CPC, 10
- G06T17/05
- G06T19/20
- G06T2207/10032
- G06T2207/30184
- G06T2219/2021
- G06T17/20
- G06F30/13
- G06T2200/24
- G06T2219/2004
- G06T2219/2016
- IPC, 1
- G06T19 20
Designated states1
- Contracting states, 1
- Türkiye