打光校正方法及装置与流程

文档序号:17439757发布日期:2019-04-17 04:36阅读:408来源:国知局
打光校正方法及装置与流程

本发明涉及工业视觉技术领域,尤其涉及一种打光校正方法及装置。



背景技术:

工业视觉检测是通过对机器视觉设备采集的检测对象的图像的像素、亮度、颜色等特征进行分析运算,从而达到所要求的检测目的的新兴检测手段。工业视觉系统一般包括光源、图像采集装置、图像处理装置、监视器等。

光源是影响工业视觉检测效果的重要因素,它直接影响了图像采集装置采集到的图像的质量和效果。理想的光源应当在检测对象表面打光均匀。然而实际应用中,理想光源是不存在的,只能通过光源的造型和布局来尽量向理想光源靠拢。也就是说,实际的光源在检测对象表面打光不均匀,这样会影响采集到的图像的质量和效果,使得采集到的图像与实际检测物体之间存在误差,进而降低工业视觉检测的准确度。



技术实现要素:

有鉴于此,本发明提供一种打光校正方法及装置,能够解决现有技术中光源在检测对象表面打光不均匀导致工业视觉检测的准确度降低的问题。

为解决上述问题,本发明提供的一种打光校正方法,该方法包括:采集检测对象在光源照射下的图像;至少利用检测对象的图像对检测对象进行定位以获取检测对象的空间位置;利用检测对象的空间位置及预先获取的光源的光场信息获取检测对象可见表面的光场分布;根据光场分布对检测对象的图像进行打光校正。

其中,预先获取的光源的光场信息的获取方式,包括:采集标定板在光源照射下的图像;根据标定板的图像及标定板上反射区域的反射率获取反射区域所在的空间位置的入射光强;至少利用入射光强获取光源的光场信息。

其中,根据标定板的图像及标定板上反射区域的反射率获取反射区域所在空间位置的入射光强包括:根据标定板的图像对反射区域进行定位以获取反射区域所在的空间位置;根据标定板的图像中反射区域的灰阶值获取反射区域的反射光强;根据反射光强及反射区域的反射率获取反射区域所在的空间位置的入射光强。

其中,根据标定板的图像对反射区域进行定位以获取反射区域所在的空间位置包括:根据标定板的图像对标定板进行定位以获取标定板的空间位置信息;根据反射区域在标定板上的分布信息及标定板的空间位置信息确定反射区域所在的空间位置。

其中,至少利用入射光强获取光源的光场信息包括:利用入射光强及光源对应的辐射模型获取光源的光场信息。

其中,至少利用入射光强获取光源的光场信息之前进一步包括:为光源建立对应的辐射模型。

其中,光源包括线光源和/或面光源,为光源建立对应的辐射模型包括:将线光源/面光源等效为多个点光源;为每个等效的点光源建立对应的辐射模型;将所有等效的点光源的辐射模型的集合作为线光源/面光源的辐射模型。

其中,将线光源/面光源等效为多个点光源包括:采集线光源/面光源的图像;根据线光源/面光源的图像确认线光源/面光源的出射光强分布;根据出射光强分布将线光源/面光源等效为多个点光源。

其中,光场信息至少包括每个光源的每个可见方向的出射光强度。

其中,根据标定板的图像及标定板上反射区域的反射率获取反射区域所在的空间位置的入射光强之前进一步包括:获取反射区域至少一个方向上的反射率。

其中,获取反射区域至少一个方向上的的反射率包括:检测反射区域的双向反射分布函数以获取反射区域的各向反射率。

其中,根据光场分布对检测对象的图像进行打光校正包括:根据光场分布,对图像中对应检测对象的像素点的灰阶值进行调整,以使得调整之后的灰阶值对应的光场均匀分布。

其中,至少利用检测对象的图像对检测对象进行定位以获取检测对象的空间位置包括:利用检测对象的深度图像和/或立体模型信息结合检测对象的图像获取检测对象的空间位置。

本发明还提供一种打光校正装置,该装置包括:处理器和存储器,存储器存储有指令,处理器用于执行指令以实现以上提供的任一种方法。

本发明还提供一种可读存储介质,该可读存储介质存储有指令,指令被执行时实现以上提供的任一种方法。

通过上述方案,本发明的有益效果是:区别于现有技术,本发明利用检测对象的空间位置及预先获取的光源的光场信息获取检测对象可见表面的光场分布;根据光场分布对检测对象的图像进行打光校正,降低打光不均匀对图像造成的影响,使得图像与实际检测物体之间的误差减小,从而提高工业视觉检测的准确度。

