国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

海量圖像存儲與快速檢索

2019-05-22 10:27鄭星奇周云才王同喜
電腦知識與技術(shù) 2019年6期
關(guān)鍵詞:海量檢索像素

鄭星奇 周云才 王同喜

摘要:本文將介紹海量數(shù)據(jù)的存儲與檢索需要的技術(shù)與關(guān)鍵算法,并對此系統(tǒng)進(jìn)行架構(gòu)設(shè)計與實現(xiàn)。其中最主要技術(shù)為大數(shù)據(jù)技術(shù)對海量圖像數(shù)據(jù)的存儲與檢索的優(yōu)化,使用的相關(guān)算法為層次聚類算法和平均哈希算法。

關(guān)鍵詞:大數(shù)據(jù);Hbase;ElasticSearch;海量數(shù)據(jù)存儲;檢索優(yōu)化

中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2019)06-0245-03

1 引言

隨著互聯(lián)網(wǎng)發(fā)展的速度越來越快,數(shù)據(jù)量的級別也越來越高,人類社會進(jìn)入了飛速發(fā)展的數(shù)字信息時代。面對不斷擴(kuò)大的圖像數(shù)據(jù),傳統(tǒng)的存儲結(jié)構(gòu)擴(kuò)展性差,不便于管理和運營,并且消耗大量資源。與此同時,復(fù)雜的存儲結(jié)構(gòu)也不便于適應(yīng)日益復(fù)雜的用戶需求。與此對應(yīng),海量圖像的檢索也面臨一系列問題,其中的重點是檢索的準(zhǔn)確度、速度以及所需信息的完整性。海量圖像檢索在現(xiàn)實生活中有著大量的應(yīng)用。但由于海量的圖片會占用大量的存儲空間,所以圖像的存儲和檢索都會出現(xiàn)性能的瓶頸。

大數(shù)據(jù)技術(shù)的快速發(fā)展對海量圖片的存儲和快速檢索帶來了良好的發(fā)展前景和機(jī)遇,尤其是當(dāng)前被廣泛探索應(yīng)用的Hadoop、Spark等技術(shù),針對TB甚至PB級的數(shù)據(jù),其豐富的組件在數(shù)據(jù)存儲和挖掘、分析方面提出了完善的處理方案。

2 國內(nèi)外發(fā)展現(xiàn)狀

隨著圖像技術(shù)的發(fā)展和廣泛應(yīng)用,圖像的存儲和檢索技術(shù)在應(yīng)用領(lǐng)域的要求越來越高,比如在安全交通監(jiān)控,電商購物平臺,地圖信息展示等方面。

在國外,例如google公司,創(chuàng)造了GFS系統(tǒng),并用BigTable來存儲網(wǎng)頁的屬性信息和它的快照,以此來更加便于網(wǎng)頁的搜索。而國外最大的圖片信息存儲公司Facebook則開發(fā)了Haystack作為處理facebook上面分享的照片而設(shè)計的對象存儲技術(shù)。

在國內(nèi),以淘寶為代表的圖像處理技術(shù)開發(fā)則開發(fā)了TFS系統(tǒng),它主要是解決海量并發(fā)小文件的訪問問題。我國在基于內(nèi)容的圖像檢索系統(tǒng)的開發(fā)起步比外國晚,大約是在1990年之后才開始發(fā)展,直到今天一直在探究和研發(fā)的路上。比如中科院,阿里巴巴,騰訊,百度等國內(nèi)互聯(lián)網(wǎng)公司都已經(jīng)各自推出了相應(yīng)的圖像檢索產(chǎn)品。微軟亞洲研究院建立了一個叫作MindFinder的大規(guī)模的圖像搜索引擎系統(tǒng),主要用于檢索亞洲龐大的圖像數(shù)據(jù)信息。

3 主要技術(shù)介紹

3.1 數(shù)據(jù)存儲

從大的角度講,目前的數(shù)據(jù)庫的類別主要有兩種:傳統(tǒng)SMP 架構(gòu)的數(shù)據(jù)庫,主要指傳統(tǒng)的關(guān)系型數(shù)據(jù)庫,例如MySQL,DB2,Sql Server等;新型數(shù)據(jù)庫,指可以存儲大規(guī)模數(shù)據(jù),支持高并發(fā),擴(kuò)展性強(qiáng)的新型數(shù)據(jù)庫,例如NoSQL, MPP, NewSQL 等與大數(shù)據(jù)相關(guān)的數(shù)據(jù)庫。

典型的大數(shù)據(jù)存儲技術(shù)主要有三種:一是使用MPP架構(gòu)的新型數(shù)據(jù)庫集群,二是基于Hadoop的技術(shù)封裝與擴(kuò)展,三是大數(shù)據(jù)一體機(jī)。

HDFS中處理海量小文件的方法通常是將小文件合并成大文件進(jìn)行存儲,同時為小文件建立索引。典型技術(shù)包括使用hadoop自帶的一些插件,如SequenceFile 和Archive,但都需要編寫程序來合并這些文件,不方便于擴(kuò)展和廣泛的應(yīng)用,所以我們將會用到hbase存儲技術(shù)。

