宋 宇, 耿益营, 刘 彬
(长春工业大学 计算机科学与工程学院, 吉林 长春 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代表纵向边缘检测的图像灰度值。其公式如下:
该点灰度的大小:
梯度方向:
前面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