一種基于內容的視頻檢索方法及裝置與流程

文檔序號:18684955發布日期:2019-09-13 23:52
一種基于內容的視頻檢索方法及裝置與流程

本發明涉及計算機搜索技術領域,更具體地,涉及一種基于內容的視頻檢索方法及裝置。



背景技術:

隨著互聯網技術的飛速發展、視頻采集設備以及視頻編輯軟件的不斷更新,網絡上流傳的視頻數量呈爆炸式增長。各種社交應用上每天都會有大量的視頻被上傳、下載和分享。人們在能很方便的獲取各種視頻資源的同時,還可以利用各種視頻編輯軟件對視頻進行編輯,如可以從簡單的視頻格式轉換到視頻剪輯、多種變換混合等。這導致社交應用服務器上會存儲許多重復或近似重復的視頻,從而耗費了大量的存儲空間。因此,如何檢索出視頻數據庫中重復或近似重復的視頻是人們關注的重點。現有的視頻檢索技術主要是先通過提取目標視頻中的目標關鍵幀,根據目標關鍵幀編碼對由視頻關鍵幀編碼構成的哈希表進行檢索。當在哈希表中檢索到與目標關鍵幀編碼相似的關鍵幀編碼時,則可確定目標視頻為重復或近似重復的視頻。

在實現本發明的過程中,發現現有技術至少存在以下問題:

由于在對目標視頻進行檢索時,通常是將目標視頻作為關鍵幀靜態圖像集合來處理,而視頻之間通常會存在場景相似的關鍵幀,從而導致在對由視頻關鍵幀哈希編碼構成的哈希表進行檢索,可能會檢索出與目標視頻關鍵幀編碼相似、但與目標視頻關鍵幀時序交錯的視頻關鍵幀編碼。根據單純基于關鍵幀編碼相似性的判斷機制,目標視頻會被判定為重復或近似重復的視頻。但實際上,在不同視頻中由于相似場景發生的時序并不同,相似視頻關鍵幀編碼對應的視頻與目標視頻在全局上并不重復,上述判斷結果會導致目標視頻被誤判為重復或近似重復的視頻。因此,視頻檢索時的準確率較低。



技術實現要素:

本發明提供一種克服上述問題或者至少部分地解決上述問題的。

根據本發明的一個方面,提供了一種基于內容的視頻檢索方法,該方法包括:

對于目標視頻中任一目標關鍵幀,根據任一目標關鍵幀編碼對由關鍵幀編碼構成的多個哈希表進行檢索,確定與任一目標關鍵幀編碼匹配的關鍵幀編碼;

計算任一目標關鍵幀編碼與每個匹配關鍵幀編碼之間的相似度分值;

基于關鍵幀的時序信息,根據每個目標關鍵幀編碼與每個匹配關鍵幀編碼之間的相似度分值,計算目標視頻與每個匹配視頻之間的整體相似度分值;

將每個匹配視頻對應的整體相似度分值與自適應得分閾值進行比較,將大于自適應得分閾值的整體相似度分值對應的匹配視頻作為檢索結果。

根據本發明的另一個方面,提供了一種基于內容的視頻檢索裝置,該裝置包括:

檢索模塊,用于對于目標視頻中任一目標關鍵幀,根據任一目標關鍵幀編碼對由關鍵幀編碼構成的多個哈希表進行檢索,確定與任一目標關鍵幀編碼匹配的關鍵幀編碼;

第一計算模塊,用于計算任一目標關鍵幀編碼與每個匹配關鍵幀編碼之間的相似度分值;

第二計算模塊,用于基于關鍵幀的時序信息,根據每個目標關鍵幀編碼與每個匹配關鍵幀編碼之間的相似度分值,計算目標視頻與每個匹配視頻之間的整體相似度分值;

比較模塊,用于將每個匹配視頻對應的整體相似度分值與自適應得分閾值進行比較,將大于自適應得分閾值的整體相似度分值對應的匹配視頻作為檢索結果。

本申請提出的技術方案帶來的有益效果是:

通過根據任一目標關鍵幀編碼對由關鍵幀編碼構成的多個哈希表進行檢索,確定與任一目標關鍵幀編碼匹配的關鍵幀編碼。計算任一目標關鍵幀編碼與每個匹配關鍵幀編碼之間的相似度分值。基于關鍵幀的時序信息,根據每個目標關鍵幀編碼與每個匹配關鍵幀編碼之間的相似度分值,計算目標視頻與每個匹配視頻之間的整體相似度分值。將每個匹配視頻對應的整體相似度分值與自適應得分閾值進行比較,將大于自適應得分閾值的整體相似度分值對應的匹配視頻作為檢索結果。由于在考慮到關鍵幀圖像內容相似性的基礎上,還考慮到了視頻幀之間的時序關系,從而在檢測出重復或近似重復的視頻,能夠依據時序關系區分出部分內容相似的不同視頻。因此,視頻檢索時的準確率較高,區分重復視頻時的效果較好。

附圖說明

圖1為本發明實施例的一種基于內容的視頻檢索方法的流程示意圖;

