宋 宇, 耿益營, 劉 彬
(長春工業大學 計算機科學與工程學院, 吉林 長春 130012)
?
基于FPGA實時視頻圖像邊緣檢測系統
宋宇,耿益營,劉彬
(長春工業大學 計算機科學與工程學院, 吉林 長春130012)
摘要:針對運動目標跟蹤對視頻圖像檢測與識別的需要,基于FPGA視頻邊緣檢測系統硬件平臺,完成了對視頻信息的采集、處理、緩存和顯示軟件設計。實驗結果表明,該系統具有實時性、圖像邊緣清晰、噪聲小等特點。
關鍵詞:FPGA; 邊緣檢測; OV7725; 視頻顯示
0引言
在視頻跟蹤系統研究中,目標檢測十分關鍵,其結果好壞關系到圖像的分析與識別,在運動目標識別跟蹤領域要求對視頻信息作出實時邊緣檢測。由于圖像數據吞吐量大,計算復雜,實時性要求高,因此,FPGA在視頻圖像的實時處理方面得到廣泛應用。
1系統的總體方案
系統采用Altera公司的FPGA芯片EP4CE15F17C8N作為主控芯片、SDRAM作為圖像數據的數據緩沖區、ADV7123作為編碼芯片的實時視頻采集與顯示系統。系統主要由視頻數據采集、視頻存儲、Sobel邊緣檢測和VGA顯示構成。該系統通過OV7725攝像頭獲取視頻圖像,將獲取的視頻信息送入FPGA中,并對其進行邊緣檢測。邊緣檢測結果通過VGA接口將實時的視頻數據顯示出來[1-3]。系統流程如圖1所示。
2視頻采集
2.1SCCB配置模塊
由于OV7725攝像頭的高靈敏度、低照度、低功耗、低成本的特性,本系統采用OV7725 的CMOS傳感器作為系統視頻圖像源,可以實現最快60 fps/s VGA分辨率的視頻,并且可調節圖像飽和度、伽馬、色相、銳度等參數,從而來配置輸出數據格式、圖像特性等,能很好地滿足本系統的設計要求[4]。SCCB總線由數據線(SIO_D)和時鐘線(SIO_C)兩條信號線組成,SCCB控制總線通過改變SIO_C、SIO_D上的電平狀態完成寄存器的讀寫,實現對攝像頭輸出圖像的控制。SCCB控制總線的時序圖如圖2所示。

圖1 系統流程

圖2 SCCB總線傳輸時序圖
SCCB總線處于空閑狀態時,SCCB_E被拉高為1,啟動傳輸或處在懸浮狀態時主機把SCCB_E拉低。SIO_C信號:串行I/O信號1輸出,空閑狀態SIO_C被拉高;當SCCB_E被拉低時,在高低電平之間變化。SIO_D信號:串行信號0輸入和輸出,當總線處于空閑保持懸浮狀態;當系統處于懸浮時SIO_D被拉低。
2.2視頻圖像采集
FPGA通過SCCB總線完成對OV7725的172個寄存器的初始化,通過配合攝像頭OV7725的行、場同步信號采集圖像數據,控制OV7725輸出視頻數據為RGB565格式。通過OV7725輸出RGB565時序分析:
1)在HREF無效時,不輸出數據;在HREF有效時,連續輸出640*2個的一行數據。
2)數據輸出僅D[9:2]有效,D[1:0]忽略。
3)從HREF有效開始,先輸出RGB565的高8位,即{R[4:0],G[5:3]},再輸出RGB565的低8位,即{G[2:0],B[4:0]}。
4)PCLK低電平時數據改變,PCLK高電平時可以有效讀取。
視頻數據采集ModelSim時序仿真如圖3所示。

圖3 視頻數據采集時序仿真
2.3SDRAM控制
本設計的SDRAM選擇的是hynix的HY57V283220,具有4個Bank,每個Bank具有1 M*32 Bit的存儲單元,12 Bit的行地址,8 Bit 的列地址。本設計采用24 Bit的SDRAM 位寬。SDRAM的控制時鐘為100 MHz。FPGA可以快速、穩定地對SDRAM進行讀命令和寫命令,很好地完成數據的緩存工作[5]。
2.4Sobel邊緣檢測
邊緣是指其周圍像素灰度變化比較劇烈的那些像素的集合,Sobel邊緣檢測的FPGA實現是通過計算灰度圖像的梯度幅值以及閥值的處理,來分析圖像的邊緣信息。索貝爾算子(Sobel operator)是邊緣檢測的一種重要處理方法。通過梯度計算和閥值處理得到邊緣精細、噪聲小的圖像[6-8]。Sobel卷積因子如圖4所示。

