资料介绍
描述
经验丰富的园丁可以通过目视检查来诊断植物压力。
为了参加Tensorflow 微控制器挑战赛,我们选择突出节水问题,同时突破计算机视觉应用的极限。我们提交的被称为“下垂,就在那里”的提交建立在之前的工作之上,以识别下垂、枯萎的植物。
植物的干旱胁迫通常表现为视觉上可辨别的下垂和萎蔫,也称为质壁分离,表明低浊度或水压。自然地,植物中的低水压可能是由于快速蒸腾作用并影响养分运输。
基于时间表的灌溉很简单,但不能适应植物胁迫的视觉环境。园丁仍然有责任根据不断变化的需求进行调整,以限制因浇水不当造成的浪费和损害。
植物监视器作为硬件项目很受欢迎,通常会为使用土壤湿度传感器 (YL-69)的智能灌溉引入额外的环境。相反,我们使用设备上的计算机视觉模型在从相机馈送中采样的图像上运行。
视觉方法侵入性较小,可以部署在具有更大机械简单性的最小化硬件上。尽管计算机视觉在很大程度上仍然是特定于任务的,但在使用迁移学习训练神经网络时,可以实现高性能的图像分类器。
在本次更新中,我们应用知识蒸馏 (KD)等技术来减少模型的占用空间。虽然最初的 POC 在 3.3V Pi Zero 上运行,但此更新缩小了模型,足以适应电池供电的Arduino Nano 33 BLE Sense !
关于董事会的一点信息
我们认为Arduino Nano 33 BLE Sense是一个用于边缘 AI 项目原型设计的绝佳平台。
一个强大的处理器以及所有流行的界面帮助我们演示了MuttMentor ,它结合了关键字发现和动作识别来演示一个“智能”的狗答题器。我们甚至附加了一个摄像头,以使用 tensorflow lite 图像分类器执行人员检测!
与后面的演示一样,此演示使用ArduCam执行图像分类。然而,这里我们使用 Keras 中的迁移学习和模型蒸馏来训练自定义分类器,而不是 tf-slim。
训练下垂,就是这样
训练一个足够小以适应 Arduino 但又足够大以保持足够准确度的图像分类器是一个受限的优化挑战。幸运的是,知识蒸馏提供了一种训练微型模型的原则方法。
在最简单的形式中,KD 强制学生模型的 logits 与更强大的教师模型的逻辑匹配。这是通过用一个附加项扰乱标准分类交叉熵损失来实现的:logits 之间的 KL 散度。
在实践中,结合了温度参数来软化这些分布,帮助纠正过度自信的教师预测。上面链接的调查引用了Yuan 等人将 KD 解释为标签平滑的自适应概括。
Logit 匹配还可以提供一种机制来注入有利于训练小型模型的先验信息。但重要的是,与过度自信但准确度高的教师相比,虽然经过良好校准的模型却往往能培养出更好的教师。
此外,教师模型置信度和校准在训练最终模型期间对梯度更新提供实例级影响。
考虑到这些发现,我们选择了在 imagenet 上预训练的 MobileNetV2 基础模型,开始在我们粗略平衡的 6K 图像集合上微调教师模型,这些图像来自搜索和短暂的爬网。
充分利用我们的图像集合,我们采用标准的图像增强方法。总而言之,我们在三倍训练数据后随机应用了简单的光度失真(色调、旋转、水平翻转)。
添加一个小的密集层,我们将可训练参数的数量保持在 200K 以下,以将我们的教师模型微调多达 20 个 epoch,并提前停止(耐心 = 3)。
接下来,我们通过探测温度和 alpha 参数组合调整了一个不错的 keras KD 示例,旨在将损失中的两个总和保持在可比较的范围内。最终,我们发现 alpha=0.1 和 temperature=1 运行良好。
我们的学生模型在将输入转换为 32x32 灰度图像后使用了一个非常简单的 CNN 架构,模型参数少于7K!最终,我们将可训练参数数量减少了近25 倍,而量化前的准确度仅降低了5% !当然,这低估了老师的 MobileNetV2 基础模型中数百万个无法适应设备的冻结参数!
<7K 参数,400ms 推理时间
虽然远不能取代园丁的推理,但围绕数据管理和模型改进的充分理解的优化可能会导致强大的、上下文感知的灌溉转换。
下垂,那里是演示转储泵
最初的下垂演示控制蠕动泵,通过计算机视觉推断来优化节水。Arduino BLE 使用微型电池运行,旨在实现低功耗,因此我们无需使用泵。
通过这种新的硬件配置,我们改为使用 Arduino通过 BLE 发出灌溉需求信号,本质上是表达植物对水的需求并触发灌溉事件。
结论
智能节水是人口不断增长的基本问题。随着用水经济和计算资源的不断变化,我们预计农业技术创新将围绕优化用水量进行融合。
也许有一个高度专业化的传感器能够引入植物压力信号以优化水和养分的输送。我们希望这个项目能让您围绕水资源保护、农业技术或其他方面的创新进行思考。
- 学习下垂控制的逆变器并联原理
- Arduino唤醒词检测
- 使用Arduino和TensorFlow进行唤醒词检测
- 在Android中使用TFLite c++部署
- 基于Arduino硬件光控灯制作资料 6次下载
- Arduino Uno国内改版电路原理图下载 0次下载
- Arduino Uno Rev.3开发板意大利原版电路图 0次下载
- Arduino编程基础(一)——Arduino语言资料下载
- 如何使用语音模块和Arduino进行交流 32次下载
- Arduino进行端口通信的实例程序免费下载
- Arduino开发机器人经典书籍推荐Arduino开发实战指南:机器人卷
- 如何使用Arduino和LabVIEW进行多路数据采集系统的设计
- 直流微电网的一种增量式下垂控制方法 6次下载
- VSC-MTDC下垂控制策略研究 0次下载
- 鲁棒下垂控制策略的微网平滑切换 5次下载
- 如何使用Python和PinPong库控制Arduino 718次阅读
- 如何进行图像边缘的检测 1090次阅读
- 求一种基于Arduino的门禁系统设计方案 1132次阅读
- 使用MATLAB进行异常检测(下) 1989次阅读
- 新版Arduino IDE到底有何不同 5860次阅读
- Arduino I/O函数详解 2342次阅读
- 什么是Arduino,新手程序员的最佳选择 6166次阅读
- 如何从网页控制arduino? 3836次阅读
- 如何采用Arduino系统板进行单片机编程 6269次阅读
- 功率下垂控制原理对逆变器并联系统的按容分配负荷问题 4157次阅读
- TFLite在有道云笔记中用于文档识别的实践过程 5314次阅读
- arduino开发环境介绍 2.3w次阅读
- avr和arduino之间有什么关系?avr单片机和arduino的优点分析 3w次阅读
- arduino是什么以及arduino能干什么 4.4w次阅读
- 基于Arduino开发环境的光电编码器检测仪设计方案 7257次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多