农业中的计算机视觉 2023
物体检测应用于检测田间收割机和果园苹果
一、说明
欢迎来到Voxel51的计算机视觉行业聚焦博客系列的第一期。每个月,我们都将重点介绍不同行业(从建筑到气候技术,从零售到机器人等)如何使用计算机视觉、机器学习和人工智能来推动创新。我们将深入探讨正在使用的主要计算机视觉任务、当前和未来的挑战以及处于最前沿的公司。在本届中,我们将重点关注农业!继续阅读以了解农业中的计算机视觉。
二、行业概况
农业行业已经成熟,可以进行新的基于计算机视觉的人工智能应用。世界农民的任务是通过种植更健康、更高效的食物、饲料、纤维来养活地球,同时还要照顾好他们的土地和资源。与其他行业一样,农业组织使用计算机视觉和人工智能应用程序来推动新的创新并释放新的效率,以帮助他们在现代挑战的背景下实现目标。在我们深入探讨基于计算机视觉的人工智能技术在农业中的几种流行应用之前,以下是 CV 和 AI 可以提供帮助的一些行业挑战。
2.1 农业行业面临的主要挑战
- 全球人口增长:预计到9年,人口数量将达到8亿,导致粮食需求急剧增加。
- 可耕地的减少:地球上的可耕地数量正在减少,一些研究表明,在未来四分之一世纪内,可耕地可能会减少一半。
- 劳动力萎缩:从事农业工作的人数正在下降,从40年占全球工人的2000%下降到27年仅占全球工人的2019%。劳动力短缺可能导致骨干人员监督数十万英亩的土地。
- 气候相关干扰的增加:极端天气事件的频率增加预计将导致作物产量下降。
- 讨厌的害虫:根据联合国粮食及农业组织(FAO)的数据,全球高达40%的作物因害虫而损失。仅植物病害造成的损失每年就达220亿美元。
换句话说,在复杂多变的环境中,农业产业将需要用更少的资源养活更多的人。新技术的发明和采用对于克服这些挑战至关重要。农业中的人工智能每年的价值已经超过1亿美元,复合年增长率(CAGR)为20%,预计到2年将达到6亿美元。计算机视觉应用占这一现有市场的很大一部分,以及其预期增长的大部分。
继续阅读计算机视觉应用程序帮助农业组织的一些方式。
三、计算机视觉在农业中的应用
3.1 精准农业
随着杀虫剂、除草剂和种子价格的不断上涨,精准农业正在帮助农民降低成本,并从土地上获得更多收益。顾名思义,精准农业就是对现有过程进行更精细的控制,从作物的放置到土壤的形成,再到化学制剂的应用。计算机视觉正在与机器人技术和其他新兴技术相结合,将这种精度水平带入农业。
视觉技术在现场用于做出实时决策。物体检测技术用于识别和定位单个昆虫和杂草,分别用于农药和除草剂的应用。精确控制也超越了哪里,到多少:基于植物的颜色、大小和其他视觉属性的非线性回归模型可以准确预测植物应该接受的每种化学物质的数量。这意味着在优化回报的同时节约资源。
有关精准农业中的计算机视觉技术的概述,请参阅用于作物农业的精准农业中的机器视觉系统。
3.2 精准畜牧业
用于从航空照片中检测牲畜的空中绵羊数据集
精准畜牧业(PLF)旨在深入了解并实现对涉及牛、羊和其他牲畜的过程的精确控制。PLF可用于最大限度地提高产量,监测或确保动物健康,或减少运营碳足迹。
在精准畜牧业中,计算机视觉技术通常与GPS跟踪和音频信号结合使用,以产生洞察力。总之,这些技术不仅可以用于识别和跟踪个体动物,还可以用于分析它们的体积、步态和活动水平。
以下是计算机视觉在PLF中的几种应用方式:
- 用于对猪的攻击行为进行分类和检测的动力学深度传感器
- 用于预测蛋鸡羽毛损伤的光流
- 远程热成像和夜视技术改善濒危野生动物资源管理
有关精准畜牧业的更多信息,请参阅动物科学中的图像分析和计算机视觉应用:概述和探索精准畜牧业技术帮助解决农场动物福利问题的潜力。
3.3 自主农场设备
自主农业设备对于使更少的农民能够耕种更多的土地非常重要。随着机器人引导和控制的进步,计算机视觉正在帮助农民实现操作自动化。用于对象检测和分割的机器学习模型正在进入拖拉机和收割机。
请继续关注我们即将发布的关于自动驾驶汽车中计算机视觉的行业聚焦博客文章!
3.4 作物监测
用于从植物叶子图像检测植物病害的 PlantDoc 数据集
为了应对作物损失,农民使用来自土壤传感器套件、局部天气预报和多级图像的数据来远程监控大片土地。这些数据可以合成为“作物情报”,使农民能够在为时已晚之前采取明智的行动。
在计算机视觉方面,来自卫星、无人机和高分辨率相机的图像用于早期疾病检测和监测、土壤状况监测和产量估算。
一些例子包括:
- 使用移动捕获设备自动诊断植物病害,应用于小麦用例
- 基于深度学习的幼苗发育检测
- 基于RGB相机和人工神经网络的土壤颜色分析:一项面向智能灌溉的试点研究
- 基于遥感数据的作物产量预测深度高斯过程
有关作物监测研究和应用的更全面讨论,请参阅农业自动化中的计算机视觉技术 - 综述。
3.5 植物表型分析
气候变化将使许多植物面临温度升高、二氧化碳含量升高和降水变化更大的因素。它还将使极端天气事件更加普遍。一些植物将比其他植物更好地生存和茁壮成长。
植物表型是识别和理解遗传和环境因素如何在植物表型组中物理表现的过程。计算机视觉正在成为被广泛认为是全球粮食安全关键的重要工具,非侵入性检测、分割和 3D 重建技术为研究人员提供了从叶面积到植物营养水平和生物量等所有详细信息。例如,核磁共振图像的分割可用于绘制植物三维根系的结构,这在水和养分的流动中起着重要作用。
近年来,ICCV和ECCV的研讨会侧重于植物表型问题,强调了计算机视觉社区对该主题的承诺。
帮助您入门的一些论文包括:
- 植物表型:从豆称重到图像分析
- 植物表型分析的未来情景
- 基于单视角稀疏点云的生菜高度回归
- 田间尺度高粱实验的度量学习
3.6 分级和排序
农产品从田间采摘后,在最终进入当地杂货店的新鲜食品过道之前,可能会受到质量控制过程的影响。对于水果和蔬菜,这采取根据大小、形状、颜色和其他物理特征进行分级和分类的形式。另一方面,对于谷物和豆类,类似的分拣过程用于检测缺陷并过滤掉异物。
虽然分级和分类传统上是手工完成的,但计算机视觉现在正在帮助人类完成大部分这项工作。光学分拣使用图像处理技术(如对象检测、分类和异常检测)将质量控制纳入食品生产和制备中。到 2027 年,色选市场预计将超过 3 亿美元。
最近期一批论文:
- 基于自动化机器视觉的水果分拣和分级系统
- 基于计算机视觉的农业番茄品质评价水果分级系统
- 使用计算机视觉进行水果和蔬菜质量评估:综述
- 计算机视觉自动分级分选系统在农产品和食品质量评价中的前景
四、处于农业计算机视觉前沿的公司
4.1 碳机器人
碳机器人激光除草机杂草检测模型在行动。图片由Carbon Robotics提供。
农业机器人初创公司Carbon Robotics成立于2018年,总部位于西雅图,已经筹集了35万美元,帮助农民用激光而不是黑客来对抗杂草。该公司的LaserWeeder技术利用9个机载激光器中的热能来瞄准杂草,而不会伤害作物。
LaserWeeder使用物体检测来识别和精确定位杂草。安装的摄像机拍摄的高分辨率图像通过板载 Nvidia GPU 馈送,并以毫秒为单位生成的预测被传送到激光器进行发射。当连接到拖拉机上时,该机具每小时能够消除 200,000 根杂草。
Carbon Robotics的Autonomous LaserWeeder还使用计算机视觉技术与GPS位置数据相结合,进行自主导航。除了杂草检测模型外,该自主代理还配备了沟检测模型,该模型使其能够将应该遵循的轨迹与植物床区分开来。
该公司是2021年ICCV的赞助商。
4.2 一土
根据卫星图像和边界检测模型生成的OneSoil Map。图片由OneSoil提供。
总部位于苏黎世的OneSoil成立于2017年,在卫星图像上采用计算机视觉技术,帮助农民最大限度地提高产量并降低成本。
2018年,OneSoil发布了OneSoil Map,这是一张遍布59个国家的农田综合地图。为了生成这张地图,他们使用了欧盟Sentinel-250卫星拍摄的2 Tb卫星图像。使用专有的计算机视觉模型,他们检测了云,阴影和雪,并删除了它们以生成干净的图像。为了应对卫星图像的低分辨率,他们合并了多年拍摄的图像。
免费的OneSoil应用程序被加冕为2018年Product Hunt AI和机器学习年度产品,允许农民放大并选择他们的土地,而无需自己划定边界。此功能的关键是OneSoil的田间边界检测模型。为了训练模型,他们与许多农民合作,获得了田间边界数据的小样本,并使用数据增强操作将训练数据集的大小增加了多个数量级。鉴于易用性,难怪有超过 300,000 名农民使用该应用程序,约占全球耕地的 5%。
截至 2023 年,OneSoil 的计算机视觉模型可以识别 12 种主要作物类型,该公司使用这些信息生成生产力区和土壤亮度图,帮助农民更好地利用他们的土地。
4.3 塔拉尼斯
Taranis的AcreForward™叶级作物智能模型,在亚毫米高分辨率图像上进行了训练。图片由塔拉尼斯提供。
Taranis位于印第安纳州韦斯特菲尔德,已经存在了近十年,筹集了超过100亿美元,为农民带来叶子层面的见解。Taranis团队收集并数字化了一个数据集,该数据集由超过50万张亚毫米高分辨率图像和超过200亿个数据点组成。这些图像用于训练针对杂草、患病植物、昆虫和营养缺乏的自定义计算机视觉检测算法。
Taranis的AcreForward Intelligence使用来自无人机,飞机和卫星等多个来源的实时图像来识别每片叶子的昆虫损害,在杂草成为问题之前检测杂草,发现营养缺乏症,并计算田地中的植物数量,以便农民可以就种植和使用投入物做出明智的决定。
2022 年,全球最大的风险投资公司之一安德森·霍洛维茨将塔拉尼斯评为启动美国复兴的前 50 家公司之一。
4.4 蓝河科技
杂草和棉花植物检测。图片由蓝河科技提供。
作为约翰迪尔的子公司,Blue River Tech于2017年被这家农业巨头以305.<>亿美元的价格收购。当公司成立时,他们缩小了生菜种植的范围,使用计算机视觉和机器学习模型来帮助空间植物获得最大产量。自从这些相对卑微的开始以来,Blue River Tech的计算机视觉功能已经扩展到包括传感器融合,对象检测和分割。
所有这些技术都汇集在他们的See&Spray技术中。在传统的广播喷洒中,化学品在整个田地上均匀喷洒。这种做法导致除草剂浪费,这对农民来说代价高昂,会污染环境,并可能促进对所施用化学品的抗药性。See&Spray使用物体检测来实时识别杂草,以便除草剂可以只在需要的地方施用,从而减少77%的除草剂。
Blue River Tech将其See&Spray技术安装在配备6个立体摄像头的自动拖拉机中,从而进一步进行了杂草检测。这些摄像头一起允许车载计算机使用传感器融合来估计拖拉机周围物体的深度信息。颜色 (RGB) 数据和深度信息被输入到语义分割模型中,该模型将世界分为五类:可驾驶地形、天空、树木、大型物体(如人、动物和建筑物)以及拖拉机正在使用的工具。
每当在其路径中检测到大型物体时,自动拖拉机就会停下来,并经过训练,通过比假阳性更强烈地权衡假阴性大型物体检测来谨慎行事。当拖拉机停止时,图像被发送到云端供人类查看。
Blue River Tech的计算机视觉模型在一个不断增长的数据集上进行训练,该数据集已经包含超过一百万张图像。
五、农业数据集和竞赛
如果您有兴趣探索计算机视觉在农业中的应用,请查看以下数据集和竞赛:
- 高粱生物量预测
- 根分割挑战
- 叶片分割和计数挑战
- 全球小麦数据集与挑战
- 空中绵羊数据集
- DeepWeeds:用于深度学习的多类杂草物种图像数据集
- PlantDoc:用于视觉植物病害检测的数据集
有关用于杂草控制和水果检测的公开可用数据集的详细讨论,请查看精准农业中计算机视觉任务的公共数据集调查。
如果您想看到这些中的任何一个,或其他计算机视觉农业数据集添加到 FiftyOne 数据集动物园,请与我们联系,我们可以共同努力实现这一目标!
六、相关社区!
农业应用程序的开发人员可以从FiftyOne的能力中受益,它可以轻松地过滤每天从农场和其他来源收集的大量视觉数据。使用开源的FiftyOne,可以将这些数据整理到数据集中以进行模型训练,或与专家共享以注释或分析CV模型。加入已经使用FiftyOne解决当今计算机视觉中一些最具挑战性问题的数千名工程师和数据科学家的行列!
- 1,300+ 五十一个松弛会员
- 2,450+ 星在 GitHub 上
- 2,800+ 聚会成员
- 由 234+ 存储库使用
- 55+ 贡献者
七、下一步是什么?
- 如果你喜欢你在GitHub上看到的东西,给开源的FiftyOne项目一个星。
- 开始使用五十一!我们使几分钟内启动和运行变得容易。
- 加入 FiftyOne Slack 社区,我们总是很乐意提供帮助。
相关文章:

