基于FPGA的行人檢測系統(tǒng)設(shè)計(jì),實(shí)現(xiàn)智能視頻監(jiān)控
掃描二維碼
隨時隨地手機(jī)看文章
項(xiàng)目實(shí)施背景及可行性分析:
智能視頻監(jiān)控是計(jì)算機(jī)視覺的一個重要應(yīng)用領(lǐng)域,有著廣闊的應(yīng)用前景,尤其是那些對安全要求比較敏感的場合,如飛機(jī)場、地鐵站、銀行、超市等。
因?yàn)樵谝曨l監(jiān)控場景中出現(xiàn)的行人是事件發(fā)生的主體,所以行人是智能視頻監(jiān)控系統(tǒng)研究的主要對象,系統(tǒng)對這些行人目標(biāo)進(jìn)行實(shí)時檢測、跟蹤與識別,進(jìn)而分析他們的運(yùn)動或行為。而我們的研究課題——行人檢測就屬于智能監(jiān)控系統(tǒng)中的目標(biāo)分類功能部分,它的作用是將視頻中的行人與其他物體區(qū)分開來,并準(zhǔn)確定位。檢測性能的好壞將直接影響后續(xù)工作以致整個智能監(jiān)控系統(tǒng)的性能。因而這將是一個有著現(xiàn)實(shí)應(yīng)用意義的課題項(xiàng)目
在視頻圖像中進(jìn)行行人檢測可轉(zhuǎn)化為一個目標(biāo)分類問題,設(shè)計(jì)行人檢測系統(tǒng)的前提就是分類器的訓(xùn)練。訓(xùn)練分類器的主要步驟包括目標(biāo)特征提取和機(jī)器學(xué)習(xí)算法的選擇。利用特征對目標(biāo)進(jìn)行建模比直接使用圖像的像素值在計(jì)算上更加方便快捷,另外特征提取有利于減小同類目標(biāo)對象的類內(nèi)距離,同時增大不同類對象之間的類間距離,使最終的分類結(jié)果更加準(zhǔn)確。目前矩形特征經(jīng)常被同來表述行人形狀的邊緣信息,此類特征在樣本圖像中的大小和位置都是可變的,在逐像素遍歷的情況下特征總數(shù)目還是非常龐大,因此需要一個特征選擇算法來選擇對分類最有的特征,而級聯(lián)Adaboost算法正具有此功能。級聯(lián)Adaboost算法成熟、快速,具有很強(qiáng)的實(shí)用性。綜上所述,成熟的行人檢測算法為本研究項(xiàng)目奠定了堅(jiān)實(shí)的理論基礎(chǔ)。
項(xiàng)目實(shí)施方案:
1 項(xiàng)目基本框圖及描述:
從實(shí)用角度出發(fā),本文涉及的行人檢測系統(tǒng),共有三個功能模塊,系統(tǒng)框圖如圖一所示。第一部分的作用是通過背景建模進(jìn)行前景目標(biāo)的提取;第二部分完成對行人目標(biāo)的多尺度檢測功能,其中的行人分類器是由級聯(lián)Adaboost算法使用矩形特征訓(xùn)練出來的;第三部分的作用是將同一目標(biāo)產(chǎn)生的多個檢測結(jié)果進(jìn)行合并,完成最終的檢測定位功能。
圖一:行人檢測系統(tǒng)框圖
2 背景建模
真實(shí)的視頻監(jiān)控場景中,存在著大量的背景區(qū)域。本系統(tǒng)引入背景建模用來提取前景目標(biāo),有利于減少目標(biāo)的搜索范圍,從而加快檢測速度。本系統(tǒng)采用單高斯背景建模法來獲取前景目標(biāo)。
單高斯分布背景模型為每一圖像像素的灰度值分布建立了用單個高斯分布表示的模型
,其中下標(biāo)t表示幀號, 和 分別表示高斯分布的矩陣和方差。設(shè)圖像當(dāng)前像素點(diǎn)的灰度值為 ,若
,其中T為概率閾值,則該像素點(diǎn)被判為前景點(diǎn),否則為背景點(diǎn)。在實(shí)際應(yīng)用中,記
,則取概率閾值為 。
對于單高斯分布模型的更新,即各圖像點(diǎn)高斯分布參數(shù)的更新,我們引入如下更新公式:
其中 為更新率, 的取值對前景目標(biāo)的提取起著關(guān)鍵的作用。如果 太小,則會使背景模型跟不上實(shí)際背景的更新速度;如果 取太大,則可能將速度較慢的運(yùn)動物體更新為背景模型的一部分。本系統(tǒng)將 取值為0.005。
通過高斯背景建模,可以生成當(dāng)前幀圖像的前景像素點(diǎn),將這些前景像素點(diǎn)標(biāo)記為1,背景像素點(diǎn)標(biāo)記為0,生成一張前景標(biāo)記圖像。在后續(xù)的多尺度檢測過程中,通過判斷子窗口中是否含有前景像素點(diǎn)以決定是否檢測。子窗口的遍歷不需要花費(fèi)很多時間,但級聯(lián)分類器的特征計(jì)算是非常耗時的,因此這樣做可以大大減少檢測時間。
3 多尺度檢測
本系統(tǒng)采用的檢測方法是利用檢測窗口逐像素多尺度遍歷圖像區(qū)域,用訓(xùn)練好的級聯(lián)Adaboost行人分類器檢測檢測窗口內(nèi)是否存在行人,其中檢測窗口的尺寸等于訓(xùn)練樣本的尺寸。在實(shí)際的視頻場景中,人的尺寸是隨著與攝像機(jī)之間的距離變化而變化的,因此需要考慮檢測目標(biāo)與樣本尺寸匹配的問題。針對這個問題,本系統(tǒng)采用逐層縮小原始圖像的方法,以保證檢測目標(biāo)與檢測窗口尺寸的一致性。
對于縮放系數(shù)的選擇,也是影響檢測效果的因素之一。若縮放系數(shù)太低,可能導(dǎo)致目標(biāo)形狀的畸變,從而影響檢測結(jié)果;但如果縮放系數(shù)太高,又會增加縮放次數(shù),降低檢測效率。折衷考慮,我們選擇0.85為逐層縮放圖像的系數(shù),圖像的逐層縮放需要在原始圖像和前景目標(biāo)圖像上同時進(jìn)行,直至圖片的尺寸小于檢測窗口的尺寸。
4 多檢測窗口的合并
由于本系統(tǒng)采用的檢測方法是逐像素多尺度遍歷檢測,可能導(dǎo)致對同一目標(biāo)產(chǎn)生多個檢測結(jié)果(如圖二(a)所示),因此需要將這些重疊的窗口合并成一個檢測結(jié)果(如圖二(b)所示)。在合并的過程中,首先判斷當(dāng)前窗口是否有足夠的臨近窗口。所謂臨近窗口就是兩個窗口R1和R2相交的面積S(如圖二(c)陰影部分所示)與兩個窗口面積的比值均大于0.6。如果有足夠多的臨近窗口,那么保留此窗口,并且將此窗口與其臨近窗口兩兩求平均合并為一個新的窗口(如圖二(c)虛框所示);如果沒有足夠多的臨近窗口,就將此窗口當(dāng)是錯誤檢測結(jié)果刪除。
項(xiàng)目設(shè)計(jì)目標(biāo):
對于視頻圖像,我們采用以下兩個性能指標(biāo)來統(tǒng)計(jì)檢測系統(tǒng)的性能:
1、虛警率:所有幀內(nèi)圖像發(fā)生錯檢的非行人窗口數(shù)目總和/所有幀內(nèi)檢測窗口數(shù)目總和;
2、檢測率:所有幀內(nèi)圖像檢測正確的行人窗口數(shù)目總和/所有幀內(nèi)檢測窗口數(shù)目總和
本系統(tǒng)的設(shè)計(jì)目標(biāo)是實(shí)現(xiàn)實(shí)時檢測,并且在復(fù)雜的圖像背景條件下,達(dá)到高檢測率和低虛警率。
三、實(shí)驗(yàn)資源:
(1)實(shí)驗(yàn)平臺
FPGA開發(fā)平臺以及相應(yīng)的JTAG調(diào)試和開發(fā)工具
目標(biāo)平臺為Xilinx Virtex –V5開發(fā)平臺,原因如下:本項(xiàng)目屬于數(shù)字通信和高速電路領(lǐng)域,可以用在航空和軍事領(lǐng)域,需要硬件處理平臺具有較高的處理速度和豐富的邏輯資源,Xilinx-V5平臺是目前Xilinx公司推出的最新FPGA開發(fā)平臺,核心FPGA芯片的數(shù)據(jù)處理能力可達(dá)到3.1G,可實(shí)現(xiàn)高速數(shù)字信號的串并變換、時鐘處理、延遲處理等邏輯功能。
(2)測試設(shè)備:
包括直流穩(wěn)壓電源、萬用表
(3)仿真、開發(fā)工具:
包括Opencv、ModelSim、Xilinx ISE等。