基于HOG和几何特征的服装细节要素识别与分类

2016-11-30 02:07杨若瑜
图学学报 2016年1期
关键词:衣领角点轮廓

纪 娟, 秦 珂, 杨若瑜

(南京大学软件新技术国家重点实验室,江苏 南京 210046)

基于HOG和几何特征的服装细节要素识别与分类

纪娟, 秦珂, 杨若瑜

(南京大学软件新技术国家重点实验室,江苏 南京 210046)

随着人们对服装产品多元化需求的增强,无论是对于经营者还是消费者,服装分类都显得十分必要。现有方法大都基于服装整体做出处理,而忽略了服装细节要素的特征。提出针对服装细节,如衣领类型、袖子和下装长度等进行识别分类方法。在轮廓提取的基础上,针对衣领位置不确定、领口形状受周边花纹干扰等难点,设计了在多尺度 HOG结果上进行投票的方法,并结合基于角点检测的几何特征提取如关键尺寸比例计算等,用 SVM完成训练分类。最后利用多个特征搭配系数矩阵给出服装搭配建议。实验表明,该方法能够有效地完成上述服装细节要素分类,对自动搭配推荐也有一定实用价值。

服装细节要素;轮廓提取;HOG特征;几何特征;服装搭配

随着社会文化的不断进步,人们对服装产品多元化需求越来越高,使得服装设计及加工的各种技术不断改进,品种也随之越来越多,无论是对服装经营者还是对购买服装商品的消费者来说,对服装进行分类都十分必要。此外,网络购物逐步兴起,满足了人们对简单便捷、物美价廉等购物的需求,使各大购物网站、交互式电视购物也得到飞速发展,并潜移默化地改变着人们的生活方式与消费模式。在众多网购商品中,服装占了很大比例,并处于逐年稳步增长的态势,使得网络上有关服装的各种信息急增,进而又给消费者带来了更多地选择与纠结;给经营者如何更好地展示、销售服装带来了挑战;也同时带动了服装展示、服装检索、自动搭配推荐功能的发展。

服装展示的目的是将不同服装的复杂、多样性特点展示出来,供消费者选择自己喜爱的款式,这是经营者销售服装的必要手段之一。服装检索可以帮助消费者快速地寻找到自己心仪的服装,但是由于衣服种类繁多、特点各异,仅仅通过关键字检索得到的结果并不尽人意。而现有的很多软件,诸如淘淘搜、衣+等网站和各类手机 APP,大都基于服装整体做出处理,对服装的细节特征并未做详细分类。面对复杂多变的各类服装,仅仅依靠“大体印象”进行分类是不完备的。在理论研究方面,围绕服装检测识别、检索和搭配技术等方面的研究有了一些成果,如 Smeulders等[1]利用颜色、纹理、形状特征对基于内容的图像检索做出了总结性的研究 ;Cheng和Liu[2]使用边缘检测技术提取形状特征,同时结合颜色特征表示服装款式信息并进行分类,实现图像检索功能。近年来,出现了很多解析人物着装研究,其使用不同的颜色分割标记出人物穿着的不同区域,为提取穿着在人物身上的服装信息扫除了障碍[3-4];此外,也有研究使用人脸识别、GrabCut分割算法、Freeman琏码、PCA主成分分析等不同的方法,提取颜色、纹理、形状以及空间位置等特征从而完成对服装图片的检索、搭配等[5-6]。可见,上述相关研究主要集中在服装的颜色、纹理、形状等整体属性的提取上,却很少关注服装细节。

因此,本文主要针对衣领、袖子等服装的细节要素特征进行研究。通过边缘检测、轮廓提取与筛选得到最外层轮廓图,并在此基础上完成HOG特征提取、几何特征提取如关键尺寸比例计算等,提供给SVM进行分类。这有助于服装款式的分类更为具体多样,更加符合人类的视觉效果,便于经营者全面具体地展示服装特征以便吸引消费者,消费者在购物时更有针对性地选择自己钟爱的款式,同时,也能适用于更加符合人们喜好的服装自动搭配等应用。

1 服装细节特征识别的总体思路

轮廓检测与提取是整个研究的基础,准确获取轮廓信息将有助于后续工作的展开。由于处理的服装样式繁多,出现了衣领大小、款式不同导致衣领位置的不确定,另衣领还受到周边花纹图案干扰难以获取准确的形状特征,且其各种类间外形相似难以分辨,以及裤腿存在重叠现象等难点,针对这些情况本文提出了相适应的处理方法。

