IP Library Granted Patent US 11,048,977
Granted Patent B1
US 11,048,977 · App. 16/580,294 · Granted Jun 29, 2021

Method and device for pixel-level object segmentation

Inventors: Daniel Ulbricht (Sunnyvale, CA); Mohammed Haris Baig (San Jose, CA); Amit Kumar K C (Sunnyvale, CA)
Assignee: APPLE INC.
G06K9/6259G06K9/6232G06T7/10G06T2207/20081
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,048,977
App. No.
16/580,294
Granted
Jun 29, 2021
Kind
B1
Abstract

In one implementation, a method of training a type-agnostic object segmentation system is performed in a type-agnostic object segmentation system including one or more processors, and a non-transitory memory. The method includes obtaining a data set; generating a respective embedding vector for each of a plurality of pixels of the image frame; mapping a plurality of embedding vector representations into a dataspace defined by a dimensionality of the plurality of embedding vector representations; comparing the at least one object instance representation candidate against the respective segmentation mask; and adjusting the type-agnostic object segmentation system in order to satisfy an error threshold across the plurality of image data frames according to a determination that the at least one object instance representation candidate and the respective segmentation mask differ by a threshold value.

Claims (58)

1. A method comprising:

in a type-agnostic object segmentation system including one or more processors and non-transitory memory:

obtaining a data set, wherein the data set includes a plurality of image data frames, wherein each of the plurality of image data frames is associated with a respective segmentation mask, the respective segmentation mask demarking at least one object instance representation within a corresponding one of the plurality of image data frames;

generating a respective embedding vector for each of a plurality of pixels of the plurality of image data frames, wherein the plurality of pixels of the plurality of image data frames includes at least a portion of an image data frame;

mapping a plurality of embedding vector representations into a dataspace, wherein the dataspace is defined by a dimensionality of the plurality of embedding vector representations;

disambiguating the plurality of embedding vector representations within the dataspace in order to detect at least one object instance representation candidate in the image data frame;

comparing the at least one object instance representation candidate against the respective segmentation mask; and

adjusting the type-agnostic object segmentation system in order to satisfy an error threshold across the plurality of image data frames according to a determination that the at least one object instance representation candidate and the respective segmentation mask differ by a threshold value.

2. The method of claim 1 further comprising:

generating a label for each of the plurality of pixels in the image data frame.

3. The method of claim 1 further comprising:

generating one or more features from each of the plurality of the pixels in the image data frame.

4. The method of claim 1 further comprising:

identifying one or more features associated with one or more pixels from the each of the plurality of pixels.

5. The method of claim 1 , wherein the object instance representation candidate satisfies a recognition threshold value.

6. The method of claim 1 , wherein disambiguating the plurality of embedding vector representations further includes satisfying a disambiguation threshold value, and wherein the disambiguation threshold value corresponds to a distance between the plurality of embedding vector representations within the dataspace.

7. The method of claim 1 , wherein adjusting the type-agnostic object segmentation system includes adjusting filter weights in order to satisfy an error threshold across the plurality of image data frames.

8. The method of claim 1 , wherein adjusting the type-agnostic segmentation system if the threshold value is not satisfied further comprises:

generating a second respective embedding vector for each of a second set of a plurality of pixels of a subsequent image data frame;

mapping a second plurality of embedding vector representations into the dataspace;

disambiguating the second plurality of embedding vector representations within the dataspace in order to detect a second object instance representation candidate in the second image data frame; and

comparing the second object instance representation candidate against the respective segmentation mask.

9. The method of claim 1 , wherein adjusting the type-agnostic segmentation system if the error threshold is not satisfied further comprises:

generating a third respective embedding vector for each of a third set of a plurality of pixels of a subsequent image data frame;

mapping a third plurality embedding vector representations into the dataspace;

disambiguating the third plurality of embedding vector representations within the dataspace in order to detect a third object instance representation candidate in the third image data frame; and

comparing the third object instance representation candidate against the respective segmentation mask.

10. A type-agnostic object segmentation system comprising:

one or more processors;

a non-transitory memory; and

one or more programs stored in the non-transitory memory, which, when executed by the one or more processors, cause the type-agnostic object segmentation system to:

