热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

论AI小游戏是怎么练成的——『寻物大作战』原理揭秘

AI诞生以来,应用在了各个场景来帮助人们提高效率,优化体验。而在娱乐领域,越来越多的电子游戏开始将AI技术与游戏结合。今天我们为大家带来『

AI诞生以来,应用在了各个场景来帮助人们提高效率,优化体验。而在娱乐领域,越来越多的电子游戏开始将AI技术与游戏结合。今天我们为大家带来『寻物大作战』小游戏,真是称得上小小的身体,大大的能量!只要在规定时间内寻找指定的物品即可完成任务,通过摄像头可智能识别找到的物品,简单方便,无论是朋友聚会还是亲子互动,都是活跃气氛的利器了!

d55ab1eda91b87a6ba5dec0291cdcaa4.png

只需在『微信』搜索小程序“PaddlejsPlugin”,或是扫描下面的二维码即可快速开始游戏。动动手指,快来挑战一下吧!

这个小游戏是由PaddleClas联合Paddle.js打造,下面小编就为大家揭秘在这背后究竟是何原理,让你也能轻松拥有自己的专属的AI小游戏!

ea354d21dab126270b138ed10f7ec2c9.gif

总体来说“寻物大作战”小游戏背后所依赖的正是目前AI领域最热门的深度学习技术,通过一套端到端的图像分类模型来实现物体识别的效果。虽然听起来“高大上”,有了下面这两个开发神器的力量加持,对新手用户,甚至是小白用户可以说非常友好!这两个神器就是:(噔噔噔噔~)百度飞桨图像分类套件PaddleClas和基于Javascript的深度学习前端推理引擎Paddle.js~

9274a97117765b4f8c7021dda91c64c5.png

PaddleClas作为“开箱即用”的图像分类套件,拥有180+预训练模型,都只需经过简单配置,即可完成从训练到部署的全流程工作。

近年来,深度学习技术越发的火热,计算机视觉在生活中得到了越来越多的应用,但受制于深度学习技术对庞大算力的需求,其在手机等算力有限设备上的应用总是捉襟见肘,以图像识别任务为例,高精度的网络模型往往意味着高算力的需求,『寻物大作战』能够在手机小程序中实现,而且可以针对视频流实时推理,其背后正是PaddleClas近期所推出的轻量级CPU场景骨干网络模型PP-LCNet

链接指路:

https://github.com/PaddlePaddle/PaddleClas

a7e664816311ffc658953c5192a3591a.png

PP-LCNet模型以推理速度作为优化指标,特别针对Intel CPU平台所设计,同时兼顾ARM等移动端平台,在速度与精度的平衡上更为优秀,与现有SOTA模型相比,真正做到速度更快、精度更高。此外经过验证,PP-LCNet在目标检测、语义分割等下游视觉任务上同样具有优秀的性能。

Paddle.js是百度飞桨基于Javascript的深度学习框架,也是国内首款开源前端智能框架。其应用环境不局限于浏览器,对小程序同样做了支持。通过Paddle.js运行AI模型,可以提供给用户高实时性、低延迟的体验,逐渐成为处理AI需求的更优解。在『寻物大作战』小游戏中,使用Paddle.js仅仅三个步骤就能赋予小程序AI能力。

6289c24e37d9f861cc785419514b9c57.png

279b4b68657fc36f4543109f4e6db994.png

轻松接入Paddle.js后,我们接下来看看在『寻物大作战』小程序上的最终实践效果。游戏要求玩家在规定时间内,利用手机摄像头,找出和题目匹配的物品。

950552475320be9d068623b628640f84.gif

主体实现思路可以归纳为,利用Paddle.js连续预测摄像头中的图像信息,判断和题目物品是否相符。仅仅几行代码就可以帮你实现!

fd79ae3e4d32a30d8f2cea163913e1eb.png

不难分析出,推理运算耗时在一定程度上会影响游戏的流畅度。耗时越少,用户感受越好。我们在WebGL backend上对不同机型测试了推理耗时,在红米K30上单帧推理耗时仅为 32.1毫秒,iPhoneX为49.24毫秒,对比采用网络传输数据至服务端推理的方案,性能优势显而易见!在应对需要推理结果具有较好实时性的需求时,采用Paddle.js的方案将是更优的选择。