图1为整个系统流程。经过预处理、边缘检测后直接进行轮廓提取得到的轮廓信息十分冗余,为减少无用轮廓的提取次数,需在边缘检测后先进行闭运算深度处理,再从获取的轮廓序列中选出最大的轮廓作为最外层轮廓,并得到此图;在彩色原图与最外层轮廓图的不同尺度范围内分别提取对局部目标表象与形状有较好描述能力的HOG特征,使用SVM对衣领种类、下装种类、有袖无袖进行分类;对分类得到的裤子、裙子、有袖上衣长度,利用各自相应区域内的角点检测、排序、筛选等方法得到关键尺寸比例的几何特征做出对应的分类。最后,根据分类得到的细节特征,并结合色彩特征,辅以可灵活修改的其他自定义特征,通过特征匹配系数矩阵的计算,给出一系列简单的上下装搭配建议。

图1 工作流程图

2 服装细节特征识别的具体实现

2.1服装图片的准备工作

网络上的服装图片千差万别,本研究只选取纯服装图片,不考虑穿在身上的情况,且限定为服装平整、正放、几乎没有重叠部分,轮廓清晰、背景较为单一的图片,以便能排除背景因素的干扰、确定分类区域位置。

由于之前未见类似的研究,网络上也没有可供直接使用的图片集,因此只能人工从各大网站上挑选,加之种种要求限定,最终搜集到的图片集并不是很多,本文以此为研究对象。

2.2服装图像最外层轮廓的提取

服装轮廓是服装款式风格的第一视觉要素,也是提取色彩、纹理等特征的主要参考区域。因此准确提取服装最外层轮廓是最基础也是关键的一步。本文轮廓提取的处理过程如下:

(1) 为了便于对图片进行更为准确的边缘检测与轮廓提取,需对图片进行平滑滤波预处理,去除噪声的干扰,保护需要处理的边缘信息。

(2) 预处理后进行边缘检测。在进行了多次实验分析比较后发现,canny边缘检测能够有效地抑制噪声干扰并且准确定位边缘,因此最终选用canny算法进行边缘检测。

(3) 获得边缘检测图后进行轮廓检测。由于服装表面图案、花纹等各种因素干扰,得到的轮廓包含许多无用信息,效果不佳。廉宁和徐艳蕾[7]在定位车牌时采用了改进的数学形态学边缘检测方法,获取了不错的车牌边缘信息。本文同样融合 canny边缘检测和形态学方法提取服装轮廓信息,在边缘检测后先使用形态学运算弥合小裂痕,消除内部细小的边缘,然后使用轮廓检测算法获得外层轮廓。虽然处理过的轮廓也仍然存在不少内部区域的轮廓,但经处理后更连续完整。实验证明,选择最长的一条轮廓作为最外层轮廓是最佳的方法。图2展示了获得的服装最外层轮廓。

2.3服装细节特征分类

2.3.1衣领分类

衣领主要分为无领、立领、翻驳领 3类(如图3)。其最直观的分类依据是衣领的形状。周广君[8]利用领高、领深等量化特征对衣领类型进行分类,该方法适用于由简单的线条组成的服装款式图,而对于处理一般图片得到的数据不精确。本文处理的图片样式繁多、衣领外形相似,直接准确地检测出衣领形状特征并获取领高、领深等几何数值是十分困难的。图4中每张图片的右上方小图是提取的衣领轮廓,容易看出轮廓中包含了很多除衣领形状以外的轮廓信息,这些无用的信息聚集在衣领形状轮廓周边,要想将其剔除必须明确知道哪些是衣领形状轮廓,哪些是干扰轮廓信息,而不能简单地剔除一整块区域的轮廓信息。

图2 最外层轮廓的获取

图3 不同种类的衣领

