IP Library Granted Patent US 12,423,828
Granted Patent B2
US 12,423,828 · App. 17/982,321 · Granted Sep 23, 2025

Door and window detection in an AR environment

Inventor: Justin Meiners (Murray, UT)
Assignee: PassiveLogic, Inc.
G06T7/13G06T7/62G06T15/06G06V10/98
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,423,828
App. No.
17/982,321
Granted
Sep 23, 2025
Kind
B2
Abstract

Various embodiments described herein relate to a method, apparatus, and a non-transitory machine-readable storage medium including one or more of the following: locating a 2D plane correlated with a 3D mesh representing a surface of a room; taking a virtual 2D picture of a 3D mesh along the 2D segment; within the virtual 2D picture, finding a hole; determining the virtual picture floor, and hole width; when the hole intersects the virtual picture floor and is at least as wide as a door width then classifying the hole as a door; else classifying the hole as a window.

Claims (54)

1. A method performed by a processor for locating features within a 3D mesh, the method comprising:

locating, within a memory associated with the processor, a 2D segment correlated with a 3D mesh representing a surface of a room;

determining a virtual picture bottom and a virtual picture top of the 3D mesh;

using the virtual picture bottom and virtual picture top, taking a virtual 2D picture of the 3D mesh along the 2D segment;

within the virtual 2D picture:

a) finding a hole,

b) determining a width of the hole, and

c) when the hole intersects the virtual picture bottom and when the hole is at least as wide as a predetermined door width then determine a structural feature for the hole.

2. The method of claim 1 , wherein when the hole does not intersect the virtual picture bottom or when the hole is not at least as wide as the predetermined door width, then classifying the hole as a window.

3. The method of claim 1 , wherein the 3D mesh is created using 3D depth scanner and a 2D camera working in tandem.

4. The method of claim 1 , further comprising determining whether the hole is not an artifact.

5. The method of claim 4 , wherein determining when the hole is not an artifact comprises:

finding a location of the hole within the 3D mesh;

offsetting the location of the hole within the 3D mesh, creating a hole offset;

casting rays from a middle of the hole offset into the 3D mesh; and

when the cast rays have hit a back side of more than one face then determining that the hole is not an artifact.

6. The method of claim 1 , wherein a surface of a room comprises a floor, a ceiling, or a wall.

7. The method of claim 1 , wherein taking a virtual 2D picture of the 3D mesh along the 2D segment comprises taking a virtual picture with a y axis running from the virtual picture bottom to the virtual picture top.

8. The method of claim 7 , further comprising: locating faces in the 3D mesh whose normal vector is opposite to gravity, recording area of the faces in the 3D mesh whose normal vector is opposite to gravity as an up area, locating faces in the 3D mesh whose normal vector is aligned with gravity, and recording area of the faces in the 3D mesh whose normal vector is aligned with gravity as a down area.

9. The method of claim 8 , further comprising creating a histogram of the up area at different heights, and creating a histogram of the down area at different heights.

10. The method of claim 8 , further comprising finding height of a tallest histogram in the down area and declaring it as a determined floor.

11. The method of claim 1 , wherein determining a virtual picture bottom and a virtual picture top of the 3D mesh comprises finding a minimum value of the room in Z as the virtual picture bottom and finding a maximum value of the 3D mesh in Z as the virtual picture top. further comprising finding faces pointing up, recording area of the faces pointing up, finding faces pointing down, and recording area of the faces pointing down.

12. A system for locating features within a 3D mesh, the system comprising:

a processor in communication with a memory storing a 3D mesh, the processor being configured to:

locate, within the memory, a 2D segment correlated with a 3D mesh representing a surface of a room;

determine a virtual picture bottom and a virtual picture top of the 3D mesh;

use the virtual picture bottom and virtual picture top, taking a virtual 2D picture of the 3D mesh along the 2D segment;

take a virtual 2D picture of the 3D mesh along the 2D segment;

within the virtual 2D picture, finding a hole;

determine hole width; and

when the hole intersects the virtual picture bottom and when the hole width is greater or equal to a door width then classifying the hole as a door.

13. The system of claim 12 , further comprising determining when the hole is not an artifact.

14. The system of claim 13 , wherein determining when the hole is not an artifact comprises:

finding a location of the hole within the 3D mesh;

offsetting the location of the hole within the 3D mesh, creating a hole offset;

casting rays from a middle of the hole offset into the 3D mesh; and

when the cast rays have hit a back side of more than one face then determining that the hole is not an artifact.

15. The system of claim 14 , wherein casting rays comprises casting six rays.

16. The system of claim 15 , wherein the six rays are cast in six cardinal directions.

17. A non-transitory machine-readable storage medium encoded with instructions for execution by a processor for locating features within a 3D mesh, the non-transitory machine-readable storage medium comprising:

instructions for locating, by the processor, within a memory associated with the processor, a 2D segment correlated with a 3D mesh representing a surface of a room;

instructions for determining a virtual picture bottom and a virtual picture top of the 3D mesh;

instructions for using the virtual picture bottom and virtual picture top to take a virtual 2D picture of the 3D mesh along the 2D segment;

