空洞卷积结合全局池化的卷积神经网络识别作物幼苗与杂草
2018-06-21何小飞谭文军武小红沈继锋
孙 俊,何小飞,谭文军,武小红,沈继锋,陆 虎
(1. 江苏大学电气信息工程学院,镇江 212013;2. 江苏大学计算机科学与通信工程学院,镇江 212013)
0 引 言
田间杂草对作物幼苗的危害极大,杂草会和幼苗争夺日光、水分和养料,同时严重影响幼苗的光合作用[1]。经研究发现,杂草可能会分泌出分泌液阻碍作物幼苗的生长,引发作物生长缓慢、虫害等问题,最终导致农作物产量减少[2-3]。尽管可以使用农药来控制杂草生长,但是鉴于杂草品种多样,且和作物幼苗十分相似,如果仅依赖人眼来识别容易出错,而且粗放式大面积喷洒化学农药,会造成资源浪费,危害环境,残留农药还会以农作物为媒介危害人体健康[4]。随着精细农业的提出,为了合理使用农药,精准识别作物幼苗和杂草变得尤为重要[5-6]。
现阶段用来识别杂草的方法主要有人工识别、遥感识别和机器视觉识别[7]。人工识别主要依赖主观经验,且需耗费大量劳动力,在发生严重杂草疫情时无能为力。遥感识别通过采集杂草的光谱信息来鉴别杂草,但是对生长密度小的杂草鉴别效果不理想。
近年来随着计算机技术的发展,许多研究也使用机器视觉方法来识别杂草和幼苗。王宏艳等[8]采集杂草图像的纹理特征,使用组合核函数优化SVM(support vector machine)的方法来识别杂草。董亮等[9]设计采用一种改进型的人工神经网络算法应对大棚作物苗期杂草识别,通过对遗传算法的神经元参数的优化,以减少错误的发生次数。以上文献均是通过提取目标特定图像特征结合传统分类方法对杂草进行分类识别。虽然识别精确度较高,但是由于特定特征是由人工进行选取标定的诸如梯度、颜色及纹理等浅层特征,这使得传统的图像识别算法存在易受人为因素影响的局限性,性能提升空间有限且并非能够完全或者较好地表征杂草特定信息,从而对识别效果产生不利影响。
近年来随着深度学习(deep learning)的兴起,卷积神经网络(convolutional neural network,CNN)[10]能够不依赖特定特征,在广义识别领域(如物体识别[11-13]、对象检测[14]和目标分割[15-16]等)Le Net[17]、VGG[18]和 Google Net[19]等模型被广泛应用且取得较好效果。目前已有大量学者开始将这些模型应用于狭义识别中[20]。刘彩玲[21]构建一种采用主成分分析法来初始化网络各层权值,通过减小图像分片向量构成矩阵的重构误差来训练权值的PCA Net卷积神经网络,减少了网络中所需训练的参数,并通过将低层输出组合作为高层输入和对层之间的连接进行稀疏对 PCA Net进行改进来对杂草进行识别。傅隆生[22]提出一种通过批归一化,以 ReLU为激活函数,Max-pooling为下采样的方法,并采用 Softmax 回归分类器对传统Le Net卷积神经网络进行优化,以这种优化后的深度学习模型对多簇猕猴桃果实图像进行分类识别。Sa等[23]提出了一种用微型飞行器(micro air vehicle)收集密集杂草的多光谱图像并使用编码器-译码器级联卷积神经网络(CNN)的方式对杂草进行检测,取得了较好的识别效果。上述文献说明CNN可用于作物与果实以及作物与杂草的识别,但这些模型网络结构较为复杂。
针对现有模型训练困难,网络结构复杂等问题,该文在文献[20]的基础上提出一种空洞卷积与多尺度特征融合相结合的识别方法,用来鉴别6种杂草6种作物幼苗,并将其与传统Alex Net和文献[20]中的鉴别方法作比较,为幼苗与杂草的鉴别提供参考。
1 数据来源
Plant Seedlings Classification是Kaggle的竞赛项目,该项目提供包含多种农作物幼苗与杂草的图集(每张图片仅包含单类作物或杂草)。本文使用Kaggle竞赛项目中的8 915张图像训练并测试网络模型,其中包含6种杂草6种作物共12类图片,如图1所示。
图1 Plant Seedlings Classification图片集示例图Fig.1 Examples of Plant Seedlings Classification
为了避免样本分布不均导致的模型性能不佳,该文使用Python命令对数量少的样本图进行数据增广操作,包括随机翻转(水平、垂直)、变换角度(0°~180°)、随机缩放原图(缩放比例因子 1~1.5)等。最终将每一类的图集扩充到 1 400~1 500张,扩充后的样本总数为17 398张,按照训练集(80%)与测试集(20%)4∶1的比例将原始图集与扩充图集随机划分,划分后的样本采用 open cv中的线性插值法将图片尺寸统一修改为256×256 dpi并将12类图片分别归类后使用脚本语句按类制作文本标签。
2 幼苗与杂草识别模型结构
CNN包含卷积(convolution)和池化层(pooling),其将特征提取与分类整合到了一个单独的网络之中,并且随着网络结构的加深,它可以提取到物体的深层高级别特征。Alex Net由于采用FC(fully connected layers)全连接层,导致模型内存需求大,收敛速度慢,而且由于同一层卷积层仅使用一种卷积核,使得网络结构不够宽。
为解决模型参数大和特征尺度单一的问题,本文基于Alex Net做出3个改进:1)采用空洞卷积的方式增大Conv1层的感受野;2)采用全局池化层代替FC层缩减权重;3)采用多尺度特征融合方法增加特征多样性。
2.1 空洞卷积
空洞卷积诞生于图像分割领域,图像输入到网络中经过CNN 提取特征,再经过池化降低图像尺度的同时增大感受野。由于图像分割是像素级预测输出,所以还需通过上采样将变小的图像恢复到原始大小。因此图像分割FCN(fully convolutional network)有2个关键步骤:池化操作增大感受野,上采样操作扩大图像尺寸。经过上采样操作恢复了大小,但是很多细节还是被池化操作丢失了,所以空洞卷积就诞生了[24]。
空洞卷积在原始卷积的基础上增加了一个r参数,能将卷积核扩张到膨胀系数所约束的尺度中,并将原卷积核中未被占用的区域填充0。其中r就是rate,代表卷积核的膨胀系数,这样得到的有效卷积核高为fh+(fh‒1)·( r‒1),宽为 fw+(fw‒1)·( r‒1),其中 fh代表原始卷积的高,fw代表原始卷积核的宽。空洞卷积核在过去被称为“扩张卷积核的卷积”,在algorithme a trous算法、小波分解算法中起着关键的作用,并且空洞卷积可以在同一个卷积核内使用不同的膨胀系数,如图2所示[25]。
图2 不同膨胀系数的空洞卷积示例图Fig.2 Schematic diagram of dilated convolution with different expansion coefficient
2.2 全局池化
传统的CNN模型采用全连接层,由于网络90%的参数都集中在该层,这将导致较大的计算机内存需求。Hinton等[26]提出在全连接层设置Dropout,可有效减少参数量,避免过拟合,使模型鲁棒性更好,但Dropout参数寻优依赖于人工经验,本文采用全局池化方法[27]可有效避免该问题。
2.3 多尺度卷积核
在Google Net问世之前,深度学习主流的效果突破是增大网络,但是纯粹增大网络有 2个缺点:过拟合和计算量的增加。为解决该问题,Inception结构就是在这样的情况下应运而生,但如果仅仅引入多个尺寸的卷积核,会带来大量额外的参数,使得模型效率低下。受到Network In Network[28]的启发,一些1×1的卷积核被用于Inception结构中。
传统的层叠式神经网络,基本上都是一个个卷积层的堆叠,每层只用一个尺寸的卷积核。事实上,同一层feature map可以分别使用多个不同尺寸的卷积核,以获得不同尺度的特征,再把这些特征结合起来,得到的特征往往比使用单一卷积核要好。
2.4 空洞卷积与全局池化结合的多尺度特征融合网络模型
图 3为空洞卷积与全局池化相结合的多尺度特征融合CNN模型,该模型将原始Alex Net网络的卷积层1的卷积核进行扩张,池化层4后增加一个Inception结构,且在网络末端使用全局池化层代替FC层。改进模型一共13层,模型包含 7层卷积层(Conv 1~Conv 5,其中Inception层中包含了 Conv6和 Conv7层),1层融合层(Concat)和 4层池化层(pooling1~global pooling 5),分类器采用Softmax分类器(由于空间问题图中未画出)。考虑到不同参数设置会对模型性能产生相应的影响,该文主要比较Conv1层卷积核膨胀系数、全局池化类型以及不同Batch Size对幼苗与杂草识别平均准确率(average accuracy,AA)的影响,采用混淆矩阵及其衍生指标来对模型性能进行评价,其中
式中ncl为样本类别总数;i为类别标签(0~11);ni为类别i的样本总数;nii为类别i预测为第i类的样本数。
图3 空洞卷积与全局池化结合的多尺度特征融合幼苗杂草识别模型Fig.3 Multi-scale feature fusion model of seedling and weed identification combining dilated convolution and global pooling
3 模型训练
3.1 试验平台
试验操作平台为Ubuntu 16.04系统,采用Caffe框架。计算机内存为16 GB,搭载Intel® Core™ i7-7 700 KCPU@ 4.00 GHz x8处理器,GPU使用英伟达GTX1080Ti,采用16 nm制作工艺,显存类型GDDR5,容量11 GB,核心频率1 480~1 582 MHz。
3.2 试验参数设置
采用带动量因子(momentum)的小批量(mini-batch)随机梯度下降法[29](stochastic gradient descent, SGD)对网络进行训练。训练时激活函数均采用Relu, 根据显卡性能和mini-batch 特性,将Batch size分别设置为64、128和256,momentum设置为0.9,测试时Batch size设置为50,共迭代111次。该文采用均值为0、标准偏差为 0.01的高斯分布随机初始化网络权重[30],初始学习率设为0.01,并分阶段逐次减小为原来的1/10,正则化系数设为0.000 5。
4 结果与分析
4.1 膨胀系数对准确率的影响
表 1为模型参数设置与测试准确率。卷积核采用不同膨胀系数会导致感受野不同,其初层特征提取能力也不同。根据资料显示[24],空洞卷积的膨胀系数一般设置为1、2和4。由表1可知,使用膨胀系数为2的模型1比使用膨胀系数为4的模型3在原始图集和扩充图集上的准确率分别高出0.43和0.64个百分点,使用膨胀系数为2的模型2比使用膨胀系数为4的模型4在原始图集和扩充图集上的准确率分别高出0.43和0.43个百分点。为更好地了解网络,可视化Conv1层的卷积核(图4)。由图4可以看出膨胀系数为2的卷积核比膨胀系数为4的卷积核感受野小,其所包含的信息量较少,能较好地将原图感兴趣的信息提取出来,去除冗余特征信息。综上考虑,Conv1层卷积核膨胀系数采用2比较合适。
表1 模型参数设置与测试准确率Table 1 Model parameter and test accuracy
4.2 全局池化类型对准确率的影响
全局池化分为平均池化和最大池化。由表 1可以看出使用全局平均池化模型3、5比采用全局最大池化的模型 2、4效果好,结合文献[20]以及互联网资料可说明平均池化能减小由于邻域大小受限而造成的估计值方差增大的误差,更多的保留图像的背景信息,利于提取关键特征,而最大池化更多的保留浅层纹理特征,忽略更深层次的高级特征。
图4 卷积核可视化Fig.4 Visualization of the convolution kernel
4.3 Batch Size对准确率的影响
由表1可见,为了获取较好的模型性能,将卷积核膨胀系数确定为2,并且采用全局平均池化。为进一步优化模型,比较不同Batch Size大小,将批量大小确定为256较合适。
本文采用小批量学习法(Mini-batches Learning)。若试验数据充分,那么采用小批量学习法训练出的梯度和使用全数据集训练得出的结果几乎一致,因此在合理范围内增大Batch Size可以有效提高矩阵并行化运算效率,加快对数据的处理速度。
但是盲目增大 Batch Size 也有一些缺点:尽管提高了内存利用率,但对计算机运算容量需求很大;增大批量会减少迭代次数,要想达到同样精度,必须耗费更多时间,导致对参数更新变得缓慢;Batch Size增加到一定程度后,损失函数的下降方向基本趋于稳定。
综合表1可知,选择膨胀系数为2、全局平均池化和Batch Size为256的最优模型7,识别准确率达到98.80%
4.4 模型平均识别准确率与迭代次数关系
为了测试改进模型收敛性及平均识别准确率,将模型7和原始Alex Net在2个图片集的测试集上进行准确率和迭代次数的比较。由图 5可以看出,原始模型迭代10次左右准确率达到90%,模型7迭代4次就能达到90%的准确率;原始模型在迭代30次左右趋于稳定,而模型7在迭代10次左右趋于稳定,说明改进模型收敛快,精度高。
图5 模型测试准确率与迭代次数关系Fig.5 Relationship between test accuracy of model and iterations
传统AlexNet在卷积层之后级联2个全连接层,使得模型内存需求达到 227.20 MB。而改进模型的参数内存需求以及前向传播和反向传播速率(进行一次前向/反向传播所需要的时间)如表2所示,由于文献[20]和该文的模型7采用全局池化代替全连接层,大大减少了内存需求,训练后的模型内存分别减少为 3.65和 4.20 MB,进行一次前向传播的时间较传统AlexNet的24.40 ms来说,分别减少为18.53和19.55 ms。由于该文模型7增加了Inception结构,使得模型内存相较于文献[20]模型来说增大了0.55 MB,传播速率增大了1.02 ms,但是在原始图集上的测试准确率提高了0.56个百分点。
4.5 改进模型性能评价分析
传统Alex Net由于采用2层全连接层和一层标签层,网络总参数为16 998 424,模型参数内存需求为227.20 MB,而该文最优模型采用全局池化层代替 2层全连接层,且使用空洞卷积增加感受野的同时不增加额外计算,使得网络总参数减少为1 548,模型内存需求为4.20 MB。
针对模型性能评价,本文采用如下评价指标[31]:
1)错分率FR(对于第i类,false rate)
式中为分类所得到的第i类的总和;n为类别总数。错分率表示从分类结果中任取一个随机样本,其所具有的类型与实际类型不相同的条件概率。
表2 模型内存需求与传播速率Table 2 Model memory requirements and propagation rates
2)漏分率MR(对于第j类,missing rate)
式中为参考数据的第j类的总和。漏分率表示相对于参考数据中的任意一个随机样本,分类图上同一地点的分类结果与其不一致的条件概率。
3)分类成功指数(classification success index, CSI)
式中Cie为类别i的错分率,%;Oie为类别i的漏分率,%。
由表3可以看出,不论是原始AlexNet还是最优模型7,标签0和标签6的错分率和漏分率较大,这是因为标签0和标签6的杂草太过于相似,以至于人眼都不能准确的分辨,给鉴别工作带来一定的干扰。但总体来说,本文的模型 7在幼苗与杂草的识别中表现优秀,分类成功指数在原始和扩充图集上分别达到95.07%和96.84%。
4.6 模型实际效果预测
为了验证本文最优模型的实际田间预测效果,从田间拍摄早晨9:00的野芥、雀麦和夜晚20:00的甜菜图片各1张进行测试。该预测程序是caffe框架自带的预测模块,将采集的图片输入程序后,输出 4个预测概率最高的选项并按从上到下的顺序降序排列。图 6中从上到下分别是采集的野芥、雀麦、野芥和甜菜图片,可以看出,野芥的实际田间预测效果可以达到 80%以上的准确率,雀麦的实际田间预测效果也能够达到 74%,但是甜菜的预测效果不佳,只有 60%的准确率,可能是由于图片为夜晚拍摄,且背景太过复杂所导致的。
表3 模型错分率和漏分率Table 3 Model false rate and missing rate
5 结 论
本文提出将卷积神经网络(convolutional neural network)用于多种农作物幼苗与杂草鉴别,在传统Alex Net模型上改进,采用空洞卷积与全局池化相结合的多尺度特征融合CNN模型。与原始Alex Net模型对比,改进的模型由于采用空洞卷积增加了Conv1层卷积核感受野却并不增加模型计算量,且用全局池化层代替全连接层,网络总参数减少为 1 548,模型参数内存需求减小为4.20 MB,传播速率达到19.55 ms,性能得到较大提升,最优模型7的测试准确率达到98.80%,分类成功指数达到96.84%。
该文改进模型对多种农作物幼苗与杂草的鉴别情况比较理想,避免了人为选取特征,且模型便于使用,虽然目前只是在简单背景下的应用,但在实际田间复杂背景下的预测野芥、雀麦和甜菜幼苗的效果能达到 60%以上的识别准确率,后续可为杂草与幼苗识别装置的研制打下基础。
[1]王璨,李志伟.利用融合高度与单目图像特征的支持向量机模型识别杂草[J]. 农业工程学报,2016,32(15):165-174.Wang Can, Li Zhiwei. Weed recognition using SVM model with fusion height and monocular image features[J].Transactions of the Chinese Society of Agricultural Engineering(Transactions of the CSAE), 2016, 32(15): 165-174. (in Chinese with English abstract)
[2]胡嵘.基于数字图像处理玉米苗期田间杂草识别方法的研究[D]. 武汉:华中农业大学,2007.Hu Rong. Research on Identification of Weeds in Maize Seedling Based on Digital Image Processing [D]. Wuhan:Huazhong Agricultural University, 2007. (in Chinese with English abstract)
[3]潘家志.基于光谱和多光谱数字图像的作物与杂草识别方法研究[D]. 杭州:浙江大学,2007.Pan Jiazhi. Crop and Weed Recognition Based on Spectral and Multispectral Digital Images [D]. Hangzhou: Zhejiang University, 2007. (in Chinese with English abstract)
[4]李志臣.基于机器视觉的杂草对准喷药控制系统研究[D].南京:南京农业大学,2007.Li Zhichen. Machine Vision-based Weed Alignment Spray Control System[D]. Nanjing: Nanjing Agricultural University,2007. (in Chinese with English abstract)
[5]朱登胜,潘家志,何勇.基于光谱和神经网络模型的作物与杂草识别方法研究[J]. 光谱学与光谱分析,2008, 28(5):1102-1106.Zhu Dengsheng, Pan Jiazhi, He Yong. Research on crop and weed recognition based on spectral and neural network models [J] .Spectroscopy and Spectral Analysis, 2008, 28 (5):1102-1106. (in Chinese with English abstract)
[6]黄玉祥,杨青.精细农业的环境效应[J]. 农业工程学报,2009,25(增刊 2):250-254.Huang Yuxiang, Yang Qing. Impact of precision agriculture on environment[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2009,25(Supp.2): 250-254.(in Chinese with English abstract)
[7] 邓巍,张录达,何雄奎,等. 基于支持向量机的玉米苗期田间杂草光谱识别[J]. 光谱学与光谱分析,2009,29(7):1906-1910.Deng Wei, Zhang Luda, He Xiongkui et al. Spectral recognition of weeds in maize seedling based on support vector machine[J]. Spectroscopy and Spectral Analysis, 2009,29(7): 1906-1910. (in Chinese with English abstract)
[8] 王宏艳,吕继兴. 基于纹理特征与改进 SVM 算法的玉米田间杂草识别[J]. 湖北农业科学,2014,53(13):3163-3166.Wang Hongyan, Lv Jixing. Weed recognition in maize field based on texture features and improved SVM algorithm [J].Hubei Agricultural Sciences, 2014, 53(13): 3163-3166. (in Chinese with English abstract)
[9] 董亮,雷良育,李雪原. 基于改进型人工神经网络的温室大棚蔬菜作物苗期杂草识别技术[J]. 北方园艺,2017(22):79-82.Dong Liang, Lei Liangyu, Li Xueyuan. Based on improved artificial neural network in greenhouse greenhouse vegetable seedling weed identification technology[J]. Northern Gardening,2017(22): 79-82. (in Chinese with English abstract)
[10] Lecun Y, Bengio Y.Convolutional networks for images,speech, and time series[M/OL]. The Handbook of Brain Theory and Neural Networks.MIT Press, 1998.
[11] Manassi M, Whitney D. Multi-level crowding and the paradox of object recognition in Clutter[J]. Current Biology,2018, 28(3): 127-133.
[12] Mahapatra D, Roy P K, Sedai S, et al. Retinal Image Quality Classification Using Saliency Maps and CNNs[J]. Interacting with Computers, 2016, 10(4): 385-399.
[13] Lim S, Kim S H, Kim Y H, et al. Training network design based on convolution neural Network for object classification in few class problem[J]. Journal of the Korea Institute of Information& Communication Engineering, 2017, 21(1): 144-150.
[14] Ren S, He K, Girshick R, et al. Object detection networks on convolutional feature maps[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2016, 39(7): 1476-1481.
[15] Jeong J, Yoon T S, Park J B. MOSnet: Moving object segmentation with convolutional networks[J]. Electronics Letters, 2018, 54(3): 136-138.
[16] Rajchl M, Lee M C H, Oktay O, et al. DeepCut: Object segmentation from bounding box annotations using convolutional neural networks[J]. IEEE Transactions on Medical Imaging, 2017, 36(2): 674-683.
[17] Lecun Y. LeNet-5, convolutional neural networks[J].
[18] Ke H, Chen D, Li X, et al. Towards brain big data classification: Epileptic EEG identification with a lightweight VGGNet on Global MIC[J]. IEEE Access, 2018, 2(99): 1.
[19] Ballester P, Araujo R M. On the performance of GoogLeNet and AlexNet applied to sketches[C]//Thirtieth AAAI Conference on Artificial Intelligence. AAAI Press, 2016: 1124-1128.
[20] 孙俊,谭文军,毛罕平,等. 基于改进卷积神经网络的多种植物叶片病害识别[J]. 农业工程学报,2017,33(19):209-215.Sun Jun, Tan Wenjun, Mao Hanping, et al. Recognition of multiple plant leaf diseases based on improved convolutional neural network[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2017,33(19): 209-215. (in Chinese with English abstract)
[21] 刘彩玲. 基于交织 PCANet的杂草种子识别方法研究[D].杨凌:西北农林科技大学,2016.Liu Cailing.Weed Seed Recognition Based on Interwoven PCANet[D]. Yangling: Northwest A&F University, 2016.(in Chinese with English abstract)
[22] 傅隆生. 基于卷积神经网络的田间多簇猕猴桃图像识别方法[J]. 农业工程学报,2018,34(2):205-211.Fu Longsheng. Image recognition method of multi-cluster kiwifruit in field based on convolutional neural networks[J].Transactions of the Chinese Society of Agricultural Engineering(Transactions of the CSAE), 2018, 34(2): 205-211. (in Chinese with English abstract)
[23] Sa I, Chen Z, Popovic M, et al. weedNet: Dense semantic weed classification using multispectral images and MAV for smart farming[J]. IEEE Robotics & Automation Letters, 2017,3(99): 1-1.
[24] Kudo Y, Aoki Y. Dilated convolutions for image classification and object localization[C]//Fifteenth Iapr International Conference on Machine Vision Applications. IEEE, 2017: 452-455
[25] Shensa M J. The discrete wavelet transform: Wedding the a trous and mallat algorithms[J]. IEEE Transactions on Signal Processing, 1992, 40(10): 2464-2482.
[26] Hinton G E, Srivastava N, Krizhevsky A, et al. Improving neural networks by preventing co-adaptation of feature detectors[J]. Computer Science, 2012, 3(4): 212-223.
[27] Zhou B, Khosla A, Lapedriza A, et al. Learning deep features for discriminative localization[C]//Computer Vision and Pattern Recognition. IEEE, 2016: 2921-2929.
[28] Lin M, Chen Q, Yan S. Network in network[C]//Computer Vision and Pattern Recognition. ICLR, 2014.
[29] Ketkar N. Stochastic Gradient Descent[M]. Deep Learning with Python. Apress, 2017.
[30] 周云成,许童羽,郑伟,等. 基于深度卷积神经网络的番茄主要器官分类识别方法[J]. 农业工程学报,2017,33(15):219-226.Zhou Yuncheng, Xu Tongyu, Zheng Wei, et al. Classification and recognition approaches of tomato main organs based on DCNN[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2017, 33(15):219-226. (in Chinese with English abstract)
[31] Srinivasan S, Petkovic D. Phonetic confusion matrix based spoken document retrieval[C]//International ACM SIGIR Conference on Research and Development in Information Retrieval. ACM, 2000: 81-87.