一種基于內(nèi)容視頻檢索中的鏡頭分割算法
隨著多媒體技術(shù)和網(wǎng)絡(luò)技術(shù)的迅速發(fā)展,現(xiàn)代計(jì)算機(jī)技術(shù)特別是海量數(shù)據(jù)存儲(chǔ)與傳輸技術(shù)的成熟,視頻作為一種主要的媒體類型在人們的生活、教育、娛樂等方面日益成為不可或缺的信息載體。但是由于視頻非結(jié)構(gòu)化的數(shù)據(jù)格式、巨大的數(shù)據(jù)量以及表現(xiàn)內(nèi)容的不透明等缺點(diǎn),使得對(duì)視頻數(shù)據(jù)的管理和分析都相當(dāng)困難。而從大量視頻數(shù)據(jù)中找到自己感興趣的相關(guān)視頻片段己成為一種迫切的需求。這一技術(shù)就是目前人們普遍關(guān)注的基于內(nèi)容的視頻檢索技術(shù)(CB-VR,Content-Based Video Retrieval)。
我們知道視頻的制作過程首先是進(jìn)行單個(gè)鏡頭的拍攝,然后,對(duì)于內(nèi)容相近的多個(gè)鏡頭通過各種鏡頭編輯方式(即鏡頭轉(zhuǎn)換方式)銜接在一起,組成場(chǎng)景以及視頻故事單元??梢婄R頭是組成視頻的基本單元,也是對(duì)視頻內(nèi)容進(jìn)行深入分析的基礎(chǔ)。所以從基于內(nèi)容的角度對(duì)視頻進(jìn)行分析時(shí),首先檢測(cè)鏡頭的轉(zhuǎn)換邊界,即各個(gè)不同鏡頭的連接處,這樣就可以將視頻分割為一個(gè)個(gè)的鏡頭;然后對(duì)每個(gè)鏡頭進(jìn)行代表幀的提取并對(duì)內(nèi)容相近的多個(gè)鏡頭進(jìn)行聚類,組成更高層次的場(chǎng)景以及視頻故事單元,便于對(duì)視頻的檢索??梢婄R頭邊界檢測(cè)是將視頻自動(dòng)地分割為鏡頭,以作為基本的索引單元,它是實(shí)現(xiàn)基于內(nèi)容的視頻檢索的第一步。本文研究的主要工作就是鏡頭邊界檢測(cè)。
按照鏡頭之間的轉(zhuǎn)換也不同,主要分為突變(切變)和漸變,對(duì)于鏡頭邊界檢測(cè),主要的工作就是找出視頻中的突變和漸變變化。
1 相關(guān)工作
鏡頭邊界檢測(cè)算法主要有直方圖法、模板匹配法、基于邊緣的方法和基于模型的方法等4種。直方圖法使用像素亮度和色彩的統(tǒng)計(jì)值,不考慮像素的位置信息,抗噪聲能力較強(qiáng),但有時(shí)會(huì)漏掉場(chǎng)景切換。模板匹配法嚴(yán)格地區(qū)分像素的位置,對(duì)噪聲、鏡頭和物體的運(yùn)動(dòng)非常敏感,容易導(dǎo)致錯(cuò)誤的場(chǎng)景切換檢測(cè)。基于邊緣方法的基本思想是在鏡頭發(fā)生切換時(shí)新邊緣應(yīng)遠(yuǎn)離舊邊緣的位置,舊邊緣消失的位置也應(yīng)遠(yuǎn)離新邊緣的位置。上述3種方法都是通過計(jì)算幀間差進(jìn)行鏡頭邊界檢測(cè)的,對(duì)于突變檢測(cè)可取得較好的效果,但對(duì)漸變檢測(cè)則存在一定的困難,這些方法在很大程度上忽略了漸變切換中幀間結(jié)構(gòu)上的相關(guān)性。而基于模型的方法則是利用對(duì)鏡頭編輯的先驗(yàn)知識(shí),對(duì)各種鏡頭切換建立一定的數(shù)據(jù)模型進(jìn)行鏡頭切換的檢測(cè),因此對(duì)鏡頭漸變的檢測(cè)能取得較好的效果。本文的算法就是一種基于模型的方法。
2 鏡頭分割算法
2.1 切變檢測(cè)
本算法根據(jù)相鄰幀圖像變化和不相似性確定切變,相鄰幀的變化屬于圖像檢索的范圍,本算法中采用了顏色局部累積直方圖與紋理相結(jié)合的方法。在一般情況下可通過將不相似值與一個(gè)閾值進(jìn)行比較來做出判斷,而基于“滑動(dòng)窗口”的方法可以克服了不相似值不僅與幀間差有關(guān),而且與成像亮度也有關(guān)的問題。
首先定義一個(gè)時(shí)間長度為2R+l的窗口,使需檢測(cè)的幀位于窗口正中。然后根據(jù)下式計(jì)算前后兩幀間的差異:
如果差異滿足以下條件則認(rèn)為待檢測(cè)幀處為切變位置:
1)窗口中D為最大值;
2)設(shè)窗口中第二大的差異值為D2,有D<k×D2,k為正系數(shù)。
一個(gè)圖解例子見圖1,其中橫軸對(duì)應(yīng)幀序列,豎軸對(duì)應(yīng)幀差值,設(shè)這里k=3。圖中從一R到R對(duì)應(yīng)以幀間差為D的幀的檢測(cè)窗口,由圖可見上述第1個(gè)條件滿足,第2個(gè)條件也滿足(注意檢測(cè)幀問差為D2的幀的檢測(cè)窗口需向左移,但比較時(shí)仍用幀間差為D的檢測(cè)窗口),所以認(rèn)為檢測(cè)到一個(gè)切變。如果考慮窗口右側(cè)外的那些峰,由于第2個(gè)條件得不到滿足,所以不認(rèn)為檢測(cè)到切變。該方法由于利用了在切變位置附近的局部信息,檢測(cè)效果比全局閾值法有相當(dāng)大的提高。
由于“滑動(dòng)窗口”算法在實(shí)際中有可能遇到兩個(gè)影響效果的問題,一個(gè)是漏檢問題。例如在利用上面算法中對(duì)一些由于攝影機(jī)的晃動(dòng),造成前景中的物體相對(duì)于背景有較大的上下變動(dòng),造成了很多漏檢。另一個(gè)時(shí)誤檢。使用上面的算法對(duì)一線電影畫面幾乎靜止,但是由于加字幕、去字幕原因差生小的擾動(dòng),就會(huì)多檢測(cè)出切變,出現(xiàn)誤檢。
本文采用了基于雙重窗口的檢測(cè)算法。
基于雙重窗口算法進(jìn)行切變檢測(cè)的方法流程參見圖2,這里對(duì)被檢測(cè)視頻流的要求比較簡(jiǎn)單,只需對(duì)原始視頻流取平均或?qū)嚎s視頻流取直流分量就可以得到。為了把閃光的影響除去,從檢測(cè)視頻流中先將閃光位置確定下來,其后在把這些位置從切變檢測(cè)得到的可能切變位置中除去,就可得到真正的切變位置。
基于雙重窗口算法的主要特點(diǎn)是利用在大窗口中取全局閾值以提取候選切變位置,再利用以候選切變位置為中心的小窗口具體確定真正的切變位置。該算法在小窗口里的檢測(cè)中結(jié)合了雙側(cè)和單側(cè)比較檢測(cè)方法以減少漏檢提高查全率。而為了避免單側(cè)檢測(cè)可能造成的誤檢,這里采用了將圖像分塊并比較前后兩幀對(duì)應(yīng)塊直方圖的方法作進(jìn)一步的確認(rèn)。
2.2 漸變檢測(cè)
在切變檢測(cè)時(shí)已經(jīng)計(jì)算得到幀間差,同時(shí)采用了基于雙重窗口的切變檢測(cè)算法,計(jì)算了大窗口的幀間差均值用于解決誤檢問題。在整體實(shí)現(xiàn)算法時(shí),采取僅可能統(tǒng)一且高效的方法,因此,在漸變檢測(cè)中也借助于切變檢測(cè)中已經(jīng)計(jì)算得到的數(shù)據(jù),改進(jìn)了雙重窗口算法,使它也適合于檢測(cè)漸變。
具體方法是:在幀間差檢測(cè)切變的同時(shí)來檢測(cè)漸變。先求得幀間差的大區(qū)間均值A(chǔ)ve1,然后根據(jù)每幀與此均值的比值決定是否存在一個(gè)潛在的漸變(在算法中我們發(fā)現(xiàn)取比值系數(shù)位0.9即可),然后開始對(duì)于以后連續(xù)的大于比值的幀間差求累積和,直到存在兩個(gè)小于此比值的幀間差出現(xiàn)。然后計(jì)算這些幀間差累積和的均值A(chǔ)ve2。在比較這兩個(gè)均值的大小決定是否真的存在漸變,通過大量實(shí)驗(yàn),發(fā)現(xiàn)當(dāng)它們的比值大于2時(shí)一般存在漸變,小于2時(shí)一般是由其它原因造成的。
在整個(gè)算法中,并未對(duì)漸變鏡頭進(jìn)行分類,由于漸變過程中的幀間差總是大于區(qū)間內(nèi)其它鏡頭內(nèi)的幀間差。因此僅使用了兩個(gè)均值用于判斷漸變的發(fā)生,很好的完成漸變的檢測(cè)。
3 試驗(yàn)
視頻鏡頭檢測(cè)中,常會(huì)出現(xiàn)錯(cuò)誤的檢測(cè)或漏檢,這些都是不允許的。常用查全率(也稱復(fù)現(xiàn)率)和準(zhǔn)確度以用來表示檢索系統(tǒng)的性能。
按本文的算法對(duì)4段視頻進(jìn)行了切變檢測(cè),對(duì)2段視頻進(jìn)行了漸變的檢測(cè),實(shí)驗(yàn)結(jié)果如下:
4 總結(jié)
主要介紹了視頻檢索的核心技術(shù)——視頻鏡頭的檢測(cè),重點(diǎn)提出了基于已經(jīng)計(jì)算得到的幀間差為基礎(chǔ)的雙重窗口檢測(cè)算法實(shí)現(xiàn)了切變的檢測(cè)。對(duì)于漸變的檢測(cè),采取了統(tǒng)一的雙閾值檢測(cè)方法對(duì)所有漸變類型進(jìn)行了檢測(cè)。通過多次試驗(yàn),證明了方法的可行性、有效性。