非均匀光照下马氏瓶刻度图像的自动识别研究

2016-11-08 08:35董婉君王夏黎杨泽元
计算机应用与软件 2016年10期
关键词:马氏位线刻度

董婉君 王夏黎 杨泽元

1(长安大学信息工程学院 陕西 西安 710064)2(长安大学环境科学与工程学院 陕西 西安 710054)3(旱区地下水文与生态效应教育部重点实验室 陕西 西安 710054)4(陕西省地下水与生态环境工程研究中心 陕西 西安 710054)



非均匀光照下马氏瓶刻度图像的自动识别研究

董婉君1王夏黎1杨泽元2,3,4

1(长安大学信息工程学院陕西 西安 710064)2(长安大学环境科学与工程学院陕西 西安 710054)3(旱区地下水文与生态效应教育部重点实验室陕西 西安 710054)4(陕西省地下水与生态环境工程研究中心陕西 西安 710054)

马氏瓶刻度的自动识别会直接影响到潜水面蒸发量的观测与计算效率[1]。针对室内物理实验光照不均匀情况下的马氏瓶刻度图像的识别,首先使用改进的Bernsen算法对图像进行二值化处理;然后求得二值化图像的垂直投影曲线,利用Loess(locally weighted scatterplot smoothing) 算法对垂直投影曲线进行平滑处理,求得平滑处理后的各个极值点,计算出相邻极值点像素值之间的差值,最大差值对应的位置即马氏瓶液位线;根据得到的液位线和识别的数字计算出液位值,即可计算出潜水面的蒸发量。实验结果表明,改进的Bernsen算法改善了室内物理实验中非均匀照射下的马氏瓶刻度的分割效果。将此方法与可调焦的摄像头相结合,可实现潜水面蒸发量观测的自动化、连续化和智能化。此方法对类似的刻度识别具有重要的参考价值。

自动识别改进的Bernsen算法非均匀光照马氏瓶刻度图像

0 引 言

液位检测是各个领域需要测量的重要参数之一。目前使用的检测方法主要是利用硬件设备[2]和软件技术。硬件设备主要是自动化检测仪表技术,随着电子科技的不断发展,仪器的检测精度也在不断的改进,但是各种仪器的检测精度对环境都较为敏感,且在潜水面蒸发量观测实验中引进此类的硬件设备无疑增加了实验成本;软件技术主要是利用图像处理技术来处理图像数据,获取液位信息,在实际应用中,由于光源照射不均匀,对后续的液位线定位和刻度识别带来困难。传统的马氏瓶刻度大多采用人工读取,这样必然存在自动化程度低、长期连续观测难度大等缺陷。

针对非均匀光照条件下马氏瓶刻度图像的液位识别问题,提出了一种基于改进的Bernsen算法的二值化方法,同时采用液位标定算法[3],实现了马氏瓶液位的自动识别。实验表明,改进的Bernsen算法一定程度上消除了光照不均匀对马氏瓶刻度图像的干扰,提高了后续的液位线标定精度和效率。与可调焦摄像头结合,可实现潜水面蒸发量及其他类似观测的自动化、连续化和智能化。

1 马氏瓶刻度液位标定方法

马氏瓶刻度液位识别方法[3]具体步骤如下:

Step1对灰色图像利用改进的Bernsen算法进行二值化处理;

Step2对二值化图像进行垂直投影,利用loess对投影曲线进行平滑处理;

Step3求得平滑后曲线的极值点,确定曲线的波峰值和波谷值;

Step4求得相邻极值点的差值,生成差值序列,求得序列中的最大项,最大项中波峰值所对应的列就是液位所在的位置;

Step5提取与液位线相邻的数字,根据模板匹配法对数字进行识别,根据识别的数字和液位线的位置计算出刻度值。

流程图如图1所示。

图1 液位识别流程图

2 马氏瓶刻度图像二值化

图像二值化的方法主要分为全局阈值法和局部阈值法[4,5]。全局阈值法的基础思想是求取最佳门限阈值,此阈值将原图像分成目标图像和背景图像两部分,当取得最佳阈值时,目标图像应该与背景图像差别最大。Otsu(大律法)[6]就是典型的全局阈值法,该方法对外界环境较为敏感,抗干扰性差,且并未考虑各个像素之间的邻域信息,在室内实验中利用可调焦摄像头下所拍摄的马氏瓶刻度图像存在光照不均匀的影响,因此无法利用全局阈值分割方法。而Bernsen算法[6]等的局部阈值算法对光照均匀和不均匀的图像都具有很好的二值化效果,因此本文采用自适应的Bernsen算法。

