基于局部光照归一化的钢板缺陷检测方法与流程

文档序号:17732175发布日期:2019-05-22 02:55阅读:270来源:国知局
基于局部光照归一化的钢板缺陷检测方法与流程

本发明涉及一种钢板缺陷检测方法,具体涉及一种基于局部光照归一化的钢板缺陷检测方法。

(二)、

背景技术:

大多数金属的缺陷检测主要关注划痕、断裂、凹坑、油污等特征,对于传统的视觉检测设备而言,检测一种平面金属物体是较为简单的,只需部署足够均匀的光源、克服高光反射即可直接应用典型的边缘增强算法,再通过阈值化处理得到检测结果。非平面金属物体主要是指具有一定曲率的金属产品或零部件,对于非平面钢板的检测,基于传统的缺陷检测系统无法部署足够精确、理想的光源系统,因此,非平面待检测样品难以克服光源不均一这一特性,非平面带来的反射问题使传统的阈值检测方法无法推广到曲面产品上。

一般的缺陷检测系统主要分为滚筒展开检测系统和零件切片检测系统两种,而检测设备又分为线阵相机和面阵相机两种,甚至也有基于激光三维重建技术的检测设备。一般的缺陷检测系统具有体积大、调试难、部署难的问题,体积大主要在于滚筒展开的体机较大。滚筒展开检测系统所使用的是线阵相机而非面阵相机,线阵相机主要应用在基于扫描拼接的图像采集技术的检测设备中,因此,面阵相机无法使用,而线阵相机的成本高,部署精度要求也高,无法灵活推广至其它类似金属物体的缺陷检测中;另一种是基于面阵相机阵列的缺陷检测系统,该系统的局限在于只能通过设计足够理想的光源才能在拼接过程中不产生光斑问题。因此,这两种缺陷检测系统都不适合作为非平面钢板的主要检测方法。

随着制造业的发展,越来越多的异形曲面钢板零件质量控制要求随着生产技术和应用场景的进步而提高,检测设备的部署难易程度和部署速度也成为检测方案的评价内容。因此,目前的制造业尤其特质金属板材的生产商需要一种部署灵活,易于搭建、易于调试的新型系统,同时,实施成本也要求更低。

现有的板材缺陷检测方法并不能很好地实现非平面钢板的缺陷检测,其主要原因在于光源在曲面的表面上会产生不一样的反射效果,进而对光源产生更高的要求,需要使用环形同轴光源或者更能精确摆放的面光源等。

曲面的非平面钢板缺陷检测难以灵活实施的主要原因在于无法克服其曲面导致的光照度不同,现有的检测方法没有很好地摆脱光源的高要求问题。

(三)、

技术实现要素:

本发明要解决的技术问题是:提供一种基于局部光照归一化的钢板缺陷检测方法,该方法可实现对平面钢板缺陷或不均匀光照下难以检测的非平面钢板缺陷的有效检测,检测灵敏度高,成本低,易于实现。

本发明的技术方案:

一种基于局部光照归一化的钢板缺陷检测方法,含有以下步骤:

步骤一、使用彩色面阵相机对钢板表面进行拍照,彩色面阵相机的传感器采集到一帧拜尔阵列的原始图像数据;

步骤二、将原始图像数据经过换算公式处理为单通道分量的灰度图;

步骤三、通过对单通道分量的灰度图进行处理得到降采样的灰度图像;

步骤四、使用盒型均值滤波器处理灰度图像,对钢板亮度分布进行计算,得到局部光照数据;

步骤五、使用求商的方式比较灰度图像纹理和局部光照数据之间的亮度差异,得到亮度差异数据;

步骤六、将亮度差异数据做阈值化处理,得到二值图像;

步骤七、对二值图像闭合处理,对闭合处理的连通域进行包围框检测,得到包围框中心锚点位置;

步骤八、对定位的包围框内部用评分公式进行计算,根据评分值对钢板显著的缺陷进行分类。

步骤一中使用彩色面阵相机而不使用灰度相机的原因在于本发明方法可以克服大多数非理想情况,同时对相机的位深精度要求不高,而常见的灰度相机通常有10~14bit不等甚至更高的动态范围,对于钢板缺陷检测,一般的缺陷在8bit精度下所能呈现的灰阶变化普遍高于20个灰阶,因此,理论具备8bit传感器adc都可以基于本方法进行实施。

步骤二中,使用2×2大小的cfa采样窗得到原始图像数据阵列内的r、g、g、b四个分量,并换算为单通道分量的灰度图。

一般的拜尔像素阵列是2×2的一种像素排列,对于提取的像素亮度结果,可以以以下矩阵表示:

其中,cfa是colorfilterarray的简称,也称色彩滤波阵列,在此对一组阵列用cfa名称表示,cfa(x,y)指cfa阵列以2×2的大小为单元时坐标的位置

为了灰度化拜尔阵列数据,一种简单有效的实施方式如下公式所示:

其中,g(x,y)是得到的单通道分量值,通过对cfa单元的像素点求最大值得出。

一般的面阵传感器的adc精度为10bit,通过一种映射手段保留10bit信息的同时使用8bit进行后面的信息处理。

在此定义一种带精度压缩的重映射表达式:

显然当输入位深为10,输出位深为8时:

进一步,为了得到较为准确的高光信息,需要对浮点结果四舍五入:

至此得到了可以转为8bit整形的图像。

其中,i(x,y)为最终得到的单通道灰度图像。

步骤三中,为了加快处理速度以及降噪问题的考量,使用整数倍宽度的正方形采样窗口对单通道分量的灰度图进行降采样得到降采样的灰度图像。

定义一个n×n大小的降采样卷积核,系数表达如下:

当滑动卷积核x轴和y轴步进大小为n时,即可实现一种均值去噪的降采样效果。

步骤四中,使用盒型滤波器对降采样图像进行处理,光照局部归一化的局部大小为滤波器卷积核大小,卷积表达式如下:

其中,wf(x,y)是锚点位于卷积核原点位置(一般为左上角)的均值滤波器滑动窗,大小为一大于1的整数。求和运算位于窗wf内运行,最终乘以缩放常数c。

缩放常数c的定义如下:

即缩放常数为求和窗口所包含像素数量的倒数。

步骤五中,使用求商的方式为:使用除法计算使局部光照数据和灰度图像数据进行归一化处理。

对f(x,y)和i(x,y)进行求商运算,归一化局部亮度,得到处理后的图像z。

至此,得到的图像z具有和线扫描相机得到的光照均一的拼接结果一样,能够明显地得到缺陷信息,且可以直接阈值化。

步骤六中,在实际应用过程中,若本发明的流程是逐帧执行且为一种扫描工件的形式,则需要保证本处理流程的处理时间恒定可控。

一般而言,输入图像p,则阈值化可以表示为:

上式中,c为当前位深的最大表示范围:

c=2depth-1=28-1=255

由于上述的计算可以通过查表来避免cpu缓存命中率变低导致的处理速度不一致问题,在此构建阈值化查找表tlut:

对于灰阶i的图像,定义一个阈值threshold后:

基于此,可以实现阈值化查表运算,保证计算时间恒定。

最终,得到了二值图像b:

b(x,y)=tlut(z(x,y))

步骤七中,进行一般的连通域分析,得到边界框recti。

步骤八中,通过计算连通域面积与包围框面积的商进行评分,根据评分值区分较为显著的缺陷类型、高光区域和阴影影响区域。

采用积分方法计算连通域面积和包围框面积。

在此定义一个归类方法来判定缺陷是否为划痕,由于其余缺陷为油污、凹坑等小且密集的缺陷,定义归类代价函数:

其中,对roi(recti)内的连通域像素求和,得到连通域面积,对recti内的长宽求积,得到边界框面积。

最终的得分为两者的商。因此,当s足够小时,则认为是划痕,一般设置阈值为0.08。

本发明的有益效果:

1、本发明使用面阵相机和简单的面光源,通过使用局部光照归一化方法即可实现对平面钢板缺陷或不均匀光照下难以检测的非平面钢板缺陷的有效检测,检测灵敏度高。

2、本发明中克服了传统钢板缺陷检测方法中需要特制检测装备或特殊相机,克服了光源亮度不平衡的问题,无需使用线扫描相机或者相机阵列,亦无需使用特殊的超均匀led条形光源及面光源等高精度光源,具有装备集成容易、检测成本低、集成方式灵活。

3、本发明对相机的摆放要求低,使用三脚架、或者其它方法简单固定相机即可,能够灵活地实施在各种工况下的加工车间、库房场景中。

4、本发明可以以软件的形式集成在任何计算机设备中或典型的机电系统中,对处理器的性能要求较低,易于实现。

(四)、附图说明

图1为本发明中处理局部光照归一化的算法框图;

图2为本发明控制处理时长建立阈值化查找表的流程框图。

(五)、具体实施方式

基于局部光照归一化的钢板缺陷检测方法含有以下步骤:

步骤一、使用彩色面阵相机对钢板表面进行拍照,彩色面阵相机的传感器采集到一帧拜尔阵列的原始图像数据;

步骤二、将原始图像数据经过换算公式处理为单通道分量的灰度图;

步骤三、通过对单通道分量的灰度图进行处理得到降采样的灰度图像;