圖2為本發明實施例的一種基于內容的視頻檢索方法的流程示意圖;

圖3為本發明實施例的一種關鍵幀匹配對的存儲結構示意圖;

圖4為本發明實施例的一種相似度分值的統計直方圖;

圖5為本發明實施例的一種相似度分值的統計直方圖;

圖6為本發明實施例的一種相似度分值的統計直方圖;

圖7為本發明實施例的一種基于內容的視頻檢索裝置的結構示意圖;

圖8為本發明實施例的一種第二計算模塊的結構示意圖。

具體實施方式

下面結合附圖和實施例,對本發明的具體實施方式作進一步詳細描述。以下實施例用于說明本發明,但不用來限制本發明的范圍。

隨著視頻采集設備及視頻編輯軟件的不斷更新,網絡上流傳的視頻數量呈爆炸式增長。各種社交應用上每天都會有大量的視頻被上傳、下載和分享。人們在上傳原創視頻之外,還可以利用各種視頻編輯軟件對已有視頻進行編輯,如可以從簡單的視頻格式轉換到視頻剪輯、多種變換混合等,從而將自己制作的視頻上傳到網絡中。這讓服務器上會存儲許多重復或近似重復的視頻,從而耗費了大量的存儲空間,導致可用存儲空間與視頻增長速度之間失衡。

針對上述問題,可先建立視頻檢索數據庫,再通過在視頻檢索數據庫中對上傳視頻進行檢索,從而驗證上傳視頻是否與服務器中已存儲的視頻重復。其中,建立視頻檢索數據庫的過程可如下所示:對于服務器中存儲的任一視頻,提取服務器中該視頻的關鍵幀;對提取的關鍵幀進行圖像特征提取,得到圖像特征數據;對圖像特征數據進行關鍵幀編碼,從而建立該視頻對應的關鍵幀編碼集合。通過得到每個視頻對應的關鍵幀編碼集合,可得到視頻數據庫的哈希表。

基于由關鍵幀編碼集合構成的關鍵幀編碼哈希表,現有的視頻檢索技術主要是先通過提取目標視頻中的目標關鍵幀,根據目標關鍵幀編碼對由視頻關鍵幀編碼構成的哈希表進行檢索。當在哈希表中檢索到目標關鍵幀編碼時,則可確定目標視頻為重復或近似重復的視頻。由于在對目標視頻進行檢索時,通常是將目標視頻作為關鍵幀靜態圖像集合來處理,而視頻之間通常會存在場景相似的關鍵幀,從而導致在對由視頻關鍵幀哈希編碼構成的哈希表進行檢索,可能會檢索出與目標視頻關鍵幀編碼相似、但與目標視頻關鍵幀時序交錯的視頻關鍵幀編碼。根據單純基于關鍵幀編碼相似性的判斷機制,目標視頻會被判定為重復或近似重復的視頻。但實際上,在不同視頻中由于相似場景發生的時序并不同,相似視頻關鍵幀編碼對應的視頻與目標視頻在全局上并不重復,上述判斷結果會導致目標視頻被誤判為重復或近似重復的視頻。因此,視頻檢索時的準確率較低。

例如,當用戶上傳視頻中關鍵幀對應的圖像是海洋場景時,此時,在服務器中勢必會存在許多包含海洋場景的視頻,且對應的關鍵幀編碼很可能會非常近似。若用戶上傳視頻中的內容與服務器中存儲視頻的內容僅僅只是海洋場景近似,而海洋場景發生的時序并不相同。即查詢到的視頻與目標視頻在全局上可能并不重復。根據單純基于關鍵幀編碼相似性的判斷機制,該用戶上傳視頻會被誤判為重復或近似重復視頻。

由于在對用戶上傳的目標視頻進行檢索時,可能會檢索到某一視頻中某一幀編碼與目標視頻中的關鍵幀編碼近似。但當目標視頻內容實質上與服務器中存儲的視頻內容不同時,近似關鍵幀對應的時序序號差異會很大。基于上述原理,針對現有技術中的問題,本實施例提供了一種基于內容的視頻檢索方法,該視頻檢索方法流程包括:101、對于目標視頻中任一目標關鍵幀,根據任一目標關鍵幀編碼對由關鍵幀編碼構成的多個哈希表進行檢索,確定與任一目標關鍵幀編碼匹配的關鍵幀編碼。102、計算任一目標關鍵幀編碼與每個匹配關鍵幀編碼之間的相似度分值。103、基于關鍵幀的時序信息,根據每個目標關鍵幀編碼與每個匹配關鍵幀編碼之間的相似度分值,計算目標視頻與每個匹配視頻之間的整體相似度分值。104、將每個匹配視頻對應的整體相似度分值與自適應得分閾值進行比較,將大于自適應得分閾值的整體相似度分值對應的匹配視頻作為檢索結果。

101、對于目標視頻中任一目標關鍵幀,根據任一目標關鍵幀編碼對由關鍵幀編碼構成的多個哈希表進行檢索,確定與任一目標關鍵幀編碼匹配的關鍵幀編碼。

102、計算任一目標關鍵幀編碼與每個匹配關鍵幀編碼之間的相似度分值。

