一种基于SoPC的SAR图像水域检测实现方法

文档序号:9350704阅读:442来源:国知局
一种基于SoPC的SAR图像水域检测实现方法
【技术领域】
[0001]本发明属于雷达实时成像处理技术领域,具体涉及一种基于SoPC的SAR图像水域检测实现方法。
【背景技术】
[0002]合成孔径雷达(SAR)是成像雷达的一种,具有全天候、全天时、远距离、高分辨率成像等优点,被广泛应用于军事侦察、环境监视等重要领域。随着SAR遥感技术的发展,其在洪水监测方面的优势逐渐凸显出来。由于水灾期间往往阴雨连绵,常规的光学、红外遥感方法已经无法观测,但是SAR作为一种主动微波遥感手段,可以弥补现有光学手段不足,特别是微波能穿透水雾、云雾,可以通过SAR图像算法的设计可以有效提取水域范围。
[0003]在实时图像处理中,使用Sobel算子对图像进行边缘检测是常用的算法之一,优于要达到实时处理,因此对处理速度要求很高,现阶段纯软件的方法很难达到要求。兰州理工大学电气工程与信息工程学院发表的基于FPGA的Sobel算子图像边缘检测算法(仪表技术与传感器2013.N0.1)中提到了在FPGA上实现算法。然而FPGA开发周期较长,且算法映射到硬件难度较大。SoPC系统具有小型化、灵活性、低功耗、开发周期短的优势。设计时基于FPGA的硬件部分完成基本逻辑电路设计,基于ARM或其它中央处理器的软件部分完成数据的存储和处理这种软硬件协同的方式,使得基于SoPC的水域检测系统具备可裁剪、可扩充、可配置、可升级的特点。

【发明内容】

