一种基于局部特征与词包模型的羊绒羊毛纤维识别方法与流程

文档序号:17325370发布日期:2019-04-05 21:46阅读:166来源:国知局
一种基于局部特征与词包模型的羊绒羊毛纤维识别方法与流程
本发明涉及一种羊绒羊毛纤维识别方法,尤其涉及一种基于局部特征与词包模型的羊绒羊毛纤维识别方法,主要用于解决山羊绒与绵羊毛这两种相似动物纤维的鉴别问题,属于计算机科学中的模式识别
技术领域

背景技术
:山羊绒与绵羊毛是两种极相似的动物纤维。如何对其进行鉴别,一直是本领域的难题。通过光学显微镜观察动物纤维的表面形态并对其属种进行判别,是目前商用羊绒羊毛纤维鉴别的主要方法。该方法主要依赖于技术人员的主观经验,误差率高,工作效率低,而且难以用于自动识别过程。因此,如何自动提取并识别纤维表面形态特征,从而客观、准确、快速地鉴别羊绒和羊毛纤维,是本领域技术人员致力于解决的难题。技术实现要素:本发明要解决的技术问题是:如何自动提取并识别纤维表面形态特征,从而客观、准确、快速地鉴别羊绒和羊毛纤维。为了解决上述技术问题,本发明的技术方案是提供一种基于局部特征与词包模型的羊绒羊毛纤维识别方法,其特征在于,包括以下步骤:步骤1:样本制样;分别制作羊绒纤维和羊毛纤维的样本;窃取待识别的羊绒纤维、羊毛纤维,置于载玻片上,加入液体石蜡,搅拌使其均匀分布,盖上载玻片,完成制样;步骤2:图像采集;将步骤1制成的样本置于光学显微镜下,放大,手工聚焦清晰后,拍摄单根纤维显微图像;羊绒纤维拍摄至少2500张显微图像,羊毛纤维也拍摄至少2500张显微图像,将羊绒纤维、羊毛纤维的显微图像都分成三组,分别用作训练集合、交叉验证集合和测试集合;步骤3:图像预处理;对单根纤维显微图像进行增强、去噪、分割操作,将纤维图像从背景中分割出来,只检测纤维表面,减少干扰信息;步骤4:对纤维图像提取局部特征;步骤4.1:图像的特征点检测使用sift尺度不变特征变换在不同尺度下检测图像中的关键点,计算高斯差分图像中的极值点,并计算关键点的方向和梯度值;首先,计算原始图像的高斯模糊图像l(x,y,σ):l(x,y,σ)=g(x,y,σ)*i(x,y)(1)其中,i(x,y)是待处理的图像,*是卷积操作符,g(x,y,σ)是一个二维高斯函数;其中,x、y为图像中像素点的局部坐标,σ为(x,y)的方差。然后,使用高斯差分尺度空间来构建高斯金字塔,以相邻尺度空间的图像之间的差来形成高斯差分图像,在高斯差分图像中检测关键点,这使得检测到的关键点具有尺度不变的特性;高斯差分尺度空间计算公式如下所示:d(x,y,σ)=l(x,y,kσ)-l(x,y,σ)(2)其中,d(x,y,σ)为高斯差分图像;k为常数,表示两个相邻尺度空间的倍数。步骤4.2:关键点定位对于上一步sift方法所得关键点,采用泰勒函数拟合:其中,x=(x,y,σ)t是关键点的偏移量,d是d(x,y,σ)在关键点处的值;步骤4.3:关键点方向确定为使图像中获取的局部特征关键点具备旋转不变性,通过计算关键点的梯度方向确定关键点的方向;使用梯度模板[-1,0,1]来计算关键点的水平方向上的梯度gh(x,y)和垂直方向上的梯度gv(x,y),然后再求出梯度值m(x,y)和方向值θ(x,y);步骤4.4:关键点描述为保持旋转不变性,将关键点主方向作为坐标轴参考方向,然后选取关键点的16×16邻域窗口,该16×16邻域窗口又被平均划分为4个子窗口,每个子窗口生成一个32维向量来表示该子窗口的方向和梯度信息,4个子窗口一共得到128维向量,最终使用这个128维向量作为关键点的描述子;步骤5:构建视觉词典与图像描述;步骤5.1:视觉单词与视觉词典的生成首先,将上面步骤得到的关键点通过k-means聚类算法,设定k个聚类中心进行聚类,然后将聚类中心作为视觉单词,k为正整数,计算公式如下:其中,mi为第i个聚类中心,xj为第j个关键点的编号,n为关键点个数,w为视觉单词;在训练集图像中获取的所有关键点聚类后获得的聚类中心的集合就是视觉词典,集合中每个聚类中心就是一个视觉单词;k个聚类中心所对应的k个视觉单词综合起来,构成了一个视觉词典,其大小为k;步骤5.2:图像描述获取视觉词典后,通过视觉词典来描述图像,即找到图像中的局部特征与视觉词典的关系,主要步骤如下:1)将使用局部特征方法提取的特征与视觉词典进行匹配,计算该局部特征与视觉词典中视觉单词的欧式距离,找到距离最近的视觉单词,并记录该视觉单词;2)对图像中所有局部特征都进行上述操作,从而得到局部特征对应的视觉单词,这些视觉单词组成一个集合,记为b=[t1,t2,…ti,…,tm],其中m为视觉单词的总数目,ti表示第i个视觉单词在图像中出现的次数,由此构成视觉单词直方图;步骤5.3:空间金字塔匹配在获取了视觉单词直方图之后,进一步采用空间金字塔匹配spm来描述图像特征间的关系;spm为图像定义了不同的分辨率水平l,即从图像的水平方向和垂直方向都均分为2l个等份,共计22×l(4l)个网格;统计每一个网格中的视觉单词直方图,然后将不同分辨率水平l下的视觉单词直方图拼接起来,并且对不同分辨率水平l下的视觉单词直方图赋予不同的权重;最后,将拼接后的视觉单词直方图向量化,并用向量化的视觉单词直方图作为图像的特征进行分类;步骤6:生成分类识别器;按照上述步骤,对训练集合中的每张纤维图像计算出向量化的视觉单词直方图,利用支持向量机svm进行二分类训练,使用径向基函数rbf作为核函数,具体步骤如下:步骤6.1:对经过spm处理的训练集合中的样本数据进行归一化;步骤6.2:应用rbf核函数对样本进行映射;步骤6.3:用交叉验证和网格搜索法对超参数进行优选;步骤6.4:用步骤6.3所得最优超参数作为基础参数,开始对svm训练,得到预测函数模型;步骤6.5:用预测函数对测试集合进行测试,当验证训练精度与测试精度相差不超过5%时,停止超参数调优,并将此时的预测函数模型作为最终羊绒羊毛纤维显微照片二分类识别的分类识别器。优选地,所述步骤1中,使用哈氏切片器将羊绒纤维、羊毛纤维切取0.5mm置于载玻片上。优选地,所述步骤1中,搅拌时采用分析针进行。优选地,所述步骤2中,将步骤1制成的样本置于光学显微镜下,放大500倍。优选地,所述步骤2中,将每个纤维类的显微图像均按照7:3的比例,选择其中的70%作为训练集合、30%作为测试集合。本发明提供的方法克服了现有技术的不足,能够自动提取并识别纤维表面形态特征,从而客观、准确、快速地鉴别羊绒和羊毛纤维,且鉴别的准确率高,易于操作。附图说明图1为本实施例提供的基于局部特征与词包模型的羊绒羊毛纤维识别方法原理图;图2为构建视觉词典与图像描述示意图。具体实施方式下面结合具体实施例,进一步阐述本发明。图1为本实施例提供的基于局部特征与词包模型的羊绒羊毛纤维识别方法原理示意图,所述的基于局部特征与词包模型的羊绒羊毛纤维识别方法包括如下步骤:步骤1、样本制样。分别制作羊绒纤维和羊毛纤维的样本。制作过程如下:使用哈氏切片器将羊绒纤维或羊毛纤维切取0.5mm左右,置于载玻片上,加入适量液体石蜡,用分析针搅拌,使其均匀分布,盖上载玻片,完成制样。步骤2:图像采集。将样本置于光学显微镜下,放大500倍,手工聚焦清晰后,拍摄单根纤维显微图像。为达到较好的识别精度,需要拍摄至少2500张羊绒纤维显微图像和2500张羊毛纤维显微图像,共计5000张。每类纤维均按照7:3的比例,选择其中的70%作为训练集合,30%作为测试集合。步骤3、图像预处理。对单根纤维显微图像进行增强、去噪、分割等操作,将纤维图像从背景中分割出来,只检测纤维表面,减少干扰信息。步骤4、对纤维图像提取局部特征。4.1图像的特征点检测使用sift尺度不变特征变换(scaleinvariantfeaturetransform,sift)在不同尺度下检测图像中的关键点,计算高斯差分图像中的极值点,并计算关键点的方向和梯度值。首先,计算原始图像的高斯模糊图像l(x,y,σ):l(x,y,σ)=g(x,y,σ)*i(x,y)(1)其中,i(x,y)是待处理的图像,*是卷积操作符,g(x,y,σ)是一个二维高斯函数。x、y为图像中像素点的局部坐标,σ为(x,y)的方差。然后,使用高斯差分尺度空间(differenceofgaussian,dog)来构建高斯金字塔,以相邻尺度空间的图像之间的差来形成高斯差分图像,在高斯差分图像中检测关键点,这使得检测到的关键点具有尺度不变的特性。高斯差分尺度空间计算公式如下所示:d(x,y,σ)=l(x,y,kσ)-l(x,y,σ)(2)其中,d(x,y,σ)为高斯差分图像,k为常数,表示两个相邻尺度空间的倍数。4.2关键点定位对于上一步sift方法所得关键点,采用泰勒(taylor)函数拟合:其中,x=(x,y,σ)t是关键点的偏移量,d是d(x,y,σ)在关键点处的值。4.3关键点方向确定为使图像中获取的局部特征关键点具备旋转不变性,通过计算关键点的梯度方向可以确定关键点的方向。使用梯度模板[-1,0,1]来计算关键点的水平方向上的梯度gh(x,y)和垂直方向上的梯度gv(x,y),然后再求出梯度值m(x,y)和方向值θ(x,y)。4.4关键点描述在前面步骤中,可以获取到关键点的方向、尺度、位置等信息。为保持旋转不变性,需要将关键点主方向作为坐标轴参考方向,然后选取关键点的16×16邻域窗口。该16×16窗口又被平均划分为4个子窗口,每个子窗口生成一个32维向量来表示该子窗口的方向和梯度信息。4个子窗口一共得到128维向量,最终使用这个128维向量作为关键点的描述子。步骤5、构建视觉词典与图像描述,如图2所示。5.1视觉单词与视觉词典的生成首先将上面步骤得到的关键点通过k-means聚类算法,设定k个聚类中心进行聚类,然后将聚类中心作为视觉单词,k为正整数。计算公式如下:其中,mi为第i个聚类中心,xj为第j个关键点的编号,n为关键点个数,w为视觉单词;在训练集图像中获取的所有关键点聚类后获得的聚类中心的集合就是视觉词典,集合中每个聚类中心就是一个视觉单词。k个聚类中心所对应的k个视觉单词,综合起来,构成了一个视觉词典,其大小为k。5.2图像描述获取视觉词典后,通过它来描述图像,即找到图像中的局部特征与视觉词典的关系,主要步骤如下:1)将使用局部特征方法提取的特征(这里使用的是sift)与视觉词典进行匹配,计算该局部特征与视觉词典中视觉单词的欧式距离,找到距离最近的视觉单词,并记录该视觉单词;2)对图像中所有局部特征都进行上述操作,从而得到局部特征对应的视觉单词,这些视觉单词组成一个集合,记为b=[t1,t2,…ti,…,tm],其中m为视觉单词的总数目,ti表示第i个视觉单词在图像中出现的次数,由此构成视觉单词直方图;5.3空间金字塔匹配在获取了视觉单词直方图之后,进一步采用空间金字塔匹配(spatialpyramidmatching,spm)来描述图像特征间的关系。spm为图像定义了不同的分辨率水平l,即从图像的水平方向和垂直方向都均分为2l个等份,共计22×l(4l)个网格。统计每一个网格中的视觉单词直方图,然后将不同分辨率水平l下的视觉单词直方图拼接起来,并且对不同分辨率水平l下的视觉单词直方图赋予不同的权重。举例来说,若图像总共被划分为l层分辨率,则第l层分辨率中直方图的权重为其中l=0,1,…l。最后,将拼接后的直方图向量化,并用向量化的直方图作为图像的特征进行分类。步骤6、分类识别器的生成按照上述步骤,设置步骤5.1中的视觉词典的聚类中心个数为k=600,步骤5.3中的空间金字塔匹配核的分辨率l=2。对训练集中的每张纤维图像计算出向量化的视觉单词直方图,利用支持向量机(supportvectormachine,svm)进行二分类训练。训练迭代次数为1000次。使用径向基(rbf:radialbasisfunction)函数作为核函数,具体步骤如下:6.1对经过spm处理的训练样本数据进行归一化;6.2应用rbf核函数对样本进行映射;6.3用交叉验证(cross-validation)和网格搜索(grid-search)法对超参数进行优选;6.4用上一步所得最优超参数作为基础参数,开始对svm的训练,得到预测函数模型;6.5用预测函数模型对测试集进行测试,当验证训练精度与测试精度相差不超过5%时,停止超参数调优,并将此时的预测函数模型作为最终羊绒羊毛纤维显微照片二分类识别时的分类识别器。表1为本发明实施后所得不同混合比下羊绒羊毛纤维的识别率,平均识别精度为92.49%。表1不同混合比的数据集的识别率序号羊绒/羊毛(%)识别率(%)156.1/43.993.2260.5/39.593.2365.6/34.493.6471.7/28.393.7579.0/21.093.7687.9/12.194.17100/094.2852.7/47.392.7948.7/51.392.31041.3/58.792.31138.3/61.791.61231.3/68.791.21322.6/77.490.81411.3/88.790.4150/10090.3以上所述,仅为本发明的较佳实施例,并非对本发明任何形式上和实质上的限制,应当指出,对于本
技术领域
的普通技术人员,在不脱离本发明方法的前提下,还将可以做出若干改进和补充,这些改进和补充也应视为本发明的保护范围。凡熟悉本专业的技术人员,在不脱离本发明的精神和范围的情况下,当可利用以上所揭示的技术内容而做出的些许更动、修饰与演变的等同变化,均为本发明的等效实施例;同时,凡依据本发明的实质技术对上述实施例所作的任何等同变化的更动、修饰与演变,均仍属于本发明的技术方案的范围内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1