103、基于關鍵幀的時序信息,根據每個目標關鍵幀編碼與每個匹配關鍵幀編碼之間的相似度分值,計算目標視頻與每個匹配視頻之間的整體相似度分值。

104、將每個匹配視頻對應的整體相似度分值與自適應得分閾值進行比較,將大于自適應得分閾值的整體相似度分值對應的匹配視頻作為檢索結果。

本發明實施例提供的方法,通過根據任一目標關鍵幀編碼對由關鍵幀編碼構成的多個哈希表進行檢索,確定與任一目標關鍵幀編碼匹配的關鍵幀編碼。計算任一目標關鍵幀編碼與每個匹配關鍵幀編碼之間的相似度分值。基于關鍵幀的時序信息,根據每個目標關鍵幀編碼與每個匹配關鍵幀編碼之間的相似度分值,計算目標視頻與每個匹配視頻之間的整體相似度分值。將每個匹配視頻對應的整體相似度分值與自適應得分閾值進行比較,將大于自適應得分閾值的整體相似度分值對應的匹配視頻作為檢索結果。由于在考慮到關鍵幀圖像內容相似性的基礎上,還考慮到了視頻幀之間的時序關系,從而在檢測出重復或近似重復的視頻,能夠依據時序關系區分出部分內容相似的不同視頻。因此,視頻檢索時的準確率較高,區分重復視頻時的效果較好。

作為一種可選實施例,根據任一目標關鍵幀編碼對由關鍵幀編碼構成的多個哈希表進行檢索,確定與任一目標關鍵幀編碼匹配的關鍵幀編碼,包括:

按照構造多個哈希表中關鍵幀編碼的方式,將任一目標關鍵幀編碼拆分成預設數量個子編碼;

對于任一子編碼,在多個哈希表中查詢與任一子編碼之間的海明距離小于預設閾值的所有匹配子編碼,將查詢到的每個匹配子編碼對應的關鍵幀編碼作為與任一目標關鍵幀編碼匹配的關鍵幀編碼。

作為一種可選實施例,計算任一目標關鍵幀編碼與每個匹配關鍵幀編碼之間的相似度分值,包括:

對于任一匹配關鍵幀編碼,計算任一目標關鍵幀與任一匹配關鍵幀編碼之間相匹配子編碼的海明距離;

基于預設閾值,將每對相匹配子編碼的海明距離進行迭加,將迭加結果作為任一目標關鍵幀編碼與任一匹配關鍵幀編碼之間的匹配參數;

根據匹配參數,計算任一目標關鍵幀編碼與任一匹配關鍵幀編碼之間的相似度分值。

作為一種可選實施例,基于關鍵幀的時序信息,根據每個目標關鍵幀編碼與每個匹配關鍵幀編碼之間的相似度分值,計算目標視頻與每個匹配視頻之間的整體相似度分值,包括:

對于任一匹配視頻,按照關鍵幀的時序信息,計算任一匹配視頻與目標視頻之間關鍵幀匹配對所對應的幀序變化率;

計算每個幀序變化率對應的量化映射值;

對于任一種量化映射值,確定具有相同量化映射函數值的幀序變化率所對應的關鍵幀匹配對,對滿足條件的關鍵幀匹配對所對應的相似度分值進行迭加,將迭加得到的結果作為任一種量化映射值對應的相似度分值;

選取所有量化映射值對應的相似度分值中最大相似度分值,將最大相似度分值作為目標視頻與任一匹配視頻之間的整體相似度分值。

作為一種可選實施例,按照關鍵幀的時序信息,計算任一匹配視頻與目標視頻之間關鍵幀匹配對所對應的幀序變化率,包括:

對于任意兩組關鍵幀匹配對,對第一組與第二組關鍵幀匹配對中的目標關鍵幀序號做差值,得到第一差值;

對第一組與第二組關鍵幀匹配對中的匹配關鍵幀序號做差值,得到第二差值;

將第二差值除以第一差值,得到對應的商值,將商值的絕對值作為任意兩組關鍵幀匹配對所對應的幀序變化率。

上述所有可選技術方案,可以采用任意結合形成本發明的可選實施例,在此不再一一贅述。

本發明實施例提供了一種基于內容的視頻檢索方法,該方法可運用于存儲視頻的服務器上,本實施例對此不作具體限定。基于圖1對應實施例中的內容,由于在提取目標視頻的關鍵幀時,提取到的關鍵幀數量通常不只一個。因此,在本實施例提供的方法中,一些過程會以目標視頻中任一目標關鍵幀為例,對便于進行說明。其中,目標視頻即為待查詢視頻。參見圖2,本實施例提供的方法流程包括:201、根據目標關鍵幀編碼對由關鍵幀編碼構成的多個哈希表進行檢索,確定與關鍵幀編碼匹配的關鍵幀編碼。202、計算目標關鍵幀編碼與每個匹配關鍵幀編碼之間的相似度分值。203、基于關鍵幀的時序信息,根據每個目標關鍵幀編碼與每個匹配關鍵幀編碼之間的相似度分值,計算目標視頻與每個匹配視頻之間的整體相似度分值。204、將每個匹配視頻對應的整體相似度分值與自適應得分閾值進行比較,將大于自適應得分閾值的整體相似度分值對應的匹配視頻作為檢索結果。

其中,201、根據目標關鍵幀編碼對由關鍵幀編碼構成的多個哈希表進行檢索,確定與關鍵幀編碼匹配的關鍵幀編碼。

由于本實施例提供的視頻檢索方法是基于多個哈希表的,為了便于理解,在執行本步驟之前在此先對構建多個哈希表的過程進行簡單地描述。一種基于編碼劃分的哈希表構建方式:將每個關鍵幀編碼拆成若干部分,將每個關鍵幀編碼相同部分所對應的子編碼構成相應的子哈希表,從而再由多個子哈希表構成多個哈希表。除了上述構造方式之外,還可以有其它構造多個哈希表的方式,本實施例不對構造多個哈希表的構造方式作具體限定,也不對構造子哈希表的數量及后續構造哈希表的數量作具體限定。理論證明,對于目標關鍵幀編碼的檢索次數可隨著哈希表的數量增多而減少。相比于構造單一哈希表,本實施例中構造多個哈希表的方式可以減少后續檢索次數,從而能夠提高檢索速度。除此之外,還能便于對關鍵幀編碼進行存儲,且能提高檢索時的召回率。通過劃分多個子哈希表,在后續檢索過程中還可以采用并行檢索的方式,從而進一步地提高了檢索效率。

基于上述內容,本實施例不對根據目標關鍵幀編碼對由關鍵幀編碼構成的多個哈希表進行檢索,確定與關鍵幀編碼匹配的關鍵幀編碼的方式作具體限定,包括但不限于:按照構造多個哈希表中關鍵幀編碼的方式,將任一目標關鍵幀編碼拆分成預設數量個子編碼;對于任一子編碼,在多個哈希表中查詢與任一子編碼之間的海明距離小于預設閾值的所有匹配子編碼,將查詢到的每個匹配子編碼對應的關鍵幀編碼作為與任一目標關鍵幀編碼匹配的關鍵幀編碼。

需要說明的是,由于在構建哈希表的子哈希表時,是將每個視頻關鍵幀編碼進行拆分后,每個視頻關鍵幀編碼位于相同部分的子編碼構建成一個子哈希表。因此,目標關鍵幀編碼在按照相同的拆分方式進行拆分后,在對任一子編碼進行查詢時,可在與該子編碼對應的子哈希表中進行查詢,而不用查詢其它的子哈希表。通過上述查詢方式,可以提高查詢效率。

例如,以每個視頻對應3個關鍵幀編碼來構建子哈希表為例。其中,3個關鍵幀編碼分別為A、B、C。對于每個關鍵幀編碼,若將每個關鍵幀編碼拆分成3個子編碼,如將A拆分成a1、a2、a3,則每個關鍵幀編碼拆分后的第一部分子編碼可構成第一個子哈希表,每個關鍵幀編碼拆分后的第二部分子編碼可構成第二個子哈希表,每個關鍵幀編碼拆分后的第三部分子編碼可構成第三個子哈希表。即a1、b1、c1三者可構成第一個子哈希表T1,a2、b2、c2可構成第二個子哈希表T2,a3、b3、c3可構成第三個子哈希表T3。

相應地,在對目標關鍵幀編碼進行拆分時,可按照上述方式拆分成三部分。當對目標關鍵幀編碼拆分后的第一部分子編碼進行查詢時,可以直接在第一個子哈希表T1中查詢,而不用在子哈希表T2及T3中查詢,查詢其它部分子編碼時同理。

需要說明的是,上述過程只是其中一種構建多個哈希表方式所對應的查詢過程,不同的構建哈希表方式可對應著不同的拆分及查詢過程,本實施例對此不作具體限定。

在上述計算海明距離的過程中,海明距離為兩個子編碼的對應比特取值不同的比特位數。預設閾值為編碼查詢半徑,其值可根據整體查詢半徑R與哈希表的數量L來計算,本實施例對此不作具體限定。其中,預設閾值可表示為即R與L的比值向下取整的整數。

例如,以關鍵幀編碼為1101010101 0101011010 1010011010為例。若構造哈希表時,是按照10位進行拆分的,則上述關鍵幀編碼可拆分為1101010101、0101011010及1010011010。

其中,在計算拆分的子編碼與哈希表中存儲的子編碼之間的海明距離時,可通過對兩個子編碼進行異或運算,運算結果中1的數量即為兩個子編碼之間的海明距離。以關鍵幀編碼拆分后的第一個子編碼為例,若哈希表中存儲某一子編碼為1000110011,對兩者進行異或運算:

根據上面運算結果可以確定1的數量為5個,即兩個子編碼的海明距離為5。同理,按照上述方式可以計算得到,目標關鍵幀編碼拆分后的每個子編碼與哈希表中子編碼之間的海明距離。

