机器视觉
1、导言:
开发视觉系统的一个重要活动是验证其部署是否符合工程规范。一个成功的视觉应用程序的两个特点是它无需工程师干涉情况下正常工作了多长时间,以及它的维护和复制部署是多么简易。实现所有如上所述目标的一个关键步骤是确定视觉系统的基准。
在这里使用的上下文中,基准是对所需系统特性的度量或指示。在本文的范围内,有两个领域应加以基准:
成像(相机和镜头)
光照
其中,我们通过视觉软件获取和存储图像后,可对图像基准项目进行离线分析。
视觉系统首次开发时,视觉工程师进行测试,以确保组件按预期执行。这些测试帮助视觉工程师建立系统基准,以验证视觉系统在准备调试时的性能,并供今后参考。
当视觉系统进行维护时,技术人员可以重新检查系统基准项目,并将它们与既定的基准进行比较。这使技术人员能够确定是否发生了重大变化,以及在哪里发生了这些变化,因此在必要时采取了适当的纠正措施。它还避免了技术人员盲目变化系统配置,导致的一系列系统功能退化。如果没有基准,即使是经验丰富的视觉工程师也无法确保视觉系统恢复到原来的运行状态。
基准测试确实需要使用特定的工具,如测试图形。其中一些工具可能是特定于应用程序的,而另一些工具可能更通用。基准测试不是一个便于系统调整或校准的过程;系统的调整和校准必须在基准测试之前执行。由于基准测试不是校准,因此它不需要像校准/测量的任务,严格遵照国际标准的可追溯性,有些工具(如测试图形)可以通过现有技术(例如激光打印机)购买或创建。然而,这些工具必须有适当的材料,避免基准工具在视觉系统的使用寿命内发生变形或改变。维护基准工具是视觉系统团队的额外责任。
最后,对视觉系统进行基准测试不是关于精确的定量数据,而是关于能够很好地确定视觉系统特性的数据,这样,如果这些特性被再现,那么视觉系统的性能可以预期与基准记录时一样好。
我们可以对成像进行基准测试提供以下特征的数据:
1.关键成像尺寸
2.相机设置
3.镜头设置
4.照明器设置(如果有的话)
5.影像视野
6.成像(光学)分辨率
7.景深
8.光照强度
9.照明方向
10.照明均匀性
11.颜色
12.图像失真
13.图像噪声
2、Python与C++
视觉系统的设置必须记录下来,作为基准测试的准备。这包括与成像相关的重要机械尺寸,以及所有调整位置和可访问参数。这些值必须是视觉系统生产环境中实际使用的值。 成像包括照明、相机和调整后的镜头,调整到最佳状态。成像基准要求采集和存储未经处理的图像。几乎所有的视觉系统都支持这种功能。
应记录的典型设置有:
光源相对于视野的三维测量位置
视场到镜头的工作距离
镜头光圈设置
镜头聚焦设置
镜头焦距设置(如果使用变焦或变焦镜头)
相机增益
相机曝光时间
相机帧速率(如适用)
所有其他可编程摄像头设置,即使出厂默认设置
照明功率水平(如果可调)
照明脉冲宽度(如果使用脉冲照明)
当使用基准测试来确保再现性时,无论是复制视觉系统还是更换现有视觉系统上的部件,都需要考虑到组件中存在变化的事实。同一品牌和型号的两台相机在灵敏度上会有所不同。这些差异可能需要改变相机的增益、曝光时间或光源的输出。
同一品牌和型号的两个镜头的有效焦距可能略有不同,通常小于3%。有效焦距的变化可能会改变视场的大小。或者视场大小的变化是可容忍的,或者改变相机的工作距离以获得精确的视野。
光源的种类多样,光输出调整各有不同,例如,光源中使用的特定LED组时,可以调整光源控制器,改变驱动电流大小,控制光输出强度,将成像性能恢复到基准状态。
3、基准图像亮度
由于相机的灵敏度不同,光源在光输出强度方面也不同,因此非常希望对图像亮度进行基准测试。图像亮度最好使用在视野中具有示例性的局部图像的灰度直方图来记录,另外,记录具有示例性的局部图像的灰度均值也是一种方法。对于未来的基准测试,如果可以存储和保存相同的零件时,则应使用相同的零件,并保证使其反射率不会降低(例如氧化作用使反射率降低)。
在复制系统时,应使新系统的图像亮度与基准系统的直方图相匹配。
图1-灰度直方图
可能需要视觉工程师来决定是否需要改变照明器输出、摄像机增益或曝光,或接受差异。使用现代机器视觉算法,如果图像的亮度有一定的变化,只要关键像素没有进入饱和(灰度值达到255),性能就可以保持合理的一致性。
应该注意的是,改变镜头的f数,虽然一个非常容易的选择,以获得灰度直方图匹配,但这是不可取的。虽然改变透镜孔径确实会影响镜头的集光功率,从而影响强度直方图,但它也会改变镜头的景深和镜头的分辨率。保持景深和光学分辨率通常比灰度直方图水平的轻微变化更为重要。
对于彩色视觉系统,应该获取和存储三个颜色通道中每个通道的灰度直方图,通常是红色、绿色和蓝色
4、基准视野
本基准记录的两个特征是视场的大小和位置。视场的大小与实际放大率有关,位置与相机/镜头指向有关。
为了对视场进行基准测试,必须将靶标定位在视野的中心。靶标可以是任何有利于观察的东西。它可以像天平一样简单,也可以像校准的靶标一样复杂,也可以是在激光打印机上制作的项目专用靶标。重要的要求是,每次对系统进行基准测试时,目标都可以定位在完全相同的位置。这可能需要对视觉系统设计中的夹具进行一些早期思考。
记录并保存图像以及从标尺或目标读取的尺寸和位置尺寸。
图2-标尺用于评估视场大小
在评估视场尺寸时,请记住,大多数透镜的有效焦距公差在±3%左右。因此,在复制一个视觉系统时,实际视场的大小可能会有微小的差异。
图3-商业测试图样
5、基准光学分辨率
系统级的光学分辨率表征图像中可以分辨的细节。它取决于相机的图像分辨率(像素的行和列)、图像传感器上像元的大小和镜头的光学分辨率。通常光学分辨率是在图像上指定的,但为了应用的目的,分辨率将在最重要的地方评估,即在应用场景中。
光学分辨率定义为在像面处镜头在单位毫米内能够分辨开的黑白相间的条纹对数,如下图所示:
分辨率为1/2d,其中,d为线宽。分辨率的单位为lp/mm(线对/毫米)。
另外,一般使用的分辨率公式:
分辨率(ε)=0.61×λ/N.A.(Reyleigh公式)
λ:使用的波长或辐射(λ=0.55µm用于可见光)
N.A.:物镜数值孔径
在实际工业应用中,系统使用面阵或线阵传感器作为成像器件,因此系统的分辨率通常也会受到成像传感器中像元分辨率的限制。像元分辨率定义为单位毫米内像素单元数的一半,即=1/2p,其中p为像素单元的尺寸大小。例如一个CCD的像元尺寸大小为5×5微米,则像元分辨率则为:=1/(2*0.005)=100(lp/mm)。传感器的像元分辨率限制了系统的最高分辨率,即使镜头的分辨率再高,系统也不可能分辨高于像元分辨率的细节。
在实际使用中,普通镜头分辨率低,即使搭配高像素的相机,最后也只能生成模糊的影像。
基准分辨率的典型技术是将分辨率靶标,如USAF分辨率条形图,放置在中心和所有四个角落。大多数商业分辨率靶标都是为非常高的分辨率而设计的。
图5-USAF分辨率目标的一个版本
有时使用激光打印机制作您自己的项目特定靶标。不过,请记住,激光打印机打印出来后目标尺寸不稳定。然而,打印后的文件将保持尺寸稳定,打印文件应与项目资料一起保存。对于这样一个仅用于基准目的的靶标,只需要三组平行条图形:一个用于预期分辨率,一个用于稍微粗的分辨率(名义上时预期分辨率乘以1.15),一个为稍高的分辨率(名义上是预期分辨率的0.85倍)。由于下面解释的原因,角落上的平行条必须是双向的。
例如,如果您的目标分辨率在现场是4线对/毫米,那么每个暗和白条应该是0.125毫米宽的目标分辨率。对于较粗的条形图,每个暗条和白色条将宽0.144毫米,对于更精细的条形图,每个条将宽0.106毫米。
在视野的中间,通常只需要注意将条形分辨率目标定在一个方向。然而,在视场的角落,有必要记录两个方向的分辨率,一是指向视场中心的条形图(切向方向),二是指向与先前方向呈90度的条形图(径向或矢状方向)。在角落,镜头的分辨率在这两个方向中的每一个都是不同的。
图6-特定于项目的分辨率目标
上图只有三组条形图仅用于验证系统成像是否达到了分辨率,但无法确定成像的极限分辨率。
商业用的靶标,如USAF,有一个广泛的条形图案宽度范围,可以用来寻找极限分辨率。
6、基准景深
在确定景深基准时,不干扰任何成像参数是非常重要的。这包括镜头的焦距、镜头的光圈和相机的高度(镜头工作距离)。
衡量景深的方法有两种:
倾斜的比例尺
目标升高
倾斜的比例尺
倾斜比例尺可以是一把直尺或标尺,与视野成已知角度。图像中刻度表现为锐利聚焦的范围给出了景深范围。虽然通常使用刻度尺,但也可以制作或购买景深测量仪。商用的景深测量仪通常比倾斜标尺或直尺更容易固定到位。
图7-在一个角度上示意景深范围的直尺
升高的工件
在标称工作距离以及所需的景深范围的近和远限制处成像。这通常需要设计和构建夹具,以确保结果的重现性。例如,像实验室升降台这样的东西可以用来将工件垂直移动到所需的高度。
如果在所需景深限制和标称高度下达到所需分辨率,则景深有效。景深有可能远远超出要求的范围。利用升高工件的很难实际测量景深的范围。
图8-景深目标
图9-成像显示景深范围
7、基准照明强度
照明强度可以用两种方法之一来衡量:
使用校准的光度计
使用安装好的相机
使用光度计的优点是测量是校准的(通常±10%)。使用机器视觉系统的相机的优点是,您可确保可重复照明,即使灵敏度因相机而异。对于非常小的视场,例如显微镜,光度计方法可能是不切实际的。
前照明和背光的程序是不同的。
光度计,前照明
测量现场入射光能。光度计的传感器放置在场景的中心,并读出测量的光的值。光度计通常以每平方米入射光能量的lux-流明读取。这种方法的缺点是,对于大多数视觉应用,仪表的传感器只在视场的一小部分中拾取入射光,其读数可能受到光照不均匀性的影响。非常重要的是,基准测试需要提供一种方法来重新固定光传感器;无论是通过夹具还是通过仔细的测量。
光度计方法不适用于非常小的视野,如那些使用显微镜。
光度计,背光
在这种情况下,光度计的传感器就放在相机镜头的正前方。仪表的读数仍以勒克斯为单位;更准确的读数应为坎德拉,但大多数光度计都不支持这种测量读数。
相机,前照明
第二种测量强度的方法是使用视觉系统的相机。相机不是经过校准的传感器-两个相同品牌和型号的相机将具有不同的灵敏度。所以测量是相对的。然而,目标是获得正确的曝光;因此,使用视觉系统的摄像机进行测量实现一部分目的——知道成像设置满足其要求。但是,它不能保证成像设置可以被复制。请参阅上面的“图像亮度基准”。
最好用均匀反射的靶标覆盖视野。对于大多数照明方法,这个靶标应该是漫反射的。一些有用材料的例子是照相灰卡(一面反射18%,另一面反射90%)。对于非常大的视野,可能有必要借助于纸张或布料的背景,但期望这些产品的制造商控制其产品的反射率是不切实际的,并且测量的再现性也会受到影响。
有时,视觉系统是用来成像镜面反射光的。在这些情况下,使用漫反射背景可能无法提供令人满意的基准强度方法。如果物体是平面的,那么背景可以是适当尺寸的平面镜。如果被成像的对象是一个更复杂的形状,那么除了使用漫反射背景外,很难对强度进行基准测试,这种情况下,难以进行基准量化。
背景设置到位后,使用照明设置和相机参数设置捕捉场景图像。让视觉系统计算并报告场景的最大和平均灰度。您必须确保视觉系统报告的最大灰度值不是视觉系统可用的最大值(例如,对于具有8位像素的视觉系统,最大灰度值不能为255)。如果报告了最大的灰度值,这表示相机处于饱和状态,则最大读数无效,平均灰度读数受损。除了少数例外,相机在饱和状态下工作是不可取的。
相机,背光
在这种情况下,让相机直接拍摄空场景,并报告图像的最大和平均灰度。同样,相机处于饱和状态通常是不可取的。在某些情况下,背光强度被设计为很高,使相机饱和。在这种情况下,必须降低相机曝光时间,以避免相机饱和。较好的方法是使用ND镜。如果视觉系统方便的话,也可以通过使用更快的快门速度(较短的曝光时间)来减少相机的曝光量,但稍微不太理想。
8、基准照明方向
照明方向有时是需要基准量化的,至少对于向前照明来说,使用一个抛光球体放置在视野中。事实上,抛光的半圆球会更好,但这些有点不寻常。球体通常是由轴承供应商提供的抛光钢球。它也可以是装饰物,半圆形的汽车轮毂帽。
将球放置并固定在视野的中心。照明球的图像显示照明来自的方向。图像的捕获和归档为其他人检查视觉系统或复制视觉应用程序提供了一个基准。
单点反射光表示单点光源。如果光以球为中心,则为轴上照明。
对于环形光,无论是亮场还是暗场,抛光的球体都会显示出一圈光。
同轴漫射照明产生一个独特的反射抛光球体。
9、基准照明均匀性
使用用于基准照明强度和相机相同的设置,捕捉图像。重要的是,背景材料尽可能均匀,没有纹理可由相机分辨。此外,许多视觉系统甚至一些相机都提供了一种常被称为“平场校正”的功能,它可以补偿图像的不均匀性,如果此功能可用并在视觉系统中使用,则必须为此基准禁用该功能。但是,如果在应用程序中可用并使用了平面校正,那么也可以在启用平面域校正的情况下执行此基准测试,这将是非常有用的。
此图像的一些统计数据应该为您的图像记录:
最小灰度值=52
最大灰度值=187
平均灰度值=143
获取的图像必须准备如下:
如果使用彩色图像,则将彩色图像转换为灰度。 如果颜色一致性是一个问题,您可以对红色、绿色和蓝色通道分别执行此过程。
对图像进行低通滤波器,尽可能消除图像噪声。由于你正在寻找逐渐变化的光强,低通滤波可以是有益的。
生成一个伪彩色图像,其中每个特定的灰度范围(例如255-251、250246、245-241等。) 被一种特定的对比颜色所取代。如果视觉系统不能创建伪彩色图像,则可以使用PhotoShop等程序进行离线处理。
如果生成伪彩色图像太复杂,或者该领域的技术人员无法实现,则可以创建显示等高线的图像如下:
低通滤波图像。
减少图像中灰度值的数量(例如,将灰度值的数量从256减少到128或64)。即使经过滤波,在1像素的范围内也有如此大的变化,结果将是很小的价值。
创建被过滤和抽取的图像的副本。
腐蚀(或膨胀)图像副本。使用3x3结构元素的简单侵蚀(或膨胀)是足够的。
取两幅图像的绝对差值。这个结果将是一个几乎纯黑色的图像。阈值为1的差分图像。结果将显示等高线(均匀强度的轮廓)。
上图显示图像等高的处理结果。等高线相距4个灰度级。
如果你了解机器视觉技术,你可以理解图像中出现的不均匀性可能主要是由于光照的不均匀性,但它也受到诸如余弦等透镜效应的影响(渐晕),以及由图像传感器的光响应不均匀性(PRNU)以及其他光学效应。
10、基准颜色
基准颜色对于彩色相机的机器视觉系统是必不可少的。对于单色机器视觉系统,基准颜色可能有助于量化光源特征。
如果你知道如何使用分光度计,那么这些仪器可以很好地量化照明颜色。对于大多数机器视觉从业者来说,这些仪器是不可用的。这些仪器只测量光源,不考虑镜头或相机的图像传感器。
对于单色视觉系统,照明光源可以是宽带(例如白色)或窄带(例如红色LED)。基准颜色的挑战是,通过基准测试,确保使用相同的“白色”光或相同的“红色”光。许多单色视觉系统不受照明光谱的某些变化的影响,也没有理由对照明光源颜色进行基准测试。
对于彩色视觉系统,获取商业彩色图表的图像。从图表的图像中,注意每个相关颜色的颜色坐标(例如R值、G值和B值)。最好使用最适合您的视觉应用程序的颜色系统。因此,您可以选择RGB、CYMK、L*a*b*或其他用于记录值的系统。
对于单色成像应用,仍然有一种实用的方法来规范照明颜色。将一个颜色目标,如Greytag/Macbeth ColorChecker图表(参见上面的图24)放置在视野中易于重复放置的位置。给图表拍张照片。记录每个彩色方块的灰度。虽然这并不能确定任何特定的颜色或光的波长分布,但它确实提供了一个合理的基准度量来确定照明颜色的变化。
11、基准失真(畸变)
失真是由放大倍数的变化引起的。这些变化可能是由于透镜的特性导致放大率从图像的中心向外变化(即枕形和桶形失真)。它也可能是由于透镜的主平面、图像平面(图像传感器)和物体平面(视场)不平行导致透视失真。
失真的特征参数通常是获取测试图形的图像,如下图所示的点模式或棋盘模式。
点的中心的位置(或正方形的棋盘图案)是通过图像测量的。如果视觉系统提供这些测量,则测量畸变要容易得多,大多数机器视觉软件包提供畸变校正。
畸变的特征参数是从图像中心到图像角点(以像素为单位)的成像和真实间距的差值除以从图像中心到对应点应该在哪里(以像素为单位)的真实间距的比值)。
编辑:黄飞
全部0条评论
快来发表一下你的评论吧 !