国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

車載環(huán)境下實(shí)時(shí)行人檢測系統(tǒng)研究

2018-11-21 08:37:20鄧健峰
自動(dòng)化儀表 2018年11期
關(guān)鍵詞:矩形框行人分類器

鄧健峰,謝 云

(廣東工業(yè)大學(xué)自動(dòng)化學(xué)院,廣東 廣州 510006)

0 引言

隨著計(jì)算機(jī)視覺的發(fā)展,行人檢測技術(shù)越來越受到人們關(guān)注[1]。許多行人檢測方法被提出,如方向梯度直方圖(histogram of oriented gradient,HOG)特征和支持向量機(jī)(support vector machines,SVM)分類算法[2];統(tǒng)計(jì)轉(zhuǎn)換直方圖(census transform histogram,CENTRIST)和SVM分類算法[3];深度學(xué)習(xí)的方法[4]等。然而,上述方法存在檢測時(shí)間長的問題。此時(shí)可以采用并行運(yùn)算降低耗時(shí),如:文獻(xiàn)[5]采用Opencv實(shí)現(xiàn)行人檢測,但檢測時(shí)間仍然較長;文獻(xiàn)[6]采用CPU進(jìn)行加速,對運(yùn)行平臺(tái)要求較高,而車載環(huán)境下設(shè)備性能有限,無法運(yùn)行大功耗系統(tǒng)。嵌入式系統(tǒng)雖然性能不如計(jì)算機(jī),但具有功耗低等優(yōu)點(diǎn),適合在車載環(huán)境下運(yùn)行,目前廣泛應(yīng)用于機(jī)器視覺[7-9]等領(lǐng)域。

本文提出基于Zynq[10]的實(shí)時(shí)行人檢測系統(tǒng),利用Vivado HLS對圖像進(jìn)行預(yù)處理加速,采用CENTRIST特征作為行人特征,級(jí)聯(lián)SVM作為分類算法,并通過試驗(yàn)分析驗(yàn)證了方法的可行性。

1 系統(tǒng)總體結(jié)構(gòu)

行人檢測系統(tǒng)主要由攝像頭采集模塊、硬件加速模塊、圖像緩存模塊、顯示模塊、IP核初始化模塊、CENTRIST特征提取模塊和SVM分類模塊組成。攝像頭采集模塊由OV7670攝像頭采集圖像,顯示模塊則通過VGA接口顯示圖像。其中,現(xiàn)場可編程門陣列(field programmable gate array,FPGA)部分主要通過封裝IP核來搭建,包括攝像頭采集模塊、硬件加速模塊和顯示模塊;ARM部分主要通過編寫軟件程序來實(shí)現(xiàn)模塊功能,包括圖像緩存模塊、IP核初始化模塊、CENTRIST特征提取模塊和SVM分類模塊。FPGA和ARM之間的數(shù)據(jù)交互是通過高級(jí)可擴(kuò)展接口(advanced extensible interface,AXI)實(shí)現(xiàn)的。

系統(tǒng)總體設(shè)計(jì)框圖如圖1所示。

圖1 系統(tǒng)總體設(shè)計(jì)框圖

2 FPGA工程設(shè)計(jì)

2.1 視頻采集IP核設(shè)計(jì)

本系統(tǒng)采用OV7670攝像頭采集視頻圖像,通過串行攝像頭控制總線(serial camera control bus,SCCB)協(xié)議[11]初始化攝像頭,設(shè)置為RGB565、分辨率640×480的輸出格式。在行同步有效、幀同步信號(hào)有效的情況下,每兩個(gè)像素時(shí)鐘周期拼接出一個(gè)16位的像素值,將16位像素值低位補(bǔ)0,合成一個(gè)24位的像素值輸出,同時(shí)輸出有效的寫使能信號(hào)、行同步信號(hào)和幀同步信號(hào)。

2.2 圖像緩存顯示通路設(shè)計(jì)

