面向摄像整纬器的织物纬斜检测方法

2020-02-27 09:41刘建宝李平
关键词:二值疵点阴影

刘建宝, 李平

(华侨大学 信息科学与工程学院, 福建 厦门 361021)

织物的外部形态和尺寸的稳定性是衡量产品质量的一个重要标准.热定型[1]中,整纬是为了纠正织物在染色、印花、挂浆及定型等加工过程中由于工艺、人为操作等原因产生的纬纱变形[2].织物的纬斜程度的检测方法主要有光电法与图像法两种[3].目前,在国内的纺织工业中,织物纬斜检测仍主要采用传统的光电法,图像法使用较少[4].传统光电法的检测精度不高,容易出现故障,设备检修成本高,并且还受到织物种类的限制,如无法检测较厚的织物[5].近年来,随着模式识别技术和图像处理技术的发展,图像检测技术已经广泛应用于工业生产[6].相较于光电法,图像法精度高,设备检修成本低,并且适用于厚的织物.目前,图像法主要有基于霍夫变换的方法[7]、基于傅氏变换的方法[8-10]、基于旋转投影映射的方法[11],以及基于窗口搜索的方法[12].本文提出一种基于分步大津(Otsu)法和窗口像素统计的图像检测方法,利用分步大津法对织物进行二值化处理,再根据最大统计值对应的窗口角度,得到准确的纬斜角度值,避免了局部疵点对检测结果的影响.

图1 摄像整纬器结构图 图2 织物图像的采集Fig.1 Camera straightener Fig.2 Fabric structure diagram image collection

1 基于摄像整纬器的整纬过程

摄像整纬器结构图,如图1所示.在摄像整纬器中,织物在导布辊1引导下前进,在出布口使用多个摄像头4采集织物运动时同一纬向的局部图像,如图2所示.

图3 基于摄像整纬器的整纬过程Fig.3 Weft processing based on camera straightener

织物的局部图像可以看作只有歪斜而没有弯曲,在采集到织物局部图像后,对图像进行处理和分析,就可以得到织物的纬斜角度.通过对这些局部位置的纬斜角度进行插值运算,可以得到整个纬宽范围内的纬斜情况,从而确定纬纱歪斜量和弯曲量.确定歪斜量和弯曲量后,由主控制器发出控制信号,分别控制纬斜矫正装置3和纬弯矫正装置2做出相应的动作,纠正织物的纬斜和纬弯.基于摄像整纬器的整纬过程,如图3所示.

2 基于图像处理的纬斜检测

2.1 纬斜检测原理

首先,利用摄像机采集织物图像,将采集到的织物图像进行二值化处理,得到织物的二值化图像;然后,设定一系列不同角度的窗口,将这些窗口从图像最上方平移到图像最下方;最后,统计每次平移前后窗口内白像素的个数,找到统计值最大的窗口,其对应的角度就是织物的纬斜角度.织物纬斜检测流程,如图4所示.

图4 织物纬斜检测流程Fig.4 Fabric weft detection process

利用摄像机采集织物图像,理想的织物的纹路往往是一条条具有固定间隔的明暗相间的条纹.将该图像进行二值化,则得到的图像仅有白像素和黑像素.其中,条纹中较亮的部分就被二值化为白色的通道,较暗部分二值化后得到黑色的通道,最后形成黑白相间的条纹.

在检测区域内,白色和黑色的条纹都具有固定不变的宽度.假定要检测的是某个纬斜角度的织物图像,那么,在图像上选定一个窗口,以白色条纹的长和宽作为窗口的长和宽,从窗口最上方接触到图像最上方开始,每次向下平移一个像素,统计每次平移窗口内白像素的个数,直到该窗口接触到图像底部.以窗口与图像横坐标夹角为窗口的角度,窗口角度和纬斜角度相同时统计值的峰值大于窗口角度与纬斜角度不同时统计值的峰值.选定0°窗口和5°窗口针对纬斜角度为0°的织物进行统计.0°和5°的窗口及纬斜角度为0°的织物二值图,如图5所示.

将0°和5°窗口分别从织物图的最上方开始平移到织物图的最下方,每次平移一个像素,根据每次平移统计结果,作出窗口内白像素统计图,如图6所示.图6中:Nx为窗口从图像的最上方向下平移的平移的次数;Ntot为每次平移后窗口内白像素个数的统计值.