由于HDFS主要是解決大文件的問題,所以在Hadoop中提供了兩種機(jī)制來小文件的存儲問題,其中就包括將文件轉(zhuǎn)化為SequenceFile以及轉(zhuǎn)化為HAR文件,這兩種方式在一定的層面上解決了小文件存在的問題,但是仍舊存在著不足之處。

將數(shù)據(jù)存儲到Hbase的傳統(tǒng)方法是:第一步先把所有的圖片上傳進(jìn)入HDFS,然后將這些小文件轉(zhuǎn)換成SequenFile文件。第二步是將轉(zhuǎn)換后的SequenFile文件讀取出來,HBase表中的rowkey與列值就用解析后的key和value值表示。我們將基于Hbase并且加上ElasticSearch對存儲結(jié)構(gòu)加以改進(jìn)。

3.2 數(shù)據(jù)檢索

在圖像檢索方面,主要有以下幾種方法:

一是基于文本的圖像檢索技術(shù),即通過已存在的圖像周圍的文本信息內(nèi)容來進(jìn)行檢索。雅虎,谷歌和百度等主流的搜索引擎目前都采用的是這種基于文本圖像檢索提供服務(wù)的。它的優(yōu)點是符合人們?nèi)粘5牧?xí)慣,使用簡單,應(yīng)用廣泛,它的缺點是太依賴文本信息而忽略了圖像本身的信息,故而有一定的局限性。

二是基于內(nèi)容的圖像檢索技術(shù),它主要分為兩個部分:即圖像特征提取FE(feature extraction)和圖像的相似計算SM(similarity Measurement),其中圖像特征提取是對圖像從視覺上感受到的物理特征就行提取,圖像的相似計算則是根據(jù)圖像特征方法提取出來的特征值進(jìn)行相似距離(hamming distance)計算,圖像特征值之間的相似距離越近,說明圖像之間的相似度越高?;趦?nèi)容的圖像檢索技術(shù)的算法計算量比較大,而且一般只在一些特定的領(lǐng)域有廣泛應(yīng)用,如圖像識別,指紋識別和車牌號自動檢測等。對于其他不同的領(lǐng)域內(nèi),則表現(xiàn)出一定的短板。

4 關(guān)鍵算法

4.1 層次聚類算法

層次聚類就是按照某種方法對數(shù)據(jù)集進(jìn)行層次分類,一直到滿足條件為止。按照分類的原理不同,層次聚類可分為凝聚和分裂兩種類別。在這里主要介紹凝聚型。

凝聚型:假如這里有五個樣本x1,x2,x3,x4,x5,每個樣本都可以看成一簇,接著選擇相近的兩個樣本組成一簇,如(x1,x2),x3,x4,x5,這時我們可以得到4個簇,然后再把其中的兩個相近的簇組成一簇,直到最后所有的樣本促組成一個簇就停止。雖然這個過程會比較慢,但這樣的存儲結(jié)構(gòu)將有助于提高檢索的速度。

在層次算法中最重要的就是計算出cluster R與cluster S間的距離,主要有三種方式:

4.2 平均哈希算法

平均哈希算法是一種基于灰度圖每個像素與平均值相比較實現(xiàn)的,它的適用范圍是對于縮略圖和放大圖的搜索。算法的主要內(nèi)容有:

(1) 將圖片縮小。首先將圖片統(tǒng)一縮小到8*8,即64像素的圖片。這樣做是為弱化圖片的細(xì)節(jié)部分,僅僅是比較圖片之間的結(jié)構(gòu)。

(2) 將圖片轉(zhuǎn)化為灰度圖。將第一步中的縮放之后的圖片轉(zhuǎn)化成256階的灰度圖。

(3) 計算像素的平均值。將第二步處理的圖片的所有像素點進(jìn)行平均值計算。

(4) 像素灰度值比較。將灰度圖片的每一個像素進(jìn)行遍歷處理,當(dāng)出現(xiàn)像素大于平均值時,將結(jié)果記錄為1,否則記錄為0。

(5) 圖像特征采集。將上一步每個像素比較后的結(jié)果值組合成64個bit位,它們的順序可以隨意,但必須保持一致。這個64位的bit位便是這個圖片的特征值hash code。

(6) 特征值對比。使用漢明距離(hamming distance)的方法比較兩幅圖片的特征值hash code,當(dāng)漢明距離越小,則說明兩張圖片越相似,反之,則不相似,如果漢明距離為0,則說明兩張圖片完全相同。

5 設(shè)計與實現(xiàn)

5.1 系統(tǒng)架構(gòu)設(shè)計

系統(tǒng)架構(gòu)主要層級功能介紹:

(1) 數(shù)據(jù)的采集。從網(wǎng)絡(luò)上或者已存在的庫中使用python采集數(shù)據(jù);對抓取的數(shù)據(jù)進(jìn)行清洗,轉(zhuǎn)換;選擇合適的存取策略,對圖像數(shù)據(jù)進(jìn)行聚類分析。