农业中的计算机视觉 2023
物体检测应用于检测田间收割机和果园苹果 一、说明 欢迎来到Voxel51的计算机视觉行业聚焦博客系列的第一期。每个月,我们都将重点介绍不同行业(从建筑到气候技术,从零售到机器人等)如何使用计算机视觉、机器学习和人工智能来推动…...
掌握三个基础平面构成法则 优漫动游
1.图形重复:通过重复使用同一种或类似的图形元素,创造出一种有节奏、有重复感的视觉效果。这种设计手法可以使海报看起来更加统一和协调,增强视觉冲击力。 掌握三个基础平面构成法则 2.字体重复:通过重复使用同一种或类似的字体元素,创造出一种有序…...

叶工好容5-日志与监控
目录 前言 平台维度 docker运行状态 cAdvisor-日志采集者 Heapster-日志收集 metrics-server-出生决定成败 kube-state-metrics-不完美中的完美 应用维度 日志 部署方式 输出方式 工具选择 日志接入 监控 serviceMonitor Annotation Prometheus扩展性 Thanos …...

Dubbo 指定调用固定ip+port dubbo调用指定服务 dubbo调用不随机 dubbo自定义调用服务 dubbo点对点通信 dubbo指定ip
1. 在写分布式im时nami-im: 分布式im, 集群 zookeeper netty kafka nacos rpc主要为gate(长连接服务) logic (业务) lsb (负载均衡)store(存储) - Gitee.com,需要指定某一…...

