基于机器视觉的番茄成熟度检测装置*

2024-02-28 05:52李丽鑫李银银张弘扬
科技创新与生产力 2024年1期
关键词:传送带舵机成熟度

李丽鑫,李 朔,李银银,高 宁,张弘扬

(辽宁科技大学电子与信息工程学院,辽宁 鞍山 114051)

随着科技不断进步,我国农业也逐渐进入了智能化发展阶段,而作为人口大国,我国对于农作物的产量需求一直较大。番茄是我国重要的蔬菜作物,产量高、种植面积广。因此,番茄成熟率检测正成为智慧农业领域研究的新方向。目前,农民观察番茄成熟情况,基本采用经验法进行观测,检测效率低且不精确,对于番茄生长的把控存在偏差,因此番茄产量会受到一定影响。

本文从成熟率检测方面入手,根据目前已有的多项有关成熟度检测的技术,最终采用机器视觉作为检测的主要技术方案。一方面,该装置能很好地提高番茄检测效率,实现智能化检测;另一方面,该装置可以汇总检测数据,获取每一批测试样本的成熟情况,农民能够根据样本数据,合理分配收获时间,保证收获质量。

1 整体设计方案

1.1 功能设计

该装置主要由STM32 单片机、OpenMV 摄像头、舵机、ESP32-CAM 模块组成,用传送带将番茄移动到检测区并进行分拣。

1.2 系统设计

该装置以STM32 单片机作为主控核心。通过STM32 操控电机,控制传送带运输至检测区,进行下一步初步成熟度检测。OpenMV 置于传送带正上方用于图像采集和处理,并控制舵机在传送带末尾处进行产品成熟与未成熟的分拣,以此类推,第二段传送带对成熟的番茄进行高精度的成熟度检测,判断出成熟番茄是部分成熟、完全成熟还是过度成熟,具体系统流程图见图1。

图1 系统流程图

2 实现方案和核心算法

2.1 传送带控制部分

电机选用GB520 电机,驱动使用L298N,STM-32 可调控不同转速来控制传送带的运行速度。舵机选用MG995 舵机,舵机上安装一根分拣杆用于分拣,STM32 可输入不同脉冲宽度调制(PWM)占空比进行角度调控,控制番茄进入成熟区或非成熟区。

2.2 通信系统

在此过程中,传输数据量仍然较大,所以图像传输选用ESP32CAM 模块,烧录进代码后可以通过电脑浏览器获取视频图像,实现对番茄成熟度情况的远程监控。

2.3 核心算法

2.3.1 PID 算法

在该系统中,需要控制传送带的传输速度,采用PID 控制算法,根据应用功能不同,选用不同的PID 控制算法。

PID 控制公式为

式中:u(t)为控制器输出的控制量;Kp为比例系数;e(t)为偏差信号,等于给定量与输出量之差;Ti为积分时间常数;Td为微积分时间常量。

在计算机系统中,采集和处理的数据是离散的,因此需要对算法进行离散化处理,由此得到位置式PID 公式为

我国是一个农业大国,农业灌溉的用水量非常大,不仅造成了水资源的浪费,还不利于农业的发展。为了改变这一现状,部分地区采用农业节水灌溉技术,在很大程度上节约了水资源。

式中:K 为比例系数;ei为给定值与反馈值构成的控制偏差[1];T 为采样周期;Ti为积分时间;Td为微分时间;u0为偏差为零时的控制作用。

在式(2) 中,对PID 算法进行增量就可以得到增量式PID 公式为

最终,电机采用增量式PID 控制,通过速度闭环控制传送带传输速度恒定,保证检测时不会因为速度过快导致OpenMV 检测数据缺失。

2.3.2 图像处理

采用OpenMV 用作图像处理工作,采用的编译环境是OpenMVIDE。可在OpenMV 社区开源库中进行二次开发,使用门槛低[2]。

整个图像处理工作分为4 块。OpenMV 通过调节RGB 区数值设置图像感兴趣区,减少外界环境干扰;利用图像滤波进行除杂,使图像数据更趋于平滑;部署训练好的神经网络模型对番茄进行目标检测;获取番茄的大小形状颜色,作为数据统计。

1) 颜色数值选取。统计番茄果实形状短轴和长轴比值,当其大于0.7 时番茄形状圆形度较好,果实圆润[3]。当番茄果实近红色像素百分比30%番茄进入红熟前期,适于采摘且准备上市;近红色像素百分比50%,且纯红色像素百分比40%番茄进入红熟中期;近红色像素百分比80%且纯红色像素百分比70%时,番茄果实已经完全成熟,进入红熟后期且色泽饱满。

2) 加权均值滤波算法。加权均值滤波算法大体与灰度图像相同,将单个的灰度参数变为3 个参数(R,G,B)。加权均值滤波算法式均值滤波算法的改进,以3×3 矩阵为例[4]。

滤波模块见表1。

表1 滤波模块

鉴于该系统是对番茄成熟度的检测,应尽量保证保留图像的细节,W5取值应大一些,若需要去除噪音,W1-W9取值应平均一些。

3) 卷积神经网络(CNN)。根据现有的OpenMV 开源社区提供的CNN 框架,筛选谷歌提供的数据集中有关番茄的数据集,进行数据标注,在数据集中标注未成熟、部分成熟、完全成熟、过度成熟的4 级分类,制作成训练集。在官方平台上进行云端训练,最后将云端训练的模型部署在OpenMV 中进行测试。

4) 获取番茄数据。神经网络对番茄进行目标检测后,在图像中进行框选。通过番茄图像所在RGB 阈值分布得到颜色数据,根据颜色分布对整个番茄形状进行进一步框选,将框选数据导入形状识别函数进行形状判别。记录框选的番茄面积,作为后期估算番茄体积的数据考量。

3 实验结果

3.1 模型训练与成熟度检测展示

络模型训练标注见图2,可进行标签数据集制作工作,模型训练完成后,将模型部署到OpenMV中进行测试。

图2 模型训练标注

番茄成熟度检测第一阶段的单个番茄监测图,见图3,对番茄的成熟度进行初步分类检测。

图3 单个番茄检测图

3.2 数据显示

装置的操作选择界面,见图4,用户可以选择登录设备、进行调试工作,或者设置工作模式。

图4 选择界面

该用户操作设计的设备登录界面,见图5。

图5 设备登录界面

番茄成熟度第一阶段检测成果的一组成熟度数据展示,见图6,显示在屏幕上便于使用者观察。

图6 数据展示

4 结束语

本文介绍了一种基于机器视觉的番茄成熟度检测装置,该装置能应用在工厂流水线上进行产业化番茄成熟度检测,由单片机控制电机和舵机,进行番茄的传输和分拣工作。装置通过OpenMV 对番茄进行目标检测,并计算出成熟度。在数据通信方面选取了ESP32CAM 模块对番茄的成熟度情况进行记录,实现在云端数据观测和远程监控。该装置相较于目前的人工检测,极大地提升了生产效率,降低了检测成本,具有广阔的市场应用前景。

猜你喜欢
传送带舵机成熟度
浅探传送带模型的分析策略
产品制造成熟度在型号批生产风险管理中的应用
整机产品成熟度模型研究与建立
含齿隙弹载舵机的全局反步模糊自适应控制
不同成熟度野生水茄果实的种子萌发差异研究
基于dsPIC单片机的飞艇舵机控制实现
刚好够吃6天的香蕉
传送带模型中摩擦力的判断
基于高速同步485总线通信的多通道舵机控制器设计
基于云模型的舵机同步控制