图5 0°和5°的窗口及0°的织物二值图 图6 窗口移动过程中白像素统计示意图 Fig.5 0° and 5° windows and Fig.6 White pixel statistical diagram binarized image of 0° fabric during window movement

由图6可知:当窗口从图像最上方开始向下平移时,无论是哪个角度的窗口,窗口内白像素的统计值都大致呈周期性变化,符合黑白条纹交替的规律;与纬斜角度相同的0°窗口得到的窗口内白像素统计值的峰值大于5°窗口下白像素统计值的峰值.上述过程可以解释为若选定窗口的角度等于纬斜角度,则向下平移窗口时,窗口会与白色条纹相重合,此时,窗口的像素统计值最大.利用这个规律,使用上述方法对不同角度的窗口进行像素统计,找到统计值最大的那个窗口对应的角度就是纬斜角度.

2.2 图像二值化方法的比较

图像二值化就是通过选定合适的阈值,把图像分割成两部分,以简化图像,减少数据量,有利于图像的进一步处理.假设当前像素点的像素值为Z,遍历整幅图像,对图像的每一个像素点的像素值进行如下操作,即

(1)

式(1)中:T为选定的阈值.

寻找阈值的方法有很多,在图像二值化阈值选取方法中,最常见的有双峰法[13]、迭代法[14]、大津法[15].分别使用大津法、双峰法和迭代法对织物原图进行二值化,得到的效果图,如图7所示.

由图7可知:采用双峰法和大津法的二值化效果较好,但是相较于双峰法,大津法得到图像的纹路更加清晰,二值化效果最好,故选用大津法作为织物二值化的方法.

(a) 原图 (b) 大津法 (c) 双峰法 (d) 迭代法图7 3种常见方法的二值化效果对比Fig.7 Comparison of binarization effects of three common methods

2.3 分步大津法

纹理图像的总像素点灰度平均值g的计算式为

g=pt×gt+pb×gb.

(2)

式(2)中:pt为目标点占图像总像素点的比例;gt为目标点灰度平均值;pb为背景点数占图像总像素数的比例;gb为背景点灰度平均值.

类间方差Dev表示为

Dev=pt×(gt-g)2+pb×(gb-g)2.

(3)

类间方差等价于

Dev=pb×pt×(gt-gb)2.

(4)

(a) 局部阴影 (b) 全局大津法二值化图8 织物在有局部阴影情况下的二值化效果图Fig.8 Effect image of binarization of fabric with local shadow

从纹理图像的最小灰度值遍历到最大灰度值,依次作为图像的分割阈值T′.当Dev最大时,此时的分割阈值为该幅纹理图像的最佳分割阈值T,则以该值对纹理图像进行二值化.

在工业现场,由于人员走动时的人影覆盖住部分织物或其他原因,使采集到的织物图像局部灰度值产生较大的变化.在这种情况下,直接使用大津法对织物进行全局二值化处理,会有很大一部分图像的纹理细节消失.当织物有局部阴影时,使用全局大津法的处理效果,如图8所示.

由图8可知:当织物有一部分被阴影遮盖时,采集到的图像局部灰度值产生变化;使用全局大津法进行二值化后,被人影遮盖部分由于灰度值平均值较低,二值化后黑像素较多,而剩余部分灰度平均值较高,二值化后白像素较多,所以,两部分的纹路都会遭到破坏,得不到清晰的织物二值化图像.

针对这个问题,提出一种结合全局大津法二值化和局部大津法二值化的方法,即分步大津法.首先,利用大津法计算织物图像整体的阈值,进行全局二值化;然后,利用全局二值化后的图像的特征,分割出阴影遮盖部分和非阴影遮盖部分;最后,使用大津法分别计算出原图的阴影遮盖部分和非影遮盖部分的阈值,并对其分别进行二值化,得到最终的二值化图像.

图9 形态学处理 图10 分步大津法的二值化效果 Fig.9 Morphological Fig.10 Binarization effect processing of step-by-step Otsu method

