一种基于哈希编码的印花织物图像检索方法技术

技术编号:19745329 阅读:28 留言:0更新日期:2018-12-12 04:45
本发明专利技术公开了一种基于哈希编码的印花织物图像检索方法,具体为:首先,ImageNet数据集上进行有监督训练,得到AlexNet网络,并进行修改;对印花织物数据库进行预处理,之后对修改后的AlexNet网络进行fine‑tuning,之后提取每张图像的哈希二值编码,计算查询图像与数据库图像二值哈希编码之间的汉明距离,得到与查询图像最相似的m个池内图像;最后,计算池内m个图像与查询图像fc7层特征向量之间的欧式距离,提取出与最小欧式距离相对应的几幅图像,即为要检索的相似度最高的top k图像。该方法具有精度高、检索速度快、占用内存小的优点。

【技术实现步骤摘要】
一种基于哈希编码的印花织物图像检索方法
本专利技术属于计算机与机器视觉
,具体涉及一种基于哈希编码的印花织物图像检索方法。
技术介绍
印花织物作为纺织企业生产的基本资源,其在纺织业的发展中占据着重要地位。而对印花织物图像的检索在该领域也具有广泛的应用,如库存管理、在线选购、花型设计等。如何对图像数据进行高效快速的检索以满足用户需求是一个亟待解决的问题。传统的检索方式基本都是基于图像底层视觉特征(如颜色、形状、纹理等)来衡量两幅图像之间的相似性,但这些视觉特征编码固定,缺少学习能力,无法很好地描述图像的高层语义信息,导致检索结果不能很好地满足用户需求。随着深度学习在计算机视觉领域取得的重大突破,基于深度学习的图像检索成为诸多学者研究的热点,也取得了一定的成果。比较经典的就是利用AlexNet网络模型提取图像的fc7全连接层输出特征进行检索,可以获得不错的精度。但卷积神经网络全连接层输出数据为4096维,对于大规模的图像数据检索而言计算量较大,内存占用及时间开销也是用户不愿接受的。近年来,二进制哈希由于其存储空间小和匹配速度快的优势而引起了广泛关注,计算两个低维哈希编码之间的汉明距离能够极大的减少计算成本和时间开销。
技术实现思路
本专利技术的目的在于提供一种基于哈希编码的印花织物图像检索方法,解决了现有检索方法中存在的图像检索准确率低、耗费时间长的问题。本专利技术所采用的技术方案是,一种基于哈希编码的印花织物图像检索方法,具体按照以下步骤实施:步骤1,在ImageNet数据集上进行有监督训练,得到预训练模型,即AlexNet网络;步骤2,建立印花织物数据库,并批量进行预处理;步骤3,对经步骤1后得到的AlexNet网络进行修改;步骤4,利用步骤2中建立的印花织物数据库对经步骤3后得到的AlexNet网络进行fine-tuning;步骤5,利用步骤4中fine-tuning得到的网络模型提取每张图像的哈希二值编码,计算查询图像与数据库图像二值哈希编码之间的汉明距离,得到与查询图像最相似的m个池内图像;步骤6,计算池内m个图像与查询图像fc7层特征向量之间的欧式距离,将图像数据库中的图像按欧式距离由小到大排列,提取出与最小欧式距离相对应的几幅图像,即为要检索的相似度最高的topk图像。本专利技术的特点还在于,步骤1中,AlexNet网络,包括五个卷积层和三个全连接层,第一卷积层Conv1、第二卷积层Conv2、第三卷积层Conv3、第四卷积层Conv4和第五卷积层Conv5,第六全连接层fc6、第七全连接层fc7和第八全连接层fc8,并且第一卷积层至第五卷积层直接依次级联,第六全连接层至第八全连接层直接依次级联,第六全连接层直接连接到第五卷积层上;第一卷积层至第五卷积层为特征提取层,第六全连接层至第八全连接层为特征融合层和分类层。步骤2中,建立印花织物数据库,并批量进行预处理;具体按照以下步骤实施:步骤2.1,准备用于检索的印花织物图像库,对库中所有图像进行手动分类;步骤2.2,将经步骤2.1得到的所有印花织物图像分为训练集train和测试集test两个部分,训练集和测试集均包括图像的每一个类,然后根据图像所属类别对训练集和测试集的图像加上对应的标签生成train.txt和test.txt标签文件,其中train.txt和test.txt文件为包含训练集train和测试集test中所有图像名的txt格式文件,其文件内容为“XX/X,X”格式,其中XX/X表示图像名称及格式,最后一个X为图像对应的标签,从0开始;步骤2.3,经步骤2.2后,将所有图像统一缩放至256*256像素,并将所有图像转换为leveldb格式;步骤2.4,经步骤2.3后,计算训练集图像的均值,生成对应的均值文件,用于后续网络模型训练及特征提取;均值文件可利用caffe自带的文件compute_image_mean.exe得出;其中,均值计算公式,如式(1)所示:式(1)中,xi为输入第i幅图像的像素值,m为训练样本数。步骤3具体为:在AlexNet网络的最后一个全连接层fc8和倒数第二个全连接层fc7之间加入哈希层,激活函数选用Sigmoid,并将原始的第一和第二卷基层后的LRN局部响应归一化改为BatchNorm批量归一化;BatchNorm归一化的计算公式,如式(2)所示:步骤4中,利用步骤2中建立的印花织物数据库对经步骤3后得到的AlexNet网络进行fine-tuning,具体按照以下步骤实施:步骤4.1,将修改后的AlexNet网络模型输入数据Source及均值路径mean_file改为步骤2中得到的文件路径;第一卷积层、第二卷积层进行卷积操作后依次进行归一化、ReLU激活及池化操作,第三卷积层和第四卷积层进行卷积操作后进行ReLU激活操作,第五卷积层进行卷积操作后进行ReLU激活及池化操作,最后一层全连接层进行卷积操作后依次进行了Accuracy和Softmax-loss操作;其中,ReLU激活采用的激活函数为f(x)=max(x,0);池化方法采用max最大池化法,计算方法,如式(3)及式(4)所示:w1=(w0+2*pad-kernel_size)/stride+1(3);h1=(h0+2*pad-kernel_size)/stride+1(4);式(3)及式(4)中,pad为边缘扩充默认为0,kernel_size为池化的核大小,设置为3,步长stride为2;w0、h0为输入的特征图宽度和高度,w1、h1则是池化后的宽度和高度;步骤4.2,修改solver.prototxt中的训练参数,设置合适的基础学习率,并选用NAG代替SGD进行权值更新;步骤4.3,随机提取图像227*227的子块或镜像输入到经步骤4.1后得到修改后的AlexNet网络中,复用AlexNet模型的前7层权重做fine-tuning,得到第7层、第8层和output层之间的权重。步骤5具体为:对步骤2中建立的数据库中的图像进行去均值预处理,利用步骤4中fine-tuning得到的AlexNet网络模型提取每张图像的哈希二值编码,存储于数据库中,对于查询图像,先去均值,之后以同样的方法提取二值哈希编码,计算查询图像与数据库图像二值哈希编码之间的汉明距离,进行粗检索,得到与查询图像最相似的m个池内图像;其中,汉明距离的计算公式,如式(5)所示:式(5)中,x,y为n位的哈希编码,为异或。步骤6具体为:依次对步骤5中得到的m个池内图像与查询图像提取对应的fc7层输出特征向量,计算池内m个图像与查询图像fc7层特征向量之间的欧式距离,将图像数据库中的图像按欧式距离由小到大排列,提取出与最小欧式距离相对应的几幅图像,即为要检索的相似度最高的topk图像;其中,欧式距离计算公式,如式(6)所示:Si=||Vq-ViP||(6);式(6)中,Vq为查询图像Iq的特征向量,ViP为第i个池内图像的特征向量。本专利技术的有益效果是,通过对卷积神经网络进行修改,可同时学习输入图像的fc7层特征以及对应的哈希编码,利用由粗到精的检索方式对查询图像进行topk结果查询,解决了直接利用4096维特征向量进行遍历查询内存占用大及耗时的问题。附图说明图1是本专利技术一种基于哈希编码的本文档来自技高网...

