周石庆,麻望池,盛炟,伍洋涛,卜令君
(湖南大学土木工程学院,湖南长沙 410082)
近年来随着我国工农业的快速发展,大量工农业废水被排入水体,导致水体富营养化,进而引发一系列藻类爆发问题[1-2].高藻水中的藻类在水厂中被去除主要是通过混凝工艺,若混凝效果不佳则会导致未被混凝沉淀的藻类进入滤池,造成滤池的堵塞,甚至导致水厂的瘫痪,严重威胁水厂的供水安全[3-4].
高藻水混凝处理的关键在于混凝剂投药量的确定.混凝剂投药量的确定方法主要有两种,一种是人工经验投加法,即通过水厂管理人员的经验确定投加量.但是大部分水厂都缺少藻类爆发时混凝剂投加的经验,因此依靠人工经验难以确定高藻水混凝工艺过程所需的混凝剂投加量.另一种则是通过在线絮凝技术投加混凝剂,其中包括流动电流检测技术、光学检测技术、透光脉动检测技术、在线颗粒计数仪、基于人工神经网络和多水质参数的控制方法等[5-8].以上技术一般都是通过对混凝过程中某个或几个参数进行获取,并将提取到的参数与出水效果建立对应关系,最终确定投药量.针对某一特定水质,这种方法可能有比较好的效果,但是应对如高藻水类复杂水质,其效果得不到保证,因此并未得到普及[9].
如今随着智慧水务的发展,人工智能技术不断普及,絮凝控制过程智能化是发展的必然趋势[10-12].因此本文提出一种基于DenseNet卷积神经网络模型的藻类絮体图像识别方法,即通过采集高藻水在不同混凝条件下产生的絮体图像,同时记录对应的去除率作为絮体图像的标签,建立数据集.基于现有深度学习模型,采用迁移学习的方式对不同去除率对应的藻类絮体图像进行训练,以计算机提取特征的方式替代人工特征提取.建立基于图像分类的藻细胞去除率预测模型.实现对含藻水体混凝处理的去除率预测,从而能够依据藻类去除效果确定投药量.
CCD(Charge-coupled Devic)数码显微镜,六连搅拌仪(MY3000-6F),紫外分光光度计(T6 新世纪),硫酸铝[Al2(SO4)3·18H2O],次氯酸钠(NaClO).铜绿微囊藻,购自中国科学院水生生物研究所(FACHB-315),选择BG-11 培养基在人工培养箱中培养,培养温度为(25±1)℃,光暗比为12 h/12 h,光照强度为3 500 lx.
将处于稳定期的铜绿微囊藻溶液与充分沉淀后的南方地区某水库水混合,配置成不同吸光度(OD680)的藻溶液,以模拟藻爆发真实水质情况.考虑到水厂的处理流程中有预氧化过程,因此整个处理流程分为预氧化过程和混凝过程.预氧化过程在混凝搅拌仪中进行,向烧杯中投加目标剂量的氧化剂,同时设置水力条件为10 r/min,缓慢搅拌10 min完成预氧化过程.混凝过程中,混凝剂的选择为硫酸铝,投加量为10 mg/L,混凝实验的水力条件设置为:先以250 r/min 快速混合1 min,再以100 r/min 混合3 min,然后以40 r/min 缓慢混合10 min,沉淀30 min,水样取自沉淀后水面下1 cm,记录出水OD680值.
混凝结束阶段,缓慢搅拌,同时缓缓吸取水样置于培养皿中.利用CCD 数码显微镜进行图像采集,采集第一张图像时对相机的镜头高度、焦距、各光学参数进行设置,而后实验全过程中摄像机的参数设置、镜头高度均保持不变.通过改变进水藻细胞浓度、混凝剂投加量、有效氯投加量获得了36 种工况,每种工况重复3 次,去除效果如图1 所示,每次实验记录约30 张絮体图像,同时记录每张絮体图像样本和对应的去除率,实验中为了保证样本具有代表性,实验设计过程中样本絮体图像对应的去除率尽可能覆盖了所有的去除率.
图1 不同混凝条件下藻类去除效果Fig.1 Algae removal efficiency under different coagulation conditions
将以上36 种工况获得的图像样本按照其对应去除率的大小分为3类,此3类去除率区间即为絮体图像的3 种标签.第一类是去除率小于60%的情况,此类情况一般是藻高爆发情况,混凝过程效果不佳,藻类未被有效去除,不采取措施很可能造成水厂瘫痪;第二类是去除率在60%~90%之间,需要对混凝剂投加量做出调整以达到更好的去除效果;第三类是去除率大于90%以上,一般认为水厂混凝已经达到较好的去除效果.同时为了保证每种区间的絮体图像相对平衡,本文对部分絮体图像进行了随机删减.
DenseNet 模型源于ResNet 模型,ResNet 模型的优秀源于它可以训练出更深的卷积神经网络(Convolutional Neural Networks,CNN)模型,从而提高模型的准确度.而DenseNet 模型延续了ResNet 模型的思路,但不同于ResNet,它提出了一个密集连接机制,称为密集块(Dense Block),密集块中每个层需要接受前面所有层作为其额外输出.
对于一个L层的网络,其共包含个连接,所以DenseNet网络在l层的输出为
式中:Hl是非线性转化函数,包括批标准化、线性整流函数和卷积.
这种特殊的连接方式需要各个层的特征图大小一致.因此,DenseNet网络采用了密集块和转化层的结构,转化层主要由卷积层和池化层组成,可以实现特征图的大小变换.网络的具体结构和参数如图2和表1所示.
表1 DenseNet-121网络结构参数表Tab.1 DenseNet-121 network structure parameter table
图2 DenseNet网络结构图Fig.2 DenseNet network structure diagram
本文采用上下翻转、左右翻转、随机裁剪等数据增强方式对采集到的3 000 余张图像进行预处理[13].为消除不同大小的图片可能带来的不利影响,统一将目标絮体图像归一化为224×224 的图像[14],并以去除率区间为标签构建絮体图像数据集.部分样本絮体图像如图3 所示.同时打散并划分训练集、验证集和测试集.具体划分结果见表2.
图3 絮体图像数据集样本Fig.3 Floc image dataset samples
表2 絮体图像数据集划分Tab.2 Floc image data set partition
由于DenseNet-121模型架构较深,比较复杂,从头开始训练需要消耗大量计算机资源和使用大量数据,而本文所使用的数据集为实验室采集,数量远远不够.因此本文利用迁移学习对模型进行训练,迁移学习主要的实现方法是将一个已经训练好的模型参数移植至需要训练的模型中去,只用训练后几层网络即可实现目标模型的训练[15].本文中固定DenseNet-121 的部分网络参数,对最后一层即分类层进行调整,将输出改为3 个,重新训练最后几层的网络参数,完成模型训练.
模型训练基于Python 语言的编程环境,使用了TensorFlow 2.0 框架、Pycharm 开发环境在计算机上训练模型,计算机处理器为Intel Core i5-8400,内存大小为16 G,显卡为Nvidia GeForce 1060,模型训练的过程中采用了自适应估计算法(Adaptive Moment Estimation)对目标模型进行优化[16].设置学习率为0.001,训练批量大小为32,训练轮数为50.
使用分类交叉熵损失函数将模型训练50 轮后,实验结果如图4 所示.由实验结果可知DenseNet-121模型在较短时间内,训练集和验证集的准确性都提升到一个较高的水平,经过50 轮的训练,模型的验证集准确度达到了91%,测试集的准确度达到了89.5%.
图4 模型训练结果Fig.4 Model training results
混淆矩阵是模型精度评价的一种方式(见图5),能够实现分类结果的可视化,从而直观地看出模型预测结果和实际结果的差异,便于分析模型的优劣.用户精度(User Accuracy)和生产者精度(Producer Accuracy)是混淆矩阵中的两个重要指标.在本文的背景下,用户精度指的是某去除率区间的絮体图像被正确识别到该去除率区间的数量和该去除率区间的絮体图像总数的比例.生产者精度指的是某去除率区间的絮体图像被正确识别到该去除率区间的数量和被识别成该去除率区间的絮体图像总数的比例(见表3).
图5 模型测试的混淆矩阵Fig.5 Confusion matrix of model testing
表3 模型测试精度表Tab.3 Model test accuracy table
结果表明在测试集的638张图片中,有571张图片被正确分类至相应的去除率标签中,达到了预期的效果.但值得注意的是,28 张实际标签值为60%~90%的絮体图像被分类至90%~100%,而有23 张实际标签值为90%~100%的絮体图像被分类至60%~90%.以上两种情况是造成模型误差的主要原因,可能是因为有几种工况的去除率在90%左右,所以模型难以将其正确分类.
为验证DenseNet-121 网络的优越性,我们补充测试了VGG-16 和ResNet-101 两种常用的卷积神经网络用以对比研究.如表4所示.
表4 不同卷积神经网络的预测精度对比Tab.4 Comparison of prediction accuracy of different convolution neural networks
结果显示,从整体精度来看,VGG-16 对本文数据集的预测精度为80.7%,ResNet-101 对本文数据集的预测精度为67.3%.显然DenseNet-121 网络优于其他两种常用的卷积神经网络,且在辨别去除率在60%~90%之间的絮体图像时有绝对的优势.
为测试模型对数据集以外的图像的识别准确性,本文取某水库水配置铜绿微囊藻溶液进行模型泛化实验.实验中随机设置了3 种不同混凝条件,每个条件下采集3 张,共计9 张图片进行图像分类,以测试模型的泛化性能(见表5).
测试的结果如表5所示,对于3种不同混凝条件下产生的絮体图像,模型均能够给出准确的去除率区间.表明模型能够对数据集以外的高藻水混凝产生的絮体做出识别并进行去除率的预测.
表5 DenseNet网络模型泛化性能测试结果Tab.5 Test results of generalization performance of DenseNet network
基于深度学习的藻类混凝去除率预测方法,通过DenseNet-121网络实现不同去除率区间图像的分类以预测铜绿微囊藻混凝过程的去除效果.通过实验室设计不同混凝条件建立藻类絮体图像数据集,同时构建基于DenseNet 网络的深度学习模型,实现对混凝过程藻类去除率的预测.结果显示,模型的准确性达到90%.与VGG和ResNet模型相比,DenseNet模型具有更高的精度,且在60%~90%区间藻类絮体图像的识别精度上有显著的优势.同时通过对数据集之外的铜绿微囊藻混凝产生的絮体图像进行识别,验证了模型的泛化能力.