2.1传统的Bernsen算法

局部阈值法根据像素的空间变化来确定二值化的阈值。Bernsen算法是局部阈值方法的一种,传统的Bernsen算法思想是:设h(x, y)是点(x, y)的灰度值,灰度图像的像素中心是(x, y),以该点为中心的(2w+1)×(2w+1)窗口内的所有像素的最大值为max,最小值为min,w是局部阈值的运算窗口,图像中各个像素点的阈值T(x, y)为:

(1)

得到灰度图像的阈值后,逐点将中心点的像素值h(x, y)与计算得到的最终阈值T(x, y)进行比较,如果中心点的像素值较大,则阈值为255,即为目标像素;如果中心点的像素值较小,则该点的阈值为0,即为背景像素。

(2)

Bernsen算法通过对图像进行分块处理,计算局部窗口中像素的最大值和最小值得到每个像素的阈值。在窗口内灰度差别很小的情况下也会进行二值化处理,然而这种强制处理使得在细节上过于敏感,所以不可避免地出现噪声点,而且容易产生伪影现象,这也是局部阈值法的普遍缺陷。

2.2改进的Bernsen算法

针对传统Bernsen算法存在的上述问题,采用改进的Bernsen算法来实现图像二值化。改进算法是对原始的马氏瓶刻度图像和经过高斯滤波处理后的马氏瓶刻度图像分别利用原始的Bernsen算法进行处理,求得原图的阈值为TH(x,y),高斯滤波后的阈值为TI(x,y)。求得两种阈值后通过选择合适的参数α,根据两种阈值的线性组合关系来确定最终的阈值T(x,y)。该线性组合可通过改变参数α的值来确定最终阈值。改进的Bernsen算法运算量相对较小,而且有效地解决了非均匀光照对马氏瓶刻度图像的影响,其具体步骤如下:

Step1对原始的马氏瓶刻度图像h(x, y)进行高斯滤波,得到滤波后的图像I(x, y),经过高斯滤波处理后的原始图像更加平滑,且能够有效去除噪声。

Step2利用原始的Bernsen算法求得马氏瓶刻度原图像h(x, y)的阈值,即:

(3)

利用原始的Bernsen算法求得经过高斯滤波处理后的马氏瓶刻度图像I(x, y)的阈值,即:

(4)

式中:w是局部阈值运算窗口,其取值根据多次实验结果来设置,本文取w=3。

Step3通过对阈值的平滑处理可消去Bernsen算法产生的伪影现象,对马氏瓶刻度原图像的平滑,即:

(5)

对经过高斯滤波后的马氏瓶刻度图像的平滑,即:

(6)

Step4改进算法充分结合高斯滤波和原始的Bernsen算法的优点和性能,最终各点的二值化阈值由TI(x,y)和TH(x,y)的线性组合关系来确定,即:

当TH(x,y)=0时,若TI(x,y)=0,则T(x,y)=0;若TI(x,y)≠0,则T(x,y)=α·TI(x,y)。

当TH(x,y)≠0时,若TI(x,y)=0,则T(x,y)=(1-α)·TH(x,y);若TI(x,y)≠0,则最终的阈值为二者的线性组合,即:

T(x,y)=(1-α)·TH(x,y)+α·TI(x,y)

(7)

其中,α取值为0到1范围内,由实验得到,α取值为0.8。

Step5逐点将中心点的像素值h(x,y)与计算得到的最终阈值T(x,y)进行比较,如果中心点的像素值较大,则阈值为255,即为目标像素;如果中心点的像素值较小,则该点的阈值为0,即为背景像素。

(8)

图2给出了改进的Bernsen算法与其他二值化方法的效果比较。

图2 改进的Bernsen算法与其他算法效果对比

可以看出Otsu算法将目标图像和背景较好地分割,但是并没有很好地分割出各个刻度线,Bernsen算法可以识别出马氏瓶刻度线,但是由于光照不均匀的影响,在液位线的分割处出现干扰,采用的改进的Bernsen算法二值化后的图像有效地去除了非均匀光照的干扰,清楚地分割出液位线和各个刻度线。该算法能够在保留Bernsen算法优势的同时,弥补其缺陷,方便后续刻度识别的实现。