HOG梯度方向直方图特征可以很好地描述局部目标的表象和形状,通过计算和统计图片中局部区域各像素点的梯度方向直方图来构成特征。所以本文尝试结合HOG特征和SVM对衣领进行分类,并针对上述的衣领位置难确定、形状难准确提取两大难题,分别进行了不同的实验。实验发现,衣领位置很难一次性准确确定,但多次框定衣领的位置对准确定位衣领区域有很大帮助,因此在获取服装最外层轮廓后可得到其外接矩形,选择外接矩形长宽,一般而言选1/3宽度(矩形水平长度)、0.2高度(矩形竖直长度),1/2宽度、0.2高度等类似的不同尺度来框定衣领位置,如图5(a)。图中不同颜色框出的矩形区域就是尝试确定衣领的准确位置,框定不同衣领范围后的分类结果各有差别,同一张图片的分类结果会因框出衣领位置的不同而有所不同,若是将这些分类结果结合并进行投票,选择次数出现最多的结果作为最终结果,可使分类准确率大大提高。

图4 衣领形状特征提取

图5 图片中衣领位置的确定

此外,对于衣领形状难准确提取的情况,本文尝试提取3 780维、1 764维、756维3种不同维数的HOG特征,最终的分类结果如表1。

表1 不同维数的HOG特征分类准确率比较(%)

从表1可见,1 764维特征分类结果较好,另外两种稍差。相比较而言3 780维提取的特征太细,衣领周边包含很多无用信息;而756维提取的特征又过于笼统,获取的形状信息少、不具有代表性。

因此,本文最终选用多尺度的衣领 1 764维HOG特征进行分类,其中多尺度的具体数值详见图5(b)。

2.3.2袖子长度分类

袖子可分为无袖、有袖两大类,而有袖又可分为长袖、短袖。由于服装图片无法保证拍摄角度、距离都相同,所以单纯的根据袖长的长度分类是不可行的,因此本文选择根据袖长与肩宽的比例来分类;而无袖、有袖在肩部显示出的形状是不同的,使用 HOG特征在框定的肩部区域内进行特征提取,可以达到很好的效果。

获取袖长、肩宽数据时,肩部点、袖口点的准确定位是至关重要的。Xue和Chen[9]在研究服装款式识别时,使用了Human Annotation Tool获取人体肩部、手腕、脚踝等重要位置,并确定需重点研究的服装区域。然而本文不涉及到人体,所以选用角点检测方法检测出图像左半边区域内梯度值和梯度方向的变化速率都很高的点,并从中筛选出离外接矩形左边界最近的点作为外层袖口点。

以左肩部点的获取为例:

步骤1. 选取外接矩形左上方0.4倍水平长度、0.3倍竖直长度区域(如图 6(b)红色框框出的区域)进行角点检测,得到数组A,记录每个角点的横坐标x、纵坐标y;

步骤2. 将数组A按照y递增的顺序排列放入新的角点数组B中;

步骤3. 检测B中所有元素的x是否满足从大到小的顺序,若满足则转入步骤4,若不满足则再调整数组。如图7中红圈框出的两个角点,在按照y从小到大排列后,这两个点的x不满足从大到小,即该点x比前后角点的x都大,并将该角点删除。处理后得到按照最外层轮廓走向排列的角点数组(如图6(b)红色框中的角点序列,横坐标从大到小、纵坐标从小到大);

步骤 4. 分别计算连续两点之间的斜率,找出相邻斜率间增加最大的两条线段,并取其公共点作为左肩部点,如图6(b)中斜率增加最大的连续两条线段用粉红色标出,两线交点便为左肩部点。

需要注意的是,此时得到的肩部点的坐标是以框出的肩部区域(图 6(b)中的红色方框)的坐标系为准,要得到在原图中的坐标,还需要转换坐标系,将横纵坐标分别加上外接矩形左顶点的横纵坐标的数值,这才是最终的肩部点坐标。

在得到肩部点、袖口点(如图 6(c))后再近似计算袖长、肩宽距离求出比例大小,最后通过 SVM训练分类得到结果,如图7所示。

图6 获取左肩部点示意图

图7 需要再次调整的角点序列

2.3.3下装种类及其长度分类

下装主要分为裤子和裙子两类,其主要差别在于一种有裆部、有裤缝,另一种没有裆部信息,虽然可能会有褶皱,但也是完整的一体。这在图片中主要体现在部分纹理的不同。这里也采用了与衣领种类分类相同的方式,在确定最外层轮廓后得到外接矩形,选取矩形下半部分的不同尺度区域并分别提取1 764维、756维HOG特征(图8),提供给SVM进行分类,取出现次数最多的结果为最终分类结果。

