APP下载

基于Faster R CNN的浅口高跟鞋款式识别

2021-01-21张飚雪刘成霞

丝绸 2021年1期
关键词:卷积神经网络深度学习

张飚雪 刘成霞

摘要: 目前网购平台的搜索对象仍以文字为主,致使搜索效率低下。文章以广受女性欢迎的浅口高跟鞋为例,对利用图片进行款式自动识别的技术进行探索。以网购平台上收集的3类浅口高跟鞋(粗跟、细跟、坡跟)共900张图片(每款随机抽取200张作为训练集,剩余100张作为测试集)为研究对象,然后利用深度学习中的Faster R CNN检测模型对浅口高跟鞋款式进行训练和测试识别。结果表明:无论以鞋跟为目标区域,还是以整只鞋为检测区域,利用该模型都能对浅口高跟鞋图像实现良好的款式识别,准确率可达94%以上,且不用经过人为特征提取,方便可行;Faster R CNN检测模型的总体精度和检测速度比R CNN、SPP-Net、FAST R CNN更优。

关键词: 深度学习;款式识别;浅口高跟鞋;Faster R CNN;卷积神经网络

中图分类号: TS941.2

文献标志码: A

文章编号: 10017003(2021)01007906

引用页码: 011112

DOI: 10.3969/j.issn.1001-7003.2021.01.012(篇序)

Style recognition of shallow opening high-heeled shoes based on Faster R CNN

ZHANG Biaoxue1, LIU Chengxia2

(1.Yuanpei College, Shaoxing University, Shaoxing 312000, China; 2.School of Fashion Design & Engineering,Zhejiang Sci-Tech University, Hangzhou 310018, China)

Abstract:

Nowadays, the search object of online shopping platform is still mainly text, thus leading to low search efficiency. This paper researched the technology on how to realize style recognition by images of shallow opening high-heeled shoes popular with female. A total of 900 pictures of 3 kinds of shallow opening high-heeled shoes(thick heel, thin heel and wedge heel) collected from online shopping platforms(200 pictures of each style were randomly drawn as the training set, and the remaining 100 pictures were used as the test set) were selected as the object of study. Then, Faster R CNN in deep learning was used to train and test to recognize the style of shallow opening high-heeled shoes. Results showed that, Faster R CNN could recognize the style well, whether the heel or the whole shoe was used for the object area, with the precision reaching 94%. And it was very convenient because of no need of manual feature extraction. Moreover, the whole accuracy and detection speed of Faster R CNN were better than that of R CNN, SPP-Net and FAST R CNN.

Key words:

deep learning; style recognition; shallow opening high-heeled shoes; Faster R CNN; convolution neural network

在電子商务已成必然趋势的当今社会,网购发展迅速,越来越多的人通过网购挑选服装服饰。然而目前线上购物查找大多还是使用文字检索,这一方式需要对产品进行文字标注,不仅要耗费大量人力,且文字描述的能力也很有限,因此买家要快速搜到满意的商品非常困难,尤其是对服饰这样的非标品更加如此。如果能实现图像检索,客户可以直接由图片搜到心仪的服饰[1],无疑会大幅提高网购便捷性,提升用户购买欲。

数字图像技术的发展使其成为可能,目前已有较多的研究围绕服装款式的自动识别[2-4]展开,如利用服装局部HOG特征,结合关键尺寸进行款式分类[5];利用匹配卷积神经网络和超像素平滑等方法[6]进行语义分割,以及多人的服装分割算法[7]等。但上述人工构造特征及传统的分类方法易受检测图像多样性的影响,使检测效果不够理想。近年来,深度学习技术在多个领域都有了越来越广泛的应用,展示出巨大优势,其中CNN(卷积神经网络)[8]由于可以提取多层特征,无须人工设计特征、分类检测准确率高等优势而引起广泛关注[9-10]。

综上,现有的自动识别技术一般针对服装的款式展开研究,但是配饰也对着装的整体效果起着不可或缺的重要作用。高跟鞋作为广受女性欢迎的服饰之一,本文拟利用卷积神经网络中的Faster R CNN模型[11]对高跟鞋款式的自动识别加以研究,不仅能促进服装智能搭配系统的研发,还将有助于电子商务的发展,对图像处理技术也有一定的參考。

