IP Library Granted Patent US 10,909,768
Granted Patent B2
US 10,909,768 · App. 16/597,374 · Granted Feb 2, 2021

Virtual item simulation using detected surfaces

Inventors: Xiaoyi Huang (Los Angeles, CA); John DeCorato (Mountain View, CA); Yi Wu (Palo Alto, CA)
Assignee: Houzz, Inc.
G06T19/006G06T7/12G06T7/13G06T7/70G06T15/20G06T15/503G06T19/20G06T15/04G06T17/00G06T2207/10016G06T2207/20081G06T2207/20084G06T2207/30168G06T2219/2004G06T2219/2016
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 10,909,768
App. No.
16/597,374
Granted
Feb 2, 2021
Kind
B2
Abstract

Disclosed are various embodiments for simulating one or more virtual objects (e.g., renders) based on characteristics of detected surfaces. Mask data may be generated which can be used to delineate borders depicted in a given image. The mask data can be refined based on a quantity of depicted image features (e.g., edges). The mask data can be used to generate one or more planes on which virtual items can be applied and rendered.

Claims (34)

1. A method comprising:

generating an image using an image sensor of a client device;

storing, on the client device, an image mask generated using a neural network, the image mask assigning a portion of pixels in the image to a surface category the image mask comprising an interface between the portion of pixels in the surface category and other pixels of the image that are not in the surface category;

rendering a three-dimensional virtual item on a finite plane on the client device, the finite plane having a side terminating at the interface of the image mask; and

displaying a rendered three-dimensional virtual item overlaid on the finite plane on the image such that a terminating side of the three-dimensional virtual item coincides with the side of the finite plane.

2. The method of claim 1 , wherein the image mask is generated by the neural network by assigning pixels of the image into a plurality of categories including the surface category and another category that comprises the other pixels.

3. The method of claim 2 , wherein the image mask is a refined image mask generated from an initial image mask, the refined image mask generated by refining the interface between the pixels in the surface category and the pixels in the another category.

4. The method of claim 3 , wherein the interface is refined by replacing pixel values near the interface with values from nearby pixels.

5. The method of claim 4 , wherein a Gaussian mixture scheme is used to replace pixel values with values from the nearby pixels.

6. The method of claim 5 , wherein the refined image mask is further refined based on a determination that the portion of the pixels assigned to the surface category satisfy a uniformness threshold.

7. The method of claim 6 , wherein the uniformness threshold is evaluated using an image uniformness analysis scheme.

8. The method of claim 5 , wherein the refined image mask is not further refined using edge detection based on a determination that the portion of pixels assigned to the surface category do not satisfy a uniformness threshold.

9. The method of claim 1 , wherein the image mask is generated on the client device.

10. The method of claim 1 , wherein the three-dimensional virtual item comprises a surface texture applied to the finite plane.

11. The method of claim 1 , wherein the three-dimensional virtual item is a 3D model of a physical item placed on or proximate to the finite plane.

12. The method of claim 11 , wherein the other pixels of the image that are not in the surface category depict a wall, and the three-dimensional virtual item is aligned with a bottom-side of the wall.

13. The method of claim 1 , wherein the image is part of a video sequence generated by the image sensor of the client device, and wherein an additional image mask is generated by the neural network for each image of the video sequence.

14. A system comprising:

one or more processors; and

a memory storing instructions that, when executed by the one or more processors, cause the system to perform operations comprising:

generating an image using an image sensor;

storing an image mask generated using a neural network, the image mask assigning a portion of pixels in the image to a surface category the image mask comprising an interface between the portion of pixels in the surface category and other pixels of the image that are not in the surface category;

rendering a three-dimensional virtual item on a finite plane, the finite plane having a side terminating at the interface of the image mask; and

displaying a rendered three-dimensional virtual item overlaid on the finite plane on the image such that a terminating side of the three-dimensional virtual item coincides with the side of the finite plane.

15. The method of claim 14 , wherein the image mask is generated by the neural network by assigning pixels of the image into a plurality of categories including the surface category and another category that comprises the other pixels.

16. The system of claim 15 , wherein the image mask is a refined image mask generated from an initial image mask, the refined image mask generated by refining the interface between the pixels in the surface category and the pixels in the another category.

17. The system of claim 16 , wherein the interface is refined by replacing pixel values near the interface with values from nearby pixels.

18. The system of claim 17 , wherein a Gaussian mixture scheme is used to replace pixel values with values from the nearby pixels.

19. The system of claim 18 , wherein the refined image mask is further refined based on a determination that the portion of the pixels assigned to the surface category satisfy a uniformness threshold.

20. A machine-readable storage device embodying instructions that, when executed by a device, cause the device to perform operations comprising:

generating an image using an image sensor;

storing an image mask generated using a neural network, the image mask assigning a portion of pixels in the image to a surface category the image mask comprising an interface between the portion of pixels in the surface category and other pixels of the image that are not in the surface category;

rendering a three-dimensional virtual item on a finite plane, the finite plane having a side terminating at the interface of the image mask; and

displaying a rendered three-dimensional virtual item overlaid on the finite plane on the image such that a terminating side of the three-dimensional virtual item coincides with the side of the finite plane.

Assignments (3)
RELEASE OF SECURITY INTEREST Recorded Feb 18, 2022
From: HERCULES CAPITAL, INC., AS COLLATERAL AND ADMINISTRATIVE AGENT
To: HOUZZ INC.
Reel/Frame 059191/0501 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 27, 2019
From: HUANG, XIAOYI; DECORATO, JOHN; WU, YI
To: HOUZZ, INC.
Reel/Frame 051376/0709 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Nov 5, 2019
From: HOUZZ INC.
To: HERCULES CAPITAL, INC., AS COLLATERAL AND ADMINISTRATIVE AGENT
Reel/Frame 050928/0333 →
Continuity (2)
Continuation 16117982 · Aug 30, 2018
Related Publication 20200111263A1 · Apr 9, 2020