FPGA中的圖像數(shù)據(jù)主要以AXI-Stream與ARM通信,所以圖像數(shù)據(jù)信號(hào)要轉(zhuǎn)換成AXI-Stream的接口信號(hào),而AXI-Stream不能直接和ARM相連[12]。因此本設(shè)計(jì)采用IP核視頻直接內(nèi)存訪問(video direct memory access,VDMA)[13]作為傳輸工具,將AXI-Stream格式的數(shù)據(jù)流轉(zhuǎn)換為AXI4 Memory Map格式,從而實(shí)現(xiàn)DDR3緩存。

當(dāng)視頻圖像顯示時(shí),首先IP核AXI4-Stream to Video Out[14]將DDR3的數(shù)據(jù)轉(zhuǎn)換為三元色(red,green,blue,RGB)格式,然后IP核視頻時(shí)間控制器(video timing controller,VTC)[15]提供分辨率為640×480,掃描頻率為60 Hz的視頻圖移陣列(video grapnics array,VGA)時(shí)序,最后只需要根據(jù)數(shù)據(jù)有效信號(hào)將24位數(shù)據(jù)轉(zhuǎn)換為16位數(shù)據(jù)輸出即可。

2.3 圖像預(yù)處理加速IP核設(shè)計(jì)

在行人檢測前需要進(jìn)行圖像預(yù)處理,圖像預(yù)處理包括圖像縮放、灰度化和Sobel邊緣檢測。在實(shí)際檢測中,行人距離攝像頭遠(yuǎn)近不同,造成行人成像大小不同,影響檢測。需要按照比例對原圖像進(jìn)行縮放,然后對縮放后的圖像進(jìn)行檢測,直到圖像縮小到不小于滑動(dòng)窗口的尺寸為止。圖像縮放算法采用雙線性插值法,縮放比例是0.8。在此基礎(chǔ)上,對原圖像進(jìn)行灰度化,目的是降低原圖像的信息量,減少干擾?;叶戎礸(x,y)公式如式(1)所示。

g(x,y)=0.3R+0.59G+0.11B

(1)

式中:R為像素H(x,y)中紅色分量值;G為像素H(x,y)中綠色分量值;B為像素H(x,y)中藍(lán)色分量值。最后采用Sobel邊緣檢測對灰度圖像進(jìn)行編碼,使行人輪廓清晰顯示。

由于在ARM環(huán)境下運(yùn)行預(yù)處理算法耗時(shí)較長,而在FPGA環(huán)境下運(yùn)行預(yù)處理算法比較復(fù)雜。Vivado HLS開發(fā)工具能夠?qū)⒏呒?jí)語言(C/C++語言)編寫的算法通過高層次綜合,實(shí)現(xiàn)FPGA開發(fā),同時(shí)獲得良好的加速性能。所以本設(shè)計(jì)通過Vivado HLS實(shí)現(xiàn)圖像預(yù)處理算法。

在Vivado HLS工程中,圖像數(shù)據(jù)的輸入輸出都是AXI-Stream接口信號(hào),其他參數(shù)(圖像縮放系數(shù))由ARM通過AXI4-Lite總線進(jìn)行配置,選擇的時(shí)鐘頻率跟全局時(shí)鐘頻率一致。當(dāng)編寫完成后,需要對工程進(jìn)行仿真以檢測是否有邏輯錯(cuò)誤,準(zhǔn)確無誤后可以封裝IP核并導(dǎo)入FPGA工程中。運(yùn)行時(shí),需要先設(shè)置IP核參數(shù)。硬件加速的優(yōu)點(diǎn)是提高檢測速度,降低系統(tǒng)功耗。表1為硬件加速IP核時(shí)序。

表1 硬件加速IP核時(shí)序

3 ARM工程設(shè)計(jì)

CENTRIST是統(tǒng)計(jì)局部區(qū)域統(tǒng)計(jì)轉(zhuǎn)換(census transform,CT)值得到的直方圖特征[16]。本系統(tǒng)采用了“CENTRIST+SVM”框架的行人檢測算法。完整的行人檢測流程如圖2所示。

圖2 行人檢測流程圖

3.1 CENTRIST特征提取

