指针式仪表自动读数识别系统设计综述.docx
《指针式仪表自动读数识别系统设计综述.docx》由会员分享,可在线阅读,更多相关《指针式仪表自动读数识别系统设计综述.docx(46页珍藏版)》请在冰豆网上搜索。
指针式仪表自动读数识别系统设计综述
指针式仪表自动读数系统设计
摘要
随着模式识别技术、计算机技术等多种技术的不断完善和发展,机器视觉获得了巨大的进步与发展。
目前在许多企业中,存在着大量的仪表,仪表的读数都要靠人来完成,工作量很大而且误差率相对来说比较高,基于这个原因,设计了一个工业生产线在线检测数据数字化处理系统。
首先通过摄像头采集仪表图像,通过传输装置以无线的方式把图像传输到电脑上,然后在电脑上通过matlab程序设计,处理图像,读取仪表的数据,然后用labview调用matlab程序,并设计一个显示界面,通过界面可以看到实时的数据与仪表图像以及在一段时间内数据的变化情况。
最后通过labview访问access数据库,将读取的数据传入数据库中,便于被调用,最终实现检测数据的数字化处理。
关键词:
机器视觉图像处理MatlabLabview
Onlinetestingdataofindustrialproductionlinedigitalprocessingsystemdesign
Abstract
Withthedevelopmentofcomputertechnologyandpatternrecognitiontechnology,machinevisiontechnologymakesagreatprogressanddevelop-
ment.Atpresent,therearealotofinstrumentinmanyenterprises.in-
strumentreadingworkneedpeopletocomplete.Sotherearealotofwork
todoandefficiencyisverylow,asthesametime,errorrateisquite
high.Forthisreason,theredesignaonlinetestingdataofindustrialproductionlinedigitalprocessingsystem.Firstofall,thereneedtotake
Picturebycamera.next,throughtransmissiondeviceinwirelesswaytotransmittheimagetoacomputer.Thenbymatlabprogrammingonthecompu-
ter,dataprocessingimages,readthemeter.Andthencallmatlabbylabviewanddesignadisplayinterface.Throughtheinterfacecanseethereal-timedata.Atlast,throughlabviewaccessaccessdatabase,andtakethedataintodatabase.Finally,realizethetestingdataofthedigitalprocessing.
Keywords:
MachinevisionimageprocessingMatlabLabview
1.前言
1.1课题背景
近年来,随着科学技术的进步,许多新兴的技术不断的产生与发展,机器视觉技术也随着图像处理等技术的发展而逐渐产生,而且发展很快。
近些年来,世界范围内涌现了许多的专门从事机器视觉技术的公司,有许多的公司得到了很好的利润。
现阶段,国内的机器视觉技术虽然刚起步不长的时间,但是,也有几家公司在这方面取得了不错的成绩,并且发展的速度也很快。
所谓的机器视觉是以通过处理图像达到类似于人眼的视觉的效果,提高工作效率减轻人的工作负担,为最终目的。
相比于人类的视觉,首先机器视觉不会出现疲劳现象,而且机器视觉识别的精度可以比人眼的识别的精度还要高一些。
目前,很多领域中都出现了机器视觉技术的影子,这也体现出了机器视觉技术的研究价值。
主要应用的领域有:
医学领域、工业检测领域、监控管理、航天领域等。
当机器视觉技术应用于工业检测领域时,可以实现工业生产线在线检测数据的自动读取,提高读数的准确性,有效减轻人的负担,及时准确的发现问题、解决问题。
进入21世纪后,电子类的仪表应用的越来越多,准确度更高的数字式仪表大有取代传统的指针式仪表的趋势。
但是,数字式的仪表在某些情况下不能使用,对环境的适应性比较差,比如,在读数快速变化的时候就不适合使用了,而且,相比于指针式仪表来说,数字仪表价格相对较高,大批量的购买成本会上升很多。
指针式仪表则可以适用于很多的场合,环境因素对其约束相对来说不大。
除此之外,指针式仪表还有许多其他的优点,比如,抗干扰性强,防尘,防水等,因此我们国家的许多行业中,尤其是那些严禁易燃易爆的场合,比如电力、石油、化工等,指针式仪表仍然是首选,在环境恶劣的场合,根本无法使用数字式的仪表。
在一般的工厂中,指针式的仪表数量大、种类多,这些仪表的读数十分的麻烦,而且工作量很大,工作效率很低。
传统上人们是检定指针式仪表的方法是人工判读,但是这种判别方法会受到许多人为因素的干扰,比如人的观测仪表角度、疲劳强度以及观测的距离,具有工作强度大,误差率大等缺点,不能实现仪表读数与检测的自动化。
每个仪表都需要依靠人来瞄准,每个仪表的操作也需要依靠人来完成,这种方式的工作量大,效率低。
为了缩短检测的时间,有效减轻工作人员工作强度,提高检测工作的自动化水平,设计工业生产线在线检测数据数字化处理系统是很有必要的。
利用机器视觉技术,可以实现仪表图像的采集、识别以及仪表数据的读取,而整个设计的关键就在于如何用图像识别的方式识别仪表,读取数据。
1.2课题研究现状
工业生产线在线监测数据的数字化处理系统的设计的核心是使用图像识别的方法识别仪表,指针式仪表的读数识别研究起步相对来说较晚,1994年,sablatnig等人提出了利用hough变换来检测指针式仪表的读数的方法[1]。
1995年,韩国的Kyong-HoKim等人成功的实现了对核装置数字表的图像分割,采用的方法是区域划分和阈值法,最终采取一系列的措施,建立一个完全自动化仪表识别系统[2]。
CorreaAlegria等人完成了利用机器视觉技术对指针式仪表的检定,整个过程为,首先使用摄像头采集图像,然后采用减影法处理图像,保存图像,然后利用霍夫变换检测直线,识别指针,并且读出指针的角度然,最后,根据指针角度通过计算,得到指针的读数[3]。
孙凤杰等人提出一种新的提取指针的方法,这种新方法适合较差光照条件下使用,从而解决了光照条件对指针分割的约束问题,取得了较好的识别效果[4]。
黎明和王厚枢设计了一个飞机座舱仪表读数的识别系统,这个系统首先进行图像二值化,主要运用的小波变换来提取指针及刻度,并且成功的去除了光线以及各种外部噪声对整个读数系统的影响,检测出指针和刻度后,找到仪表圆心,测量出指针的角度,找到指针角度与读数的关系,并成功读取数据,这个系统的识别精度很高,完全高于人眼的识别,而且成功实现了在线测试[5]。
周洪和钟明慧成功的实现了指针式的仪表的数据的自动读取。
这种读数方法突破了距离的限制,可以远距离的通过读取到仪表的读书,而且读数准确,延迟也很小,可以在线测试,整个系统的安装也很简单,而且成本也很低,对于一些危险场合的仪表读数具有重要的现实意义[6]。
2007年,杨晓敏等人设计了一种新的识别方法,这种方法的原理与车牌识别的远离非常相似模,是一种高斯混合模型识别方法[7]。
何智杰等人设计了一种新的仪表读数的识别方法,这种新方法特别适合精度很高的指针仪表,这个方法中主要运用了霍夫变换和中心投影分析法,这种方法可以实现刻度的全自动识别,而且还提高了识别的精度和速度[8]。
宁志刚等提出一种可应用于高精度指针仪表读数的方法,该方法的原理是利用脊波来提取仪表图像中的直线,可实现自动跟踪判读[9]。
1.3设计的目的与意义
对于大多数的指针式仪表,尤其是准确度比较高的仪表的检验,仍然需要通过人来实现,这其中夹杂了许多的人为因素,不同的人对于同一个仪表可能会读出不同的数据,对于准确度比较高的仪表,会有比较大的误差率,而且人会出现视觉疲劳,增加了数值被读错的可能性,造成人为的误差。
所以,设计一种能自动读取指针式仪表读数的系统,就可以大大减少人的工作量,降低工作的强度,提高读数的准确性,提高工作效率。
工业设备能耗参数指标体系建立后,通过计算机就可以清楚的了解到各设备的能耗情况以及工作状态及时准确的发现问题,这样可以减少能源的消耗,优化能源结构,提高能源利用率,提高生产效率,具有良好的经济效益和社会效益。
1.4设计需要解决的问题
①对组成工业生产线在线检测数据数字化处理系统的各种软硬件进行综合设计,硬件部分包括摄像头、图像传输设备、图像接受设备的选择;软件部分包括对接收到的图像进行处理的相关程序,读数显示界面的相关程序。
②研究准确读取仪表数据的方法:
获得较高质量表盘图像,有效的把指针检测出来,提高读数的准确性。
③.数据显示界面的设计:
能够看到此时此刻的仪表图像以及对应的表盘读数,能够看出仪表的读数在一段时间内的变化情况。
2.工业生产线在线检测数据数字化处理系统总体方案设计
2.1设计方案
工业生产线在线检测数据数字化处理系统主要由图像采集装置、图像发射与接受装置、图像处理部分以及客户端等部分组成。
设计方案如下所示:
目标仪表图像采集发射器接收器计算机
图像滤波去噪
图像增强
图像二值化
数据库客户端边缘检测图像处理
图像分割
指针识别
读数识别
图2-1总体方案
图像发射与接收装置采用的是无线影音发射器,图像处理部分是由matlab来完成的,而客户端则是由labview来设计的。
2.2可行性分析
通过摄像头可以采集到清晰的图像,无线影音传输器可实现图像的远距离传输,用matlab程序可以处理图像,读取数据,labview是一种程序开发环境,可以实现显示界面的搭建,所以,该方案可行。
3.工业生产线在线检测数据数字化处理系统设计综述
3.1图像采集与传输装置设计
3.1.1图像采集
表盘图像的采集选择的是探头摄像头,该摄像头的参数如下图所示,该摄像头拥有六颗直径5mm的红外灯,可以实现夜拍的功能,视频线选择铜芯铜网的全铜视频线,保证传输图像不受干扰。
图3-1摄像头参数
3.1.2图像传输系统
图像传输选取的是无线影音传输器,无线影音传输器是一种可以把图像和声音无线传输到电脑上的无线设备,该装置如下图所示。
图3-2无线影音传输器
无线影音传输器共有六个部分:
发射机、接受机、全向天线、音视频线、12V2A电源以及12V1A电源。
表3-1是发射机的技术参数,表3-2为接收机的参数。
表3-1发射机参数
发射频率
3W
可用频道
8—CH
工作频率
2370MHz-2510MHz
频率调制方式
FM/FSK
视频制式
PAL/NTSC
音频输入阻抗
1K
视频输入阻抗
75
视频输入电平
1Vp_p
工作电压
12V
工作电流
550m-600mA
工作温度
-20°C-120°C
工作湿度
85%RH
表3-2接收机参数
接收天线
7DBi全向天线
可用频道
8—CH
工作频率
2370MHz-2510MHz
频率调制方式
FM/FSK
接受灵敏度
-90dbm
音频输入阻抗
1K
视频输入阻抗
75
视频输入电平
1Vp_p
工作电压
12V
工作电流
150mA-200mA
工作温度
-20°C-120°C
工作湿度
85%RH
无线影音传输器的特点如下:
①具有微波抗干扰功能比较好;
②传输和接受的品质好,接收到的图像清晰稳定;
③多种频率定制,适应不同的电磁环境;
④可以在同一地方使用八套,信号不会相互干扰
⑤可以传送的信号包括DVD、VCD、CD、电视、录像等等;
⑥具有广泛的应用范围;
⑦传输距离远;
⑧经济实惠;
⑨维护简单方便,可配合移动电源供电。
该传输器的安装方法为:
①把发射器(2A)和电源适配器连接起来将,然后通电,如果红灯亮了,则说明发射器通电成功。
②将另一电源适配器接于接收器输入端(1A),接上电源,红灯亮,则证明接收机通电成功。
③把摄像头和发射器用音/视频线连接起来,接收器连在显示器上,把发射器和接收器的频道选择开关调到同一位置,通过显示器可以看到摄像头传来的画
面,完成安装。
图3-3传输器安装示意图
视频采集卡选用的是4路USB视频采集卡,如下图所示,该视频采集卡具有以下功能:
①该采集卡带有4路视频,4路音频,录像D1,回放D1;
②支持电脑操作系统,XP系统,Win7系统;
③支持网络远程监控,自带动态域名,设置简单;
④可以支持多种录像模式,如手动录像,定时录像等;
⑤每路可单独设置工作时间表,支持可编程定时录像,循环录像;
⑥支持画面捕捉、画面保存以及画面备份功能;
⑦支持远程回放功能。
图3-4视频采集卡
3.1.3图像采集与传输系统的设计
图像采集与传输系统的设计有两种方案,如下图所示。
方案一:
摄像头+电源+支架+BNC接头+无线接收器+USB采集卡+电脑+显示器
方案二:
摄像头+电源+支架+BNG接头+无线接收器+USB采集卡+硬盘录像机+硬盘+显示器
在电脑上操作更加灵活方便,而且图像处理也是在电脑上进行的,所以,选择方案一。
图3-5传输系统设计示意图
经过在工厂的实地测试,该图像采集与传输系统可以实现无线传输的功能,并且具有一定的抗干扰性,下图所示的图片是在工厂中距离仪表大约100米远的楼上所接收到的图片。
图3-6工厂实地测试接收画面
3.2图像处理与仪表数据的读取
3.2.1图像预处理
在图像采集的过程中,会受到许多的干扰,包括自身的和外界的,例如,外界光照条件的影响,摄像头像素的高低,仪表表盘的清洁程度以及各种振动及噪声的干扰。
受到诸多的干扰后得到的照片可能会是模糊的,可能无法获取我们需要的信息,要想得到有用的信息就必须想办法去掉这些干扰。
我们通过摄像头的到的图像都是彩色的,里面蕴含了大量的信息,处理起来相当繁琐,而且计算也非常复杂,容易出现错误,所以为了处理简单,必须要把彩色图片转化为蕴含信息比较少的灰度图片。
这些都是要通过图像预处理来实现,图像预处理的目的是去除图像上的噪声,减少图像的信息,简化运算,为图像处理打好基础。
图像预处理包括:
图像滤波去噪,图像增强,图像二值化,边缘检测与图像检测。
3.2.1.1图像滤波去噪
图像在采集、获取和传输的过程中,几乎所有的图像都会收到不同程度的噪声污染,这些噪声有的是可见的,有的是不可见的,有的噪声污染在图像上体现的很明显,有的则是难以察觉的。
对于不同的地点,信噪比是不同的,信噪比越大,图像的质量则越好,但当信噪比低于一定的数值时,噪声将会变成人眼可见的颗粒状,图片就会变得模糊起来,图片质量也会相应的下降。
更重要的是,噪声所产生的颗粒有可能会掩盖我们需要的信息细节,由于在工厂中采集图像的过程中,噪声污染是不可避免的,而且噪声污染体现在视觉上也是比较明显的,所以必须要对图像进行滤波去噪的处理,因为摄像头所采集到的照片是彩色的,数据量很大,计算复杂,处理起来容易出错,而颜色信息对于最终的读数是没有影响的,所以,为了简化运算,使图像的处理变得先对简单,在滤波去噪之前,先要对图像进行灰度化处理,然后再进行滤波,在本设计中采用的是中值滤波,中值滤波[10]起初是用于一维信号的处理,后来很快被应用到二维图像的处理之中。
所谓的中值滤波,简单地说,就是所有的像素按照数值大小排列起来,然后取中间值作为整个图像的灰度值。
中值滤波是在很多地方都可以被用到,相对来说,原理也比较简单,是一种非线性的滤波,它采用的是一个包含奇数个点的滑动窗门,最终整个窗口的灰度值是窗口中的灰度值的中间值。
它的原理如下,对于一个一维的序列
选取的滑动窗口的长度为m,对这个一维的序列进行中值滤波,从输入的一维序列之中按照顺序取出m个元素,
,其中,i代表滑动窗口的中心位置,
=
,将这m个数按数值由大到小排列起来,找出中间的数作为滤波的输出数值,数学表达式为:
(3-1)上式中,
表示的是取序列的中值。
例如,有这么一个一维的序列{11,20,16,24,29},次序列由小到大排列的结果为{11,16,20,24,29},那么,中值滤波输出的结果为20。
假如灰度值是29的像素是被噪声污染的像素,那么,经过中值滤波后被噪声污染的像素将被过除掉。
按照这个原理,中值滤波同样可以适用于二维的序列,在对二维序列
进行中值滤波时,滤波的滑动窗口也将是二维的,把窗口内的像素按由小到大,或者由小到大进行排序,生成数据序列
,二维中值滤波的结果如下(3-2)所示
(3-2)
一般情况下,二维中值滤波的效果更加的明显。
不同的滑动窗口可以产生不同的效果,滑动窗口的形状是多种多样的,滑动窗口的选择与所处理的图像和所要达到的目的有关,中值滤波是一种非线性的滤波,涉及到的计算也比较复杂,对于中值是0的正态分布随机噪声,中值滤波的输出噪声方差为:
(3-3)
上式中:
是输入的噪声功率;
是中值滤波器的窗口大小;
是输入噪声的均值;
是输入噪声的密度函数。
那么,均值滤波的输出方差为:
(3-4)
对比上面的的几个公式可以看出,而均值滤波的输出和输入的分布是没有关系的,而中值滤波的输出的输入噪声的密度分布是相关的。
中值滤波与均值滤波各有特点,均值滤波对于随机噪声的抑制能力更强,而中值滤波则更适用于脉冲干扰。
图3-7为加入盐噪声的图片和进行中值滤波处理之后的图片,可以看出,中值滤波的效果还是很明显的。
中值滤波的主要程序为:
J=imread('1.jpg');
K=imnoise(J,'salt&pepper',0.02);
imshow(J);figure;imshow(K);
L=medfilt2(rgb2gray(K));
imshow(K),figure,imshow(L);
图3-7加入盐噪声的图片与滤波后的图片
3.2.1.2图像增强
图像增强是以改善图像的视觉效果为根本目的的,在采集图像的过程中,特别是在工厂中,光照条件对图片质量的影响十分明显,而拍摄的过程中可能会出现曝光过度或者曝光不足的现象,这样得到的图像将会是模糊的,表盘上的指针刻度区域与背景区域的区分不是很明显,不利于仪表图像的识别。
为了使表盘上指针刻度区域与背景区域的界限变得明显,需要对图像进行空间域的图像增强。
空间域的的图像增强主要有两种方式,直方图的均衡化处理和灰度变换,本设计中采用的是灰度变换。
灰度变换的变换函数有三种,包括线性变换、非线性变换以及分段线性变换,,三种变换函数各有特点,应根据图像的特点已经应用的场合选择相应的函数。
本设计中采用的是分段线性变换法进行图像灰度的对比度增强。
分段线性变换函数中最常被用到的是三段线性变换,其数学表达式如下:
(3-5)
上式中
是原图像的灰度值,
是变换后的图像的灰度值,
是确定的分段区域的阈值。
图3-8为增强后的图片,图像增强的主要程序为:
j=imread('1.jpg');
x=RGB2gray(j);
subplot(1,2,1);
imshow(x);
title('原图像');
f=double(x);
[m,n]=size(f);
h=fspecial('gaussian',[25,25],80);
q=imfilter(f,h,'same');
s=log(f+0.03)-log(q+0.03);
r=exp(s);
max_r=max(r(:
))*0.27;
min_r=min(r(:
));
r=(r-min_r)/(max_r-min_r);
index=find(r>1);
r(index)=1;
R=mat2gray(r);
subplot(1,2,2);
imshow(R);
title('处理后的图像');
G=im2bw(R,0.7);
imshow(G);
I=uint8(G);
bw=edge(I,'sobel');
imshow(bw);
图3-8增强后的图片
3.2.1.3二值化处理
进行完图像增强后的图像是灰度图像,灰度图像的每个像素都可以在0-255之间取值,每个像素都可以有如此多的取值,这样的图像计算和处理起来十分的麻烦,而且容易出错,所以,就要对图像进行二值化处理,使图像的每个像素只能去0与1两个值,“0”作为目标区域,“1”作为背景区域,反之,亦可以,这样计算将变得相对简单,也不容易出错。
用来划分背景区域和目标区域的那个灰度值就称作为阈值,大于阈值的像素值全部设为1,小于阈值的则全部设为0.图像的二值化[11]处理是图像处理中最常用的技术,在图像处理中具有至关重要的地位。
主要有三个原因,首先,在彩色图像或者灰度图像的处理过程中,都要先将图像进行二值化处理,然后再进行更深层次的计算。
其次,在理论上和方法上图像二值化比灰度图像处理更加系统化,也更加稳定。
第三,当图像处理的对象是文字或者图纸的时候,从本质上来说,背景和图形也是一种二值化的图像。
在图像二值化的原理如(3-6)所示
1;当
时
(3-6)
0;当
时
通常情况下,在二值化图像
中,数值是0的表示背景区域,数值是1的代表目标区域。
而阈值t则是需要求解的,求解阈值t的方法称为阈值选择,常用的阈值选择方法有以下几种:
①判别分析法。
用阈值t将图像的灰度值直方图中的灰度值的分布分为两组,求出是两组分离达到最好的阈值t,这就是判别分析法。
用判别分析法确定阈值t的方法如下所示,假设阈值是t,给定的图像具有L级灰度值
,把大于t的灰度值的像素和小于t的像素分成两组,设为1组和2组,设i组
,的像素数为
,平均灰度值为
,方差为
,全体像素的平均值为
,则组内方差为
(3-7)
组间的方差为
(3-8)
如果设全部像素的灰度值的方差为
,那么,则有
(3-9)
因此可以得到判别比为
(3-10)
由于全方差
是一个常数,与阈值没有关系,由此可以得到,只需让
最大就可使判别比取得最大值,所以只需使t的值不断变化并求出
最大时对应的t的值。
②p-参数法。
若要被分离的图像的面积大约等于
,其与整个图像的面积S之比为p=
。
在选择阈值时,要使灰度直方图中大于t的像素对其他所有像素的比值亦为p为此,因此,要想求出阈值,只需要在图像的灰度直方图中,从灰度值高的一边开始计算,求出累积相对读数分布,当累积相对读数的值达到为p时的灰度值就是所求的阈值,这种方法也经常被用到。
③状态法。
状态法只是用于灰度直方图呈现双峰型分布的条件下,这时,阈值t就是两个峰间的低谷上的灰度值。
在复杂的图像和瘦到很多干扰的图像中,直方图不能呈现明显的双峰型,所以,状态法有时并不适用。
二值化后