本发明涉及一种纸张缺陷检测方法,具体涉及一种基于局部亮度不变性先验的纸张缺陷检测方法。
(二)、
背景技术:
纸张的缺陷主要有折痕、划痕、脏污等,这些缺陷的存在无法保证纸张的平滑和纯色。印刷和包装行业通常使用一种价格高昂、特殊的检测装置来检测纸张的诸多缺陷,大多数印刷用检测方案主要是基于超均匀的led照明系统或条形光源,使用线阵相机对纸张进行扫描操作来克服二维环境下上述光源出现的照明不均一现象。该种方案主要使用高速行扫描相机来克服led照明系统导致的频闪现象,频闪现象会导致行扫描的结果出现规律性的亮度波动,因此,为了克服该种现象需要使用恒流光源或者使用高速行扫描相机来同步电压波动导致的亮度干扰。
目前的印刷物扫描系统主要是基于行扫描的高精度、高成本设备,使用简单的阈值化处理来检测纸张缺陷。首先,行扫描方案只能适用于纸筒的展开扫描,不能直接用于裁剪后的纸张的检测;其次,无论行扫描相机如何高速、都无法克服电机旋转导致的速度限制和稳定性问题,一般的纸筒扫描需要保证局部匀速,因此对纸筒转速控制系统的灵敏度要求较高,这进一步提高了系统复杂性,检测系统中机械部件和检测部件故障率难以降低、维护和调试成本较高。
使用线阵相机扫描检测纸张缺陷的方案成本很高,而普通的滚动快门的面阵相机已经普及到我们生活中绝大多数的电子产品中,例如笔记本摄像头、手机摄像头、安防摄像头等。因此,利用手机或者工业面阵相机来实现纸张的缺陷检测不仅可以极大程度地降低了检测系统的复杂性,还使得系统成本降低,维护容易,而技术难点主要在于使用常见的光源而非工业级光源,对使用面阵相机获得的二维图像进行处理以获得纸张缺陷的检测结果。
(三)、
技术实现要素:
本发明要解决的技术问题是:提供一种基于局部亮度不变性先验的纸张缺陷检测方法,该方法降低了检测系统的复杂程度,检测准确度高,成本低,系统维护容易。
本发明的技术方案:
一种基于局部亮度不变性先验的纸张缺陷检测方法,含有以下步骤:
步骤一、使彩色面阵相机面向待检测纸张表面,待检测纸张表面位于彩色面阵相机视野内,用彩色面阵相机进行拍照,捕获一帧待检测纸张表面的彩色图像,彩色图像的像素格式使用rgb分量表示;
步骤二、使用一个局部亮度不变性先验的卷积模板对该卷积模板遮罩内的彩色图像的所有像素进行非线性灰度化操作,最终得到卷积窗口所对应的像素;根据1×1卷积操作和3×3卷积操作分别得到了两个灰度图像;
步骤三、对该两个灰度图像进行对应位置像素相除,得到一种灰度图;
步骤四、对灰度图进行3×3的傅里叶卷积运算;
步骤五、对傅里叶卷积运算结果进行梯度形态学操作;
步骤六、进行阈值化处理,得到纸张缺陷检测结果。
步骤二中,分白纸和非白纸两种情况进行非线性灰度化操作:
当待检测纸张为白纸时,非线性灰度化操作对应一种取rgb分量最大值方法,表达式如下:
i(x,y)=max(i′(r(x,y),g(x,y),b(x,y)))
其中i(x,y)是灰度化输出像素的亮度值,i′(r(x,y),g(x,y),b(x,y))是原始的彩色图像像素中的分量数据;
当待检测纸张为非白纸(如:深色纸或彩色纸)时,非线性灰度化操作对应一种取rgb分量最小值方法,表达式如下:
i(x,y)=min(i’(r(x,y),g(x,y),b(x,y)))
该式中的符号定义与上述表达式的符号定义相同。
至此,使用了一种卷积核大小为1×1的操作。
下面阐述使用3×3卷积模板的灰度化操作:
在此定义一种卷积模板kb:
该模板是一种经过实际检测定义的先验规则,能够响应绝大多数折痕、划痕、脏污和杂质导致的缺陷。
定义一种灰度化窗,作为计算的遮罩:
w表示一种k的遮罩操作。
进而地,使用该模板对模板中命中的像素进行非线性灰度化计算,和前者阐述相同,根据待检测纸张为白纸或非白纸时有:
b(x,y)=max(w(r(x,y),g(x,y),b(x,y)))
b(x,y)=min(w(r(x,y),g(x,y),b(x,y)))
w为一种滑动窗口,锚点在3×3矩阵的中心。
b(x,y)是窗口锚点位于点(x,y)时w包含的彩色像素数据经过最大值或最小值处理后的灰度像素值,w(r(x,y),g(x,y),b(x,y))是窗口遮罩内的像素rgb分量。
至此得到了两种灰度图像。
得到灰度图像后可以通过适当的降采样和上采样技术将分辨率改变到合适的大小。
步骤三中,对根据上述方法得到的i(x,y)和b(x,y)进行相除运算:
得到了一个包含两幅图像像素相除的信息的图像。最终,a表示了一种使用局部亮度不变性先验卷积模板消除亮度不均,保留相应缺陷的一种灰度图。
基于该灰度图a可以直接进行阈值化得到脏污的检测结果,但无法得到折痕、划痕的检测结果。
需要对a进行一种边缘增强处理来增强折痕、划痕的微小特征。
步骤四中,进行了傅里叶卷积运算,用于提高高频部分的响应。
由于图像是离散的二维信息,定义一种傅里叶方法设计的卷积核,得到边缘增强的效果,设计的卷积核如下:
使用卷积核kedge的卷积运算可以表示一种经过高频边缘增强的图像,在此表示为a’。
步骤五中,梯度形态学操作为:对傅里叶卷积运算结果所得的图像分别进行腐蚀、膨胀两个运算,然后将两个运算的结果相减,再对相减的结果求绝对值。
梯度形态学操作之前,预先通过腐蚀或者膨胀操作对过小的缺陷进行过滤。
步骤六中,阈值化处理是指:使用形状分析算法,对过大和过小的缺陷进行过滤,最终留下正常范围的缺陷信息。
进行阈值化处理即可得到包含划痕及折痕的边缘、脏污等缺陷信息的二维连通域。
阈值化处理前使用一种重映射来提高阈值化的感知能力,从而提高灵敏度。
一般的重映射使用gamma函数调整及拉伸,在此定义一种gamma函数的灰度重映射表达式:
因此有针对增强图像的计算规则:
为了加速计算,一般使用查找表技术(lut)。
在此构建一个gamma查找表,免去每个像素都需要gamma计算导致计算效率低下的问题:
其中,i表示0~255灰度级的第i级别。
进一步地,可以将glut结合阈值化进行查找表的融合:
最终可以实现构建一个gtlut映射表,将增强图像a’进行gtlut的查找表计算,从而得到更好调整参数的阈值化操作。
有:
a″(x,y)=gtlutthreshold(a″(x,y))
其中threshold是构建gtlut时的定值。
最终,得到的检测结果可以按需进行轮廓检测与分析来得到不同需求的结果。
步骤一中彩色面阵相机拍照所使用的光源为非精确光源。
步骤二中的卷积模板可以使用其旋转、镜像等效变换后的模板:
本发明的有益效果:
1、本发明基于局部亮度不变性先验的卷积模型,该模型认为待检测物体在局部空域内的亮度是恒定的,而缺陷的亮度是变化的,若缺陷处于该空域范围内即可被检测;本发明通过对图像的有效处理,即可对纸张的折痕、划痕、脏污等缺陷进行检测,准确度高。
2、本发明对光源均一性要求较低,使用普通的点光源照射,或使用环境中的漫反射光等普通光源即可,而非平面光源等工业级光源,同时使用成本低廉的面阵相机代替刷新率高、成本较高的线阵相机,并克服了线阵相机遇到的光源频闪问题和一般阈值化处理带来的光源不均一时难以检测的技术问题,相对传统的检测方法和检测装置,极大程度地降低了检测系统的复杂性,检测成本低,系统维护容易。
3、本发明对相机的摆放要求低,使用常见的相机固定方法,如三脚架、手持方式或者其它方法,简单固定相机即可,能够灵活地实施在各种工况下的印刷、包装等车间。
4、本发明可以以软件的形式集成在任何嵌入式设备、x86兼容机等基于冯·诺依曼架构和哈佛架构的计算设备中,包括服务器产品和plc产品,对处理器的性能要求较低,易于实现。
(四)、附图说明:
图1为本发明实施的一种图像边缘增强示意图;
图2为本发明实施的一种检测结果示意图。
(五)、具体实施方式:
基于局部亮度不变性先验的纸张缺陷检测方法,含有以下步骤:
步骤一、使彩色面阵相机面向待检测纸张表面,待检测纸张表面位于彩色面阵相机视野内,用彩色面阵相机进行拍照,捕获一帧待检测纸张表面的彩色图像,彩色图像的像素格式使用rgb分量表示;
步骤二、使用一个局部亮度不变性先验的卷积模板对该卷积模板遮罩内的彩色图像的所有像素进行非线性灰度化操作,最终得到卷积窗口所对应的像素;根据1×1卷积操作和3×3卷积操作分别得到了两个灰度图像;
步骤三、对该两个灰度图像进行对应位置像素相除,得到一种灰度图;
步骤四、对灰度图进行3×3的傅里叶卷积运算;
步骤五、对傅里叶卷积运算结果进行梯度形态学操作;
步骤六、进行阈值化处理,得到纸张缺陷检测结果。
步骤二中,分白纸和非白纸两种情况进行非线性灰度化操作:
当待检测纸张为白纸时,非线性灰度化操作对应一种取rgb分量最大值方法,表达式如下:
i(x,y)=max(i′(r(x,y),g(x,y),b(x,y)))
其中i(x,y)是灰度化输出像素的亮度值,i′(r(x,y),g(x,y),b(x,y))是原始的彩色图像像素中的分量数据;
当待检测纸张为非白纸(如:深色纸或彩色纸)时,非线性灰度化操作对应一种取rgb分量最小值方法,表达式如下:
i(x,y)=min(i’(r(x,y),g(x,y),b(x,y)))
该式中的符号定义与上述表达式的符号定义相同。
至此,使用了一种卷积核大小为1×1的操作。
下面阐述使用3×3卷积模板的灰度化操作:
在此定义一种卷积模板kb:
该模板是一种经过实际检测定义的先验规则,能够响应绝大多数折痕、划痕、脏污和杂质导致的缺陷。
定义一种灰度化窗,作为计算的遮罩:
w表示一种k的遮罩操作。
进而地,使用该模板对模板中命中的像素进行非线性灰度化计算,和前者阐述相同,根据待检测纸张为白纸或非白纸时有:
b(x,y)=max(w(r(x,y),g(x,y),b(x,y)))
b(x,y)=min(w(r(x,y),g(x,y),b(x,y)))
w为一种滑动窗口,锚点在3×3矩阵的中心。
b(x,y)是窗口锚点位于点(x,y)时w包含的彩色像素数据经过最大值或最小值处理后的灰度像素值,w(r(x,y),g(x,y),b(x,y))是窗口遮罩内的像素rgb分量。
至此得到了两种灰度图像。
得到灰度图像后可以通过适当的降采样和上采样技术将分辨率改变到合适的大小,本实施例中不再阐述。
步骤三中,对根据上述方法得到的i(x,y)和b(x,y)进行相除运算:
得到了一个包含两幅图像像素相除的信息的图像。最终,a表示了一种使用局部亮度不变性先验卷积模板消除亮度不均,保留相应缺陷的一种灰度图。
基于该灰度图a可以直接进行阈值化得到脏污的检测结果,但无法得到折痕、划痕的检测结果。
需要对a进行一种边缘增强处理来增强折痕、划痕的微小特征,如图1所示。
步骤四中,进行了傅里叶卷积运算,用于提高高频部分的响应。
由于图象是离散的二维信息,定义一种傅里叶方法设计的卷积核,得到边缘增强的效果,设计的卷积核如下:
使用卷积核kedge的卷积运算可以表示一种经过高频边缘增强的图像,在此表示为a’。
步骤五中,梯度形态学操作为:对傅里叶卷积运算结果所得的图像分别进行腐蚀、膨胀两个运算,然后将两个运算的结果相减,再对相减的结果求绝对值。
梯度形态学操作之前,预先通过腐蚀或者膨胀操作对过小的缺陷进行过滤。
步骤六中,阈值化处理是指:使用形状分析算法,对过大和过小的缺陷进行过滤,最终留下正常范围的缺陷信息。
进行阈值化处理即可得到包含划痕及折痕的边缘、脏污等缺陷信息的二维连通域,处理结果如图2所示。
阈值化处理前使用一种重映射来提高阈值化的感知能力,从而提高灵敏度。
一般的重映射使用gamma函数调整及拉伸,在此定义一种gamma函数的灰度重映射表达式:
因此有针对增强图像的计算规则:
为了加速计算,一般使用查找表技术(lut)。
在此构建一个gamma查找表,免去每个像素都需要gamma计算导致计算效率低下的问题:
其中,i表示0~255灰度级的第i级别。
进一步地,可以将glut结合阈值化进行查找表的融合:
最终可以实现构建一个gtlut映射表,将增强图像a’进行gtlut的查找表计算,从而得到更好调整参数的阈值化操作。
有:
a″(x,y)=gtlutthreshold(a″(x,y))
其中threshold是构建gtlut时的定值。
最终,得到的检测结果可以按需进行轮廓检测与分析来得到不同需求的结果,以图2为例,是一种检测最外轮廓的遮罩数据。
步骤一中彩色面阵相机拍照所使用的光源为非精确光源。
步骤二中的卷积模板可以使用其旋转、镜像等效变换后的模板: