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