IP Library Granted Patent US 9,953,223
Granted Patent B2
US 9,953,223 · App. 15/425,331 · Granted Apr 24, 2018

Methods and systems for assigning pixels distance-cost values using a flood fill technique

Inventors: Dennis Lin (Chicago, IL); Quang Nguyen (Ho Chi Minh, VN); Gia Dang (Ho Chi Minh, VN); Yi Zhang (Chicago, IL); Simion Venshtain (Chicago, IL); Cong Nguyen (Ho Chi Minh, VN)
Assignee: Personify, Inc.
G06K9/00718G06K9/00758G06K9/4604G06K9/4652G06K9/52G06T7/0002G06T7/194G06T7/50G06T7/73G06T2207/10016G06T2207/10024G06T2207/10028G06T2207/20156G06T2207/30196
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 9,953,223
App. No.
15/425,331
Granted
Apr 24, 2018
Kind
B2
Abstract

Disclosed herein are methods and systems for assigning pixels distance-cost values using a flood fill technique. One embodiment takes the form of a process that includes obtaining video data depicting a head of a user, obtaining depth data associated with the video data, and selecting seed pixels for a flood fill at least in part by using the depth information. The process also includes performing the flood fill from the selected seed pixels. The flood fill assigns respective distance-cost values to pixels of the video data based on position-space cost values and color-space cost values. In some embodiments, the process also includes classifying pixels of the video data as foreground based at least in part on the assigned distance-cost values. In some other embodiments, the process also includes assigning pixels of the video data foreground-likelihood values based at least in part on the assigned distance-cost values.

Claims (49)

1. A method comprising:

obtaining video data depicting a head of a user;

obtaining depth data associated with the video data;

selecting seed pixels for a hair-identification flood fill for identifying pixels depicting hair of the head of the user, the seed pixels selected at least in part by using the obtained depth data;

performing the hair-identification flood fill from the selected seed pixels, the hair-identification flood fill assigning respective distance-cost values to pixels of the video data based on respective position-space-cost values and respective color-space-cost values, wherein performing the hair-identification flood fill comprises:

identifying a plurality of neighbor pixels of a current pixel;

determining respective step-cost values from the current pixel to each pixel in the plurality of neighbor pixels; and

assigning each pixel in the plurality of neighbor pixels a respective distance-cost value based on a distance-cost value of the current pixel and the respective step-cost values; and

identifying, using a foreground identification process, a persona of the user from the video data, wherein the respective distance-cost values assigned to pixels by the hair-identification flood fill is one of a plurality of inputs of the foreground identification process.

2. The method of claim 1 , wherein selecting seed pixels for the hair-identification flood fill further comprises selecting seed pixels for the hair-identification flood fill at least in part by using the video data.

3. The method of claim 1 , further comprising:

obtaining a head contour that estimates an outline of the depicted head of the user, the head contour being based at least in part on the depth data associated with the video data,

wherein the selected seed pixels are on an upper contour, wherein the upper contour is an upper portion of the head contour.

4. The method of claim 3 , wherein the selected seed pixels are equally distributed along the upper contour.

5. The method of claim 3 , wherein the selected seed pixels are of colors that are found in a user-hair-color model.

6. The method of claim 1 , wherein selecting seed pixels for the hair-identification flood fill comprises:

identifying pixels having noisy depth values over a series of frames; and

selecting the identified noisy depth-pixels as seed pixels for the hair-identification flood fill.

7. The method of claim 6 , wherein the selected seed pixels are located within an extended head box.

8. The method of claim 6 , wherein the selected seed pixels have intermittent depth values that are within a threshold tolerance of a depth value corresponding to the head of the user.

9. The method of claim 6 , wherein the selected seed pixels are of colors that are found in a user-hair-color model.

10. The method of claim 1 , wherein a first set of the selected seed pixels are on an upper contour and a second set of the selected seed pixels have noisy depth values over a series of frames, wherein the upper contour is an upper portion of a head contour that estimates an outline of the depicted head of the user, the method further comprising:

initializing the distance-cost values of the seed pixels in the first set to be zero; and

initializing the distance-cost values of the seed pixels in the second set to be non-zero.

11. The method of claim 1 , wherein performing the hair-identification flood fill comprises:

determining a minimum distance-cost value from at least one of the selected seed pixels to a current pixel; and

assigning the current pixel a distance-cost value that is the determined minimum distance-cost value.

12. The method of claim 11 , wherein determining a minimum distance-cost value comprises:

comparing a current distance-cost value corresponding with a current flood-fill path to a prior distance-cost value corresponding with a prior flood-fill path.

13. The method of claim 12 , wherein the current flood-fill path and the prior flood-fill path originate from a common seed pixel.

14. The method of claim 12 , wherein the current flood-fill path and the prior flood-fill path originate from different seed pixels.

15. The method of claim 1 , wherein performing the hair-identification flood fill comprises performing the hair-identification flood fill along a plurality of flood-fill paths, the method further comprising:

terminating the hair-identification flood fill along a current flood-fill path in response to at least one termination criteria, the termination criteria comprising:

a current pixel not being a user-hair color according to a user-hair-color model;

the current pixel being a background color according to a background-color model;

a distance-cost value to the current pixel being greater than a distance-cost threshold; and

a step-cost value to the current pixel being greater than a step-cost threshold.

16. A system comprising:

a communication interface;

a processor; and

data storage containing instructions executable by the processor for causing the system to carry out a set of functions, the set of functions including:

obtaining video data depicting a head of a user;

obtaining depth data associated with the video data;

selecting seed pixels for a hair-identification flood fill for identifying pixels depicting hair of the head of the user, the seed pixels selected at least in part by using the depth data;

performing the hair-identification flood fill from the selected seed pixels, the hair-identification flood fill assigning respective distance-cost values to pixels of the video data based on respective position-space-cost values and respective color-space-cost values, wherein performing the hair-identification flood fill comprises:

identifying a plurality of neighbor pixels of a current pixel;

determining respective step-cost values from the current pixel to each pixel in the plurality of neighbor pixels; and

assigning each pixel in the plurality of neighbor pixels a respective distance-cost value based on a distance-cost value of the current pixel and the respective step-cost values; and

identifying, using a foreground identification process, a persona of the user from the video data, wherein the respective distance-cost values assigned to pixels by the hair-identification flood fill is one of a plurality of inputs of the foreground identification process.

Assignments (4)
SECURITY AGREEMENT Recorded Jun 1, 2026
From: PERSONIFY, INC.; MEMBERCLICKS, LLC
To: GOLUB CAPITAL MARKETS LLC, AS COLLATERAL AGENT
Reel/Frame 075819/0687 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2021
From: HONGFUJIN PRECISION INDUSTRY WUHAN
To: PERSONIFY, INC.
Reel/Frame 057467/0738 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 26, 2019
From: PERSONIFY, INC.
To: HONGFUJIN PRECISION INDUSTRY (WUHAN) CO. LTD.
Reel/Frame 051367/0920 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2017
From: LIN, DENNIS; NGUYEN, QUANG; DANG, GIA; VENSHTAIN, SIMION; ZHANG, YI; NGUYEN, CONG
To: PERSONIFY, INC.
Reel/Frame 042704/0001 →
Continuity (2)
Continuation 14716495 · May 19, 2015
Related Publication 20170147882A1 · May 25, 2017