BCNet论文精读
Title—标题 Boundary Constraint Network(边界约束网络) With Cross Layer Feature Integration(跨层特征融合) for Polyp Segmentation(息肉分割) 结构分析 标题结构由三部分组成,分别是本文…...

PHP8的注释-PHP8知识详解
欢迎你来到PHP服务网,学习《PHP8知识详解》系列教程,本文学习的是《PHP8的注释》。 什么是注释? 注释是在程序代码中添加的文本,用于解释和说明代码的功能、逻辑或其他相关信息。注释通常不会被编译器或解释器处理,而…...

优化企业集成架构:iPaaS集成平台助力数字化转型
前言 在数字化时代全面来临之际,企业正面临着前所未有的挑战与机遇。技术的迅猛发展与数字化转型正在彻底颠覆各行各业的格局,不断推动着企业迈向新的前程。然而,这一数字化时代亦衍生出一系列复杂而深奥的难题:各异系统之间数据…...
前端存储之sessionStorage和localStorage
sessionStorage sessionStorage是一种用于web浏览器中临时保存数据的客户端存储机制。它允许在同一个浏览器窗口的会话期间,保存和访问临时数据,而这些数据在用户关闭窗口或者标签页会被清除。每个sessionStorage对象都与当前的浏览器会话相关联&#x…...

