基于机器视觉系统的白芦笋芽定位算法与采收路径优化

本文节选自《智慧农业(中英文)》2020年第2卷第4期,苑进教授团队的文章《白芦笋采收机器人视觉定位与采收路径优化方法》,其引用格式如下,欢迎大家阅读、引用。

点击直达知网阅读

点击直达官网阅读(全文,免费)

引文格式:李扬, 张萍, 苑进, 刘雪美. 白芦笋采收机器人视觉定位与采收路径优化方法[J]. 智慧农业(中英文), 2020, 2 (4): 65-78.
Citation:LI Yang, ZHANG Ping, YUAN Jin, LIU Xuemei. Visual positioning and harvesting path optimization of white asparagus harvesting robot[J]. Smart Agriculture, 2020, 2 (4): 65-78.

1 机器视觉系统及笋芽定位算法

1.1 机器视觉系统构成

采收机器人采用“走—采—走”的间歇移动方式工作,系统启动后自主行走至待采区域并停车,将当前采收区内的白芦笋完全采收后,再移动至下一个采收区重复采收过程。进行采收作业时,机器人通过机器视觉系统对采收区域内出土的白芦笋进行识别,根据白芦笋种植农艺和人工采收特点,机器人在垄间的相对位置如图1所示。其中,地上起垄高度为40~50 cm,相机成像平面到采收区域平面的垂直距离为120 cm,考虑到垄面与垄沟的机械化起垄装置的工作特点,采收过程中机架沿垄直线行走时,垄面与垄沟垂直距离相对固定,因此认为相机和末端执行器距离采收平面(垄面)的垂直高度变化范围很小,又因白芦笋采收长度一般在25~30 cm左右,纵向采收定位误差一般在厘米级,几乎不会对切割后的白芦笋造成影响,均可满足误差要求,因此认为每次作业时相机到采收面的高度保持不变,即相机成像平面到采收区域平面的垂直距离约为常数120 cm。

图 1 笋芽与垄面相对位置示意图

Fig. 1 Relative position schematic between white asparagus sprouts and ridge surface

机器视觉系统主要由图像采集模块、图像处理模块与数据传输模块组成。机器人实时采集采收区域图像,对图像进行处理,通过定位算法获取笋尖轮廓中心点坐标,并将坐标信息进行转换传输至STM32控制器。

图像采集模块由工业相机、镜头和LED光源组成。相机采用德国Basler公司生产的型号为acA2500-14gc的CMOS工业相机,最高分辨率为2590 1942像素,镜头为COMPUTAR工业相机镜头,型号为M0814-MP2。采收机器人工作时,变化的自然光照条件会极大地干扰系统工作,为保证采收机器人可靠地工作,图像采集区域由遮光布进行覆盖,并在机架上固定WD9218-1型LED条形光源,安装方式为环顶安装,以构造结构性光环境。LED光源价格低,效果较好,可以使笋尖与土壤背景信息更好地分离,降低了图像处理的算法难度。

1.2 系统工作原理

机器人工作时,当上位机接收到拍摄指令后,机器视觉系统采集采收区域中的单帧图像并保存,经过图像处理后,若有笋尖信息,则将笋尖中心点进行坐标变换发送给下位机,当全部坐标信息发送完成后,发送指令到下位机控制整机进入新的采收区域,收到指令后继续进行图像采集工作。本研究设计的白芦笋定位和采收过程如图2所示,在相机内部参数标定基础上,通过摄像头获取30 f/s的视频流,针对视频流中的图像帧进行色彩变换等预处理,并在笋尖、土壤图像特征聚类分析基础上,实现含笋图像的快速筛选,之后研究变尺度ROI特征分析,对笋尖进行实时精准定位,进而通过优化多个白芦笋的采收路径,实现了多个白芦笋采收顺序的决策,最终驱动采收机构实现多个白芦笋的采收工作。

图2 白芦笋机器人采收流程

Fig. 2 Harvesting process of white asparagus robot

1.3 畸变矫正

图像采集前需要对相机进行标定来获得相机的内外参数及畸变参数。由相机畸变模型可知,相机内参决定了图像的畸变程度,外参数把图像间的像素关系转换为具体物理单位,反映了相机相对于世界坐标的旋转平移关系。本研究采用张正友的平面标定模型,借助MATLAB的Camera Calibrator工具箱完成相机标定。基于相机标定结果获得已知像素与其世界坐标的映射关系,对畸变图像进行变换缩放,生成消除透视畸变和镜头畸变的矫正图像。矫正前使用工业相机以不同角度拍摄20幅标定图像(图3),利用MATLAB的相机标定工具箱检测标定板图像中的角点,由提取的角点可以计算出每幅图像的平面投影矩阵,通过投影矩阵计算出相机的参数进行重投影误差检测。