[0004]本发明为了实现星载SAR高分辨图像实时水域检测,提出了一种基于SoPC的SAR图像水域检测实现方法,该方法能够在FPGA+双核ARM上实现SAR图像水域检测,具有很好实时性和稳定性。
[0005]实现本发明的技术方案如下:
[0006]—种基于SoPC的SAR图像水域检测实现方法,该方法步骤如下:
[0007]步骤一、原始数据接收与缓存:
[0008]将原始SAR灰度图像数据抽取后,通过FMC接插件(FMC LVDS)传输给基于FPGA的逻辑处理部分乒乓RAM缓存;数据经过RAM缓存后,传输给基于双核ARM的软件处理部分中DDR3中;
[0009]步骤二、均值滤波:
[0010]利用双核ARM分别对DDR3中存储图像数据的上、下部分进行均值滤波处理;均值滤波采用并行处理流程;
[0011 ] 步骤三、双核ARM实现粗目标提取:
[0012]用双核ARM中的ARMO实现基于Sobel梯度算子的粗目标的提取和用双核ARM中ARMl实现基于对比度拉伸变换的粗目标的提取,两者并行执行,再将结果合并即为粗目标感兴趣区域(R1);
[0013]步骤四、双核ARM实现虚景剔除:
[0014]用ARMO对上、下部分粗目标感兴趣区域进行第一次均值计算和用ARMl对上、下部分粗目标感兴趣区域进行大面积虚警剔除;用ARMO计算第一次均值计算得到上、下两部分均值的平均值a,用ARMl计算虚警剔除后上、下两部分灰度图像均值的平均值b ;
[0015]对大面积虚警剔除后的图像进行膨胀、腐蚀操作;通过对非零竖线条统计标记连通域;利用大面积虚警剔除前后的均值a和b对连通域标记后的图像进行剩余虚警剔除;
[0016]步骤五、双核ARM实现标记目标区域的边缘:
[0017]双核RAM分别对上下部分图像进行第一次膨胀操作和腐蚀操作,然后对腐蚀后的结果进行第二次膨胀操作,将第二次膨胀操作后的结果减去膨胀操作前的值,得到最终水域边缘检测结果;通过串口输出目标边缘区域坐标,完成整个流程。
[0018]进一步地,本发明步骤二至步骤五为采用标志位变化来控制整个处理流程。
[0019]进一步地,本发明步骤一中抽取的比例为8:1。
[0020]进一步地,本发明步骤二中的均值滤波的模板大小为3X3。
[0021]进一步地,本发明步骤四中膨胀操作的所采用的膨胀滑动块的边长为7。
[0022]进一步地,本发明步骤五中第一次膨胀所采用的膨胀滑动块的大小为IlX 11,所述第二次膨胀所采用的膨胀滑动块的大小为5X5。
[0023]有益效果
[0024]第一,相较于传统纯硬件或纯软件实现方法,本发明采用软硬件协同处理的方式,充分发挥硬件层在基础逻辑,软件层在复杂算法处理上的优势。
[0025]第二,本发明采用双核处理器设计,通过合理分配不同处理任务,使得两个ARM并行运算,相较于传统单核处理实现方法实时性有大幅提高。
【附图说明】
[0026]图1为整个SoPC水域检测系统架构。
[0027]图2为双核实现粗目标区域提取的流程图。
[0028]图3为双核ARM实现虚警剔除流程图。
[0029]图4为双核ARM实现原图边缘检测标记流程图。
【具体实施方式】
[0030]下面结合附图对本发明方法的实施方式做详细说明。
[0031]本发明一种基于SoPC的SAR图像水域检测实现方法,其具体实施过程如下:
[0032]步骤一、原始数据接收与缓存:将原始SAR灰度图像数据抽取后,通过FMC接插件传输给基于FPGA的逻辑处理部分乒乓RAM缓存;数据经过RAM缓存后,传输给基于双核ARM的软件处理部分中DDR3中。
[0033]如图1所示,该步骤实施过程如下:
[0034]101,原始数据为采用Chirp Scailing(CS)算法进行SAR成像处理后的8bit灰度图像数据。为保证实时性,数据源需要对图像进8:1抽样操作,然后通过FMC接插件后将数据传输给基于FPGA的逻辑部分(PL)乒乓RAM缓存。数据源连续发送数据,当一幅图像数据发送完毕后,停止发送数据。
[0035]102,每当乒乓RAM其中之一存满,即通过DMA通道将数据搬移至软件部分(PS)的DDR3中。将图像分为上下两个部分,对应DDR3不同地址,双核ARM分别处理各部分的数据。当整幅图像数据都转移至DDR3后,完成原始数据接收与缓存步骤。
[0036]103,双核ARM操作需要频繁的从DDR3中读写数据,因此需要同时存在多个数据缓存地址空间。针对ARMO后续处理任务,划分DDR3地址空间数组名为:0rgimgl、g_AveOrg、L1、SobelM ;针对ARMl后续处理任务,划分DDR3地址空间数组名为:0rgimgl_l、0rgimgl_2、g_Ave0rg_l、Ll_l、Ll_2、SobleM_l。为了最大限度利用 DDR3 存储能力,各个地址空间在不同步骤间复用。
[0037]步骤二、均值滤波:利用双核ARM分别对DDR3中存储图像数据的上、下部分进行均值滤波处理;均值滤波采用并行处理流程。
[0038]201,均值滤波使用的是3X3的模板,故从DDR3读取数据进行处理时,存储于0rgimgl_l中的下半部分图像需要与存储于Orgimgl中的上半部分图像重叠一行,即下半部分图像的第一行数据是上半部分图像的最后一行数据。
[0039]202,ARMO首先设置标志位C0MM_VAL为I,然后ARMO对上半部分图像执行均值滤波操作,结果存至g_Ave0rg ;同时ARMl对下半部分图像执行均值滤波操作,结果存至g_Ave0rg_lo当ARMl对下半部分图像处理完毕后,将标志信号清O。ARMO对上半部分图像处理完毕后,查询标志信号的值,如果标志信号的值为1,则处于等待状态;如果为0,则均值滤波处理结束,ARMO继续下面的操作。
[0040]203,均值滤波结束后,为方便下一步的双核处理,将存储于g_Ave0rg和g_Ave0rg_l中的均值滤波后的结果分别复制到L1、L1_1地址空间。
[0041]步骤三、双核ARM实现粗目标的提取:对粗目标的提取包括基于Sobel梯度算子的粗目标的提取和基于对比度拉伸变换的粗目标的提取。由于用这两种方法处理数据期间没有数据之间的交互,故可用ARMO实现基于Sobel梯度算子的粗目标的提取和用ARMl实现基于对比度拉伸变换的粗目标的提取,两者并行执行,再将结果合并即为粗目标候选区。
[0042]如图2所示,该步骤实施过程如下:
[0043]301,首先ARMO设置标志信号C0MM_VAL的值为I,从DDR3g_Ave0rg空间中读取上半部分图像的均值结果,进行基于Sobel梯度算子的粗目标的提取操作,结果存放回Orgimgl0同时ARMl对从DDR3g_Ave0rg空间中读取均值结果进行基于对比度拉伸变换的粗目标提取操作,结果存放至LI中。当ARMl完成基于对比度拉伸变换的粗目标的提取之后,将标志信号清O ;当ARMO完成基于Sobel梯度算子的粗目标的提取之后,检查标志信号的值,如果标志信号的值为1,则处于等待状态;如果为0,继续下面步骤。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1