APP下载

不均匀光照和重影的仪表图像二值化方法

2020-03-05孙国栋柳晨康

应用光学 2020年1期
关键词:重影二值仪表

孙国栋,徐 昀,徐 亮,张 航,柳晨康

(湖北工业大学 机械工程学院,湖北 武汉 430068)

引言

高压计量仪表在发电厂和变电站中起着至关重要的作用,涉及发电、供电、用电三方之间很多的经济和技术问题,其准确与否直接关系到三方的经济利益。因此,定期校验高压计量仪表以提高其准确性具有重要意义[1]。传统人眼读数校验跟不上计量仪表的变化速度,难以准确记录仪表真实数值。而部分高压计量仪表不提供与计算机进行数据通信的接口,无法通过仪表端口直接将数字读取出来。为了适用各种送检的计量仪表,采用机器视觉方法进行字符识别。机器视觉使仪表字符识别成为可能,仪表图像的字符识别一般分为三步[2-4]:字符分割,特征提取和字符分类。由于高压计量仪表现场测试难免处在光照过强、过弱和光照不均的环境下,并且仪表数字在变化的过程中会产生重影现象,导致字符分割过程中的图像二值化困难。传统的二值化主要有全局阈值算法和局部阈值算法[5]。大津法(Otsu)[6]、迭代阈值法[7]和最大熵法[8]是常用的全局阈值算法,其通常是从整个图像选择一个阈值来最小化前景和背景像素的类间方差,但对于复杂光照下或目标灰度范围分布大的图像效果较差,且无法去除重影现象。局部阈值分割算法常用的有Bernsen 算法[9]、Niblack 算法[10]、Sauvola 算法[11]、Bradley[12]算法和Wellner[13]算法,其处理光照不均的图像效果比全局阈值好,但是存在对目标像素点邻域相差很大的图像处理效果不佳的问题,同样不能去除图像中的重影现象。

由于直接对图像数字分割和分类识别的深度神经网络结构比较复杂,而且对仪表上的小数点识别效果不好,影响仪表字符识别的效率,所以本文主要针对仪表字符分割算法进行研究。虽然Mei 等[14]提出基于深度学习的方法能有效去除光照不均,但该方法采用的数据集是在原始图像中添加不均匀光照得到的模拟图,输出结果为彩色图,且模拟图与真实图像差距较大,失真现象较严重,也没有去除重影,因而无法应用在真实环境下的仪表识别中。针对仪表图像含有光照不均和重影而无法有效二值化的问题,本文设计了一种新型全卷积神经网络框架用于仪表图像的二值化分割,网络的输出为二值图,实验所用的数据集为真实环境下的仪表图像。

1 实验方法

1.1 FCN 网络

全卷积神经网络(Fully Convolutional Networks,FCN)[15]作为一种卷积神经网络(CNN),能够对图像进行像素级分类并解决了语义级别的图像分割问题,为深度学习领域做出了巨大的贡献。FCN网络不是分类网络,而是一个可以接受任意大小尺寸输入并且输出相同大小的标签图像的端到端的网络,其将CNN 最后的全连接层换成了卷积层,输出的是目标对应的标签图像。FCN 的网络结构包含下采样和上采样两个部分,下采样部分提取语义信息并能堆叠卷积层信息,上采样部分对最后一个卷积层的特征图进行反卷积,将图像恢复到与输入图像相同大小的尺寸。

1.2 VGG 网络级标题

VGG16 是卷积神经网络中分类效果非常好的一种网络[16],为了能够充分捕捉图像的信息同时减少参数量,简化网络结构,整个网络基本使用大小为3×3 的卷积核组合与堆叠,可以得到与卷积核大小为5×5 或7×7 相同的效果。图1 是VGG16 的网络结构图,由13 个卷积层和3 个全连接层组成。输入大小为224×224×3 像素的原始图片,每一个卷积层通过多个3×3 卷积核连续堆叠组成卷积序列。

图1 vgg16 网络结构Fig.1 Structure diagram of vgg16 network

1.3 提出的网络结构

本文提出的网络也是一种端到端的可训练的全卷积神经网络模型。网络框架结合了FCN 网络和VGG16 网络,网络输入是原始的RGB 图像,输出是干净无重影的二值图,训练和测试都可以接收任意大小的图像。

网络结构主要由两部分组成:特征提取部分和图像重组部分。特征提取是一个下采样过程,由5 个卷积块组成,每个卷积块由卷积层和最大池化层组成,卷积层后面接relu 函数作为激活函数,relu 函数相比与sigmoid 函数和tanh 函数计算更快,收敛更快。卷积层的卷积核大小为3×3,步长为1,池化层的池化窗口的大小选择2×2,步长为2,以减少输出大小和防止网络过度拟合。每经过一个卷积块,图像大小减小一倍,以更大的比例来提取信息。图像重组是一个上采样过程,有5 个反卷积块将提取的信息还原成图片形式,反卷积块由反卷积层和连接层组成,反卷积层的卷积核大小为4×4,步长为2。与FCN 网络类似,为了减少在上采样过程中的信息丢失,在上采样部分添加连接层,连接层是反卷积后的特征图与下采样部分相同大小的特征图进行信息组合,补充反卷积后的语义信息得到更高分辨率的新特征图。之后,连接层和上采样部分的卷积层不用激活函数,采用线性变换合成这些多尺度特征,网络的最后经softmax 输出。网络总体结构如图2 所示,蓝色代表卷积层,橙色代表最大池化层,红色代表反卷积层,绿色代表连接层,最后的紫色代表softmax 层。