接著,再將計算得到的海明距離與預設閾值進行比較,即與編碼查詢半徑進行比較。當哈希表中某一子編碼與目標關鍵幀拆分的子編碼之間的海明距離小于編碼查詢半徑時,可確定該子編碼為匹配子編碼。由于哈希表中存儲的子編碼也是由存儲視頻對應的關鍵幀編碼拆分而來,從而可將匹配子編碼所對應的關鍵幀編碼作為目標關鍵幀編碼的匹配關鍵幀編碼。同理,可將匹配關鍵幀編碼對應的視頻作為目標視頻的匹配視頻。

需要說明的是,根據抽屜原理可知,如果兩個長度為M的哈希編碼的海明距離為R',那么它們的子編碼序列中必定有一對子編碼的海明距離小于或等于R'/L。因此,基于上述邏輯可知,本實施例在根據目標關鍵幀編碼的子編碼對哈希表進行查詢時,可以保證返回查詢半徑內的結果,同時還可能返回一些與目標關鍵幀的海明距離稍大于查詢半徑但仍屬于相似視頻的結果,從而可以提高檢索的召回率。

202、計算目標關鍵幀編碼與每個匹配關鍵幀編碼之間的相似度分值。

由于在上述步驟201中的檢索過程中,可能會存在多個與目標關鍵幀編碼匹配的關鍵幀編碼。為了對關鍵幀之間相似程度進行描述,現引入相似度分值并對其計算過程進行解釋說明。針對任一匹配關鍵幀編碼,關于計算目標關鍵幀編碼與每個匹配關鍵幀編碼之間的相似度分值的方式,本實施例對此不作具體限定,包括但不限于:計算目標關鍵幀與所匹配關鍵幀編碼之間相匹配子編碼的海明距離;基于預設閾值,將每對相匹配子編碼的海明距離進行迭加,將迭加結果作為目標關鍵幀編碼與匹配關鍵幀編碼之間的匹配參數;根據匹配參數,計算目標關鍵幀編碼與匹配關鍵幀編碼之間的相似度分值。

其中,計算目標關鍵幀與所匹配關鍵幀編碼之間相匹配子編碼的海明距離的過程可參考上述步驟201中的內容,此處不再贅述。上述迭加過程可采用如下公式(1)進行表示:

在上述公式(1)中,T為目標關鍵幀與所匹配關鍵幀編碼之間的匹配參數。L為哈希表的總數量,R為整體查詢半徑。rk表示每對匹配子編碼之間的海明距離,θ為依據rk來取值的常量。

需要說明的是,L個哈希表中與目標關鍵幀子編碼匹配的子編碼匹配對數量越多,每個子編碼匹配對所對應的海明距離越小,則對應的總海明距離rk越小。相應地,匹配參數T也越小。T∈[0,R+L)越小,則關鍵幀相似度越高。當T=0時,可確定兩個關鍵幀編碼完全相同。

為了更直觀的表示兩個關鍵幀的相似度得分,使得Sij相似度分值與關鍵幀的相似程度呈正相關,可對上述過程中得到的匹配參數進行指數運算,將得到的指數運算值作為目標關鍵幀編碼與匹配關鍵幀編碼之間的相似度分值。上述計算過程可如公式(2)所示:

Sij=αT(α∈(0.5,1)) (2)

其中,α為0.5到1之間的常量。T為目標關鍵幀與所匹配關鍵幀編碼之間的匹配參數,Sij為相似度分值。當然,除了上述方式之外,在根據匹配參數,計算目標關鍵幀編碼與匹配關鍵幀編碼之間的相似度分值時,還可以采用其它的計算方式。具體計算方式只需滿足計算得到的相似度分值與關鍵幀的相似程度呈正相關即可,本實施例對此不作具體限定。

203、基于關鍵幀的時序信息,根據每個目標關鍵幀編碼與每個匹配關鍵幀編碼之間的相似度分值,計算目標視頻與每個匹配視頻之間的整體相似度分值。

在執行本步驟之前,為了能夠便于查找,可將上述步驟得到的關鍵幀匹配情況用表結構進行表結構表示,本實施例對此不作具體限定,具體存儲形式可參考圖3。在圖3中,表索引(Index of videos in database)表示已入庫的視頻在數據庫中的編號,每一行保存的node節點為目標視頻與對應匹配視頻的關鍵幀匹配情況。例如,(Fq,Fb,S)表示目標視頻Vq的第Fq幀與入庫視頻Vb的第Fb幀相匹配,相似度分值為S)。另外,每一行中的節點按照目標視頻Vq的關鍵幀時間順序排列。

本實施例不對基于關鍵幀的時序信息,根據每個目標關鍵幀編碼與每個匹配關鍵幀編碼之間的相似度分值,計算目標視頻與每個匹配視頻之間的整體相似度分值的方式作具體限定,對于任一匹配視頻,包括但不限于:按照關鍵幀的時序信息,計算匹配視頻與目標視頻之間關鍵幀匹配對所對應的幀序變化率;計算每個幀序變化率對應的量化映射值;對于任一種量化映射值,確定具有相同量化映射值的幀序變化率所對應的關鍵幀匹配對,對滿足條件的關鍵幀匹配對所對應的相似度分值進行迭加,將迭加得到的結果作為任一種量化映射值對應的相似度分值;選取所有量化映射值對應的相似度分值中最大相似度分值,將最大相似度分值作為目標視頻與匹配視頻之間的整體相似度分值。

