一种基于fpga的实时二值图像连通域标记实现方法

文档序号:8905475阅读:1444来源:国知局
一种基于fpga的实时二值图像连通域标记实现方法
【技术领域】
[0001] 本发明涉及一种二值图像连通域标记实现方法,尤其是一种基于现场可编程口阵 列器件通过硬件方式,使用超标量流水线技术实现对大规模运动目标实时进行连通域标记 的方法。属于大规模集成电路设计W及目标识别和视觉测量技术领域。
[0002]
【背景技术】
[0003] 二值图像连通域标记在雷达系统中为动目标的多普勒频率位置、距离向位置、相 位、幅度、角度和速度等参数的解算提供了重要依据,另外该技术还广泛应用于目标识别、 目标探测、制导、导航W及医学应用领域。
[0004] 二值图像连通域标记是从仅由"0"(表示背景点)和"1"(表示目标点)组成的点 阵图像中,将相邻的目标提取出来。其目的是寻找图像中所有的目标对象,并且将属于同一 目标对象的所有像素用唯一的标记值进行标记。在算法仿真阶段,往往在MTLAB中使用 bwlable函数来实现该功能。在实现阶段,通常有软件和硬件实现两种方式。
[0005] 软件实现的方式是使用高性能的PC机或者工作站,用基于软件方法来实现。但是 由于CPU执行指令的串行化特点,当图像分辨率、峽率提高或动目标数量变多时,处理一峽 图像所耗费的时间会线性增长。当处理时间大于峽间隔时间时,会导致丢峽。为了降低处 理延时,一般的方式是对算法进行改进,提出了区域增长法、深度或者广度优先搜索法、线 标记法等各种优化算法。文献"一种二值图像连通区域标记的新方法"(计算机工程与应 用,2006 ;42 (25) ;50-51)中使用区域增长法,只需要对图像进行一次扫描,提高了运算速 度。"一种二值图像连通区域标记的新方法"(计算机应用,2007 ;27 (11) =2776-2777)中 使用线标记法和区域增长法相结合的方法,其把连通体作为检测的基本单元,大大减少了 需要检测的个数。但是该算法需要反复搜索每个连通体的领域,并且当图像中含有很多点 状和竖线装连通区域时该算法执行效率会显著退化。通过分析软件实现方式得到的测试结 果,完成分辨率为1024巧68的图像连通域标记一般处理时间在百毫砂量级,远远达不到雷 达系统中实时处理的要求。
[0006] 硬件实现方式基于ASIC或者FPGA器件,利用其并行化特点来降低处理延迟。文献 "FPGAbasedconnectedcomponentlabeling',(InternationalConferenceonControl, AutomationandSystems.Seoul,Korea, 2007 ;2313-2317)中描述了一种基于硬件方式 的实现架构,可W每砂处理200峽图像,但是最大仅支持255个运动目标,在动辄需要同时 处理数千个运动目标的合成孔径雷达系统中没有实际用处。

【发明内容】