相比于HOG特征,CENTRIST特征主要描述行人輪廓信息,不需要?dú)w一化處理,這樣能夠減少計(jì)算時(shí)間。具體實(shí)現(xiàn)過程如下。

①本設(shè)計(jì)利用滑動(dòng)窗口掃描法來檢測圖像中行人,滑動(dòng)窗口的尺寸是36×108。預(yù)處理后,進(jìn)行CT值計(jì)算。在圖像中,定義某個(gè)像素點(diǎn)P(x,y),以P點(diǎn)為中心,從左到右,從上到下,定義周圍8個(gè)點(diǎn)為P1,P2,…,P8,將P1,P2,…,P8的灰度值分別與P點(diǎn)相減,差值用二進(jìn)制值代替,大于0則為0,其余則為1,并賦值到Pi中,如式(2)所示:

(2)

由式(2)得出8個(gè)二進(jìn)制數(shù)值,將數(shù)值按下標(biāo)從小到大排列,得到一個(gè)8位的二進(jìn)制數(shù)值,數(shù)制轉(zhuǎn)換為十進(jìn)制,即為P點(diǎn)的CT值。遍歷所有像素得到CT值圖像。由于邊緣像素沒有8個(gè)像素比較,所以邊緣像素不用計(jì)算。

②得到CT值圖像后,采用滑動(dòng)窗口掃描CT值圖像進(jìn)行特征向量計(jì)算?;瑒?dòng)窗口水平方向移動(dòng)步長為9像素,垂直方向移動(dòng)步長為12像素,窗口里分為9×4個(gè)圖像小塊,小塊大小為9×12,上下左右相鄰的小塊合并成超塊,超塊移動(dòng)步長與窗口移動(dòng)步長一致,則整個(gè)窗口共有24個(gè)超塊。對每個(gè)超塊計(jì)算CENTRIST特征向量,超塊的特征向量為256維,每個(gè)CT值對應(yīng)一個(gè)維度。計(jì)算特征向量時(shí),將CT值對應(yīng)維度的數(shù)值加1,整個(gè)窗口的CENTRIST特征向量維度為256×24=6 144維。這樣就完成了CENTRIST特征提取。

3.2 級(jí)聯(lián)SVM訓(xùn)練和分類

本設(shè)計(jì)采用級(jí)聯(lián)SVM分類器進(jìn)行分類,包含線性分類器和非線性分類器,非線性分類器采用的核函數(shù)為直方圖交叉核(histogram intersection kernel,HIK)。首先進(jìn)行SVM分類器訓(xùn)練,完成后分別讀取線性和非線性分類器(二進(jìn)制文件)進(jìn)行行人檢測。分類器訓(xùn)練使用的是INRIA數(shù)據(jù)庫,該訓(xùn)練庫包含正樣本集和負(fù)樣本集,正樣本集包含2 400個(gè)正樣本,分辨率為36×108,負(fù)樣本集包含1 200個(gè)負(fù)樣本。接著進(jìn)行線性分類器的訓(xùn)練,在負(fù)樣本集中隨機(jī)截取分辨率為36×108的圖片和正樣本一起訓(xùn)練分類器h1。然后用h1判別負(fù)樣本集,生成的子負(fù)樣本集,子負(fù)樣本集和正樣本一起訓(xùn)練分類器h2,用h2判別負(fù)樣本集,生成另一個(gè)子負(fù)樣本集,如此下去,直到至少有一個(gè)分類器能正確判別負(fù)樣本集。最后將所有子負(fù)樣本集合并,得到最終分類器S1。

線性分類器S1雖然精度不高,但能夠排除大部分非行人區(qū)域,速度快;而非線性分類器正好相反。所以用線性分類器S1判別負(fù)樣本集,生成一個(gè)新的負(fù)樣本集,然后新負(fù)樣本集和正樣本集訓(xùn)練非線性分類器S2。

在進(jìn)行在線檢測時(shí),首先用S1對滑動(dòng)窗口提取的CENTRIST特征進(jìn)行判別,判別公式如(3)所示。若式(3)成立,則記錄滑動(dòng)窗口的位置。

WTX≥0

(3)

