有了AI,你可以在几秒内数到1000+葵花籽

简介: 有了AI,你可以在几秒内数到1000+葵花籽

今天来介绍下如何使用ai来计算用手机拍摄的照片中的葵花籽。

步骤:

1.业务需求

2.数据准备

3.模型结构

4.libs和工具

5.结果

6.误差分析

7.失败/假设

8.结论

9.参考文献


1.业务需求

对农学家来说,计算向日葵和玉米的种子是一项常见的任务,因为这些计算将被用来预测“生物收获”。另外,农学家计算1000粒的重量,这将进一步用来估计每个土地面积的总产量。

此外,产量预测是农业分析的主要功能。他们预测得越快、越准确,公司赚的钱就越多。


这些检查应该在每个领域进行推广。这是它现在的工作模式:


  1. 农学家到田间去
  2. 从地里不同的地方采10朵向日葵
  3. 把每棵向日葵分成四份
  4. 数种子,再乘以4,得到每棵向日葵上种子的总数
  5. 随机取1000粒种子称重
  6. 我们从其他的检查中获得每公顷土地上的植物密度(或使用计划的密度)
  7. 并计算(每公顷密度_向日葵平均种子数量_ 1000粒重量)/ 1000 =每公顷产量重量

这是一张常见的向日葵照片

65.png



可以看到白色(未成形)和黑色(成形)的种子,但只有黑色的种子将用于生产葵花籽油。


这种计算的一个缺点是,农学家必须计算向日葵上黑色的种子,这是非常不准确和不方便的。此外,每个农学家可能会在同一株向日葵上计算不同数量的种子,因为有些种子可能还没有形成(白色的,没有蜜蜂授粉),而且很难确定哪个种子形成了,哪个没有。


2.准备数据

为了解决任何机器学习问题,我们需要获取数据并训练模型。而且对于每个特定的任务,你无法找到任何可用的免费标记数据集。在我们的例子中,数据集应该包含数百张向日葵照片,每个种子都有对应的标签(黑色或白色,便于理解),所以我们收集了自己的数据集。


我们的农学家已经制作了大约1000张来自乌克兰不同地区的不同向日葵杂交品种的照片。随后,另一个团队在CVAT免费的数据标签工具中对照片进行标签。每个图像都应该有bounding_box(紫色框),以及黑色的种子(下图中的绿色点)和白色的种子(下图中的红色点)。


56.png


接下来,我们可以查看向日葵籽粒的分布情况


0.png


看起来很正常,平均值是1271。

同时也显示了黑白种子数量的相关性。


2.png

弱依赖性存在,但不能进一步利用。


3.模型结构

出于业务需要,所有的计算都应该在移动设备上完成。这就是为什么我使用U-net[1]与mobilenet_v2[2]编码器预先训练在imagenet。这一切意味着什么?


U-net是一种神经网络结构,其中神经网络获取一个输入图像并返回一个分割图(在我们的情况下热图),具有下采样和上采样数据。

我们的热图表示像素与某个核相关的概率。


3.png


上/下采样块使用了mobilenet_v的权重

1.png


Imagenet是一个包含数百万张图片和数万个类的数据集。


