张宏毅
(四川大学计算机学院,成都 610065)
基于深度卷积网络的同款商品图像检索研究
张宏毅
(四川大学计算机学院,成都610065)
图像检索;深度卷积神经网络;深度学习
近年来,深度神经网络技术飞速发展,在图像、语音、自然语言处理等多个人工智能领域纷纷取得领先。深度卷积神经网络作为深度神经网络的一种,其具有独特的类似于人眼局部感受野的卷积核,以及类似于生物神经的层次级联结构。由于权值共享的特性,网络的参数大大减少,同时降低了对训练数据过拟合的风险,具有了比其他种类的深度网络更加易于训练的好处。自上世纪60年代Hubel及Wiesel等人提出卷积神经网络以来,其在图像视觉等领域得到了普遍的研究。近期各种改进的深度卷积神经网络AlexNet[1],VggNet[2],GoogleNet[3]等不断的刷新着LSVRC(大规模图像识别大赛)的纪录,甚至已经超过人类的识别精度。与此同时随着电商的发展,人们对于生活看到的商品,想要拍照在网上进行搜索以找出同款的需求也在日益增加,高精度的大规模同款商品图像检索是此类应用的基础。
1.1卷积神经网络的基本原理与构成
通常的卷积神经网络的基本组成部分包括:卷积层、池化层、全连接层、损失层等。
卷积层用于识别图像的特定局部模式,在每层卷积之后有激活函数,通常的选择包括:tanh,sigmoid,relu等。其中tanh,sigmoid均为饱和激活函数,值域处于特定范围。relu为值域在[0,∞)的非饱和激活函数,导数只为0或1,在误差反向传播进时较少出现梯度消失,在图像领域使用较多。
池化层用于对多个输入产生一个输出:通常的选择包括:最大池化,即选择所有输入的最大值;平均池化,即计算所有输入的平均值。最大池化可以产生较稳定的输出值。
损失层用于控制整个网络训练方向:一般的损失函数包括:平方误差、交叉熵、信息增益等。
有时为了防止全连接层的过拟合以及各个神经元的协同适应,会使用dropout[4]及maxout[5]方法,其基本思想均为使用随机来防止神经元相互依赖,同时也是模型平均思想的体现。
一个典型的卷积神经网络训练流程包括:首先对图像使用现有的卷积核进行卷积,卷积结果经过激活函数和池化降维之后,再次作为下一层的输入,经过多个层次后整个网络的前馈结束,然后比较计算结果值与训练目标值的误差,为了计算网络参数影响误差的梯度,还需要将误差反向传回输入层,称作误差反传。反传结束后依据梯度方向对网络参数进行调节。依据1次梯度调节所使用的输入数据量又可以分为随机梯度下降,批梯度下降,小批梯度下降。小批梯度下降较好地平衡了随机性和稳定性,在实践中使用较多。
1.2图像检索框架
一般来说传统的BoF检索框架流程为:首先对图像提取特征点,然后对所有图片提取后的特征用聚类法进行聚类形成特征词典,接着将每张图的特征点映射到特征词上,再对特征词和图片建立倒排索引以加速检索。最后使用查询图片的特征词进行倒排召回,对召回的图片按命中特征词数量及特征距离等指标算分排序。
本文使用卷积神经网络的检索流程为:首先使用训练好的卷积神经网络对图像提取特征,然后对查询图像也同样提取特征,最后通过训练的特征距离比较网络来计算得分以形成排序。
本文使用了淘宝200W商品图像作为训练数据集,图像具有一级以及二级类目标签,同时具有形状、颜色、包装、图案等一系列属性,商品的属性并不完全,大部分图像没有或只有很少属性。同时另有300W无类标及属性的商品图像用于检索以及1500条的同款商品图像列表作为真值。为了便于对检索效果进行评定以及排序网络的训练,我们将1500条同款列表分为了1000条和500条两部分,其中1000条用于排序网络的训练,500条用于检索效果的评定。
2.1数据预处理
由于各个二级类目下的图像数量严重不均衡,本文首先对各类目训练图像进行了有放回重采样以均衡数量,被重复抽样到的数据随机进行翻转、旋转、亮度、模糊、色调等变换以增强训练数据。并统一缩放原始图像到256×256大小,神经网络抽取中部227×227的图像。
2.2属性预测器的训练
由于属性类标的普遍缺失,本文首先用带有属性类标的图片训练了多个属性预测器作为特征抽取器的一部分,为了控制总体网络的参数规模,我们使用了简化后的caffenet[6]将每个属性预测器的卷积核的数量缩减为了caffenet的8分之1,为了更好地收敛,使用xavier替换了原有的高斯作为初始权值填充器。图1 为属性预测器网络结构。
图1
2.3排序网络的训练
本文对每张图片使用训练完毕的属性预测器提取fc7特征并与使用原始caffenet提取的fc7特征串接。然后随机从同款列表中抽取2张同款商品图像作为正样本对,从同款列表及非同款图片列表中各抽一张图片作为负样本对,总共产生正负样本对各30000。最后混合打乱后送入排序网络进行训练。图2 为排序网络的结构:
图2
2.4实验结果
使用500条同款真值并利用MAP20标准来度量同款检索效果,基于卷积神经网络模型的结果比基于传统特征池袋模型的结果提高了57%,优势明显。
本文主要研究对比了使用卷积神经网络和传统BoF方法在大规模商品数据集下进行同款检索的效果,并设计和训练了一个可用于同款图像检索的卷积神经网络结构,如何更好地设计一个损失目标函数以及训练方法以用于图像检索还有待未来更深入的研究。
[1]Krizhevsky A,Sutskever I,Hinton G E.Imagenet Classification with Deep Convolutional Neural Networks[C].Advances in Neural Information Processing Systems,2012:1097-1105.
[2]Simonyan K,Zisserman A.Very Deep Convolutional Networks for Large-Scale Image Recognition[J].arXiv Preprint arXiv:1409.1556, 2014.
[3]Szegedy C,Liu W,Jia Y,et al.Going Deeper with Convolutions[J].arXiv Preprint arXiv:1409.4842,2014.
[4]Srivastava N,Hinton G,Krizhevsky A,et al.Dropout:A Simple Way to Prevent Neural Networks from Overfitting[J].The Journal of Machine Learning Research,2014,15(1):1929-1958.
[5]Goodfellow I J,Warde-Farley D,Mirza M,et al.Maxout Networks[J].arXiv Preprint arXiv:1302.4389,2013.
[6]Jia Y,Shelhamer E,Donahue J,et al.Caffe:Convolutional Architecture for Fast Feature Embedding[C].Proceedings of the ACM International Conference on Multimedia.ACM,2014:675-678.
Convolution Neural Network;Image Retrieval;Deep Learning
Research on Large Scale Same Style Commodity Image Retrieval Based on Deep Convolution Neural Network
ZHANG Hong-yi
(College of Computer Science,Sichuan University,Chengdu 610065)
张宏毅(1987-),男,重庆人,硕士研究生,研究方向多媒体计算、机器智能
2015-12-08
2016-01-25
使用深度卷积神经网络来进行大规模的同款商品图像检索研究,同时设计一种可利用多种类标信息来进行神经网络训练的网络结构,并与传统的BoF图像检索框架进行对比。相较于传统的方法,基于深度卷积神经网络的检索精度有较大幅度的提高。
Designs and trains a new structure of deep convolution neural network using multi-labeled image.Uses it to do same style commodity image retrieval.Compared with traditional bag of features method,it gets a much higher MAP score.