姜磊,赵汉理,吴承文(温州大学智能信息系统研究所,温州 325035)
基于卷积神经网络的鞋类图像检索研究
姜磊,赵汉理,吴承文
(温州大学智能信息系统研究所,温州325035)
近年来,我国的电子商务获得了前所未有的蓬勃发展,各种大中型电商网站纷纷应运而生。互联网技术及物流的发展极大地方便了人们的日常购物与日常生活。然而,网上商城店铺众多并且各色商品种类繁多,用来展示商品的图片数量也在呈几何倍数不断增加。人们在购物过程中,往往希望能够购买到称心如意的商品,但面对如此庞大的图像数据往往需要花费相当多的时间去筛选和比较。因此,如何从如此庞大的图像数据中快速并准确地搜索出人们所期望的商品成为了一个现实的难题。
为了解决这个问题,很多研究人员提出了各自的解决方法。根据解决方式的不同,这类算法可以概括为以下三种类型:基于文本的图像检索(Text Based Image Retrieval)[1]、基于内容的图像检索(Content Based Image Retrieval)[2-3]以及基于文本和内容相结合的图像检索[4]。基于文本的图像检索方法出现的时间比较早、技术相对成熟,但是,文本描述并不能充分表达图像的内容并且很难用来完成图像的相似性检索[5]。基于内容的图像检索能够很好地用来实现图像的相似性检索,近年来在诸多领域得到了很好的应用,具有代表性的应用例如百度识图、阿里网站的搜索等。基于文本和内容的图像检索是前面两种方法的结合,能够很好地结合两种搜索方式的优点,但实现方式比较复杂。
本文主要关注和解决鞋类图像的检索问题。鞋子作为人们日常穿着的一个重要组成部分,在各大电商网站中占据着相当比例的销售量。然而,据笔者所知,国内很少有专门针对该问题进行专门的研究工作。近年来卷积神经网络(Convolutional Neural Networks)[6]被证明在一些图像检索任务中取得了很好的效果。因此,本文提出了利用卷积神经网络来进行鞋类图像的检索。卷积神经网络是一种深度学习(Deep Learning)算法,已经被广泛应用到诸多图像处理任务。本文主要完成以下两个方面的工作。一是通过在已经训练好的网络上利用鞋类图像进行微调,再利用学习到的特征来进行检索。二是整理了包含45个种类一共10000多张标注好的图像数据用来训练网络,同时搜集了20000多张图像作为我们的检索库。实验数据和分析证明本文的基于卷积神经网络来进行鞋类图像检索的方法能够取得很好的效果。
基于内容的图像检索算法主要包含两个方面的内容。一个是如何来抽象地表达图像内容,另一个是采用何种方式来进行特征匹配。
对于图像内容的表达指的是通过一些特征来抽象地描述图像所包含的信息。这些特征可以是图像的纹理、颜色、边缘或者一些高阶的语义特征。传统的基于内容的图像检索方法通过一些低阶的特征来描述图像。这类特征包括全局的颜色特征、纹理特征或者通过一些局部描述子SIFT[7]、SURF[8]建立起来的字袋模型[9]。最近的这几年随着卷积神经网络[6]的兴起,很多学者开始尝试基于已经训练好的网络模型来提取图像的特征。并且这些被称作通过算法学习到的特征在图像检测[10]和图像检索[11]等图像处理任务中表现出了比传统基于人工设定特征的方法获得更好的检索效果。因此本文也采用这种学习到的特征来表征鞋类图像的信息。
采用何种方式来度量特征之间的相似度,是基于内容的图像检索中又一个重要的研究内容。针对于这个问题,有很多算法已经被提出来。例如,一种比较简单的方法是利用欧氏距离来计算特征间的相似度。另一种方法是通过学习策略计算出一个相似度量矩阵,并将该矩阵用来进行特征的相似匹配[12]。还有,通过把描述图像的特征转换为二进制特征从而利用汉明距离(Hamming Distance)来快速地进行相似性计算[13]。
卷积神经网络的思想最早是Lecun等[6]在1998年提出的,用来进行手写字符的识别。网络主要由一些相互链接的卷积层和全连接层组成。卷积层主要是对输入做卷积操作然后对卷积后的结果做非线性变换得到输出作为下一层的输入。全连接层和人工神经网络的全连接层类似。当时网络层数还只有5层,并且已经在手写字符识别上取得了很好的成绩。这种特定数量的层组合在一起构成的网络被称作网络模型。近年来卷积神经网络得到快速的发展,在很多图像处理任务上取得了良好的效果,与此同时网络的层数也在不断的增加。
本文提出了一种运用卷积神经网络来实现基于内容的图像检索方法。本文采用一种由很多卷积层和全连接层以及一些用来优化网络的层组成的卷积神经网络模型。本文方法包括以下三个主要模块:
(1)预训练好网络模型并用鞋类图像进一步微调;
(2)建立鞋类图像检索所需的特征库;
(3)输入所要查询的鞋子图像进行图像检索。
图1 利用鞋类图像在预训练的网络模型上进行微调
第一步是训练好网络模型并用鞋类图像进一步微调。据笔者所知,现有的基于卷积神经网络的图像检索算法[11,13]大都是采用了AlexNet[14]网络模型。然而,本文采用的是Christian等[15]在ILSVRC2014大赛中所提出的Inception网络模型。该网络模型比AlexNet网络模型识别的准确率高,并且所需要的参数数量相对于AlexNet要少很多。首先,利用ImageNet[16]提供的百万张图片预训练Inception网络模型;然后,标注好一万张鞋类图像,并在这些鞋类图像上进行微调。微调操作和预训练操作采用的是同样的网络模型。微调指的是训练网络的时候网络的参数用预训练好的网络参数进行初始化。该操作比较简单,只需要简单地把网络中输出层的节点数由原来的1000改为45个节点即可。图1示意了网络模型训练的过程。图1中最左边是训练集,中间白色的部分是Inception网络的内部的卷积操作,蓝色矩形的表示一个1024维的向量对应于Inception网络中位于输出层前一层的FC层,最后一个黄色的矩形表示微调时输出层的节点数,节点数和本文鞋类数据的类别数相一致为45。这种在大量图像上进行预训练,然后在特定任务上进行网络微调的方法能够取得很好的学习效果。
在得到训练好的网络模型之后,第二步则利用该网络模型来提取检索库中图像的特征,建立鞋类检索图像特征库。特征可以理解为表示图像的一种编码方式。近年来学者把卷积神经网络中除输入层和输出层以外的一些层看成学习到的图像特征,并且理论上在网络模型中层数越高表示的特征越抽象,就越能够很好地表征图像的内容。因此,本文使用Inception输出层前一层的FC层作为本文的图像特征。具体流程如图2如示。图2中左边表示检索库图像,中间表示微调好的网络模型,右边表示保存的检索库图像的特征。
图2 利用为调好的网络建立鞋类特征检索需要的特征
最后一步,输入所要查询的鞋子图像,利用训练好的网络提取图像的特征实现图像的检索。在这里,利用训练好的网络提取图像特征的方法和建立特征索引库时采用的方法一样。然后,本文利用简单的欧氏距离来进行特征的相似计算,公式如下:
这里q表示查询图像的特征向量,Di表示检索库中第i张图像的特征向量,Si表示特征之间的距离差,n表示检索库中一共有多少张图片。值越小说明两幅图像的相似度越高。最后,通过排序算法返回相应的特征索引并查找出对应的图像库,就能检索出所需要的相似图像。图3示意了本文的鞋子图像检索过程。图3中左边是输入的查询图像,中间是微调好的网络模型,右边表示在检索库图像特征。
图3 输入图像进行检索
本文实验电脑配置为Intel Core i7 CPU和NVIDIA GeForce Titan显卡,装载Ubuntu环境。利用深度学习库Caffe[17]来进行训练。Caffe是一种完全开源,文档详细且使用简单的深度学习库。通过Caffe训练本文的网络模型并且使用Caffe的MATLAB接口来编写相应的检索程序。
图4 检索结果示例
图5 获取前10个检索结果
本文实验采用的图像数据包括ImageNet中的含有的1000个类别的已经标注好的百万张图像、我们自己收集的45个类别的10000多张标注好的鞋类图像以及含有20000多张图像的检索库。鞋类图像中每个类别的图像数量不等。并且,为了防止过拟合现象,添加了大约2000不到的衣服图像用来一起参与训练。
图4中给出了部分鞋子图像的检索效果。左边是输入的查询图像,右边是对应的检索到的最相似图像。从本图中可以发现,检索出来的前4张图像基本上都具有和查询图像较高的相似度。根据实际经验,在本文程序中查询到的前10张图像都是非常相似的。图5给出了一个例子。因此,实验的结果达到了本文方法的预期。一方面,因为Christian等的网络具有很好的泛化能力,在本文的鞋类数据上微调之后能够很好地表达鞋类图像的信息。另外,本文检索库中的图像非常简单,没有过多的背景干扰,因此有效地降低了检索出错率。如果检索库中已有与查询图像相同的鞋子内容,则该鞋子图像能够被检索出来,如图4第一个例子所示。因此,本文的基于卷积神经网络鞋类图像检索方法具有实际使用的价值。
本文所采用的学习算法虽然需要很长的训练时间,但是当运用已经训练好的模型来进行图像处理任务时却仅需要非常短的时间。本文提出的鞋类图像检索方法从图像特征提取到给出检索结果只需要100毫秒的运行时间。因此,本文方法能够适用于实际的在线检索应用。这种提取特征的速度也是传统的基于图像局部描述子的特征所无法比拟的。
本文成功地把卷积神经网络应用到鞋类图像的检索中。运用已经训练好的卷积神经网络来提取图像特征,这种基于内容的图像检索能够快速高效地查询到所期望的相似图像。并且,在应用到实际问题时,本文方法的实时性也是一个重要的优点。
本文的工作还存在一些不足之处。例如,检索库仅包含所搜集的20000多张图片,而在实际情况中往往需要百万级的图像检索库。在将来的工作中将进一步扩充和完善图像检索库。另外,在实际的商业应用中,检索图像中除了鞋子信息之外往往还有一些背景信息。可以在检索前加入目标检测[10]的预处理过程,以减少背景对检索效果的影响。
[1]Avinash N Bhute,B B Meshram.Text Based Approach for Indexing And Retrieval of Image and Video:A Review[J].Computing Research Repository(CoRR),2014.
[2]孙君顶,原芳.基于内容的图像检索技术[J].计算机系统应用,2011,08:240-244.
[3]Wan J,Wang D,Hoi S C H,Wu P,Zhu J,Zhang Y,et al.Deep Learning for Content-Based Image Retrieval:A Comprehensive Study [C].Proceedings of ACM International Conference on Multimedia,22nd ACM 2014:157-166.
[4]阿斯艳·哈米提,阿不都热西提·哈米提.基于文本的图像检索与基于内容的图像检索技术的比较研究[J].首都师范大学学报(自然科学版),2012,04:6-9.
[5]顾昕,张兴亮,王超,陈思媛,方正.基于文本和内容的图像检索算法[J].计算机应用,2014,S2:280-282.
[6]Lecun Y,Bottou L,Bengio Y,Haffner P.Gradient-Based Learning Applied to Document Recognition[C].Proceedings of the IEEE. IEEE 1998:2278-2324.
[7]Lowe D G.Distinctive Image Features from Scale-Invariant Keypoints[J].International Joural of Computer Vision,2004:91-110
[8]Bay T T H,Gool L J.V.Surf:Speeded up Robust Features[C].European Conference on Computer Vision(ECCV)2006:404-417.
[9]Wu L,Hoi S C H,Yu N.Semantics-Preserving Bag-of-Words Models for Efficient Image Annotation[C].Proceedings of ACM Workshop on Large-Scale Multimedia Retrieval and Mining,First ACM 2009:19-26.
[10]Girshick R,Donahue J,Darrell T,Malik J.Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation[C]. IEEE Conference on in Computer Vision and Pattern Recognition(CVPR)2014:580-587.
[11]Babenko A,Slesarev A,Chigorin A,Lempitsky V.Neural Codes for Image Retrieval[C].European Conference on Computer Vision (ECCV)Springer International Publishing 2014:584-599.
[12]Chechik G,Sharma V,Shalit U,Bengio S.Large Scale Online Learning of Image Similarity Through Ranking[J].J.Mach.Learn.Res, 2010:1109-1135.
[13]Kevin Lin,Yang Huei-Fang,Hsiao Jen-Hao,Chen Chu-Song.Deep Learning of Binary Hash Codes for Fast Image Retrieval[C].IEEE Conference on Computer Vision and Pattern Recognition Workshops(CVPRW),2015:27-35.
[14]Alex Krizhevsky,Sutskever.ImageNet Classification with Deep Convolutional Neural Networks[J].Advances in Neural InformationProcessing System 25(NIPS)2012:1097-1105.
[15]C.Szegedy,L.Wei,J.Yangqing,P.Sermanet,S.Reed,D.Anguelov,et al.Going Deeper with Convolutions[C].IEEE Conference onin Computer Vision and Pattern Recognition(CVPR),2015:1-9.
[16]ImageNet.http://www.image-net.org/[OL].Princeton University,2015.
[17]Jia Y,Shelhamer E,Donahue J,Karayev S,Long J,Girshick R,et al.Caffe:Convolutional Architecture for Fast Feature Embedding[C].Proceedings of ACM international conference on Multimedia,22nd ACM 2014:675-678.
Image Retrieval;Convolutional Neural Networks;Deep Learning
Shoe Image Retrieval Based on Convolutional Neural Networks
JIANG Lei,ZHAO Han-li,WU Cheng-wen
(Institute of Intelligent Information Systems,Wenzhou University,Wenzhou 325035)
浙江省自然科学基金项目(No.LY13F020022)、温州市科技计划项目(No.G20150019)
姜磊(1993-),男,安徽滁州人,硕士研究生,研究方向为计算机图形图像处理
赵汉理(1982-),男,浙江文成人,博士,副教授,研究方向为计算机图形图像处理
吴承文(1974-),男,安徽桐城人,博士,讲师,研究方向为数据处理
2015-12-15
2016-02-14
基于内容的图像检索是计算机视觉和机器学习领域中重要的研究内容。提出一种基于卷积神经网络的鞋类图像检索方法。首先基于百万张图片进行神经网络模型预训练,再使用鞋类图像在该预训练好的网络上进行微调使系统学习到鞋类图像的特征信息,最后可以利用学习到的特征来实现鞋类图像检索。实验结果表示本文的鞋类图像检索方法能够获得很好的检索结果。
图像检索;卷积神经网络;深度学习
Content based image retrieval is a hot topic in computer vision and machine learning fields.Presents a shoe image retrieval method based on convolutional neural networks.First obtains a pre-trained convolutional neural network from one million of images,then employs shoe images to generate fine-tuned networks,and finally implements the shoe image retrieval using the learned characteristics.Experimental results show that our method can produce good shoe image retrieval results.