版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于FPGA的图像实时处理系统设计作者:李杏华刘宁张晶天津大学半导体光电上网日期:2015年06月12 H评论0 分享到:新浪微博qq空间字号:工mo -eff分步阅读关键字:FPGA 图像缓存实时处理边缘检测由于现场实时测量的需要,机器视觉技术越来越多地借助硬件来完成,如DSP芯片、专用 图像信号处理卡等。但是,DSP做图像处理也而临着由于数据存储与处理量大,导致处理 速度较慢,系统实时性较差的问题。本文将FPGA的IP核内置缓存模块和乒乓读写结构相 结合,实现了图像数据的缓存与提取,节省了存储芯片所占用的片上空间,并且利用图像预 处理重复率高,但算法相对简单的特点和FPGA数据并行处理,结
2、合流水线的结构,大大 缩短了图像预处理的时间,解决了图像处理实时性差的问题。1系统架构和流程简介本系统采用了 FPGA与DSP相结合的架构,综合了各自的优点,使系统满足实时性要求的 同时,又可以在后续任务中完成复杂算法的处理。系统的整体架构如图1所示。系统上电后,CCD相机向AD转换芯片TVP5150输入PAL制式模拟图像信号,TVP5150 将模拟信号转换成数字信号后,以ITU-R BT656格式传输到FPGA, FPGA对采集到的 ITU-R BT656格式的图像数据去消隐化后进行预处理,处理完之后传输到DM642的VPO 口,VPO以8位RAW格式接收图像数据,并通过EDMA通道存储到连
3、接在EMIFA接口 上的SDRAM中。经过DSP的图像处理后,将SDRAM中的图像数据以ITU-R BT656的 格式经DM642的VP2 口传输到DA芯片SAA7121,然后SAA7121进行DA转换后,将 PAL制式的模拟信号输出到LCD显示器上显示。需要说明的是,TVP5150和SAA7121通 过DM642的I2C总线接口配置。1图1系统结构框图2 FPGA图像缓存与处理由于该系统利用FPGA并行性和高速性来缩减图像预处理的时间,因此,FPGA的图像缓 存和预处理环5直接影响到系统的实时性,是整个系统的核心部分,也是本文所要介绍的重 点。根据图像预处理的需求和FPGA内部各模块功能的不
4、同,将其分为4个部分:去消隐化、 滤波、阈值分割和边缘提取。2.1 去消隐化FPGA接收TVP5150传输的数字信号为ITUR BT656格式,该格式除了传输4 : 2 : 2的 YCbCr视频数据流外,还包含行、列消隐信号。因此,需要将行列消隐信号剔除掉,以便 后期进行图像预处理。根据BT656的固有结构,编写了 Verilog硬件语言程序,用于提取BT656中的720x576个 像素点的有效视频数据,由于图像处理过程只需要检测亮度信号(Y分量),因此同时舍去各 像素点的色度信号(Cb、Cr分量),仅保留亮度信号作为图像有效数据。在去消隐化过程中, 每行起始状态里,检测输入8位数据,如果连续
5、3个输入信号满足FF、00、00结构,则 跳入下一个状态,判断下一个8位输入XY信号,是否为有效图像标志信号(80标志该行为 偶场图像数据,C7标志该行为奇场图像数据),若判断是,则计数器计数,并采集计数器为 偶数时的数据(即亮度信号),为图像有效数据,当采集满720个图像有效数据时,状态机转 入初始状态继续等待FF、00、00结构,并依此循环。2.2 滤波摄像机采集的图像存在各类噪声,从而对目标信息的进一步处理产生不利影响,因此,获取 图像后需要对图像进行滤波。考虑到中值滤波在平滑脉冲噪声方面非常有效,并且可以保护 图像尖锐的边缘的优点,我们选用3x3中值滤波作为系统的图像滤波算法。中值滤波
6、模块 包括3个子模块:乒乓结构读写模块、3x3阵列生成模块和中值滤波算子模块,其流程如图2 所示。国像数需数据信号Fdpram 控制强块写完成 林志信号读 DPR AM 并生成3。模块DPRKM例化f荚块地址信号写他能佰号地址估号读使舱信号中值港波 算子图2中值滤波模块流程图2.2.1 乒乓结构读写模块为了节约芯片成本和电路板的片上空间,图像数据的存储利用FPGA上固有的IP核生成双 口 RAM来缓存。由于图像数据量较大,而中值滤波只需要持续地提取3x3模块来进行数 据处理,因此,仅需生成4片双口 RAM,每个用于存储一行的图像数据,通过乒乓读写结 构,便可实现数据的缓存。乒乓读写结构是指将输
7、入数据流通过输入数据选择单元等时地将输入数据分配到两个数据 缓存区,并且再写入某一个缓存区的过程中,从另外一个缓存区读出上个缓存周期写入的数 据,依此循环,不断往复。在本系统中,选用4片1024x8bit的双口 RAM作为缓存区,在 每个缓存周期,向其中1片双口 RAM中写入图像数据,同时,读控制模块从另外3片双 RAM中读出前三个缓存周期已写入的数据,用于生成3x3阵列。当一行数据缓存完成 后,写使能信号跳转到下一个双口 RAM,继续进行下一行数据写入,读控制模块继续读取 剩余三行所存储数据。2.2.2 3x3阵列生成模块3x3阵列生成模块利用了 3个并行的24位移位寄存器,如果读使能信号有
8、效,则在每个时 钟的上升沿,将3个移位寄存器中的数据左移8位,然后将从3个双口 RAM中读取的数 据分别填充各自对应移位寄存器的后8位,在每个读取周期内循环,直到读使能信号置低 时停止,然后等待下一行数据的循环。这样,就生成了中值滤波所需要的3x3阵列。需要 注意的是,每一帧图像的第一行和最后一行因为没有相应的上下行数据,因此不能提取3x3 阵列,所以需要控制信号将该两行数据的3x3阵列剔除,以满足图像处理的准确性。在双口 RAM的读写过程中,涉及到读写的时序问题,读写时序的控制必须满足建立和保持 时间的关系,以满足图像数据准确性的要求。在此,设计了一种新型的读写时序控制方法, 首先,在数据传
9、输至写双口 RAM模块时,利用一个与双口 RAM写时钟频率相同,但是相 位相差180时钟做同步处理,使数据信号和控制信号的上升沿与该时钟同步,然后,将 同步后的数据信号和控制信号传输到双口 RAM的写数据端口,则可以将触发采集的写时钟 的上升沿,恰好置于数据信号和控制信号的中央部分,以此保证数据写入的稳定性。该读写 时序控制图如图5所示,其中,Clk_W为写时钟,Clk_180。为上文所讲的同步时钟,Datajn 为同步前数据信号,Datajm为同步后数据信号,由图可以清楚的显示,利用这种方法, 可以将数据信号稳定的写入双口 RAM中,减少了时序设计时的计算时间,并且可以节约时 序仿真的步骤,
10、大大节省了开发时间。clk_w -LFLrTTTTTJ-图3时序同步示意图2.2.3 中值漉波算子模块中值滤波的原理是把图像中某一点的像素值用该点的一个邻域中各点像素值的中值代替,让 该点像素值更加接近真实值,从而消除孤立的噪声点的滤波方法。在本系统中,选用3x3 中值滤波模块,其具体算法为将图像某一点及其周围8个点的像素按照大小排列顺序,取9 个像素值的中间值作为当前点的像素值,依次滤除整帧图像的杂散信号。通过FPGA实现9个数大小的排序,为了节省处理时间和芯片片上资源,利用快速中值滤 波算法,结合流水线结构,分级排序来选取图像像素的中间值。排序步骤如下:首先对3x3 阵列进行列排序,然后行
11、排序,最后副对角线排序,得到滤波中值。下图4为快速中值滤 波示意图,图中的C代表三输入排序器,所用比较器为assign结构,可以节约大量比较所 用时间,提高系统的实时性。图4快速中值滤波算法示意图2.3 阈值分割 由于实时图像系统的刷新频率较快(BT656格式每秒刷新25帧图像),每帧图像之间像素灰 度均值差别很小,因此,我们可以利用上一帧图像的统计值来计算阈值,为下一帧图像二值 化提供阈值,以适应测试环境变化所引起的阈值变化,阈值统计采用直方图的方式。利用FPGA的IP核生成一个256x9位的DPRAM,用以作为直方图的计数器。以该 DPRAM的地址作为图像的像素值,而以DPRAM的内部存储
12、值,作为该帧图像中该像素 值的个数,每读出一位相应的像素,对应地址的内部寄存器加1,以此完成整帧图像的像素 统计。整帧图像像素统计完成以后,按照地址从小到大的顺序,依此累加DPRAM中的值,当累 加和不小于整帧图像像素数的0.7时,该DPRAM地址,即为直方图法得到的阈值,然后 利用该阈值,为下一帧图像做阈值分割。2.4 边缘检测边缘检测在图像处理中占有很重要的地位,好的边缘检测,可以提高图像的定位精度,减少 图像后续处理中的数据量。综合考虑各种滤波算法的优缺点,由于Sobel算法对噪声容抗 较大,并且较易在FPGA上实现,因此,选取Sobel算法作为该系统的边缘检测算法。边缘检测模块类似于滤
13、波模块,同样也包括3个主要部分:乒乓结构存储模块、3x3阵列生 成模块和Sobel边缘检测算子模块。前两个部分不再赘述,本文主要介绍Sobel算子模块。该算子包含两组3x3的矩阵,分别为横向及纵向,将之与图像作平而卷积,即可分别得出 横向及纵向的亮度差分近似值。利用FPGA在硬件并行结构和流水线结构的特点,我们将整个Sobel算子分为4级,第一、 二级分别将首、末行和首、末列按照算子模板参数相加并输出结果,第三级将上级所得到的 行列结果分别相减,第四级比较上级所得两个值的绝对值,取绝对值较小的值作为Sobel 检测结果。如此,每个时钟周期每级都执行各自相应的加减法运算,并在下个时钟上升沿将 所
14、得数据级级传递,即可完成3x3阵列的Sobel算法,该模块的流水线结构如图5所示。 这样,在每个时钟周期,都会输出1个Sobel检测值,即处理每一行图像数据,仅需要n+4 个时钟周期的时间,处理整帧图像所需最少时间为(n+4)xmx其中n为每行像素点个数, m为行数,T为时钟周期。图5 Sobel算法的流水线结构3实验结果分析根据系统硬件结构搭建的实验平台,连接各模块接口,编译并下载程序,运行系统。在实验 室环境下采集图像,并进行滤波和边缘检测等处理,在CCS3.3的view/gaph菜单下观测 处理图像效果图,实验结果与原图对比如图6所示。由于实验室光线环境较为稳定,图像 噪声较少,滤波效果不明显,但是通过图6(c)可以明显看到图像边缘检测效果较好,可以满 足图像预处理要求。针对系统图像预处理速度的评估,我们以Sobel边缘检测算法作为参考。首先利用CCS3.3 的计时函数,运行得到DSP对一帧720x576像素
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年手机维修服务合作合同一
- 2024年标准法律咨询合同范本版
- 2024年度网络文学作品的版权许可使用合同
- 合作社成立合同范例
- 2024年标准赔偿合同书写样式参考手册版B版
- 2024年热销车型销售合同书一
- 铝门设备转让合同范例
- 2024年危险废物回收管理协议3篇
- 食堂供给合同范例
- 饮料分销合同模板
- 江苏省乡村振兴职业技能大赛技术工作文件〔中式烹调师(羊肉烘烤)〕
- 师带徒操作手册(共16页)
- 无线电导航设备培训课程(共121页).ppt
- 50000吨仓储配套500吨烘干塔项目可行性研究报告(DOC 58页)
- 石化工程设计施工标准
- T_CHES 18-2018 农村饮水安全评价准则
- 乡政府实习报告3篇-
- 我最喜欢的一种美味作文(课堂PPT)
- 行风建设工作台账
- 幼儿园“一岗双责”制度
- ISO2018年发布的新标准纺织服装类
评论
0/150
提交评论