專利名稱:基于自動分類和關(guān)鍵字標(biāo)注的自動視頻注釋方法
技術(shù)領(lǐng)域:
本發(fā)明涉及視頻識別技術(shù)領(lǐng)域,特別是涉及一種基于自動分類和關(guān)鍵字標(biāo)注的自動視頻注釋方法。
背景技術(shù):
隨著科學(xué)技術(shù)的進(jìn)步,特別是多媒體數(shù)字化技術(shù)的發(fā)展和推廣,存儲成本的降低, 網(wǎng)絡(luò)傳輸帶寬的增長,計(jì)算機(jī)處理速度的提高,以及高性能計(jì)算環(huán)境的普及化,現(xiàn)代信息檢索所處理的對象和規(guī)模都有了很大的變化。包含各種類型數(shù)據(jù)如文本、圖像、音頻、視頻等的多媒體信息,飛速膨脹逐漸成為信息的主流,并對人們的生活和社會的發(fā)展產(chǎn)生了重要的影響。多媒體信息有其特點(diǎn),一方面它的信息量很大,百聞不如一見,一圖值千言都說明了這個事實(shí),另一方面它的抽象和結(jié)構(gòu)化程度較低,不利于進(jìn)行有效的管理。如何有效地提取多媒體信息中的相關(guān)內(nèi)容已成為一個急需解決的問題。隨著數(shù)碼攝像機(jī)和電腦越來越普及到生活中,通過因特網(wǎng)共享視頻也越來越普遍。如何進(jìn)行視頻檢索也成為一個熱門的話題,現(xiàn)今很多專家提出直接利用視頻的內(nèi)容信息進(jìn)行檢索,即Content-basedVideo Retrieval。這種檢索是借助于對視頻中的視覺信息進(jìn)行從低層到高層的處理,分析和理解的過程中獲取其內(nèi)容的,并根據(jù)內(nèi)容進(jìn)行檢索。這里所說的“內(nèi)容”是指視頻的顏色,紋理,運(yùn)動等高維視覺特征向量。雖然這些“內(nèi)容”可以更好的表達(dá)視頻的信息,但是這種檢索方式需要通過比對這些高維特征信息進(jìn)行搜索,需要耗費(fèi)大量的時間和資源,是一般網(wǎng)絡(luò)用戶所不能接受的,也是現(xiàn)階段不可行的,因此現(xiàn)今各大網(wǎng)站提供的視頻檢索,比如Google,MSN,YouTube,百度等,都是依賴于對視頻的文本元數(shù)據(jù)的描述來進(jìn)行檢索的。他們的搜索引擎不能像基于內(nèi)容的檢索分析視頻中的每個圖片, 更不能精確到每個像素,因此就不能搜索沒有注釋過的視頻。對于因特網(wǎng)上存在的大量雜亂的視頻,對于視頻的自動詞語注釋是一個很關(guān)鍵的技術(shù)來保證視頻在網(wǎng)上的“可見性”, 進(jìn)而方便用戶瀏覽搜索下載。毋庸置疑,讓計(jì)算機(jī)能識別出來視頻所表現(xiàn)的語義是一件非常困難的事情。流程圖如圖1所示,首先需要分析并提取視頻的特征,其次我們還需要用大量的樣本訓(xùn)練計(jì)算機(jī),使之可以識別一些確定的物品或者語義,也就是建立特征和關(guān)鍵詞之間的聯(lián)系,最后, 對于一個沒有標(biāo)識的視頻,還需要搜索原有的庫,把與之相近特征的關(guān)鍵字提取出來,才能完成對視頻的注釋。其中,1表示鏡頭檢測,2表示特征提取,3表示相似度匹配,4表示索引。
發(fā)明內(nèi)容
(一)要解決的技術(shù)問題本發(fā)明的目的在于提供一種自動視頻注釋方法,以提高視頻標(biāo)注的性能。( 二 )技術(shù)方案為了解決上述技術(shù)問題,本發(fā)明提供一種基于自動分類和關(guān)鍵字標(biāo)注的自動視頻注釋方法,包括步驟
Sl 進(jìn)行視頻分類特征預(yù)處理;S2 提取視頻的全局特征和局部特征,全局特征用于訓(xùn)練SVM模型,使之能識別不同的類別,局部特征用于建立多特征與關(guān)鍵字對應(yīng)的多特征索引模型;S3:對來自用戶的未經(jīng)注釋的視頻,也是先提取全局特征和局部特征,之后先用全局特征讓SVM識別出該視頻具體的類別,再利用局部特征在多特征索引模型中檢索相關(guān)的關(guān)鍵字進(jìn)行注釋;S4 將注釋結(jié)果按照一定權(quán)重排序之后返回給用戶。優(yōu)選地,所述步驟S3中在識別出視頻具體的類別之后和在多特征索引模型進(jìn)行檢索之前還包括步驟利用預(yù)先建立的“類別-概念”的層次模型縮小關(guān)鍵字的范圍;對于每個關(guān)鍵字,在特征集合里選取最優(yōu)的帶有權(quán)重的特征向量或者組合來表達(dá)該關(guān)鍵字的語乂 fe息。優(yōu)選地,所述步驟Sl進(jìn)一步包括Sll 對視頻進(jìn)行鏡頭切割和關(guān)鍵幀選??;S12 提取視頻的全局靜態(tài)特征和每個鏡頭的動態(tài)特征;S13 對于每個鏡頭的動態(tài)特征向量,利用Matlab的線性回歸函數(shù)按照6參數(shù)運(yùn)動放射模型進(jìn)行參數(shù)估計(jì),形成6參數(shù)特征向量;S14 用k-means聚類的方法聚集所有鏡頭的6維運(yùn)動特征向量,并提取聚類的中心當(dāng)作該視頻的全局運(yùn)動向量。優(yōu)選地,所述步驟Sll進(jìn)一步包括Slll 從視頻中提取每幀;S112:判斷和前一幀的顏色直方圖之間的差異是否大于閾值A(chǔ) ;若是,則轉(zhuǎn)入 S113 ;若否,則轉(zhuǎn)入S114 ;S113 判斷是否局部運(yùn)動或者全局運(yùn)動比較厲害;若否,則進(jìn)行鏡頭切割;S114 判斷和前一幀的顏色直方圖之間的差異是否大于閾值B,其中B小于A ;若是,則轉(zhuǎn)入S115 ;若否,則轉(zhuǎn)入S116 ;S115 判斷當(dāng)前的鏡頭內(nèi)是否保存過關(guān)鍵幀,若否,則保存一次;S116 如果連續(xù)幾次都到這一步,說明在此幀停留時間較長,保存為關(guān)鍵幀;Sl 17:選取關(guān)鍵幀。優(yōu)選地,步驟S13中獲得用于Matlab運(yùn)動參數(shù)估計(jì)的運(yùn)動向量文件的方法為S131 把幀分成40*40的矩陣保存像素,設(shè)立運(yùn)動保存路徑;S132 對于前一幀每一個矩陣塊,搜索當(dāng)前幀;f)以6像素為步長,搜索當(dāng)前幀對應(yīng)位置的矩陣塊;i.不僅搜索該塊周圍的8塊,還要搜索該位置的塊本身,如果遇到幀圖像的邊緣, 則忽略該方向的搜索;ii遇到搜索塊時,統(tǒng)計(jì)兩個矩陣塊的顏色直方圖,然后計(jì)算之間的歐幾里德距罔;iii.保存歐幾里德距離最小的塊當(dāng)做目標(biāo)塊以作后用;g)以3像素為步長,按照步驟a)搜索a)步得到的目標(biāo)塊;h)以3像素為步長,按照步驟a)搜索b)步得到的目標(biāo)塊;
i)得到了最終搜索到的目標(biāo)塊的坐標(biāo)后,計(jì)算該前一幀塊運(yùn)動的速度和方向;方向用兩塊之間的斜率表示,速度用兩塊中心的距離表示;j)保存一個四維向量,塊的左上角(X,y)坐標(biāo),塊運(yùn)動方向和速度;S133 處理完所有塊之后,得到的包括所有塊的四維向量文件就是用于Matlab運(yùn)動參數(shù)估計(jì)的運(yùn)動向量文件。優(yōu)選地,步驟S14中k-means聚類方法進(jìn)一步包括S141 按照輸入的待處理數(shù)據(jù)數(shù)量、數(shù)據(jù)維度、分類數(shù)目和原數(shù)據(jù),確立格式,讀入所有數(shù)據(jù);S142:按照每一維的分布,確定每一維的數(shù)量級,并且根據(jù)數(shù)量級把所有維放縮到
之間;S143 根據(jù)分類數(shù)目n,隨機(jī)選擇前η個數(shù)據(jù)當(dāng)作類中心;S144 對于每個元素a)計(jì)算到各個類中心的距離;b)把該元素分配到距離它最近的那個類的數(shù)據(jù)結(jié)構(gòu)中;S145 分配結(jié)束后計(jì)算新的類中心,如果和原來的類中心一樣,繼續(xù);否則根據(jù)新的類中心,重新跳到步驟S144執(zhí)行;S146:遍歷所有的元素到類中心的距離,如果大于某個閾值就識別其為噪音,如果存在噪音則回到S143再進(jìn)行訓(xùn)練一次,如果沒有,則繼續(xù)進(jìn)行下一步;S147:把距離類中心最遠(yuǎn)的距離計(jì)算為半徑,把非噪音占所有數(shù)據(jù)的比重計(jì)算為
也/又。優(yōu)選地,對視頻進(jìn)行關(guān)鍵字標(biāo)注為基于內(nèi)容的注釋,即自動提取每幅圖像的視覺內(nèi)容特征作為索引與概念相對應(yīng),局部特征包括但不限于顏色、紋理、形狀。優(yōu)選地,所述步驟S2中采用Libsvm進(jìn)行訓(xùn)練。(三)有益效果第一,在進(jìn)行視頻的關(guān)鍵字標(biāo)注之前,提取全局特征先對視頻進(jìn)行分類處理,以縮小候選關(guān)鍵字匹配的范圍;第二,從視頻關(guān)鍵幀中提取局部特征,比如顏色,紋理,邊緣等, 對于每個關(guān)鍵字,在特征集合里選取最優(yōu)的帶有權(quán)重的特征向量或者組合來表達(dá)該關(guān)鍵字的語義信息。本發(fā)明通過上述兩個方式提高了視頻標(biāo)注性能。
圖1為現(xiàn)有技術(shù)中經(jīng)典視頻注釋流程圖;圖2為本發(fā)明自動視頻注釋方法流程圖;圖3為本發(fā)明方法中視頻分類特征預(yù)處理流程圖;圖4為本發(fā)明預(yù)處理過程中鏡頭切割和關(guān)鍵幀選取流程圖;圖5為本發(fā)明中類別和關(guān)鍵字的對應(yīng)思想示意圖。
具體實(shí)施例方式下面結(jié)合附圖和實(shí)施例,對本發(fā)明的具體實(shí)施方式
作進(jìn)一步詳細(xì)描述。以下實(shí)施例用于說明本發(fā)明,但不是限制本發(fā)明的范圍。
如圖2所示,本發(fā)明所述的基于自動分類和關(guān)鍵字標(biāo)注的自動視頻注釋方法針對不同的視頻集整個系統(tǒng)分為兩個流程訓(xùn)練系統(tǒng)流程和識別注釋視頻流程,分別在圖中用實(shí)箭頭和虛箭頭表示。訓(xùn)練的時候,首先需要提取視頻的全局特征和局部特征,全局特征用于訓(xùn)練SVM 模型,使之能識別不同的類別,局部特征用于建立多特征與關(guān)鍵字對應(yīng)的索引模型。在識別視頻的部分中,來自用戶的未經(jīng)注釋的視頻進(jìn)入到系統(tǒng)之后,也是先提取兩種特征,之后先用全局特征讓SVM識別出該視頻具體的類別,然后再利用局部特征在多特征索引模型中檢索相關(guān)的關(guān)鍵字進(jìn)行注釋,最后將注釋結(jié)果按照一定權(quán)重排序之后返回給用戶。在識別出視頻具體的類別之后和在多特征索引模型進(jìn)行檢索之前還包括步驟利用人工建立的“類別-概念”的層次模型縮小關(guān)鍵字的范圍,對于每個關(guān)鍵字,在特征集合里選取最優(yōu)的帶有權(quán)重的特征向量或者組合來表達(dá)該關(guān)鍵字的語義信息。視頻分類特征預(yù)處理流程視頻分類預(yù)處理流程如下(詳見圖3)1.鏡頭切割和關(guān)鍵幀選??;2.提取視頻的全局靜態(tài)特征和每個鏡頭動態(tài)特征;3.對于每個鏡頭的動態(tài)特征向量,利用Matlab的線性回歸函數(shù)按照6參數(shù)運(yùn)動放射模型進(jìn)行參數(shù)估計(jì),形成6參數(shù)特征向量;4.對于每個視頻,用Kmean聚類的方法聚集所有鏡頭的6維運(yùn)動特征向量,并提取聚類的中心當(dāng)作該視頻的全局運(yùn)動向量;5.利用SVM(本發(fā)明采用Libsvm)進(jìn)行訓(xùn)練模型。視頻鏡頭切割和關(guān)鍵幀提取此算法位于預(yù)處理流程的第一步,流程圖如圖4所示。其中閾值還有幾個判斷條件都是經(jīng)過多次反復(fù)試驗(yàn)形成的。由于本發(fā)明實(shí)施例中處理的視頻都是avi格式的,易提取視頻的每一幀,因此分割視頻算法的主要思想就是幀間差的比較。對于視頻的每一幀,先和前一幀比較(如果是第一幀,則不做任何處理),如果大于閾值A(chǔ),則說明幀間差已經(jīng)符合切割視頻的條件了,但是還不能過早下結(jié)論,因?yàn)槿绻粋€鏡頭內(nèi)出現(xiàn)比較劇烈的全局或者局部運(yùn)動,幀間差也會大于閾值,此時就要進(jìn)一步探測該幀和前一幀的生成的運(yùn)動向量,如果發(fā)現(xiàn)運(yùn)動雜亂無章,不符合局部或者全局運(yùn)動的特點(diǎn),則識別為鏡頭切割。至于關(guān)鍵幀的提取,遵循兩個原則1.每個鏡頭至少存有一個關(guān)鍵幀;2.某個幀停留的時間較長,則說明該幀比較重要,可以作為關(guān)鍵幀候選。根據(jù)以上兩個原則,我們進(jìn)行第二次幀間差的閾值B判斷,比剛才進(jìn)行鏡頭分割的閾值A(chǔ)要小,如果該幀間差比B還小,則認(rèn)為該幀屬于前一幀的相似巾貞,也相當(dāng)于前一幀的停留。如果幾個幀下來都是相似幀,則認(rèn)為符合第二個原則,保存關(guān)鍵幀。如果幀間差比 B大,則判斷當(dāng)前鏡頭是否有關(guān)鍵幀儲備,如果沒有,則需要保存一下當(dāng)前幀。這樣下來,很容易出現(xiàn)一個問題,就是每個鏡頭可能有多個關(guān)鍵幀,此時取第一個利用原則2保存下來的關(guān)鍵幀作為該鏡頭的關(guān)鍵幀。提取全局運(yùn)動特征的塊匹配算法
7
塊匹配的運(yùn)動模型假設(shè)圖像是由運(yùn)動的塊構(gòu)成的。因此,一幀的圖像被分割為 NXN的像素大小的塊,在(N+2w) X (N+2w)大小的匹配窗中,當(dāng)前塊與前一幀中對應(yīng)的塊相比較,基于匹配標(biāo)準(zhǔn),找出最佳匹配,得到當(dāng)前塊的替代位置,同時也得到該塊運(yùn)動方向和速度,用于后面的六參數(shù)仿射模型的參數(shù)估計(jì)。匹配算法我用的是顏色直方圖的直接匹配。在這里我們使用了三步搜索法來找到最佳匹配塊。三步搜索(Three-Μ印 Search, TSS)的大致算法如下第一步以8像素為步長,測試以原點(diǎn)為中心的8點(diǎn),下一步, 以最小匹配誤差點(diǎn)為中心,步長折半為4,測試新的8個點(diǎn),第三步,重復(fù)第二步得到最后的運(yùn)動向量。最后得到的像素點(diǎn)為最佳匹配點(diǎn)。而應(yīng)用本發(fā)明中的時候,稍作修改,整個全局運(yùn)動特征提取的詳細(xì)算法如下輸入當(dāng)前幀,前一幀,視頻保存路徑輸出用于Matlab運(yùn)動參數(shù)估計(jì)的運(yùn)動向量文件1把幀分成40*40的矩陣保存像素,設(shè)立運(yùn)動保存路徑。2.對于前一幀每一個矩陣塊,搜索當(dāng)前幀。a)以6像素為步長,搜索當(dāng)前幀對應(yīng)位置的矩陣塊。i.不光搜索該塊周圍的8塊,還要搜索該位置的塊本身,如果遇到幀圖像的邊緣, 則忽略該方向的搜索。
遇到搜索塊時,統(tǒng)計(jì)兩個矩陣塊的顏色直方圖,然后計(jì)算之間的歐幾里德距
1 Oiii.保存歐幾里德距離最小的塊當(dāng)做目標(biāo)塊以作后用。b)以3像素為步長,按照步驟a)搜索a)步得到的目標(biāo)塊c)以3像素為步長,按照步驟a)搜索b)步得到的目標(biāo)塊d)得到了最終搜索到的目標(biāo)塊的坐標(biāo)后,計(jì)算該前一幀塊運(yùn)動的速度和方向。方向用兩塊之間的斜率表示,速度用兩塊中心的距離表示。e)保存一個四維向量,塊的左上角(X,y)坐標(biāo),塊運(yùn)動方向和速度3.處理完所有塊之后,得到的包括所有塊的四維向量文件就是用于Matlab運(yùn)動參數(shù)估計(jì)的運(yùn)動向量文件。聚類運(yùn)動特征的K-mean算法k-means算法接受輸入量k ;然后將η個數(shù)據(jù)對象劃分為k個聚類以便使得所獲得的聚類滿足同一聚類中的對象相似度較高;不同聚類中的對象相似度較小。工作過程說明如下首先從η個數(shù)據(jù)對象任意選擇k個對象作為初始聚類中心;而對于剩下的其它對象,則根據(jù)它們與這些聚類中心的相似度(距離),分別將它們分配給與其最相似的(聚類中心所代表的)聚類;然后再計(jì)算每個所獲新聚類的聚類中心(該聚類中所有對象的均值);不斷重復(fù)這一過程直到標(biāo)準(zhǔn)測度函數(shù)開始收斂為止。本發(fā)明在采用k-means算法聚類的時候,主要就是聚一個類,求出聚類中心來作為最具有代表性的元素用以表示所有運(yùn)動向量。因此在具體應(yīng)用的時候就聚一個類,在開始收斂的時候找到離中心距離大于閾值的對象,當(dāng)成噪音刪除,然后繼續(xù)原有的算法。有一點(diǎn)需要注意的是,衡量元素之間的距離的算法為歐幾里德算法,這就需要數(shù)據(jù)各個維的數(shù)量級是一樣的。否則,數(shù)量級大的維之間的距離很容易主導(dǎo)整個向量之間的距離,會出現(xiàn)很大的誤差,因此在處理前也要處理。改進(jìn)后具體算法實(shí)現(xiàn)如下輸入待處理數(shù)據(jù)數(shù)量,數(shù)據(jù)維數(shù),分類數(shù)目,源數(shù)據(jù);輸出每一類的中心向量,半徑以及密度;1.按照輸入,確立格式,讀入所有數(shù)據(jù);2.按照每一維的分布,確定每一維的數(shù)量級,并且根據(jù)數(shù)量級把所有維放縮到
之間;3.根據(jù)分類數(shù)目n,隨機(jī)選擇前η個數(shù)據(jù)當(dāng)作類中心;4.對于每個元素;a)計(jì)算到各個類中心的距離;b)把該元素分配到距離它最近的那個類的數(shù)據(jù)結(jié)構(gòu)中;5.分配結(jié)束后計(jì)算新的類中心,如果和原來的類中心一樣,繼續(xù)。否則根據(jù)新的類中心,重新跳到步驟4執(zhí)行。6.遍歷所有的元素到類中心的距離,如果大于某個閾值就識別其為噪音,如果存在噪音則回到3再進(jìn)行訓(xùn)練一次,如果沒有,則繼續(xù)進(jìn)行下一步。7.把距離類中心最遠(yuǎn)的距離計(jì)算為半徑,把非噪音占所有數(shù)據(jù)的比重計(jì)算為密度。經(jīng)過預(yù)處理之后,需要把數(shù)據(jù)輸入到分類器進(jìn)行訓(xùn)練或者識別的步驟。支持向量機(jī)SVM(Support Vector Machines)是一種基于統(tǒng)計(jì)學(xué)習(xí)理論的模式識別方法,主要應(yīng)用于模式識別領(lǐng)域。在具體實(shí)現(xiàn)SVM的時候,使用了 Libsvm工具,它是臺灣大學(xué)林智士等開發(fā)設(shè)計(jì)的一個操作簡單,易于使用,快速有效的通用SVM軟件包,可以解決各種分類問題。軟件包在給出源代碼的同時還提供了 Windows操作系統(tǒng)下的可執(zhí)行文件, 下面就簡單介紹一下我使用LibSVM訓(xùn)練的步驟1.把視頻的全局特征轉(zhuǎn)成Iibsvm看的懂得格式,如下<label><indexl>:<l><index2>:<2>....。2.對數(shù)據(jù)集(包括訓(xùn)練集和測試集)進(jìn)行縮放,一般縮放到W,l]或者[-1,+1] 之間,利用svmscale. exe,重定向到新的文件中。3.選用效能較好的RBF kernel0 (libsvm預(yù)設(shè)值就是RBF)。4.用cross validation(交叉驗(yàn)證的方法,用于參數(shù)估計(jì))選擇后面訓(xùn)練模型需要的參數(shù)(利用python執(zhí)行軟件包里的grid, py)。5.用剛剛找到的參數(shù)(上一步的結(jié)果)來訓(xùn)練模型,利用svmtrain. exe。6.利用 svmpredict. exe 來預(yù)測 test 的結(jié)果。關(guān)鍵字和類別對應(yīng)由圖2流程圖可見,本發(fā)明包括兩個特征模型,SVM和基于關(guān)鍵幀的多特征模型, SVM模型是針對視頻的全局特征,目的是把視頻歸類。而多特征模型是針對關(guān)鍵幀的特征進(jìn)行建模的,目的是把特征和具體的關(guān)鍵字之間建立對應(yīng)的關(guān)系,同時也會涉及到關(guān)鍵字空間的分布,以及之間的聯(lián)系等。這兩個看似沒有關(guān)聯(lián)的部分之間也有一層很深的聯(lián)系,如此設(shè)計(jì)的目的是為了增加結(jié)果的正確率。SVM模型和多特征模型之間的關(guān)系,也就是給視頻注釋的類別和關(guān)鍵字的關(guān)系。 由常理可知,不同的類別下的視頻有可能對應(yīng)不同的注釋詞語。例如圖5所示關(guān)鍵字
9“meeting”可能只出現(xiàn)在News這個類別里,“skating”只出現(xiàn)Sports這個類別里。因此我們可以利用這個特點(diǎn),建立每個類別對應(yīng)的可能關(guān)鍵字集合,這樣SVM分類之后,下一步利用多特征模型進(jìn)行注釋的時候,探測的關(guān)鍵字?jǐn)?shù)量大大減少,這樣可以提高準(zhǔn)確率和注釋效率。當(dāng)然每個類的關(guān)鍵字集合也可能有重疊的部分,比如圖5中的hce,所以整個關(guān)鍵字和類別對應(yīng)都是經(jīng)過人工對視頻數(shù)據(jù)集仔細(xì)分析而確定的。多特征模型設(shè)計(jì)部分上一部分已經(jīng)介紹了對視頻分類的一些處理,這一部分著重于對每個鏡頭的注釋工作。對于每個鏡頭儲存了一個關(guān)鍵幀,因此,此部分對視頻進(jìn)行關(guān)鍵字標(biāo)注的過程就相當(dāng)于對圖像(關(guān)鍵幀)的注釋。區(qū)別于一些人工系統(tǒng)中對圖像進(jìn)行人工標(biāo)注的做法,我們系統(tǒng)是基于內(nèi)容的注釋,即自動提取每幅圖像的視覺內(nèi)容特征作為索引與概念相對應(yīng),如顏色、 紋理、形狀等。而目前的一些自動圖片注釋系統(tǒng)中,只考慮了單一或者小部分的特征來表示概念。而不同的概念需要用不同的特征或者加以不同權(quán)重的特征組合來表達(dá),比如“car” 這個概念,有時候用顏色特征并不能很好的表達(dá),因?yàn)橛胁煌伾能?,但是用形狀或者邊緣特征就比較適合,雖然也可能有不同形狀的車,但是該特征比顏色更有說服力。關(guān)鍵字和特征對應(yīng)不同的關(guān)鍵字需要用不同的特征表示。譬如人們說到樹木或草原往往是和綠色相關(guān),大?;蛩{(lán)天往往是和藍(lán)色相關(guān),因此我們可以根據(jù)顏色特征來區(qū)分這些物體。但是如果談?wù)摰健捌嚒?,“公交車”的時候,顏色就很難起到區(qū)分作用,這時候形狀,紋理等特征就顯得比較重要,受到這點(diǎn)的啟發(fā),我構(gòu)建的如下的概念模型
Conceptfeature = F {wcUfc,WtUf^weUfe)Conc印tfeatee代表每個關(guān)鍵字的特征,&和&分別表示該特征表示的權(quán)重和向量, 其中i屬于{color,texture,edge}。這個模型中,每個關(guān)鍵字的特征由三種特征的加權(quán)綜合來表示,每個特征的權(quán)重與特征向量需要由圖片訓(xùn)練獲得,下面是訓(xùn)練流程1.從網(wǎng)上下載一些表示某個概念的圖片,并且人工篩選比較有代表性的一些作為訓(xùn)練集進(jìn)行后面的訓(xùn)練集。2.改變這些圖片的大小為320拉40(視頻屏幕的大小)3.提取訓(xùn)練集中所有圖片的顏色,紋理,邊緣特征,并且按照特征進(jìn)行聚類。4.分析各自特征聚類的密度或聚集程度,確定該特征的權(quán)重。以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明技術(shù)原理的前提下,還可以做出若干改進(jìn)和替換,這些改進(jìn)和替換也應(yīng)視為本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種基于自動分類和關(guān)鍵字標(biāo)注的自動視頻注釋方法,其特在于,包括步驟51進(jìn)行視頻分類特征預(yù)處理;52提取視頻的全局特征和局部特征,全局特征用于訓(xùn)練SVM模型,使之能識別不同的類別,局部特征用于建立多特征與關(guān)鍵字對應(yīng)的多特征索引模型;S3:對來自用戶的未經(jīng)注釋的視頻,也是先提取全局特征和局部特征,之后先用全局特征讓SVM識別出該視頻具體的類別,再利用局部特征在多特征索引模型中檢索相關(guān)的關(guān)鍵字進(jìn)行注釋;S4 將注釋結(jié)果按照一定權(quán)重排序之后返回給用戶。
2.如權(quán)利要求1所述的方法,其特征在于,所述步驟S3中在識別出視頻具體的類別之后和在多特征索引模型進(jìn)行檢索之前還包括步驟利用預(yù)先建立的“類別-概念”的層次模型縮小關(guān)鍵字的范圍;對于每個關(guān)鍵字,在特征集合里選取最優(yōu)的帶有權(quán)重的特征向量或者組合來表達(dá)該關(guān)鍵字的語義信息。
3.如權(quán)利要求1所述的方法,其特征在于,所述步驟Sl進(jìn)一步包括511對視頻進(jìn)行鏡頭切割和關(guān)鍵幀選?。?12提取視頻的全局靜態(tài)特征和每個鏡頭的動態(tài)特征;513對于每個鏡頭的動態(tài)特征向量,利用Matlab的線性回歸函數(shù)按照6參數(shù)運(yùn)動放射模型進(jìn)行參數(shù)估計(jì),形成6參數(shù)特征向量;514用k-means聚類的方法聚集所有鏡頭的6維運(yùn)動特征向量,并提取聚類的中心當(dāng)作該視頻的全局運(yùn)動向量。
4.如權(quán)利要求3所述的方法,其特征在于,所述步驟Sll進(jìn)一步包括5111從視頻中提取每幀;5112判斷和前一幀的顏色直方圖之間的差異是否大于閾值A(chǔ) ;若是,則轉(zhuǎn)入S113;若否,則轉(zhuǎn)入Sl 14 ;5113判斷是否局部運(yùn)動或者全局運(yùn)動比較厲害;若否,則進(jìn)行鏡頭切割;5114判斷和前一幀的顏色直方圖之間的差異是否大于閾值B,其中B小于A ;若是,則轉(zhuǎn)入S115 ;若否,則轉(zhuǎn)入S116 ;5115判斷當(dāng)前的鏡頭內(nèi)是否保存過關(guān)鍵幀,若否,則保存一次;5116如果連續(xù)幾次都到這一步,說明在此幀停留時間較長,保存為關(guān)鍵幀;5117選取關(guān)鍵幀。
5.如權(quán)利要求3所述的方法,其特征在于,步驟S13中獲得用于Matlab運(yùn)動參數(shù)估計(jì)的運(yùn)動向量文件的方法為5131把幀分成40*40的矩陣保存像素,設(shè)立運(yùn)動保存路徑;5132對于前一幀每一個矩陣塊,搜索當(dāng)前幀;a)以6像素為步長,搜索當(dāng)前幀對應(yīng)位置的矩陣塊;i.不僅搜索該塊周圍的8塊,還要搜索該位置的塊本身,如果遇到幀圖像的邊緣,則忽略該方向的搜索; 遇到搜索塊時,統(tǒng)計(jì)兩個矩陣塊的顏色直方圖,然后計(jì)算之間的歐幾里德距離;iii.保存歐幾里德距離最小的塊當(dāng)做目標(biāo)塊以作后用;b)以3像素為步長,按照步驟a)搜索a)步得到的目標(biāo)塊;c)以3像素為步長,按照步驟a)搜索b)步得到的目標(biāo)塊;d)得到了最終搜索到的目標(biāo)塊的坐標(biāo)后,計(jì)算該前一幀塊運(yùn)動的速度和方向;方向用兩塊之間的斜率表示,速度用兩塊中心的距離表示;e)保存一個四維向量,塊的左上角(x,y)坐標(biāo),塊運(yùn)動方向和速度;S133 處理完所有塊之后,得到的包括所有塊的四維向量文件就是用于Matlab運(yùn)動參數(shù)估計(jì)的運(yùn)動向量文件。
6.如權(quán)利要求3所述的方法,其特征在于,步驟S14中k-means聚類方法進(jìn)一步包括5141按照輸入的待處理數(shù)據(jù)數(shù)量、數(shù)據(jù)維度、分類數(shù)目和原數(shù)據(jù),確立格式,讀入所有數(shù)據(jù);5142按照每一維的分布,確定每一維的數(shù)量級,并且根據(jù)數(shù)量級把所有維放縮到
之間;5143根據(jù)分類數(shù)目n,隨機(jī)選擇前η個數(shù)據(jù)當(dāng)作類中心;5144對于每個元素a)計(jì)算到各個類中心的距離;b)把該元素分配到距離它最近的那個類的數(shù)據(jù)結(jié)構(gòu)中;5145分配結(jié)束后計(jì)算新的類中心,如果和原來的類中心一樣,繼續(xù);否則根據(jù)新的類中心,重新跳到步驟S144執(zhí)行;5146遍歷所有的元素到類中心的距離,如果大于某個閾值就識別其為噪音,如果存在噪音則回到S143再進(jìn)行訓(xùn)練一次,如果沒有,則繼續(xù)進(jìn)行下一步;S147:把距離類中心最遠(yuǎn)的距離計(jì)算為半徑,把非噪音占所有數(shù)據(jù)的比重計(jì)算為密度。
7.如權(quán)利要求1所述的方法,其特征在于,對視頻進(jìn)行關(guān)鍵字標(biāo)注為基于內(nèi)容的注釋, 即自動提取每幅圖像的視覺內(nèi)容特征作為索引與概念相對應(yīng),局部特征包括但不限于顏色、紋理、形狀。
8.如權(quán)利要求1所述的方法,其特征在于,所述步驟S2中采用Libsvm進(jìn)行訓(xùn)練。
全文摘要
本發(fā)明是一種基于自動分類和關(guān)鍵字標(biāo)注的自動視頻注釋方法,包括步驟S1進(jìn)行視頻分類特征預(yù)處理;S2提取視頻的全局特征和局部特征,全局特征用于訓(xùn)練SVM模型,使之能識別不同的類別,局部特征用于建立多特征與關(guān)鍵字對應(yīng)的多特征索引模型;S3對來自用戶的未經(jīng)注釋的視頻,也是先提取全局特征和局部特征,之后先用全局特征讓SVM識別出該視頻具體的類別,再利用局部特征在多特征索引模型中檢索相關(guān)的關(guān)鍵字進(jìn)行注釋;S4將注釋結(jié)果按照一定權(quán)重排序之后返回給用戶。本發(fā)明提高了視頻標(biāo)注性能。
文檔編號G06F17/30GK102508923SQ201110374380
公開日2012年6月20日 申請日期2011年11月22日 優(yōu)先權(quán)日2011年11月22日
發(fā)明者姚俊杰, 崔斌, 舒清雅, 陳琛 申請人:北京大學(xué)