视觉检测系统在汽车仪表自动化测试方面的应用

2018-06-14 07:15:14
软件 2018年5期
关键词:模式匹配仪表盘指示灯

李 沫

(德尔福中央电气(上海)有限公司,上海 201814)

0 引言

随着科技的发展,仪表盘功能功能激增。显示屏不断变大,传统的依靠人眼观察做检测的方式越来越困难,人工检测的误差率不断增加。仪表功能的复杂化,意味着需要检测的内容越来越多,检测内容增加,投入更多的人员、测试时间也越多。为了在项目的开发周期内尽可能多的发现问题,以帮助项目开发者完善产品,同时公司也可以更好的满足客户对产品的需求,提供质量可靠的产品,如期交付。这就需要我们改善原有的测试方法,使用自动化测试作为有效的补充,对于仪表盘来说,需要检测的显示类信息比较多,通过机器视觉自动检测[1-3],可以大大缩短测试用例的执行时间,并且能稳定的提高测试用例执行的准确性,很好的避免了视觉疲劳、判断失误等人为因素。而且可以节约人员成本。提高公司仪表产品的竞争力。

1 机器视觉系统介绍

1.1 机器视觉系统

系统主要有以下几个主要部分组成:工业摄像头(包括图像采集卡)、安装自动化测试脚本的工作电脑、用来模拟外部信号(如电阻值、PWM波形)的信号发生设备、直流电源、用于与仪表盘通信的CAN总线通信模块及用于固定仪表盘和摄像头的测试台。

DITS使用NI LabVIEW及其机器视觉工具包开发完成。LabVIEW是美国国家仪器公司发明的一种图形化的编程语言,相较于传统的基于文本(如C++)的编程方式,这种编程方式并不需要进行底层的开发,可以快速上手,具有拖拽图标、连线等很多功能。同时还提供了非常丰富的函数库及大量工具包,是目前测试行业中用的比较广泛的开发工具,机器视觉工具包就是其中的一个,工具包提供了很多高级的应用。选择合适的算法,可以大大的缩短开发周期。

图1 机器视觉系统Fig.1 V ision system

1.2 工业摄像头

摄像头是机器视觉系统中最重要的部件,选择一款合适的摄像头是非常关键的。拍摄出的图像的质量直接影响到图像处理过程和测试结论。摄像头的主要参数包括分辨率,帧速率,景深等。分辨率是摄像头的一个非常重要的性能参数之一,是指摄像头能识别的被测对象的最小特征,一个直观的感受是分辨率越高,拍摄的照片越清晰,放大同等比例,细节表现更精细。也就是要求多个像素点来表现被测对象的最小特征。这也很好理解,比如,应该显示字母“l”的时候,却错误的显示了字母“i”,由于摄像头分辨率太低,无法表现字母“i”的中间的空白。就有可能出现错误的判断。帧速率指的是每秒钟可拍摄的图像的帧数,也可以理解为图形处理器每秒钟能够刷新次数。捕捉动态视频内容时,此数字愈高愈好,因为我们的系统需要用摄像头来检测各种报警灯的闪烁频率。一个镜头的景深,是指它能够保持对不同高度的物体或是离摄像头不同距离的物体的对焦能力,也就是当被测对像在视场内有不同高度时需要考虑这个参数,仪表平放到夹具内,因造型方面设计,会出现拍摄物处在高低不同的位置。另外由于我们的仪表盘指示灯有不同的颜色,这就需要一台彩色摄像头。综合以上考虑,最终我们选择的是巴斯勒(Basler)的彩色摄像头AcA2000-340kc,它具有2046x1086的分辨率,340帧每秒的帧速率。

2 测试过程介绍

根据测试内容的不同特征,我们的系统提供不同的测试方法,对于仪表上众多指示灯的亮灭,如低油量报警灯,制动报警灯,安全带报警灯等,这些指示灯对软件系统来说实际是一组不同的图案,可以选择图片匹配来测试;在仪表盘上面中间的液晶显示屏,用于向用户显示文字,可以选择光学字符识别(OCR,Optical Character Recognition)的方法来识别显示的文字内容,把识别出来的文字与预先设置的期望结果比对,得出测试结论;在仪表盘上还有一些灯是闪烁的,这种测试内容需要开发者设计测试方法;仪表盘还有几个重要的部分──速度表、转速表等,需要测其指针指示值,这种测试内容也需要开发者设计考虑的。

