杜芳芳,王 丹,杨 强
(黄河交通学院,河南 武陟 454950)
草莓营养丰富,具有较高的营养价值。随着种植和病虫害防治技术水平的提高,我国的草莓种植面积逐渐增加。但是,草莓成熟具有不定期的特点,需要人工方式进行采摘,劳动强度和作业量都非常大[1],严重制约了草莓产业的发展。
为了提升草莓的生产率,降低草莓采摘的劳动强度,很多果农采用了机械采摘的方式替代人工采摘。由于草莓具有鲜嫩及不易储存的特点,为了降低草莓腐蚀带来的损失,需要根据草莓的状态按照成熟度采摘。如需要长距离运输或贮藏,则需要在草莓未成熟时采摘;如就地销售,则需要采摘完全成熟的草莓。草莓的成熟状态包括不成熟、成熟和完全成熟[2-3]。然而,单纯的机械采摘方式无法有效识别草莓的成熟度,在草莓采摘完成后还需要人工检测方式进行筛分,检测效率低且易增加草莓的损坏率。
机器视觉系统的核心是图像处理技术,即利用计算机对图像的相关数据进行运算,将低质量图像中的噪声、畸变进行处理,得到机器可检测的图像。在很多流水线作业生产中,使用机器视觉系统替代人眼进行产品质量的检查,有效提高了生产效率、安全性和智能化程度。因此,可把机器视觉系统应用于草莓的机械采摘,即采用图形处理技术进行草莓成熟度的检测。为此,本文基于图像处理对成熟草莓检测技术进行研究。
综合考虑草莓的种植环境,草莓视觉检测系统的硬件组成主要包括CCD摄像头、图像采集卡、计算机主机、光源、继电器和运动控制设备,如图1所示。
图1 草莓视觉检测系统结构示意图Fig.1 The schematic diagram of strawberry vision detection system
CCD摄像头可以看作视觉传感器,用于采集草莓的图像信息。根据检测的精度及视野范围,CCD摄像头选择松下WV-CP470型号的CCD摄像头。该摄像头具有高精度的CCD图像传感器以及可以大规模处理数字信号的集成电路,使得采集的图像分辨率和质量较高。
该视觉检测系统应用于草莓采摘机器人时,一般设置两个CCD摄像头,采用双目视觉系统进行草莓的定位,以保证采摘精度。双目视觉的原理图如图2所示。
图2 双目视觉原理图Fig.2 The schematic diagram of binocular vision
图像采集卡的作用是将采集到图片的模拟信号转变为计算机可识别的数字信号,并将信号传递至计算机主机进行分析、处理和存储。在此,采用大恒公司生产的DH-CG320型号图像采集卡,数量与CCD摄像头的数量对应,为2个。
计算机主机是草莓视觉检测系统的中枢机构,用于对图像采集卡接收到的图像进行处理和分析,提取草莓信息,生成指令信息,传递至草莓采摘机器人执行。考虑到系统的作业环境较为恶劣,同时还要保证对图片信息的处理速度,采用适用于处理图形信息且运行速率较快的研华PCM9575型号的主机。
光源主要为系统提供照明,以保证拍照的最佳效果。考虑到草莓的表面颜色为红色,故系统的光源选择为白色的高频日光灯。由于环境光会对拍摄的图像产生噪声,因此在光源周围设置防护屏,以降低图像噪声。
继电器用于控制系统电路的断开和闭合,为保证系统作业的稳定性,选择采用GTJ9-10A的固态继电器。该继电器为无触点的电子开关,不含有机械运动,仅依靠可控硅或晶体管即可控制电流的开闭。继电器的接线示意图如图3所示。
图3 继电器的接线示意图Fig.3 The wiring diagram of relay
在检测过程中,摄像头视野范围受限,为对草莓种植环境进行拍摄,需要相应的运动控制设备进行控制。运动控制设备一般为草莓采摘机器人的各部件,如导轨、电气和驱动装置等。
对于成熟草莓的检测,需要根据草莓的表面颜色以及红色所占的面积比来确定草莓的成熟度。草莓成熟度的识别过程如图4所示。其中,图像检测算法和神经网络模型设计是系统的核心。
图4 草莓成熟度的识别过程Fig.4 The identification of strawberry maturity
处于采摘期的草莓,其表皮颜色均相近,但与周围的环境颜色具有较大的差别。这种颜色分布放置于色彩空间,则是果实颜色与背景颜色的差别。由于草莓周围环境主要为绿色枝叶或近于黄色的枯叶,与草莓颜色差别较大,故采用图像分割算法中的ISODATA分割算法进行草莓目标的提取。草莓的图像检测算法流程如图5所示。
1)CCD摄像机完成图像的采集后,第1步是去噪处理。拍摄的草莓图像由于外界环境的干扰都存在一定程度的噪声,使图像模糊,为了后续的图像分析,需要进行去噪处理。在此,采用中值滤波和高斯滤波综合的方式进行去噪。
2)第2步是进行图像的预处理。由于采用CCD摄像头拍摄的图片是在RGB彩色模型下显示,但是莓图像在该模型中无明显的分辨规律,不易于后续图像的处理,故需要将其转变为易于图像颜色提取的HIS颜色模型[4-5]。RGB和HIS彩色模型分别如图6(a)和图6(b)所示。
RGB模型是在笛卡尔坐标系中建立,HIS模型是在柱坐标系中建立,若将RGB颜色模型转变为HIS模型,只需把RGB的坐标值转变至柱坐标系即可。假设某颜色在RGB单位立方体的红、绿和蓝的三原色的坐标为(R,G,B),则由RGB转变为HIS的计算公式为
其中,θ计算公式为
其中,R、G和B的范围均为[0,1];Mmin为R、G和B的最小值。
3)第3步为图像的分割。在拍摄的图像中,除了草莓外,还包含叶子和地膜等。为了从这些背景中有效地分割出草莓区域,采用ISODATA算法进行图片的处理,从而将草莓从绿色的茎叶和黑色地膜中分离出来。这种算法具有效率高和易适应的优点。
4)第4步为图像孔洞填充。图像在分割完成后,由于拍摄过程中的光照等因素,还会存在大小不一的孔洞,影响后续图像的处理。对于草莓图像,采用运算较为简单的数学形态学法进行处理[6],该算法主要包括腐蚀、膨胀和填充算法。对于目标周边边界点的消除,采用腐蚀算法;对于需要将与目标接触的背景点合并至目标图像,采用膨胀算法;对于窄且细的、简单的断开和消除,采用填充算法,从而完成图像的处理。
在采用BP神经网络对草莓进行成熟度划分之前,首先需要提取草莓成熟度的特征参数。通过对比发现:不同成熟度草莓之间的颜色以及红色面积比的特征差异较大;而对于采集的图像均已转化为HIS彩色模型,其中的亮度“I”和饱和度“S”基本无差异,颜色差异主要体现在色调“H”。因此,区分草莓成熟度的参数选择为H值、方差和红色面积比,并将这3个参数作为BP神经网络的输入值。
BP神经网络主要包括3层,分别为输入层、隐含层和输出层,各层的神经元个数分别为m、n、p。网络输入层的输入值X为(x1,x2,…,xm);隐含层的输入值hi和输出值ho分别为(hi1,hi2,…,hin)和(ho1,ho2,…,hon);输出层的输入值yi和输出值yo分别为(yi1,yi2,…,yip)和(yo1,yo2,…,yop);隐含层的函数为f;样本个数为N。
BP神经网络算法的流程图如图7所示。
图7 BP神经网络算法流程图Fig.7 BP neural network algorithm flow chart
首先,将BP神经网络初始化。将输入层和隐含层的连接权值ωsy、隐含层和输出层的连接权值ωyc分别赋值(-1,1)任意数,确定网络计算精度ε和最大学习次数M。其次,选择第k个样本,给定输出层期望的输出值为d0(k)。再次,计算隐含层所有神经元的输入值hiy(k)和输出值hoy(k)。
hoy(k)=f[hiy(k)],h=1,2,...,n
输出层所有神经元的输入值yis(k)和输出值yos(k)分别为
yos(k)=f[yis(k)],o=1,2,...,p
最后,根据误差修正各连接层权值ωsy和ωyc,并计算整个网络的全局误差E。
若网络的计算精度和最大学习次数符合要求,则停止运算,并输出计算结果,确定采集图片中草莓的成熟度。
为了验证该草莓视觉系统的性能,需要对其试验。由于系统采用BP神经网络算法进行成熟度的划分,需要对该系统进行训练,再对训练完成的系统进行测试试验。
BP神经网络的建立和样本的训练均在MatLab环境下,设定系统的最大循环次数为1000次,误差精度为0.001,学习效率为0.1。由果农选定“完全成熟”“成熟”“不成熟”的草莓图片各50幅,对系统进行训练,直到误差精度小于设定误差时停止训练。之后,调整系统的光照和CCD摄像头,保证拍摄效果。由果农重新选定“完全成熟”“成熟”“不成熟”的草莓,通过系统进行拍照并识别,结果如表1所示。
表1 草莓成熟度识别结果
由表1可知:对于“完全成熟”“成熟”“不成熟”的草莓,系统的识别成功率均在90%以上,符合果农的要求。未识别成功的草莓,可能是由于实际设备操作以及外部环境等原因,影响图片拍摄的亮度,从而使草莓成熟度的识别出现误差。
1)目前草莓成熟度的区分,具有检测效率低且易增加草莓损坏率的问题,本文基于图像处理对成熟草莓检测技术进行了研究。草莓视觉检测系统的硬件组成主要包括CCD摄像头、图像采集卡、计算机主机、光源、继电器和运动控制设备。
2)系统采用图像处理算法和BP神经网络算法对草莓成熟度进行检测。工作时,通过摄像头拍摄图片,并对草莓图片进行预处理、分割和滤波等处理和分析;然后,采用BP神经网络算法识别出不同成熟度的草莓。
3)为了验证系统的性能,采用确定成熟度的草莓对系统进行训练和测试,结果表明:系统可以准确识别草莓的成熟度。