金鹏翔,刘宜胜
(浙江理工大学机械工程学院,杭州 310018)
智能制造是全球制造业发展的新趋势,整经作为纺织产业链中的一个劳动密集型加工工序,在劳动力成本日益增加的形势下迫切需要提升智能化水平[1]。筒子纱寻线是整经生产的重要准备环节,部分工厂还延续着传统的寻线方式,通过人工操作寻找整经筒子架上各个筒子纱的线头,将线头牵引至整经机车头后,再进行后续的纺纱工作。但该方式费时费力、人力成本高,因此筒子纱寻线环节急需智能化改造。目前国内外应用的自动化程度较高的寻线头方法通常依托于机械装置,利用吸嘴产生负压,通过特定装置使筒子纱旋转,通过无差别吸取,将筒子纱的线头吸入整经机中[2-5]。该方法相比传统的人工寻线提高了生产效率,但需要额外的检测传感器实时检测纱线的吸取情况,存在工作效率低、装置安装麻烦等缺点,长时间的工作还会提高机器的维护成本。
基于机器视觉的检测设备速度快、精度高,且可实现无接触测量、定位,具有避免污染等优点,被广泛应用于纺织领域。目前,机器视觉大多应用于单根纱线的处理。例如,Li等[6]通过机器视觉实现了纱线直径的灵活检测;Ji等[7]设计了一种基于机器视觉和张力观测器的纱线张力动态检测系统;周其洪等[8]将机器视觉应用于细纱接头机器人的纱线断头定位,利用优化的霍夫直线检测算法可以准确提取所需纱线的位置信息;屠佳佳等[9]用图像处理代替检测传感器的方式,将其应用于圆纬机自动上下料系统中,解决了纱线吸取状态的检测问题。由于纱线之间相似度高,没有能有效区分线头与其他纱线的图像分割方法,因此对筒子纱上的纱线进行图像处理的应用较少。若利用机器视觉可以准确找出线头,再针对性吸取线头,那么可以大幅提高工作效率,而且相较于利用机械装置进行广泛寻线,安装和维护更加方便。因此,设计一种应用于筒子纱上的线头识别方法非常必要。
为了提高整经工序中吸取线头的效率和精度,降低装置的安装和维护成本,本文提出了一种基于机器视觉的筒子纱线头识别方法。利用图像采集装置采集筒子纱图像,通过图像处理对筒子纱图像上的纱线进行分割,提取出线头区域图像。使用图像采集装置可代替筒子纱旋转吸线装置,针对性吸取线头可减少吸嘴的工作时间,为整经工序机械结构的轻量化设计与优化提供参考。
筒子架是整经过程中用于安置筒子的支架,按有无预备筒子可以分为复式和单式两种。单式筒子架更换筒子时需停机,将新筒子的线头与被摘断的纱尾连接;复式筒子架上备有预备筒子,工作筒子的线尾与预备筒子的线头打结相连,工作筒子的纱线用完后,预备筒子直接进入工作。不论单式还是复式筒子架,均存在大量的线头寻找及线头线尾对接工作。
为做好对接的准备工作,准确识别筒子纱上线头,本文设计了线头识别装置,其示意图如图1所示。由于所需识别的筒子纱位于筒子架上,选择筒子纱旋转的方式需额外设置抓取装置,且抓落筒子纱的过程中可能导致线头的移动,不利于后续线头吸取工作,因此选择固定筒子纱相机旋转的方式进行图像采集。在该装置中,相机与筒子纱的距离以及相机焦距固定,相机光轴始终指向筒子纱中心;为方便筒子纱图像采集,在与相机相对位置放置一黑色背景板。
图1 线头识别装置示意图
在图像采集过程中,旋转轴带动相机和背景板转动,绕筒子纱拍摄侧面静态图像,对采集图像的筒子纱区域进行图像校正,通过线头识别方法提取纱线,并计算其曲折度判断是否满足线头条件,最后输出线头的具体位置。筒子纱线头识别的整体流程如图2所示。
图2 筒子纱线头识别方法的整体流程
通过线头识别装置采集的筒子纱图像如图3所示,可以发现:筒子纱图像产生了畸变,越是远离图像中央畸变程度越大。因此,为能正确找到线头及线头的精确位置,首先对采集图像畸变校正。
图3 装置采集的原始图像示例
图像的成像过程是将三维坐标变换到二维坐标的投影过程,常用的投影模型有正交投影和透视投影,本文采用透视投影理论描述成像过程。透视投影是从投影中心将物体投射到另一投影面的图形,所有的投影线通过无限小的光圈进入相机[10],但实际成像时,相机采集的图像存在一定的非线性失真。采集筒子纱图像时,曲面上的失真更为严重,存在横向变形和轴向变形(沿纱筒方向),轴向的变形使水平直线发生弯曲,横向的变形使远离成像中心的直线缩短,从而加剧轴向的变形,影响对线头的特征提取,因此在寻线前需建立模型校正畸变。柱形图像的校正通常采用重映射的方式建立坐标对应关系,将每个坐标的像素映射到正确的坐标位置[11-12],运用最近邻插值计算像素值,避免空白像素的产生[13]。但逐个像素进行坐标映射的方式效率很低,在处理像素值较大的图像时,算法运行时间过长,不利于进行图像处理。为提高校正速度,可使用区域分割逐个还原的方法[14-15],将图像均分为数个子区域,对每个区域进行透视变换校正,但该方法没有获取每个坐标的真实位置,只适用于畸变程度较小的图像校正,无法正确还原畸变较大的图像,影响对图像特征的提取。为提高校正效率,同时保证一定的精度,本文根据透视投影和区域还原的方法提出了一种基于局部透视变换的筒子纱校正模型,可以更高效、准确地还原筒子纱的侧面展开图像。
筒子纱的透视示意图如图4所示,其中:O为相机位置,相机绕筒子纱旋转的半径为h=OOW,筒子纱半径为r,XO1Y为相机成像面,XWYWZW为世界坐标系。图4中,筒子纱端面弧AC投影到成像面后,由直线畸变为曲线A′C′。为了校正畸变,首先需对相机进行标定,计算相机的内参和外参。取世界坐标系下点A(XW,YW,ZW),则与像素坐标系中对应的投影坐标(u,v)的关系可由以下方程变换得出:
图4 筒子纱透视模型示意图
(1)
(2)
其中:M1为相机的内部参数矩阵,(u0,v0)为图像坐标系中的坐标原点,f/dX和f/dY为相机在X、Y轴上的尺度因子;M2为相机的外部参数矩阵,由相机与世界坐标系的相对位置决定。
图5为筒子纱XOZ向坐标对应图,其中:A、C为投影线与柱体相切点,物距d=OD1,圆柱面的有效视野为2l=AC。本文中相机与世界坐标系只存在一个z轴方向的平移,平移量为:
图5 XOZ向坐标对应图
(3)
因此,M2为:
(4)
为校正筒子纱轴向畸变,应先将筒子纱上的点投影到投影切面ZW=-r处,再进行坐标变换,便可得到校正后的理想筒子纱图像。即:
周期分割后,每个脉搏波持续时间较短,可视单个脉搏波的基线漂移是沿一条直线产生的。在单个脉搏波信号中,本文令基线漂移方程为y(n)=an+b,n为样本编号;a、b表示系数,其可通过该脉搏波的A点和E点求出。令A点和E点坐标分别为(x1,y1)和,则基线漂移方程为。再令单个脉搏波信号序列为Pr(n),将Pr(n)减去y(n)的对应项,得到基线校准后的序列Po(n),如式(3)所示。式中i=0,1,···,N-1,N表示当前脉搏波的样本数。
(5)
在柱体图像中,远离图像中央的横向部分会逐渐减小,为校正横向变形,需得到正确的横向坐标映射关系。如图5所示,A点为筒子纱与投影线相切点,A1为对应的投影切面处的投影点,切面处坐标为A点在空间坐标系中的XW,最后投影至图像坐标系的A′处。在投影过程中,A点与图像中心位置的距离应为弧AD1的长度。为校正图像,应计算A点在切面处的真实坐标,即弧AD1的长度。设点A与相机光轴的夹角为θ,则:
(6)
根据弧长公式得出:
(7)
由式(7)可求出A点在投影切面与图像坐标系下的真实投影AR与AR′点。将式(7)代入式(5)中,得到筒子纱上任意一点与投影点的映射关系为:
(8)
由式(8)可以求出校正后筒子纱图像中所有点的坐标,将像素映射到对应的真实坐标处可获得筒子纱无畸变的侧面展开图像。
由式(8)可求出图像中每个点的真实坐标值,但每个点都需进行一次矩阵计算,耗时较长,不适用于对图像像素要求高的线头识别中。为了提高图像校正的效率,根据区域分割的方法,本文提出一种局部透视变换校正的方法。透视变换是指单一平面内的所有点投影到另一个平面,只需做一次矩阵变换和投影的空间坐标变换,可以将侧视的图像校正为正视图,透视变换矩阵的参数由图像中4个点的坐标和相应的实际坐标得到[16]。
本文研究的筒子纱在图像上的呈现为空间曲面,根据微分思想,可将曲面看作无数个平面的组合,利用透视变换将每个平面校正为正视图,最后组合成完整的校正图像。为实现局部透视变换,需对筒子纱图像进行区域分割。首先采用OTSU算法对图像进行阈值分割,得到筒子纱轮廓图像,示例图像如图6所示,并选取轮廓图区域内的图像作为ROI区域(图像感兴趣区域),对区域内的图像进行校正。
图6 筒子纱轮廓图像示例
由于筒子纱图像的左右边界未产生弯曲变形,因此可将截取后的筒子纱轮廓竖向分割为n等分,然后将均分产生的直线分割为n等分,获得了(n+1)×(n+1)个坐标点,以相邻的4个坐标点为角点组成一个子区域,组成如图7所示的n×n个区域的图像。通过坐标映射矩阵获得每个区域内角点的真实坐标,利用局部透视变换得到校正后的平面,直线的均等分割使校正后的区域拥有一致的轴向长度。由于横向畸变的存在,远离中央的区域校正后横向宽度越大。将校正后的各个平面进行拼接,最终得到如图8所示的筒子纱侧面展开图。
图7 筒子纱区域分割示意图
图8 侧面展开图像示例
在插值方式均选择双线性插值的前提下,将校正方法应用于大小为2000×1400像素的图像时,本文提出的局部透视变换校正与常见的柱面重映射校正方法的运算时间见表1,从表1中可以看出,使用局部透视变换进行校正时,均分数n和校正时间成正比例增长,但相较于逐个像素进行映射的重映射校正速度均提升近30%。筒子纱图像的均分数n越小,校正时间越短,但过小的n会造成校正精度的下降,还原后的图像不满足线头识别的要求,过大的n又使校正时间过长。为了满足图像的精度要求并尽可能减少区域分割,本文经过多次实验,最终选取n=50作为区域分割数量。
表1 不同校正方法的运算时间
筒子纱的纱线具有一定的弹性,不受外力作用的线头会自然地保持一定的弯曲状态,因此可以曲线为识别条件找出图像中的线头。首先提取每幅图像中最有可能为线头的部分,即含曲线最多的部分。
为能对目标纱线进行有效提取,使用限制对比度自适应直方图均衡化(Contrast limited adaptive histogram equalization, CLAHE)的方法增强图像。增强后的图像经过OTSU阈值分割如图9(a)所示。常见分割直线和曲线的方法为霍夫变换,但线头部分除了一定的弯曲外,还可能存在直线部分,简单的霍夫变换无法实现对线头的识别。因此,需要在避免线头直线部分的干扰下,根据曲线特征提取目标。
图9 筒子纱线头识别过程中的示例图像
为能提取特征,首先对阈值分割后的图像采用像素标记法进行连通域标记,标记的目的是将每根纱线作为一个连通区域。由于本文图像内的元素相似度高,为减少误差,选择4邻域连通规则。连通区域的数量会影响线头识别速度,因此首先对图像中小面积区域进行滤除,这些区域是由纱线与纱线交叉重叠产生,不是本文识别目标。滤除后的示例图像如图9(b)所示,其剩余部分包含了线头所在的曲线部分及直线噪声。为滤除直线噪声,采用概率霍夫变换对直线进行检测,并将检测出的直线部分像素置0,得到如图9(c)所示的图像。提取图像中剩余像素最多的连通域,该连通域为图像中含曲线最多的区域,最终得到如图9(d)所示的曲线图像。
根据上述曲线提取流程,可对每张筒子纱图像进行提取。为能确定提取的区域是否为线头,需对该区域进行曲折度计算,为方便计算,首先对连通域进行骨架提取,提取示意图如图10所示。
图10 连通域骨架提取示意图
本文使用斜率链码描述线头曲折度[17-18],曲折度的计算过程示意图如图11所示。为计算曲线的曲折度,首先在曲线的周围放置等长的直线段,规定曲线的其中一个端点为起点,直线段一端放在原点,另一端与曲线重合并作为下一直线段的起点,遍历整个曲线后生成一条与原始曲线相似,由连续直线段组成的曲线,这个过程可视为一个相同半径的圆遍历曲线。然后对相邻直线段之间的斜率变化进行计算,并将斜率变化归一化到(-1,1)区间内,曲折度即为所有相邻直线段的斜率变化的绝对值之和:
图11 曲折度计算过程示意图
(9)
其中:n为斜率链码中的元素个数,|ai|为链码中元素的值。
为验证本文识别筒子纱线头方法的有效性,采用4000×3000像素的相机、5 mm焦距的镜头在物距d=220 mm的条件下对r=55 mm的筒子纱进行图像采集。
使用曲线提取方法对采集的16张筒子纱图像进行识别,含线头图像清晰地识别出线头所在的位置。为滤除非线头图像提取的纱线区域,需设定曲折度阈值。以15个像素点为直线段长度,分别计算提取区域的曲折度,计算结果如图12所示,其中:图12(a)为采集的线头图像的曲折度,图12(b)为非线头图像的曲折度。
图12 纱线曲折度计算结果
如图12所示,线头的起始位置在边界,终止位置在图像中央,且呈现一定的弯曲;而非线头的起始和终止位置不定,这是因为除最外圈纱线外,其余纱线均被外层纱线截断,呈现不完整的通路。曲折度的值与视觉分析结果一致,非线头的曲折度普遍低于1,线头的曲折度在2附近浮动。图13为纱线识别后的曲折度折线图。经过多次实验并结合实际工况,将τ=1.2设为线头识别阈值,当识别图像的曲折度大于阈值1.2时,该曲线即为本文所需识别的线头。
图13 曲折度计算结果
为克服整经工艺过程的筒子纱寻线环节人工和机器寻线工作效率低、装置复杂等问题,本文提出一种低成本、非接触式的线头识别方法。利用机器视觉实现对线头的高效率、高精度识别和提取,结合透视投影理论,采用局部透视变换的方式校正筒子纱的侧面展开图像,比传统使用重映射进行校正的方法速度提升了近30%。基于线头的弯曲特征,使用霍夫变换与连通域相结合的方式进行曲线提取,解决了因线头包含直线部分而无法直接进行曲线提取的问题;对提取的区域进行曲折度计算,大于曲折度阈值的即为筒子纱线头。
本文提出的基于机器视觉的线头识别方法,可以更高效地实现筒子纱寻线,代替复杂的筒子纱旋转装置,减少吸嘴的工作范围及时间,有助于整经工序的节能降耗、机械结构轻量化。