邵桂芳,卢 豪,苏立权
(1.厦门大学航空航天学院,福建 厦门,361102;2.中国电信股份有限公司厦门分公司,福建 厦门,361003)
屏幕作为智能设备的人机交互界面,其表面质量至关重要。生产过程中的加工误差可能导致屏幕出现缺陷,由于灰尘等脏污的影响,微小缺陷通常难以识别。对于产品表面缺陷,传统人工检测方法的效率和精度较低,而基于特征提取的图像识别方法是提高检测准确率的重要手段,其主要根据纹理、形状及颜色等图像特征差异进行检测。然而,由于某些生产环境下的成像质量难以保证,仅根据某种特征无法成功区分图像的噪声与缺陷,特别是对微小缺陷,很容易造成漏检或过检,因此有必要探寻更为有效的检测方法。
人类视觉具有显著性检测和选择性注意机制,能快速有效地区分出目标对象,在图像检测方法中融入视觉注意力机制是一个重要的研究方向。Itti等[1]结合颜色、强度及方向等多种特征生成显著图进行图像检测,其方法具有较好的鲁棒性。Rudinac等[2]利用显著性检测在室内环境中取得了很好的目标定位效果。Zhang等[3]提出了一种简单、无需训练且计算效率高的基于布尔图显著性模型,在MIT、Toronto、Kootstra等5种眼球追踪图像数据集上表现优异。随着人们对视觉注意力机制的深入理解,相关改进算法也越来越多。Wang等[4]利用感兴趣区域提取与频率调谐显著性检测对21种纱线筒子样品进行分类,获得了100%的准确率。Afsharirad等[5]利用相位信息及对象模型进行显著对象检测,其效果良好。Du等[6]基于人眼视觉特征提出了改进的灰度调整和频率调整显著性算法,在复杂曲面缺陷检测上获得令人满意的结果。
本文提出的检测模型如图1所示。为去除初始采集图像中所包含的背景并提高检测速度,首先引入差影法对图像进行初始检测[13],通过待检图像与基准图像的差分运算,分割出差异值较大的像素点区域,从而提取出可能存在的缺陷区域;再对提取的缺陷区域图像进行角点检测和伽马变换,并通过Otsu方法对图像进行阈值操作,同时生成布尔映射显著图、谱残差显著图和频率调谐显著图,进行融合后得到最终检测效果。
图1 检测模型结构
在实际工业生产环境中,所采集的图像通常分辨率较高并且含有噪声,而缺陷或灰尘脏污通常只存在于屏幕的小部分区域,导致感兴趣区域占整幅图像的比例异常微小,因此,分割出感兴趣区域将有利于减少数据量及加快检测速度。
鉴于缺陷或灰尘与背景像素的差异,可以将缺陷等视为待检测边缘的“角落”。本文利用Harris角点检测来判断当前像素点与周围像素点的差异,当满足要求时,认定其为“角点”。然而,待检测图像上可能存在的缺陷往往很小,且灰尘与背景像素相对更难区分,为此引入伽马变换进行图像灰度增强,如式(1)所示:
s=crγ
(1)
式中:s为输出灰度值;r为原始灰度值;c和γ为系数。本文计算时将原始灰度值归一化到[0,1]区间,c设为255.0,γ设为1.5。
Huang等[14]在视觉注意布尔图论中指出,观察者对场景的瞬时意识可以用布尔图表示。BMS模型精度高且复杂度低,是目前进行显著性检测的典型模型之一。本文采用的BMS算法原理可以用式(2)表示:
(2)
图2所示为屏幕图像经过BMS提取后的结果,可以发现,潜在的缺陷和灰尘脏污与背景的区别较大。
(a)缺陷
(b)脏污
由于BMS只使用图像的颜色信息来形成特征空间,当输入图像对比度不太明显或有噪声影响时,检测结果受影响较大,因此本文引入谱残差显著性提取方法来进一步提高检测效果。谱残差通过描述图像中的异常区域来实现重要目标检测。该方法首先需要得到对数谱,将输入图像转换到频域并对其振幅取对数得到L(f),而对数曲线可以进行局部线性拟合,故进一步利用局部平均滤波平滑得到V(f),由此,输出的显著图R(f)可由式(3)表示:
R(f)=L(f)-V(f)
(3)
其中,L(f)和V(f)的计算见式(4)和式(5):
L(f)=log|F[I(x)]|
(4)
V(f)=L(f)·hn(f)
(5)
式中:I(x)为输入图像;hn(f)表示n阶局部平均滤波器;|F[I(x)]|表示对输入图像进行傅里叶变换得到的幅值。对于灰度图像,二维傅里叶变换就可以满足要求;在检测需要考虑颜色特征的图像时,可以采用四元数傅里叶变换[15]。
图3显示了含有缺陷和脏污的屏幕图像的SR显著图,可以看出缺陷与脏污的像素灰度值分布区间不同。
(b)脏污
图像信息在频域可分为低频部分和高频部分。低频部分反映了图像的整体信息,如物体的纹理、基本构图区域等,主要用于显著区检测;高频部分更能显示图像边缘或噪声等信息。
为了避免显著图出现分辨率低、边界模糊等问题,频率调谐显著性提取利用颜色和亮度特征来突出潜在的物体。该方法使用图像的Lab颜色特征,实现起来较为简单。对于输入图像 ,各像素的显著值可以通过式(6)计算:
S(x,y)=‖Iμ-If(x,y)‖
(6)
式中:Iμ为图像的平均特征;If(x,y)为高斯平滑后的Lab颜色特征;‖·‖表示L2范数,这里是Lab颜色空间中的欧几里得距离。FT提取效果如图4所示,可以看到,目标的位置很容易找到。
(a)缺陷
(b)脏污
本文研究目标是有效识别微小缺陷和脏污,经过多检测模块处理后得到了侧重面不同的检测图,如何选择合适的权值对获得满足检测期望的结果很重要。缺陷和脏污虽然有一定的特征差异,但在空间域难以区分,如将其转换到频率域则可以显示出更好的特征区分。
前述3种显著性提取方法各有特点:通过谱残差模型获得的显著图ISR可以有效突出缺陷与脏污的区别,即ISR对最终的检测结果影响更大;通过布尔显著性模型得到的显著图IBMS可以有效避免对灰尘和缺陷检测的遗漏;频率调谐得到的显著图IFT突出尘埃与缺陷之间的亮度差异,有利于最终结果图的生成。另外,角点检测和伽马变换分别得到的图像ICD和IGT可以有效突出潜在的待检目标。从上述检测模块的检测图和密度图可以发现,单一方法很难将缺陷与脏污严格区分出来,因此本文将多方法进行融合,其公式为:
IOUT=(ICD+IGT)⊗IBMS⊗(IFT·α)⊗
(IOtsu+ISR)⊗(ISR·β)
(7)
式中:IOUT表示最终的融合输出图;IOtsu表示通过Otsu方法得到的图像分割结果;⊗表示两个矩阵对应元素的乘积;α和β为参数。
图5展示了融合公式的处理过程,其中不同的检测算子对于缺陷的检测有不同角度的突出,经过传统方法与显著性提取方法的融合得到IOUT,再进行图像阈值分割,当像素点灰度值高于阈值时则认为该区域存在缺陷并进行标记。
图5 融合模型的处理过程
图6所示为融合检测结果,从中可以看到缺陷与脏污的像素灰度值的显著差异。
(a)缺陷
(b)脏污
本文实验所用图像数据集来源于实际工业生产中,对原始图像分割后获得缺陷图73张、脏污图214张,图像尺寸不一。
2.2.1 缺陷与脏污的检测对比
实际生产中,因为产品屏幕上的脏污与背景有明显差异,传统方法通常会将脏污也视为缺陷检测出来,造成工业生产资源浪费,而本文方法的优势在于能够在灰尘等脏污干扰下准确识别出缺陷。
图7展示了本文方法对缺陷的检测效果,其中缺陷种类不一,但相对于整张图像,缺陷区域的尺寸都较小。图7(a)为200像素×200像素的缺陷原图,图7(b)是经过下采样之后运行检测算法得到的融合图,其实际尺寸为50像素×50像素,图7(c)显示出缺陷区域与背景在灰度值上的较大差异。
图8展示了本文方法对脏污的检测效果,为便于比较,其图像尺寸与图7中的一致。图8(a)包括4种不同种类的脏污,这些在生产过程中产生的脏污与缺陷很相似,极易被识别为缺陷,但从图8(b)的融合检测结果可以看出,脏污没有被当作缺陷检出,同时从图8(c)可以看出,这些脏污并没有被完全忽视,而是也被显著增强了。由于脏污与背景的灰度值相差不大,因此可通过设定阈值的方式区分出缺陷与脏污,本文设置的灰度阈值为38。
(a)缺陷原图(b)融合效果图 (c)三维密度图
(a)脏污原图(b)融合效果图 (c)三维密度图
2.2.2 与其他检测方法的比较
选取相同尺寸(200像素×200像素)的缺陷与脏污待检图各50张,分别采用本文方法和4种对比方法进行检测。图9给出了部分实验结果,其中左侧两列为缺陷检测结果,右侧两列为脏污检测结果。5种方法对缺陷与脏污图像的准确分类统计结果见表1。
由表1可知,5种方法对缺陷的检出率均能达到86%以上,其中Entropy-Otsu方法准确率最高;但对于脏污图像,4种对比方法的误检率极高,即绝大部分脏污被视作缺陷检出,检测准确率不足20%,而本文方法的检测准确率达到78%。
图9 不同方法的部分检测结果对比
表1 不同方法的检测结果统计
2.2.3 参数分析
本节实验首先将α和β分别设为2.2和0.8,对该批次测试数据(缺陷图73张、脏污图214张)进行检测,结果见表2,可以看出本文提出的融合模型能有效兼顾微小缺陷和脏污的检测准确率。
表2 本文方法检测结果
值得一提的是,当不同的显著性模型在融合公式(7)中所占比重发生变化时,即改变α和β值时,缺陷和脏污的检出率会发生改变,其中α影响缺陷与脏污的检出程度,β对缺陷和脏污的区分有更大的影响。同样选取缺陷图与脏污图各50张作为检测对象,当融合公式中删去不同模块时的实验结果如表3所示。由表3可见:当融合公式中去掉(ICD+IGT)模块时,脏污图像的误检率大大上升,表明该模块可以有效减少背景像素的干扰,突出潜在的缺陷区域;如果去掉待检图像的频率域处理ISR显著图的融合,缺陷与脏污的区分度下降,脏污误检率上升;去掉IFT显著图的融合导致缺陷漏检率上升。另外,对原始图像自适应阈值分割得到的IOtsu使得在潜在缺陷区域的划分上更为全面。
表3 本文方法删去不同模块时的检测结果统计
图10所示为α固定时改变β值得到的本文模型的F1值,其为模型的精确度和召回率的加权调和指标,值越大越好。由图10可见,F1值最大为0.7305,此时α和β分别为1.6和0.9。
图10 α取值不同时模型的F1值随β的变化
当β值固定为0.8时,改变α值,得到本文模型的F1值变化如图11所示,其最大值也为0.7305,此时α和β分别为1.8和0.8。
图11 模型的F1值随α的变化(β=0.8)
本文模型综合了不同显著性检测方法的优势,充分利用了图像细节信息,能够更加准确地区分缺陷和脏污。结合表3、图10和图11不难发现,尽管在改变不同显著性模型的比重时,F1值有所浮动,但若能结合实际应用场合,选择最为合适的参数值,则本文模型具有很好的性能表现。
2.2.4 误检结果分析
本文方法在实际应用中取得了较为满意的检测效果,但是由于原始数据图像的不规则,难以保证所有的缺陷和脏污都被准确区分。如图12中的缺陷图像被误检为脏污,而脏污图像被误检为缺陷。进一步分析可以发现,在出现误检情况时,确实是部分缺陷图像难以辨认,而有些脏污看上去类似于刮痕,被当作缺陷检出。
图12 误检示例
本文针对工业生产中产品表面上出现的微小缺陷与灰尘脏污的小样本检测问题,提出了一种基于视觉注意机制的融合检测方法,将布尔映射、谱残差和频率调谐等3种显著性提取模型与角点检测、伽马变换和Otsu自适应阈值分割等方法结合起来应用于图像检测。相对于传统的检测方法和经典的显著性模型,本文方法对难以严格区分的微小缺陷和脏污具有较好的辨别能力,可减少实际生产中的资源浪费,基于OpenCV开源库的工业实现有很好的应用前景。