關于計算幀序變化率的方式,本實施例對此不作具體限定,包括但不限于:對于任意兩組關鍵幀匹配對,對第一組與第二組關鍵幀匹配對中的目標關鍵幀序號做差值,得到第一差值;對第一組與第二組關鍵幀匹配對中的匹配關鍵幀序號做差值,得到第二差值;將第二差值除以第一差值,得到對應的商值,將商值的絕對值作為任意兩組關鍵幀匹配對所對應的幀序變化率。

上述對幀序變化率的計算過程,可用如下公式(3)表示:

現以目標視頻及匹配視頻分別為Vq、Vb,且兩個視頻中包含n>=2個關鍵幀匹配對,分別為為例,對上述公式(3)進行解釋說明。在進行幀序變化率的運算之前,需先選取兩組關鍵幀匹配對,以匹配幀對分別為及為例。為關鍵幀匹配對中匹配關鍵幀的幀序號,Ib2為關鍵幀匹配對中匹配關鍵幀的幀序號。為關鍵幀匹配對中目標關鍵幀的幀序號,Iq2為關鍵幀匹配對中目標關鍵幀的幀序號。為第二差值,為第一差值。

上述公式(3)計算的即為兩組關鍵幀匹配對的幀序號之差的比率,通過該比率值能夠反映目標視頻Vq與匹配視頻Vb之間幀序號變化的一致性。對于兩個完全相同的視頻,任意關鍵幀匹配對的幀序變化率都是同一常數。

在計算得到匹配視頻與目標視頻之間關鍵幀匹配對所對應的幀序變化率之后,由于將幀序變化率差距較小的關鍵幀匹配對所對應的相似度分值通過迭加的方式進行統一,并不會影響全局的得分統計。因此,可通過量化映射的方式將差距較小的幀序變化率映射為同一個值,從而將量化映射值相同的幀序變化率所對應的相似度分值進行迭加。為了使得上述過程更加直觀,可將幀序變化率量化映射到統計直方圖中的特定區域。

其中,對幀序變化率進行量化映射計算的過程可如下公式(4)所示:

在上述公式(4)中,d為幀序變化率,c表示統計直方圖的中心區域坐標。例如,圖4中統計直方圖的中心區域坐標為0。s表示d量化的離散程度。其中,s的值越大,不同幀序變化率d和d'的量化映射值差異越大。考慮到兩個近似重復視頻所提取出的關鍵幀很有可能在視覺上高度相似,但在序號上有微小的差異等情況。具體實施時可采用較小的s值,量化過程使得不同關鍵幀匹配對中d的微小變化不會影響全局的得分統計。如圖4中,統計直方圖中的橫坐標即為對幀序變化率進行量化映射后的量化映射值。

在計算得到每個幀序變化率對應的量化映射值后,對于每個量化映射值,可將該量化映射值對應的相似度分值迭加至統計直方圖相應區域上。例如,如圖4所示,對于量化映射值為0的幀序變化率所對應的兩組關鍵幀匹配對,可將該兩組關鍵幀匹配對所對應的相似度分值迭加至量化映射值為0的上方區域。同理,對于其它量化映射值為0的幀序變化率所對應的兩個相似度分值也可以迭加至該區域。

上述迭加過程可由如下公式(5)表示:

value(f(di,j))+=Si+Sj (5)

其中,di,j為第i個與第j個關鍵幀匹配對之間的幀序變化率,f(di,j)為幀序變化率對應的量化映射值。Si為第i個關鍵幀匹配對的相似度分值,Sj為第j個關鍵幀匹配對的相似度分值,value(f(di,j))為上述兩個相似度分值迭加結果。

通過上述過程,最終可對每種量化映射值上方區域的相似度分值進行迭加,從而得到每種量化映射值上方區域的相似度分值迭加結果,具體迭加效果可如圖5及圖6所示。其中,圖4、圖5及圖6的縱坐標得分即為量化映射值上方區域的相似度分值迭加結果。

基于統計直方圖,完成所有關鍵幀匹配對Gi(i∈[1,n])的統計后,可選區統計直方圖中的最大值作為目標視頻Vq與匹配視頻Vb之間的整體相似度分值。該過程可用如下公式(6)表示:

S(q,b)'=maxvalue(f(di,j)) (6)

其中,S(q,b)'為標視頻Vq與匹配視頻Vb之間的整體相似度分值。

考慮到匹配的視頻關鍵幀數量對S(q,b)'有較大影響,使得每個關鍵幀匹配對的匹配質量(即相似度分值)沒有得到足夠的體現。例如,兩個很長但不相似的視頻可能會因為有較多匹配的關鍵幀對,按照上述計算過程,可能會獲得較高的得分,從而導致目標視頻最終可能會被誤判為相似視頻。相反,兩個近似重復的短視頻卻因為提取出的關鍵幀總數本身就很少,按照上述計算過程,可能會獲得較低的得分,從而導致內容重復的目標視頻最終可能會被誤判為非相似視頻。

