机器视觉系统中的图像处理的制作方法

文档序号:6113850阅读:150来源:国知局
专利名称:机器视觉系统中的图像处理的制作方法
技术领域
本发明涉及存在线性照射的机器视觉系统中的图像处理。其示例是用于利用三角测量测量3D参数的系统。
背景技术
目前,已知可以利用CMOS或CCD照相机来捕捉图像并利用诸如FPGA之类的板上处理器对图像进行处理。尽管这种配置是非常快速的,但是一般存在若干问题,如·在被处理的线的图像中包括无关的反射或其他噪声,·平均线位置偏离,·包括外缘(outlier),·处理来自于镜面反射的噪声,以及·不能区分彼此平行并且彼此邻近的尖锐线。
为了例示,图5a示出了分割线,图5b示出了浮散(blooming),并且图5c示出了散射光的示例。这些效应对检查结果有负面的影响。
本发明解决了这些问题。

发明内容
根据本发明,提供了一种用于捕捉照相机传感器信号并识别目标上的照射图案的图像处理器,其中所述处理器下述多条线中识别最可能的照射线,其中所述多条线包括来自与中心照射线相邻的表面的光谱反射。
在一个实施例中,所述处理器将最宽的像素线识别为最可能的像素线。
在另一个实施例中,所述处理器对线宽度施加上限和下限。
在另一个实施例中,所述限度是可配置的。
在一个实施例中,所述上限被设置来消除浮散。
在另一个实施例中,所述处理器确定被暗像素分离的平行线之间的间隙,并且在两者之间的距离低于阈值时将两条平行线处理为单条线。
在另一个实施例中,所述阈值是两个暗像素。
在一个实施例中,所述处理器比较像素值与阈值以识别线。
在另一个实施例中,所述处理器沿视场改变阈值。
在另一个实施例中,所述阈值是视场的尺寸(dimension)的函数。
在一个实施例中,通过根据尺寸值添加补偿值所述阈值被改变。
在另一个实施例中,其中所述阈值随着接近线的形心被增大或减小。
在另一个实施例中,所述处理器比较像素值与下阈值和上阈值。
在一个实施例中,一次或两次比较的结果被用于形心计算。
在另一个实施例中,超过上阈值的像素在数量足够的情况下优选地被用于形心计算。
在另一个实施例中,所述处理器通过以下操作消除外缘像素跟踪平均像素级别,以及比较像素值与平均级别以估计其是否是外缘。
在另一个方面,本发明提供了一种机器视觉系统,包括用于线性照射目标的照射仪,照相机,和前述任何一个方面所述的图像处理器,其连接到所述照相机。


