发明内容
本发明提供一种图像缺陷检测方法、装置、电子设备及存储介质,以实现图像缺陷检测结果更加符合人类行为特征。
第一方面,本发明提供一种图像缺陷检测方法,包括:
将待测图像与模板图像进行匹配,确定所述模板图像中的纹理丰富区域在所述待测图像中的配准位置,并根据所述配准位置对所述待测图像进行校正;
对校正后的待测图像与所述模板图像进行基于人眼视觉的红绿蓝RGB三通道敏感度加权的动态阈值差分比对,得到差分图像;
根据所述差分图像,对所述待测图像进行形态学缺陷标记,获得与所述待测图像对应的缺陷标记图。
可选地,所述将待测图像与模板图像进行匹配,确定所述模板图像中的纹理丰富区域在所述待测图像中的配准位置,并根据所述配准位置对所述待测图像进行校正,包括:
采用加速稳健特征SURF算法提取所述模板图像中的特征点,以确定所述纹理丰富区域;
采用边缘检测算法提取所述纹理丰富区域的边缘图像,并获得所述边缘图像的边缘几何特征,其中,所述边缘几何特征包括:边缘点坐标以及每个所述边缘点对应的梯度方向向量;
根据所述边缘图像的边缘几何特征,通过相似性度量函数以及图像金字塔法,确定所述纹理丰富区域在所述待测图像中的配准位置;
根据所述配准位置确定仿射变换矩阵,并根据所述仿射变换矩阵得到校正后的待测图像,所述校正包括平移、旋转以及缩放中的一项或多项。
可选地,所述对校正后的待测图像与所述模板图像进行基于人眼视觉的RGB三通道敏感度加权的动态阈值差分比对,得到差分图像,包括:
对所述校正后的待测图像与所述模板图像进行差分计算,获取初始差分图像;
采用基于人眼视觉的RGB三通道分别对应的敏感度权值,计算所述初始差分图像中的差异点在所述待测图像中对应的像素点的加权差分值;
将所述加权差分值与预设动态阈值进行比较,获得比较结果;
根据所述比较结果对所述初始差分图像进行修正,以得到所述差分图像,其中,所述差分图像中差异点的灰度等级为第一预设灰度值,相同点的灰度等级为第二预设灰度值,所述第一预设灰度值与所述第二预设灰度值不同。
可选地,所述根据所述差分图像,对所述待测图像进行形态学缺陷标记,获得与所述待测图像对应的缺陷标记图之前,还包括:
通过以下方式对差异点进行全局邻域同质性判别:
分别获取所述校正后的待测图像中以差异点为中心第一预设邻域内的其他像素点的第一统计特征参数,以及所述模板图像中以差异点为中心第一预设邻域内的其他像素点的第二统计特征参数;
根据所述第一统计特征参数、所述第二统计特征参数以及预设规则,以对所述差异点进行邻域同质性判别,获得全局邻域同质性判别结果;
相应地,所述根据所述差分图像,对所述待测图像进行形态学缺陷标记,获得与所述待测图像对应的缺陷标记图包括:
根据所述邻域同质性判别结果对所述差分图像进行修正,获得第一差分图像;
根据所述第一差分图像,对所述待测图像进行形态学缺陷标记,获得与所述待测图像对应的缺陷标记图。
可选地,所述根据所述差分图像,对所述待测图像进行形态学缺陷标记,获得与所述待测图像对应的缺陷标记图之前,还包括:
通过以下方式对差异点进行单像素差异判别:
分别计算在所述待测图像中,以所述差异点为中心第二预设邻域内,在多种预设单像素邻域模板样式下,每种预设单像素邻域模板样式分别对应的单像素缺陷区域和背景区域的灰度均值、在第二预设邻域内所述差异点的邻域像素块的灰度标准差;
根据所述单像素缺陷区域和所述背景区域的灰度均值以及第二预设区域内所述差异点的邻域像素块的灰度标准差,获得单像素差异判别结果;
相应地,所述根据所述差分图像,对所述待测图像进行形态学缺陷标记,获得与所述待测图像对应的缺陷标记图包括:
根据所述单像素差异判别结果对所述差分图像进行修正,以得到第二差分图像;
根据所述第二差分图像,对所述待测图像进行形态学缺陷标记,获得与所述待测图像对应的缺陷标记图。
可选地,所述根据所述差分图像,对所述待测图像进行形态学缺陷标记,获得与所述待测图像对应的缺陷标记图,包括:
对所述差分图像进行形态学处理,以获取用于标记缺陷的轮廓序列,其中,所述形态学处理包括降噪处理以及开闭运算处理;
根据所述轮廓序列,对所述待测图像进行缺陷标记,以获得与所述待测图像对应的缺陷标记图。
可选地,所述方法还包括:
根据所述轮廓序列构成的二进制大对象Blob区域的特征参数,确定缺陷类型;
对所述待测图像中的缺陷类型进行统计,并输出统计结果。
第二方面,本发明提供一种图像缺陷检测装置,该装置包括:
校正模块,用于将待测图像与模板图像进行匹配,确定所述模板图像中的纹理丰富区域在所述待测图像中的配准位置,并根据所述配准位置对所述待测图像进行校正;
差分比对模块,用于对校正后的待测图像与所述模板图像进行基于人眼视觉的RGB三通道敏感度加权的动态阈值差分比对,得到差分图像;
标记模块,用于根据所述差分图像,对所述待测图像进行形态学缺陷标记,获得与所述待测图像对应的缺陷标记图。
第三方面,本发明提供一种电子设备,包括:存储器、处理器以及计算机程序指令;
所述存储器存储所述计算机程序指令;
所述处理器执行所述计算机程序指令,以执行如第一方面任一项所述的方法。
第四方面,本发明提供一种可读存储介质,包括:程序;
所述程序在被处理器执行时,以执行如第一方面任一项所述的方法。
本发明提供一种图像缺陷检测方法、装置、电子设备及存储介质,其中,该方法包括:首先将待测图像与模板图像进行匹配,确定模板图像中的纹理丰富区域在待测图像中的配准位置,并根据配准位置对待测图像进行校正,接着对校正后的待测图像与模板图像进行基于人眼视觉的红绿蓝RGB三通道敏感度加权的动态阈值差分比对,得到差分图像,进一步,根据差分图像,对待测图像进行形态学缺陷标记,获得与待测图像对应的缺陷标记图。本发明的有益效果在于:通过基于人眼感知色彩差异的视觉特性,将人眼对RGB三原色的敏感度经验值以权值的形式引入差分比对中,得到的差分图像,进一步通过采用上述差分图像对待测图像进行形态学缺陷标记,使得与待检测图像对应的缺陷标记图更加符合人类行为特征。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在稿件印刷前的出版流程中,同一稿件经过不同的流程工序后,会与稿件的原始版本存在或多或少的缺陷或差异,这些缺陷或差异包括图文版式、图像分辨率、几何特征、文字乱码、漏字多字和图像压缩造成的信息缺失等。因此,需要对稿件在不同流程下生成的图像进行比较,以检测是否存在缺陷或差异。
需要说明的是,本发明实施例所指的图像之间的缺陷或差异可以针对图像中的感兴趣(Region Of Insert,简称:RIO)区域,且本发明实施例所指的图像之间的缺陷或差异与人眼的视觉感知能力相关,并非逐像素对比的绝对不同。也就是说,在不同流程的稿件图像中,虽然在像素值、大小、方向、清晰度等方面并不完全相同,但视觉效果却是一致的,即表示不存在缺陷或差异。
现有技术中获取待测图像,之后利用机器视觉技术将待测图像与模板图像逐像素进行比对,并标记缺陷。由于现有技术中的检测方法是对待测图像和模板图像逐像素进行比对,采用上述方法可能将人眼无法识别的缺陷检测并标记处理,这部分缺陷的检测及标记不仅增加了图像检测处理的计算量,且人眼无法识别的检测结果并无实际生产意义,也就是说,现有技术中的方法并未考虑人眼感知颜色差异的视觉影响因素,因此,如何降低图像处理的计算量,并使获得的图像缺陷检测结果更加符合人类行为特征,是亟待解决的问题。
因此,本发明实施例提供一种图像缺陷检测方法,以实现降低图像处理的计算量,同时使图像缺陷检测结果更加符合人类行为特征。
图1为本发明提供的图像缺陷检测方法实施例一的流程示意图。本实施例提供的图像缺陷检测方法的执行主体可以为本发明实施例提供的图像缺陷检测装置,该图像缺陷检测装置可以通过任意的软件和/或硬件的方式实现。
示例性地,该图像缺陷检测装置可以为终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统、服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统,服务器计算机系统,手持或膝上设备,基于微处理器、CPU、GPU的系统,可编程消费电子产品,网络个人电脑,小型计算机系统,大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
如图1所示,本实施例的方法包括:
S101、将待测图像与模板图像进行匹配,确定模板图像中的纹理丰富区域在待测图像中的配准位置,并根据配准位置对待测图像进行校正。
需要说明的是,在执行本步骤之前,需要预先采集模板图像以及待测图像,本发明实施例中对于采集模板图像以及待测图像的具体方式不作限制,其中,模板图像为稿件对应的无缺陷图像,待测图像可以为稿件在印前出版的流程中任一流程工序中对应的图像。
本步骤的目的在于将待测图像转换成与模板图像在空间尺度和方向上保持一致的图像,以为后续进行缺陷标记提供基础。
纹理丰富区域即为前述的ROI区域,ROI区域内通常为人们所关注的图像中的有意义区域,纹理丰富区域的特征与图像中的其他区域相比更为明显,因此,可根据纹理丰富区域在待测图像中的位置以及纹理丰富区域在模板图像中的位置之间的关系,确定如何对待测图像进行校正。
具体地,在模板图像中提取纹理丰富区域,根据该纹理丰富区域的边缘凸显的特征,在待测图像中进行匹配,得到纹理丰富区域在待测图像中的配准位置,根据纹理丰富区域在模板图像中的位置以及上述配准位置之间的转换关系,确定对待测图像采用平移、旋转以及缩放中的一种或多种方式进行校正。
S102、对校正后的待测图像与模板图像进行基于人眼视觉的RGB三通道敏感度加权的动态阈值差分比对,得到差分图像。
为使本发明实施例更加清楚,这里首先对差分比对进行简单介绍:
差分(Difference)又称为差分函数或差分运算,差分运算的结果反映了离散量之间的一种相互关系,本实施例中的差分比对是指依据图像差分算法对校正后的待测图像中的像素点与模板图像相应位置的像素点进行差分运算,以得到差分结果,并将差分结果与预设差分阈值进行比对,以确定待测图像中的像素点与模板图像中相应位置的像素点为相同点或差异点。
另外,基于人眼视觉的RGB三通道敏感度加权的动态阈值差分比对表示:在对待测图像中的像素点与模板图像中相应位置的像素点进行差分比对时,依据人眼感知颜色差异的视觉特性,将人眼对于RGB三原色的敏感度经验值以权值的方式引入图像差分算法中,以得到差分加权值,进一步根据差分加权值与预设差分阈值进行比较,以确定待测图像中的像素点与模板图像中相应位置的像素点为相同点或差异点,其中,在进行基于人眼视觉的差分比对时,不同的像素点所对应的预设差分阈值是动态变化的。
一种可能的实现方式,先采用传统的图像差分算法对待测图像和模板图像进行差分比对,得到初始差分图像,进一步,再采用引入了基于人眼视觉的RGB三通道权值的图像差分算法对初始差分图像中的差异点与模板图像中相应位置的像素点进行再次比对,以得到修正后的差分图像,修正后的差分图像滤除了人眼无法识别的图像缺陷,根据修正后的差分图像得到的缺陷标记结果更加符合人类行为特征。
需要说明的是,本步骤得到的差分图像为二值图像,即差分图像上每一个像素点只有两种不同的取值或者两种不同灰度等级。在实际应用中,在进行差分比对时,可将相同点的灰度等级设置为第一预设灰度值,将差异点的灰度等级设置为第二预设灰度值,第一预设灰度值与第二预设灰度值不同,其中,第一预设灰度值于第二预设灰度值相差越大,相同点与差异点更易区分。例如,第一预设灰度值为255,第二预设灰度值为0,当然,也可将第一预设灰度值设置为0,第二预设灰度值设置为255。
S103、根据差分图像,对待测图像进行形态学缺陷标记,获取与待测图像对应的缺陷标记图。
一种可能的实现方式,本步骤可通过以下方式实现:
步骤一:对步骤S102中得到的差分图像进行形态学处理,得到经过形态学处理后的差分图像,其中,上述形态学处理包括:降噪处理以及开闭运算处理。其中,降噪处理是为了滤除差分图像中噪声点的影响,开闭运算处理包括了开运算处理和闭运算处理两个过程,开运算是先腐蚀后膨胀的过程,可以消除差分图像上细小的噪声,并平滑物体边界;闭运算是先膨胀后腐蚀的过程,可以填充物体内细小的空洞,并平滑物体边界。
步骤二:根据经过形态学处理后的差分图像中的差异点的多连通邻域形成的区域,根据该区域的边界点集,得到用于标记缺陷的轮廓序列。需要说明的是,根据差分图像可得到一个用于标记缺陷的轮廓序列,也可以得到多个用于标记缺陷的轮廓序列,用于标记缺陷的轮廓序列的数量根据差分图像的实际情况确定。
步骤三:采用上述步骤二中确定的一个或多个轮廓序列,对待测图像进行缺陷标记,获得与待测图像对应的缺陷标记图。具体地,可根据轮廓序列中各个边界点的坐标,对待测图像中相应位置的像素点的灰度等级进行改变,以实现将缺陷区域进行标记,从而得到与待测图像对应的缺陷标记图。
本实施例中,首先将待测图像与模板图像进行匹配,确定模板图像中的纹理丰富区域在待测图像中的配准位置,并根据配准位置对待测图像进行校正,接着对校正后的待测图像与模板图像进行基于人眼视觉的红绿蓝RGB三通道敏感度加权的动态阈值差分比对,得到差分图像,进一步,根据差分图像,对待测图像进行形态学缺陷标记,获得与待测图像对应的缺陷标记图。
本实施例的有益效果在于:通过基于人眼感知色彩差异的视觉特性,将人眼对RGB三原色的敏感度经验值以权值的形式引入差分比对中,得到的差分图像,进一步通过采用上述差分图像对待测图像进行形态学缺陷标记,最终标记出来的缺陷是人眼视觉能够感知到的,人眼视觉无法感知到的缺陷未被标记出来,获得的图像缺陷检测结果更加符合人类行为特征。
在图1所示实施例的基础上,可选地,步骤S103之后,还可以包括:
S104、根据所述轮廓序列构成的二进制大对象Blob区域的特征参数,确定缺陷类型;对所述待测图像中的缺陷类型进行统计,并输出统计结果。
具体地,根据由轮廓序列构成的Blob区域的面积、周长、长宽比、连通域密度、外接最小矩形等特征参数,确定缺陷类型,进一步,对待测图像中的缺陷类型进行统计,并输出统计结果。通过对待测图像中存在的缺陷进行统计分析,使得用户能够更加直观地了解到图像中的缺陷分布情况。
图2为本发明提供的图像缺陷检测方法实施例二的流程示意图。在图1所示实施例的基础上,步骤S101、将待测图像与模板图像进行匹配,确定模板图像中的纹理丰富区域在待测图像中的配准位置,并根据配准位置对待测图像进行校正,可具体通过本实施例中的方式实现:
如图2所示,本实施例的方法包括:
S201、采用加速稳健特征算法提取所述模板图像中的特征点,以确定所述纹理丰富区域。
其中,加速稳健特征(speeded up robust features,简称:SURF)算法,是一个稳健的图像识别和描述算法,能够侦测图像中的特征点,在纹理丰富区域,特征点的数量较大,在图像中可能存在多个纹理丰富区域,选择其中一个纹理丰富区域作为校正的依据。在实际应用中,可选择特征点最多的纹理丰富区域即可。
S202、采用边缘检测算法提取纹理丰富区域的边缘图像,并获得边缘图像的边缘几何特征。
采用边缘检测算法能够对纹理丰富区域的不相关的信息进行剔除,标识纹理丰富区域的中亮度明显变换的像素点,进而得到纹理丰富区域的边缘图像。进一步,根据纹理丰富区域的边缘图像,通过计算边缘点的坐标以及每个边缘点对应的梯度方向向量,获取该边缘图像的边缘几何特征。
其中,边缘几何特征由边缘点坐标集合和相应边缘点的梯度方向向量集合组成;其中,边缘点坐标集合通过公式(1)表示为:
{pi=(xi,yi)T,i=1,2,...,n} 公式(1)
pi表示第i个边缘点坐标,xi表示第i个边缘点在边缘图像中的横坐标,yi表示第i个边缘点在边缘图像中的纵坐标,i表示边缘点的序号,n表示边缘点的总数量。
边缘点的梯度方向向量通过公式(2)表示为:
其中,
表示第i个边缘点的梯度方向向量,/>
表示第i个边缘点的沿X方向的导数最大值,/>
表示第i个边缘点的沿Y方向的导数最大值。
补充说明的是,待测图像中像素点表示为:qj=(xj,yj)T,其中,qj表示待测图像中第j个像素点,j=1,2…m,xj表示第j个像素点在待测图像中的横坐标,yj表示第j个像素点在待测图像中的纵坐标,m表示待测图像中像素点的总数量。
在待测图像中像素点qj=(xj,yj)T的梯度方向向量可以表示为:
其中,
表示待测图像中第j个像素点的梯度方向向量,/>
表示待测图像中第j个像素点的沿X方向的导数最大值,/>
表示待测图像中第j个像素点的沿Y方向的导数最大值。
S203、根据边缘图像的边缘几何特征,通过相似性度量函数以及图像金字塔法,确定纹理丰富区域在待测图像中的配准位置。
本步骤中,是根据相似性度量函数、图像金字塔法、边缘点坐标以及每个边缘点对应的梯度方向向量,获取模板图像中的纹理丰富区域在待测图像中的配准位置。
在获取模板图像中的纹理丰富区域在待测图像中的配准位置之前,由于待测图像与模板图像在尺度空间和/或方向上存在差异,因此,需要对模板图像进行缩放、旋转、平移中的一种或多种变换,以将模板图像校正至与待测图像在空间尺度以及方向上保持一致,然后对模板图像与待测图像的边缘几何特征进行相似度量函数计算,获取相似度最高值对应的相对位置参数,即缩放、旋转、平移参数,依据这些参数即可获取到配准位置。
在介绍相似度量函数之前,先引入缩放、旋转以及平移这几种处理的计算公式:
一、缩放处理
将模板图像依据设定的金字塔级别及尺寸变换范围,进行图像缩放,获取到每个缩放级别的模板图像,对这些模板图像进行后续的旋转、平移等处理。
二、旋转处理
模板图像第i个边缘点经过旋转变换后的坐标可以通过公式(3)表示为:
pi′=R(θ)pi=(xi′,yi′)T 公式(3)
其中,R(θ)表示旋转角度为θ的变换矩阵,该矩阵可以为一个2×2矩阵;pi′表示第i个边缘点经过旋转变换后的坐标;xi′表示第i个边缘点经过旋转变换后的横坐标;yi′表示第i个边缘点经过旋转变换后的纵坐标。
相应地,第i个边缘点经过旋转变换后的梯度方向向量可以通过公式(4)表示为:
其中,
表示第i个边缘点经过旋转变换后的梯度方向向量,/>
表示第i个边缘点经过旋转变换后沿X方向的方向导数最大值,/>
表示第i个边缘点经过旋转变换后沿Y方向的方向导数最大值。
从0°至360°范围内,设定旋转精度,由此获取相应的旋转矩阵,对模板图像依次进行旋转处理,获取到旋转后的模板图像,进行下一步平移处理。
三、平移处理
模板图像第i个边缘点经过平移处理后的坐标可以通过公式(5)表示:
其中,
表示第i个边缘点经过平移处理后的梯度方向向量,q表示待测图像边缘点坐标,p
i′表示模板图像经过旋转处理后的第i个边缘点坐标,/>
表示第i个边缘点经过平移转换后沿X方向的导数最大值,/>
表示第i个边缘点经过平移转换后沿Y方向的导数最大值,/>
表示。
通过模板图像从左至右、从上到下的顺序,在待测图像中进行逐像素平移滑动获取相应的平移向量参数。
经过上述三个步骤的处理,即可获取到在设定精度范围内的各个缩放级别、各个旋转角度的模板图像,将这些模板图像在待测图像中进行从上到下、从左到右的平移滑动,计算每个位置的边缘几何特征相似度值,获取最高相似度值。
具体地,可通过以下步骤确定纹理丰富区域在待测图像中的配准位置:
步骤一:根据待测图像和模板图像分别创建待测图像对应的第一图像金字塔和模板图像对应的第二图像金字塔。其中,待测图像对应的第一图像金字塔中包含多个不同分辨率级别的图像,同理,模板图像对应的第二图像金字塔中也包含多个不同分辨率级别的图像。需要说明的是,第一图像金字塔与第二图像金字塔的分辨率级别数量相同,相同级别的分辨率也相同。且第一图像金字塔和第二图像金字塔均是按照图像分辨率由低到高的顺序排列,即图像金字塔最顶部的图像所对应的分辨率较低,图像金字塔底部的图像所对应的分辨率最高,图像金字塔底部的图像所对应的分辨率与模板图像的原始图像分辨率相同。
步骤二:根据第二图像金字塔中各个级别的分辨率的模板图像,对边缘图像的边缘几何特征进行压缩,获得各个分辨率级别下的边缘图像对应的边缘几何特征,以使边缘图像的边缘几何特征的大小与待测图像的分辨率级别相对应。
步骤三:根据各个分辨率级别下的边缘图像对应的边缘几何特征,按照图像金字塔中图像的分辨率由低到高的顺序,在第一图像金字塔中进行逐级匹配。
示例性地,第一图像金字塔和第二图像金字塔均包含三个不同的分辨率级别的图像,分别为第一分辨率级别、第二分辨率级别和第三分辨率级别,其中,第一分辨率级别的分辨率小于第二分辨率级别的分辨率,第二分辨率级别的分辨率小于第三分辨率级别的分辨率。
在进行逐级匹配时,首先,将第一分辨率级别下的边缘图像对应的边缘几何特征与第一分辨率级别下的待测图像进行匹配,根据相似性度量函数计算匹配分数z,当匹配分数z满足预设评估标准时,停止第一分辨率级别下的匹配;接着,按照分辨率由低到高的顺序,采用第二分辨率级别下的边缘图像对应的边缘几何特征与第二分辨率级别下的待测图像进行匹配,根据相似性度量函数计算匹配分数z,当匹配分数z满足预设评估标准时,停止第二分辨率级别下的匹配;进一步,按照分辨率由低到高的顺序,采用第三分辨率级别下的边缘图像对应的边缘几何特征与第三分辨率级别下的待测图像进行匹配,根据相似性度量函数计算匹配分数z,当匹配分数z满足预设评估标准时,停止第三分辨率级别下的匹配。之后,针对待测图像,将第三分辨率级别下匹配分数z满足预设评估标准时的区域确定为纹理丰富区域在待测图像中的配准位置。
相似性度量函数定义为图像边缘梯度的相似程度,相似性度量函数可以通过公式(6)表示为:
公式(3)中,z表示匹配分数,当对应边缘点梯度方向相同时,匹配分数z取得最大值,当梯度方向相反时,匹配分数z取得负的最大值。
由于匹配分数z的取值范围是整个实数域,很难确定一个阈值进行结果筛选,因此,需要对相似性度量函数进行归一化处理,进行归一化处理后的相似性度量函数通过公式(7)表示为:
在实际应用中,预设评估标准可以数值化为一预设阈值,示例性地,该预设阈值可以为0.5。
本步骤中,通过设置图像金字塔,首先将边缘图像的边缘几何特征与低分辨率下的待测图像进行匹配,由于低分辨率下像素点较少,能够较快地确定纹理丰富区域在待测图像中的粗略位置,在进行下一级的匹配时,可优先匹配上一级匹配得到的目标区域附近进行匹配,这样,在逐级匹配的过程中,可将目标区域逐渐细化,不仅能够提高配准位置的匹配效率,同时也能够保证最终得到的配准位置的准确性。
S204、根据配准位置确定仿射变换矩阵,并根据仿射变换矩阵得到校正后的待测图像。
该方案中,可以根据该配准位置,以及在获取配准位置之前对模板图像所执行的缩放、旋转、平移中的一种或多种变换对应的参数,确定仿射变换矩阵。
示例性地,仿射变换矩阵使用2×3矩阵来表示,可通过旋转矩阵和平移矩阵来计算,其中旋转矩阵可表示为:
其中,a00、a01、a10、a11表示旋转矩阵参数。
平移矩阵可表示为:
其中,b00、b10表示平移向量参数。
仿射变换矩阵由公式(8)表示为:
对待测图像各个像素点qj进行仿射变换,使其与模板图实现行对准。通过公式(9)进行仿射变换:
Qj=A·qj+B=(a00x+a01y+b00,a10x+a11y+b10) 公式(9)
公式(9)中,Qj表示仿射变换后的坐标。本实施例中,通过采用图像金字塔法以及相似性度量函数,根据边缘图像的边缘几何特征与不同尺度空间下的待测图像进行逐级匹配,不仅提高了图像配准的效率,同时也保证了图像配准的准确度。进一步,提高图像缺陷检测效率以及图像缺陷检测的准确性。
可选地,为了进一步提高图像配准的准确性,在图2所示实施例的基础上,步骤S204、根据配准位置计算仿射变换矩阵,以根据仿射变换矩阵得到校正后的待测图像之后,还可以采用相似性度量函数,获得将模板图像与待测图像中边缘图像的匹配分数,并根据匹配分数,并根据匹配分数确定图像配准的准确度。
图3为本发明提供的图像缺陷检测方法实施例三的流程示意图。在图1所示实施例的基础上,步骤S102、对校正后的待测图像与模板图像进行基于人眼视觉的RGB三通道敏感度加权的动态阈值差分比对,得到差分图像,可通过本实施例中的步骤实现。
如图3所示,本实施例的方法包括:
S301、对校正后的待测图像与模板图像进行差分计算,获取初始差分图像。
本步骤中,可采用传统的一些图像差分算法对校正后的待测图像与模板图像进行图像差分计算,获取初始差分图像。例如,可采用OpenCV(开源计算机视觉库)中的图像差分运算。
S302、采用基于人眼视觉的RGB三通道分别对应的敏感度权值,计算初始差分图像中差异点在待测图像中对应的像素点的加权差分值。
为了能够滤除人眼视觉无法识别的图像缺陷,将人眼感知RGB三原色的敏感度经验值以权重的方式引入图像差分算法中。
一种可能的实现方式,引入敏感度加权的图像差分算法可通过以下公式(10)表示:
其中,D(i,j)表示像素点(i,j)的差分值,
分别表示模板图像中像素点(i,j)的R、G、B通道像素值,/>
分别表示待测图像中像素点(i,j)的R、G、B通道像素值,w
r、w
g、w
b分别表示人眼分别对于R、G、B通道的敏感度权值,根据RGB的人眼敏感度测试实验,优选地,w
r=0.46、w
g=0.31、w
b=0.23。
将初始差分图像中差异点在待测图像中对应位置像素点的RGB值代入上述公式(8)中,以得到该像素点对应的加权差分值。
S303、将加权差分值与预设动态阈值进行比较,获得比较结果。
由于人眼的对比敏感度不同,主观感觉的差异与进入人眼实际像素值并非线性关系,因此,设定不同灰度值下的差分阈值函数,构成灰度值与差分阈值的动态非线性曲线。
具体地,确定与该加权分值对应的差异点在模板图像中对应像素点的灰度值,通过灰度值与差分阈值的非动态曲线,确定差分阈值,并将该差分阈值确定为预设动态阈值,再将加权差分值与预设动态阈值进行比较,若该加权差分值大于预设动态阈值,则确认该像素点为差异点,若该加权差分值小于或等于预设动态阈值,则确定该像素点为相同点。
通过上述方式,对差分图像中的所有差异点在待测图像中对应的像素点进行二次确认,获得比较结果。
S304、根据比较结果对初始差分图像进行修正,以得到差分图像。
一种可能的实现方式,在初始差分图像中,将步骤S303中确认为相同点的灰度等级重新修改为第二预设灰度值,将步骤S303中确定为差异点的灰度等级保持不变,从而得到修正后的差分图像(即步骤S304中的差分图像)。这里,以第一预设灰度值为255、第二预设灰度值为0为例对差分图像的表达式进行举例说明,差分图像可通过下述公式(11)来表示:
其中,f(i,j)表示动态阈值函数,D(i,j)表示待测图像对应像素点的加权差分值,动态阈值函数f(i,j)是预先根据大量的样本被数据进行统计分析得到的,该动态阈值函数中,低灰度等级的对应的差分阈值较大,高灰度等级的差分阈值较小。
本实施例中,通过基于人眼感知色彩差异的视觉特性,将人眼对RGB三原色的敏感度经验值以权值的形式引入差分比对中,根据差分比对结果对初始差分图像进行修正,采用修正后的差分图像对待测图像进行形态学缺陷标记,使得与待检测图像对应的缺陷标记图更加符合人类行为特征。
图4为本发明提供的图像缺陷检测方法实施例四的流程示意图。如图4所示,本实施例的方法在图1所示实施例的基础上,在步骤S103、根据差分图像,对待测图像进行形态学缺陷标记,获取与待测图像对应的缺陷标记图,之前还可以对差异点进行全局邻域同质性判别以及单像素差异判别。具体如图4所示,本实施例的方法包括:
S401、将待测图像与模板图像进行匹配,确定模板图像中的纹理丰富区域在待测图像中的配准位置,并根据配准位置对待测图像进行校正。
S402、对校正后的待测图像与模板图像进行基于人眼视觉的RGB三通道敏感度加权的动态阈值差分比对,得到差分图像。
本实施例中步骤S401、S402与图1所示实施例中的步骤S101、S102类似,可参照图1所示实施例中的描述。其中,本实施例步骤S401也可通过图2所示实施例中的方式实现,本实施例中步骤S402也可通过图3所示实施例中的方式实现,此处不再赘述。
S403、对差分图像中的差异点进行全局邻域同质性判别。
在两张图像中,对应像素块的同质性越强,则说明像素块越接近,同质性越弱,则说明像素块差异越大,因此,为了进一步保证图像缺陷检测结果的准确性,可对初始差分图像中表示的各个差异点进行全局邻域同质性判别。
具体地,通过以下方式差分图像中表示的各个差异点进行全局邻域同质性判别:
首先,分别获取校正后的待测图像中以差异点为中心第一预设邻域内的其他像素点的第一统计特征参数,以及所述模板图像中以差异点为中心第一预设邻域内的其他像素点的第二统计特征参数;接着,根据所述第一统计特征参数、所述第二统计特征参数以及预设规则,以对所述差异点进行邻域同质性判别。
可选地,第一统计特征参数和第二统计特征参数均包括:RGB三通道分别对应的灰度均值和/或灰度标准差。
接下来分别以第一统计特征参数和第二统计特征参数为灰度均值、第一统计特征参数和第二统计特征参数为灰度标准差为例进行说明如何对差异点进行邻域同质性判别。
一、第一统计特征参数和第二统计特征参数为灰度均值
若在校正后的待测图像中以某一差异点为中心第一预设邻域内的其他像素点在RGB三通道分别对应的灰度均值与模板图像中以差异点为中心第一预设邻域内的其他像素点在RGB三通道分别对应的灰度均值的差值的绝对值在预设参考范围内,确定以该待测图像中以所述差异点为中心的第一预设邻域范围与模板图像中以所述差异点为中心的第一预设邻域范围视为相同。
若在校正后的待测图像中以差异点为中心第一预设邻域内的其他像素点在RGB三通道分别对应的灰度均值与模板图像中以差异点为中心第一预设邻域内的其他像素点在RGB三通道分别对应的灰度均值的差值的绝对值大于预设参考范围的最大值,则确定以该待测图像中以所述差异点为中心的第一预设邻域范围与模板图像中以所述差异点为中心的第一预设邻域范围无法视为相同区域,即该差异点确定为差异点无误。
二、第一统计特征参数和第二统计特征参数为灰度标准差
首先,在校正后的待测图像中以某一差异点为中心第一预设邻域内其他像素点在RGB三通道分别对应的灰度均值以及第一预设邻域内各个像素点的灰度值,获得在校正后的待测图像中以某一差异点为中心第一预设邻域内其他像素点在RGB三通道分别对应的灰度标准差;通过类似的方式,获得模板图像中以某一差异点为中心第一预设邻域内其他像素点在RGB三通道分别对应的灰度标准差。
进一步,根据邻域同质性判别准则获得每个通道对应的同质性判别分数值,同质性判断分数值可通过公式(12)计算得到:
其中,S
k表示第k个通道的同质性判别分数值,
表示模板图像的第k个通道的灰度标准差,/>
表示待测图像的第k个通道的灰度标准差。
接着,将每个通道的同质性判别分数值与预设规则进行对比,确定该像素点为差异点还是相同点。其中,预设规则可数值化为一标准参考范围,在实际应用中,该标准参考范围可以为[0,0.2],若三个通道的同质性判别分数值均不属于该标准参考范围,则确定该像素点为差异点。
本步骤中,通过对差分图像中的所有差异点进行全局邻域同质性判别,对差异点进行了二次确认,减小了待测图像在成像过程中的随机噪声以及图像配准过程中产生的误差对图像缺陷检测带来的影响,提高了图像缺陷检测的准确度。
S404、对差分图像中的差异点进行单像素差异判别。
稿件在印刷前的出版流程中,不同分辨率的图像在生成的过程中会进行不同的插值计算,会导致单像素线条缺失或多余,这种细小的差异在全局邻域同质性判别中,由于均值、方差均较小,容易被忽略,因此,为了抑制单像素线条的影响,减小比对误差,需要对差分图像中的差异点进行单像素差异判别。
具体地,通过以下方式对差异点进行单像素差异判别:
首先,针对差分图像中的每个差异点:分别计算在待测图像中以差异点为中心的第二预设邻域内,在多种预设单像素邻域模板样式下,每种预设单像素邻域模板样式分别对应的单像素缺陷区域和背景区域的灰度均值、在第二预设邻域内所述差异点的邻域像素块的灰度标准差。
接着,根据每种预设单像素邻域模板样式分别对应的单像素缺陷区域和背景区域的灰度均值、在第二预设邻域内所述差异点的邻域像素块的灰度标准差,获得单像素差异判别结果。具体地,当存在某种预设单像素邻域模板样式下,单像素缺陷区域和所述背景区域的灰度均值差最大,且第二预设邻域内所述差异点的邻域像素块的灰度标准差最小时,确定以该差异点为中心的第二预设邻域为单像素缺陷;并确定将所述单像素缺陷区域包含的像素点的灰度等级设置为第一预设灰度值。当不存在某种预设单像素邻域模板样式下,单像素缺陷区域和所述背景区域的灰度均值差最大,且第二预设邻域内所述差异点的邻域像素块的灰度标准差最小时,确定以该差异点为中心的第二预设邻域不为单像素缺陷;相应地,确定以该差异点为中心的第二预设邻域保持当前灰度值不变。
其中,图5为本发明提供的多种预设单像素邻域模板样式示意图。如图5所示,其中包含了14种以差异点为中心,3*3空间邻域内的预设单像素邻域模板样式,每个预设单像素邻域模板样式中均包含单像素缺陷区域和背景区域。图5中所示的14种预设单像素邻域模板样式中,黑色方框表示中心点,且该中心点为差异点,白色方框表示背景区域,灰色方框表示单像素缺陷区域,白色方框和黑色方框的灰度值不同。
在实际应用中,步骤S403和步骤S404也可按照本实施例中所示顺序执行,也可先执行步骤S404,再执行步骤S403,或者,步骤S403和步骤S404也可并行执行,本发明实施例对此不作限制。另外,在实际应用中,也可对差分图像中的差异点仅进行全局邻域同质性判别,也可对差分图像中的差异点仅进行单像素差异判别,可以理解是的,同时对差分图像中的差异点进行全局邻域同质性判别和单像素差异判别,得到修正后的差分图像精确度更高,也能够提高图像缺陷检测结果的准确度。
S405、根据全局邻域同质性判别结果以及单像素差异判别结果对差分图像进行修正,以根据修正后的差分图像,对待测图像进行形态学缺陷标记,获取与待测图像对应的缺陷标记图。
首先,根据全局邻域同质性判别结果,将差分图像中,同质性强的差异点的灰度等级重新为第一预设灰度值,将同质性弱的差异点的灰度等级保持第二预设灰度值不变。进一步,根据单像素差异判别结果,将上述确定为单像素线条的差异点的灰度等级重新设置为第一预设灰度值,将不是单像素线条的差异点的灰度等级保持第二预设灰度值不变,从而得到修正后的差分图像。接着,根据修正后的差分图像,对待测图像进行形态学缺陷标记,获取与待测图像对应的缺陷标记图。
其中,根据修正后的差分图像,对待测图像进行形态学缺陷标记,获取与待测图像对应的缺陷标记图的具体实施方式,与图1所示实施例中步骤S103的实现方式类型,可参照图1所示实施例中的详细描述。
本实施例中,通过基于人眼感知色彩差异的视觉特性,将人眼对RGB三原色的敏感度经验值以权值的形式引入差分比对中,得到的差分图像,进一步通过采用上述差分图像对待测图像进行形态学缺陷标记,使得与待检测图像对应的缺陷标记图更加符合人类行为特征。通过全局邻域同质性判别滤除了由于像素边缘突变对图像缺陷检测的影响,通过单像素差异判别滤除了单像素线条对图像缺陷检测的影响,使得图像缺陷检测结果在符合人类行为特性的基础上更加准确。
图6为采用本发明提供的图像缺陷检测方法的效果示意图。参照图6所示,采用本发明实施例提供的方法,待测图像如图6中靠左的图像,模板图像如图6中靠右的图像,在待测图像中如标记所示,待测图像中“自觉”中的“自”存在缺陷,该缺陷为人眼视觉可以识别的缺陷,采用本发明提供的图像缺陷检测方法对待测图像进行缺陷标记,准确标记出了人类能够识别的缺陷和不同,与现有技术中的方案相比更加准确,也更加符合人类行为特征。
图7为本发明提供的图像缺陷检测装置实施例一的结构示意图。如图7所示,本实施例的装置70包括:校正模块71、差分比对模块72以及标记模块73。
其中,校正模块71,用于将待测图像与模板图像进行匹配,确定模板图像中的纹理丰富区域在所述待测图像中的配准位置,并根据所述配准位置对所述待测图像进行校正。
差分比对模块72,用于对校正后的待测图像与所述模板图像进行基于人眼视觉的RGB三通道敏感度加权的动态阈值差分比对,得到差分图像。
标记模块73,用于根据所述差分图像,对所述待测图像进行形态学缺陷标记,获得与待测图像对应的缺陷标记图。
本实施例的装置,可以用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
在图7所示实施例的基础上,还可以包括:统计模块76(图7中未示出),统计模块76,具体用于根据轮廓序列构成的二进制大对象Blob区域的特征参数,确定缺陷类型;对待测图像中的缺陷类型进行统计,并将统计结果输出。
图8为本发明提供的图像缺陷检测装置实施例二的结构示意图。如图8所示,本实施例的装置80在图7所示实施例的基础上,校正模块71包括:提取子模块711、位置确定子模块712以及校正子模块713。
其中,提取子模块711,用于采用加速稳健特征SURF算法提取模板图像中的特征点,以确定所述纹理丰富区域。
提取子模块711,还用于采用边缘检测算法提取所述纹理丰富区域的边缘图像,获得所述边缘图像的边缘几何特征,其中,所述边缘几何特征包括:边缘点坐标以及每个所述边缘点对应的梯度方向向量。
位置确定子模块712,用于根据所述边缘图像的边缘几何特征,通过相似性度量函数以及图像金字塔法,确定所述纹理丰富区域在所述待测图像中的配准位置。
校正子模块713,用于根据所述配准位置确定仿射变换矩阵,并根据所述仿射变换矩阵得到校正后的待测图像,所述校正包括平移、旋转以及缩放中的一项或多项。
本实施例的的装置,可以用于执行图2所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图9为本发明提供的图像缺陷检测装置实施例三的结构示意图。如图8所示,本实施例的装置90,在图8所示实施例的基础上,差分比对模块72包括:初始差分子模块721、计算子模块722、比较子模块723、修正子模块724。
其中,初始差分子模块721,具体用于对所述校正后的待测图像与所述模板图像进行差分计算,获取初始差分图像。
计算子模块722,具体用于采用基于人眼视觉的RGB三通道分别对应的敏感度权值,计算所述初始图像中的差异点在所述待测图像中对应的像素点的加权差分值。
比较子模块723,具体用于将所述加权差分值与预设动态阈值进行比较,获得比较结果。
其中,将大于所述预设动态阈值的加权差分值对应的像素点确定为差异点,将小于或等于所述预设动态阈值的加权差分值对应的像素点确定为相同点。
修正子模块724,具体用于根据比较结果对所述初始差分图像进行修正,以得到差分图像,其中,所述差分图像中差异点的灰度等级为第一预设灰度值,相同点的灰度等级为第二预设灰度值。
本实施例的装置,本实施例提供的装置,可以用于执行图3所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图10为本发明提供的图像缺陷检测装置实施例四的结构示意图。如图10所示,本实施例的装置100,在图9所示是实施例的基础上,还包括:同质性判别模块74。
其中,同质性判别模块74,具体用于通过以下方式对差异点进行全局邻域同质性判别:
分别获取所述校正后的待测图像中以差异点为中心第一预设邻域内的其他像素点的第一统计特征参数,以及所述模板图像中以差异点为中心第一预设邻域内的其他像素点的第二统计特征参数;
根据所述第一统计特征参数、所述第二统计特征参数以及预设规则,以对所述差异点进行邻域同质性判别,获得全局邻域同质性判别结果。
相应地,修正子模块724,用于根据全局邻域同质性判别结果对所述差分图像进行修正,以得到第一差分图像。
标记模块73,用于根据第一差分图像,对待测图像进行形态学缺陷标记,获得与待测图像对应的缺陷标记图。
可选地,所述装置100还包括:单像素差异判别模块75。
其中,单像素差异判别模块75,具体用于通过以下方式对差异点进行单像素差异判别:
分别计算在所述待测图像中,以所述差异点为中心第二预设邻域内,在多种预设单像素邻域模板样式下,每种预设单像素邻域模板样式分别对应的单像素缺陷区域和背景区域的灰度均值、在第二预设邻域内所述差异点的邻域像素块的灰度标准差;进一步,根据所述单像素缺陷区域和所述背景区域的灰度均值以及第二预设区域内所述差异点的邻域像素块的灰度标准差,获得单像素差异判别结果。
具体地,当所述单像素缺陷区域和所述背景区域的灰度均值差最大,且所述单像素缺陷区域的灰度标准差最小时,确定以所述差异点为中心第二预设邻域为单像素缺陷;并确定将所述单像素缺陷区域包含的像素点的灰度等级设置为第一预设灰度值。
相应地,修正子模块724,还用于根据单像素差异判别结果对所述初始差分图像进行修正,以得到第二差分图像。
需要说明的是,本实施例中,标记模块73,还用于根据第二差分图像,对待测图像进行形态学标记,获取与待测图像对应的缺陷标记图。
本实施例的装置,本实施例提供的装置,可以用于执行图4所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图11为本发明提供的电子设备实施例一的结构示意图。如图11所示,本实施例提供的电子设备10包括:存储器11、处理器12以及计算机程序指令。
其中,计算机程序存储在存储器11中,并被配置为由处理器12执行以实现图1至图4任一实施例所示的图像缺陷检测方法。相关说明可以对应参见图1至图4的步骤所对应的相关描述和效果进行理解,此处不做过多赘述。
其中,本实施例中,存储器11和处理器12通过总线13连接。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行以实现本发明图1至图4任一实施例所示的图像缺陷检测方法。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
用于实施本发明的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。