1.一种基于梯度多阈值优化缺陷检测方法,其特征在于包括以下步骤:
步骤1、对待检测物采集图像,转换为数字图像后供后面计算用;
步骤2、通过K均值聚类算法获取模块均值的最优化阈值,取K=4,分别求取四聚类中心值,并自动以最低的聚类中心值为局部均值的最优化阈值,具体迭代计算步骤如下:
(1)图像中的信息分为两类:背景像素和物体像素,假设待检测物采集图像中没有有关物体的确切位置的信息,作为第1步近似,考虑图像中某些点含有背景像素和其它点为物体像素,任意选择四个聚类对象作为聚类中心;
(2)根据每个聚类对象均值,计算每个聚类对象与这四个聚类中心的距离,根据最小距离重新对上一步的聚类对象进行划分,将图像分割成包含背景区域和物体区域;
(3)在第t步,分别计算背景区域和物体区域的灰度均值μb和μo,进一步将图像分割成背景区域和物体区域,阈值为T,它的前一步公式是:
<mrow>
<msub>
<mi>&mu;</mi>
<mi>b</mi>
</msub>
<mo>=</mo>
<mfrac>
<mrow>
<msub>
<mi>&Sigma;</mi>
<mrow>
<mi>b</mi>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>,</mo>
<mi>j</mi>
<mo>)</mo>
</mrow>
</mrow>
</msub>
<mi>f</mi>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>,</mo>
<mi>j</mi>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mo>#</mo>
<mi>b</mi>
<mi>a</mi>
<mi>c</mi>
<mi>k</mi>
<mi>g</mi>
<mi>r</mi>
<mi>o</mi>
<mi>u</mi>
<mi>n</mi>
<mi>d</mi>
<mo>_</mo>
<mi>p</mi>
<mi>i</mi>
<mi>x</mi>
<mi>e</mi>
<mi>l</mi>
<mi>s</mi>
</mrow>
</mfrac>
</mrow>
<mrow>
<msub>
<mi>&mu;</mi>
<mi>o</mi>
</msub>
<mo>=</mo>
<mfrac>
<mrow>
<msub>
<mi>&Sigma;</mi>
<mrow>
<mi>o</mi>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>,</mo>
<mi>j</mi>
<mo>)</mo>
</mrow>
</mrow>
</msub>
<mi>f</mi>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>,</mo>
<mi>j</mi>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mo>#</mo>
<mi>o</mi>
<mi>b</mi>
<mi>j</mi>
<mi>e</mi>
<mi>c</mi>
<mi>t</mi>
<mo>_</mo>
<mi>p</mi>
<mi>i</mi>
<mi>x</mi>
<mi>e</mi>
<mi>l</mi>
<mi>s</mi>
</mrow>
</mfrac>
</mrow>
<mrow>
<msup>
<mi>T</mi>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>+</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
</msup>
<mo>=</mo>
<mfrac>
<mrow>
<msub>
<mi>&mu;</mi>
<mi>b</mi>
</msub>
<mo>+</mo>
<msub>
<mi>&mu;</mi>
<mi>o</mi>
</msub>
</mrow>
<mn>2</mn>
</mfrac>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
</mrow>
其中,μb、μo为背景区域和物体区域的灰度均值,#background_pixels、#object_pixels为背景区域和物体区域的像素个数,f(i,j)为像素点(i,j)处的像素值,比较T(t+1)和T(t)值,当T(t+1)=T(t)时计算停止;
步骤3、对待检测物采集图像进行四个方向的梯度计算,通过正态分布模型,获取图像的动态阈值,即获取模块化梯度的阈值;
在一幅图像中,每个像素点都具有8邻域和4个边缘检测方向,在传统的水平和垂直方向检测边缘的基础上,增加45°和135°方向上的边缘检测,其公式如下:
Px(i,j)=I(i+1,j)-I(i-1,j) (2)
Py(i,j)=I(i,j+1)-I(i,j-1) (3)
P45(i,j)=I(i-1,j+1)-I(i+1,j-1) (4)
P135(i,j)=I(i+1,j+1)-I(i-1,j-1) (5)
T(i,j)=(|px(i,j)|+|py(i,j)|+|p45(i,j)|+|p135(i,j)|)/4 (6)
其中,Px(i,j)、Py(i,j)、P45(i,j)、P135(i,j)分别代表x、y、45°、135°方向上的梯度,I为输入图像的像素值,T(i,j)为在像素点(i,j)处的梯度幅值;
根据概率统计理论的分析,样本数据接近(μ,σ)的正态分布,经过统计,(μ-σ,μ+σ)之外的数据占总数据的30%,(μ-3σ,μ+3σ)之外数据占总数据的0.3%左右,因此,可以认为在(μ+σ,μ+2σ)之内的像素为边缘点,大于μ+3σ为噪声,其图像分割区域的梯度动态阈值计算如下:
<mrow>
<mi>&mu;</mi>
<mo>=</mo>
<mfrac>
<mrow>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mi>M</mi>
</munderover>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>j</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mi>N</mi>
</munderover>
<mi>T</mi>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>,</mo>
<mi>j</mi>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mi>M</mi>
<mo>&times;</mo>
<mi>N</mi>
</mrow>
</mfrac>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>7</mn>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mi>&sigma;</mi>
<mo>=</mo>
<msqrt>
<mfrac>
<mrow>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mi>M</mi>
</munderover>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>j</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mi>N</mi>
</munderover>
<mrow>
<mo>(</mo>
<mi>T</mi>
<mo>(</mo>
<mrow>
<mi>i</mi>
<mo>,</mo>
<mi>j</mi>
</mrow>
<mo>)</mo>
<mo>-</mo>
<mi>&mu;</mi>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mi>M</mi>
<mo>&times;</mo>
<mi>N</mi>
</mrow>
</mfrac>
</msqrt>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>8</mn>
<mo>)</mo>
</mrow>
</mrow>
λmin=μ+σ (9)
λmax=μ+2σ (10)
其中,μ为整体梯度幅值图像的均值,σ为整体梯度幅值图像的方差,λmin、λmax为梯度幅值阈值的上下边界,M、N表示图像分割区域的长和宽;
步骤4、运用统计学实验方法,对预置值数量的样本图像进行取样,分别统计样本图像的模块中像素最大值、像素差最大值作为模块像素最大值和模块像素差最大值的阈值,具体步骤如下:
(1)分别对样本图像进行归类,本发明的样本图像主要分6类;
(2)对每类样本图像进行定向模块取值,每幅样本图像按照预设的步长,取100个模块,该模块的大小为4×4,且模块的位置一半位于图像的缺陷处,一半位于图像的非缺陷处;
(3)分别统计样本图像的模块中像素最大值、像素差最大值作为模块像素均值和模块像素差最大值的阈值;
步骤5、对待检测物采集图像的物体区域进行分割,对分割模块进行四阈值判断,提取图像中检测出的缺陷模块,并把它放在新的图像矩阵中,通过中值滤波,输出缺陷检测结果图像,具体为:
(1)确定分割阈值条件,包括输入图像的起始位置、分割窗口的宽w和高h、分割移动的步长,取分割窗口的宽w=高h=4,分割移动的步长为2;
(2)根据分割阈值条件对物体区域中的对象进行分割处理,分别计算4×4分割模块中的像素均值、像素差最大值、像素最大值和梯度均值,将其与上述步骤2获得像素均值的阈值,步骤4获得的像素差最大值和像素最大值的阈值,步骤3获得的梯度的阈值进行比较判断,若在阈值范围内,则将该分割模块的像素复制到一个新矩阵,对于新矩阵中空白的部分,直接赋值为255,组合成完整的缺陷图像矩阵;
(3)设置滤波窗口为4×4分割模块半径,对缺陷图像矩阵进行中值滤波去噪,获取最终的缺陷检测结果图像。