式中:W為分類器的檢測向量;X為CENTRIST特征向量。

當(dāng)線性分類結(jié)束后,被記錄的滑動(dòng)窗口對應(yīng)的CENTRIST特征輸入到S2作進(jìn)一步檢測。倘若判別為符合行人特征,則輸出滑動(dòng)窗口位置。

3.3 窗口融合

當(dāng)所有尺度下的圖像檢測完畢后,如果包含行人,則使用方框?qū)⒒瑒?dòng)窗口的四點(diǎn)坐標(biāo)相連接,但這樣同一個(gè)行人會(huì)產(chǎn)生大小不一的方框,需要窗口融合算法將這些方框合并成一個(gè)方框。判別式如式(4)所示。

Recti>0.6rect且Recti>0.6RECTi

(4)

式中:Recti為分類矩形框與i類別合并矩形框的相交面積;rect為分類矩形框的面積;RECTi為i類別合并矩形框的面積。

當(dāng)式(4)成立時(shí),分類矩形框分類到i類別,否則是新類別。能對所有分類矩形框進(jìn)行上述操作,將窗口都分類到相應(yīng)的類別中;然后,剔除類別中個(gè)數(shù)少于闕值的矩形框,并計(jì)算保留類別中矩形框的平均位置;最后,舍去大矩形框里的小矩形框,輸出融合窗口。

3.4 IP核VDMA初始化程序設(shè)計(jì)

因?yàn)镕PGA和ARM之間圖像數(shù)據(jù)傳輸是通過VDMA傳輸?shù)?。?shù)據(jù)緩存地址和VDMA工作模式由相關(guān)寄存器負(fù)責(zé)控制[17],所以需要在軟件部分初始化VDMA。初始化主要是軟件程序通過AXI-Lite接口向VDMA中不同功能的寄存器進(jìn)行賦值。FPGA工程包含VDMA1和VDMA2,兩個(gè)VDMA都分配緩存起始地址、字節(jié)數(shù)。當(dāng)開始檢測時(shí),VDMA1寫通道中斷,幀緩存暫停,讀通道讀取數(shù)據(jù)進(jìn)行圖像預(yù)處理加速。加速完成后由VDMA2將數(shù)據(jù)緩存到DDR3中,由ARM處理器進(jìn)行行人特征提取分類。完成檢測后,VDMA1寫通道重新工作,以此循環(huán)。

4 系統(tǒng)測試與分析

本系統(tǒng)在Zynq-7000 SoC開發(fā)板進(jìn)行測試。測試分為圖像預(yù)處理效果測試和行人檢測性能測試。行人檢測性能測試結(jié)果通過準(zhǔn)確率和覆蓋率曲線描述。設(shè)定圖片測試集中,實(shí)際行人個(gè)數(shù)為L,正確檢測行人個(gè)數(shù)為P,錯(cuò)誤檢測為行人的物體個(gè)數(shù)為N,沒有檢測到的行人個(gè)數(shù)為S。

準(zhǔn)確率和覆蓋率計(jì)算公式如下所示。

(5)

(6)

4.1 系統(tǒng)的資源利用率和功耗

FPGA工程的資源利用率如表2所示。

表2 FPGA工程的資源利用率

從表2看出,F(xiàn)PGA消耗的邏輯資源比較多,這是因?yàn)镕PGA工程使用IP核個(gè)數(shù)較多所致。IP核的工作頻率統(tǒng)一為100 MHz,整個(gè)系統(tǒng)的片上功耗為1.920 W,達(dá)到預(yù)期效果。

4.2 圖像預(yù)處理加速效果和耗時(shí)對比

圖3分別是計(jì)算機(jī)、ARM處理器和硬件加速對圖像預(yù)處理效果圖。表3給出圖像預(yù)處理耗時(shí)對比。計(jì)算機(jī)的配置為主頻3.1 GHz的四核Inter Core i5-7 300處理器,內(nèi)存為8 GB。

圖3 圖像預(yù)處理效果對比圖

ms

