发明名称 基于局部统计特征与整体显著性分析的织物疵点检测方法
摘要 本发明公开了一种基于局部统计特征与整体显著性分析的织物疵点检测方法,包括局部纹理和灰度统计特征提取、视觉显著图生成和视觉显著图分割三部分。首先对图像进行分块,提取图像块的局部纹理和灰度统计特征;其次针对每个当前图像块,随机选取K个其它图像块,计算当前图像块与其它图像块统计特征之间的对比度,完成基于整体显著性分析生成视觉显著图;最后采用基于迭代最优阈值分割算法对显著图进行分割,得到织物疵点检测结果。本方法综合考虑织物纹理统计特征和灰度统计特征,具有较高的检测精度;且本方法不需要训练样本,自适应能力强;计算速度较快,适合在线检测。
申请公布号 CN103729842A 申请公布日期 2014.04.16
申请号 CN201310712348.9 申请日期 2013.12.20
申请人 中原工学院 发明人 刘洲峰;李春雷;朱永胜;张爱华;赵全军;闫磊
分类号 G06T7/00(2006.01)I;G06T5/40(2006.01)I 主分类号 G06T7/00(2006.01)I
代理机构 郑州优盾知识产权代理有限公司 41125 代理人 张绍琳;郑园
主权项 1.一种基于局部统计特征与整体显著性分析的织物疵点检测方法,包括局部纹理和灰度统计特征提取、整体分析的视觉显著图生成及视觉显著图分割;具体为:一:局部纹理和灰度统计特征提取具体包括以下几个步骤:步骤1.局部纹理统计特征提取本方法选用LBP(local binary pattern)算子来提取局部纹理特征,其主要思想是将邻域作为一个处理单元,如果该邻域中的像素灰度大于中心像素的灰度,则对应邻域像素置为1,否则置为0,按顺时针方向排列成二进制序列;假设U表示LBP算子中0到1或1到0的变化次数,如果U≤2,为每一位分配一个权值2<sup>i</sup>,将该二进制序列转换成一个确切的十进制数,即为中心像素的LBP特征值;如果U&gt;2,将二进制序列统一转换成P(P-1)+3,表示中心像素的LBP特征值,如式(1)所示:<img file="FDA0000442757590000011.GIF" wi="1226" he="253" />其中g<sub>c</sub>表示中心像素灰度值,g<sub>i</sub>表示邻域像素灰度值,P表示邻域中像素个数,R表示邻域半径,<maths num="0001"><![CDATA[<math><mrow><mi>s</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mn>1</mn><mo>,</mo></mtd><mtd><mi>x</mi><mo>&GreaterEqual;</mo><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn><mo>,</mo></mtd><mtd><mi>x</mi><mo>&lt;</mo><mn>0</mn></mtd></mtr></mtable></mfenced><mo>;</mo></mrow></math>]]></maths>最后通过计算LBP特征值直方图,用以表征图像的局部纹理统计信息;步骤2.灰度统计特征提取本方法采用灰度直方图来提取图像的灰度统计特征,如式(2)所示:P(R<sub>k</sub>)=N<sub>k</sub>/N     (2)式中,R<sub>k</sub>为第k级灰度;N<sub>k</sub>为第k级灰度的像素总数;P(R<sub>k</sub>)为第k级灰度的频数;N为图像像素的总数目;通过计算P(R<sub>k</sub>)的直方图,用以表示灰度统计特征;二:视觉显著图生成具体包括以下几个步骤:步骤1.将大小为M×N的图像f划分为m×m图像块f<sub>i</sub>(i=1,2,...,N<sub>b</sub>),其中N<sub>b</sub>为图像块个数;因为一个图像块对应显著图的一个像素,为了提高显著度图的分辨率,所划分图像块之间相互重叠,重叠区域大小为m×c或c×m;步骤2.针对当前图像块f<sub>i</sub>,随机选取K个其它图像块位置p<sub>j</sub>,如式(3)所示:p<sub>j</sub>=p<sub>i</sub>+ωR<sub>j</sub>     (3)其中,p<sub>i</sub>表示图像块f<sub>i</sub>在二维空间中的位置,j取1到K,R<sub>j</sub>是均匀分布的随机变量,其取值范围是[-1,1]×[-1,1],ω是图像的宽高尺寸的一半;步骤3.提取当前图像块f<sub>i</sub>和其对应的K个其它图像块f<sub>j</sub>(j=1,2,...,K)的局部纹理和灰度统计特征;步骤4.计算当前图像块和其对应的K个图像块之间的局部纹理统计特征距离d<sub>lbp</sub>(f<sub>i</sub>,f<sub>j</sub>)、灰度统计特征距离d<sub>hist</sub>(f<sub>i</sub>,f<sub>j</sub>)及Euclid位置距离d<sub>p</sub>(p<sub>i</sub>,p<sub>j</sub>);由于局部纹理及灰度统计特征以直方图形式进行表示,因此本方法选用卡方距离来度量特征之间的差异;其中,式(4)为图像块局部纹理统计特征之间的差异:<maths num="0002"><![CDATA[<math><mrow><msub><mi>d</mi><mi>lbp</mi></msub><mrow><mo>(</mo><msub><mi>f</mi><mi>i</mi></msub><mo>,</mo><msub><mi>f</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>t</mi><mo>=</mo><mn>1</mn></mrow><mi>T</mi></munderover><mfrac><msup><mrow><mo>(</mo><msubsup><mi>V</mi><mi>it</mi><mi>lbp</mi></msubsup><mo>-</mo><msubsup><mi>V</mi><mi>jt</mi><mi>lbp</mi></msubsup><mo>)</mo></mrow><mn>2</mn></msup><mrow><msubsup><mi>V</mi><mi>it</mi><mi>lbp</mi></msubsup><mo>+</mo><msubsup><mi>V</mi><mi>jt</mi><mi>lbp</mi></msubsup></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow></math>]]></maths>式中,T为特征维数,V<sup>lbp</sup>表示局部纹理统计特征向量;<maths num="0003"><![CDATA[<math><mrow><msub><mi>d</mi><mi>hist</mi></msub><mrow><mo>(</mo><msub><mi>f</mi><mi>i</mi></msub><mo>,</mo><msub><mi>f</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>t</mi><mo>=</mo><mn>1</mn></mrow><mi>T</mi></munderover><mfrac><msup><mrow><mo>(</mo><msubsup><mi>V</mi><mi>it</mi><mi>hist</mi></msubsup><mo>-</mo><msub><mi>V</mi><mi>jt</mi><mi>hist</mi></msub><mo>)</mo></mrow><mn>2</mn></msup><mrow><msubsup><mi>V</mi><mi>it</mi><mi>hist</mi></msubsup><mo>+</mo><msubsup><mi>V</mi><mi>jt</mi><mi>hist</mi></msubsup></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mrow></math>]]></maths>式中,T为特征维数,V<sup>hist</sup>表示灰度统计特征向量;那么定义图像块之间的不相似性如式(6)所示:<maths num="0004"><![CDATA[<math><mrow><mi>d</mi><mrow><mo>(</mo><msub><mi>f</mi><mi>i</mi></msub><mo>,</mo><msub><mi>f</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><msub><mi>d</mi><mi>lbp</mi></msub><mrow><mo>(</mo><msub><mi>f</mi><mi>i</mi></msub><mo>,</mo><msub><mi>f</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>+</mo><msub><mi>d</mi><mi>hist</mi></msub><mrow><mo>(</mo><msub><mi>f</mi><mi>i</mi></msub><mo>,</mo><msub><mi>f</mi><mi>j</mi></msub><mo>)</mo></mrow></mrow><mrow><mn>1</mn><mo>+</mo><mi>c</mi><mo>&times;</mo><msub><mi>d</mi><mi>p</mi></msub><mrow><mo>(</mo><msub><mi>p</mi><mi>i</mi></msub><mo>,</mo><msub><mi>p</mi><mi>j</mi></msub><mo>)</mo></mrow></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow></math>]]></maths>式中,d<sub>lbp</sub>(f<sub>i</sub>,f<sub>j</sub>)为局部纹理统计特征距离;d<sub>hist</sub>(f<sub>i</sub>,f<sub>j</sub>)为灰度统计特征距离;d<sub>p</sub>(p<sub>i</sub>,p<sub>j</sub>)为图像块f<sub>i</sub>和f<sub>j</sub>所在位置之间的Euclid距离;;c为一个比例因子,取值在[-10]之间;步骤5.计算当前图像块i的显著性s<sub>i</sub>,如式(7)所示:<maths num="0005"><![CDATA[<math><mrow><msub><mi>s</mi><mi>i</mi></msub><mo>=</mo><mn>1</mn><mo>-</mo><mi>exp</mi><mo>{</mo><mo>-</mo><mfrac><mn>1</mn><mi>K</mi></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>K</mi></munderover><mi>d</mi><mrow><mo>(</mo><msub><mi>p</mi><mi>i</mi></msub><mo>,</mo><msub><mi>p</mi><mi>k</mi></msub><mo>)</mo></mrow><mo>}</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow></math>]]></maths>进而得到整幅图像的视觉显著图S;步骤3.对视觉显著图S进行后处理,如式(8)所示:<img file="FDA0000442757590000036.GIF" wi="900" he="65" />其中,g为圆形平滑滤波器,<img file="FDA0000442757590000037.GIF" wi="71" he="45" />表示Hadamard内积;步骤4.将视觉显著图转换为灰度在0~255之间的灰度图像,如式(9)所示:<maths num="0006"><![CDATA[<math><mrow><mi>Gm</mi><mo>=</mo><mfrac><mrow><mi>m</mi><mo>-</mo><mi>min</mi><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow></mrow><mrow><mi>max</mi><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow><mo>-</mo><mi>min</mi><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow></mrow></mfrac><mo>&times;</mo><mn>255</mn><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>9</mn><mo>)</mo></mrow></mrow></math>]]></maths>三:视觉显著图分割本文采用迭代最优阈值分割方法对视觉显著度图进行处理,实现对织物疵点区域的检测与定位;具体包括以下几个步骤:步骤1.计算初始阈值T<sub>0</sub>={T<sub>k</sub>|k=0},<maths num="0007"><![CDATA[<math><mrow><msub><mi>T</mi><mn>0</mn></msub><mo>=</mo><mfrac><mrow><msub><mi>Z</mi><mi>min</mi></msub><mo>+</mo><msub><mi>Z</mi><mi>max</mi></msub></mrow><mn>2</mn></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>9</mn><mo>)</mo></mrow></mrow></math>]]></maths>式中,Z<sub>min</sub>、Z<sub>max</sub>分别表示图像中像素的最小和最大灰度值;步骤2.利用阈值T<sub>k</sub>把图像分割成两个区域R<sub>1</sub>和R<sub>2</sub>,如(10)、(11)所示:R<sub>1</sub>={f(i,j)|f(i,j)≥T<sub>k</sub>}     (10)R<sub>2</sub>={f(i,j)|0≤f(i,j)<T<sub>k</sub>}     (11)式中,f(i,j)是像素(i,j)的灰度值;步骤3.计算R<sub>1</sub>和R<sub>2</sub>的灰度均值Z<sub>1</sub>和Z<sub>2</sub>,如(12)、(13)所示:<maths num="0008"><![CDATA[<math><mrow><msub><mi>Z</mi><mn>1</mn></msub><mo>=</mo><mfrac><mrow><munder><mi>&Sigma;</mi><mrow><mo>f</mo><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>&GreaterEqual;</mo><msub><mi>T</mi><mi>K</mi></msub></mrow></munder><mi>f</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>&times;</mo><mi>N</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow><mrow><munder><mi>&Sigma;</mi><mrow><mi>f</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>&GreaterEqual;</mo><msub><mi>T</mi><mi>K</mi></msub></mrow></munder><mi>N</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>12</mn><mo>)</mo></mrow></mrow></math>]]></maths><maths num="0009"><![CDATA[<math><mrow><msub><mi>Z</mi><mn>2</mn></msub><mo>=</mo><mfrac><mrow><munder><mi>&Sigma;</mi><mrow><mn>0</mn><mo>&le;</mo><mi>f</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>&GreaterEqual;</mo><msub><mi>T</mi><mi>K</mi></msub></mrow></munder><mi>f</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>&times;</mo><mi>N</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow><mrow><munder><mi>&Sigma;</mi><mrow><mn>0</mn><mo>&le;</mo><mi>f</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>&GreaterEqual;</mo><msub><mi>T</mi><mi>K</mi></msub></mrow></munder><mi>N</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>13</mn><mo>)</mo></mrow></mrow></math>]]></maths>式中,N(i,j)是像素(i,j)点的权重系数;步骤4.选择新的阈值T<sub>k+1</sub>,如式(14)所示:<maths num="0010"><![CDATA[<math><mrow><msub><mi>T</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>=</mo><mfrac><mrow><msub><mi>Z</mi><mn>1</mn></msub><mo>+</mo><msub><mi>Z</mi><mn>2</mn></msub></mrow><mn>2</mn></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>14</mn><mo>)</mo></mrow></mrow></math>]]></maths>步骤5.如果T<sub>k+1</sub>-T<sub>k</sub><δ,δ为设定值,则结束;否则k=k+1,转步骤2;步骤6.使用步骤5中求出的最优阈值,对图像进行分割,将其分为疵点和背景两部分。
地址 451191 河南省郑州市新郑双湖经济技术开发区淮河路1号