基于图像处理的牛仔织物纬斜检测方法
2020-06-23王奇锴潘如如高卫东左亚君
王奇锴 潘如如 高卫东 左亚君
(江南大学,江苏无锡,214122)
1 问题的提出
在织物纬斜处理中,目前国内企业采用的机械大多为光电检测技术[1],如静态双夹缝、旋转夹缝检测法等。这些方法虽然满足了检测的实时性,但仍具有检测死角和低精度的缺点,并且受到织物类型的限制,不能应用于较厚的织物或斜纹织物。受此限制,部分国内外制造企业开始研发基于机器视觉的纺织装备。目前国外已有Elstraight 整纬器,国内有HawkVision 智能图像整花整纬机等。
采用图像处理技术具有较高的精度与适应性。针对纬斜角度检测的问题,基于图像处理技术的检测方法主要可分为Radon 变换法[2-3]、傅立叶变换法[4-6]和Hough 变换法[7-8]。这3 种方法各有不同。Radon 变换法是通过寻找织物二值图像中1 像素点最多的方向来确定纬斜角度。但这类方法很容易受到噪声的影响,同时对织物纹理有严格的要求。傅立叶变换法是将织物的灰度图变换为频谱图,通过对幅度频谱图的统计分析得到需要的信息,通常用于对织物纹理信息的提取。Hough 变换法是一种寻找并连接图像中线段的方法,将像素空间上的点映射到参数空间来统计得到倾斜角度[9-12],但由于原始图像中存在较多的干扰信息,导致算法提取的直线精度较差;同时Hough 变换遍历整个图像,计算量较大,所用时间较长。
在高密度牛仔织物纬斜信息的在线检测中,纬线信息不明显,Hough 变换处理效果并不是很好;采用傅立叶变换在纬斜角度较低时,精确度达不到所需要的标准。另外,还要考虑图像处理技术的鲁棒性以及计算量的大小。因此,本文采用透射光,将面阵相机采集出1 024 pixel×768 pixel 的图像,通过截取部分图像,先采用Fourier 变换得到织物纬线的粗略偏斜角度。再利用方向邻域滤波,设置滤波器参数为纬线的粗略偏斜角度,进行图像细化处理得到纬线条干,最后在该角度的邻域范围内采用角度步长为0.1°的Hough 变换得到精确的纬线倾斜角度,从而缩小Hough 变换的处理时间,以期能提高处理效果和效率。
2 检测理论
2.1 傅立叶变换与纹理方向角度检测
令f(x,y)代表一幅大小为M×N的数字图像 , 其 中x=0,1,2,…,M-1,y=0,1,2,…,N-1,由F(u,v)表示的f(x,y)傅立叶变换见式(1)。
式中:u=0,1,2,…,M-1,v=0,1,2,…,N-1。频域系统是以u、v(频率)为变量来表示F(u,v)的坐标系。令R(u,v)和I(u,v)分别表示F(u,v)的实部和虚部。傅立叶谱定义见式(2)。
在幅度谱中,一幅图像的傅立叶变换的幅频特性在其幅频图的四个角上比较亮,而中心部分比较暗。在二值图像中均匀分布的纹理,其幅度谱中作为特征纹理的点必然是幅度谱图的次亮点(最亮点为中心点O)。根据傅立叶变换的定义可知,得到频谱关于图像的中心点是对称的,所以其次亮点也是对称的。两个次亮点形成的直线方向为纹理的梯度方向,由于是离散化图像,所检测角度的精度实际上是由次亮点能区分的最小角度所决定的。若两个次亮点分布在水平方向上,那么次亮点之间的距离即为2d,当两个次亮点移动一个像素点时,所检测到的角度即最小检测角度θm见式(3)。
2.2 Hough 变换
Hough 变换就是将原始图像上的一点,其坐标为(x,y)按照式(4)转变为一条Hough 空间的正弦曲线。
式中:ρ为直线上某点到原点的距离;θ为从原点向该直线作垂线,垂线与x轴的夹角如图1(a)所示。图1(b)中的每一条正弦曲线表示通过特定点(xi,yi)的一族直线。交叉点对应于通过(xi,yi)和(xj,yj)的线。Hough 变换在计算上的便利之处是把ρθ空间再细分为累加单元,其中的(ρmin,ρmax)和(θmin,θmax)是预期的参数值范围。
图1 Hough 变换
2.3 方向邻域滤波
设置一个滤波器,将其与图像卷积后,在逆时针方向一定参数角度θ将镜头的线性运动近似为像素长度L,滤波器成为水平和垂直运动的矢量。构建一个理想的线段,以所需的长度和角度为中心,以h的中心系数为中心。对每个系数的位置(i,j)计算该位置与理想线段之间的最近距离Nd,得到滤波器中心系数后,就可以利用已知的角度和设定的距离构建出一条首尾固定的线段。参数计算见式(5)和式(6)。
式中:h为运动计算滤波器系数;Nd为最近距离;Nh为归一化h。
在合适的角度范围内利用方向滤波连接形成纬纱条干,只要使滤波相互连接,再采用图像细化即可得到纬纱条干,见图2。
图2 角度θ 对方向邻域滤波影响
3 图像采集和纬斜检测
3.1 动态图像采集系统
本文旨在构建牛仔织物纬斜实时检测系统[13-14],为了采集到连续的牛仔织物图像,试验采用了自制的牛仔织物动态图像采集系统。该系统主要包括牛仔织物转动、牛仔织物透射图像的动态采集、图像实时处理与纬斜检测3 个部分,系统装置见图3。
图3 动态图像采集检测装置
由于采用动态采集,本文选择DALSA HM 1 024 相机作为图像采集的硬件,相机的最大分辨率为1 024 pixel×768 pixel,最高帧频为117 帧/s。一般而言,将牛仔织物平放,经纱垂直于平面时其纬纱的倾斜角度在-45°~+45°的范围之内。选用5 种规格不同的牛仔织物进行测试,依次按照纬密由低到高,由A~E 表示:A 经纬密分别为237 根/10 cm、122 根/10 cm;B 经 纬 密 分别 为323 根/10 cm、155 根/10 cm;C 经 纬 密 分别为408 根/10 cm、180 根/10 cm;D 经纬密分别 为457 根/10 cm、205 根/10 cm;E 经 纬 密 分别 为562 根/10 cm、247 根/10 cm。图4 为采集到的牛仔织物E的透射图像,图像大小为1 024 pixel×768 pixel。经相机校准,图像中1 024 pixel 对应实际长度为2.9 cm。装置中有透射和反射两种光源模式,由于本试验主要是获取纬纱条干信息,当采用透射光拍摄采集织物图像时,纬线的透过光较多,在图像上呈现出高亮度,经线在图像上为低亮度。
图4 牛仔织物透射图像
3.2 纬斜检测方法
Hough 变换具有很强的直线检测能力,在织物透射图像中,能够连接每个像素点形成直线得到想要的纱线角度。但对于高密度的牛仔织物,采集到图像中干扰信息过多,Hough 变换的检测效果不太理想。为了同时满足检测效率与检测精度,先采用傅立叶变换得到纬线倾斜角度,再利用该角度对图像进行方向邻域滤波处理,最后在该角度的相邻范围内使用高分辨率Hough 变换来达到系统所需要的精确纬斜角度[15]。
牛仔织物图像的纬斜检测可分为以下几个步骤,见图5。
图5 纬斜检测步骤图像
第一步,对牛仔织物图像进行剪切,得到分辨率为300 pixel×300 pixel 的图像S1,见图5(a);第二步,对图像S1采用傅立叶变换,得到傅立叶变换幅值图,见图5(b),通过次亮点坐标求得纬斜角度θ1;第三步,对透射图像采用方向邻域滤波,设置滤波器的角度值为θ1,L值至少为55 像素点,得到只有纬纱信息的图像S2,见图5(c);第四步,对图像S2进行图像细化处理,得到只有牛仔织物纬纱条干信息的图像S3;第五步,选取Δρ=1,Δθ=0.1°,在(θ1+1°)~(θ1-1°)范围内,对图像S3作Hough 变换,得到A(ρ,θ)矩阵,测算出5个峰值点,对其进行平均,求得精确的纬斜角度θ2,见图5(d)。
4 试验结果与讨论
为验证本文提出的基于图像处理的牛仔织物纬斜自动检测方法的可行性,通过对5 种不同纬密的牛仔织物进行纬斜检测,计算自动检测与人工检测的误差。试验时,每块牛仔织物样品测试25 cm×100 cm,在转动中采集10 幅图 像,为确保稳定采集图像,牛仔织物运行速度为20 m/min。
4.1 滤波器参数讨论
由于采用运动模糊算子,该滤波器中有角度θ与像素长度L两种参数,其中角度θ与纬纱偏斜角度有关,像素长度L与织物经纬密度相关。以经纬密度分别为237 根/10 cm、122 根/10 cm 的牛仔织物A 为例,更改不同参数对最后纬斜角度检测结果的影响见图6。
图6 滤波器参数对纬斜检测结果的影响
从图6 可以看出,纬斜角度随着滤波器角度参数的提高而逐步提高,在16°~20°范围内对检测结果没有影响;像素长度大于55 个像素点后,角度检测结果不发生改变。在透射图像中,两个白点之间的像素距离由经纬密决定,经纬密越大,像素长度越短。所以,以已有规格经纬密最小的牛仔织物为例,得出像素长度大于55 个像素点对检测结果不产生影响。对目前试验来说,在滤波器角度大小波动2°范围内,像素长度大于55个像素点,能有效提高该检测方法的精确度。
4.2 纬斜检测与分析
对5 种规格不同的牛仔织物,先采用人工检测方法对牛仔织物纬纱偏斜角度进行检测。人工检测是在采集到的牛仔织物图像上画出牛仔织物纬线,测量出该图像的纬纱偏斜角度;再采用纬斜自动检测,得到牛仔织物运动过程中的纬斜检测结果;同时记录下动态检测所耗时间。检测对比结果见表1。
表1 牛仔织物纬斜自动检测结果
表1中数据表明:人工检测和自动检测的误差非常小,数值上误差最大的为A1 的纬斜,误差仅有0.2°;所有测量结果平均误差在0.1°左右。误差产生的原因是由于拍摄时织物张力不均匀,导致织物纬纱排列不均匀;同时由于人工检测选择的检测区域不同,检测结果也会存在一定的差异。该误差在实际的生产中属于合理的误差范围。
在上述5 种牛仔织物的检测中,再采用傅立叶变换和Hough 变换进行自动检测,记录下检测时算法的运算时间,计算出不同算法的平均误差,3 种算法的对比结果见表2。
表2 几种算法的性能对比
表2 给出了3 种算法在检测牛仔织物纬斜时的性能对比。傅立叶变换在检测较小纬斜角度时,存在精度较差的问题,从而导致平均检测误差过高。而本文算法在傅立叶变换的基础上解决了因纹理导致误差过大的问题。Hough 变换在检测过程中需要遍历整个图像才能得到检测结果,计算量过大,运算时间较长。本文方法仅需要在一定角度范围内,对宽仅有1 个像素点的纬纱条干进行Hough 变换,计算量明显降低,运算时间为0.3 s,能满足实时检测的需求,验证了本文提出的牛仔织物纬斜自动检测方法具有较好的可行性。
5 结论
本文利用图像处理技术实现了牛仔织物纬斜的实时检测。通过牛仔织物图像自动采集系统,得到适合图像处理技术的牛仔织物图像,利用方向邻域滤波和Hough 变换定位纬纱,并检测出纬纱倾斜角度所耗时间和不同试验方案准确性。试验表明,在合理的参数配置下,该方法检测牛仔织物纬斜能够在±40°的范围内得到0.2°以内的检测误差,单次检测耗时不超过0.3 s,基本满足纬斜检测的实时性与精度要求;相比于目前已有的采用Hough 变换检测纬斜在时间上有所缩短;也能够替代目前的光电检测方法。基于本文提出的纬斜检测方法,可以构建出基于图像分析的牛仔织物纬斜自动检测仪。