基于样本的棉花异性纤维识别算法
2012-02-19李娜
李 娜
(华北水利水电学院 电力学院,河南 郑州 450011)
0 引言
我国是纺织大国,而棉花是纺织工业最主要的原材料之一,是关系国计民生的重要战略物资[1].我国的纺织品便宜但是档次较低,与国际先进水平相比,仍然存在较大差距.其中所用棉花中含有较多异性纤维是导致原材料质量不高的重要原因之一.
棉花异性纤维是指在棉花中混入的有害非棉纤维性杂物或异色的棉纤维等,简称“异纤”, 通常又称为“三丝”[2](常见异性纤维如图1、2所示).棉花的采摘、摊晒、储运等活动,我国主要以家庭为单位,所以棉花枝叶、编织袋化纤、毛发等杂物很容易混入棉花中.
这些异性纤维杂质的混入带来了一系列问题.首先在生产过程中,导致纺纱断头,纺纱效率降低,影响产量,增加成本;其次可能使机织、针织布降为次级品,特别是染色后,因棉纤维与异性纤维着色率不一致,织物表面会出现大量分散的疵点[3].为了解决异纤问题,必须花费大量的人力物力,在棉花投料前将棉包逐包打开,逐块撕扯松散,逐根挑拣[4].因此,成本大增且效率较低,异纤清除效果不尽满意.
目前,图像处理技术已经广泛应用于生物医学、工业、军事、电信等领域[5,6],针对以上问题,利用机器视觉和图像处理技术,分析棉花异纤图像,提取异纤的特征,采取合适的算法,将异纤从棉花中识别出来并实时清除,既提高了清除效率又降低了成本,因此以现代科技为基础,利用机器视觉进行异纤识别和清除在实际生产中意义重大.
1 棉花异纤的图像特征
针对棉花中异性纤维清除对实时性要求较高这一特点,需要找出既能对棉花和异纤的区分度高,又需要数据量小的图像特征.对棉花和其间的异性纤维进行色彩分析,发现异性纤维的颜色较深.常见的棉花异性纤维如图1和图2.
图1 线绳的原始图像
图2 草叶的原始图像
由于色彩对光照很敏感,不同强度光照、不同色温和角度的照射下变化会很大.由于采集图像为RGB空间,而R、G和B这3个分量随上述的变化是不一致的;同时虽然用RGB三基色表示颜色空间的确很直观,但是它占用带宽较多,用RGB表示图像,每个分量的带宽是均等的,对每个分量,都要用较大的带宽来描述,所以如果对RGB的图像进行处理时数量大,维数高算法设计较复杂,需要处理时间较长实时性差;而表示灰度图像需要的数据量比RGB图像大为减少,维数由三维降为一维,这样在算法设计方面也简化了许多.同时,因为棉花和异性纤维在颜色深浅上区分比较明显,因而灰度能较好的区分棉花和异纤.因此将采集的棉花图像RGB空间转换为灰度Y(亮度)空间,后面对异纤识别在灰度图像下进行,灰度图像数值代表一定范围内的灰度级,0代表黑色,255代表白色.对(图1)由RGB图像转换为灰度图像(如图3所示).RGB空间到灰度空间转换公式如下:
Gray(i,j)=0.299*R(i,j)
+0.587*G(i,j)+0.114*B(i,j)
其中,Gray(i,j)为转换后的灰度图像在(i,j)点处的灰度值.
图3 线绳的灰度图
2 异纤检测的图像处理及识别算法
异性纤维的识别需满足以下要求:①对棉花中的异纤必须在要求的分辨率下识别;②不能把过多的非异纤误识别为异纤.由上述可知,灰度图能够较好地区分棉花和异性纤维,对重要的特征信息亮度进行了增强,并且灰度图的表示所需数据量有较大减少,在识别算法上简单,运算速度快.
以识别对象所需划分的类别为依据,采用K近邻分类,由于只需要划分为异纤和棉花两类,因此需要建立棉花的样本图库和含有各种常见异性纤维棉花的样本库.利用欧几里德距离计算出采集的棉花流图像与K个样本距离较接近,K中较多的属于哪一类别,识别对象就划分到哪一类,若和众多含异纤棉花样本库接近时就判定为异纤.
2.1 棉花样本图库采集
对同一批次同一类型不含异纤的棉花和含有各种常见异纤的棉花,在棉花流运动的通道内,分别进行一定时间连续的图像采集,对图像进行分析,去掉相似度很高的图片,再去除一些与棉花反差较大的图片,需要强调的是样本的选取在满足识别率的基础上要适量,否则会影响识别的实时性.
近邻分类器需要指定训练样本的分类法.针对指定训练样本的分类方法的分类策略是:(1)选定少量对象作为样本,然后进行第一次分类;(2)不断重复以下步骤,直到得出满意结果:①纠正那些被错分的或未被分类的对象,指定正确类别后,作为样本对象添加到训练样本集中;②进行分类.
有时新样本对象的加入会显著影响到分类结果.有可能原来正确的分类结果,在调整、纠正加入新的样本对象后,许多图反而从正确的分类变成错误的分类了,这时继续重复上面的步骤,直到在特征空间中建立起区分各类别的边界,即使这些类别在特征空间中的分布不规则、不连续(离散的),最近邻函数也能做到.
实验中采用了一个棉花样本图库,图1是第一个数据库的原始样本,选用8种不同的图像,将其归一化大小为64*64像素,格式为bmp.具体的棉花样本原图像如图4所示,含异纤的棉花样本原图像如图5所示.
图4 棉花样本
图5 含异纤的棉花样本
2.2 滤波预处理
数字图像的实质是光到电信息,在转换过程中,电磁、电压和浪涌会引起脉冲冲击干扰噪声;自然性噪声是由物理的不连续性和粒子性所引起的.噪声恶化图像质量,甚至淹没和改变特征,给图像的分析和识别带来困难或识别错误[7].为消除异纤识别中的噪声,在此采取中值滤波方法.中值滤波是一种非线性滤波的方式,由于实际计算中不需要图像统计特性,所以计算相对简单.它是基于:噪声往往以孤立的点的形式出现,这些点对应的像素很少,而图像的像素较多、面积较大的小块构成.
设有一个一维序列f1,f2,…,fn.取窗口长度为奇m,对此序列进行中值滤波,就是从输入序列中相继抽出m个数,fi-v,…,fi,…,fi+v,其中fi为窗口的中心值,v=(m-1)/2,再将这m个点的数值按大小排列,取序号为正中间的那个数作为滤波输出,表达式如下:
Yi=Med{fi-v,…,fi,…,fi+v}
i∈Zv=(m-1)/2
对数字图像中值滤波,实质是对二维序列{Xij}的中值滤波,二维滤波可表示为:
Yij=Med{Xij}A为窗口
在含有异纤的棉花图像样本中,对其采用二维中值滤波滤去噪声.对线绳的灰度图(图3)滤波后的图如图6所示.
图6 滤波后的线绳灰度图
2.3 灰度图像的识别算法分析
具体判断相似度时,采用K邻近识别器与欧几里德距离进行判别.样本图像与采集图像的大小都为m*n个像素,设样本库有a个,w1,w2,… ,wa,每个有第(i,j)像素的灰度值为x.每次采集的图像第(i,j)像素的灰度值为y.采用欧几里德距离计算采集图像与每一样本差值.
WhereD=(D1,D2,…,Db)
这里选取K近邻分类,该方法简单地说就是取未知样本z的k个近邻, 看这k个近邻中多数属于哪一类,就把z归为哪一类.具体说就是在b个已知样本中,找出z的k个近邻. 设b个样本中, 来自w1棉花类的样本有b1个, 来自w2异纤类的样本有b2个,若k1,k2,分别是k个近邻中属于w1、w2类的样本数,则定义判别函数为:
gj(z)=ki,i=1,2
决策规则为:若gj(z)=maxki,则决策:z∈wj
因为异性纤维的表现多样性, 训练数据集应该是对历史数据的一个很好的覆盖,这样才能保证K近邻有利于预测,选取的历史数据要有代表性.常用的方法是按照类别把历史数据分组,然后在每组中选取一些有代表性的样本组成训练集.这样既降低了训练集的大小,又保持了较高的准确度.
K的取值,邻居的个数对分类的结果有一定的影响,一般先确定一个初始值,再进行调整,直到找到较高异纤识别率合适的K值为止.
3 棉花中异纤的识别仿真结果分析
在实验时,运行环境 CPU 为 AMD Athlon(tm)4600+,内存2GB,操作系统为 Windows XP,软件环境为 Matlab6.5.
采用不同数量训练样本,识别结果也会不同.
表1中训练样本数是棉花与异性纤维库图4和图5中分别的数量都是5、6、7、8,K=5.
表1 基于训练样本数量变化的识别结果
从表1可知,算法获得较高的正确识别率,识别时间也能满足实时性的要求.随着训练样本数量的调整,在满足实时性的前提下识别率还有进一步提升的空间.
4 结束语
本文通过在棉花和异性纤维的灰度空间上识别异纤,对灰度图像进行处理和识别算法的设计,并对其仿真.为了满足异纤识别实时性,图像处理和识别算法设计较为简化且识别效果较好.为了识别的实时性与准确性更高,图像处理和识别算法仍需进一步改善.
[1] 吴 倩. 数字图像处理在原棉异物检测中的应用[J].武汉科技学院学报,2004,23(2):1-2.
[2] 田晓静.开清棉生产线异纤清除机使用情况分析[J].2007,35(1):2-4.
[3] 赵 旎.异纤在线分拣系统机器视觉技术的应用[J].自动化与仪器仪表,2008,41(3):1-3.
[4] 陈志国.一种机器视觉异纤高速清除系统[J].计算机工程与应用,2010,46(10):1-4.
[5] S.Ricci, A.Dallai, E.Boni, et al.Embedded system for real-time digital processing of medical ultrasound doppler signals EURASIP[J]. Journal on Advances in Signal Processing,2008,29(4):2-3.
[6] Franck Mamalet, S′ebastien Roux, Christophe Garcia. Real-time video convolutional face finder on embedded platforms[J]. Journal on Embedded Systems,2007,24(6):1-3.
[7] 胡小锋.Visual C++/MATLAB图像处理与识别案例精选[M].北京:人民邮电出版社,2004:13-161.