植物病害检测器

AI 驱动的植物病害检测和援助平台,目前有 App 和 API。

在此处下载产品 APK

机器学习Python Notebook

解决方案

当问题出现时检测问题并警告农民的系统。

通过 Android 应用 使用 Flask API 检测疾病,该应用利用机器学习模型。

一旦出现问题,就解决问题。

应用程序通过机器学习模型建议疾病的补救措施。

确保问题将来不再发生的解决方案

生成关于预测疾病的 PDF 报告以及用户信息。PDF 可用作提交到附近 Krishibhavan 以便轻松获得帮助的文件。

将困境影响降低到显著水平的方法

可以通过通知将检测到的疾病新闻发送给其他用户,其中包含用户、植物和疾病。这将帮助其他农民采取预防措施,从而将该地区困境的影响显著降低。考虑到一个地区。

机器学习模型

使用 CNN 架构在 PyTorch 框架上构建的多类图像分类器。目前的项目检测 4 种植物(目标是喀拉拉邦)的 17 种疾病状态:樱桃、胡椒、土豆和番茄。

  • 框架:PyTorch
  • 架构:卷积神经网络
  • 验证准确率:77.7%

如何训练

Python Notebook上传到 Google Colab 并运行每个单元以训练模型。我包含了一个演示数据集以便快速配置。您可以使用这个Kaggle 数据集,这是包含大量图片的原始数据集。

How It Works (它是如何工作的)

输入图像数据集被转换为张量,并通过 CNN 模型,返回与植物疾病相对应的输出值。输入图像张量通过四个卷积层,然后展平并输入到全连接层。

API

API 使用 Flask 框架构建并在 Heroku 上托管。API 提供两种功能:

  • 植物病害检测

    接受带有 base64 字符串格式图像的 POST 请求,并返回植物、疾病和补救措施。

  • 通知

    接受带有植物、用户和疾病的 POST 请求,然后将其作为通知推送到其他用户,以警告他们可能爆发的疾病。

如何使用

API 已在该分类器上构建。URL = "https://plant-disease-detector-pytorch.herokuapp.com/"

用户需要向给定 API 发送一个 POST 请求,其中包含要输入的图像的 Base64 字符串。

import requests
url = "https://plant-disease-detector-pytorch.herokuapp.com/"
#imgdata = base64 string of image
r = requests.post(url,json = {"image":imgdata})
print(r.text.strip())

输出

'{"disease":"Septoria leaf spot","plant":"Tomato","remedy":"Remove infected leaves immediately,......Fungonil and Daconil)."}'

应用

在此处下载产品 APK

运行应用

$ cd app
$ flutter run

构建应用

$ cd app 
$ flutter build apk

特点

  • 使用 Google OAuth 进行身份验证
  • 用户个人资料页面
  • 使用相机或设备媒体获取农作物图像
  • 预览图像并将其发送到 API 进行病害检测
  • 结果页面显示检测到的疾病和补救措施
  • 生成 PDF 报告以保存/共享预测的疾病详细信息
  • 选择将生成的結果作为警告通知发送给其他用户

使用的技术栈

  • Python
  • PyTorch
  • Flask
  • Flutter
  • Firebase

GitHub

https://github.com/nandakishormpai2001/Plant_Disease_Detector