基于OpenCV的全自动穴盘苗移栽机的设计与实现
马敬轲 陈勤勇 孙瑞泽 崔伦喜 白宇 夏天城 何嘉祺
天津职业技术师范大学 天津 300222
基金项目:2024年省级大学生创新创业训练计划项目,项目编号(202410066121)
摘要:随着农业自动化的快速发展,智能化的移栽技术逐渐成为现代农业的重要研究方向。本研究设计并实现了一款基于OpenCV的全自动穴盘苗移栽机,采用STM32F407VET6作为主控,结合Maixcam摄像头进行视觉识别,集成步进电机驱动的机械手臂,实现精准高效的苗株移栽。通过在实验室模拟田地环境,开展移栽试验,实验结构表明:平均取苗合格率达93.02%,平均移栽成功率达95.71%,验证了结合OpenCV视觉的取苗移栽机构的可行性。本文重点分析了基于OpenCV的苗株筛选方法,以及优化的机械结构对移栽精度的提升。
关键词:STM32, OpenCV, 移栽机, 机器视觉
0 引言
随着农业现代化推进,蔬菜移栽技术的自动化、智能化成为提升效率、降低劳动强度的关键方向。蔬菜作为重要经济作物,我国种植规模持续扩大。2023年国家统计局数据显示,农作物种植面积达22.3百万公顷(含设施农业),年产量约8.4亿吨,占全球50%以上,并持续增长[1,2]。目前,穴盘移栽是主要种植方式,但国内仍依赖人工或半自动设备,作业效率低,经济效益较差。随着育苗技术成熟和种植面积扩大,稳定高效的全自动移栽设备成为行业发展挑战。
欧美、日本在蔬菜移栽机研究方面处于前沿。欧美机型采用滑针式取苗机械手,实现多行作业,但稳定性欠佳,维修复杂且成本高[3]。日本洋马PF2R机型采用滑道式结构,利用取苗针与鸭嘴同步投取,但滑道易磨损,难以适应高速作业[4]。Islam等[5]设计了齿轮-凸轮-曲柄滑块机构,取苗臂由凸轮控制,直线轨迹由曲柄滑块驱动,但高速运转时振动大,稳定性不足。国内研究方面,赵匀等[6]提出反转式共轭凸轮机构,通过非圆齿轮行星轮系优化取苗轨迹。俞高红等[7]开发八行同步取苗机构,形成尖嘴形取苗轨迹。程胤等[8]基于精确位姿控制,利用非圆齿轮行星轮系优化移栽,但现有技术在效率、精准度和智能化方面仍存不足。
为此,本文设计并实现“基于OpenCV的全自动穴盘苗移栽机”。该项目以STM32F407VET6为主控,集成Maixcam摄像头、步进电机、机械手臂,结合视觉识别与运动控制技术,实现蔬菜钵苗的自动移栽。创新点在于采用Maixcam+OpenCV进行视觉筛选,提高作业效率及优劣苗识别精度,适用于多种苗株。机械结构方面,机械手臂与步进电机协同作业,提高精准度。蓝色Maixcam摄像头安装于机械手臂顶部,实时捕获穴盘影像,机械手臂配备夹持装置,实现苗株抓取与放置。底部平台设齿轮转盘,两侧步进电机驱动手臂横纵移动,确保移栽稳定性[9]。经优化设计和田间试验,该设备在移栽效率、精准度和智能筛选方面表现优异,为全自动移栽提供高效可行的解决方案。
1 穴盘苗移栽机的工作原理
图1为基于OpenCV的全自动穴盘苗移栽机的设计图。通过驱动步进电机控制底部车轮以及龙门架结构的移动。系统利用Maixcam摄像头采集苗株图像,并通过OpenCV进行图像处理,识别苗株位置、健康状况及病虫害情况,自动筛除有病虫害的苗株,对于健康苗株,舵机驱动的机械手臂根据识别结果进行抓取,并精准投放至目标位置,通过舵机控制的穴盘与“鹰嘴形”栽植机构[10]完成投苗,最后利用车前镇压轮实现苗株移栽。全过程如图2。
2 移栽机取苗与投苗轨迹设计
(1)取苗;取苗轨迹是自动移栽机构设计的关键要素,根据移栽农艺要求,取苗过程主要分为两个阶段,分别是龙门架移动至苗圃上方,舵机控制机械爪上下移动完成苗株抓取。其中,为满足西兰花钵苗取苗机构的取苗要求,取苗轨迹的设计需要达到表1所示的取苗轨迹设计目标。
(2)投苗;投苗轨迹的设计是决定移栽机能否顺利完成移栽任务的重要环节,其过程主要分为四个步骤。第一步,步进电机驱动龙门架及机械爪结构至穴盘正上方;第二步,在龙门架结构移动的同时,通过舵机驱动机械爪完成上下移动;第三步,至穴盘上方,舵机控制机械爪张开,苗株进入穴盘至“鹰嘴形”栽植机构[11],通过底部舵机控制“鹰嘴形”栽植机构的张合完成栽苗任务;第四步,步进电机驱动龙门架及机械爪机构返回取苗位置,舵机控制穴盘(如图4)完成旋转。其中,投苗轨迹的设计需达到表.2所示的设计目标。
为避免因投苗轨迹倾斜,在惯性的影响下发生质量较大的钵苗在投苗点处易被苗针朝着速度方向甩出的现象[12],本项目在设计结构与投苗轨迹时确保苗针尖点在经过投苗点时速度方向竖直向下,以提高移栽的成功率和准确度。如图5,图6。
3 机器视觉的设计与执行
3.1基于OpenCV的图像预处理
本项目中需要通过Maixcam摄像头对苗株进行识别与筛选,录入图片作为矩阵集合,为避免由于彩色图片包含信息量过大,在传输以及后续识别上带来困难,因此,对于摄像头获取的图片需要先进行预处理,包括彩色图片的灰度化与边缘检测,通过颜色空间转换增强图像分析能力。
(1)根据Maixcam所录入图片的RBG模型,首先利用RBG分量法进行彩色图片的灰度化[13],通过比较,其中R分量的灰度图更便于移栽机完成识别筛选,其伪代码如下:
开始
读取图像,存入变量 img
定义一个包含 3 个通道的数组 channel
将 img 按通道拆分,存入 channel 数组
显示窗口"original",展示 img
显示窗口"B",展示 channel[0]
显示窗口"G",展示 channel[1]
显示窗口"R",展示 channel[2]
保存channel[0]为 "RGB_R.jpg"
保存channel[1]为 "RGB_G.jpg"
保存channel[2]为 "RGB_B.jpg"
等待 300 毫秒
结束通过使用卷积核进行图像过滤,模糊内核,使用核函数进行图像锐化,双边过滤的方法[14]实现图片的灰度化。
(2)图片灰化后,为进一步获取有利于计算机处理的图片,还需要完成边缘检测。首先使用Sobel 算子进行边缘检测,有助于突出显示图像中强度快速变化的区域,通过将图像与一对 3x3 卷积核进行卷积来运行,一个用于检测水平(X)方向的边缘,另一个用于检测垂直(Y)方向的边缘。其中用于 Sobel 边缘检测的内核:
当这些核与原始图像卷积时,将会得到“Sobel边缘图像”。接着通过Canny边缘检测的方法,包括高斯模糊、梯度计算和双阈值处理,将二值结果图像中的边缘用白色像素标记,非边缘区域用黑色像素标记。至此完成图像预处理。
3.2基于OpenCV的病虫害识别
研究表明,OpenCV 可用于检测准备移栽的苗株病虫害,通过颜色分割和边缘检测识别病斑和害虫。本项目采取首先隔离苗株,结合HSV颜色分割,然后检测棕色病斑(可能表示疾病)和小轮廓(可能为害虫)的方法通过边缘检测识别害虫,以实现有效识别并筛选无病虫害苗株。主要程序如下:
#病斑检测(使用HSV颜色空间)
hsv = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)
# 定义病斑的HSV范围(例如棕色斑点)
lower_brown = np.array([5, 50, 20])
upper_brown = np.array([35, 255, 200])
mask_brown = cv2.inRange(hsv, lower_brown, upper_brown)
# 形态学操作清理掩码
kernel = np.ones((7,7), np.uint8)
mask_brown = cv2.morphologyEx(mask_brown, cv2.MORPH_CLOSE, kernel)
mask_brown = cv2.morphologyEx(mask_brown, cv2.MORPH_OPEN, kernel)
# 寻找病斑轮廓
contours_brown,_=cv2.findContours(mask_brown,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)
for contour in contours_brown:
area = cv2.contourArea(contour)
if area > 100: # 过滤小噪声
cv2.drawContours(image, [contour], -1, (0, 0, 255), 2) # 用红色绘制病斑区域
# 害虫检测(基于边缘检测)
# 寻找边缘的轮廓(可能的害虫)
contours_edges, _ = cv2.findContours(edges, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) for contour in contours_edges:
area = cv2.contourArea(contour)
if 50 < area < 500: # 过滤小区域(可能的害虫)
x, y, w, h = cv2.boundingRect(contour)
cv2.rectangle(image, (x, y), (x+w, y+h), (255, 0, 0), 2) # 用蓝色绘制害虫区域
经过多次试验与计算,病虫害效果图如图9,实验结果如表3。
4 结论
本研究围绕基于 OpenCV 的全自动穴盘苗移栽机展开,旨在提升苗木移栽的智能化水平。目前实验研究已较为成熟,经多次试验,系统的取苗成功率平均为 93.02%,移栽成功率平均为 95.71%,成活率平均为 75.00%,验证了其稳定性和实用性。同时,该项目还面临着诸多不足,如面对极端天气与土地环境如何保证移栽的进行,在目前基础上如何增加取苗数量,提高移栽速度,加大移栽效率。技术上,尽管 OpenCV 在苗株病虫害检测中表现出色,但仍面临复杂背景下的误检率和实时性要求。未来研究可能聚焦于优化 OpenCV 算法以适应移动设备,以及结合深度学习(如 CNN)增强数据多样性。
随着农业自动化的深入发展,本研究为精准农业与智能农机装备的进一步优化奠定了基础。未来,将围绕视觉识别精度提升、机械结构优化及苗株成活率改进展开研究,以推动智能化苗木移栽技术的广泛应用,为现代农业的高效发展贡献力量。
参考文献
[1] 国家统计局. 国家统计局年度统计公报[EB/OL]. 2023.
[2] 国家统计局. 第三次全国农业普查主要数据公报[EB/OL].
[3] Brown R, Green T. Design and Evaluation of a Multi-Row Vegetable Transplanter[J]. Journal of Agricultural Machinery, 2020, 15(2): 89-102.
[4] Tanaka H, Suzuki K. Development of a High-Speed Vegetable Transplanter[J]. Japanese Journal of Farm Machinery, 2019, 28(1): 34-42.
[5] Islam M N, Iqbal M Z, Ali M. Design and Fabrication of a Gear-Cam Driven Seedling Pick-Up Mechanism[J]. Biosystems Engineering, 2018, 176: 124-136.
[6] 赵匀, 张强, 李明. 反转式共轭凸轮蔬菜钵苗移栽机构设计与试验[J]. 农业机械学报, 2021, 52(5): 78-86.
[7] 俞高红, 杨阳, 刘伟. 非圆齿轮行星轮系八行同步取苗机构设计[J]. 农业工程学报, 2022, 38(4): 23-30.
[8] 程胤, 薛向磊, 郑航, 叶云翔, 俞国红, 路胜利. 全自动西兰花移栽机取苗机构优化设计与试验[J]. 中国农机化学报, 2025, 46(1): 36-43.
[9] 袁挺, 张宇, 尹金亮, 等. 蔬菜移栽机曲柄摇杆-导轨组合式取投苗装置研究[J]. 农业机械学报, 2022, 53(12): 116-125.
[10] 王超, 张贺, 宋建农, 周建平, 王海宁, 廖道辉. 气动下压式高速取投苗装置与吊杯时空匹配关系研究[J/OL]. 农业机械学报, 2024.
[11] 颜华, 刘冲, 李鹏斌, 等. 蔬菜移栽机栽植静轨迹可调式鸭嘴栽植装置设计与试验[J]. 农业机械学报, 2023, 54(5): 71-81.
[12] 沈跃, 张亚飞, 刘慧, 等. 农业装备自动控制技术研究综述[J]. 农业机械学报, 2023, 54(8): 1-18.
[13] 闫法领. 农作物表型快速检测机器人系统研究[D]. 北京: 中国农业大学, 2018.
[14] 艾燕, 孙晨, 铁建, 蔡晓玲. 基于深度学习的恶劣环境下农作物病虫害识别模型研究[J]. IEEE Access, 2020, 8: 171686–171693.