步骤四、使用盒型均值滤波器处理灰度图像,对钢板亮度分布进行计算,得到局部光照数据;

步骤五、使用求商的方式比较灰度图像纹理和局部光照数据之间的亮度差异,得到亮度差异数据;

步骤六、将亮度差异数据做阈值化处理,得到二值图像;

步骤七、对二值图像闭合处理,对闭合处理的连通域进行包围框检测,得到包围框中心锚点位置;

步骤八、对定位的包围框内部用评分公式进行计算,根据评分值对钢板显著的缺陷进行分类。

步骤一中使用彩色面阵相机而不使用灰度相机的原因在于本发明方法可以克服大多数非理想情况,同时对相机的位深精度要求不高,而常见的灰度相机通常有10~14bit不等甚至更高的动态范围,对于钢板缺陷检测,一般的缺陷在8bit精度下所能呈现的灰阶变化普遍高于20个灰阶,因此,理论具备8bit传感器adc都可以基于本方法进行实施。

步骤二中,使用2×2大小的cfa采样窗得到原始图像数据阵列内的r、g、g、b四个分量,并换算为单通道分量的灰度图。

一般的拜尔像素阵列是2×2的一种像素排列,对于提取的像素亮度结果,可以以以下矩阵表示:

其中,cfa是colorfilterarray的简称,也称色彩滤波阵列,在此对一组阵列用cfa名称表示,cfa(x,y)指cfa阵列以2×2的大小为单元时坐标的位置

为了灰度化拜尔阵列数据,一种简单有效的实施方式如下公式所示:

其中,g(x,y)是得到的单通道分量值,通过对cfa单元的像素点求最大值得出。

一般的面阵传感器的adc精度为10bit,通过一种映射手段保留10bit信息的同时使用8bit进行后面的信息处理。

在此定义一种带精度压缩的重映射表达式:

显然当输入位深为10,输出位深为8时:

进一步,为了得到较为准确的高光信息,需要对浮点结果四舍五入:

至此得到了可以转为8bit整形的图像。

其中,i(x,y)为最终得到的单通道灰度图像。

步骤三中,为了加快处理速度以及降噪问题的考量,使用整数倍宽度的正方形采样窗口对单通道分量的灰度图进行降采样得到降采样的灰度图像。

定义一个n×n大小的降采样卷积核,系数表达如下:

当滑动卷积核x轴和y轴步进大小为n时,即可实现一种均值去噪的降采样效果。

步骤四中,使用盒型滤波器对降采样图像进行处理,光照局部归一化的局部大小为滤波器卷积核大小,卷积表达式如下:

其中,wf(x,y)是锚点位于卷积核原点位置(一般为左上角)的均值滤波器滑动窗,大小为一大于1的整数。求和运算位于窗wf内运行,最终乘以缩放常数c。

缩放常数c的定义如下:

即缩放常数为求和窗口所包含像素数量的倒数。

步骤五中,使用求商的方式为:使用除法计算使局部光照数据和灰度图像数据进行归一化处理。

对f(x,y)和i(x,y)进行求商运算,归一化局部亮度,得到处理后的图像z。

至此,得到的图像z具有和线扫描相机得到的光照均一的拼接结果一样,能够明显地得到缺陷信息,且可以直接阈值化。

局部光照归一化的处理流程如图1所示。

步骤六中,在实际应用过程中,若本发明的流程是逐帧执行且为一种扫描工件的形式,则需要保证本处理流程的处理时间恒定可控。

一般而言,输入图像p,则阈值化可以表示为:

上式中,c为当前位深的最大表示范围:

c=2depth-1=28-1=255

由于上述的计算可以通过查表来避免cpu缓存命中率变低导致的处理速度不一致问题,在此构建阈值化查找表tlut:

对于灰阶i的图像,定义一个阈值threshold后:

具体构建阈值查找表tlut的流程图如图2所示。

基于此,可以实现阈值化查表运算,保证计算时间恒定。

最终,得到了二值图像b:

b(x,y)=tlut(z(x,y))

步骤七中,进行一般的连通域分析,得到边界框recti。

步骤八中,通过计算连通域面积与包围框面积的商进行评分,根据评分值区分较为显著的缺陷类型、高光区域和阴影影响区域。

采用积分方法计算连通域面积和包围框面积。

在此定义一个归类方法来判定缺陷是否为划痕,由于其余缺陷为油污、凹坑等小且密集的缺陷,定义归类代价函数:

其中,对roi(recti)内的连通域像素求和,得到连通域面积,对recti内的长宽求积,得到边界框面积。

最终的得分为两者的商。因此,当s足够小时,则认为是划痕,一般设置阈值为0.08。

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