在使用大津法进行全局二值化后,未被人影遮盖部分的黑色条纹变细,被人影遮盖部分的黑色条纹变粗.因此,得到全局二值化的图像后,使用形态学开运算去除未被人影遮盖部分的白色条纹;然后,使用形态学闭运算去除未被人影遮盖部分的黑色条纹,把人影遮盖部分变成黑色区域和非人影遮盖部分变成白色区域,就完成了两部分的分割(图9);最后,利用大津法对分割出的两部分分别进行二值化,就能得到理想的二值图.分步大津法的二值化效果,如图10所示.

采用分步大津法不但可以在有阴影的情况下对图像二值化,还可以在没有阴影的情况下保留与原方法相同的效果.这既保留了大津法的优良特性,又使大津法的适用领域得到扩充.对织物图像进行分步大津法处理,既克服了局部阴影对检测精度的影响,又增加了对复杂的工业现场环境的适应能力.

织物纹理图像经过二值化后,会形成黑白相间的条纹,即可开始进行窗口像素统计.假设纬斜图像的大小为m×h(m,h分别为窗口的长和宽),窗口像素统计可分为6个主要步骤.

步骤1初始化.设定矩形扫描窗口大小为w×h(w为纬线间隙宽度),窗口角度x的上限为xmax,下限为xmin,并令x=xmin.

步骤2确定一个窗口的大小和方向后,窗口的位置由窗口的起点坐标决定,窗口起点的横坐标x0为1,纵坐标y0的计算公式为

由于窗口的角度不同,所以,窗口向下平移过程中可移动的角度也不同,因此,可以利用公式s=255-INT(w·sinx)-h-1来确定当窗口角度为x时,该窗口可移动的距离s.

步骤3从给定的窗口起点出发,统计从该起点出发x度方向的w个像素点中白像素点的总个数.

步骤4把(x0,y0)点向下平移一个单位得到(x0,y0+1),以该点作为新的起点,以步骤3进行累加;继续向下平移并累加,直到平移了w-1个单位,此时的累加值为该窗口内的白像素个数.

步骤5分别以(x0,y0),(x0,y0+1),…,(x0,y0+s)共s+1个点作为窗口的起点,统计窗口内白像素的个数,并进行比较;然后,找到窗口内白像素的最大值,记为kx.

步骤6角度值x+0.1,重复步骤2~5,直到角度值大于xmax.

通过比较kx(x=xmin,xmin+1,…,xmax-xmin)的值,找到kx的最大统计值,其所对应的角度x就是纬斜角度.

算法最基本的操作是像素统计.该语句运行时间受纬斜角度和纬斜图像大小、宽度的影响,当纬斜角度为0°时,算法运行时间最长;当纬斜角度为15°时,算法运行时间最短.故当纬斜角度为0°,纬纱宽度为w时,其频度为

f(m×h)=25×h×(m-w)×25.

由于m≫w,所以,f(m×h)≈625×h×m.

因此,当图像大小为n时,算法的时间复杂度T(n)=O(n).由于算法占用的空间不会随着问题的规模而变大,算法的空间复杂度S(n)=O(1).

(a) 添加疵点图 (b) 添加噪点图图11 添加疵点图与噪点图Fig.11 Add defective and noisy images

3 实验结果与分析

3.1 3种方法对同一纬斜角度织物的检测效果对比

分别使用文中提出的分步大津法、文献[12]的大津法对织物原图(图7(a))、添加阴影图(图8(a))、添加疵点图和添加噪点图(图11)进行二值化处理,得到的效果图,如图12,13所示.

由图12,13可知:文中方法对织物原图,添加阴影、疵点和噪点这4种情况进行二值化处理后,都能很好地保留较为清晰的纹路;采用文献[12]方法进行二值化后,在有阴影和疵点的情况下,可能会失去全部或者部分纹理信息.对比二值化处理后的图像可知:采用文中方法的二值化效果较好.

(a) 原图 (b) 添加阴影图 (c) 添加疵点图 (d) 添加噪点图图12 文中方法对4种图片的二值化效果图Fig.12 Effect image of binarization of four kinds of images by method in this paper

(a) 原图 (b) 添加阴影图 (c) 添加疵点图 (d) 添加噪点图图13 文献[12]方法对4种图片的二值化效果图Fig.13 Effect image of binarization of four kinds of images by method of reference [12]

