IP Library › Granted Patent US 11,743,426
Granted Patent B2
US 11,743,426 · App. 16/992,968 · Granted Aug 29, 2023

Generating an image mask using machine learning

Inventors: Lidiia Bogdanovych (Los Angeles, CA); William Brendel (Los Angeles, CA); Samuel Edward Hare (Los Angeles, CA); Fedir Poliakov (Marina Del Rey, CA); Guohui Wang (Los Angeles, CA); Xuehan Xiong (Los Angeles, CA); Jianchao Yang (Los Angeles, CA); Linjie Yang (Los Angeles, CA)
Assignee: Snap Inc.
H04N7/147G06F18/214G06F18/24765G06N3/04G06N3/08G06T7/11G06T7/194G06V10/82G06V30/19173G06V30/242G06T2207/10016G06T2207/10024G06T2207/20024G06T2207/20081G06T2207/20084G06T2207/20221G06T2207/30201H04N5/44504H04N5/76H04N7/141
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,743,426
App. No.
16/992,968
Filed
Aug 13, 2020
Granted
Aug 29, 2023
Kind
B2
Art Unit
2661
USPC
382/160
Abstract

A machine learning system can generate an image mask (e.g., a pixel mask) comprising pixel assignments for pixels. The pixels can he assigned to classes, including, for example, face, clothes, body skin, or hair. The machine learning system can be implemented. using a convolutional neural network that is configured to execute efficiently on computing devices having limited resources, such as mobile phones. The pixel mask can be used to more accurately display video effects interacting with a user or subject depicted in the image.

Claims (42)

1. A method comprising:

generating, by a processor of a user device, a portrait image of a user, the portrait image comprising a background and a portrait foreground that depicts the user;

generating a modified portrait image by applying a portrait segmentation neural network to the portrait image, the modified portrait image displaying the portrait foreground depicting the user without the background, the portrait segmentation neural network trained on training data comprising a plurality of multi-labeled portrait images of different users, each multi-labeled portrait image depicting a portrait foreground that comprises a plurality of labeled user regions within the portrait foreground that corresponds to one of the different users depicted in the multi-labeled portrait image, the portrait segmentation neural network trained to identify the portrait foreground in the portrait image by identifying each of the plurality of labeled user regions within the portrait image;

publishing the modified portrait image as an ephemeral message on a social network site; and

storing the modified portrait image,

wherein the training data to train the portrait segmentation neural network further comprises a reduced size version of each of the plurality of multi-labeled portrait images, each reduced size version comprising a reduced size version of the plurality of labeled user regions within a reduced size portrait foreground, the reduced size versions being refined by using the reduced size versions of the plurality of multi-labeled portrait images as a guided filter,

wherein applying the portrait segmentation neural network to the portrait image comprises resealing the refined reduced size versions to a larger size to generate image masks.

2. The method of claim 1 , wherein the training data to train the portrait segmentation neural network further comprises an increased size version of each of the plurality of multi-labeled portrait images, each increased size version comprising an increased size version of the plurality of labeled user regions within an increased size portrait foreground.

3. The method of claim 2 , wherein the user device natively generates images at a same size as one of:

the plurality of multi-labeled portrait images,

the reduced size version of each of the plurality of multi-labeled portrait images, or

the increased size version of each of the plurality of multi-labeled portrait images.

4. The method of claim 1 , wherein each of the multi-labeled portrait images is labeled manually by users that label each of the plurality of labeled user regions in each image.

5. The method of claim 4 , wherein the labels correspond to regions of pixels that are assigned to one region of the plurality of labeled user regions.

6. The method of claim 1 , wherein the plurality of labeled user regions comprises one or more of: a hair area of a depicted user, a face area of the depicted user, and a clothes area of the depicted user.

7. The method of claim 1 , wherein the modified portrait image is generated by applying an image effect using the portrait foreground.

8. The method of claim 7 , wherein the image effect modified an appearance of the portrait foreground that depicts the user.

9. The method of claim 1 , further comprising:

generating image masks for the plurality of multi-labeled portrait images of different users using a machine learning scheme, the image masks assigning pixels from the plurality of multi-labeled portrait images of different users to a plurality of segments, each segment from the plurality of segments describing a type of image feature area, the image masks generated by applying the machine learning scheme to the one or more images to generate initial image masks that are subsequently reduced in size to the reduced size to generate reduced size image masks, the reduced size image masks being refined by using the one or more reduced size images as a guided filter, and resealing the refined reduced size image masks to a larger size to generate the image masks.

