基于图像处理的污泥批量沉降系统

2022-03-02 04:41汤实现赵立杰
沈阳大学学报(自然科学版) 2022年1期
关键词:量筒液位刻度

郭 烁, 汤实现, 赵立杰

(沈阳化工大学 信息工程学院, 辽宁 沈阳 110142)

污水处理厂对废水处理的成功与否取决于二沉池的最大容量,而二沉池的容量又取决于活性污泥的沉降特性,污泥沉降特性的可靠表征是二沉池优化设计和运行的关键[1-2]。基于对活性污泥沉降特性的了解,许多学者从二沉池建模[3-4]的角度进行研究,虽然提出了新的建模方法[5-6],但用于沉降特性表征[7-8]的模型仍处于开发阶段。

随着图像处理技术的发展,该技术也逐渐被污泥处理研究人员所引用,从图像中提取定量数据更加客观高效[9-11]。杨大明等[12]将采集的图像二值化,识别出刻度线和液位头部位置,用标线标出,但识别图像的刻度值只读取了刻度的整数,不够精确。Kim等[13]假设活性污泥是褐色的,分析图像的红色通道,标记了污泥层和上清液之间的边界。Witold等[14]将采集的量筒图像人工标记出液位区域,利用反射投影法识别出标记的位置,得出泥水分界面的刻度值,但图像预处理采取人工标注,降低了识别的速度。

总体来看,利用图像处理技术识别污泥层的沉降高度是一种可行的方法,但由于图像采集过程中很难保证拍摄镜头与液位在同一平面,单张图像采集也比较费时费力。基于此,结合卷积神经网络提出了一种按沉降视频时间截取成图像、确定液位高度、识别图像刻度、绘制沉降曲线和沉降速度的方法。本文将对此方法在污泥沉降实验场景下的应用展开论述。

1 材料与方法

1.1 实验装置

批量沉降实验样本来自沈阳南部采用二级污水处理工艺的污水处理厂,分别从好氧、厌氧、缺氧3个反应池中取样。首先,对采集的泥水混合物进行均匀搅拌,倒入100 mL的实验量筒中。然后,使用智能手机和三角支架作为现场拍摄沉降视频的工具,支架固定在量筒的正前方进行35 min的沉降视频拍摄。最后,将沉降视频载入计算机中进行处理,得出泥水分界面的高度值,从而绘制出污泥沉降曲线以及沉降速率曲线等期望数据。图像处理和沉降系统的设计是在Windows10 64-bit操作系统、Python 3.6的环境下进行的,其中主要涉及的开源库有OpenCV和PyQt5。图像采集及处理装置如图1所示。

图1 图像采集及处理装置Fig.1 Image acquisition and processing device

1.2 方法与步骤

本文利用图像处理技术,拟合出液位的形状并确定其中心点坐标,计算出中心点到液位相邻数字的高度差所代表的刻度值,结合卷积神经网络识别出的数字得出泥水分界面的最终液位值,主要步骤如图2所示。

图2 污泥层高度测定的主要步骤Fig.2 Main steps of sludge layer height measurement

① 将拍摄的沉降视频载入计算机,按照一定的时间间隔截取出彩色图像。

② 对原始图像进行灰度化、二值化操作,采用投影法确定量筒的感兴趣区域(region of interest,ROI)的位置并将其提取。

③ 根据实验可得泥水分界面区域的亮度值,以此确定分割阈值的范围,拟合分界面的形状得出中心点坐标。

④ 采用Sobel边缘检测找到量筒上的刻度线、数字区域,经过形态学操作,利用最小外接矩形框选出刻度线和数字,根据矩形框的长、宽以及比例仅保留数字区域,由此可以得到离污泥层液面最近的数字并将其提取分割,送入神经网络(LeNet-5)中识别。

⑤ 将识别出的数字与液位中心点到数字的高度差所代表的刻度值进行求和,得出泥水分界面的刻度值。

⑥ 循环步骤③~⑤,得出所有图像的泥水分界面刻度值,绘制沉降过程曲线、沉降速率曲线。

目前,卷积神经网络在图像分类识别等方面已经取得了良好的效果,因此我们利用神经网络,对分割出的数字进行分类识别。本文所用的网络架构如图3所示。因为泥水混合液在前期的沉降速度很快,可以忽略其初始位置(100 mL)数字的识别,剩余的数字为10~90,且均为10的整数倍,可以用数字(1~9)代表(10~90)。

图3 数字识别网络架构Fig.3 Digital recognition network architecture

首先将分割后的数字图像转换成单通道的28×28大小的灰度图像;然后经过2层卷积、2层池化,再接第1个全连接层,神经元数目为450,再接激活函数(ReLU);最后送入第2个全连接层,神经元数目为9,得到9维的特征向量,用于9个数字(1~9)的分类训练,经过分类器(Softmax)进行数字分类,得到分类结果的概率,即为输出层。

2 图像处理与SBH的测定

2.1 图像处理

首先,采用浮点算法将截取的原图像(图4(a))转换为灰度图像(图4(b)):

IG=0.299R+0.587G+0.114B。

式中:IG为得到的灰度图像;R、G、B分别代表彩色图像的红、绿、蓝三原色。

其次,为了简单快速定位ROI区域,采用全局阈值法将灰度图像二值化。

式中:Pd(x,y)为二值化后的像素值;255和0分别代表白色和黑色;Ps(x,y)代表灰度图像的像素值;Pthresh为实验得出的全局阈值。二值化后的图像如图4(c)所示。

(a) 原图(b) 灰度图(c) 二值图像(d) 目标区域

