{"id":8345,"date":"2019-03-08T09:16:26","date_gmt":"2019-03-08T17:16:26","guid":{"rendered":"http:\/\/jnack.com\/blog\/?p=8345"},"modified":"2025-03-12T18:59:04","modified_gmt":"2025-03-13T01:59:04","slug":"inside-googles-realtime-face-ml-tech","status":"publish","type":"post","link":"http:\/\/jnack.com\/blog\/2019\/03\/08\/inside-googles-realtime-face-ml-tech\/","title":{"rendered":"Inside Google&#8217;s realtime face ML tech"},"content":{"rendered":"<p>I&#8217;m delighted that my teammates are getting to <a href=\"https:\/\/ai.googleblog.com\/2019\/03\/real-time-ar-self-expression-with.html\">share the details<\/a> of how the awesome face-tracking&nbsp;tech they built works<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/3.bp.blogspot.com\/-Cru7Rd3_BHc\/XIGZ_jmIraI\/AAAAAAAAD3M\/c77DxgBy1igVFdbbD-p74OJWnSaMhxHRACLcBGAs\/s640\/image2.gif\"><\/p>\n<blockquote><p>We employ machine learning (ML) to infer approximate 3D surface geometry to enable visual effects, requiring only a single camera input without the need for a dedicated depth sensor. This approach provides the use of AR effects at realtime speeds, using <a href=\"https:\/\/www.tensorflow.org\/lite\">TensorFlow Lite<\/a> for mobile CPU inference or <a href=\"https:\/\/medium.com\/tensorflow\/tensorflow-lite-now-faster-with-mobile-gpus-developer-preview-e15797e6dee7\">its new mobile GPU functionality<\/a> where available. This technology is the same as what powers <a href=\"https:\/\/youtube-creators.googleblog.com\/2018\/11\/introducing-more-ways-to-share-your.html\">YouTube Stories&#8217; <\/a>new creator effects, and is also available to the broader developer community via the <a href=\"https:\/\/developers.googleblog.com\/2019\/02\/new-ui-tools-and-richer-creative-canvas.html\">latest ARCore SDK<\/a> release and the <a href=\"https:\/\/firebase.google.com\/docs\/ml-kit\/face-detection-concepts#contours\">ML Kit Face Contour Detection API<\/a>.<\/p><\/blockquote>\n<p>We\u2019ve been hard at work ensuring that the tech works well for really demanding applications like realistic makeup try-on:<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" title=\"NewImage.png\" src=\"http:\/\/jnack.com\/blog\/wp-content\/uploads\/2019\/03\/NewImage-6.png\" alt=\"NewImage\" width=\"599\" height=\"356\" border=\"0\"><\/p>\n<p>If you\u2019re a developer, dig into the links above to see how you can use the tech\u2014and everyone else, stay tuned for more fun, useful applications of it across Google products.<\/p>\n<p><center><img decoding=\"async\" src=\"https:\/\/1.bp.blogspot.com\/-nUNmjUY0kwo\/XIGaggwn58I\/AAAAAAAAD4A\/tA3S0Tgu5N4rbjlaNEbr_I5GuHbQwHyRgCEwYBhgL\/s400\/image6.gif\"><\/center><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;m delighted that my teammates are getting to share the details of how the awesome face-tracking&nbsp;tech they built works We employ machine learning (ML) to infer approximate 3D surface geometry to enable visual effects, requiring only a single camera input without the need for a dedicated depth sensor. This approach provides the use of AR [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[13,77],"tags":[],"_links":{"self":[{"href":"http:\/\/jnack.com\/blog\/wp-json\/wp\/v2\/posts\/8345"}],"collection":[{"href":"http:\/\/jnack.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/jnack.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/jnack.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/jnack.com\/blog\/wp-json\/wp\/v2\/comments?post=8345"}],"version-history":[{"count":2,"href":"http:\/\/jnack.com\/blog\/wp-json\/wp\/v2\/posts\/8345\/revisions"}],"predecessor-version":[{"id":8347,"href":"http:\/\/jnack.com\/blog\/wp-json\/wp\/v2\/posts\/8345\/revisions\/8347"}],"wp:attachment":[{"href":"http:\/\/jnack.com\/blog\/wp-json\/wp\/v2\/media?parent=8345"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/jnack.com\/blog\/wp-json\/wp\/v2\/categories?post=8345"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/jnack.com\/blog\/wp-json\/wp\/v2\/tags?post=8345"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}