數(shù)字圖像處理project報告_第1頁
數(shù)字圖像處理project報告_第2頁
數(shù)字圖像處理project報告_第3頁
數(shù)字圖像處理project報告_第4頁
數(shù)字圖像處理project報告_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

行人流量檢測數(shù)字圖像處理大作業(yè)

成果概述本組最終實現(xiàn)了對視頻中非背景目標(biāo)的檢測,能夠用圓形框出目標(biāo),并對出現(xiàn)的目標(biāo)進(jìn)行跟蹤和計數(shù)。除了少數(shù)碰撞時間長的目標(biāo)組外,其它都可以實現(xiàn)正確跟蹤計數(shù)。問題分析題目所給的兩個視頻有不同的特點,下面給出我們分析的結(jié)果:FIT樓背景未發(fā)生改變鏡頭靜止運動目標(biāo)出現(xiàn)個數(shù)較多有少量目標(biāo)碰撞〔重合〕有拿梯子的人Bridge2.2.1背景未發(fā)生改變2.2.2鏡頭有抖動2.2.3運動目標(biāo)出現(xiàn)個數(shù)較少2.2.4有少量目標(biāo)碰撞〔重合〕2.2.5有拿傘的人我們所實現(xiàn)的系統(tǒng)主要針對Exhibitionhall,包括實現(xiàn)策略和參數(shù)配置。3系統(tǒng)框圖差分法腐蝕差分法腐蝕膨脹前景提取前景提取HHough圓檢測線性預(yù)測消失預(yù)判跟蹤線性預(yù)測消失預(yù)判跟蹤計數(shù)技術(shù)細(xì)節(jié)4.1前景提取我們用差分法完成前景提取。使用了基于灰度圖像的處理方法。實際使用時,進(jìn)行腐蝕和膨脹,通過參數(shù)調(diào)整,使得到的圖像便于后續(xù)處理。處理前處理后4.2Hough圓檢測4.2.1邊緣提取先對二值化后的圖像進(jìn)行邊緣提取處理前處理后4.2.2hough圓檢測〔a〕原理對提取的邊緣進(jìn)行逐點掃描,對每點求其與左右相鄰點的垂直平分線的交點〔即圓心〕。設(shè)圓心坐標(biāo)為〔a,b〕,半徑為r,以b,r為自變量,對求得的a進(jìn)行計數(shù),最終選取投票數(shù)最高的十個圓〔b〕優(yōu)化為了減少計算量,對b的范圍可以進(jìn)行限制,因為頭的位置可以限定在圖像的上1/3局部,同樣,對于r,也有一定的范圍,可以限定在30~50之間在某一位置檢測出圓后,這一位置附近不再顯示圓,這樣可以減少在跟蹤時的偏差〔c〕結(jié)果處理前處理后4.3跟蹤局部這一局部參數(shù)的敏感性較高,對兩個視頻不具有通用性,以fit樓為標(biāo)準(zhǔn)進(jìn)行配置。4.3.1已判定的人的跟蹤〔a〕原理在連續(xù)兩幀中,如果兩個重心位置十分接近,那么判定其為同一個目標(biāo)。以這個假定作為判決依據(jù)。觀察視頻可以看到一個人〔目標(biāo)〕從進(jìn)入視頻到離開視頻大約需要十秒鐘,視頻分辨率為352×240,視頻幀數(shù)為30幀每秒,即一個目標(biāo)穿過300個像素左右的距離需要300幀,平均下來即每幀移動一到兩個像素。那么可以假定閾值為5,即相鄰兩幀中距離小于5個像素的重心點可判定為同一目標(biāo)?!瞓〕優(yōu)化閾值的選取對實際效果的影響很大。以5為閾值得到的實際效果并不好,主要原因有以下幾個:重心位置是直接由輪廓計算得到,而在得到輪廓之前經(jīng)過了腐蝕和膨脹處理,這使連續(xù)兩幀中同一個目標(biāo)的輪廓可能出現(xiàn)較大的變形,這可能使得重心位置出現(xiàn)一定的變化;單一目標(biāo)分裂,主要出現(xiàn)在幾個著裝顏色和背景比擬接近的目標(biāo)上。由于與背景色相近,手腳等局部的輪廓可能會與身體斷開,形成兩個或多個目標(biāo)〔即得到兩個不相連的外輪廓〕。手腳等局部由于整個面積較小,可以通過目標(biāo)判定將面積較小的局部剔除;而主體局部由于少了一塊,輪廓受到影響,對重心的位置有較大影響。連續(xù)兩幀中的同一個目標(biāo)的重心位置變化過大,如果單以重心為判斷依據(jù),那么可能將其判定為兩個不同的目標(biāo)??紤]到每個目標(biāo)都占有一定的空間位置,兩個目標(biāo)的重心位置一般情況下不會離得很近,那么可以將閾值適當(dāng)增大來改善效果。將閾值增大到20可以取得不錯的效果?!惨部梢詫㈤撝翟O(shè)定為與y相關(guān)的函數(shù),可以表達(dá)在不同的y軸坐標(biāo)上目標(biāo)與攝像頭距離不同使得目標(biāo)大小不一樣產(chǎn)生的影響〕漏檢點的線性預(yù)測由于漏檢的的發(fā)生,可能造成前一幀的人在這一幀沒有對應(yīng)的點,這時就需要根據(jù)前兩幀對這一人進(jìn)行線性預(yù)測線性預(yù)測引入的“永恒點”的問題由于算法采用了對離開人進(jìn)行預(yù)判〔即當(dāng)圓心在接近某一范圍的邊界時〔這一范圍作為以參數(shù)會進(jìn)行調(diào)整〕,即將該人叢要跟蹤的數(shù)組中刪去〕,又采用了線性預(yù)測,所以引入了“永恒點”的問題,即明明該人已經(jīng)出去了,但根據(jù)線性預(yù)測,這一人的圓會永遠(yuǎn)停在一個靠近邊界的位置。為解決這一問題,需要增加一個判斷,即某個圓心連續(xù)n〔n作為參數(shù)進(jìn)行調(diào)整〕幀位置未發(fā)生改變,即認(rèn)為“離開”,將他從要跟蹤的人中期刪去?!瞔〕關(guān)鍵數(shù)據(jù)結(jié)構(gòu)為了合理的保存和使用多幀的數(shù)據(jù),可以建立以下的結(jié)構(gòu)體。structoutperson{ inta[LEN],b[LEN]; //假定LEN=20 intl;};首先,LEN為定義的常量,為需要使用到的幀的數(shù)量,不妨假定為20,即需要使用和保存20幀的數(shù)據(jù)。結(jié)構(gòu)中x,y即為圓心的位置,l為其剩余存在時間,這幾個為下面主要用到的數(shù)據(jù)。簡歷上述結(jié)構(gòu)體的目的就是簡單對“人”這個目標(biāo)進(jìn)行模擬。通過模型的面積與寬高比可以考察檢測到的目標(biāo)是否為人,同時,這種建模對人形目標(biāo)之間的碰撞與人形目標(biāo)由于檢測而分裂的問題提供了簡單是用的處理方法。關(guān)于這種處理在后文會專門討論。考察不進(jìn)行預(yù)測的情況。結(jié)構(gòu)體中的數(shù)據(jù)按照如下規(guī)那么更新:首先為申請足夠多的結(jié)構(gòu)體供使用,如200個〔僅為方便使用,可以省去很多麻煩,而且即便200個結(jié)構(gòu)體所占用的空間也不是很多〕,以該結(jié)構(gòu)體的下標(biāo)作為不同目標(biāo)的標(biāo)志,即不同的結(jié)構(gòu)體變量代表不同的目標(biāo)。對于x,y,如果為新開的結(jié)構(gòu)體〔新出現(xiàn)的目標(biāo)〕,數(shù)據(jù)直接存入x[0]中;如果為已存在的目標(biāo)〔判定依據(jù)與前相同,以距離判定〕,那么將x[0]~x[18]的數(shù)據(jù)依次向后移動一位,即x[19]的數(shù)據(jù)刪除,x[18]的數(shù)據(jù)保存到x[19]中,…,x[0]的數(shù)據(jù)保存到x[1]中,再將當(dāng)前幀的數(shù)據(jù)保存到x[0]中。即x[0]中保存的是當(dāng)前幀的數(shù)據(jù),x[1]~x[19]保存的是此前1~19幀的數(shù)據(jù)。當(dāng)發(fā)現(xiàn)新的目標(biāo)點〔與已有數(shù)據(jù)比擬后均不為同一目標(biāo)〕,那么將目標(biāo)存入新翻開的結(jié)構(gòu)體中;為已有目標(biāo)按上規(guī)那么更新。假設(shè)已經(jīng)存在的目標(biāo)在當(dāng)幀中沒有與其為同一目標(biāo)的目標(biāo)點〔如該目標(biāo)已經(jīng)離開視頻畫面,或由于輪廓閃爍等算法原因產(chǎn)生的誤判〕,那么已存在的數(shù)據(jù)不更新,一段時間內(nèi)保證其所保存的數(shù)據(jù)不變。l為剩余存在幀數(shù),初始化為0。一旦數(shù)據(jù)更新那么置為20〔或更多,為需保存的幀數(shù)〕。每過一幀該數(shù)據(jù)減一。一旦l變?yōu)?那么將該結(jié)構(gòu)體初始化。即表示,一個結(jié)構(gòu)體內(nèi)的數(shù)據(jù)假設(shè)連續(xù)20幀沒有更新,那么判定該目標(biāo)已從視頻中離開〔或消失〕,將該結(jié)構(gòu)體初始化。目標(biāo)判定及計數(shù)〔a〕目標(biāo)判定建立一個數(shù)組存放疑似為新人的點。每一個元素為一個結(jié)構(gòu)體Structnewperson{StructPerson(a,b,r);存放該圓心的位置,半徑IntTtl;存放該點的生存時間,初始值是5,每經(jīng)過一幀減一Intaccu;該點被證實的次數(shù)}判定標(biāo)準(zhǔn)是:在連續(xù)5幀內(nèi),如果一個點出現(xiàn)了兩次就認(rèn)為該點是一個新人,即當(dāng)ttl>0時,如accu>=2〔這兩個值都作為參數(shù)不斷進(jìn)行調(diào)整〕那么將該點參加到outperson中。其中,newperson中的元素為滿足邊緣條件的點,因為一個人進(jìn)入都是從邊緣進(jìn)入?!瞓〕計數(shù)所有目標(biāo)從1開始按順序計算。已不同的結(jié)構(gòu)體下標(biāo)表示不同的目標(biāo)。設(shè)置一個計數(shù)變量con,代表已經(jīng)存在的結(jié)構(gòu)體〔目標(biāo)〕。發(fā)現(xiàn)新的目標(biāo)那么con+1,并將新的目標(biāo)數(shù)據(jù)存入最新的結(jié)構(gòu)體Rect[con]中。每次掃描時可遍歷所有已存在的結(jié)構(gòu)體1~con,以此進(jìn)行判斷,對于已經(jīng)離開的目標(biāo)〔l=0〕那么不進(jìn)行判斷。這個算法雖然存在一定程度的資源浪費,但實現(xiàn)上比擬簡單。構(gòu)造結(jié)構(gòu)體之后按照上面的更新算法編寫程序,已經(jīng)能夠得到比擬好的結(jié)果。上面整個算法中所用到的判斷只有一個,即通過距離判斷兩點是否為同一個目標(biāo)點。能夠解決閃爍的問題,對單一目標(biāo)的判定效果很好。同時對于短暫相交后馬上分開的兩個目標(biāo)有較好的識別能力。這是由于當(dāng)兩個目標(biāo)相交后兩個輪廓會合為一個,其重心位置一般來說和原來的兩個重心位置距離都很遠(yuǎn),那么會將其判定為一個新的目標(biāo),存入一個新的結(jié)構(gòu)體中,而原來的兩個結(jié)構(gòu)體那么不更新。這樣當(dāng)兩個目標(biāo)短暫接觸又分開之后,又被判定為兩個目標(biāo),由于接觸時間較短,那么兩個目標(biāo)移動的距離也較短,故分開后的兩個目標(biāo)重心位置與接觸之前的中心位置相距不遠(yuǎn),可以通過距離閾值判斷為同一個目標(biāo)。〔c〕計數(shù)錯誤的原因:產(chǎn)生多余目標(biāo)的原因主要以下有幾個方面:兩目標(biāo)相交產(chǎn)生的額外結(jié)構(gòu)體。兩個目標(biāo)長時間接觸。單個目標(biāo)判斷錯誤。多個目標(biāo)的相交與別離。總結(jié)及缺乏算法的普適性我們算法的一大缺點就是過于依賴一些條件,當(dāng)這些條件不能滿足的時候,算法性能迅速惡化。究其原因,我們使用了不少先驗的數(shù)值〔例如移動速度的閾值〕,而這些先驗知識對于不同場景是不同的。要實現(xiàn)普適的跟蹤計數(shù)算法可能需要根本性的改革。6.運行環(huán)境Matlabr20097.源代碼:清單:main.m主函數(shù)

溫馨提示

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

最新文檔

評論

0/150

提交評論