图3 图像标定与角点检测

Fig. 3 Image calibration and corner detection

相机标定后的重投影误差为0.4818个像素值,校正后的图像与原图像对比后发现,图像中心位置畸变并不明显,越靠近图像边缘处的图像畸变程度越大。通过标定流程,可得到相机的内参矩阵和畸变矩阵,以及相机坐标系相对于上图世界坐标系的旋转矩阵和平移向量,得到相机内参矩阵Q1为:

相机畸变矩阵P为:

其中,fxfy为焦距f xy方向上的值;u0v0为主点坐标值;k0k1k2为径向畸变系数;p1p2为切向畸变系数。

1.4 图像采集及预处理

本研究所有取样图像拍摄于山东曹县某白芦笋种植基地采集,拍摄时间为2019年4月中下旬至5月上旬,拍摄时间段为早上5:00~7:00和晚上6:00~8:00,拍摄时气温20~32 ,共拍摄3000余张。工业相机曝光模式采用自动曝光,考虑垄面起伏,拍摄距离为115~125 cm不等,拍摄角度与垄面平行,最高分辨率下采集图像的像素约为500万。为适应不同天气和光照条件下白芦笋采收需求,拍摄样张涵盖清晨、傍晚、晴天、雨后等多种时间和天气场景(图4)。后期多次采用双线性插值方法进行图像的行列缩放,将图片调整至约47万像素(790 590),可节省图像的处理时间,提高算法的实用性。

颜色空间变换是数字图像处理的重要手段之一,其中HSV是图像处理领域常用的颜色空间,通过HSV颜色空间变换能够获取图像的色调、饱和度和亮度信息。经过不断尝试,发现所摄图像经过HSV颜色空间转换,并对转换后图像进行直方图均衡化后,变换回RGB空间的图片中,露土笋尖中心基本保持白色,纹理保留完整,且笋尖出现较为明显的红边和紫边现象,在不同土壤背景中都具有较高的区分度(图5)。这种现象是由于笋尖本身表面光洁并呈乳白色,即使出土后粘附浮土,与垄面土壤相比仍然具有较高的饱和度和亮度。截取笋尖和垄面土壤进行局部处理并做HSV分量的直方图分析,可以明显看到笋尖中亮度分量的V分量偏高,可以作为区分笋尖和土壤的显著特征(图6)。经过直方图均衡化处理后,这一部分信息得到增强。对照图4(c)和图5(c)可以发现,原始照片中难以分辨的笋尖在色彩变换后显得十分突出,辨识性得到很大提升。因此,可以将该区域及其邻域作为笋芽图像辨识的ROI区域。

图4 不同时间和天气情景中的白芦笋尖照片

Fig. 4 Photos of white asparagus shoots in different scenes of different time and weather

图5 HSV直方图均值化后的笋尖图片

Fig. 5 Images of white asparagus shoots after HSV histogram averaging

图6 笋尖和土壤对比分析

Fig. 6 Comparative analysis of asparagus shoot and soil

1.5 笋尖图像特征聚类分析

笋尖实时定位需要解决两个问题:一是快速判断当前拍摄的图像中是否包含笋尖,二是包含的笋尖具体在图像中什么位置,即采收系统既要响应快速,又要定位准确。K均值聚类算法作为一种无监督学习算法,被频繁地应用于数据挖掘和统计数据分析等数据相关领域。该算法的原理是:针对数据集中的不同数据对象距离进行计算,找出相邻的数据对象,构成集合,对数据集中取出的新个体,寻找最小距离的数据对象,之后重复步骤直至所得的集合数据对象数目超出设定阈值计算结束,集合所得的数据对象;重复上述步骤,直到得到k个初始聚类中心。在本研究中,通过合理选择图像的特征向量,对图像进行K均值聚类分析,可以实现图像序列的快速分类,从而判定当前图像是否包含笋尖。可以看到,HSV直方图均值化后笋尖区域在1.0附近V分量的分布明显较土壤区域更为集中(图6(e)和图6(f)),有明显的频谱特征,有利于目标提取。对于白芦笋图像采集系统获取的全部图像,进行HSV直方图均值化预处理,将其V分量以0.05为单位进行区间分割,构成拥有20个分量的特征向量

