郑 凯,方 春,袁思邈,冯 创,李国坤
山东理工大学 计算机科学与技术学院,山东 淄博255049
21 世纪以来,我国经济高速发展,从温饱堪忧到现在丰年有余,农业的发展实现了重大飞跃。北方地区因光照充足、四季分明等优越的地理因素,温室种植技术得以广泛推广。通过调查发现,一方面当前的温室种植管理中瓜果自然授粉已经行不通,大部分采用涂抹激素的方式实现坐果、膨果。另一方面温室种植管理仍采用人力为主的种植方式,在摘果、摸茬、驱虫、授粉等精细工作中一直采用人的视觉。长时间的用眼工作容易形成视觉疲劳,对农民的身体也会造成巨大伤害。在茄子温室种植过程中,常常因种植数量大、天气温度影响、技术与经验不足等原因导致授粉周期把控不到位,致使错过最佳授粉时期,造成坐果难、坐果畸形、烂果等问题,直接导致减产,使农民经济效益遭受损失[1-2]。因此,将基于深度学习的计算机视觉技术应用于茄子的种植管理,使其与自动授粉机器人或农作物生长管理系统对接,能有效调控茄花授粉周期,为农民提供更高效的茄花授粉方案,利于规避天气、温度、人为等因素导致的管理问题,使果实品质得到提升,使产量得到提高,使农民增收。
目前基于深度学习的智能信息处理技术在农业中的应用主要分为三个部分:产前、产中和产后[3]。在产前工作中主要应用于农作物选种,如去杂质、质量精选等。王润涛等以正常豆、灰斑豆、霉变豆、虫蚀豆为研究对象,通过动态阈值分割算法,使豆粒与背景分离,并提取形状、颜色、纹理等多个特征参数进行测试,并采用BP神经网络建立分类模型,使分类精度达到了98%,取得了良好效果[4]。Nie等使用近红外高光谱成像技术与深度学习相结合,将其用于秋葵和丝瓜混杂种子的分类,经过优化并与其他学习模型比较后,使分类精度提高到了95%以上[5]。在产中主要应用于杂草识别、植物生长检测、果实采摘、病虫害识别等。Espejo-Garcia 等通过使用Xception 模型并结合深度对抗网络扩充数据集,完成了对番茄等颜色分明的茄科植物内的杂草识别任务,获得了99.07%的识别准确度,为实现自动杂草控制提供了技术支持[6]。Ferentinos 等利用深度学习的方法,通过对健康和病株叶片图像建立卷积神经网络模型,经过训练后达到了99.53%的识别成功率[7]。在产后应用主要为:农产品质量检测、农产品成熟度分析等。毕智健等将采集到的番茄RGB图像,进行去除背景、滤波去噪、转换成HIS 颜色模型和HSV 颜色模型,然后获取R、G、B、H、S、V、I各颜色分量的均值,最后运用SPSS(statistical product and service solutions)软件进行判别筛选组合特征分量,通过判别分析后,半熟番茄判别率达到94.74%,成熟番茄达到了76.67%,完熟番茄达到了90%[8]。Han等通过建立人工神经网络模型实现了对梨图像的特征提取自动化,针对梨表面斑点对缺陷检测的影响,提出了一种基于V分量动态阈值的斑点去除方法。最终该模型在630张梨图像的识别率达到了90.3%[9]。
国内外针对作物花卉器官识别研究也取得了一定进展。例如Feng等提出了一种基于VGG16模型和Adma深度学习优化算法的花朵识别方法,并通过迁移学习方法加速网络收敛。在30类花卉数据集上的识别准确率为98.99%[10]。岳有军等发明了一种花蕾判别方法,首先使用中值滤波对图像进行预处理,其次计算SURF关键点并形成直方图,最后将直方图形成特征向量利用支持向量机进行花蕾判别[11]。以上方法虽然能对花朵类别进行有效识别,但存在特征提取困难、操作复杂,识别效率低、获得信息简单等不足。本文使用的Mask R-CNN不仅能够识别花朵,辨别花期,而且能够输出目标在图像中的位置,预测属于目标物的像素,并将其从背景中分割出来,覆上一层掩膜。这为后期应用于机器人自动授粉,实现授粉周期管理,预测果实产量提供了技术支持。
综上所述,国内外众多研究人员已经将与深度学习相结合的计算机视觉技术应用到农业生产的各个环节,并取得了良好的效果,但对农作物花期识别及自动授粉环节研究甚少。且随着深度学习技术的应用,研究数据的数据量向巨量的方向发展,数据复杂度向更复杂、更多元化方向发展,单任务的网络结构已经逐渐不再引人瞩目,取而代之的是集成、复杂、一石多鸟的多任务网络模型[12-13]。
在同一茄子种植大棚中,利用独立于PC 的摄像设备,采集大量处于不同生长时期(花苞期、盛开期未授粉、盛开期已授粉)、不同光照、不同角度、不同背景下的茄花图像作为数据集,以模拟复杂的真实环境提高模型鲁棒性;使用VIA标注工具经过人工标注的方式完成数据集的标注工作。共获得图像4 000张,其中3 200张作为训练集,800张用于验证集。三类不同花期的茄花标注情况如图1所示,茄花在人工授粉后会在花柄处有红色标记,茄花数据集构成如表1所示。
图1 三类不同花期的茄花标注情况Fig.1 Three types of eggplant flowers in different flowering periods
表1 茄花数据集结构Table 1 Eggplant flower data set structure
本研究拟采用Mask R-CNN[14]模型作为基线模型。其是“两步法”家族最新成果,相对于Faster R-CNN主要有两个改进方面,一是将ROI pooling 改进为ROI Align,采用双线性插值法改变了ROI pooling layer 因两次量化无法将feature map 与原像素精准对齐的问题,满足了图像语义分割像素级要求。二是添加图像分割分支,将分割结果以掩膜形式输出,能够同时支持目标检测与目标分割。此模型为2018年计算机视觉领域的重要成果,满足了现阶段高集成度、高复杂度及多任务的要求。Mask R-CNN模型结构如图2所示。
由图2 可知,Mask R-CNN 模型分为三部分,第一部分为特征提取网络,可使用ResNet50或ResNet101作为主干网络,原网络为适应COCO数据集小目标物居多的特征,引入了特征金字塔结构(feature pyramid networks,FPN),增加了对小目标物的检测精度;第二部分为候选区域生成网络(region proposal networks,RPN),依靠一个在共享特征图上滑动的窗口,为每个位置生成9种预先设置好长宽比与面积的目标框(anchor)。这9种初始anchor 包含三种面积(128×128、256×256、512×512),每种面积又包含三种长宽比(1∶1、1∶2、2∶1);第三部分为分类网络,此部分有三个任务,一是完成对目标的分类,二是完成对边界框的定位,三是完成对目标像素的分割。因此,损失函数包括分类损失、边界框定位损失和掩膜预测损失,Mask R-CNN 模型总损失如公式(1)所示:
分类损失Lcls如公式(2)所示:
其中,p表示属于k类的背景和概率,通常由全连接层利用Softmax计算得出。u对应于真实类别。
边界框定位损失Lbbox如公式(3)所示:
掩膜预测损失Lmask如公式(4)所示:
其中,m为掩膜像素数量,为像素所属的真实类别标签,p(mi)是对像素mi的预测概率。
图像分割实质上是一种基于像素级的操作,需要对图像中每一个像素点进行判断,目标像素的完整与否会对分割结果产生巨大影响[15-16];同时,目标分割过程中不止要考虑到每个像素本身,还需要结合局部甚至全局信息。目前,大多数的图像分割算法在特征提取过程中通常使用池化层与卷积层相结合的方法,通过下采样达到增加感受野(receptive filed)的效果,但一次次卷积造成特征图不断缩小,最后利用上采样还原图像尺寸,在特征图先缩小再放大的过程中丢失了巨量信息。因此,提出使用空洞卷积代替普通卷积的方法,在不改变特征图尺寸的前提下,扩大感受野,使模型对大目标物有更好的识别与分割效果。
空洞卷积[17]实质上是在普通卷积的基础上引入了一个称为“扩张率(dilation rate)”的超参数,该参数代表了像卷积核中填充空洞的数量,因此扩张率又叫空洞数。当dilation rate 分别等于1、2 且卷积核大小为3×3时,二维空洞卷积填充示意如图3所示。
图3 二维空洞卷积填充示意图Fig.3 Schematic diagram of two-dimensional dilated convolution filling
由图3 可以看出,当dilation rate=1 时,此时空洞卷积即为普通卷积,特征图(Feature Map)中每一像素的感受野为3;当dilation rate=2 时,填充空洞数为1,卷积核尺寸被扩充为5×5,此时特征图中每个像素的感受野为5。但特征图总的感受野并不是每层感受野简单的相加,而是随着卷积次数的增加呈指数式增长。当前层感受野计算公式如公式(5)所示:
RFi+1表示当前层的感受野,RFi表示上一层的感受野,Si表示之前所有层步长的乘积(不包括本层),Si公式如公式(6)所示:
假设多次叠加卷积核尺寸为3×3,dilation rate=2的卷积层,则会出现如图4 所示的网格现象,称之为网格效应(gridding effect)。
图4 网格效应示意图Fig.4 Schematic diagram of grid effect
由图4 可以看出空洞卷积具有两个潜在问题。一是多次叠加多个具有相同空洞率的卷积核会造成网格效应,即格网中有一些像素自始至终都没有参与运算,不起任何作用,这对于像素级别的预测任务是致命的。二是使用大的dilation rate 虽然获得了更大的感受野,但是对于一些小目标物是不友好的,因为它们本身并不需要较大的感受野。混合空洞卷积(hybrid dilated convolution,HDC)的提出很好地解决了以上两个问题,即混合使用多个不同空洞率的空洞卷积核。混合空洞率的使用应符合以下三个原则:
(1)叠加卷积的dilation rate 不能有大于1 的公约数。比如[2,4,6],否则依然会出现网格效应。
(2)应将dilation rate设计成锯齿状结构,例如[1,2,5,1,2,5]循环结构。
(3)两个非0像素点之间最大距离需要满足公式(7):
其中,ri是i层的dilation rate 而Mi是在i层的最大dilation rate,若假设共有m层,则Mm=rm,假设使用k×k尺寸的卷积核则应满足M2≤k,这样可以用dilation rate=1 来覆盖所有像素。使用不同空洞率卷积覆盖所有像素的过程示意图如图5所示。
图5 混合空洞率卷积填充示意图Fig.5 Schematic diagram of mixed hole rate convolution filling
Mask R-CNN 使用深度残差网络(ResNet)作为特征提取的主干网络,ResNet的出现是为了解决随着网络深度的增加而出现的梯度消失或梯度爆炸的问题,其实现过程类似于电路中的“短路”,通过短路机制加入了残差单元,更改了网络结构的学习目的,原本学习的是通过图像X卷积得到的图像特征H(X),现在学习的是图像与特征的残差H(X)-X;其网络深度是通过叠加残差块的方法实现的,因此只需在残差块中将标准卷积替换为混合空洞卷积即可。基本块融合HDC 示意如图6所示。
图6 基本块融合HDCFig.6 Basic block fusion HDC
由图6 可以看出,每一个残差块由三层卷积构成,卷积核大小分别是1×1、3×3和1×1,空洞卷积使用会带来一定的计算量,为防止计算量过度增加影响模型运行效率,实验中将3×3 尺寸卷积层替换为混合空洞卷积,以达到准确率和效率之间的平衡。
本文研究实验环境如表2所示。
表2 实验环境Table 2 Experimental environment
目标检测任务的主要评价指标为AP(average precision)与mAP(mean average precision)。AP指某一类别目标的预测准确度,由查准率P(precision)与查全率R(recall)得出,如公式(8)所示;mIOU(mean intersectionover-union)如公式(9)所示,为每一类别交并比(intersectionover-union,IOU)值相加求平均,反映了整个模型的目标分割准确度。因此mAP与mIOU是基于全局的评价。
pij表示真实值为i,被预测为j的数量,k+1 是类别个数。pii是真正例的数量。pij、pji则分别表示假正和假负的数量。
3.1.1 基线模型选择
Mask R-CNN目前可供选择的主干网络有ResNet101和ResNet50两种,两者的不同主要表现在网络深度,网络的深度决定着网络参数的复杂度,网络参数的增加会带来更大的计算量。因此,需要为网络选择合适的特征提取网络,以达到模型训练和性能的平衡。拥有不同主干网络的Mask R-CNN模型经过100个Epoch在测试集与验证集下的损失图像如图7 所示,定量分析结果如表3所示。
图7 不同主干网络下的损失Fig.7 Losses under different backbone networks
表3 不同主干网络的定性分析结果Table 3 Qualitative analysis results of different backbone networks
由图7可知,在100个Epoch时模型达到拟合状态,且两模型最终的网络损失相差不大,但ResNet50 在训练集与验证集上拥有更低的损失值,说明以其作为主干网络的性能要好于ResNet101;从图中还可以看出在训练集上的损失远小于验证集损失,说明网络出现了严重的过拟合现象。
mAPx指所有类别目标预测平均准确度,x代表不同的IOU 阈值,通过表3 可以看出在IOU=50 时mAP 均取得最大值,两模型表现相差无几,但ResNet50作为主干网络时目标分割精度略高。综合考虑模型复杂度与模型表现,选用基于ResNet50 的Mask R-CNN 网络作为基线网络较为合适。其他分支网络损失如图8所示。
图8 分支网络损失Fig.8 Branch network loss
由图8 看出模型大约在80 次Epoch 各分支处于稳定拟合状态;在训练集上的损失小于验证集损失且目标框定位分支尤为明显,验证了之前出现过拟合的假设。
3.1.2 基线模型分析
使用基线模型Mask R-CNN50 在测试集中进行定性分析结果如图9 所示。图9 中(a)表示标记的真实样本,(b)为手动分割的真实掩膜,(c)为Mask R-CNN50的预测结果,(d)为预测掩膜。通过对比大目标物小目标物(相对于整个图像)的分割掩膜,发现该基线模型对小目标物的分割效果好于较大目标物,对大目标物预测分割形成的掩膜与目标的真实掩膜有一定差距,细节处理不够好,甚至出现误分割的情况,如最后一行,将部分花柄误分割为花苞。
图9 定性分析结果Fig.9 Qualitative analysis results
对数据集中三类别目标物的定量分析如表4 所示。表4 中数据指标可以看出基线模型对小目标物的检测准确度与分割精确度均好于较大目标,这可能得益于FPN(特征金字塔网络)结构,通过将上采样与下采样过程中各层特征相融合的方式加强了对小目标物的特征提取能力,使得对小目标物具有较高的检测精度,但对像素级的图像分割没有助益。
表4 三类目标物的定量分析Table 4 Quantitative analysis of three types of targets
为验证改进模型的有效性,在相同数据集下,对HDC-Mask R-CNN 模型进行训练,使模型保持相同的初始参数,同样进行100个Epoch训练,使其与基线模型进行对比分析结果如表5所示。每个类别对应的P-R曲线如图10所示。
图10 对应类别的P-R曲线Fig.10 P-R curve of corresponding category
表5 HDC-Mask R-CNN与基线模型对比结果Table 5 Comparison results of HDC-Mask R-CNN and baseline model
从表5 可以得知,融合混合空洞卷积算法的HDCMask R-CNN50 模型相较于基线模型Mask R-CNN50模型在目标检测平均精度mAP 上提升了0.4%,平均交并比mIOU提升了2.2%,通过对比每个类别的IOU值发现,新模型对大目标物分割精度提升较为明显,且小目标物的分割精度也没有因模型改动而受到影响。图10P-R 曲线反映了在交并比阈值为0.5 时,每类目标的识别精度,AP即曲线下面积,其数值越接近于1,表明目标识别越精确。可以看出改进后的模型对三类目标均有较高的识别准确率。对两模型进行定性分析如图11所示。
从图11 对比可以看出,原模型在检测过程中出现了目标分割不准确(对比第一行第四列与第一行第六列掩膜)、分割细节缺失、漏分割(如第三行)等问题,改进后的模型明显改善了上述问题,目标分割更精确,有效改善了误分割、重复分割等现象。实验证明改进的模型在处理大目标物分割精度问题上有了明显提高。
图11 改进模型与原模型预测结果定性分析比较Fig.11 Qualitative analysis and comparison between improved model and original model
Mask R-CNN 模型与Fast R-CNN[18]模型及Faster R-CNN[19]模型同属“两步法”家族,即物体的分类问题与物体的区域回归问题是分两步实现的。Mask R-CNN模型是在Faster R-CNN 基础上改进而来,为满足图像分割的像素级精度要求提出使用双线性插值法代替Pooling 操作,并且添加了掩膜预测分支。DeepMask[20]同样应用了VGG 模型作为特征提取的主要模块,拥有前景语义分割与前景实例分割两条分支;SegNet[21]思路与全卷积网络(fully convolutional networks,FCN)十分相似,其使用VGG16的前13层卷积网络作为特征提取器,使用Softmax 分类器以独立的为每个像素产生类概率。使各个模型在本文数据集上进行训练并进行定量分析,结果如表6所示。
通过对比表6 中不同模型在不同阈值下的mAP 可以得知,融合空洞卷积的HDC-Mask R-CNN50 实例分割算法有着良好表现,对比mIOU 值可知,改进的模型在分割精度方面与原模型相比有所提升,并好于其他分割模型。综上所述,经过实验数据证明本文提出的融合空洞卷积的Mask R-CNN 模型在应对茄花花期识别任务上更具优势。
表6 各个模型的定量分析Table 6 Quantitative analysis of each model
为模拟正常温室种植条件下模型的识别情况,在天气良好,光照强度适宜时从温室摄取角度正常、目标无遮挡的数张图像作为实验数据进行实验,正常环境条件下识别效果如图12所示。
图12 正常环境条件下识别效果Fig.12 Recognition effect under normal environmental conditions
从图12 中可以看出,改进的模型在保持良好的目标识别效果前提下,对目标物的分割更加精准,对大目标物更注重边角等细节的分割,减少了误分割及漏检现象。在本文识别任务中表现出了良好效果,达到了任务要求。
为分析改进后模型对大小目标物的识别与分割情况,从独立于训练集的数据集中随机选取数张小目标物(目标在图像中的相对尺寸)和大目标物图像作为实验对象,模型预测结果如图13所示。
图13 大目标物与小目标物识别效果Fig.13 Recognition effect of large target and small target
通过对比图13中原图真实掩膜与模型预测掩膜可以看出,无论是对大目标物还是小目标物,模型皆表现良好,出现原模型中错分割、重复识别分割、漏分割的现象大幅降低,在大目标物识别中通过对比原图像掩膜发现,在分割细节,分割完整度等方面提升明显。实验证明,改进后模型对大目标物具有良好的分割效果。
综合以上分析,融合混合空洞卷积的HDC-Mask R-CNN50 算法,一方面在目标分割的边缘处理上相较于原始的Mask R-CNN算法有了明显提升,更注意细节的处理。另一方面能够充分考虑全局信息,减少误检和漏检,提升了对较大目标物分割的准确度与精细度。
因COCO 数据集中不包含与花朵相关目标物,所以,本文在进行试验时并未使用在COCO训练集上预训练网络得到的参数作为本文网络的初始化参数,而是在本文数据集上从新训练网络,但数据样本不足、模型训练时间长等原因,造成模型在训练集上表现过于良好,在验证集上缺少泛化能力,即出现了严重过拟合现象。因此,提出使用迁移学习的方法[22-23],先在含有1 800 张报春花图片的数据集(来源于网络)上进行预训练,目的是增强模型泛化能力,然后将预训练得到的参数作为本文网络特征提取的初始化参数继续在茄花数据集进行训练,缩减了重新训练模型的时间,使模型拟合速度得到提升。使用迁移学习的Pre_HDC-MaskRCNN模型在训练集与验证集上的损失如图14所示。
图14 迁移学习模型损失Fig.14 Transfer learning model loss
由图14 可以看出,经过迁移学习的Pre_HDCMaskRCNN模型在训练一开始就有着较低的损失值,且在训练集与测试集上的损失差值明显小于重新训练的模型,证明过拟合现象大为改善,提高了在验证集上的泛化能力;从图中还可以看出预训练模型在40个Epoch左右接近拟合状态,极大提升了模型训练速度。
首先,本文在Mask R-CNN基础上提出使用混合空洞卷积的方法,扩大了特征图感受野,解决了对大目标物误检、漏检的问题,提高了分割精度,在本文背景任务中保持较高目标识别准确率的同时,将目标实例分割准确率提升了2.2 个百分点,mAP 值达到了0.962,mIOU值达到了0.715,模型综合性能好于其他目标检测模型。最后,使用迁移学习的方法,使过拟合现象得到改善,提高了模型泛化能力,加快了模型拟合速度。
将HDC-Mask R-CNN50模型应用于茄花花期识别任务,解决了传统计算机视觉方法易受环境影响、操作难度大等问题,为自动化农业进一步发展提供了可行方案,其应用有利于解放劳动力,帮助农民管控授粉周期,提高经济效益。未来还可应用于智能授粉机器人或推广到病虫害识别、植物生长周期管控等其他领域。