google-ai-edge / mediapipe

Cross-platform, customizable ML solutions for live and streaming media.
https://ai.google.dev/edge/mediapipe
Apache License 2.0
27.51k stars 5.15k forks source link

How to draw mouth and eyebrows from 468 points of facemesh #963

Closed billy800413 closed 4 years ago

billy800413 commented 4 years ago

How to get indexes of mouth and eyebrows? Now, I can just try it point by point. Is there any document stating which part of the face these 468 points belong to?

MyGithubNotYours commented 4 years ago

Read these 2 links:

Here are the indices: https://github.com/ManuelTS/augmentedFaceMeshIndices

I got that link from these pages: https://creativetech.blog/home/face-landmarks-for-arcore-augmented-faces and https://medium.com/@KristiSimakova/try-on-makeup-with-augmented-faces-d2ade1906f90

quickgrid commented 4 years ago

Here is short video of the indices in blender, https://github.com/quickgrid/CodeLab/blob/master/computer_vision/mediapipe_3d_face_mesh_indices.mkv

Face Mesh Model: https://github.com/google-ar/arcore-android-sdk/blob/master/assets/canonical_face_mesh.fbx

fanzhanggoogle commented 4 years ago

Hi, @MyGithubNotYours thank you for pointing to the right direction. MediaPipe face mesh shares the same topology as ARcore Augmented Face.

wwdok commented 2 years ago

@quickgrid @MyGithubNotYours @fanzhanggoogle I download canonical_face_mesh.fbx, and open it with windows 3D viewer, but I can not see the index, is this normal: image

quickgrid commented 2 years ago

@wwdok You can use blender to get the indices.

To get indices of the object enable Blender Addon MesaureIt, go right sidebar(N key) on 3d viewport and select Vertices button on Mesh Debug option.

Alternate way in Blender 2.8+ is to tick Developer Extras option on Preferences > Developer Extras Option and tick Developer > Indices on Overlays button on 3d viewport. Must be in Edit Mode to have option visible in overlays.

wwdok commented 2 years ago

@quickgrid Thank you for your tutorial ! I download the latest version blender, I ticked Developer Extras and change to Edit Mode, now I can see Developer > Indices on Viewport Overlays: image But once I imported canonical_face_mesh.fbx, some icons disappear suddenly, now I can not see the Developer > Indices on Viewport Overlays : image

wwdok commented 2 years ago

@quickgrid I figure it out, I need to expand the 'asset' item, select the 'facemesh' item, then select the 'Edit Mode', finally click mouse left to select all the vertex, I get following display: image

adityaanantharaman commented 2 years ago

// Lips. 61, 146, 146, 91, 91, 181, 181, 84, 84, 17, 17, 314, 314, 405, 405, 321, 321, 375, 375, 291, 61, 185, 185, 40, 40, 39, 39, 37, 37, 0, 0, 267, 267, 269, 269, 270, 270, 409, 409, 291, 78, 95, 95, 88, 88, 178, 178, 87, 87, 14, 14, 317, 317, 402, 402, 318, 318, 324, 324, 308, 78, 191, 191, 80, 80, 81, 81, 82, 82, 13, 13, 312, 312, 311, 311, 310, 310, 415, 415, 308, // Left eye. 33, 7, 7, 163, 163, 144, 144, 145, 145, 153, 153, 154, 154, 155, 155, 133, 33, 246, 246, 161, 161, 160, 160, 159, 159, 158, 158, 157, 157, 173, 173, 133, // Left eyebrow. 46, 53, 53, 52, 52, 65, 65, 55, 70, 63, 63, 105, 105, 66, 66, 107, // Left iris. 474, 475, 475, 476, 476, 477, 477, 474, // Right eye. 263, 249, 249, 390, 390, 373, 373, 374, 374, 380, 380, 381, 381, 382, 382, 362, 263, 466, 466, 388, 388, 387, 387, 386, 386, 385, 385, 384, 384, 398, 398, 362, // Right eyebrow. 276, 283, 283, 282, 282, 295, 295, 285, 300, 293, 293, 334, 334, 296, 296, 336, // Right iris. 469, 470, 470, 471, 471, 472, 472, 469, // Face oval. 10, 338, 338, 297, 297, 332, 332, 284, 284, 251, 251, 389, 389, 356, 356, 454, 454, 323, 323, 361, 361, 288, 288, 397, 397, 365, 365, 379, 379, 378, 378, 400, 400, 377, 377, 152, 152, 148, 148, 176, 176, 149, 149, 150, 150, 136, 136, 172, 172, 58, 58, 132, 132, 93, 93, 234, 234, 127, 127, 162, 162, 21, 21, 54, 54, 103, 103, 67, 67, 109, 109, 10};

Gauravi1 commented 6 months ago

can anyone get me code for eyebrow segemation through mediapipe in python