圖4 Sobel卷積因子
Sobel算子原理是將兩組3*3的矩陣分別與圖像A作平面卷積,分別得出橫向及縱向的亮度差分近似值。Gx代表經橫向邊緣檢測的圖像灰度值,Gy代表縱向邊緣檢測的圖像灰度值。其公式如下:
該點灰度的大?。?/p>
梯度方向:
前面Sobel算子的實現,為了實現FPGA的加速運算,發揮并行流水線的特性,可以劃分為4個步驟;
1)計算Gx和Gy與模板每行的乘積。
2)求得3*3模板運算后的Gx、Gy。


這樣,便完成了Sobel邊緣檢測算法的移植。波形仿真如圖5所示。

圖5 Sobel邊緣檢測時序仿真圖
為了更好地得到圖像的邊緣檢測結果,分配FPGA開發板上2個獨立按鍵K0、K1來實現閥值的增大與減小。K1控制Sobel_Threshold的增加,而K0控制Sobel_Threshold的減小。閥值的級別設定16級,因此K0、K1控制Sobel_Grade這個變量的增減,如下:
//Sobel Threshold adjust with key.
always@(posedge clk or negedge rst_n)
begin
if(!rst_n)
Sobel_Grade <= 4’d8;
else if(key_flag)
begin
case(key_value) //{Sobel_Threshold--, Sobel_Threshold++}
2’b01: Sobel_Grade <= (Sobel_Grade ==
4’d0) ? 4’d0 : Sobel_Grade -1’b1;
2’b10: Sobel_Grade <= (Sobel_Grade==4’d15) ? 4’d15 : Sobel_Grade+1’b1;
default:;
endcase
end
else
Sobel_Grade <= Sobel_Grade;
End
2.5VGA顯示
本系統中圖像采集分辨率為640×480@60 Hz,時鐘頻率為25 MHz。通過VGA控制模塊產生VGA時序,控制對SDRAM的讀操作,同時將讀取的數據送到編碼芯片ADV7123中,并產生行同步信號VGA_HS,場同步信號VGA_VS,以實現視頻數據在VGA顯示器中的實時顯示。
3實驗結果
通過QuartusII 軟件綜合仿真,以FPGA(EP4CE15F17C8N為主控芯片)開發板為驗證平臺,對本設計方案進行測驗,結果如圖6和圖7所示。

圖6 原始圖像和灰度圖像

圖7 閥值分別為30和90的Sobel邊緣檢測圖像
4結語
利用FPGA平臺構建的實時視頻圖像邊緣檢測系統,很好地實現了視頻信息的采集、邊緣檢測和結果輸出。利用FPGA的并行高速處理能力,提高了系統的運行速度,保證了實時性。實驗結果表明,設計的視頻實時邊緣檢測系統具有高速、實時、準確的優點。在目標識別、機器視覺、智能視頻監控等領域有很好的應用前景。
參考文獻:
[1]張輝,曲士茄.基于FPGA硬件實現的圖像邊緣檢測及仿真[J].計算機仿真,2010(3):232-236.
[2]郭龍,段哲民.FPGA的視頗實時邊緣檢測系統[J].電子設計工程,2014,22(3):173-185.
[3]程光偉.基于FPGA的視頻采集與顯示模塊設計[J].電子元器件應用,2010,12(12):24-25.
[4]丁昊杰,劉敬彪,盛慶華.基于CMOS圖像傳感器的視頻采集系統設計[J].現代電子技術,2012,35(14):178-188.
[5]楊欽,周云飛,胡永兵.基于FPGA的視頻圖像采集與顯示系統設計[J].計算機工程與設計,2013,34(6):1988-1992.
[6]曹楊,蘇麗娜,沈琪,等.一種改進的Sobel邊緣檢測算法的設計及其FPGA實現[J].微電子學與計算機,2012,29(10):124-127.
[7]Xin G, Ke C, Xiaoguang H. An improved canny edge detection algorithm for color image[C]//2012 10th IEEE International Conference on Industrial Informatics (INDIN). [S.l.]: IEEE,2012:113-117.
[8]楊新華,寇為剛.基于FPGA的Sobel算子圖像邊緣檢測算法廠[J].儀表技術與傳感器,2013(1):34-36.
A real time video image edge detection system based on FPGA
SONG Yu,GENG Yiying,LIU Bin
(School of Computer Science & Engineering, Changchun University of Technology, Changchun 130012, China)
Abstract:To meet the needs of video image detection and recognition for moving target tracking, we design the video information collection, processing, cache and display based on FPGA edge detection hardware platform. Experimental results show that the system has features of real-time, clear image edge and low noises.
Key words:FPGA; edge detection; OV7725; VGA display.
收稿日期:2015-12-26
基金項目:教育部“春暉計劃”基金資助項目(Z2011139)
作者簡介:宋宇(1969-),男,漢族,吉林長春人,長春工業大學教授,碩士,主要從事嵌入式系統方向研究,E-mail:songyu@ccut.edu.cn.
DOI:10.15923/j.cnki.cn22-1382/t.2016.2.05
中圖分類號:TP 368.1
文獻標志碼:A
文章編號:1674-1374(2016)02-0124-04