1 实 验

1.1 样本库

高跟鞋款式众多,其中变化最多的部位是鞋跟、鞋面、鞋头,根据鞋跟高度可分为低跟、中跟、高跟等;根据鞋跟形状则可分为细跟、粗跟、坡跟等;而按照鞋面沿口高低又可分为浅口款、高帮款、长筒款等。其中浅口高跟鞋的适用性较广,所以本文以浅口高跟鞋为例展开研究,具体选择跟高在6~10 cm的三种(细跟、粗跟和坡跟)浅口高跟鞋。所用图像样本来源于淘宝、京东等线上销售网络平台,均为纯色背景,且侧面180°摆放。三款高跟鞋的样本图像各300张,共900张,并将其统一裁剪成500像素×500像素。每种款式随机抽取200张作为训练集,剩余100张作为测试集,并对图像进行标记。

1.2 卷积神经网络

卷积神经网络的基本结构[10]如图1所示,分为输入层、隐含层和输出层,其中输入为原始图像,卷积层、池化层和全连接层构成了其隐含层,输出层即检测结果。卷积层类似前馈神经网络的神经元,对输入图像进行特征提取,卷积层参数决定了输出特征图的尺寸;池化层对特征提取后输出的特征图进行特征选择;连接层类似传统前馈神经网络中的隐含层,并只向其他全连接层传递信号。

1.3 Faster R CNN检测模型

Faster R CNN的基本结构[11]如图2所示,输入图片经过底部卷积层提取特征,得到特征图,区域建议网络利用特征图生成候选区域,再用分类器对候选区域进行分类,最后判断候选区域中是否含有目标。

由上述可知,Faster R CNN模型由四个模块组成:1)卷积层,原始图像通过一定的卷积层、池化层提取图像特征,输出其特征图;2)区域建议网络(RPN),是一个深度全卷积网络,同时进行边框预测及得分计算,用于生成建议区域;3)池化层,PRN在得到候选区域后,将特征图与候选区一起送入池化层;4)Faster R CNN检测器,从RPN产生的目标框作为输入提取特征,最后通过Softmax检测目标类别并做边框回归。Faster R CNN通过共享卷积的方式将RPN和R C NN相连接,且进行了联合训练,所以Faster R CNN模型比单一网络结构更能提升图像检测性能。

1.4 基于Faster R CNN的浅口高跟鞋款式识别模型

1.4.1 整体识别框架

图3为利用Faster R CNN模型对浅口高跟鞋款式进行识别的框架。首先利用训练集(由粗跟、细跟和坡跟三款组成,每款200张图片)对Faster R CNN模型(其主要由RPN和R CNN两部分组成)进行训练,生成检测模型,然后将测试集(由粗跟、细跟和坡跟三款组成,每款100张图片)输入检测模型,验证识别结果(结果为粗跟、细跟或坡跟)。本文使用包含13个卷积层、5个最大池化层和3个全连接层的VGG16[12]作为特征提取网络,并使用线性整流函数作为激活函数。

1.4.2 具体识别流程

图4为利用Faster R CNN模型对浅口高跟鞋款式进行识别的具体流程。当输入的浅口高跟鞋图像经过VGG16特征提取网络后,会对细跟、粗跟和坡跟鞋的特征信息进行提取,并输出特征图,该特征图被输入到RPN层和池化层共享。

特征图输入到RPN网络后,先进行1次3×3的卷积运算,再进行2次1×1的卷积运算。其中一次是计算检测区域的前景(识别目标,即本文中的鞋跟款式)或背景概率,另一次1×1卷积运算用于给候选区域精确定位。换句话说,RPN以特征图作为输入,并通过滑动3×3窗口获得锚(anchor,即每个滑动窗口的中心框),结合不同尺寸和比例的区域建议,每个锚产生9个不同的锚框,然后输出可能包含细跟、粗跟和坡跟的矩形候选框及得分。RPN通过滑动窗口,可同时预测多个候选区[13]。

由于RPN产生的候选区域尺寸不同,所以池化层以特征图和RPN网络输出的候选框作为输入,将其映射成固定尺寸的候选框后输入全连接层。