如图4(d)所示的目标区域是基于投影法提取的,其中,垂直方向的投影在量筒的左右边缘存在像素个数的突变如图5(a)所示。同理,水平方向的投影如图5(b)所示。由于泥水混合物中存在难以沉淀的杂质,水平投影中第1次像素个数的突变,即为液位顶端漂浮杂质的位置;随着污泥的沉淀,产生第2次像素个数的突变,即为泥水分界面的位置;第3次像素个数的突变,即为量筒底部的空隙位置。包含有效数字的量筒区域存在于第1次和第3次像素个数突变之间,据此可以得到目标区域的宽在原图的319~453列,高在原图的405~1 076行。

(a) 垂直投影(b) 水平投影

2.2 液位面检测

图像的边缘是像素值发生突变的位置,是图像的显著特征之一, 本文利用Sobel算子对液位面的边缘进行检测,

式中:Gx、Gy分别代表图像I在水平和垂直方向上梯度计算;G表示最终处理的结果,如图6(a)所示。由于直接二值化并不能分割出真实的液位面,所以采用局部二值化进行处理:

(a) Sobel边缘检测(b) 局部二值化(c) 液位面拟合

式中:T(x,y)是像素(x,y)的邻域均值减去经验常量C。本次实验C值取11,处理后的结果如图6(b)所示,由于最上层漂浮的絮体颜色与液位面颜色相似,两者处理后的结果相同,因此也可以说明该方法适合液位面的定位。

液位面形状的拟合和中心点坐标的确定比较复杂,为了加快系统的运行速度和结果的准确率,我们采用OpenCV所带的findContours()和fitEllipse()函数进行处理,如图6(c)所示,两者最终的返回值为

式中:(x,y)即为椭圆中心点的位置;(a,b)代表长短轴长度;ra为中心旋转的角度。

2.3 数字分割与识别

由于量筒上刻度线和数字呈相同颜色,同理,采用局部阈值的方法对其二值化,如图7(a)所示。图像在采集的过程中,难以避免一些噪声影响,需要进行形态学操作。

(a) 局部二值化(b) 闭运算(c) 框选轮廓(d) 字符筛选(e) 字符提取

膨胀可以用来填补目标区域中的一些空洞,使图像高亮区域逐渐增强,采用向量加法对2个集合进行合并,即为求所有向量之和的集合运算。腐蚀采用向量减法对2个集合进行合并,其作用可以消除一些小而无意义的目标物。膨胀与腐蚀对应的向量计算公式分别表示如下:

式中:A为待处理的图像;B为结构元素集合;ρ表示待处理图像A的像素点与结构元素B点之间的距离;ε表示误差。

本文采用闭运算,即先膨胀,后腐蚀,这样有助于前景物体内部的小孔或小黑点的去除。闭运算处理结果如图7(b)所示。从图7(b)中可以看出,每个字符基本成“正方形”的连通区域,与液位面拟合的方法相似,用最小外接矩形框选出所有轮廓,如图7(c)所示。根据字符宽高比1.2∶1、字符框纵坐标与液位面的最小高度差,得出离液位最近的数字区域如图7(d)所示,并将其提取,如图7(e)所示。

如前所述,为了简单操作,我们将提取出的数字等值分割,分别放入不同的文件夹中,这样,仅需要识别出十位上的单个数字即可。

2.4 沉降高度测定

字符训练测试的准确率如表1所示,由此可以很好地识别出分割的数字。污泥层的高度计算公式如下:

表1 字符训练测试结果Table 1 Character training test results

(1)

式中:N表示最终的液位值;n表示识别出的数字;h表示液位中心点到相邻字符的高度差;H表示两相邻数字之间的高度差。

由高度值和时间,污泥的沉降速率可表示为:

(2)

式中:Vi代表泥水分界面的沉降速率,mL·s-1;Hm-Hn代表泥水分界面的刻度差,mL;tn-tm代表时间差,s。

3 结果与分析

3.1 误差检测与分析

将人眼读取的刻度值、人工测量的刻度值、机器识别的刻度值(以视频间隔5 min为例)进行对比,结果如表2所示。从人眼读取与人工测量误差绝对值、机器识别与人工测量误差绝对值中可以看出,相比于人眼读取的结果,机器识别的结果更接近人工测量的真实值。分析误差较大的主要原因是人在读取刻度时存在主观判断和操作不当行为,而机器识别可以较好地避免上述行为。

表2 实验结果与误差分析Table 2 Experimental results and error analysis

在误差允许的范围内,根据式(1)、式(2)可以绘制出污泥的沉降曲线和沉降速率曲线(见图8)。污泥沉降曲线反应出污泥的沉降特性,其中污泥沉降比的值即为沉降曲线上30 min时对应点的纵坐标。从图8中可以看出,污泥在沉降过程中由快到慢,逐渐趋于平稳,其中,在间隔较短的时间内出现短暂的平稳,实验结果也符合污泥的真实取样。

(a) 沉降曲线(b) 沉降速率曲线

3.2 前端界面

为了更好地展示处理结果,本文基于PyQt5开源库设计了一套污泥批量沉降系统,如图9所示。该系统可以将载入的沉降视频按照不同时间间隔对视频进行图像截取,然后对其进行图像处理,得出当前液位值。待沉降视频处理结束,自动显示沉降曲线与沉降速率。

图9 系统主界面展示Fig.9 System main interface display

4 结 论

本文基于图像处理技术和Python编程语言,设计了一套污泥沉降实验过程中量筒刻度值自动读取系统。解决了人工读取污泥层高度时出现的繁琐、耗时,以及读数误差等问题。

猜你喜欢
量筒液位刻度
除氧器液位控制器切换异常原因分析及应对措施
蒸腾作用
剪彩带
天然气车辆液位测量系统相关性的研究
量筒使用过程中的读数误差
谁大谁小
谁大谁小
买香油
测量三字歌
TEP除气装置液位控制及故障分析