基于轮廓曲率特征点和支持向量机的服装款式识别方法转让专利

申请号 : CN201610806669.9

文献号 : CN106384126B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 万贤福李东汪军

申请人 : 东华大学

摘要 :

本发明涉及一种基于轮廓曲率特征点和支持向量机的服装款式识别方法,首先通过对服装图像的预处理获得服装轮廓,然后提取服装轮廓的轮廓曲率特征点作为特征向量,最后予以基于支持向量机的服装款式识别。服装图像的预处理包括服装图像分割、边缘检测、倾斜校正和轮廓曲线平滑;提取轮廓曲率特征点作为特征向量是指从服装轮廓曲线中提取曲率较大部位的点集,以代表轮廓外形的主要特征,按一定顺序排列,形成特征向量;予以基于支持向量机的服装款式识别是指采用支持向量机分类方法对服装款式进行分类。本发明提出的服装款式的识别方法能够使服装款式识别达到86%以上的准确率,每个样本识别耗时较短,具有快速准确的特点。

权利要求 :

1.基于轮廓曲率特征点和支持向量机的服装款式识别方法,其特征是:首先通过对服装图像的预处理获得服装轮廓,然后提取服装轮廓的轮廓曲率特征点作为特征向量,最后予以基于支持向量机的服装款式识别;

所述服装图像的预处理包括服装图像分割、边缘检测、倾斜校正和轮廓曲线平滑;

所述服装轮廓的轮廓像素点坐标采用b(k)=(xk,yk)表示,式中,xk和yk分别为轮廓像素点在数字图像坐标系中的横坐标值与纵坐标值,k=0,1,2,...,K-1,K为轮廓像素点总数;

所述提取服装轮廓的轮廓曲率特征点的步骤如下:

1)求取轮廓在序号为k点处的一阶导数dk′、二阶导数dk″和曲率Ck,其中:dk′=(yk+1-yk)/(xk+1-xk)

dk″=(dk+1′-dk′)/(xk+1-xk)

Ck=dk″|/(1+dk′2)3/2;

2)对轮廓的曲率曲线进行峰值检测,并依据峰值的大小将峰值点的坐标排序;

3)选取曲率曲线峰值最大的前40个点作为服装轮廓初始特征点集;

4)将服装轮廓图逆时针旋转90度,即令b(k)=(-yk:xk),重复步骤1)和2),选取曲率曲线峰值最大的前10个点作为服装轮廓的增补特征点集;

5)将初始特征点集和增补特征点集合并为服装轮廓曲率总特征点集,作为特征向量。

2.根据权利要求1所述的基于轮廓曲率特征点和支持向量机的服装款式识别方法,其特征在于,所述服装图像为白色背景的单件服装图像,所述服装图像分割步骤如下:

1)将服装图像转化为灰度图像,将彩色图像三维RGB空间中每个像素的颜色向直线R=G=B做射影,转化为一维空间的灰度图像;

2)将灰度图像进行灰度的线性变换,将灰度图像的灰度值在low-255之间的值映射到

0-255之间,低于low的值映射为0;

3)使用最大类间方差法对灰度图像进行二值化,并对二值图像进行取反运算;

4)对二值图像进行形态学闭运算处理,平滑服装图案的边界,连接边界狭窄的缺口,其中闭运算的结构元素为半径2-4个像素的圆盘;

5)在步骤4)获得的二值图像中标记8连通的区域,找到最大面积的8连通区域即为服装区域,并对服装区域填充内部空洞,得到完整服装区域。

3.根据权利要求2所述的基于轮廓曲率特征点和支持向量机的服装款式识别方法,其特征在于,所述low取值范围为90-100。

4.根据权利要求1所述的基于轮廓曲率特征点和支持向量机的服装款式识别方法,其特征在于,所述边缘检测是指使用Canny算子对服装区域进行边缘检测,获取服装的外部轮廓。

5.根据权利要求1所述的基于轮廓曲率特征点和支持向量机的服装款式识别方法,其特征在于,所述倾斜校正步骤如下:

1)获取服装轮廓的最小外接矩形,将服装轮廓从-10度旋转到+10度,服装轮廓最小外接矩形的面积最小时,服装轮廓无倾斜;

2)将无倾斜的服装轮廓图像按照最小外接矩形的尺寸剪切,然后进行双三次插值的尺寸缩放,设定轮廓的高度为480像素,轮廓的宽度按照高度的缩放比例进行变换。

6.根据权利要求1所述的基于轮廓曲率特征点和支持向量机的服装款式识别方法,其特征在于,所述轮廓曲线平滑步骤如下:

1)读取服装轮廓的轮廓像素点在数字图像坐标系中的坐标,将轮廓点坐标集进行离散傅里叶变换;

2)截取前100个低频分量进行离散傅里叶反变换。

7.根据权利要求1所述的基于轮廓曲率特征点和支持向量机的服装款式识别方法,其特征在于,所述基于支持向量机的服装款式识别即采用支持向量机分类方法对服装款式进行分类,具体步骤为:

1)将样本库的特征向量进行主成分分析,选取累计贡献率为95%的成分为主成分,其中特征向量中坐标b(k)为复数形式,即b(k)=xk+jyk,j为虚数单位;

2)随机抽取60%的样本作为训练集,剩余的40%的样本作为测试集;

3)将训练集特征向量和服装款式标签作为输入,使用网格搜索法寻找支持向量机分类器中惩罚参数和核参数的最优值,其中惩罚参数的范围是[-8,8],核参数的范围是[-8,8],步长为1;

4)使用最优的参数、训练集特征向量及款式标签,训练得到支持向量机分类器;

5)将测试集特征向量作为输入,运用训练好的支持向量机分类器进行计算,得到测试集服装款式的分类结果,统计识别率。

说明书 :

基于轮廓曲率特征点和支持向量机的服装款式识别方法

技术领域

[0001] 本发明属于服装款式识别领域,涉及一种基于轮廓曲率特征点和支持向量机的服装款式识别方法,特别是涉及一种经图像预处理后得到服装轮廓图像,且基于轮廓曲率特征点和支持向量机的服装款式识别的方法。

背景技术

[0002] 随着电子商务的日益成熟,网购服装已经日益普遍。然而,如何在网购平台的海量服装图像中检索喜爱的服装款式却一直困扰着经营者和消费者。当前网购平台中服装款式的检索皆是基于文字的检索,一方面,需要花费大量的人工做标签;另一方面,文字的表达过于抽象,不够形象与具体,消费者难以通过文字检索找到心仪的服装。服装款式的计算机识别技术有望解决以上困扰。由消费者提供样例图片,采用自动识别技术将其主要特征识别出来之后与平台服装库进行比对,实现准确的检索。此外,服装款式的计算机识别技术还能够辅助人员追踪。在视频监控系统中,根据服装款式特征追踪相关人员。商场视频监控系统通过识别顾客着装,进行大数据分析,能够获取当前的服装款式流行趋势,制定针对性更强的销售方案。可见服装款式识别具有广阔的市场应用前景。
[0003] 寻找一种描述服装形状特征及分类的方法是服装款式识别领域的研究重点。近年来围绕服装轮廓进行款式识别的研究有了一些成果。An等(AN L X,LI W.An integrated approach to fashion flat sketches classification[J].International Journal of Clothing Science and Technology,2014,26(5):346-366.)使用小波傅里叶描述子描述服装设计平面图的轮廓特征并进行极端学习机分类研究;Hou等(HOU A L,ZHAO L Q,SHI D C.Garment image retrieval based on multi-features[C].2010International Conference on Computer,Mechatronics,Control and Electronic Engineering(CMCE 2010).2010:194-197)提出了使用融合特征(Hu不变矩和傅里叶描述子)来描述服装的轮廓特征,通过计算欧式距离来判断形状的相似性。这些研究所采用的形状特征描述算子(傅里叶描述子、小波傅里叶描述子和Hu不变矩等)能够描述服装轮廓的形状特征,但是它们却无法直观地与服装轮廓的形状特征对应起来。
[0004] 平滑曲线通常可以通过曲率极值点勾勒出来,这些曲率极值点代表了曲线的主要形状特征。从服装轮廓曲线中提取此类点(即轮廓曲率特征点)来代表服装轮廓形状特征,作为特征向量以供后续款式分类用,能够直观地与服装轮廓的形状特征对应起来,从而克服目前服装款式识别方法存在的问题。

发明内容

