基于计算机视觉的菜青虫检测系统的研究
2020-03-24钟诚怡梁聪彪薛亚章
钟诚怡,李 鑫,梁聪彪,薛亚章
(山西农业大学,山西 晋中 030800)
0 引言
菜青虫对蔬菜的危害巨大,且分布范围广泛。目前,我国对害虫的诊断主要依靠植保员或有经验的人员,覆盖面窄、识别的效率低。机器视觉可以很好地解决上述问题。
吴翔[1]采用了Otsu算法和SURF算法提取害虫的局部特征,对全局特征和局部特征建立了SVM分类器并构建了12层卷积神经网络实现对害虫的识别。高雄[2]对图像进行色度变换及欧式距离的方法,并采用阈值法分类识别菜青虫。宋革联[3]采用近红外高光谱提取菜青虫不同状态的光谱信息,使用最小二乘判别法对菜青虫的生死状态进行分析,并结合K最邻近节点算法等建立分类模型。张震[4]采用基于欧氏距离的机器视觉甘蓝菜常见虫害的精确识别检测系统,并结合由Qualityspec光谱仪和相关光谱分析软件组成的光谱分析系统对健康甘蓝叶片和遭受虫害侵染甘蓝叶片的颜色特征和光谱特征进行了分析。
高光谱检测仪的费用高,阈值分割法受环境因素影响严重,本文采用HOG特征+SVM分类器的方法进行分类识别。
1 系统的整体框架
系统对图片上的虫子进行识别,对拍摄的图片进行彩色图片均衡化处理去除光照等环境因素的影响;再次提取虫子的特征信息,通过SVM算法的学习建立分类器实现对虫子的识别,具体实现过程如图1所示。
图1系统实现整体架构
2 图像预处理及特征提取
菜青虫与背景叶片的差别较小,个别图片因光照、拍摄角度等因素很难识别,采用图像预处理技术对图片进行增强,使目标显现辨识更明显。
图像预处理采用彩色图像的平衡化方法,即将RGB三色,以其中一个色度为基准,匹配剩余的两种色度的方法。对比图2中的两张图,可以看出平衡化的图片的识别效果更好一点,重点更加突出。
图2 增强前后对比图
特征提取
HOG特征用于目标检测的特征描写叙述子,该技术将图像局部出现的方向梯度次数进行计数,HOG的计算采用一致空间的密度矩阵来提高其准确率。
特征即某个区域的像素经过某种四则运算后最终得到的结果。特征通过阈值判决来进行区分目标。
HOG的核心思想是所检测的局部物体外形可以被光强梯度或边缘方向的分布所描写叙述。其流程图如图3所示。
图3 HOG特征提取的流程图
HOG特征相当于一个可完全描述一个object的所有信息的向量。
本文中将HOG特征的计算大致分为四步:1) HOG特征的模块划分;2)计算梯度和方向;3) 根据梯度和方向进行bin的投影;4) 计算每个模块的HOG特征。
在本文中,在模块划分中定义四个概念,分别为image size,win size,block size,cell size;其中win的特征计算的是最顶层的单元且win特征的大小不一定等于image的像素大小。block的大小小于win大小且win size的宽和高对block size的宽和高可整除。根据以下公式可计算HOG特征的维度:
维度=窗体中所有block个数*每个block中cell的个数*每个cell中bin的个数
梯度有两个属性,分别是大小f和方向angle,其计算是以像素为单位,也包含特征模板的计算。在本文中,我们设a,b两个变量,其中a表示相邻像素之差,b表示上下像素之差。根据如下公式可得梯度大小f和方向angle:
angle=tan-1(a/b).
(1)
(2)
bin的投影依赖于梯度,默认将0°-360°划分为9个bin,每个bin的范围为0°-40°而该40°为不连续角度,我们将其平均划分为两个连续的区域分别进行投影。
通过投影将所有像素遍历完,分别依次进行权重累加,即可得到最终的HOG特征。本文中HOG特征为3780维,而HOG特征的判决需要利用SVM分类器。
3 SVM分类器
SVM(Support Vector Machines)是分类算法中应用广泛、效果不错的一类。其在解决小样本,非线性及高维模式识别中表现出许多特有的优势。支持向量机方法是建立在统计学习理论的VC理论和结构风险最小原理基础上的,VC维越高,问题越复杂。
分离函数如同一条直线,将两类样本完全分开,w表示平面法向量,b表示截距设分离平面函数是:
w*x+b=0.
(3)
通过向量运算转化可得到化简后的式子:
D=2/||w||.
(4)
将其转化为凸优化问题,将以上(3)式和(4)式联立,可转化为求:
Min(w,b)||w||2/2.
(5)
对每一个不等式约束引进拉格朗日乘子(Lagrange multiplier)αi≥0,i=1,2,…,n;αi≥0;构造拉格朗日函数:
(6)
将w与b消除,原始的约束最优化问题可等价于极大极小的对偶问题:
(7)
而线性不可分时,需要向高维空间转化,使其变得线性可分。此时需要松弛变量法来解决此类问题,对每个样本引入一个松弛变量δi≥0,这样约束条件变为:
yi(wTxi+b)≥1-δi
(8)
目标函数则变为:
(9)
其中,C为惩罚因子,C越大,分错点越少,但也不能太大,以免产生过度离合。为避免维度灾难,则需要引入核函数,核函数是低维空间向高维空间映射,但可在低维空间中对高维空间进行计算。通过Mercer定理来判定核函数,诱导出核函数矩阵,得到K值,建立识别模型;系统的识别效果如图4所示。
图4 菜青虫识别效果图片
4 实验及总结
本实验的样本集来自山西农业大学实验基地,通过手机摄像头进行拍摄,拍摄像素为1920*1440,训练样本的像素为64*128,本实验在Visual Stadio2019上进行编译,使用python语言,该实验的训练样本数目为300,测试样本数目为100,测试结果如表1所示。
表1 实验结果表
论文实现从图像采集彩色图片均衡化,减少了环境对识别的影响,提取HOG特征及SVM的分类学习算法,实现对菜青虫的识别模型。由实验结果可以看出,实验的成功率达到了对虫子识别的效果。