《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于塊均值的運動目標檢測系統(tǒng)
基于塊均值的運動目標檢測系統(tǒng)
2014年微型機與應用第24期
鄭柏春,,林培杰,,戴曼娜,,蘇詩薦,程樹英
(福州大學 物理與信息工程學院,,福建 福州 350116)
摘要: 構建了基于FPGA的運動目標檢測系統(tǒng),,系統(tǒng)包括視頻數(shù)據(jù)的采集、緩存,、顯示,、色彩空間轉換及運動目標檢測等模塊,。運動目標檢測采用基于塊均值的幀間差分法,,這種方法有效地減少了需要存儲和運算的數(shù)據(jù)量,降低了像素噪聲對檢測結果的影響,。經測試,,該系統(tǒng)能提供清晰穩(wěn)定的監(jiān)控畫面,實現(xiàn)640像素×480像素,30幀/s視頻信號的運動目標實時檢測,,并能在檢測到運動目標后立刻發(fā)出報警信號,。本系統(tǒng)消耗的邏輯資源較少,能夠在小規(guī)模的FPGA芯片上實現(xiàn),,可推廣應用于社區(qū)安防,、生產安全監(jiān)控等領域。
Abstract:
Key words :

  摘  要: 構建了基于FPGA的運動目標檢測系統(tǒng),,系統(tǒng)包括視頻數(shù)據(jù)的采集,、緩存、顯示,、色彩空間轉換及運動目標檢測等模塊,。運動目標檢測采用基于塊均值幀間差分法,這種方法有效地減少了需要存儲和運算的數(shù)據(jù)量,,降低了像素噪聲對檢測結果的影響,。經測試,該系統(tǒng)能提供清晰穩(wěn)定的監(jiān)控畫面,,實現(xiàn)640像素×480像素,,30幀/s視頻信號的運動目標實時檢測,并能在檢測到運動目標后立刻發(fā)出報警信號,。本系統(tǒng)消耗的邏輯資源較少,,能夠在小規(guī)模的FPGA芯片上實現(xiàn),可推廣應用于社區(qū)安防,、生產安全監(jiān)控等領域,。

  關鍵詞視頻監(jiān)控運動檢測,;塊均值,;幀間差分法;FPGA

0 引言

  視頻安防市場的快速擴大給海量視頻信息的實時處理帶來了巨大的挑戰(zhàn),,為適應日益增長的安防需求,,需要更加智能化的視頻監(jiān)控技術。傳統(tǒng)的視頻監(jiān)控系統(tǒng)需要監(jiān)控人員對著數(shù)十個監(jiān)控畫面進行實時觀察,,這種監(jiān)控方式極易使監(jiān)控人員產生疲勞感,,無法保證監(jiān)控的可靠性,因此需要實現(xiàn)對運動目標的自動檢測和報警,。許多運動目標檢測,、跟蹤和識別算法在PC平臺上實現(xiàn)[1-2],PC平臺成本高,,難以普及,;基于DSP的圖像處理技術,,雖然成本相對較低,但是由于其順序執(zhí)行指令的局限性,,仍然難以滿足對高分辨率視頻信號實時處理的需求[3],。而FPGA具有并行處理、數(shù)據(jù)吞吐量大,、可重構等特性,,適合用于構建嵌入式視頻監(jiān)控系統(tǒng)[4-5]。

  本系統(tǒng)在FPGA上實現(xiàn)了圖像的采集,、顯示及運動目標檢測,,實現(xiàn)了640像素×480像素、30幀/s的視頻信號流的實時運動目標檢測,。本系統(tǒng)具有邏輯資源消耗少,、可重構、實用性強的特點,。

1 運動檢測算法介紹

  目前主流的運動檢測算法有光流法,、背景差分法和幀間差分法三種。(1)光流場反映了像素在像素平面內運動的速度向量,,是一個二維的速度場,。其算法特點是計算復雜性高,資源消耗量大,,適合移動攝像頭的運動檢測[6-7],。(2)背景差分法的基本原理是建立背景模型,用背景模型對當前幀的像素進行判別,,判定其屬于背景還是屬于前景[8],。在復雜背景下,難以建立完善的背景模型,。(3)幀間差分法的基本原理是將相鄰兩幀圖像對應像素點的灰度值進行減法運算,,若得到的差值大于閾值,則將該點判定為運動點,。幀間差分法運算簡單,,資源消耗少,易于實現(xiàn)實時檢測[9],。

  本系統(tǒng)對傳統(tǒng)的幀間差分法進行改進,,在不降低系統(tǒng)實用性的基礎上,減少了需要緩存和處理的數(shù)據(jù)量,。

2 改進的幀間差分法

  改進的幀間差分法以“塊均值”為單位計算幀間差分值,。在進行運動檢測時,將640×480的視頻幀分成32×32塊,,每塊的大小為20×15個像素,。這樣做有兩個好處:(1)提取塊的均值,能抑制像素噪聲對檢測結果的影響,,減小誤檢測的概率,;(2)減小了需要存儲的數(shù)據(jù)量,使得FPGA上的Block RAM能滿足存儲空間的需求,。算法流程如圖1所示,,檢測模塊將相鄰兩幀之間對應位置的塊均值進行比較,若差值大于閾值,,就發(fā)出報警信號,。

