IP Library Granted Patent US 10,750,121
Granted Patent B2
US 10,750,121 · App. 16/245,422 · Granted Aug 18, 2020

Modifying images from a camera

Inventor: Henrik Valdemar Turbell (Stockholm, SE)
Assignee: Microsoft Technology Licensing, LLC
H04N7/147G06T15/04G06T17/205G06T19/20H04N1/0035H04N1/00352H04N7/141H04N7/15H04N21/4788H04N21/47205
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,750,121
App. No.
16/245,422
Granted
Aug 18, 2020
Kind
B2
Abstract

Techniques provided herein determine a modification to apply at a respective facial position of one or more facial positions on a face in a first image; and apply the determined modification to one or more other images to the respective facial position on the face in the one or more other images to generate a modified video including the modifications at the respective facial position.

Claims (71)

1. A system comprising:

hardware processing circuitry;

a hardware memory, comprising instructions that when executed configure the hardware processing circuitry to perform operations comprising:

determining a modification to apply at a respective facial position of one or more facial positions on a face in a first image; and

applying the determined modification to one or more other images to the respective facial position on the face in the one or more other images to generate a modified video including the modifications at the respective facial position.

2. The system as recited in claim 1 , the operations further comprising:

identifying facial feature points of the face in two-dimensions; and

fitting a three-dimensional triangulated mesh to the identified facial feature points, wherein said applying the determined modification comprises applying the determined modification at a respective position on the three-dimensional triangulated mesh.

3. The system as recited in claim 2 , wherein the applying of the determined modification comprises:

mapping textures of triangles of the three-dimensional triangulated mesh onto a two-dimensional representation of the three-dimensional triangulated mesh; and

for each respective image of the one or more images:

determining a respective position in the two-dimensional representation of the three-dimensional triangulated mesh that corresponds to a respective position on the three-dimensional triangulated mesh; and

applying the modification to the respective position in the two-dimensional representation of the three-dimensional triangulated mesh.

4. The system as recited in claim 1 , the operations further comprising determining the modification in response to a user selection of a drawing tool button.

5. The system as recited in claim 1 , the operations further comprising determining the modification in response to a user selection of a selectable representation of the modification.

6. The system as recited in claim 1 , the operations further comprising determining the respective location for the facial position on the face in each respective image of the one or more images, the determining comprising:

identifying facial feature points of the face in two-dimensions; and

fitting a three-dimensional triangulated mesh to the identified facial feature points, wherein the precomputed graphical object includes data to be applied at a respective position on the three-dimensional triangulated mesh.

7. The system as recited in claim 1 , further comprising a camera, and the operations further comprising capturing the first image and the one or more other images with the camera.

8. The system of claim 1 , the operations further comprising receiving a video including the first image; displaying a user interface configured to define one or more modifications to a face in the video, wherein the determining of the modification to apply at a respective facial position of one or more facial positions on a face in the first image is based on input received from the user interface.

9. The system of claim 1 , wherein applying the modification applies a pre-computed three-dimensional graphic object onto the face.

10. The system of claim 1 , wherein applying the modification applies one or more drawing strokes to one or more facial positions on the face.

11. The system of claim 1 , wherein:

determining a modification comprises:

identifying, in the first image, image data that is indicative of the modification, the image data comprising coordinate data of the modification and effect data that is indicative of a type of modification to make to the image; and

applying the determined modification comprises:

based on a second image of the one or more other images, obtaining first data that is indicative of a three-dimensional representation of the face in the second image;

transforming the first data to second data that comprises of a map of the three-dimensional representation of the face in a two-dimensional image space, wherein the transforming generates the map such that a coordinate on the map in the two-dimensional image space is invariant to changes in a position, expression, or pose of the face between the first frame and the second frame;

converting the coordinate data to the two-dimensional image space;

modifying the map based on the converted coordinate data and the effect data;

transforming the modified map to a modified three-dimensional representation of the face in the second image; and

converting the modified three-dimensional representation of the face in the second image to a frame of the modified video.

12. A method for automatically applying a modification to an image in a video based on a detected face in one or more frames of the video, the method comprising:

identifying, in a first frame of the video, image data that is indicative of the modification to apply, the image data comprising coordinate data of the modification and effect data that is indicative of a type of modification to make to the image;

