IP Library Granted Patent US 11,508,133
Granted Patent B2
US 11,508,133 · App. 17/186,616 · Granted Nov 22, 2022

Augmented reality visualizer and measurement system for swimming pool components

Inventors: Will Cappiello (Latham, NY); Joel Culp (Latham, NY); Scott Mocha (Latham, NY); Scott Reynolds (Latham, NY)
Assignee: Latham Pool Products, Inc.
G06T19/006G06F3/0482G06F3/04842G06T7/13G06T7/62G06T2207/30208
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 11,508,133
App. No.
17/186,616
Granted
Nov 22, 2022
Kind
B2
Abstract

An augmented reality visualizer and measurement system for swimming pool components (e.g., liners and safety covers) is provided in some examples of the present disclosure. In one example, a system can receive images of physical markers positioned spatially around a perimeter of a swimming pool in real space. The system can identify the physical markers in the images by analyzing the images using one or more image processing techniques. The system can determine one or more characteristics of the swimming pool based on relationships between the physical markers. The system can then generate pool component information based on the determined one or more characteristics of the swimming pool, and output the pool component information.

Claims (62)

1. A method comprising:

receiving, by a processor, a plurality of images from a camera, the plurality of images depicting physical markers positioned spatially around a perimeter of a swimming pool in real space;

receiving, by the processor, a set of user inputs indicating locations of the physical markers in the plurality of images;

determining, by the processor, a scale of the swimming pool based on relationships between the physical markers in the plurality of images;

receiving, by the processor, another plurality of images from the camera, the other plurality of images depicting edges of the perimeter of the swimming pool, the other plurality of images being different from the plurality of images;

receiving, by the processor, another set of user inputs indicating edge locations around the edges of the swimming pool in the other plurality of images, the edge locations being different from the physical markers;

determining, by the processor, a shape of the swimming pool based on the edge locations in the other plurality of images;

generating, by the processor, pool component information based on the determined scale and the shape of the swimming pool; and

outputting, by the processor, the pool component information to a manufacturer of pool components, the manufacturer being adapted to receive the pool component information and manufacture a pool component that is customized to fit the swimming pool based on the pool component information, wherein the pool component is a pool cover or a pool liner, and wherein the manufacturer is configured to manufacture the pool component at a manufacturing location that is offsite from the swimming pool.

2. The method of claim 1 , further comprising determining a perimeter of the swimming pool based on a distance in real space between two of the physical markers.

3. The method of claim 2 , further comprising receiving the distance in real space as user input via a graphical user interface.

4. The method of claim 2 , further comprising determining the shape of the perimeter of the swimming pool by performing edge detection on the other plurality of images.

5. The method of claim 4 , further comprising:

generating the pool component information by transforming at least one of the determined perimeter or the determined shape from a first format that is not accepted by the manufacturer into a second format that is accepted by the manufacturer; and

transmitting the pool component information over a network to a remote computing device associated with the manufacturer.

6. The method of claim 4 , further comprising generating the pool component information to include a plurality of three-dimensional (3D) plot points in a 3D coordinate system corresponding to the perimeter of the swimming pool.

7. The method of claim 1 , further comprising:

generating a graphical user interface including a plurality of pool component options;

receiving a selection of a pool component option from among the plurality of pool component options; and

generating the pool component information based on the selected pool component option.

8. The method of claim 1 , further comprising:

generating an augmented reality environment that includes a virtual version of the pool component overlapping an image of the swimming pool, wherein the virtual version of the pool component is generated in the augmented reality environment based on the determined shape.

9. The method of claim 1 , wherein the physical markers are devices that are separate and distinct from the swimming pool.

10. The method of claim 1 , wherein the physical markers are non-uniformly spaced around the perimeter of the swimming pool.

11. A system comprising:

a camera;

a processor communicatively coupled to the camera; and

a memory including instructions executable by the processor for causing the processor to:

receive a plurality of images from the camera, the plurality of images depicting physical markers positioned spatially around a perimeter of a swimming pool in real space;

receive a set of user inputs indicating locations of the physical markers in the plurality of images;

determine a scale of the swimming pool based on relationships between the physical markers in the plurality of images;