裤子可分为长、中、短裤,裙子可分为长裙、短裙,其分类方法与袖子长度分类类似。在无法归一化处理图片进而直接根据裤长分类时,由于裤腿存在部分重叠较难准确获取裆部信息,只能间接通过裤长、裤腰宽的长度比例进行分类,获取裤腰左边点的过程描述如下:选取最外层轮廓图左上方0.3水平长度、0.2竖直长度区域,在此区域上采用角点检测得到角点数组,计算数组中各点与外接矩形左上顶点构成矩形的面积,筛选出构成矩形的最小面积的点作为裤腰左边点。裤腰右边点、裤脚点获取方式类似,获取结果如图9。裙子长度分类同样如此,需要找到裙子腰部的两点计算出腰宽,而直接选取外接矩形的高度作为裙子的长度,进而计算出比例做出分类。

图8 裙子、裤子特征提取

图9 裤子、裙子长度分类特征提取图

2.4基于特征匹配系数的服装搭配建议

服装搭配就是将各种服装以一种和谐或者人们喜欢的方式组合在一起,使人产生舒适美观的感觉。本文所有搭配规则通过每对特征之间的匹配系数来体现。如上文所述,通过分类可以得到衣领种类、袖子长短、下装种类以及长短等一系列细节特征。而通过简单的基于RGB分量统计方法又可以得到颜色特征。考虑到验证搭配算法的实用性,本文还添加了一些自定义特征,如性别、上衣类型(衬衫、T恤)等。匹配系数分别存储在矩阵中,表2为矩阵存储衣服类型匹配信息。显而易见,所有搭配规则都可以扩充并随着当前喜好或历史穿着偏好进行实时修改。考虑到算法复杂度,暂只考虑单色与单色之间的匹配。

表2 衣服细节特征匹配系数矩阵

服装搭配完整流程如下:

(1) 对所有服装图片的细节特征、颜色识别分类,并融合自定义信息,将衣服特征按照上装、下装分别存储在上装和下装特征结构体两类数组中。

(2) 任选一件上(下)装,计算其与所有其他下(上)装的匹配度。按从大到小排序,优先输出匹配度最高的结果,其他结果供参考。

(3) 若用户对排序靠后的搭配结果表示更有兴趣,则系统将自动提高相应特征对之间的匹配系数,形成该特定用户的个性化匹配矩阵。而且用户也可以根据自己喜好自行调整各匹配系数,形成个人独有的搭配风格。

3 实验结果及分析

3.1衣领种类分类

采用随机的训练集、测试集做分类,准确率都达到85%左右。图10展示了分类正确的图片。这里重点提出一些错误分类的样例,其具有典型性,也是分类过程中又一大难点。如图11,因为分类过程没有考虑衣领层次、立体感对结果造成的影响,所以出现了一些错误。图11(a)实为立领,但由于放置角度问题,忽略立体感的影响误分类为无领,同样的,图11(b)由于分辨不出翻折过的衣领的层次感而误分类为立领。

图10 衣领正确分类的图片

图11 衣领错误分类的图片

3.2袖子长度分类

袖子分类使用与衣领分类同样的数据集,无袖、有袖正确率达85%。大多数错误是将无袖误分类为有袖。在有袖、无袖分类后只有分类为有袖的图片才会进入长度分类过程中,长、短袖的分类准确率达90%左右。

3.3下装种类及其长度分类

下装分类准确率达到85%左右。一些错误分类是由于裤子裆部信息不明确,尤其是一些短裤,容易与裙子混淆,如图 12所示。而根据裤长、裤腰宽的比例特征来分类裤子长度,分为长、中、短3类时准确率在85%左右,主要由于存在一些裤子仅从图片上并不能很明确地分辨出是什么类型长度的裤子,如图 13中左边的裤子无法分辨出是中裤还是长裤,其余两条裤子无法分辨出是短裤还是中裤,所以若是将类别减少到仅分为长、短两类,准确率会有很大提高。类似的方法,裙长分为长裙、短裙类时准确率达到了90%以上。

3.4服装搭配

本文使用了上衣和下装各130张图片对算法进行了测试,系统自动输出的部分最佳搭配结果如图14所示,其搭配结果还是比较和谐美观的。

图12 裆部信息不明确的裤子图片

图13 难以辨别的裤子长度类型

图14 服装搭配效果图

4 结 束 语