最后利用Softmax层对每个候选框进行分类并输出得分;同时利用回归获得更精确的边界框,也就是最终得到高跟鞋类别(细跟、粗跟或坡跟)及得分。

1.4.3 评价指标

在深度学习领域,准确率P(%)和召回率R(%)常被用来评价模型性能[14],因此本文也用其评价浅口高跟鞋检测模型的性能,并用处理每张图片所用时间T(s)来评价模型的检测效率。P是准确识别的目标数与被判定为目标的总数之百分比,即查准率;召回率R是正确识别的目标数与实际目标总数之百分比,即查全率。

P/%=TPTP+FP×100(1)

R/%=TPTP+FN×100(2)

以粗跟为例,TP表示将粗跟预测为粗跟的样本数;FN表示将粗跟预测为细跟或坡跟的样本数;FP表示将细跟或坡跟预测为粗跟的样本数;TN表示将细跟或坡跟预测为细跟或坡跟的样本数。

假定实际粗跟有100个样本,将粗跟检测为粗跟的样本数40个(即TP),将粗跟检测为细跟或坡跟的样本数为20个(FN),将细跟或坡跟检测为粗跟的为10个(FP),将细跟或坡跟检测为细跟或坡跟的样本数30个(TN)。则计算出的准确率P为80%,召回率R为66.7%。很显然,准确率和召回率越高,说明模型性能越好。

此外,利用总体精度F(%)来评价模型的整体性能[15]。

F/%=2TPP+R×100(3)

1.4.4 平台和参数设置

实验环境为IntelCore i7-3770 CPU@3.40 GHz,8位英特尔处理器(美国英特尔集成电子公司),NVIDIA Ge Force GTX 1080Ti GPU,使用Tensor Flow作为深度学习框架。在参数设置方面,迭代次数设置为10 000次,初始学习率设为0.001,每次迭代训练图像的数量为256张,学习率的衰减系数和网络训练动量分别为0.1和0.9[13]。

2 结果与分析

2.1 测试结果

图5和图6是分别以鞋跟和整只鞋为目标区域,利用训练好的Faster R CNN模型对浅口高跟鞋款式进行识别的部分结果,其中黑色框标出的为定位区域,线框内的左上角为检测结果,包括类别和得分:X为细跟;C为粗跟;P为坡跟。图5(a)(b)(c)的检测结果分别为X:1.00;C:0.95;P:0.97,图6(a)(b)(c)的检测结果分别为X:1.00;C:1;P:0.98,与实际情况完全吻合。由此可知,无论以鞋跟为目标区域,还是以整只鞋为检测区域,Faster R CNN模型都能对浅口高跟鞋图像进行良好的检测识别,且无须经过人为特征提取,方便可行。

2.2 不同目标区域对识别结果的影响

以准确率、召回率和总体精度为评价指标,列出了利用Faster R CNN检测模型进行识别的结果,如表1所示。由表1可知,即使目标区域相同(鞋跟或整只鞋),高跟鞋种类不同,识别的准确率、召回率也不相同。其中以鞋跟为目标区域时,细跟和粗跟的检测准确率都达到了100%;而以整只鞋为目标区域时,粗跟和坡跟的检测准确率则为100%。以三类的平均值来看,以鞋跟为目标区域的召回率高于以整只鞋为目标区域,而以整只鞋为目标区域的准确率高于以鞋跟为目标区域。对总体精度而言,还是以鞋跟为目标区域稍高,但是二者相差不大。

2.3 部分识别错误的样本分析

图7和图8是分别以整只鞋和以鞋跟为目标区域时的部分识别错误样本,并以此为例对识别错误的可能原因加以分析。

