本發(fā)明涉及圖像處理及計算機應(yīng)用技術(shù)領(lǐng)域,特別涉及一種基于線性動態(tài)系統(tǒng)的視頻關(guān)鍵幀提取方法。
背景技術(shù):
隨著多媒體技術(shù)和互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,以視頻為代表的多媒體數(shù)據(jù)正在以驚人的速度增長。例如,在銀行、機場、居民生活區(qū)等地區(qū)安裝用于安防的監(jiān)控系統(tǒng),每天產(chǎn)生大量的監(jiān)控視頻數(shù)據(jù);再例如,在互聯(lián)網(wǎng)上存儲著海量的視頻節(jié)目,而且每時每刻還在不斷地高速增長。如何在如此海量的視頻數(shù)據(jù)中對其中包含的有用信息進行快捷定位、方便獲取以及有效管理是一個亟待解決的問題。該問題的本質(zhì)就是如何用計算機技術(shù)對視頻內(nèi)容進行有效分析和表達,使得其能夠建立上下文信息和相關(guān)的領(lǐng)域知識,從而融合各種線索進行推理,以此為基礎(chǔ)建立特征與語義之間的聯(lián)系。這一問題的有效解決將對相關(guān)產(chǎn)業(yè)的深入發(fā)展起到重要的促進和推動作用。
視頻內(nèi)容分析技術(shù)的一個重要環(huán)節(jié)是關(guān)鍵幀提取。視頻關(guān)鍵幀是指在視頻幀序列中具有代表性,能夠反映一個鏡頭序列內(nèi)容梗概的圖像幀。關(guān)鍵幀用以描述視頻片段的主要內(nèi)容,關(guān)鍵幀的使用大大減少了視頻索引的數(shù)據(jù)量,同時也為視頻摘要和檢索提供了一個組織框架。同時用關(guān)鍵幀來代表視頻片段,然后提取關(guān)鍵幀的紋理、顏色以及運動等特征,將這些特征存儲到視頻數(shù)據(jù)庫中以便進行相似性匹配,從而達到快速檢索視頻內(nèi)容的目的。
目前主要有以下幾類關(guān)鍵幀提取方法:一、基于等間隔或隨機間隔采樣的方法,這類方法每隔一段時間從視頻中提取一幀作為關(guān)鍵幀,其優(yōu)點是方法簡單,缺點是視頻的采樣間隔很難和視頻內(nèi)容分布一致;二、基于幀間全局信息比較的方法,這類方法通過優(yōu)化一個預(yù)先定義的目標函數(shù)的分布來提取關(guān)鍵幀,其優(yōu)點是選取的關(guān)鍵幀可以反映一個片段內(nèi)的全局特性,關(guān)鍵幀的數(shù)目可控,缺點是這類方法計算量大;三、基于聚類的方法,這類方法將視頻的每一幀看作特征空間中的一個點,聚類中心的點看作是整個視頻的關(guān)鍵幀。目前層次聚類、模糊c均值聚類、混合高斯模型等聚類方法都被用在關(guān)鍵幀提取之中。這類方法最大的缺點是計算量相對較大;四、基于運動分析的方法,這類方法首先計算每一幀的光流,然后通過光流計算運動矩陣,最后把該矩陣作為時間函數(shù)進行分析并選出關(guān)鍵幀。這類方法非常依賴局部信息,因此魯棒性不強;五、基于mpeg宏塊統(tǒng)計特性的方法,這類方法利用幀中宏塊編碼方式的不同生成幀差,通過對幀差的度量提取關(guān)鍵幀,這類方法不需要解壓視頻,可以進行實時關(guān)鍵幀提取,但是壓縮域可以利用信息不多,關(guān)鍵幀提取不夠準確。綜上所述,目前這些方法在關(guān)鍵幀提取上幾乎沒有考慮如何利用視頻片段中的表觀信息和運動信息,也沒有考慮自適應(yīng)的關(guān)鍵幀采樣方法。為此,本發(fā)明提供了一種新的視頻關(guān)鍵幀提取方法,可以顯著提高關(guān)鍵幀在語義內(nèi)容上的描述能力。
技術(shù)實現(xiàn)要素:
為了保證提取視頻關(guān)鍵幀具有代表性,本發(fā)明提出了一種基于線性動態(tài)系統(tǒng)的視頻關(guān)鍵幀提取方法,可以顯著提高關(guān)鍵幀在語義內(nèi)容上的描述能力。
本發(fā)明提出的一種基于線性動態(tài)系統(tǒng)的視頻關(guān)鍵幀提取方法,包括以下步驟:
步驟1:獲取待處理的視頻數(shù)據(jù)文件;確定視頻片段的最小長度l;以視頻數(shù)據(jù)文件的第一個視頻幀為起始幀,選取視頻幀數(shù)為l的視頻片段構(gòu)成第n個視頻片段;n=1;
步驟2:獲取第n個視頻片段并進行初始化,計算該視頻片段的線性動態(tài)系統(tǒng)模型參數(shù),根據(jù)線性動態(tài)系統(tǒng)模型參數(shù)計算該視頻片段的重構(gòu)誤差e;
步驟3:判斷重構(gòu)誤差e是否小于預(yù)設(shè)的閾值θ,若e<θ,將第n個視頻片段的長度增加一幀,令l=l+1,形成調(diào)整后的第n個視頻片段,執(zhí)行步驟2;若e≥θ,以視頻幀數(shù)為l的第n個視頻片段作為最后確定的視頻片斷,執(zhí)行步驟4;
步驟4:將最后確定的視頻片段中的任一幀作為該視頻片段的關(guān)鍵幀;
步驟5:以步驟4中最后確定的視頻片段后的第一幀為起始幀,選取長度為l的視頻片段為第n+1個視頻片段,令n=n+1;若所獲得視頻片段的視頻幀數(shù)等于l,重復(fù)步驟2至步驟4;若所獲得視頻片段的視頻幀數(shù)小于l,則輸出所述視頻數(shù)據(jù)文件的所有關(guān)鍵幀。
優(yōu)選的,步驟2中所述的重構(gòu)誤差e的計算方法為:
步驟21,用y1:l表示初始化的視頻片段,令y1:l滿足線性動態(tài)系統(tǒng)模型,公式表示為:
其中,y1:l={y1,…,yi,…,yl},其中yi是第i幀視頻圖像變換得到的列向量;下標t表示y中第t個視頻幀的時刻;xt表示線性動態(tài)系統(tǒng)的狀態(tài)變量;yt表示線性動態(tài)系統(tǒng)的特征變量;vt,wt表示系統(tǒng)的噪音變量;a,c表示線性動態(tài)系統(tǒng)的模型參數(shù);
步驟22,通過奇異值分解和最小二乘法得到所述線性動態(tài)系統(tǒng)模型的參數(shù)a、c;
奇異值分解的基本方法為:假設(shè)m是一個m×n階矩陣,則存在一個分解使得m=uσv*;其中u是m×m階酉矩陣,σ是半正定m×n階對角矩陣,v*是v的共軛轉(zhuǎn)置,且v*為n×n階酉矩陣。
本事實例中,首先對于y1:l進行奇異值分解:y1:l=uσvt
得到模型參數(shù)c和系統(tǒng)狀態(tài)變量x:c=u,x=σvt
模型參數(shù)a在最小二乘意義下的計算公式如下:
其中,
步驟23,根據(jù)模型參數(shù)a,c計算視頻片段的重構(gòu)誤差e,公式為:
優(yōu)選的,步驟4中確定關(guān)鍵幀的方法具體為:后確定的視頻片段中的中間幀作為該視頻片段的關(guān)鍵幀。
優(yōu)選的,線性動態(tài)系統(tǒng)的狀態(tài)變量xt的維數(shù)取值范圍為[3,10]。
優(yōu)選的,步驟3中還包括是否為視頻數(shù)據(jù)文件最后一個視頻幀的判斷,具體方法為:若e<θ,則判斷當(dāng)前第n個視頻片段的最后一幀是否為視頻數(shù)據(jù)文件最后一個視頻幀,若是,則輸出所述視頻數(shù)據(jù)文件的所有關(guān)鍵幀;若否,則將第n個視頻片段的長度增加一幀,令l=l+1,形成調(diào)整后的第n個視頻片段,執(zhí)行步驟2。
優(yōu)選的,所述的重構(gòu)誤差閾值θ的取值范圍為[0.2,0.4]。
優(yōu)選的,視頻片段的最小長度l取值范圍為[10,15]。
本發(fā)明提出的基于線性動態(tài)系統(tǒng)的視頻關(guān)鍵幀提取方法,能夠同時刻畫視頻片段的靜態(tài)表觀信息和動態(tài)運動信息,因此能夠描述在語義上一致的視頻內(nèi)容,從而保證視頻關(guān)鍵幀具有代表性;本發(fā)明通過線性動態(tài)系統(tǒng)的重構(gòu)誤差來自適應(yīng)地調(diào)整視頻片段的長度,因此可以通過閾值來控制關(guān)鍵幀的數(shù)量。
附圖說明
圖1為本發(fā)明方法的流程示意圖;
具體實施方式
為了使得本發(fā)明的優(yōu)點、技術(shù)方案、發(fā)明目的更加明白清楚,下面結(jié)合實例和附圖,對本發(fā)明進行更進一步分詳盡說明。其中,此處所用的具體實施實例僅僅用于解釋本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明提出的一種基于線性動態(tài)系統(tǒng)的視頻關(guān)鍵幀提取方法的流程示意圖如圖1所示,具體包括以下步驟:
步驟1:獲取待處理的視頻數(shù)據(jù)文件;確定視頻片段的最小長度l;以視頻數(shù)據(jù)文件的第一個視頻幀為起始幀,選取視頻幀數(shù)為l的視頻片段構(gòu)成第n個視頻片段;n=1;
視頻片段的最小長度l取值范圍為[10,15]。
步驟2:獲取第n個視頻片段并進行初始化,計算該視頻片段的線性動態(tài)系統(tǒng)模型參數(shù),根據(jù)線性動態(tài)系統(tǒng)模型參數(shù)計算該視頻片段的重構(gòu)誤差e;
本事實例中步驟2中所述的重構(gòu)誤差e的計算方法為:
步驟21,用y1:l表示初始化的視頻片段,令y1:l滿足線性動態(tài)系統(tǒng)模型,如公式(1)所示:
其中,y1:l={y1,…,yi,…,yl},其中yi是第i幀視頻圖像變換得到的列向量;下標t表示y中第t個視頻幀的時刻;xt表示線性動態(tài)系統(tǒng)的狀態(tài)變量,其維數(shù)稱為線性動態(tài)系統(tǒng)的階數(shù),通常這個階數(shù)遠遠小于特征變量yt的維度,其取值范圍為[3,10];yt表示線性動態(tài)系統(tǒng)的特征變量(如t表示y中離散的視頻幀i的時刻,則yt=y(tǒng)i);vt,wt表示系統(tǒng)的噪音變量;a,c表示線性動態(tài)系統(tǒng)的模型參數(shù)。
步驟22,通過奇異值分解和最小二乘法得到所述線性動態(tài)系統(tǒng)模型的參數(shù)a、c。
為了得到模型參數(shù)a,c,首先對于y1:l進行奇異值分解,如公式(2)所示:
y1:l=uσvt(2)
得到模型參數(shù)c和系統(tǒng)狀態(tài)變量x,分別如公式(3)和(4)所示:
c=u(3)
x=σvt(4)
模型參數(shù)a在最小二乘意義下的計算公式如公式(5)所示:
其中,
步驟23,根據(jù)模型參數(shù)a,c計算視頻片段的重構(gòu)誤差e,如公式(6)所示:
步驟3:判斷重構(gòu)誤差e是否小于預(yù)設(shè)的閾值θ,若e<θ,表示視頻片段的內(nèi)容已經(jīng)不能用所述線性動態(tài)系統(tǒng)描述,此時將第n個視頻片段的長度增加一幀,令l=l+1,形成調(diào)整后的第n個視頻片段,執(zhí)行步驟2;若e≥θ,表示所述線性動態(tài)系統(tǒng)還能描述更多的視頻內(nèi)容,此時以視頻幀數(shù)為l的第n個視頻片段作為最后確定的視頻片斷,執(zhí)行步驟4;
所述的重構(gòu)誤差閾值θ的取值范圍為[0.2,0.4]。
步驟3中還包括是否為視頻數(shù)據(jù)文件最后一個視頻幀的判斷,具體方法為:若e<θ,則判斷當(dāng)前第n個視頻片段的最后一幀是否為視頻數(shù)據(jù)文件最后一個視頻幀,若是,則輸出所述視頻數(shù)據(jù)文件的所有關(guān)鍵幀;若否,則將第n個視頻片段的長度增加一幀,令l=l+1,形成調(diào)整后的第n個視頻片段,執(zhí)行步驟2。
步驟4:將最后確定的視頻片段中的中間幀作為該視頻片段的關(guān)鍵幀;
步驟4具體為:假設(shè)最終確定的視頻片段長度為t,由于該視頻片段能夠由一個線性動態(tài)系統(tǒng)描述,因此該視頻片段所有的幀具有近似線性的關(guān)系,可以隨機選取任意一幀作為關(guān)鍵幀。本事實例中選取中間幀作為關(guān)鍵幀。
步驟5:以步驟4中最后確定的視頻片段后的第一幀為起始幀,選取長度為l的視頻片段為第n+1個視頻片段,令n=n+1;若所獲得視頻片段的視頻幀數(shù)等于l,重復(fù)步驟2至步驟4;若所獲得視頻片段的視頻幀數(shù)小于l,則輸出所述視頻數(shù)據(jù)文件的所有關(guān)鍵幀。
由于調(diào)節(jié)重構(gòu)誤差閾值θ可以調(diào)節(jié)線性動態(tài)系統(tǒng)的長度,因此可以間接控制關(guān)鍵幀的數(shù)量。
本發(fā)明可以顯著提高關(guān)鍵幀在語義內(nèi)容上的描述能力,可以應(yīng)用在互聯(lián)網(wǎng)視頻內(nèi)容檢索、敏感視頻檢測與過濾以及智能視頻監(jiān)控等業(yè)務(wù)中。
以上所述的具體實施例,對本發(fā)明的目的、技術(shù)方案和有益效果進行了進一步詳細說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實施例而已,并不用于限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。