附图说明

为了更清楚地说明本发明实施方式中的技术方案,下面将对实施方式描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:

图1是本发明打光校正方法第一实施例的流程示意图;

图2是本发明打光校正方法第二实施例的流程示意图;

图3是本发明打光校正方法第三实施例的流程示意图;

图4是本发明打光校正方法一实施例中对反射区域进行定位的流程示意图;

图5是本发明打光校正方法第四实施例的流程示意图;

图6是本发明打光校正方法第五实施例的流程示意图;

图7是本发明打光校正方法第六实施例的流程示意图;

图8是本发明打光校正方法一实施例中对反射区域进行标定的示意图;

图9是本发明打光校正装置第一实施例的结构示意图;

图10是本发明打光校正装置第二实施例的结构示意图。

具体实施方式

下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完整地描述。以下各实施例中不相互冲突的可以任意结合。显然,所描述的实施方式仅仅是本发明一区域分实施方式,而不是全区域实施方式。基于本发明中的实施方式,本领域普通技术人员在没有做出创造性的劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。

如图1所示,本发明打光校正方法第一实施例包括:

s11:采集检测对象在光源照射下的图像。

控制图像采集装置,例如相机、摄像头等采集检测对象在光源照射下的图像。图像采集装置可以在检测对象进入自身的视野范围内时进行拍摄以采集检测对象的图像。

s12:至少利用检测对象的图像对检测对象进行定位以获取检测对象的空间位置。

由于检测对象的空间位置是用于后续的检测对象表面的打光校正,因此应至少包括检测对象的可见表面的空间坐标,可以用检测对象的可见表面轮廓形状及关键点的空间坐标来表示,当然也可以用检测对象的完整表面轮廓形状及关键点的空间坐标来表示。可见表面是指采集到的图像中的检测对象的表面。

根据检测对象的图像可以识别出检测对象以获取检测对象可见表面的坐标。由于检测对象的图像为从某个角度拍摄得到的平面图像,识别得到的坐标只是在该平面图像内的坐标,无法完整的反映检测对象所有维度上的空间信息,可能需要结合其他信息得到检测对象的空间位置。

在本发明一个实施例中,利用检测对象的图像结合检测对象的深度图像和/或立体模型信息来获取检测对象的空间位置。深度图像是使用深度传感器对检测对象进行采集得到的,包括检测对象各部分的深度值,即相对于深度传感器的距离。根据检测对象的深度值,在图像和深度图像中的坐标以及深度传感器和图像采集装置的位置和参数(包括其中的图形传感器的尺寸和分辨率),可以计算出检测对象的空间位置。立体模型信息一般包括检测对象的形状以及在各维度上的尺寸信息。根据检测对象在图像中的尺寸和其实际的尺寸,结合图像采集装置的参数可以计算出检测对象相对于图像采集装置的距离,然后结合图像采集装置的位置和检测对象的立体模型信息可以计算出检测对象的空间位置。

在其他实施例中,如果检测对象与图像采集装置之间的距离是已知的,例如检测对象在带有标记的流水线上传输,标记用来表示与图像采集装置之间的距离,那么根据检测对象在图像中的坐标,检测对象与图像采集装置之间的距离和图像采集装置的位置和参数,可以计算出检测对象的空间位置。

s13:利用检测对象的空间位置及预先获取的光源的光场信息获取检测对象可见表面的光场分布。

一般而言,检测对象可见表面的光场分布包括检测对象可见表面的各部分的入射光强度,光源的光场信息包括每个光源的每个可见方向的出射光强度。

在规则状态(光源的光场信息和检测对象的可见表面都可以用函数表示)下,检测对象可见表面的光场分布可以根据光源的光场函数和检测对象的可见表面函数计算得到。在不规则状态(光源的光场信息和检测对象的可见表面中的至少一个无法用函数表示)下,可以将检测对象的可见表面划分为多个部分,根据检测对象的空间位置和已知的每个光源的位置,能够计算出检测对象可见表面各部分相对于每个光源的距离,结合光源与检测对象之间的光传播介质的光衰减系数(一般为常数)及光衰减模型,能够计算出入射光强度。例如,光源只有一个,检测对象可见表面上的某个部分相对于该光源的距离为d,该光源在该方向上的出射光强度为i0,光衰减系数为α,则该部分的入射光强度i=i0*exp(-α*d)。

