本發(fā)明屬于圖像檢索技術(shù)領(lǐng)域,涉及圖像檢索景點(diǎn)的方法,尤其是一種以圖快速檢索景點(diǎn)的方法,以及基于該方法的自助導(dǎo)游系統(tǒng)。
背景技術(shù):
隨著生活水平的提高,旅游成為了人們?cè)陂e暇時(shí)間放松自己的不二選擇。在2015年,我國共接待游客超過40億人次。手機(jī)的快速發(fā)展使得游客在旅游過程中可以拍攝大量的圖片并上傳到圖片分享網(wǎng)站與社交網(wǎng)絡(luò)。知名的圖片分享網(wǎng)站如Flickr,上傳的圖片總數(shù)達(dá)50億張。社交網(wǎng)絡(luò)中的圖片上傳量更為驚人,光Facebook一家就達(dá)到了600億。在我國,微博,微信,以及各種旅游應(yīng)用都是游客上傳旅游圖片與分享旅游經(jīng)歷的主要途徑。但是,雖然我們已經(jīng)擁有如此數(shù)量巨大的帶標(biāo)簽以及GPS位置信息的圖像數(shù)據(jù)庫,目前的大部分旅游應(yīng)用僅僅是對(duì)這些圖像進(jìn)行了存儲(chǔ),而沒有有效的挖掘其中蘊(yùn)含的大量信息。因此,對(duì)于如此大規(guī)模的圖像多媒體數(shù)據(jù),如何有效地挖掘這些豐富的多媒體數(shù)據(jù)信息,并利用這些信息以幫助游客在旅游過程中獲取更加便捷的旅游體驗(yàn)是很有必要的。
在景點(diǎn)檢索方面,目前主流的旅游應(yīng)用仍然采用傳統(tǒng)的利用文字標(biāo)簽進(jìn)行檢索的方式。使用文本進(jìn)行景點(diǎn)檢索時(shí),會(huì)有一些不可避免的缺陷存在。文本檢索是一種利用關(guān)鍵詞檢索的形式,這就要求用戶對(duì)于檢索的目標(biāo)要有一定的基本知識(shí),若用戶對(duì)于要檢索的目標(biāo)一無所知,則用戶無法選取合適的關(guān)鍵詞來檢索信息。文本檢索的另一個(gè)缺陷就是關(guān)鍵詞的重復(fù)使用率很高。對(duì)于很多單詞,也許很多景點(diǎn)都會(huì)使用到,利用這種關(guān)鍵詞進(jìn)行檢索往往會(huì)得到大量的檢索結(jié)果,用戶不得不從這些結(jié)果中手工挑選自己想要檢索的目標(biāo),這種方式往往會(huì)費(fèi)時(shí)費(fèi)力,用戶體驗(yàn)較差。同時(shí)由于圖像附帶的標(biāo)簽與描述是由用戶添加上去的,人類思想的差異性難免使得這些標(biāo)簽帶有很大的主觀因素,為我們提取景點(diǎn)的客觀屬性引入噪聲。另外,很多景點(diǎn)為了讓搜索引擎更多的搜索到自己,會(huì)為自身添加很多不相關(guān)的關(guān)鍵詞,使得用戶獲得的檢索準(zhǔn)確率降低。而使用圖像信息來進(jìn)行檢索可以有效的避免這些問題。所以,利用圖像進(jìn)行景點(diǎn)檢索是非常有必要的,另一方面,網(wǎng)絡(luò)上的大規(guī)模圖像多媒體資源,也為自動(dòng)的通過圖像內(nèi)容進(jìn)行景點(diǎn)檢索提供了有利的條件。
隨著科技的進(jìn)步,人們智能手機(jī)和部分?jǐn)?shù)碼相機(jī)拍照時(shí)帶有時(shí)間和GPS記錄功能,因此,我們可以通過網(wǎng)絡(luò)多媒體手段獲取大量的帶有地理位置標(biāo)簽的景點(diǎn)圖像的。這就對(duì)使用圖像進(jìn)行景點(diǎn)檢索提供了有利條件。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于克服上述現(xiàn)有技術(shù)的缺點(diǎn),提供一種以圖快速檢索景點(diǎn)的方法及導(dǎo)游系統(tǒng)。
本發(fā)明的目的是通過以下技術(shù)方案來實(shí)現(xiàn)的:
這種以圖快速檢索景點(diǎn)的方法,包括以下步驟:
1)建立景點(diǎn)圖像數(shù)據(jù)集
2)圖像庫預(yù)處理
計(jì)算數(shù)據(jù)集圖像的平均亮度,分別去除亮度最高的1-3%的圖片以及亮度最低的1-3%的圖片;
去除不包含明確目標(biāo)的圖像;
3)圖像視覺特征提取
對(duì)步驟2)處理后的景點(diǎn)圖像數(shù)據(jù)集中每張圖片采用SIFT特征描述子進(jìn)行描述;所述SIFT特征是基于物體上的局部外觀的興趣點(diǎn),與影像的大小和旋轉(zhuǎn)無關(guān);
4)生成主題相冊(cè)
對(duì)步驟3)處理后的景點(diǎn)圖像數(shù)據(jù)集進(jìn)行POI的提?。和ㄟ^圖像庫中的圖像所帶有的GPS信息,先按照地理位置對(duì)圖像進(jìn)行一次粗聚類,將粗聚類結(jié)果作為生成景點(diǎn)信息的第一步結(jié)果;同時(shí)在粗聚類結(jié)果中去除GPS信息錯(cuò)誤的圖像,得到計(jì)算粗聚類結(jié)果圖像;
使用計(jì)算粗聚類結(jié)果圖像的視覺相似度,找出在此類中出現(xiàn)頻率最高的若干個(gè)視覺詞匯,若此類中某張圖片不包含這若干個(gè)視覺詞匯或者僅包含一個(gè),則將此圖片從此類中去除;若此類中去除了超過v%的圖片,則計(jì)算被去除的圖片的視覺相似度,根據(jù)視覺相似度生成新的類,最后將所有被剔除并且沒有分入新類的圖片與所有景點(diǎn)再次進(jìn)行相似度比對(duì),小于閾值的則歸入此類,最終仍未歸類的圖片剔除出數(shù)據(jù)集,不再參與景點(diǎn)信息的生成;處理后得到主題相冊(cè);
5)添加文本信息,確定地理位置信息
將步驟4)得到的主題相冊(cè)進(jìn)行地理位置的確定:
采用先對(duì)主題相冊(cè)的圖片位置進(jìn)行K-means聚類,得到景點(diǎn)可能的潛在位置,得到潛在位置后,先假設(shè)包含圖片最多的位置為景點(diǎn)位置,若此位置位于其他位置所圍成的多邊形的內(nèi)部時(shí),則認(rèn)定此位置即為景點(diǎn)的位置;若此位置在多邊形外側(cè),但此位置所包含的的圖片數(shù)遠(yuǎn)多于其他位置時(shí),也認(rèn)定此位置為景點(diǎn)位置;若各個(gè)位置的圖片數(shù)量均衡,則取這些位置的中心作為景點(diǎn)位置;
位置信息確定后,各個(gè)主題相冊(cè)即升級(jí)成為POI,通過對(duì)這些POI添加標(biāo)題,文字描述,歷史信息的文本描述,最終生成檢索用的景點(diǎn)信息,至此建立了用于檢索的景點(diǎn)信息數(shù)據(jù)庫;
6)相似度貢獻(xiàn)檢索結(jié)構(gòu)的建立
采用分級(jí)K-means聚類的方法來對(duì)景點(diǎn)信息數(shù)據(jù)庫的特征進(jìn)行量化,生成視覺詞匯,根據(jù)視覺詞匯與景點(diǎn)的對(duì)應(yīng)關(guān)系建立相似度貢獻(xiàn)快速索引結(jié)構(gòu);
7)檢索
對(duì)用戶提供的查詢圖提取視覺特征,并采用分級(jí)量化將視覺特征量化至相應(yīng)的視覺詞匯,根據(jù)相似度貢獻(xiàn)快速索引結(jié)構(gòu)獲得最終的檢索結(jié)果。
進(jìn)一步的,以上步驟5)中,采用m層,每層分k類的樹形結(jié)構(gòu)進(jìn)行分級(jí)K-means聚類。所述m為5,k為10。
本發(fā)明還提出一種基于以上以圖快速檢索景點(diǎn)的方法的導(dǎo)游系統(tǒng),包括客戶端和服務(wù)端:所述客戶端協(xié)助用戶拍攝景點(diǎn)照片,并對(duì)圖片進(jìn)行預(yù)處理,壓縮,提取圖像特征操作;對(duì)提取出的視覺特征進(jìn)行篩選,壓縮操作,后將經(jīng)過預(yù)處理的圖像特征信息發(fā)送至服務(wù)端;所述服務(wù)端為一個(gè)常駐的檢索程序,檢索程序啟動(dòng)時(shí)將所有景點(diǎn)信息以及景點(diǎn)與圖像集中圖像的映射關(guān)系預(yù)先加載至緩存中,后掛起等待用戶輸入;當(dāng)用戶輸入進(jìn)入后即激活程序,進(jìn)行檢索算法,完成后將檢索結(jié)果返回客戶端。
進(jìn)一步,上述客戶端安裝在具有相機(jī)、顯示屏以及網(wǎng)絡(luò)傳輸功能的移動(dòng)設(shè)備上,用于用戶在游覽景點(diǎn)時(shí)拍攝具體的景點(diǎn)圖像并進(jìn)行預(yù)處理,將所需信息上傳至服務(wù)器用于檢索。
進(jìn)一步,上述服務(wù)器端采用多線程架構(gòu),服務(wù)器端的檢索流程如下:
1)獲取用戶輸入
用戶輸入有兩種情況,當(dāng)用戶網(wǎng)絡(luò)條件較好時(shí),客戶端上傳壓縮后的圖像文件,服務(wù)器端程序提取圖片的SIFT特征;當(dāng)用戶網(wǎng)絡(luò)條件較差時(shí),客戶端會(huì)先行提取圖像的SIFT特征并進(jìn)行傳輸;當(dāng)服務(wù)器端檢索程序獲取到SIFT特征后進(jìn)行存儲(chǔ),為下一步操作做準(zhǔn)備;
2)量化圖片并計(jì)算相似度
采用之前生成的相似度貢獻(xiàn)快速索引結(jié)構(gòu)計(jì)算查詢圖與數(shù)據(jù)中圖片相似度,由于離線系統(tǒng)已經(jīng)進(jìn)行了分級(jí)聚類量化操作,并記錄了每一層各個(gè)節(jié)點(diǎn)的信息,因此對(duì)圖片進(jìn)行快速量化;同時(shí),相似度貢獻(xiàn)索引在圖片量化的同時(shí)進(jìn)行圖片的相似度計(jì)算工作,將相似度計(jì)算的時(shí)間復(fù)雜度從O(n2)降低至O(n);
3)對(duì)景點(diǎn)進(jìn)行打分并排序
當(dāng)獲取到查詢圖對(duì)數(shù)據(jù)集中所有圖片的相似度后,通過圖片與景點(diǎn)的映射關(guān)系獲取查詢圖拍攝的是哪個(gè)景點(diǎn)的可能性得分,打分公式如下:
其中ssi為第i個(gè)景點(diǎn)相對(duì)于查詢圖的得分,pi為TopN結(jié)果中屬于第i個(gè)景點(diǎn)的圖片數(shù),q為視覺詞匯數(shù),ak為第j張圖片中量化至第k個(gè)視覺詞匯的特征個(gè)數(shù),skj為第k個(gè)視覺詞匯對(duì)第j張圖片的相似度貢獻(xiàn)。
與現(xiàn)有技術(shù)相比,本發(fā)明優(yōu)點(diǎn)在于:
1)相比較于傳統(tǒng)旅游應(yīng)用的以文字標(biāo)簽檢索景點(diǎn)的方式,引入了一種新型的以圖像檢索景點(diǎn)方法。
2)提出了一種單張圖像與景點(diǎn)之間的相似度映射關(guān)系,可以快速的從大規(guī)模景點(diǎn)數(shù)據(jù)集中檢索出景點(diǎn)
3)構(gòu)建了一個(gè)從文本,圖像,語音,地圖等全方位向游客展現(xiàn)景點(diǎn)信息的移動(dòng)端自助導(dǎo)游系統(tǒng),為游客提供了更加方便快捷的旅游服務(wù)。
附圖說明
圖1為本發(fā)明景點(diǎn)檢索方法的總體步驟示意框圖;
圖2為本發(fā)明中手機(jī)應(yīng)用的整體系統(tǒng)框架圖;
圖3為用戶通過拍照獲取景點(diǎn)信息的一次操作流程示意圖。
具體實(shí)施方式
本發(fā)明提供一種以圖快速檢索景點(diǎn)的方法,包括以下步驟:
1)建立景點(diǎn)圖像數(shù)據(jù)集;
2)圖像庫預(yù)處理:
計(jì)算數(shù)據(jù)集圖像的平均亮度,分別去除亮度最高的1-3%的圖片以及亮度最低的1-3%的圖片;去除不包含明確目標(biāo)的圖像;
3)圖像視覺特征提取
對(duì)步驟2)處理后的景點(diǎn)圖像數(shù)據(jù)集中每張圖片采用SIFT特征描述子進(jìn)行描述;所述SIFT特征是基于物體上的局部外觀的興趣點(diǎn),與影像的大小和旋轉(zhuǎn)無關(guān);
4)生成主題相冊(cè)
對(duì)步驟3)處理后的景點(diǎn)圖像數(shù)據(jù)集進(jìn)行POI的提?。和ㄟ^圖像庫中的圖像所帶有的GPS信息,先按照地理位置對(duì)圖像進(jìn)行一次粗聚類,將粗聚類結(jié)果作為生成景點(diǎn)信息的第一步結(jié)果;同時(shí)在粗聚類結(jié)果中去除GPS信息錯(cuò)誤的圖像,得到計(jì)算粗聚類結(jié)果圖像;使用計(jì)算粗聚類結(jié)果圖像的視覺相似度,找出在此類中出現(xiàn)頻率最高的若干個(gè)視覺詞匯,若此類中某張圖片不包含這若干個(gè)視覺詞匯或者僅包含一個(gè),則將此圖片從此類中去除;若此類中去除了超過v%的圖片,則計(jì)算被去除的圖片的視覺相似度,根據(jù)視覺相似度生成新的類,最后將所有被剔除并且沒有分入新類的圖片與所有景點(diǎn)再次進(jìn)行相似度比對(duì),小于閾值的則歸入此類,最終仍未歸類的圖片剔除出數(shù)據(jù)集,不再參與景點(diǎn)信息的生成;處理后得到主題相冊(cè);
5)添加文本信息,確定地理位置信息
將步驟4)得到的主題相冊(cè)進(jìn)行地理位置的確定:
采用先對(duì)主題相冊(cè)的圖片位置進(jìn)行K-means聚類,得到景點(diǎn)可能的潛在位置,得到潛在位置后,先假設(shè)包含圖片最多的位置為景點(diǎn)位置,若此位置位于其他位置所圍成的多邊形的內(nèi)部時(shí),則認(rèn)定此位置即為景點(diǎn)的位置;若此位置在多邊形外側(cè),但此位置所包含的的圖片數(shù)遠(yuǎn)多于其他位置時(shí),也認(rèn)定此位置為景點(diǎn)位置;若各個(gè)位置的圖片數(shù)量均衡,則取這些位置的中心作為景點(diǎn)位置;位置信息確定后,各個(gè)主題相冊(cè)即升級(jí)成為POI,通過對(duì)這些POI添加標(biāo)題,文字描述,歷史信息的文本描述,最終生成檢索用的景點(diǎn)信息,至此建立了用于檢索的景點(diǎn)信息數(shù)據(jù)庫;在本發(fā)明的最佳實(shí)施例中,采用m層,每層分k類的樹形結(jié)構(gòu)進(jìn)行分級(jí)K-means聚類,其中所述m為5,k為10。
6)相似度貢獻(xiàn)檢索結(jié)構(gòu)的建立:
采用分級(jí)K-means聚類的方法來對(duì)景點(diǎn)信息數(shù)據(jù)庫的特征進(jìn)行量化,生成視覺詞匯,根據(jù)視覺詞匯與景點(diǎn)的對(duì)應(yīng)關(guān)系建立相似度貢獻(xiàn)快速索引結(jié)構(gòu);
7)檢索:
對(duì)用戶提供的查詢圖提取視覺特征,并采用分級(jí)量化將視覺特征量化至相應(yīng)的視覺詞匯,根據(jù)相似度貢獻(xiàn)快速索引結(jié)構(gòu)獲得最終的檢索結(jié)果。
下面結(jié)合附圖對(duì)本發(fā)明做進(jìn)一步詳細(xì)描述:
參見圖1:
離線圖像庫的處理
離線子系統(tǒng)的目的主要是對(duì)大規(guī)模帶地理標(biāo)簽的圖像庫進(jìn)行離線處理,使其能夠更好的應(yīng)用于景點(diǎn)檢索,并最終生成包含在線檢索系統(tǒng)所需要的景點(diǎn)信息。離線子系統(tǒng)主要包括以下六個(gè)方面:1)圖像庫的預(yù)處理,2)對(duì)圖像庫內(nèi)圖像的視覺特征進(jìn)行描述,3)使用視覺特征對(duì)圖像庫圖像進(jìn)行分類,生成主題相冊(cè);4)添加文本信息以及地理位置信息形成景點(diǎn),5)利用中心信息與景點(diǎn)的映射建立視覺詞匯對(duì)于各個(gè)景點(diǎn)相似度貢獻(xiàn)的快速索引結(jié)構(gòu)。下面分別對(duì)這五個(gè)部分進(jìn)行介紹。
圖像庫預(yù)處理
圖像庫預(yù)處理的目的在于去除一些圖像庫中的噪聲。因?yàn)樵趫D像庫構(gòu)建的過程中,是根據(jù)關(guān)鍵詞在圖像庫中檢索然后進(jìn)行下載的。因?yàn)閳D像來自大量不同的用戶,用戶上傳圖像的質(zhì)量往往很不均衡,可能會(huì)有很多圖像亮度過高或過低,圖像內(nèi)容本身包含特別多的噪聲,或者圖像內(nèi)容不明確。這些圖像對(duì)于生成景點(diǎn)信息是沒有作用的,甚至有時(shí)會(huì)起到反作用,于是本發(fā)明中就先進(jìn)行了初步的預(yù)處理,旨在去除那些質(zhì)量較差的圖像。本發(fā)明中主要按照以下幾種原則去除圖像庫中的噪聲圖像:亮度過于極端的圖像,亮度對(duì)于視覺特征的提取有較大的影響,因此我們計(jì)算了數(shù)據(jù)集圖像的平均亮度,分別去除了亮度最高的1%及最低的1%的圖片。另外,對(duì)于不包含明確目標(biāo)的圖像也進(jìn)行了去除,例如單純拍照天空,大海的圖片,因?yàn)榇祟悎D片幾乎無法提取出有意義的視覺特征,會(huì)對(duì)生成景點(diǎn)數(shù)據(jù)造成影響。
圖像視覺特征提取
本發(fā)明中對(duì)于圖像視覺特征采用SIFT特征描述子進(jìn)行描述。SIFT特征是基于物體上的一些局部外觀的興趣點(diǎn),而與影像的大小和旋轉(zhuǎn)無關(guān)。對(duì)于光線、噪聲、微視角改變的也具有較強(qiáng)的魯棒性。這種描述具有尺度不變性,可在圖像中檢測(cè)出關(guān)鍵點(diǎn),是一種局部特征描述子
生成主題相冊(cè)
因?yàn)楸景l(fā)明最終要從圖像數(shù)據(jù)中提取出景點(diǎn),故需要先進(jìn)行POI的提取。通過圖像庫中的圖像所帶有的GPS信息,可以先按照地理位置對(duì)圖像進(jìn)行一次粗聚類。粗聚類結(jié)果作為我們生成景點(diǎn)信息的第一步結(jié)果。考慮到圖像集中部分圖像的位置信息并非拍照時(shí)生成,而是用戶手工標(biāo)注的,這種手工標(biāo)注有錯(cuò)誤的可能,故需在粗聚類結(jié)果中去除GPS信息錯(cuò)誤的圖像。本發(fā)明使用計(jì)算粗聚類結(jié)果圖像的視覺相似度,找出在此類中出現(xiàn)頻率最高的若干個(gè)視覺詞匯,若此類中某張圖片不包含這若干個(gè)視覺詞匯或者僅包含一個(gè),則將此圖片從此類中去除。若此類中去除了超過一定比例的圖片,則計(jì)算被去除的圖片的視覺相似度,根據(jù)視覺相似度生成新的類。最后將所有被剔除并且沒有分入新類的圖片與所有景點(diǎn)再次進(jìn)行相似度比對(duì),小于閾值的則歸入此類,最終仍未歸類的圖片將被剔除出數(shù)據(jù)集,不再參與景點(diǎn)信息的生成。
添加文本信息,確定地理位置信息
本步驟中,將上一步得到的主題相冊(cè)進(jìn)行地理位置的確定。我們發(fā)現(xiàn),單純的計(jì)算主題相冊(cè)中所有圖片位置的平均中心作為景點(diǎn)中心是有問題的。因?yàn)閳D片中會(huì)有用戶在較遠(yuǎn)的位置對(duì)景點(diǎn)進(jìn)行拍攝,若其他圖片的拍攝位置較為集中,則這一個(gè)單一特例會(huì)使得估算出的景點(diǎn)位置與實(shí)際位置有較大的偏差。因此我們采用先對(duì)主題相冊(cè)的圖片位置進(jìn)行K-means聚類,得到景點(diǎn)的幾個(gè)可能的具體位置。得到潛在位置后,先假設(shè)包含圖片最多的位置為景點(diǎn)位置,若此位置位于其他位置所圍成的多邊形的內(nèi)部時(shí),則認(rèn)定此位置即為景點(diǎn)的位置。若此位置在多邊形外側(cè),但此位置所包含的的圖片數(shù)遠(yuǎn)多于其他位置時(shí),也認(rèn)定此位置為景點(diǎn)位置,因?yàn)橥ㄟ^對(duì)數(shù)據(jù)集圖片的觀察,出現(xiàn)此種情況通常是因?yàn)榇司包c(diǎn)往往某個(gè)角度較為有特色,絕大多數(shù)用戶均傾向于在這個(gè)角度對(duì)此景點(diǎn)進(jìn)行拍攝,造成此類情況。若各個(gè)位置的圖片數(shù)相差不多,則取這些位置的中心作為景點(diǎn)位置。
位置信息確定后,各個(gè)主題相冊(cè)即升級(jí)成為POI,通過對(duì)這些POI添加標(biāo)題,文字描述,歷史信息等各方面的文本描述,最終生成我們檢索用的景點(diǎn)信息。
相似度貢獻(xiàn)檢索結(jié)構(gòu)的建立
作為實(shí)驗(yàn)室技術(shù)轉(zhuǎn)向產(chǎn)業(yè)化的應(yīng)用,在檢索系統(tǒng)進(jìn)行檢索時(shí),除了考慮檢索的準(zhǔn)確性之外,檢索的效率與時(shí)間復(fù)雜度也是需要重點(diǎn)考慮與優(yōu)化的部分。
傳統(tǒng)的檢索方式是進(jìn)行圖片之間相似度的比較,而相似度比較通常使用圖像視覺特征間的距離來衡量。眾所周知,即使是一個(gè)低分辨率的圖片,至少也包含幾百個(gè)視覺關(guān)鍵點(diǎn),若是高清圖片,甚至?xí)瑤兹f個(gè)關(guān)鍵點(diǎn)。傳統(tǒng)的量化方法,是對(duì)圖像集中所有的特征進(jìn)行聚類,聚類中心作為最終的視覺詞匯,而關(guān)鍵點(diǎn)的特征通過量化至視覺詞匯最終生成BOW直方圖用于圖像相似度比較。而對(duì)于一個(gè)大的圖像集,中心數(shù)肯能在幾萬甚至幾十萬,這使得每個(gè)特征點(diǎn)的量化都需要進(jìn)行大量的比對(duì),同時(shí)每張圖片的BOW直方圖也擁有極高的維數(shù),這些計(jì)算是極其消耗計(jì)算資源,同時(shí)也要消耗大量的時(shí)間。為解決時(shí)間復(fù)雜度的問題,本發(fā)明采用分級(jí)K-means聚類的方法來對(duì)特征進(jìn)行量化。本發(fā)明采用m層,每層分k類的樹形結(jié)構(gòu)進(jìn)行分級(jí)K-means聚類,經(jīng)過實(shí)驗(yàn),確定m為5,k為10時(shí)在準(zhǔn)確性及時(shí)間復(fù)雜度中取得了較好的平衡。通過這個(gè)樹形的聚類中心結(jié)構(gòu),使得特征點(diǎn)量化的計(jì)算減少了數(shù)個(gè)數(shù)量級(jí),同時(shí)隨著特征點(diǎn)數(shù)的增加,此方法的量化效率僅受層數(shù)以及每層分支數(shù)的影響,而這兩個(gè)數(shù)據(jù)相較于總的中心個(gè)數(shù)是非常小的數(shù)字,使得量化效率非常高。
本發(fā)明作為一個(gè)快速通過圖像進(jìn)行景點(diǎn)檢索的應(yīng)用,為了提高在線系統(tǒng)進(jìn)行相似度計(jì)算時(shí)的速度,引入了視覺詞匯相對(duì)于圖片的相似度貢獻(xiàn)這個(gè)概念。相似度貢獻(xiàn)是一個(gè)向量,每一維是指當(dāng)查詢圖中擁有此視覺詞匯時(shí),這個(gè)視覺詞匯對(duì)兩張圖完全相似所作出的貢獻(xiàn),其定義式為:
其中n為數(shù)據(jù)集中所有圖片數(shù),kij為第i個(gè)視覺詞匯中屬于第j幅圖的特征點(diǎn)數(shù),qj為第j個(gè)圖片的總特征點(diǎn)數(shù)。
計(jì)算出各個(gè)視覺詞匯相對(duì)于圖像的相似度貢獻(xiàn)向量之后需要對(duì)其進(jìn)行存儲(chǔ),因?yàn)閿?shù)據(jù)集中圖像數(shù)量巨大,但出現(xiàn)在一張圖像中的視覺詞匯僅為所有視覺詞匯的極少部分,向量中絕大多數(shù)值為0,若以矩陣的方式存儲(chǔ)會(huì)占用大量的存儲(chǔ)空間,因此采用可變長向量存儲(chǔ)每個(gè)視覺詞匯的相似度貢獻(xiàn)向量,向量中沒一維數(shù)據(jù)為記錄著得分以及圖片編號(hào)的結(jié)構(gòu)體。
在線景點(diǎn)檢索系統(tǒng)
本發(fā)明的景點(diǎn)檢索功能是在在線子系統(tǒng)中完成的。在線子系統(tǒng)分為兩個(gè)部分,分別為客戶端與服務(wù)器端??蛻舳税惭b在具有相機(jī),顯示屏以及網(wǎng)絡(luò)傳輸功能的移動(dòng)設(shè)備上,用于用戶在游覽景點(diǎn)時(shí)拍攝具體的景點(diǎn)圖像并進(jìn)行預(yù)處理,將所需信息上傳至服務(wù)器用于檢索。服務(wù)器端則有常駐的檢索程序用于快速響應(yīng)用戶請(qǐng)求并將檢索結(jié)果返回給客戶端。
客戶端:
客戶端主要協(xié)助用戶拍攝景點(diǎn)照片。隨著移動(dòng)設(shè)備硬件技術(shù)的發(fā)展,現(xiàn)在移動(dòng)設(shè)備已經(jīng)具有了不錯(cuò)的計(jì)算能力,可以快速的做到對(duì)圖片進(jìn)行預(yù)處理,壓縮,提取圖像特征等操作。由于提取出的圖像特征往往會(huì)有大量重復(fù)或者冗余的特征,客戶端可以對(duì)提取出的視覺特征進(jìn)行篩選,壓縮等操作,后將經(jīng)過預(yù)處理的圖像特征信息發(fā)送至服務(wù)端。通過傳輸壓縮后的特征,可以有效減少信息傳輸時(shí)的流量消耗,并減少服務(wù)器的計(jì)算壓力,提高響應(yīng)速度。
服務(wù)器端:
服務(wù)器端為一個(gè)常駐的檢索程序。檢索程序啟動(dòng)時(shí)將所有景點(diǎn)信息以及景點(diǎn)與圖像集中圖像的映射關(guān)系預(yù)先加載至緩存中,后掛起等待用戶輸入。當(dāng)用戶輸入進(jìn)入后即激活程序,進(jìn)行檢索算法,完成后返回客戶端。為保證及時(shí)響應(yīng)多個(gè)用戶請(qǐng)求,服務(wù)器端采用多線程架構(gòu)。檢索流程如下:
1)獲取用戶輸入
用戶輸入會(huì)根據(jù)用戶當(dāng)前的網(wǎng)絡(luò)狀況進(jìn)行調(diào)整。輸入有兩種情況,當(dāng)用戶網(wǎng)絡(luò)條件較好時(shí),將上傳壓縮后的圖像文件,服務(wù)器端程序?qū)⑻崛D片的SIFT特征;當(dāng)用戶網(wǎng)絡(luò)條件較差時(shí),客戶端會(huì)先行提取圖像的SIFT特征并進(jìn)行傳輸。當(dāng)檢索程序獲取到SIFT特征后將進(jìn)行存儲(chǔ),為下一步操作做準(zhǔn)備。
2)量化圖片并計(jì)算相似度
采用之前生成的相似度貢獻(xiàn)快速索引結(jié)構(gòu)計(jì)算查詢圖與數(shù)據(jù)中圖片相似度。因?yàn)樵陔x線系統(tǒng)我們已經(jīng)進(jìn)行了分級(jí)聚類量化操作,并記錄了每一層各個(gè)節(jié)點(diǎn)的信息。因此,我們可以對(duì)圖片進(jìn)行快速量化。同時(shí),相似度貢獻(xiàn)索引可以幫助我們?cè)趫D片量化的同時(shí)即可進(jìn)行圖片的相似度計(jì)算工作,避免了傳統(tǒng)檢索方法中的冗余操作。將相似度計(jì)算的時(shí)間復(fù)雜度從O(n2)降低至O(n);
3)對(duì)景點(diǎn)進(jìn)行打分并排序
當(dāng)獲取到查詢圖對(duì)數(shù)據(jù)集中所有圖片的相似度后,我們即可通過圖片與景點(diǎn)的映射關(guān)系獲取查詢圖拍攝的是哪個(gè)景點(diǎn)的可能性得分,打分公式如下:
其中ssi為第i個(gè)景點(diǎn)相對(duì)于查詢圖的得分,pi為TopN結(jié)果中屬于第i個(gè)景點(diǎn)的圖片數(shù),q為視覺詞匯數(shù),ak為第j張圖片中量化至第k個(gè)視覺詞匯的特征個(gè)數(shù),skj為第k個(gè)視覺詞匯對(duì)第j張圖片的相似度貢獻(xiàn)。
經(jīng)過測(cè)試,選擇相似度排名前100的圖片用于景點(diǎn)得分的計(jì)算取的了較好的檢索結(jié)果。
參見圖2:本發(fā)明的實(shí)際演示系統(tǒng):
為了驗(yàn)證提出系統(tǒng)的可行性,本發(fā)明在安卓系統(tǒng)上開發(fā)了用戶端界面,并搭建服務(wù)器以提供景點(diǎn)檢索的功能。演示系統(tǒng)的整體架構(gòu)如圖2所示。整個(gè)演示系統(tǒng)分為在線系統(tǒng)與離線系統(tǒng)兩個(gè)部分。而每個(gè)子系統(tǒng)均為三層架構(gòu),分別為用戶界面層,中間服務(wù)層,數(shù)據(jù)服務(wù)層。每層架構(gòu)的具體實(shí)現(xiàn)功能如下:
1)用戶界面層:
用戶界面層主要針對(duì)系統(tǒng)的操作人員。對(duì)于離線系統(tǒng),即為后臺(tái)的數(shù)據(jù)維護(hù)人員。當(dāng)有新的圖像數(shù)據(jù)進(jìn)入時(shí),維護(hù)人員負(fù)責(zé)將其導(dǎo)入離線處理系統(tǒng),由系統(tǒng)自動(dòng)對(duì)其進(jìn)行特征提取,歸類之響應(yīng)景點(diǎn)。同時(shí)也要處理用戶反饋的錯(cuò)誤分類信息,通過不斷給系統(tǒng)反饋信息以提高檢索準(zhǔn)確性;在線部分的用戶界面層主要針對(duì)旅游用戶,為其提供景點(diǎn)檢索功能的入口,規(guī)劃路線,以及展示景點(diǎn)檢索結(jié)果。此部分功能可以通過配合公開的地圖API實(shí)現(xiàn)。
2)中間服務(wù)層
這一層次架構(gòu)為整個(gè)系統(tǒng)核心層架構(gòu)。對(duì)于離線系統(tǒng),其負(fù)責(zé)維護(hù)數(shù)據(jù)庫圖片相關(guān)信息,圖片庫處理,景點(diǎn)生成,快速索引結(jié)構(gòu)生成等一系列操作;對(duì)于在線系統(tǒng),本層結(jié)構(gòu)是用戶與靜態(tài)數(shù)據(jù)之間的橋梁。其負(fù)責(zé)在線獲取用戶輸入,完成景點(diǎn)快速檢索,檢索結(jié)果錄入數(shù)據(jù)庫以及將最終結(jié)果返回給用戶界面層等一系列操作??焖倬包c(diǎn)檢索方法的主要操作均在此層結(jié)構(gòu)中完成。
3)數(shù)據(jù)服務(wù)層
此層架構(gòu)主要使用數(shù)據(jù)庫及文件系統(tǒng)完成。主要以文件形式記錄離線系統(tǒng)生成的用于景點(diǎn)檢索的各項(xiàng)靜態(tài)數(shù)據(jù);以數(shù)據(jù)庫的形式記錄景點(diǎn)信息,圖片與景點(diǎn)的映射關(guān)系,以及用戶信息等數(shù)據(jù)。
圖3顯示用戶通過拍照獲取景點(diǎn)信息的一次操作流程。
為充分利用多核CPU的性能,檢索程序編寫為多線程形式。此應(yīng)用服務(wù)部署在一個(gè)雙核3.3GHz CPU,8G內(nèi)存的普通PC上。經(jīng)過測(cè)試,即使不使用高性能服務(wù)器,檢索程序的單用戶訪問響應(yīng)時(shí)間也小于0.5秒(不包括網(wǎng)絡(luò)傳輸?shù)臅r(shí)間),多用戶并發(fā)訪問時(shí)平均響應(yīng)時(shí)間也在5秒之內(nèi),基本符合應(yīng)用需求。證明此發(fā)明可以做到針對(duì)大規(guī)模景點(diǎn)數(shù)據(jù)集的快速景點(diǎn)檢索。在檢索到景點(diǎn)之后,系統(tǒng)會(huì)同時(shí)返回景點(diǎn)名稱,景點(diǎn)描述信息,景點(diǎn)相冊(cè)等數(shù)據(jù)。并且可以通過開源的語音合成技術(shù)為用戶語音播報(bào)導(dǎo)游詞,完成自助導(dǎo)游的各項(xiàng)功能。