陈新 伍萍辉 祖绍颖 徐丹 张云鹤 董静
摘 要:設施番茄疏花疏果工作多依赖于人工,针对人工逐一判断、工作量大、移动设备实时性要求高等问题,通过卷积神经网络进行番茄部分生长参数识别,并结合农事操作经验进行应用讨论。在卷积神经网络SSD算法中引入轻量化模块MobileNetV3,提出了基于SSD-MobileNetV3模型的番茄花和果实的识别分析方法。与传统方法相比,一定程度上克服了重叠及遮挡、光照条件变化、亮度不均等干扰因素的影响。在串开花数、串结果数等生长参数识别基础上,结合疏花疏果工作进行讨论。结果表明,试验模型对于设施环境下常见干扰因素具有良好的实时性和鲁棒性,与SSD算法相比,花果平均识别率为92.57%,提高了7.9%,识别速度为0.079 s,提升了约4倍,识别率和识别速度明显提高,计算参数减少,基本满足应用要求。
关键词:番茄;设施栽培;生长监测;疏花疏果;轻量化神经网络;图像识别
中图分类号:S641.2 文献标志码:A 文章编号:1673-2871(2021)09-038-07
Study on identification method of thinning flower and fruit of tomato based on improved SSD lightweight neural network
CHEN Xin1,2, WU Pinghui2, ZU Shaoying3, XU Dan4, ZHANG Yunhe1, DONG Jing1
(1. Beijing Agricultural Intelligent Equipment Technology Research Center, Beijing 100097, China; 2. School of Electronic Information Engineering, Hebei University of Technology, Tianjin 300401, China; 3.Tianjin Agricultural Mechanization Technology Test Service Center, Tianjin 301616, China; 4. Beijing Jixing Agriculture Co. LTD, Beijing 101500, China)
Abstract: Aiming at the problems of facility tomato flower thinning and fruit thinning relying on manual judgment one by one, the workload is large, and the real-time requirements of mobile equipment are high, here we use convolutional neural network to identify some tomato growth parameters, and discusses the application based on agricultural operation experience. The lightweight module MobileNetV3 is introduced into the convolutional neural network SSD algorithm, and a method for identifying and analyzing tomato flowers and fruits based on the SSD-MobileNetV3 model is proposed. Compared with the traditional method, it overcomes the influence of interference factors such as overlap and occlusion, changes in lighting conditions, and uneven brightness to a certain extent. On the basis of the identification of growth parameters such as the number of bunches and the number of bunches, the discussion was carried out in conjunction with the work of flower thinning and fruit thinning. The results show that the experimental model has good real-time performance and robustness for common interference factors in the facility environment. Compared with the SSD algorithm, the average recognition rate of flowers and fruits is 92.57%, which is an increase of 7.9%, and the recognition speed is 0.079 s, which is an increase of approximately 4 times, the recognition rate and recognition speed are significantly improved, and the calculation parameters are reduced, which basically meets the application requirements.
Key words: Tomato; Protected Cultivation; Growth monitoring; Sparsely flowered and fruited; Lightweight neural network; Image recognition
設施番茄对于菜农增收和蔬菜产业发展都具有重要意义[1],疏花疏果是提高设施番茄产量和品质的重要措施,可以保证营养供给,协调植株均衡生长,提高果实商品性,在生产过程中必不可少。在传统农业生产过程中,疏花疏果工作多依赖于操作人员的经验积累,劳动强度大,不适于在现代设施环境中的科学管理。农业农村部在《关于加快推进设施种植机械化发展的意见》中明确提出要大力推进设施布局标准化、设施装备智能化和生产服务社会化,采用图像识别技术实现包括串开花数、串结果数、果实成熟度等生长参数的准确监测,可以对农事决策的智能化、设施作业机器人的应用提供有效支撑。但在实际生产过程中,作业背景复杂、光照条件变化、枝叶遮挡覆盖等环境因素,以及小型移动设备本身存在的处理速度、存储规模等设备因素,都会影响监测结果。
国内外针对作物生长参数的监测已经有广泛的研究,孙建桐等[2]、车金庆等[3]、 冯玮等[4]分别通过聚类、形态学、霍夫变换等传统分割识别算法实现了对作物器官的判断,但是多针对单一器官或特征进行识别,同一算法中难以同时识别具有不同特征的生长参数,而且这种传统算法识别率有待提高,易受环境条件影响,而且在遮挡严重情况下的效果一般。近年来,随着信息技术发展,卷积神经网络被广泛应用于该领域[5-6],实现了对不同作物的参数监测。张恩宇等[7]提出基于TensorFlow深度学习框架下训练的SSD深度学习算法对青苹果进行识别;岑冠军等[8]通过Faster R-CNN深度学习模型实现了芒果图像的识别;孙哲等[9]将Faster R-CNN中的VGG16网络替换为ResetNet101网络,以达到提高检测精度的目标。以上研究可以实现良好的识别效果,但是存在模型复杂度高、检测时间长、硬件条件要求高等限制,而且少有进一步结合实际农业生产操作的分析。
基于上述研究和应用需求,笔者提出了基于改进的SSD算法,即通过轻量化算法MobileNetV3和SSD目标检测算法结合,从主干网络着手,将传统的VGG-16替换为MobileNetV3,实现对串开花数、串结果数、果实成熟度等生长参数的判断,模型和参数规模大大减少,达到移动环境下操作条件,并且结合实际生产经验,进行了在疏花疏果作业中的应用分析。
1 材料与方法
1.1 试验数据的采集和设备搭建
本试验中的番茄图像采集于北京市昌平区小汤山国家精准农业示范研究基地,选取大棚内种植的番茄进行图像采集,采用CanonEOS 7D单反相机(5184像素×3456像素)进行拍摄,番茄品种为苏粉14号(江苏省农业科学院蔬菜研究所),种植于2019年10月3日,大棚长为46 m,宽为10 m,在2019年10月至2020年1月追踪拍摄番茄的育苗、开花、结果等生长发育过程,其中番茄开花时期图像1230幅,未成熟番茄果实图像1524幅,成熟番茄果实图像1050幅。试验设备包括用于集成算法和显示结果的微型计算机和进行遥控巡检的直线合金铝双竹节升降巡检机器人,两者通过以太网共同组成智慧联网系统。如图1所示,该巡检机器人为DKY-LZN/TL/SZ-15系列,具备升降平台,可以通过巡检配置实现目标位置定时巡视功能。试验过程中将升降平台调至1.5 m高度,角度与番茄种植方向平行,通过遥控进行定时巡检,并通过微型计算机显示识别效果。
1.2 样本数据集制作
为增加训练模型的鲁棒性,对数据集进行预处理,通过数据增强处理提高训练模型的泛化能力。通过labelImg软件对本试验采集的3804幅图像样本进行标签制作,本试验中使用POSCAL VOC2007数据集格式,分为训练集、验证集和测试集,其中训练集是随机从整体数据集采用独立同分布采样得到,为保证后期评价标准的可靠性,测试集要和验证集互斥。数据集具体类别和分布情况如表1所示。
1.3 SSD-MobileNetv3轻量化番茄识别网络
1.3.1 SSD目标检测算法 根据网络模型结构不同,检测模型可以分为两类,以YOLO和SSD为代表的单步检测算法是将目标检测当作回归问题求解,通过端到端的图像特征提取和预测分类,完成实时性检测。而以Faster R-CNN等为代表的两步检测算法则需对待检测图像提取部分可能含有目标的候选区域,然后对候选区域进行分类和坐标修正。考虑农业应用过程中的实际情况,笔者选取了检测精度和效果更为均衡的单步检测模型SSD为基础框架。
Liu等[10]在2016年提出的SSD算法结合了Faster R-CNN[11]和YOLO[12]的优点,网络结构,包括提取图像特征的基础网络和多尺度检测网络。但是对于以VGG-16为基础骨架的SSD检测模型而言,拥有大量的权值参数,这需要高性能的硬件设备和稳定的试验环境[13]。在农业生产过程中,小型移动设备应用非常广泛,但是其处理器难以达到试验要求,存在模型存储和处理速度不够等问题,传统SSD检测模型难以达到应用要求。为解决此类问题,可以替换前端特征提取模型,设计轻量化的网络模型,减少网络参数数量和节省运行内存,提高计算速度。
1.3.2 MobileNetV3算法 MobileNetV3综合了MobileNetV1的深度可分离卷积、MobileNetV2的具有线性瓶颈的逆残差结构和MnasNet的基于squeeze and excitation结构的轻量级注意力模型等的优点[14],改进了网络结构以及引进了h-swish,在保证网络精度的同时,提升运行速度,节约计算机的计算成本。
(1)网络建构模块:深度可分离卷积是轻量级神经网络发展过程中的一项重要技术,在保证精度降低很小的前提下,大幅度提高網络运行速度,降低模型参数和运算成本[15]。其基本思想是把区域和通道分开考虑,将标准卷积分解成深度卷积及一个1×1的逐点卷积[16]。深度卷积是用于特征提取,对输入数据的每个通道应用单个卷积滤波器进行卷积。逐点卷积是对上一步的输出进行线性组合,得到新的特征。而标准卷积是使用同等深度的卷积核与输入数据进行卷积并求和运算。对比2种卷积方式,可以发现深度可分离卷积在保证与标准卷积输出维度相同的前提下具有更加优异的性能。
具有线性瓶颈的反向残差模块。由于深度卷积没有改变输入通道的能力,所以当通道很少时,深度可分离卷积只能在低维度特征上工作,而通常情况下激活函数在低维度时的非线性变化会导致较大的信息损失,所以在深度卷积之前先经过1×1的卷积来提高提升输入数据的维度,使其可以在高纬度下提取特征,在深度卷积后再经过一个1×1的卷积用于降维,这样整个结构与标准残差结构的先降维再升维相反,所以称为反向残差,线性瓶颈是指降维后,将激活函数换成线性。
(2)网络结构改进:轻量级注意力模型SE。SE模块思想简单,易于实现,对卷积后的特征图进行处理,利用通道的独立性分别重调通道维度的特征来获得更好的最终效果,并且比较容易加载到网络模型框架中。
其中引进了非线性激活函数h-swish,swish具有无上界有下界、平滑、非单调等特点,可以提高神经网络的精度,且在深度模型方面也优于ReLU,但是计算量很大,所以提出h-swish近似代替swish。h-swish会造成延迟,所以在模型后半部分使用了h-swish。公式1中β为常数或可训练的参数,公式2中ReLU为修正线性单元。
[(2)]<\\LENOVO-FAN\fapai\中国瓜菜\9-莹莹-飞翔\Image\image5.pdf>[(][)]
1.3.3 SSD-MobileNetv3模型 SSD-MobileNetV3算法结构如图3所示。笔者改进SSD模型可以分为2个部分,前端的基础网络部分主要用于目标特征的提取,用MobileNetV3网络代替VGG-16,模型后端是不同尺度的特征检测网络。该模型结合了Mobilenet和SSD 网络的优点,可以有效提取待识别目标的信息,准确识别不同类别目标。
1.4 番茄识别试验
1.4.1 试验平台 试验条件为:Ubuntu 16.04、64位操作系统,Intel(R)Core(TM) i7-8700K处理器,GeForce GTX 1060 6G显存。采用pytorch框架,Python 3.6语言编程进行网络模型的训练和测试。
1.4.2 模型训练及指标 试验进行权值训练的方法采用随机梯度下降(Stochastic gradient descent,SGD)法,训练的batchsize为16,初始学习率为0.001,权值衰减为5×10-4,训练100个大循环(epoch),参数更新方法为引入动量的梯度下降法,动量因子为0.9。
采用精确度(AP)值来评价训练好的模型,其中AP值计算公式如式5所示,表示如下:
式中P为准确率,R为召回率,TP和FP分别表示正样本的真实和虚假数量,FN表示虚假的负样本数量。平均精确度(mAP)值越大,代表模型精度越高,相反则越低(图4)。
准确率和召回率彼此相互影响,与理想条件下两者均高不同,在一般条件下两者呈反比关系。当召回率增加到接近1时,准确率有所下降。
2 结果与分析
2.1 不同算法检测结果分析
为了定量分析不同检测模型的平均识别率、模型大小、平均检测时间,验证轻量化改进SSD算法的优越性,采用相同的数据集和配置对改进前后SSD算法和FasterR-CNN算法进行对比试验,结果如表2所示。与SSD模型相比,采用MobileNetV3为基础网络的改进SSD模型的平均识别率92.57%,提高了7.9%,识别速度为0.079 s,提升了约4倍,模型大小不足原模型的1/10,改进后的识别准确率和识别速度均得到了显著提高。与FasterR-CNN算法相比,平均识别率提高了6.16%,识别速度提升了约2倍,模型大小得到明显的缩减,具有明显的优势。
番茄花、成熟果实、未成熟果在不同算法下的平均识别率检测结果如表3所示。
2.2 不同拍摄距离检测结果分析
为了分析采集过程中待检测目标比例大小对识别精度的影响,研究不同遮挡情况下的识别效果变化,以2种不同采集情况下的数据为研究对象进行分析,选取部分数据集进行训练,以番茄面积的50%为部分遮挡和严重遮挡的分界线,以0.2 m拍摄距离为近距离,以将能够完整拍摄番茄整株情况的距离为远距离,为1.2 m。
识别效果如图5所示,对于近距离采集情况下采集的图像,以未成熟果实为例,其AP值为96.65%,而远距离采集的情况下采集图像的AP值为90.59%。可能是以下原因造成这种差异:(1)拍摄距离和角度等因素造成待检测目标比例变小,由于小目标学习样本不足,导致部分小目标未能被有效识别;(2)尺寸变化导致图像中番茄数目增多,枝叶和果实间相互重叠、遮挡的情况加剧,导致严重遮挡的番茄数目增加,造成远距离情况下识别率的下降。
2.3 不同光照条件下检测结果分析
为准确识别不同的光照情况,选择亮度直方图算法对试验图像进行检测,当图像光照不均匀,即存在高光区域时,图像亮度直方图的灰度值分布会出现明显差异,图像中出现2个明显的波峰。
依据亮度直方图,将图像分为光照不均和正常两种情况,不同光照的情况下的识别效果如图6所示,通过分析亮度直方图,并从数据集中各选取100张图像,计算平均识别率和观察识别效果,具体识别率如表4所示。
由表4可知,不同光照情况对果实识别会产生影响,光照不均则图像识别率小于正常情况,且光照不均情况下,识别率大于90%的图像更少,说明对于部分光照不均情况严重的图像,识别效果下降更加明显,从而影响整体统计结果。为了直观展示不同光照情况的识别效果,分别选取不同光照情况照片进行展示,如图6所示,在图6-b中存在曝光强烈和光线细微的部分区域存在无法识别的情况。可能是以下原因造成这种差异:(1)在光照不均图像中过分曝光的部分,由于目标区域的过分曝光,果实与背景界限不明显,丢失部分特征信息,果实边缘特征提取难度增加,导致该区域部分果实识别率下降;(2)在光照不均图像中曝光不足的部分,由于曝光不足,出现黑色区域,因此不能真实反应番茄果实特征,造成识别率下降。
3 讨论与结论
在现有的番茄识别研究中多针对识别效果进行讨论,少有结合农事经验做进一步分析,笔者提出了一种基于移动环境中的轻量化神经网络模型对番茄生长参数进行识别,在对串开花数、串结果数进行有效识别的基础上,尝试与疏花疏果的农事操作时机相结合进行分析讨论。
疏花疏果是调节设施番茄生长和产量的关键管理技术之一[17-19]。对于疏花而言,在开2~3朵花后根据实际情况疏花,结合蘸花每穗选留4~6朵正常健壮的花蕾,其余多余的花蕾全部疏掉,这是争取早熟的关键措施;对于疏果而言,在每穗果坐齐后,每穗保留较整齐的3~5个果,保证果实大小的一致性。在对番茄串开花数和串结果数准确识别的前提下,以每穗中6朵花或5个果实为阈值,当图像中识别参数数目大于阈值时进行统计,以高于阈值数目的植株占大棚内总体采集株数的比例为判断依据,及时提示农事人员进行疏花疏果操作。在试验过程中关键要素是实现巡检机器人巡视角度的调控,以实现相关参数的准确采集和识别。
笔者进一步分析了不同算法和不同采集情况下的识别效果,结合疏花疏果技术进行分析,与传统算法相比,一定程度上克服了环境复杂、枝叶覆盖遮挡、光照条件变化等方面的影响,具有更好的鲁棒性,对多个生长参数的识别进行了有效提升,但是识别率和实际应用效果仍有待进一步提高,具体体现在以下2个方面:
(1)在算法方面,目标检测算法的性能正随着不同模型和改进方法的出现变得更加强大,但是在不同环境中的应用效果仍存在差距,光照等环境因素仍是制约算法性能的重要因素。另外,如何在保证算法精度和速度的前提下减少运算规模也是下一步研究的重点。
(2)在应用方面,虽然可以通过自动化机器人实现自动巡视和检测,但是在农业应用场景中,仍然需要大量试验对机器人路径、角度进行調整,以保证检测质量,使其得到更好的应用。
参考文献
[1] 王勃颖,宗义湘,董鑫.河北省番茄产业发展现状及问题分析[J].中国蔬菜,2020(7):7-12.
[2] 孙建桐,孙意凡,赵然,等.基于几何形态学与迭代随机圆的番茄识别方法[J].农业机械学报,2019,50(S1):22-26.
[3] 车金庆,王帆,吕继东,等.重叠苹果果实的分离识别方法[J].江苏农业学报,2019,35(2):469-475.
[4] 冯玮,赵德安.苹果采摘机器人目标果实的快速跟踪识别[J].信息技术,2018(5):5-9.
[5] 王丹丹,何东健.基于 R-FCN 深度卷积神经网络的机器人疏果前苹果目标的识别[J].农业工程学报,2019,35(3):15 6-163.
[6] DIAS P A,TABB A,MEDEIROS H.Apple flower detection using deep convolutional networks[J].Computers in Industry,2018,99:17-28.
[7] 张恩宇,成云玲,胡广锐,等.基于SSD算法的自然条件下青苹果识别[J].中国科技论文,2020,15(3):274-281.
[8] 岑冠军,华俊达,潘怡颖,等.基于深度学习芒果图像在线识别与计数方法研究[J].热带作物学报,2020,41(3):425-432.
[9] 孙哲,张春龙,葛鲁镇,等.基于Faster R-CNN的田间西兰花幼苗图像检测方法[J].农业机械学报,2019,50(7):216-221.
[10] LIU W,ANGUELOV D,ERHAN D,et al.Ssd:Single shot multibox detector[C]//European Conference on Computer Vision.Cham:Springer,2016:21-37.
[11] REN S Q,HE K M,GIRSHICK R,et al.Faster R-CNN:Towards real-time object detection with region proposal networks[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2017,39(6):1137-1149.
[12] REDMON J,DIVVALA S,GIRSHICK R,et al.You only look once:Unified,real-time object detection[C]//IEEE Conference on Computer Vision and Pattern Recognition.Las Vegas:IEEE,2016:779-788.
[13] 吴天舒,张志佳,刘云鹏,等.基于改进SSD的轻量化小目标检测算法[J].红外与激光工程,2018,47(7):47-53.
[14] 宋非洋,吴黎明,郑耿哲,等.基于MobileNetV3的结构性剪枝优化[J].自动化与信息工程,2019,40(6):20-25.
[15] 张春堂,管利聪.基于SSD-MobileNet的矿工安保穿戴设备检测系统[J].工矿自动化,2019,45(6):96-100.
[16] 沈新烽,姜平,周根荣.改进SSD算法在零部件检测中的应用研究[J].计算机工程与应用,2021,57(7):257-262.
[17] 黄国都.藤县全封闭式大棚越冬茬番茄高效栽培技术[J].长江蔬菜,2016(20):75-76.
[18] 张智杰,王成云.棚室番茄花果管理技术[J].现代农业科技,2014(3):113.
[19] 王艳芳,杨夕同,雷喜红,等.连栋温室番茄工厂化生产植株精细化管理技术[J].中国蔬菜,2019(1):85-89.