一种应用FPGA的灰度投影法断纱检测平台设计

2020-07-23 06:27孟立凡高文学
现代电子技术 2020年4期

孟立凡 高文学

摘  要: 为解决纺织过程中断纱难以及时发现的问题,设计一种基于FPGA的灰度投影算法检测平台。系统中数字CCD相机采集纺纱图像后,FPGA进行灰度投影计算、局部极值法、极值点校正等处理,得到特征值,然后通过与FPGA内部已存储的特征值阈值进行比较,判断出纱线的断纱情况。在20S,30S和40S三种典型纱线生产过程中进行实测,结果表明,所设计平台满足断纱检测的准确性和实时性需求。

關键词: 断纱检测; 灰度投影; FPGA; 特征值提取; 检测平台搭建; 系统测试

中图分类号: TN911.34?34; TP274               文献标识码: A                      文章编号: 1004?373X(2020)04?0004?04

Design of FPGA?based broken yarn detection platform using gray projection algorithm

MENG Lifan, GAO Wenxue

(National Key Laboratory of Electronic Testing Technology and MOE Key Laboratory of Instrumental Science and Dynamic Testing,

North University of China, Taiyuan 030051, China)

Abstract: A FPGA?based detection platform using gray projection algorithm is designed to solve the problem that broken yarn is difficult to be found timely in the textile process. The spinning images are collected with the digital CCD camera, and then the gray projection calculation using FPGA, local extremum method, extremum point correction and other processing are adopted to obtain the eigenvalues, with which the eigenvalue thresholds stored inside the FPGA are combined to judge the yarn breakage condition. The actual detection was carried out in three typical yarn production processes of 20S, 30S and 40S. The results show that the designed platform can meet the accuracy and real?time requirements of the yarn breakage detection.

Keywords: broken yarn detection; gray projection; FPGA; eigenvalue extraction; detecting platform building; system test

纺织业在我国国民经济中占据着重要的地位,作为传统的劳动密集型产业,对我国国民经济建设起到不可替代的作用。在纺织生产过程中断纱检测不可避免。而如今普遍采用人工进行巡查,但是人工检测不仅会增加工人劳动量,使纱线的产量下降,并降低生产效率,而且还会造成布面产生大量瑕点,降低品质,影响企业效益[1]。随着信息技术的发展、数字成像系统的更新和计算机硬件性能的增强,机器视觉检测技术因具有非接触、响应快、现场抗干扰能力强等特点,开始在工业上广泛应用,这给自动检测提供了新的方法和手段[2]。在对断纱检测算法的选择中,因为人工智能算法一般耗时较长并且比较复杂,很难满足纱线检测对于实时性与实效性的要求[3]。在此背景下,本设计采用数字CCD相机采集纺纱图像,以FPGA作为核心处理器,结合硬件编程语言,构建了基于FPGA的灰度投影算法检测平台。

1  断纱检测平台的系统方案

本断纱检测平台是一种应用FPGA的断纱视觉检测系统,它的主要结构有: FPGA开发板、CCD 数字相机等。FPGA开发板作为系统核心控制及处理模块,实时接收CCD数字相机传输的数据流,实时提取特征值,然后通过与预先统计算法得到的特征值阈值进行比较,判断断纱情况,如果出现断纱,蜂鸣器与LED指示灯将会分别报警。整体结构框图如图1所示。

1.1  外部硬件

本平台选用DALSA公司出品的Spyder2系列型号为S2?1x?02k40的数字CCD相机采集图像,采集的纱线图像为灰度图;照明灯光选用LED条状光源,将黑色纸板作为纱线背景。

1.2  开发板设计

本平台选用Altera公司生产的Cyclone IV系列型号为EP4CE6F17C8的芯片作为主控芯片。系统时钟为50 MHz,周边功能模块有SRAM及Camera Link,RJ45,JTAG等接口。

2  基于投影的断纱检测算法

通过对断纱检测平台在某纺织厂采集到的纺纱图像分析,发现这些图像的有效信息是纱线的分布情况和纱线的根数,而且这两种信息在纺织的过程中是不变的,由此设计了一种应用于FPGA的灰度投影法断纱检测算法。算法的主要流程是对已经过FPGA初步处理的图像进行分析,并且统计图像的特征信息,得到合理的特征值阈值,然后将此特征值阈值与待检测的纺纱图像进行比较,最后对断纱报警。因为在进行断纱检测时,数字CCD相机的图像采集速度快,图像的灰度变化小,并且根据垂直方向上纺纱图像变化比较小等特点[4],本设计提出一种方法:对灰度投影后的纱线图像进行特征值提取。这能够实现算法的实时性与准确性。

