Emoji Scavenger Hunt is an experiment that leverages the power of neural networks and your phone’s camera to identify the real world versions of the emojis we use every day.
👾 表情符号寻宝大挑战 👾
表情符号寻宝大挑战是一款基于网页的实验性游戏,利用 TensorFlow.js 识别您的网络摄像头或移动摄像头在浏览器中看到的物体。我们展示表情符号 🍌 ⏰ ☕️ 📱,您需要在计时器耗尽前,在现实世界中找到这些物体 🏆 👍。
想了解我们是如何构建这个实验的,请阅读我们在 Tensorflow 博客上的文章《表情符号寻宝大挑战背后的构建过程》,或者亲自尝试一下 g.co/emojiscavengerhunt。
开发进展
yarn prep
运行 yarn prep 指令将会使用 yarn 来获取正确的包并设置相应的文件夹。如果您尚未安装 yarn,可以通过 homebrew(适用于 Mac 系统)来安装它。如果您已经通过 nvm(我们的推荐方式)运行了 node/npm,您可以在不安装 node 的情况下安装 yarn,使用命令 brew install yarn --without-node。
为了开始本地开发,我们还需要安装 Google Cloud SDK 及相关的 App Engine 组件。这些工具用于本地网页服务器以及将静态站点推送到 App Engine 进行托管。
在安装好这两项之后,您可以运行以下命令来启动本地开发服务器:
yarn dev
此任务利用 watchify 持续监控 JS 和 SASS 文件的变化,一旦检测到变更,便会重新编译这些文件。您可以通过 http://localhost:3000/ 访问本地开发服务器。
在构建生产环境所需的资源时:
yarn build
这将压缩生产环境中使用的 SASS 和 JS 文件。
构建自己的模型
您可以运行一个 Docker 容器来构建自己的图像识别模型。
Dockerfile 位于 training 目录中。
通过将图像划分到每个训练标签名称对应的目录中,来准备训练图像。
例如:假设图像数据存储在 data/images 下,那么训练 猫 和 狗 的目录结构如下所示。
data
└── images
├── cat
│ ├── cat1.jpg
│ ├── cat2.jpg
│ └── ...
└── dog
├── dog1.jpg
├── dog2.jpg
└── ...
一旦样本图像准备就绪,您可以通过构建并运行 Docker 容器来启动训练过程。
$ cd training
$ docker build -t model-builder .
$ docker run -v /path/to/data:/data -it model-builder
完成训练后,你将在 data/saved_model_web 目录下看到三个文件:
- tensorflowjs_model.pb(数据流图)
- weights_manifest.json(权重清单文件)
- group1-shard*of*(二进制权重文件集)
这些是以网络友好格式转换的 SavedModel 文件,由 TensorFlow.js 转换器生成。你可以通过替换 dist/model/ 目录下的相应文件,使用你自己的定制图像识别模型来构建游戏。
训练脚本还会生成一个名为 scavenger_classes.ts 的文件,它与你的生成定制模型协同工作。你需要将 src/js/scavenger_classes.ts 文件替换为新生成的 scavenger_classes.ts 文件,以便模型的标签与训练数据匹配。替换文件后,你可以正常运行构建脚本来在浏览器中测试你的模型。有关运行预览服务器的信息,请参阅 README 文件。
如有必要,更新 src/js/game.ts 中的游戏逻辑。
使用 GPU
你可以通过利用 GPU 来提高训练速度。如果你想使用 GPU 进行训练,请安装 nvidia-docker 并运行:
$ cd training
$ nvidia-docker build -f Dockerfile.gpu model-builder
$ nvidia-docker run -v /path/to/data:/data -it model-builder
许可证
版权所有 © 2018 Google LLC
根据 Apache 许可证,版本 2.0(以下简称“许可证”),您仅可在遵守许可证的条件下使用此文件。 您可以通过以下链接获得许可证的副本:
https://www.apache.org/licenses/LICENSE-2.0
除非适用法律要求或书面同意,否则根据许可证分发的软件将在“按原样”基础上提供,不附带任何形式的明示或暗示的保证或条件。 有关管理许可权限和限制的具体规定,请参阅许可证。
致谢
本项目是 Google 品牌工作室与 Google 的 PAIR 团队之间的实验性合作。
终结思考
这不是 Google 的官方产品。我们将尽力支持和维护这个实验项目,但您的体验可能会有所不同。
我们鼓励开源项目作为相互学习的途径。在分享这些作品和创作衍生作品时,请尊重我们和其他创作者的权利,包括版权和商标权(如适用)。
如果您想了解更多关于 Google 政策的信息,您可以在此处找到:https://policies.google.com/
项目介绍
Emoji Scavenger Hunt is an experiment that leverages the power of neural networks and your phone’s camera to identify the real world versions of the emojis we use every day.
定制我的领域下载使用量
项目总下载次数(含Clone、Pull、 zip 包及 release 下载),每日凌晨更新