001.jpg

002.jpg

  在ModelSim軟件中用Verilog編寫運動檢測模塊,并對其進行行為級仿真,。用MATLAB平臺生成激勵文件,,并且查看輸出的結果。仿真結果如圖2所示,。運動檢測模塊先對當前輸入的源圖像進行預處理,,得到對應的塊均值圖像,然后將相鄰幀對應的塊均值圖像相減,。從仿真結果可以看出,,對相鄰幀間塊均值的差值進行二值化處理后能夠實現(xiàn)運動目標的正確檢測。源圖像的大小為307 KB,,而塊均值圖像的大小僅為1 KB,,計算塊均值的處理方法大大減小了需要存儲和運算的數(shù)據(jù)量,有利于實現(xiàn)視頻的實時檢測,。

3 系統(tǒng)的實現(xiàn)

  本系統(tǒng)基于Spartan-3A DSP S3D1800A開發(fā)板實現(xiàn),,攝像頭采用OV7620 CMOS攝像頭。系統(tǒng)結構如圖3所示,。

003.jpg

  系統(tǒng)主要分為圖像采集,、幀緩存、運動目標檢測以及圖像處理和顯示模塊,。首先用Picoblaze軟核對攝像頭進行配置,,從攝像頭讀取的視頻信號經過位拼接后形成完整的YUV像素數(shù)據(jù),通過多端口存儲器控制器(MPMC)存入DDR2內存芯片中,,并按VGA的時序要求從DDR2中讀出數(shù)據(jù),。從DDR2中讀出的數(shù)據(jù)經過色彩空間轉換和濾波后,與報警閃爍信號疊加,,最后進入VGA信號生成模塊,,輸出視頻信號。同時,,運動檢測模塊讀取視頻灰度信息,,進行目標檢測,,并根據(jù)檢測結果發(fā)出報警信號。

  3.1 圖像采集模塊

  Picoblaze是Xilinx公司推出的一款8位單片機軟核,,其優(yōu)點是占用的資源很小,,適合用于簡單的邏輯控制。本系統(tǒng)用Picoblaze作為主控制器,,通過I2C總線來實現(xiàn)對OV7620模塊的初始化,。將攝像頭的幀率配置為30幀/s逐行顯示,分辨率配置為640像素×480像素,,像素信號配置為YUV422輸出,。每個像素由16 bit數(shù)據(jù)組成,高8 bit為Y信號,,低8 bit為U/V信號,。

  在YUV422格式的視頻信號中,Y信號每個時鐘都會采樣,,而U和V信號則是間隔采樣,。由于該攝像頭模塊的數(shù)據(jù)引腳只有8位,因此需要用二倍頻的像素時鐘對8位的引腳進行時分復用輸出FPGA接收到像素信號后,,將兩個8 bit的數(shù)據(jù)重新拼接成一個16 bit的完整的像素信號,。

  3.2 幀緩存模塊

  攝像頭輸出的視頻信號是30 幀/s,而標準的640×480 VGA信號的最低幀頻為60 幀/s,,并且標準VGA信號的同步參數(shù)以及時鐘頻率都與攝像頭輸出的不同,,因此需要幀緩存模塊來滿足標準VGA信號的顯示要求。本系統(tǒng)用開發(fā)板上的兩塊32 M×16 bit DDR2存儲器來實現(xiàn)幀緩存,。DDR2的控制器采用Xilinx公司提供的MPMC IP核,。它可將DDR2內的存儲空間映射為一個矩形,矩形的長和寬可根據(jù)用戶的需要設定,。在進行幀寫入時,,只要在控制命令中聲明寫入的起始地址以及矩形的長和寬,寫入MPMC FIFO的數(shù)據(jù)就會被存儲到對應的矩形上,。讀取過程也類似,。

  3.3 色彩空間轉換及顯示模塊

  本系統(tǒng)采用的運動目標檢測算法基于圖像的灰度值。為了得到圖像的灰度,,即YUV信號的Y分量,,需要將攝像頭配置成YUV422輸出的模式,而VGA顯示只能采用RGB信號,,因此需要對像素數(shù)據(jù)進行色彩空間的轉換,。常用的色彩空間轉換操作如式(1)[10]所示:

  BHS(R]KZ$OCNB2Q1J(U4DCM.png

  式(1)中的參數(shù)根據(jù)不同標準有所差異。由于VGA邏輯要在27.125 MHz的時鐘頻率下運行,,為了盡量提高工作頻率,,實現(xiàn)實時檢測,,需要設計高效的矩陣運算電路。本系統(tǒng)的色彩空間轉換模塊采用五級流水結構,,具體電路框架如圖4所示,。在這種結構下,兩個寄存器之間最長的路徑延時為一個乘法器的延時,,在電路結構上最大限度地提高了運算速度,每一個時鐘周期完成一次矩陣運算,,實時地將YUV信號轉換成RGB信號,。

004.jpg

  為了提高畫面質量,將空間轉換模塊輸出的RGB信號通過Xilinx 2D降噪IP核去除部分像素噪聲,。報警閃爍模塊將去噪后的圖像信號和報警信號進行疊加,。VGA信號發(fā)生模塊產生標準的VGA行場時序,并將疊加了報警信號的圖像輸出到開發(fā)板上的電阻網絡DAC,,DAC再將數(shù)字信號轉換成標準的VGA信號,。

  3.4 運動檢測模塊

  運動檢測模塊采用的是第2節(jié)中的塊均值幀間差分法。模塊結構如圖5所示,。

005.jpg

  模塊中用于存儲塊均值的RAM用片上block RAM實現(xiàn),。每個塊均值都是一個8 bit的無符號數(shù),一幀圖像共1 024個塊,。因此RAM的位寬為8 bit,,尋址空間為1 KB。

  每計算出當前幀一個塊的均值,,就將其與上一幀對應塊的均值作為減法器的輸入,,將求出的差值與預先設定的閾值進行比較,閾值可根據(jù)測試結果進行調整,。若差值大于閾值,,則將該塊判定為運動塊,否則將該塊判定為靜止塊,。在判定結束后,,將當前幀的塊均值存入RAM,替換上一幀的塊均值,。

4 設計驗證及結果分析

006.jpg

  圖6(a)是系統(tǒng)硬件的現(xiàn)場測試圖,,圖中的顯示設備是通用的LCD顯示器。經過現(xiàn)場測試,,本系統(tǒng)的圖像采集和顯示模塊畫質較好,,運行穩(wěn)定,能夠長時間無差錯運行,,為用戶提供清晰可靠的監(jiān)控畫面,。圖6(b)是對運動檢測功能的現(xiàn)場測試圖片,,在沒有運動目標時,顯示器上顯示的是正常的監(jiān)控畫面,。當運動檢測模塊檢測到運動目標時,,畫面上會出現(xiàn)一個黑白交替閃爍的矩形(報警的方式也可以采用燈光閃爍或是發(fā)出提示音等),提示監(jiān)控人員發(fā)現(xiàn)運動目標,。經過測試,,系統(tǒng)能實時進行運動目標檢測,并在檢測到目標后快速地發(fā)出警報,。

5 結論

  本系統(tǒng)實現(xiàn)了基于塊均值的運動目標檢測,。經測試,本系統(tǒng)能實時正確地檢測運動目標并發(fā)出報警信號,。由于采用了基于塊均值的幀間差分法,,大大減小了邏輯資源的消耗。本系統(tǒng)用小規(guī)模的FPGA芯片就能實現(xiàn),,并且具有很高的可移植性,,能根據(jù)具體的應用環(huán)境進行拓展和改進。由于FPGA具有可重構的特性,,本系統(tǒng)還能夠方便快速地進行升級,,降低了維護本。

參考文獻

  [1] 周建英,,吳小培,,張超,等.基于滑動窗的混合高斯模型運動目標檢測方法[J].電子與信息學報,,2013,,35(7):1650-1656.

  [2] 蔣建國,郎立娜,,齊美彬,,等.基于像素值聚類的運動目標檢測方法[J].電子測量與儀器學報,2012,,26(2):101-106.

  [3] 郭永彩,,蘇渝維,高潮,,等.基于FPGA的紅外圖像實時采集系統(tǒng)設計與實現(xiàn)[J].儀器儀表學報,,2011,32(3):514-519.

  [4] BAILEY D G. Design for embedded image processing on FPGAs[M]. Singapore: John Wiley & Sons(Asia)Pte Ltd,,2001.

  [5] 祝利勇.基于FPGA的視頻運動目標檢測系統(tǒng)[D].西安:西安電子科技大學,,2007.

  [6] BERTHOLD K P H, BRAIN G S. Determining optical flow[J]. Artificial Intelligence,1981,,17(1-3):185-203.

  [7] JOHNY P,, ANDREAS L, CLAUS C. Real-time motion detection based on SW/HW-codesign for walking rescue robots[J]. Journal of Real-Time Image Processing,, 2013,, 8(4):353-368.

  [8] AHMED S H, ELSAYED K M,, ELHABIAN S Y. Moving object detection in spatial domain using background removal techniques[J]. Recent Patents on Computer Science,, 2008, 1(1):32-54.

  [9] Wang Kongqiao,, Xu Lei,, Fang Yikai, et al. One-against-all frame differences based hand detection for human and mobile interaction[J]. Neurocomputing,, 2013,,120:185-191.

  [10] HOANG V,, PHAM C. Efficient LUT-based truncated multiplier and its application in RGB to YCbCr color space conversion[J]. IEICE Transactions on Fundamentals of Electronics,, Communications and Computer Sciences, 2012,, E95-A(6):999-1006


此內容為AET網站原創(chuàng),,未經授權禁止轉載。