图2 设计的全卷积神经网络结构图Fig.2 Structure diagram of designed full convolutional neural network

损失函数是训练网络很重要的一个环节,在FCN 网络中,网络的任务用于分类,使用的是交叉熵损失函数。而我们的网络训练任务是回归,因为输出是一个图像,又必须要学习回归模型来消除图像中的不均匀光照和数字重影。为了训练我们的模型,采用均方误差(mean square error,MSE)作为损失函数。其定义如下:

其中:n代表样本个数;yi代 表标签;yi′代表网络预测输出。

2 实验过程和结果

2.1 数据集的采集和制作

为了提高网络在复杂环境下的鲁棒性,本实验使用的数据集在仪表所处的真实环境下采集,并且调节光源处于仪表左右边或正对位置并与相机是否有旋转角度组合拍摄,采集得到的图像是3 通道的RGB 图片,剔除肉眼无法识别出的图像,最终样本图像尺寸为911×261 像素,共计7 600 张。模拟数据可以在原始的均匀光图像上直接二值化得到样本的标签,但是用模拟图训练的网络测试真实的仪表图像效果很不理想。本文使用的训练数据为真实的仪表图像,需要手动制作标签,由于仪表上的数字大小距离一致,可以通过确定图像上数字的相对位置制作标签。如图3 所示,在仪表上标记固定点,以下面两个固定点为x轴,包含数字的最小矩形边为y轴,建立直角坐标系,从而可确定图像上每个数字的位置。以小数点为基础,将人眼识别到的数字依次按位置填充,即可得到对应的标签。为了减少训练时间,实验样本图只截取数字信息部分。

图3 标签的制作Fig.3 Label making

2.2 实验结果集的采集和制作

实验环境为:GPU 为NVIDIA Quard K2200,显存4G;Intel(R)Xeon(R)CPU E5-2640 2.4 GHz;基于TensorFlow 框架,Python3.6 编程语言。

实验没有使用任何预先训练过的其他模型,初始学习率设为1e-4,batch size 设置为16,epoch 设置为100 个。本文使用PASCAL challenges 的IoU (Intersection over Union)标准和衡量两幅图像相似度的指标信噪比(SNR)来评价分割后的二值图,IoU 是一个简单的测量标准,设标签上为目标的像素点集合为A,训练结果的目标像素点集合为B,则IoU的计算公式为

其中:分子表示A 与B 的目标像素重合值;分母表示A 与B 的目标像素总和。IoU 值越大,表示预测结果与真实结果重叠部分越多,分割效果越好。

图像信噪比能对经过处理后的图像质量好坏进行衡量,其计算公式如下:

其中:i和j分别是图像的长和宽像素点:g(i,j)和f(i,j)分别代表原始图像和处理后的图像在点(i,j)处的灰度值。计算得到的SNR 值越大,说明处理后的图像与原图像越相似。

表1 给出了各个算法运行时间以及测试200张图像的IoU 值和SNR 值,图4 显示了各种算法的运行结果。从实验结果可以看出,不均匀的光照对二值化的效果影响很大。传统的方法对仪表中含有光照不均和重影的图像进行二值化后效果很差,其中Otsu 法、最大熵法和迭代阈值法都是使用单一阈值的方法,对不均匀光很敏感,不能有效区分出背景与目标,并且对不同光照的图像处理结果相差很大,有很大的局限性。Niblack 算法能够大体上分割出目标区域,但是结果伴随大量的噪声,同样不能去除数字重影。Bernsen 算法、Sauvola 算法和Bradley 算法通过逐点比较相邻点的像素灰度值来确定阈值,但是仪表图像存在局部区域大部分为背景的现象,而光照不均的影响会使这些方法将背景像素划分为目标像素,从而产生分割错误,分割出来的数字仍然没有去除数字重影。Wellner 算法将图像分成较小的块来确定每个块的阈值,但对于强光照块却无法分割出目标像素点,对数字重影也没有效果。而本文所设计的网络对含有不均匀光照和重影的图像二值化效果清晰无重影,计算出来的IoU 值和SNR 值都比其他方法高,证明分割得到的图像与原图像相似度最高,且网络模型对不同光照强度和旋转的图像都能适用,具有较强的泛化能力。

表1 各算法的结果对比Table 1 Comparison of results of each algorithm

图4 不同算法对图像的处理结果Fig.4 Processing result of each algorithm

3 结论

不同强度的光照和数字重影严重影响高压计量仪表图像的字符识别准确性。为此,本文提出一种新的全卷积神经网络用于复杂光照下含有重影的仪表图像的二值化分割。与传统的阈值分割方法不同,网络不用手动寻找阈值,只需训练样本数据得到网络模型即可实现仪表图像的二值化分割。通过与传统的二值化方法进行对比,实验结果显示了本文方法的二值化效果最佳,能够有效去除数字重影,且对不同程度的光照都适用,对发生偏移或旋转的图像,仍然能给出正确的结果,更适合于复杂环境下的仪表图像二值化。本文的方法仅用于仪表字符识别的二值化过程,并且训练所需要的时间较长,有一定的局限性。下一步的研究工作将进一步提高网络的鲁棒性和适用性,以在更多的场景中应用。

猜你喜欢

重影二值仪表
◆ 仪表
仪表
重影轻波
重影轻波
面向网络边缘应用的新一代神经网络
热工仪表自动化安装探讨的认识
基于二值图像数字水印算法研究
基于稀疏表示的二值图像超分辨率重建算法
改进加权融合在消除图像拼接重影中的运用
基于曲率局部二值模式的深度图像手势特征提取