為了避免上述情況,在將最大相似度分值作為目標視頻與匹配視頻之間的整體相似度分值之后,可先確定目標視頻與匹配視頻之間關鍵幀匹配對的匹配數量,再將整體相似度分值除以匹配數量所得到的結果作為最終的匹配得分,即目標視頻與匹配視頻之間的最終整體相似度分值。通過上述計算過程,能夠提高計算整體相似度分值時的魯棒性。其中,上述計算最終整體相似度分值的過程可如下公式(7)所示:

S(q,b)=S(q,b)'/n (7)

上述計算視頻間整體相似度分值的過程,提出了一種基于視頻時序性的計算方法。為了說明方法的適用性,在此分析該方法在幾種視頻匹配情況中的應用效果,具體內容如下:

1、視頻間亂序匹配,即兩個不同的視頻可能因為包含的場景相似而具有較多匹配關鍵幀對,但因為相似場景在兩個視頻中出現的位置是不同的,所以匹配關鍵幀對之間的時序關系是混亂的。

如圖5所示,對于這種情況,按照本發明實施例提供的相似度分值計算機制,統計直方圖中累加得分的分布應該是散亂的。因此,直方圖的最大值應該較小,再除以關鍵幀匹配對的數量后,最終的視頻之間整體相似度分值也就很小。

2、視頻片段與完整視頻之間的匹配,即從完整視頻中抽離的視頻片段與完整視頻進行匹配。

在實際判斷需求中,上述兩者應被視為近似重復視頻。考慮兩者的關鍵幀匹配情況,實際情況通常如下:由于視頻片段相對于完整視頻的起始位置不定,即最開始的場景可能是不完整的。因此,最開始提取出的關鍵幀有較大可能與完整視頻的關鍵幀不匹配(同樣,視頻結尾的匹配情況類似)。但對于兩者共同包含的場景,基于場景劃分的關鍵幀提取算法提取出的關鍵幀一般是一致的。按照本發明實施例的視頻整體相似性分值的計算機制,對得分有貢獻的是中間公共部分的關鍵幀匹配對,而這部分關鍵幀匹配對的時序性應是相同的。因此,相似度分值的統計情況應與圖4一致,最終的視頻整體相似度分值可以反映出兩者的近似重復性。

3、由完整視頻的多個子片段拼合形成的視頻片段與完整視頻之間的匹配。

針對這種情況,對應相似度分值的統計直方圖可如圖6所示。按照本發明實施例提供的相似度分值計算機制,由于片段視頻中每個子片段內部關鍵幀匹配對的時序性是一致的,所以每個子片段內部的關鍵幀匹配對之間的相似度分值應該落在直方圖內的相同區域(如圖6中量化映射值為0所對應的柱狀區域),而各個子片段之間的關鍵幀匹配對所對應的相似度分值迭加值,其分布可能是散亂的(如圖6中量化映射值分別為-2、2及3所對應的柱狀區域)。因此,一般來說,得分統計直方圖中會有一個較大的峰值(如圖6中量化映射值為0所對應的柱狀區域)。

當子片段的時長差異較大時,不同子片段間的關鍵幀匹配對組合的數量相對較少,得分散亂分布的比例也就較少。相應地,統計峰值也就越明顯。因此,本發明實施例提供的相似度分值計算機制對于由較少子片段構成的片段視頻(尤其是子片段間長度差異較大的情況)仍有較好的檢測效果。

通過上面的過程,在計算得到目標視頻與匹配視頻之間的整體相似度分值之后,由于與目標視頻匹配的視頻數量通常可能會有多個。因此,需要根據目標視頻與每個匹配視頻之間的整體相似度分值,對匹配視頻進行篩選,從而篩選出與目標視頻相似度較高的匹配視頻。具體篩選過程中,可將每個匹配視頻對應的整體相似度分值與自適應得分閾值進行比較,從而根據比較結果,將大于自適應得分閾值的整體相似度分值所對應的匹配視頻作為最終檢索結果。其中,自適應得分閾值的數值可根據視頻類型不同來進行變化,本實施例對此不作具體限定。

本發明實施例提供的方法,通過根據目標關鍵幀編碼對由關鍵幀編碼構成的多個哈希表進行檢索,確定與目標關鍵幀編碼匹配的關鍵幀編碼。計算目標關鍵幀編碼與每個匹配關鍵幀編碼之間的相似度分值。基于關鍵幀的時序信息,根據每個目標關鍵幀編碼與每個匹配關鍵幀編碼之間的相似度分值,計算目標視頻與每個匹配視頻之間的整體相似度分值。將每個匹配視頻對應的整體相似度分值與自適應得分閾值進行比較,將大于自適應得分閾值的整體相似度分值對應的匹配視頻作為檢索結果。由于在考慮到關鍵幀圖像內容相似性的基礎上,還考慮到了視頻幀之間的時序關系,從而在檢測出重復或近似重復的視頻,能夠依據時序關系區分出部分內容相似的不同視頻。因此,視頻檢索時的準確率較高,區分重復視頻時的效果較好。

