张海歆
(阳光学院 人工智能学院,福建 福州 350015)
为了获得竞争优势,实现大批量生产,提高产品质量,现代机器视觉技术正在把自动化技术与农业生产相结合。这些自动化生产设备配备了传感器,用于控制机器的各个功能模块[1-3]。嫁接是植物无性繁殖的一种方法,被栽培植物的组织融合或嫁接到强壮的重要植物上,利用土壤中的养分生长、开花和结果[4]。嫁接可以减少由病原体引起的土传病害的感染,并增加对低温的抵抗力。研究表明嫁接植株比自种植植株具有更高的活力,而且中心的茎直径更大。移栽苗需求量增加的一个重要原因是要找到一种有效方法来消除甲基溴等有害化学农药物质产生的不良影响。近年来,嫁接植物的种植面积有所增加,为满足农产品日益增长的巨大需求,许多专业的嫁接农场应运而生。嫁接是否及时对减轻幼苗根系暴露的危害性具有重要意义,农场用于嫁接的大棚一般保持在低温高湿的环境下,以提高幼苗成活率。但这样的环境并不适合嫁接人员,并且,即使对熟练工人来说,嫁接也是一项耗时又乏味的工作,人工种植嫁接苗的工作很难满足市场日益增长的需求。这些不利的因素刺激了嫁接自动化的研究,并以此取代缓慢的手工嫁接。
随着高速计算机的广泛兴起,机器视觉技术被广泛应用于植物和植物产品的形态和特征的提取,国内外学者已经开始了对嫁接机器人系统的研究。在日本,YANMAR公司和三菱公司展开合作,开发并实现黄瓜和西瓜的半自动嫁接机器人系统的商业化,其速度大约是人工嫁接的三倍[5-6]。所有机器人嫁接系统都采用半自动人工对秧苗分级和分类模式,但是目前还没有可以节省大量的人力和生产成本的全自动化的嫁接机器人系统。
砧木和接穗幼苗的直径匹配直接决定了嫁接成功度,所以嫁接前需要选择直径相同的接穗和砧木幼苗。为了达到这一目的,需要对秧苗进行分级和分类,这是一项费时费力的劳动密集型工作。操作人员根据形态学特征,采用一系列视觉评分标准来识别幼苗,这是一种主观且容易发生人为错误的方法。本研究的目的是利用机器视觉实现分级和排序算法对西红柿的幼苗进行四组嫁接,使秧苗可以嫁接得更精确、更快、更环保,最终将这些幼苗分级为“可接受”和“剔除”两类。
虽然幼苗的形态可由其特征来表征,但其特征并不能提供足够有用的定量信息来进行模式识别,因为即使在同一品种的幼苗之间,幼苗的形状也有很大的差异[7-10]。为了对幼苗进行定向模式识别,必须采集到能够确切表征幼苗形状的特征。由于每个幼苗变化尺寸各不相同,每个幼苗都必须单独测量,以量化其形状,从而识别所需的特征,在自动嫁接系统中,相机可以代替人眼对秧苗进行分级和分类。
对幼苗进行分级和分类的主要特征是茎的粗细参数[11]。图像单位面积下像素的数量是一个重要的参数,选择分辨率为1628×1236像素的UXGA单色相机获取幼苗图像。
在机器视觉系统中,通常使用两类人工光源来获取物体的视觉化图像。1)从物体的正面进行照明,使所需的特征在相机上显示出来(图1a所示);2)从物体的背面照明,使物体的阴影能够被视觉相机获取(图1b所示)。
图1 (a)正面照明系统;(b)背光系统
为了找到适合的光源,对两类光源进行了测试。第一步,四个LED(Light Emitting Diode)二级发光管光源被放置在相机周围,面向幼苗进行采集。按照这种布局,获得了相机距离幼苗5、10、15和20厘米拍摄的图像。然后在相同的幼苗和相同的相机距离条件下,将光源放置在幼苗后面,使其面对相机,这样就可以获得幼苗的影子。比较两种光源获得的图像,选择图像清晰度更好的光源进行课题的研究。
市场上有白色、蓝色和红色的LCD(liquid-crystal display)液晶显示器面板背光可用作照明光源,这三种颜色的背光分别与相机一起使用,从相同的相机位置获取幼苗的图像。对采集到的图像进行像素提取值的比较,选择合适的背景光颜色进行研究。
光源对物体产生一定的反射或光晕效应,使物体的某些部分高度明亮。为了消除这种光晕效应,通常使用偏振光滤光片,同时与相机和光源一起获取图像。为了找到合适的偏振光过滤器,设置了10厘米相机距离的三种不同组合设备,获取图像幼苗:1)使用没有光过滤设备;2)使用偏振光过滤器镜头;3)使用偏振光过滤的镜头以及背光面板。对采集到的图像进行对比找出提取图像所需特征的最佳组合。
为了进行试验,收集了200株接穗苗和200株砧木苗。为了找到相机与幼苗之间的最佳距离,需要获取幼苗在10、15、20和25 cm相机距离下的测试图像,然后比较图像中发现的所需特征。每个幼苗被垂直放置在相机和背光面板之间,以获取其图像。相机、幼苗、背光板的实验设置如图2所示。在选定的最佳相机距离下,从三个不同的相机方向手动旋转秧苗载体90°获取每个秧苗的三幅图像。
图2 图像采集的实验设置图
所开发的算法不包含复杂的图像处理方案,以便直接对高速图像数据进行处理。图像实时处理是排序系统的关键,为了区分幼苗图像与背景,将灰度图像转换为二值图像,阈值从背景图像中若干点的最小灰度值中选取,像素有价值“1”的数量在每个图像的水平轴数(图3所示)。
图3 二值化图像在水平轴的像素值
根据二值化的图像在横轴方向上的统计值,确定幼苗切点处的茎部直径。以5个连续水平轴上的平均值作为最终直径。如果在切割点处的茎不是垂直的,那么沿水平轴的计算值将不能给出准确的直径(如图4所示)。因此,在沿水平轴计算像素值之前,利用(1)和(2)公式来补偿轴的倾斜度,使其与杆垂直。
(1)
(2)
图4 补偿倾角对幼苗杆直径的影响
确定幼苗杆直径过程中,通过(x,y)坐标沿着x轴与y纵轴杆的θ的倾角方向,向下标n为步数移动计算像素,同时设置每个水平行(x0,y0)为水平轴和幼苗杆交叉点,幼苗杆直径是指像素沿(x,y)轴计数值,设置(xn,yn)、(xn-1,yn-1)分别指代茎最左边缘与横轴在yn、yn-1处的交点。
排序算法的第一步是从两个相机方向获得的每个幼苗的两幅图像,并从中找出更好的一幅,两个方向之间的夹角约为90°。从两个相机方向获取的幼苗图像如图5所示。其中节点间长度较长的图像被认为是较好的图像,因为该图像中叶子的方向几乎垂直于摄像轴,因此可以清楚地检测到节点和茎。
图5 从两个方向拍摄的同一株幼苗的图像
由于叶片排列不整齐,两幅幼苗图像中的叶片节点无法检测到,则将其划分为“D”类或“不合格”。在对幼苗进行分级之前,要根据不同的相机位置校准像素数量和幼苗直径。通常情况下,幼苗茎部直径从1.20mm到2.50mm不等。因此,根据茎粗将幼苗分为“A”“B”“C”三类,分别对应“大”“中”“小”三种茎粗。这里“大”“中”“小”分别表示茎粗范围“大于2.00 mm”“介于1.60 mm ~ 2.00 mm之间”“小于1.60 mm”,按其等级进行排序。
根据扦插点处的茎粗细对幼苗进行分级和分选。本文提出的算法从幼苗底部的某个预定点开始沿水平轴扫描每个图像,并累积二值化的像素值。图6(a)为二值尺度下的幼苗图像,图6(b)为同一图像的像素计数值。结果表明,在垂直轴向250像素处,累积的像素值与幼苗茎部的粗细值基本一致。在垂直轴上,累积像素逐渐增加到360,这表示子叶的存在。然后,累积像素数逐渐减少,直到垂直像素数415接近垂直像素数250为止。从该点向上移动,在垂直像素数550处找到叶节点,因为从该点开始,累计像素开始再次增加。使用短的水平轴,从像素值415向下移动,子叶节点也在垂直像素415和360之间的某个地方被检测到。两个节点的中点可以很容易确定,并且可以确定表示该点处茎的直径的像素个数。通过与校准数据的比较,还可以确定苗木茎粗细,从而对幼苗进行分级和分类。
图6 (a)灰度幼苗图像;(b)像素的二进制值
图7显示的一个幼苗图像,其中所需的部分被叶子覆盖。从每个水平轴上计数的二进制像素谷(图7(b))中,无法检测到子叶上方的茎。因此,这棵幼苗将被分级为“D”或“不合格”,并留给人工嫁接。
图7 (a)不合格灰度幼苗图像;(b)像素的二进制值
针对全自动嫁接系统,提出了一种基于机器视觉的番茄苗分级分选算法。从幼苗图像采集实验中发现,背光系统结合偏振光滤波器适合于识别图像中的幼苗形状,机器视觉分选算法的成功率为97%。其余3%的幼苗未能进行分类,因为图像中所需的部分被四面不规则排列的叶子覆盖,因此这些幼苗被保留为人工种植嫁接。同时根据切点处的茎粗,实现幼苗分级,将其分为大、中、小三类。该算法不仅适用于番茄幼苗,还可以应用于茄子、辣椒及其他幼苗,只需稍加修改即可广泛推广,具有良好的应用价值。