![](https://ucc.alicdn.com/images/user-upload-01/img_convert/ae19e0497fb4d575fe8ebb6dea879b7f.png#align=left&display=inline&height=300&margin=[object Object]&originHeight=300&originWidth=750&size=0&status=done&style=none&width=750)


坦白地说,对于这个任务,我训练了2个NN和1个算法。

第一个NN从图像中剪下向日葵,像这样:


6.png


第二个NN构建2个热图,每个类一个(黑色和白色)。

训练时,该网络的输入是裁剪图像(来自以前的神经网络),目标是在标记点上建立高斯的热图。

对于黑色的玉米粒,它是这样的:


5.png6.png



根据该热图,像素越轻,模型越确定像素与核相关。


最后一种算法(高斯的拉普拉斯算法)搜索概率团的中心(相邻的明亮像素组),在下一张图像上,我使用绿色点作为裁剪图像上方的团中心。


9.png


白色内核的预测如下所示:


8.png


4. 使用libs和工具

为了训练,我使用了Python库,例如:

PyTorch和PyTorch Lightning训练模型

albumentations-用于图像增强

Segmentation_models_pytorch——使用预先训练的模型

Scikit_image -用于处理热图上的斑点

Hyperopt -为斑点检测调优超参数

wandb -跟踪训练实验


5.结果

我们如何验证整个解决方案?

为了计算平均绝对百分比误差(MAPE),我对每一张图像进行预测,并将模型发现的种子数和评审员发现的种子数进行比较。因此,我们得到均值为0的正态分布,效果非常好。

7.png




蓝条表示黑色的内核MAPE是3.6%

橙色条-是白色玉米粒,MAPE是8.8%。


6. 误差分析

最大的错误是有异常的向日葵,有异常多的玉米粒,或者太多的灰色玉米粒,或者有圆形的边缘,如下例所示:


+.png


在这里,模型比评估者多发现了16%,正如我们所看到的,大多数多余的种子都在向日葵的边缘。


或者最大的错误-257%的白色种子在这个例子中:


![](https://ucc.alicdn.com/images/user-upload-01/img_convert/75c86737f244d77a0280016a54bdfb1d.png#align=left&display=inline&height=46&margin=[object Object]&originHeight=46&originWidth=37&size=0&status=done&style=none&width=37)


-.png


白色种子的总数是14个,模型找到了50个。就百分比而言,这确实是一个很大的数字,但就绝对数字而言,它并不重要。


7.失败/假设

有一次,我发现用数学解释了向日葵和其他一些具有分形结构植物的种子位置。位置可以用具有极坐标方程的费马螺旋来解释

5.png

。1.gif



其中n是指标核数c是常数,我想对于每一株向日葵来说都是不同的。因此,我们应该得到以下位置


。0.png。1.gif

我得到的最佳结果是:


3..png


其中蓝点为(0,0)点。所以它在某种程度上很接近,但不适用于实际情况。


8.结论

目前,为了将人为因素排除在计算之外,我们公司已经加快并规范了这项任务。MAPE在业务需求上是可接受的,该解决方案目前在移动应用中也可以使用。

对于我来说,我们能够计算出超过1000个内核,将点划分为2个不同的类别,并且所有这些都可以通过移动设备完成,这让我感到难以置信。


9.参考

  1. U-Net: Convolutional Networks for BiomedicalImage Segmentation (2015)
  2. MobileNetV2: Inverted Residuals and Linear Bottlenecks (2019)

相关文章
|
20天前
|
机器学习/深度学习 人工智能 自然语言处理
【AI系统】大模型的到来
大模型的兴起,让系统工程师能在前所未有的集群规模上解决复杂工程问题,显著降低成本和时间。本文探讨了大模型的发展历程、技术架构、支持模态及应用领域,特别分析了AI系统与AI基础设施的区别及其对大模型的影响。随着大模型进入爆发期,AI系统的重要性日益凸显,不仅影响着算法的选择与发展,也成为推动大模型研究与应用的关键力量。
48 0
|
2月前
|
机器学习/深度学习 人工智能 大数据
看看AI大佬都开了什么公司 | AI大咖说
看看AI大佬都开了什么公司 【10月更文挑战第6天】
136 1
|
4月前
|
人工智能
“AI+作业”,是辅助还是颠覆?
【8月更文挑战第5天】“AI+作业”,是辅助还是颠覆?
|
6月前
|
人工智能 自然语言处理
还在因AI检测头疼?尝试一下 AI Humanize
AI Humanize是一款将AI文本转化为人性化、难以检测的高质量内容的工具。它提供基础和高级模型,支持多语言,如英语、中文等,并能在多种AI检测器中通过。训练于大量人类语料库,AI Humanize的"Humanize AI LLM"模型确保生成自然、流畅的文本,增强可读性和原创性,同时保持用户友好界面。适用于各领域的用户提升内容质量。[AI Humanize](https://aihumanize.io/)**
还在因AI检测头疼?尝试一下 AI Humanize
|
人工智能 算法
让AI画美女,到底会不会翻车?AI能理解人的审美取向吗?AI绘画会对写真圈有影响吗?
先说结果,我个人认为AI绘画美女存在一定的翻车的情况。比如手指,身体轮廓的粗细,可能还不是很完美。如果AI绘画生成的结果我们不能一眼的分辨出来,那就意味着AI绘画已经能和真实的照片平起平坐了。
367 2
|
机器学习/深度学习 人工智能
AI绘画的体验过程以及对生活的影响
AI绘画的体验过程以及对生活的影响
112 5
|
机器学习/深度学习 人工智能 算法
ChatGPT唤醒AI游戏?
ChatGPT唤醒AI游戏?
167 0
|
机器学习/深度学习 传感器 人工智能
通过几分钟录音就能判断得没得新冠,AI 还可以这样?
人工智能技术正在通过声音来探索其释放的情绪信息。
通过几分钟录音就能判断得没得新冠,AI 还可以这样?
|
机器学习/深度学习 人工智能 编解码
视频精修一帧要花2小时?美图影像研究院的AI只要5.3毫秒!
视频精修一帧要花2小时?美图影像研究院的AI只要5.3毫秒!
291 0
视频精修一帧要花2小时?美图影像研究院的AI只要5.3毫秒!
|
传感器 机器学习/深度学习 人工智能
女子被困浴室超30小时,危急情况AI能否救人于水火?
女子被困浴室超30小时,危急情况AI能否救人于水火?
129 0