传统图像检索方法和深度学习图像检索方法_第1页
传统图像检索方法和深度学习图像检索方法_第2页
传统图像检索方法和深度学习图像检索方法_第3页
传统图像检索方法和深度学习图像检索方法_第4页
传统图像检索方法和深度学习图像检索方法_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、传统图像检索方法和深度学习图像检索方法最近计算机视觉大作业让比较一下图像检索的各种方法,于是进行了学习:LSHLSH(Locality-SensitiveHashing)较为官方的理解为:将原始数据空间中的两个相邻数据点通过相同的映射后,这两个数据点在新的数据空间中仍然相邻的概率很大,而不相邻的数据点被映射到同一个桶的概率很小。也就是说,如果我们对原始数据进行一些hash映射后,我们希望原先相邻的两个数据能够被hash到相同的桶内,具有相同的桶号。因此,LSH算法使用的关键是针对某一种相似度计算方法,找到个具有以上描述特性的hash函数,使得经过它们的哈希映射变换后,原始空间中相邻的数据落入相

2、同的桶内,那么我们在该数据集合中进行近邻查找就变得容易,只需要将查询数据进行哈希映射得到其桶号,然后取出该桶号对应桶内的所有数据,再进行线性匹配即可查找到与查询数据相邻的数据。在介绍各种传统的图像检测方法前,先介绍两个概念图像指纹和汉明距离。图像指纹和人的指纹一样,是身份的象征,而图像指纹简单点来讲,就是将图像按照一定的哈希算法,经过运算后得出的一组二进制数字。在给定的输入的图像中,我们可以使用一个散列函数,并基于图像视觉上的外观计算它的“图像散列”值,相似的头像,它的散列值应该也是相似的。构建图像指纹的算法被称为感知哈希算法(PerceptualHashAlgorithm)。通过上述对图像指

3、纹的描述我们知道了可以利用感知哈希算法将图片转换成某种字符串,而比较字符串有一种名为汉明距离的表示方法。在信息论中,两个等长字符串之间的汉明距离(英语:Hammingdistanee)是两个字符串对应位置的不同字符的个数。换句话说,它就是将一个字符串变换成另外一个字符串所需要替换的字符个数。得到指纹以后,就可以对比不同的图片,看看64位中有多少位是不一样的。在理论上,这等同于计算汉明距离(Hammingdistance)。如果不相同的数据位不超过5,就说明两张图片很相似;如果大于10,就说明这是两张不同的图片。这种算法的优点是简单快速,不受图片大小缩放的影响,缺点是图片的内容不能变更。如果在图

4、片上加几个文字,它就认不出来了。所以,它的最佳用途是根据缩略图,找出原图。实际应用中,往往采用更强大的感知哈希算法,它能够识别图片的变形。只要变形程度不超过25%,它们就能匹配原图。这些算法虽然更复杂,但是原理与上面的简便算法是一样的,就是先将图片转化成Hash字符串,然后再进行比较。常用的感知哈希算法有三个,分别是平均哈希算法、感知哈希算法、差异值哈希算法。下面我们一一进行介绍。三种不同的hash算法:()、平均哈希算法(aHash)此算法是基于比较灰度图每个像素与平均值来实现的,最适用于缩略图搜索。步骤:缩放图片:为了保留结构去掉细节,去除大小、横纵比的差异,把图片统一缩放到8*8,共64

5、个像素。转化为灰度图:把缩放后的图片转化为256阶的灰度图计算平均值:计算进行灰度处理后图片的所有像素点的平均值比较像素灰度值:遍历64个像素,如果大于平均值记录为1,否则为0.5得到信息指纹:组合64个bit位,顺序随意保持一致性即可。6对比指纹:计算两幅图片的汉明距离,汉明距离越大则说明图片越不一致,反之,汉明距离越小则说明图片越相似,当距离为0时,说明完全相同。(通常认为距离10就是两张完全不同的图片)defaHash(ing:j尊如嗨算法img=cv2.resize(imgr(8P8)尊醫攪茅灰度四gray=cv2.cvtCclor(img,cv2kC0_0R_BGR2GR.v)s=G

6、hashstr=foriinrange(B):farjinrange(B):s=s+grayifjavg=s/64尊衣乞尢于平尊隹为】袒应颠?生成图片削)阳h值foriinrangelS):|forjinrange(8):ifgrayi.javg:(二)、感知哈希算法(pHash戶二宀*一else:平均哈希算法过于严格,不够精确,更适合搜索缩略图,为了获得更精确的结果可以选择感知哈希算法,它采用的是DCT(离散余弦变换)来败亠、+hashstr=hasnir+0降低频率的方法。步骤:1缩小图片:32*32是一个较好的大小,这样方便DCT计算2转化为灰度图:把缩放后的图片转化为256阶的灰度图3

7、计算DCT:DCT把图片分离成分率的集合4缩小DCT:DCT是3232,保留左上角的8这些代表的图片的最低频率5计算平均值:计算缩小DCT后的所有像素点的平均值6进一步减小DCT:大于平均值记录为1,反之记录为07得到信息指纹:同平均哈希算法8对比指纹:同平均哈希算法defpHash:#惑*轡疔莽誌Img=cv2resizeimg.(32.32)#.interpolatlon=cv2.INTERJ1UBIC#議坯育决段适gray=cv2.cvtColor(ling,cv2.COLORBGR2GRAY)#霸灰度囹肘角浮点型再遅舟P疋期det=cv2.dct(np.float32(gray)op亡

8、ntv垂理箱掩码总作dcrrci=dctreiSj6:8hash=acreage=np.meanjdetroi)foriinrange(dct_roi.shapefl):forJinrange(dctrol.hapeliifdetrojLfjavreage:hash.append(1)else:hash.append(B)(三)、差异哈希算法(dHash)相比pHash,dHash的速度要快的多,相比aHash,dHash在效率几乎相同的情况下的效果要更好,它是基于渐变实现的。步骤:1缩小图片:收缩到9*8的大小,共72个像素点2转化为灰度图:把缩放后的图片转化为256阶的灰度图3计算差异值:

9、dHash算法工作在相邻像素之间,这样每行9个像素之间产生了8个不同的差异,一共8行,则产生了64个差异值4获得指纹:如果左边像素的灰度值比右边高,则记录为1,否则为05对比指纹:同平均哈希算法defdHash(ing):img=cv2.resize(mg耳即)gpy=cv24cvtColoriirg,cv2.CQL0RBGR2GRAhash_str=曇善打前一乍谏素大于后一令隼密启1、楣反划I生成珞foriinrange(8)forjinrange(8):ifgrayiijgrayi,j+1:hashstr=hashstr+lelsehashstr二hashstr+O三种方法的检索结果100

10、10020320D1002003004D01002003004D0mainInsecureRequestbarning,:2519嘉#冷帝尊浚訓优度pHash:14匸三直才包尊洽翎极度:I乩兀12348772基于深度学习的图像检索_使用VGG16来提取图片特征,保存到h5文件中,在测试阶段再提取我们要检索的图片的特征,然后与h5中的特征采用余弦相似度进行特征向量的距离计算,得到3张与检测图片最相近的结果,并显示出来。O.filG.7SQ.Tfl0闢0.458305540.45200890.4473666.447740670.44621463S.439983580.4361142E.435459

11、820.432GS116.432647370-42G226940.420154450.41821360.401044260.401022009.496630120.4063244fl.355151730.35455120.337549520.383262250.330S43530.360212450.33322056imagenanes:b143G369.jpgscores:0.919482imagenanes:b143G368.jpgscores:0.870421imagenanes:b43B352Jpqscores:0.329692toe3iTaqesiriordeareb430369Jp

12、(jb1430368.jp(b43C352Jr-a112UOO-ZaS1:Id80PNG(24-bitcolor)53.73kBSdView:DtaPlotsQurylinage350C1I!05M130015&D-20035OU第一张为我们要检索的图片,后面三张为检索结果。test.py:initVGGtl6mode!model二VGGWet()extract7jeryco.rputesjmlarjtyscoreant/兀rtqueryVec=model.vgg_extract_leat(query)#?-:i此赴:i变臭瑕#征話同.:咨pr2fit(Pq(jei7/ec.s,ceJprint(fests.shapeJp-intfprjfitfquery/ec)print(feats.Tfp-intl)scores二np.dct(queryVec,feats.T)scores=/jp.dDtfqueryVeCjfeats.T)/(np.linalg.norn(queryVec)*i).Jiflalg.fiorm(feats.T)ranID=np.argsort(scares):-1特提取:e二5coneiranID1model二VGGNetOforitimg_pathi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论