×

AgriAI:使用深度学习的植物害虫检测

消耗积分:0 | 格式:zip | 大小:0.19 MB | 2022-10-21

分享资料个

描述

情况

在现代农业和林业方面,植物病理学研究对于作物改良非常重要。每年,巨大的作物因病原体的侵袭而受损。在大多数情况下,农民和普通人由于严重的病原侵染而遭受巨大损失。对于作物改良,首要的关键点是病害识别。正确识别疾病后,我们将能够治疗疾病。大多数案例以实验室为导向的研究是耗时且非常消耗性的,但使用现代技术即时识别植物病害及其致病生物是最合适、成本有效且真实的。这种类型识别方法将帮助我们通过适当的控制措施识别疾病。

根据维基百科,农药影响包括农药对非目标物种的影响。农药是用于杀死真菌或动物害虫的化学制剂。超过98%的喷洒杀虫剂和 95% 的除草剂到达目标物种以外的目的地,因为它们被喷洒或散布在整个农田。径流可以将杀虫剂带入水生环境,而风可以将它们带到其他田地、放牧区、人类住区和未开发地区,可能影响其他物种。其他问题源于不良的生产、运输和储存做法。随着时间的推移,重复施用会增加害虫的抵抗力,而它对其他物种的影响会促进害虫的死灰复燃。

每种杀虫剂或杀虫剂类别都有一组特定的环境问题。这种不良影响导致许多杀虫剂被禁用,而法规限制和/或减少了其他杀虫剂的使用。农药使用的全球传播,包括使用在某些司法管辖区已被禁止的旧/过时农药,总体上有所增加。

因此,我们可以得出结论,尽管杀虫剂和杀虫剂非常有用,但现在正相反,即危害性正在迅速增加。

主意

所以重点出现了——“我们可以做些什么来控制农药的使用?”。

在这里,我们应该记住一件事,我们需要建立一个可以降低甚至可能追踪农药使用的系统,因为出于一些明显的原因,我们无法将其降低以维持农业工业。

理论

在我们的项目中,我们将使用称为体温调节的温血哺乳动物的特征和特征这是一张显示体温调节存在并由红外扫描仪相机扫描的图像 -

poYBAGNR4veAd7BOAAARTV6j78k693.jpg
热成像图像:一条冷血蛇正在吃一只温血老鼠
 

所以基本上我们将使用 balenaFin 使用 AMG8833 传感器摄像头进行扫描,它会显示那里是否存在害虫。然后它会告诉我们在哪里准确喷洒杀虫剂或杀虫剂,在哪里不应该喷洒。

硬件

balena鳍

balenaFin 的设计考虑了现场部署。它是 Raspberry Compute Module 3 和 3+ Lite (CM3L/CM3+L) 的载板,可以运行 Raspberry Pi 可以运行的所有软件,并针对现场部署用例进行了强化。

poYBAGNR4vuAC3AfAAKRJBHj8KI588.png
 

树莓派计算模块

balenaFin 支持 Raspberry Pi 计算模块 3 和 3+ lite (CM3L/CM3+L)。

贮存

balenaFin 上的存储基于工业级 eMMC 存储,提供 8GB、16GB、32GB 和 64GB 选项。

力量

balenaFin 具有宽输入电压范围 (6V-24V),特别适用于通常无法提供可靠 5V 的应用。

协处理器

balenaFin 包括一个支持蓝牙的低功耗协处理器(32 位 ARM® Cortex M4)。协处理器可以单独运行或并行运行,并允许以编程方式打开和关闭主处理器。这在需要低功耗或实时处理的应用中特别有用。

连接性

balenaFin 的无线芯片支持 802.11ac/a/b/g/n WiFI 和蓝牙 4.2(包括 SMART 功能)。板上包含一个双频嵌入式天线和一个用于改善信号覆盖范围的外部天线连接器。

输入输出