10. The method of claim 1 , wherein the portrait segmentation neural network comprises a convolutional neural network.

11. The method of claim 10 , wherein the convolutional neural network comprises a single deconvolutional layer.

12. A system comprising:

one or more processors of a machine; and

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

generating a portrait image of a user, the portrait image comprising a background and a portrait foreground that depicts the user;

generating a modified portrait image by applying a portrait segmentation neural network to the portrait image, the modified portrait image displaying the portrait foreground depicting the user without the background, the portrait segmentation neural network trained on training data comprising a plurality of multi-labeled portrait images of different users, each multi-labeled portrait image depicting a portrait foreground that comprises a plurality of labeled user regions within the portrait foreground that corresponds to one of the different users depicted in the multi-labeled portrait image, the portrait segmentation neural network trained to identify the portrait foreground in the portrait image by identifying each of the plurality of labeled user regions within the portrait image;

publishing the modified portrait image as an ephemeral message on a social network site; and

storing the modified portrait image,

wherein the training data to train the portrait segmentation neural network further comprises a reduced size version of each of the plurality of multi-labeled portrait images, each reduced size version comprising a reduced size version of the plurality of labeled user regions within a reduced size portrait foreground, the reduced size versions being refined by using the reduced size versions of the plurality of multi-labeled portrait images as a guided filter,

wherein applying the portrait segmentation neural network to the portrait image comprises rescaling the refined reduced size versions to a larger size to generate image masks.

13. The system of claim 12 , wherein the training data to train the portrait segmentation neural network further comprises an increased size version of each of the plurality of multi-labeled portrait images, each increased size version comprising an increased size version of the plurality of labeled user regions within an increased size portrait foreground.

14. The system of claim 13 , wherein the system natively generates images at a same size as one of: the plurality of multi-labeled portrait images, the reduced size version of each of the plurality of multi-labeled portrait images, or the increased size version of each of the plurality of multi-labeled portrait images.

15. The system of claim 12 , wherein each of the multi-labeled portrait images is labeled manually by users that label each of the plurality of labeled user regions in each image.

16. The system of claim 15 , wherein the labels correspond to regions of pixels that are assigned to one region of the plurality of labeled user regions.

17. The system of claim 12 , wherein the plurality of labeled user regions comprises one or more of: a hair area of a depicted user, a face area of the depicted user, and a clothes area of the depicted user.

18. A non-transitory machine-readable storage device embodying instructions that, when executed by one or more processors of a machine, cause the machine to perform operations comprising:

generating a portrait image of a user, the portrait image comprising a background and a portrait foreground that depicts the user;

generating a modified portrait image by applying a portrait segmentation neural network to the portrait image, the modified portrait image displaying the portrait foreground depicting the user without the background, the portrait segmentation neural network trained on training data comprising a plurality of multi-labeled portrait images of different users, each multi-labeled portrait image depicting a portrait foreground that comprises a plurality of labeled user regions within the portrait foreground that corresponds to one of the different users depicted in the multi-labeled portrait image, the portrait segmentation neural network trained to identify the portrait foreground in the portrait image by identifying each of the plurality of labeled user regions within the portrait image;

publishing the modified portrait image as an ephemeral message on a social network site; and

storing the modified portrait image,

wherein the training data to train the portrait segmentation neural network further comprises a reduced size version of each of the plurality of multi-labeled portrait images, each reduced size version comprising a reduced size version of the plurality of labeled user regions within a reduced size portrait foreground, the reduced size versions being refined by using the reduced size versions of the plurality of multi-labeled portrait images as a guided filter,

wherein applying the portrait segmentation neural network to the portrait image comprises resealing the refined reduced size versions to a larger size to generate image masks.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 11, 2023
From: BOGDANOVYCH, LIDIIA; BRENDEL, WILLIAM; HARE, SAMUEL EDWARD; POLIAKOV, FEDIR; WANG, GUOHUI; XIONG, XUEHAN; YANG, JIANCHAO; YANG, LINJIE
To: SNAP INC.
Reel/Frame 064215/0511 →
Continuity (4)
Continuation 16521956 · Jul 25, 2019
Continuation 15706057 · Sep 15, 2017
Provisional Application 62481415 · Apr 4, 2017
Related Publication 20210027100A1 · Jan 28, 2021
Cited By (2)
US 12,205,355 US 12,238,404