基于CNN的棉田杂草识别方法
2024-01-02姚思雨王磊张宏文
姚思雨 王磊 张宏文
摘要:针对杂草的精确喷洒问题提出一种基于卷积神经网络(Convolution Neural Network,CNN)的棉花植株和杂草的检测识别方法。首先采集不同环境下棉田中棉花植株和不同种类的杂草图像作为网络模型的数据集,对数据集进行数据增强来增加数据集的数量,将其分为训练集与测试集;然后构建CNN模型,在模型中添加Dropout层,以防止网络出现过拟合,将训练集数据输入网络模型,使模型学习棉花植株和杂草的特征信息;最后将测试集数据输入CNN模型,测试CNN模型对棉花植株和杂草的识别能力。研究结果表明CNN对于棉花植株和杂草的分类结果精度超过了99.95%,识别时间为197.2s,证明CNN可以快速高效的识别棉田中棉花植株和杂草,为农业智能精确除草装备的研发提供研究基础。
关键词:棉花植株;杂草识别;深度学习;卷积神经网络
中图分类号:TP391.4文献标志码:A文献标识码
Weed identification method in cotton field based on CNN
YAO Siyu,WANG Lei*,ZHANG Hongwen
(College of Mechanical and Electrical Engineering,Shihezi University,Shihezi,Xinjiang 832003,China)
Abstract: Aiming at the problem of accurate weed spraying,a cotton plant and weed detection and recognition method based on Convolution Neural Network (CNN) was proposed.Firstly,images of cotton plants and weeds of different species in cotton fields under different environments were collected as data sets of network model,and data sets were enhanced to increase the number of data sets,which were divided into training sets and test sets.Then,a CNN model was constructed,and a Dropout layer was added to the model to prevent overfitting.The training set data was input into the network model to make the model learn the characteristic information of cotton plants and weeds.Finally, the data of the test set were input into the CNN model to test the identification ability of the model to cotton plants and weeds.The results show that the classification accuracy of CNN for cotton plants and weeds exceeds 99.95%,and the recognition time is 197.2s,which proves that CNN can quickly and efficiently identify cotton plants and weeds in cotton fields,and provides a research basis for the research and development of agricultural intelligent and accurate weeding equipment.
Key words: cotton plant;weed identification;deep learning;convolutional neural networks
中國棉花种植的优势区域是新疆,棉花是新疆主要的经济作物之一,2020年新疆棉花种植面积占全国棉花种植面积的78.9%[1]。杂草与棉花争夺水、养分、光、空间和二氧化碳,会导致棉花的产量损失[2],另外,在棉田大面积不合理使用除草剂会对棉花产生危害,并且污染土壤环境,增加成本[3]。为了增加棉花产量,减少环境污染问题,可利用机器视觉技术,对棉花植株和杂草的图像进行分类精确识别,实现精准喷洒除草剂,从而降低成本,保护土壤和棉花免受过量除草剂的影响。
近年来,很多学者在杂草识别方向有大量研究成果,其中TRONG V H[4]等提出了一种在不平衡杂草数据集上训练深度神经网络(Deep Neural Network,DNN)模型的多重训练策略,该策略通过一个最小类最大界过程减少训练中的偏差,将训练集中的样本分成多个折叠,模型在每一个折叠上连续训练,识别植物幼苗数据集的精确度为97.18%;张小龙等[5]对豌豆苗期田间常见杂草的RGB、HSV和HIS颜色空间中各组分的灰色分布进行了对比分析,提出了一种基于R-B色差特征的复杂背景下杂草分割提取方法,识别杂草的精确度为83.5%。SABZI S等[6]提出一种基于视频处理和灰度共生矩阵、颜色特征、纹理特征、不变矩和形状特征的元启发式分类器的机器视觉原型,利用这些数据在线识别和分类了4 299份土豆和5种杂草的样本,识别精确度为98%;CHEN Y等[7]采用改进的K最邻近法杂草图像分类方法,结合Gabor小波和区域协方差李群结构对4种阔叶杂草图像进行分类,总体识别精确度为93.13%;YOU J等[8]提出一种基于DNN的杂草作物语义分割检测方法,并且集成4个组件以提高分割精度,提高了复杂环境中任意形状杂草的分割性能。另外,由于卷积神经网络(Convolution Neural Network,CNN)具有局部感知、参数共享和权值共享的网络结构特点,因此被广泛应用于图像分类[9]、目标识别[10]、语音识别[11]等领域,如HOKUT O K等[12]将CNN应用于食物图像的检测和识别,通过参数优化,准确率明显高于传统基于支持向量机的手工特征提取方法,另外,HOU L等[13]提出一种基于CNN的水果识别算法,首先利用选择性搜索算法提取图像区域,然后利用水果图像的熵对区域进行选择,最后将这些区域作为CNN的输入进行训练和识别,用最优训练集对网络进行训练后,对称重秤上堆叠的水果识别率显著提高。上述方法不依赖于图像预处理和数据转换,可以独立获取图像中有用的特征信息,识别精度优于传统的人工特征识别方法。
为了实现精准喷洒除草剂,需要一种能准确识别棉田中棉花植株与杂草的检测识别方法,CNN作为一种成熟的深度学习方法被广泛应用于多个领域的图像识别工作中,但没有学者将其应用到棉花的杂草识别工作中。本文提出一种基于CNN的棉田杂草识别方法,用于发现样本数据的分布式特征和属性,与传统的图像识别和目标检测方法相比,该方法的识别速度、识别精度和泛化能力都有所提高。
1 试验数据
1.1 试验数据获取
试验所需数据为2021年6—7月在新疆第七师123团农场棉田拍摄,分5个阶段,每阶段相差5~8 d,图片获取设备为realme Q2 Pro 5G,图像分辨率为4 000像素×3 000像素,格式为JPEG,相机距离地面高度为70~80cm。试验共采集1 000张棉花植株与棉田中杂草的图像,为了使试验更具有科学可行性,保证图像样本多样性,棉花植株与杂草的数据是在不同时间、不同天气、不同拍摄角度下随机采集的。棉花植株与杂草的光照强度会影响网络的识别率,以不同时间和不同天气的棉花植株和杂草照片作为数据集训练的CNN模型可以准确识别不同光照强度的棉花植株和杂草。在采集前不对作物周围环境做任何人工处理,不同环境下棉花植株与杂草对应的样本数量见表1,部分样本图像如图1所示。
1.2 数據增强
使用CNN对棉花植株与杂草进行识别时,需要充足的数据才能保证网络具有较好的识别效果,当试验样本不足时可能会导致网络识别精度低、网络过拟合等问题[14-15],而通过随机扭曲、变形等方法将已有的图像数据不断生成新的样本数据[16]。本文使用Python中keras库中的Image Data Generator(简称IDG函数)函数对棉花植株与杂草数据进行数据增强(图2)。IDG函数是一种图像生成函数,它可以将图像数据进行归一化、翻转变化、亮度变化、饱和度变化等生成新的数据集,可以使CNN学习更具有分类特点的特征,防止网络过拟合。
IDG函数的另一个特点是将图像数据按照不同批次输入网络,减少网络的内存占用,增加网络的运行速度。
2 基于CNN的棉田杂草识别模型
CNN模型能够学习图像输入和输出之间存在的复杂关系[17-18],图3为常用CNN的模型图。CNN模型由AlexNet网络框架为基础改进而来[19]。
本文提出一种可直接识别棉花植株和杂草图片的CNN模型结构,将CNN应用于棉花植株和杂草的识别工作时,需要按照识别对象分类难度设定CNN的层数和具体的参数。在结构方面,CNN由多个卷积层、池化层和全连接层组成[20]。
为了防止网络产生过拟合,本文提出的CNN在此基础上加入Dropout层,Dropout层可防止网络出现过拟合,使网络泛化能力更强。本文提出的CNN具体模型结构如图4所示。
基于CNN棉田杂草识别模型具体参数如表2所示,CNN卷积层利用卷积计算获取棉花植株和杂草图像数据集中的特征信息。卷积层中包含卷积核、步长与激活函数等参数,其中,卷积核又称为滤波器,卷积核的大小为3×3,步长为1,激活函数为ReLU。由于卷积层在选取子区域时会遗失非常多的边缘信息,所以一般会在卷积层中设置边界填充,边界填充会以图片边界上填充0的方式补全图片边界信息。
CNN中最大池化层一般都在卷积层之后,其主要作用是对卷积层输出的张量进行下采样操作,下采样可以将特征图的尺寸减少一半,从而减少了网络运行中不必要的计算,增加网络识别速度。
最大池化层从上层特征图中选择特征,同时使网络模型对平移、旋转和缩放保持不变。最大池化层根据过滤器的大小将输入棉花植株和杂草图像数据集分成几个矩形区域,并输出每个区域的最大值。本文CNN中池化层的大小为2×2,步长为1。
为了防止CNN过拟合,本文研究在CNN中加入Dropout层,Dropout层将输入张量中部分值置0来关闭网络神经元的某些节点,这可以增加图片特征的多样性,使网络只学习与识别图片相关的图片特征信息,可从较少的数据集中学习到利于分类的特征,使网络模型更具有鲁棒性。Dropout层中的参数是设为0的值占总值的比率,一般为0.2~0.5,本文将Dropout层设为0.3。
CNN中的全连接层将上层神经元输出的多维特征转换为一维特征,全连接层激活函数为ReLU。Sigmoid层是分类层,它可以对上个全连接层的输出张量进行分类,Sigmoid激活函数将输出值映射在0~1之间,分类器按照映射的值进行分类。
3 CNN棉田杂草识别模型训练
3.1 试验平台
本研究试验的运行环境为64位Windows10系统,显卡为NVIDIA GeForce GTX 1060(6GB/七彩虹);搭载CPU为Intel(R) Core(TM) i5-6500 CPU @ 3.20 GHz(四核),内存16 GB,编译器为Pycharm 2020.2.3x64,运行平台为Python3.8中Tensorflow中的Keras深度学习框架。
3.2 模型训练及步骤
(1)分别建立棉花植株和杂草的数据集文件夹,棉花植株文件夹起名为cotton,杂草的文件夹起名为grass,棉花植株和杂草的每个文件夹还包括train与test 2个子文件夹。将cotton文件夹和grass文件夹作为网络的标签,不同环境下棉花植株和杂草的图片数据作为训练与测试网络的数据,其中棉花植株的图片数据500张,不同种类杂草的图片500张。将不同环境下棉花植株和杂草的500张图片分为5等分,每一等分100张,分别将前三等分为训练集,后二等分分为测试集。
(2)使用IDG函数分别对不同环境下棉花植株和杂草的训练集进行数据增强,通过随机地改变图像的朝向、反转图像、按比例缩放图像、按一定方向平移图像、改变图像对比度、对图像像素点进行噪声扰动和切磋变换等方式,从图片数据集中生成新的棉花植株和草的图片数据集。
(3)建立CNN模型。图4为棉田杂草识别CNN模型结构图,其中网络损失函数为二进制交叉熵,网络优化器为RMSprop,网络学习率为0.0001,网络中除了最后一个全连接层的激活函数为Sigmoid函数,其余卷积层和全连接层的激活函数为ReLU。
(4)将数据增强后的棉花植株和杂草的数据集输入CNN模型训练网络,使网络学习棉花植株和不同种类杂草的分类特征。
(5)将不同环境下棉花植株和杂草的测试集输入训练好的CNN模型,得到测试集的测试精度和损失,以此测试模型的识别分类能力。
4 模型训练的结果与分析
4.1 精度与损失
网络模型的精确度与损失可以直观解释网络对于棉花植株和杂草的分类情况。在多次模型训练CNN中随机选取一组结果展示,图5、图6分别为棉花植株和杂草的该CNN模型的精度结果图、损失结果图,这两个图中虚线、实线分别代表网络的棉花植株和杂草的训练集结果和测试集结果。从这2个图可以看出CNN棉花植株和杂草的测试集分类精度比训练集的精度高且接近1,说明网络中的Dropout层有良好的抗过拟合作用,可使测试集训练结果比训练集结果高,网络模型的损失接近0,测试集的损失比训练集的损失低。从网络的精度和损失结果图发现该模型CNN可以准确识别不同环境下棉花植株和杂草的具体特征,能在棉花植株中识别出多种杂草,为实现精准喷洒除草剂打下良好基础。
4.2 箱线图
CNN模型的精度和损失结果只能展示多次试验中的一次试验结果,而精度箱线图能包含十次试验的精度结果,因此,本文研究引入精度箱型图。图7为棉花植株和杂草识别模型的十次精度箱型图,可以看出棉花和杂草的CNN识别结果精度基本在99.95%以上,表明CNN模型可以准确地识别出不同环境下的棉花植株和不同种类的杂草。
4.3 混淆矩阵
网络的精度图只能看到总的分类情况,而混淆矩阵可以得到棉花植株和杂草的具体分类精度,可以用来衡量CNN模型分类的准确程度。图8为CNN的混淆矩阵图,其中横坐标是预测的标签,为测试集的分类结果,纵坐标为真实的标签,为测试集原始结果,通过对比预测标签和真实标签可以分别得到网络的棉花植株与杂草的识别精度;标签0代表棉花植株,标签1代表各种种类的杂草。从图8可以看出棉花植株和杂草的分类精度都是1,表明网络基本可以识别不同环境下的所有的杂草和棉花植株。
4.4 不同天气对模型识别的影响
为了研究不同天气对该CNN模型识别能力的影响,将不同天气的数据集平均划分,每种天气图片数量各90张。使用训练好的该CNN模型分别识别不同天气的图片集,该模型模型在晴天、阴天、雨天和有风的识别率分别为99.9%、98.1%、96.4%和98.3%,表明该CNN模型在晴天的识别率最高,在雨天的识别率最低。因此,将CNN应用于棉花植株和杂草识别工作中时,需要适当增加雨天、阴天样本集。
4.5 方法的对比与分析
基于CNN棉田杂草识别技术可以依据棉田中杂草复杂度调整CNN的层数,在不浪费计算机资源的情况下达到最优识别结果,为了体现本文提出的基于CNN棉田杂草识别模型的有效性,将CNN分别与Faster R-CNN、BP的棉田杂草识别结果进行对比,结果见表2。由表2可知:在运行速度上,CNN棉田杂草识别的平均识别时间最短,平均识别时间只有0.157 s,而BP平均识别需要0.201 s,而Faster R-CNN为0.261 s。产生上述结果的主要原因是CNN可以自定义结构,从而可以最大化利用计算资源。值得一提的是Faster R-CNN为实例分割网络,使用Faster R-CNN学习训练数据时需要消耗大量计算资源[16]。在平均识别精度方面,CNN对测试集的平均识别率最高,它的识别率为99.9%,而BP的平均识别率为91.8%,Faster R-CNN的平均识别率为94.6%。
以上结果及分析表明:CNN可以快速准确识别出棉田中的杂草。
5 结论
本文提出将CNN应用于棉田中的棉花植株和杂草的识别,通过对数据集进行数据增强来增加数据集的数量,按照一定比例将数据集分为训练集与测试集,并且在模型中添加了Dropout层来防止网络出现过拟合。
模型训练的研究结果表明,CNN模型对于棉花植株和杂草的分类结果精度超过了99.95%,识别时间为197.2s,证明CNN可以快速高效地识别棉田中不同环境下的棉花植株和不同种类的杂草,并为实现杂草的精确喷洒提供研究基础。
参考文献(References)
[1]吴传云,冯健,陈传强,等.我国棉花产业现状与机械化发展情况分析[J].中国农机化学报,2021,42(5):215-221.
WU C Y,FENG J,CHEN C Q,et al.Analysis on the current situation and mechanization development of cotton industry in China[J].China Journal of Agricultural Chemistry,2021,42(5):215-221.
[2]李桂珍.棉田化學除草棉花受药害症状及防控措施[J].棉花科学,2014,36(4):61-63.
LI G Z.Symptoms and control measures of chemical weeding cotton in cotton field[J].Cotton Science,2014,36(4):61-63.
[3]任琛荣,刘艳祥,王玮玮,等.除草剂在新疆棉花上的研究进展[J].新疆农垦科技,2020,43(9):19-21.
REN C R,LIU Y X,WANG W W,et al.Research progress of herbicides on cotton in Xinjiang[J].Xinjiang Agricultural Reclamation Technology,2020,43(9):19-21.
[4]TRONG V H,HYUN Y G,YOUNG K J,et al.Yielding multi-fold training strategy for image classification of imbalanced weeds[J].Applied Sciences,2021,11(8):3331.
[5]張小龙,谢正春,张念生,等.豌豆苗期田间杂草识别与变量喷洒控制系统[J].农业机械学报,2012,43(11):220-225.
ZHANG X L,XIE Z C,ZHANG N S,et al.Weed identification and variable spraying control system in pea seedling field[J].Journal of Agricultural Machinery,2012,43(11):220-225.
[6]SABZI S,ABBASPOUR-GILANDEH Y,ARRIBAS J.An automatic visible-range video weed detection,segmentation and classification prototype in potato field[J].Heliyon,2020,6(5):e03685.
[7]CHEN Y,LIN P,HE Y,et al.Classification of broadleaf weed images using Gabor wavelets and Lie group structure of region covariance on Riemannian manifolds[J].Biosystems Engineering,2011,109(3):220-227.
[8]YOU J,LIU W,LEE J.A DNN-based semantic segmentation for detecting weed and crop[J].Computers and Electronics in Agriculture,2020,178:105750.
[9]张珂,冯晓晗,郭玉荣,等.图像分类的深度卷积神经网络模型综述[J].中国图象图形学报,2021,26(10):2305-2325.
ZHANG K,FENG X H,GUO Y R,et al.Overview of deep convolution neural network models for image classification[J].Chinese Journal of Image and Graphics,2021,26(10):2305-2325.
[10]郭阳,许贝贝,陈桂鹏,等.基于卷积神经网络的水稻虫害识别方法[J].中国农业科技导报,2021,23(11):99-109.
GUO Y,XU B B,CHEN G P,et al.Rice pest identification method based on convolution neural network[J].China Agricultural Science and Technology guide,2021,23(11):99-109.
[11]董炳辰.基于深度卷积神经网络的语音情感识别研究[D].武汉:武汉邮电科学研究院,2021.
[12]HOKUTO K,KIYOHARU A,MAKOTO O.Food detection and recognition using convolutional neural network[C]//Proceedings of the 22nd ACM International Conference on Multimedia.New York:ACM,2014:1085-1088.
[13]HOU L,WU Q,SUN Q,et al.Fruit recognition based on convolution neural network[C]//2016 12th International Conference on Natural Computation,Fuzzy Systems and Knowledge Discovery (ICNC-FSKD).New York:IEEE,2016:18-22.
[14]杨红云,肖小梅,黄琼,等.基于卷积神经网络和迁移学习的水稻害虫识别[J/OL].激光与光电子学进展:1-13[2021-12-01].
YANG H Y,XIAO X M,HUANG Q,et al.Rice pest iden-tification based on convolution neural network and transfer learning[J/OL].Progress in Laser and Optoelectronics:1-13[2021-12-01].
[15]马兆敏,黄玲,胡波,等.基于神经网络的杂草图像分割算法[J].计算机工程与应用,2009,45(24):216-218.
MA Z M,HUANG L,HU B,et al.Weed image segmentation algorithm based on neural network[J].Computer Engineering and Application,2009,45(24):216-218.
[16]李开敬,许燕,周建平,等.基于Faster R-CNN和數据增强的棉田苗期杂草识别方法[J].新疆大学学报(自然科学版),2021,38(4):450-456.
LI K J,XU Y,ZHOU J P,et al.Weed identification method in cotton field at seedling stage based on Faster R-CNN and data enhancement[J].Journal of Xinjiang University (Nation Science Edition),2021,38(4):450-456.
[17]HANGO V D,HOANG D H,HIEU C L.Action recognition based on sequential 2D-CNN for surveillance systems[C]//IECON 2018-44th Annual Conference of the IEEE Industrial Electronics Society.New York:IEEE,2018:3225-3230.
[18]PHAM M T,KIM J M,KIM C H.2D CNN-based multi-output diagnosis for compound bearing faults under variable rotational speeds[J].Machines,2021,9(9):199.
[19]杨红云,万颖,王映龙,等.基于批归一化与AlexNet网络的水稻病害识别[J].激光与光电子学进展,2021,58(6):164-174.
YANG H Y,WAN Y,WANG Y L,et al.Identification of rice diseases based on batch normalization and AlexNet network[J].Laser and Optoelectronics Progress,2021,58(6):164-174.
[20]李波,彭文学,周蕊,等.基于卷积神经网络的油菜病害识别模型[J].南方农业,2021,15(31):130-133.
LI B,PENG W X,ZHOU R,et al.Identification model of rape disease based on convolutional neural network[J].Southern Agriculture,2021,15(31):130-133.
(责任编辑:编辑张忠)
收稿日期:2022-03-03
基金项目:兵团重点领域创新团队(2019CB006)
作者简介:姚思雨(1998—),女,硕士研究生,专业研究方向为深度学习及图像处理,e-mail:yaosiyu@stu.shzu.edu.cn。
*通信作者:王磊(1983—),男,副教授,主要研究方向为机械制造、机械设计及理论方面,e-mail:wl_mac@shzu.edu.cn。