在采集到的图像中,检测对象的可见表面是由多个像素点组成的,为了便于后续的打光校正,在不规则状态下,可以选择按照像素点的分布来对应划分检测对象的可见表面,划分出来的每个部分对应图像中的若干个相邻的像素点。当然也可以采用其他方式来划分检测对象的可见表面。

s14:根据光场分布对检测对象的图像进行打光校正。

图像中对应检测对象的各像素点的灰阶值反映了检测对象可见表面的反射光强度,反射光的强度与入射光的强度成正比关系,因此根据s13中得到光场分布可以相应地对检测对象的图像进行打光校正,调整其中对应检测对象的至少部分像素点的灰阶值,打光校正之后的图像中检测对象的光场均匀性提高。

举例说明,原始图像中对应检测对象的像素点共有n个,其灰阶值为{g1,g2,…gn},对应的光场分布为{i1,i2,…in},调整之后的灰阶值为{g1,g2,…gn},gj=min{int(ij*gj/ij),m},j=1,2,…,n。其中表示ij表示第j个像素点调整之后的光强,int(·)表示取整数,m为灰阶值的最大值。调整之后的光场分布{i1,i2,…in}比原始图像的光场分布的均匀性更高,一般表现为{i1,i2,…in}的方差/标准差小于{i1,i2,…in}的方差/标准差。如果对于所有的对应检测对象的像素点,ij均等于同样的常数,则调整之后的光场均匀分布。本例中采用乘以根据光场分布得到的系数的方式来调整灰阶值仅为示意,也可以采用其他方式实现根据光场分布调整灰阶值。

通过上述实施例的实施,利用检测对象的空间位置及预先获取的光源的光场信息获取检测对象可见表面的光场分布,根据光场分布对检测对象的图像进行打光校正,打光校正不仅能对抗单一图像中检测对象可见表面的光场不均匀,还能对抗不同图像中检测对象位于不同位置时的光场差异,降低打光不均匀对图像造成的影响,使得图像与实际检测物体之间的误差减小,从而提高工业视觉检测的准确度。

如图2所示,本发明打光校正方法第二实施例,是在本发明打光校正方法第一实施例的基础上,光源的光场信息的获取方式包括:

s21:采集标定板在光源照射下的图像。

控制图像采集装置采集标定板在光源照射下的图像。本步骤中的图像采集装置与步骤s11中所用的图像采集装置相同,光源即为步骤s11中的光源。图像采集装置相同一般是指两次所用的图像采集装置是同一个或者同样型号,且安装在同样的位置及角度。

标定板上具有至少一个反射区域,反射区域能够反射入射光,其颜色不为纯黑,为避免环境色温的影响,反射区域的颜色一般为白色或者灰色。为了与环境区分开以降低识别难度,标定板上除了反射区域之外,还可以有黑色的非反射区域。反射区域和非反射区域可以组成特定图案以便于定位,例如黑白/黑灰/黑白灰交错的格子图案。如果标定板上的反射区域数量不止一个,那么不同的反射区域之间可以设有非反射区域以进行间隔。

s22:根据标定板的图像及标定板上反射区域的反射率获取反射区域所在的空间位置的入射光强。

执行本步骤之前需要获取标定板上反射区域至少一个方向上的反射率。如果反射区域的反射率具备各向同性,即反射率大小与入射光角度无关,那么计算入射光强时不需要考虑入射光的角度;反之如果反射区域的反射率不具备各向同性,则计算入射光强时需要考虑入射光的角度,可以根据反射区域的空间位置和光源的空间位置计算得到入射光的角度。

s23:至少利用入射光强获取光源的光场信息。

得到的光源的光场信息需要存储下来以用于后续的检测对象的图像的打光校正。

如果能够移动标定板使其反射区域覆盖图像采集装置的视野范围中的每个部分并且每次移动标定板都重复执行前两个步骤,则可以将视野范围中的每个部分的入射光强作为光源的光场信息。由于数据量十分庞大,可以考虑对入射光强-空间位置之间的关系进行建模以减少要占用的存储空间。移动标定板包括对标定板进行平移和/或旋转,从而改变标定板的空间位置。

上述方法需要非常大的工作量,为减少工作量,在本发明一个实施例中,利用光源对应的辐射模型和获取的入射光强来获取光源的光场信息。光源对应的辐射模型可以是其理论辐射模型,也可以是根据实际光源的特性为其建立的辐射模型。