,并定义区间上像素统计数大于100的为1,其余为0。

在全部采集的图像中随机选取含笋尖和不含笋尖的各200张,分为2组进行聚类分析。本研究K均值算法中,距离测定函数采用两个特征向量的汉明距离计算公式为:

其中, 为异或,取收敛公式为:

其中,K为图片集划分聚类个数,K=2;Nk为第k个聚类的数据个数;mk为每一聚类的均值。

鉴于K均值聚类算法效率较高,通过试验图像集进行聚类分析后,可以作为视觉系统图像流实时分类的依据,从而快速确定图像中是否包含笋尖。在原图像集中选取不同的子集作为训练集和测试集,最终获得99%以上的召回率,证明绝大多数笋尖都可以被识别,从而避免漏采,但若要获得更准确的笋尖位置信息,需要设计更为精准的笋尖定位方法。

1.6 变尺度ROI的笋尖定位方法

ROI技术允许从图像中选择一个关键部分,进一步减少处理的数据量,提高系统的响应速度。但由于白芦笋抽发长度不一,位置各不相同,在俯视拍摄角度下,笋尖出土的大小差异明显,无法固定ROI的位置和面积。为进一步实现笋尖快速精确定位,本研究提出了变尺度动态ROI区域判别的方法。通过编写批处理脚本对采集的3000余张图片进行预处理,分析并提取预处理后图片集的笋尖色彩信息后发现,笋尖的色域一般集中在R通道范围

,G通道范围

,B通道范围

内。定义

为笋尖色彩所属的色域范围,变尺度动态ROI区域的确定方法如下。

(1)考虑到露出土壤的笋尖具有一定面积,经对照片集统计,取笋尖轮廓面积Sy的阈值为144像素,以正方形计算区域边界Ly为12像素,对图像进行三通道高斯滤波,取图像中点I (x,y),判断该点RGB通道值是否属于集合Θ,若属于执行步骤(2),若不属于,以固定步长Ly /2搜索图中下一点;

(2)初始化ROI宽度ς = Ly/2,划定ROI区域为以以 I (x,y)为角点的正方形区域U,其顶点分别为I (x,y)、I (x + ς,y)、I (x,y + ς) 和 I (x + ς,y + ς),统计区域U内颜色属于集合Θ的点数,记为λs,并计算其在U内的占比,记为λ% = λs ς 2,通过在图像集随机采样并进行笋尖区域的像素特征分析和统计,得到 λ%的区间范围约为85%~100%;

(3)给定λ%的阈值

为85%,令

,其中,

为步骤(3)的迭代次数,且

,并计算相邻两次迭代的λ%变化梯度

,若

持续大于1且大于给定阈值,则重复步骤(3),直到持续小于1且小于给定阈值,记此时

(4)确定以

为顶点的区域为一个ROI,并将其记录到队列

,令

,回到步骤(1)直到搜索完整幅图片,算法结束。整个算法流程图如图7所示。

图7 ROI区域判别流程图

Fig. 7 Flow chart of ROI region recognition

确定ROI区域后需要判别是否包含笋尖并进行中心定位,以便后续机械化采收。判别方法采用纹理和形态学相结合的方式进行。考虑到笋尖区域具有一定圆度,取一定数量的笋尖图像计算其圆度值,计算公式为:

绘制笋尖圆度分布曲线如图8所示,可以看到,笋尖圆度主要集中在0.7~1.0之间,为了尽量避免笋尖漏检,取圆度检测阈值为0.7,通过对圆度进行检测,可以将小于该阈值的轮廓剔除。

此外,考虑到笋尖与土壤在纹理上有一定的纹理区别,选取其四个相关度低的特征值作为纹理特征参数进行处理,分别为角二阶矩(Asm)、对比度(Con)、逆方差(Idm)和熵(Ent),计算公式分别如公式(6)~(9)所示。

图8 笋尖圆度分析结果

Fig. 8 Analysis of asparagus shoot tip roundness

对抽选的50张典型笋尖和纹理进行特征参数计算,结果如表1所示。可以看到笋尖和土壤的对比度差异明显,熵值有一定差异,角二阶矩和逆方差几乎无法区分。因此,纹理参数只以对比度和熵值作为区分笋尖和土壤的参考,并在ROI中的笋尖判别过程中设置较低权重为0.3,而圆度检测权重为0.7。