對比圖3(b)、圖3(c)和圖3(d)看出,三種方法均能實(shí)現(xiàn)圖像預(yù)處理,視覺效果基本沒有差別,硬件加速方法雖然顏色較暗,但行人輪廓顯示較為清晰。從表3看出,硬件加速耗時(shí)僅為計(jì)算機(jī)的一半,由此可見,硬件加速能減少圖像預(yù)處理時(shí)間。

4.3 行人檢測耗時(shí)對比

行人檢測耗時(shí)對比如表4所示。

對比表4可看出,本文提出的方法檢測一幀圖像所需時(shí)間比計(jì)算機(jī)和ARM方法要少,能有效提高檢測速度。

表4 行人檢測耗時(shí)對比

4.4 行人檢測準(zhǔn)確率對比

從ETH行人數(shù)據(jù)庫截取20 s視頻,對大約600幀圖像進(jìn)行測試。為了更好地評(píng)價(jià)本系統(tǒng)采用的行人檢測算法,本文引入另一種行人檢測算法(HOG特征和線性SVM)進(jìn)行對比。表5為兩種行人檢測方法的檢測率和誤檢率。

表5 兩種行人檢測系統(tǒng)檢測率和誤檢率

從表5可看出,本文采用方法的檢測率略高于HOG+SVM方法,主要由于本文方法采用級(jí)聯(lián)SVM進(jìn)行分類,提高了分類精度。圖4是兩種行人檢測算法的準(zhǔn)確率曲線。

圖4 兩種行人檢測算法的準(zhǔn)確率曲線

從圖4可看出,CENTRIST和SVM檢測算法的檢測效果與文獻(xiàn)[3]中的機(jī)器人的檢測效果相差不大,但本系統(tǒng)是采用低功耗開發(fā)板完成的。

5 結(jié)束語

本文在Zynq-7000 SoC開發(fā)板上,進(jìn)行嵌入式軟硬件協(xié)同設(shè)計(jì),結(jié)合CENTRIST特征向量和級(jí)聯(lián)SVM分類器,設(shè)計(jì)了基于FPGA+ARM的行人檢測系統(tǒng)。該系統(tǒng)已經(jīng)進(jìn)行了測試,證明本文提出的方法在效果上與計(jì)算機(jī)沒有明顯差別,但在運(yùn)行時(shí)間、功耗和成本都有優(yōu)勢,達(dá)到準(zhǔn)確度高、實(shí)時(shí)性好的應(yīng)用要求。今后在行人特征提取算法上,可以適當(dāng)增加不同行人特征來描述行人,提高魯棒性;同時(shí)可以采用FPGA實(shí)現(xiàn)循環(huán)計(jì)算以提高運(yùn)算速度。

猜你喜歡
矩形框行人分類器
毒舌出沒,行人避讓
意林(2021年5期)2021-04-18 12:21:17
多模態(tài)卷積神經(jīng)網(wǎng)絡(luò)的物體抓取檢測
路不為尋找者而設(shè)
一種汽車式起重機(jī)防傾翻方法的研究
BP-GA光照分類器在車道線識(shí)別中的應(yīng)用
電子測試(2018年1期)2018-04-18 11:52:35
我是行人
加權(quán)空-譜與最近鄰分類器相結(jié)合的高光譜圖像分類
結(jié)合模糊(C+P)均值聚類和SP-V-支持向量機(jī)的TSK分類器
PowerPoint 2013圖片裁剪技巧兩則
基于LLE降維和BP_Adaboost分類器的GIS局部放電模式識(shí)別
靖西县| 江达县| 石柱| 玛纳斯县| 离岛区| 普定县| 茌平县| 镇原县| 黑山县| 江川县| 林西县| 瑞金市| 湄潭县| 铁岭县| 长垣县| 马山县| 张家口市| 东阳市| 西丰县| 江华| 灵台县| 子长县| 日喀则市| 永胜县| 广安市| 鄂州市| 长丰县| 乌鲁木齐县| 邮箱| 都江堰市| 寿宁县| 玛曲县| 鹿邑县| 宁陕县| 双鸭山市| 全州县| 乃东县| 雷山县| 宜州市| 昭平县| 仙桃市|