孟庆芳
摘要:随着大数据技术的发展,搜索引擎的关注度越来越高,搜索引擎技术也逐渐发展成为大数据应用最前线的领域,也是最容易产生价值的大数据应用。图片搜索是目前搜索引擎中搜索流量仅次于网页搜索的多媒体搜索项目,为了快速精准的实现图片搜索功能,论文从基于内容的图片搜索及基于文本的图片搜索两个方面进行分析、研究,解决了较高效精准地以图搜图的图片搜索问题。
关键词:大数据;搜索引擎;图片搜索;算法;相似度
中图分类号:TP391
文献标识码:A
文章编号:1009- 3044(2019)34-0181-02
1 基于内容的图片搜索
一张图片包含了亮度变化小的区域是低频成分和亮度变化剧烈的高频成分。低频成分仅提供一个框.架,图片的详细细节信息部分主要是由通过高频成分来体现的。换句话说高频成分能够描述图片的详细信息。而一张尺寸比较大的内容显示丰富的图片有较高的频率,小图片都是低频的,原因在于缺少图像细节部分。基于内容的图片搜索主要思想是基于图片本身拥有的信息进行搜索,在给定查询图片的情况下,进行图片搜索,是“以图搜图”的应用搜索。通过图片搜索获得相似图片,主要采用感知哈希算法实现,该算法的核心思想是通过对每张图片构建唯一指纹,图片中指纹越相近则说明图片间的相似度越高。
感知哈希算法是哈希算法的一类,简称.PHA,主要可以完成相似图片的搜索任务。该算法可以分为低.频的均值哈希感知算法和余弦哈希感知算法两种。在进行图片检索的时候一般采用汉明距离来进行判断两幅图像的相似程度,如果计算得到的汉明距离的数值小于5就表明两幅图像是相似的。
1.1 低频的均值哈希感知算法
基于低频的均值哈希算法:均值哈希算法面对的主要操作对象是图片中的低频信息,其工作过程如下:
①尺寸缩放。将所有图片数据进行尺寸缩放,能够最快速的去除高频和细节,使图片缩放到64个像素大小,即8x8的尺寸。尺寸缩放的目的在于避免图片中一些细节及图片大小对图片搜索的干扰,只保留结构的明暗。
②色彩简化。将被缩放后的图片数据简化其色彩,所有像素点总共只有64级灰度,从而使得整个图片中仅包含64种颜色。
③计算灰度平均值。对每幅图片中的64个像素进行灰度平均值计算。
④灰度比较。把64个像素中每个像素的灰度与平均灰度.值依次比较,大于等于平均灰度值的像素设定为1,小于平均灰度值的像素设定为0。
⑤计算哈希指纹。在灰度进行比较结束以后,得到一个由0或1组成的64位的整数。这就是这张图片的指纹。其中的整数被视为当前图片的指纹。
通过上述过程获得指纹之后,只需将用户提交的图片按照同样的方式获得哈希指纹之后,就可以对比不同的图片,进行汉明距离计算,看看64位中有多少位是不一样的。从而获得图片与图片之间的相似度。通常情况下,如果汉明距离小于等于5则说明两张图片很相似,图谱具有一定的相似度,若汉明距离大于10,则表明两张图片之间存在较大的差异。
采用感知哈希算法的过程比较简单,而且最大的优点是计算速比较度快。而且图片颜色的改变,对比度及亮度的增加或者减少,对哈希值的影响并不太大。比较两张图片的相似性过程实质上就是首先计算两张图片的哈希指纹,哈希指纹是由1或0构成的64位的数.值,然后再计算汉明距离。根据计算出来的汉明距离的结果来判断两幅图像的相似情况。但是对于一些模糊的图谱,或者图片中存在一些更改情况,则不能很好地识别出相似图谱。在工程应用中,借鉴感知哈希算法,利用图片的颜色分布情况及内容特征进行图片搜索。
1.2 余弦哈希感知算法
与低频的均值哈希感知算法相比较更健壮的算法叫余弦哈希感知算法,离散余弦变换简称DCT,是一种图像压缩算法,使用离散余弦变换来获取图片中的低频成分。它将图像从像素域变换到频率域。由于图像中基本都存在很多冗余和相关性,所以图像从像素域变换到频率域之后,大部分系数都接近于0,只有很少的一部分频率分量的系数不为0。
余弦哈希感知算法的工作过程如下:
(1)尺寸缩放:余弦哈希感知算法以小图片开始,如果图片大于8*8,32*32是比较理想的。这样做的目的是能够简化DCT的计算。
(2)色彩简化:将被缩放后的图片数据简化其色彩,所有像素点总共只有64级灰度,从而使得整个图片中仅包含64种颜色,进一步简化计算量。
(3)计算DCT:计算图片的DCT变换,得到32*32的离散余弦变换系数矩阵。
(4)缩小DCT的范围:从上述步骤中得到的32*32的离散余弦变换系数矩阵中,只需要将左上角的包含了图像中的较低频.率的8*8的矩阵部分保留下来。
(5)计算平均值:如同均值哈希一样,计算DCT的均值。
(6)计算hash值:根据8*8的离散余弦变换矩阵,设置0或1的64位的hash值,遍历像素矩阵,当矩阵的灰度值大于离散余弦变换均值的时候哈希值为1,小于DCT均值的设为0。
为了验证该算法的性能,進行了一些简单的测试,测试结果发现非等比例的图像缩放会使得基于均值哈希算法的图像检索出现错误,而余弦哈希感知算法对尺度的变化的鲁棒性强于均值哈希算法。
均值哈希算法:
string.HashV. (Mat SRC)
{Mat pic,dst;
string rst.. (64,,\0);
double dldex[64];
double mean= 0.0;
int p=0;
if( SRC.channels()= =3)
{cvtColor(SRC,SRC, CV_B GR2GRAY);
pic= Mat_< double>.(SRC);)
else
{ pic= Mat-< double>.(SRC);]
r esize. (pic, pic, Size(8,8));
dct. (pic,dst);
for (int m=0:m<8;++m)(
for (int n=0:n<8;++n)
{dldex [p]= dst at< double>(m, n);
mean+=dst at< double>(m,n)/64;
++p; })
for (int m =O;nK64;++m)
{ if (dldex[m]>=mean)
trstLrrD=,i,;)
Else
{rst[m]=0;))
return rst;}
余弦哈希感知算法:
stringDCTVal (Mat SRC)
{ string rst( 64,'\O');
Mat pic;
if(SRC channels()==3)
cvtColor (SRC,pic,CV_BGR2GRAY);
else
pic=SRC.clone();
resize.( pic,pic,Size(8,8));
uchar *pData;
for(int m=O;m
{ pData= pic.ptr..(m);
for(int n=O;n
( pData[n]=pData[ny4;,}}
int average= ruean (pic).val[0l;
Mat mask= (pic>=(uchar.) average);
int tag=0;
for( int m=0; m<Ⅱiask rows; m++)
{pData= mask.ptr< uchar> (m);
for (int n=O;n
{
if(.pData[nl==0)
rst[tag++]='0' ;
else
rst[tag++]=1';})
return.rst;}
2 基于文本的圖片搜索
基于文本的图片搜索,是通过获得图片附近的文本.信息,这些文本信息和.网页搜索的文本信息一样,被建立倒排索引,然后通过对倒排索引的使用获得对应图片信息。基于文本的图片搜索的实质与网页搜索类似,它们都是对文件建立相关索引,网页搜索对应的是文档集合,图片搜索对应的是图片的集合。
而对于基于文本的图片搜索,文本信息主要来自三个方面。
①网页HTML中的标签,在HTML标签“img”中的词性“alt”包含的信息,是对该图谱的一种简短描述。
②图片周围的信息。图片一般嵌套在网页中某个区域性位置,但是这个区域性位置一般用于讲述该图谱的相关信息,图中下面一行文字是对该图片信息的一个描述,一般它们位于同一个HTML的“DIV”标签或者相邻“DIV”标签中。
③图片本身的文字信息。为了更加准确地分析图片所描述的信息,学术界一直试图对图片进行光学字符识别。
3 结论
综上所述,大数据搜索引擎中的图片搜索技术有了一定的发展,但有时搜索到的图片与原图片的相似度还有一定的差距,随着互联网技术的飞速发展,图片搜索引擎的功能一定会越来越完善强大,为用户所提供的服务质量也会越来越高,让用户越来越满意。
参考文献:
[1]唐俊易.百度官方发布图片搜索收录的基础要求[J].计算机与网络,2014(7).
[2]王铮,针对百度算法不断升级网站优化应采取的四点对策[J].计算机与网络,2014(8)。
[3]徐静.图像搜索引擎的进步与应用现状分析[J].电子商务,2011(5).
[4]谢同.基于文本的Web图片搜索引擎的研究与实现[D].电子科技大学,2016.
[5]郭升挺,黄唏,柯俊敏,等.基于深度学习与拓展查询的商标图像检索方法[J].网络新媒体技术,2018(5).
[6]任夏荔,陈光喜,曹建收,等.基于深度学习特征的图像检索方法[J].计算机工程与设计,2018(6).
[7]孙奇平.基于深度学习的图像检索研究[J].景德镇学院学报,2018(4).
[8]周力恒,金阳,康轶泽,等.图像搜索在移动电商领域中的应用与实现[J].科技创新导报,2016(6).
[9]张军阳,王慧丽,郭阳,等.深度学习相关研究综述[J].计算机应用研究,2018(4).
【通联编辑:唐一东】