从下面的某些实施例的详细描述中可以更清楚地理解本发明,其中对实施例的描述是以示例方式参考附图进行的,在附图中图1a是裸PCB的现有技术3D图像表示,而图1b是本发明的处理的相应图像;图2a是激光线的现有技术图像,而图2b是本发明的处理的相应图像;图3是激光线与垂直迹线交叉的照射图像;
图4是图示了图像处理流程的流程图;以及图5a、5b和5c分别是分割线、浮散和散射光的示例。
下面给出图4中的部分符号的解释LT=下阈值UT=上阈值c=与X位置相关联的LT补偿值DT=暗像素阈值Dark=暗像素计数器Pixel=像素灰度值具体实施方式
在一个实施例中,图像处理器包括连接到CMOS照相机传感器的FPGA。参考图1a和图1b,图1b图示了本发明处理所得到的可观的清晰度改进。现有技术图像(图1a)中的大部分假象被消除了。这是因为改进了对激光线图像的处理。
该处理使用低灰度阈值来确定沿一列图像WOI(感兴趣窗口)存在激光线“亮”像素。通常,其将线的宽度(沿该线超过阈值的像素数目)视为激光线的重要指示符。在有多条线的情况下,选择最宽的一条。
有效线截面标准该处理对“暗”像素(灰度级小于等于下阈值的像素)计数,并且可以接合列中两串分离的激光“亮”像素,只要其间的“暗”像素串小于“暗阈值”即可。图2a和图2b图示了这种情形。一般而言,两个像素是合适的“暗阈值”。
在图2a中,在激光线图像中图示了暗像素阈值的应用。在图2b中,改变阈值,以在图像中显示超过下灰度阈值的像素。在左侧有轻微的分割线。如果两条平行线之间的垂直间隙小于等于暗像素阈值,则这两条线可被认为是一条线。
由于金属表面(迹线、焊盘、焊胶等)趋向反射高强度的光(见图3),因此使用上阈值来无误地识别出这些区域。沿着激光线,这些结构趋向显示为强度超过~200灰度级的2+像素的粗线。如果遇到这种串,则认为是该列的线截面,并且可以配置处理使得不考虑该列的剩余部分。
图3示出了激光线与某些垂直迹线交叉的情形。其中存在从迹线上反射的较高强度的光。
对于允许的线的宽度,存在可配置的上限和下限。对于超过上阈值的像素串和超过下阈值的像素串,这些限度是不同的。线截面的超过这些限度之外的部分将不被考虑。这种有效性标准有用的极端示例可以参见图5b,在图5b中,图像被严重浮散使得线的截面非常宽。
由于激光角度所致,对列进行探查的方向对结果可能有轻微的影响,并且尽管通常探查最宽的线截面,但是在同一列中出现彼此宽度相似的多个线截面时会导致不清晰,在这种情况下通常使用遇到的第一条线。
形心计算对于有效线截面,形心计算如下 方程1·其中x代表被处理的列,并且对于任何一列都是常量。
·Start代表与有效线截面相关联的y位置的有效范围的起始点。
·End代表与有效线截面相关联的y位置的有效范围的末端点。
·N代表WOI中线的数目。
·M代表WOI的宽度,这种情况下是传感器的宽度。
·T代表这样的灰度阈值,超过该灰度阈值的灰度值被认为是激光线的一部分。T可以是上阈值和下阈值这两个值之一。其值取决于上述有效线截面标准的应用。
位存储要求分子位要求令g(x,y)的最大可能值为MaxGrey
MaxGrey*1+MaxGrey*2+……+MaxGrey*NMaxGrey*(1+2+……+N)MaxGrey*(N2+N)/2当MaxGrey=255(在无符号字节的情况下),并且N=64(WOI的典型高度)时,255*2080530400No bits=>Log 530400/Log 2~20bits分母位要求再一次令g(x,y)的最大可能值为MaxGreyMaxGrey+MaxGrey+……MaxGrey*N当MaxGrey=255,N=64时,255*6416320No bits=>Log 16320/Log 2~14bits期望输出是每列8位。
由于WOI的高度最大是64个像素,因此列的行位置和灰度乘积的总和要求多至20位。类似地,灰度值的总和要求多至14个像素。以上的除法产生了6位的结果,这会损失以其他方式可以实现的2位精度,并且产生具有单像素精度而不是1/4像素精度的形心值。为了恢复这2位精度,灰度和行位置的乘积总和在除之前被向左移2位。从而该总和产生了高至22位的值。当这被14位的总和除时,结果是8位值,包括6位像素精度和另外2位亚像素精度。
视场的激光线强度补偿通常,激光器的强度响应在传感器的视场内是不均匀的。一般来说,光束强度在线的中心处较强,而随着线向左或右延伸逐渐降低。下强度阈值一般被设为这样的值将拾取到的最低强度的值,该值可能代表反射激光线的一部分,从而使代表被扫描表面的尽可能多的数据被包括在内。对于随着逐渐接近线中心处而遇到的明显较高的强度,人们可能希望对用在该区域中的阈值进行控制。例如,由散射光引起的不希望产生的噪声的强度级别可能强度更高,并且更有可能用于图像处理中。然而,处理器可以通过改变视场内的下阈值来对此进行一定程度的补偿。
最简单的模型是一种线性模型,其从WOI左侧的0增大到WOI中心处的可配置最大值或最小值,C,并且逐渐减小回WOI右侧的0。这可以由沿WOI的x位置的简单函数来代表。从而对于沿WOI的特定水平位置x,可以计算阈值补偿值,c,见方程2和方程3。可以看出,有两个不同的方程,第一个仅仅处理函数的增大部分,第二个处理减小部分。所得到的补偿值被加到下阈值上以补偿向线中心处的较强阈值。参考方程1,当且仅当T是下阈值时,T的值才增加c。中心最大补偿值C是可配置的,以适应来自被扫描的不同表面材料的不同响应。
c=2CxM,∀x(0<=x<M2)]]>方程2c=2C(M-x)M,∀x(M2<=x<M)]]>方程3强度计算利用超过阈值的灰度值的总和来计算单列的强度数据。该总和被作为上述形心计算阶段的一部分加以计算。包括相应的激光线截面在内的像素数目的计数也在该阶段记录。
最正确的做法是计算列中激光线像素的准确平均强度,包括被任意数除(与较简单的被2的幂除相对,这种除可通过移位实现)。形心计算意味着每个WOI必须发生高至M(照相机传感器宽度)次除法。如果也利用任何除法来计算强度,则这会使每个WOI需要的除法次数加倍。
外缘消除沿激光轮廓的外缘可能由散射光(见图5c)以及其他因素引起。在本发明中,这些效应可通过以下措施减小跟踪任意一列结果的最左N个像素的平均结果,并且利用利用转变阈值(像素)来确定在最终结果中是否考虑该值。人们可能希望,对最大期望特征高度(例如,焊胶高度)的较小的过估计在这里能充当良好阈值的基础。当然,无效但是落入阈值内的任何转变都不会成功地被消除一这是不可避免的。在该部分平均中使用的像素数是可配置的,但是必须是2的幂,以简化所要求的除法。因此,参数由幂次自身指定,例如,2指示必须使用4个像素,3指示必须使用8个像素等等。
线的平均WOI的整个宽度的形心平均值被计算出,并且存储为由FPGA输出的结果线的最后(最右)字节。然而,差别在于在这种情况下只考虑非0的那些值。这样作的优点是平均值更有可能代表沿着该线的PCB的平均级别,而不是在数据中包含了孔,这些孔会不适当地偏离数据。然而,这引入了被任意数除,这种任意数取决于存在的0数据量,对每个激光轮廓可能是不同的。为了消除这种复杂性,又尽可能地维持结果的完整性和意义,有必要确信只执行被2的幂除的除法。
这里采取的方法是随着形心被沿着阵列加和并计数,每次在计数达到2的幂时,总和与关注的幂一同被备份。在加和结束时,最近遇到的2的幂被用作除数(幂本身也可被用来对数字移位),并且相应的备份总和被除。这一操作的影响是对于宽度2352的传感器来说,只可以使用高至2048个值,如果超过0的值少于2048个,则只可使用1024,等等。上面的内容表明,在许多情形中,几乎没有0数据点,除法是更简单的,并且可由FPGA更快的执行,所得到的平均值的完整性也被最小地牺牲。
参考图4,上述图像处理方法以流程图格式示出。注意,上阈值和下阈值都被使用,并且对下阈值进行了补偿以用于沿激光线宽度的强度变化。另外,对于两个带内的像素,进行独立的形心计算。暗像素级别被重置为0,并且被动态更新。另外,LT和UT数据被组合以检查其是否构成迄今为止最宽的线。
本发明并不限于上述实施例,而是可以在构造和细节上进行变化。
权利要求
1.一种用于捕捉照相机传感器信号并识别目标上的照射图案的图像处理器,其中所述处理器从下述多条线中识别最可能的照射线,所述多条线包括来自与照射中心线相邻的表面的光谱反射。
2.如权利要求1所述的图像处理器,其中所述处理器将最宽的像素线识别为最可能的像素线。
3.如权利要求2所述的图像处理器,其中所述处理器对线宽度施加上限和下限。
4.如权利要求3所述的图像处理器,其中所述限度是可配置的。
5.如权利要求3或4所述的图像处理器,其中所述上限被设置来消除浮散。
6.如权利要求1~5中任何一个所述的图像处理器,其中所述处理器确定被暗像素分离的平行线之间的间隙,并且在两者之间的距离低于阈值时将两条平行线处理为单条线。
7.如权利要求6所述的图像处理器,其中所述阈值是两个暗像素。
8.如权利要求1~7中任何一个所述的图像处理器,其中所述处理器比较像素值与阈值以识别线。
9.如权利要求8所述的图像处理器,其中所述处理器沿视场改变阈值。
10.如权利要求9所述的图像处理器,其中所述阈值是视场的尺寸的函数。
11.如权利要求10所述的图像处理器,其中通过根据尺寸值添加补偿值来改变所述阈值。
12.如权利要求9~11中任何一个所述的图像处理器,其中所述阈值随着接近线的形心被增大或减小。
13.如权利要求8~12中任何一个所述的图像处理器,其中所述处理器比较像素值与下阈值和上阈值。
14.如权利要求13所述的图像处理器,其中一次或两次比较的结果被用于形心计算。
15.如权利要求14所述的图像处理器,其中超过上阈值的像素在数量足够的情况下优选被用于形心计算。
16.如权利要求1~15中任何一个所述的图像处理器,其中所述处理器通过以下操作消除外缘像素跟踪平均像素级别,以及比较像素值与平均级别以估计其是否是外缘。
17.一种机器视觉系统,包括用于线性照射目标的照射仪,照相机,和权利要求1~16中的任何一个所述的图像处理器,其连接到所述照相机。
全文摘要
本发明公开了机器视觉系统中的图像处理。其中,捕捉线性照射的图像,并且改进对线的识别,消除噪声。多条线中最宽的线被识别为最可能的线,并且如果相互邻近的两条平行线间的间隔是两个或一个暗像素的话,认为它们是一条线。并且利用线宽的上限来消除浮散。
文档编号G01B21/00GK1841018SQ20061006695
公开日2006年10月4日 申请日期2006年3月30日 优先权日2005年3月30日
发明者帕德拉吉·艾丹·安德鲁·巴特尔, 安东尼·彼得·托马斯·马普斯通, 詹姆士·马洪 申请人:Mv研究有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1