3 垂直投影和loess平滑处理

马氏瓶刻度图像液位识别方法的核心在于根据垂直投影曲线的特点分析得到液位线。由二值图像可知,二值化图像由黑白交替的点组成,各点的像素值为0或者1,马氏瓶液位线所在的大部分列在垂直方向上像素的总和值相对较大,而一般的刻度线所在的列在垂直方向上像素的总和值相对较小,因此垂直投影曲线图会产生波峰波谷之间的变化,急剧变化的点所对应的图像的列值,即是马氏瓶液位所在的位置。

3.1垂直投影

垂直投影法是统计二值图像垂直方向上每列的像素和的分布特征,即每列图像数据中非0像素值的个数,设图像f(x, y)大小为m×n,F(u)为长方形区域[1,m]×[1,n]的垂直投影,即:

(9)

垂直投影曲线如图所示,随着二值图像横坐标的增加,每列的像素值会发生变化,一般刻度之间的垂直投影曲线不会产生较大的突变,而刻度线到液位线的垂直投影的曲线会产生较大突变,突变点就是马氏瓶液位线所在的列值。垂直投影图如图3所示,其中横坐标为二值化图像的横坐标,纵坐标为每列的像素值的总和。

图3 垂直投影曲线图

图中的毛刺较多,无疑加大了液位识别的难度,因此使用loess平滑算法对其滤波,对图像数据进行处理,使曲线变得平滑,处理之后的图像有利于突变点的识别。

3.2平滑处理

本实验使用局部加权回归散点平滑法(Loess)[7,8],Loess是一种稳健的非参数回归方法。Loess算法首先拟合局部观测数据,再估计拟合结果。假设计算垂直投影曲线中某一点(xi, yi)的Loess平滑值,其步骤如下:

Step1根据中心xi决定加权线性回归的区间宽度:

q=f·n

(10)

式中:q是参加局部回归的观察值的个数;f是参加局部回归的观察值的个数占观察值个数的比例;n是观察值的个数。不同的f值有不同的结果,增大f值,会增加平滑程度,通过实验对比,f取值为0.35。

Step2对于单变量样值(xi,yi)建立如下模型。

yi=αi0+ αi1xi+ … + αidxid+ βii = 1,2,…,n

(11)

式中:αi0,αi1,…,αid是相对xi的未知参数;βi,i=1,2,…,n是随机误差项;d是人为给定的值。

Step3计算xi周围的所有点xj到它的距离,即:

Δij(x)=|xi-xj|

(12)

设Δq(x)为Δij(x)(j=1,2,…,n)中第q小的值。

Step4给定一个权函数T(u),任一点(xi,yi)的权数是xi处权数函数曲线的高度。权函数有以下特点:

(1) T(u)>0,对|x|<1;

(2) T(-u)= T(u);

(3) T(u)=0,对|x|≥1。

平滑处理一般采用立方加权函数,即:

(13)

Step5对每一个点xi,在窗口内所有的xj,j=1,2,…,n计算权重,即:

(14)

Step6参数αik(i=1,2,…,n;k=1,2,…,d)的值由以下准则给出,即:

(15)

其中:i=1,2,…,n。

Step7从而得到yi的拟合值,即:

(16)

图4 loess平滑后的曲线

4 马氏瓶液位标定

对垂直投影曲线求取二阶导数,根据函数极值判定原理标记出曲线对应的波峰值和波谷值,如图5所示,其中横坐标为二值化图像的横坐标,纵坐标为每列的像素值的总和值经过Loess处理后的数值。

图5 波峰波谷标注图

波谷值序列为{f(i1), f(i2),…,f(imax)},波峰值序列为{f(j1), f(j2),…,f(jmax)},计算相邻的波峰值与波谷值的差值,即{ f(j1)-f(i1), f(j2)-f(i2),…, f(jmax)-f(imax)},所有差值形成一行的数组,求得差值数组中的最大值,最大差值即为刻度线和液位线的过度点,该点即是平滑后的垂直投影曲线产生急剧变化的位置,该位置处所对应的波峰值的横坐标即马氏瓶液位的位置[3,9]。

5 马氏瓶刻度液位值的计算

