一种基于FPGA的低空目标跟踪系统的制作方法

文档序号:12906791阅读:167来源:国知局

本发明涉及一种空中目标跟踪技术,特别涉及一种基于fpga的低空目标跟踪系统。



背景技术:

低空空域的逐步开放,低空飞行的多样化和灵活性使飞行安全问题凸现,需要空管系统加强对低空飞行器的有效跟踪监视。低空雷达跟踪作为一种主要机场场面监视技术,对低空和超低空目标进行跟踪时受多径效应等影响,跟踪结果不可靠。基于视觉的监视系统利用图像检测和跟踪目标,具有很强的抗干扰能力,对环境依赖性小,可以辅助雷达监视低空目标,提高系统的可靠性。现有的视觉跟踪系统有基于pc机的视觉跟踪系统和基于高速dsp、arm等嵌入式处理器的视觉跟踪系统,基于pc机的视觉跟踪系统通过usb或pci图像采集卡将摄像机的视频输入计算机,借助于计算机上的视频图像处理程序实现运动目标的检测。基于高速dsp、arm等嵌入式处理器的视觉跟踪系统,在dsp或arm处理器内编程实现目标检测。这两种系统采用处理器串行处理的方式实现视频图像处理算法,进而实现目标检测和跟踪。

为快速准确捕获和稳定跟踪低空目标,要求低空目标跟踪系统具有较高的可靠性和实时性。通常pc机体积庞大,可靠性和便携性较差,dsp或arm处理器处理采用串行处理方式实现图像处理算法,难以实时处理包含巨大数据量的图像数据,跟踪实时性难以满足应用要求。



技术实现要素:

本发明一种基于fpga的低空目标跟踪系统,用于解决上述现有技术的问题。

本发明一种基于fpga的低空目标跟踪系统,其中,包括:图像采集模块、预处理模块、目标分割模块、目标定位模块、通信模块和云台控制模块;图像采集模块,用于对视频解码芯片进行初始化配置,配置成功后,视频解码芯片输出像素同步时钟和视频数据;图像采集模块对视频解码芯片总线上的数据格式解码提取视频场、行及有效像素数据,并从中取出像素灰度值;图像采集模块将像素灰度值和灰度时钟输出给预处理模块,在预处理模块内将数据存入两级fifo缓存,将要处理的像素及其邻域值寄存,组成滤波窗口,每个灰度时钟更新一次fifo及寄存器内数据,由此得到新的滤波窗口,滤波窗口内数据经排序和选择运算得到滤波中值;目标分割模块,用于进行子窗口区域平均灰度值计算、动态双阈值计算以及二值化分割;目标定位模块,用于进行形心计算和预测;通信模块,用于将目标形心坐标发送,发送形心坐标的时间是在前一帧图像处理完毕和后一帧采集开始之前的间隙之间执行,不影响视频图像采集和处理的时间;云台控制模块,用于根据目标的形心位置,控制云台转动,将目标控制在摄像机的视野中心。

根据本发明的基于fpga的低空目标跟踪系统的一实施例,其中,预处理模块的滤波过程具体包括:选取一个3×3的窗口,然后对窗口内数据排序取中值;步骤1:将3×3窗口中每一列3个数据分别按升序排列,每一列3个数值的最小值放新的3×3窗口的第一行,每一列的中值放在第二行,每一列的最大值放在第三行,得到一个新的3×3窗口;步骤2:求经步骤1计算后的3×3窗口第一行数据中最大值,第二行数据的中值,第三行数据的最小值;步骤3:求步骤2计算输出的三个值的中值,即为3×3窗口的中值。

根据本发明的基于fpga的低空目标跟踪系统的一实施例,其中,目标分割模块,对目标分割之前,先在图像中选取一个跟踪子窗口,只处理跟踪子窗口内的图像,认为子窗口外区域为背景区域,以排除地面物体干扰,平均灰度计算是使用一个32位宽的寄存器存储灰度值累加和,24位宽的寄存器存储像素个数,一帧图像采集完后,通过一次除法运算即得到子窗口区域平均灰度值,得到平均灰度值以后,由平均灰度值加调整因子得到阈值上限,平均灰度值减去调整因子得到阈值下限,阈值上限和阈值下限作为下一帧的分割阈值;二值化分割,是将介于阈值下限和阈值上限之间的区域被划分为背景区域,将背景区域像素值用0表示;大于阈值上限和小于阈值下限的区域被划分为目标区域,将目标区域像素值用255表示,通过背景区域和目标区域划分即得到二值化图像,二值化分割后将得到二值化图像输出。

根据本发明的基于fpga的低空目标跟踪系统的一实施例,其中,系统功能集成在一片fpga内实现,各模块间并行工作,fpga外接100mhz晶振,通过内部锁相环pll倍频至200mhz作为处理模块主时钟。

