TensorFlow.js:零基础在小程序上实现机器学习

新智元

来源:TensorFlow

编辑:元子

【新智元导读】本课程主要介绍了如何将TensorFlow.js插件嵌入到微信小程序中,并基于其进行开发。课程中以一个姿态检测的模型PoseNet作为案例,介绍了TensorFlow.js插件导入到微信小程序开发工具中后,在项目开发中的配置,功能调用,加载模型等方法应用;此外,还介绍了在Python环境下训练好的模型如何转换并载入到小程序中。

微信日前官宣小程序支持AR功能。欧莱雅集团旗下阿玛尼美妆的官方微信小程序——“阿玛尼美妆官方精品商城”成为首个支持动态AR试妆的小程序,标志着全新的线上零售体验。

这背后的智慧力量,来自于机器学习。“动态”两个字是技术突破的关键。相比于之前的上传照片再下载的方式,动态试妆让试色更加真实简便,手机成为用户专属的“试妆镜”,所见即所得,即试即买。ModiFace 是背后的试妆技术提供方,也是一家AR和AI解决方案提供商,隶属于欧莱雅集团,通过应用 TensorFlow.js,开发人员得以优化 AR 渲染性能,提升用户体验。

机器学习与传统文化结合

在商业应用之外,小程序与机器学习的能力也让传统文化焕发新生。

安徽中医药大学的胡继礼、阚红星老师和他们的学生共同开发了一款识别中草药切片的小程序“中药饮片百科”。他们采集了4万3千多条数据,覆盖137种中药切片的照片。

通过TensorFlow基于Inception-v3模型训练,准确率达88.3%。这款小程序不仅可以了解中药的性状功效,还可以识别137种中药饮片类型,测量大小等。不仅可以让学习中医药的学生随时随地了解中医知识,熟识切片性状,更能让普通民众拥有身边的移动中医药“专家”。

云南大学软件学院的刘金卓老师指导学生们制作的“民风 民族风格迁移”小程序,通过图片处理,使其具有强烈的民族艺术风格,让用户体验到民族艺术的独特魅力。

通过在40余万张各类民族艺术图片上使用 TensorFlow 进行训练,利用风格迁移模型能很好提取出各民族艺术的特征,同时处理图片耗时仅为0.01至0.06秒,为用户带来了效果良好、响应迅速的民族风格迁移体验。

除了民族风格图片带来的视觉冲击外,小程序中等待页面和介绍页面的引导能使用户接触到更多民族艺术与文化的相关信息,有利于促进优秀民族艺术的传播和发展。

机器学习在微信小程序中的应用多姿多彩,无论是个人还是企业开发者,都可以在各自领域结合机器学习的能力,开发出创新的小程序,为用户提供服务。

为了能让小程序内的机器学习变得更为简单,现在开发者可借助 TensorFlow.js 在小程序中的插件来实现了。

TensorFlow.js 插件是什么?

微信小程序的原生环境为 JavaScript,并具备简洁的移动设备传感器 API (例如摄像头、麦克风、加速度计、陀螺仪、GPS等)。但是,平台内置的机器学习功能有限。如果开发人员想要在他们的应用程序中嵌入机器学习技术,需要在服务器端或基于云的机器学习堆栈上开发,这使得大量小程序开发人员构建和使用机器学习技术的工作量加大。

有鉴于此,TensorFlow.js 提供了一个微信小程序的插件,帮助小程序开发人员将机器学习功能带入他们的应用程序。利用小程序提供的 WebGL API 可以使用手机内置的 GPU 加速器,比 CPU 的速度快10到100倍,开发者无需担忧背后的构建与开发。微信小程序也因此具备了高效的机器学习模型执行能力,与在移动浏览器中运行的 JavaScript 应用程序一致。

TensorFlow.js 的模型库包含以下几类模型:

类别

模型名

介绍

图像

MobileNet

针对 ImageNet database 标示的图像识别。

PoseNet

实时人体姿态识别具体介绍<有了 TensorFlow.js,浏览器中就能进行实时人体姿势判断>。

Coco SSD

物体识别模型,可以同时识别物体类别和在图像中位置。基于 TensorFlow object detection API。

BodyPix

使用 TensorFlow.js 在浏览器中进行实时人体和身体部位分割。

语音

SpeechCommands

识别语音短命令,基于 Speech commands dataset。

文字

UniversalSentence Encoder

将文本编码为512维嵌入,用作自然语言处理任务的输入,例如情感分类和文本相似性。

TextToxicity

识别评论可能对会话产生的影响,从“剧毒”到“健康”。

其他

KNNClassifier

该包提供了使用 K-Nearest Neighbors 算法创建分类器的实用程序,可用于转学习。

注:TensorFlow.js 模型库 链接

https://github.com/tensorflow/tfjs-models

为了让更多的小程序开发者了解 TensorFlow.js 以及如何在小程序环境中应用 TensorFlow.js,现在TensorFlow和微信小程序联合腾讯课堂NEXT学院共同发布了《TensorFlow.js遇到小程序》课程,帮助开发者快速了解和进入机器学习世界。

小程序和 TensorFlow.js 技术的融合旨在降低机器学习的门槛,帮助更多有想法的人应用这项技术创造出更多、更有趣、更有价值的应用、解决更多的现实生活中的难题,造福社会。

如果您想详细了解 TensorFlow JS 的相关内容,请参阅以下文档。这些文档深入探讨了这篇文章中提及的许多主题:

  • ImageNet database 链接 (http://www.image-net.org/)
  • TensorFlow object detection API 链接 (https://github.com/tensorflow/models/blob/master/research/object_detection/README.md)
  • Speech commands dataset 链接 (https://tensorflow.google.cn/tutorials/sequences/audio_recognition)
  • 《TensorFlow.js遇到小程序》课程 (https://m.ke.qq.com/course/428263?_bid=167&_wv=1)
  • 更多信息请查看 (https://tensorflow.google.cn/js)

课程链接:

https://m.ke.qq.com/course/428263?_bid=167&_wv=1

原文发布于微信公众号 - 新智元(AI_era)

原文发表时间:2019-08-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券