植物病害检测器
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