本發(fā)明涉及一種全景圖像檢索及展示方法,主要用于數(shù)字文化多維展現(xiàn),以及用于各行業(yè)環(huán)境、產(chǎn)品等的多維全景展示。本發(fā)明面對(duì)公眾對(duì)公共文化服務(wù)內(nèi)容形式多樣、互動(dòng)參與的需求,通過WebGIS,Web3D及虛擬現(xiàn)實(shí)等技術(shù)的綜合運(yùn)用,可用于研發(fā)革命老區(qū)特色數(shù)字文化多維互動(dòng)體驗(yàn)應(yīng)用服務(wù)系統(tǒng),提供展館3D展示、遺址舊居全景漫游等多種文化傳播方式,借助手機(jī)、電腦等多種網(wǎng)絡(luò)終端實(shí)現(xiàn)文化互動(dòng)體驗(yàn),從而達(dá)到線上宣傳,線下體驗(yàn)文化內(nèi)容的目的。
背景技術(shù):
當(dāng)前處于互聯(lián)網(wǎng)盛興的時(shí)代,普通的文字、二維照片信息已經(jīng)遠(yuǎn)遠(yuǎn)不能滿足用戶視覺體驗(yàn)多樣化以及信息傳播豐富化的需求,3D、全景漫游技術(shù)憑借著超強(qiáng)的真實(shí)感和豐富的信息量,現(xiàn)已廣泛應(yīng)用于各行各業(yè),為他們提供更全面、更豐富、更完美的數(shù)字化展示方案。很多行業(yè)比如房產(chǎn)、酒店、市政建筑、高校校園、汽車內(nèi)景等都在做一些產(chǎn)品全方位展示的工作,包括淘寶、京東等知名的電子商務(wù)企業(yè),也都在通過3D等相關(guān)技術(shù),直觀的向用戶展示產(chǎn)品信息。
同樣的,像紅色展館、革命遺址舊居這種具有教育意義的場(chǎng)所,如何能讓用戶以更飽滿的視覺效果真實(shí)感受到場(chǎng)所信息,從而達(dá)到線上宣傳,線下體驗(yàn)文化內(nèi)容的目的,顯得尤為重要。對(duì)于文化場(chǎng)所管理者,一個(gè)全景展示功能飽滿、內(nèi)容豐富且交互性良好的方法,可以很好地幫助做好宣傳工作,吸引用戶。
有時(shí),用戶對(duì)于一些特定文化圖片感興趣,但是不知道屬于展館或遺址中具體哪個(gè)觀賞點(diǎn),只能按照系統(tǒng)中特定的路線尋找,交互性很差,效率很低。
在技術(shù)上,傳統(tǒng)的圖像檢索以文字為主,首先使用文字標(biāo)題對(duì)圖像進(jìn)行描述,然后將圖片和描述按照對(duì)應(yīng)關(guān)系存入數(shù)據(jù)庫,最后檢索的是指是對(duì)文字的檢索,通過檢索到的文字描述再對(duì)應(yīng)到圖片。這種檢索方式需要人工對(duì)每一張圖片添加描述,面對(duì)當(dāng)前海量的全景圖像資源,工作量將會(huì)非常龐大,顯然已經(jīng)不適合當(dāng)前系統(tǒng)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提供一種全景圖像檢索及展示方法,以解決現(xiàn)有技術(shù)存在的交互性很差、效率很低和使用不方便問題。
本發(fā)明的技術(shù)方案是:一種全景圖像檢索及展示方法,其特征在于,主要包括索引建立步驟A和圖像查詢步驟B,索引建立步驟A提取圖庫中的圖像文件的特征,生成索引文件;用戶C向圖像查詢步驟B上傳要檢索的圖像,由圖像查詢步驟B提取要檢索圖像的特征,將用戶C上傳的圖像與索引建立步驟A的索引文件的特征進(jìn)行相似度匹配,并向用戶C提供匹配結(jié)果列表,對(duì)結(jié)果做全景展示。
所述的索引建立步驟A和圖像查詢步驟B中的特征提取的具體方法包括:
Step1:獲取全景圖像信息;
Step2:遍歷圖像資源,將每張圖片切割為40*40=1600個(gè)小圖片塊;
Step3:對(duì)每一個(gè)圖像塊,通過CEDD工具,做RGB模型轉(zhuǎn)HSV模型處理;
Step4:通過10-bins模糊過濾,將得到的HSV信息輸出到10維直方圖;
Step5:將Step4中的10維直方圖以及S(飽和度)、V(亮度)分量輸入到24-bins模糊過濾器中,獲得小圖塊的24維直方圖;
Step6:將每一個(gè)小圖像塊做RGB模型轉(zhuǎn)YIQ模型處理;
Step7:再將每一個(gè)小方塊四等分,對(duì)應(yīng)到紋理信息提取中用到的數(shù)字過濾器結(jié)構(gòu),分別計(jì)算每一塊的灰度值并歸一化;
Step8:將得到的每一塊的紋理信息規(guī)劃到6維邊緣直方圖中;
Step9:將Step5和Step8中獲得的兩部分直方圖結(jié)合,得到一個(gè)144維直方圖,完成圖像特征的提取工作。
所述的索引建立步驟A的詳細(xì)步驟如下:
Step1: 創(chuàng)建文檔構(gòu)建器DocumentBuilder(CEDD.class)對(duì)象,并將獲得的圖像特征信息融入到構(gòu)建器中;
Step2:利用文檔構(gòu)建器,將圖像特征信息添加到構(gòu)建的文檔Document中;
Step3:定義索引文檔寫入對(duì)象IndexWrite;
Step4:最后,通過寫入對(duì)象將索引文檔Document按配置地址寫到服務(wù)器中。
所述的圖像查詢步驟B的詳細(xì)步驟如下:
Step1: 獲取用戶通過拍照上傳或網(wǎng)絡(luò)獲取的圖像;
Step2:使用extract()提取輸入圖片的特征值;
Step3:根據(jù)提取的特征值,使用findSimilar()查找相似的圖片;
Step4: 新建一個(gè)ImageSearchHits用于存儲(chǔ)查找的結(jié)果;
Step5:遍歷ImageSearchHits,分別獲取到對(duì)應(yīng)或相似全景圖的有關(guān)信息,包括得分、路徑和名稱信息。
還包括下面給出Krpano框架實(shí)現(xiàn)全景漫游的具體步驟:
Step1:瀏覽器加載html文件,該html文件做全景漫游的入口配置,包括設(shè)置全景漫游xml文件;
Step2:html頁面加載Krpano html5全景引擎;
Step3:全景引擎加載對(duì)應(yīng)全景圖的主xml文件,該xml文件配置了由圖像檢索方法獲取到的結(jié)果列表,讀取全景圖資源;
Step4:將讀取到的全景資源,添加到容器中以在瀏覽器展示。
本發(fā)明的優(yōu)點(diǎn)是:實(shí)現(xiàn)了全景圖像檢索功能,旨在讓用戶上傳普通圖片,并會(huì)返回與之對(duì)應(yīng)以及相似的全景圖信息并全景展示,讓用戶快速定位到對(duì)應(yīng)的場(chǎng)景,提高用戶體驗(yàn),使用非常方便。
附圖說明
圖1是本發(fā)明的基本流程圖;
圖2是本發(fā)明的索引創(chuàng)建流程圖;
圖3是本發(fā)明的倒排索引對(duì)應(yīng)關(guān)系圖;
圖4是本發(fā)明的索引文件目錄;
圖5是本發(fā)明的圖像查詢流程;
圖6是本發(fā)明的修改xml路徑配置信息;
圖7是本發(fā)明的Krpano加載全景圖過程示意圖。
具體實(shí)施方式
參見圖1,本發(fā)明一種全景圖像檢索及展示方法,其特征在于,主要包括索引建立步驟A和圖像查詢步驟B,索引建立步驟A提取圖庫中的圖像文件的特征,生成索引文件;用戶C向圖像查詢步驟B上傳要檢索的圖像,由圖像查詢步驟B提取要檢索圖像的特征,將用戶C上傳的圖像與索引建立步驟A的索引文件的特征進(jìn)行相似度匹配,并向用戶C提供匹配結(jié)果列表。
本發(fā)明的運(yùn)行系統(tǒng)(以下提到的系統(tǒng)即本發(fā)明及運(yùn)行系統(tǒng))主要是服務(wù)器和用戶終端,圖庫設(shè)在服務(wù)器內(nèi),用戶終端包括智能手機(jī)和各種PC。本發(fā)明主要包括3大功能:輸入功能、檢索功能、查詢功能。輸入功能主要是對(duì)全景圖像資源庫進(jìn)行特征提取,索引建立,然后將索引文件保存。檢索功能主要是對(duì)索引文件進(jìn)行檢索和過濾。最后查詢功能主要是根據(jù)用戶的反饋,檢索出與用戶上傳的圖片相似的全景圖像。本發(fā)明流程為:首先系統(tǒng)依次提取圖庫中全景圖像的特征,生成索引文件,并將索引文件保存到服務(wù)器中供檢索使用。然后用戶通過用戶終端登錄到服務(wù)器上傳圖像,提取用戶提交圖像的特征與索引文件進(jìn)行相似性匹配,按照相似度值高低的順序?qū)D像返回給用戶(如圖1所示)。
下面將詳細(xì)介紹圖本發(fā)明的核心流程,主要有圖像特征提取、索引創(chuàng)建和圖像查詢。
1、圖像檢索流程:
(1)圖像特征提?。?/p>
本發(fā)明的核心包括兩大功能,創(chuàng)建索引和查詢。創(chuàng)建索引是為了對(duì)大量的圖像資源提取圖像特征,建立索引庫保存,省去檢索時(shí)每次都要遍歷圖庫提取特征的繁瑣操作,大大提升檢索效率。查詢操作同樣需要提取圖像特征分析并跟索引庫中的圖像資源信息比對(duì),最后獲取結(jié)果列表。
由此看來,在整個(gè)圖像檢索過程中,圖像特征提取起到了十分重要的作用,下面將講述本發(fā)明的第一步——圖像特征提取。說到圖像,反映給我們最直觀的就是顏色,也就是說顏色是最直觀的視覺特征,技術(shù)上通過顏色直方圖來表示一幅圖像的顏色信息也是最直接最簡(jiǎn)單的常規(guī)方法。但是一幅圖像僅僅通過顏色信息來檢索,準(zhǔn)確率是非常低的,必須將圖像文理特征信息也添加到檢索時(shí)要查詢的因素中。
所以在特征提取的過程中,圖像的紋理信息也是必須要考慮的因素之一,紋理特征直方圖可以將圖像的紋理信息劃分為多個(gè)類別,同時(shí)可以將顏色信息良好的結(jié)合在一起。顏色和邊緣的方向性描述(Color and Edge Directivity Descriptor,CEDD)就是結(jié)合了圖像顏色和紋理的一種描述方法。所以在系統(tǒng)開發(fā)中,我們使用了基于Lucene的圖像檢索工具(Lucene Image Retrieval,LIRE)提供的圖像特征提取方法。
特征提取的對(duì)象是系統(tǒng)維護(hù)人員上傳的全景圖像。具體步驟為:
Step1:獲取系統(tǒng)維護(hù)人員上傳的全景圖像信息。
Step2:遍歷圖像資源,將每張圖片切割為40*40=1600個(gè)小圖片塊。
Step3:對(duì)每一個(gè)圖像塊,通過CEDD工具,做RGB模型轉(zhuǎn)HSV模型處理(為常規(guī)技術(shù),參見文獻(xiàn)“唐光艷. VB中RGB顏色模型與HSV顏色模型轉(zhuǎn)換的實(shí)現(xiàn). 科技信息, 2009(2):457-458”)。
Step4:通過10-bins模糊過濾,將得到的HSV信息輸出到10維直方圖。
Step5:將Step4中的10維直方圖以及S(飽和度)、V(亮度)分量輸入到24-bins模糊過濾器中,獲得小圖塊的24維直方圖。
Step6:將每一個(gè)小圖像塊做RGB模型轉(zhuǎn)YIQ模型處理。
Step7:再將每一個(gè)小方塊四等分,對(duì)應(yīng)到紋理信息提取中用到的數(shù)字過濾器結(jié)構(gòu),分別計(jì)算每一塊的灰度值并歸一化。
Step8:將得到的每一塊的紋理信息規(guī)劃到6維邊緣直方圖中。
Step9:將step5和step8中獲得的兩部分直方圖結(jié)合,得到一個(gè)144維直方圖,完成圖像提取工作。以上各步驟的具體方法為常規(guī)技術(shù)(參見文獻(xiàn)“傅之成, 李曉強(qiáng), 李福鳳. 基于徑向邊緣檢測(cè)和Snake模型的舌像分割. 中國(guó)圖象圖形學(xué)報(bào), 2009, 14(4):688-693; Basil G. Mertzios, Konstantinos D. Tsirikolias. Coordinate logic filters: theory and applications in image analysis. Nonlinear image processing.2001:331-354;魏禎, 朱敏琛. 基于YIQ顏色空間的自適應(yīng)膚色檢測(cè)算法. 福州大學(xué)學(xué)報(bào)(自然科學(xué)版), 2008, 36(3):336-340; 官倩寧, 覃團(tuán)發(fā), 帥勤等. 綜合MPEG-7中紋理和顏色特征的圖像檢索方法. 計(jì)算機(jī)應(yīng)用研究, 2008, 25(3):957-960.”)。
下面給出生成特征信息的核心代碼:
Fuzzy10BinResultTable = Fuzzy10.ApplyFilter(HSV[0], HSV[1], HSV[2], 2);
Fuzzy24BinResultTable = Fuzzy24.ApplyFilter(HSV[0], HSV[1], HSV[2], Fuzzy10BinResultTable, 2);
for (inti = 0; i<= T; i++) {
for (intj = 0; j< 24; j++) {
if (Fuzzy24BinResultTable[j] > 0) CEDD[24 *Edges[i] + j] += Fuzzy24BinResultTable[j];
}
}
(2)創(chuàng)建索引:
上述(1)節(jié)我們得到了圖像的顏色和紋理特征。為了減少查詢時(shí)計(jì)算量,提高查詢效率,對(duì)特征信息構(gòu)建倒排索引。索引創(chuàng)建過程如下圖2所示。
其原理為在索引庫中,每一張圖片的特征信息都會(huì)對(duì)應(yīng)一個(gè)唯一的ID號(hào),生成索引目錄時(shí),保存特征值和其出現(xiàn)在某條記錄中的對(duì)應(yīng)關(guān)系。比如特征Feature1在ID為1和3的圖像特征信息中,則保存為Feature1->1,3。倒排索引原理圖如圖3所示。
下面給出創(chuàng)建索引詳細(xì)步驟:
Step1: 創(chuàng)建文檔構(gòu)建器DocumentBuilder(CEDD.class)對(duì)象,并將圖像特征信息融入到構(gòu)建器中。
Step2:利用文檔構(gòu)建器,將圖像特征信息添加到構(gòu)建的文檔Document中。
Step3:定義索引文檔寫入對(duì)象IndexWrite。
Step4:最后,通過寫入對(duì)象將索引文檔Document按配置地址寫到服務(wù)器中。
創(chuàng)建索引文檔的核心代碼如下:
for (Iterator<String>it = images.iterator(); it.hasNext(); ) {
String imageFilePath = it.next();
BufferedImage img = ImageIO.read(new FileInputStream(imageFilePath));
Document document = globalDocumentBuilder.createDocument(img, imageFilePath);
iw.addDocument(document);
}
創(chuàng)建完的索引目錄結(jié)構(gòu)如圖4所示。
(3)圖像查詢:
通過(1)節(jié)和(2)節(jié)的工作,我們已經(jīng)獲取了圖像的特征并創(chuàng)建了索引文件,在下面將介紹全景圖像查詢的過程。首先給出圖像查詢的具體流程圖,如圖5所示。
檢索模塊功能主要由Searcher類實(shí)現(xiàn),首先調(diào)用了GenericFastImageSearcher類,設(shè)置返回結(jié)果的數(shù)量,添加提取特征值的方法。代碼如下:
ImageSearcher searcher = new GenericFastImageSearcher(30, CEDD.class);
其次調(diào)用ImageSearchHits類的search(img,ir)方法,其中img是待搜索圖片的路徑,ir是讀取的索引文件信息。在search方法中,通過比對(duì)被查詢圖像與索引中特征值的距離(maxDistance=findSimilar(reader, globalFeature)),返回符合特定閾值的結(jié)果。
下面給出其詳細(xì)步驟:
Step1: 獲取用戶上傳圖像。
Step2:使用extract()提取輸入圖片的特征值。
Step3:根據(jù)提取的特征值,使用findSimilar()查找相似的圖片。
Step4: 新建一個(gè)ImageSearchHits用于存儲(chǔ)查找的結(jié)果。
Step5:遍歷ImageSearchHits,分別獲取到對(duì)應(yīng)或相似全景圖的得分、路徑、名稱等信息。
2、全景漫游展示:
通過上述1節(jié)的全景檢索流程,我們會(huì)得到一系列與用戶查詢相似的全景圖列表,目的是進(jìn)行360°全方位展示。得到列表后,首先需要更改配置全景圖的xml文件,使文件里的路徑信息指向本次查詢的結(jié)果。然后全景引擎加載文件才能實(shí)現(xiàn)本次查詢結(jié)果的全景展示。xml文件修改的過程如圖6所示。
下面將對(duì)全景圖做全景漫游操作。上面已經(jīng)給出用 Krpano的方式實(shí)現(xiàn)。該方式主要實(shí)現(xiàn)是通過html文件加載Krpano html5全景引擎,讀取全景圖像,并顯示到瀏覽器的過程。實(shí)現(xiàn)過程如下圖7所示。
下面給出Krpano框架實(shí)現(xiàn)全景漫游的具體步驟:
Step1:瀏覽器加載html文件,該html文件做全景漫游的入口配置,包括設(shè)置全景漫游xml文件。
Step2:html頁面加載Krpano html5全景引擎。
Step3:全景引擎加載對(duì)應(yīng)全景圖的主xml文件,該xml文件配置了由圖像檢索流程獲取到的結(jié)果列表,讀取全景圖資源。
Step4:將讀取到的全景資源,添加到容器中以在瀏覽器展示。
通過以上4步,可以實(shí)現(xiàn)全景展示。在全景圖檢索模塊的最后,用戶點(diǎn)擊的全景圖將會(huì)顯示,其余的全景將會(huì)以縮略圖的形式在瀏覽器下方展示,用戶可以點(diǎn)擊縮略圖任意切換,方便用戶查看。
綜上,實(shí)現(xiàn)了從全景圖像檢索到全景展示的詳細(xì)過程,可以很好的解決現(xiàn)有技術(shù)存在的交互性很差、效率很低和使用不方便問題。
本發(fā)明全景檢索及展示的功能說明如下:
首先點(diǎn)擊后臺(tái)首頁全景圖像管理下的上傳全景圖按鈕跳轉(zhuǎn)到上傳頁面。
上傳完所有全景圖像后,管理人員點(diǎn)擊后臺(tái)首頁全景圖像管理下的創(chuàng)建索引按鈕,執(zhí)行索引創(chuàng)建工作。創(chuàng)建索引生成的索引文件存于服務(wù)器,索引的文件結(jié)構(gòu)已經(jīng)在上面給出。
完成上述工作以后,在瀏覽器訪問系統(tǒng)首頁。系統(tǒng)支持的瀏覽器包括Chrome32及以上、Firefox、獵豹瀏覽器以及其他以Chrome為內(nèi)核的瀏覽器。
系統(tǒng)實(shí)現(xiàn)了圖像檢索功能,在系統(tǒng)首頁頁面中,用戶點(diǎn)擊圖片檢索按鈕,跳轉(zhuǎn)到用戶上傳搜索圖片界面。
本發(fā)明使用了基于圖片內(nèi)容的圖像檢索(CBIR,Content Based Image Retrieval),該方法是通過提取圖像特征,建立索引庫,最后通過匹配特征來完成圖像檢索的,這種方式不僅大大提高了檢索的準(zhǔn)確率和效率,而且過程全部自動(dòng)完成,不需要人工的干預(yù)。
本發(fā)明中各步驟的具體實(shí)現(xiàn)方法為常規(guī)技術(shù)。