摘 要:在现代舰船机舱等无人值守的场合,舰员往往无法及时有效地跟踪监测液位计信息。因此,提出了一种基于机器视觉的磁翻板液位计实时液位识别方法。首先,运用改进的 DB-FFT 识别方法对液位计面板中的字符进行检测;然后,利用 CRNN 模型识别检测到的字符内容,并采用基于图像识别和图像差值的静态与动态分析方法识别液位指示位;zui后,结合刻度及液位位置计算出液位实时读数。实验结果表明:该方法能够实时、高效地识别磁翻板液位计液位并显示数值,对磁翻板液位计的数字化转型应用具有重要意义。
磁翻板液位计(磁性浮子式液位计)根据浮力原理和磁性耦合作用研制而成 。当被测容器中的液位变化时,液位计本体管中的磁性浮子也随之变化,浮子内的永久磁钢通过磁耦合传递到磁翻柱指示器,驱动红、白翻柱翻转,指示器的红白交界处即为容器内部液位的实际高度。目前,常用的磁翻板液位计自身还不能实现自动化、远距离识别和实时监测等功能。
随着计算机及人工智能技术的发展,基于机器视觉的各类不同场景液位识别方法研究取得了长足的进步。刘治锋[3]应用图像识别的方法,对采集的水位图像进行了一系列处理,包括形状矫正、光强矫正、目标分析等处理方法,从而实现了水位的自动检测。任明武等[4]同样应用图像识别方法,精确地检测和定位出了水位线。在瓶装液体识别的场景中,黄玲等[5]研发了一种带标杆的透明瓶装液体液位检测系统,有效地利用了液体的折射原理,通过图像处理确定标杆断开的位置从而得到液位的高度。而神经网络的兴起又为机器视觉的图像识别研究提供了新的思路,深度神经 网 络 模 型,特 别 是 深 度 卷 积 神 经 网 络 (deepconvolutionalneuralnetworks,DCNN)[6]在 各种视觉任务中的应 用 获 得 了 巨 大 成 功。Laroca等[7]提出了利用卷积神经网络来实现自动抄表的功能。陈志恒等[8]实现了基于 EMD 的神经网络空耦超声存储油罐液位的检测,其具体采用了 BP(backpropagation)神经网络,识别率高达99% 。基于上述理论技术的发展,各类指示计、液位计等的自动化识别应用场景层出不穷,如血管血清液位计的检测[9]、试管液位检测[10]等。因此,本文提出了一种基于计算机视觉的液位实时读数识别方法,通过高精度摄像头实时抓拍液位计面板获得图像数据,再利用图像识别的方法来识别并计算液位计读数。
1 理论基础
1.1 字符检测
进行图像识别前,需先识别和定位液位计上的刻度值,刻度值一般从下至上均匀分布于磁翻板液位计面板,常见的磁翻板液位计面板如图1所示。
场景字符检测作为场景字符读取的关键组成部分,其目标是定位每个字符实例的边界或区域。近年来,基于分割的方法在文本检测的场景中十分常用,分割之后的二值化处理也至关重要,分割的结果将在这一过程中被转换为文本框或文本区域。
本文基于可微二值化(differentiablebinarization,DB)的模块来简化分割后的处理步骤,该方法可设定自适应阈值来提升网络性能。在此基础上,结合液位计面板上字符位置分布特征,结合快速傅里叶变换(fastFouriertransform,FFT)提出优化方法(简称 DB-FFT 方法),从而提高字符检测效率。
1.1.1 基于 DB实现字符检测
对于标准的二值化处理,给定一个由分段网络生成的概率图P∈RH ×W ,其中 H 代表图像的高度,W 代表图像的宽度。将其转换为二值化的图,若一个像素点的值为1,则代表该像素属于字符区域,一般来说图像二值化可表示为
![360桌面截图20231124092803.jpg](http://www.huoyumi.com/d/file/ywj/2023-11-24/c5c1c543c82b9ba1fb604753fbd12003.jpg)
式中:t为预测字符区域所定义的阈值;(i,j)为图像中像素的位置。
由于Bi,j的值为0和1是不可微分的,所以无法参与到网络的训练。为此,将式(1)进行转换,使得 CNN 中的二值化过程可以端到端地进行训练。转换过程为
![360桌面截图20231124092807.jpg](http://www.huoyumi.com/d/file/ywj/2023-11-24/f7d3350a3590b8156cb873623a68d2da.jpg)
式中:B∧i,j为近似二值化映射;T 为从网络中学习到的自适应阈值映射;k 为放大系数,根据经验默认将其设置为50。
基于上述方法,利用分段网络训练可实现字符检测,部分检测效果如图2所示。
在复杂环境下或存在噪声干扰时,检测结果会出现中心位置略有偏移、部分字符位置未检测出等现象。经过分析后发现,磁翻板液位计面板上的字符位置分布存在如下规律:从上至下均匀分布,从左至右对称分布。因此,可以通过左右对称将另一侧的字符推理出来,通过垂直方向字符位置均匀分布来校验,并补齐没有被检测出的字符。
1.1.2 基于 DB-FFT 实现字符检测
在获取字符行坐标时,为了使用字符的相同间隔来提取数字字符并过滤掉其他字符,采用傅里叶变换来获取字符的峰值坐标,zui终根据行和列的峰值得到zui终的字符位置,处理结果如图3所示。
在应用傅里叶变换推理优化字符检测位置后,不仅可补全未被检测出的字符位置,还可增强字符位置的区域。基于 DB方法和 DB-FFT 方法的检测效果对比如图4所示。可见,后者检测出的字符位置相对更加全面。
1.2 字符识别
本文 应 用 文 献 [6]提 出 的 CRNN(convolutionalrecurrentneuralnetwork)模型来识别磁翻板液位计面板中的字符。CRNN 是一种卷积循环神经网络结构,用于解决基于图像的序列识别问题,特别是场景文字识别问题。具体过程为:首先,通过 CNN 将图片的特征提取出来;然后,采用 RNN 对序列进行预测;zui后,通过一个 CTC的翻译层得到zui终结果。
1.3 液位计指示位置识别
磁翻板液位计指示的位置为黑白交界处(见图5箭头所指位置)。
由于磁浮子翻转时,暗色部分是从上往下翻转,会出现暗色部分不连续的情况。具体存在两种情况:①该磁浮子仅部分翻转,未完全翻转为暗色;②该磁浮子完全翻转为暗色。为有效识别磁翻板液位计指示位置,本文分别从静态和动态角度提供了两种识别方法。
1.3.1 静态分析法
静态分析法针对单帧图像进行分析,主要采用基于颜色像素的计算方法。从静态角度分析,液位计的暗色磁浮子部分代表了液位信息,因此只需识别出暗色磁浮子区域即可。首先将颜色空间转换到 HSV(huesaturationvalue),然后根据阈值去除其他颜色,zui后找到暗色矩形块。
如图6所示,结合磁浮子翻转特征,若磁浮子完全翻转为暗色,则zui上方暗色矩形块的上侧为当前指示位置;若磁浮子未完全翻转为暗色,则zui上方暗色矩形块的下侧为当前指示位置。
1.3.2 动态分析法
动态分析法主要适用于液位计指示值实时变动的场景。通过对连续两个时序的图像进行像素相减,可识别出变化区域,此即液位计指示位置。基于上述原理,在液位计指示动态变化过程中,先获取连续两个时序的图片信息,再将这两帧图像像素值相减,便可获得变化区域的二值化图(见图7(a));进行去除噪声处理后,所得结果如图7(b)所示;采用水平投影方法获取波的峰值如图7(c)所示,此即为液位计指示值。
由于篇幅原因,想要了解完整内容,请联系作者本人。