APP下载

基于深度学习的白酒酒花实时分类方法

2022-12-01刘智萍崔克彬

食品与机械 2022年11期
关键词:酒花轻量注意力

刘智萍 崔克彬

(华北电力大学计算机系,河北 保定 071003)

随着中国经济的快速发展,机械化智能化成为白酒行业发展的大趋势[1]。在白酒酿造的摘酒环节,大部分酒厂仍然采用传统的“看花摘酒”[2]。看花摘酒主要取决于摘酒工人的工作经验,工作环境和身体状况等因素也会对摘酒工人的判断造成影响,这些主、客观因素让摘酒工人难以保持稳定的正确的摘酒时机,极大地限制了白酒的质量和产量。

余锴鑫[3]使用图像处理技术处理酒花图像并提取酒花明显区域,然后输入改进的Mini-Inception网络完成酒花自动分类。杨静娴等[4]结合局部二值模式LBP与灰度共生矩阵GLCM提取酒花纹理特征,通过支持向量机(SVM)得到分类结果。潘斌等[5]使用改进的VGG16卷积神经网络对高斯滤波处理后的酒花图像进行分类,取得了较好的结果。然而,以上方法均不是端到端的解决方法,实现的只是各个局部的最优解,且未达到计算机视觉中实时分类的标准。此外,也有学者[6-9]使用酒精度在线检测仪器和气相色谱仪等仪器检测酒精浓度和风味成分来实现量质摘酒,还有学者[10-12]使用近红外光谱分析技术检测酒液成分和酒精浓度,结合模型来确定酒液各段起止点进行分段摘酒。但这些方法都存在仪器成本和维护费用昂贵、不能实现实时检测等问题。

目标检测是深度学习的一个领域,使用深层神经网络学习图像中目标的特征从而定位和识别目标,可用于图像自动分类,其分为两阶段检测器和单阶段检测器。YOLOv5是目前单阶段检测器的最优模型SOTA(state-of-the-art),其检测精度不低于两阶段检测器,但其检测速度却远远超过于两阶段检测器,模型的占用内存也更小。研究拟提出基于深度学习的白酒酒花实时分类方法,通过针对性改进YOLOv5模型,使其更适用于酒花图像分类,并通过试验证明其可行性,旨在为白酒自动化摘酒提供一种新的依据。

1 酒花特征分析

在温度和压强相同的条件下,不同酒精浓度的酒液具有不同的黏度和表面张力,因此形成的酒花会有所不同[13]。如汾酒将酒花分为大清花、小清花、云花、二花(又称水花)、油花。茅台酒厂则分为鱼眼花、堆花、满花、碎沫花和圈花5种,并以满花作为出厂标准[14]。酒花和酒度之间存在对应关系。文中使用的酒花图像采集于四川宜宾某酒厂,其酒花与酒度的对应关系见表1。

2 轻量型YOLOv5

YOLOv5是Ultralytics公司于2020年在GitHub上公开发布的目标检测算法,共4个版本,分别为YOLOv5s、YOLOv5m、YOLOv5l和YOLOv5x,其只有模型的宽度和深度的权重系数不同,且依次增大,可以通过改变模型的宽度和深度的权重系数来改变模型的版本和大小[15]。综合模型大小和检测精度考虑,选用YOLOv5s模型作为初始模型。

表1 酒花与酒度关系

轻量型YOLOv5使用ShuffleNetV2网络代替YOLOv5s的Backbone来提取输入图像的酒花特征,可以达到轻量YOLOv5s模型并保持较高检测精度的目的。其中Focus模块对输入的酒花图像进行切片,可以在不丢失图像信息的情况下将特征图的尺寸缩小至1/2,提升网络的推理速度。CBAM是一个即插即用的注意力机制模块,可以关注目标的通道和空间特征,使得网络更加关注目标本身,提高检测精度。在特征提取阶段,低层的特征图含有的语义信息较少,但目标的位置较为准确;高层的特征图含有丰富的语义信息,但目标的位置较为模糊。因此,在Neck部分采用FPN[16]+PAN[17]的结构实现酒花的特征融合和特征信息跨层交流。特征金字塔结构FPN自顶向下,传递高层的语义特征,并通过上采样UpSample扩大特征图尺寸与相邻特征图拼接ConCat得到新的特征图。FPN后使用路径融合网络PAN,将FPN中的底层特征图降采样和相邻特征图ConCat并传递到高层。输出端Prediction是网络的预测部份,结合设置的自适应锚框anchor对PAN部分输出的特征图进行特征检测,使用非极大值抑制NMS来筛选目标框,最终生成边界框并预测酒花类别。其具体网络结构见图1。

2.1 ShuffleNetV2

在目前的轻量级网络中,ShuffleNetV2[18]在速度和精度方面达到了一个很好的平衡,其综合性能名列前茅[19]。ShuffleNetV2通过使用通道分离技术和点卷积代替组卷积,减少了模型的内存访问成本,提升了网络的检测速度。