另外,由于在檢索相似的視頻關鍵幀及計算相似性分值時,綜合考慮關鍵幀子編碼的海明距離和子編碼匹配數量。同時,有效地融合了對多個哈希表檢索后的檢索結果,從而使得計算關鍵幀匹配對的相似度分值時計算結果更加準確。由于相似度分值后續會用于重復近似視頻的判斷,從而間接地提高了視頻檢索的準確率。

最后,根據上述對幾種視頻匹配實際情況的分析結果可知,基于時序性的視頻相似性檢索方法對不同類型的視頻匹配情況都有較好的檢測效果。同時,設定的得分閾值隨輸入視頻不同可相應發生變化,具有自適應性。因此,整體方法對于不同應用場景具有較好的適用性。

本發明實施例提供了一種基于內容的視頻檢索裝置,該裝置用于執行上述圖1或圖2對應的實施例中所提供的基于內容的視頻檢索方法。參見圖7,該裝置包括:

檢索模塊701,用于對于目標視頻中任一目標關鍵幀,根據任一目標關鍵幀編碼對由關鍵幀編碼構成的多個哈希表進行檢索,確定與任一目標關鍵幀編碼匹配的關鍵幀編碼。

第一計算模塊702,用于計算任一目標關鍵幀編碼與每個匹配關鍵幀編碼之間的相似度分值。

第二計算模塊703,用于基于關鍵幀的時序信息,根據每個目標關鍵幀編碼與每個匹配關鍵幀編碼之間的相似度分值,計算目標視頻與每個匹配視頻之間的整體相似度分值。

比較模塊704,用于將每個匹配視頻對應的整體相似度分值與自適應得分閾值進行比較,將大于自適應得分閾值的整體相似度分值對應的匹配視頻作為檢索結果。

作為一種可選實施例,檢索模塊701,用于按照構造哈希表中關鍵幀編碼的方式,將任一目標關鍵幀編碼拆分成預設數量個子編碼;對于任一子編碼,在多個哈希表中查詢與任一子編碼之間的海明距離小于預設閾值的所有匹配子編碼,將查詢到的每個匹配子編碼對應的關鍵幀編碼作為與任一目標關鍵幀編碼匹配的關鍵幀編碼。

作為一種可選實施例,第一計算模塊702,用于對于任一匹配關鍵幀編碼,計算任一目標關鍵幀與任一匹配關鍵幀編碼之間相匹配子編碼的海明距離;基于預設閾值,將每對相匹配子編碼的海明距離進行迭加,將迭加結果作為任一目標關鍵幀編碼與任一匹配關鍵幀編碼之間的匹配參數;根據匹配參數,計算任一目標關鍵幀編碼與任一匹配關鍵幀編碼之間的相似度分值。

作為一種可選實施例,參見圖8,第二計算模塊703,包括:

第一計算單元7031,用于對于任一匹配視頻,按照關鍵幀的時序信息,計算任一匹配視頻與目標視頻之間關鍵幀匹配對所對應的幀序變化率;

第二計算單元7032,用于計算每個幀序變化率對應的量化映射值;

迭加單元7033,用于對于任一種量化映射值,確定具有相同量化映射值的幀序變化率所對應的關鍵幀匹配對,對滿足條件的關鍵幀匹配對所對應的相似度分值進行迭加,將迭加得到的結果作為任一種量化映射值對應的相似度分值;

選取單元7034,用于選取所有量化映射值對應的相似度分值中最大相似度分值,將最大相似度分值作為目標視頻與任一匹配視頻之間的整體相似度分值。

作為一種可選實施例,第一計算單元7031,用于對于任意兩組關鍵幀匹配對,對第一組與第二組關鍵幀匹配對中的目標關鍵幀序號做差值,得到第一差值;對第一組與第二組關鍵幀匹配對中的匹配關鍵幀序號做差值,得到第二差值;將第二差值除以第一差值,得到對應的商值,將商值的絕對值作為任意兩組關鍵幀匹配對所對應的幀序變化率。

本發明實施例提供的裝置,通過根據目標關鍵幀編碼對由關鍵幀編碼構成的多個哈希表進行檢索,確定與目標關鍵幀編碼匹配的關鍵幀編碼。計算目標關鍵幀編碼與每個匹配關鍵幀編碼之間的相似度分值。基于關鍵幀的時序信息,根據每個目標關鍵幀編碼與每個匹配關鍵幀編碼之間的相似度分值,計算目標視頻與每個匹配視頻之間的整體相似度分值。將每個匹配視頻對應的整體相似度分值與自適應得分閾值進行比較,將大于自適應得分閾值的整體相似度分值對應的匹配視頻作為檢索結果。由于在考慮到關鍵幀圖像內容相似性的基礎上,還考慮到了視頻幀之間的時序關系,從而在檢測出重復或近似重復的視頻,能夠依據時序關系區分出部分內容相似的不同視頻。因此,視頻檢索時的準確率較高,區分重復視頻時的效果較好。

最后,本申請的方法僅為較佳的實施方案,并非用于限定本發明的保護范圍。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。

再多了解一些
當前第1頁1 2 3 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
双双大床红利扑克50手电子游戏