balenaFin 上的 Mini PCI Express 端口为许多不同的模块带来了无缝连接。第三方模块可用于 LTE、Zigbee、LoRA 和 CANBus,并且可以通过利用 mini PCI Express 连接器上的 USB 接口来实现额外的存储(这可能需要定制设计)。balenaFin HAT 接头可用于连接任何 Raspberry Pi HAT 兼容模块(PoE、RS232、ZWave 等)。一个较小的 18 针接头暴露了协处理器的模拟和时间敏感 I/O。V1.1 包括一个额外的 4 针 USB 接头,允许无线设计应用,例如附加存储、辅助以太网端口、多媒体阅读器、附加无线电接口等。

树莓派计算模块 3+ Lite

CM3+ 计算模块包含 Raspberry Pi 3 Model B+(BCM2837 处理器和 1GB RAM)以及可选的 8GB、16GB 或 32GB 的 eMMC 闪存设备(相当于 Pi 中的 SD 卡)。

所有这些都集成到一个小型 (67.6mm × 31mm) 板上,该板适合标准 DDR2 SODIMM 连接器。闪存直接连接到板上的处理器,但其余处理器接口可通过连接器引脚供用户使用。您可以获得 BCM2837 SoC 的全部灵活性(这意味着比标准 Raspberry Pi 提供更多的 GPIO 和接口),并且将模块设计到自定义系统中应该相对简单,因为我们已经将所有棘手的部分都放到了模块本身。这需要与balenaFin连接。

Adafruit AMG8833 红外摄像机分线模块

Panasonic 的这款传感器是 8x8 红外热传感器阵列。当连接到您的微控制器(或 Raspberry Pi)时,它将通过 I2C 返回一组 64 个单独的红外温度读数。它就像那些花哨的热像仪,但足够紧凑和简单,易于集成。

该部件将测量范围从 0°C 到 80°C(32°F 到 176°F)的温度,精度为 +- 2.5°C (4.5°F)。它可以在最远 7 米 (23) 英尺的距离内检测到人。最大帧速率为 10Hz,非常适合创建自己的人体探测器或迷你热像仪。我们有在 Arduino 或兼容设备(传感器通过 I2C 通信)或在带有 Python 的 Raspberry Pi 上使用此分线器的代码。在 Pi 上,借助 SciPy python 库的一些图像处理帮助,我们能够插入 8x8 网格并获得一些非常好的结果!

AMG8833 是 Panasonic 的下一代 8x8 热红外传感器,提供比其前身 AMG8831 更高的性能。该传感器仅支持 I2C,并且具有可配置的中断引脚,当任何单个像素高于或低于您设置的阈值时,该引脚可以触发。

英特尔神经计算棒 2

英特尔神经计算棒 2 由英特尔 Movidius X VPU 提供支持,可提供行业领先的性能、功率和功率。NEURAL COMPUTE 支持 OpenVINO,这是一个加速解决方案开发和简化部署的工具包。神经计算棒 2 提供即插即用的简单性,支持通用框架和开箱即用的示例应用程序。使用任何带有 USB 端口的平台进行原型设计和操作,无需依赖云计算。与前几代产品相比,英特尔 NCS 2 每秒可提供 4 万亿次操作,性能提升 8 倍。

它能做什么:

借助英特尔 NCS 2 的增强功能,可以轻松将计算机视觉和人工智能引入物联网 (IoT) 和边缘设备原型。对于开发智能相机、无人机、工业机器人或下一个必备智能设备的开发人员而言家用设备,英特尔 NCS 2 提供更快、更智能的原型制作所需。

看起来像标准 USB 拇指驱动器的东西隐藏在里面。英特尔 NCS 2 由最新一代的英特尔 VPU——英特尔 Movidius Myriad X VPU 提供支持。这是第一个具有神经计算引擎的产品——专用硬件神经网络推理加速器可提供额外的性能。结合支持更多网络的英特尔分发版 OpenVINO 工具套件,英特尔 NCS 2 为开发人员提供了更大的原型设计灵活性。此外,多亏了英特尔 AI:在生产生态系统中,开发人员现在可以将他们的英特尔 NCS 2 原型移植到其他外形尺寸并产品化他们的设计。

这个怎么运作:

借助笔记本电脑和英特尔 NCS 2,开发人员可以在几分钟内启动并运行他们的 AI 和计算机视觉应用程序。英特尔 NCS 2 在标准 USB 3.0 端口上运行,不需要额外的硬件,使用户能够无缝转换 PC 训练模型,然后将其本地部署到各种设备,无需互联网或云连接。

