APP下载

基于嵌入式机器视觉的液气表盘识别研究与实现

2017-04-23王国祝赵浪涛

科技资讯 2017年4期
关键词:机器视觉嵌入式

王国祝+赵浪涛

摘 要:传统的液气表采用分户计量,分布在不同的地点,表难以改造以实现集抄。为了实现快速地计量,展开基于嵌入式机器视觉来实现液气表盘的图像采集,自动识别网络自动传输数据,针对数字式仪表和机械式仪表盘的特色,采用了灵活的算法,实现了液气表盘数字的识别和集抄,从而提高效率。

关键词:嵌入式 机器视觉 液气表盘 数字识别

由于我们国家对于早期的建筑中水表和天然气表等实施的是分户计量,水表气表分布于各个家庭内部,而不能像电力表那样集中一个表箱实施网络化集抄,这样带来了诸多的不便,加之有些家庭的水表气表家装后在橱柜内部,有时人难以进入而实现视觉的判读,因此,研发基于嵌入式计算机视觉技术的液气表盘数字识别的手持设备,便于从业人员快速抄表,经过手持设备图像采集,自动识别后,将识别的数字值直接通过移动网络传输至数据中心,这样大大提高了计量和集抄的效率。

1 关键技术

之所以以嵌入式机器视觉来实现表盘数字的识别,就是要借助于嵌入式系统灵巧、低功耗、易部署等特点。实现嵌入式机器视觉可以选择基于达芬奇DSP芯片的DM6446系统来实现,也可以选择基于ARM或Android的OpenCV的方式,或基于高性能的TI的Panda Board+Halcon Embeded来实现。

1.1 硬件实现

基于TI DSP DM6446:DM6446是TI公司推出的一款高性能的具有ARM内核的DSP芯片,其带有编程应用的API程序接口,很适合作为机器视觉的硬件平台来使用,而且其运算速度快,在一些高速的视觉处理里面得到了大量的推广和使用,但是其硬件成本高,而且其编程环境复杂,应用编程具有一定的难度和深度,不易实现视觉处理的实现。基于ARM+OpenCV:在普通ARM嵌入开发板中预装Linux内核,然后预装基于Linux内核的OpenCV平台软件。OpenCV是一个开源的视觉处理软件,无需购买,对于我们的表盘识别无需识别速度要求的情况下,是一个非常经济的选择,但是OpenCV正因为其开源的特性,对人脸识别的应用的实现比较有特色,而对其他视觉应用虽然能够实现,但是编程工作量大,而且实现需要一定的周期,具有一定的难度。基于高性能ARM+Halcon:我们在实践工作过程中选择了基于TI 的Panda Board开发板的基础上,预装Halcon的Linux的嵌入式版本,来实现嵌入式机器视觉的开发。Panda Board基于OMAP4664的双核ARM,其运行速度快、效率高。Halcon是德国MVtec公司的视觉软件平台,其提供了大量的视觉处理的算子,在PC平台上编程实现后可以生成C/C#等多语言平台的程序,因此我们借助于其强大的视觉处理功能,在PC上实现我们所需要的Halcon程序,然后在生成Linux平台上C++应用程序,然后移植后,将视觉处理的OCR识别应用部署到硬件平台上,实现其对仪器表盘的数字识别[1]。

我们正是以高性能的TI的OMAP4660为基础的嵌入式开发板,配备基于OV7670摄像头,其板载运行Ubutu操作系统,加装各种驱动后构成我们的硬件环境。网络通过其串行口挂接SIM900的GPRS Modem来实现数据的传输。

1.2 软件实现

欲对燃气和水表的表盘实现数字图像识别如图1的燃气表盘图像中的表盘数字进行识别,我们采用德国MVtec的Halcon软件来实现,Halcon是当前世界上最为优秀的机器视觉处理软件,其内置了诸多的视觉处理算子,能够很好地与硬件接口相适配,处理过程可以采取实验的方法,一步步用各种视觉处理算子处理后,生成所需要的结果后,我们可以借助Halcon强大的代码生成功能生成Linux下的C或C++程序。

Halcon对图像中数字的识别比较简单,其内置了诸多的OCR特征库,如Document_0-9.omc(文档数字)、DotPrint_0-9A-Z.omc(点阵打印数字字符)、HandWritten_0-9.omc(手写数字)、Industrial_0-9A-Z.omc(工业数字字符)等特征库,我们分帧后取得图像,然后对图像经过下列处理后与特征库相比对,以识别图像中的表盘数字。

采用Halcon处理仪表数字识别,首先读入图像;由于Halcon提供了视频或图像读取函数,因此,直接读入视频,镜像分帧获取图像即可。下一步,通过运算获取和设定感兴趣区域ROI。依式(1),使得=0和,按照阈值g 将图像R 选定后输出至S即得到阈值处理后的ROI。

≤≤ (1)

然后从图像域中获取ROI区域,再将图像分解为3个通道,然后转换RGB为H、S、V颜色空间。Halcon提供了HSV算子,传输图像区域即可实现图像颜色空间变换。

连通选定像素互联通区域,然后依据特征区域计算区域交叉點,并依式(2)实施高斯卷积去噪。

g× (2)

去噪后读取特征库,与数字匹配以实现数字的识别。

经Halcon处理后,在Halcon菜单中选择导出程序,Halcon可以生成VB、C# C/C++等源程序,我们选择基于Linux内核的C++程序,生成的C++程序,需部署到OMAP4660嵌入开发板中去运行。我们下载Halcon的嵌入版本的文件halcon-10.0.2-omap4-runtime.tar.gz,然后将其解压缩,部署于Linux下,该文件中提供了Halcon运行的库文件Halcon.so等文件。然后我们将创建的CPP文件中使其头上包含HalconCPP.h的头文件,然后包含下列路径后编译我们的应用并连接,即可生成嵌入平台的运行程序。

2 系统优缺点及改进

采用halcon机器视觉软件处理数字或字符的识别异常简单,我们的仪表表盘上仅有数字而没有字符,其识别应该更为简单,但是我们在软件实现过程中体会到,越是简单,其难度越大。其困难的程度远超过了视觉中对车辆牌照的识别,数字仪表盘中,如图1中有“2.5”仪表型号,还有“MC批文号粤制0000175”,及底下的仪表量程等干扰区域,给我们的识别带来了异常困难。

利用Halcon对数字字符的识别,我们只应用了特征库匹配的方法,除此,系统还提供了基于神经网络的训练和学习等算子,我们将对其实施改造,进一步提高其识别效率,以改进产品的环境适应能力,进一步提高准确度。

参考文献

[1]张明新,李向伟,赵浪涛,等.基于嵌入式机器视觉的路基沉降监测系统研究[J].自动化与仪器仪表,2013(4):28-29.

[2]张广军.视觉测量[M].中国科学出版社,2008.

猜你喜欢

机器视觉嵌入式
全自动模拟目标搜救系统的设计与实现
基于机器视觉的自动浇注机控制系统的研究
大场景三维激光扫描仪在研究生实践教学培养中的应用
基于机器视觉的工件锯片缺陷检测系统设计
基于机器视觉技术的动态“白带”常规检测系统的开发
机器视觉技术在烟支钢印检测中的应用
嵌入式LINUX操作系统的研究
嵌入式的特点及发展机遇
嵌入式组件技术的研究及应用
基于嵌入式系统的游戏程序设计