基于灰度投影的断纱检测算法分两个部分,即统计部分与检测部分。在统计部分,首先在列向对图像进行灰度值投影,将得到的图像提取出特征值,最终可得到一组正常纺纱图像的特征值数据集[5]。通过统计学的方法,提取多组数据集并确定出用来判断正常纺纱图像样本特征值的区间。根据统计到的样本以及特征值集,选定合理的阈值。检测部分与统计部分的过程基本一致,提取出待检图像相关的特征值,该特征值与阈值进行对比,确定断纱。

2.1  算法原理

根据实测,在纺织时,纱线在列向上位置基本不变,并且经过灰度投影后,投影图像在列方向上可显示相应规律。若纱线图像的图像分辨率为[1 024×N],即[I(1 024,N)],推导出列向投影:

[Row(x)=y=1NIk(x,y)]

式中:[Row(x)]表示第x行的投影值;[Ik(x,y)]表示第[k]幅图像坐标为[(x,y)]处的灰度值。通过上式,可以得到图像的离散值,将离散值相连得到列向投影图如图2所示,此图便于后续的分析。

图像的波谷均值这个数值对应图像的背景灰度值,而波峰位置对应着纱线的位置。当正常的纺织时,纱线的位置和数量基本不变,对待检测纱线图像提取特征信息[6],并通过异常检测法与存储好的纱线特征值阈值进行比较,即本系统提出的灰度投影断纱检测算法。灰度投影断纱检测算法流程如图3所示。

2.2  提取特征值

在视觉检测系统中,将列向投影的波峰个数及各波峰所在列数统计值作为算法的特征值;而异常检测将选择图像灰度均值充当参考。其中图像波峰所在列数统计值、图像波峰个数以及图像灰度均值这3个值为将要提取的特征值,这3个值包含在列向投影图中。图像的灰度均值作为异常检测的值,该值可以表示检测环境的稳定性,如果图像灰度均值波动较大,那么就指示平台周围光线发生明显变化。通过对纱线图像的分析可知,波峰数量表示纱线的根数;波峰位置信息,表示纱线所在位置。因为在纺织过程中,纱线根数并不改变,所以将列向投影的波峰个数作为特征值之一;纱线位置的变化范围极小,在正常纺纱图像中所有纱线左右变化的统计值[7]将趋近于0,在计算时虽然影响很小,但是仍需要通过累加的方法进行消除。

系统中提出的断纱检测算法原理为根据各波峰所在列数统计值之和以及已进行编号波峰的个数来对断线进行检测。

2.3  断纱检测算法的实现

基于投影的断纱检测算法在FPGA中的结构包括:高速数据缓存模块、提取特征值模块、特征值比较模块。

高速数据缓存模块的主体是一个缓冲器结构,每个缓冲器块由一个数据深度为1 024,宽度为8的FIFO构成。每一个缓冲器相连,位于最低端的FIFO最先接收数据,直到此FIFO满,其将数据传输至与之相连的FIFO [8]。缓冲器结构的ModelSim仿真图如图4所示。

提取特征值模块由:投影计算模块,特征值计算模块,特征值存储模块组成。其中投影计算模块的主要实现加减运算。除法运算调用IP核,仅保留整数值;加法运算采用流水线结构。投影计算模块的RTL级连接图如图5所示。

图像的灰度均值采用累加运算以及通过FPGA调用除法函数完成计算,这样计算较为方便。

波峰值以及波谷值的计算方法为局部极值法,其原理为:

通过分析灰度列向投影的图像数据中的前置梯度与后置梯度间的关系,可判断灰度列向投影点的性质。定义前置梯度为pre_gdnt,后置梯度为post_gdnt,当前信号点的索引值为idx_val,则:

pre_gdnt=signal(idx_val)?signal(idx_val?1);

post_gdnt=signal(idx_val+1)?signal(idx_val);

pre_gdnt<0且post_gdnt>0时,idx_val为极小值;

pre_gdnt>0且post_gdnt<0时,idx_val为极大值;

pre_gdnt 或 post_gdnt为0时,idx_val将不能进行判断,根据实测,此点被确定是极值点。

如图2中的某些极大值点表示图像背景中的高灰度值部分。由于这类点将会对最终的结果带来干扰,所以需要被去掉。此外,当信号的索引值无法判断极值时,也会进一步处理。本设计采用极值点校正法进一步处理。