receive another plurality of images from the camera, the other plurality of images depicting edges of the perimeter of the swimming pool, the other plurality of images being different from the plurality of images;

receive another set of user inputs indicating edge locations around the edges of the swimming pool in the other plurality of images, the edge locations being different from the physical markers;

determine a shape of the swimming pool based on the edge locations in the other plurality of images;

generate pool component information based on the determined scale and the shape of the swimming pool; and

output the pool component information to a manufacturer of pool components, the manufacturer being adapted to receive the pool component information and manufacture a pool component that is customized to fit the swimming pool based on the pool component information, wherein the pool component is a pool cover or a pool liner, and wherein the manufacturer is configured to manufacture the pool component at a manufacturing location that is offsite from the swimming pool.

12. The system of claim 11 , wherein the memory further includes instructions that are executable by the processor for causing the processor to:

determine a perimeter of the swimming pool based on a distance in real space between two of the physical markers.

13. The system of claim 12 , wherein the memory further includes instructions that are executable by the processor for causing the processor to:

generate the pool component information by transforming the determined perimeter from a first format that is not accepted by the manufacturer into a second format that is accepted by the manufacturer; and

transmit the pool component information over a network to a remote computing device associated with the manufacturer.

14. The system of claim 11 , wherein the memory further includes instructions that are executable by the processor for causing the processor to:

generate a graphical user interface including a plurality of pool component options;

receive a selection of a pool component option from among the plurality of pool component options; and

generate the pool component information based on the selected pool component option.

15. The system of claim 11 , wherein the memory further includes instructions that are executable by the processor for causing the processor to:

generate an augmented reality environment that includes a virtual version of the pool component overlapping an image of the swimming pool, wherein the virtual version of the pool component is generated in the augmented reality environment based on the shape.

16. The system of claim 11 , further comprising the physical markers.

17. A non-transitory computer-readable medium comprising program code that is executable by a processor for causing the processor to:

receive a plurality of images from a camera, the plurality of images depicting physical markers positioned spatially around a perimeter of a swimming pool in real space;

receive a set of user inputs indicating locations of the physical markers in the plurality of images;

determine a scale of the swimming pool based on relationships between the physical markers in the plurality of images;

receive another plurality of images from the camera, the other plurality of images depicting edges of the perimeter of the swimming pool, the other plurality of images being different from the plurality of images;

receive another set of user inputs indicating edge locations around the edges of the swimming pool in the other plurality of images, the edge locations being different from the physical markers;

determine a shape of the swimming pool based on the edge locations in the other plurality of images;

generate pool component information based on the determined scale and the shape of the swimming pool; and

output the pool component information to a manufacturer of pool components, the manufacturer being adapted to receive the pool component information and manufacture a pool component that is customized to fit the swimming pool based on the pool component information, wherein the pool component is a pool cover or a pool liner, and wherein the manufacturer is configured to manufacture the pool component at a manufacturing location that is offsite from the swimming pool.

18. The non-transitory computer-readable medium of claim 17 , further comprising program code that is executable by the processor for causing the processor to:

generate the pool component information by transforming the scale or shape of the swimming pool from a first format that is not accepted by the manufacturer into a second format that is accepted by the manufacturer; and

transmit the pool component information over a network to a remote computing device associated with the manufacturer.

19. The non-transitory computer-readable medium of claim 17 , wherein the physical markers are devices that are separate and distinct from the swimming pool.

20. The non-transitory computer-readable medium of claim 17 , further comprising program code that is executable by the processor for causing the processor to receive the set of user inputs and the other set of user inputs via a graphical user interface.

Assignments (2)
SECURITY INTEREST Recorded Feb 23, 2022
From: LATHAM POOL PRODUCTS, INC.
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 059075/0090 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 24, 2022
From: CAPPIELLO, WILL; CULP, JOEL; MOCHA, SCOTT; REYNOLDS, SCOTT
To: LATHAM POOL PRODUCTS, INC.
Reel/Frame 058749/0818 →
Continuity (2)
Provisional Application 62982104 · Feb 27, 2020
Related Publication 20210272369A1 · Sep 2, 2021