摘 要:通过分析机器视觉系统成像环境以及当前市场状况,紧密结合视觉测量系统平台设计的软件技术发展方向,设计了一种具有自学习功能的视觉系统LED光源机构。该机构LED阵列的设计综合了CCD像素的可接受照度以及被测物表面特点等因素,提出了五环八区的新型光源阵列分布结构,并在具体的系统功能设计中采用了虚拟仪器技术,使得该光源机构更智能化,对于提高系统工作速度、效率以及检测精度极具意义。
关键词:CCD照度;五环八区;自学习;虚拟仪器
机器视觉应用最关键的部分之一即为其照明系统,好的照明系统将以合适的方式将光线照射到被测物体表面,使得被测量物件的边界更加清晰[1],从而有效地避免劣质光源条件下被测物件在CCD成像中带来的较高的信噪比,或者CCD曝光过度,以免视觉测量结果所体现出的被测物件的物理特征严重失真[1]及后续图像处理算法中阈值选择的障碍、图像边界提取失败等严重后果。可见,针对不同的视觉检测系统,设计出适合的、优质的光源,不但能够提高系统的分辨力,同时有助于图像处理软件的执行效率,因此,优质光源的设计对于该类系统具有重要意义。
视觉测量的标准灯源通常具备了提供多种组合方式的能力,目前市场上常见的四相LED程控灯源组合方式并不丰富,且LED光源照射角度过大,容易造成具有平缓过渡棱角工件的图像无法具有较强的明暗对比度。针对这一类光源技术的缺憾,本文对机械工程领域一类球状产品的视觉检测系统进行了针对性的光源设计,提出具有五环八区四十相结构的LED光源,并将先进的软件技术融合到光源的性能控制上,提出“自学习”的软件设计思路,使得该视觉检测系统在光源控制方面亦体现出智能化的特点。
1 光源的结构及设计原理
被测物体为具有光滑表面的球形工件,具有反射光线的特点,因此需要进行多种组合采光才能使CCD所采集到的图像避免因表面的漫反射而形成的光晕以及边界模糊等不利因素,使得光源有利于图像的二值化处理,具有符合图像处理分析方法的特点[2-3]。在设计中需要较为全面地考虑以下几个方面:
(1)在国内,影像仪多采用桂林光学0.7~4.5X显微镜头,镜头底部距离工件最近处为90 mm。因此需要针对被测物件的直径以及镜头参数,合理制定出LED光源机构的大小。
(2)依据最佳的对比度,结合光源照度、亮度分布、发光度等属性,综合考虑被测物件可能具有的表面粗糙度、反光程度等属性,尽量优化光源对于CCD成像的影像。
(3)LED本身会因为散热问题引发反应速度变化和光强变化,需要考虑光源机构的布局。
LED的光源机构设计在参照以上准则的同时也需要对光的能量进行计算以获得较为准确的光能量参数,从而确定LED的数目和功率等其他参数。
2 光源的电路原理及控制实现
目前,对传输速度要求不是特别严格的通信或控制电路普遍采用串行口的通信方式,串行口具有性能稳定、结构简单、易于实现等特点,鉴于视觉测量仪器其高性能的体现之一在于系统的反应速度,故本设计采用并行口的设计方案,实际使用中能够高速、精确地进行数据传输。
光源控制系统采用了ENC7480型的位移检测计数卡进行216级亮度可调控制,其原理图如图2所示。
图2中,共有10个D/A转换芯片TCL7226通过A0和A1的地址片选分配,将来自于上位机的LED控制信号转换为输出电流,继而使光源机构中的LED阵列依据命令调整明暗程度。对该硬件结构展开基于并行口数据通信的接口驱动电路设计并编写对应的驱动程序。
根据被测工件的形状特点以及测量需要,系统设计中,一共制定了四大类的控制策略,如图3所示。
如图3所示,从左到右的控制方式依次为:环形方式,即对于阵列中的任意一环选中点亮;全灯控制,即选取所有LED颗粒,使得其亮度保持一致;区块方式,8个区块中的任意一区或多区;区段方式,控制40个区段中的任意一段或者多段。
3 虚拟仪器平台下的软件设计
虚拟仪器技术是电子技术与软件技术紧密结合的新型测试仪器平台,本系统采用BCB语言实现检测系统的虚拟仪器应用软件的编写。
本检测系统极具针对性地对球状物进行检测,检测过程中,CCD、被检测物以及光源均处于固定状态,光源机构中的LED阵列采用如图3所示的方式凸显出被测物的各个方向上的特点。
图4为本系统对于某型球状被测物的检测,图5所示为CCD采集并经过二值化处理后的部分边界图像。
本系统对于被测物的检测存在重复性的特点,对虚拟仪器技术的智能化应用特点而言,本系统为球状物的检测设定了“自学习”的类库的设计,采用软件手段,使得对球状物的检测过程中所突出的重要检测步骤能够被软件自动记录并在后续工件的检测过程中自动重复,从而形成了“学习”的能力。此外,在软件执行“学习”到的动作的过程之间,如果额外发生了人工干预的状况,则该状况亦被记录而在新一次的检测过程中的对应时刻自动发生。这样的软件设计将使得智能化的检测系统拥有了更快的检测速度以及更完善、更高的自动化程度,提高了工作效率和精度保障。“学习”的软件设计原理如图6所示。
光源控制的虚机制原理的功能段如下:
class TLamp40Manager
{
public :
TLamp40Manager();
~TLamp40Manager();
bool bLampSegmentStatus[40];
bool bLampSectionStatus[8];
bool bLampRingStatus[5];
bool bLampfull;
unsigned char Lamp40level;
virtual bool LampSegmentControl(int SegNum,bool Seg
mentStatu ,unsigned char level)=0;
virtual void LampClose()=0;
virtual void LampOpen()=0;
} ;
其中,函数LampSegmentControl()用于LED阵列的驱动,将虚拟仪器平台上发出的命令通过并口传出,从而对灯源阵列进行亮、暗控制和明亮程度的调节。其命令的数据则通过虚拟仪器软件获得,图7所示即为鼠标对于界面上虚拟LED阵列的区域进行选择,相应的数据作为鼠标动作的响应被传递入该函数。
在每个具体的操作步骤中,如果有人工调节灯源的动作,计算机必须要能够正确记录下灯源的信息,这样执行学习程序时,才能由计算机正确控制灯源具体区间的明灭和亮度。
4 应用效果分析
工程上常用的弹头型LED其发射角为14°~21°[4-5],由于能量集中,虽然得到面元照度较高,却容易造成因反射的能量过强而出现CCD饱和的状况。因此,本系统采用了发射角为100°的草帽高亮LED形成漫射效果,通过LED阵列的调节,营造了较好的采像环境。图8所示为不同照射环境下的图像分析。
实际检测结果表明,多角度的照明能够有效地避免测量死角,凸显出边缘的变化,有力地减少了软件的计算量和系统的处理时间。
参考文献
[1] Yu Xingjie, HO Y L, TAN L, et al. LED-based projection systems[J]. Journal of Dispaly Technology, 2007,3(3):295-303.
[2] 李良德.基础光学[M].广州:中山大学出版社,1987.
[3] 赵凯华,钟锡华.光学(上)[M].北京:北京大学出版社,1992.
[4] 郁道银,谈恒英.工程光学[M].北京:机械工业出版社,2002.
[5] 章毓晋. 图象工程(上册)——图象处理和分析[M].北京:清华大学出版社,2003.