本科畢業(yè)論文濾波器的形狀和尺寸對(duì)圖像濾波的影響_第1頁
本科畢業(yè)論文濾波器的形狀和尺寸對(duì)圖像濾波的影響_第2頁
本科畢業(yè)論文濾波器的形狀和尺寸對(duì)圖像濾波的影響_第3頁
本科畢業(yè)論文濾波器的形狀和尺寸對(duì)圖像濾波的影響_第4頁
本科畢業(yè)論文濾波器的形狀和尺寸對(duì)圖像濾波的影響_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、學(xué)校代碼: 10128學(xué) 號(hào): 201020906002 本科畢業(yè)論文題 目:濾波器的形狀和尺寸對(duì)圖像 濾波的影響 學(xué)生姓名:學(xué) 院:理學(xué)院系 別:物理系專 業(yè):電子信息科學(xué)與技術(shù)班 級(jí):電科10-1班指導(dǎo)教師:李維雅 講師二 一 四 年 五 月摘要目前,計(jì)算機(jī)多媒體網(wǎng)絡(luò)技術(shù)的發(fā)展,使得人們的大部分知識(shí)都由視覺獲得。所以,如何才能在眾多的視頻信息中用最短時(shí)間找到自己所需要的內(nèi)容,已經(jīng)成了一個(gè)亟待解決的事情。鏡頭邊界檢測是視頻檢索的關(guān)鍵性技術(shù)之一。當(dāng)鏡頭發(fā)生轉(zhuǎn)換時(shí),會(huì)造成一些明顯的變化。例如鏡頭連續(xù)幀之間相應(yīng)位置像素點(diǎn)差值的變大、顏色分布發(fā)生明顯改變或者物體邊緣的突然出現(xiàn)與消失。鏡頭邊界檢測從本

2、質(zhì)上講就是檢測這些明顯特征的變化。由于鏡頭中的內(nèi)容有多種描述方法,所以相應(yīng)的也有多種鏡頭邊界檢測方法。盡管如此,鏡頭邊界檢測技術(shù)還不成熟。本文的主要內(nèi)容就是使用MATLAB來實(shí)現(xiàn)鏡頭邊界檢測,即鏡頭內(nèi)容的變化,包括突變與漸變。本文主要使用的方法有基于MATLAB連續(xù)幀相減的像素差法與直方圖相減法。關(guān)鍵詞:鏡頭邊界檢測;直方圖;突變檢測;漸變檢測; AbstractAt present, the development of computer multimedia network technology, makes the most of the knowledge obtained by th

3、e visual. So, how do we in the video with the shortest time to find the content they need, has become an urgent matter. Shot boundary detection is one of the key technologies for video retrieval. When the the lens conversion occurs, it will cause some significant changes. For example, the difference

4、 of the lens between consecutive frames corresponding pixel will become larger, color distribution changed significantly or the edges of objects suddenly appear and disappear. In essence, the shot boundary detection is to detect changes in these distinguishing characteristics. Since the contents of

5、the lens had been variously described method, the corresponding variety of shot boundary detection method. Nevertheless, the shot boundary detection technology is not mature. The main content of this paper is to use MATLAB to achieve the shot boundary detection, changes in the content of the lens, i

6、ncluding mutations gradient. In this paper, using the consecutive frames subtraction, histogram subtraction.Keywords:shot boundary detection; histogram; mutation detection; gradient detection;目 錄引言 1第一章 視頻鏡頭邊界檢測概述21.1 基本概念21.2 視頻鏡頭邊界分類31.3 視頻鏡頭邊界檢測算法分類31.4視頻數(shù)據(jù)處理過程41.5 視頻鏡頭邊界檢測過程51.6 主要方法及存在的問題61.7 性

7、能指標(biāo) 7第二章 視頻數(shù)據(jù)結(jié)構(gòu)及MATLAB簡介 82.1 視頻數(shù)據(jù)結(jié)構(gòu) 8 2.1.1 視頻數(shù)據(jù)特點(diǎn)8 2.1.2 視頻數(shù)據(jù)的表示8 2.1.3 視頻數(shù)據(jù)處理結(jié)構(gòu)82.2 MATLAB簡介9 2.2.1 MATLAB組成9 2.2.2 MATLAB主要特點(diǎn)9 2.2.3 MATLAB圖像處理工具箱10第三章 視頻鏡頭突變檢測 113.1 國內(nèi)外研究現(xiàn)狀113.2 連續(xù)幀相減及MATLAB實(shí)現(xiàn)12 3.2.1 MATLAB程序流程圖12 3.2.2 連續(xù)幀相減原理13 3.2.3 連續(xù)幀相減程序?qū)崿F(xiàn)13 3.2.4 連續(xù)幀相減優(yōu)點(diǎn)與缺點(diǎn)153.3 直方圖相減及MATLAB實(shí)現(xiàn)16 3.3.1

8、MATLAB程序流程圖16 3.3.2 直方圖相減原理17 3.3.3 直方圖相減程序?qū)崿F(xiàn)17 3.3.4 直方圖相減優(yōu)點(diǎn)與缺點(diǎn)19第四章 視頻鏡頭漸變檢測 204.1 國內(nèi)外研究現(xiàn)狀204.2 連續(xù)幀相減及MATLAB實(shí)現(xiàn)214.3 直方圖相減及MATLAB實(shí)現(xiàn)24結(jié)論 27參考文獻(xiàn) 28謝辭 29引言隨著計(jì)算機(jī)技術(shù)的發(fā)展、離散數(shù)學(xué)理論的發(fā)展和各領(lǐng)域需求的增長,數(shù)字圖像處理正成為新興的學(xué)科蓬勃發(fā)展。如何使數(shù)字視頻里的信息得到充分利用,并在最短的時(shí)間里找到我們所需要的內(nèi)容,是急需解決的問題。因此,視頻分析及檢索技術(shù)顯得尤為重要。我們在對(duì)視頻分析處理時(shí)必須進(jìn)行鏡頭邊界檢測,以求對(duì)視頻的進(jìn)一步處理

9、成為可能。這更說明了鏡頭邊界檢測技術(shù)的重要性。視頻鏡頭邊界檢測已經(jīng)在近幾年得到深入研究,并應(yīng)用在不同領(lǐng)域。比如視頻索引,視頻壓縮,視頻訪問和其它幾個(gè)方面。鏡頭邊界檢測一直是一個(gè)活躍的研究領(lǐng)域,已經(jīng)開發(fā)了許多自動(dòng)技術(shù)來檢測視頻序列中的幀轉(zhuǎn)換。測量視頻內(nèi)容不連續(xù)性的最簡單的方法就是比較兩幀之間對(duì)應(yīng)的像素。本文主要使用兩種基于MATLAB的方法進(jìn)行鏡頭邊界檢測。分別為連續(xù)幀相減和直方圖相減。根據(jù)視頻鏡頭的特點(diǎn),將鏡頭分為兩類:突變鏡頭和漸變鏡頭。其中大部分是突變鏡頭。當(dāng)鏡頭發(fā)生轉(zhuǎn)換時(shí),會(huì)造成一些明顯的變化。例如鏡頭連續(xù)幀之間相應(yīng)位置像素點(diǎn)差值的變大、顏色分布發(fā)生明顯改變或者物體邊緣的突然出現(xiàn)與消失。

10、鏡頭邊界檢測從本質(zhì)上講就是檢測這些明顯特征的變化。鏡頭邊緣檢測的主要目的是提高鏡頭邊緣檢測的準(zhǔn)確率和降低漏檢率,并能對(duì)各類不同的鏡頭進(jìn)行準(zhǔn)確區(qū)分和檢測,以得到更高的查全率和查準(zhǔn)率。本文的主要內(nèi)容如下:第一章:鏡頭邊界檢測概述。本章主要介紹了關(guān)于視頻的一些基本概念,包括視頻、場景、鏡頭和幀等。還有鏡頭邊界的概念、檢測的流程、主要方法及性能指標(biāo)等。第二章:視頻數(shù)據(jù)結(jié)構(gòu)MATLAB簡介。主要分析視頻的數(shù)據(jù)結(jié)構(gòu)。第三章:突變檢測。本章主要用MATLAB實(shí)現(xiàn)突變鏡頭邊界檢測,包括程序流程圖和程序代碼。其中主要使用了兩種方法,基于連續(xù)幀相減的像素差法和直方圖相減法。并且介紹了兩種方法的原理以及優(yōu)缺點(diǎn)。第四

11、章:漸變檢測。本章主要用MATLAB實(shí)現(xiàn)漸變鏡頭邊界檢測。同樣使用了連續(xù)幀相減與直方圖相減兩種方法。檢測鏡頭為溶解漸變鏡頭。本文研究內(nèi)容是基于MATLAB針對(duì)非壓縮域視頻的鏡頭邊界檢測算法。第一章 視頻鏡頭邊界檢測概述1.1 基本概念視頻:視頻一般是由許多個(gè)場景拼接而成的,它在時(shí)間、空間和圖像結(jié)構(gòu)上都具有一定地連續(xù)性。從根本上講,它是一組動(dòng)態(tài)的圖像序列,所描述的是一個(gè)完整的故事。場景:包含一個(gè)或多個(gè)鏡頭,并且這些鏡頭內(nèi)容相近,只是從不同的角度對(duì)同一個(gè)事件進(jìn)行描述。一般敘述的是一個(gè)階段性的故事。鏡頭:鏡頭是視頻數(shù)據(jù)結(jié)構(gòu)中的基本單位,它由若干幀時(shí)間上連續(xù)的圖像組成。在內(nèi)容上具有很大的相似性。幀:幀

12、作為視頻數(shù)據(jù)結(jié)構(gòu)中的最小單元,從本質(zhì)上來講是一幅靜態(tài)的的圖像。連續(xù)幀之間會(huì)發(fā)生變化。鏡頭邊界:兩個(gè)鏡頭發(fā)生轉(zhuǎn)換的時(shí)候,會(huì)出現(xiàn)一些明顯的變化。例如鏡頭連續(xù)幀之間相應(yīng)位置像素點(diǎn)差值的變大、顏色分布發(fā)生明顯的改變或者物體邊緣的突然出現(xiàn)與消失。鏡頭邊界是視頻鏡頭相鄰幀的內(nèi)容出現(xiàn)了某種意義上的變化,即鏡頭邊界反映的是視頻內(nèi)容的不連續(xù)性。鏡頭邊界檢測從本質(zhì)上講就是檢測這些明顯特征的變化。圖1.1 視頻、場景以及幀關(guān)系圖1.2 視頻鏡頭邊界分類視頻鏡頭邊界主要有兩種,分別為突變鏡頭邊界與漸變鏡頭邊界。其中突變鏡頭邊界是一個(gè)鏡頭直接轉(zhuǎn)換到另一個(gè)鏡頭,兩個(gè)鏡頭之間沒有使用任何攝影編輯效果。它的特點(diǎn)是鏡頭的變換發(fā)

13、生在兩幀圖像之間,這兩幀圖像分屬不同的鏡頭,兩幀圖像的最基本特征已發(fā)生改變。漸變鏡頭邊界是指一個(gè)鏡頭漸漸過渡到另一個(gè)鏡頭,鏡頭之間會(huì)有一些空間或時(shí)間上的編輯效果,包括淡入淡出,溶解等。它的主要特點(diǎn)是漸變過程中相鄰兩幀圖像變化相對(duì)較小,所以漸變過程通常為幾幀到十幾幀。鏡頭漸變包括許多鏡頭切換方式,它的主要特點(diǎn)是漸變過程中相鄰兩幀圖像變化相對(duì)較小,所以漸變過程通常為幾幀到十幾幀。與鏡頭突變只有一種不同的是,漸變包括許多種方式,如淡入淡出、溶解等。目前大部分的視頻鏡頭轉(zhuǎn)換方式為突變鏡頭,少部分為漸變鏡頭。鏡頭突變檢測方法已經(jīng)相對(duì)比較成熟,而鏡頭漸變檢測方法還沒有一個(gè)普遍通用的算法。1.3 視頻鏡頭邊

14、界檢測算法分類視頻鏡頭邊界檢測算法依照處理對(duì)象的不同可以分為:壓縮域鏡頭邊界檢測算法和非壓縮域鏡頭邊界檢測算法。非壓縮域鏡頭邊界檢測算法是針對(duì)未經(jīng)過壓縮的數(shù)字視頻的,因此可以利用視頻幀圖像像素域信息,直接對(duì)圖像進(jìn)行各種處理,提取圖像的特征向量,例如灰度直方圖,像素點(diǎn)變化率,邊緣改變率等。壓縮域鏡頭邊界檢測算法是針對(duì)經(jīng)過壓縮的數(shù)字視頻的。由于越來越多的視頻是以壓縮形式保存的,所以有必要對(duì)壓縮視頻域進(jìn)行研究。如果先解壓,再用非壓縮域的方法進(jìn)行分析,不僅要消耗大量的解壓時(shí)間,而且需要額外的存儲(chǔ)空間。所以近年來出現(xiàn)了直接對(duì)壓縮視頻進(jìn)行鏡頭邊界檢測的算法。本文研究內(nèi)容是基于MATLAB針對(duì)非壓縮域視頻的

15、鏡頭邊界檢測算法。1.4 視頻數(shù)據(jù)處理過程圖1.2 視頻數(shù)據(jù)處理過程(1)選擇特征向量選擇一個(gè)合適的特征向量對(duì)鏡頭邊界的正確檢測有很大的幫助?;谶B續(xù)幀相減的像素差法對(duì)于運(yùn)動(dòng)和噪聲十分敏感,容易造成誤檢,而直方圖相減方法又丟失了幀圖像的位置信息,容易造成漏檢測。所以需要找到一個(gè)更好的特征或者是特征組合來提高鏡頭邊界的檢測的效果。(2)選擇閾值如何選擇一個(gè)合適的閾值是應(yīng)用幀差法進(jìn)行鏡頭邊界檢測最關(guān)鍵的一個(gè)問題,選取的閾值是否合適直接影響著鏡頭邊界檢測的結(jié)果。如果選取的閾值過大,會(huì)造成漏檢,而閾值太小又會(huì)造成誤檢。并且不同類型的視頻需要選擇不同的閾值,很難有一個(gè)統(tǒng)一的標(biāo)準(zhǔn)。(3)鏡頭漸變與鏡頭運(yùn)動(dòng)

16、的區(qū)別因?yàn)殓R頭漸變與鏡頭運(yùn)動(dòng)都會(huì)使幀間差連續(xù)的增大,所以利用基于MATLAB幀間差的方法很難將鏡頭漸變和鏡頭運(yùn)動(dòng)區(qū)分開來。(4)光照變化及閃光引起的誤檢在鏡頭中出現(xiàn)的閃光以及光照條件的變化會(huì)造成視頻幀亮度的變化,從而引起視頻幀間差的變化,使得鏡頭邊界檢測出現(xiàn)錯(cuò)誤,造成誤檢。1.5 視頻鏡頭邊界檢測過程本文所用鏡頭邊界檢測方法的關(guān)鍵在于計(jì)算相鄰幀間差,第一步要從視頻鏡頭圖像幀中選取合適的特征值,選取的特征值要能準(zhǔn)確反映視頻內(nèi)容的變化程度,然后就是對(duì)特征值進(jìn)行計(jì)算,獲取幀間差。第二步進(jìn)行鏡頭邊界判斷,需要設(shè)定一個(gè)閾值,然后根據(jù)幀間差與閾值的關(guān)系判斷是否發(fā)生了鏡頭的變換?;贛ATLAB解壓縮域鏡頭

17、邊界檢測過程如圖1.3所示,其中F(i)代表視頻鏡頭第i幀圖像,D(i)代表i幀和i+1幀圖像幀間差,S(k)代表檢測到的第k個(gè)鏡頭邊界。圖1.3 鏡頭邊界檢測過程1.6 主要方法及存在的問題視頻鏡頭邊界檢測的實(shí)質(zhì)就是檢測視頻鏡頭連續(xù)相鄰幀或非相鄰幀差的差異度或相似度,當(dāng)相似度或差異度大于或小于一個(gè)閾值時(shí),則判定出現(xiàn)視頻鏡頭突變或漸變邊界。(1)利用視頻圖像相鄰幀差檢測鏡頭邊界的方法本文所用的利用視頻圖像相鄰幀差進(jìn)行鏡頭邊界檢測的方法主要有連續(xù)幀相減法和直方圖相減法,它們是最簡單的計(jì)算幀間差的方法,原理也很簡單,基于連續(xù)幀相減的像素差方法的主要原理就是判斷相鄰圖像幀中發(fā)生變化的像素點(diǎn)的多少。首

18、先統(tǒng)計(jì)兩幅圖像對(duì)應(yīng)像素點(diǎn)變化率超過閾值F1的像素點(diǎn)個(gè)數(shù)。然后,將變化的像素點(diǎn)個(gè)數(shù)與第二個(gè)預(yù)定的閾值F2比較,如果超過范圍,則認(rèn)為這兩幀之間發(fā)生較大變化,判斷其為鏡頭邊界?;谥狈綀D的方法也是利用視頻圖像幀間差進(jìn)行鏡頭邊界檢測的方法。首先計(jì)算連續(xù)兩幀圖像的直方圖,然后統(tǒng)計(jì)相鄰兩幀中所有像素在不同灰度上的分布差異,即直方圖相減。當(dāng)差異的累加值超過閾值T時(shí),即檢測到鏡頭邊界。還有一種基于塊的鏡頭邊界檢測算法。這種算法將圖像進(jìn)行分塊,然后將相鄰幀所對(duì)應(yīng)的塊進(jìn)行比較,統(tǒng)計(jì)變化率超過閾值F1的個(gè)數(shù)。當(dāng)個(gè)數(shù)超過閾值F2時(shí),即標(biāo)為視頻鏡頭邊界。這個(gè)方法就是根據(jù)視頻幀間差與閾值的關(guān)系達(dá)到檢測鏡頭邊界的目的,既可

19、以檢測突變鏡頭邊界也可以檢測漸變鏡頭邊界。因?yàn)榛谶B續(xù)幀幀間差的方法有很多,例如本文中所用的基于連續(xù)幀相減的像素差法和直方圖相減法。檢測漸變鏡頭邊界與突變鏡頭邊界唯一不同的是閾值的選取不同。一般來說,只計(jì)算相鄰幀的幀間差,對(duì)于漸變鏡頭邊界的檢測來講,有一種方法就是當(dāng)幀間差超過閾值F1時(shí),標(biāo)記為漸變起始幀,然后接下來每一幀都與起始幀作差,以此來判定鏡頭邊界。(2) 利用視頻鏡頭相鄰幀相似度檢測視頻鏡頭邊界方法直方圖交集法是利用兩個(gè)視頻圖像幀直方圖交集來檢測視頻鏡頭邊界的。與其它利用幀間差檢測視頻鏡頭邊界方法不同的是,直方圖交集是檢測連續(xù)兩個(gè)視頻圖像幀相似度的。它的原理也比較簡單,具體實(shí)現(xiàn)過程如下

20、,首先計(jì)算連續(xù)兩幀的直方圖,然后計(jì)算直方圖交集,當(dāng)連續(xù)兩個(gè)視頻圖像幀的相似度小于閾值F1時(shí),則判定出現(xiàn)鏡頭邊界。在實(shí)際中,經(jīng)常需要將突變鏡頭與漸變鏡頭放在一起檢測。在進(jìn)行鏡頭漸變檢測時(shí),用檢測鏡頭突變的方法檢測效果并不明顯。所以需要一些方法的組合來實(shí)現(xiàn)漸變鏡頭邊界檢測,例如二次幀差法,利用重復(fù)幀差值的計(jì)算提高漸變鏡頭邊界檢測效率。還可以利用像素差法與直方圖法的結(jié)合來實(shí)現(xiàn),不僅可以達(dá)到好的漸變檢測效果,還能消除攝像機(jī)及目標(biāo)運(yùn)動(dòng)對(duì)結(jié)果的影響?;蛘卟捎弥狈綀D幀差的均值與方差變化來找出漸變鏡頭邊界。現(xiàn)階段視頻鏡頭邊界檢測算法有很多,但其中大部分不能普遍適用于不同類型的視頻鏡頭,或者僅僅只針對(duì)某一類視頻

21、鏡頭中的某一種鏡頭變換,而且這些算法大都對(duì)攝像機(jī)與物體的運(yùn)動(dòng)以及閃光比較敏感,容易出現(xiàn)誤檢與漏檢。本文所采用的方法為基于連續(xù)幀相減的像素差法和直方圖相減法。這兩種方法對(duì)于閾值的依賴性較強(qiáng)。如何選擇一個(gè)合適的閾值是應(yīng)用這兩種方法進(jìn)行鏡頭邊界檢測最關(guān)鍵的一個(gè)問題,選取的閾值是否合適直接影響著鏡頭邊界檢測的結(jié)果。如果選取的閾值過大,會(huì)造成漏檢,而閾值太小又會(huì)造成誤檢。并且不同類型的視頻需要選擇不同的閾值,很難有一個(gè)統(tǒng)一的標(biāo)準(zhǔn)。1.7 性能標(biāo)準(zhǔn)通常,在視頻鏡頭邊界檢測中,要用查全率和準(zhǔn)確率兩個(gè)概念還衡量檢測算法的檢測精度,這兩個(gè)概念定義如下:另外,在鏡頭邊界檢測中還有兩個(gè)參數(shù)經(jīng)常被用到,即漏檢率和誤檢

22、率:(1)漏檢率=1-查全率(2)誤檢率=1-查準(zhǔn)率第二章 視頻數(shù)據(jù)結(jié)構(gòu)MATLAB簡介在所有的多媒體數(shù)據(jù)類型中,視頻數(shù)據(jù)是最復(fù)雜的。因?yàn)樗膬?nèi)容比較多,其中不僅包括每個(gè)視頻幀圖像的內(nèi)容,還有鏡頭中目標(biāo)的運(yùn)動(dòng)信息以及隨時(shí)間變化的信息。正因?yàn)橐曨l數(shù)據(jù)自身特點(diǎn)如此,所以對(duì)視頻數(shù)據(jù)的處理顯得異常艱難。MATLAB可以實(shí)現(xiàn)對(duì)數(shù)字視頻的讀取以及將數(shù)字視頻分離為幀并用數(shù)字圖像處理工具箱對(duì)其進(jìn)處理。2.1 視頻數(shù)據(jù)結(jié)構(gòu)2.1.1 視頻數(shù)據(jù)特點(diǎn)視頻是對(duì)于人類來講,是非常重要的信息源。因?yàn)橐曨l是動(dòng)態(tài)幀序列的組合,所以它與普通圖像有所不同,除了靜態(tài)圖像可以表示的內(nèi)容以外,它還包括鏡頭中目標(biāo)運(yùn)動(dòng)的信息以及目標(biāo)

23、隨時(shí)間變化的信息,因此對(duì)于視頻數(shù)據(jù)結(jié)構(gòu)的研究很有必要,意義重大。通常來講,視頻所包含的信息量非常大,并且結(jié)構(gòu)也很特殊,例如每一秒視頻包含24幀圖像,而且內(nèi)容多種多樣,同時(shí)每個(gè)人對(duì)于所看到的內(nèi)容理解不同,所以對(duì)于視頻很難有一個(gè)確切的描述與解釋。2.1.2 視頻數(shù)據(jù)的表示視頻數(shù)據(jù)的信息量非常大,所以需要以多種方式來描述視頻數(shù)據(jù)。視頻數(shù)據(jù)本身就有很多屬性,包括像素位置、顏色紋理、形狀以及運(yùn)動(dòng)等。因?yàn)橐曨l是一系列視頻圖像幀的集合,所以對(duì)視頻數(shù)據(jù)的表示與分析從本質(zhì)上講也是通過圖像特征對(duì)視頻圖像幀進(jìn)行分析。所以對(duì)視頻數(shù)據(jù)的處理也依賴于這些特征,視頻數(shù)據(jù)處理的過程就是對(duì)這些視頻圖像幀特征的提取?;叶戎狈綀D也

