刘文斌,庹先国 ,张贵宇,3 ,罗琪,彭英杰
(1.四川轻化工大学 自动化与信息工程学院,四川 宜宾 644000;2.四川轻化工大学 人工智能四川省重点实验室,四川 宜宾 644000;3.西南科技大学 信息工程学院,四川 绵阳 621010)
中国白酒,又称蒸馏酒,因其独特的固态酿造工艺而闻名世界[1]。在固态酿造工艺中,上甑蒸馏和固态发酵是实现自动化难度最高的两个环节,有着“生香靠发酵,提香靠蒸馏”的说法,可见发酵和蒸馏工艺环节对白酒主体香型有着重要影响[2-4]。上甑工艺需满足“均撒匀铺,探汽上甑”要求,其中,“均撒匀铺”使上甑工人以“轻、松、匀、薄、平、准”六字口诀进行上甑铺料操作[5],而“探汽上甑”是探测甑桶内酒蒸汽的上升高度,在避免跑汽前提下,尽可能通过蒸汽提升表面酒醅温度,从而在铺冷醅时达到最大温差,进而获取更多酒醅内的发酵产物[6]。
近年来,中国白酒产业持续发展,为促进白酒智能化改造与提升,实现智慧酿酒,众多专家学者对“探汽上甑”进行深入研究。李雷辉等[7]提出了一种高效的实时检测算法,专注于解决红外图像计算的实时性和撒料区域检测准确性的问题。然而,在对酒质量有较高要求的情况下,需要根据不同的酒品采用差异化的上料方式,以确保处理的精准性和细致度。田万春等[8]利用红外图像获取酒醅信息,通过灰度直方图特征和支持向量机算法对酒醅进行分类识别,获得96%的识别率,但是该方法没有考虑蒸汽压力、酒醅湿度等影响因素,所以通用性比较差。王耀等[9]提出基于多层前馈神经网络的探汽方法,进行图像预处理,通过神经网络训练探汽模型,模型准确率达到98%,但在模型的训练过程中,该神经网络的学习速度较慢,因此需要长时间的训练才能保证模型达到收敛状态。
卷积神经网络是一类包含卷积计算且具有深度结构的前馈神经网络,具有表征学习能力,能够按其阶层结构对输入信息进行平移不变分类,被广泛用于图像分类处理[10-11]。为解决自动化“探汽上甑”工艺中探汽准确率低的问题,本文探究基于卷积神经网络的探汽方法,指导上甑机器人完成上甑铺料操作,以期为实现白酒“探汽上甑”工艺完全自动化提供参考。
酒糟:四川宜宾宜泉酒业有限公司。
甑锅[12]:成都鑫海晟科技有限责任公司;红外热成像仪(FLIR A310):上海谱盟光电科技有限公司。
1.2.1 图像预处理方法
1.2.1.1 图像灰度化通过红外热成像仪采集R、G、B三分量的彩色图像,由于彩色图片包含了大量信息,为了降低计算量,需对彩色图像进行灰度化处理[13-14]。加权平均灰度化是按照人眼敏感度设置权值系数进行加权,得到的加权值作为灰度值,如公式(1)所示。
式中:Gray(x,y)为灰度值;R(x,y)、G(x,y)、B(x,y)分别为红、绿、蓝3 个通道值。
1.2.1.2 图像滤波
红外热成像仪在采集红外图像时存在噪声的干扰,为消除红外图像的噪声影响,采用双边滤波进行处理[15-16]。在双边滤波中,不仅考虑像素之间的灰度值差异,还考虑它们在空间上的距离。这使得双边滤波能够在平滑图像的同时保留图像的细节,特别是边缘部分。
1.2.1.3 图像边缘检测
红外热成像仪在拍摄过程易受环境温度、酒醅表面温度及甑锅边缘温度影响,使得甑锅边缘特征出现强弱边缘现象,当出现弱边缘检测时,其他边缘检测算法将会丢失大部分边缘信息,而Canny 检测算法能够细致地检测图像中的边缘,并提供有关边缘方向的信息[17-18],故采用Canny 算法进行酒醅红外图像边缘检测。
1.2.1.4 霍夫检测
由于Canny 算子在对甑锅进行边缘检测时无法得到甑锅在图像中的具体位置,故引入霍夫检测,进一步得到位置信息。霍夫检测会根据拟合的最优圆参数,得出拟合圆的半径和坐标,通过坐标和半径在图像上绘制出圆的大小及位置[19]。为删除无效信息,霍夫检测出的圆做外接矩形,最大程度保留甑锅内部信息和边缘信息,即删除其他无用信息。
1.2.2 卷积神经网络的探汽方法
1.2.2.1 AlexNet 模型
经典网络(AlexNet)改用relu 替代sigmoid 加快SGD 的收敛速度,引入dropout 层抑制过拟合,增强模型泛化性能[20]。该模型应用于图像多分类问题,输入图像形状为224×224×3,先将输入图像padding 至227×227×3,再做卷积运算。但AlexNet 为了快速得到更小的特征图,在第一层卷积层中,采用11×11 超大卷积核,扫描窗口步长为4。引入大卷积核将导致学习参数庞大;窗口步长过大,将会导致图像在快速缩小的过程中丢失更多图像细节特征。
1.2.2.2 VGGNet 模型
序贯结构网络(VGGNet)可以被视为AlexNet 模型的升级版,网络深度达到十多层。与AlexNet 不同的是,VGGNet 采用了卷积组的结构,其中每个卷积组都由多个较小的卷积核(3×3)组成。这一设计解决了AlexNet 中使用大卷积核所面临的问题[21]。通过这种方式,VGGNet 在提高网络深度的同时,有效地改善了卷积核的设计,使得整体结构更加合理和有效。
1.2.2.3 GoogLeNet 模型
并行连结网络(GoogLeNet)在加深网络结构的同时,对网络结构进行创新改进,引入Inception 结构代替了传统的卷积+激活函数的方式。Inception 结构,在同一层中引入1×1、3×3 和5×5 3 种不同尺度的卷积核以及3×3 池化层,concatenation 层将4 组同尺寸不同维度特征的特征图并排堆叠,组成新的特征响应图输出[22]。在3×3、5×5 前使用1×1 卷积核的目的是降维,降低参数计算量。GoogLeNet 网络深度远超过AlexNet,但其训练的参数量仅是AlexNet 的1/2,可取得更优的精度。
1.2.2.4 ResNet 模型
深度残差网络(ResNet)层数非常深,已超过百层。随着网络层数的增加,不仅会出现梯度弥散的问题,同时会出现模型训练过程出现退化的问题。网络越深,空间参数越大,优化越困难,有时会遇到深层网络效果比浅层网络差,并非过拟合导致,而是模型退化导致[23]。ResNet 设计一种残差模块解决上述问题。残差模块通过常规或捷径路线传递参数,捷径路线类似电路中“短路”。捷径输出项X 使得总体梯度不会消失,防止了梯度消失问题,进而保证了深度网络的性能。
1.2.2.5 DenseNet 模型
密集卷积网络(DenseNet)是以前反馈的方式将每个层与其它层连接起来,在传统卷积神经网络中,对于L 层的卷积网络具有L 个连接,而在DenseNet 中,会有L(L+1)/2 个连接[24]。DenseNet 网络核心思想是将L 层的输入参与到后面所有层的计算中,L 层的输出如公式(2)所示。
式中:HL为L层的输出;[x0,x1,x2,………xL-2,xL-1]为第0 层、第1 层、第2 层到第L-1 层产生的特征图的串联。
图像预处理结果见图1。
图1 图像预处理Fig.1 Image pre-processing
分别对酒醅红外图像进行图像灰度化、滤波、边缘检测、霍夫检测预处理,由图1 可知,预处理降低了图像噪声干扰、提高了图像质量、增强了图像细节,为后面卷积神经网络模型训练提供了更高的准确率和可靠性。
卷积神经网络模型训练平台是在Ubuntu20.04 操作系统下搭建的,所用到的深度学习框架为Pytorch,处理器为Quadro RTX 5000 GPU,显存为16 GB。红外酒醅图像的数据集划分为6∶2∶2,训练集为60%,验证集为20%,测试集为20%,图像数据集划分如表1 所示。
表1 图像数据集划分Table 1 Image dataset division
5 种卷积神经网络模型设置相同的初始学习率为0.001,训练批次大小为256,卷积核数量为64,类别为3,隐层激活函数为relu,dropout 率为0.5,全连接层神经元数目为1 024,训练次数为50。但在训练过程中设置早停机制,其核心概念是在训练过程中监测模型的性能指标,并通过比较当前指标与历史最佳指标的大小来进行决策。如果当前指标优于或等于历史最佳指标,系统会更新最佳指标和对应的模型参数,并重新初始化训练计数器。反之,如果连续一定步骤内未出现性能改善,则训练会被提前终止,以避免进一步的训练对模型性能产生负面影响。生成的5 种卷积神经网络模型的训练集和测试集准确率和损失率随迭代次数的变化如图2、图3 所示。结果对比见表2。
表2 5 种卷积神经网络结果对比分析Table 2 Comparative analysis of the results of five convolutional neural networks
图2 5 种卷积神经网络训练准确率与损失率Fig.2 Five types of convolutional neural network training accuracy and loss rates
图3 5 种卷积神经网络测试准确率与损失率Fig.3 Five types of convolutional neural networks testing accuracy and loss rates
由表2 可知,VGGNet-16 迭代次数最多,为30 次,而ResNet-18 最少,只有12 次。训练时间数据显示,DenseNet-37 的训练时间最短,而VGGNet-16 最长。在准确率方面,VGGNet-16 在训练集上以0.998 0 的准确率居首,而在测试集上,DenseNet-37 以0.997 0 的准确率领先。此外,DenseNet-37 和AlexNet 在训练集上的准确率相同(均为0.997 0),但在测试集上,AlexNet准确率稍低,为0.996 0。在图2 和图3 中,DenseNet-37呈现出训练和测试曲线均迅速收敛的趋势,准确率相对较高。各模型的损失曲线均能快速下降并在某个值附近收敛,其中ResNet-18 的波动较大,而DenseNet-37表现相对稳定。考虑到模型参数、训练时间、收敛速度和测试准确率等方面,DenseNet-37 优于其他模型,因此选择DenseNet-37 作为上甑探汽方法。
在深度学习的卷积神经网络中,常用精确率(Precision)、召回率(Recall)、F1 分数(F1-score)等评价指标对模型进行评估[25],公式如(3)~(5)所示。
式中:P为该类别正确分类数与该类样本总量的比值;R为该类别正确分类数与分到该类正确分类数和错误分类数的总量的比值;F1 分数为精确率和召回率的综合评价;T为真正类数;F为假正类数;N为假负类数。
将测试结果输出为混淆矩阵如表3 所示,通过混淆矩阵计算得到真正类数、假正类数、假负类数的结果如表4 所示。
表3 测试样本-混淆矩阵Table 3 Test sample-confusion matrix
表4 混淆矩阵转换Table 4 Confusion matrix transformation
根据公式(3)~(5)和表4 可以计算出评价指标精确率、召回率、F1 分数在等待上甑、局部补料、整层铺料三类的值,结果如表5 所示。
表5 评价指标Table 5 Evaluation indicators
表5 各评价使用多分类评价指标Weighted 算法,即该类在总样本数的占比,如公式(6)~(8)所示。
式中:n为分类类别数;w为该类样本占测试总样本比例;Ti为每个类别的真正类数;Fi为每个类别的假正类数;Ni为每个类别的假负类数。
根据Weighted 算子计算出各模型指标:精确率为0.997 0,召回率为0.997 0,F1 分数为0.996 9。根据各指标表现,该卷积神经网络模型性能良好。通过混淆矩阵测试得每个类别识别数如表6 所示。
表6 测试样本结果Table 6 Model prediction results for test samples
为了解决白酒“探汽上甑”不准的问题,提出了一种基于卷积神经网络的探汽上甑方法,以更好地满足白酒上甑工艺要求。首先,对酒醅表面的红外图像进行图像预处理,再次根据人工上甑经验以及图像特点进行分类,引入5 种卷积神经网络进行训练,AlexNet、VGGNet-16、GoogLeNet、ResNet-18、DenseNet-37 训练的平均准确率可以达到0.995 2。最后对综合表现较好的DenseNet-37 进行模型评估,引入混淆矩阵求解精准率、召回率、F1 分数,求解出各项指标的值分别为0.997 0、0.997 0、0.996 9。综合模型评估表明,该分类模型能够满足白酒探汽上甑要求,对于推动白酒智能化发展有着积极的作用。