赵嘉玮
(武警甘肃省总队,甘肃 兰州 730000)
我国是草莓生产和栽培面积最大的国家,针对草莓分类工作存在漏检率高、精准度低和草莓品相、颜色、饱满度容易忽略的问题,本研究在日本宫崎县草莓上市标准的基础上,结合草莓果实的周长、面积、形状、颜色、成熟度特征,对草莓等级进行分类。
本研究对中国农业网草莓数据和实拍补充的500张草莓实体图进行图像预处理,并对预处理的图像进行目标分割及特征提取,主要目的是提取形状特征、颜色特征、成熟度特征。具体步骤分为3个部分。
首先,研究人员在Matlab中利用最小二乘法划分目标区域,调用bwperim函数计算周长,利用像素点和计算有效面积,将图像转换为HSV坐标化图像后,调用HSV模型对颜色成熟度和饱和度进行刻画,利用傅里叶描绘子得到草莓形状(饱满度),对提取到的各特征进行加权,最终将草莓划分为特等品、一等品、二等品、不合格4个等级。
其次,研究人员利用SVM算法对提取到的草莓特征值进行逐类目标特征训练,对目标识别出的各类特征进行分类打分,经过加权算法最终划分目标等级。
最后,研究人员对成果进行测试。研究人员采集新的草莓图像,利用传统的人工分类方式,对草莓进行分类,将采集图像输入程序与人工分类进行对比,验证分类的准确性、鲁棒性。
图像预处理包括图像二值化、图像HSV坐标化图像、图像剪裁、目标分割与剪裁[1]。
研究人员在Matlab中调用rgb2hsv函数,将 RGB 的颜色转换为HSV坐标,即RGB的值转化为对应的明度、色调、饱和度坐标;利用mat2gray函数实现图像归一化,即所有在矩阵中的值为1或0;最后研究人员利用im2bw函数设置阈值(本研究阈值设置为0.6),将图像转变成二进制图像。
本方法利用im2bw函数将图像转化为二进制图像,通过imclose进行形态闭合,对相似像素点进行取舍,确定目标;然后利用imfill函数填充刚刚圈定的目标孔,使已确定像素目标中包含背景,呈多孔目标图像,利用此函数对其进行填充,使其成为一个完整闭合的图像;最后再次调用imcrop函数进行剪裁。
本方法获取周长和面积的方式是在Matlab中,通过bwperim函数计算周长,通过像素点之和计算面积。图像的预处理会使面积的计算更精确,尤其适用于不规则图形面积的计算。
研究人员利用傅里叶描绘子对草莓形状进行定义[2]。封闭的草莓轮廓Ω={(xi,yi),i=1,2,…,m}初始位置相同,研究人员可将其视为一个周期,利用傅里叶级数正弦波的形式展开研究。草莓轮廓Ω在复平面上的参数方程为:c(t)=x(t)+jy(t),t∈(0,2π]。曲线c(t)在(x,y)方向上的傅里叶:
(1)
曲线c(t)的傅里叶描述子为:
(2)
曲线受高频噪声影响,所以采用N个低频椭圆傅里叶描述子描述草莓果形,即草莓形特征向量:FD=[FD1,FD2,…,FDN][3]。
HSV是一种直观特性颜色模型,也叫六角椎体模型,是色调、饱和度、明度的综合模型,用来反映所要表达事物的颜色、饱和度、成熟度的数据特征与特性[4]。
研究人员通过实验,首先对涉及变量进行加权:将变量h划分权重9,变量s划分权重3,变量v划分权重1;其次进行12级量化;最后将0~2级记作Ⅰ(不合格),3~5级记作Ⅱ(二等品类),6~8级记作Ⅲ(一等品类),9~11级记作Ⅳ(特等品类)。
SVM算法又被称为支持向量机,是一种二分类的模型,修改后可用于多类别问题的研究与分类。该算法主要解决线性与非线性两大类问题,为找到空间内能够将所有分类划分的超平面,使得所有本集合中的元素到这个超平面的距离最短,利用该算法对提取的特征值进行训练,以达到对其他草莓进行分类的效果。SVM算法本质上是特征的训练和分类,属于机器学习。
研究人员将收集到的数据进行置乱,随后设置训练比,1.0为全训,本文设置为0.8,数据集中共有500张照片,400张用来训练,100张用来测试。
实验运用SVM算法建立模型,首先确定核函数和惩罚参数,本文选用了网格搜索和交叉验证的方法,用网格搜索确定待定参数(г,C)的组合;再对组合进行交叉验证来再次确认[5];最后取交叉验证正确率最高的参数作为模型参数训练整个SVM算法。测试结果如图1和表1所示。
图1 测试结果
表1 测试过程
由表1可知,特等品、一等品、二等品、不合格这4种草莓分级正确率分别为90%,78.57%,92.72%和76.19%,综合正确率为84.37%,表明使用SVM进行形状分级是可行的。机器视觉和图像处理运行时间为58 m,表明该筛选方法具备实时性。
本研究在SVM算法的基础上,从周长、面积、形状、颜色、成熟度5个方面分别对草莓进行相应的评级处理,根据加权比重,制定4个等级的草莓分级,利用逻辑运算关系串联4个工作流程,建立一套草莓自动分级系统。该分级系统分级速度快(平均处理时间50 ms),参考因素全面,提高了人工分类的效率。利用该系统对100个草莓进行分级测试试验,分级准确率达到84.37%(分类错误的草莓只出现在相邻等级,没有越级样本),共耗时58 ms,可以满足草莓实时分级的需要。