图1 轻量型YOLOv5网络结构Figure 1 Light weight YOLOv5 network structure

图2给出了ShuffleNetV2的基本单元结构,在每个单元的开始,特征通道的输入通过通道分离操作被分为两个相等分支,其中一个分支做恒等映射,另一个分支通过2个1×1的普通卷积Conv和1个3×3的深度卷积DWConv,然后将两个分支ConCat起来,使用Channel Shuffle启用两个分支之间的信息通信。对于空间下采样,单元移除了通道分离,因此,输出通道的数量是输入通道的2倍。其具体结构见图3。

图2 ShuffleNetV2基本单元结构Figure 2 ShuffleNetV2 basic unit structure

图3 ShuffleNetV2空间下采样结构Figure 3 ShuffleNetV2 Spatial down sampling structure

2.2 CBAM注意力机制

CBAM注意力机制[20]可以使网络更加关注检测目标,忽略周围复杂环境对网络的干扰,从而提升网络的检测精度。CBAM是一个即插即用的注意力模块,能够节约参数和计算力,其分为两个独立的部分,通道注意力模块和空间注意力模块,分别在通道和空间上进行Attention。对于一个特征图,CBAM会按照先通道再空间的顺序生成注意力特征图。CBAM结构见图4。

图4 CBAM注意力机制结构Figure 4 CBAM attention mechanism structure

给定一个中间特征图F∈RC×H×W作为输入,依次生成通道注意力图Mc∈RC×1×1和一个2D空间注意力图Ms∈R1×H×W,整个过程为:

Fc=Mc(F)⊗F,

(1)

Fs=Ms(Fc)⊗Fc,

(2)

式中:

F——CBAM模块的输入特征图;

Mc(F)——输入F得到的通道注意力特征图;

⊗——两特征图同一位置的值直接相乘;

Fc——空间注意力模块的输入特征图;

Ms(Fc)——输入Fc得到的空间注意力特征图;

Fs——CBAM模块的输出特征图。

具体流程:输入的特征图F(H×W×C)先通过通道注意力模块,分别经过最大池化和平均池化得到两个只有通道维度的特征图(1×1×C),然后分别送入一个共享神经网络,再经过相加和sigmoid激活后得到通道注意力特征图。最后,通道注意力特征图和输入特征图F相乘,生成空间注意力模块的输入特征图。通道注意力模块结构见图5。

图5 通道注意力模块结构Figure 5 Channel attention module structure

通道注意力模块函数为:

(3)

式中:

MLP——多层感知器;

AP(F)——平均池化处理特征图F;

MP(F)——最大池化处理特征图F;

W1、W0——多层感知器的参数;

空间注意力模块得到输入特征图后,作一次基于通道的最大池化和平均池化,得到两个H×W×1的特征图,并进行基于通道的拼接。然后经过7×7卷积降维为一个通道,再经过sigmoid生成空间注意力特征图。空间注意力特征图和试验模块的输入特征图作乘法,得到最终生成的特征。空间注意力模块结构见图6。

图6 空间注意力模块结构Figure 6 Spatial attention module structure

其函数表达式为:

(4)

式中:

3 试验分析

3.1 试验环境与数据集

所有试验均在Ubuntu18.04操作系统下进行,处理器为Intel i7 CPU,显卡采用NVIDIA GeForce RTX 2080 Ti,11 GB显存,使用pytorch深度学习框架,通过CUDA10.2进行运算加速。

试验图像数据集来源于宜宾某酒厂,其中大清花1 527张,小清花1 540张,云花1 521张,二花1 540张,共6 128张,按8∶1∶1的比例随机划分训练集、验证集和测试集。

3.2 试验环境与数据集

为客观评价模型性能,使用模型大小、参数量、计算量、检测速率帧每秒(FPS)和平均精度均值(mAP)等作为评价指标,按式(5)计算MAP。

(5)

式中:

MAP——平均精度均值,%;

N——酒花种类数;

AP,a——a类酒花的平均精度,%。

3.3 试验预处理

3.3.1 数据标注方式 依据“看花摘酒”原理,根据酒花形状、大小、坐花时间等特征判断酒花种类。文献[2-3,13]为采集图像中酒花明显区域进行处理分类;但文献[4-5]是将整张图像处理后进行分类。设置对照组验证试验特征提取方式,即数据标注方式,a组使用酒花明显区域提取特征,b组使用整个酒液面提取特征。

从每类酒花图像中随机挑选50张,共200张,按8∶1∶1的比例随机划分训练集、验证集和测试集。使用YOLOv5s进行训练并测试,由于数据集较小,设置训练轮次为1 000,batch_size为16,超参数设置见表2。

表2 试验超参数设置

由图7可知,a、b两组均在训练600次后趋于稳定。经测试,a组mAP为54.4%,b组mAP为77.9%,表明使用整个酒液面提取特征得到的结果更好。机器视觉能够从细节处观察到人眼不易观察到的酒花特征,使用整个酒液面提取特征也可以使网络学习到更多的酒花特征,因此,使用整个酒液面训练的网络的检测精度更高。

