基于机器视觉的茄科幼苗切削特征识别
2020-07-14贾靖赵晖周磊费焕强龚征绛喻擎苍
贾靖 赵晖 周磊 费焕强 龚征绛 喻擎苍
摘要:为了提升蔬菜自动嫁接机嫁接自动化程度,在嫁接过程中实现机器替代人眼进行操作,基于机器视觉分析茄科幼苗轮廓链特征参数、幼苗轮廓链链角变化、跨距、水平截线宽度、幼苗估计苗茎及幼苗中心线斜率参数,确定幼苗子叶、真叶和根部位置,根据幼苗轮廓特征结合曲线拟合确定切削点位置和切削角度,使用100幅蕃茄幼苗图像进行实验。实验表明,基于机器视觉的幼苗切削参数特征识别及定位准确率较高,幼苗轮廓链提取准确为97%,切削点位置与切削角度确定的准确率分别为93%和90%。因此基于机器视觉可以快速、准确地确定切削点位置及切削角度,提高嫁接机嫁接过程中嫁接操作准确率及幼苗成活率。
关键词:机器视觉;轮廓提取;特征识别;切削点;切削角度;曲线拟合
DOI: 10. 11907/rjdk.191477
开放科学(资源服务)标识码(OSID):
中图分类号:TP301
文献标识码:A
文章编号:1672-7800(2020)001-0025-07
0 引言
随着现代城镇化建设的不断推进,农村务农人员逐渐减少,因此急需自动化设备缓解劳力不足的问题。机器视觉是一门涉及模式识别、人工智能、图像处理等诸多领域的交叉学科。随着农业智能化发展,机器视觉技术越来越多地应用于农业,提高了农业生产效率和经济收益。近年来众多学者开展了基于机器视觉的自动嫁接研究。吕谷来等[1]研究了机器视觉的砧木定位识别方法,可实现嫁接过程砧木抓取点和子叶方向的精确定位;上海交通大学机器人研究所开发了基于机器视觉的育苗穴盘定位与检测系统;王霞霞等[2]研发了基于机器视觉的嫁接用苗外观特征自动检测系统,该系统可通过检测幼苗的生长状态、子叶参数和胚轴参数分析幼苗的外观特征参数,实现对幼苗外观特征的自动检测;徐立青等[3]基于机器视觉的嫁接幼苗特征识别方法,通过求取幼苗子叶方向、幼苗生长点位置以及子叶叶片面积等特征信息,实现了对瓜科幼苗的特征识别。
但现有方法未能使茄科蔬菜自动嫁接机在嫁接过程中剥离人工劳动,蔬菜嫁接机自动化成本较高[4]。本文基于机器视觉的方法,进行蕃茄幼苗轮廓链特征参数研究,改进幼苗轮廓链参数设定,以廉价的树莓派作为机器视觉驱动平台,实现幼苗轮廓链特征参数分析。
1 嫁接农艺及轮廓链提取
1.1 茄科幼苗嫁接要求
如图1、图2所示,根据已有研究可知,砧木幼苗和接穗苗在执行嫁接操作时,需先确定砧木幼苗和接穗苗的切削点位置位于真叶与子叶高度位置的1/2处,然后通过切削点位置绕茎杆中心线旋转相应角度[5-6.8,10,12]。因此在进行嫁接作业时,需要确定4个关键参数:根部位置、子叶位置、真叶位置、茎杆中心线斜率。
1.2 轮廓链参数特征分析
本部分主要研究分析茄科幼苗轮廓链、轮廓链链角及轮廓链跨距等特性[6]。轮廓链指掏空图像目标对象内部的点,然后将目标图象外部所有像素点连接起来组成连通区域;跨距是相对于整个轮廓链而言的,本文设置的跨距指在整个轮廓链长度所占的千分比;轮廓链链角指通过跨距参数设置形成的向量角,通过设置不同的跨距形成的轮廓链链角形态各不相同,对图3选择不同跨距时的链角变化如圖4所示。
2 幼苗切削点确定
2.1 水平截线宽度计算
如果仅通过对轮廓链链角和跨角等进行研究,无法确定切削点和切削角度,还需参考蕃茄幼苗的子叶、真叶高度及根部位置,根部位置确定需要通过参考幼苗茎杆的水平截线宽度[7]。因此先介绍计算苗茎水平截线宽度的方法。以图5为例,对图4中水平截线宽度的计算方法为:
(1)设幼苗轮廓链的像素坐标点为:
2.2 茄科幼苗苗径估计
求解图像中蕃茄幼苗轮廓链水平截线宽度后,利用水平截线宽度可以确定茄科幼苗的根部位置,但是如果利用水平截线宽度判断蕃茄幼苗的切削角度,部分杆茎倾斜角度比较大的幼苗会出现很大误差,为减少由于幼苗杆茎倾斜角度引起的实验误差[8],提出改进方法计算蕃茄幼苗杆茎的估计苗径[9],根据图像中蕃茄幼苗轮廓链像素点坐标,估计幼苗苗径,方法如下:
(1)利用二次拟合法检测幼苗杆茎的斜率,转换图像坐标设定曲线拟合公式为:
2.3 幼苗根部位置确定
在进行蕃茄幼苗轮廓链提取时,蕃茄幼苗根部位置附近的茎杆与土壤颜色相近,由于外界光线、嫁接平台背景对光线的反射及根部与根系土壤包裹的松散引起土壤掉落到嫁接平台等问题,导致在进行蕃茄幼苗轮廓链提取时根部位置轮廓链的形态多样[10],如图6所示。
由于在采集图像时幼苗轮廓链识别无法完全去除根部位置包裹土壤的轮廓链,所以无法通过蕃茄幼苗轮廓链像素坐标的纵坐标最大值实现对根部位置的判断。通过对图像中蕃茄幼苗估计苗茎宽度的计算,可以估计苗茎宽度,求得茎杆与根部土壤包裹连接点纵坐标,将该处作为根部位置的纵坐标,然后定义茎杆中心线对应的横坐标与纵坐标,将该处定义为根部位置[11] 。图5中蕃茄幼苗根部位置确定的具体实现方法如下所示:
步骤1:求解蕃茄幼苗轮廓链像素点的水平截线宽度。
步骤2:求水平截线宽度平均值。
步骤3:设定变量avg2,设置avg与avg2的数量关系消除比avg+2大的水平截线宽度,然后再算平均值,并将其赋值于avg2。
步骤4:迭代计算步骤(2)和(3),并设置迭代结束条件。
avg - avg2≤1
(17)
步骤5:输出图5中幼苗轮廓链,将根部位置以“+”标识茎杆与土壤包裹的纵坐标,并以同样的方式从上向下标识顶端子叶与茎杆相接的纵坐标确定幼苗茎杆区间。针对图5中幼苗根部位置与茎杆区间的确定如图7所示。
图7是针对图6图像中幼苗根部位置及茎区间确定的标识图。确定根部算法时分别从上向下和从下到上计算标记茎杆的零界点,以标识幼苗茎杆区间,并标记蕃茄幼苗的茎杆与根部土壤包裹的零界点为根部位置[12]。在确定蕃茄幼苗根部位置时,由于多次处理幼苗时根部土壤掉落于嫁接平台,掉落的根部土壤影响幼苗根部位置的确定。
3 幼苗轮廓参数特征研究
根据蔬菜自动嫁接机的嫁接农艺要求,蕃茄幼苗的切削点定位于幼苗子叶与真叶高度位置的1/2处[13]。为精准确定蕃茄幼苗切削点位置及切削角度,本文通过对根部位置、子叶和真叶位置特征参数的分析[14],在自然光线下识别提取100张蕃茄砧木幼苗的轮廓链,根据前文对幼苗根部位置的确定方法,分别讨论蕃茄幼苗真叶位置、子叶位置、切削点位置和切削角度的研究方法。
3.1 幼苗真叶位置确定
以图4为研究对象确定真叶参考点C的位置,分析真叶位置的轮廓链链角变化,再采集图像中的像素坐标、真叶水平截面宽度及真叶链角与根部位置链角的关系。根据根部位置A与真叶参考点C的轮廓链链角正负差异性及真叶位置轮廓链链角的范围,通过调节轮廓链参数跨距并结合根部位置的链角正负,利用真叶处链角与根部位置链角相反的原则,确定真叶位置的轮廓链链角范围为[15°,50°] u[-50°,-15°],其真叶处链角值的正负取决于根部位置链角角度的正负。通过对图4中蕃茄幼苗轮廓链设置不同跨距参数,确定真叶位置如图9所示。
3.2 幼苗子叶及切削点位置确定
为确定子叶参考点B的位置,首先明确子叶参考点B必定位于参考真叶参考点C与要根部位置A之间,然后计算从根部位置到真叶参考点C之间蕃茄幼苗茎杆轮廓链宽度[15],即根据提取出的茎杆轮廓链像素坐标,将图像坐标中同一水平轴上x的最大值与最小值做差以判断子叶参考点B的位置,并参考真叶参考点C和根部位置A进行位置确定[16],其中,设定根部位置A与真叶位置C的坐标分别为:
根据根部位置点A、真叶参考点D和子叶参考点位置B,分析蕃茄砧木幼苗外形特征子叶与真叶之间茎杆所占像素点个数,依据蔬菜嫁接机嫁接农艺的要求,计算幼苗纵坐标方向像素点个数为真叶参考点C与子叶参考点B 1/2处的像素点个数,然后根据纵坐标值确定幼苗中心线位置的横坐标,从而确定蕃茄幼苗切削点位置为:
3.3 幼苗切削角度
基于前文对蕃茄幼苗轮廓链特征参数的分析,根据蔬菜自动嫁接机嫁接农艺的要求,在确定切削位置之后,需要确定切削点的切削角度[17]。嫁接农艺要求幼苗的切削角度为绕幼苗切削点中心线斜率逆时针旋转15°,为确定切削角度,首先求得幼苗杆茎的斜率,然后通过调节切削机构使切削装置旋转适当角度,调节幼苗切削角度。
试验中针对幼苗中心线及中心线斜率的问题,通过使用最小二乘法多项式曲线拟合的方法拟合蕃茄幼苗中心线的斜率[18],根据角度为90°时正切值为无穷大的特性,通过变换图像坐标系实现对幼苗中心线斜率的拟合,其实现步骤为:
(1)根据曲线拟合方法使偏差平方和最小。
以图3中蕃茄幼苗为例,依据水平截线宽度确定子叶位置(见图10)。按照公式(22)比较根部位置点A与真叶参考点D之间茎杆水平截线宽度,确定子叶参考点B位置。在图像坐标系中控制纵坐标不变,然后计算根部与真叶位置间轮廓链的水平截线宽度,根据幼苗子叶参考点B轮廓链提取时相对茎杆轮廓会有小块突起的特点,通过计算真叶与根部位置之间的轮廓链水平截线宽度确定子叶参考点B的位置。
根据幼苗中心线的定义与OpenCv算法,在图像中画出幼苗的中心线,并利用公式(24)-(32)曲线拟合的方法实现3次拟合中心线的斜率,再利用OpenCv算法和最小二乘法多项式二次曲线,拟合图6中蕃茄幼苗的中心线及拟合曲线,结果如图12所示。
图12中黑色曲线为3次拟合中心线,其中白线表示幼苗中心线,根据幼苗估计苗茎的定义计算蕃茄幼苗中心线。将图像中幼苗中心线所有坐标点作为3次拟合的输入坐标[19],变换图像坐标的横纵坐标以拟合中心线斜率。试验表明,图7中幼苗中心线斜率的拟合曲线如图12中的黑色曲线所示,嫁接农艺要求蕃茄幼苗的切削角度为中心线斜率加15°,所以幼苗中心线斜率曲线拟合精确性的提高是必然的。
3.4 切削点准确率影响实验
3.4.1 幼苗子叶位置确定问题
本试验中根据根部位置、真叶参考点确定幼苗子叶参考点,其依据是根部位置及真叶位置之间水平截线宽度最大值或是突起小块[20]。但是在试验中由于多次对不同幼苗的拎取,导致幼苗根部土壤掉落于嫁接平台,背景会影响子叶位置的确定。
如图13所示,按照确定子叶位置的方法确定图13中子叶位置时可能出错,被确定的子叶可能是掉落于嫁接平台背景上的土壤。子叶位置确定错误会影响切削点位置的确定,从而降低切削点位置与切削角度确定的准确率。因此需定期清理嫁接平台背景,以保证试验识别切削点位置及切削角度的准确性。
另外,利用蕃茄幼苗轮廓链特征参数分析子叶参考点B的位置时,由于光线和背景等因素的影响,导致幼苗子葉颜色发生偏差,或因子叶自然掉落,在识别幼苗时可能出现识别的幼苗无子叶、有一个子叶无法识别、有两个子叶但是无法全部识别或是零识别的情况,对于以上现象的分析如图14所示。
图14中幼苗受光线和背景等外界因素的影响,识别时幼苗子叶轮廓链像素点太少,可能导致在试验过程中无法确定子叶的准确位置。对于子叶缺失问题通过改进算法可能无法解决,需在蕃茄幼苗种植过程中加强对幼苗的养护[21],使幼苗子叶不掉落或设置嫁接平台外界光线为固定光源以进行图像采集及处理。
3.4.2 某穴盘槽有多棵幼苗的问题
在提取幼苗轮廓时,除确定子叶位置时可能存在问题外,还可能存在其它影响试验准确率的因素,如当某个穴盘槽中蕃茄幼苗有多个时,利用本文的机器视觉方法可能无法确定其切削点位置及切削角度,无法实现对幼苗轮廓链的识别与提取,由于不能确定根部位置、子叶、真叶、切削点位置和切削角度,从而切削点位置确定与切削角度准确率会受到影响。