应用卷积神经网络的细纱断纱锭位识别
2018-06-25王雯雯刘基宏
王雯雯, 高 畅, 刘基宏
(生态纺织教育部重点实验室(江南大学), 江苏 无锡 214122)
细纱断头检测是纺纱生产管理中的一个重要环节,断头检测装置有单锭式和巡回式检测2种形式:单锭式在每个锭位分别安装探头,通过光电或涡流检测方式判断纱线是否断头;巡回式有红外感应和视觉感应2种,可将检测探头安装在可以来回运动的移动装置上,通过移动装置在细纱机前移动检测细纱[1-2]。由于巡回式与单锭式相比具有探头少的特点,从而可制成质量高、成本低、维护方便、适用于移动设备现场检测的产品。然而每台细纱机上有约480个锭位,断纱时移动装置难以准确判断断纱位置。针对这一难题,本文设计了针对巡回式断纱检测的细纱断纱定位系统,对锭位标识后,通过巡回式小车上的图像采集装置采集标识的图像,并利用图像处理识别锭位号。
1 实验部分
1.1 实验装置构建
在TH558型细纱机生产9.7 tex精梳纯棉纱,锭速为11 000 r/min,捻系数为329。锭位标识粘贴在细纱机的大梁上,每隔3个锭位粘贴1个锭位标识。在车间正常灯光下,通过DC80型工业相机用80万像素采集纺纱段图像,采集到的图像分为普通情况、纱线遮挡标识的情况和多个锭位标识的情况,如图1所示。工业相机通过USB接口与电脑相连固定在移动小车上,小车边缘与细纱机底部距离为400 mm,相机高度与细纱机叶子板保持一致,镜头正对叶子板且平行于叶子板,相机镜头与导纱钩间的距离为660 mm,通过USB接口与电脑相连。
图1 原始锭位标识Fig.1 Original position mark.(a) Ordinary situation;(b) Yarn block;(c) Multiple marks interference
原始标识图像中,噪声较多,正在运行的细纱可能会对标识产生遮挡,由于小车运行过程中的稳定性较差,可能拍摄到的标识是倾斜的,这都对标识识别造成一定的干扰。为准确读取标识信息,对原始标识图像进行形态学预处理后,分割字符并识别,处理过程以图1(a)为范例进行解释。
1.2 锭位标识分割
锭位标识的分割是标识识别的第1步,标识分割的好坏直接关系到后续的字符分割及识别率的高低。锭位标识分割是将锭位标识从整个图像中单独分割出来,先对原始标识图像进行剪裁及灰度化,通过边缘检测提取标识边缘,形态学处理进行初步定位,对水平和垂直方向的像素灰度值投影,根据投影结果对标识进行分割。
工业相机采集到的锭位标识图,其有效区域为大梁区域,为提高检测准确度,先对图像[0,200,1 020,400]区域进行剪裁,保留有效区域。为方便后续的形态学分析,将图像进行灰度化处理,结果如图2所示。
图2 锭位标识剪裁及灰度化Fig.2 Position mark cut and grayscale
由图2可见,标识在图像中呈横向,纱线对标识具有一定的干扰性,在边缘检测中为排除纱线干扰选用prewitt算子,检测方向设定为水平,图3(a)示出边缘检测后的图像。边缘检测提取的标识边缘很明显,但是标识边缘并不连续,无法根据其特征作进一步判断,因此,需要对其进行形态学处理,使其成为一个连续的整体,完成后续的标识定位。
图3 形态学处理Fig.3 Morphological treatment.(a) Edge detect;(b) Inflate and retain maximal connected domain
进行形态学处理时,首先使用55像素×55像素的矩形对标识边缘检测图进行膨胀处理,使标识区域连接成整体,与周围的干扰区域分离,成为一个独立的区域,但由于膨胀运算使图像中其他部分细节也被凸显了出来,可能造成定位错误,所以初步提取标识,去除伪标识。对标识区域的提取可通过regionprops函数,标记图像中各个区域,然后计算出每个区域的像素点,保留最大像素点的区域,如图 3(b)所示,图中只保留了标识区域,其余区域像素变为0。
在标识初步定位之后,得到了标识区域图像,采用投影法对标识进行精确定位。通过图3(b)可发现,二值化的标识区域图像在水平方向和垂直方向上都具有明显的跳变,会出现峰值。对水平和垂直方向的像素点个数进行统计,结果如图4所示。
图4 行、列方向像素累计图Fig.4 Row (a) and column (b) direction pixel cumulative graph
用max函数找出像素点最多的一行,设定阈值为5个像素,分别向上下2个方向计算像素点,当像素点超过阈值时,行数增加;同理,对列数进行筛选。最终剪裁出彩色的锭位标识图,如图5所示。
图5 锭位标识图Fig.5 Position mark image
1.3 字符分割
在锭位标识准确定位分割后,需要对标识中单个字符进行分割。标识分割出的图像为RGB图像,直接用来分割字符运算量大,所以先将RGB图像转换为二值图像。与RGB图像相比,二值图像只有0和1这2个像素值,图像信息更简单明确,信息量大大减少,运算快。图6示出二值化的锭位标识图。
图6 二值化锭位标识图Fig.6 Binarized position mark image
进行字符分割时,先将字符外边界切割掉,通过递归算法,由左向右,逐列识别是否存在像素值为255的点,当出现像素值全为0时,进行切割,从而分割出第1个字符,以此类推,切割出第2个第3个和第4个字符。切割出的字符大小不一,为方便后续的字符识别,将其大小归一为20像素×40像素,如图7所示。
图7 字符分割图Fig.7 Character segmentation graph
1.4 字符识别
目前已有的字符识别方法有模板匹配法、统计特征匹配法、神经网络算法和支持向量机模式识别算法。在这4种方法中,模板匹配法是最早使用的字符识别算法,神经网络算法是目前比较流行的算法[3-5]。本文采用卷积神经网络(CNN)进行字符识别。
一般CNN的基本结构包括2层:1)特征提取层,每个神经元的输入与前一层的局部接受域相连,并提取该局部的特征;2)特征映射层,特征映射结构采用影响函数核小的sigmoid函数作为卷积网络的激活函数,使得特征映射具有位移不变性[6-7]。同时,映射面上的神经元共享权值,减少了网络自由参数的个数。
CNN包含卷积层和亚采样层2个特殊的网络[8-9]。卷积层由多个特征平面组成,每个特征平面都代表着上一层的某些特征,卷积层后紧跟着亚采样层。亚采样层将卷积层的数据进行重构,对数据进行降维,防止出现过度拟合和维数灾难[10-11]。卷积层的形式如下式所示:
式中:n为层数;k为卷积核;Mj为输入特征图的一个选择;b为每个输出特征映射添加的偏置;a为输入特征映射个数;f为卷积层神经元所用的激活函数,其中最常用的为sigmoid函数。亚采样层表示为:
式中:ins(·)为亚采样所用的函数;B和b均为输出特征的偏置。
设计的CNN包含2个卷积层,2个亚采样层和1个全连接层,卷积层的卷积核为5像素×5像素。神经网络分为训练和测试2部分,其中预处理将训练样本和测试样本归一化为40像素×40像素的图像。卷积层采用sigmoid函数作为激活函数,亚采样层无激活函数,采用均值池化。
神经网络结构如图8所示,输入为40像素×40像素的图像,经过第1个卷积层C1后,得到4个特征映射,卷积核的大小为5像素×5像素,每一个特征映射大小为36像素×36像素,经过亚采样层S1池化作用后,池化矩阵大小为2像素×2像素,得到4个18像素×18像素的特征映射。用同样的方式,经过C2卷积之后得到8个特征映射,每一个特征映射大小为14像素×14像素,经过采样层S2池化作用后,共有8个特征映射,每一个特征映射大小为 7像素×7像素。
图8 卷积神经网络结构图Fig.8 Convolution neural network structure
实验是在MatLab R2013a下完成的,操作系统为Windows 7,内存为2 GB,主频为2.10 GHz。实验所用训练样本为400张20像素×40像素的0~9的图像,测试样本为100张20像素×40像素的0~9的图像,格式为BMP。将神经网络的迭代次数设置为300,得到训练时间为506.57 s,准确率为97%。
1.5 锭位号输出
字符分割出的字符大小为20像素×40像素,由于神经网络的训练样本为40像素×40像素的图像,所以将字符分割出的字符归一化为40像素×40像素的大小。通过加载已经训练好的CNN神经网络对字符识别,并将断纱锭位号显示在对话框中。输入100张图像进行锭位识别并输出锭位号,统计程序运行100次的时间为115.20 s,锭位识别程序识别一张图像所需时间为1.152 s。
2 参数讨论
2.1 不同网络结构
不同网络结构的参数设定如表1所示。迭代次数都设置为300,实验结果如图9所示。由图可知:1)在一定范围内,随着C1层特征映射数量的增大,神经网络识别的准确率逐渐上升,当C1层特征映射数量超出一定范围后,神经网络识别的准确率反而下降;2)特征映射数量与运行时间成正比;3)亚采样层池化矩阵的选择对识别的准确率影响较大,若池化矩阵过小,池化作用不明显,识别的准确率较低;4)池化矩阵过小,数据充分降维,运算量大,运行时间较长。
表1 不同的神经网络结构Tab.1 Different neural network structures
图9 不同特征映射在不同池化矩阵下的准确率和运行时间Fig.9 Correct rate (a) and run time (b) of different feature mapping under different pooling matrices
2.2 迭代次数
神经网络通过迭代运算优化权值,得到理想参数。表2示出迭代次数与准确率和运行时间的关系。可发现,在迭代次数较少的情况下,网络没有进行充分的学习,所以准确率较低。随着迭代次数的增加,准确率缓慢升高,参数不断被优化,但是准确率的升高速率趋于缓慢。当准确率趋于稳定,不再随着迭代次数的增加而增加时,说明网络呈收敛性,性能已达到最优。同时,迭代次数与运行时间成正比例关系。
表2 不同迭代次数下的准确率和运行时间Tab.2 Correct rate and run time of different iterations
2.3 标识遮挡
相机在移动过程中采集的标识图像有可能出现纱线遮挡标识的情况(见图1(b)),标识受到纱线的干扰,但是纱线干扰的情况对标识的定位分割没有影响,标识可准确地从原始图像中分割出来。然而进行字符分割时,遮挡的纱线分割出的字符图像如图10(a)所示。由于纱线的干扰,导致后续的字符识别错误率升高。为排除这一干扰,对图像进行腐蚀,腐蚀后的字符图像如图10(b)所示。对比后可发现,纱线基本被腐蚀掉,同时字符信息被保留,结构清晰。
图10 腐蚀前后的分割字符Fig.10 Split character before(a) and after(b) corrosion
细纱生产过程中出现断纱的情况,当断纱位置发生在标识前时,标识前不存在纱线;当断纱位置发生在其他位置时,标识前存在纱线。这2种情况都不会影响标识的锭位分割及字符的分割识别。
2.4 多个标识
相机移动过程中采集锭位图像,图像中可能出现不止一个标识图像(见图1(c)),当一个标识完全出现时,上一个标识还没有完全消失在相机中,这样才能保证相机采集到的图像中每一幅都包含标识图。当图像中出现2个标识时,不完整的标识图会对标识分割及识别产生干扰,分割出的字符如图11所示。
图11 多标识字符分割图
Fig.11 Character segmentation graph with multiple marks
针对这种情况,对锭位二值图像的各个连通域进行标记并计算面积,只保留最大连通域,如图12所示。通过保留最大连通域的方式,可有效地排除其他标识的影响,准确提取标识,锭位识别准确率也大大提高。
图12 保留单一标识Fig.12 One single mark
3 结 论
基于卷积神经网络,提出一种细纱断纱定位系统。对细纱锭位粘贴标识,通过巡回的工业相机采集纺纱段图像,对断纱图像进行锭位标识分割、标识字符分割,对卷积神经网络进行训练并用于标识字符识别,最终将识别出的断纱锭位号输出。从网络结构参数设置和迭代次数2个方面研究了对神经网络识别准确率及运行时间的影响,实验网络由2个卷积层、2个亚采样层和1个全连接层构成,迭代次数为300,网络识别准确率达到了97%。但是本文设计的系统也存在一些不足:标识字符由数字组成,字母与数字的组合可扩大适用范围;工业相机巡回速度较慢,后期有待提高小车的巡回速度;仅对卷积神经网络的传统算法进行研究,采用了均值池化算法,其他池化算法还有待研究。
参考文献:
[1] 宋晓亮, 刘建立, 徐阳, 等. 光电式环锭断纱在线检测系统[J]. 纺织学报, 2014, 35(8): 98-103.
SONG Xiaoliang, LIU Jianli, XU Yang, et al.On-line detecting system based on optoelectronic technology for ring spun-yarn breakage[J]. Journal of Textile Research, 2014, 35(8): 98-103.
[2] 李强, 杨艺, 刘基宏, 等. 赛络纺粗纱断纱在线检测[J]. 纺织学报, 2016, 37(10): 120-124.
LI Qiang, YANG Yi, LIU Jihong, et al. Online detection of roving strand broken in siro-spinning[J]. Journal of Textile Research, 2016, 37(10): 120-124.
[3] 贾世杰, 杨东坡, 刘金环. 基于卷积神经网络的商品图像精细分类[J]. 山东科技大学学报(自然科学版), 2014, 33(6): 91-96.
JIA Shijie, YANG Dongpo, LIU Jinhuan. Product image fine-grained classification based on convolutional neural network[J]. Journal of Shandong University of Science and Technology(Natural Science Edition), 2014, 33(6): 91-96.
[4] 谢永祥, 董兰芳. 复杂背景下基于HSV空间和模板匹配的车牌识别方法研究[J]. 图学学报, 2014, 35(4): 585-589.
XIE Yongxiang, DONG Lanfang. License plate recognition in complex background base on HSV space and template matching[J]. Journal of Graphics, 2014, 35(4): 585-589.
[5] 陈明华. 印刷体数字识别算法研究[D]. 武汉:华中科技大学, 2012: 1-10.
CHEN Minghua. The study of printed numeral recognition[D]. Wuhan:Huazhong University of Science and Technology, 2012: 1-10.
[6] 丁伟. 改进神经网络算法在车牌识别中的应用[J]. 计算机仿真, 2011, 28(8): 359-362,366.
DING Wei. Application of license plate recognition based on improved neural network[J]. Computer Simulation, 2011, 28(8): 359-362,366.
[7] 赵志宏, 杨绍普, 马增强. 基于卷积神经网络 LeNet-5的车牌字符识别研究[J]. 系统仿真学报, 2010, 22(3): 638-641.
ZHAO Zhihong, YANG Shaopu, MA Zengqiang. License plate character recognition based on convolutional neural network LeNet-5[J]. Journal of System Simulation, 2010, 22(3): 638-641.
[8] 王璐. 基于MatLab的车牌识别系统研究[D]. 上海:上海交通大学, 2009: 1-10.
WANG Lu. Research of plate license recognization system based on MatLab[D]. Shanghai:Shanghai Jiao Tong University, 2009: 1-10.
[9] 金立生, 王荣本, 储江伟, 等. 视觉导航自动车辆用BP神经网络数字识别方法的研究[J]. 计算机工程与应用, 2004(14): 18-21.
JIN Lisheng, WANG Rongben, CHU Jiangwei, et al. Study on numerical recognition method of vision navigate AGV based on BP neural network[J]. Computer Engineering and Applications, 2004(14): 18-21.
[10] 杜选, 高明峰. 人工神经网络在数字识别中的应用[J]. 计算机系统应用, 2007(2): 21-22,27.
DU Xuan, GAO Mingfeng. The application of identifying numbers on artificial neural network[J]. Computer Systems Applications, 2007(2): 21-22,27.
[11] 双小川, 张克. 基于统计和结构特征的手写数字识别研究[J]. 计算机工程与设计, 2012, 33(4): 1533-1537.
SHUANG Xiaochuan, ZHANG Ke. Research of handwritten numeral recognition based on statistical and structure characteristics[J]. Computer Engineering and Design,2012, 33(4): 1533-1537.