Image segmentation and modification of a video stream
First Claim
Patent Images
1. A computer implemented method for manipulating portions of a video stream, comprising:
- determining, by a client device, an approximate location of a mouth within a video stream including a face and comprising a first set of images and a second set of images;
identifying, by the client device, an area of interest comprising a plurality of pixels within the one or more images of the first set of images, the area of interest being a portion of the one or more images encompassing the approximate location of the mouth;
generating, by the client device a binarization matrix by performing operations comprising;
for each pixel of the plurality of pixels within the area of interest;
retrieving a set of color values associated with the pixel;
determining a binary value for the pixel by comparing a first value of a first portion of the set of color values with a second value of a second portion of the set of color values;
storing the binary value for the pixel in the binarization matrix;
modifying each pixel in the plurality of pixels within the area of interest using the binarization matrix to create a binarized area of interest;
identifying, by the client device, a set of teeth visible within the mouth in the binarized area of interest;
identifying, by the client device, a first set of pixels and a second set of pixels within the binarized area of interest and adding at least a portion of the first set of pixels as a set of landmark points within a binary mask of the face, the first set of pixels corresponding to the set of teeth within the mouth; and
when the set of teeth are visible within the second set of images, modifying, by the client device, a color value for the first set of pixels within the second set of images of the video stream.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems, devices, media, and methods are presented for segmenting an image of a video stream with a client device, identifying an area of interest, generating a modified area of interest within one or more image, identifying a first set of pixels and a second set of pixels, and modifying a color value for the first set of pixels.
-
Citations
20 Claims
-
1. A computer implemented method for manipulating portions of a video stream, comprising:
-
determining, by a client device, an approximate location of a mouth within a video stream including a face and comprising a first set of images and a second set of images; identifying, by the client device, an area of interest comprising a plurality of pixels within the one or more images of the first set of images, the area of interest being a portion of the one or more images encompassing the approximate location of the mouth; generating, by the client device a binarization matrix by performing operations comprising; for each pixel of the plurality of pixels within the area of interest; retrieving a set of color values associated with the pixel; determining a binary value for the pixel by comparing a first value of a first portion of the set of color values with a second value of a second portion of the set of color values; storing the binary value for the pixel in the binarization matrix; modifying each pixel in the plurality of pixels within the area of interest using the binarization matrix to create a binarized area of interest; identifying, by the client device, a set of teeth visible within the mouth in the binarized area of interest; identifying, by the client device, a first set of pixels and a second set of pixels within the binarized area of interest and adding at least a portion of the first set of pixels as a set of landmark points within a binary mask of the face, the first set of pixels corresponding to the set of teeth within the mouth; and when the set of teeth are visible within the second set of images, modifying, by the client device, a color value for the first set of pixels within the second set of images of the video stream. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system for manipulating portions of a video stream, comprising:
-
one or more processor; and a non-transitory machine-readable storage medium storing processor executable instructions that, when executed by a processor of a machine, cause the machine to perform operations comprising; determining, by a client device, an approximate location of a mouth within a video stream including a face and comprising a first set of images and a second set of images; identifying, by the client device, an area of interest comprising a plurality of pixels within the one or more images of the first set of images, the area of interest being a portion of the one or more images encompassing the approximate location of the mouth; generating, by the client device a binarization matrix by performing operations comprising; for each pixel of the plurality of pixels within the area of interest; retrieving a set of color values associated with the pixel; determining a binary value for the pixel by comparing a first value of a first portion of the set of color values with a second value of a second portion of the set of color values; storing the associated binary value for the pixel in the binarization matrix; modifying each pixel in the plurality of pixels within the area of interest using the binarization matrix to create a binarized area of interest; identifying, by the client device, a set of teeth visible within the mouth in the binarized area of interest; identifying, by the client device, a first set of pixels and a second set of pixels within the binarized area of interest and adding at least a portion of the first set of pixels as a set of landmark points within a binary mask of the face, the first set of pixels corresponding to the set of teeth within the mouth; and when the set of teeth are visible within the second set of images, modifying, by the client device, a color value for the first set of pixels within the second set of images of the video stream. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A non-transitory machine-readable storage medium storing processor executable instructions that, when executed by a processor of a machine, cause the machine to perform operations comprising:
-
determining, by a client device, an approximate location of a mouth within a video stream including a face and comprising a first set of images and a second set of images; identifying, by the client device, an area of interest comprising a plurality of pixels within the one or more images of the first set of images, the area of interest being a portion of the one or more images encompassing the approximate location of the mouth; generating, by the client device a binarization matrix by performing operations comprising; for each pixel of the plurality of pixels within the area of interest; retrieving a set of color values associated with the pixel; determining a binary value for the pixel by comparing a first value of a first portion of the set of color values with a second value of a second portion of the set of color values; storing the associated binary value for the pixel in the binarization matrix; modifying each pixel in the plurality of pixels within the area of interest using the binarization matrix to create a binarized area of interest; identifying, by the client device, a set of teeth visible within the mouth in the binarized area of interest; identifying, by the client device, a first set of pixels and a second set of pixels within the binarized area of interest and adding at least a portion of the first set of pixels as a set of landmark points within a binary mask of the face, the first set of pixels corresponding to the set of teeth within the mouth; and when the set of teeth are visible within the second set of images, modifying, by the client device, a color value for the first set of pixels within the second set of images of the video stream. - View Dependent Claims (18, 19, 20)
-
Specification