(2) 數(shù)據(jù)存儲。將圖像分為兩類信息存入Hbase庫中。原始圖像作單獨一列存入數(shù)據(jù)庫中,圖像的相關(guān)信息做一類存入庫中,包括圖像的大小,類型等屬性信息。對于比較大的圖片使用mapreduce對圖片進(jìn)行切片處理。

(3) 圖像檢索。使用基于哈希的圖像檢索技術(shù),借助spark平臺Elasticsearch搜索引擎對存入的海量圖片進(jìn)行檢索和取出。

(4) 圖像展示。對取出的圖片可以直接放到前端UI上展示,也可以暫時存入Mysql數(shù)據(jù)庫,再按需取出圖像進(jìn)行展示。

5.2 系統(tǒng)實現(xiàn)過程

數(shù)據(jù)存儲:在Hbase建立一個表,用單獨的列存儲具體的圖片,用其他的列存儲圖片的屬性信息,如圖片大小,類型,輪廓等。Hbase在存儲每個列時,會通過key/value的方式把數(shù)據(jù)存儲在每個單元格之中。

為了加快索引速度,我們將構(gòu)建基于Hbase+ElasticSearch的二級索引模式。我們首先在hbase中將圖片數(shù)據(jù)hash化,然后構(gòu)建數(shù)據(jù)分區(qū)分裂表,索引表中對行鍵進(jìn)行了改造,增加了索引名稱和索引數(shù)據(jù)。并且與數(shù)據(jù)對應(yīng)的索引可以根據(jù)數(shù)據(jù)的分裂而分裂,并使用保持與數(shù)據(jù)的startkey起始一致。

數(shù)據(jù)檢索:構(gòu)建二級索引后,我們還可以依此構(gòu)建ElasticSearch和緩存索引數(shù)據(jù)。在正式進(jìn)行檢索操作之前,我們要使用繼承基類BaseRegionObserver,重寫postPut和postDelete方法;開啟協(xié)處理器,還要使用Hbase Shell激活協(xié)處理器中的觀察者。

當(dāng)數(shù)據(jù)讀取進(jìn)程開始時,我們先訪問ElasticSearch,根據(jù)索引表中查詢到的結(jié)果,使用協(xié)處理器對數(shù)據(jù)實際行鍵進(jìn)行查找,并訪問數(shù)據(jù)表。得到數(shù)據(jù)后,通過協(xié)處理器將數(shù)據(jù)返回到客戶端。

5.3 系統(tǒng)測試

并發(fā)存儲吞吐量測試:我們將從單機(jī)服務(wù),添加索引以及不添加索引的方式進(jìn)行比對實驗,分別檢測10000條到1000萬條數(shù)據(jù)的插入速度,建立集群將會比單機(jī)直接存儲擁有更高的存儲效率。

集群中查詢速度測試:我們將從整體統(tǒng)計查詢以及實時響應(yīng)這兩個角度進(jìn)行性能檢測,主要測試PB級別數(shù)據(jù)基礎(chǔ)上,不同的結(jié)果集數(shù)據(jù)查詢的查詢效率,建立索引的集群將比不建立索引的集群查詢響應(yīng)時間更短。結(jié)果如下圖。

6 結(jié)語

在現(xiàn)實的安全監(jiān)控中,當(dāng)出現(xiàn)某種緊急情況時,我們需要快速找到目標(biāo)。如果僅僅靠人力,那將會耗費大量的人力物力。所以研究海量圖片的存儲和快速檢索,對于提高圖片查找效率,減少人力物力的不必要浪費有著重要的意義。

參考文獻(xiàn):

[1] 孫玉林,王曉卉.一種基于 Hadoop的海量圖片檢索策略[J].電子技術(shù)與軟件工程,2016.

[2] 朱曉麗,趙志剛.一種基于Hbase的海量圖片存儲技術(shù)[J].信息系統(tǒng)工程,2013.

[3] 倪康康.基于哈希算法的圖像檢索系統(tǒng)[D].西安電子科技大學(xué),2015.

[4] 圖像搜索引擎—原理篇[Z].http://blog.csdn.net/hyman_yx/article/details/51773691.

[5] 董長青, 任女爾, 張慶余,等.基于HBase+ElasticSearch的海量交通數(shù)據(jù)實時存取方案設(shè)計[J].2017.

[6] 林悅,基于哈希算法的高維數(shù)據(jù)的最近鄰檢索[D]. 浙江大學(xué),2013.

【通聯(lián)編輯:梁書】

猜你喜歡
海量檢索像素
趙運哲作品
一種傅里葉域海量數(shù)據(jù)高速譜聚類方法
像素前線之“幻影”2000
海量快遞垃圾正在“圍城”——“綠色快遞”勢在必行
2019年第4-6期便捷檢索目錄
一個圖形所蘊(yùn)含的“海量”巧題
專利檢索中“語義”的表現(xiàn)
基于文件系統(tǒng)的分布式海量空間數(shù)據(jù)高效存儲與組織研究
國際標(biāo)準(zhǔn)檢索
國際標(biāo)準(zhǔn)檢索