根据以上得到的马氏瓶液位线的位置,找到和液位线相邻的左右刻度进行识别,根据所识别出的数字和马氏瓶液位线的位置得到液位线的准确数值。得到相邻数字的思想是:以马氏瓶液位线为中心对二值化图像进行垂直方向上的投影,如此液位线的像素值之和是最大的。找到液位线左右两边次大的像素值之和应为相邻数字的位置,最大像素值到左右两侧次大像素值之间间隔为0的数组序列,对数组序列进行处理,计算两侧间隔为0的个数分别为p、q,比较p和q的大小,取较小的一侧进行数字提取和识别。

5.1数字提取和识别

液位线距离左侧的次大像素值间隔较小,因此对液位线的左侧进行数字提取和识别,如图6所示。

图6 距离液位线间隔较小的数字图片

对分割后的图像分别进行水平方向和垂直方向上的投影,将分割的字符提取出来,最后匹配字符与模板,提取出的数值如图7所示。

图7 提取出的数字

模板匹配的思想[9]为:设待匹配图像S为方形区域,边长为N,模板图T也是方形区域,边长为M。设模板T叠放在待匹配图像S上平移,模板覆盖下的部分叫作子图Si,j,(i, j)为子图Si,j在搜索图S中的坐标,取值为:1

匹配过程如下:假设模板T从待匹配图像S的左下角开始逐点遍历图像,比较两者的内容,如果一致,则差值为零,可以用以下公式来衡量T和Si,j的相似程度,即:

(17)

展开后为:

(18)

式中第三项指模板的总能量,第一项是子图能量,随(i,j)而改变,T和Si,j匹配时这一项的取值最大,相似性测度如下:

(19)

R(i,j)越大,模板T和子图S就越相似,使得R(i,j)取得最大值的位置即为最佳匹配位置,(i, j)即是要搜索的匹配点。

5.2液位值计算

识别出数字后,计算数字与液位线中间的刻度数,马氏瓶刻度的一个刻度值为0.1,数字与液位线之间的刻度值在垂直方向上的投影为一组间隔为0的数组序列,即{f(x1),0, f(x2),0,…,f(xn),0},经过处理得到数组序列中为0的间隔个数p,即是中间间隔的刻度个数,以下公式求得刻度值:

若识别数字m、n在液位线右方,液位H为:

H=10×m+n+0.1×p

(20)

若识别数字m、n在液位线左方,液位H为:

H=10×m+n-0.1×p

(21)

马氏瓶刻度的最终识别结果如图8所示。

图8 液位的最终识别结果

改进的二值化方法也适应于数字模糊以及倾斜的马氏瓶刻度图像的液位检测,如图9、图10所示。

图9 模糊图像的液位识别

图10 倾斜图像的液位识别

表1是对某一时段马氏瓶刻度的人工识别的液位值与本算法得到的液位值的对比。

表1 图像识别和人工识别值对比(单位:cm)

续表1

实验对30幅图像进行识别,其中28幅与人工识别液位线相同,对比可以得出与人工识别的误差在±0.1 cm范围内,图像识别结果精度能够达到实验要求。

6 结 语

本文针对室内物理模拟实验中利用可调焦摄像头获取的马氏瓶刻度图像的水位线的识别问题,采用了一种基于图像分析的刻度识别算法,该识别算法在正常的白炽灯照射下得到了较好的识别效果。由于采集到的图像光照不均匀,二值化效果不佳,使得液位识别误差较大,本文以传统Bernsen算法能解决一些非均匀光照问题,结合利用高斯滤波对Bernsen算法加以改进,改进的二值化算法有效地消除了光照不均匀对图像的干扰,弥补了传统Bernsen算法产生伪影的不足。该改进算法较其他常用的去除图像阴影的算法更为简单,图像预处理的效果为后续液位识别提供了很大便利。液位识别方法计算出平滑曲线的每一对相邻波峰值与波谷值的差值序列,序列的最大项即为液位线的列值,根据液位值找到相邻的数字,对数字进行识别,并计算出液位值的准确刻度。该识别方法有较高的精度,误差较小,满足了室内物理实验的需求。将本方法与可调焦摄像头结合,可实现室内物理实验中潜水面蒸发量或类似观测的自动化、连续化和智能化。下一步将实现对马氏瓶刻度的实时自动化识别问题。

[1] 景少波,王成福,许骥.一种基于马氏瓶的点源入渗湿润锋测试装置:中国,CN203365275U[P].2013-12-25.

[2] 陈金丽,张帆,张显.基于卡尔曼滤波的液位检测与跟踪[J].计算机仿真,2009,26(9):317-320.