极值点校正法分为两个部分:

1) 将伪极值点通过局部相关法过滤掉。伪极值点如图2投影列数分别为23,76处所示。这种局部极大值点是噪声或背景图像的高灰度值部分 [9]。在本算法的局部相关法中,设定极大值点的灰度值大于图像波谷灰度均值的3倍;

2) 在局部极值法中,当出现相连的極值点时,去掉一个极值点并将其投影的列数值存入寄存器中。当计算的特征值大于波峰总数的统计值且寄存器非0时,则波峰总数增加相应值;而被取出寄存器的值,将会进行后续运算[10]。

特征值计算模块,采用一个计数器完成对波峰个数特征值的计算。使用大量加法运算完成对波峰列向位置之和的计算。在仿真图像中,共有81个极大值点。根据图6极值点的统计仿真图以及图7波峰个数特征值仿真图,该算法能够实现极值点统计,并且判断出所有极值点。

3  系统测试

本算法在QuartusⅡ 13.0软件平台上采用Verilog 硬件描述语言,完成了各个模块的设计。将平台搭建完毕后,进行实测。

为便于实验,选用某工厂的纺纱机对多条纱线进行检测,选取20S,30S和40S的全棉精梳纱,纱线参数见表1,纺纱所采用纤维参数见表2。为了提取特征参考值,来作为实际生产测试中是否断线的参考标准,对这3种纱线各取131根在正常纺纱时进行图像采集,经以太网通信模块上传至PC中,统计参考值。参考特征值范围统计见表3。

统计部分,对正常纱线进行图像采集,计算其特征值并记录。然后对特征值范围进行统计,最后程序进入检测部分。在检测部分本设计将实时对待检测纱线图像进行处理。在开机20 min后本系统对600帧1 024×300的纱线图像进行了连续采集。表4~表6分别为20S,30S和40S的实测的特征值。

表中可以看出,样本1,2,4,5,7以及8的波峰数不在参考范围内,表示出现断纱;另外,样本3,6以及9波峰数、图像的灰度均值以及波峰所在列数统计值均出现较大的变化,根据观测,纺织工作正常,但也被视作断纱。一般是测试环境的关照条件出现了较大的干扰才会出现这种情况。

根据实测结果,该应用FPGA的灰度投影法断纱检测平台能够实时、准确地完成断纱的检测。

4  结  语

基于FPGA的灰度投影法断纱检测平台,使用数字CCD相机和FPGA对纺纱进行信号采集与处理,通过分析图像灰度值,提取出特征值,并使用异常检测的方法,与系统统计到的参考特征值阈值进行比较,可以迅速、准确地判断出所检测的纱线是否发生了断纱。此平台不与纱线表面直接接触,避免了对纱线表面的损伤,并具有检测面积广,抗干扰能力强的优点,展现了机器视觉在断纱检测领域的巨大优势。

参考文献

[1] 常永和,薛元,韩晨晨.环锭纺导纱板受力信号在线检测及纺纱张力分析[J].纺织学报,2018,39(9):146?152.

[2] 董玉廷.器视觉中工件轮廓精确提取方法的研究[D].重庆:重庆大学,2013.

[3] 刘晓杰,罗印升,张旻,等.基于机器视觉的零部件表面缺陷检测方法研究[J].现代电子技术,2017,40(24):181?183.

[4] 王雯雯,赵静,刘基宏.基于欧氏距离的细纱断纱检测[J].丝绸,2018,55(1):35?40.

[5] 张睿,何常德,黄晋英,等.基于QICA的工作模态参数识别技术及其应用研究[J].机械传动,2015,39(5):169?173.

[6] 张俊勇,伍世虔,陈彬,等.基于双目视觉的零件多尺寸在线测量系统[J].仪表技术与传感器,2018(10):75?80.

[7] 田野,叶兵,王连兵.基于机器视觉的内螺纹检测的实现方法[J].仪表技术与传感器,2018(1):64?70.

[8] 蒋沪生.基于FPGA的机器视觉系统研究及应用[D].无锡:江南大学,2013.

[9] 刘美菊,李凌燕,郭文博.基于機器视觉的焊点检测算法研究[J].电子器件,2017,40(4):1015?1020.

[10] 王盛,田江.基于智能视觉的学生考试异常状态识别系统设计与实现[J].现代电子技术,2017,40(14):78?80.