基于深度学习的菜用大豆荚型表型识别方法
2022-10-29陈其军宋栩杰卜远鹏
翔 云 陈其军 宋栩杰 蔡 昌 卜远鹏 刘 娜,*
(1 浙江工业大学信息工程学院,浙江 杭州 310000;2 浙江省农业科学院蔬菜研究所,农产品质量安全危害因子与风险防控国家重点实验室,浙江 杭州 310021)
菜用大豆,又称鲜食大豆、毛豆,指在豆荚呈绿色、籽粒尚未达到完全成熟、生理上处于鼓粒盛期时采收用作蔬菜食用的大豆,是一种重要的传统豆类蔬菜[1]。目前,我国菜用大豆年种植面积40万hm2左右,总产量超过400万t,年产值约100亿元,是世界上最大的菜用大豆生产国和速冻加工出口国。在我国东南沿海各省,菜用大豆是农业出口创汇的重要新兴产业。浙江省由于独特的气候优势和区位优势,是生产优质菜用大豆的主要区域。与普通粮油大豆不同,在外观品质方面,菜用大豆要求豆荚更大,标准荚要求二粒以上。近年来,菜用大豆育种家通过基因标记,获取遗传和农艺形状的关系,使菜用大豆的育种水平得到了显著提高[2]。随着菜用大豆产业的不断发展,需要培育更多优质、高产、多抗的菜用大豆新品种[3]。其中,对种质资源表型进行精准化、智能化、高通量鉴定是遗传育种工作顺利开展的基础,同时,对育种过程中大量群体材料进行表型鉴定是育种过程中最为重要的环节之一[4]。菜用大豆豆荚的籽粒数目和豆荚的长、宽等直接影响外观商品性和产量[5],因此,实现豆荚表型信息的高通量、智能化采集技术具有一定的应用价值[6]。
传统的菜用大豆表型鉴定技术较为落后,性状数据采集工作主要由人工完成,采集工作耗费大量时间和人力成本,且因受主观因素影响,该方法测得结果的准确性不高[7]。随着表型组学技术的不断发展,种质资源鉴定评价水平得到进一步提升,其中高通量测序和基因组学技术为基因发掘与应用带来了革命性的突破,使农作物育种全面进入分子育种新阶段。然而,与飞速发展的基因组技术相比,作物表型高通量检测技术和多重组学大数据整合分析技术的发展仍明显滞后,这已成为现代育种技术跨越式发展的阻碍[8]。深度学习技术能够利用标注好的数据集自动学习数据之间的内在联系和规律,一个训练好的深度学习模型能够提取图片中的深层特征,并利用其特征对图片进行分类或者对图片中的目标进行识别,拥有较高的准确率和快速的识别能力[9]。受豆粒高度影响,菜用大豆豆粒连接处会产生一个凹槽和较暗的区域,在豆粒上产生一个较明亮的区域,这些特点正是神经网络区分不同豆粒的关键。
目标检测是计算机视觉领域的基本任务之一,相关科研人员已对此进行了二十多年的研究[10]。近年随着深度学习技术的快速发展,目标检测算法从基于手工特征的传统算法转向了基于深度神经网络的检测技术。从最初2013年提出的R-CNN[11]、OverFeat[12],发展到后来的Fast/Faster R-CNN[13]、YOLO[14]系列。近十年时间,基于深度学习的目标检测技术在网络结构上,从两阶段模型到一阶段模型,从单尺度网络到特征金字塔网络,旧算法不断优化迭代出更为先进的算法,这些算法在开放目标检测数据集上均表现出了出色的性能,计算机人工智能技术也逐步被应用到表型鉴定等农业研究领域。YOLO系列算法不需要进行感兴趣区域的选择,因此相较于RCNN系列的算法具有识别速度快,对设备性能要求低的优势。Lu等[15]利用Faster-RCNN,SSD和YOLOv3对豆荚进行检测,分别获得了86.2%、80.1%和87.4%的识别准确率。Yang等[16]利用mask-RCNN解决了不规则摆放豆荚的识别问题。
由于之前的研究多使用分类网络来进行菜用大豆荚粒数的识别[17],无法识别多粒荚同时出现在一张图片上的情形,因此本研究基于最新的YOLOv5技术,训练出一个可以对豆荚不同籽粒数目进行快速识别的模型,并在检测阶段使用机器视觉技术获取豆荚长、宽数据,从而完成对菜用大豆豆荚的表型数据自动化精准采集。本研究将基于深度学习的智能数据采集技术应用在菜用大豆荚型表型识别中,建立菜用大豆荚型表型信息精准、高通量的智能采集技术,旨在减轻育种家在荚型表型获取上的压力,提高育种的精准度和工作效率。
1 材料与方法
1.1 试验材料
选取浙江省农业科学院蔬菜所育成的浙农秋丰4号和新品系浙农21-7的菜用大豆植株的豆荚,每个品种随机选取20株植株,共计40株。所有材料于2021年8月种植于浙江省农业科学院杨渡科研创新基地。
随机选取成熟植株第4~第6节间的发育正常的豆荚进行拍照,获取单张单荚图片。由浙江省农业科学院刘娜专家团队对单荚图片进行识别和分类,制作成数据集,用于分类网络的识别。分类网络的数据集构成为单粒荚图片106张、双粒荚图片119张、三粒荚图片108张,共计333张,经旋转和翻转的数据增强后共计1 998张。此外,制作了一个单张图片中包含多个单粒荚、双粒荚和三粒荚的数据集,用于单图多荚和荚长宽的识别,共计105张图片。
1.2 试验方法
使用精灵标注肋手2.0.4(杭州快忆科技有限公司)软件将获得的豆荚表型图片进行标注,获得YOLOv5网络所需的xml标注文件,构建一个由标注文件和图片组成的数据集。数据集中,训练集和测试集的比例为8∶2。图1-A为原始数据集图片,图1-B为标注后的图片,其中每个框在标注后会在xml文件中产生一个位置信息和类别信息。
注:A:原始数据集;B:标注后的数据集。Note:A: Original dataset. B: Annotated dataset.图1 数据集标注示意图Fig.1 Schematic diagram of dataset annotation
将上述自建的豆荚数据集输入到YOLOv5模型中进行训练识别。同时迁移学习现阶段在农业领域使用较为广泛的一些深度学习模型(AlexNet[18]、MoblieNet、VggNet[19]、ResNet和Inception-v3)进行识别精度的比较。对比模型的训练验证精度,选取性能较高的模型网络用于豆荚表型性状的识别。
1.3 迁移学习
基于监督学习的深度学习模型通常需要大量的标注数据进行训练以获得出色的性能,然而对于新的机器学习应用场景,经过验证的大型公开数据集的出现具有一定的滞后性,而自行制作的数据集在规模、多样性、复杂度上往往存在缺陷,因此,迁移学习逐渐成为一种普遍的解决方法。迁移学习是指将某个领域或任务上学习到的知识或模式应用到不同但相关的领域或问题中[20]。本研究利用迁移学习的思想,将2012年以来在ImageNet[21]大赛上取得比较优秀成绩的分类网络模型(AlexNet、MobileNet-v1、vgg19、ResNet18、Inception-v3)进行迁移学习,获得分类模型的预训练模型,并将其运用到豆荚表型的分类上。
1.4 残差神经网络(ResNet)
ResNet[22]由微软研究院的何恺明、张祥雨、任少卿、孙剑等人提出,并在2015年的ILSVRC中取得了冠军。ResNet的试验证明深度学习模型随着层数的不断加深其精度提升存在上限,且超过该上限后模型精度随着层数加深而下降,这种现象被He等[22]称为“退化现象”。为此,ResNet中使用快捷连接的结构使得模型在反向传播过程中学习的是其“残差”分量,从而避免随着模型的加深而出现的“退化现象”。图2为18层ResNet的网络结构,多个带有快捷连接的残差块级联形成其主干网络,最后一层输出层由4个神经元构成,用于识别分类豆荚荚粒数。
图2 ResNet18网络结构图Fig.2 ResNet18 network structure
1.5 目标检测--YOLOv5
目标检测与图像分类最主要的不同在于目标检测关注图像的局部结构信息,而图像分类关注图像的全局表达[23]。目标检测主要分为两类:两步走和一步走。两步走分为以下两个步骤,第一步先找出图片中待检测物体的锚矩形框(对背景、待检测物体进行二分类),第二步对锚框内待检测物体进行分类。这种方法的准确度更高,但相对费时。一步走则是直接对预测框进行回归和分类预测。这种方法的识别速度会更快,本研究采取的方法是一步走中的经典网络YOLO。YOLO系列网络从2015年提出YOLOv1到2020年最新的YOLOv5,其识别速度与最大平均精度都得到了大幅提升。因此选取最新的YOLOv5作为本研究的目标检测网络主体,对数据集和输出层进行更改,用来识别豆荚的荚粒数和具体位置。YOLOv5的网络结构如下图3所示,图片经输入后经过backbone层、Neck层达到Prediction层。
图3 YOLOv5简易网络结构图Fig.3 YOLOv5 simple network structure
1.6 评价指标
(1)
(2)
(3)。
1.6.2 荚粒数识别 为评估所训练的网络的识别性能,本研究采用F1-score衡量模型的总体性能。正样本:被模型正确识别的菜用大豆荚型;负样本:被模型错误识别的菜用大豆荚型;真阳性(true positives,TP):被分为正样本,并且识别正确;真阴性(true negatives,TN):被分为负样本,而且识别正确;假阳性(false positives,FP):被分为正样本,但识别错误;假阴性(false negatives,FN):被分为负样本,但识别错误。A、B为两个集合,K为类别数。验证指标含有准确率(accuracy)、交并比、召回率(recall)、精确率(precision)、F1分数(F1-score)、平均精度(average precision,AP)、各类别平均精度(mean average precision,mAP)和mAP@0.5等。AP的计算方式为以Recall为横轴,Precision为纵轴,绘制PR曲线,PR曲线下的面积定义为AP,mAP@0.5表示交并比(intersection over union, IoU)设为0.5时的mAP值。具体公式如下:
(4)
(5)
(6)
(7)。
1.7 试验环境
所有编程环境均在Ubuntu 16.04.6和Windows 10中实现,使用Python作为编程语言,Pycharm作为编辑器,并使用2块Tesla V100 32 G的显卡训练过程进行加速。
2 结果与分析
2.1 深度学习分类模型的算法结果
本研究迁移了5个被广泛使用的深度学习分类网络(AlexNet、MoblieNet-v1、Vgg19、ResNet18和Inception-v3)来进行荚粒数的识别。在分类网络的优化器选择上,统一选取对分类效果提升最大的Adam优化器[24],并对学习率(learning rate,lr)和迭代次数进行优化。从表1可以看出,在进行了30 000次迭代后,Inception-v3在验证集上的召回率和F1分数在分类网络中最高,分别达到了96.50%和95.95%,其次是ResNet18的96.13%和95.82%。此外,召回率和F1分数最低的是Vgg19的93.88%和93.23%。在精确率上ResNet18的95.51%为分类网络的最高,Vgg19的92.58%为最低。
采用与分类网络相同的单图单荚数据集,对其进行标注,修改配置文件的网络输出层类别为onepod、twopod和threepod。使用YOLOv5进行训练,并对训练过程的参数变化进行记录。从表1可以看出,YOLOv5的F1分数为97.56%,比分类网络最高的Inception-v3高1.61个百分点,召回率比分类网络最高的Inception-v3高3.50个百分点。
表1 不同深度学习分类模型的试验结果Table 1 Experimental results of different deep learning classification models /%
2.2 基于YOLOv5模型的单图多荚算法结果
采用额外标注完成的数据集,使用修改后的YOLOv5进行训练。训练完成后,输入一张随机摆放单粒荚、双粒荚和三粒荚的图片(图4-A),模型会保存一张相同的图片(图4-B)。在图片左上角标注出单粒荚、双粒荚和三粒荚的数量,并用方框框出每个豆荚的荚数。从表2可以看出,与表1单图单荚的训练效果相比,单图多荚在各个参数上都有一定的下降,其中召回率下降最明显,达到了1.57个百分点,但与深度学习分类网络相比,单图多荚的F1分数依然高于最高的Inception-v3。图5为模型的训练过程的评价指标变化曲线图。随着迭代次数的增加,精确率不断提升,迭代次数到2 000次时精确率曲线趋于稳定,同时mAP曲线也趋于稳定,召回率曲线在迭代初期即达到稳定;训练集和验证集的loss曲线变化保持一致,且验证集loss始终高于训练集。与其他的目标检测网络相比,YOLOv5在每项指标上都有一定的优势,如表2所示,F1-score比SSD和RCNN分别高2.53和3.97个百分点,可知YOLOv5相对于其他的目标检测网络在精度上有一定的优势。
注:A:原始图像;B:识别后图像。Note: A: Original image. B: Image after recognition.图4 YOLOv5单图多荚预测效果图Fig.4 YOLOv5 single map multiple pod prediction effect chart
表2 YOLOv5单图多荚的试验结果Table 2 Experimental results of YOLOv5 single figure multiple pods /%
2.3 基于机器视觉的豆荚长宽数据智能采集
为了实现在一张图片上进行批量的荚长宽检测,本研究将机器视觉的方法添加到YOLO的识别环节,对YOLO识别出的矩形框内的图像进行荚长宽计算,图6-B为双粒豆荚检测原理示意图。首先对矩形框内的豆荚进行二值化处理,获取豆荚的整体轮廓,再对豆荚像素值进行左右和上下的扫描,获取左右边界和上下边界的坐标值,进行差值计算,最后根据像素与实物的比例,计算豆荚的长宽。由于本方法为在矩形框内进行识别,因此扫描到的无用像素值较少,拥有较快的计算速度。
注:A:精确率和召回率曲线;B:训练集和验证集的loss曲线;C:模型的mAP曲线。Note: A: Precision and recall curves. B: Loss curves of the training and validation sets. C: mAP curves of the model.图5 YOLO模型训练评价指标变化曲线图Fig.5 Plots of YOLO model training parameters
注:A:YOLO识别后图像; B:双粒荚长宽检测原理。Note: A: Image after YOLO recognition. B: The principle of double pod length-width detection.图6 荚长宽检测示意图Fig.6 Schematic diagram of pod length-width detection
将检测得到的长宽数据与实际测量数据记录并进行RMSPE、MAPE和R2的计算。通过表3可以看出,本方法的R2值在荚长宽预测上分别为 0.964 2 和 0.952 3, 拥有较高的精度,并且荚长的RMSPE和MAPE均低于0.03,荚宽的RMSPE和MAPE均低于0.04。
表3 菜用大豆豆荚图像测量与实际测量结果比较Table 3 Comparison between image recognition and calipers measuring of pods
图7 豆荚长、宽预测结果图Fig.7 Pod length and width prediction results
3 讨论
菜用大豆荚型是品种选育中关注的最为重要的性状之一,豆荚的长、宽、籽粒个数等性状直接影响外观品质[25]。对菜用大豆种质资源和育种中间材料的表型性状鉴定需要耗费大量的人力,因此有必要研究表型性状的精准、智能、高通量采集技术,从而减轻育种人员的工作压力,提高育种的工作效率和鉴定的精准性。本研究将最新的目标检测算法和传统的图像处理方法相结合,并将基于YOLOv5和机器视觉的智能数据采集技术应用于菜用大豆荚型表型的识别,实现了育种过程的数字化和智能化升级。
菜用大豆豆荚的长度和宽度一直依赖人工测量获取。由于豆荚形状不规则,会导致人工测量时产生一定的误差,而基于机器视觉的方法在同一平面上进行识别计算,能够获得较为精确且可重复的数据。本研究利用图像处理技术对YOLO检测得到的图像进行扫描,获取到长宽数据后自动记录到日志文件中,供育种人员随时查询。与张小斌等[26]的研究相比,本研究的方法在YOLO识别后会产生1个豆荚的最小外接矩形识别框,因此具有较快的识别速度。由于长宽误差主要受到摆放位置的影响,因此下一步需要对长宽算法进行改进,减少摆放位置对豆荚长宽精度的影响。
深度学习分类网络单图单标签的训练方式决定了其只能分类单图单荚的图片[17,27-28]。因此图像分类更适用于图像中待分类的物体是单一的,而现实环境中一张图片包含多个对象,分类网络无法满足该场景下的应用需求。比如闫壮壮等[17]和闫学慧等[27]提出的大豆豆荚识别方法在制作数据集时需要先分割成单图单荚的图片进行识别。Azadbakht等[29]则提出了四种机器学习(ML)方法,包括支持向量回归(ν-SVR)、增强回归树(BRT)、随机森林回归(RFR)和高斯过程回归(GPR)用来识别小麦叶锈病,这四种方法对图片的要求也是一张图片只能包含一个类别。传统的机器学习和分类网络的识别效果在实际的应用背景下收效甚微。
近几年越来越多的学者使用目标检测网络来解决大豆荚型智能采集的技术问题。目标检测网络能够在多目标的干扰下准确识别所需要的物体,更符合实际的应用背景。Li等[30]利用mask-RCNN网络解决了大豆在不规则摆放条件下多粒荚的计数,大大减少了育种专家的工作量。但是mask-RCNN对硬件性能要求比较高,数据集制作繁琐,且移植到便携式设备上成本较高,不方便科研人员在田间实时统计大豆的表型数据。与之不同的是,YOLO网络数据集制作简单,只需对其外接矩形框进行标注,且其tiny版本可以移植到较为便宜的k210便携式主板上,方便科研人员更实时地进行田间表型数据智能化采集。由于YOLO网络的标注方式为矩形标注,因此为了数据集制作与识别需要摆放大豆的位置,每张大豆图片数据集仅需要花费科研人员7秒的时间进行摆拍,摆正的大豆为之后的荚长宽识别也提供了帮助。在本研究中,该方法经过训练可以在一张图片识别多种荚型,并同时显示单粒荚、双粒荚和三粒荚的数量和每粒荚的长宽。本方法可以有效帮助育种人员统计菜用大豆单株上含有不同籽粒的豆荚数目和标准荚(二粒荚以上豆荚)所占比例。
4 结论
本研究利用深度学习目标检测网络和机器视觉提出了一种菜用大豆荚型表型自动采集系统,实现了对菜用大豆豆荚籽粒个数和豆荚长宽的快速获取。利用YOLOv5解决了对一张图片不同籽粒个数豆荚进行统计的现实应用问题。通过试验对比,发现YOLOv5在单图单荚和单图多荚的分类效果均优于传统的分类网络(AlexNet、MoblieNet-v1、vgg19、ResNet18和Inception-v3)。本研究提出的方法有利于简化菜用大豆表型鉴定的过程,为育种人员提供高通量的豆荚表型数据,从而提高表型鉴定的精准度和品种选育效率。