表1 纹理特征参数

Table 1 Values of contour feature parameter

经过图像滤波、ROI判定、圆度检测和纹理对比后,试验证明图像中的笋尖能够以98%以上的概率被识别。进一步对识别图像进行二值化处理,并计算其几何中心,从而定位笋尖的具体位置,为白芦笋采收提供数据支持。整个图像处理过程如图9所示。经过测试,算法的平均召回率和平均准确率分别为87.6%和95.1%。结果表明,算法的快速识别较好,在保证识别精度的同时,简化了图像处理过程,加快了白芦笋识别速度,能够应用于户外白芦笋笋尖和土壤信息的准确提取。

图9 白芦笋尖定位过程

Fig. 9 Positioning process of white asparagus tip

2 多笋尖采收路径优化

2.1 采收路径分析

通过机器视觉定位笋尖位置为自动化采收白芦笋奠定了基础。由于笋尖抽发的随机性,采收区域内不可避免地会出现多个笋尖共存。为提高白芦笋的采收效率,本研究设计了一种应用于白芦笋采收过程的机器人路径优化算法。根据白芦笋采收机器人的整机结构,设计的末端执行器的白芦笋采收路径为:末端执行器从初始点O出发,可选择A、B、C中的任意一个白芦笋进行采收,可以选择沿X轴丝杠向左或向右运动到两侧的集箱点进行白芦笋的放置,进而以当前集箱点为初始点根据上述规则完成其余白笋的收获。考虑采收区域内有3个待采白芦笋,则白芦笋的采收路径示意图如图10红线所示。

图10 3个白芦笋采收路径示意图

Fig. 10 Schematic of three white asparagus harvesting paths

其中O点表示末端执行器开始工作时的初始点,A、B、C表示白芦笋的位置,A1、A2表示采完A点白芦笋后的集箱点,B1、B2表示采完B点白芦笋后的集箱点,C1、C2表示采完C点白芦笋后的集箱点,N点为采收区域的边界点,其横纵坐标值对应采收区域横向和纵向的最大边界长度。

2.2 路径规划决策树构建

在本研究构建的采收系统中,图像采集和白芦笋采收区域为100 cm 80 cm的长方形。由于白芦笋的生长特性决定了每日早晚需要对其及时采收,因此每次采收时采收区内新抽发的笋尖并不多。通过对采集的图片集进行统计,发现由于采收及时,采收区内抽发的笋尖数量通常只有4~5个。假设采收区域有N<8个白芦笋,根据采收流程完成所有白芦笋的采收共有N! 2N条路径可供选择。以区域内有3个白芦笋为例,共有48种不同采收路径,可以建出如图11所示的路径规划决策树。

图11 以3个白芦笋为例的路径规划决策树

Fig. 11 Path planning decision tree with three white asparagus as examples

2.3 全局最优路径规划算法

根据路径规划决策树设计一种最优路径规划算法,通过遍历全部路径求得末端执行器运动过程中的距离最短路径。

如图11红色路线所示,此路径为一条采收路径,其中O ( xo,yo )为采收起始点,A( xa,ya )、 B ( xb,yb )、 C ( xc,yc ) 为 采 收 点 , A1 ( xa,0 )、 B1 ( xb,0 )、C1 ( xc,0 )为集箱点,N ( xmax,ymax )为采 收区域的最大边界点,则分段路径距离的计算公式如(10~15)所示:

路径总距离的计算公式为:

此路径是一条备选路径,为了得到最优路径,对图11所示的路径规划决策树中的所有可行路径进行遍历,选择距离最短路径为最优路径。

欢迎光临选购

微信交流服务群

为方便农业科学领域读者、作者和审稿专家学术交流,促进智慧农业发展,为更好地服务广大读者、作者和审稿人,编辑部建立了微信交流服务群,有关专业领域内的问题讨论、投稿相关的问题均可在群里咨询。

入群方法:加小编微信331760296备注:姓名、单位、研究方向,小编拉您进群,机构营销广告人员勿扰。

信息发布

科研团队介绍及招聘信息、学术会议及相关活动的宣传推广

展开阅读全文

页面更新:2024-05-08

标签:芦笋   算法   笋尖   畸变   纹理   土壤   机器人   路径   图像   视觉   机器   区域   相机   系统

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top