本發(fā)明屬于多媒體檢索領(lǐng)域,涉及一種基于漸進(jìn)二分和自適應(yīng)閾值的視頻鏡頭邊界檢測方法。
背景技術(shù):目前的視頻鏡頭邊界檢測算法普遍采用線性計算方法,順序地計算幀間差異并研究變化值。因線性計算需要比較給定視頻每相鄰兩幀的差異,耗時長,因而不適用大規(guī)模的視頻庫。為解決這個問題,KienA.Hua于2000年在ACMMultimedia2000上發(fā)表的論文“DetectingVideoShotBoundariesupto16TimesFaster”中,提出了利用鏡頭內(nèi)幀間上下文的相似性忽略一些不必要的比較計算,從而降低時間復(fù)雜度的兩種非線性算法。第一種是規(guī)則跳略,即每隔d幀進(jìn)行一次比較計算。假設(shè)d=2,它比較第1幀和第3幀,第3幀和第5幀,依此類推。如果發(fā)現(xiàn)有第i幀和第i+2幀在不同的鏡頭,則比較第i幀和第i+1幀。如果第i幀和第i+1幀位于不同鏡頭,則鏡頭分界在第i幀和第i+1幀之間;否則就在第i+1幀和第i+2幀之間。一旦新的鏡頭被識別,同樣的過程從新鏡頭的第一幀開始重復(fù)。這個方案很簡單,但已經(jīng)可以將比較計算次數(shù)減到一半左右。第二種算法是自適應(yīng)跳略算法,它動態(tài)確定d的值。在每一次重復(fù)計算中,如果這一次比較計算結(jié)果表明比上一次更相似,則增大d值;否則減小d值。如果本次比較表明這兩幀位于不同的鏡頭,則后退計算尋找鏡頭邊界。一旦找到準(zhǔn)確鏡頭邊界,再用同樣方法繼續(xù)前向計算。最直觀的漸變鏡頭檢測方法是根據(jù)漸變鏡頭產(chǎn)生式進(jìn)行檢測,其缺點是只能檢測出已經(jīng)定義好的漸變類型的鏡頭,但在實際中無法預(yù)測出所有漸變鏡頭的類型。一種典型的漸變鏡頭檢測方法是張宏江于1993年在《MultimediaSystems》期刊上發(fā)表的論文“Automaticpartitioningoffull-motionvideo”中提出的雙閾值法,這種方法基于Gaussian分布確定閾值,其中Tb=μ+ασ的參數(shù)α是固定參數(shù),當(dāng)用于不同類型的視頻時,由于參數(shù)α固定,因此這種方法確定的閾值不具有很好的適應(yīng)力。另一類常見的漸變鏡頭檢測方法是機器學(xué)習(xí)法,它為待檢測視頻建立SVM(SupportVectorMachines,支持向量機)模型、HMM(HiddenMarkovModel,隱馬爾可夫模型)模型、KNN(K-NearestNeighboralgorithm,K最鄰近結(jié)點算法)模型、貝葉斯模型等,機器學(xué)習(xí)法需要訓(xùn)練視頻集對這些機器學(xué)習(xí)模型進(jìn)行參數(shù)訓(xùn)練,然后再用于新視頻的鏡頭檢測。機器學(xué)習(xí)法對新視頻進(jìn)行鏡頭檢測的結(jié)果與訓(xùn)練視頻集有關(guān),如果訓(xùn)練集選取不當(dāng),會影響最終的檢測結(jié)果。還有一類漸變鏡頭檢測方法是建立數(shù)學(xué)模型法。B樣條插值曲線擬合法從視頻幀序列提取幀間方差特征,并映射到曲線上,用B樣條曲線對它的擬合度檢測疊化鏡頭邊界。袁進(jìn)輝于2005年在《Proceedingsofthe13thannualACMinternationalconferenceonMultimedia》會議上發(fā)表的論文“AUnifiedShotBoundaryDetectionFrameworkBasedonGraphPartitionModel”中,提出了基于圖分割模型的統(tǒng)一的鏡頭邊界檢測框架。圖分割模型將每一幀看作一個節(jié)點,每兩個節(jié)點間用邊連接,這樣可以創(chuàng)建一個加權(quán)的圖,從而把鏡頭邊界檢測問題表示為圖分割問題。將視頻鏡頭邊界看作是多分辨率的邊現(xiàn)象,它將視頻序列的表示轉(zhuǎn)化到多維特征空間中點軌跡的表示,然后用視頻信號軌跡的導(dǎo)數(shù)來檢測鏡頭邊界。數(shù)學(xué)建模法需要將視頻序列結(jié)構(gòu)轉(zhuǎn)換為數(shù)學(xué)模型,然后再對新的模型進(jìn)行檢測,而數(shù)學(xué)建模過程本身就有很高的計算復(fù)雜度。最典型的進(jìn)行視頻鏡頭邊界檢測的閾值確定方法是根據(jù)特征進(jìn)行檢測。常用的視覺特征有顏色特征、輪廓特征和運動特征。首先要提取每幀視頻的特征,并計算相鄰幀間的特征差值,并與閾值進(jìn)行比較,大于閾值的位置即為鏡頭邊界。經(jīng)典的閾值算法是張宏江提出的根據(jù)視頻幀特征差的Gaussian分布求取的檢測閾值,假設(shè)差值的均值和方差分別為m和δ,則閾值為T=m+sδ,其中s取3-5。這種方法的不足之處是參數(shù)s為固定參數(shù),不能根據(jù)視頻類型進(jìn)行自動地調(diào)整。其他確定視頻鏡頭邊界的方法是機器學(xué)習(xí)法,但是檢測結(jié)果是與訓(xùn)練集相關(guān)的。JieZheng于2004年在《InternationalSymposiumonIntelligentMultimedia,VideoandSpeechProcessing》會議上發(fā)表的“AnEfficientAlgorithmforVideoShotBoundaryDetection”上提出了根據(jù)各幀差異值的幀數(shù)確定鏡頭邊界的方法。這種方法為各個幀間差異值對應(yīng)的幀數(shù)目進(jìn)行統(tǒng)計,建立起[0,MAX]的直方圖(MAX為幀差異最大值),定義分離度為[0,MAX]上連續(xù)0的數(shù)目。幀間差直方圖中的第一個趨零點即為視頻鏡頭檢測的閾值。這種方法相比張宏江的閾值確定方法和機器學(xué)習(xí)法可以根據(jù)每個視頻自身的特征生成檢測閾值而且不需要訓(xùn)練集。但在JieZheng的方法中,沒有對切變和漸變檢測的閾值進(jìn)行區(qū)分,而且檢測單元長度也是固定長度的,不能根據(jù)不同視頻類型自適應(yīng)地調(diào)整檢測單元長度。
技術(shù)實現(xiàn)要素:針對視頻鏡頭邊界檢測方法中存在的上述問題,本發(fā)明提出了一種基于漸進(jìn)二分策略和自適應(yīng)閾值進(jìn)行視頻鏡頭邊界檢測的方法,降低了計算復(fù)雜度,能夠檢測出各種類型的漸變鏡頭,可以根據(jù)不同視頻類型自適應(yīng)地調(diào)整檢測單元長度。漸進(jìn)二分策略主要解決視頻鏡頭檢測時計算量大和對漸變類型鏡頭檢測的問題,它在視頻序列范圍內(nèi)漸進(jìn)地使用二分法進(jìn)行視頻鏡頭檢測。當(dāng)一個新的鏡頭邊界被檢測到時,以這個位置為新的起點,向前推進(jìn)一個漸變檢測區(qū)間范圍,然后在這一新的范圍內(nèi)繼續(xù)使用二分法進(jìn)行鏡頭邊界檢測,直到到達(dá)視頻終點。自適應(yīng)閾值法是對JieZheng提出的對各個幀差差異值上的幀數(shù)統(tǒng)計,然后根據(jù)分離度確定閾值的方法,從切變和漸變檢測閾值的區(qū)分、采樣區(qū)間長度的確定兩方面進(jìn)行擴展。鏡頭內(nèi)的幀間差值集中在x軸靠近原點的區(qū)域,漸變位置的幀間差值集中在中間區(qū)域,而切變位置的幀間差值位于x軸右邊。如圖2所示,[1,a]為鏡頭內(nèi)的幀間差值,[b,c]為漸變位置的幀間差值,而[d,101]為切變位置的幀間差值(Matlab數(shù)組下標(biāo)從1開始,為計算方便,將閾值0~1調(diào)整到0.01~1.01,因此將閾值乘以100后,閾值范圍為[1,101])。因此,由此段視頻的幀間差直方圖可以判定漸變鏡頭檢測的閾值為T=a,切變鏡頭檢測的閾值為T=c。所有視頻都采用統(tǒng)一長度的采樣區(qū)間求取幀間差直方圖,不能很好地反映出幀間差值的閾值分布特征。實驗表明,當(dāng)視頻段中有num=1~8個鏡頭邊界位置時,該視頻段對應(yīng)的幀間差直方圖能最好地反映出閾值分布特征,在本方法中取num=4個鏡頭。但在實際檢測時,不能預(yù)知一個待檢測視頻中的鏡頭總數(shù),可采用泊松分布模擬一段視頻中單位長度視頻段內(nèi)鏡頭出現(xiàn)的次數(shù),其概率分布函數(shù)為:式中,k表示單位長度視頻段中鏡頭出現(xiàn)次數(shù),λ表示這個視頻在單位長度視頻段中鏡頭出現(xiàn)的平均次數(shù)。本發(fā)明采用最大似然估計法由給定的n個樣本視頻段求一整段視頻的泊松分布參數(shù)λ的估計。根據(jù)帕累托定律,即采樣視頻幀總量為待檢測視頻幀數(shù)的20%,n的取值為:式中,N為待檢測視頻幀的總數(shù),A為每個采樣視頻段的幀數(shù)。λ的對數(shù)似然函數(shù)為:式中,ki為第i個視頻段單位視頻長度鏡頭出現(xiàn)的次數(shù)。上式對λ求導(dǎo)并令導(dǎo)數(shù)為0得:解方程得到對λ最大似然估計將對λ的最大似然估計應(yīng)用到本環(huán)境下,從待檢測視頻序列中抽取n個樣本,然后由上式求出即為單元采樣區(qū)間上的鏡頭數(shù),也可稱為該視頻的鏡頭出現(xiàn)速度。則出現(xiàn)num(num=1~8)個鏡頭的視頻幀長度L為:綜上所述,本發(fā)明的技術(shù)方案為:首先確定檢測子視頻區(qū)間長度,然后對每個子視頻,求它的幀間差直方圖,并確定這一個子視頻的檢測閾值,最后運用漸進(jìn)二分策略檢測鏡頭。一種基于漸進(jìn)二分和自適應(yīng)閾值的視頻鏡頭邊界檢測方法,其特征在于包括以下步驟:步驟一,根據(jù)不同視頻類型自適應(yīng)地調(diào)整檢測單元長度:使用極大似然法估計視頻鏡頭出現(xiàn)速度,然后求出平均出現(xiàn)num(num=1~8)個鏡頭的視頻幀數(shù),并將視頻分為長度均為該視頻幀數(shù)的一組子視頻。方法如下:(1)采用最大似然估計法,由給定的n個樣本視頻段求出一整段視頻的泊松分布參數(shù)λ的估計即視頻鏡頭出現(xiàn)速度。n和分別由式(2)和式(3)求解。(2)由(4)式求子視頻的長度。步驟二,將待檢測視頻分成長度均為L的一組子視頻,然后依次對每一個子視頻建立幀間差直方圖,如圖3所示,通過統(tǒng)計找出其最長的兩個零區(qū)間[a,b]和[c,d],a<b<c<d,并由此確定這一子視頻的鏡頭檢測閾值為T=c。步驟三,對每一個子視頻使用步驟二得到的檢測閾值c進(jìn)行基于漸進(jìn)二分策略的視頻鏡頭邊界檢測,方法如下:(1)求起始幀和左幀的差異值。若差異值大于閾值,表明左幀位置為鏡頭分界點,令新的起始幀為左幀,重復(fù)本步驟,進(jìn)入下一輪計算;否則,轉(zhuǎn)下一步。(2)求起始幀和右?guī)牟町愔?,如果差異值小于閾值,表明鏡頭分界點在右?guī)覀?cè),令右?guī)瑸槠鹗紟?,轉(zhuǎn)步驟三的(1),進(jìn)入下一輪計算;否則,轉(zhuǎn)下一步。(3)差異值大于閾值,表明鏡頭分界點在右?guī)髠?cè),取左幀和右?guī)瑓^(qū)間內(nèi)位于中間位置的幀為為中間幀。(4)求起始幀和中間幀的差異值,如果差異值大于閾值,鏡頭點在中間幀左側(cè),令中間幀為右?guī)?,若此時右?guī)c左幀相鄰,則右?guī)瑸殓R頭分界點,令新的起始幀為右?guī)?,轉(zhuǎn)步驟三的(1),進(jìn)入下一輪計算;若不相鄰,則再取中間幀(中間幀為左幀和右?guī)囊曨l區(qū)間內(nèi)位于中間位置的幀),重復(fù)本步驟;如果差異值小于閾值,轉(zhuǎn)下一步。(5)差異值小于閾值,表明鏡頭點在中間幀右側(cè),令中間幀為左幀,若此時左幀與右?guī)噜?,則右?guī)瑸殓R頭分界點,令新的起始幀為右?guī)?,轉(zhuǎn)步驟三的(1),進(jìn)入下一輪計算;若不相鄰則再取中間幀,轉(zhuǎn)步驟三的(4)。所述起始幀的初值為每一個子視頻的首幀,左幀的初值為該子視頻的起始幀加3幀后對應(yīng)的幀,右?guī)某踔禐樵撟右曨l的起始幀加30幀后對應(yīng)的幀;隨著漸進(jìn)二分法的進(jìn)行,起始幀、左幀和右?guī)闹等绮襟E三的(1)、步驟三的(2)、步驟三的(4)、步驟三的(5)的描述動態(tài)變化。中間幀為該子視頻中當(dāng)前左幀和右?guī)膮^(qū)間內(nèi)位于中間位置的幀。即中間幀號為左幀號和右?guī)栔偷囊话?。在上述檢測過程中,如果起始幀超出鏡頭范圍,檢測結(jié)束。與現(xiàn)有技術(shù)相比本發(fā)明的有益效果是:(1)本發(fā)明所述的漸進(jìn)二分策略,利用了連續(xù)視頻幀的逐漸變化性,漸進(jìn)地使用二分法快速定位到鏡頭邊界位置,能夠以對數(shù)級地降低計算量,相比線性計算和其他非線性算法在時間復(fù)雜度上有很大改進(jìn)。(2)本發(fā)明所述的漸進(jìn)二分策略,通過在視頻漸變鏡頭變化區(qū)間范圍內(nèi)進(jìn)行二分法檢測,能夠快速定位到漸變鏡頭位置,而不必考慮漸變鏡頭的類型,解決了視頻鏡頭邊界檢測中漸變鏡頭檢測難的問題。(3)自適應(yīng)閾值方法對切變和漸變檢測的閾值進(jìn)行了進(jìn)一步區(qū)分,采用最大似然估計法計算平均出現(xiàn)num(1~8)個鏡頭的視頻幀數(shù),并以此為子視頻長度將視頻劃分為一組子視頻,從而能夠根據(jù)視頻類型自適應(yīng)地調(diào)整檢測單元長度。附圖說明圖1基于漸進(jìn)二分和自適應(yīng)閾值的視頻鏡頭邊界檢測方法流程圖;圖2漸進(jìn)二分法執(zhí)行過程示意圖;圖3幀間差直方圖與其閾值分布特征示意圖。具體實施方式下面結(jié)合附圖和具體實施方式對本發(fā)明做進(jìn)一步說明。本實施例從TRECVID2001-2005提供的視頻集中隨機選取20段視頻進(jìn)行實驗,共包含306321幀、2140個鏡頭。測試機型是IntelCorei3-2100CPU,內(nèi)存2G,操作系統(tǒng)是Windows7,使用Matlab進(jìn)行編程。漸變鏡頭的范圍為3~30幀,如圖2所示,第一次檢測的起始幀為1,左幀=起始幀+3,右?guī)狡鹗紟?30。這樣設(shè)置左幀和右?guī)菫榱伺c漸變區(qū)間范圍一致,從而可以用切變閾值檢測到漸變鏡頭。圖1為本發(fā)明所述方法的流程圖,包括以下步驟:步驟一,根據(jù)不同視頻類型自適應(yīng)地調(diào)整檢測單元長度:使用極大似然法估計視頻鏡頭出現(xiàn)速度,然后求出平均出現(xiàn)num(本實施例取num=4)個鏡頭的視頻幀數(shù),并將視頻分為長度均為該視頻幀數(shù)的一組子視頻。方法如下:(1)采用最大似然估計法,由給定的n個樣本視頻段求出一整段視頻的泊松分布參數(shù)λ的估計求解公式如公式(2)和(3)。本實施例中,A=300,N=306321。(2)由公式(4)求子視頻的長度L。步驟二,將待檢測視頻分成長度均為L的一組子視頻,然后依次對每一個子視頻建立幀間差直方圖,如圖3所示,通過統(tǒng)計找出其最長的兩個零區(qū)間[a,b]和[c,d],并由此確定這一子視頻的鏡頭檢測閾值為T=c。步驟三,對每一個子視頻使用步驟二得到的檢測閾值c進(jìn)行基于漸進(jìn)二分策略的視頻鏡頭邊界檢測。檢測過程中,如果起始幀超出鏡頭范圍,檢測結(jié)束。采用查全率、查準(zhǔn)率和F-measure(查全率和查準(zhǔn)率的加權(quán)調(diào)和值)三項指標(biāo),從切變檢測和漸變檢測兩方面分別對本發(fā)明所述方法檢測的準(zhǔn)確率進(jìn)行評價。采用不同方法進(jìn)行切變鏡頭和漸變鏡頭檢測的查全率、查準(zhǔn)率和F-measure分別如表1、和表2所示。表中,InformationTheory-Based為基于信息論的方法,Dwt-based&SVM為基于離散小波變換和支持向量機的方法,SVM-basedwithnovelfeature為基于支持向量機并使用新特征的方法,TemporalPatternClassification為基于時空樣式分析的方法,AverageFrameSimilarity為平均幀相似度法,Colorcoherence為顏色相關(guān)性法。由表1可知,在切變檢測方面,本發(fā)明所述方法的查全率、查準(zhǔn)率和F-measure均明顯高于其它幾種方法,具有最好的檢測準(zhǔn)確率;同時,由表2可知,在漸變檢測方面,本方法與同類方法相比仍然具有最好的檢測準(zhǔn)確率。表1本發(fā)明所述方法和其它同類方法進(jìn)行切變鏡頭檢測的準(zhǔn)確率查全率查準(zhǔn)率F-measureInformationTheory-Based97.0%95.0%96.0%Dwt-based&SVM92.4%95.4%93.9%SVM-basedwithnovelfeature94.5%91.6%93.0%TemporalPatternClassification92.7%93.0%92.8%本發(fā)明所述方法98.6%98.8%98.7%表2本發(fā)明所述方法和其它同類方法進(jìn)行漸變鏡頭檢測的準(zhǔn)確率申請?zhí)枮镃N201010228739.X名稱為“一種全自動2D轉(zhuǎn)3D技術(shù)中的實時鏡頭檢測方法和裝置”的發(fā)明專利與本發(fā)明相比,該專利只是對切變和淡入淡出類型的漸變鏡頭檢測效果比較好,而本發(fā)明所述方法是將淡入淡出類型的漸變鏡頭歸入切變鏡頭,且切變檢測的查全率和查準(zhǔn)率達(dá)到了98.6%,優(yōu)于申請?zhí)枮镃N201010228739.X的專利。通過統(tǒng)計視頻鏡頭檢測過程中的比較次數(shù),對不同方法進(jìn)行視頻鏡頭檢測的時間復(fù)雜度進(jìn)行評價。表3是采取4種不同方法進(jìn)行視頻鏡頭檢測的比較次數(shù)。由表3可知,對于含有306321幀的視頻,本發(fā)明所述方法只進(jìn)行了121811次比較計算,只占視頻幀總數(shù)306321的1/3,與其它3種算法相比計算復(fù)雜度是最低的。表3不同方法進(jìn)行視頻鏡頭檢測的比較次數(shù)(單位:次)H.J.Zhang規(guī)則跳略自適應(yīng)跳略本發(fā)明所述方法612642167593480985121811