Press "Enter" to skip to content

协作的力量!多个 Google 工具接力构建农作物病害监测应用

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

 

文 / Google TensorFlow 开发技术推广工程师 Laurence Moroney

 

近日,来自世界各地的数千名开发者齐聚 DevFest 2020 ,参与由社区主导的 大型 Google 技术学习活动 (国内有 40 场活动,找到属于你的 DevFest, 查看详情 ) 。

 

今年的 DevFest 上,Google 和社区中的一些熟悉面孔共同展示了如何使用 Google 开发者工具从零开始,在几分钟内构建一个可检测农作物病害的应用。这一示例介绍了开发者可以如何利用多个 Google 工具解决现实问题。在此观看完整演示视频,或阅读本文了解更多信息。

 

创建 Android 应用

 

 

Android 开发技术推广工程师 Chet Haase 先演示了如何创建一款可识别植物信息的 Android 应用。为此,他需要摄像头功能以及使用机器学习进行推理。

 

应用由 Kotlin 编写,使用 CameraX 拍照并利用 MLKit 进行设备端机器学习分析。核心功能涉及拍照、分析和显示结果。

 

CameraX
https://developer.android.google.cn/training/camerax

 

MLKit
https://developers.google.com/ml-kit

 

 

显示应用如何拍照、分析并显示结果的代码

 

MLKIt 通过 ImageLabeler 对象可以轻松识别图像内容,因此 Chet 只需要从 CameraX 中抓取一帧图像并直接使用。成功完成该操作后,出现一个 ImageLabel 集合,我们将其转换为文本字符串并显示一个带有结果的消息框。

 

 

应用检测植物图像的演示

 

设置机器学习模型

 

 

为了更深入探讨, TensorFlow   (tensorflow.google.cn) 的 Google 开发技术推广工程师 Gus Martins 向我们展示了如何设置机器学习模型来检测豆类植物中的病害。

 

Gus 使用云端托管的开发工具 Google Colab 对 TensorFlow.Hub 上托管的现有 ML 模型进行迁移学习。

 

Colab

https://colab.sandbox.google.com/

TensorFlow.Hub

https://tensorflow.google.cn/hub

然后,他将所有内容放在一起,并使用 TensorFlow Lite Model Maker 工具在我们的自定义数据集上训练模型。

 

TensorFlow Lite Model Maker

https://tensorflow.google.cn/lite/guide/model_maker

构建 Android 应用进行鉴定和分类

 

Gus 创建了Android Studio的所有构建和识别模型所需的元数据。这些元数据可以使用 TensorFlow Lite 在模型上运行推理时进行使用。为此,Android 的 Google 开发者专家 Annyce Davis 将应用进行更新来使用 TensorFlow Lite。

 

 

她用模型来推断摄像头拍摄的豆叶是否患病。

 

现在,应用运行后,应用会告诉我们豆子是否健康;如果不健康,则可以给出相应的诊断。

 

 

检测植物是否健康的应用演示

 

将 demo 转换为应用

 

这只是一个原始的演示。要把它转化为一个成功的应用,Firebase 的 Google 开发技术推广工程师 Todd Kerpelman 建议使用 Android Studio 的 Firebase 插件添加一些分析,让我们可以准确了解用户是如何与应用互动的。

 

Firebase

https://firebase.google.com/

 

数据将显示在 Firebase 信息中心中,有很多方法可以获取这些数据。其中,一种非常有趣的方法是使用 StreamView 实时查看分析结果。

 

 

Firebase Streamview 允许您查看实时分析

 

例如,使用 Firebase,您还可以将 A/B 测试添加到应用中,为用户选择最佳模型;通过远程配置及时更新应用;为用户提供便捷的应用登录途径,以及更多功能!

 

用户体验设计师和设计技术推广工程师 Di Dang 告诉我们,如果要把应用产品化,应 时刻注意我们的 AI 设计决策对用户的影响 。

 

 

例如,我们需要考虑显示置信区间是否和/或如何合理。或者,考虑如何设计用户使用体验,从而影响用户对 ML 应用的功能和局限的预期,这对于应用的采用和参与度至关重要。有关 AI 设计决策的更多指导,请参阅 People + AI Guidebook 。

 

People + AI Guidebook

http://pair.withgoogle.com/guidebook

 

您可以在 People + AI Guidebook 中详细了解 AI 中的设计决策

 

此用例侧重于植物病害,但对于此例以及其他情况,当基于 ML 的预测涉及人或社区,我们绝对需要考虑负责任的 AI 主题,例如隐私和公平。 此处 了解详情。

 

此处

https://tensorflow.google.cn/resources/responsible-ai

打造渐进式 Web 应用

 

Web   开发技术推广工程师 Paul Kinlan 提醒我们不要忘记网络!

 

 

Paul 向我们展示了如何构建允许用户在所有平台安装应用的 PWA 。它可以将摄像头与 TensorFlow.js 结合,集成机器学习,打造在浏览器中运行的惊人体验,无需额外下载。

 

PWA

https://web.dev/progressive-web-apps/

在设置标准布局的项目(使用 HTML 文件、清单和 Service Worker 将其设置为 PWA)和一个包含我们 TensorFlow 配置的数据文件夹后,等待所有 JS 和 CSS 加载完毕,接着初始化应用。然后,我们使用辅助对象设置摄像头,并加载 TensorFlow 。激活后,即可设置界面。

 

PWA 现已准备就绪,等待我们使用。

 

 

 

PWA 告诉我们植物是否健康 – 而无需下载应用!

 

开源的重要性

 

最后,TensorFlow 的 Google 开发者专家 和 Women Techmakers 负责人 Puuja Rajan 提醒我们,我们也可能希望开源此项目,开发者可以通过提交 issue 或 PR 来改进项目、优化甚至提供额外功能的建议。这是将您的贡献展现给更多人的绝佳方式。您可以在 此处 详细了解如何启动开源项目。

 

Google 开发者专家

https://developers.google.com/community/experts

Women Techmakers

https://www.womentechmakers.com/

此处 https://opensource.guide/starting-a-project/

 

 

事实上,我们将此项目开源,您可以查看 Github 。

 

Github

https://github.com/lmoroney/android-beans-demo

您已经拥有一个构建真实应用的平台,结合 Android Studio、CameraX、Jetpack、ML Kit、Colab、TensorFlow、Firebase、Chrome 和 Google Cloud 工具,可以大幅提高生产力。

 

这并不是一个最终成品,我们只想在这里向您展示,如何使用 Google 开发者工具 将一个最小可行性产品和完成路线图结合在一起。

 

Google 开发者工具

http://developers.google.com/

选择离您最近的 DevFest 加入我们的线上/线下活动。在 GDG 官网 (http://gdg.community.dev/devfest)  注册。

Be First to Comment

发表评论

电子邮件地址不会被公开。 必填项已用*标注