US 12,271,994 B2
Virtual interaction with three-dimensional indoor room imagery
Brian Totty, Mountain View, CA (US); Yacine Alami, Mountain View, CA (US); Michael Otrada, Mountain View, CA (US); Qing Guo, Mountain View, CA (US); Hai Shang, Mountain View, CA (US); Aaron Shea, Mountain View, CA (US); Philip Guindi, Mountain View, CA (US); Paul Gauthier, Mountain View, CA (US); Jianfeng Yin, Mountain View, CA (US); Kevin Wong, Mountain View, CA (US); and Angus Dorbie, Mountain View, CA (US)
Assigned to GEOMAGICAL LABS, INC., Mountain View, CA (US)
Filed by GEOMAGICAL LABS, INC., Mountain View, CA (US)
Filed on Jun. 18, 2022, as Appl. No. 17/843,984.
Application 17/843,984 is a continuation of application No. 16/823,207, filed on Mar. 18, 2020, granted, now 11,367,250.
Claims priority of provisional application 62/820,139, filed on Mar. 18, 2019.
Prior Publication US 2022/0319106 A1, Oct. 6, 2022
This patent is subject to a terminal disclaimer.
Int. Cl. G06T 7/73 (2017.01); G06T 15/20 (2011.01); G06T 19/00 (2011.01); G06T 19/20 (2011.01)
CPC G06T 15/205 (2013.01) [G06T 7/74 (2017.01); G06T 19/006 (2013.01); G06T 19/20 (2013.01); G06T 2207/10028 (2013.01); G06T 2215/16 (2013.01)] 28 Claims
OG exemplary drawing
 
1. A method executed by one or more computing devices for interactively decorating a scene, the method comprising:
generating a three-dimensional virtual model representing three-dimensional geometries of the scene and a plurality of scene features based at least in part on one or more room imagery sets of the scene;
generating a visual scene representation based at least in part on the room imagery set, the visual scene representation being aligned with the three-dimensional geometries of the scene represented in the virtual model;
receiving a selection of a virtual object, the virtual object having an associated virtual object model and at least one virtual object semantic label corresponding to the virtual object;
storing one or more positioning rules governing object positioning within the three-dimensional virtual model, the positioning rules being configured to govern the placement of a virtual object position for the virtual object based at least in part on the at least one virtual object semantic label;
determining the virtual object position for the virtual object within the three-dimensional virtual model based at least in part on the at least one virtual object semantic label, the one or more positioning rules, and at least one placed virtual object semantic label corresponding to the virtual object in the virtual object position; and
rendering an updated visual scene representation based at least in part on the virtual object, the virtual object position, the three-dimensional virtual model, and the associated virtual object model.