IP Library Granted Patent US 12,488,384
Granted Patent B2
US 12,488,384 · App. 17/332,775 · Granted Dec 2, 2025

Build and update a virtual store based on a physical store

Inventors: Juho Mikko Haapoja (Toronto, CA); Byron Leonel Delgado (Ottawa, CA); Stephan Leroux (East Gwillimbury, CA)
Assignee: SHOPIFY INC.
G06Q30/0643G06Q30/0639G06T7/70G06T2200/08
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,488,384
App. No.
17/332,775
Granted
Dec 2, 2025
Kind
B2
Abstract

Disclosed herein are methods and systems for building and updating a virtual store based on a physical store. A computing system is structured to receive captured images of a physical space having a set of products. The physical space is simulated by a three-dimensional (3D) model of the physical space. A corresponding representation of the set of products is positioned relative to the 3D model. The computing system is structured to detect, based on the captured images, product information for products in the physical space and generate, based on the product information, an updated representation of the set of products based on the product information. The updated representation of the set of products corresponds to the products in the physical space as shown in the captured images.

Claims (61)

1 . A method comprising:

receiving, by a computer, captured images of a physical space having a set of objects wherein the physical space is simulated by a three-dimensional (3D) model of the physical space and a corresponding representation of the set of objects positioned relative to the 3D model;

determining, by the computer based on the captured images, information for objects in the physical space, the determining including:

segmenting, based on at least one visual attribute, the captured images into a plurality of portions,

extracting at least a portion of the captured images, and

identifying the objects based on the extracted at least the portion of the captured images,

wherein when an identity of a first object is not determined using a first captured image, the computer identifies the first object using a second captured image that depicts the first object; and

generating, by the computer based on the object information, an updated representation of the set of objects in the 3D model based on the object information, wherein the updated representation of the set of objects corresponds to the objects in the physical space as shown in the captured images.

2 . The method of claim 1 , further comprising updating the 3D model of the physical space based on the captured images.

3 . The method of claim 1 , wherein the 3D model of the physical space further comprises a surface rendering representative of a surface in the physical space as shown in the captured images.

4 . The method of claim 1 , wherein the object information comprises a 3D rendering of an object from the set of objects.

5 . The method of claim 4 , further comprising anchoring, by the computer, the updated representation of the object to the surface, comprising generating an object index comprising an object identifier item and a positioning coordinates item.

6 . The method of claim 5 , further comprising:

recognizing, by the computer, the object in the captured images;

obtaining, by the computer, a 3D rendering of the object from a database; and

generating the object index, comprising populating the object index with the object identifier that corresponds to the 3D rendering of the object from the database,

wherein the 3D model of the physical space contains the 3D rendering of the object from the database as the updated representation of the object in a position corresponding to the positioning coordinates item from the object index.

7 . The method of claim 6 , wherein the 3D rendering of the object has a higher resolution than the captured images.

8 . The method of claim 5 , further comprising:

determining, by the computer, a location of the object;

generating the positioning coordinates item for the object index based on the location; and

rendering, by the computer, the object within the 3D model of the physical space to correspond to the location of the object in the physical space.

9 . The method of claim 8 , further comprising:

receiving, by the computer from a secondary device, positioning data representing the location of the object in the physical space; and

determining, by the computer, a physical location of the object based on the positioning data.

10 . A non-transitory machine-readable storage medium having computer-executable instructions stored thereon that, when executed by one or more processors, cause the one or more processors to perform operations comprising:

receiving, by a computer, captured images of a physical space having a set of objects wherein the physical space is simulated by a three-dimensional (3D) model of the physical space and a corresponding representation of the set of objects positioned relative to the 3D model;

determining, by the computer based on the captured images, object information for objects in the physical space, the determining including:

segmenting, based on at least one visual attribute, the captured images into a plurality of portions,

extracting at least a portion of the captured images, and

identifying the objects based on the extracted at least the portion of the captured images,

wherein when an identity of a first object is not determined using a first captured image, the computer identifies the first object using a second captured image that depicts the first object; and

generating, by the computer based on the object information, an updated representation of the set of objects based on the object information,

wherein the updated representation of the set of objects corresponds to the objects in the physical space as shown in the captured images.

11 . The medium of claim 10 , the operations further comprising updating the 3D model of the physical space based on the captured images.

12 . The medium of claim 10 , wherein the 3D model of the physical space further comprises a surface rendering representative of a surface in the physical space as shown in the captured images.

13 . The medium of claim 10 , wherein the object information comprises a 3D rendering of an object from the set of objects.

14 . The medium of claim 13 , the operations further comprising anchoring, by the computer, the updated representation of the object to the surface at least by generating an object index comprising an object identifier item and a positioning coordinates item.

15 . The medium of claim 14 , the operations further comprising:

recognizing, by the computer, the object in the captured images;

obtaining, by the computer, a 3D rendering of the object from a database; and

generating the object index, comprising populating the object index with the object identifier that corresponds to the 3D rendering of the object from the database,

wherein the 3D model of the physical space contains the 3D rendering of the object from the database as the updated representation of the object in a position corresponding to the positioning coordinates item from the object index.

16 . The medium of claim 15 , wherein the 3D rendering of the object has a higher resolution than the captured images.

17 . The medium of claim 16 , the operations further comprising:

determining, by the computer, a location of the object;

generating the positioning coordinates item for the object index based on the location; and

rendering, by the computer, the object within the 3D model of the physical space to correspond to the location of the object in the physical space.

18 . The medium of claim 17 , the operations further comprising:

receiving, by the computer from a secondary device, positioning data representing the location of the object in the physical space; and

determining, by the computer, a physical location of the object based on the positioning data.

19 . A computer system comprising a memory and at least one processor, the memory having computer-executable instructions stored thereon that cause the at least one processor to perform operations comprising:

receiving, by a computer, captured images of a physical space having a set of objects wherein the physical space is simulated by a three-dimensional (3D) model of the physical space and a corresponding representation of the set of objects positioned relative to the 3D model;

determining, by the computer based on the captured images, object information for objects in the physical space, the determining including:

segmenting, based on at least one visual attribute, the captured images into a plurality of portions,

extracting at least a portion of the captured images, and

identifying the objects based on the extracted at least the portion of the captured images,

wherein when an identity of a first object is not determined using a first captured image, the computer identifies the first object using a second captured image that depicts the first object; and

generating, by the computer based on the object information, an updated representation of the set of objects in the 3D model based on the object information,

wherein the updated representation of the set of objects corresponds to the objects in the physical space as shown in the captured images.

20 . The system of claim 19 , the operations further comprising updating the 3D model of the physical space based on the captured images.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 10, 2021
From: HAAPOJA, JUHO MIKKO; DELGADO, BYRON LEONEL; LEROUX, STEPHAN
To: SHOPIFY INC.
Reel/Frame 056500/0651 →
Continuity (1)
Related Publication 20220383396A1 · Dec 1, 2022
References Cited (35)
US 11272256B2 · Pate et al. · 2022 [cited by applicant]
US 20100253787A1 · Grant · 2010 [cited by examiner]
US 20130293530A1 · Perez et al. · 2013 [cited by applicant]
US 20150278928A1 · Nichols et al. · 2015 [cited by applicant]
US 20170039613A1 · Kaehler et al. · 2017 [cited by applicant]
US 20170293971A1 · Dollens · 2017 [cited by applicant]
US 20170301000A1 · Morgan et al. · 2017 [cited by applicant]
US 20180075523A1 · Odizzio et al. · 2018 [cited by applicant]
US 20180114264A1 · Rafii · 2018 [cited by examiner]
US 20190206130A1 · Ericson et al. · 2019 [cited by applicant]
US 20190244436A1 · Stansell et al. · 2019 [cited by applicant]
US 20190369742A1 · Ghazanfari · 2019 [cited by applicant]
US 20200273092A1 · Wilson et al. · 2020 [cited by applicant]
US 20210004421A1 · Zadorojniy et al. · 2021 [cited by applicant]
US 20210117071A1 · Gharpuray · 2021 [cited by examiner]
US 20220092681A1 · Haapoja et al. · 2022 [cited by applicant]
US 20220114639A1 · Christensen et al. · 2022 [cited by applicant]
US 20220383396A1 · Haapoja et al. · 2022 [cited by applicant]
US 20220383397A1 · Haapoja et al. · 2022 [cited by applicant]
KR 102057227B1 · 2019 [cited by applicant]
WO WO2018203512A1 · 2018 [cited by applicant]
Advisory Action on U.S. Appl. No. 17/110,665 dated Sep. 28, 2022 (3 pages). [cited by applicant]
Advisory Action on U.S. Appl. No. 17/110,665 dated Jun. 20, 2023 (3 pages). [cited by applicant]
Ben Schafer, J., Konstan, J.A. & Riedl, J. 2001, “E-commerce Recommendation Applications”, Data Mining and Knowledge Discovery, vol. 5, No. 1-2, pp. 115-153. (Year: 2001). [cited by applicant]
European Patent Office Examination Report on EP Application No. 21151031 dated May 6, 2023 (7 pages). [cited by applicant]
Extended European Search Report on EP Application No. 21151031 dated Jun. 25, 2021 (8 pages). [cited by applicant]
Final Office Action on U.S. Appl. No. 17/110,665 dated Apr. 7, 2023 (33 pages). [cited by applicant]
Final Office Action on U.S. Appl. No. 17/110,665 dated Jul. 7, 2022 (32 pages). [cited by applicant]
Intellectual Property Office of India Examination Report on Application No. 202124007193 dated Jan. 14, 2022 (8 pages). [cited by applicant]
Non-Final Office Action on U.S. Appl. No. 17/110,665 dated Dec. 22, 2021 (33 pages). [cited by applicant]
Non-Final Office Action on U.S. Appl. No. 17/110,665 dated Nov. 8, 2022 (32 pages). [cited by applicant]
Moes, Anne, The online appeal of the physical shop: How a physical store can benefit from a virtual representation, Jun. 2017, Heliyon, vol. 3, issue 6 (Year: 2017). [cited by applicant]
International Search Report and Written Opinion issued in International Application No. 3,147,930 dated Sep. 16, 2024 (4 Pages). [cited by applicant]
Syberfeldt et al., “Augmented Reality Smart Glasses in the Smart Factory: Product Evaluation Guidelines and Review of Available Products,” in IEEE Access, vol. 5, pp. 9118-9130, 2017 (Year: 2017). [cited by applicant]
CA Office Action for Application No. 3,147,930 mailing date Aug. 28, 2025, 4 pages. [cited by applicant]