前段时间,微信公开课发表了一篇题为《重磅 | 小程序也可以实现AR效果了》的文章,短时间内就获得了10万+的阅读,受到用户和开发人员的广泛关注,足见对于小程序和机器学习的结合大家都充满期待。
欧莱雅集团旗下阿玛尼美妆的官方微信小程序——“阿玛尼美妆官方精品商城”成为支持动态AR试妆的小程序,标志着全新的线上零售体验。这背后的智慧力量,来自于机器学习。“动态”两个字是技术突破的关键。相比于之前的上传照片再下载的方式,动态试妆让试色更加真实简便,手机成为用户专属的“试妆镜”,所见即所得,即试即买。ModiFace 是背后的试妆技术提供方,也是一家AR和AI解决方案提供商,隶属于欧莱雅集团,通过应用 TensorFlow.js 的 PoseNet 模型,开发人员得以优化 AR 渲染性能,提升用户体验。
机器学习与传统文化结合
在商业应用之外,小程序与机器学习的能力也让传统文化焕发新生。云南大学软件学院的刘金卓老师指导学生们制作的“民风 民族风格迁移”小程序,通过图片处理,使其具有强烈的民族艺术风格,让用户体验到民族艺术的独特魅力。通过在40余万张各类民族艺术图片上使用 TensorFlow 进行训练,利用风格迁移模型能很好提取出各民族艺术的特征,同时处理图片耗时仅为0.01至0.06秒,为用户带来了效果良好、响应迅速的民族风格迁移体验。除了民族风格图片带来的视觉冲击外,小程序中等待页面和介绍页面的引导能使用户接触到更多民族艺术与文化的相关信息,有利于促进优秀民族艺术的传播和发展。
机器学习赋能教育行业
机器学习与小程序的能力同样也可以赋能教育。扇贝,作为一个拥有超过八千万用户的移动英语学习平台,一直在探索如何利用数据来提供更精准的个性化教育,更快速、科学地评估用户词汇水平,不仅可以有效提高用户的学习效率,也可以为每位用户制定更个性化的学习内容。
扇贝在小程序端的《英语单词量测试》通过测试 35 个单词实现对用户在过万词表上每个单词掌握程度的准确评估,从而为用户定制适合的单词本。这项能力借助 TensorFlow 良好的工具链生态进行模型调优,压缩并通过 TensorFlowServing 进行部署。
更多技术实现细节,可以参考扇贝: 应用TensorFlow实现深度知识追踪一文。
机器学习在微信小程序中的应用多姿多彩,无论是个人还是企业开发者,都可以在各自领域结合机器学习的能力,开发出创新的小程序,为用户提供服务。
为了能让小程序内的机器学习变得更为简单,现在开发者可借助 TensorFlow.js 在小程序中的插件来实现了。TensorFlow.js 插件是什么?微信小程序的原生环境为 JavaScript,并具备简洁的移动设备传感器 API (例如摄像头、麦克风、加速度计、陀螺仪、GPS等)。但是,平台内置的机器学习功能有限。如果开发人员想要在他们的应用程序中嵌入机器学习技术,需要在服务器端或基于云的机器学习堆栈上开发,这使得大量小程序开发人员构建和使用机器学习技术的工作量加大。
有鉴于此,TensorFlow.js 提供了一个微信小程序的插件,帮助小程序开发人员将机器学习功能带入他们的应用程序。利用小程序提供的 WebGL API 可以使用手机内置的 GPU 加速器,比 CPU 的速度快10到100倍,开发者无需担忧背后的构建与开发。微信小程序也因此具备了高效的机器学习模型执行能力,与在移动浏览器中运行的 JavaScript 应用程序一致。
TensorFlow的模型库
TensorFlow.js 的模型库包含以下几类模型:
类别 | 模型名 | 示例 | 介绍 |
图 像 |
Mobile Net |
source |
针对ImageNet database标示的图像识别 |
Pose Net |
live |
实时人体姿态识别,具体介绍 | |
source |
|||
CocoSSD | source | 物体识别模型,可以同时识别物体类别和在图像中位置。基于 TensorFlow object detection API | |
BodyPix |
live |
使用TensorFlow.js在浏览器中进行实时人体和身体部位分割 | |
source |
|||
语 音 |
Speech Commands |
live |
识别语音短命令,基于 speech commands dataset |
source |
|||
文 字 |
UniversalSentenceEncoder | source | 将文本编码为512维嵌入,用作自然语言处理任务的输入,例如情感分类和文本相似性 |
TextToxicity |
live |
识别评论可能对会话产生的影响,从“剧毒”到“健康” | |
source |
|||
其 他 |
KNNClassifier | 该包提供了使用K-Nearest Neighbors算法创建分类器的实用程序。可用于转学习 |