[0007] 本发明旨在解决图像分辨率最高达18432x4096,并且需要同时处理数千个上万个 运动目标的合成孔径雷达中现有技术无法实现的实时二值图像连通域标记的技术难题。本 发明基于现场可编程口阵列器件通过硬件方式,使用超标量流水线技术实现了实时标记大 规模运动目标,并且本方案能自适应各种分辨率,在动目标形状和数量改变时不会影响其 性能,鲁棒性强,其运算结果和MTLAB的bwl油el函数完全一致。
[0008] 本发明的目的是通过W下技术方案实现的。
[0009] 本发明的一种基于FPGA的实时二值图像连通域标记实现方法,其实现算法使用 四邻域标记算法,具体来讲就是对某一点的处理只与其左边和上边的点的状态相关。处理 过程使用四次扫描的方式,第一次使用顺序方式,从左到右、从上到下对图像进行处理;第 二次则反之使用逆序方式,从右向左、从上到下进行处理;第H次又使用顺序方式处理;最 后一次使用逆序方式扫描处理图像。此种处理算法是比较普通的算法,其计算量相对较大, 但是能够保证在任何形状和任何数量动目标的情况下得到和bwlabel函数一致的结果。本 发明的着眼点是使用独创性的实现架构和实现思想提高处理性能,达到对高分辨率和高峽 率图像实时处理的有益效果。
[0010] 本发明的一种基于FPGA的实时二值图像连通域标记实现方法其硬件平台使用四 个对称处理节点组成,采用VK(架构(高速串行交换架构),互联采用高速串行接口。其中四 个处理节点100~103使用XILINX公司的XC5VX95TI-2高端FPGA;存储单元200~203采用 Micron公司型号为MT47肥56M8-3E的2G比特孤R2颗粒,每个存储单元使用16片孤R2颗 粒,使得每个处理单元的存储容量为16G比特。处理单元之间的互联采用16对2. 5GHz的 Rocket10(XILINX定义的高速串行通信标准),其总带宽大于lOOOMB/s,能够满足合成孔 径雷达中高分辨率带来的高数据吞吐量的要求,另外处理单元之间还有4对差分控制线, 可用于处理单元之间的控制和状态信号的通信。
[0011] 本发明的一种基于FPGA的实时二值图像连通域标记实现方法,其中所述的处理 节点由第一次扫描单元1、主控制器模块2、相关性表存储器组3、普通扫描单元4、孤R访问 仲裁模块5、DDR控制器6和组峽和数据输出模块7构成。主控制器模块2分别与第一次扫 描单元1、相关性表存储器组3、普通扫描单元4和组峽和数据输出模块7相连,交互控制和 状态信息;第一次扫描单元1和普通扫描单元4通过标准的RAM访问接口与相关性表存储 器组3相连,写端口用于更新相关性表的内容,读端口用于读出相关性表的值;第一次扫描 单元1、普通扫描单元4和组峽和数据输出模块7都需要与孤R进行数据交互,所W该H个 模块都通过自定义的高速访问接口与孤R访问仲裁模块5相连;孤R访问仲裁模块5根据 轮询和自定义优先级相结合的仲裁方式把多个并行的对DDR的访问请求映射和复用为串 行的孤R的访问请求与孤R控制器6相连;孤R控制器6根据访问请求产生孤R的访问时 序直接访问外部的DDR芯片;组峽和数据输出模块7根据峽结构把标记值结果嵌入峽内输 出。
[0012] 本发明的一种基于FPGA的实时二值图像连通域标记实现方法,其中所述的第一 次扫描单元1由串并转换模块11、原始数据兵兵缓冲12、第一次扫描单元处理控制模块13、 标记值兵兵缓冲14和孤R写缓冲15构成;主控制器模块2由主控制状态机21和一些辅助 逻辑构成;相关性表存储器组3由访问切换模块31、缓冲器A32和缓冲器B33构成;普通 扫描单元4由读缓冲器组41、普通扫描单元处理控制模块42、孤R写缓冲43和标记值兵兵 缓冲44构成;DDR访问仲裁模块5由端口选择状态机51、端口和状态寄存器组52、读数据 缓冲53和读写控制状态机54构成;DDR控制器6由初始化模块61、控制状态机62、数据通 道63和相位校准模块64构成;组峽和数据输出模块7由读状态机71、读数据缓冲72、组峽 控制逻辑73和输出时序控制模块74构成。
[0013] 本发明的一种基于FPGA的实时二值图像连通域标记实现方法,其实现包括如下 步骤: 1. 在第一次扫描单元中按照从左到右、从上到下的顺序方式完成二值图像的初始标 记,并且把标记值之间的相关性信息写入到相关性表存储器组中: A. 对输入的二值图像数据做串并转换,变为8比特宽度的数据,存入原始数据兵兵缓 冲里。该样每次读取8个图像点的数据来处理,可W减少读取次数; B. 判断是否为目标点,然后做相应的处理。有H种情况,如果不为目标点,那么把当前 位置点的标记值赋值为0 ;如果为新的目标点,也就是其左边和上边的点都不是目标点,那 么把当前位置点的标记值赋值为已使用的最大的标记值加1,并且要修改相关性表;如果 不为新的目标点,需要读出相邻像素的标记值,然后W该些标记值为地址从相关性表存储 器组中读出相关的标记值,把该点的标记值赋值为读出的标记值的最小值,最后修改相关 性表; C. 算出的标记值需要存入标记值兵兵缓冲,因为计算下一行的时候需要用到上一行的 标记值,把上一行的标记值存入内部存储器中主要是为了提高处理速度。同时也要存入DDR 写缓冲FIFO中,第一次扫描单元中的读写控制逻辑根据FIFO中的数据量启动孤R写操作 把标记值存入孤R中; 2. 第一次扫描单元处理完成之后对图像完成了初始标记并且相关性表存储器组里面 存入了标记值的相关性数据。此时主控制器模块通知普通扫描单元开始下一次的扫描操 作,并且通知相关性表存储器组里的访问切换模块做访问切换,之后的读写操作是普通扫 描单元发起的; 3. 普通扫描单元第一次扫描时候按照从右到左、从下到上的逆序方式完成标记的融 合,并且更新相关性表的信息: A. 从DDR中读出标记值存入读缓冲器组中; B. 判断标记值,如果不为0表示该点为目标点。其处理方式和第一次扫描单元处理完 全不同,首先是从读缓冲器组中读出当前处理点W及左边和右边点的标记值,然后用该些 标记值作为地址从相关性表存储器组中读出相关的标记值,然后比较读出的3个点的标记 值的最小值,用该个最小值作为当前点的标记值并且更新相关性表存储器组中的值; C. 算出的标记值写入孤R写缓冲FIFO中,然后存入到孤R中; 4. 普通扫描单元完成扫描之后通知主控制器模块,主控制器模块更新普通扫描单元的 参数值开启下一次的扫描操作; 5. 重复3, 4步操作两次完成对图像的四次扫描; 6. 所有的扫描操作完成之后主
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1