
由于人类进化出的彩色视觉,我们只需要看果蔬的外观就能轻松分辨它们熟了没有。
但现如今,果蔬类作物一般都是大规模生产,因此我们可能需要一种比肉眼更可靠、更方便快捷的方法来分辨出果蔬的成熟度。
为了帮助食品公司、杂货店和农民分拣不同成熟度的水果和蔬菜,作者制作了这个项目,它基于神经网络模型,能根据光谱颜色来检测果蔬的成熟阶段。
硬件清单
-
Arduino Nano 33 IoT × 1 -
DFRobot Gravity: AS7341可见光谱传感器 × 1 -
Raspberry Pi 3B/4 × 1 -
10K电位计(长轴) × 1 -
按钮(6×6) × 4 -
5mm LED灯(绿色) × 1 -
5mm LED灯(红色) × 1 -
面包板 × 2
原理
当果蔬成熟的时候,它们的颜色会随着四种色素的含量变化而改变,这四种色素分别是:
-
叶绿素(绿色) -
类胡萝卜素(黄色、红色、橙色) -
黄酮类化合物:花青素+花黄素(红色、蓝色、紫色) -
甜菜素(红色、黄色、紫色)
这些色素是一组分子结构的物质,它们能够吸收一段特定波长的光并反射其余的光波。由于未成熟的果蔬细胞中主要含有的色素是叶绿素,所以它们往往是绿色的。
当它们成熟时,叶绿素便会分解,被橙色的类胡萝卜素和红色的花青素所取代,这两种色素是一种抗氧化剂,能延缓水果在空气中的变质速度。
随后,酶促褐变反应的发生会让果蔬变为褐色,酶在这些引发变色的化学反应中起到催化剂的作用,比如:
-
酚类的羟基化反应 -
酚类的氧化反应
研究完了果蔬成熟过程的颜色变化后,项目作者决定基于分类模型构建一个人工神经网络 (ANN) 来破译不同果蔬的光谱颜色,从而预测它们的成熟阶段。
在构建、测试这个神经网络模型之前,作者又先用 PHP 开发了一个Web应用来整理AS7341 可见光传感器生成的果蔬光谱颜色数据,然后根据这些数据通过传感器创建一个成熟果蔬的颜色数据集。
AS7341可见光传感器采用业内知名的AMS公司推出的新一代AS7341光谱传感IC。
它有八个通道用于可见光,一个通道用于近红外(NIR),一个不带滤光片的通道(透明),以及一个分布在环境光闪烁(闪烁)上的额外通道。
该传感器拥有6个独立的16位ADC通道,可以并行的处理数据。
该传感器板载了两颗亮度可调LED,甚至能在黑暗环境下收集数据。
为了收集和发送AS7341可见光传感器产生的光谱颜色数据,作者将传感器连接到Arduino Nano 33 IoT上。
然后,连接了四个类按钮,以便在向PHP Web应用程序发送数据时分配成熟度类(初熟、半熟、成熟、腐烂)。
接着用一个电位计(带旋钮的长轴)来调整AS7341传感器上内置LED的亮度。
最后,作者添加了5mm的绿色和红色LED来提示来自Web应用程序的响应成功与否。
如果传输的数据成功插入数据集,设备将点亮5mm绿色LED;否则,它会点亮5mm红色LED。
完成连接后,用热胶枪把面包板和AS7341传感器固定在一个旧书架上,搭建了一个坚固的装置。
通过每天三次的光谱颜色测量收集成熟度等级,连续十天,最后得到了一个有效的数据集来训练神经网络模型。
完成这个数据集之后,用TensorFlow构建人工神经网络 (ANN) 来用光谱颜色预测果蔬的成熟阶段(标签)。
在建立和训练人工神经网络模型之后,作者利用测试集(输入和标签)测试了它的准确性和有效性,模型的估计精度为0.9412。
之后作者用它做了很多实验,预测了许多种果蔬的成熟阶段,效果绝佳!
在完成了上述所有步骤并进行了实验之后,这个小设备就可作为一个熟练的助手,可以根据水果和蔬菜的成熟阶段,通过光谱颜色对果蔬进行分类了:

展望
通过将这种光谱颜色成熟度检测方法引入到日常的使用中并进行一些迭代更新,将可以:
-
避免农民从果蔬生长期到收获期用大量时间对果蔬进行人工分类和检验 -
改进产量估算 -
加快果蔬疾病检测
原文链接:https://community.dfrobot.com/makelog-311889.html
项目作者: TheAmplituhedron
硬件军火库
点击了解详情👆
大家有什么想说的或者是对文章翻译的指正,欢迎在下方留言!
完整全文项目涉及的代码较多,公众号的这篇是简略版本,想要深入研究的,欢迎点击阅读原文,到社区查看更详细的内容!
往期项目回顾
点击阅读👆