光源对应的辐射模型一般至少包括光源的出射光强度与方向的关系,除此之外,还可以包括出射光在传播过程中的衰减模型。移动标定板并重复执行前两个步骤若干次,根据得到的不同空间位置的入射光强来计算出光源的辐射模型中的未知参数,可以得到光源在每个可见方向的出射光强度。光源的光场信息中至少包括其在每个可见方向的出射光强度,除此之外,还可以包括出射光在传播过程中的衰减模型。如果光源的数量大于一,为了简化模型减少计算量,可以选择为每个光源独立测量。

通过上述实施例的实施,利用已知反射区域的反射率的标定板对光源的光场进行标定,能够获取光源的光场信息,以用于后续的打光校正。

如图3所示,本发明打光校正方法第三实施例,是在本发明打光校正方法第二实施例的基础上,步骤s22包括:

s221:根据标定板的图像对反射区域进行定位以获取反射区域所在的空间位置。

可以根据标定板的图像识别出其中的反射区域的坐标,结合反射区域的实际尺寸,图像采集装置的位置与参数,可以计算反射区域所在的空间位置的空间坐标,实现对反射区域的定位。

可以直接对反射区域进行定位,也可以先对标定板进行定位然后根据标定板的空间位置确认反射区域的空间位置。如果反射区域的数量大于一,也可以选择先对其中的一个反射区域进行定位,然后结合反射区域的分布来确定其他反射区域的空间位置。

如图4所示,在本发明打光校正方法一个实施例中,步骤s221具体包括:

s2211:根据标定板的图像对标定板进行定位以获取标定板的空间位置信息。

s2212:根据反射区域在标定板上的分布信息及标定板的空间位置信息确定反射区域所在的空间位置。

本实施例中采用先对标定板进行定位,再根据标定板的空间位置和已知的反射区域在标定板上的分布信息确定反射区域的空间位置,在反射区域的数量大于一的情况下,能够省去不同反射区域的识别和定位过程,特别是在反射区域的数量较多的情况下,可以有效的减少计算量。

s222:根据标定板的图像中反射区域的灰阶值获取反射区域的反射光强。

灰阶值的大小反映了反射区域在光源照射下的反射光强。可以直接使用灰阶值来表示反射光强,也可以对灰阶值进行一定处理,例如归一化处理之后来表示反射光强。

s223:根据反射光强及反射区域的反射率获取反射区域所在的空间位置的入射光强。

反射光强为ir,反射率为r,则入射光强ii=ir/r。如果反射区域的反射率具有各向同性,则反射率r为常数,如果反射区域的反射率不具有各向同性,则其反射率r与入射光角度相关,计算出入射光角度之后得到该角度下的反射率。可以根据光源的空间坐标(如果是线光源/面光源,可以为其中心点)和反射区域中指定点(例如中心点)的坐标计算出两者之间连线相对于指定平面,例如水平面/垂直面的夹角θ1,根据反射区域的空间位置,能够计算出反射区域相对于该平面的夹角θ2,则入射光角度(入射光与反射区域的夹角)θ3=|θ1-θ2|。

如图5所示,本发明打光校正方法第四实施例,是在本发明打光校正方法第二实施例的基础上,在获取光源的光场信息时需要用到光源的辐射模型,步骤s22之前进一步包括:

s24:为光源建立对应的辐射模型。

光源的类型一般包括点光源、线光源、面光源及其组合,点光源/线光源/面光源的理论辐射模型是建立在其出射光在发光点/线/面上均匀分布的基础上的。而实际应用中,由于发光元件和/或混光材料的不均匀性,点光源/线光源/面光源的出射光往往不是均匀分布的。为进一步提高光源光场信息的准确度,可以选择为光源建立对应的辐射模型。在后续步骤中可以使用本步骤建立的实际辐射模型结合反射区域的入射光强来获取光源的光场信息。

如图6所示,本发明打光校正方法第五实施例,是在本发明打光校正方法第四实施例的基础上,光源包括线光源和/或面光源,步骤s24具体包括:

s241:采集线光源/面光源的图像。

将相机正对线光源/面光源的发光线/面来采集其图像。这里使用的相机与之前用于采集检测物体/标定板图像的图像采集装置不一定相同。

s242:根据线光源/面光源的图像确认线光源/面光源的出射光强分布。

根据图像中对应线光源/面光源的像素点的灰阶值分布来确认其出射光强分布。一般而言,灰阶值越大对应的光强越高。