第一代英特尔 NCS 于 2017 年 7 月推出,已为数以万计的开发人员社区提供了动力,已在 700 多个开发人员视频中进行了专题介绍,并已在数十篇研究论文中得到使用。现在,凭借 NCS 2 的更高性能,英特尔正在帮助 AI 社区创建更雄心勃勃的应用程序。

特征:

提高生产力:

  • 以低成本减少对具有多功能硬件处理能力的神经网络进行原型设计或调整的时间。
  • 与原始英特尔 Movidius 神经计算棒相比,增强的硬件处理能力。
  • 利用 16 个内核而不是 12 个内核以及一个神经计算引擎,一个专用的深度神经网络加速器。
  • 深度神经网络推理的性能提升高达 8 倍,具体取决于网络。
  • 可负担性加速了深度神经网络的应用。
  • 改变 AI 开发工具包体验。
  • 即插即用的简单性。
  • 实惠的价格点。
  • 支持通用框架,包括开箱即用和快速开发。

发现效率:

  • 卓越的每瓦性能将机器视觉带到了新的领域。
  • 在不依赖云计算连接的情况下“在边缘”运行。
  • 深度学习原型现在可以在笔记本电脑、单板计算机或任何带有 USB 端口的平台上使用。
  • 易于使用且价格合理——利用更高的每瓦性能和高效的无风扇设计。
  • 结合英特尔® Movidius™ Myriad™ X VPU 的硬件优化性能和英特尔® Distribution of OpenVINO”工具包,加速基于深度神经网络的应用程序。
  • 在同类产品中率先采用神经计算引擎——一个专用的硬件加速器。
  • 16 个强大的处理内核(称为 SHAVE 内核)和超高吞吐量智能内存结构共同使英特尔 Movidius Myriad X VPU 成为设备上深度神经网络和计算机视觉应用的行业领导者。
  • 在芯片上具有全新的深度神经网络 (DNN) 推理引擎。

原型设计更简单的多功能性:

  • 英特尔分发的 OpenVINO 工具套件简化了开发体验。
  • 在英特尔神经计算棒 2 上制作原型,然后将您的深度神经网络部署到基于英特尔 Movidius Myriad X VPU 的嵌入式设备上。
  • 简化工作原型的路径。
  • 跨英特尔硬件扩展工作负载并最大化性能。
  • 强大的英特尔 Distribution of OpenVINO 工具套件可简化模拟人类视觉的应用程序和解决方案的移植和部署。
  • 英特尔发布的 OpenVINO 工具套件简化了多平台计算机视觉解决方案的开发——提高了深度学习性能。
  • 现在,跨英特尔加速技术套件开发异构执行应用程序变得更加容易。一次开发并在英特尔 CPU、VPU、集成显卡或 FPGA 上进行部署。
  • 如果需要,用户可以实现自己的自定义层并在 CPU 上执行这些层,而模型的其余部分在 VPU 上运行。

软件

Raspbian(目前为 Raspberry Pi 操作系统)

它是基金会官方支持的操作系统。

Raspberry Pi OS 预装了大量用于教育、编程和一般用途的软件。它有 Python、Scratch、Sonic Pi、Java 等等。

ZIP 存档中包含的带有桌面映像的 Raspberry Pi OS 大小超过 4GB,这意味着这些存档使用某些平台上的旧解压缩工具不支持的功能。

注意:这里我们必须使用专门为 balenaFin 设计的 Raspbian Image。这里下载

balena蚀刻机

balenaEtcher 是一个免费的开源实用程序,用于将图像文件(如 .iso 和 .img 文件)以及压缩文件夹写入存储介质以创建实时 SD 卡和 USB 闪存驱动器。它由 balena 开发,并在 Apache License 2.0 下获得许可。这里下载

OpenVINO

OpenVINO 工具包是一个免费工具包,可促进从框架优化深度学习模型,并使用推理引擎将其部署到英特尔硬件上。它是用 Python 和 C++ 编写的。

解释与工作