在服装细节要素特征的识别分类被忽略的研究背景下,本文使用较为简单的方法对此做出尝试,对背景干扰较小、服装平整、正放的图片的处理过程中,获得了较为准确的识别分类结果,运算复杂性较低;通过多个矩阵定义服装特征匹配系数的方法方便且灵活,给出的搭配建议既可以依据时尚习惯又可以遵从个人喜好,也便于按照用户选择做出相应的调整。

诚然,本文仍存在很多不足,后续工作中将重点考虑:①搜集更多的数据集;②提高复杂环境下的服装轮廓提取准确性;③从深层次考虑细节特征分类结果错误的原因,改善特征提取方法提高准确率,同时增加诸如口袋、拉链等更多细节特征分类。

[1] Smeulders A W M, Worring M, Santini S, et al. Content-based image retrieval at the end of the early years [J]. IEEE Trans on Patt Anal and Mach Intell, 2000, 22(12): 1349-1380.

[2] Cheng C I, Liu D S M. An intelligent clothes search system based on fashion styles [C]//In Proceedings of the 7th International Conference on Machine Learning and Cybernetics. Kunming, China, 2008: 1592-1597.

[3] Simo-Serra E, Fidler S, Moreno-Noguer F, et al. A high performance CRF model for clothing parsing [M]. Computer Vision--ACCV 2014. Springer International Publishing, 2015: 64-81.

[4] Yang W, Luo P, Lin L. Clothing co-parsing by joint image segmentation and labeling [C]//Computer Vision and Pattern Recognition (CVPR), 2014 IEEE Conference on. IEEE, 2014: 3182-3189.

[5] 邹 娜. 衣服检测与识别技术研究[D]. 西安: 西安电子科技大学, 2012.

[6] 邹大海. 人体图像中周边物品检测分类技术研究[D].南京: 南京邮电大学, 2013.

[7] 廉 宁, 徐艳蕾. 基于数学形态学和颜色特征的车牌定位方法[J]. 图学学报, 2014, 35(5): 774-779.

[8] 周广君. 图像特征提取技术在个性化服装款式系统中的应用研究[D]. 上海: 东华大学, 2009.

[9] Xue B F, Chen J C. A sparse-coding approach for clothing style recognition [C]//Taiwan Academic Network Conference (TANET). Taiwan, China, 2014: SS07-02.

Classification of the Detail Features for Clothes Based on HOG and Geometric Features

Ji Juan,Qin Ke,Yang Ruoyu

(Key Laboratory for Advanced Technology of Software, Nanjing University, Nanjing Jiangsu 210046, China)

Due to the increased demand for the diversification of clothing products, clothes classification is very necessary, no matter for operators or consumers. Existing methods usually solve the problem based on the whole clothes, paying little attention to the detail features on the clothes. Therefore, identifying and classifying the detail features of clothes are emphasized in this paper such as the type of collar, the length of sleeves and the trousers or the dresses. Based on the contour extraction, the paper proposes the voting strategy for the results gained from multi-scale HOG features. Also the geometric features are used based on corner detection, solving problems like collar position uncertainty, neckline shape interference caused by surrounding patterns and so on. Then, SVM classifier is used to get the final results. After that, some advice is also provided on costume matching using multiple coefficient matrixes of features matching. Experiments show that our method is effective for classifying some mentioned detail features. Also, it shows some practical value for the automatic matching recommendation.

detail features of clothes; contour extraction; HOG features; geometric features; costume matching

TP 391.9

10.11996/JG.j.2095-302X.2016010084

A

2095-302X(2016)01-0084-07

2015-09-24;定稿日期:2015-10-10

国家自然科学基金项目(61272218, 61321491)

纪娟(1993–),女,江苏淮安人,硕士研究生。主要研究方向为图像处理、模式识别。E-mail:jj12248@163.com

杨若瑜(1977–),女,安徽滁州人,副教授,博士。主要研究方向为计算机视觉、三维重建和仿真。E-mail:yangry@nju.edu.cn

猜你喜欢
衣领角点轮廓
一种改进的Shi-Tomasi角点检测方法
红领巾 你去哪儿?
多支撑区域模式化融合角点检测算法仿真
常规之外
OPENCV轮廓识别研究与实践
风中的一棵树
基于实时轮廓误差估算的数控系统轮廓控制
基于FAST角点检测算法上对Y型与X型角点的检测
高速公路主动发光轮廓标应用方案设计探讨
爽约的说辞