Paddle.js作为前端深度学习框架,还提供了模型转换、模型优化,性能工具和预训练模型库,包含人像分割、文字识别、手势识别及物品分类等模型的SDK, 提供开箱即用的 AI 能力,帮助用户快速实现 AI 效果。在性能方面通过算子融合、数据并行计算以及FP16量化等优化策略提升推理性能,给用户更好的使用体验。同时Paddle.js也提供了全套的模型加密方案保证用户模型安全。

说了这么多,感兴趣的小伙伴肯定迫不及待了吧~ 下面就送上我们的项目传送门:

https://github.com/PaddlePaddle/Paddle.js

开源不易,还请大家给我们的程序猿小哥哥一个Star的鼓励吧~

同时期待各位更多新的创意哦~

21fbc6af0dfceb09975f90c783c5b0c7.gif

直播预告

11月1日,这款小游戏的作者将来到飞桨直播间,分享这款微信识物小游戏是如何炼成的,欢迎大家进群观看直播,进行技术交流喔。

直播精彩抢先看:

  • 深度学习图像分类应用介绍;

  • 识图小游戏模型原理揭秘;

  • Paddle.js助力小程序快速推理;

  • 模型训练部署一条龙上手。

直播时间:

11月1日 19:00-21:00

直播链接:

http://live.bilibili.com/21689802

772f23ee44245d4acab1ca40e2c9560e.png

(扫码入群,观看直播)

长按下方二维码立即

Star

d3fdc9df0aaf1d397e8f0ca9b83e7a71.png

更多信息:

  1. 飞桨官方QQ群:793866180

  2. 飞桨官网网址:

    www.paddlepaddle.org.cn/

  3. 飞桨开源框架项目地址:

    GitHub:

    github.com/PaddlePaddle/Paddle 
    Gitee:

    gitee.com/paddlepaddle/Paddle

  4. 欢迎在飞桨论坛讨论交流~~

    http://discuss.paddlepaddle.org.cn



推荐阅读
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 本文介绍了前端人员必须知道的三个问题,即前端都做哪些事、前端都需要哪些技术,以及前端的发展阶段。初级阶段包括HTML、CSS、JavaScript和jQuery的基础知识。进阶阶段涵盖了面向对象编程、响应式设计、Ajax、HTML5等新兴技术。高级阶段包括架构基础、模块化开发、预编译和前沿规范等内容。此外,还介绍了一些后端服务,如Node.js。 ... [详细]
  • 小程序自动授权和手动接入的方式及操作步骤
    本文介绍了小程序支持的两种接入方式:自动授权和手动接入,并详细说明了它们的操作步骤。同时还介绍了如何在两种方式之间切换,以及手动接入后如何下载代码包和提交审核。 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 安卓select模态框样式改变_微软Office风格的多端(Web、安卓、iOS)组件库——Fabric UI...
    介绍FabricUI是微软开源的一套Office风格的多端组件库,共有三套针对性的组件,分别适用于web、android以及iOS,Fab ... [详细]
  • 使用在线工具jsonschema2pojo根据json生成java对象
    本文介绍了使用在线工具jsonschema2pojo根据json生成java对象的方法。通过该工具,用户只需将json字符串复制到输入框中,即可自动将其转换成java对象。该工具还能解析列表式的json数据,并将嵌套在内层的对象也解析出来。本文以请求github的api为例,展示了使用该工具的步骤和效果。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • 从零学Java(10)之方法详解,喷打野你真的没我6!
    本文介绍了从零学Java系列中的第10篇文章,详解了Java中的方法。同时讨论了打野过程中喷打野的影响,以及金色打野刀对经济的增加和线上队友经济的影响。指出喷打野会导致线上经济的消减和影响队伍的团结。 ... [详细]
  • 小程序wxs中的时间格式化以及格式化时间和date时间互转
    本文介绍了在小程序wxs中进行时间格式化操作的问题,并提供了解决方法。同时还介绍了格式化时间和date时间的互相转换的方法。 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 2016 linux发行版排行_灵越7590 安装 linux (manjarognome)
    RT之前做了一次灵越7590黑苹果炒作业的文章,希望能够分享给更多不想折腾的人。kawauso:教你如何给灵越7590黑苹果抄作业​zhuanlan.z ... [详细]
author-avatar
社会逼我爱上Money_717
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有