所以这里是我们项目的基本演示,在一段中解释。因此,首先将 AMG8833 相机传感器板连接到 balenaFin,并且英特尔神经计算棒 2 需要连接到 Pi 以提高模型的性能并使用英特尔的 OpenVino 对其进行训练。下面通过 GIF 解释了传感器的使用。

AMG8833 传感器 GIF 视频。

现在,由 Fin 组成的完整设备将放置在金属棒的底部(例如金属探测器中的一个),如下所示。

pYYBAGNR4v2ACxRVAAAyq0kKlZ4917.jpg
金属探测棒。
 

评估

如果像巢这样的大型热源不明显,敏感的热像仪可能能够检测到不规则的热模式、水分和其他表明存在害虫的损坏迹象,例如缺少绝缘层或墙壁上的孔表明存在害虫。入口点。了解要查找的模式需要培训和练习,因为很容易错误地解释图像。

以下是尝试定位以下常见入侵者时要寻找的一些指标:

白蚁

poYBAGNR4wCAe7-DAABBQGviyGY062.png
 

白蚁巢穴可能作为热点可见(左),而白蚁隧道的水分含量很高,可以通过热成像(右)检测到。

通过寻找巢穴、水分来源和墙壁损坏的证据可以找到白蚁。当白蚁进入家中时,它们会以二氧化碳的形式从消化系统中释放热量,并建造含水量高的泥管,从而在墙壁、天花板和地板的表面形成不规则的热量模式。

啮齿动物

pYYBAGNR4wKABaUWAAA1XjPSHxw099.png
 

啮齿动物(如左侧的负鼠)或它们的巢穴可能是可见的,或者野生动物活动可能会留下诸如缺少绝缘材料(右)之类的线索。

啮齿动物和其他野生动物可能会形成可以被检测到的巢穴,或者可能已经损坏了墙壁或移动了绝缘层,并产生了可以在热环境中看到的冷点。夜间出现的夜间动物也可以通过热成像进行追踪,该热成像在完全黑暗的环境中工作。

大黄蜂和其他社会昆虫

poYBAGNR4wSAJW0zAABugE8kHVE203.png
 

大黄蜂巢显示为热的热点。

昆虫是冷血动物,但它们确实会产生热量。黄蜂巢、蜂巢或其他大型群居昆虫的热量通常会产生足够的热量,从而被热像仪检测到。

1)使用以下电路连接将 AMG8833 IR Camera Sensor Breakout 连接到 Raspberry Pi -

balenaFin AMG8833 IR Camera

3V3 VIN

GND GND

GPIO 2 SDA

GPIO 3 SCL

GPIO 4 INT

2)从此链接安装 Intel OpenVino Toolkit

3)按照教程下载并在连接英特尔 Movidius 神经计算棒 2 的 balenaFin 上运行演示。

4)或者,如果您想在英特尔 PC 上部署它,请按照我制作指南进行操作。

5)从 Internet 上可用的各种资源收集热数据,例如或者,您可以在使用红外摄像机时收集您自己的自定义图像数据。

6)您可以在 OpenVino SDK 本身中训练您的模型,也可以使用Google ColabJupyter Notebooks来训练。

7)然后您可以使用 OpenVino 团队的教程和指南将此数据导出到 OpenVino SDK 开发平台。

训练模型

第 1 部分 - 区分豆娘和蝴蝶

我们正在使用Google 的 Teachable Machine来训练能够在豆娘和蝴蝶之间进行分类的模型。

第1 步 -首先从我们的 Google Drive 下载蝴蝶和豆娘的热图像。

蝴蝶数据集

豆娘数据集

第 2 步 -并按照以下步骤开始训练数据。

第 3 步 -单击 Image Project,然后在 Class 1 和 Class 2 框中分别将它们命名为 Damselfly 和 Butterfly,如下所示。

pYYBAGNR4waAWwhWAAChOp-l2eA117.png
 

第 4 步 -通过我们 Google Drive 中提供的图像训练数据。您可以从文件上传,也可以使用网络摄像头,然后通过显示来自手机的图像进行训练,如下所示。

 
 
 
poYBAGNR4wmAMWRMAAEz-cCpupI671.png
 
