发布时间:2020-06-04所属分类:农业论文浏览:1次
摘 要: 摘要: 准确获取西兰花花球面积和新鲜度是确定其长势的关键步骤,本研究通过对深度残差网络ResNet进行改进得到一种新型的西兰花花球分割模型,并通过花球部位黄绿颜色占比判断其新鲜度,实现低成本高效准确地西兰花表型信息提
摘要: 准确获取西兰花花球面积和新鲜度是确定其长势的关键步骤,本研究通过对深度残差网络ResNet进行改进得到一种新型的西兰花花球分割模型,并通过花球部位黄绿颜色占比判断其新鲜度,实现低成本高效准确地西兰花表型信息提取。主要技术流程包括:(1)基于地面自动影像获取平台拍摄西兰花花球正射影像并建立原始数据集;(2)对训练图像进行预处理并输入模型进行分割;(3)基于颜色信息用粒子群结构PSO和大津法Otsu对分割结果进一步进行阈值分割,获取其新鲜度指标。试验结果表明:本研究建立的分割模型精度优于传统深度学习模型和基于颜色空间变换和阈值分割模型,4个评价指标结构相似性指数(SSIM)、平均精度(Precision)、平均召回率(Recall)、F-度量(F-measure)结果分别为0.911、0.897、0.908和0.907,相比于传统方法提升了10%-15%,且对土壤反射率波动、冠层阴影、辐射强度变化等干扰具有一定的鲁棒性。同时,在分割结果的基础上采用PSO-Otsu法可以实现花球新鲜度快速分析,其精度超过了0.8。本研究结果实现了西兰花田间多表型参数的高通量获取,可以为作物田间长势监测研究提供重要参考。
关键词: 深度学习;西兰花表型;机器视觉;自动分级;田间平台
1 引言
西兰花是十字科一、二年生草本植物,其蛋白质含量高并富含多种维生素和多酚类物质,具有较高的种植效益和经济价值[1]。中国是西兰花生产与消费大国,据“国家西兰花良种重大科研联合攻关”项目调研结果,中国目前种植面积和产量均居世界首位。因西兰花是选择性收获作物,同一地块上不同个体花球大小及新鲜水平呈现较大差异,如何精确地对每个花球大小及新鲜度进行评估,是提高采收效率、保证采收质量的关键。过去对西兰花花球检测主要依靠人工,即通过农艺人员定期在田间对不同个体进行花球大小、圆度等参数测量。但传统人工田间调查存在效率低下、主观性强、不能提供实时数据和成本高等问题,影响了西兰花产业智能化发展。
当前,计算机视觉技术被广泛应用于田间复杂环境下的果实提取和分析研究,以实现作物生长的动态监控;而图像分割作为计算机视觉技术的前提和关键,其精度的高低直接影响到后续工作的精度和效率。在自然环境下对目标果实进行准确分割主要包括以下3类方法:(1)基于颜色空间变换和阈值分割方法。这类方法的核心思想是在RGB、Lab、HSV等颜色空间中寻找差异较大的通道并对其进行阈值分割运算。夏永泉等[2]基于HIS颜色空间对叶片病斑进行了提取;高理文和林小桦[3]利用颜色空间变换和最大类间方差法进行全图分割;董晓辉[4]提出了一种基于颜色空间变换的绿色植被快速分割方法,其精度可达到80%以上。但是,该类算法存在动态光照和土壤反射率条件下鲁棒性不足等问题,难以对自然环境下景物实现有效分离。(2)基于浅层模型的机器学习方法。通过人工筛选并提取果实和背景部分的颜色、纹理、性状等特征,生成可准确区分二者的高阶特征矩阵并对分类器进行训练从而获得分割模型。魏丽冉等[5]提出了一种基于核函数支持向量机的植物叶片病害多分类检测模型;周俊等[6]根据K均值聚类算法和直推式支持向量机进行训练,准确获取了农田自然地块中的各种绿色植物;李先锋等[7]提出了一种基于特征优化和最小二乘支持向量(Least Square Support Vector Regression Machine,LS-SVM)实现棉田杂草识别的方法,通过粒子群算法(Particle Swarm Optimization Algorithm,PSOA)对提取到的特征进行优化后输入LS-SVM进行训练以实现杂草识别,其试验精度可达95%以上。然而,浅层模型在实际应用中往往出现对目标特征表达不完整、提取过程和检测过程分离等情况,从而造成分割和识别性能下降。(3)基于深度学习模型的机器学习方法。深度学习由大数据集驱动,不需要设定具体的目标特征即可进行高维数据判别,具有强大的信息处理优势
[8]。Lee等[9]通过对AlexNet进行微调,自动提取叶片特征以解决传统方法依赖人工监督导致模型偏差等问题,使用该网络准确率可达99.6%;Dyrmann等[10]利用含残块支路模块的卷积神经网络模型(Convolutional Neural Networks,CNN)在一个包含有20多种作物及杂草的图片数据集上进行分类测试,精度达到了86.2%;Too等[11]对多种经典网络进行参数微调后对PlantVillage数据集中的植物和病虫害进行识别,发现DenseNets-121在迭代次数增加时精度提升最为明显,且所需参数数量最少;Fuentes等[12]将3种分类网络Faster R-CNN,SSD和R-FCN与不同特征提取网络(VGG和ResNet)相结合,提出了一种可以实时定位和识别番茄病虫害种类的系统;李淼等[13]、陈桂芬等[14]开展了基于CNN和迁移学习的农作物病害识别方法研究。上述研究将深度学习模型应用于田间表型信息获取,但因光照、角度和相机规格难以统一等问题均缺乏移动平台试验;且前述研究大多面向大田作物,鲜有对西兰花等作物进行深度学习框架下表型信息提取的研究。
本研究结合机器视觉和深度学习技术,提出了一种西兰花长势信息的高通量获取方法。首先,利用自主研发的地面平台,获取了西兰花多个生育期的冠层正射影像;利用本研究提出的基于改进的深度残差网络(ResNet)对标注数据进行训练学习建立快速、高通量的西兰花球分割模型;并在该模型分割基础上,利用PSOA技术和大津法(Otsu)对花球部位进行二次分割,以实现花球新鲜度分析。试验结果表明,与经典ResNet和GoogleNet以及传统基于颜色空间变换和阈值分割方法相比,本研究提出的方法精度较高且具有较强鲁棒性,对未来田间西兰花的表型分析具有一定的参考价值。
2 材料与方法
2.1 研究区域及试验设计
研究区域与数据采集平台设计如图1所示。试验所用西兰花品种为“浙青452”“台绿1号”和“台绿2号”,花冠层图像拍摄于浙江省嘉兴市浙江省农业科学院杨渡科研创新基地(北纬30°27′,东经120°25′)。试验小区为3个长宽分别为30m和20m的温室大棚种植区,西兰花株距约为30cm,所有田间管理均按照正常水平进行,不设置养分及水分试验对照组。用架设在田间移动平台(FieldScan Pro)上的两台高速工业相机分别从左右两个方向对西兰花花球进行拍摄,拍摄焦距为5mm,镜头保持垂直向下距地面约0.8m。拍摄时间为2018年9月15日上午9点至下午4点之间。将两部相机同步获取的影像利用尺度不变特征变换(Scale-invariant Feature Transform,SIFT)算法进行拼接,得到广角照片以保证花球结构信息的完整性。
2.2 试验平台研发
对西兰花表型信息进行提取除了需要对花球部位进行准确定位和分割,还应该根据其头部“黄—绿”颜色占比对新鲜度进行估计。本研究采用由浙江省农业科学院农业装备研究所研发的FieldScan Pro试验平台采集模型训练所需彩色数码图片,试验平台由田间移动平台和图像采集系统两部分组成。
2.2.1 田间移动平台
FieldScan Pro包括轮式底座、3自由度支架和自动控制装置。轮式底座采用中控设计,由后部搭载的锂电池提供电能,在前后轮处分别装有4个24V直流伺服电机,通过改变信号电压控制其行驶和转向;后轮处安装有电涡流缓速器可以在行驶状态下进行辅助制动。3自由度支架为铝合金材料的刚性装置,可以在X、Y、Z向进行任意位置调节固定,配合具有减震功能的相机支架可实现田间图片的连续稳定拍摄。自动控制装置以可编程逻辑控制器(Programmable Logic Controller,PLC)为核心,共有Y0-Y4五路信号输出:其中Y4端口与继电器共同作用可以触发工业相机快门实现自动、同步拍摄;Y0-Y3端口分别输出两路脉冲信号,控制拍摄支架进行升降。
2.2.2 图像采集系统
图像采集系统由2台高速工业相机及1台高性能移动工作站组成。工业相机由德国BASLER公司研发,型号为MV-SUF1200M-T,采用1″CMOS传感器,像素1200万,帧率30.5 FPS,所有拍摄图片格式存储为JPEG。采集的图像信号通过USB 3.0 Micro-B接口传输至工作站。工作站预装有pylon 5相机软件套件(由BASLER Inc.提供),可对获取的影像进行实时查看以保证质量。
2.3 试验方法
本试验中共获取西兰花花球图像442张,其中“浙青452”花球图像132张,“台绿1号”花球图像141张,“台绿2号”花球图像169张。首先,基于田间拍摄的西兰花花球正射影像,通过人工筛选去除存在失焦、模糊等问题的照片,将剩余每个品种100张照片作为输入数据建立原始影像集,训练集和测试集比例设为4:1,即训练集中包含240张图片,测试集中包含60张图片。经过数据增广和人工标记等预处理手段,将原始数据转化为适合模型训练的大小并提高训练结果的泛化能力
[15]。然后利用改进的ResNet对模型进行训练实现西兰花花球分割,并进一步对分割结果采用PSOA和Otsu算法进行二次分割建立西兰花新鲜度评估模型。技术路线如图2所示。
2.3.1 图像预处理
(1)数据增广
基于CNN的图像分割算法性能主要取决于训练数据集的规模、质量和多样性,即训练数据集可以覆盖足够多的实际场景或类似环境[13]。然而,要获取足够多不同条件下的西兰花花球图片需要消耗大量的人工成本和时间。为解决样本稀缺造成的过拟合,提高训练网络对对象差异的鲁棒性,使用平移、缩放、旋转、添加噪声等数据增广技术进一步扩充数据集[16]。为提高模型训练效率、降低GPU内存使用率[17],通过Photoshop CS6 软件将240张原始影像裁剪为500×500像素的子图样本(patch),并对这些样本进行上下翻转、旋转、缩放、加入椒盐噪声等增广操作,最终得到2131幅样本。
(2)人工标记
对上述增广结果通过人工筛选出显示效果较好的2000幅样本借助labellmg工具进行样本标记,本研究中的数据集格式为POSCAL VOC2007。
2.3.2 基于改进的ResNet的西兰花花球分割模型
传统卷积网络在信息传递过程中会存在信息丢失和损耗,同时出现梯度消失或梯度爆炸,导致训练网络的深度受到限制。为解决这一问题,微软亚洲研究院的何凯明博士等[18]2015年提出ResNet,该模型可以在加快网络训练速度的同时提升模型准确率并保持较好的推广性,其主要思想是通过在网络中增加直连通道从而保留之前网络层一定比例的输出,使得原始输入信息可以直接传输到后面的层中。然而,经典ResNet卷积层的滤波器作用于局部,获取特征图相互独立且权重相等[19]。实际上这些特征图的重要程度并不相同,采用这一操作会影响训练结果的精度。通过添加Squeeze-and-Excitation(SE)模块可以对特征按照其重要性进行重新调整[20],并用全局信息作为衡量单个特征重要性的标准。图3为将SE模块嵌入ResNet的示例,方框右下角维度信息代表本层输出。使用全局池化(Global Average Pooling)进行遍历(Squeeze)操作[21],然后用两个全连接层Fully Connected(FC)[22]组成Bottleneck结构[23]对通道间的相关性进行建模的同时输出与输入特征相同数量的权重。先将特征维度降低到原来的1/16,再通过模型的ReLU激活函数[24]进行激活输入一个全连接层中返回原来的维度。最后通过Sigmoid函数进行归一化运算获得0-1之间的权重数值,用Scale操作将该权重加权到每个特征图上。由于像素二分类任务(分割)较为简单,本研究设计了一个20层的ResNet,实心曲线为shortcut连接,虚线模块C20、C21通过含有大小1×1、步幅为2的卷积核实现降维。模块C1-C20的卷积核大小为3×3,C9和C16中卷积核步幅为2,其他模块步幅为1。输入图像通过C1-C19,然后经过一个全局平均层最后进入softmax分类层得到其对应标签。
遍历待分割图像的每一个像素点,提取以每一个像素点为中心的尺寸为18×18的方形图像块,将这些图像块输入改进的ResNet模型中,得到每一个像素的分类标签,再将其进行重建即可得到最终的分割结果。
2.3.3 基于PSO-Otsu算法的花球新鲜度分析及分级标准
西兰花头部新鲜度的区分和筛选对评估收获品质、提升贸易价值有重要意义。通过机器视觉技术,可以从图像中获取西兰花“黄—绿”颜色区域占比,并以此为依据对花球新鲜度进行评价和分级。像素二分法中较为经典的Otsu算法[25]的主要思想是计算背景和目标区域的方差值
最大的灰度值被判定为最佳分割阈值。然而,Otsu算法在处理较为复杂和数量较多的图像时需要遍历所有灰度级来确定阈值,其计算量极大,难以满足实时处理的要求。针对Otsu算法运算复杂、时间复杂度高等缺点,在传统Otsu算法基础上基于PSOA技术进行最佳阈值搜索[26]:
(1)在一维平面上均匀投下N个粒子;
(2)计算每个粒子灰度值对应的方差,获取最大方差
(3)根据PSOA算法更新粒子的速度和位置,反复迭代实现阈值寻优;
(4)达到最大迭代次数后,将迭代中出现的最大方差
通过上述PSO-Otsu算法可以对分割出的西兰花头部实现二次分割,从而得到其中“黄—绿”像素占比情况作为新鲜度评价依据。李长缨等[27]根据西兰花花球的视觉黄度对其新鲜度进行了分级,具体分级标准如下:
等级0——肉眼无法检测出黄色区域;
等级1——仅仅有1-3个花苞呈现黄色;
等级3——检测出黄色区域面积小于5%;
等级5——黄色区域面积≤50%;
等级7——检测出的黄色区域占比不超过75%;
等级9——花球所有部位均显示黄色;
黄度计算如公式(1)所示。
(1)
上式中,Y表示花球黄度等级,Ym表示单个花球的黄度,Nm为该等级内包含的花球总数,Yh为最高黄度等级,Na为参与分级的西兰花花球总个数。然而在实际生产中不需要进行如此精细的分级,因为当黄色区域面积超过10%时西兰花对消费者来说已经不具有购买价值(视为不新鲜)。基于这种考虑,并参考[2]的划分标准,本研究将西兰花花球新鲜度分为5个等级,如表1所示。
推荐阅读:cscd农业类期刊有哪些
4 总结和展望
本研究以西兰花花球作为研究对象,提出了一种基于改进ResNet的西兰花长势监测方法。通过自主设计的影像获取平台得到的西兰花冠层正射影像进行分析,可以准确提取西兰花花球并对其新鲜度进行判定。本研究主要贡献如下。
(1)基于传统ResNet架构,设计了适合进行西兰花田间实时分析的改进ResNet,通过加入SE模块减少了网络参数个数,达到平衡各特征图之间的权重并加快了训练速度的目的。
(2)在现有西兰花分级标准的基础上,结合实际蔬菜贸易需求,提出了一种新的西兰花新鲜度分级标准。以该标准为依据,利用基于粒子群模型改进的Otsu算法实现了西兰花球不同颜色区域面积比估算,将该比值与新的分级标准一一对应,从而实现收获前西兰花品质的判定并为自动采收提供技术支撑。
(3)与传统ResNet、GoogleNet以及CIVE、ExG等基于颜色空间变换和阈值分割的方法相比,本研究提出的方法在各评价指标上有了较大幅度的提升,可以有效克服传统方法存在的训练效率低、鲁棒性差等问题。
虽然本研究提出的方法在以上方面取得了一些进展,但仍然存在模型复杂、硬件门槛高和训练数据量偏少等问题。在今后的研究中需要进一步简化网络,并进行大数据下的精度验证;实现以相关结果为基础开发便携式终端产品,方便广大农户使用。——论文作者:周成全 , 叶宏宝 , 俞国红 , 胡俊 , 徐志福
SCISSCIAHCI