移動(dòng)物體檢測(cè)和跟蹤算法的實(shí)現(xiàn)_第1頁(yè)
移動(dòng)物體檢測(cè)和跟蹤算法的實(shí)現(xiàn)_第2頁(yè)
移動(dòng)物體檢測(cè)和跟蹤算法的實(shí)現(xiàn)_第3頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

...wd......wd......wd...移動(dòng)物體檢測(cè)與跟蹤算法的實(shí)現(xiàn)移動(dòng)物體檢測(cè)算法已經(jīng)在帶LCD的IntelXScale270平臺(tái)上實(shí)現(xiàn),效果如以下列圖所示。這個(gè)界面是在Linux操作系統(tǒng)下利用QT庫(kù)采用C++開發(fā)的。如果在MicroBlaze上移植Linux成功的話,可能會(huì)出現(xiàn)不能支持QT的情況,那我們將舍棄用QT做出來(lái)的控制界面,而將圖像視頻直接顯示在VGA顯示器上。接下來(lái)我將介紹一下實(shí)現(xiàn)這個(gè)效果我們所采用的算法和程序的流程:一、算法1、基于灰度圖像的檢測(cè)算法為了完成實(shí)時(shí)目標(biāo)檢測(cè),需要一系列的操作,所以就需要對(duì)目標(biāo)的特征進(jìn)展提取,包括目標(biāo)的形狀和顏色分布。由于人體是非剛性的,外在的障礙物和自身的噪聲可能給建設(shè)唯一的模型帶來(lái)困難。為了減小這些影響我們把攝像頭觀察點(diǎn)放置在人群的正上方,這樣幾乎不會(huì)有重疊的現(xiàn)象而且每個(gè)目標(biāo)占用圖像的面積很小。我們采用基于灰度直方圖的方法簡(jiǎn)化目標(biāo)模型,由于系統(tǒng)只需識(shí)別出有物體的存在并進(jìn)展跟蹤,所以要求的精度不需要很高,因此在該系統(tǒng)只識(shí)別人體的大體外形及所處的位置而忽略身體的細(xì)節(jié)局部,使算法更加簡(jiǎn)化。為了突出目標(biāo)本文采用相鄰幀差法去除不變的局部〔比方背景、身體的一些局部〕,通過(guò)分析剩下的局部我們可以定位目標(biāo)所在的位置。簡(jiǎn)單的幀差法并缺乏以到達(dá)檢測(cè)的精度,這里采用相差后圖像的水平和垂直投影完成檢測(cè)功能。下面給出這個(gè)算法的過(guò)程:(1)相鄰圖像相差后得到M*N的圖像I,如圖1所示。非零的那些像素大局部是頭部的運(yùn)動(dòng)邊緣,通過(guò)對(duì)差分圖的分析就可以定位運(yùn)動(dòng)目標(biāo)。圖1相鄰幀相減后的圖像(2)求出差分圖像I的水平及垂直投影分別用H和V表示。如圖2顯示了兩相鄰幀和差分后的水平投影值的分布。水平投影的計(jì)算如下: (1)圖2兩相鄰幀以及差分后的水平投影從圖中可以很明顯地看出,在人體頭部周圍跟隨兩個(gè)峰值。這里我們利用這個(gè)特征來(lái)檢測(cè)定位目標(biāo)。為了最小化噪聲的擾動(dòng)和攝像機(jī)抖動(dòng)的影響我們采用對(duì)V進(jìn)展中值濾波來(lái)保持邊緣并濾除孤立脈沖噪聲和胡椒噪聲。(3)如果運(yùn)動(dòng)物體存在,那么在向量V中肯定存在具有足夠多的灰度值大于分割閾值的像素點(diǎn)的段。我們將圖像I分成n個(gè)域〔n就是段數(shù)〕,每一個(gè)域都位于相應(yīng)段的中心并且具有一定的寬度。那么這就檢測(cè)出具有n個(gè)運(yùn)動(dòng)目標(biāo)。(4)假設(shè)每個(gè)域有一組縱向目標(biāo)。對(duì)每個(gè)域進(jìn)展水平投影得到然后進(jìn)展中值濾波,如果在第i個(gè)域中存在m個(gè)目標(biāo),那么在中一定具有m個(gè)顯著的值〔峰值〕。再進(jìn)展中值濾波并且利用另外一個(gè)閾值將域中的一組目標(biāo)分割開。這樣就得圖3目標(biāo)分割到了當(dāng)前幀中可能的目標(biāo)的坐標(biāo)值,然后用外接矩形畫出運(yùn)動(dòng)目標(biāo)的邊界,如圖3所示。以上使用的閾值具有很大的范圍,但是它們的成分大體是固定的。通過(guò)系統(tǒng)訓(xùn)練和結(jié)果分析我們發(fā)現(xiàn)了閾值T和圖象的平均灰度值之間具有如圖4所示的關(guān)系。因此,系統(tǒng)引進(jìn)通過(guò)連續(xù)幀的平均灰度值表述的閾值自適應(yīng)模型。圖4閾值與平均灰度值的關(guān)系2、基于一個(gè)新的評(píng)價(jià)函數(shù)的跟蹤算法在圖像幀中可能發(fā)生目標(biāo)的出現(xiàn)和消失,這就需要將最近檢測(cè)到的目標(biāo)和以前檢測(cè)過(guò)的目標(biāo)進(jìn)展匹配?;谀0迤ヅ涞乃惴ū粡V泛采用但是它們的搜索空間會(huì)隨圖像大小和模板的增大而急劇增大。所以較難到達(dá)實(shí)時(shí)處理的目的,而且也不可能在人群中提取到所有的模板。這里采用一種新的基于顏色直方圖的算法,認(rèn)為同一物體的直方圖是在幀間是相對(duì)不變的。但是這種方法無(wú)視了自身的誤差,因此還需要做相應(yīng)地處理來(lái)盡可能減小誤差的影響。該系統(tǒng)采用改良的一種新的評(píng)估函數(shù)來(lái)解決匹配問(wèn)題。此算法將最近相鄰算法、速度相關(guān)性和單一化灰度直方圖結(jié)合在一起。由于幀間的時(shí)間間隔很短,所以人體特征如質(zhì)心、邊界矩形和速度不會(huì)發(fā)生突然地變化,在實(shí)驗(yàn)中我們得到了質(zhì)心位移的上限。假設(shè)分別表示某物體水平方向和垂直方向的速度,那么用分別表示在第K幀的第C個(gè)目標(biāo)和第K+1幀的第S個(gè)目標(biāo)。兩向量規(guī)格化的關(guān)系定義為(2)其中表示內(nèi)積,。、分別表示向量的模。根據(jù)施瓦茲不等式有。幀間物體的彩色直方圖相對(duì)穩(wěn)定而且在檢測(cè)處理過(guò)程中本文關(guān)注的是加了邊界的那些區(qū)域,然后計(jì)算它們的灰度直方圖。這里關(guān)心的是所有灰度值的一小局部而其中的大局部都不關(guān)心,于是為減輕處理的負(fù)擔(dān)簡(jiǎn)化后的直方圖H是必須的。這里采用了第K幀的第C個(gè)目標(biāo)和第K+1幀的第S個(gè)目標(biāo)灰度直方圖的相似度計(jì)算,匹配程度的計(jì)算公式如下:(3)設(shè)d(C,S)表示它們之間的歐幾里得距離,建設(shè)一個(gè)新的評(píng)價(jià)函數(shù)如下:(4)其中表示兩幀間任意兩目標(biāo)之間的歐幾里得距離,的取值都在0到1之間。這樣就將三個(gè)重要特征聯(lián)合在一起作為匹配規(guī)則對(duì)運(yùn)動(dòng)目標(biāo)進(jìn)展跟蹤。下面給出跟蹤算法的流程:(1)所有在第一幀中出現(xiàn)的目標(biāo)都標(biāo)記為新目標(biāo),并且為了以后的匹配為每個(gè)目標(biāo)建設(shè)一條空鏈。(2)當(dāng)接收到第k幀圖像時(shí),計(jì)算當(dāng)前幀第j個(gè)可能目標(biāo)(,m表示當(dāng)前幀中出現(xiàn)的目標(biāo)數(shù))和以前檢測(cè)過(guò)的第i個(gè)目標(biāo)(,n表示以前檢測(cè)過(guò)的總的目標(biāo)數(shù))之間的G(k,S,C)和。①如果第j個(gè)可能目標(biāo)具有最大的G(k,S,C)且滿足,就把這個(gè)目標(biāo)認(rèn)為時(shí)第i個(gè)目標(biāo)的后續(xù),它們屬于同一個(gè)物體,并且將它添加到相應(yīng)的鏈中同時(shí)標(biāo)記為已匹配。②如果所有以往檢測(cè)到的目標(biāo)都滿足,那么就認(rèn)為第i個(gè)目標(biāo)在第k幀沒(méi)有后續(xù)。這暗示這個(gè)目標(biāo)已經(jīng)在視窗范圍之外或者暫時(shí)靜止不動(dòng)。如果鏈的長(zhǎng)度超過(guò)給定的值就進(jìn)展一次統(tǒng)計(jì)。被噪聲淹沒(méi)的目標(biāo)即使在視窗范圍內(nèi)可能也會(huì)檢測(cè)不到,但我們不能停頓對(duì)它的跟蹤,這里我們采用名為“等待N幀重新匹配〞的算法:如果在當(dāng)前幀沒(méi)有發(fā)現(xiàn)以前檢測(cè)到的目標(biāo),我們不立即將它丟棄,接著處理接下來(lái)的N幀,如果該目標(biāo)在接下來(lái)的N幀中都沒(méi)有檢測(cè)到,那么就放棄對(duì)它的跟蹤,并且去除相應(yīng)的鏈表同時(shí)進(jìn)展計(jì)數(shù),否則,恢復(fù)跟蹤處理。(3)如果所有的目標(biāo)都匹配并且都做過(guò)已匹配標(biāo)記,意味著所有可能的目標(biāo)都和以前檢測(cè)到的目標(biāo)有聯(lián)系。如果存在沒(méi)有做過(guò)已匹配標(biāo)記的目標(biāo),那么為該目標(biāo)新建一條空鏈。(4)接收第K+1幀圖像,重復(fù)第(2)(3)步,直到圖像采集完畢。程序流程(1)系統(tǒng)類圖系統(tǒng)實(shí)現(xiàn)由前臺(tái)界面顯示、后臺(tái)的圖像處理、目標(biāo)檢測(cè)和跟蹤計(jì)數(shù)局部組成,完成這一系統(tǒng)本文定義了MainWin、Process、Tracker、Target四個(gè)類:①M(fèi)ainWin類:如圖5所示,該類利用Qt圖形庫(kù)繪制主界面,在控件img(QImage)上實(shí)時(shí)顯示處理后的視頻。主界面如以下列圖所示。Qt中消息映射是通過(guò)“消息—槽〞的機(jī)制實(shí)現(xiàn),在這里時(shí)間信號(hào)每50毫秒觸發(fā)timeoutslot()函數(shù),timeoutslot調(diào)用Process的InputNewFrame方法檢測(cè)和跟蹤目標(biāo),也就是說(shuō)每秒處理20幀圖像。主界面的布局如圖4所示。圖5MainWin類 圖6Process類②Process類:如圖6所示,該類實(shí)現(xiàn)圖像處理和目標(biāo)檢測(cè)。目標(biāo)檢測(cè)的核心算法在ProcessNewFrame()方法中實(shí)現(xiàn),主要包括相鄰幀作差、計(jì)算水平方向和垂直方向的閾值、分割并標(biāo)記目標(biāo)等操作。③Tracker類:如圖7所示,該類實(shí)現(xiàn)了對(duì)運(yùn)動(dòng)目標(biāo)的跟蹤和計(jì)數(shù)。目標(biāo)跟蹤的核心算法在InputNewPosition()方法中實(shí)現(xiàn),主要包括計(jì)算距離、判別新目標(biāo)等操作。圖7Tracker類 圖8Target類④Target類:如圖8所示,該類主要是描述圖像中的運(yùn)動(dòng)目標(biāo)的屬性、判別目標(biāo)是否消失等操作。(2)程序流程與框架系統(tǒng)采用C++語(yǔ)言實(shí)現(xiàn),程序的流程與框架及調(diào)用過(guò)程如圖9所示。圖中給出了系統(tǒng)實(shí)現(xiàn)的每個(gè)類中的函數(shù)執(zhí)行過(guò)程。①M(fèi)ainWin類執(zhí)行攝像頭初始化,繪制圖形界面,從攝像頭中讀取圖像幀交給Process類進(jìn)展處理,然后將處理后的結(jié)果繪制出來(lái)。②Process類執(zhí)行RGB圖轉(zhuǎn)換成灰度圖之后,計(jì)算算法中說(shuō)明的動(dòng)態(tài)閾值,根據(jù)水平和垂直的閾值計(jì)算出目標(biāo)的個(gè)數(shù)和所處的位置,然后用紅色矩形框進(jìn)展標(biāo)記,登記存在的T

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論