图7(a)为粗跟鞋,识别结果为X:0.96和P:0.83,识别错误的原因主要与这款鞋的材质和款式有关。此款鞋和训练集中的鞋在款式上有很大的不同,训练集重的样本皆为浅口高跟皮鞋,而这款是夏季凉鞋,且鞋跟处的材质由两部分组成,一大半为透明水晶状材质,小部分为与鞋底相同的材质。因此计算机在识别的时候,容易将透明水晶材质部分与白色背景相混淆,而将其误检测为细跟X,同時也容易将白色背景混为透明水晶状的鞋跟,从而误检测为坡跟P。图7(b)虽为粗跟鞋,但与其他粗跟鞋也有较大不同,其余的粗跟鞋的鞋跟基本上下粗细差不多,或者上粗下细,而这款鞋跟则呈上细下粗结构,且鞋跟上部粗细与其他细跟鞋的鞋跟上部相差无几,因此出现了一对一错2个检测结果,即X:0.99和C:0.97。图7(c)虽也为粗跟,但由于鞋跟的颜色和主体颜色相差甚大,所以计算机识别的时候可能将颜色不同的鞋跟部分排除在外,只检测了前面部分,而将鞋跟与鞋底之间的白色背景当成鞋跟,从而误判断为坡跟,因此也出现了一对一错2个检测结果,即C:1.00和P:0.97。

图8(a)为细跟凉鞋,与图7(a)一样,都属于与训练集中的浅口高跟皮鞋款式差异较大的鞋,而且后跟的较大装饰品遮住了鞋跟,因此识别时将装饰品当作了鞋跟,导致2个识别结果都将其检测为粗跟,C:0.56和C:0.71。图8(b)虽为粗跟,但鞋跟处上下段的材质截然不同,下半段为完全透明的材质,导致计算机识别时将鞋跟与鞋底部分的白色背景也归为了鞋跟,因此将其误判成P:0.57,另外一个则是正确的检测结果,C:0.93。图8(c)与图7(a)为同一只鞋,这是一款与训练集种的样本款式完全不同的凉鞋,在以鞋跟为目标检测时,也出现了识别错误,甚至将鞋面部分当成了鞋跟,将其误判为坡跟P:0.66。

综上分析识别错误的样本,可以发现误判原因主要是鞋的款式与训练集相差很大,或者由于鞋上的装饰物干扰及后跟的材质、颜色等不一致造成。由于测试集样本存在的这些问题,使得利用Faster R CNN模型进行款式识别时虽然准确率较高(大于94%),但是尚未达到100%。然而这并不影响该方法的有效性,如果摒弃款式过于奇异的及与训练集款式差别甚大的样本,相信会大幅提高模型的测试准确率。

2.4 不同识别方法对识别结果的影响

在相同实验条件下,本文利用不同的检测方法识别浅口高跟鞋,结果如表2所示。由表2可知,Faster R CNN无论是在总体精度还是在检测速度上,都优于其他方法,尤其是检测速度。R CNN的训练和测试尤其耗时,且占用磁盘空间大;SPP-Net对整张图片只进行一次特征提取,相比R CNN极大提高了检测速度。而FAST R CNN将整张图像归一化后直接送入CNN,且一次性提取CNN特征和建议区域,候选区域的前几层无须重复计算特征,且训练数据从GPU内存直接进Loss层,不但提高了计算速度,还节省了存储空间。而本文运用的Faster R CNN由于用RPN替了前面几种方法的Selective Search(选择性搜索)产生建议窗口;同时产生建议窗口的CNN和目标检测的CNN通过共享卷积的方式相连接,并进行了联合训练,因此无论在总体精度上抑或是检测速度方面,都比前面几种方法更具优势。

3 结 论

为探索利用图片对服饰款式进行自动识别的技术,本文以浅口高跟鞋为例,通过收集网购平台上的产品图像,建立了样本库:包含细跟、粗跟、坡跟三款浅口高跟鞋,每款300张图像。每款随机抽取200张作为训练集,剩余100张作为测试集,并对图像进行标记。然后利用深度学习中的Faster R CNN检测模型对浅口高跟鞋款式进行训练和识别,结果表明:

1)无论以鞋跟为目标区域,还是以整只鞋为检测区域,Faster R CNN模型都能对浅口高跟鞋图像进行良好的检测识别,准确率可达94%以上,且不用经过人为特征提取,方便可行,具有较好的先进性。

2)识别错误的样本,主要是由于鞋的款式与训练集相差很大,或者因为鞋上的装饰物干扰及鞋跟的材质、颜色等不一致的原因造成。如果对测试集中的样本进行优选,去除与训练集差异甚大的,或者去除款式过于奇异的样本,准确率将会进一步提高。

3)Faster R CNN由于用RPN代替R CNN、SPP-Net、FAST R CNN这几种方法利用Selective Search产生建议窗口;同时产生建议窗口的CNN和目标检测的CNN共享,使检测模型的总体精度和检测速度都更具优势。