上海亚商投顾:沪指放量大涨1.84% 证券股掀涨停潮
上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 市场情绪 三大指数今日低开高走,沪指午后放量涨近2%,上证50盘中大涨超3%。大金融板块全线爆发&#…...

微服务划分的原则
微服务的划分 微服务的划分要保证的原则 单一职责原则 1、耦合性也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及…...
作业 - 3
[ 作业 - 3 ] Industrial Melanism: The Case of the Peppered Moth melanism n. 黑化;黑变病;黑色素沉着症 peppered adj. 用胡椒调味的;加胡椒的,撒胡椒粉的 pepper的过去分词和过去式 moth n. 蛾;飞蛾 Paragraph 2 Over a …...

MTK联发科安卓核心板MT8385(Genio 500)规格参数资料_性能介绍
简介 MT8385安卓核心板 是一个高度集成且功能强大的物联网平台,具有以下主要特性: l 四核 Arm Cortex-A73 处理器 l 四核Arm Cortex-A53处理器 l Arm Mali™-G72 MP3 3D 图形加速器 (GPU),带有 Vulkan 1.0、OpenGL ES 3.2 和 OpenCL™ 2.x …...

ChatGPT付费创作系统小程序端开发工具提示打开显示无法打开页面解决办法
很多会员在上传小程序前端时经常出现首页无法打开的情况,错误提示无法打开该页面,不支持打开,这种问题其实就是权限问题,页面是通过调用web-view访问,说明业务域名有问题,很多都是合法域名加了,…...
CVPR2023新作:pix2pix3D
Title: 3D-Aware Conditional Image SynthesisAffiliation: Carnegie Mellon University (卡内基梅隆大学)Authors: Kangle Deng, Gengshan Yang, Deva Ramanan, Jun-Yan ZhuKeywords: Image Synthesis, 3D-aware, Neural Radiance Fields, Interactive Editing, Conditional G…...
Django自定义用户错误记录
django.db.migrations.exceptions.InconsistentMigrationHistory: Migration admin.0001_initial is applied before its dependency mysit.0001_initial on database default.执行: 1 setttings.py: 先注释掉 django.contrib.admin 2 注释掉urls.py path(“admin/…...

Abaqus 导出单元刚度矩阵和全局刚度矩阵
Abaqus 导出单元刚度矩阵和全局刚度矩阵 首次创建:2023.7.29 最后更新:2023.7.29 如有什么改进的地方,欢迎大家讨论! 详细情况请查阅:Abaqus Analysis User’s Guide 一、Abaqus 导出单元刚度矩阵 1.生成单元刚度矩阵…...

Pytorch(一)
目录 一、基本操作 二、自动求导机制 三、线性回归DEMO 3.1模型的读取与保存 3.2利用GPU训练时 四、常见的Tensor形式 五、Hub模块 一、基本操作 操作代码如下: import torch import numpy as np#创建一个矩阵 x1 torch.empty(5,3)# 随机值 x2 torch.rand(5,3)# 初始化…...

图数据库Neo4j学习三——cypher语法总结
1MATCH 1.1作用 MATCH是Cypher查询语言中用于从图数据库中检索数据的关键字。它的作用是在图中查找满足指定条件的节点和边,并返回这些节点和边的属性信息。 在MATCH语句中,通过节点标签和边类型来限定查找范围,然后通过WHERE语句来筛选符合…...
2023杭电多校第一场部分题解
还有些没补的题以后回来补。 索引 1001100210031005100910101012 1001 感觉是大暴力题,数据范围给的很小所以每次可以暴力求出两人的路径。枚举路径的交集里的点然后看看两个人在这个点相遇需要的最短时间就可以了。确定了具体的点之后求 4 4 4 次exgcd即可知道答…...

算法38:反转链表【O(n)方案】
一、需求 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1: 输入:head [1,2,3,4,5] 输出:[5,4,3,2,1] 示例 2: 输入:head [1,2] 输出:[2,1] 示例3ÿ…...

IDEA运行Tomcat出现乱码问题解决汇总
最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…...

【Python】 -- 趣味代码 - 小恐龙游戏
文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...

微信小程序之bind和catch
这两个呢,都是绑定事件用的,具体使用有些小区别。 官方文档: 事件冒泡处理不同 bind:绑定的事件会向上冒泡,即触发当前组件的事件后,还会继续触发父组件的相同事件。例如,有一个子视图绑定了b…...
C++:std::is_convertible
C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...
Java如何权衡是使用无序的数组还是有序的数组
在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...
uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖
在前面的练习中,每个页面需要使用ref,onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入,需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...

ESP32读取DHT11温湿度数据
芯片:ESP32 环境:Arduino 一、安装DHT11传感器库 红框的库,别安装错了 二、代码 注意,DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...

基于当前项目通过npm包形式暴露公共组件
1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹,并新增内容 3.创建package文件夹...

P3 QT项目----记事本(3.8)
3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...
【算法训练营Day07】字符串part1
文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接:344. 反转字符串 双指针法,两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...