[3] 张占强,朝乐门,孟克其劳.基于图像分析的牛奶液位标定算法研究[J].中国农机化学报,2014,35(1):224-228.

[4] Ying Wen,Yue Lu.An algorithm for license plate recognition applied to in telligent transportation system[J].IEEE Transactions on Intelligent Transportation Systems,2011,12(3):830-845.

[5] 陈强,朱立新.结合Canny算子的图像二值化[J].计算机辅助设计与图形学学报,2005,17(6):1302-1306.

[6] Otsu N.A threshold selection method from gray-level histograms[J].IEEE Transactions on Systems,Man,and Cybernetics,1979,9(1):62-66.

[7] 张颖.统计学中回归分析及相关内容的教改思考:兼介绍LOESS回归[J].统计与信息论坛,2000(2):35-37.

[8] 于卓熙.带有误差变量的自回归模型的回归函数的局部多项式估计[D].吉林:吉林大学,2006.

[9] 张忠安.基于模板匹配算法的识别系统[J].数字技术与应用,2013(6):134,136.

[10] 刘治峰.基于图像的水位自动检测研究[J].南京:南京理工大学研究生院,2004(10):34-38.

[11] Valentin Bataelj,Jovan Bojkovski,Janko Drnovsek,et al.Automation of Reading Liquid-in-Glass Thermometers[J].IEEE Transactions on Instrumentation and Measurement,2001,50(6):1594-1598.

[12] 王飞.牛奶液位的刻度识别[D].内蒙古:内蒙古师范大学,2012.

STUDY ON AUTOMATIC IDENTIFICATION OF THE SCALE IMAGE OF THE MARRIOTTE’S BOTTLE UNDER UNEVEN ILLUMINATION

Dong Wanjun1Wang Xiali1Yang Zeyuan2,3,4

1(SchoolofInformationEngineering,Chang’anUniversity,Xi’an710064,Shaanxi,China)2(SchoolofEnvironmentalScienceandEngineering,Chang’anUniversity,Xi’an710054,Shaanxi,China)3(KeyLaboratoryofSubsurfaceHydrologyandEcologicalEffectinAridRegionsofMinistryofEducation,Xi’an710054,Shaanxi,China)4(EngineeringResearchCenterofGroundwaterandEco-EnvironmentofShaanxiProvince,Xi’an710054,Shaanxi,China)

The automatic identification of the Marriotte’s bottle scale has direct influence on the observation and the computational efficiency of water table evaporation. To deal with the problem of identifying Marriotte’s bottle scale image in the condition of indoor experiments’ uneven illumination, the first step is to use the improved Bernsen algorithm to let image binarized to get the vertical projection curve of the binary image and then smooth it by using the Locally Weighted Scatterplot Smoothing (Loess) algorithm to calculate the difference between the pixel value of the adjacent extreme points which were got after smooth processing, and the position of the maximal difference is the liquid level line of the Marriotte’s bottle. According to the liquid level line and the recognized numeral, the liquid level value and the water table evaporation can be calculated. Experimental results show that the improved Bernsen algorithm improves the result of segmentation of the Marriotte’s bottle scale in the condition of indoor experiments’ uneven illumination. What’s more, with the combination of this method and manual-focus or auto-focus camera, it is possible to implement the automation, serialization and intelligence of the observation of water table evaporation. This method is an important reference to similar scale recognition.

Automatic identificationImproved Bernsen algorithmUneven illuminationMarriotte’s bottle scale images

2015-07-20。国家自然科学基金项目(41272247);教育部留学回国人员科研启动基金项目(2013C0290418);中央高校基本科研业务费项目(2013G1502031,2014G2290018)。董婉君,硕士生,主研领域:图像处理。王夏黎,副教授。杨泽元,副教授。

TP391.41

A

10.3969/j.issn.1000-386x.2016.10.044

猜你喜欢
马氏位线刻度
一类时间变换的强马氏过程
有环的可逆马氏链的统计确认
巧构中位线解题
构造三角形中位线,巧证几何题
关于树指标非齐次马氏链的广义熵遍历定理
巧用三角形中位线定理解题
欧姆表的刻度真的不均匀吗?
——一个解释欧姆表刻度不均匀的好方法
一致可数可加马氏链不变测度的存在性
被吃掉刻度的尺子
谁大谁小