根据本发明的基于fpga的低空目标跟踪系统的一实施例,其中,图像采集模块通过模拟i2c总线对视频解码芯片。

根据本发明的基于fpga的低空目标跟踪系统的一实施例,其中,视频解码芯片输出27mhz像素同步时钟和itu656yuv4:2:2格式视频数据。

根据本发明的基于fpga的低空目标跟踪系统的一实施例,其中,图像采集模块通过摩尔状态机实现对视频解码芯片总线上的数据格式解码提取视频场、行及有效像素数据,并从中取出像素灰度值,灰度时钟为13.5mhz,灰度图像分辨率大小为720×576。

根据本发明的基于fpga的低空目标跟踪系统的一实施例,其中,预处理模块采用两个行缓存fifo设计生成3×3像素的滤波窗口,fifo的深度设置为与每行图像的像素点个数相同的720,每个像素的灰度值的范围为0~255,图像采集模块将像素灰度值和13.5mhz灰度时钟输出给预处理模块,在预处理模块内将数据存入两级fifo缓存,将要处理的像素及其邻域8个值寄存,组成一个3×3像素的滤波窗口,每个灰度时钟更新一次fifo及寄存器内数据,由此得到新的3×3滤波窗口内的9个数据,滤波窗口内9个数据经排序和选择运算得到滤波中值,完成一次中值操作时间为20ns,小于一个像素采集周期的74ns,像素采集和滤波操作同步完成。

根据本发明的基于fpga的低空目标跟踪系统的一实施例,其中,目标定位模块,当跟踪窗口内数据分割完成后,由行累加和除以目标像素个数得到目标形心的x方向像素坐标,由列累加和除以目标像素个数得到目标形心的y方向像素坐标,计算得到t时刻目标的形心位置(xt,yt),形心预测功能是比较(xt,yt)与前一帧位置(xt-1,yt-1),如果两者x方向或y方向差值大于设定阈值90,则采用预测值代替计算值,预测值的计算采用两点线性滤波器计算,通过公式(1)进行计算,公式(1)中,(xt-1,yt-1),(xt-2,yt-2)为前两帧形心坐标,计算得到形心位置坐标后将坐标值发送给通信和云台控制模块6;

根据本发明的基于fpga的低空目标跟踪系统的一实施例,其中,还包括:sram控制模块,用于实现sram读写操作,控制将图像数据写入sram或从sram读出,两片sram轮流使用,实现乒乓操作。

本发明的基于fpga的低空目标跟踪系统,利用fpga强大的并行处理能力,将目标检测算法转化为内部相互独立的硬件逻辑电路,实现高速可靠的并行处理,克服了原有系统实时性和可靠性较差的缺陷。基于fpga的目标跟踪算法包括图像预处理、目标检测和跟踪三个部分:首先采用快速中值滤波对图像降噪,再通过动态双阈值分割算法检测目标,最后结合形心计算和预测确定目标位置并控制云台跟踪目标。

附图说明

图1是本发明技术方案的fpga功能模块框图。

具体实施方式

为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。

图1是本发明技术方案的fpga功能模块框图,如图1所示,本发明提出的基于fpga的低空目标跟踪系统包括下列模块:图像采集模块1、预处理模块2、目标分割模块3、目标定位模块4、sram控制模块5、通信模块10和云台控制模块6。系统功能集成在一片fpga内实现,各模块间并行工作。fpga外接100mhz晶振,通过内部锁相环pll倍频至200mhz作为处理模块主时钟。

如图1所示,图像采集模块1通过模拟i2c总线对视频解码芯片9,型号saa7113h进行初始化配置,配置成功后,视频解码芯片9输出27mhz像素同步时钟和itu656yuv4:2:2格式视频数据。图像采集模块1通过摩尔状态机实现对视频解码芯片9总线上的数据格式解码提取视频场、行及有效像素数据,并从中取出像素灰度值,灰度时钟为13.5mhz,灰度图像分辨率大小为720×576。

如图1所示,预处理模块2采用两个行缓存fifo设计生成3×3像素的滤波窗口,fifo的深度设置为与每行图像的像素点个数相同的720,fifo的位宽设置为8,表示每个像素的灰度值的范围为0~255。图像采集模块1将像素灰度值和13.5mhz灰度时钟输出给预处理模块2,在预处理模块2内将数据存入两级fifo缓存,同时将要处理的像素及其邻域8个值寄存,组成一个3×3像素的滤波窗口。每个灰度时钟更新一次fifo及寄存器内数据,由此得到新的3×3滤波窗口内的9个数据。滤波窗口内9个数据经排序和选择运算得到滤波中值,完成一次中值操作时间为20ns,小于一个像素采集周期的74ns,像素采集和滤波操作同步完成。

滤波算法首先选取一个3×3的窗口,然后对窗口内数据排序取中值。本发明采用一种基于分行分列比较的快速中值滤波算法,其步骤为:

步骤1:将3×3窗口中每一列3个数据分别按升序排列,每一列3个数值的最小值放新的3×3窗口的第一行,每一列的中值放在第二行,每一列的最大值放在第三行,得到一个新的3×3窗口;

步骤2:求经步骤1计算后的3×3窗口第一行数据中最大值,第二行数据的中值,第三行数据的最小值;

步骤3:求步骤2计算输出的三个值的中值,即为3×3窗口的中值。

目标分割模块3实现三个功能:子窗口区域平均灰度值计算,动态双阈值计算,二值化分割。对目标分割之前,先在图像中选取一个跟踪子窗口(窗口大小为540×420像素值),只处理跟踪子窗口内的图像,认为子窗口外区域为背景区域,以排除地面物体干扰。平均灰度计算功能是使用一个32位宽的寄存器存储灰度值累加和,24位宽的寄存器存储像素个数。一帧图像采集完后,通过一次除法运算即得到子窗口区域平均灰度值。得到平均灰度值以后,由平均灰度值加调整因子得到阈值上限,平均灰度值减去调整因子得到阈值下限,阈值上限和阈值下限作为下一帧的分割阈值。二值化分割功能是将介于阈值下限和阈值上限之间的区域被划分为背景区域,将背景区域像素值用0表示;大于阈值上限和小于阈值下限的区域被划分为目标区域,将目标区域像素值用255表示,通过背景区域和目标区域划分即得到二值化图像。二值化分割后将得到二值化图像输出给目标定位模块4。fpga目标分割实现主要使用加法、减法和3值比较等简单操作,仅使用一次除法操作,易于硬件实现。

如图1所示,目标定位模块4主要完成形心计算和预测的功能。使用两个寄存器分别统计目标像素行、列累加和,一个寄存器统计目标像素个数。当跟踪窗口内数据分割完成后,由行累加和除以目标像素个数得到目标形心的x方向像素坐标,由列累加和除以目标像素个数得到目标形心的y方向像素坐标,计算得到t时刻目标的形心位置(xt,yt)。形心预测功能是比较(xt,yt)与前一帧位置(xt-1,yt-1),如果两者x方向或y方向差值大于设定阈值90,则采用预测值代替计算值,预测值的计算采用两点线性滤波器计算,计算公式见公式(1),公式(1)中,(xt-1,yt-1),(xt-2,yt-2)为前两帧形心坐标。计算得到形心位置坐标后将坐标值发送给通信和云台控制模块6。

如图1所示,通信模块10通过串口将目标形心坐标发送至pc机7保存,串口通信使用1位起始位,8位数据位,1位停止位,115200的通信波特率,发送完成后通知图像采集模块等待采集下一帧图像。发送形心坐标的时间是在前一帧图像处理完毕和后一帧采集开始之前的间隙之间执行,不影响视频图像采集和处理的时间。

如图1所示,云台控制模块6根据目标的形心位置,控制云台转动,将目标控制在摄像机的视野中心。具体实现是通过在fpga内部定义四个控制信号,分别是俯仰方向朝上转动、俯仰方向朝下转动,水平方向朝左转动和水平方向朝右转动信号,同一时刻俯仰朝上和俯仰朝下方向的控制信号只有一个有效,水平朝左和水平朝右方向的控制信号只有一个有效,通过4个方向的控制信号实现对目标的跟踪。sram控制模块中例化两个sram控制器,用于实现sram读写操作,控制将图像数据写入sram或从sram读出,两片sram轮流使用,实现乒乓操作。

在算法硬件实现模块内处理算法以并行流水线方式执行,各个模块按算法流程级联,整个处理过程中的采集与处理同步完成。

本发明在fpga收到图像数据后,通过提取图像中的灰度信息,对图像进行预处理,目标分割和目标定位,利用fpga强大的并行处理和流水线处理能力,fpga内部可以实现各个模块同时工作,采用流水线处理方式对同一帧图像并行进行预处理、目标分割和定位处理,从而快速地实现目标跟踪。

本发明所述基于fpga的视觉跟踪系统,fpga采用200mhz主时钟,利用fpga强大的并行处理能力通过图像采集、预处理、目标分割和定位并行化处理,达到了25帧/秒处理帧率。本发明采用基于fpga的小型化系统,全硬件实现低空目标的检测和跟踪,具有较好的实时性和可靠性。

本发明的基于fpga的低空目标跟踪系统,利用fpga强大的并行处理能力,将目标检测算法转化为内部相互独立的硬件逻辑电路,实现高速可靠的并行处理,克服了原有系统实时性和可靠性较差的缺陷。基于fpga的目标跟踪算法包括图像预处理、目标检测和跟踪三个部分:首先采用快速中值滤波对图像降噪,再通过动态双阈值分割算法检测目标,最后结合形心计算和预测确定目标位置并控制云台跟踪目标。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1