2.1 模式匹配和光学字符识别

模式匹配可以在图像中快速地定位与某一已知参考图案匹配的区域,如果区域已经确定,则可以根据相似度来判断该区域就是所找区域,参考图案通常也称为模板。因此模板需要在使用模式匹配算法之前创建,以供机器视觉应用系统在拍摄的每幅图像中搜索这一模板,并且计算出相应的匹配分数。以安全带报警灯为例来说明模式匹配的测试过程:在测试之前,首先拍摄一张质量较好的图像,运用图像处理中的创建模板的算法,从所拍摄的图像中将安全带报警灯截取出来并保存,这个所截取的图案就是模板,是以后测试的标准。测试时,测试执行软件发送信号点亮报警灯,摄像头拍摄当前时刻的图像并传给测试执行软件,测试执行软件调用模式匹配算法,在照片内查找模板,最后返回一个查找结果,结果包括找到相同图案的个数、相似度分数、位置信息等。据此你可以得出测试结果。如果相似度分数没有达到你所期望的分数(如80%),那测试结果即为失败。为了测试精度和目的性,我们可以限定一个目的测试区域,在该区域应用模式匹配算法,这样就无需考虑区域外的内容了。为了优化测试,测试前准备工作还包括在安全报警灯周围画出感兴趣区域(ROI Region of Interesting,您可以认为限定在这个区域内作运算。),一般这个区域要等于或大于模板的大小 ,测试时就这个区域内查找。这将会找到一个匹配的图案及相似度分数。

运用模式匹配的方法,需要注意的是,您所做的模板的面积不应太大,因为算法给出的结果是一个分数,当模板面积太大时,丢失一些特征信息得分也可能高过期望值。产生测试误差。图2的中的三个红色方框表示模式匹配后的结果。

图2 模式匹配结果Fig.2 Pattern matching results

另外一种特殊的模式匹配的将图像中的文字转换成文本格式,这个过程被称为光学字符识别(OCR,Optical Character Recognition)。像模式匹配一样,在运行算法前也需要对图像上的每个字符做一个模板,再指定模板对应哪个文本字符,这个过程称为训练(Training)。不同的是需要对每个图像字符做模板,而这一系列模板存在一个文件里,称为字符库。

其实这种技术很常见,比如将扫描文档(如PDF文件)转换成可以编辑的文档。平常使用文档格式转换软件时不需要训练,是因为这个工作在发布软件之前开发者就做完了。今天,虽然光学字符识别技术已经被广泛使用,但是该项技术并不是没有一点问题。还是会有错误的,主要存在于从图像到数字化文字的转换过程。例如,相似的字符有时无法彼此区分开,手写的扫描件也无法识别。在处理打印的文档(如Word 转换成PDF文档)时,可以得到超过99%的准确度。对于我们的系统来说,首先要做一个字符库,通过人工的训练仪表盘上所有显示字符,并生成一个字符库。字符库完成之后就可以进行测试了。当需要识别仪表盘显示文字内容时,画定感兴趣区域,运用光学字符识别方法,根据字符库转换成相应的文本字符串。结果如图3所示。

图3 光学字符识别后结果Fig.3 Optical character recognition results

2.2 指示灯闪烁的处理

仪表盘上按指示灯是有闪烁状态的,我们可以发送CAN命令让指示灯进入闪烁状态,摄像头拍摄一系列的图像,当然帧速率大于指示灯闪烁的频率。根据上面的模式匹配方法找出第一次被点亮的指示灯最后图像帧。然后再找出第二被点亮的指示灯最后图像帧。计算两帧图像之间的指示灯灭状态的图像张数,而帧速率又是已知的,就可以知道两帧之间的时间,为了提高精度,计算多组间隔时间,取平均值,就可以计算出指示灯的大约闪烁频率。

2.3 速度检测

相对于前面提到的检测方法,速度检测需要经过比较复杂图像处理[4-6]。但原理还算好理解,就是先找出速度表指针各个时刻的位置,运用几何学的方法,算出指针转过的角度,再换算成对应的速度值。一般软件开发组有这个算法,即使没有,也可以通过人为标定,多大角度对应多大速度。

但是应用图像处理的方法就比较复杂了。机器视觉开发包为我们提供了很多高级的应用,我们只需选择恰当的方法即可。测试过程是当仪表收到速度信号后,速度表指针移动,同时摄像头拍摄当前速度表图像,图像被传送到测试控制软件进行处理。先在图像上的速度表头内部画出来一个环形感兴趣区域,可以观察到指针边沿与感兴趣区域有交点,调用边沿检测方法找出指针的一个边沿,然后反方向找出指针的另一个边沿,这样就找出了指针的两个边沿,然后再运用查找中间线的方法找出两个边沿的中间线。这条中间线即为指针的中线,可以用来代表指针。找出这条中间线是速度检测最重要的一步,然后就可以应用几何的方法算出两条线的夹角。具体过程是先让指针转到你所期望的零点位置(0 km),找出中间线,然后让指针转动一个角度(比如30 km),找出此时的中间线[7-10],计算出两条中间线的夹角,然后计算出速度,判断是否为30 km。

图4 速度检测Fig.4 S peed detection

3 结论

应用机器视觉原理测试仪表盘,避免了人工目测判断的主观因素影响,改善了精度和效率。自从2011年的大众收音机项目第一次实施机器视觉自动化测试开始,经过不断的改进检测方法,增加新的检测方法,我们已经将机器视觉测试应用到了汽车收音机与汽车仪表的多个项目当中去了。为项目节约了成本,提高了测试效率与测试质量。公司还采购了机械手臂,希望以后能与机械手臂相结合,开发更加自动化的系统。

[1] 周晓东, 李亚杰, 岳晓峰, 等。汽车仪表指针识别方法研究[J]. 长春工业大学学报·自然科学版, 2010(1): 32-36.

[2] 赵书涛, 李宝树, 贾秀芳, 等. 基于计算机视觉的电则仪表自动化识别方法的研究[J]. 仪器仪表学报, 2004(51):606-607.

[3] 李素萍. 其于图像处理的数学仪表识别技术[J]. 机电一体化, 2013(6): 15-17.

[4] 贺平. 软件测试技术. 北京: 机械工业出版社. 2004: 239- 242.[5] 凌永发. 软件测试自动化中的脚本技术. 云南民族学院学报. 2002, 11(1): 544-548.

[6] 吴立竹. 软件测试的自动化. 吉林工程技术师范学院学报,2005, 21(12): 12-13.

[7] 孙志恒. 运用面向对象的方法分析软件测试管理流程. 北京机械工业学院学报, 2002, 16(12): 15-25.

[8] 段念. 软件性能测试过程详解. 北京: 清华大学出版社.2006: 78-80.

[9] 金义富. 基于可视化编程环境的软件测试. 华南理工大学学报. 2002, 10(7): 35-47.

[10] 朱鸿, 金陵紫. 软件质量保证与测试. 北京: 科学出版社,1997: 7-85.

猜你喜欢
模式匹配仪表盘指示灯
仪表堂堂
名车志(2021年3期)2021-03-18 03:33:38
Dashboard的10个实现原则
基于模式匹配的计算机网络入侵防御系统
电子制作(2019年13期)2020-01-14 03:15:32
具有间隙约束的模式匹配的研究进展
移动信息(2018年1期)2018-12-28 18:22:52
OIP-IOS运作与定价模式匹配的因素、机理、机制问题
福特探险者车仪表盘上多个故障灯点亮
虚拟仪表盘
家用汽车(2016年3期)2016-05-10 10:57:09
基于散列函数的模式匹配算法
荣威750车ABS指示灯和防侧滑指示灯异常点亮
上海大众POLO充电指示灯点亮