[0005] 本发明的目的是提供一种新的基于轮廓曲率特征点和支持向量机(SVM)的服装款式识别方法。
[0006] 为达到上述目的,本发明采用的技术方案为:
[0007] 基于轮廓曲率特征点和支持向量机的服装款式识别方法,首先通过对服装图像的预处理获得服装轮廓,然后提取服装轮廓的轮廓曲率特征点作为特征向量,最后予以基于支持向量机的服装款式识别;
[0008] 所述服装图像的预处理包括服装图像分割、边缘检测、倾斜校正和轮廓曲线平滑,获得服装轮廓图像,以供后续轮廓曲率特征点的提取;
[0009] 所述服装轮廓的轮廓像素点坐标采用b(k)=(xk,yk)表示,式中,xk和yk分别为轮廓像素点在数字图像坐标系中的横坐标值与纵坐标值,k=0,1,2,...K-1,K为轮廓像素点总数;
[0010] 所述提取服装轮廓的轮廓曲率特征点的步骤如下:
[0011] 1)求取轮廓在序号为k点处的一阶导数dk′、二阶导数dk″和曲率Ck,其中:
[0012] dk′=(yk+1-yk)/(xk+1-xk)
[0013] dk″=(dk+1′-dk′)/(xk+1-xk)
[0014] Ck=|dk″|/(1+dk′2)3/2;
[0015] 2)对轮廓的曲率曲线进行峰值检测,并依据峰值的大小将峰值点的坐标排序;
[0016] 3)选取曲率曲线峰值最大的前40个点作为服装轮廓初始特征点集;
[0017] 4)将服装轮廓图旋转90度,即令b(k)=(yk,xk),重复步骤1)和2),选取曲率曲线峰值最大的前10个点作为服装轮廓的增补特征点集;
[0018] 5)将初始特征点集和增补特征点集合并为服装轮廓曲率总特征点集,作为特征向量。
[0019] 作为优选的技术方案:
[0020] 如上所述的基于轮廓曲率特征点和支持向量机的服装款式识别方法,所述服装图像为白色背景的单件服装图像,所述服装图像分割步骤如下:
[0021] 1)将服装图像转化为灰度图像,将彩色图像三维RGB空间中每个像素的颜色向直线R=G=B做射影,转化为一维空间的灰度图像;
[0022] 2)将灰度图像进行灰度的线性变换,将灰度图像的灰度值在low-255之间的值映射到0-255之间,低于low的值映射为0,增强灰度图像中服装图案与背景的对比度;
[0023] 3)使用最大类间方差法对灰度图像进行二值化,并对二值图像进行取反运算,便于后续形态学处理;
[0024] 4)对二值图像进行形态学闭运算处理,平滑服装图案的边界,连接边界狭窄的缺口,其中闭运算的结构元素为半径2-4个像素的圆盘;
[0025] 5)在步骤4)获得的二值图像中标记8连通的区域,找到最大面积的8连通区域即为服装区域,并对服装区域填充内部空洞,得到完整服装区域。
[0026] 如上所述的基于轮廓曲率特征点和支持向量机的服装款式识别方法,所述low取值范围为90-100。
[0027] 如上所述的基于轮廓曲率特征点和支持向量机的服装款式识别方法,所述边缘检测是指使用Canny算子对服装区域进行边缘检测,获取服装的外部轮廓。
[0028] 如上所述的基于轮廓曲率特征点和支持向量机的服装款式识别方法,所述倾斜校正步骤如下:
[0029] 1)获取服装轮廓的最小外接矩形,将服装轮廓从-10度旋转到+10度,服装轮廓最小外接矩形的面积最小时,服装轮廓无倾斜;
[0030] 2)将无倾斜的服装轮廓图像按照最小外接矩形的尺寸剪切,然后进行双三次插值的尺寸缩放,设定轮廓的高度为480像素,轮廓的宽度按照高度的缩放比例进行变换。
[0031] 如上所述的基于轮廓曲率特征点和支持向量机的服装款式识别方法,所述轮廓曲线平滑步骤如下:
[0032] 1)读取服装轮廓的轮廓像素点在数字图像坐标系中的坐标,将轮廓点坐标集进行离散傅里叶变换;
[0033] 2)截取前100个低频分量进行离散傅里叶反变换。
[0034] 如上所述的基于轮廓曲率特征点和支持向量机的服装款式识别方法,所述基于支持向量机的服装款式识别即采用支持向量机分类方法对服装款式进行分类,支持向量机分类方法是采用LibSVM工具箱(http://www.csie.ntu.edu.tw/~cjlin/)进行服装款式的支持向量机分类;具体步骤为:
[0035] 1)将样本库的特征向量进行主成分分析,选取累计贡献率为95%的成分为主成分,其中特征向量中坐标b(k)为复数形式,即b(k)=xk+jyk,j为虚数单位;
[0036] 2)随机抽取60%的样本作为训练集,剩余的40%的样本作为测试集;
[0037] 3)将训练集特征向量和服装款式标签作为输入,使用网格搜索法寻找支持向量机分类器中惩罚参数和核参数的最优值,其中惩罚参数的范围是[-8,8],核参数的范围是[-8,8],步长为1;
[0038] 4)使用最优的参数、训练集特征向量及款式标签,训练得到支持向量机分类器;
[0039] 5)将测试集特征向量作为输入,运用训练好的支持向量机分类器进行计算,得到测试集服装款式的分类结果,统计识别率。
[0040] 有益效果:
[0041] 1)本发明对服装图像预处理能够有效获取平滑无倾斜的服装轮廓;
[0042] 2)本发明基于轮廓曲率特征点进行服装款式识别,是此领域中一种新颖且颇具特色的尝试,轮廓曲率特征点直接和轮廓形状特征对应,可以直观地得出服装轮廓的形状特征信息(诸如肩宽、袖长和腰围之类);
[0043] 3)本发明基于支持向量机进行服装款式识别,支持向量机由于其非线性映射的理论基础避免了“维数灾难”,学习少量的多维数据也能达到很好的分类效果,具有较好的鲁棒性,因此更适合进行服装的款式分类;
[0044] 4)本发明提出的服装款式的识别方法能够使服装款式识别达到86%以上的准确率,每个样本识别耗时0.36ms,本发明具有快速准确的特点。

