史中生 戚德慧
(新乡职业技术学院智能制造学院,河南新乡,453006)
纸张生产过程中受原料、机械设备操作的影响,易产生各种各样的纸病,不仅影响美观,而且大大降低利润,因此及时检测出纸病能够提升纸张的性价比[1]。
人工检测特征不明显的纸病时,易出现误检和漏检[2]。目前,计算机视觉技术的发展为纸病检测提供了新的方法:小波变换(Discrete Orthogonal Wavelet Transform,WT)方法[3],适合用于检测在经度、纬度方向具有较大面积的纸病区域,纸病面积越大,经度、纬度方向的灰度值越表现出与周围像素的差异性,越易被检测出。但是当纸病区域比较小时,则无法通过经度、纬度方向获得真实的纸病。高斯金字塔和视觉显著性(Gaussian Pyramid and Visual Saliency,GPVS)方法[4]提高了检测纸病的正确率,但是高斯金字塔的层数不易确定,因此通用性有待提高。卷积神经网络(Convolutional Neural Network,CNN)可设置为多层网络结构[5],通过自动学习提取缺陷纸病特征,检测速度快,但是训练过程需要大量的缺陷样本。频域尺度空间分析(Frequency Domain ScaleSpace Analysis,SDSSA)方法[6],能突出大、小的显著区域,又能抑制重复干扰杂乱的图像,但计算时间较长。采用Gabor 滤波器模拟人眼的生物学特性进行纸病缺陷检测[7],在频域能有效抑制纹理背景信息而增强纸病,但不易从纹理背景中分割出微小的纸病。灰度共生矩阵(Gray Level Co-occurrence Matrix,GL‑CM)将灰度图像分解成子带后[8],将纹理图像划分为非重叠子窗口并提取特征,再将每个子窗口分类来检测缺陷,但是计算量较大。
以上研究缺乏对纹理复杂的彩色纸的纸病检测,主要原因是彩色纸的图案复杂,缺陷往往隐藏在图案纹理上,使得算法检测难度加大。本课题提出频带增强和像素能量(Band Enhancement and Pixel Energy,BEPE)算法对彩色纸表面进行纸病检测,采用不同方法增强图像的低频子带、高频子带,彩色纸图案某个区域受到破坏后,该区域的图案纹理表现出与周边纹理的差异性,通过彩色纸像素在水平分量、垂直分量、对角线分量的能量异常获得纸病。与其他算法相比较,该算法纸病检测效果清晰,准确率评价指标较优。
非下采样Contourlet变换具有多分辨率、方向性、局部化和各向异性的特点,可以对彩色纸提取经度、纬度、对角线等多方向的细节特征,因此对待检测彩色纸进行塔形分解,彩色纸的低频部分为图像的近似量,高频部分为图像的细节分量。如果Contourlet 变换级数过多,会产生大量数据;级数过小,则无法获得图像完整的细节分量。为保证图像细节分量完整性和数据量之间均衡化,选择三级Contourlet 变换,把图像最高层高频部分分解成8个方向的高频子带,最终获得1 个包含着整体轮廓信息的低频子带图像和8个方向高频子带图像。对低频、高频子带采取不同的增强方法,低频子带对比度提高以便对图像进行平滑处理;高频子带去噪增强以突出边缘轮廓,锐化图像。
1.1 低频子带增强
低频子带中,纸病与彩色纸背景对比度不明显,通过压缩低频图像以获得灰度级全局动态范围D(d),其计算见式(1)和式(2)。
式中,W(d)为输入图像;Wmax、Wˉ分别为输入图像灰度最大值和对数平均值。
式中,Z为像素总数;δ为较小的常数,避免计算时数值溢出,也可突出隐藏的边缘细节信息。
图像低频部分具有很宽的动态范围,使得低频子带中纸病与彩色纸背景的对比度提高,图像整体层次感提升,可获得块状、条状等大面积纸病信息,且去掉了较多非纸病信息,从而达到最佳分离结果。
1.2 高频子带增强
彩色纸的边缘和噪声属于高频部分,噪声会随着信号的多尺度分解逐渐减少,而图像边缘具有多分辨性,通过多尺度分解后能检测出灰度发生的细微变化。为了增强图像高频子带的边缘信息和抑制噪声[9-10],将高频子带系数非线性调整,如式(3)所示。
式中,σ(k,s)为第k尺度、第s方向高频子带的信号标准差;(k,s)为第k尺度、第s方向高频子带系数g的方差;σn(k,s)为第k尺度、第s方向高频子带的噪声标准差。
由于高频子带图像边缘细节信息在尺度方向上表现存在差异性,并且系数绝对值较小,需对其阈值进行调整,见式(4)。
式中,为第k尺度、第s方向高频子带系数的阈值;为第k尺度所有高频子带系数的平均值;、分别为第k尺度、第s方向高频子带系数的平均值和最小值。
通过非线性增益函数调整,见式(5)。
式中,c∈(10,50),为增益强度;b∈(0,1),为控制增益函数微调因子。
从而得到式(6)。
为了对较小噪声系数进行抑制,较大细节信息系数的绝对值放大,非线性调整,见式(7)。
最终将高频子带系数进行归一化gˉsk,见式(8)
式中,maxgsk为对应高频子带系数的最大值。
高频子带增强能够最大程度保留高频子带中的纸病信息,减少噪声及纹理背景对检测结果的影响,因此可获得较小纸病的信息。
2.1 彩色纸纹理检测窗口
彩色纸的纸病检测需要确定检测窗口,窗口的大小需是纹理周期的整数倍,这样可以保证检测窗口对纹理具有一致性和可重复性[11-12]。通过自相关函数确定彩色纸在经度、纬度方向的基本组织循环尺寸。彩色纸纹理在经度、纬度方向上的自相关函数Gx,0、G0,y见式(9)。
式 中,M和N为 图 像 的 宽度 和 高 度;Gi,j为 像 素坐标(i,j)的灰度值。
彩色纸在经度、纬度方向上的自相关函数值如图1 所示。从图1 可以得出,该彩色纸的纹理周期在经度、纬度方向上均为28 像素,则该彩色纸的检测窗口为28×28的整数倍。检测窗口越大越适合大片色块的地方,对低频子带越好,能获得图像的轮廓,但是无法获得细节信息;检测窗口越小对高频子带越好,能够获得图像的细节信息,但是检测速度慢,耗时较长。因此,彩色纸低频子带、高频子带检测窗口需要选择两种不同的尺寸,综合考虑检测清晰度和时效性,低频子带选择在经度、纬度方向纹理周期像素的10 倍,高频子带选择在经度、纬度方向纹理周期像素的3倍。
图1 彩色纸及自相关值Fig.1 Color paper and autocorrelation values
2.2 彩色纸像素能量分析
在得到彩色纸像素增强后,同时正常彩色纸纹理走向一般在水平方向、垂直方向和对角线方向的变化具有规律性[13-14]。根据纹理特点,计算增强后的彩色纸水平分量、垂直分量、对角线分量的能量,即分别沿0°、90°和45°方向统计所对应图像灰度值,见式(10)。
式中,Ej为90°方向j处的能量特征值;Ei为0°方向i处的能量特征值;Ei,j为45°方向i、j处的能量特征值;Hi,j为坐标(i,j)处的灰度值;M为图像的纬向尺寸;N为图像的经向尺寸。
对水平分量、垂直分量、对角线分量的能量进行分析,若某分量的能量异常,该方向内可能存在纸病,显然,分析分量的能量方向越多则纸病检测越准确。彩色纸像素能量如图2所示。
图2 彩色纸像素能量Fig.2 Pixel energy of color paper
2.3 纸病分割
获得无纸病彩色纸所有水平分量、垂直分量、对角线分量的能量后,统计各个方向分量的能量最大值,见式(11)。
式中,ζl为某方向第l个分量能量;γ为某方向分量总数。
将无纸病彩色纸在各个方向分量的最大值的均方值作为纸病的分割阈值,见式(12)。
式中,φ1、φ2、φ3分别为水平分量、垂直分量、对角线分量的能量最大值。
算法流程如下:
①输入待检测彩色纸,非下采样Contourlet 变换获得不同频带;
②不同频带增强,反变换重构融合获得增强图像;
③计算彩色纸纹理周期,确定检测窗口大小;
④计算不同方向像素能量最大值,获得纸病的分割阈值;
⑤输出纸病检测结果。
为了验证所提算法检测纸病的性能,PC 配置:CPU 3.0 GHz、内存16 GB、IntelH61主板,Matlab 7.0编程。彩色纸图片通过工业相机拍摄获取,位置在垂直上方20 cm 处,拍摄获取过程中相机角度、距离保持不变,并且拍摄后统一调整图像大小为300 pixel×300 pixel,纸病包括条纹、裂口、凹坑、脏点,如图3所示。
图3 彩色纸各种纸病Fig.3 Various defects of color paper
通过经度、纬度方向的自相关函数计算彩色纸各种纸病纹理周期,如表1所示。
根据表1 的经度方向、纬度方向的像素,即可选择彩色纸不同纸病的检测窗口大小,便于获得较好的效果。
表1 彩色纸纸病纹理周期Table 1 Texture cycle of color paper defects
3.1 纸病检测效果分析
对比涉及的算法有WT、GLCM、GPVS、CNN、SDSSA、BEPE,各种算法对条纹、裂口、凹坑、脏点纸病检测效果如图4所示。
从图4 可知,本课题算法能够将纸面纹理复杂的各种纸病完整检测出来,较少出现断点现象,纸病边缘受噪声干扰较小,其他算法受噪声的影响无法将彩色纸纸病完整检测出来,出现断点现象。这是因为本文算法对彩色纸划分不同的频带,并且采用不同算法增强,避免了纸病受噪声的干扰;彩色纸低频子带、高频子带选择不同的检测窗口,能获得图像的轮廓以及细节信息。
图4 各种算法对各种纸病检测效果Fig.4 Detection effects of various algorithms on various paper defects
3.2 混合纸病检测准确率性能比较分析
混合纸病检出准确率指标(Z)见式(13)。
式中,n为纸病总数;n1为检测出纸病数。
WT、GLCM、GPVS、CNN、SDSSA、BEPE 每种算法运行30 次,混合纸病有:条纹与裂口、凹坑与裂口、脏点与条纹、脏点与凹坑,检测准确率性能比较分析结果如图5所示。
从图5 可以看出,本课题算法对条纹与裂口混合纸病检测准确率为81.86%,相比WT、GLCM、GPVS、CNN、SDSSA 分别提高了12.97%、10.68%、8.91%、6.23%、4.33%;凹坑与裂口混合纸病检测准确率为81.51%,相比WT、GLCM、GPVS、CNN、SDSSA 分别提高了11.30%、9.04%、7.30%、5.66%、3.79%;脏点与条纹混合纸病检测准确率为81.78%,相比WT、GLCM、GPVS、CNN、SDSSA 分别提高了11.84%、9.57%、7.82%、5.16%、3.29%;脏点与凹坑混合纸病检测准确率为81.77%,相比WT、GLCM、GPVS、CNN、SDSSA 分别提高了11.72%、9.46%、7.71%、5.06%、3.19%。因此本课题算法的混合纸病检出准确率指标较高。
图5 各种算法对混合纸病检测效果Fig.5 Detection effects of mixed paper defects of various algorithms
4.1 非下采样Contourlet 变换把彩色纸划分不同子带,低频、高频子带采取不同的增强方法,以便获得图像的轮廓以及细节信息。
4.2 纹理检测窗口大小与经度、纬度方向的纹理像素周期存在整数倍关系,检测窗口越大越适合大片色块的地方,对低频子带越好,能获得图像的轮廓;检测窗口越小对高频子带越好,能够获得图像的细节信息。
4.3 对水平分量、垂直分量、对角线分量的能量进行计算,若某分量的能量异常,该方向内可能存在纸病,分量的能量方向越多则纸病检测越准确,该方法对混合纸病检测准确率高于其他算法,因此为纸病检测提供了一种新思路。