一種基于內(nèi)容的視頻檢索數(shù)學(xué)模型建立方法
【專利說明】
[0001]
技術(shù)領(lǐng)域 本發(fā)明屬于多媒體數(shù)字視頻應(yīng)用領(lǐng)域,特別涉及一種基于內(nèi)容的視頻檢索方法及系 統(tǒng)。
【背景技術(shù)】
[0002] 基于內(nèi)容的視頻檢索(CBID)是能夠根據(jù)視頻內(nèi)容快速搜索視頻對象的技術(shù)。通 過特征抽取將視頻對象映射為高維向量空間中的點(diǎn)(即提取視頻指紋),這樣就將視頻對 象的相似性搜索問題轉(zhuǎn)化為高維空間中的最近鄰查找問題。
[0003] 對于海量數(shù)據(jù)而言,如何建立有效的索引結(jié)構(gòu)師提高檢索精度和效率的關(guān)鍵問 題,現(xiàn)在比較流行的多維索引技術(shù)包括gridfile、k-d-B樹、四叉樹、Hb樹、R樹及其變種R+ 樹和R*樹等,這些都是基于空間或基于數(shù)據(jù)分布的劃分方法,在維度不太高(10維以下) 的情況下具有良好的性能。
[0004] 多維索引技術(shù)還包括一些適合于更高維的索引方法,如向量近似法(VA-file)、 LSH(Locality Sensitive Hashing,局部敏感哈希表)、空間填充曲線(space-filling curve)等。
[0005] 現(xiàn)在技術(shù)中無論采用哪種多維索引技術(shù)都是在一臺(tái)服務(wù)器中完成相關(guān)處理,這樣 基于內(nèi)容的視頻檢索的效率較低。
【發(fā)明內(nèi)容】
[0006] 為了解決基于內(nèi)容的視頻檢索的效率較低的問題,本發(fā)明實(shí)施例提供了一種基于 內(nèi)容的視頻檢索方法,該方法應(yīng)用于內(nèi)容尋址網(wǎng)絡(luò),在內(nèi)容尋址網(wǎng)絡(luò)笛卡爾坐標(biāo)空間中的 結(jié)點(diǎn)上設(shè)有多個(gè)服務(wù)器,包括:
[0007] 獲取模塊獲取待檢測視頻幀的特征向量;
[0008] 查找模塊根據(jù)視頻指紋庫中待比較敏感視頻幀特征向量的索引號(hào),以及預(yù)定義的 轉(zhuǎn)換規(guī)則,從內(nèi)容尋址網(wǎng)絡(luò)中各服務(wù)器的笛卡爾坐標(biāo)中查找到對應(yīng)保存有待比較敏感視頻 幀特征向量的服務(wù)器的笛卡爾坐標(biāo);
[0009] 發(fā)送模塊根據(jù)查找到的笛卡爾坐標(biāo),將待檢測視頻幀的特征向量發(fā)送給對應(yīng)服務(wù) 器的檢索模塊;
[0010] 檢索模塊判斷待檢測視頻幀的特征向量和待比較敏感視頻幀特征向量的相似度, 并確定匹配的敏感視頻特征向量。
[0011] 同時(shí)本發(fā)明實(shí)施例還提供一種基于內(nèi)容的視頻檢索系統(tǒng),包括:
[0012] 視頻指紋庫:用于保存具有索引號(hào)的敏感視頻幀特征向量,所述視頻指紋庫,均勻 分布在內(nèi)容尋址網(wǎng)絡(luò)笛卡爾坐標(biāo)空間結(jié)點(diǎn)上的多個(gè)服務(wù)器中;
[0013] 獲取模塊:用于獲取待檢測視頻幀的特征向量;
[0014] 查找模塊:用于根據(jù)視頻指紋庫中待比較敏感視頻幀特征向量的索引號(hào),以及預(yù) 定義的轉(zhuǎn)換規(guī)則,從各服務(wù)器的笛卡爾坐標(biāo)中查找到對應(yīng)保存有待比較敏感視頻幀特征向 量的服務(wù)器的笛卡爾坐標(biāo);
[0015] 發(fā)送模塊:用于根據(jù)查找到的笛卡爾坐標(biāo),將待檢測視頻幀的特征向量發(fā)送給對 應(yīng)服務(wù)器的檢索模塊;
[0016] 檢索模塊:用于判斷待檢測視頻幀的特征向量和待比較敏感視頻幀特征向量的相 似度,并確定匹配的敏感視頻特征向量。
[0017] 由上述本發(fā)明提供的具體實(shí)施方案可以看出,正是由于應(yīng)用內(nèi)容尋址網(wǎng)絡(luò)對視頻 指紋庫進(jìn)行合理組織,建立索引,獲取待檢測視頻實(shí)例后,采用某種檢索算法從指紋庫中查 找最匹配的敏感視頻特征向量,使得視頻檢索的效率得到提高。
【附圖說明】
[0018] 圖1為本發(fā)明提供的第一實(shí)施例方法流程圖;
[0019] 圖2為本發(fā)明提供的內(nèi)容尋址網(wǎng)絡(luò)示意圖;
[0020] 圖3為本發(fā)明提供的第二實(shí)施例系統(tǒng)結(jié)構(gòu)圖
【具體實(shí)施方式】
[0021] 為了解決基于內(nèi)容的視頻檢索的效率較低的問題,本發(fā)明實(shí)施例提供一種基于內(nèi) 容的視頻檢索方法,以提高檢索效率,適應(yīng)大規(guī)模網(wǎng)絡(luò)視頻檢索的需要。當(dāng)用戶輸入待測視 頻實(shí)例時(shí),采用一定的檢索算法從指紋庫中找出最匹配的敏感視頻幀以及對應(yīng)的敏感視頻 片段,并將所對應(yīng)的相似敏感視頻片段返回給用戶。這里的視頻指紋是指從原始視頻數(shù)據(jù) 中提取的視頻幀特征向量,可代表該視頻的內(nèi)容。
[0022] 其中,向量近似法能夠解決精確最近鄰檢索的問題,而其他方法則只針對近似最 近鄰檢索。由于視頻指紋本身就是視頻內(nèi)容的近似表示,空間特征向量的最近鄰并不意味 著視頻內(nèi)容上的最近鄰,所以即使是精確最近鄰檢索,也武保證得到最準(zhǔn)確的查詢結(jié)果。而 且,在很多情況下,選擇合適的近似查詢算法可返回與精確查詢算法相同的結(jié)果。且具有 更高的效率。視頻檢索需要的是一個(gè)精度與效率的平衡。特別是在數(shù)據(jù)規(guī)模較大、對響 應(yīng)時(shí)間要求較高的場合,近似最近鄰檢索將發(fā)揮更加重要的作用,因此作為優(yōu)選方案采用 LSH(LocalitySensitive Hashing)算法。
[0023] LSH算法首先由Indyk和Motwani提出,利用統(tǒng)計(jì)學(xué)理論,可在保證一定正確率 (以概率方式)的前提下,快速解決k-近鄰查詢問題。論文《Similarity Search inHigh Dimensions via Hashing》給出了核算法的具體實(shí)現(xiàn)步驟,其基本思想是,對于點(diǎn)數(shù)據(jù)集, 利用一組具有一定約束條件的哈希函數(shù)建立多個(gè)哈希表,使得在某種相似度量條件下,相 似的點(diǎn)發(fā)生沖突的概率較大,而不相似的點(diǎn)發(fā)生沖突的概率相對較小。
[0024] 本發(fā)明提供的第一實(shí)施例是以中國基于內(nèi)容的視頻檢索方法,本實(shí)施例中采用 LSH算法進(jìn)行索引建立,LSH函數(shù)定義為:一組哈希函數(shù)H= {hl,為正整數(shù),對于 數(shù)據(jù)點(diǎn) P,q,若 P,q 之間的距離 D(p,q) <R,則 P[hi(q) =hi(p)] >P1,若 D(p,q) <cR,則 P[hi(q) =hi(p)] <P2。其中函數(shù)P(.)是概率函數(shù),P1、P2為給定的概率,Pl >P2,i為隨 機(jī)數(shù)i e {1,…,m}。這組哈希函數(shù)被稱為以(R,cR,Pl,P2)為參數(shù)的LSH函數(shù)組。其中數(shù) 據(jù)點(diǎn)P,q對應(yīng)本實(shí)施例中不同的敏感視頻幀特征向量LSH函數(shù)為
其中向量5滿足正態(tài)分布(高斯分布),w為任意實(shí)數(shù),b為[0,w]之間的任意實(shí)數(shù)。方法流 程如圖1所示,包括:步驟101 :將η個(gè)敏感視頻幀特征向量映射到L個(gè)哈希表g中。
[0025] 在視頻指紋庫中有η個(gè)敏感視頻幀特征向量'采用LSH算法進(jìn)行索引建立, 用L個(gè)哈希函數(shù)g(.)將η個(gè)敏感視頻幀特征向量9映射到L個(gè)哈希表g中,例如:有 10個(gè)敏感視頻幀特征向量Pl、^2、^3、^4、^5、h、?7、^8、和^10,其中 石1、卩2、石3、 :?4和立5被映射到哈希表81中,其余5個(gè)立6、巧7、立8、:^9和910被映射 到哈希表g2中,采用不同的哈希函數(shù)g(.)被映射到哈希表的敏感視頻幀特征向量F會(huì)不 同,如^1、^3、和被映射到哈希表gl中,其余5個(gè)^2、^4、^6、和^lO被映 射到哈希表g2中。
[0026] 步驟102 :各哈希表g中的敏感視頻幀特征向量通過LSH函數(shù)進(jìn)行散列,對所得結(jié) 果再進(jìn)行二次散列,每個(gè)哈希表中的敏感視頻幀特征向量被映射到多個(gè)散列桶中。
[0027] 其中哈希表
其中H 為1^函數(shù)族,即一組哈希函數(shù)!1={111,"《,11111}。如對81哈希表中的:?1、:?2、93、94 和4進(jìn)行二次散列,將Pi、^2、^3、^4和映射到7個(gè)散列桶中。哈希表
表不米用hl0),!^0),!! 30), h4(1)函數(shù)將vi、交2、交3、立4和h 映射到7個(gè)散列桶中。如通過hl(1)將V 1和^ 5映射到第一個(gè)散列桶,將▽ 2、7 3和F 4映射到第 二個(gè)散列桶,通過h2(1)將71、72、和映射到第三個(gè)散列桶,通過h3?將^和^5映 射到第四個(gè)散列桶,將V 1、^3和^4映射到第五個(gè)散列桶,通過h4(1)將Vl和^4映射到第六 個(gè)散列桶,將P 2、7 3和P 5映射到第七個(gè)散列桶。
[0028] 步驟103 :根據(jù)L個(gè)哈希表的編號(hào)及預(yù)定于一的轉(zhuǎn)換規(guī)則,確定L個(gè)哈希表編號(hào)在 內(nèi)容尋址網(wǎng)絡(luò)中對應(yīng)的笛卡爾坐標(biāo)。
[0029] 將哈希表gl的編號(hào)表示為二進(jìn)制序列X如0100001010.設(shè)
,其中d為虛 擬空間的維度如d = 2, m為二進(jìn)制序列X的位數(shù)10.將X從低位向高位進(jìn)行分組,每8位 為一組,共分為2組(最后一組可不滿8位),第一組為00001010,第二組為10,對應(yīng)虛擬空 間中的2維。計(jì)算每組的十進(jìn)制值xi(i = 1,…,d),第一組為10,第二組為l,xi%2rf為所 對應(yīng)的結(jié)點(diǎn)的第i維坐標(biāo),即0100001010對應(yīng)的笛卡爾坐標(biāo)為(2,1)。
[0030] 在本實(shí)施例中采用哈希表g的編號(hào)作為敏感視頻幀特征向量的索引號(hào)。
[0031] 步驟104 :根據(jù)哈希表g的編號(hào)和笛卡爾坐標(biāo)的對應(yīng)關(guān)系,將L個(gè)哈希表(內(nèi)含映 射到其中的敏感視頻幀特征向量)分布在內(nèi)容尋址網(wǎng)絡(luò)中的N個(gè)服務(wù)器中保存,每個(gè)服務(wù) 器在內(nèi)容尋址網(wǎng)絡(luò)中都具有對應(yīng)的笛卡爾坐標(biāo),其中N < L。
[0032] 8號(hào)服務(wù)器(哈希表編號(hào)0100001010)對應(yīng)的笛卡爾坐標(biāo)為(2,1),該服務(wù)器中保 存有哈希表gl.其中具有笛卡爾坐標(biāo)的各服務(wù)器的內(nèi)容尋址網(wǎng)絡(luò)示意圖如圖2所示。
[0033] 步驟105 :內(nèi)容尋址網(wǎng)絡(luò)中任意一服務(wù)器的獲取模塊獲取待檢測視頻幀的特征向 量Vq。
[0034] 步驟106 :獲取Pq的服務(wù)器的查找模塊,依次根據(jù)待比較敏感視頻幀特征向量所 在哈希表的編號(hào)確定該哈希表所在服務(wù)器的笛卡爾坐標(biāo)。
[0035] 如待比較敏感視頻幀特征向量在哈希表gl中,4號(hào)服務(wù)器的查找模塊首先要確定 哈希表gl所在8號(hào)服務(wù)器的笛卡爾坐標(biāo),根據(jù)哈希表gl的編號(hào)確定8號(hào)服務(wù)器對應(yīng)的笛 卡爾坐標(biāo)為(2,1)。
[0036] 步驟107 :獲取巧的服務(wù)器的發(fā)送模塊將以發(fā)送到存儲(chǔ)待比較敏感視頻幀特征向 量所在的哈希表的服務(wù)器的檢索模塊。
[0037] 4號(hào)服務(wù)器對應(yīng)的笛卡爾坐標(biāo)為(1,1),因?yàn)榈芽栕鴺?biāo)為(1,1)和笛卡爾坐標(biāo)為 (2,1)相鄰,4號(hào)服務(wù)器的發(fā)送模塊直接將發(fā)送到8號(hào)服務(wù)器的檢索模塊。
[0038] 若獲取模塊獲取待檢測視頻幀的特征向量的服務(wù)器不是4號(hào)服務(wù)器而是8號(hào)服 務(wù)器,則8號(hào)服務(wù)器的發(fā)送模塊直接發(fā)送到本服務(wù)器的檢索模塊。
[0039] 步驟108 :存儲(chǔ)待比較敏感視頻幀特征向量所在的哈希表的服務(wù)器的檢索模塊對 進(jìn)行二次散列,將其映射到哈希表的散列桶中。
[0040] 檢索模塊對進(jìn)行二次散列將其映射到哈希表gl的第一個(gè)散列桶中。