取纬斜角度为0.7°的织物图像作为原图,制作成样本,将样本分为4组.其中,3幅相同的原图编号为1.1,2.1,3.1;3幅相同的添加阴影图编号为1.2,2.2,3.2;3幅相同的添加疵点图编号为1.3,2.3,3.3;3幅相同的添加噪点图编号为1.4,2.4,3.4.采用文中方法、文献[8] 方法、文献[12] 方法分别对织物样品1.1~1.4,2.1~2.4,3.1~3.4进行检测,结果如表1所示.表1中:θW为纬斜角度;θD为检测角度;eθ为角度误差;t为时间.

由表1可知:文中方法的检测误差较小,对阴影、疵点、噪点的适应能力较强;与文献[12] 相比,文献[8] 方法的检测误差虽然较小,但是耗时较长.

表1 3种方法的检测结果对比Tab.1 Comparison of detection results of three methods

3.2 文中方法对不同纬斜角度织物的检测效果对比

在不同的纬斜角度下,以采集到的实际织物灰度图像作为样本,对文中方法进行测试.部分不同纬斜角度的织物样本,如图14所示.经手工测量可知该样本的纬斜角度为0.2°,将样本图像分别逆时针和顺时针各旋转1°~14°,得到29幅发生不同程度纬斜的图像,这29副织物图片对应的纬斜角度分别为-13.8°,-12.8°,…,13.2°,14.2°;然后,把每幅图像都裁剪成大小为256 px×256 px,并按顺序进行编号.其中,编号1~8为原图;编号9~15为添加阴影图;编号16~22为添加疵点图;编号22~29为添加噪图点.

采用文中方法计算纬斜角度值,测试结果如表2所示.由表2可知:在有无阴影、疵点、噪点的情况下,采用文中提出的方法进行纬斜角度检测,检测误差均保持在0.3°以内,符合优等品标准,且时间均保持在2 s以内,也符合实时检测的要求,故该方法可行.

(a) 原图 (b) 添加阴影图 (c) 添加疵点图 (d) 添加噪点图图14 部分不同纬斜角度的织物样本图Fig.14 Image of fabric samples with different weft skew angles

表2 不同纬斜角度下文中分步大津方法的检测结果
Tab.2 Test results of step-by-step Otsu method in different weft skew angles

编号θW/(°)θD/(°)eθ/(°)t/s编号θW/(°)θD/(°)eθ/(°)t/s1-13.8-13.90.10.988 8161.21.50.31.943 42-12.8-12.90.11.267 6172.22.00.21.970 73-11.8-11.801.432 4183.23.30.11.966 54-10.8-10.801.456 7194.24.201.984 95-9.8-9.801.534 2205.24.90.31.923 76-8.8-9.00.21.697 6216.26.10.11.839 87-7.8-7.90.11.786 7227.27.10.11.823 28-6.8-6.801.828 3238.28.201.736 49-5.8-5.90.11.795 3249.29.201.773 210-4.8-4.70.11.837 52510.210.201.770 811-3.8-3.50.31.896 32611.211.10.11.623 312-2.8-3.00.21.923 72712.212.201.598 613-1.8-1.801.925 82813.213.10.11.499 914-0.8-0.90.11.824 92914.214.201.066 7150.200.21.969 4

4 结论

考虑织物在有阴影的情况下二值化后纹理不清晰的问题,提出分步大津法.首先,利用全局大津法二值化后织物图像的特点,分割出织物图像中阴影区域和非阴影区域;然后,利用局部大津法二值化,得到清晰的纹理图像.所提方法克服了织物纬斜检测过程中容易受局部阴影影响,以及难以保证检测精度的问题.

在像素统计过程中,设定检测窗口,考虑到织物的宽度,一定程度上避免噪点的影响,降低检测误差.该方法不仅简单实用,还可以有效地检测纬斜角度,具有较高的检测精度.实验结果表明:该方法具有良好的稳定性,且符合实时性的要求,可以用于摄像式整纬器中.

猜你喜欢
二值疵点阴影
基于Cascade RCNN 和二步聚类的织物疵点检测
基于总变差的织物疵点分割方法
喷丝板疵点检测系统设计
你来了,草就没有了阴影
基于FPGA的图像疵点处理设计与实现
面向网络边缘应用的新一代神经网络
基于二值图像数字水印算法研究
基于稀疏表示的二值图像超分辨率重建算法
基于曲率局部二值模式的深度图像手势特征提取