一种指针式化工仪表的远程抄表设计方法
2014-06-01何建国姚军康
施 健 张 冬,2 何建国 康 彩 姚军康 马 翔
(宁夏大学物理电气信息学院1,宁夏 银川 750021;浙江大学生物系统工程与食品科学学院2,浙江 杭州 310058;宁夏大学能源化工重点实验室3,宁夏 银川 750021)
0 引言
传统指针式仪表由于其简单可靠、使用方便、易于维护、价格低廉等优势,长期以来被广泛应用于化工生产过程。但其数据都是由人工读取,数据记录和处理也主要依靠人工。读数过程中,人眼分辨能力和易疲劳等主观因素大大影响了读表的精度[1]。以往通过改造更换电子传感器模块来实现各类指针仪表的数字化改造,但受到技术及成本等因素的制约。随着计算机视觉技术的发展,国内外开始对基于计算机机器视觉的仪表读数方法进行研究。基于机器视觉的仪表读数依赖仪表的图像信息,因此这种方法的适应性更强、应用范围更广。随着嵌入式技术的快速发展,使用嵌入式图像处理可以更好地实现改造成本控制[2]。
本文将嵌入式技术应用于指针式仪表抄表工作中,利用机器视觉及无线传输技术,实现远程读数自动化。
1 ARM内核与微处理器
作为意法半导体公司STM32平台的新产品,STM32F4基于最新的ARM Cortex-M4内核,在现有出色的STM32产品基础上新增了信号处理功能,并提高了运行速度,是一款集MCU、DSP、FPU多种性能于一体的数字信号控制器。Cortex-M4的单周期DSP指令将会催生数字信号控制器市场。目前,采用微控制器和数字信号处理器的图像处理双片解决方案可以选择STM32F4。STM32F4在一个芯片中整合了传统两个芯片的特性。STM32F4系列的专有技术优势包括:具有相机接口;采用多达7重AHB总线矩阵和多通道DMA控制器,支持程序执行和数据传输并行处理,数据传输速率极快;内置的单精度FPU提升控制算法的执行速度,提高代码执行效率。
本设计采用的是STM32F407VGT6微处理器,其最高主频达168 MHz。该数字信号控制器同时整合了微控制器和数字信号处理器的功能与特性,适用于对运算能力和DSP指令方面有较高要求的系统[3],在图像处理方面有着明显的优势。
2 系统组成
基于STM32F4的指针仪表远程读数系统组成如图1所示。图像采集主要由光箱、光源、摄像头组成,数据处理及传输由STM32F4控制器及RF无线模块组成。
图1 系统组成示意图Fig.1 Schematic diagram of the system composition
本系统基于STM32F4平台,运算能力相对计算机较弱。为了满足系统实时性的要求,不使用传统基于计算机处理的高分辨率相机,摄像头采用OV7670 CMOS摄像头,分辨率设置为240×160像素。
STM32F407芯片具有摄像头接口,通过DCIM功能直接获得OV7670 COMS摄像头传来的数字图像数据,通过直接内存存取送至图像缓存。将DCIM配置成SnapShot快照模式,在软件触发后抓拍图像。STM32F4微控制器的控制流程图如图2所示[4]。
图2 STM32F4控制流程图Fig.2 Control process of STM32F4
无线传输模块采用UTC-1212模块。该模块是一款高集成度、微功率、半双工、超低功耗的无线透明传输模块,抗干扰性能强,可在存在较大干扰的应用环境中使用,传输距离700~1000 m,且支持串口通信,无需另外编程驱动。在各节点与数据基站之间,利用此模块搭建无线网络,利用串口传输至计算机,最后用上位机软件进行数据分析存储。
3 指针读数
3.1 图像预处理
图像预处理主要是图像灰度化、滤波、二值化。摄像头获取的指针仪表图像为真彩色图像,最终特征提取需要二值化指针图像。为了简化图像,先将图像转为灰度图像。灰度化是将原图各像素点的R、G、B三分量信息压缩成一个字节。具体方法采用加权平均法,对R、G、B三分量分配不同的权值。计算过程为:
式中:Gray为当前像素点灰度值;R、G、B分别为红、绿、蓝三基色分量。
得到灰度图像后,需要做滤波去噪处理,使图像更加平滑。为保留指针图像的边界信息,采用中值滤波算法。
得到平滑的灰度图像后,选取适当的阈值对图像进行二值化处理。二值化算法如式(2)所示,将大于等于阈值T的像素值置1,小于阈值T的像素值置0。
3.2 二值图剪影法
由于指针仪表背景大致相同,因此提出了一种基于二值图像减影法的指针直接提取方法。该方法先后获取两幅指针仪表图像,经过上述一系列预处理后对两幅二值化图像作减法运算。只有像素值的差为+1的像素保留白点,即当且仅当某像素为白色减黑色时,像素值保留白色,得到一幅无刻度、无字符,只包含少量噪声的指针图像。两图相减所得剪影如图3所示。再次做中值滤波后,得到清晰的指针图像如图4所示。
图3 二值剪影图Fig.3 Binary subtraction image
图4 滤波后的剪影图Fig.4 Subtraction image after filtering
3.3 指针角度识别
3.3.1 Hough 变换
为了从二值图像中计算出指针的读数,采用Hough变换求得指针的方向。Hough变换的原理是将笛卡尔坐标空间的点(x0,y0)变换[5]为极坐标空间中的正弦曲线 ρ=x0cosθ+y0sinθ;扫描所有像素点(x0,y0),并遍历所有θ值,ρ和θ对应相等的点即为共线;记录所有共线的ρ、θ以及相应的共线点数;最后对共线点数设定适当的阈值提取目标直线。Hough变换对噪声不敏感、抗干扰性强,鲁棒性较好是Hough变换最大优点,即使曲线有小的波动、间隙,经Hough变换后,仍能在参数空间形成明显的峰值点[6]。
3.3.2 Hough 算法改进
经典Hough直线检测是对图像空间内每一个像素进行360°全向标记,这种标记过程占用了大量时间。为了提高本嵌入式系统的实时性,提出了一种基于环形ROI感兴趣区域及角度约束的直线提取算法。
首先,限定环形ROI区域,如图5所示灰色圆环就是指针提取的ROI区域,只检测处于ROI区域内的像素,可有效减少像素扫描数量;然后,利用事先标定的表盘圆心确定直线,因为圆心坐标与ROI区域内的每个有效像素能确定唯一直线。圆心约束示意图如图6所示。ROI区域内的P点只标记过圆心O的直线,从而使检测效率大为改善。而在没有圆心约束的情况下,经典Hough变换需要标记过P点各个角度的直线。通过这种添加约束的Hough变换,对环形区域内所有可能与圆心共线的点进行表决统计,选出现次数最多的角度θ,即为指针角度。
图5 环形ROI区域Fig.5 Annular ROI area
图6 圆心约束示意图Fig.6 Sketch of constraint of center of the circle
4 试验结果
至此,通过得到的ρ和θ(其中角度θ和指针的读数具有对应关系),将θ代入提前设定好的计算公式,即可计算出仪表指针读数。对量程范围为0~2.5 MPa的压力表进行5次测量试验,试验结果如表1所示。
表1 测量结果Tab.1 The measured results
5 结束语
利用机器视觉代替人眼读取指针读数大大提高了工作效率,且其读数不受人为因素影响。在嵌入式平台上,提出一种基于二值图像剪影法,以及通过约束ROI感兴趣区域及直线角度对Hough算法的优化,确保了算法在嵌入式平台上的实时性。而STM32F4与无线模块相结合所具有的低成本特点,使其相对计算机更易实现多节点分布式无线数据采集。通过实际测试表明,该设计方案是可行的,具有较好的应用前景。
[1]黄颖怡,汪仁煌,岳利军.机器视觉仪表识别方法的研究进展[J].自动化仪表,2009,30(8):58 -60.
[2]李栋,杨志家.基于机器视觉的指针仪表识读方法[J].仪表技术与传感器,2012(10):31-33.
[3]黄智伟,王兵,朱卫华.STM32F 32位微控制器应用设计与实践[M].北京:北京航空航大学出版社,2012.
[4]魏宝,陈玉成,户凯,等.机器视觉系统在连接器自动装配中的应用[J].机电元件,2013,33(1):12 -15.
[5]张冀,王俊宏,尉迟明,等.基于计算机视觉的汽车仪表指针检测方法[J].计算机工程与科学,2013(3):134-139.
[6]陈卓.基于机器视觉的指针式仪表识别技术研究与应用[D].成都:西南石油大学,2011.