【技术保护点】
1.一种基于哈希编码的印花织物图像检索方法,其特征在于,具体按照以下步骤实施:步骤1,在ImageNet数据集上进行有监督训练,得到预训练模型,即AlexNet网络;步骤2,建立印花织物数据库,并批量进行预处理;步骤3,对经步骤1后得到的AlexNet网络进行修改;步骤4,利用步骤2中建立的印花织物数据库对经步骤3后得到的AlexNet网络进行fine‑tuning;步骤5,利用步骤4中fine‑tuning得到的网络模型提取每张图像的哈希二值编码,计算查询图像与数据库图像二值哈希编码之间的汉明距离,得到与查询图像最相似的m个池内图像;步骤6,计算池内m个图像与查询图像fc7层特征向量之间的欧式距离,将图像数据库中的图像按欧式距离由小到大排列,提取出与最小欧式距离相对应的几幅图像,即为要检索的相似度最高的top k图像。

【技术特征摘要】
1.一种基于哈希编码的印花织物图像检索方法,其特征在于,具体按照以下步骤实施:步骤1,在ImageNet数据集上进行有监督训练,得到预训练模型,即AlexNet网络;步骤2,建立印花织物数据库,并批量进行预处理;步骤3,对经步骤1后得到的AlexNet网络进行修改;步骤4,利用步骤2中建立的印花织物数据库对经步骤3后得到的AlexNet网络进行fine-tuning;步骤5,利用步骤4中fine-tuning得到的网络模型提取每张图像的哈希二值编码,计算查询图像与数据库图像二值哈希编码之间的汉明距离,得到与查询图像最相似的m个池内图像;步骤6,计算池内m个图像与查询图像fc7层特征向量之间的欧式距离,将图像数据库中的图像按欧式距离由小到大排列,提取出与最小欧式距离相对应的几幅图像,即为要检索的相似度最高的topk图像。2.根据权利要求1所述的一种基于哈希编码的印花织物图像检索方法,其特征在于,所述步骤1中,AlexNet网络,包括五个卷积层和三个全连接层,第一卷积层Conv1、第二卷积层Conv2、第三卷积层Conv3、第四卷积层Conv4和第五卷积层Conv5,第六全连接层fc6、第七全连接层fc7和第八全连接层fc8,并且第一卷积层至第五卷积层直接依次级联,第六全连接层至第八全连接层直接依次级联,第六全连接层直接连接到第五卷积层上;第一卷积层至第五卷积层为特征提取层,第六全连接层至第八全连接层为特征融合层和分类层。3.根据权利要求1所述的一种基于哈希编码的印花织物图像检索方法,其特征在于,所述步骤2中,建立印花织物数据库,并批量进行预处理;具体按照以下步骤实施:步骤2.1,准备用于检索的印花织物图像库,对库中所有图像进行手动分类;步骤2.2,将经步骤2.1得到的所有的印花织物图像分为训练集train和测试集test两个部分,训练集和测试集均包括图像的每一个类,然后根据图像所属类别对训练集和测试集的图像加上对应的标签生成train.txt和test.txt标签文件,其中train.txt和test.txt文件为包含训练集train和测试集test中所有图像名的txt格式文件,其文件内容为“XX/X,X”格式,其中XX/X表示图像名称及格式,最后一个X为图像对应的标签,从0开始;步骤2.3,经步骤2.2后,将所有图像统一缩放至256*256像素,并将所有图像转换为leveldb格式;步骤2.4,经步骤2.3后,计算训练集图像的均值,生成对应的均值文件,用于后续网络模型训练及特征提取;均值文件可利用caffe自带的文件compute_image_mean.exe得出;其中,均值计算公式,如式(1)所示:式(1)中,xi为输入第i幅图像的像素值,m为训练样本数。4.根据权利要求1所述的一种基于哈希编码的印花织物图像检索方法,其特征在于,所述步骤3具体为:在AlexNet网络的最后一个全连接层fc8和倒数第二个全连接层fc7之间加入哈希层,激活函数选用Sigmoid,并将原始...

【专利技术属性】
技术研发人员:景军锋王妙李鹏飞苏泽斌张缓缓张蕾张宏伟
申请(专利权)人:西安工程大学
类型:发明
国别省市:陕西,61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1