1.基于双向长短时记忆网络的混合染液浓度检测方法,其特征在于,具体按照以下步骤实施:步骤1,配置不同浓度的混合染液;
步骤2,在不同的光源及不同的曝光时间下,采集步骤1中原始染液数据的图像信息并记录;
步骤3,将经步骤2后得到的数据进行PAM聚类;
步骤4,聚类后的每一类数据映射到[0,1],进行归一化处理;
步骤5,将归一化处理的每一类数据分别划分训练集与验证集;
步骤6,采用双向长短时记忆网络的算法构建BiLSTM网络模型,
步骤7,输入步骤5中的训练集数据,运用步骤6中的模型进行混合染液浓度的预测;
步骤8,用ARIMA模型对混合染液浓度的预测值进行误差修正;
步骤9,将步骤6和步骤8训练得到的模型最优参数并记录,根据最优参数优化模型可得到k个最优预测子模型,由k类中每类对应的最优预测子模型共同组成最优BiLSTM‑ARIMA预测模型;
步骤10,使用步骤5的测试集以及步骤9得到的最优BiLSTM‑ARIMA预测模型进行混合染液浓度的预测。
2.根据权利要求1所述的基于双向长短时记忆网络的混合染液浓度检测方法,其特征在于,所述步骤1中,具体为:选择3BF、3RF、2GF的染料分别配制成不同组分的染液;将每种组分染料各配制成10种不同浓度档次的母液;并将不同浓度档次相互组合,形成不同染料配比,即可得到原始染液数据。
3.根据权利要求2所述的基于双向长短时记忆网络的混合染液浓度检测方法,其特征在于,所述步骤2中,具体为:将所有的原始染液数据分别滴在图像采集设备的玻璃皿上,采用R100、B100、G100三种不同的背光光源作为不同的光照类型;针对所采用的三种不同光源,再分别设定多种曝光时间,分别采集图像中的R、G、B值,将其作为原始数据。
4.根据权利要求3所述的基于双向长短时记忆网络的混合染液浓度检测方法,其特征在于,所述步骤3中,具体为:根据混合染液检测的要求来确定簇的数目,并将其标注为k;从原始数据中,选取k个R、G、B数据设定为初始聚类的中心;根据代价函数,计算出当前数据集中每一个R、G、B数据与中心点的欧式距离;再将该染液浓度数据样本分配到具有距离最近中心点的簇中;再对每一个簇中的所有非中心点,计算中心点被替换后的代价,改用代价最小的数据当作新的中心点;重复该步骤,直到R、G、B数据的聚类处理得到的误差平方和达到最小为止。
5.根据权利要求4所述的基于双向长短时记忆网络的混合染液浓度检测方法,其特征在于,所述步骤6中,具体为:步骤6.1,使用reshape函数对步骤5中的所有数据进行维度变换为具有[样本,时间步长,特征]维度的三维阵列,构造得到模型的输入数据,其中包括训练和测试数据的X,Y标签;
步骤6.2,首先,使用包装器实现RNN神经网络的双向构造,参数设置如下:layer选择模型LSTM,merge_mode为前向和后向的RNN输出选择采用concat模式进行组合,其中进一步使用tensorflow.keras.layers.LSTM实现LSTM网络,隐藏层神经元个数设为12,输入维度为步骤6.1训练集数据中X标签的规模;随后需要接一个Dense层将LSTM的输出进行转换,其中输出空间的维数依次设为81、27、9、3、1,并将Dense层中units为1时作为输出层;最后,在每一个卷积层后都加入高级激活层LeakyReLU;
步骤6.3,配置模型训练所需要的函数,选择Adam作为优化器,选择均方误差MSE作为损失函数,评价所用的MSE值越小则精确度更高,选择Accuracy作为监控指标;
步骤6.4,使用步骤6.1中的训练数据X,Y标签作为训练集的输入以及标签,迭代次数epochs设为80,每一批batch的大小设为1,学习率衰减函数scheduler中设置每隔20个epoch使学习率减小为原来的1/2,将衰减函数返回值学习率作为LearningRateScheduler函数的参数,其结果传给本步中fit方法的callbacks参数,verbose设为0即不在控制台输出日志信息,调整上述模型训练的参数,比较在不同参数下的预测精度,选择最优参数确定最终模型。
6.根据权利要求5所述的基于双向长短时记忆网络的混合染液浓度检测方法,其特征在于,所述步骤8中,具体为:步骤8.1,将步骤7得到的预测输出与步骤5训练集中混合染液的实际相比,得到浓度误差序列;
步骤8.2,将误差序列作为原始时间序列建立ARIMA模型进行误差修正,ARIMA(p,d,q)模型所运用的公式如下:其中, 为自回归项系数,θi为移动平均项系数,Xt为输入的误差序列,p为阶层,d为差分次数,q为阶数,L为滞后算子,εt为残差序列;
步骤8.3,运用 评价ARIMA模型,进行参数寻优,确定
ARIMA模型中的p,d,q的值。
7.根据权利要求6所述的基于双向长短时记忆网络的混合染液浓度检测方法,其特征在于,所述步骤10中,具体为:步骤10.1,求测试数据与k类数据的各自中心点的欧式距离,判断该测试数据属于哪一类;
步骤10.2,使用步骤8.1已经确定的类所对应的最优预测子模型来预测混合染液浓度。