s243:根据出射光强分布将线光源/面光源等效为多个点光源。

可以按照出射光强分布将线光源/面光源划分为多个部分,同一部分内的出射光强的离散程度(可以用灰阶值的方差或标准差来表示)应当小于预设的第一阈值,相邻部分的出射光强的平均值之差大于预设的第二阈值。对于划分出的每个部分,可以选择直接将其等效为一点光源;也可以选择根据其面积进行再次划分,即将面积小于或者等于第三阈值的部分直接等效为点光源,将面积大于第三阈值的部分再次划分为至少两个面积小于或者等于第三阈值的子部分,并将每个子部分等效为一个点光源。

s244:为每个等效的点光源建立对应的辐射模型。

可以采用点光源的理论模型作为其对应的辐射模型,也可以根据s202中得到的该点光源的光强分布为其建立对应的辐射模型。

s245:将所有等效的点光源的辐射模型的集合作为线光源/面光源的辐射模型。

对于等效为多个点光源的线光源/面光源,在结合反射区域的入射光强获取该线光源/面光源的光场信息时,可以选择整体控制该线光源/面光源,也可以选择独立控制该线光源/面光源中的每个等效点光源,例如,根据等效结果在该线光源/面光源增加一光学装置,该装置部分透光,剩余部分遮光,控制该装置透光部分的位置与大小使之与当前控制的等效点光源对应。

本实施例中是根据线光源/面光源的出射光强分布将线光源/面光源等效为多个点光源。在其他实施例中,也可以选择简单的将线光源/面光源划分为多个部分,每个部分等效为一个点光源。两者相比,本实施例中等效出来的点光源的辐射模型更接近于理想模型,也可以使用等效点光源的实际模型,最后得到的线光源/面光源的辐射模型准确性更高。

如图7所示,本发明打光校正方法第六实施例,是在本发明打光校正方法第二实施例的基础上,步骤s22之前进一步包括:

s25:检测反射区域的双向反射分布函数以获取反射区域的各向反射率。

这一过程也可以被称为对标定板上反射区域的标定。双向反射分布函数(bidirectionalreflectancedistributionfunction,brdf)定义了给定入射方向上的辐射照度(irradiance)如何影响给定出射方向上的辐射率(radiance),即入射光线经过某个表面反射后如何在各个出射方向上分布。根据brdf可以获取反射区域的各向反射率。举例说明,如图8所示,对图中左半部分的标定板右下角的反射区域进行标定,用已知光强的入射光从各个角度照射该反射区域,测量反射光强,反射光强除以入射光强即为当前角度下的反射率,可以绘出图中右下角的反射率-角度的图像,该图像即可表示反射区域的各向反射率。

由于对标定板上反射区域的标定过程十分繁琐,可以使用镜面反射或者漫反射材料的反射区域,由于镜面反射/漫反射材料的brdf模型已知,少数次测量即可确定反射区域的各向反射率,从而简化该过程。此外,如果标定板上反射区域的数量大于一,且不同反射区域的均匀性较好,可以只对一个反射区域进行标定,将获取的各向反射率作为所有反射区域的各向反射率。

可以在每次标定光源光场的过程中都完整执行本步骤;也可以选择只完整执行一次本步骤(例如在出厂时或者初次标定光源光场过程中),后面的标定光源光场中直接使用已获取的各向反射率,或者选择几个角度进行抽检,验证已获取的各向反射率正确之后再使用。

如图9所示,本发明打光校正装置第一实施例包括:处理器110和存储器120,处理器110连接存储器120。

存储器120用于处理器110工作所需的指令和数据。

处理器110控制打光校正装置的操作,处理器110还可以称为cpu(centralprocessingunit,中央处理单元)。处理器110可能是一种集成电路芯片,具有信号的处理能力。处理器110还可以是通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

处理器110用于执行存储器120中存储的指令以实现本发明打光校正方法任一实施例以及不冲突的组合所提供的方法。

打光校正装置可以是工业视觉系统中的一个独立装置,设置于图像采集装置和图像处理装置之间,也可以与图像处理装置集成在一起。

如图10所示,本发明可读存储介质第一实施例包括:存储器210。存储器210存储有指令,该指令被执行时实现本发明打光校正方法任一实施例以及不冲突的组合所提供的方法。

存储器210可以包括只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、闪存(flashmemory)、硬盘、光盘等。

以上所述仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1