图7 数据标注方式试验结果Figure 7 Experimental results of data annotation method

3.3.2 anchor的设置 对于目标检测,anchor的设置会影响到网络的最终效果。YOLOv5的默认anchor是基于coco数据集聚类得到的,不适用于文中的数据集。K-means是基于欧式距离的聚类算法,其认为两个目标的距离越近,相似度越大。采用K-means算法对数据集标注的anchor进行聚类统计,根据结果将anchor重新设置为[352,171,362,173,374,183],[444,188,451,193,475,212]和[498,223,541,227,554,243],其中第1行数据是最大特征图上的anchor,第2行数据是中间特征图上的anchor;第3行数据是最小特征图上的anchor。将使用新旧anchor的网络进行训练和测试,试验结果见图8。

由图8可知,使用默认anchor的网络mAP为87.0%,使用K-mean聚类anchor的网络mAP为88.5%。使用新的anchor,不仅mAP提升了1.5%,而且网络拟合得更快更稳定。

图8 新旧anchor网络试验结果Figure 8 Experimental results of new and old anchor networks

3.4 消融试验结果与分析

试验的超参数设置与表2一致,网络的训练轮次设置为300,batch_size为32。训练前进行3次预热学习,其中预热学习动量为0.8,预热初始学习率为0.1。通过预热学习,模型变得更加稳定,收敛速度更快,效果更佳。

图9为各网络试验结果,具体参数见表3。

a. 未改动的YOLOv5s网络 b. 使用ShuffleNetV2替换YOLOv5s主干网络后的网络 c. 试验提出的轻量型YOLOv5网络

表3 消融试验结果

由于试验采用整个酒液面提取酒花特征,尺度较大,所以YOLOv5s的主干网络更换为ShuffleNetV2后检测精度变化不大,仅下降了0.5%。同时,主干网络更换为轻量网络后,发生轻微抖动,但训练53次后达到稳定。试验提出的轻量型YOLOv5s,不仅比前两者拟合得更快更稳定,而且在检测精度上还有所提升,mAP达到90.8%,比YOLOv5s高2.3%,比YOLOv5s+ShuffleNetV2高2.8%。此外,轻量型YOLOv5s的参数量为444 915,模型大小仅4.3 Mb,与YOLOv5s相比,模型轻量92.5%,参数量减少93.7%,计算量降低63.4%。由于网络加深,轻量型的FPS有所降低,但仍有526,满足实时检测的要求。

3.5 结果与分析

在使用试验数据集的基础上,将试验算法与文献[3]、文献[5]和YOLOv4进行对比。为方便比较,通过算法执行时间比较算法的速度,通过准确率比较算法的分类性能。准确率定义为:

(6)

式中:

A——准确率,%;

N——测试样本数量;

yi——第i个样本的分类标签;

当分类标签和识别结果一致时,I(x)为1,否则为0。

由表4可知,在准确率方面,4种方法均能够满足工业分类要求,且以试验模型的结果最佳,文献[3]设计的卷积神经网络仅有13层,为4种模型中层数最少的,所以其准确率较低;在执行时间方面,试验模型用时最短,仅文献[5]的12.7%,YOLOV4的24.1%,文献[3]耗时最长,其主要原因是该算法前景区提取耗时4 200 ms,如果拍摄设备和盛酒器位置发生改变,前景区还需重新提取;在模型大小方面,试验模型的占用内存最少,分别比文献[3]少91.1%,比文献[5]少99.2%,比YOLOv4少99.2%,更有利于部署在嵌入式设备上。综上,试验模型具有巨大优势。

表4 对比试验结果

4 结论

提出了一种轻量型YOLOv5的白酒酒花实时检测方法。结果表明,改进后的轻量型YOLOv5比原YOLOv5s模型缩小了92.5%,参数减少了93.7%,计算量降低了63.4%,平均精度均值提高了2.3%。在保持较高平均精度均值的同时,模型大小、参数量和计算量大幅降低,大大降低了模型对硬件配置的要求,满足了在嵌入式设备部署的条件,比现有酒花分类方法具有更大优势。后续研究中可以增加训练数据量,特别是相邻阶段的酒花图像数量,以提升模型的检测精度。

猜你喜欢

酒花轻量注意力
并继竿之我见(四)
——轻量竿只有新手才用?
让注意力“飞”回来
基于酒花水分含量变化研究变温干燥模式对酒花干燥效率的影响
采用电子舌对不同品种酒花酿造葡萄酒滋味的分析※
轻量新能源汽车应用开关磁阻电机系统匹配的研究
三个国家Cascade酒花香气对比分析
我对轻量型并继竿的看法
啤酒花到底是个什么花?
“扬眼”APP:让注意力“变现”
A Beautiful Way Of Looking At Things