obtain a data set, wherein the data set includes a plurality of image data frames, wherein each of the plurality of image data frames is associated with a respective segmentation mask, the respective segmentation mask demarking at least one object instance representation within a corresponding one of the plurality of image data frames;

generate a respective embedding vector for each of a plurality of pixels of the plurality of image data frames, wherein the plurality of pixels of the plurality of image data frames includes at least a portion of an image data frame;

map a plurality of embedding vector representations into a dataspace, wherein the dataspace is defined by a dimensionality of the plurality of embedding vector representations;

disambiguate the plurality of embedding vector representations within the dataspace in order to detect at least one object instance representation candidate in the image data frame;

compare the at least one object instance representation candidate against the respective segmentation mask; and

adjust the type-agnostic object segmentation system in order to satisfy an error threshold across the plurality of image data frames according to a determination that the at least one object instance representation candidate and the respective segmentation mask differ by a threshold value.

11. The type-agnostic object segmentation system of claim 10 , wherein the object instance representation candidate satisfies a recognition threshold value.

12. The type-agnostic object segmentation system of claim 10 , wherein disambiguating the plurality of embedding vector representations further includes satisfying a disambiguation threshold value, and wherein the disambiguation threshold value corresponds to a distance between the plurality of embedding vector representations within the dataspace.

13. The type-agnostic object segmentation system of claim 10 , wherein adjusting the type-agnostic object segmentation system includes adjusting filter weights in order to satisfy an error threshold across the plurality of image data frames.

14. The type-agnostic object segmentation system of claim 10 , wherein the one or more programs further cause the type-agnostic object segmentation system to:

generate a label for each of the plurality of pixels in the image data frame.

15. The type-agnostic object segmentation system of claim 10 , wherein the one or more programs further cause the type-agnostic object segmentation system to:

generate one or more features from each of the plurality of the pixels in the image data frame.

16. A non-transitory memory storing one or more programs, which, when executed by one or more processors of a type-agnostic object segmentation system, cause the type-agnostic object segmentation system to:

obtain a data set, wherein the data set includes a plurality of image data frames, wherein each of the plurality of image data frames is associated with a respective segmentation mask, the respective segmentation mask demarking at least one object instance representation within a corresponding one of the plurality of image data frames;

generate a respective embedding vector for each of a plurality of pixels of the plurality of image data frames, wherein the plurality of pixels of the plurality of image data frames includes at least a portion of an image data frame;

map a plurality of embedding vector representations into a dataspace, wherein the dataspace is defined by a dimensionality of the plurality of embedding vector representations;

disambiguate the plurality of embedding vector representations within the dataspace in order to detect at least one object instance representation candidate in the image data frame;

compare the at least one object instance representation candidate against the respective segmentation mask; and

adjust the type-agnostic object segmentation system in order to satisfy an error threshold across the plurality of image data frames according to a determination that the at least one object instance representation candidate and the respective segmentation mask differ by a threshold value.

17. The non-transitory memory of claim 16 , wherein the object instance representation candidate satisfies a recognition threshold value.

18. The non-transitory memory of claim 16 , wherein disambiguating the plurality of embedding vector representations further includes satisfying a disambiguation threshold value, and wherein the disambiguation threshold value corresponds to a distance between the plurality of embedding vector representations within the dataspace.

19. The non-transitory memory of claim 16 , wherein adjusting the type-agnostic object segmentation system includes adjusting filter weights in order to satisfy an error threshold across the plurality of image data frames.

20. The non-transitory memory of claim 16 , wherein the one or more programs further cause the type-agnostic object segmentation system to:

generate a label for each of the plurality of pixels in the image data frame.

21. The non-transitory memory of claim 16 , wherein the one or more programs further cause the type-agnostic object segmentation system to:

generate one or more features from each of the plurality of the pixels in the image data frame.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 15, 2019
From: ULBRICHT, DANIEL; BAIG, MOHAMMED HARIS; K C, AMIT KUMAR
To: APPLE INC.
Reel/Frame 051015/0835 →
Continuity (1)
Provisional Application 62737602 · Sep 27, 2018
Cited By (3)
US 12,217,240 US 12,437,358 US 12,626,366