instructions for, within the virtual 2D picture, finding a hole;

instructions for determining hole width, and

instructions for, when the hole intersects the vertical virtual picture bottom and when the hole is at least as wide as a door width then classifying the hole as a door.

18. The non-transitory machine-readable storage medium of claim 17 further comprising determining when the hole is not an artifact.

19. The non-transitory machine-readable storage medium of claim 18 wherein determining when the hole is not an artifact comprises:

instructions for finding a location of the hole within the 3D mesh;

instructions for offsetting the location of the hole within the 3D mesh, creating a hole offset;

instructions for casting rays from a middle of the hole offset into the 3D mesh;

instructions for, when the cast rays have hit a back side of one or fewer faces then determining that the hole is not an artifact; and

instructions for, when the cat rays have hit the back side of more than one face then determining that the hole is an artifact.

20. The non-transitory machine-readable storage medium of claim 19 further comprising instructions for classifying the hole as a window when the hole does not intersect the virtual picture bottom or when the hole is not at least as wide as the door width.

Assignments (2)
SECURITY INTEREST Recorded Nov 19, 2025
From: PASSIVELOGIC, INC.; QUANTUM ALLIANCE LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 073605/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 7, 2022
From: MEINERS, JUSTIN
To: PASSIVELOGIC, INC.
Reel/Frame 061680/0190 →
Continuity (1)
Related Publication 20240153096A1 · May 9, 2024
References Cited (30)
US 10445895B2 · Knorr et al. · 2019 [cited by applicant]
US 10785413B2 · Malia et al. · 2020 [cited by applicant]
US 11989834B1 · Agarwal · 2024 [cited by examiner]
US 20120280976A1 · Chen · 2012 [cited by examiner]
US 20150227645A1 · Childs et al. · 2015 [cited by applicant]
US 20180144555A1 · Ford · 2018 [cited by examiner]
US 20190035165A1 · Gausebeck · 2019 [cited by examiner]
US 20190197786A1 · Molyneaux · 2019 [cited by examiner]
US 20190378332A1 · Sun · 2019 [cited by examiner]
US 20200090417A1 · Schloter · 2020 [cited by examiner]
US 20210073449A1 · Segev et al. · 2021 [cited by applicant]
US 20210208262A1 · Silver et al. · 2021 [cited by applicant]
US 20210304509A1 · Berkebile · 2021 [cited by examiner]
US 20220375170A1 · Osokin · 2022 [cited by examiner]
US 20220406013A1 · Xiong et al. · 2022 [cited by applicant]
US 20230044630A1 · Hill · 2023 [cited by examiner]
US 20230138762A1 · Lambert · 2023 [cited by examiner]
US 20230290069A1 · Su · 2023 [cited by examiner]
Han, J., Liu, Y., Rong, M., Zheng, X. and Shen, S., 2023. FloorUSG: Indoor floorplan reconstruction by unifying 2D semantics and 3D geometry. ISPRS Journal of Photogrammetry and Remote Sensing, 196, pp. 490-501. [cited by applicant]
Henry, P., Krainin, M., Herbst, E., Ren, X. and Fox, D., 2014. RGB-D mapping: Using depth cameras for dense 3D modeling of indoor environments. In Experimental robotics: The 12th international symposium on experimental … [cited by applicant]
Majercik, A., Crass in, C., Shirley, P. and McGuire, M., 2018. A ray-box intersection algorithm and efficient dynamic voxel rendering. Journal of Computer Graphics Techniques vol. 7(3), pp. 66-81. [cited by applicant]
Alzantot et al., “CrowdInside: Automatic Construction of Indoor Floorplans”, Sep. 17, 2012, DOI: 10.1145/2424321.2424335 Source: arXiv. [cited by applicant]
ARRayCastQuery, Apple Developer Documentation Kit, copyright 2021, https://developer.apple.com/documentation/arkit/arraycastquery, last accessed Dec. 15, 2021. [cited by applicant]
ARRaycastResult, Apple Developer Documentation Kit, copyright 2021, https://developer.apple.com/documentation/arkit/arraycastresult, last accessed Dec. 15, 2021. [cited by applicant]
Larsson et al., A study on the use of ARKit to extract and geo-reference floor plans, Linköplings universitet, 2021. [cited by applicant]
Raycast(_:), Apple Developer Documentation Kit, copyright 2021, https://developer.apple.com/documentation/arkit/arsession/3132065-raycast/t, last accessed Dec. 15, 2021. [cited by applicant]
Scratchapixel 2.0, Ray Tracing: Rendering a Triangle, copyright 2016-2021, https://www.scratchapixel.com/lessons/3d-basic-rendering/ray-tracing-rendering-a-triangle, last viewed Dec. 15, 2021. [cited by applicant]
Yuan et al., “Finding the Best-Fit Bounding-Boxes”, International Workshop on Document Analysis Systems, Springer, Berlin Germany. [cited by applicant]
Zisserman, “Lecture 2 The SVM Classifier”, Oxford UK. [cited by applicant]
PCT Written Opinion of the International Search Authority, 2024-12022. [cited by applicant]