前段时间一直在研究微信小程序中的 TensorFlow.js 开发,并开发了若干示例小程序,详情请查看之前的文章:
然而,随着研究的深入,越来越觉得微信小程序的限制太多,让我开始怀疑在微信小程序中加入 TensorFlow 能否达到产品级需求。就拿微信小程序有 2M 的大小限制来说,就是一大难题, TensorFlow 的js文件就有几百K,而一个精简的图片分类模型 MobileNet ,就有 1M 多,再加上本身的业务逻辑 js 和图片文件,很难将小程序控制在 2M 以内。如果每次从网络加载模型,倒没有大小限制,但这又背离了在微信小程序中使用 TensorFlow.js 的初衷。
这个问题一直困扰了很久,直到前几天放假观看了谷歌开发者大会2019年上海的视频。在一场以 TensorFlow.js 为主题的演讲中,介绍了一款结合了AR的虚拟试妆微信小程序,采用了 TensorFlow.js 框架。
先观看一下节选视频:
TensorFlow.js演讲节选视频 - 微信小程序
因为我找到的是官方提供的回看视频,没有同步放上PPT的内容。爱奇艺上的直播回放视频,将演讲和PPT同步放到一起,看起来更方便,有兴趣的同学可以上爱奇艺,搜索谷歌开发者大会,找出2019Google开发者大会-11日下午的视频(这是一个直播合集)即可。
这是一款来自 ModiFace 团队开发的虚拟试妆微信小程序,因为结合了 AR 技术,可以实时观察上妆效果,这无疑是一个非常有前景的领域。而要将这些技术运用到微信小程序,同样面临着如下挑战:
面对挑战,ModiFace开发团队给出了解决方案:
这款微信小程序已经上线,不过藏的比较深,名字叫做阿玛尼美妆官方精品商城,点击下面的小程序即可进入:
我简单的试用了一下,目前只支持唇膏的实时试妆,效果算不上完美,也不算非常流畅,不过还能接受。
自从进入机器学习领域,所看的教程、书籍,大多数都是以图片分类作为例子。图片分类是机器学习的经典应用,但我们应该认识到,还有许多应用场景,机器学习在许多领域大有可为。在TensorFlow.js的主题演讲中,谷歌的开发工程师给我们提供更多的应用场景:
最后附上TensorFlow.js主题演讲的完整视频,如果你是一名前端开发工程师,可能会对此感兴趣: