初試?yán)肙pencv完成視頻識(shí)別_匹配_第1頁
初試?yán)肙pencv完成視頻識(shí)別_匹配_第2頁
初試?yán)肙pencv完成視頻識(shí)別_匹配_第3頁
初試?yán)肙pencv完成視頻識(shí)別_匹配_第4頁
初試?yán)肙pencv完成視頻識(shí)別_匹配_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、初試?yán)肙pencv完成視頻識(shí)別_匹配論文導(dǎo)讀::視頻識(shí)別、模糊處理技術(shù)。輪廓匹配。初試?yán)肙pencv完成視頻識(shí)別。論文關(guān)鍵詞:Opencv,視頻識(shí)別,匹配 視頻識(shí)別、模糊處理技術(shù),是近年來比較活躍的研究領(lǐng)域。由于計(jì)算機(jī)硬件技術(shù)的深遠(yuǎn)發(fā)展,使得高性能處理器、大容量存儲(chǔ)硬盤和高清晰度攝像機(jī)越來越普及。但是,以此相適應(yīng)的視頻處理軟件卻相對(duì)處于滯后狀態(tài)。不難想象,視頻識(shí)別領(lǐng)域取得的進(jìn)展,將給我們的信息處理行業(yè)帶來巨大的影響。很多領(lǐng)域都可以應(yīng)用這項(xiàng)技術(shù),包括智能交通、數(shù)字監(jiān)控,甚至是導(dǎo)彈的末端制導(dǎo)。什么是OpenCVOpenCV是一個(gè)計(jì)算機(jī)圖像、視頻處理的算法庫。它既可以運(yùn)行在Window

2、s中,也可以運(yùn)行在Unix系統(tǒng)中,這給嵌入式系統(tǒng)的開發(fā)與應(yīng)用提供了方便。OpenCV是一個(gè)開源軟件,沒有商業(yè)、科研應(yīng)用的限制。曾經(jīng)有人問我匹配,你簡單地說一下,OpenCV到底能做啥?我只能說:“它其實(shí)什么也做不了”。OpenCV是一個(gè)算法的集合,包含了很多最近比較常見的圖像、視頻算法,比如開運(yùn)算閉運(yùn)算、取輪廓的“Canny算子”、高斯模糊等等。大部分的視頻算法都有其適用范圍,有其局限性,單一的算法通常無法取得很好的效果。從某種意義上來說,OpenCV更象一本論文集,這些論文是以代碼形式表現(xiàn)的。當(dāng)我們開始搞視頻處理系統(tǒng)時(shí),通常沒有必要從零開始。我們總不好意思從RGB到HSV的轉(zhuǎn)換開始寫起吧?那

3、樣過于費(fèi)時(shí)費(fèi)力。我們自己寫的模塊經(jīng)常會(huì)碰到效率的問題,需要花很多時(shí)間來優(yōu)化。有些算法本身也很繁瑣,比如Mpeg和H.264的編解碼器。這時(shí)我們就可以利用OpenCV的庫函數(shù),從而節(jié)省愛好者大量時(shí)間。OpenCV誕生于Intel研究中心。在那里,Intel開發(fā)團(tuán)隊(duì)實(shí)現(xiàn)了最初的編碼。一般認(rèn)為,這些庫函數(shù)是高起點(diǎn)的,它的效能得到過測試。關(guān)于OpenCV更多的介紹,請(qǐng)參照OpenCV的網(wǎng)站。嘗試Canny算子大部分參考文章介紹圖像識(shí)別,總是先從圖像分割開始。一提到圖像分割,就會(huì)說起邊緣提取。順著這個(gè)思路,我利用OpenCV做了一些測試論文參考文獻(xiàn)格式。我用數(shù)字?jǐn)z像機(jī)拍攝了一些公路的視頻。圖1圖1是攝像

4、機(jī)實(shí)際拍攝的一個(gè)街景(為便于討論進(jìn)行了縮小)。迎面駛來的面包車由于速度比較快,產(chǎn)生了一些模糊;人行道上還慢速行使兩輛出租車。OpenCV介紹了幾種提取邊界的方法,包括Sobel算子、Scharr濾波器、拉普拉斯變換和Canny算子。就以Canny算子為例,我們發(fā)現(xiàn),只需要區(qū)區(qū)幾行程序匹配,就可以獲得Canny算子的輪廓效果。1.利用函數(shù)cvLoadImage打開指定的圖像文件。2.利用cvCvtColor將也顏色空間從 RGB轉(zhuǎn)換到HSV。再利用cvSplit函數(shù)提取V分量。Canny算子要求源圖像為單通道圖像。一般認(rèn)為,亮度分量可以最好地體現(xiàn)輪廓信息。3.調(diào)用函數(shù)cvCanny實(shí)現(xiàn)Canny

5、算子,在這里,取上下閾值為150和100。結(jié)果如下圖所示。圖2我們發(fā)現(xiàn),面包車和小汽車的輪廓得到了很好的提取。樹后的出租車信息丟失殆盡。噪聲信息,比如樹木、公路標(biāo)線都表現(xiàn)出來。實(shí)踐表明:Canny算子是一個(gè)高效的算法,可以實(shí)現(xiàn)大分辨率下視頻同步分析。調(diào)整Canny算子的兩個(gè)閾值,我們可以調(diào)整結(jié)輪廓的“精細(xì)程度”。為了顯露出樹后面的出租車,我曾經(jīng)把輪廓調(diào)整得非常精細(xì)。但是我發(fā)現(xiàn),我完全陷入輪廓線的汪洋大海中。無數(shù)輪廓好像油畫的裂紋一樣,非常密集,任何后續(xù)操作都無從談起了即使如圖2所示的輪廓,我們也很難提取出機(jī)動(dòng)車的外延。更何況兩輛機(jī)動(dòng)車互相有重疊的情況呢?風(fēng)中搖曳的樹木是輪廓提取的難題,他們產(chǎn)生

6、了無數(shù)輪廓線。這些輪廓線可以“包含”任何形體,人臉、機(jī)動(dòng)車、道路、房子,任何你想要的輪廓都可以在樹的輪廓線中“想象”出來。輪廓匹配OpenCV提供了一個(gè)完整的、與實(shí)際應(yīng)用相關(guān)的例子識(shí)別人的臉部區(qū)域。這個(gè)看似簡單的需求,對(duì)于計(jì)算機(jī)系統(tǒng)而言,其實(shí)并不容易!這是一個(gè)三維的世界。攝像機(jī)見到的東西是三維世界的二維投影。這個(gè)投影過程中就失去了很多信息。但是,一個(gè)3歲小孩可以一眼認(rèn)出他的媽媽。難道計(jì)算機(jī)還不如3歲小孩嗎?從已知的視頻識(shí)別系統(tǒng)來說,差不多是這樣小孩有媽媽的記憶,或者說他有先驗(yàn)知識(shí),這些先驗(yàn)知識(shí)是他識(shí)別出媽媽的重要依據(jù)。當(dāng)孩子?jì)寢屘ь^和低頭的時(shí)候,她的面部像素劇烈改變。孩子已經(jīng)記住了媽媽抬頭和低

7、頭的特征匹配,還有媽媽測過臉時(shí)的特征,背過身去的特征,站著坐著的特征。孩子通過觀察媽媽的影像,就可以匹配出母親的特征。這是一個(gè)影像+先驗(yàn)知識(shí)的綜合過程。所以孩子通??梢栽谌我饨嵌热我饩嚯x識(shí)別出媽媽。我測試了一種完全人工干預(yù)的學(xué)習(xí)方式,來模擬完成一個(gè)識(shí)別機(jī)動(dòng)車的過程。一個(gè)簡單的機(jī)動(dòng)車模型機(jī)動(dòng)車是什么樣子?恐怕也不是那么容易說清楚的,不同的機(jī)動(dòng)車彼此差異很大,同一輛機(jī)動(dòng)車不同的觀察角度差異也很大。在本例中,機(jī)動(dòng)車就是這個(gè)樣子:我們把這個(gè)小圖標(biāo)似的機(jī)動(dòng)車模型盡一步簡化,令車身部分為“1”,車窗部分為2,其他無關(guān)的部分為“0”,就得到了下面的二維數(shù)組。unsigned char pattern =0,

8、 1, 1, 1, 1, 1, 1, 1,1, 1, 0, 0, 0, 0, 0, 0,1, 1, 1, 1, 1, 1, 1, 1,1, 1, 0, 0, 0, 0, 0, 0,1, 1, 1, 1, 1, 1, 1, 1,1, 1, 1, 0, 0, 0, 0, 0,1, 1, 1, 1, 1, 1, 1, 1,1, 1, 1, 0, 0, 0, 0, 0,1, 1, 1, 1, 1, 1, 1, 1,1, 1, 1, 1, 0, 0, 0, 0,1, 1, 1, 1, 1, 1, 1, 1,1, 1, 1, 1, 0, 0, 0, 0,1, 1, 1, 1, 1, 1, 1, 1,1,

9、1, 1, 1, 0, 0, 0, 0,1, 1, 1, 1, 1, 1, 1, 1,1, 1, 1, 2, 0, 0, 0, 0,0, 1, 1, 1, 1, 1, 1, 2,2, 2, 2, 2, 2, 0, 0, 0,0, 1, 2, 2, 2, 2, 2, 2,2, 2, 2, 2, 2, 0, 0, 0,0, 1, 2, 2, 2, 2, 2, 2,2, 2, 2, 2, 2, 2, 0, 0,0, 1, 2, 2, 2, 2, 2, 2,2, 2, 2, 2, 2, 2, 0, 0,0, 1, 1, 2, 2, 2, 2, 2,2, 2, 2, 2, 2, 2, 0, 0,0, 1

10、, 1, 2, 2, 2, 2, 2,2, 2, 2, 2, 2, 2, 0, 0,0, 1, 1, 2, 2, 2, 2, 2,2, 2, 2, 2, 1, 1, 1, 0,0, 0, 1, 2, 2, 2, 2, 2,2, 1, 1, 1, 1, 1, 1, 0,0, 0, 1, 2, 1, 1, 1, 1,1, 1, 1, 1, 1, 1, 1, 1,0, 0, 1, 1, 1, 1, 1, 1,1, 1, 1, 1, 1, 1, 1, 1,0, 0, 0, 1, 1, 1, 1, 1,1, 1, 1, 1, 1, 1, 1, 1,0, 0, 0, 1, 1, 1, 1, 1,1, 1,

11、 1, 1, 1, 1, 1, 1,0, 0, 0, 1, 1, 1, 1, 1,1, 1, 1, 1, 1, 1, 1, 1,0, 0, 0, 0, 1, 1, 1, 1,1, 1, 1, 1, 1, 1, 1, 1,0, 0, 0, 0, 1, 1, 1, 1,1, 1, 1, 1, 1, 1, 1, 1,0, 0, 0, 0, 0, 1, 1, 1,1, 1, 0, 0, 0, 1, 1, 0,0, 0, 0, 0, 0, 0, 1, 1,1, 1, 0, 0, 0, 1, 1, 0;這個(gè)二維數(shù)組,其實(shí)就是用1和2畫出一個(gè)小汽車。模型匹配圖像識(shí)別基本上是一門統(tǒng)計(jì)科學(xué),那種絕對(duì)的“是”和絕

12、對(duì)的“不是”,是不存在的。所謂識(shí)別,是將三維世界的二維投影,匹配我們的先驗(yàn)知識(shí),這是不能做到100%準(zhǔn)確的。因此,計(jì)算的是概率分布是目前比較活躍的方法。給定一個(gè)楨視頻圖像以后,我們把這個(gè)模型放置于圖片的某個(gè)位置(x, y),那么我們就可以計(jì)算出該位置像素與模型的匹配程度。然后我們換一個(gè)位置,繼續(xù)計(jì)算該位置的匹配程度。這樣,我們就可以得到了一個(gè)模型匹配的概率分布f(x, y)。那些f(x, y)的尖銳峰值點(diǎn)匹配,就是我們要找的機(jī)動(dòng)車了。如何描述圖像中某個(gè)位置和我們的機(jī)動(dòng)車模板匹配程度呢?我們結(jié)合機(jī)動(dòng)車的物理特性運(yùn)用了下面幾個(gè)指標(biāo)。1.顏色一致性機(jī)動(dòng)車的車身總是刷一種顏色的漆,也有幾種顏色組合的,

13、單是一般不會(huì)太多。如果把車身部分(也就是模型部分“1”表示的區(qū)域)做一個(gè)直方圖,應(yīng)該存在一兩個(gè)尖銳的峰值,越尖銳越好。在這里,我們?nèi)SV的色度和飽和度分量來表示顏色論文參考文獻(xiàn)格式。需要注意的是:顏色一致性好的地方未見得就是機(jī)動(dòng)車,比如綠樹,馬路,顏色一致性都非常好。2.車窗亮度車窗部分是吸收光線的,因此車窗亮度分量(V)較低。但是如果發(fā)現(xiàn)區(qū)域“2”的亮度大于等于“1”區(qū)域的亮度,那無疑不是機(jī)動(dòng)車。需要注意的是:在整幅圖像場景中,亮度最低的往往不是車窗,而是較大物體的陰影。3.邊界一個(gè)完整的機(jī)動(dòng)車圖像,邊緣部分的一定是微分極值。比如,用Laplace算子計(jì)算得出的峰值。逐一計(jì)算整個(gè)機(jī)動(dòng)車模型

14、邊界的Laplace值,可以得到一個(gè)邊界特性的統(tǒng)計(jì)指標(biāo)。綜合上述3個(gè)指標(biāo),我們就得到了某點(diǎn)的匹配評(píng)價(jià)。是否還有其他更具實(shí)際意義的指標(biāo)我們忽略掉了呢?這是一個(gè)值得我們測試的題目。小孩學(xué)習(xí)識(shí)別世界的過程,大概也是不斷完善自己的評(píng)判指標(biāo)的過程吧!圖4圖5圖6圖4是一副交通監(jiān)控的圖像。圖5是經(jīng)過模型匹配得到的機(jī)動(dòng)車概率分布,比較黑的地方表示概率小,比較亮的地方表示概率大。顯然,我們找到了一個(gè)符合很好的位置。圖6就是把計(jì)算結(jié)果標(biāo)注在原圖上??偨Y(jié)模型匹配是一個(gè)高效率的算法。畢竟這里面沒有用到比較費(fèi)時(shí)的操作,比如卷積或者迭代,因此本例的效能基本上達(dá)到了實(shí)時(shí)。另外匹配,我們考慮的因素都是有實(shí)際物理意義的,這比單純地尋找某些線條看起來更貼近現(xiàn)實(shí)。本例完全利用統(tǒng)計(jì)的方式,抗干擾性很強(qiáng),比如樹木、行人以及輕度遮擋都不能干擾最終結(jié)果。本例的局限性是顯而易見的。在計(jì)算過程中,我們強(qiáng)烈依賴了這個(gè)模型。在實(shí)際情況下,機(jī)動(dòng)車的種類、大小遠(yuǎn)近以及透視角度,都將嚴(yán)重影響他們的外形輪廓。我們?cè)趺茨苡眠@么一個(gè)簡單的輪廓來表示機(jī)動(dòng)車呢?比它大一點(diǎn)小一點(diǎn)胖一點(diǎn)瘦一點(diǎn)就不是機(jī)動(dòng)車了嗎?顯然不是。這個(gè)模型“核”的構(gòu)建本身,就是一個(gè)復(fù)雜的過程,一般不能依靠一次掃描可以完成。對(duì)于遮擋情況下,還需要對(duì)核進(jìn)行追蹤。結(jié)束OpenCV給我們提供了一個(gè)參考工具,讓我們方便、快捷地嘗試各種計(jì)算;從而解放愛好者的時(shí)間,讓他們把時(shí)間和

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論