based on a second frame of the video, obtaining first data that is indicative of a three-dimensional representation of the face in the second frame;

transforming the first data to second data that comprises of a map of the three-dimensional representation of the face in a two-dimensional image space, wherein the transforming generates the map such that a coordinate on the map in the two-dimensional image space is invariant to changes in a position, expression, or pose of the face between the first frame and the second frame;

converting the coordinate data in the first frame to the two-dimensional image space;

modifying the map based on the converted coordinate data and the effect data;

transforming the modified map to a modified three-dimensional representation of the face in the second frame; and

converting the modified three-dimensional representation of the face in the second frame to a modified second frame of the video.

13. The method as recited in claim 12 , further comprising:

identifying facial feature points of the face in two-dimensions; and

fitting a three-dimensional triangulated mesh to the identified facial feature points, wherein said applying the determined modification comprises applying the determined modification at a respective position on the three-dimensional triangulated mesh.

14. The method as recited in claim 13 , wherein the applying of the determined modification comprises:

mapping textures of triangles of the three-dimensional triangulated mesh onto a two-dimensional representation of the three-dimensional triangulated mesh; and

for each respective image of the one or more images:

determining a respective position in the two-dimensional representation of the three-dimensional triangulated mesh that corresponds to a respective position on the three-dimensional triangulated mesh; and

applying the modification to the respective position in the two-dimensional representation of the three-dimensional triangulated mesh.

15. The method as recited in claim 12 , the operations further comprising determining the modification in response to a user selection of a drawing tool button.

16. The method as recited in claim 12 , the operations further comprising determining the modification in response to a user selection of a selectable representation of the modification.

17. The method as recited in claim 12 , the operations further comprising determining the respective location for the facial position on the face in each respective image of the one or more images, the determining comprising:

identifying facial feature points of the face in two-dimensions; and

fitting a three-dimensional triangulated mesh to the identified facial feature points, wherein the precomputed graphical object includes data to be applied at a respective position on the three-dimensional triangulated mesh.

18. The method of claim 12 , wherein applying the modification applies a pre-computed three-dimensional graphic object onto the face.

19. The method of claim 12 , wherein applying the modification applies one or more drawing strokes to one or more facial positions on the face.

20. A non-transitory computer readable storage medium comprising instructions that when executed configure hardware processing circuitry to perform operations comprising:

determining a modification to apply at a respective facial position of one or more facial positions on a face in a first image; and

applying the determined modification to one or more other images to the respective facial position on the face in the one or more other images to generate a modified video including the modifications at the respective facial position.

21. The non-transitory computer readable storage medium as recited in claim 20 , the operations further comprising determining the respective location for the facial position on the face in each respective image of the one or more images, the determining comprising:

identifying facial feature points of the face in two-dimensions; and

fitting a three-dimensional triangulated mesh to the identified facial feature points, wherein the precomputed graphical object includes data to be applied at a respective position on the three-dimensional triangulated mesh.

22. The non-transitory computer readable storage medium of claim 20 , wherein:

determining a modification comprises:

identifying, in the first image, image data that is indicative of the modification, the image data comprising coordinate data of the modification and effect data that is indicative of a type of modification to make to the image; and

applying the determined modification comprises:

based on a second image of the one or more other images, obtaining first data that is indicative of a three-dimensional representation of the face in the second image;

transforming the first data to second data that comprises of a map of the three-dimensional representation of the face in a two-dimensional image space, wherein the transforming generates the map such that a coordinate on the map in the two-dimensional image space is invariant to changes in a position, expression, or pose of the face between the first frame and the second frame;

converting the coordinate data to the two-dimensional image space;

modifying the map based on the converted coordinate data and the effect data;

transforming the modified map to a modified three-dimensional representation of the face in the second image; and

converting the modified three-dimensional representation of the face in the second image to a frame of the modified video.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 14, 2019
From: TURBELL, HENRIK VALDEMAR
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 047986/0912 →
Priority Claims (1)
GB 1419438.5 · Oct 31, 2014 · national
Continuity (4)
Continuation 15958800 · Apr 20, 2018
Continuation 15357378 · Nov 21, 2016
Continuation 14596076 · Jan 13, 2015
Related Publication 20190149767A1 · May 16, 2019