1 / 2
 

第 5 步 -然后单击屏幕中间的训练模型按钮。等待一段时间,然后它将开始训练模型。

pYYBAGNR4wuAFvhlAADnRu2UsHA099.png
 

对数据进行分类

成功训练后,它将弹出并打开您的网络摄像头进行实时分类,如下所示。

poYBAGNR4w6AQ9oVAAEZhX6y6Ag529.png
分类蝴蝶的热图像
 
poYBAGNR4xCAPLeuAAEb8dUz8wE071.png
对豆娘的热图像进行分类
 

然后单击屏幕顶部的导出模型选项。点击后会显示如下画面。

poYBAGNR4xOAVglLAAFNJQgis7s011.png
对不起脸:-/
 

然后点击 TensorFlow Lite 选项,如下图所示。

pYYBAGNR4xWATcYdAAD52SxnKhE377.png
 

恭喜!您已在网络上成功训练和分类模型。现在是时候在硬件上运行它了。

 

在硬件上运行

在这里,我们正在测试两种情况:

使用 Google Coral USB 加速器在 balenaFin 上运行

Coral USB 加速器使用 Coral Edge TPU ,因此在 TensorFlow Lite 环境中运行时增加了模型。

步骤1

按照Coral 的官方说明安装 edgetpu 库

第2步

pip 像这样安装以下软件包:

pip3 install Pillow opencv-python opencv-contrib-python

第 3 步

从 TM2 下载模型

第4步

使用我们存储库中的此代码来运行模型

使用英特尔神经计算棒在 balenaFin 上运行

由于硬件和软件的限制,未完成:(

制作这个项目时面临的限制

在阅读了这个项目帖子后,你们中的大多数人会询问我们在 NCS 2 上运行的部分。好吧,我们在开发这个项目时遇到了一些严峻的情况。以下是一些 -

1)我们没有人在家里有热敏/红外相机。我们通过为我们收集一些图像数据在许多地方寻求帮助。没有一个论坛或地方这样做。所以我(Arijit)必须阅读 2 篇完整的研究论文才能获得一些豆娘和蝴蝶的热图像数据。我们只得到了 2 种类型的热图像,然后我们降低了它的亮度,然后把它变成了大约 650 张图像来训练模型。

2)包括 David W 和 Sahaj Sarup 在内的我们都没有 NCS 最后,我们得到了 David Tischler 的帮助,他慷慨地提供了与 Movidius 棒 (NCS 1) 连接的 Pi 4。

3)我们确实制作了我们甚至测试过的模型,它运行得非常快,然后模型被转换为 TensorFlow Lite 模型。

4)我们几乎没有时间花在树莓派上,而且由于我们来自不同的时区,我们在进行一些讨论和谈话方面也遇到了困难。

5)自从我们获得对 Pi 的访问权限以来,我们连续尝试了 2 天。但是我们无法使模型转换为 OpenVINO 并使其启动并运行:(

分步说明

1. 作为第一步,我们将扫描并通过将 AMG8833 摄像头传感器分线板连接到鳍来获取数据。

2. 使用 Intel 的 OpenVino 软件进行所需的分析,它会得到加速,即 fps(每秒帧数)速度会逐渐提高。

3. 然后对该区域进行全面扫描,然后鳍将引导农民将杀虫剂放置在哪里以便更好地使用。

演示视频

您还可以在这里查看并试用我们托管在 Teachable Machine 网站上的模型

特征

1、成本低,使用方便。

2. 无需技术背景即可使用此设备

3. 能够在农业中正确使用化学品。

4. 预防因喷洒不需要的化学物质而引起的有害疾病。

未来的工作

为了进一步发展,我们正在考虑使用一些高功率相机,即使它们正在飞行,它们甚至能够跟踪和分类害虫。我们正在考虑降低成本,甚至试图让我们的模型在廉价的安卓手机上运行,​​并连接一个廉价的热像仪,这将帮助贫困农民轻松购买和使用这项技术来改善人类生活。

-X-

感谢您查看我们的项目。如果您有任何疑问,请不要忘记下拉任何关于查询或任何问题的评论。我们将尝试肯定地回答他们:)

 


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !