含LED的仪表产品的机器视觉检测系统设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
含LED的仪表产品的机器视觉检测系统设计
摘要:在用于产品检测的程控针床上使用USB工业彩色摄像头,可以在生产环境下对仪表的LED器件进行颜色识别。
基于HSV颜色空间方法分析采样数据,对产品中用到的6种不同颜色的LED均能有效区分。
系统白平衡以Philips D65灯管为参照标准调整。
本系统在遮光及非直射自然光条件下,具有良好的准确性及抗干扰性。
关键词:工业摄像头,程控针床,HSV颜色空间,白平衡
1、引言
发光二极管,即Light-Emitting Diode,简称LED,是一种能发光的半导体电子元件。
因为LED光源亮度高,可控性好,而且具有节能、长寿、环保等优点,所以在现代汽车仪表产品中,已大量使用LED作为发光源。
但因为它是光信号,不能通过常规电检完成。
LED发光状态以及其颜色,通常都只能通过工人肉眼判断。
这种检测方式容易造成人员眼睛过于疲劳,极有可能造成故障漏检而被错误放行,最终产品的质量无法保证。
OpenCV的全称是Open Source Computer Vision Library,是一个跨平台的计算机视觉库。
OpenCV是由英特尔公司发起并参与开发,以BSD许可证授权发行,可以在商业和研究领域中免费使用。
OpenCV可用于开发实时的图像处理、计算机视觉以及模式识别程序。
我们在OpenCV软件库的基础上,开发了基于工业彩色摄像头的仪表产品生产检测机器视觉系统。
通过程控针床控制被检仪表的LED分批点亮,由工业彩色摄像同步拍摄对应的仪表相片,通过区域色彩分析可以判断出指定位号的LED的工作状态。
可识别数据有:是否点亮、颜色等。
2、检测原理
颜色空间按照基本结构可以分两大类,即:基色颜色空间和色、亮分离颜色空间。
前者的典型是RGB,还包括CMY、CMYK、CIE XYZ 等,而后者包括YCC/YUV、Lab、以及一批以HSV为代表的“色相类颜色空间”。
基色颜色空间主要是应用于颜色显示领域,而色亮度分离的颜色空间主要应用于颜色识别领域。
色、亮分离颜色空间中的子类型“色相类颜色空间”,它是把颜色分成一个表亮属性,和两个表色属性。
基中一个表色属性为色相,而色相以外的另外两个属性可以选用不同的变量来定义,而色相的概念保持不变。
因此只需要测算出颜色的色相,即可用于判断颜色。
另外一个表色属性是色饱和度,也称为色纯度;而表亮属性只与亮度有关,与颜色属性无关。
图一:色相分度示意图
彩色摄像头的直接采样数据是RGB三通道数据,不能直接用于颜色判断,需转换到色、亮度分离的颜色空间,这里我们选用的是HSV颜色空间。
HSV颜色空间【HSI(Hue,Saturation and Value)颜色空间】
图二:HSV 颜色空间
HSV(hue,saturation,value)表示色相、饱和度和亮度值,这个颜色空间的模型对应于圆柱坐标系中的一个圆锥形子集,圆锥的顶面对应于V=1。
它包含RGB模型中的R=1,G=1,B=1 三个面,所代表的颜色较亮。
色彩H由绕V轴的旋转角给定。
红色对应于角度0°,绿色对应于角度120°,蓝色对应于角度240°。
在HSV颜色模型中,每一种颜色和它的补色相差180°。
饱和度S取值从0到1,所以圆锥顶面的半径为1。
HSV颜色模型所代表的颜色域是CIE色度图的一个子集,这个模型中饱和度为百分之百的颜色,其纯度一般小于百分之百。
在圆锥的顶点(即原点)处,V=0,H和S无定义,代表黑色。
圆锥的顶面中心处S=0,V=1,H无定义,代表白色。
从该点到原点代表亮度渐暗的灰色,即具有不同灰度的灰色。
对于这些点,S=0,H的值无定义。
可以说,HSV模型中的V轴对应于RGB 颜色空间中的主对角线。
在圆锥顶面的圆周上的颜色,V=1,S=1,这种颜色是纯色。
HSV 模型对应于画家配色的方法。
画家用改变色浓和色深的方法从某种纯色获得不同色调的颜色,在一种纯色中加入白色以改变色浓,加入黑色以改变色深,同时加入不同比例的白色,黑色即可获得各种不同的色调。
通常把色调和饱和度通称为色度,用来表示颜色的类别与深浅程度。
从RGB 到HSV 的转换
设(r,g,b)分别是一个颜色的红、绿和蓝三通道坐标,它们的值是在0 到 1 之间的实数。
设max等价于r、g、b 中的最大者,设min等于这些值中的最小者。
要找到在HSV 空间中的(h,s,v)值,这里的h ∈ [0,360)度是角度的色相角,而s,v ∈[0,1] 是饱和度和亮度值,计算为:
h 的值通常规范化到位于0 到360°之间。
而h = 0 是特例,用于max = min 的(就是灰色)时候。
HSV 颜色的h 、s 和v 的值定义如下:
从HSV 到RGB 的转换
类似的,给定在HSV 中(h,s,v)值定义的一个颜色,带有如上的h,和分别表示饱和度和明度的s 和v 变化于0 到1 之间,在RGB 空间中对应的(r,g,b)三原色可以计算为:
对于每个颜色向量(r,g,b),
综上所述,通过颜色空间转换以后,工业相机拍摄到RGB格式的相片,经USB接口读入计算机,经软件转换为HSV色彩空间以后,即可进行颜色识别。
依次对指定坐标的光斑区域测试得到该点色相,再与仪表产品档案中的颜色信息进行对比,即可得出检测结果。
理想的白色是RGB三通道平衡的,色相值为零,色饱和度为零,因此对白色LED检测时主要使用色饱和度进行分析。
但因白色LED是蓝色管芯加黄色荧光粉组成的,实际可能存在偏色现象,因此还需要使用色相值检测其偏色范围。
注:针对LED测量的时候,各色LED的色饱和度均需大于70%。
经实际数据分析,色饱和度在50%到70%之间的值,往往是因故障或者干扰而产生的。
3、系统组成及工作流程
硬件平台:计算机、程控针床、工业摄像头等;
软件平台:Windows XP、Python2.6、OpenCV2.1等;
程控针床
图三:检测系统示意图
如图一所示,本系统由计算机、程控针床和固定于程控针床上的工业摄像机等三大部分组成。
其中,计算机运行检测软件系统,即上位机软件。
上位机软件包含了程控针床管理、机器视觉、数据存储等诸多模块,在这里我们重点介绍机器视觉的图像处理部分。
因为考虑跨操作系统平台的迁移,所以上位机软件的编程语言选用Python,而OpenCV 也是跨平台的,具有Python语言编程接口,可以在Python里面很方便地使用图像库。
工业摄像机是机器视觉的关键部分,经过评估选择了200万像素的8位三通道彩色摄像头,数据接口为USB2.0。
该摄像头在1600×1200的分辨率下,可以达到每秒15帧的速度,完全可以满足产品的测试需求。
焊接好的被测仪表的PCB放置于程控针床的测试位上,气动压板压下被测仪表的PCB,保证PCB的测试点与各测试针有良好接触。
在气动压板上对应于LED的位置有透光孔,并在上表面蒙上匀光片,LED发光时可以在匀光片上产生光斑供摄像头可以拍摄。
LED直接照射地匀光片上时,光能量损失较大,为了增强光斑的光强度,还需在透光孔内放置导光柱。
在LED测试子项目中,上位机软件发送控制指令,由程控针床设置各测试针的电平与频率信号,可分别设置仪表的各LED工作状态为亮、灭。
在摄像头拍摄的相片中,LED光斑的位置是相对固定的。
按配置好的位置表,依次取出各LED的检测图像(22×22像素)。
检测图像的原始数据是按RGB排列的三原色数据,需要进行预处理,经平滑运算处理后转换到HSV颜色空间后识别。
因为摄像头本底噪声及环境光干扰,都有可能影响到颜色识别的准确度,为解决这个问题,需要进行消背景噪声处理。
在LED全灭的时候,由摄像头拍摄一张背景图经平滑运算后备用。
在LED被控制点亮的时候,用当前图平滑后再减去背景图,可以有效消除干扰。
当然,这种消除干扰的方法对剧变或过强的环境光抑制效果较差,改进型的程控针床加上遮光罩,进一步提高了机器视觉系统的检测稳定性。
除了全亮与全灭,还需检测只有一部分LED被点亮的状态。
通过合理的状态组合,可以同时检测出相关驱动的电路是否存在焊接短路等隐性故障。
4、系统方案要点说明
a. 摄像头需调整聚焦及光圈:
系统使用的是1/2英寸CMOS摄像头,配1/2英寸6mm定焦镜头,在监视软件下
调节镜头使其聚焦良好。
调节光圈,使LED点亮时采样的RGB各通道最大值刚好
不饱和。
b. 白平衡标定:
使用飞利浦标准光源Philips D65标准灯为白平衡参照。
该光源色温为6500K,接
近于日光色,是比较好的标准白光源。
用摄像头拍摄该标准光源,调节RGB三通
道增益,使图像数据中的RGB三通道数据尽可能平衡。
此时RGB三通道增益数据
就是白平衡数据。
注意,每个摄像头及镜头组合的白平衡都需标定,以后每年需重
新标定一次。
c. 镜头畸变校正
由于加工误差和装配误差的存在,摄像机光学系统与理想的小孔透视模型有一定的
差别,使物体在摄像机图像平面上实际成像与理想成像之间存在不同程度的非线性
光学畸变。
为了提高图像检测、模式匹配等定量分析的准确性,必须对这一类畸变
进行修正。
在这里,使用了棋盘格方法得到摄像机的内外参数,图像经此内、外参
数较正后效果良好。
d. 空间透视校正及图像定位
经镜头矫正处理后的图像,因为摄像头的视角不同而产生透视畸变,通过目标检测
的方法找到四个预设定位点的坐标,再通过四点定位法,可以将图像转换为正视图。
透视转换后,正视图的像素点与空间尺寸存在比例关系。
e. 透光孔色差补偿*
由于检测LED是通过透光孔及投射到匀光片的光斑成像,导光柱及匀光片本身会
带来一定的颜色污染造成色偏。
但经过实测与裸LED的色相偏差相比较,色相偏
差小于2°,远小于各色LED的色相差值。
因此在生产线LED检测系统中不考虑透
光孔色差补偿,但要注意,在高精度的白光LED特性测试系统中是需要做补偿的。
5、数据分析
下面各表是在一定时间段内的LED实测数据分类统计表,含在产的各型号仪表。
因LED 产品的特点,在白平衡统一校正以后,各色LED的测量分布还是很集中的。
表二:红色LED统计数据
色相(度)统计数量
-2 733
-1 4820
0(趋近)311880
1 331081
2 6323
3 5616
表三:橙色LED统计数据
色相(度)统计数量
7 326
8 1112
9 653
10 228
表四:黄色LED统计数据
色相(度)统计数量
15 7
16 120
17 587
18 2347
19 3613
20 4888
21 3864
22 2021
23 701
24 76
表五:绿色LED统计数据
色相(度)统计数量
134 794
135 3393
136 23346
137 32180
138 37832
139 32397
140 12145
141 1208
142 262
表六:蓝色LED统计数据
色相(度)统计数量
227 337
228 1511
229 2840
230 31033
231 27786
232 745
233 37
表七:白色LED统计数据(略)
色饱和度在50%以下的,均可判为白色LED
6、结果与讨论
通过以上的数据分析,可知各颜色LED之间的色相测量统计数据边界明显,可识别性良好,可以很好地对仪表上的LED进行检测识别。
对于有焊错或者故障的LED,本系统可以检测出来并告警,避免不良品流出工厂,保证了产品质量的一致性。
7、结论
本系统自动化程度高,检测速度快,有效解放了劳动力。
在生产制造现场使用半年有余,LED表现异常的仪表无一漏检,稳定性可靠性都比以前的人工目检得到显著提高,为企业创造了良的经济效益。
本系统的特点是创造性地将机器视觉系统应用于电子产品生产检测,解决生产中的实际问题。
除颜色检测外,机器视觉还可以应用于LCD屏检测、指针检测等项目,使用机器视觉系统进行检测自动化改造,进一步提高工业生产的自动化程度,为产品向国际水平靠拢提供可靠的保障。
参考文献
【1】贾云得:《机器视觉》,北京:科学出版社,2000。
【2】王文杰,LED光源与光学特性检测,《江苏现代计量》,2011年03期。
【3】王积分、张新荣:《计算机图像识别》,中国铁道出版社,1988。
【4】戴冠中、佟明安:《现代控制理论》,国防工业出版社,1981。
【5】Gary Bradski & Adrian Kaebler著,于仕琪、刘瑞祯译:《学习OpenCV》,清华大学出版社,2009。