text: 面向农业的计算机视觉和深度学习
  注：本文翻译自博客《Computer Vision and Deep Learning for Agriculture》。农业部门是任何经济的基础。然而，随着人口的增加，农业部门将感到压力，需要多次扩大供应规模以应对不断增长的消费。此外，气候变化、疾病和贫瘠土地等不确定因素促使该行业采用人工智能等创新方法来保护和提高作物产量。人工智能有可能通过帮助农民最大限度地降低疾病风险、主动适应不断变化的气候条件、使用无人机监控作物安全等来改变农业部门，同时降低劳动力成本（图 1）。因此，农业市场的整体人工智能预计将从2020年的估计10亿美元增长到2026年的40亿美元，2020年至2026年的复合年增长率（CAGR）为25.5%。图1：人工智能在农业信息管理周期中的作用（来源：Intellias）。在农业部门使用人工智能的主要好处（图2）。图2：人工智能在农业部门的好处（来源：Primal Group）。人工智能应用程序可以分析天气、土壤条件、用水量和疾病风险，通过提供有价值的见解（例如正确的播种时间、正确的作物/种子选择）来帮助农民降低作物欠收的风险。事先检测植物病害、杂草和害虫可以减少除草剂和杀虫剂等化学品的使用，并节省成本。许多公司已经开始使用机器人，它可以消除80%的通常喷洒在作物上的物质，并将除草剂的支出降低90%。此外，在收获、采摘和包装设备中使用人工智能可以快速识别可收获产品的位置，并帮助识别正确的水果。草莓收获就是一个典型的例子。机器人可以以8英亩/天的速度采摘草莓。确切的收获量每天需要30个人。这可以节省时间并显着降低人工成本。借助卫星图像和天气数据，人工智能应用程序可以分析市场趋势，例如哪些作物有需求，哪些作物更有利可图。这有助于农民通过指导他们了解未来的价格模式、需求水平、播种的作物类型以获得最大效益、农药使用等来增加收入。牲畜、乳制品（牛奶、奶酪和黄油）、家禽（鸡蛋和肉类）和鱼类是很大一部分人口每日蛋白质摄入量的来源。随着食品消费需求的增加，农民感到压力很大，需要为在管理越来越多的动物同时，维持一个优质的环境。此外，劳动力短缺使任务更具挑战性。计算机视觉模型可以通过分析闭路电视 （CCTV）中牛、猪、羊和母鸡等动物的饲料，来确保适当的环境条件。此外，他们可以通过房屋管理自动化、行为分析、疾病估计、体重测量、鸡蛋检查、鱼类检测、识别、计数等提供有价值的见解。（图 3 和 4）。图3：畜牧业中的计算机视觉（来源：MDPI）。牲畜：人工智能系统可以跟踪动物（牛、猪、羊）的运动，并检测动物是在走路、喝水还是在吃东西，使大型谷仓中的动物管理更容易。这种系统还可以通过识别动物面部的不同部位并将其与兽医提供的标准面部图案进行比较来识别动物是否疼痛。家禽：基于人工智能的机器人可以反复喂养动物、收集鸡蛋和清除粪便。他们还可以在检查鸡蛋的质量并消除接近孵化、有裂缝或脏（含有羽毛和血液）的鸡蛋后自动计数和包装鸡蛋。此外，人工智能系统可以在孵化的早期阶段确定生育的准确性。图 4：用于母鸡样本动物监测的图像分类、物体检测和姿势估计（来源：MDPI）。Viscon集团推出了VINOVO活胚胎检测，使用获得专利的心跳传感器检测卵子内的活胚胎。出雏器内存在无法存活的种蛋可能是一种生物危害，并且不必要地占用额外的空间。鱼类：无人机可以监控近海养鱼场，并对水下渔网进行检查，以发现任何损坏和漏洞。无人机还可以提供鱼类种群信息，跟踪环境变化，并收集氧气水平、pH值、盐度和水污染水平等数据。此外，通过传感器检测鱼的饥饿程度可以帮助农民甚至机器人相应地喂养它们。由Seafood Innovation Cluster和IBM推出的AquaCloud平台通过监测对挪威野生鲑鱼种群构成威胁的海虱，实现了鲑鱼的繁殖，区域管理和病原体控制。产量估算：作物产量高估会影响盈利能力。然而，低估可能导致作物浪费和额外成本。适当的作物产量估算可以帮助农民知道他们应该何时开始收获，通过合理出售来最大化利润。产量估算的挑战在于它取决于几个动态因素，如作物基因型、环境因素、管理实践及其相互作用。现代深度神经网络可以通过图像/视频计算水果、蔬菜和花卉的数量来准确预测产量。它们甚至可以抵抗由树叶、树枝、照明等引起的遮挡。已经提出了使用线性回归、投影追踪回归（Drummond 等人，2003 年）、加权回归（Marko 等人，2016 年）、决策树（Romero等人，2013 年）和规则挖掘的各种机器学习算法用于作物产量估算。Rahnemoonfar和Sheppard（2017）提出了一个产量估计网络，用于计算遮挡下的西红柿。他们通过用绿色和棕色圆圈填充整个图片来模拟背景和番茄植物，然后用高斯滤波器模糊这些图像来生成用于训练的合成图像。绘制几个随机大小的圆圈以创建可变大小的西红柿（图5）。图5：创建用于西红柿产量估算的合成数据（来源：Rahnemoonfar和Sheppard，2017）。在他们的架构中，他们使用修改后的 Inception-ResNet-A 层（图 6）。它可以通过连接来自不同卷积层的结果来捕获多个尺度的特征。然后，此串联的结果通过整流线性函数进行估计。图6：用于西红柿产量估算的改进Inception-ResNet（来源：Rahnemoonfar和Sheppard，2017）。Mekhalfi 等人（2020 年）提出了第一个基于视觉的猕猴桃计数和产量估算，强调猕猴桃尖端而不是整个果实，因为它可以表现出各种形状、方向和遮挡。产量最大化：Microsoft目前正在与安得拉邦的农民合作建立一个机器学习系统，该系统可以帮助推荐最有利可图的作物、充足的播种日期、市场需求和趋势、土地准备、农场粪肥施用、种子处理、最佳播种深度、最佳灌溉系统、适量的肥料和农药等，这可以提高他们的作物产量30%。该模型使用Microsoft的Cortana Intelligence Suite。ML 模型可以通过考虑给定产品的总需求来确定给定作物的价格弹性曲线是无弹性的、单一的还是高弹性的。了解这些数据可以帮助农民预测价格，并为农业企业每年节省数百万美元的收入损失。支持向量机（SVM）、随机森林、逻辑回归、深度神经网络等算法可以轻松预测价格弹性。此类模型可以使用相关的特征，包括：天气参数（降雨量、温度等）、使用的肥料、土地类型、土壤相关信息等。入侵检测：来自闭路电视的监控信息可以执行人脸识别，识别大型农场中的入侵和异常情况，并向农民发送警报以采取适当的措施。这有助于避免家畜和野生动物破坏农作物和牲畜的风险。计算机视觉系统可以使用无人机的反馈来监测农作物的生长模式、干/湿点、特定的水模式以及化肥和农药的效果。此外，传感器可以提供有关土壤营养、含水量、pH值和盐度的数据，这些数据可以进行分析以选择合适的肥料和灌溉模式（图7）。图 7：用于植物应力表型的机器和深度学习pipelines（来源：Singh 等人，2018 年）。来自植物的高分辨率图像和多个传感器数据可用作机器学习算法的输入，以实现压力识别的数据融合和特征识别。整个方法可以分为四个阶段（识别、分类、量化和预测），以做出更好的决策。这种压力的一个例子是水压力。它的发生是由于根/土壤的水分供应有限或蒸腾作用增加。机器学习技术可以通过监测和识别此类场景来估计叶子含水量（LWC）。LWC是植物生产力和产量在作物生长早期的重要指标。基于回归和集成的方法可以轻松预测LWC值，该值可以与其他参数结合使用，通过分类模型对水胁迫水平进行分类。杂草管理：杂草消耗大量土壤养分，导致作物产量大幅下降。研究表明，作物和杂草之间的竞争造成了超过110亿美元的损失。因此，它们的检测和管理对农民非常重要。计算机视觉系统可以分析无人机采集数据，从作物上分割杂草，并通过激光和喷雾以在线方式清除它们。农业机器人BoniRob使用相机数据和计算机视觉算法来识别杂草，并通过将螺栓插入土壤来清除它们。该算法已经学会了通过分析叶子的大小、形状和颜色来区分作物和杂草。这使 BoniRob 能够在田间运行并在线消除不需要的植物（图 8）。图8：BoniRob机器人的结构（来源：Electronic Products）。疾病识别和预防：健康监测牲畜和农作物是另一个基本应用，其中闭路电视和无人机的数据可用于通过行为分析监测牲畜健康。CattleEye是一家使用高架摄像头和计算机视觉算法来监控牛的健康和行为的公司的一个很好的例子。在RGB和近红外光下扫描裁剪，可以使用无人机设备生成多光谱图像。有了这个，可以指定哪些植物已被感染，包括它们在广阔田野中的位置，以立即应用补救措施。多光谱图像将高光谱图像与3D扫描相结合。可以监测叶子和果实是否有任何可能破坏作物产量的传染病。计算机视觉算法可以分析叶子的颜色和斑点的存在，以将它们与健康的叶子区分开来。然而，这里的一个挑战是获得标记的植物/作物图像，这可以通过使用生成对抗网络（GAN）生成合成数据点来在一定程度上解决。这就是DC-GAN（深度卷积GAN）通过生成合成图像显着缓解类不平衡问题的地方。可以训练像EfficientNet这样的深度学习模型来分类和检测作物/植物疾病。Plantix 是一个很棒的应用，可以将你的智能手机变成一个作物医生，可以用来在几秒钟内检测作物中的病虫害。除了检测之外，它还提供处理作物的解决方案（图 9）。图9：用于作物病害检测和治疗的Plantix应用程序（来源：ICRISAT）。在农业部门部署人工智能模型最具挑战性的部分是确保该模型能够适应不断变化的环境条件。大多数农业活动具有固有的不确定性，因为降雨、湿度、阳光、温度和水供应等因素不在我们的控制范围内。因此，由于外部参数的变化，深度学习模型可能不是最佳解决方案。人工智能系统需要大量的监督数据来做出精确的预测。就农业而言，即使可以快速收集空间数据，但由于其季节性，时态数据难以管理。例如，作物生长时每年只能获得一次作物特定数据。这种限制使得在合理的时间内生成健壮的深度学习模型变得具有挑战性。此外，农业数据分散在数百万个农场中，这些农场没有通过集中式系统连接。这使得收集各种样本变得困难。解决此问题的一种方法是使用卫星图像数据。但是，这必须处理隐私问题，因为农民必须首先提供同意。农业中错误推荐或预测的成本可能会产生很大的影响。它与客户服务和信息技术等其他行业非常不同，在这些行业中，不正确的预测不会产生很大的影响。然而，遵循错误的建议可能意味着一整年的作物产量下降，直接影响农民的生活和全球粮食安全。解决这个问题的一种方法是在将人工智能系统部署到整个农场之前，在一小部分农民的土地上进行实验。处理它的另一种方法是通过概率方法。在概率模型中，预测由概率分布表示，统计置信区间位于预测旁边。在发布预测时，模型会考虑其置信度。如果置信度不高，则放弃预测，从而边缘化与AI解决方案规定的更改相关的风险。农民不精通技术，这意味着他们必须完全依赖第三方来理解和分析人工智能系统给出的建议。这使得他们一开始不愿意采用这项技术。一个简单的解决方案是为他们提供更简单的技术，例如农业交易平台。一旦他们理解并习惯了这些简单的解决方案，通过研讨会为他们提供人工智能功能将是合理的。农业部门是任何经济的基础。随着人口和粮食需求的增加，农民被迫采用人工智能（AI）等创新方法来保护和提高作物产量。因此，人工智能有可能改变我们对农业的看法，具体如下：● 农业：计算机视觉模型可以使用牛、猪、羊和母鸡等动物的闭路电视数据，通过房屋管理自动化、行为分析、疾病估计、体重测量、鸡蛋检查、鱼类检测、识别、计数等提供有价值的见解。● 产量估算：深度神经网络可以通过图像/视频计算水果、蔬菜和花卉的数量，提供可靠的产量预测（由树叶、树枝、照明等引起的遮挡）。● 产量最大化：ML模型可以预测给定作物的价格弹性曲线，这可以帮助农民预测价格，并为农业企业每年节省数百万美元的收入损失。● 安全监控：人脸识别系统可以识别大型农场中的入侵和异常情况，并向农民发送警报以采取适当的措施。这有助于避免家畜和野生动物破坏农作物和牲畜的风险。● 健康监测：可以监测叶子和果实是否有任何可能破坏作物产量的传染病。计算机视觉算法可以分析叶子的颜色和斑点的存在，以将它们与健康的叶子区分开来。● 杂草管理：计算机视觉系统可以分析无人机数据，从作物上分割杂草，并通过激光和喷雾在线清除它们。然而，在农业部门使用人工智能带来了挑战：● 最具挑战性的部分是确保模型能够适应不断变化的环境条件，如降雨、湿度、阳光、温度和水的可用性，这些条件不在我们的控制范围内。● 由于农业的季节性，时态数据难以管理。● 一个错误的建议可能意味着一整年的作物产量损失，直接影响农民的生活和全球粮食安全。● 采用是困难的，因为农民必须依靠第三方来理解和分析人工智能系统给出的建议。我希望这篇文章能帮助你了解在农业领域使用深度学习的好处、应用、挑战和权衡。