因此,利用本文设计的方法对浅口高跟鞋的款式进行自动识别是可行的,研究结果可为实现网购时的图像检索提供参考,同时还能为买家快速搜到满意的商品提供帮助。

参考文献:

[1]LIU S, SONG Z, LIU G C, et al. Street-to-shop: cross-scenario clothing retrieval via parts alignment and auxiliary set[C]//Proceedings of IEEE Conference on Compute Vision and Pattern Recognition. Los Alamitos: IEEE Computer Society Press, 2012: 3330-3337.

[2]YANG W, LUO P, LIN L. Clothing co-parsing by joint image segmentation and labeling[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Los Alamitos: IEEE Computer Society Press, 2014: 3182-3189.

[3]LIU Z W, LUO P, QIU S, et al. Deep fashion: powering robust clothes recognition and retrieval with rich annotations[C]//Proceedings of the IEEE International Conference on Computer Vision and Pattern Recognition. Los Alamitos: IEEE Computer Society Press, 2016: 1096-1104.

[4]LIU Z, YAN S, LUO P, et al. Fashion landmark detection in the wild[C]//European Conference on Computer Vision. Switzerland: Springer Cham, 2016: 229-245.

[5]YANAGUCHI K, KIAPOUR M H, ORTIZ L E, et al. Parsing clothing in fashion photographs[C]//Proceedings of the IEEE on Conference on Computer Vision and Pattern Recognition. Los Alamitos: IEEE Computer Society Press, 2012: 3570-3577.

[6]LIU S, LIANG X D, LIU L Q, et al. Matching-CNN meets k NN: quasi-parametric human parsing[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Los Alamitos: IEEE Computer Society Press, 2015: 1419-1427.

[7]NAN W, HAIZHOU A. Who blocks who: simultaneous clothing segmentation for grouping images[C]//IEEE International Conference on Computer Vision. 2011: 6-13.

[8]KRIZHEVSKY A, SUTSKEVER I, HINTON G E. Image net classification with deep convolutional neural networks[J]. Advances in Neural Information Processing Systems, 2012, 25(2): 1106-1114.

[9]ZEILER M D, FERGUS R. Visualizing and understanding convolutional nerworks[C]//Europeon Conference on Computer Vision. Switzerland: Springer Cham, 2014: 818-833.

[10]周志華. 机器学习[M]. 北京: 清华大学出版社, 2016: 121-139.

ZHOU Zhihua. Machine Learning[M]. Beijing: Tsinghua University Press, 2016: 121-139.

[11]REN S Q, HE K M, GIRSHICK R, et al. Faster R-CNN: towards real-time object detection with region proposal networks[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(6): 1137-1149.

[12]胡金辰, 王雨晨, 蒋江红, 等. 基于深度卷积网络的目标检测技术综述[J]. 数字技术与应用, 2018, 36(4): 97-98.

HU Jinchen, WANG Yuchen, JIANG Jianghong, et al. A review of object detection technology based on deep convolution network[J]. Digital Technology & Application, 2018, 36(4): 97-98.

[13]SIMONYAN K, ZISSE R M. Very deep convolutional network for large-scale image recognition[C]//International Conference on Learning Representations. 2015: 1-14.

[14]SUN J, HE X F, GE X, et al. Detection of key organs in tomato based on deep migration learning in a complex background[J]. Agriculture, 2018, 8(12): 196-211.

[15]陈俊杰, 叶东华, 产焰萍, 等. 基于Faster R-CNN模型的绝缘子故障检测[J]. 电工电气, 2020(4): 56-60.

CHEN Junjie, YE Donghua, CHAN Yanping, et al. Insulator fault detection based on Faster R-CNN[J]. Electrotechnics Electric, 2020(4): 56-60.

猜你喜欢

卷积神经网络深度学习
基于深度卷积神经网络的物体识别算法
MOOC与翻转课堂融合的深度学习场域建构
大数据技术在反恐怖主义中的应用展望
深度学习算法应用于岩石图像处理的可行性研究
基于深度卷积网络的人脸年龄分析算法与实现
基于卷积神经网络的树叶识别的算法的研究