基于视觉感知的蔬菜害虫诱捕计数算法
2018-04-02肖德琴张玉康范梅红潘春华叶耀文蔡家豪
肖德琴 张玉康 范梅红 潘春华 叶耀文 蔡家豪
(1.华南农业大学数学与信息学院, 广州 510642; 2.广东省农业大数据工程技术研究中心, 广州 510642;3.广州东升农场有限公司, 广州 511470)
0 引言
无线图像传感器网络以其对视频、图像等大信息媒体的感知与处理优势,催生了视觉感知技术在工业界和学术界的空前发展,导致视觉感知的图像识别技术成为各界应用的热点[1-2]。近年来,视觉感知技术在害虫识别[3-14]、作物长势分析[15]、作物病理诊断[16]等农业领域得到了广泛重视。农业害虫图像识别也成为近年来的研究热点。
在害虫图像识别领域,目前主要是通过对诱捕板害虫进行计数和对绿色植物叶面的害虫进行计数。张水发等[3]、胡雅辉等[4]和MURAKAMI等[10]研究了绿叶表面的蔬菜害虫图像,对蓟马或烟粉虱的识别率相对较高,但是识别的害虫类型相对单一,而且需要人工翻转每个叶面,不利于自动化识别应用。ESPINOZA等[6]和SUN等[12]关于诱捕板害虫的识别均有较好的识别精度。
针对当前大田环境下害虫图像识别技术存在种类单一和背景过于理想化的不足[13-16],以及对大田环境下蓟马、烟粉虱等蔬菜害虫进行识别计数的空缺,本文在对比分析以往边缘检测和阈值分割的经典算法基础上,以南方蔬菜重大害虫为研究对象,探索一种在大田环境下使用黄色诱捕板对蔬菜害虫进行监测计数的新方法,提出一种基于结构化随机森林的害虫图像分割算法和利用不规则结构的特征提取算法。进一步结合背景去除、干扰目标去除和检测模型计数子算法,集成设计基于视觉感知的蔬菜害虫计数算法(Vegetable pest counting algorithm based on visual perception,VPCA-VP),在现场复杂环境下使害虫识别达到3类以上。
1 VPCA-VP算法的体系结构
VPCA-VP算法主要包括害虫图像预分割、背景去除、干扰害虫去除、不规则特征提取和检测计数5大模块,算法流程图如图1所示。
预分割模块中,针对大田现场图像的复杂环境,本文使用结构化随机森林子算法对害虫图像进行预分割,获得图像中所有对象的轮廓;然后采用背景去除子算法去掉黄板以外的干扰背景,获得只有黄板区域内的图像;再应用干扰害虫去除子算法去除大型害虫部分肢体的干扰;最后运用不规则特征提取子算法形成3维特征向量,并使用阈值判定子算法对害虫进行分类计数。
2 VPCA-VP算法设计与实现
2.1 预分割处理
本文提出了一种基于结构化随机森林的分割算法,该算法采用监督学习方式对害虫图像进行分割。美国伯克利大学的BSDS500图像数据库[17]为图像分割和边缘检测提供了一个共享的图形库,该图像数据库包括12 000个人工分割图像和1 000个Corel数据库图像,涵盖了物体、动物和害虫等多个领域的图像信息,国内外很多学者使用BSDS500数据库做各个领域的分割,例如徐良玉等[18]用其进行海天线检测,ZITNICK等[19]用其对动物进行跟踪。本文以BSDS500图像数据库为训练集,使用CIE-LUV的3个色彩空间、2种梯度大小(原始分辨率和原始分辨率的一半)[20]和8个方向(每个梯度有4个方向)[21],结合样本空间的自相似性描述子,将样本图像转换成7 228维的特征向量,进一步利用向量转换和降维技术得到256维的输出向量[22]。特征向量和输出向量用于训练单棵决策树,最终完成随机森林的训练。
图1 VPCA-VP算法流程图Fig.1 Flowchart of VPCA-VP algorithm
经过多次测试发现,本实验中随机森林的子树个数T为4时效果比较好,本文基于随机森林的害虫图像生成流程算法如下:
输入:训练集D=(X,Y),X是样本的属性集,Y是对应样本的标签集
输出:训练好的随机森林模型
GrowRandomTree(D)
fortto |T| do
随机选取固定数量的属性集合Xsub,结合标签集Y形成训练集Dt
训练随机森林的单棵决策树
end for
return random forest
结合害虫图像对训练完成的随机森林进行测试,分割效果如图2所示,本算法不仅可以准确分割黄板边缘,而且害虫对象的边缘也能准确分割出来。
2.2 背景去除
直接提取出来的黄板区域是不包括黄板边缘的像素,实际实验中发现很多害虫集中在黄板边缘上,所以需要对黄板区域进行微量膨胀来补充损失的黄板边缘信息。由于原图在农场大田环境下采集,包含的背景比较多,因此,本文算法先需要除去黄板以外的植物和建筑物等其他背景,以获取只有黄板的二值图像。具体算法如下:
输入:预分割图像
输出:背景去除后的图像
getDelBlackground(I)
把图像I作取反操作,得到图像I1
对I1进行填充操作,凸显黄板区域,获得图像I2
新建立一个空白图像,选取图像I2的黄板放在空白图像上,形成图像I3
对I3进行膨胀操作,弥补边界的损失,得到图像I4
returnI4
首先以图2为研究对象,把图2进行取反操作,得到图3a;然后对图3a进行填充操作,得到图3b;最后对图3b中黄板区域的连通域进行选择,存放在另外一个新建的图像,得到图3c。为了后面能够获取到黄板边界的分割图,需要补充黄板掩码图的缺陷,可对图3c进行膨胀操作得到黄色诱捕板的掩码图,膨胀算法选取尺寸为20×20的正方形结构元素作为计算算子,结果如图3d所示。再把图2初步分割的结果与图3d的掩码图进行与运算,可去掉黄板区域以外的建筑物、天空等背景图像,最后得到只有黄色诱捕板的分割图像,如图3e所示。
图2 结构化随机森林分割图Fig.2 Segmentation diagrams of structured random forests
图3 去除背景过程Fig.3 Process of removing background
2.3 干扰害虫的去除
识别害虫时可能会把体积较大害虫的部分肢体当成本文需要识别的害虫,为了排除超大型害虫的干扰,再一次提高后面害虫识别的精度,本文设计了如下干扰害虫去除算法。
输入:已经去除背景的分割图像
输出:已经去除干扰害虫的分割图像
图4 去掉大型害虫干扰过程Fig.4 Process of removing interference of large pest
getDelOtherPest(I)
对图像I进行凸包拟合,得到只有大型害虫的凸包拟合图像I1
对图像I1中除了凸包区域外其他区域漫水填充成灰色,获得图像I2
对图像I2进行二分操作,灰色区域变成黑色,非灰色区域变成白色,形成图像I3
根据I3对I进行操作,I3为黑色区域位置则对应保留I中原来像素,否则变成黑色像素,最终得到图像I4
returnI4
首先,对图3e进行凸包拟合,找到凸包面积较大的区域,得到如图4a所示结果;其次,对凸包拟合的图像使用漫水填充算法进行标记,图像上分别有灰色背景,黑色的害虫内部区域和白色的害虫边界,而且大型害虫轮廓还包含有子轮廓,如图4b所示;然后,对图4b进行二分操作,把灰色背景变成黑色,其他的颜色全部变成白色,得到了图4c的大型害虫掩码图;最后,根据图4c大型害虫的掩码图,对图3e进行操作,如果是图4c的白色区域,则把图3e对应区域的像素变成黑色,这样就能去掉黄色诱捕板内大型害虫的干扰,得到只有小型害虫的分割图像,如图4d所示。由此,获得了只有小型害虫的分割图像,为后面的识别尽可能地排除了干扰。
2.4 不规则特征提取
害虫图像具有全局特征,如果对整张图像进行特征提取,这个图像特征将包括害虫、黄板甚至是远处的建筑物等很多对象信息。经典的做法是只计算每个分割对象矩形区域的特征,使特征区域只包含单个对象,这不可避免地带来了对象以外的像素干扰,降低了该对象特征的代表性,如图5所示。
图5 传统的特征提取子轮廓Fig.5 Feature extraction of sub contour by traditional method
本文使用一种新的算法对不规则图像进行特征提取,使提取出来的特征只有害虫对象特征,并排除其他像素特征的干扰。先把彩色图像转换成灰度图,然后使用掩码图运算的形式对害虫对象进行像素提取,最后使用特征值计算纹理能量、对比度、熵、均匀度、相关度、颜色平均值、方差、能量、熵、区域面积、离心率和周长的特征值。特征提取算法如下:
输入:只有单个轮廓的分割图像和原图像的灰度图
输出:12维的特征向量
GetFeatureVector(I,Iori)
对图像I的轮廓使用漫水填充算法得到图像I2
把I2与原图的灰度图做与运算,取出只有单个对象的灰度图I3
计算I3的灰度共生矩阵,并进行二次统计计算纹理的能量、对比度、熵、均匀度和相关度
计算I3图像的颜色直方图,并进行二次统计求得颜色平均值、方差、能量和熵
计算I3中唯一轮廓的区域面积、离心率和周长
return featureVector
此算法首先提取图像的灰度图,然后根据掩码图计算灰度图的特征值,效果如图6所示。根据提取出来的12个特征,使用SPSS对特征进行主成分分析[23],获得了面积、离心率和周长3个主要特征。
图6 特征提取子轮廓Fig.6 Feature extraction of sub contour
2.5 检测计数
由于本文计数的害虫是蓟马、烟粉虱和实蝇,根据上一节的主成分分析,本文识别算法所采用的特征向量用面积、周长和离心率来表示,在实际算法执行过程中,发现计算轮廓周长效果并不明显,所以进一步去除了周长特征,为提高精度,本算法加上了第4主成分——颜色平均值,最后选择的特征是面积S、离心率e和颜色平均值avh。进一步根据害虫的特征分别设置相应的阈值,若满足条件S0
输入:面积、离心率、颜色平均值
输出:各种害虫的数量
CalPestNumber(S,e,avh)
for 1 to AllContour
如果是烟粉虱,则烟粉虱计数加1,进入end for
如果是蓟马,则蓟马计数加1,进入end for
如果是实蝇,则实蝇计数加1,进入end for
其他类型害虫计数加1,进入end for
end for
return pestNumber
3 实验与分析
3.1 算法应用测试
本文实验环境是在自然光照环境下对田间诱捕害虫的黄色诱捕板进行采样识别,采用佳能EOS T2i单反相机进行微距拍摄,拍摄时相机与黄板的平视距离为50 cm,像素为3 500万,拍摄地点在广州市天河区柯木塱南路28~30号(113.412 671°E,23.190 265°N),实验拍摄情况如图7所示,拍摄时间是14:30—17:00。本文采用辣椒地作为实验环境,在辣椒苗期开始使用黄板诱捕,根据作物的长势及时调整悬挂高度,保持色板高于作物15~30 cm,每公顷悬挂450~750张黄板,黄板尺寸为24.5 cm×19.5 cm,太阳光照强烈和温和条件下都有采集图像,同时黄色粘板本身又有一些粘液的干扰,图像环境相对复杂,提高了计算机算法识别的难度。
本算法在Matlab和C++环境下进行分析测试,其中C++使用OpenCV 3.0的图像处理库。本实验使用53幅图像对蓟马和实蝇进行计数,在黄板胶体和强光影响下,实验对烟粉虱计数的效果不佳,对30幅光照强度相对较弱的图像进行烟粉虱计数研究,总共83幅图像,算法效果较好,应用测试结果如图8所示。
3.2 算法的常规度量分析
对VPCA-VP算法的计量精度进行分析。本文选取了蓟马、烟粉虱和实蝇为识别对象,对这3种害虫的计数结果与人工计数进行对比,其性能分析结果用混淆矩阵表示,结果如图9所示。
图7 实验部署Fig.7 Experimental implementation
图8 单张图像计数的界面Fig.8 Graphical interface for single picture count
由图9可知,蓟马识别正确率为93.19%,烟粉虱识别正确率为91%,实蝇识别正确率为100%。烟粉虱的识别性能相对较低,识别正确率只有91%,经过分析发现,主要的影响因素是黄色诱捕板上面的胶体发生了一些光照的反射,因为本文的检测模型是通过颜色特征、边界特征和区域特征来确定的,光照的反射使得胶体呈现出类似烟粉虱的图像,进而产生了误差。
图9 VPCA-VP算法的性能分析结果Fig.9 Performance analysis results of VPCA-VP algorithm
3.3 算法的相对误差分析
为分析VPCA-VP算法的相对误差,本文对每张黄板的计数结果进行分析,把人工计算害虫的数量作为横坐标,对应害虫的相对误差作为纵坐标,采用散点图方式描述分布结果,如图10所示。
由图10a可知,蓟马的误差范围在-12.23%~8.17%之间波动,平均误差为-1.40%;由图10b可知,烟粉虱的识别误差为-25%~25%,平均误差为0.89%;由图10c可知,实蝇相对误差波动较大,误差从0~100%波动。由图10可得,蓟马和烟粉虱识别误差在可以接受范围内,而实蝇因为体积较大本来很容易识别,但是由于样本数量少,每个黄板实蝇数量平均不到1个,一旦出现一个实蝇变形,误差就急剧上升。尽管如此,当前监测实蝇的总平均误差为8%,也在可接受范围内。
3.4 算法计数和人工计数的对比分析
将VPCA-VP算法与人工计数的方法进行比较。参考每块黄板的结果数据,把人工计算害虫的数量作为横坐标,算法计算对应害虫的数量作为纵坐标,绘制散点图,并且对每个数据进行线性回归拟合[23],画出每块黄板结果数据的回归直线,结合回归直线和散点的分布对本文算法进行分析,结果如图11所示。
图10 算法的相对误差Fig.10 Relative error of algorithm
图11 算法计数和人工计数的回归模拟Fig.11 Regression simulation of algorithm counting and manual counting
由图11可知,除了实蝇有个别离群点之外,3种害虫的算法计数和人工计数基本符合线性模型,也就是说算法总体精度较为可靠。从图11a可知,离散点基本贴近回归直线,所以算法对蓟马计数的结果和人工计数结果基本一致,蓟马的决定系数R2为0.98,算法精度较高;相比于图11a,图11b中的离散点也基本贴近回归直线,烟粉虱的决定系数R2为0.97。从图11c可知,实蝇的决定系数R2为0.94,拟合程度相对较差,这是由于每块黄板的实蝇数量较少,只要一个遗漏就会产生较大的偏离,但多数情况算法都能找到实蝇,而且找到的基本都是对的,所以总体性能相对也是可以接受的。
4 结束语
对随机森林分割算法加以改进,结合不规则结构的特征提取算法,实现了一个基于视觉的害虫图像计数算法,该算法实现了对烟粉虱、蓟马和实蝇的计数,算法的平均识别正确率为94.89%,VPCA-VP算法能够在纯大田环境下对害虫进行快速计数,可为农业害虫快速识别计算提供技术支持。
1李道亮,杨昊.农业物联网技术研究进展与发展趋势分析[J/OL].农业机械学报,2018,49(1):1-22.http:∥www.j-csam.org/jcsam/ch/reader/view_abstract.aspx?file_no=20180101&flag=1.DOI:10.6041/j.issn.1000-1298.2018.01.001.
LI Daoliang, YANG Hao. A state-of-the-art review for Internet of things in agriculture[J/OL]. Transactions of the Chinese Society for Agricultural Machinery,2018,49(1):1-22. (in Chinese)
2殷建军,潘春华,肖克辉,等.基于无线图像传感器网络的农田远程监测系统[J/OL].农业机械学报,2017,48(7):286-293.http:∥www.j-csam.org/jcsam/ch/reader/view_abstract.aspx?flag=1&file_no=20170736&journal_id=jcsam.DOI:10.6041/j.issn.1000-1298.2017.07.036.
YIN Jianjun, PAN Chunhua, XIAO Kehui, et al. Remote monitoring system for farmland based on wireless image sensor network[J/OL]. Transactions of the Chinese Society for Agricultural Machinery, 2017,48(7):286-293. (in Chinese)
3张水发,王开义,刘忠强,等. 基于离散余弦变换和区域生长的白粉虱图像分割算法[J]. 农业工程学报, 2013, 29(17): 121-128.
ZHANG S F, WANG K Y, LIU Z Q, et al. Algorithm for segmentation of whitefly images based on DCT and region growing[J]. Transactions of the CSAE, 2013, 29(17): 121-128. (in Chinese)
4胡雅辉,高灵旺. 烟粉虱成虫密度自动计数系统[J]. 应用昆虫学报, 2011, 48(1): 84-87.
HU Y H,GAO L W. An automatic counting system for surveying density ofBemisiatabaciadults[J]. Chinese Journal of Applied Entomology, 2011,48(1):84-87.(in Chinese)
5陈梅香,杨信廷,石宝才,等. 害虫自动识别与计数技术研究进展与展望[J]. 环境昆虫学报, 2015, 37(1):176-183.
CHEN M X, YANG X T, SHI B C, et al.Research progress and prospect of technologies for automatic identifying and counting of pests[J].Journal of Environmental Entomology, 2015,37(1): 176-183. (in Chinese)
6ESPINOZA K, VALERA D L, TORRES J A, et al. Combination of image processing and artificial neural networks as a novel approach for the identification of Bemisia tabaci and Frankliniella occidentalis on sticky traps in greenhouse agriculture[J]. Computers & Electronics in Agriculture, 2016, 127: 495-505.
7FUKATSU T, WATANABE T, HU H, et al. Field monitoring support system for the occurrence ofLeptocorisachinensisDallas (Hemiptera: Alydidae) using synthetic attractants, field servers, and image analysis[J]. Computers & Electronics in Agriculture, 2012, 80(1): 8-16.
8GASSOUMI H, PRASAD N R, ELLINGTON J J. Neural network-based approach for insect classification in cotton ecosystems[C]∥Las Cruces, New Mexico:New Mexico State University,2000.
9LI Y, XIA C, LEE J. Detection of small-sized insect pest in greenhouses based on multifractal analysis[J]. Optik-International Journal for Light and Electron Optics, 2015, 126(19): 2138-2143.
10MURAKAMI S, HOMMAK, KOIKE T. Detection of small pests on vegetable leaves using GLCM[C]∥2005 ASAE Annual Meeting, ASAE Paper 053136,2005.
11SHARIFF A R M, AIK Y Y, HONG W T, et al. Automated identification and counting of pests in the paddy fields using image analysis[C]∥Computers in Agriculture and Natural Resources, 2006.
12SUN Y, CHENG H, CHENG Q, et al. A smart-vision algorithm for counting whiteflies and thrips on sticky traps using two-dimensional Fourier transform spectrum[J]. Computer & Digital Engineering, 2007, 153(2): 82-88.
13XIA C, CHONG T S, REN Z, et al. Automatic identification and counting of small size pests in greenhouse conditions with low computational cost[J]. Ecological Informatics, 2015, 29: 139-146.
14TIRELLI P, BORGHESE N A, PEDERSINI F, et al. Automatic monitoring of pest insects traps by Zigbee-based wireless networking of image sensors[C]∥2011 Instrumentation and Measurement Technology Conference,2011: 1-5.
15韩文霆,李敏,陈微. 作物数字图像获取与长势诊断的方法研究[J]. 农机化研究, 2012,34(6): 1-6.
HAN W T, LI M, CHEN W. Methods of image acquisition and analysis for crop conditions diagnose[J]. Journal of Agricultural Mechanization Research, 2012,34(6): 1-6. (in Chinese)
16MACHADO B B, ORUE J P M, ARRUDA M S, et al. BioLeaf: a professional mobile application to measure foliar damage caused by insect herbivory[J]. Computers & Electronics in Agriculture, 2016, 129: 44-55.
17MARTIN D R, FOWLKES C, TAL D, et al. A database of human segmented natural images and its application to evaluating segmentation algorithms and measuring ecological statistics[C]∥Proceedings of 8th IEEE International Conference on Computer Vision,2002, 2: 416-423.
18徐良玉,马录坤,谢燮,等. 基于结构森林边缘检测和Hough变换的海天线检测[J]. 上海大学学报:自然科学版,2017,23(1):47-55.
XU L Y, MA L K, XIE X, et al. Sea-sky line detection based on structured forests edge detection and Hough transform[J]. Journal of Shanghai University:Natural Science Edition, 2017,23(1):47-55.(in Chinese)
19ZITNICK C L, DOLLAR P. Edge boxes: locating object proposals from edges[C]∥European Conference on Computer Vision, 2014,8693:391-405.
20LOWE D G, LOWE D G. Distinctive image features from scale-invariant keypoints[J]. International Journal of Computer Vision, 2004, 60(2): 91-110.
21DALAL N, TRIGGS B. Histograms of oriented gradients for human detection[C]∥IEEE Computer Society Conference on Computer Vision and Pattern Recognition, CVPR 2005,2005: 886-893.
22LIM J J, ZITNICK C L, DOLLAR P. Sketch tokens: a learned mid-level representation for contour and object detection[C]∥Computer Vision and Pattern Recognition,2013: 3158-3165.
23李小胜,陈珍珍. 如何正确应用SPSS软件做主成分分析[J]. 统计研究,2010,27(8):105-108.
LI X S, CHEN Z Z. Correctly using SPSS software for principal components analysis[J]. Statistical Research, 2010,27(8):105-108.(in Chinese)