24、是視頻圖像的一個(gè)重要屬性,灰度直方圖是灰度級(jí)的函數(shù),它表示圖像中具有某種灰度級(jí)的像素的個(gè)數(shù),反映了圖像中某種灰度出現(xiàn)的頻率。運(yùn)動(dòng)特征、形狀和視頻圖像像素位置對(duì)于視頻也是非常重要的屬性,但是這些屬性的提取一般來說比較困難,本文只對(duì)視頻圖像幀的像素位置屬性和灰度直方圖屬性作研究。2.1.3 視頻數(shù)據(jù)處理結(jié)構(gòu)在處理視頻數(shù)據(jù)時(shí),需要將視頻數(shù)據(jù)分成視頻、場景、鏡頭和幀四層結(jié)構(gòu)來表示,便于表示其中內(nèi)容。其中,視頻圖像幀是視頻結(jié)構(gòu)的最底層。視頻圖像處理是一個(gè)從最底層開始不斷對(duì)視頻進(jìn)行描述,逐步直到高層表達(dá)的過程。而對(duì)幀圖像的處理達(dá)到鏡頭邊界檢測,使鏡頭分割是對(duì)視頻處理的一個(gè)基礎(chǔ)操作。2.2 MATLAB簡介

25、2.2.1 MATLAB組成1、MATLAB主包(1)MATLAB語言MATLAB語言是一種面向?qū)ο蟮某绦蛟O(shè)計(jì)語言,其中包含有各種函數(shù)、控制語句、數(shù)據(jù)類型以及數(shù)據(jù)的輸出功能。(2)句柄圖形句柄圖形是MATLAB的圖形系統(tǒng)。句柄圖形中擁有用于處理二維和三維數(shù)字圖形的各種指令和高低級(jí)命令。(3)MATLAB應(yīng)用程序接口(API)API是MATLAB程序所提供的,以便于和其他的高級(jí)語言進(jìn)行相互連接的一個(gè)互動(dòng)對(duì)接函數(shù)庫,各種語言之間通過對(duì)MAT文件的讀寫來實(shí)現(xiàn)數(shù)據(jù)信息的相互交流。2、MATLAB工具箱MATLAB工具箱從功能上看,可以將他們分為學(xué)科性的工具包和功能性的工具包兩大部分。其中和圖像處理相關(guān)

26、的那些工具箱放在了功能性的工具包中。這些工具能夠十分簡單快捷的對(duì)圖像做一些常見的處理工作,例如圖像增強(qiáng)和圖像復(fù)原等操作。2.2.2 MATLAB主要特點(diǎn)1、 工作平臺(tái)環(huán)境友好MATLAB由一系列工具組成。這些工具大多使用圖形用戶界面,使得用戶對(duì)MATLAB軟件中和各種文件及函數(shù)的調(diào)用非常方便。2、 程序語言簡單易用MATLAB是一種高級(jí)語言,用戶可以根據(jù)實(shí)際需要自主的選擇將輸入語句和執(zhí)行命令進(jìn)行同步處理,也可以先單獨(dú)的編寫出每一個(gè)應(yīng)用程序文件,最后再將它們連接起來一起執(zhí)行以完成一個(gè)復(fù)雜的程序功能。3、 出色的圖形處理功能MATLAB本身具有強(qiáng)大的數(shù)據(jù)可視化功能,能夠方便的將數(shù)據(jù)矩陣轉(zhuǎn)換成圖形表

27、現(xiàn)出來,特別是在本文所研究的視頻鏡頭邊界檢測應(yīng)用中,可以方便的使用戶看到具體哪一幀為鏡頭邊界。2.2.3 MATLAB圖像處理工具箱本文所用的MATLAB為MATLAB R2011a。MATLAB提供的圖像處理工具箱提供了很多非常方便的函數(shù)。在視頻處理方面,MATLAB用于讀取視頻的函數(shù)有好多,例如mmreader,Videoreader,aviread和mpgread。本文所用的是aviread,但是aviread對(duì)于視頻格式讀取有限制,只能讀取未經(jīng)壓縮的avi視頻和一定壓縮格式的avi視頻。如本文中使用的視頻羅馬假日,MATLAB就不能正常讀取。需要使用WinAVI進(jìn)行解壓縮,輸出為RGB

28、24格式,才能正常讀取。在本文中,一個(gè)1.5M大小的視頻經(jīng)過解壓縮處理后輸出大小為260M左右。這同時(shí)也暴露了本文所討論方法的局限性,因?yàn)楝F(xiàn)在大多數(shù)視頻都是經(jīng)過壓縮處理的,如果先解壓,再用本文所討論方法,容易造成時(shí)間的浪費(fèi)。第三章 視頻鏡頭突變檢測3.1 國內(nèi)外研究現(xiàn)狀本文中的鏡頭突變檢測就是檢測視頻序列中像素點(diǎn)數(shù)目變化與直方圖幀差變化的峰值點(diǎn),也就是內(nèi)容變化程度的最大處。首先介紹一下一些典型的視頻鏡頭突變檢測方法。(1)直接利用視頻圖像幀間像素差的方法它是最簡單的計(jì)算幀間差的方法,原理也很簡單,具體操作過程如下:由于人眼是以像素為單位來辨別圖象的相似度或者差異度的,兩幀圖像在同一位置上相同像

29、素點(diǎn)的個(gè)數(shù)越多,這兩幀圖像就越相似。由此,提出基于連續(xù)幀相減的像素差法。該方法主要原理就是判斷相鄰圖像幀中發(fā)生變化的像素點(diǎn)的多少。首先統(tǒng)計(jì)兩幅圖像對(duì)應(yīng)像素點(diǎn)變化率超過閾值F1的像素點(diǎn)個(gè)數(shù)。然后,將變化的像素點(diǎn)個(gè)數(shù)與第二個(gè)預(yù)定的閾值F2比較,如果超過范圍,則認(rèn)為這兩幀之間發(fā)生較大變化,判斷其為鏡頭邊界。由于考慮到了視頻圖像幀的像素位置信息,所以對(duì)于視頻鏡頭的檢測比較精確,但是這種方法的主要缺點(diǎn)是對(duì)于攝像機(jī)及目標(biāo)運(yùn)動(dòng)比較敏感,容易出現(xiàn)誤檢與漏檢。經(jīng)常采用的一種方法是:使用濾波器來降低視頻圖像幀噪聲,在比較一幀的每個(gè)像素前,用它的鄰近區(qū)域的平均值來代替,這也過濾了輸入圖像的一些噪聲。(2) 基于連續(xù)

30、幀直方圖相減的方法基于直方圖的方法也是利用視頻圖像幀間差進(jìn)行鏡頭邊界檢測的方法。具體操作過程如下:首先計(jì)算連續(xù)兩幀圖像的直方圖,然后統(tǒng)計(jì)相鄰兩幀中所有像素在不同灰度上的分布差異,即直方圖相減。當(dāng)差異的累加值超過閾值T時(shí),即檢測到鏡頭邊界?;谥狈綀D的方法雖然對(duì)于攝像機(jī)及目標(biāo)運(yùn)動(dòng)不敏感,但它忽略了幀內(nèi)的空間變化,所以有可能造成鏡頭邊界的誤檢與漏檢。因?yàn)榭赡艽嬖趦蓚€(gè)圖像有類似的直方圖但卻具有完全不同的內(nèi)容。不過,這種事件的概率是足夠低的。(3) 基于塊的鏡頭邊界檢測算法由于前面兩種方法對(duì)于攝像機(jī)及目標(biāo)運(yùn)動(dòng)比較敏感,所以我們需要一種方法能夠提高算法對(duì)局部運(yùn)動(dòng)的容忍度?;趬K的鏡頭邊界檢測算法就可以達(dá)

31、到這個(gè)目的。它的原理與基于連續(xù)幀相減像素差法類似,所不同的是,這種算法將圖像進(jìn)行分塊,然后將相鄰幀所對(duì)應(yīng)的塊進(jìn)行比較,統(tǒng)計(jì)變化率超過閾值F1的個(gè)數(shù)。當(dāng)個(gè)數(shù)超過閾值F2時(shí),即標(biāo)為視頻鏡頭邊界。3.2 連續(xù)幀相減MATLAB實(shí)現(xiàn)3.2.1 MATLAB程序流程圖i=i+1k=1jhj=1計(jì)算像素點(diǎn)變化率e提取幀x(i)與x(i-1),并灰度轉(zhuǎn)換iframesi=2讀取視頻序列,獲取幀高h(yuǎn),幀寬w,總幀數(shù)frames假j=j+1kw假e25%存入數(shù)組mmw*h*7%輸出幀號(hào)圖3.1 MATLAB程序流程圖3.2.2 連續(xù)幀相減原理由于人眼是以像素為單位來辨別圖象的相似度或者差異度的,兩幀圖像在同一位

32、置上相同像素點(diǎn)的個(gè)數(shù)越多,這兩幀圖像就越相似。由此,提出基于連續(xù)幀相減的像素差法。該方法主要原理就是判斷相鄰圖像幀中發(fā)生變化的像素點(diǎn)的多少。首先統(tǒng)計(jì)兩幅圖像對(duì)應(yīng)像素點(diǎn)變化率超過閾值F1的像素點(diǎn)個(gè)數(shù)。然后,將變化的像素點(diǎn)個(gè)數(shù)與第二個(gè)預(yù)定的閾值F2比較,如果超過范圍,則認(rèn)為這兩幀之間發(fā)生較大變化,判斷其為鏡頭邊界。 3.2.3 連續(xù)幀相減程序?qū)崿F(xiàn)圖3.2 視頻羅馬假日突變鏡頭部分視頻幀程序代碼:info=aviinfo(E:Hepburn.avi);%錄入AVI視頻的相關(guān)信息mov=aviread(E:Hepburn.avi);%讀入視頻frames=size(mov,2);%獲取視頻中的幀總數(shù)w

33、=info.Width;%幀寬h=info.Height;%幀高m=zeros(frames,1);for i=2:frames x=mov(i-1).cdata(:,:,:); y=mov(i).cdata(:,:,:); a=rgb2gray(x); b=rgb2gray(y); %c=im2double(a); %d=im2double(b); e=abs(a-b)./(a+b); for j=1:h for k=1:w if e(j,k)0.25 %對(duì)于突變檢測,像素點(diǎn)變化率閾值可選范圍較大 m(i)=m(i)+1; end end end if m(i)h*w*0.07%閾值設(shè)為總像

34、素點(diǎn)數(shù)的7% disp(i-1); end endn=1:frames;plot(n,m);xlabel(幀數(shù),FontWeight,bold);ylabel(像素點(diǎn)變化數(shù),FontWeight,bold);title(連續(xù)幀相減,FontSize,12,FontWeight,bold,FontName,隸書)圖3.3 連續(xù)幀相減運(yùn)行結(jié)果圖程序運(yùn)行結(jié)果:程序輸出結(jié)果為37,110。即第37幀和110幀為鏡頭突變邊界。并且由圖3.3可以看出37與38幀與110與111幀像素差遠(yuǎn)遠(yuǎn)超出其它相鄰幀像素差。將視頻打成幀圖像,查看第37幀與110幀。程序運(yùn)行結(jié)果正確,第37幀與110幀確實(shí)為鏡頭突變邊界

35、。3.2.4 連續(xù)幀相減優(yōu)點(diǎn)與缺點(diǎn)優(yōu)點(diǎn): 在計(jì)算兩視頻幀圖像的幀間差時(shí)考慮到了像素的位置關(guān)系,因此計(jì)算的圖像幀間差較為精確。缺點(diǎn):對(duì)攝像機(jī)運(yùn)動(dòng)敏感,如放縮、平移。對(duì)視頻序列內(nèi)物體的運(yùn)動(dòng)同樣敏感。解決辦法:通過濾波器的使用來降低攝像機(jī)及目標(biāo)運(yùn)動(dòng)的干擾,提高算法對(duì)于攝像機(jī)及目標(biāo)運(yùn)動(dòng)的容忍度。在比較一幀的每個(gè)像素前,用它的鄰近區(qū)域的平均值來代替,這也過濾了輸入圖像的一些噪聲。3.3 直方圖相減MATLAB實(shí)現(xiàn)3.3.1 MATLAB程序流程圖讀取視頻序列,獲取幀高h(yuǎn),幀寬w,總幀數(shù)framesi=2iframes提取幀x(i)與x(i-1),并灰度轉(zhuǎn)換計(jì)算x(i)與x(i-1)直方圖幀差g(i)計(jì)算

36、幀差累積和計(jì)算閾值(累積和的11%左右)g(i)thi=i+1假輸出幀號(hào)圖3.4 MATLAB程序流程圖3.3.2 直方圖相減原理基于直方圖的方法也是利用視頻圖像幀間差進(jìn)行鏡頭邊界檢測的方法。它的原理也很簡單,具體操作過程如下:首先計(jì)算連續(xù)兩幀圖像的直方圖,然后統(tǒng)計(jì)相鄰兩幀中所有像素在不同灰度上的分布差異,即直方圖相減。當(dāng)差異的累加值超過閾值T時(shí),即檢測到鏡頭邊界。3.3.3 直方圖相減程序?qū)崿F(xiàn)圖3.5 視頻羅馬假日突變鏡頭部分視頻幀程序代碼:info=aviinfo(E:Hepburn.avi);%錄入AVI視頻的相關(guān)信息mov=aviread(E:Hepburn.avi);%讀入視頻fra

37、mes=size(mov,2);%獲取視頻中的幀總數(shù)w=info.Width;%幀寬h=info.Height;%幀高% for x=1:frames% mov=aviread(E:Hepburn.avi,x);% I=mov.cdata;% J=rgb2gray(I);%轉(zhuǎn)成灰度圖% imwrite(J,strcat(int2str(m),.,bmp);%將視頻打成幀圖像% endfor i=2:frames x=mov(i-1).cdata(:,:,:);%讀取視頻幀 y=mov(i).cdata(:,:,:); a=rgb2gray(x);%轉(zhuǎn)成灰度圖 b=rgb2gray(y); e=

38、imhist(a); f=imhist(b); g(i)=sum(abs(e-f);%直方圖幀差 k=sum(g); th=k*0.11;%閾值設(shè)定為差異累加值的11% if g(i)th disp(i-1);%輸出幀號(hào) endendh=1:frames;plot(h,g);%直方圖幀差圖xlabel(幀數(shù),FontWeight,bold);ylabel(直方圖幀差,FontWeight,bold);title(直方圖相減,FontSize,12,FontWeight,bold,FontName,隸書)圖3.6 直方圖相減程序運(yùn)行結(jié)果圖3.3.4 直方圖相減優(yōu)點(diǎn)與缺點(diǎn)優(yōu)點(diǎn):基于直方圖的方法對(duì)于

39、攝像機(jī)及目標(biāo)運(yùn)動(dòng)不是特別敏感,因?yàn)樗鼪]有考慮圖像幀的位置信息,忽略了幀內(nèi)的空間變化。缺點(diǎn):這種方法有可能造成漏檢,因?yàn)橛锌赡艹霈F(xiàn)兩個(gè)圖像有類似的直方圖但卻是完全不同的內(nèi)容。然而,這種事件的概率是足夠低。第四章 漸變檢測4.1 國內(nèi)外研究現(xiàn)狀漸變鏡頭邊界是指一個(gè)鏡頭漸漸過渡到另一個(gè)鏡頭,鏡頭之間會(huì)有一些空間或時(shí)間上的編輯效果,包括淡入淡出,溶解等。它的主要特點(diǎn)是漸變過程中相鄰兩幀圖像變化相對(duì)較小,所以漸變過程通常為幾幀到十幾幀。與鏡頭突變只有一種不同的是,漸變包括許多種方式,如淡入淡出、溶解等。鏡頭漸變檢測可以單獨(dú)進(jìn)行,也可以和鏡頭突變檢測同時(shí)進(jìn)行。目前鏡頭突變檢測已經(jīng)比較成熟,但是鏡頭漸變檢測

40、還存在一些問題。下面對(duì)可以進(jìn)行鏡頭漸變檢測的方法作一簡單介紹:(1)雙閾值比較法這個(gè)方法就是根據(jù)視頻幀間差與閾值的關(guān)系達(dá)到檢測鏡頭邊界的目的,既可以檢測突變鏡頭邊界也可以檢測漸變鏡頭邊界。因?yàn)榛谶B續(xù)幀幀間差的方法有很多,例如本文中所用的基于連續(xù)幀相減的像素差法和直方圖相減法。檢測漸變鏡頭邊界與突變鏡頭邊界唯一不同的是閾值的選取不同。一般來說,只計(jì)算相鄰幀的幀間差,對(duì)于漸變鏡頭邊界的檢測來講,有一種方法就是當(dāng)幀間差超過閾值F1時(shí),標(biāo)記為漸變起始幀,然后接下來每一幀都與起始幀作差,以此來判定鏡頭邊界。(3) 直方圖交集法直方圖交集法是利用兩個(gè)視頻圖像幀直方圖交集來檢測視頻鏡頭邊界的。與其它利用幀

41、間差檢測視頻鏡頭邊界方法不同的是,直方圖交集是檢測連續(xù)兩個(gè)視頻圖像幀相似度的。它的原理也比較簡單,具體實(shí)現(xiàn)過程如下,首先計(jì)算連續(xù)兩幀的直方圖,然后計(jì)算直方圖交集,當(dāng)連續(xù)兩個(gè)視頻圖像幀的相似度小于閾值F1時(shí),則判定出現(xiàn)鏡頭邊界。(3)其它方法的組合在實(shí)際中,經(jīng)常需要將突變鏡頭與漸變鏡頭放在一起檢測。在進(jìn)行鏡頭漸變檢測時(shí),用檢測鏡頭突變的方法檢測效果并不明顯。所以需要一些方法的組合來實(shí)現(xiàn)漸變鏡頭邊界檢測,例如二次幀差法,利用重復(fù)幀差值的計(jì)算提高漸變鏡頭邊界檢測效率。還可以利用像素差法與直方圖法的結(jié)合來實(shí)現(xiàn),不僅可以達(dá)到好的漸變檢測效果,還能消除攝像機(jī)及目標(biāo)運(yùn)動(dòng)對(duì)結(jié)果的影響。或者采用直方圖幀差的均值

42、與方差變化來找出漸變鏡頭邊界。4.2 連續(xù)幀相減MATLAB實(shí)現(xiàn)圖4.1 視頻羅馬假日漸變鏡頭部分視頻幀程序代碼:info=aviinfo(E:奧黛麗赫本.avi);%錄入AVI視頻的相關(guān)信息mov=aviread(E:奧黛麗赫本.avi);%讀入視頻frames=size(mov,2);%獲取視頻中的幀總數(shù)w=info.Width;%幀寬h=info.Height;%幀高m=zeros(frames,1);for i=2:frames x=mov(i-1).cdata(:,:,:); y=mov(i).cdata(:,:,:); a=rgb2gray(x); b=rgb2gray(y); %

43、c=im2double(a); %d=im2double(b); e=abs(a-b)./(a+b); for j=1:h for k=1:w if e(j,k)0.25 %對(duì)于突變檢測,閾值可選范圍較大(任意) m(i)=m(i)+1; end end end if m(i)h*w*0.02 disp(i-1); end endn=1:frames;plot(n,m);xlabel(幀數(shù),FontWeight,bold);ylabel(像素點(diǎn)變化數(shù),FontWeight,bold);title(連續(xù)幀相減,FontSize,12,FontWeight,bold,FontName,隸書)程序運(yùn)

44、行結(jié)果:111,即第111幀為視頻鏡頭邊界。圖4.2 連續(xù)幀相減程序運(yùn)行結(jié)果圖4.3 直方圖相減MATLAB實(shí)現(xiàn)圖4.3 視頻羅馬假日漸變鏡頭部分視頻幀程序代碼:info=aviinfo(E:奧黛麗赫本.avi);%錄入AVI視頻的相關(guān)信息mov=aviread(E:奧黛麗赫本.avi);%讀入視頻frames=size(mov,2);%獲取視頻中的幀總數(shù)w=info.Width;%幀寬h=info.Height;%幀高% for x=1:frames% mov=aviread(E:Hepburn.avi,x);% I=mov.cdata;% J=rgb2gray(I);%轉(zhuǎn)成灰度圖% imw

45、rite(J,strcat(int2str(m),.,bmp);%將視頻打成幀圖像% endfor i=2:frames x=mov(i-1).cdata(:,:,:);%讀取視頻幀 y=mov(i).cdata(:,:,:); a=rgb2gray(x);%轉(zhuǎn)成灰度圖 b=rgb2gray(y); e=imhist(a); f=imhist(b); g(i)=sum(abs(e-f);%直方圖幀差 k=sum(g); th=k*0.03;%閾值設(shè)定為差異累加值的3% if g(i)th disp(i-1);%輸出幀號(hào) endendh=1:frames;plot(h,g);%直方圖幀差圖xla

46、bel(幀數(shù),FontWeight,bold);ylabel(直方圖幀差,FontWeight,bold);title(直方圖相減,FontSize,12,FontWeight,bold,FontName,隸書)程序運(yùn)行結(jié)果為:111,即第111幀為視頻鏡頭漸變邊界。圖4.4 直方圖相減程序運(yùn)行結(jié)果圖結(jié)論現(xiàn)在,視頻的大量使用,使得視頻內(nèi)容檢索成為現(xiàn)階段的主要問題。所以鏡頭邊界檢測算法的研究也越來越重要。大部分鏡頭邊界為突變鏡頭邊界,少部分為漸變鏡頭邊界。突變鏡頭邊界算法已比較成熟,漸變鏡頭邊界檢測還沒有一個(gè)普遍適用的方法。本文主要用基于連續(xù)幀相減的像素差法和直方圖相減法進(jìn)行鏡頭邊界檢測。本文首

47、先介紹了關(guān)于視頻鏡頭邊界的一些基本概念,包括場景、鏡頭以及幀等。緊接著介紹了視頻鏡頭邊界的概念,視頻鏡頭邊界檢測算法的分類,視頻鏡頭邊界檢測的過程以及主要方法、存在的問題等。還有視頻鏡頭邊界檢測算法的性能指標(biāo)等。第二章主要對(duì)視頻數(shù)據(jù)結(jié)構(gòu)的特點(diǎn)以及表示作了介紹,并對(duì)MATLAB作了簡要介紹。本文主要使用的方法為基于MATLAB連續(xù)幀相減的像素差法和直方圖相減法。第三章主要對(duì)解壓縮域突變鏡頭的主要方法及MATLAB實(shí)現(xiàn)作了介紹。使用連續(xù)幀相減法時(shí),設(shè)定當(dāng)連續(xù)幀對(duì)應(yīng)像素值變化率超過25%時(shí),即判定像素點(diǎn)發(fā)生變化。當(dāng)發(fā)生變化的像素點(diǎn)數(shù)大于總像素點(diǎn)數(shù)的7%時(shí),即判定為鏡頭邊界。然后又使用了直方圖相減法對(duì)突變鏡頭邊界進(jìn)行檢測,當(dāng)連續(xù)幀幀差

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論