◆程钟琪 石江豪 毛懿俊
基于深度学习的图像检索技术的实现
◆程钟琪 石江豪 毛懿俊
(华东理工大学信息科学与工程学院 上海 200237)
本文在传统检索技术的基础上,研究基于深度学习CNN网络模型的图像检索算法,实现了基于MNIST手写字库的图像检索,并且具有较高的检索精度。实验结果表明,基于深度学习的图像特征提取算法对于图像检索应用具有较好的适应性和可扩展性。
图像检索;深度学习;MNIST手写字库
图像检索是信息时代一个十分重要的研究方向,随着图像数据的迅猛增长,传统的图像检索方式并不能够有效地处理大规模的图像数据,因此基于深度学习的卷积神经网络模型成为当前在图像检索领域更重要的工具。Krizhevsky提出的AlexNet新型卷积神经网络结构在ImageNet 图像分类中竞赛取得了最好的成绩。此后,研究者又进一步提出了Goole Net和 VGG等,通过加深网络层数,修改损失函数、激活函数,正则项等对现有网络进行改进并取得了很大成果。利用基于深度学习的方法在图像分类、目标检测等方面都展现了相当的优越性。为进一步探究卷积神经网络模型在图像检索领域的应用,本文以CNN网络为基础模型,提出适用于MNIST手写字库的图像检索算法,并且实现了较高的检索精度。实验结果表明,在较为大量的图像数据检索领域,深度学习卷积神经网络模型具有相当的实用性。
神经网络是通过计算机模拟动物的中枢神经网络结构来进行数据的处理,使得计算机能够像人脑一样识别和处理输入的数据,并且能够具有一定的学习能力。
神经元由若干个二进制输入和一个二进制输出,是神经网络的基础运算单元。
图1 神经元结构
神经元运算需要激活函数,本文采用的激活函数为sigmoid函数。其公式如下:
神经网络即将多个神经元进行连接,下一个神经元的输入即为上一个神经元的输出,由此构成多级别的运算,运算式如下。
神经网络的训练即通过参数与激活函数来提取图像的特征,由此可以根据图像的特征向量对图片进行分类与检索,对于参数的调整可以有效修正网络的权重,使得代价函数最小化。
同时本神经网络的softmax监督算法代价函数如下:
使用网络模型使用交叉熵的形式算出的预期值与实际值之间的距离,为式(1-6)
使用最小化交叉熵的形式更新每个结点的权重和偏置,然后将整体代价函数对W和b求偏导,通过这样的方式训练出更好的卷积核,从而训练出误差率更小的神经网络模型。
卷积神经网络(CNN)模拟动物视觉皮层的神经功能,对于图像处理有着更好的支持。相比于普通的神经网络,有着如下特性:
局部链接:卷积神经网络在每一层之间并不将所有的神经元都进行链接,每一个神经元都只连接一部分下层神经元构成局部连接,可以有效降低训练参数,提升训练效率。
池化采样:通过卷积提取特征将产生大量运算与数据,可以将卷积结果划分并采取划分中的特殊值作为采样。
Softmax回归:为了使神经元的输出变为概率形式,可以使用公式:
MNIST手写字识别库包含了一系列的二进制手写字图像,训练集与测试集中各有60000与10000张28×28的归一化图片,是十分适宜的图像检索数据库。
由文献[1]可知,LeNet-5对于手写字的识别十分高效,因此本文选择其为实验测试的网络模型。
神经网络模型的具体建立如下:
(1)确立参数,learningrate=0.1,batchsize=100,epoch=20,以此为基准进行模型的训练与测试。
(2)利用M-P神经元模型模拟每个像素点的输入
(3)使用激活函数激活神经元输出的值,本方法内使用sigmoid函数。
(4)设立卷积层得到更深层次的特征图。
(5)设立池化层使用Max-Pooling方法进行特征图的压缩。
(6)利用softmax方法事先进行比对图像类别的分类。
图2 CNN结构示意图
将实验图片作为输入后,在前向传播的过程中通过有6个卷积核的C1经过提取得到六个28×28的图片。之后经过一个2×2的下采样层S2得到6个14×14的降维后的特征图像。再通过有16个卷积的卷积层C3得到16个10×10的特征图像,同时通过下采样层S4可以得到16个特征图像。经过一层全连接层后,将得到120个1×1的图像,可以将其视为一个120维的特征向量,经过一个卷积层与全连接层之后将得到的特征向量通过与输出层的全连接输出至分类器分类从而完成整个检索过程。
本文主要实现了两种图像检索结果,手写字图像的分类,即手写数字图像的数字识别与图像相似度检索排序。二者均利用卷积神经网络实现。
在网络经过训练后,随机选取测试集中的图片输入网络,在经过两次池化与采样的不断重复后,输出至全连接层的即是一个一维的向量,再经过一个卷积层与全连接层之后,得到的一维向量就是图片的特征向量。网络的最后一层作为分类器将输入的特征向量按训练结果分类,即获得了手写字数字识别的结果。
图像相似度顺序排列也是基于神经网络求解出的特征向量,即通过计算输入图片的特征向量与所选中图片的特征向量的汉明距离并进行排序从而获得图像相似度的排序。
实验最终实现了手写字数字的识别与依据图片相似度进行匹配,示意图如图3:
图3 实验实现示意图
输入数据为MNIST手写字库,通过选取库中已有的60000张手写字训练图片从而获取训练完成的网络。当我们输入一张测试图片时,可以通过对于图片特征向量的提取对其进行分类,同时我们在测试部分增添了通过与特征向量对比获取图像相似度,从而对与输入图片相似度较高的图片进行一个相似度由高到低的排序。
图像分类的结果如图4所示,相似度排序的结果如图5所示。
图4 图像识别的准确率图示
图5 相似度排序结果(左图为排序前)
本文提出了一种基于卷积神经网络的图像识别分类算法与图像相似度排序算法,利用sigmoid激活函数与卷积采样相结合的神经网络模型实现了高准确率的图像识别分类结果与基于图像特征向量的相似度排序功能。实验结果表明,卷积神经网络在图像检索领域具有较高的实用性。但对于网络输入的图片大小有所限制,图片检索精度仍有提高空间,网络训练时间较长等问题,在未来的工作中,也可以考虑进一步优化网络模型与图像特征提取算法,从而提高检索的精确程度。
[1]Y.Lecun,L.Bottou,Y.Bingo,P.Hanffer. Gradient-based learning applied to document recognition[J]. Proceedings of the IEEE.1998.
[2]Hearst M A,Dumais S T,Osman E, et a1.Support vector machines [J]. Intelligent Systems and their Applications, IEEE,1999,13(4):18-28.
[3]孙志军,薛磊,许阳明,等.深度学习研究综述[J].计算机应用研究.2012,29(8):2806-2810.
[4]郑莹雪.基于深度学习的图像检索[D].吉林大学,2016.
[5]曹卫娜.基于深度学习的图像检索研究[D].电子科技大学,2016.