融合双线性网络和注意力机制的油橄榄品种识别
2023-08-08朱学岩陈锋军郑一力李志强张新伟
朱学岩 ,陈锋军 ,3※,郑一力 ,4,李志强 ,张新伟
(1.北京林业大学工学院,北京 100083;2.林木资源高效生产全国重点实验室,北京 100083;3.城乡生态环境北京实验室,北京 100083;4.林业装备与自动化国家林业局重点实验室,北京 100083;5.智慧林业研究中心,北京 100083)
0 引 言
油橄榄是四大木本油料作物之一,在中国的甘肃陇南、四川达州、云南丽江和四川阆中等地广泛种植。油橄榄果实可以用来榨取富含不饱和脂肪酸的橄榄油,具有极高的经济价值[1-2]。油橄榄品种多且不同品种油橄榄在表型上差异很小,而在含油率和脂肪酸组成等品质上的差异却较大,这也导致在市场上以次充好的现象时有发生[3-4]。随着油橄榄选育品种的增多,依靠人工目视的油橄榄品种识别方法已无法满足实际需求。为此,有必要对自然条件下的油橄榄品种识别展开研究,为油橄榄种植和生产解决关键的品种识别问题。
为实现品种识别,国内外研究者主要采用传统图像处理和深度学习技术展开研究。其中,传统图像处理技术是依靠人工提取颜色[5]、纹理和几何特征[6]后输入决策树、支持向量机[7]、人工神经网络[8]和BP神经网络[9]等进行品种识别[10-11]。在油橄榄[12]、小麦[13]、玉米[14-15]和辣椒[16]的品种识别研究中,广泛使用了基于传统图像处理的品种识别方法。MARTÍNEZ等[17]尝试在提取油橄榄果实的果形指数和最大横径等特征后,采用偏最小二乘判别分析法识别油橄榄品种。经测试,该方法对5个主栽油橄榄品种的识别准确率为89%。但是,由于人工手动提取的特征表达能力有限,导致基于传统图像处理的品种识别方法大多只能应用于实验室环境。在解决自然条件下的品种识别问题时,基于传统图像识别的品种识别方法会面临复杂光照、复杂背景以及环境噪声等挑战,难以取得满意效果。
为应对自然条件下品种识别的挑战,有研究者尝试采用基于数据驱动的深度学习技术对自然条件下的作物品种识别展开研究[18]。因为,深度学习技术可以提取作物图像中不受复杂光照、复杂背景和环境噪声干扰的更稳定的图像特征。目前,基于深度学习的品种识别方法已被广泛应用在水稻[19]、榛子[20]、菜豆[21]、油菜[22]和菊花[23]的品种识别中。为识别油橄榄品种,MIHO等[24]融合DenseNet和专家经验设计了OliVaR模型。经测试,该模型的油橄榄品种识别准确率超过86%。OSAKO等[25]利用VGG16模型对4个荔枝品种进行识别,准确率达到98.33%。孟志超等[26]提出一种Enhanced VGG16模型用于识别油茶品种,准确率为98.44%。LIU等[27]采用VGG16和ResNet50模型识别菊花品种,准确率分别为89.43%和95.39%。先前的研究已经表明,基于深度学习的图像识别技术在作物品种识别中展现出了强大的潜力。
与油茶和荔枝的品种识别相比,自然条件下的油橄榄品种识别存在的挑战更多且更复杂。这是因为油橄榄果实更小且不同品种的油橄榄在表型上差异很小[28]。因此,这就要求油橄榄品种识别模型不仅能充分提取到油橄榄图像的特征信息,而且能聚焦对品种识别起关键作用的图像特征。充分提取输入图像中的特征,双线性网络的优势非常显著[29]。双线性网络采用两个并列的卷积神经网络作为特征提取器以充分提取输入图像的深度卷积特征。在此基础上,双线性网络中的双线性池化还能将两个卷积神经网络提取的深度卷积特征相互关联,增强图像特征的表达能力,进而获得更准确的识别结果[30]。聚焦对图像识别起关键作用的图像特征,CBAM(convolutional block attention module,CBAM)注意力机制的作用显著[31]。在油茶[32]和玉米[33]等的品种识别和农作物病虫害[34]识别研究中,CBAM注意力机制均被使用。
为准确识别自然条件下的油橄榄品种,本研究将双线性网络和注意力机制融合。以在图像分类中表现良好的EfficientNet-B0为特征提取网络[35],结合CBAM注意力的关键特征聚焦能力和双线性网络的特征提取能力,搭建了用于自然条件下油橄榄品种识别的双线性注意力EfficientNet模型。采用Grad-CAM(gradient-weighted class activation mapping,Grad-CAM)热力图可视化技术解释双线性注意力EfficientNet模型的油橄榄品种识别结果。本研究的主要贡献是提出了一种用于自然条件下油橄榄品种识别的双线性注意力EfficientNet模型,并通过试验验证了该模型的有效性和先进性。本研究可为自然条件下的作物品种识别提供参考。
1 数据采集
1.1 研究区域与图像采集
甘肃省陇南市的油橄榄种植基地(100°15'34''E,27°18'24''N,海拔 1 725 m)为本研究的试验区域,基地占地690.2 hm2。以高产油橄榄品种佛奥、莱星、皮削利和鄂植8号为研究对象,于2020年8月至12月份使用小米5手机每隔五天采集一次自然条件下的油橄榄图像。为保证图像中油橄榄清晰且完整,手机与油橄榄间的距离范围在10~30 cm。考虑到光照对油橄榄成像的影响,分别于每天的8:00—9:00、11:00—12:00和15:00—16:00采集自然条件下的油橄榄图像。最终,共采集4个主栽油橄榄品种的2 400幅图像(每个品种600幅,3 456×4 608像素),以JPEG格式保存。不同品种油橄榄的示例图像如图1所示。
图1 不同品种油橄榄示例图像Fig.1 Examples of images of different olive cultivars
由图1可知,不同品种油橄榄在果实和叶片上存在细微的差异。为充分描述不同品种油橄榄间的细微差异,本研究对佛奥、莱星、皮削利和鄂植8号的果实和叶片特征进行总结,如表1所示。
表1 不同品种油橄榄性状特征Table 1 Characteristics of olive in different cultivars
1.2 图像预处理与数据集构建
以采集的2 400幅自然条件下的油橄榄图像为试验数据,搭建油橄榄品种识别数据集。在此基础上,按照7:3的比例将2 400幅油橄榄图像划分为训练集(1 680幅,每个品种420幅)和测试集(720幅,每个品种180幅)。本研究采用了亮度调整、图像翻转、图像旋转以及添加椒盐噪声4种方式对采集的1 680幅油橄榄果实图像进行扩充,以提高油橄榄品种识别模型对光照、拍摄角度以及环境噪声的鲁棒性。经扩充后,训练集的1 680幅油橄榄果实图像被扩充至6 000幅( 每个品种1 500幅)。
2 研究方法
2.1 双线性注意力EfficientNet模型
自然条件下不同品种的油橄榄仅在果实的颜色和形状以及叶子形状等方面存在细微的差异,因此,油橄榄的品种识别属于典型的细粒度图像分类问题[36]。对于油橄榄品种识别这种细粒度图像分类问题,采用传统的图像识别网络往往难以取得满意的结果[32]。为解决自然条件下的油橄榄品种识别问题,本文将双线性网络与注意力机制融合,设计了用于油橄榄品种识别的双线性注意力EfficientNet模型。双线性注意力EfficientNet模型主要包括2个EfficientNet-B0网络、2个CBAM注意力模块和1个双线性池化,其基本网络结构如图2所示。
图2 双线性注意力EfficientNet模型网络结构Fig.2 Network structure of bilinear attention EfficientNet
2.1.1 特征提取网络
充分提取油橄榄图像中的特征信息是实现油橄榄品种准确识别的关键。本研究采用2个EfficientNet-B0模型作为油橄榄品种识别模型的特征提取网络,充分提取图像中油橄榄的特征信息。因为,先前的研究已经表明,与VGG16、ResNet和GoogLeNet等模型相比,EfficientNet-B0模型具有参数量小、识别精度高的特点[37]。这主要得益于EfficientNet-B0模型采用的模型复合缩放策略,即通过复合系数φ同时调整模型的网络深度、宽度以及图像大小。EfficientNet-B0模型的复合缩放计算如式(1)。
式中d、w和r分别表示模型在深度、宽度和图像大小上的放缩系数,α、β和γ为通过模型搜索确定的常数。
EfficientNet-B0模型主要包括卷积层、移动翻转瓶颈卷积(mobile inverted bottleneck convolution, MBConv)[38]、池化层和全连接层,基本网络结构如表2所示。
表2 EfficientNet-B0模型网络结构Table 2 Network structure of EfficientNet-B0 model
由表2可知,EfficientNet-B0模型的核心是移动翻转瓶颈卷积模块,其结构示意图如图3所示。对于输入的特征图,移动翻转瓶颈卷积首先通过逐点卷积改变特征图的维度。其次,将降维后的特征图输入深度卷积以减少参数量。然后,再通过压缩和激励(squeeza-and-excitation, SE)模块执行通道维度上的注意力操作,以更好的捕获对油橄榄品种识别起关键作用的图像特征[39]。接着,通过逐点卷积将输入特征图恢复到初始维度。最后,执行失活连接和跳跃连接操作。
图3 MBConv结构示意图Fig.3 Structure diagram of MBConv
2.1.2 CBAM注意力机制
自然条件下采集的油橄榄图像中包含杂草、天空和地面等复杂背景,这些复杂背景会对品种识别产生负向影响。为使双线性注意力EfficientNet模型识别油橄榄品种时将更多的注意力聚焦到对品种识别起关键作用的特征上,本研究在EfficientNet-B0后引入了CBAM注意力模块[40]。CBAM注意力模块结构示意图如图4所示。
图4 CBAM注意力模块结构示意图Fig.4 Structure diagram of CBAM attention module
如图4所示,对于输入的油橄榄图像特征F,CBAM注意力模块会先后进行通道注意力和空间注意力的提取。其中,通道注意力首先通过平均池化和最大池化对输入特征图F进行处理,生成两个不同的通道信息描述和。接着,将和输入共享多层感知机处理,获得两个特征描述图。在此基础上,通过逐元素求和以及Sigmoid函数处理两个特征描述图,获得通道注意力权重Mc。最后,将通道注意力权重Mc和输入特征图F相乘,获得精炼特征F'。通道注意力权重Mc和精炼特征F'的计算过程如式(1)~(3)。
式中Sm为Sigmoid激活函数,Mlp为多层感知机,Pmax为最大池化,Pavg为平均池化。
在完成通道注意力的提取后,CBAM注意力模块将对通道注意力模块输出的精炼特征F'执行空间注意力操作。首先,对通道注意力模块输出的精炼特征执行平均池化和最大池化操作,生成两个不同的空间信息描述和后按通道拼接。和分别表示 空间中的平均池化特征和最大池化特征。然后,通过大小为7×7的卷积处理拼接后的特征。在此基础上,通过Sigmoid函数处理得到空间注意力权重Ms。最后,将精炼特征F'与空间注意力权重Ms相乘,获得最终融合通道和空间注意力的精炼特征F''。空间注意力的权重系数Ms和精炼特征F''的计算过程如下:
式中f7×7为大小为7×7的卷积。
2.1.3 特征融合和品种识别
为充分融合EfficientNet-B0-A和EfficientNet-B0-B提取的油橄榄图像特征fA和fB,采用双线性池化对其进行处理,如式(6)。
式中fA(L)表示EfficientNet-B0-A提取的油橄榄图像中位置L处的特征,fB(L)表示EfficientNet-B0-B提取的油橄榄图像中位置L处的特征,B(L,fA,fB)表示位置L处的双线性特征,x表示双线性特征,y为一维双线性融合特征,z表示归一化后的双线性融合特征。
最后,将归一化后的融合双线性特征向量z输入Softmax分类器,即可完成油橄榄图像的品种识别,如式(7)。
式中j表示输出节点的编号,M表示油橄榄品种的总数,m表示第m个油橄榄品种。
2.2 评价指标
对于自然条件下的油橄榄品种识别问题,模型精度和速度是需要重点关注的指标。为此,本研究以精确率(precison,P)、召回率(recall,R)、F1分数(F1 score,F1)、推理时间(inference time,It)和总体准确率(overall accuracy,Oa)为评价指标,对油橄榄品种识别模型进行定量评价[41]。精确率、召回率、F1分数和总体准确率的具体计算过程如下:
式中TP表示测试图像中油橄榄品种被正确识别为对应品种的图像数量;FP表示测试图像中其他油橄榄品种被错误识别为该品种的图像数量,FN表示测试图像中该油橄榄品种被错误识别为其他品种的图像数量。N为测试集中不同品种油橄榄的图像总数,xm表示第m个品种的油橄榄测试图像中被正确识别的图像数量。
2.3 试验设置
油橄榄品种识别试验在深度学习服务器上进行,该服务器搭载Windows操作系统,硬件环境为Intel Core i7-8700K @ 3.7 GHz CPU,GeForce RTX 2 070 SUPER 8G GPU,16G运行内存,500G固态硬盘和1T机械硬盘。该服务器的软件环境为Python 3.6,TensorFlow 1.12,Keras 2.2.4。油橄榄品种识别算法的模型训练过程使用Adam优化器更新参数,设置初始学习率为0.001,权值衰减设置为0.000 5,批处理量为16,丢弃比为0.5。基于油橄榄品种识别算法试验的硬件条件,在综合考虑油橄榄品种识别的精度和速度后,设置双线性注意力EfficientNet模型的输入图像大小为224×224。
3 结果与分析
3.1 品种识别结果
以测试集中4个油橄榄品种的720幅图像为试验数据,对提出的油橄榄品种识别模型进行测试。油橄榄品种识别结果以混淆矩阵的形式呈现,如图5所示。
由图5可知,所提模型对测试集中的大部分油橄榄图像实现了准确的品种识别。从整体看,对于测试集包含的4个油橄榄品种的720幅图像,所提模型准确识别了其中的650幅。从单个油橄榄品种的识别来看,以测试集中的180幅品种为皮削利的油橄榄图像为例,该模型准确识别了其中167幅,仅有13幅品种为皮削利的油橄榄图像被错误识别。对于测试集中180幅品种为莱星的油橄榄果实图像,该模型准确识别了其中的159幅。结果表明,所提模型对单个油橄榄品种的识别,也取得了较好的效果。
以精确率、召回率、F1 分数、推理时间和总体准确率对双线性注意力EfficientNet模型的油橄榄品种识别进行定量评价,结果如表3所示。
表3 油橄榄品种识别定量评价结果Table 3 Quantitative evaluation results of olive cultivar identification
由表3可知,所提模型识别4个油橄榄品种的总体准确率达到了90.28%,推理时间仅为9.15 ms。在测试试验的4个油橄榄品种中,所提模型对皮削利的识别效果最好,其精确率、召回率和F1分数分别达到了90.27%、92.78%和91.51%。经测试,所提模型对测试集中莱星识别的精确率、召回率和F1分数分别为92.98%、88.33%和90.60%;鄂植8号的识别精确率、召回率和F1分数分别为89.13%、91.11%和90.11%。与皮削利、莱星和鄂植8号相比,所提模型对佛奥的品种识别虽然效果略差,但其精确率、召回率和F1分数均达到了88.89%。
3.2 消融试验结果
设计消融试验验证双线性网络和CBAM注意力对油橄榄品种识别的有效性,结果如表4所示。可以发现,在EfficientNet模型中引入CBAM注意力和搭建双线性网络提高了油橄榄品种识别效果。
表4 双线性注意力EfficientNet模型的消融试验结果Table 4 Ablation experiment results of bilinear attention EfficientNet model
从整体看,在EfficientNet模型中引入CBAM注意力搭建EfficientNet-CBAM模型后,油橄榄品种识别的总体准确率提高5个百分点,推理时间增加了0.13 ms。以EfficientNet模型为基础搭建双线性EfficientNet模型后,总体准确率提高10.97个百分点,推理时间增加了0.21 ms。当向EfficientNet模型中引入CBAM注意力并以此为基础搭建双线性网络后,总体准确率提升14.86个百分点,推理时间增加了0.22 ms。从单个品种看,不论是向EfficientNet模型中引入CBAM注意力还是搭建双线性网络均起到了提高单个油橄榄品种识别效果的作用。并且,当向EfficientNet模型中同时引入CBAM注意力和搭建双线性网络后,油橄榄的品种识别效果提升最显著。
3.3 不同模型的对比试验结果
对于油橄榄品种识别这种细粒度图像分类问题,主流的方法是搭建双线性网络或者结合注意力机制。不同方法的品种识别结果以混淆矩阵的形式呈现,如图6所示。
图6 不同方法识别油橄榄品种的混淆矩阵Fig.6 Confusion matrix of different methods to identify olive cultivars
双线性ResNet34模型、EfficientNet-SE注意力模型、双线性ResNet18模型和双线性VGG16模型的识别效果较差(图6a,6b、6c和6 d)。从4个油橄榄品种识别的整体结果分析,对于测试集的720幅油橄榄图像,双线性ResNet34模型、EfficientNet-SE注意力模型、双线性ResNet18模型和双线性VGG16模型仅分别准确识别了其中的558、567、570和573幅。以佛奥为例从单个油橄榄品种识别角度分析,对于测试集中佛奥的180幅油橄榄图像,双线性ResNet34模型、EfficientNet-SE注意力模型、双线性ResNet18模型和双线性VGG16模型仅准确识别了其中的129、133、144和123幅。可以发现,不论是对于单个油橄榄品种的识别还是4个油橄榄品种的识别,双线性ResNet34模型、EfficientNet-SE注意力模型、双线性ResNet18模型和双线性VGG16模型均出现了较多的识别错误。
与双线性ResNet34模型、EfficientNet-SE注意力模型、双线性ResNet18模型和双线性VGG16模型相比,双线性GoogLeNet模型的油橄榄品种识别效果更好(图6e)。测试集中4个油橄榄品种的720幅图像,双线性GoogLeNet模型准确识别了其中的614幅。测试集中品种为皮削利的180幅图像,双线性GoogLeNet模型准确识别了其中的154幅。
所提模型的油橄榄品种识别效果最好(图6f)。对于测试集4个油橄榄品种的720幅图像,所提模型准确识别了其中的650幅,优于对比试验中的其他方法。并且,对于单个油橄榄品种的识别,所提模型也取得了不错的效果。测试集中佛奥、莱星、皮削利和鄂植8号各180幅,所提模型分别准确识别了其中的160、159、167和164幅。
由表5可知,所提模型对测试集中4个油橄榄品种识别的总体准确率达到90.28%,分别比双线性ResNet34、EfficientNet-SE注意力、双线性ResNet18、双线性VGG16、双线性GoogLeNet高12.78、11.53、11.11、10.70和5.00个百分点。从推理时间的角度分析,所提模型的推理时间为9.15 ms,与EfficientNet-SE注意力和双线性ResNet18接近且优于双线性ResNet34、双线性VGG16和双线性GoogLeNet。
表5 不同品种识别方法的定量评价结果Table 5 Quantitative evaluation results of different cultivar identification methods
以皮削利为例,所提模型精确率、召回率和F1分数分别达到90.27%、92.78%和91.51%。与双线性ResNet34、EfficientNet-SE注意力、双线性ResNet18、双线性VGG16、双线性GoogLeNet相比,所提模型的精确率、召回率和F1分数均更优。
3.4 品种识别热力图可视化
不同品种油橄榄往往在果实颜色、形状以及叶子形状等表型信息上存在差异。为验证所提模型在识别油橄榄品种时是否也关注了果实和叶子区域,本研究采用Grad-CAM技术对双线性注意力EfficientNet模型的油橄榄品种识别进行可视化解释,以从视觉上评价所提出的油橄榄品种识别方法[42]。双线性注意力EfficientNet模型识别4个油橄榄品种的热力图如图7所示。
图7 油橄榄品种识别的可视化解释Fig.7 Visual explanation of olive cultivar identification
由图7可知,所提模型在识别油橄榄品种时将注意力主要聚焦到了图像中油橄榄的果实区域以及部分叶子区域。油橄榄品种识别的热力图可视化试验证明了所提模型在识别油橄榄品种时所依据的图像信息是可信的。
本研究所提出的双线性注意力EfficientNet模型在对测试集中油橄榄进行品种识别时,也出现了少数错误识别的情况。为解释所提模型错误识别的原因,本研究对发生错误识别的油橄榄图像进行可视化解释,如图8所示。
图8 发生品种误识别的油橄榄图像的可视化解释Fig.8 Visual explanation of olive images with cultivar misidentification
在对图8中的油橄榄图像进行品种识别时,所提模型并未将注意力聚焦到果实和叶子区域,而是聚焦到了对品种识别有干扰的背景区域。由此可以推断,不能有效聚焦到油橄榄图像中对品种识别起关键作用的果实和叶子区域是发生错误识别的主要原因。
4 结 论
为实现自然条件下油橄榄品种的识别,本研究以甘肃主栽油橄榄品种佛奥、莱星、皮削利和鄂植8号为研究对象,融合深度学习中的双线性网络与注意力机制,提出基于双线性注意力EfficientNet模型的油橄榄品种识别方法。试验评价双线性注意力EfficientNet模型的油橄榄品种识别结果,得到如下结论:
1)双线性注意力EfficientNet模型可以快速准确识别油橄榄品种,总体准确率达到90.28%,推理时间为9.15 ms。并且,双线性注意力EfficientNet模型的热力图可视化结果显示,该模型在识别油橄榄品种时将注意力聚焦到了油橄榄图像的果实和叶子区域。油橄榄品种识别试验和消融试验结果充分验证了双线性注意力EfficientNet模型识别油橄榄品种的有效性。
2)与主流品种识别方法相比,本文提出的双线性注意力EfficientNet模型在油橄榄品种识别精度上具有明显优势。双线性注意力EfficientNet模型对测试集油橄榄品种识别的总体准确率达到90.28%,分别比双线性Res-Net34、EfficientNet-SE注意力、双线性ResNet18、双线性VGG16、双线性GoogLeNet高12.78、11.53、11.11、10.70、5.00个百分点。并且,对于单个油橄榄品种的识别,双线性注意力EfficientNet模型也优于对比试验的其他方法。