(一)、技术领域:
本发明涉及一种气孔检测方法,特别涉及一种基于朗伯体反射建模的陶瓷表面气孔检测方法。
(二)、背景技术:
陶瓷工件在烧结为成品后其表面会出现如磕碰、崩边或气孔等缺陷,特别是高精密的陶瓷工件,表面缺陷特别是表面细小气孔会严重影响其质量和使用。
对于高精密的陶瓷工件,现有的检测方法一种是基于三维点云重建技术对陶瓷工件表面明显的磕碰、崩边进行检测,其原理是将陶瓷工件表面信息计算为三维点云,并对点云中出现的凹陷、反射强度较低的局部区域进行分割。所使用的三维点云重建技术一般是基于线扫描的,而非面扫描或其它无需运动轨迹的扫描技术,其主要原因是陶瓷表面纹理偏少,线扫描技术可以基于电机编码器等位置反馈信息进行点云拼接,能够保证检测系统具有较强的稳定性。但此类检测系统存在有以下问题:1、由于扫描路径的限制无法均匀地对曲面物体进行扫描和建模,例如叶片等;2、受限于点阵投影精度,无法对微小物体进行建模;3、受限于分辨率,无法捕捉气孔特征并区别细小的气孔;4、受限于反射问题,无法对某些图层的表面进行扫描;5、扫描速度过慢。
另一种检测方法是基于面阵相机,通过使用光度立体法对气孔进行建模。该方法是利用了气孔表面的局部不规则性,能够较好地对气孔纹理进行提取,但会混入大量脏点,在生成建模结果时,脏点也会在深度图上出现凹凸的特征。因而此类检测系统存在以下问题:1、受限于光度立体法,无法在自由的光照环境中检测,需要使用校准后的专用光源;2、检测系统处理速度慢,计算量大;3、无法区分脏点和气孔。并且有一些陶瓷工件,其表面需要参杂颗粒物,光度立体法无法将颗粒物和气孔区分开来,也就无法检测气孔缺陷。
(三)、发明内容:
本发明要解决的技术问题是:提供一种基于朗伯体反射建模的陶瓷表面气孔检测方法,该方法检测成本低,检测效率高,检测精度高,检测系统的鲁棒性强。
本发明的技术方案:
一种基于朗伯体反射建模的陶瓷表面气孔检测方法,含有以下步骤:
步骤一、使基于拜尔阵列的彩色面阵相机面向待检测陶瓷工件,待检测陶瓷工件位于彩色面阵相机视野内,在点光源下用彩色面阵相机进行拍照,捕捉到一帧待检测陶瓷工件的图像数据;
步骤二、对相机的图像进行预处理,能够在陶瓷工件表面存在彩色时尽可能将其处理为白色的纯色表面:通过RGB分量可知,无论任何颜色,当色彩纯度较大时必然有某个通道代表了等效于白色的灰度,即一种明度特征;基于此对步骤一中得到的图像数据进行灰度化处理,经过灰度化处理后得到灰度图像G;
通过Lambert(朗伯)光照模型,可以分析其基础公式BRDF函数:
在一个环境球内,即在三维世界中设球坐标系,外界光照属性为I(λ,θi,φi),反射光属性为R(λ,θr,φr),那么物体反射属性s(λ,θi,φi,θr,φr)的对应强度为:
其中,θ,φ分别为入射/反射的光线角度,λ则是光谱信息。
又由于图像中的脏点、表面纹理都是漫反射的,进一步化简,抛开环境和坐标系因素,可以发现Lambert建模是直接等效于SQI(自商图像)的:
这里,由于将图像R视为一漫反射平面,则反射规则是各向同性的,没有额外的损耗因素。
S即是反射属性,也是纹理信息,R在此可以等效为原来的灰度图像G,而I则需要手动建模。
步骤三、对得到的灰度图像G进行基于局部的光强分布建模,得到视觉上类似模糊的图像,作为朗伯(Lambert)模型中的光强分布图像I;
步骤四、将灰度图像G和光强分布图像I带入BRDF函数的等效公式中,得到脏点图像D;其中,λ是光谱信息,灰度图像G对应R(λ),光强分布图像I对应I(λ),脏点图像D对应s(λ);
气孔的梯度特征和脏点的梯度特征不同,在各个方向上,脏点的梯度强度是近似相同的,而气孔则不同。
由于单独对气孔建模较难,因此倒过来对脏点的边缘即梯度响应建立边缘检测卷积核。
步骤五、基于x轴和y轴方向分别构建假设各向同性的扩张卷积核Kx,Ky:
基于该卷积模板进行二维卷积,卷积结果分为Kx,Ky两个卷积核的对应结果,在此,需要对两者相加,其作用是得到行列方向对应的梯度,相加结果即为各向同性先验的结果。
步骤六、基于扩张卷积核Kx,Ky,对灰度图像G进行卷积,并对卷积后得到的两个幅值进行相加,得到各向异性梯度响应图A;基于扩张卷积核Kx,Ky,对脏点图像D进行卷积,并对卷积后得到的两个幅值进行相加,得到各向同性梯度响应图B;
各向异性梯度响应图和各向同性梯度响应图在气孔区域的响应强度上有差别:
对灰度图像进行边缘检测,得到的各向异性梯度中包含了气孔区域的亮度梯度,这和普通视觉检测的效果相似;
由于对灰尘进行了精细的提取,对其检测的结果即为真正的各向同性梯度,可以看到气孔区域的响应非常小;
因此,响应图之间的响应在大多数区域是一样的,而不一样的区域即为气孔区域。
步骤七、为了得到各向异性梯度响应图A和各向同性梯度响应图B的差异,可以采用做差、做商的方法,由于两者的值域分布相差较小,因此需要对各向异性梯度响应图A和各向同性梯度响应图B进行极差标准化,并转换为浮点型;
此处,由于差异过小,在浮点运算时,做差的结果再进行极差标准化,则会受到大脏点的过强梯度的影响,在量化后,小幅度的细节会丢失。
步骤八、为了防止量化误差的影响,对步骤八中处理过的各向异性梯度响应图A和各向同性梯度响应图B进行SQI(自商图像)计算,如下式所示:
然后,对计算结果进行极差标准化,即可得到气孔特征响应图;
步骤九、对得到的气孔特征响应图使用自适应阈值或分水岭算法进行气孔区域分割,得到气孔的准确位置。
步骤二中,使用对RGB通道分量取最大值的方式得到灰度图像G,其函数表达式如下:
G(x,y)=MAX(R(x,y),G(x,y),B(x,y))
其中,G(x,y)是位置(x,y)处的最强明度,MAX(R(x,y),G(x,y),B(x,y))是求三个输入值中最大值的函数,R(x,y),G(x,y),B(x,y)分别代表位置(x,y)处的像素中红、绿、蓝通道分量值,至此,得到了理想的灰度图像。
步骤三中,对灰度图像G进行基于形态学的闭运算,然后,用一个3×3结构,不断对闭运算的结果进行迭代处理。理论上迭代次数越多越好,但会提高计算量,因此实施者在实施时需要手动实验,结合实际环境,找到最佳参数。该参数是本发明中唯一需要手工调整的参数。至此,得到光强分布图像I。
本发明的有益效果:
1、本发明仅需使用面阵相机,只需单张图像,在点光源下就能够提取陶瓷表面的微小气孔的反射特征,经处理后得到微小气孔的准确位置,并与陶瓷表面的颗粒、纹理和类似气孔的小型表面缺陷区分开来,系统的鲁棒性强,可显著提高陶瓷工件的生产精度。
2、本发明极大程度降低了对光源的要求,无需使用平面光源、同轴光源等特种光源,可以使用普通的点光源,缩减了检测系统的体积,大大降低了检测成本。
3、本发明能够快速、高分辨率地提取陶瓷工件表面气孔特征,对图像的处理速度快,计算量低,检测时间缩短,提高了陶瓷工件的检测效率。
(四)、附图说明:
图1为彩色面阵相机所摄的经灰度化处理后得到的灰度图像G;
图2为灰度图像G及脏点和气孔的局部放大图;
图3为对灰度图像G处理后得到的光强分布图像I;
图4为由灰度图像G和光强分布图像I得到的脏点图像D;
图5为对灰度图像G进行卷积操作后得到的各向异性梯度响应图A;
图6为对脏点图像D进行卷积操作后得到的各向同性梯度响应图B;
图7为气孔特征响应图;
图8为基于朗伯体反射建模的陶瓷表面气孔检测方法流程图。
(五)、具体实施方式:
基于朗伯体反射建模的陶瓷表面气孔检测方法,见图8,含有以下步骤:
步骤一、使基于拜尔阵列的彩色面阵相机面向待检测陶瓷工件,待检测陶瓷工件位于彩色面阵相机视野内,在点光源下用彩色面阵相机进行拍照,捕捉到一帧待检测陶瓷工件的图像数据;
步骤二、对相机的图像进行预处理,能够在陶瓷工件表面存在彩色时尽可能将其处理为白色的纯色表面:通过RGB分量可知,无论任何颜色,当色彩纯度较大时必然有某个通道代表了等效于白色的灰度,即一种明度特征;基于此对步骤一中得到的图像数据进行灰度化处理,经过灰度化处理后得到灰度图像G,如图1所示;
为了能够明显看到气孔的特点,图2的放大区域是对局部的灰度范围进行拉伸,可以看出黑色区域是脏点,凹陷区域是气孔。
通过Lambert(朗伯)光照模型,可以分析其基础公式BRDF函数:
在一个环境球内,即在三维世界中设球坐标系,外界光照属性为I(λ,θi,φi),反射光属性为R(λ,θr,φr),那么物体反射属性s(λ,θi,φi,θr,φr)的对应强度为:
其中,θ,φ分别为入射/反射的光线角度,λ则是光谱信息。
又由于图像中的脏点、表面纹理都是漫反射的,进一步化简,抛开环境和坐标系因素,可以发现Lambert建模是直接等效于SQI(自商图像)的:
这里,由于将图像R视为一漫反射平面,则反射规则是各向同性的,没有额外的损耗因素。
S即是反射属性,也是纹理信息,R在此可以等效为原来的灰度图像G,而I则需要手动建模。
步骤三、对得到的灰度图像G进行基于局部的光强分布建模,得到视觉上类似模糊的图像,作为朗伯(Lambert)模型中的光强分布图像I,如图3所示;
步骤四、将灰度图像G和光强分布图像I带入BRDF函数的等效公式中,得到脏点图像D,如图4所示;其中,λ是光谱信息,灰度图像G对应R(λ),光强分布图像I对应I(λ),脏点图像D对应s(λ);
由图2可知,气孔的梯度特征和脏点的梯度特征不同,在各个方向上,脏点的梯度强度是近似相同的,而气孔则不同。
由于单独对气孔建模较难,因此倒过来对脏点的边缘即梯度响应建立边缘检测卷积核。
步骤五、基于x轴和y轴方向分别构建假设各向同性的扩张卷积核Kx,Ky:
基于该卷积模板进行二维卷积,卷积结果分为Kx,Ky两个卷积核的对应结果,在此,需要对两者相加,其作用是得到行列方向对应的梯度,相加结果即为各向同性先验的结果。
步骤六、基于扩张卷积核Kx,Ky,对灰度图像G进行卷积,并对卷积后得到的两个幅值进行相加,得到各向异性梯度响应图A,如图5所示;基于扩张卷积核Kx,Ky,对脏点图像D进行卷积,并对卷积后得到的两个幅值进行相加,得到各向同性梯度响应图B,如图6所示;
图5和图6所示的各向异性梯度响应图和各向同性梯度响应图在气孔区域的响应强度上有差别:
对灰度图像进行边缘检测,得到的各向异性梯度中包含了气孔区域的亮度梯度,这和普通视觉检测的效果相似;
由于对灰尘进行了精细的提取,对其检测的结果即为真正的各向同性梯度,可以看到气孔区域的响应非常小;
因此,响应图之间的响应在大多数区域是一样的,而不一样的区域即为气孔区域。
步骤七、为了得到各向异性梯度响应图A和各向同性梯度响应图B的差异,可以采用做差、做商的方法,由于两者的值域分布相差较小,因此需要对各向异性梯度响应图A和各向同性梯度响应图B进行极差标准化,并转换为浮点型;
此处,由于差异过小,在浮点运算时,做差的结果再进行极差标准化,则会受到大脏点的过强梯度的影响,在量化后,小幅度的细节会丢失。
步骤八、为了防止量化误差的影响,对步骤八中处理过的各向异性梯度响应图A和各向同性梯度响应图B进行SQI(自商图像)计算,如下式所示:
然后,对计算结果进行极差标准化,即可得到如图7所示的气孔特征响应图;
根据提取的脏点图像D所示,右上角过强的脏点是存在一定梯度的,因此感知结果并没有错误计算,而是以很高的精度将其提取。
步骤九、气孔特征响应图不但恢复了气孔的凹凸细节,还恢复了陶瓷表面的微小细节,又因为气孔的特征提取后较强,因此可以直接对得到的气孔特征响应图使用自适应阈值或分水岭算法进行气孔区域分割,得到气孔的准确位置。
步骤二中,使用对RGB通道分量取最大值的方式得到灰度图像G,其函数表达式如下:
G(x,y)=MAX(R(x,y),G(x,y),B(x,y))
其中,G(x,y)是位置(x,y)处的最强明度,MAX(R(x,y),G(x,y),B(x,y))是求三个输入值中最大值的函数,R(x,y),G(x,y),B(x,y)分别代表位置(x,y)处的像素中红、绿、蓝通道分量值,至此,得到了理想的灰度图像。
步骤三中,对灰度图像G进行基于形态学的闭运算,然后,用一个3×3结构,不断对闭运算的结果进行迭代处理。对于图1所示的陶瓷表面,经验值为5次即可。理论上迭代次数越多越好,但会提高计算量,因此实施者在实施时需要手动实验,结合实际环境,找到最佳参数。该参数是本发明中唯一需要手工调整的参数。至此,得到光强分布图像I。