案例研究

为了分析、标记大量复杂的图像并将其馈送到模型中,AgroScout 在模型开发工作流的关键阶段将 ClearML 嵌入到其基础设施中。

2021 年 11 月 25 日

客户概览

AgroScout 创建了一个自动化、AI 驱动的侦察平台,用于大面积农业区域的病虫害早期检测。凭借精确的数据驱动洞察(通过周期性手动采样几乎无法获得),农民可以主动预防作物和相应收入的重大损失,同时提高其耕地的生产力,并且通过更精确地靶向问题区域来减少农药使用。

挑战

团队需要专注于他们的技术,而不是管理后台基础设施。

AgroScout 利用无人机和相机镜头收集作物数据,以识别病虫害的细微迹象。如果这仅仅是专注于基于 AI 的图像分析(医学、建筑、交通等)的公司面临的共同大数据挑战,他们只需构建模型并投入大量计算资源即可解决。但针对农业进行图像分析带来了一些独特的挑战:

简而言之,AgroScout 的技术涉及一些繁重的技术工作,需要优化其工作流以减轻手动操作负担。他们自然希望获得一个可扩展的、独立的解决方案,易于集成和维护。团队需要专注于他们的技术,而不是管理后台基础设施。

解决方案

AgroScout 的研究促使他们选择了 ClearML,以此来跟踪研究、控制云资源并在整个开发周期中管理数据。

ClearML 在六个方面提供了帮助

1. 处理高分辨率图像

由于处理大规模高分辨率图像不可行,AgroScout 的方法是在将图像馈送到模型进行训练之前将其切割成子图像。自然地,这极大地增加了需要存储和跟踪进行分析的图像数量。ClearML 的数据集管理功能帮助他们为每个数据集创建版本,包括一个已预处理并准备好进行训练的版本。仅促进这一工作流就足以证明集成 ClearML 的合理性,但这仅仅是个开始。

2. 管理来自多位农学家的不同标注

每个 ML 模型都始于人工输入,以教导系统在其对给定数据集进行初步分析时应寻找什么。在农业领域,熟练的标注员难以找到;因此从全球招募了合格的个人和公司。AgroScout 很快发现,无论他们多么直接和清楚地要求标准化标注,他们收到的数据都带有各种标签名称和术语,甚至来自同一供应商内部的多名员工。通过使用 ClearML UI 中的数据集统计功能,他们识别了不匹配项,创建了统一策略来映射同义词,并最终为具有相同含义的标签创建了别名规则。

仅一张图像就可以产生数千个标注。即使对于人类来说,也很难检测出所有的病虫害,并准确决定如何对检测到的内容进行分类。

3. 标注极其复杂、多方面的数据集

AgroScout 无法仅靠一个模型来涵盖所有农业场景。他们的客户遍布全球,自然每个田地都有其独特的作物类型、天气、年龄、土壤和其他变量。

这些因素使得每个特定地点的分析都不同于另一个。所有这些向量在尝试随时获取元数据时会带来管理问题,因为
分析时需要遍历多个文件夹。ClearML 的 Hyperdatasets 使 AgroScout 能够组织他们的数据版本,并将其与模型训练任务关联起来进行训练后分析。

4. 标注量

有时仅一张图像就需要数千个标注来记录细节,例如地面隆起(指示植物即将出苗的凸起)、初次出苗、成株以及田地中的空隙。这不仅对标注员来说是一个密集的过程,而且软件本身必须处理海量的元数据,并具备全面的编辑功能。这种类型的数据管理对许多数据管理工具来说可能是一个挑战,但 ClearML 正是为应对这种可扩展性挑战而设计的。

5. 管理 GPU 实例上的工作负载

训练和测试用于农业分析的模型类型——即使经过优化——也需要大量的 GPU 资源。AgroScout 构建了由 AWS Lambda 函数触发的数据摄取管道。ClearML Orchestrate 与之集成,负责管理用于训练的 EC2 实例上的工作负载;然后使用 ClearML 的 Orchestrate UI 监控和管理已执行的任务。这是一个经典的例子,说明一项繁重、耗时且手动的任务原本会分散他们对核心开发的注意力。

6. 选择获胜的模型

这种特定类型的模型比较非常灵活和动态,因为代表有机景观不断变化和不可预测性质的“模糊”生物数据。很少出现“这个模型成功了,那个失败了”的情况。进行比较——决定哪些实验继续运行,哪些停止——是 ClearML 工具套件的核心功能,并被证明足够强大,能够进行活跃、持续的比较,从而简化模型优化的过程。

结果

虽然总体生产力和上市时间的缩短难以精确测量,但 AgroScout 的团队感受到了其开发生命周期的改进:

100 倍

他们在数据团队规模不变的情况下,将数据量增加了 100 倍以上

50 倍

在团队规模相同的情况下,将实验量增加了 50 倍

50%

将产品化时间(从实验开始到模型投入生产的时间)缩短了 50% 以上

Facebook
Twitter
LinkedIn
滚动到顶部