孟慶芳
摘要:隨著大數(shù)據(jù)技術(shù)的發(fā)展,搜索引擎的關(guān)注度越來(lái)越高,搜索引擎技術(shù)也逐漸發(fā)展成為大數(shù)據(jù)應(yīng)用最前線(xiàn)的領(lǐng)域,也是最容易產(chǎn)生價(jià)值的大數(shù)據(jù)應(yīng)用。圖片搜索是目前搜索引擎中搜索流量?jī)H次于網(wǎng)頁(yè)搜索的多媒體搜索項(xiàng)目,為了快速精準(zhǔn)的實(shí)現(xiàn)圖片搜索功能,論文從基于內(nèi)容的圖片搜索及基于文本的圖片搜索兩個(gè)方面進(jìn)行分析、研究,解決了較高效精準(zhǔn)地以圖搜圖的圖片搜索問(wèn)題。
關(guān)鍵詞:大數(shù)據(jù);搜索引擎;圖片搜索;算法;相似度
中圖分類(lèi)號(hào):TP391
文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009- 3044(2019)34-0181-02
1 基于內(nèi)容的圖片搜索
一張圖片包含了亮度變化小的區(qū)域是低頻成分和亮度變化劇烈的高頻成分。低頻成分僅提供一個(gè)框.架,圖片的詳細(xì)細(xì)節(jié)信息部分主要是由通過(guò)高頻成分來(lái)體現(xiàn)的。換句話(huà)說(shuō)高頻成分能夠描述圖片的詳細(xì)信息。而一張尺寸比較大的內(nèi)容顯示豐富的圖片有較高的頻率,小圖片都是低頻的,原因在于缺少圖像細(xì)節(jié)部分?;趦?nèi)容的圖片搜索主要思想是基于圖片本身?yè)碛械男畔⑦M(jìn)行搜索,在給定查詢(xún)圖片的情況下,進(jìn)行圖片搜索,是“以圖搜圖”的應(yīng)用搜索。通過(guò)圖片搜索獲得相似圖片,主要采用感知哈希算法實(shí)現(xiàn),該算法的核心思想是通過(guò)對(duì)每張圖片構(gòu)建唯一指紋,圖片中指紋越相近則說(shuō)明圖片間的相似度越高。
感知哈希算法是哈希算法的一類(lèi),簡(jiǎn)稱(chēng).PHA,主要可以完成相似圖片的搜索任務(wù)。該算法可以分為低.頻的均值哈希感知算法和余弦哈希感知算法兩種。在進(jìn)行圖片檢索的時(shí)候一般采用漢明距離來(lái)進(jìn)行判斷兩幅圖像的相似程度,如果計(jì)算得到的漢明距離的數(shù)值小于5就表明兩幅圖像是相似的。
1.1 低頻的均值哈希感知算法
基于低頻的均值哈希算法:均值哈希算法面對(duì)的主要操作對(duì)象是圖片中的低頻信息,其工作過(guò)程如下:
①尺寸縮放。將所有圖片數(shù)據(jù)進(jìn)行尺寸縮放,能夠最快速的去除高頻和細(xì)節(jié),使圖片縮放到64個(gè)像素大小,即8x8的尺寸。尺寸縮放的目的在于避免圖片中一些細(xì)節(jié)及圖片大小對(duì)圖片搜索的干擾,只保留結(jié)構(gòu)的明暗。
②色彩簡(jiǎn)化。將被縮放后的圖片數(shù)據(jù)簡(jiǎn)化其色彩,所有像素點(diǎn)總共只有64級(jí)灰度,從而使得整個(gè)圖片中僅包含64種顏色。
③計(jì)算灰度平均值。對(duì)每幅圖片中的64個(gè)像素進(jìn)行灰度平均值計(jì)算。
④灰度比較。把64個(gè)像素中每個(gè)像素的灰度與平均灰度.值依次比較,大于等于平均灰度值的像素設(shè)定為1,小于平均灰度值的像素設(shè)定為0。
⑤計(jì)算哈希指紋。在灰度進(jìn)行比較結(jié)束以后,得到一個(gè)由0或1組成的64位的整數(shù)。這就是這張圖片的指紋。其中的整數(shù)被視為當(dāng)前圖片的指紋。
通過(guò)上述過(guò)程獲得指紋之后,只需將用戶(hù)提交的圖片按照同樣的方式獲得哈希指紋之后,就可以對(duì)比不同的圖片,進(jìn)行漢明距離計(jì)算,看看64位中有多少位是不一樣的。從而獲得圖片與圖片之間的相似度。通常情況下,如果漢明距離小于等于5則說(shuō)明兩張圖片很相似,圖譜具有一定的相似度,若漢明距離大于10,則表明兩張圖片之間存在較大的差異。
采用感知哈希算法的過(guò)程比較簡(jiǎn)單,而且最大的優(yōu)點(diǎn)是計(jì)算速比較度快。而且圖片顏色的改變,對(duì)比度及亮度的增加或者減少,對(duì)哈希值的影響并不太大。比較兩張圖片的相似性過(guò)程實(shí)質(zhì)上就是首先計(jì)算兩張圖片的哈希指紋,哈希指紋是由1或0構(gòu)成的64位的數(shù).值,然后再計(jì)算漢明距離。根據(jù)計(jì)算出來(lái)的漢明距離的結(jié)果來(lái)判斷兩幅圖像的相似情況。但是對(duì)于一些模糊的圖譜,或者圖片中存在一些更改情況,則不能很好地識(shí)別出相似圖譜。在工程應(yīng)用中,借鑒感知哈希算法,利用圖片的顏色分布情況及內(nèi)容特征進(jìn)行圖片搜索。
1.2 余弦哈希感知算法
與低頻的均值哈希感知算法相比較更健壯的算法叫余弦哈希感知算法,離散余弦變換簡(jiǎn)稱(chēng)DCT,是一種圖像壓縮算法,使用離散余弦變換來(lái)獲取圖片中的低頻成分。它將圖像從像素域變換到頻率域。由于圖像中基本都存在很多冗余和相關(guān)性,所以圖像從像素域變換到頻率域之后,大部分系數(shù)都接近于0,只有很少的一部分頻率分量的系數(shù)不為0。
余弦哈希感知算法的工作過(guò)程如下:
(1)尺寸縮放:余弦哈希感知算法以小圖片開(kāi)始,如果圖片大于8*8,32*32是比較理想的。這樣做的目的是能夠簡(jiǎn)化DCT的計(jì)算。
(2)色彩簡(jiǎn)化:將被縮放后的圖片數(shù)據(jù)簡(jiǎn)化其色彩,所有像素點(diǎn)總共只有64級(jí)灰度,從而使得整個(gè)圖片中僅包含64種顏色,進(jìn)一步簡(jiǎn)化計(jì)算量。
(3)計(jì)算DCT:計(jì)算圖片的DCT變換,得到32*32的離散余弦變換系數(shù)矩陣。
(4)縮小DCT的范圍:從上述步驟中得到的32*32的離散余弦變換系數(shù)矩陣中,只需要將左上角的包含了圖像中的較低頻.率的8*8的矩陣部分保留下來(lái)。
(5)計(jì)算平均值:如同均值哈希一樣,計(jì)算DCT的均值。
(6)計(jì)算hash值:根據(jù)8*8的離散余弦變換矩陣,設(shè)置0或1的64位的hash值,遍歷像素矩陣,當(dāng)矩陣的灰度值大于離散余弦變換均值的時(shí)候哈希值為1,小于DCT均值的設(shè)為0。
為了驗(yàn)證該算法的性能,進(jìn)行了一些簡(jiǎn)單的測(cè)試,測(cè)試結(jié)果發(fā)現(xiàn)非等比例的圖像縮放會(huì)使得基于均值哈希算法的圖像檢索出現(xiàn)錯(cuò)誤,而余弦哈希感知算法對(duì)尺度的變化的魯棒性強(qiáng)于均值哈希算法。
均值哈希算法:
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 基于文本的圖片搜索
基于文本的圖片搜索,是通過(guò)獲得圖片附近的文本.信息,這些文本信息和.網(wǎng)頁(yè)搜索的文本信息一樣,被建立倒排索引,然后通過(guò)對(duì)倒排索引的使用獲得對(duì)應(yīng)圖片信息?;谖谋镜膱D片搜索的實(shí)質(zhì)與網(wǎng)頁(yè)搜索類(lèi)似,它們都是對(duì)文件建立相關(guān)索引,網(wǎng)頁(yè)搜索對(duì)應(yīng)的是文檔集合,圖片搜索對(duì)應(yīng)的是圖片的集合。
而對(duì)于基于文本的圖片搜索,文本信息主要來(lái)自三個(gè)方面。
①網(wǎng)頁(yè)HTML中的標(biāo)簽,在HTML標(biāo)簽“img”中的詞性“alt”包含的信息,是對(duì)該圖譜的一種簡(jiǎn)短描述。
②圖片周?chē)男畔ⅰD片一般嵌套在網(wǎng)頁(yè)中某個(gè)區(qū)域性位置,但是這個(gè)區(qū)域性位置一般用于講述該圖譜的相關(guān)信息,圖中下面一行文字是對(duì)該圖片信息的一個(gè)描述,一般它們位于同一個(gè)HTML的“DIV”標(biāo)簽或者相鄰“DIV”標(biāo)簽中。
③圖片本身的文字信息。為了更加準(zhǔn)確地分析圖片所描述的信息,學(xué)術(shù)界一直試圖對(duì)圖片進(jìn)行光學(xué)字符識(shí)別。
3 結(jié)論
綜上所述,大數(shù)據(jù)搜索引擎中的圖片搜索技術(shù)有了一定的發(fā)展,但有時(shí)搜索到的圖片與原圖片的相似度還有一定的差距,隨著互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,圖片搜索引擎的功能一定會(huì)越來(lái)越完善強(qiáng)大,為用戶(hù)所提供的服務(wù)質(zhì)量也會(huì)越來(lái)越高,讓用戶(hù)越來(lái)越滿(mǎn)意。
參考文獻(xiàn):
[1]唐俊易.百度官方發(fā)布圖片搜索收錄的基礎(chǔ)要求[J].計(jì)算機(jī)與網(wǎng)絡(luò),2014(7).
[2]王錚,針對(duì)百度算法不斷升級(jí)網(wǎng)站優(yōu)化應(yīng)采取的四點(diǎn)對(duì)策[J].計(jì)算機(jī)與網(wǎng)絡(luò),2014(8)。
[3]徐靜.圖像搜索引擎的進(jìn)步與應(yīng)用現(xiàn)狀分析[J].電子商務(wù),2011(5).
[4]謝同.基于文本的Web圖片搜索引擎的研究與實(shí)現(xiàn)[D].電子科技大學(xué),2016.
[5]郭升挺,黃唏,柯俊敏,等.基于深度學(xué)習(xí)與拓展查詢(xún)的商標(biāo)圖像檢索方法[J].網(wǎng)絡(luò)新媒體技術(shù),2018(5).
[6]任夏荔,陳光喜,曹建收,等.基于深度學(xué)習(xí)特征的圖像檢索方法[J].計(jì)算機(jī)工程與設(shè)計(jì),2018(6).
[7]孫奇平.基于深度學(xué)習(xí)的圖像檢索研究[J].景德鎮(zhèn)學(xué)院學(xué)報(bào),2018(4).
[8]周力恒,金陽(yáng),康軼澤,等.圖像搜索在移動(dòng)電商領(lǐng)域中的應(yīng)用與實(shí)現(xiàn)[J].科技創(chuàng)新導(dǎo)報(bào),2016(6).
[9]張軍陽(yáng),王慧麗,郭陽(yáng),等.深度學(xué)習(xí)相關(guān)研究綜述[J].計(jì)算機(jī)應(yīng)用研究,2018(4).
【通聯(lián)編輯:唐一東】