附图说明

[0045] 图1为服装款式识别方法流程图;
[0046] 图2为服装图像的服装原图;
[0047] 图3为服装图像的服装轮廓图;
[0048] 图4为服装轮廓曲率的初始特征点集;
[0049] 图5为服装轮廓曲率的增补特征点集;
[0050] 图6为服装轮廓曲率的总特征点集;
[0051] 图7为支持向量机分类系统流程图。

具体实施方式

[0052] 下面结合具体实施方式,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。
[0053] 基于轮廓曲率特征点和SVM(支持向量机)的服装款式识别方法如附图1所示,首先通过对服装原图(如附图2所示)的预处理获得服装轮廓图(如附图3所示),然后提取服装轮廓的轮廓曲率特征点作为特征向量,最后予以基于SVM的服装款式识别;
[0054] 服装图像的预处理包括服装图像分割、使用Canny算子对服装区域进行边缘检测、倾斜校正和轮廓曲线平滑,获得服装轮廓图像,以供后续轮廓曲率特征点的提取。
[0055] 服装图像分割步骤如下:
[0056] 1)将服装图像转化为灰度图像,将彩色图像三维RGB空间中每个像素的颜色向直线R=G=B做射影,转化为一维空间的灰度图像;
[0057] 2)将灰度图像进行灰度的线性变换,将灰度图像的灰度值在low-255之间的值映射到0-255之间,低于low的值映射为0,low取值范围为90-100,增强灰度图像中服装图案与背景的对比度;
[0058] 3)使用最大类间方差法对灰度图像进行二值化,并对二值图像进行取反运算,便于后续形态学处理;
[0059] 4)对二值图像进行形态学闭运算处理,平滑服装图案的边界,连接边界狭窄的缺口,其中闭运算的结构元素为半径2-4个像素的圆盘;
[0060] 5)在步骤4)获得的二值图像中标记8连通的区域,找到最大面积的8连通区域即为服装区域,并对服装区域填充内部空洞,得到完整服装区域。
[0061] 倾斜校正步骤如下:
[0062] 1)获取服装轮廓的最小外接矩形,将服装轮廓从-10度旋转到+10度,服装轮廓最小外接矩形的面积最小时,服装轮廓无倾斜;
[0063] 2)将无倾斜的服装轮廓图像按照最小外接矩形的尺寸剪切,然后进行双三次插值的尺寸缩放,设定轮廓的高度为480像素,轮廓的宽度按照高度的缩放比例进行变换。
[0064] 轮廓曲线平滑步骤如下:
[0065] 1)读取服装轮廓的轮廓像素点在数字图像坐标系中的坐标,将轮廓点坐标集进行离散傅里叶变换;
[0066] 2)截取前100个低频分量进行离散傅里叶反变换,即可获得平滑的服装轮廓。
[0067] 经过预处理得到的服装轮廓图像在计算机中,其实是通过轮廓图像上各轮廓像素点的坐标按顺序排成序列进行表示的,服装轮廓的轮廓像素点坐标采用b(k)=(xk,yk)表示,式中,xk和yk分别为轮廓像素点在数字图像坐标系中的横坐标值与纵坐标值,k=0,1,2,...K-1,K为轮廓像素点总数,轮廓的曲率则是通过对上述轮廓点的坐标序列计算而来。
[0068] 提取服装轮廓的轮廓曲率特征点的步骤如下:
[0069] 1)求取轮廓在序号为k点处的一阶导数dk′、二阶导数dk″和曲率Ck,其中:
[0070] dk′=(yk+1-yk)/(xk+1-xk)
[0071] dk″=(dk+1′-dk′)/(xk+1-xk)
[0072] Ck=|dk″|/(1+dk′2)3/2;
[0073] 2)对轮廓的曲率曲线进行峰值检测,并依据峰值的大小将峰值点的坐标排序;
[0074] 3)选取曲率曲线峰值最大的前40个点作为服装轮廓初始特征点集,如附图4所示;
[0075] 4)将服装轮廓图旋转90度,即令b(k)=(yk,xk),重复步骤1)和2),选取曲率曲线峰值最大的前10个点作为服装轮廓的增补特征点集,如附图5所示;
[0076] 5)将初始特征点集和增补特征点集合并为服装轮廓曲率总特征点集,作为特征向量,如附图6所示,可以看出其几乎覆盖了能够代表服装款式特征的所有点。
[0077] 基于SVM的服装款式识别即采用SVM分类方法对服装款式进行分类,具体步骤如附图7所示:
[0078] 1)将样本库的特征向量进行主成分分析,选取累计贡献率为95%的成分为主成分,其中特征向量中坐标b(k)为复数形式,即b(k)=xk+jyk,j为虚数单位;
[0079] 2)随机抽取60%的样本作为训练集,剩余的40%的样本作为测试集;
[0080] 3)将训练集特征向量和服装款式标签作为输入,使用网格搜索法寻找SVM分类器中惩罚参数和核参数的最优值,其中惩罚参数的范围是[-8,8],核参数的范围是[-8,8],步长为1;
[0081] 4)使用最优的参数、训练集特征向量及款式标签,训练得到SVM分类器;
[0082] 5)将测试集特征向量作为输入,运用训练好的SVM分类器进行计算,得到测试集服装款式的分类结果,统计识别率。
[0083] 实验采用Matlab R2014a编程实现,在DELL Inspiron 14-5439笔记本电脑(Intel(R)Core(TM)i5-4200CPU,2.3GHz,4GB RAM)上运行,操作系统为微软win7。由于国际上目前没有一个公认的服装图像样本库,所以本发明创建了一个新的样本库。从天猫网收集了600张图片,这些图片均为白色背景且平整摆放的单件衣服的图片。涵盖了短袖T恤、长袖T恤、长袖衬衣、外套(夹克衫、皮衣和大领短风衣等)、西服上装、短裤和长裤,共七个款式,如表1所示。
[0084] 表1服装图像样本库
[0085]
[0086] SVM分类实验随机抽取十次样本进行训练和分类。款式识别结果如表2和表3所示。从总体上看,识别率为86.46%。在识别速率上,识别每个样本平均耗时0.36ms。从各款式识别的结果看,短袖T恤、短裤和长裤的款式识别率皆为100%;而长袖T恤、长袖衬衣、外套和西服上装的识别率偏低(65%至86%)。主要的原因是前三者的轮廓区别很明显,容易区分,而后四者的轮廓接近,易误判。
[0087] 表2总体识别结果
[0088]
[0089] 表3各款式识别结果
[0090]