CN109859178A - 一种基于fpga的红外遥感图像实时目标检测方法 - Google Patents
一种基于fpga的红外遥感图像实时目标检测方法 Download PDFInfo
- Publication number
- CN109859178A CN109859178A CN201910049352.9A CN201910049352A CN109859178A CN 109859178 A CN109859178 A CN 109859178A CN 201910049352 A CN201910049352 A CN 201910049352A CN 109859178 A CN109859178 A CN 109859178A
- Authority
- CN
- China
- Prior art keywords
- data
- fpga
- algorithm
- remote sensing
- infrared remote
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Abstract
本发明公开了一种基于FPGA的红外遥感图像实时目标检测方法,该方法主要针对现有舰船检测算法漏检率高、虚警多以及鲁棒性差等问题提出了解决方法。主要由基于梯度卷积模型的粗检测模块、基于傅里叶频谱和SVM的精检测模块组成。本发明在充分分析红外遥感图像中舰船目标自身以及典型虚警特征的基础上,选择能够有效区分舰船目标与典型虚警的可用特征,并结合支持向量机分类算法,构建准确、简单的目标分类模型,结合二维傅里叶变换实现虚警的快速、准确剔除。同时本发明能够减少FPGA逻辑资源和存储资源的消耗,发挥FPGA并行控制优势,从而在占用较少FPGA资源情况下完成高精度目标检测。
Description
技术领域
本发明涉及数字图像处理技术领域,涉及一种基于FPGA的红外遥感图像实时目标检测方法,特别涉及一种红外遥感图像实时目标检测方法在硬件平台上的实现方法。
背景技术
随着我国高分辨率对地观测系统重大专项的实施,红外遥感图像获取技术必将迎来新的发展机遇,有望形成高分辨率、全天时、实时对地观测能力,获得越来越多的红外遥感图像。如何从海量的红外遥感图像中自动、准确、快速地识别出目标,已经成为制约我国航天侦察装备充分发挥军事效能的技术瓶颈,迫切需要科研人员提出有效的解决办法。由于受到海浪、海面杂波以及太阳光反射等多种因素的影响,使得海面场景变得极为复杂,极大的增加了舰船目标检测的难度。
红外遥感舰船检测方法的主要实现方式主要可以分为以下四类:(1)基于灰度阈值分割和灰度统计,这类方法适用于海面纹理均匀,水体灰度较低且舰船与海面对比度较大的情况,但对一些复杂情况如存在大海浪、云层遮挡、舰船黑白极性等情况时,很容易导致虚警,适应能力和鲁棒性较差,检测准确率不高;(2)基于分形模型的舰船检测方法,其利用自然背景和人造背景分形特征的不同进行检测,能够兼顾局部的随机性和全局的规律性,检测结果连通性较好,但由于利用模型表征图像信息而非利用灰度信息,易丢失目标的形状信息,且一般计算复杂度较高,在有云雾干扰情况下,背景自相似性降低,分形模型拟合误差较大;(3)基于图形变换实现检测功能的算法,能够对目标进行多分辨表示,更加符合人眼视觉特征,但多分辨分解只是对低频进行分解,对目标信息所存在的高频则会忽略,虽然目前通过小波变换实现的检测算法能够克服这一缺点,但是计算量大且检测效果不佳。(4)基机器学习和深度学习方法,如利用聚类算法、SVM等将疑似舰船目标分类,利用SSD、YOLO等模型进行训练能够使得检测率较高,虚警率较低,但时将检测算法、聚类算法、模型训练参数等共同移植到嵌入式硬件平台上时,将会消耗大量的存储和计算资源,对硬件实现来说难度比较大。
由于舰船检测算法过程相对比较复杂,当在嵌入式硬件平台上实现时,需要消耗大量的存储、计算单元,这就对硬件平台提出了较高的要求。目前,在嵌入式硬件平台的实现检测算法,按核心处理器件分主要有四类:(1)基于DSP的目标检测方法,但是此方法功耗较大,吞吐量较小,较难实现;(2)基于FPGA的目标检测方法,此方法普遍具有程序开发难度大、开发周期长的缺点;(3)基于嵌入式GPU的检测方法,此方法相较方法一来说实现起来比较容易,但是同样具有高功耗的缺点;(4)基于异构平台架构的目标检测方法,此方法对硬件平台的部署有一定程度的要求。
为设计具有较高处理性能和具备灵活接口扩展能力的图像处理系统,使用FPGA为处理核心的研究逐渐增多。其中,FPGA可以满足多数图像处理应用中的接口需求,并且通过寄存器和组合逻辑实现较强的时序控制能力,虽然FPGA在完成复杂图像处理或目标检测算法时,普遍具有程序开发难度大、开发周期长的缺点,但是FPGA同样具有并行程度高、工作资源功耗低、吞吐量较高等优点。如何实现实时快速地进行图像处理算法,增强时序控制能力并实现图像处理算法的某些复杂功能,有效节省算法在FPGA上逻辑资源和存储资源并降低FPGA上的算法设计复杂度显得尤为重要。
因此,研究一种针对现有舰船检测算法漏检率高、虚警多、鲁棒性差、FPGA资源消耗过高等问题的基于FPGA的红外遥感图像实时目标检测算法具有重要意义。
发明内容
有鉴于此,本发明的目的在于提供一种基于FPGA的红外遥感图像实时目标检测方法,针对现有舰船检测算法漏检率高、虚警多、鲁棒性差及资源消耗高等问题,以FPGA为核心实现图像处理工作及检测核心功能控制,片上的算法模块之间的并行数据交互传输能够保障算法形成高效流水线。该方法能够发挥FPGA优势的同时,有效提升算法吞吐率,并减少检测过程中FPGA逻辑资源和存储资源的消耗。为实现上述目的其具体方案如下:
本发明公开了一种基于FPGA的红外遥感图像实时目标检测方法的自动化标定方法,包括如下步骤:
步骤一、红外遥感图像数据进入FPGA存入DDR中进行数据缓存,通过对DDR进行地址划分将每幅图像存入相应的DDR区域中;根据输入粗检测模块和精检测模块的图像块尺寸的固定要求,即可计算所要获取的图像块的数据在DDR中存放的地址位置,并通过地址控制从DDR相应区域读取固定尺寸的图像块数据进行归一化算法运算,将归一化运算输出的结果作为粗检测模块和精检测模块的输入。如,存放在DDR中的红外遥感图像大小是512*512,检测输入模块的图像块大小为256*256,则可以通过地址控制从512*512的大图中截取相应的256*256的图像数据;
步骤二、对输入粗检测模块的图像块采用双线性插值算法进行缩放,根据不同的缩放因子得到的图像数据进行x轴方向和y轴方向上的梯度运算,并与预设的若干卷积模板进行卷积,得到卷积输出矩阵;
步骤三、对得到的卷积输出矩阵的每个坐标点对应的值进行遍历,与预设的粗检测阈值进行比较,若坐标点对应的值大于粗检测阈值,则当前坐标点为疑似目标点坐标,反之,则为非目标点坐标;通过阈值比较的方式能够实现舰船潜在区域的准确定位,输出疑似目标点坐标与长宽,并通过非极大值抑制算法进行相邻疑似目标点合并;
步骤四、以合并后的疑似目标点坐标为中心,以合并后的疑似目标点长宽为步长从步骤一归一化算法输出的结果中取出对应区域的图像块,进行双线性插值缩放成正方形图像块;
步骤五、对正方形图像块进行区域划分,根据划分后的区域数据进行二维傅里叶变换,按二维傅里叶变换时序流水输出数据信息,并与预设的若干SVM模板进行点乘运算,输出十进制数值;
步骤六、将SVM运算得到的十进制的输出结果与预设的精检测阈值进行比较,若所述十进制输出结果的值大于精检测阈值,则输出该十进制结果所对应的输入目标点坐标为所求的舰船目标,反之,则为虚警并进行剔除;通过非极大值抑制算法对得到的若干舰船目标点进行相邻点合并,输出最终的舰船目标信息,并从DDR中获取切片数据。
优选的,所述步骤一中,利用FPGA内部的存储资源以及VHDL的可操作性和高灵活性,在FPGA内部构造双端口RAM或缓存FIFO,必要时,可以设计双端口RAM乒乓模式构成二级缓存,按照写操作时序依次交替读出缓存数据,实现传输速率与存储速率的良好匹配,保证数据的完整性和正确性。
优选的,所述步骤二中,双线性插值算法的设计过程通过使用商的位运算及余数的位运算实现在FPGA上浮点型数据的表示。
优选的,所述步骤三中,非极大值抑制算法通过设计双端口RAM乒乓模式构成二级缓存,按照写操作时序依次交替读出缓存坐标数据。实现传输速率与存储速率的良好匹配,保证坐标进行非极大值抑制过程的数据完整性和正确性。
优选的,所述步骤四中,根据疑似目标点长宽进行按比例放大,以放大因子分别为1、1.5、2、2.5求出的长宽为步长,从归一化算法输出的结果中获取四种大小的图像块数据,实现舰船潜在区域全覆盖。
优选的,所述步骤五中,在一维FFT变换IP核基础上,搭建二维FFT变换的实现架构,分解为先对各行变换,再对矩阵结果进行列变换,最终得到二维数据的频谱值;根据行变换和列变换中对各行列计算的相对独立,采用了两个一维FFT单元并行进行两个行或列的变换操作,使用双口RAM存储待变换的图像数据,即步骤四中得到的正方形图像块数据及变换结果,使得两个FFT模块能够同时访问同一地址空间内的数据。
优选的,所述步骤六中,输出的切片数据缓存在FIFO中,通过算法控制模块主状态机对处理流程进行控制,实现粗检测模块、精检测模块分别与切片输出模块的乒乓控制,该缓存乒乓架构设计可以提高系统的数据吞吐量,同时增加了数据缓冲延迟。
与现有技术相比,本发明技术方案的有益效果是:
1、本发明利用FPGA内部的存储资源及算法流程控制,灵活构造双端口RAM、缓存FIFO及二级缓存结构,在图像处理过程中,得到的数据为像素流的形式,而不是整幅图像,因此需要缓存那些需要用到的周围像素,有效地减少FPGA上逻辑资源与存储资源的消耗。通过进行实验测试,比起不使用本方法或此类方法,能够节省资源3.1倍左右。(分层卷积的缩放因子为2/1.25/1.25,流水线执行算法优化缓存W*H+0.5*W*H+0.8W*H+0.8W*H)
2、本发明采用数据“流动”输入与输出模式模式,以寄存器块在模块内部或模块间的输入输出数据中从左向右、从上到下地“流动”,并行实现算法的实时处理功能,即可以在一个像素时钟周期内进行多个模块的算法数据的输入与输出,解决了系统数据吞吐量的瓶颈问题,极大地提升数据吞吐量,有效地减少算法运行所需时钟周期。并且通过高度并行性算法设计,将图像预处理、图像粗检测、图像精检测形成高效流水线,可以增加系统的吞吐量,极大地提高系统整体时间效率。经大量实验测试,对于分辨率为W*H的红外遥感图像,在时钟频率100MHz下,比起不使用本方法或此类方法,最终能够提升约log2(W*H)倍的处理速率。
3、本发明采用梯度运算与卷积运算对潜在目标区域进行粗检测,并通过二维傅里叶变换与支持向量机SVM对疑似目标点进行二次校验,分类精度高、计算复杂度适中,对一些复杂情况如存在大海浪、云层遮挡、舰船黑白极性等情况时,能够有效区分舰船目标与虚警目标,降低虚警率,提升算法的鲁棒性。经大量实验证明,本虚警剔除算法的虚警率仅为17.02%,同时检测精度可达99.2%。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1附图为本发明所述的红外遥感图像实时目标检测方法流程图;
图2附图为本发明所述的红外遥感图像实时目标检测方法模块周期和DDR读取时序图;
图3附图为本发明所述的红外遥感图像实时目标检测方法粗检测流程图;
图4附图为本发明提供的6种线性卷积模板图像;
图5附图为本发明所述的红外遥感图像实时目标检测方法精检测流程图;
图6附图为本发明提供的6种线性SVM模板图像。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本红外图像目标检测算法的设计和实现主要可以分为4个部分:粗检测算法和精检测算法的软件设计,粗检测算法和精检测算法的硬件设计与优化加速,总体硬件系统优化加速。现结合型号为XilinxXC7K410T的FPGA加以详细说明。
本发明实施例提供了一种基于FPGA的红外遥感图像实时目标检测方法,所述方法包括如下几个步骤:
1、粗检测算法和精检测算法的软件设计
发明实施例提供了一种基于FPGA的红外遥感图像实时目标检测方法,所述方法的软件设计包括如下几个步骤:
①对输入图像进行预处理,获取输入图像的海陆信息,本算法通过对预处理模块输出的海陆信息确定海域区域并进行目标识别与检测,待检测海域区域大小为w*h(像素),其中w为图像宽度,h为图像高度;
②通过图像宽度w和h对待检测海域区域进行块划分,进行图像块分割的步长为step,块大小为blocksize,一般地,步长step的取值为1到blocksize。每个相邻块的重叠区域为blocksize-step,显然,当step取值为1时,滑动窗口的步长为1,每个相邻块的重叠区域为blocksize-1;当step取值为blocksize时,滑动窗口的步长为blocksize,每个相邻块的无重叠区域。具体使用过程中可以通过调节step和blocksize的参数来确定。
首先对x轴方向上的块进行分割后,求出y轴方向上分割后的的块数xNum。如公式1所示:
xNum=(w-blocksize)/step+1 1)
然后对y轴方向上的块进行分割后,求出y轴方向上分割后的的块数yNum。如公式2所示:
yNum=(h-blocksize)/step+1 2)
③对块划分后的各个块分别进行检测,每个块的大小为step*step(像素)。进入检测模块前,首先需要对数据进行归一化操作,输入图像数据最大像素点pix_max,输入图像数据最小像素点pix_min,输入图像数据像素点pix_in,归一化算法的输出对应位置的像素值如下公式3所示:
Pix_real=(pix_in-pix_min)/(pix_max-pix_min) 3)
④归一化算法的输出step*step即为检测模块的输入部分,在检测时,需要对输入的归一化数据进行双线性插值分层运算,根据缩小因子β(取值为2、1.25、1.25)求取缩小后的三层数据lav1、lav2、lav3。其中,lav1的大小为(step/2)*(step/2),lav2的大小为(step/2.5)*(step/2.5),lav3的大小为(step/3.125)*(step/3.125),单位均为像素。对三层数据lavn分别进行粗检测与精检测算法。
⑤对lavn进行梯度运算,运算时以3*3区域进行,主要包括x方向上的梯度运算及y方向上的梯度运算,并将最终得到的对应坐标的梯度运算结果进行均值运算,每一层求得的梯度运算结果为Txn(n取值为1-3)。其中,x方向上的3*3梯度模板为Kx,y方向上的3*3梯度模板为Ky,如下公式4所示:
⑥对Txn进行卷积运算,运算时以11*11区域进行,根据舰船头部朝向与水平夹角的不同,总共使用了6种模板图像Cxn(n取值1-6)参与Txn卷积运算。Txn分别于6个卷积模板进行卷积后获得6个输出矩阵,比较各个矩阵相同位置像素值,取最大值并输出,最终获得一个卷积最大值结果的矩阵Conv并输出。卷积运算如下公式5所示:
Conv=Max(conv(Txn,Cxn)) 5)
⑦根据Conv的各个像素的值与粗检测阈值进行比较,大于粗检测阈值的则视为疑似舰船目标,输出坐标信息和舰船长宽(舰船长宽和卷积模板大小相同,为11);否则,视为非目标点。对所有获取的疑似舰船目标的坐标信息和舰船长度进行原图定位,确定其在图像分块前的原图中的坐标信息及舰船长宽,并进行非极大值抑制算法合并相邻点求出最终的疑似目标点信息(x,y,w,h)。
假设Conv是第二层分层后的卷积运算结果,则分层缩小因子为2.5,若坐标原图定位前坐标为(x1,y1),长宽为11,则原图定位后的坐标信息(x2*2.5,y2*2.5)及舰船长宽(27.5,27.5)。
⑧归一化算法的输出step*step与粗检测模块的输出(x,y,w,h)即为精检测模块的输入部分,为了对舰船目标进行全覆盖,通过每个目标点信息(x,y,w,h)获取四个目标点信息。Point1=(x,y,w,h),Point2=(x,y,w*1.5,h*1.5),Point3=(x,y,w*2,h*2),Point4=(x,y,w*2.5,h*2.5)。根据全覆盖获得的若干疑似目标点信息分别从归一化算法的输出step*step相应区域获取与长宽信息匹配的图像块Rx进入后续算法。
⑨对Rx进行六部分的块分割,提取疑似目标区域特征,并对每一部分的目标区域特征进行二维傅里叶变换,并进行取模运算,将结果以数组形式vec表示。将得到的数组分别与SVM模块中的6个分类模板进行点乘累加,获取6个点乘累加结果并进行比较,取最大值与精检测模块阈值进行比较,大于此阈值的则视为舰船目标,并输出最终的坐标信息和舰船长宽;否则,视为虚警并剔除。二维傅里叶变换如下公式6所示,取模操作如下公式7所示:
temp=FFT2D(Rx,w(Rx),h(Rx)) 6)
temp_mol=sqrt(pow(temp.real,2),pow(temp.imagin,2)) 7)
其中,temp表示Rx经过二维傅里叶变换后的输出结果,temp.real二维傅里叶变换的实部部分,temp.imagin表示二维傅里叶变换的虚部部分,temp_mol表示对二维傅里叶变换进行取模运算,pow表示开方。
⑩对经过二维傅里叶变换和SVM运算后求得的舰船坐标进行非极大值抑制运算,合并相邻舰船目标点,获得最终的有效舰船目标信息。
2、粗检测算法和精检测算法的硬件设计与优化加速
本发明实施例提供了一种基于FPGA的红外遥感图像实时目标检测方法,所述方法的硬件设计与优化加速包括如下几个步骤:
①红外遥感图像数据进入FPGA存入DDR中进行数据缓存,通过对DDR进行地址划分将每幅图像存入相应的DDR区域中。根据输入粗检测模块和精检测模块的图像块尺寸的固定要求,即可计算所要获取的每个输入图像块的数据在DDR中存放的地址位置,并通过地址控制从DDR相应区域读取需要的尺寸的图像块进行归一化算法运算,将归一化运算输出的结果作为粗检测模块和精检测模块的输入。如,存放在DDR中的红外遥感图像大小是512*512,检测输入模块的图像块大小为256*256,则可以通过地址控制从512*512的大图中截取相应的256*256的图像数据。
步骤①中,对DDR进行地址划分,以红外遥感图像数据大小pic为单位划分为高位地址ddr1和低位地址ddr0,高位地址和低位地址能够分别在同一时钟周期进行读写操作。低位地址划ddr0分为area1:地址为0~pic-1,area2:地址为pic~2pic-1,高位地址ddr1划分为area3:地址为“16#xxxx#”~“16#xxxx#”+pic-1,area4:地址为“16#xxxx#”+pic~“16#xxxx#”+2pic-1。其中,xxxx为高位地址的起始地址,根据需求可以进行初始化设置。
DDR缓存区域流程为area1->area3->area2->area4->area1->…,检测模块(包括粗检测模块和精检测模块)在DDR缓存一幅图后开始执行,切片输出模块在DDR缓存两幅图后开始执行,三部分通过主状态机控制乒乓结构,实现算法模块并行化操作。算法与DDR进行交互的流程如下:
第一幅图像存入area1中,进行图像预处理;
第二幅图像存入area3中,进行图像预处理,此时第一幅图进行粗检测;
第三幅图想存入area2中,进行图像预处理,此时第二幅图进行粗检测,第一幅图进行精检测;
第四幅图像存入area4中,进行图像预处理,此时第三幅图进行粗检测,第二幅图进行精检测;
第五幅图像存入area1中,进行图像预处理,此时第四幅图进行粗检测,第三幅图进行精检测。
第N幅图像存入DDR中,进行图像预处理,此时第N-1幅图进行粗检测,第N-2幅图进行精检测。
以上是对步骤一总体乒乓结构及控制流程进行说明,本发明中,当图像数据缓存入DDR中后,根据图像在DDR中存放的地址取出相应的块,块的大小根据软件算法的步长step来确定。进入检测模块时,首先需要对数据进行归一化操作:输入图像数据最大像素点pix_max,输入图像数据最小像素点pix_min,输入图像数据像素点pix_in,归一化算法的输出像素为(pix_in-pix_min)/(pix_max-pix_min)。由于该值为小于1的浮点型数据,故在FPGA上通过将目标像素值进行位运算放大,得到的最终归一化数据作为粗检测模块和精检测模块的输入图像数据块,此时同样需要对粗检测模块的阈值和精检测模块的阈值进行等倍放大,方便之后的比较。
②对输入粗检测模块的图像块采用双线性插值算法进行缩放,根据不同的缩放因子得到的图像数据进行x轴方向和y轴方向上的梯度运算,并与已知的若干卷积模板进行卷积,得到卷积结果。
步骤②中,粗检测模块的输入图像块进行3级分层缩放,若输入图像块大小为n*n,则第一层缩放后的图像块大小为(n/2)*(n/2),第二层缩放后的图像块大小为(n/2/1.25)*(n/2/1.25),第三层缩放后的图像块大小为(n/2/1.25/1.25)*(n/2/1.25/1.25)。对三层图像数据进行缓存,流水线形式进行x轴方向和y轴方向上的梯度运算,输出的三层图像大小分别为(n/2-2)*(n/2-2)、(n/2.5-2)*(n/2.5-2)、(n/3.125-2)*(n/3.125-2)。
通过对梯度运算输出结果进行串行输出,分别于预设的6种11*11的卷积模板(卷积模板是通过机器学习训练得到的参数模板,预先缓存在BRM中)进行卷积,并输出卷积结果,以图像矩阵的形式“流动”输出。
卷积运算是整个目标检测实现的重要步骤,通过硬件实现卷积运算过程时,需要找到精确实现卷积运算的方案:既不会占用太大的空间,又有足够快的速度在一个像素时钟完成目标区域的卷积运算。由于模板的大小为11*11,在做卷积运算的时候需要知道当前处理像素周围的像素,但在图像处理过程中,得到的数据为像素流的形式,而不是整幅图像,因此需要缓存那些需要用到的周围像素。
将目标像素周围的像素根据地址存储在11*11个寄存器中,当像素流的像素在整个存储块中“流动”的时候,寄存器块在整幅图像中将从左向右、从上到下地“流动”,通过这种方式,就会得到目标像素周围的像素。下一步就是通过存储在寄存器中的像素值与相应的卷积核权值进行卷积运算。由于卷积核中的数为常数,所以可以在一个像素时钟周期内,输入一个新的像素点,经过一小段延迟后输出卷积结果。如果不使用乒乓的话数据预处理模块会成为设计中限制系统数据吞吐量的瓶颈,通过缓存优化设计可以提高系统的数据吞吐量,同时增加了数据缓冲延迟。
③对得到的卷积输出矩阵的每个坐标点对应的值进行遍历,与预设的粗检测阈值进行比较,若坐标点对应的值大于粗检测阈值,则该坐标点为疑似目标点坐标,反之,则为非目标点坐标。通过阈值比较的方式能够实现舰船潜在区域的准确定位,输出疑似目标点坐标与长宽,并通过非极大值抑制算法进行相邻疑似目标点合并。
步骤③中,由于检测模块预处理阶段对输入的图像块进行了分层操作,故得到的疑似目标点可能存在于第一层、第二层或第三层图像中,并且疑似目标点的长和宽都是模板的大小11,因此需要将该疑似目标点还原到分层前的原图像中。即,若疑似目标点在第一层,则该目标点的真实长和宽应为11*2,若疑似目标点在第二层,则该目标点的真实长和宽应为11*2*1.25,若疑似目标点在第三层,则该目标点的真实长和宽应为11*2*1.25*1.25。
缓存疑似目标点的坐标以及还原后的长和宽,通过设计双端口RAM乒乓模式构成二级缓存,按照写操作时序依次交替读出缓存坐标数据,实现传输速率与存储速率的良好匹配,保证坐标进行非极大值抑制过程的数据完整性和正确性。
④以合并后的疑似目标点坐标为中心,以合并后的疑似目标点长宽为步长从归一化算法输出的结果中取出对应区域的数据块,进行双线性插值缩放成边长为32的正方形图像块。
步骤④中,输入数据为疑似目标点坐标(x和y)、疑似目标点长和宽(w和h),通过为了实现潜在目标区域全覆盖,对疑似目标点长和宽进行放大,得到以下几种校准长和宽:w和h、1.5*w和1.5*h、2*w和2*h、2.5*w和2.5*h。以疑似目标点坐标为中心,从DDR中取四个大小分别为w*h、1.5*w*1.5*h、2*w*2*h、2.5*w*2.5*h的图像块,进行双线性插值缩放成边长为32的正方形图像块。
由于通过一个疑似目标点坐标同时得到四个疑似目标点坐标,需要考虑到对时序的控制及缓存的优化过程,故通过VHDL的可操作性和高灵活性,在FPGA内部构造双端口RAM和缓存FIF0,实现对多个疑似目标点的缓存与流水线处理过程。
⑤实现对正方形图像块进行区域划分,根据划分后的区域数据进行二维傅里叶变换,按算法处理区域的先后顺序流水输出数据信息,并与预设的若干SVM模板进行点乘运算,输出十进制数值。
步骤⑤中,根据正方形图像块进行区域划分,所划分区域主要包括六个部分:第一部分为该正方形图像块全部区域、第二部分为该正方形图像块上部分区域(宽度为32,高度为8)、第三部分为该正方形图像块左部分区域(宽度为8,高度为32)、第四部分为该正方形图像块下部分区域(宽度为32,高度为8)、第五部分为该正方形图像块右部分区域(宽度为8,高度为32)、第六部分为该正方形图像块中间部分区域(宽度为16,高度为16)。通过数据流水线控制对六部分区域进行二位傅里叶变换。二维傅里叶变换通过两次一维傅里叶变换来实现。
设计中所用一维傅里叶变换计算单元为xilinx提供的IP核,对该模块发一个时钟周期的开始信号后,模块首先进入接收数据阶段,在拉高准备接收数据信号后,模块发出从零开始顺序增长到目标长度的地址序列,每个值持续一个时钟周期,用以对存储器寻址以接收数据实部和虚部数据,之后进入数据处理阶段,输出变换值以及地址序列值。
根据二维傅里叶变换的算法步骤、一维傅里叶变换模块的操作和图像数据的存储特点,需要设计傅里叶变换和控制模块用以完成一维傅里叶变换计算单元与存储器的数据交互和整个流程的控制。根据算法步骤所处阶段及二维矩阵数据的存储特点,对一维傅里叶变换模块发出的地址序列进行相应变换,及调整对应地址输出值的时序,以使一维傅里叶变换模块完成对相应数据的有效读取,同时,根据处理流程,控制模块设置主状态机和两个从状态机,分别完成主流程和对两个一维傅里叶变换计算单元的控制。
在精检测阶段,采用了线性SVM分类器,利用二维傅里叶变换提取疑似目标区域的频域特征,并对得到的复数结果进行取模操作。
⑥将SVM运算得到的十进制的输出结果与预设的精检测阈值进行比较,若该十进制输出结果的值大于精检测阈值,则求出该十进制结果所对应的输入目标点坐标为所求的舰船目标,反之,则为虚警并进行剔除。通过非极大值抑制算法对得到的若干舰船目标点进行相邻点合并,输出最终的舰船目标信息,并从DDR中获取切片数据。
步骤⑥中,考虑到不同舰船的形态对应有不同的频域特征,设计了6种不同的SVM模板,分别对应不同的舰船形态。通过将二维傅里叶变换得到的结果与SVM模板进行点乘,将得到的结果与精检测阈值相比较,若大于阈值,则认为其为舰船目标且进行相邻舰船目标点合并,输出切片,反之,则认为其为虚警且不输出。
得到有效地目标信息即为所求得的最终舰船目标信息,以目标坐标为中心从DDR中取出所需大小的切片进行输出显示。
本发明未详细公开的部分属于本领域的公知技术。
以上对本发明所提供的一种基于FPGA的红外遥感图像实时目标检测方法及自动化标定方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (7)
1.一种根据权利要求1所述的一种基于FPGA的红外遥感图像实时目标检测方法的自动化标定方法,其特征在于,包括如下步骤:
步骤一、红外遥感图像数据进入FPGA存入DDR中进行数据缓存,通过对DDR进行地址划分将每幅图像存入相应的DDR区域中;根据输入粗检测模块和精检测模块的图像块尺寸的固定要求,计算DDR的地址位置,并通过地址控制从DDR相应区域读取固定尺寸的图像块进行归一化算法运算,将归一化运算输出的结果作为粗检测模块和精检测模块的输入;
步骤二、对输入粗检测模块的图像块采用双线性插值算法进行缩放,根据不同的缩放因子得到的图像数据进行x轴方向和y轴方向上的梯度运算,并与预设的若干卷积模板进行卷积,得到卷积输出矩阵;
步骤三、对得到的卷积输出矩阵的每个坐标点对应的值进行遍历,与预设的粗检测阈值进行比较,若坐标点对应的值大于粗检测阈值,则当前坐标点为疑似目标点坐标,反之,则为非目标点坐标;输出疑似目标点坐标与长宽,并通过非极大值抑制算法进行相邻疑似目标点合并;
步骤四、以合并后的疑似目标点坐标为中心,以合并后的疑似目标点长宽为步长从步骤一归一化算法输出的结果中取出对应区域的图像块,进行双线性插值缩放成正方形图像块;
步骤五、对正方形图像块进行区域划分,根据划分后的区域数据进行二维傅里叶变换,按二维傅里叶变换时序流水输出数据信息,并与预设的若干SVM模板进行点乘运算,输出十进制数值;
步骤六、将SVM运算得到的十进制的输出结果与预设的精检测阈值进行比较,若所述十进制输出结果的值大于精检测阈值,则输出十进制结果所对应的输入目标点坐标为所求的舰船目标,反之,则为虚警并进行剔除;通过非极大值抑制算法对得到的若干舰船目标点进行相邻点合并,输出最终的舰船目标信息,并从DDR中获取切片数据。
2.根据权利要求1所述的一种基于FPGA的红外遥感图像实时目标检测方法的自动化标定方法,其特征在于,所述步骤一中,利用FPGA内部的存储资源以及VHDL,在FPGA内部构造双端口RAM或缓存FIF0,或构造双端口RAM乒乓模式构成二级缓存,按照写操作时序依次交替读出缓存数据。
3.根据权利要求1所述的一种基于FPGA的红外遥感图像实时目标检测方法的自动化标定方法,其特征在于,所述步骤二中,双线性插值算法的设计过程通过使用商的位运算及余数的位运算实现在FPGA上浮点型数据的表示。
4.根据权利要求1所述的一种基于FPGA的红外遥感图像实时目标检测方法的自动化标定方法,其特征在于,所述步骤三中,非极大值抑制算法通过设计双端口RAM乒乓模式构成二级缓存,按照写操作时序依次交替读出缓存坐标数据。
5.根据权利要求1所述的一种基于FPGA的红外遥感图像实时目标检测方法的自动化标定方法,其特征在于,所述步骤四中,根据疑似目标点长宽进行按比例放大,以放大因子分别为1、1.5、2、2.5求出的长宽为步长,从归一化算法输出的结果中获取四种大小的图像块数据,实现舰船潜在区域全覆盖。
6.根据权利要求1所述的一种基于FPGA的红外遥感图像实时目标检测方法的自动化标定方法,其特征在于,所述步骤五中,在一维FFT变换IP核基础上,搭建二维FFT变换的实现架构,分解为先对各行变换,再对矩阵结果进行列变换,最终得到二维数据的频谱值;根据行变换和列变换中对各行列计算的相对独立,采用了两个一维FFT单元并行进行两个行或列的变换操作,使用双口RAM存储待变换的图像数据,即步骤四中得到的正方形图像块数据及变换结果,使得两个FFT模块能够同时访问同一地址空间内的数据。
7.根据权利要求2所述的一种基于FPGA的红外遥感图像实时目标检测方法的自动化标定方法,其特征在于,所述步骤六中,输出的切片数据缓存在FIFO中,通过算法控制模块主状态机对处理流程进行控制,实现粗检测模块、精检测模块分别与切片输出模块的乒乓控制。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910049352.9A CN109859178B (zh) | 2019-01-18 | 2019-01-18 | 一种基于fpga的红外遥感图像实时目标检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910049352.9A CN109859178B (zh) | 2019-01-18 | 2019-01-18 | 一种基于fpga的红外遥感图像实时目标检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109859178A true CN109859178A (zh) | 2019-06-07 |
CN109859178B CN109859178B (zh) | 2020-11-03 |
Family
ID=66895204
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910049352.9A Active CN109859178B (zh) | 2019-01-18 | 2019-01-18 | 一种基于fpga的红外遥感图像实时目标检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109859178B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110738106A (zh) * | 2019-09-05 | 2020-01-31 | 天津大学 | 一种基于fpga的光学遥感图像船舶检测方法 |
CN111929717A (zh) * | 2020-07-24 | 2020-11-13 | 北京航空航天大学 | 面向遥感图像目标特性识别的星载图像处理器及处理方法 |
CN112580431A (zh) * | 2020-11-20 | 2021-03-30 | 北京航空航天大学 | 一种适用于星上在轨处理的高带宽遥感图像目标提取方法 |
CN112734785A (zh) * | 2021-01-28 | 2021-04-30 | 依未科技(北京)有限公司 | 亚像素级眼底血管边界确定的方法、装置、介质和设备 |
WO2021120646A1 (zh) * | 2019-12-16 | 2021-06-24 | 深圳云天励飞技术股份有限公司 | 一种数据处理系统 |
CN113112481A (zh) * | 2021-04-16 | 2021-07-13 | 北京理工雷科电子信息技术有限公司 | 一种基于矩阵网络的混合异构片上架构 |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102333205A (zh) * | 2011-07-28 | 2012-01-25 | 北京中科戎大信息技术有限公司 | 一种红外运动目标检测跟踪装置 |
CN103986931A (zh) * | 2014-04-25 | 2014-08-13 | 北京航空航天大学 | 一种fpga+dsp结构上基于srio总线传输视频数据的实现方法 |
CN104104888A (zh) * | 2014-07-01 | 2014-10-15 | 大连民族学院 | 一种并行多核fpga数字图像实时缩放处理方法和装置 |
CN104155006A (zh) * | 2014-08-27 | 2014-11-19 | 湖北久之洋红外系统股份有限公司 | 一种手持红外热像仪及其对小目标快速锁定测距的方法 |
US20150049946A1 (en) * | 2013-08-16 | 2015-02-19 | Samsung Electronics Co., Ltd. | Electronic device and method for adding data to image and extracting added data from image |
CN105303526A (zh) * | 2015-09-17 | 2016-02-03 | 哈尔滨工业大学 | 一种基于海岸线数据及频谱分析的舰船目标检测方法 |
CN105513011A (zh) * | 2014-09-23 | 2016-04-20 | 上海机电工程研究所 | 图像缩放方法 |
US9400930B2 (en) * | 2013-09-27 | 2016-07-26 | Qualcomm Incorporated | Hybrid photo navigation and mapping |
CN105959514A (zh) * | 2016-04-20 | 2016-09-21 | 河海大学 | 一种弱目标成像检测装置及方法 |
CN106384344A (zh) * | 2016-08-30 | 2017-02-08 | 中国科学院长春光学精密机械与物理研究所 | 一种光学遥感图像海面舰船目标检测与提取方法 |
CN106709426A (zh) * | 2016-11-29 | 2017-05-24 | 上海航天测控通信研究所 | 基于红外遥感图像的舰船目标检测方法 |
CN107274412A (zh) * | 2017-05-18 | 2017-10-20 | 北京环境特性研究所 | 基于红外图像的小目标检测的方法 |
CN108053411A (zh) * | 2017-12-21 | 2018-05-18 | 华中科技大学 | 一种边界热交换约束下的江底隧道遥感探测定位方法 |
CN108520197A (zh) * | 2018-02-28 | 2018-09-11 | 中国航空工业集团公司洛阳电光设备研究所 | 一种遥感图像目标检测方法及装置 |
CN108562879A (zh) * | 2018-04-18 | 2018-09-21 | 南京理工大学 | 基于fpga的舰载雷达恒虚警检测方法 |
CN108776977A (zh) * | 2018-06-08 | 2018-11-09 | 常州工学院 | 相关滤波器组集成的目标跟踪方法 |
CN109191524A (zh) * | 2018-08-29 | 2019-01-11 | 成都森和电子科技有限公司 | 基于fpga的红外目标实时检测系统及检测方法 |
-
2019
- 2019-01-18 CN CN201910049352.9A patent/CN109859178B/zh active Active
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102333205A (zh) * | 2011-07-28 | 2012-01-25 | 北京中科戎大信息技术有限公司 | 一种红外运动目标检测跟踪装置 |
US20150049946A1 (en) * | 2013-08-16 | 2015-02-19 | Samsung Electronics Co., Ltd. | Electronic device and method for adding data to image and extracting added data from image |
US9400930B2 (en) * | 2013-09-27 | 2016-07-26 | Qualcomm Incorporated | Hybrid photo navigation and mapping |
CN103986931A (zh) * | 2014-04-25 | 2014-08-13 | 北京航空航天大学 | 一种fpga+dsp结构上基于srio总线传输视频数据的实现方法 |
CN104104888A (zh) * | 2014-07-01 | 2014-10-15 | 大连民族学院 | 一种并行多核fpga数字图像实时缩放处理方法和装置 |
CN104155006A (zh) * | 2014-08-27 | 2014-11-19 | 湖北久之洋红外系统股份有限公司 | 一种手持红外热像仪及其对小目标快速锁定测距的方法 |
CN105513011A (zh) * | 2014-09-23 | 2016-04-20 | 上海机电工程研究所 | 图像缩放方法 |
CN105303526A (zh) * | 2015-09-17 | 2016-02-03 | 哈尔滨工业大学 | 一种基于海岸线数据及频谱分析的舰船目标检测方法 |
CN105959514A (zh) * | 2016-04-20 | 2016-09-21 | 河海大学 | 一种弱目标成像检测装置及方法 |
CN106384344A (zh) * | 2016-08-30 | 2017-02-08 | 中国科学院长春光学精密机械与物理研究所 | 一种光学遥感图像海面舰船目标检测与提取方法 |
CN106709426A (zh) * | 2016-11-29 | 2017-05-24 | 上海航天测控通信研究所 | 基于红外遥感图像的舰船目标检测方法 |
CN107274412A (zh) * | 2017-05-18 | 2017-10-20 | 北京环境特性研究所 | 基于红外图像的小目标检测的方法 |
CN108053411A (zh) * | 2017-12-21 | 2018-05-18 | 华中科技大学 | 一种边界热交换约束下的江底隧道遥感探测定位方法 |
CN108520197A (zh) * | 2018-02-28 | 2018-09-11 | 中国航空工业集团公司洛阳电光设备研究所 | 一种遥感图像目标检测方法及装置 |
CN108562879A (zh) * | 2018-04-18 | 2018-09-21 | 南京理工大学 | 基于fpga的舰载雷达恒虚警检测方法 |
CN108776977A (zh) * | 2018-06-08 | 2018-11-09 | 常州工学院 | 相关滤波器组集成的目标跟踪方法 |
CN109191524A (zh) * | 2018-08-29 | 2019-01-11 | 成都森和电子科技有限公司 | 基于fpga的红外目标实时检测系统及检测方法 |
Non-Patent Citations (4)
Title |
---|
HONGXU JIANG 等: "A resource-efficient parallel architecture for infrared image stripe noise", 《INFRARED PHYSICS & TECHNOLOGY》 * |
叶秋果 等: "基于视觉显著性的高分辨率遥感影像舰船舰船", 《海洋测绘》 * |
姜宏旭等: "基于FPGA的高效机载视频采集及预处理方法", 《北京航空航天大学学报》 * |
曲景影 等: "基于CNN模型的高分辨率遥感图像目标识别", 《国外电子测量技术》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110738106A (zh) * | 2019-09-05 | 2020-01-31 | 天津大学 | 一种基于fpga的光学遥感图像船舶检测方法 |
WO2021120646A1 (zh) * | 2019-12-16 | 2021-06-24 | 深圳云天励飞技术股份有限公司 | 一种数据处理系统 |
CN111929717A (zh) * | 2020-07-24 | 2020-11-13 | 北京航空航天大学 | 面向遥感图像目标特性识别的星载图像处理器及处理方法 |
CN112580431A (zh) * | 2020-11-20 | 2021-03-30 | 北京航空航天大学 | 一种适用于星上在轨处理的高带宽遥感图像目标提取方法 |
CN112580431B (zh) * | 2020-11-20 | 2022-06-24 | 北京航空航天大学 | 一种适用于星上在轨处理的高带宽遥感图像目标提取方法 |
CN112734785A (zh) * | 2021-01-28 | 2021-04-30 | 依未科技(北京)有限公司 | 亚像素级眼底血管边界确定的方法、装置、介质和设备 |
CN113112481A (zh) * | 2021-04-16 | 2021-07-13 | 北京理工雷科电子信息技术有限公司 | 一种基于矩阵网络的混合异构片上架构 |
CN113112481B (zh) * | 2021-04-16 | 2023-11-17 | 北京理工雷科电子信息技术有限公司 | 一种基于矩阵网络的混合异构片上架构 |
Also Published As
Publication number | Publication date |
---|---|
CN109859178B (zh) | 2020-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109859178A (zh) | 一种基于fpga的红外遥感图像实时目标检测方法 | |
CN109740665A (zh) | 基于专家知识约束的遮挡图像船只目标检测方法及系统 | |
CN108052942B (zh) | 一种飞机飞行姿态的视觉图像识别方法 | |
Huang et al. | An intelligent ship image/video detection and classification method with improved regressive deep convolutional neural network | |
CN102278990B (zh) | 基于fpga的星敏感器图像处理方法 | |
CN110637461B (zh) | 计算机视觉系统中的致密光学流处理 | |
Miao et al. | An improved lightweight RetinaNet for ship detection in SAR images | |
CN109255301A (zh) | 一种基于fpga的红外遥感图像舰船检测虚警剔除方法 | |
Li et al. | Small object detection algorithm based on feature pyramid-enhanced fusion SSD | |
Chai et al. | Marine ship detection method for SAR image based on improved faster RCNN | |
Zhan et al. | The system research and implementation for autorecognition of the ship draft via the UAV | |
Wu et al. | Ship detection and recognition based on improved YOLOv7 | |
CN110651475B (zh) | 用于致密光学流的阶层式数据组织 | |
CN105894494A (zh) | 基于gpu技术的三线阵立体航测相机并行谱段配准方法 | |
Gui et al. | A scale transfer convolution network for small ship detection in SAR images | |
CN116310837B (zh) | 一种sar舰船目标旋转检测方法及系统 | |
CN112766381A (zh) | 有限样本下属性引导的sar图像生成方法 | |
CN109977892B (zh) | 基于局部显著性特征和cnn-svm的舰船检测方法 | |
Liu et al. | Residual YOLOX-based ship object detection method | |
CN115909072A (zh) | 一种基于改进YOLOv4算法的弹着点水柱检测方法 | |
Chen et al. | Aircraft recognition from remote sensing images based on machine vision | |
Qiwei et al. | SAR image ship detection based on improved YOLOv4 | |
Ying et al. | Multi-granularity-Aware Network for SAR Ship Detection in Complex Backgrounds | |
Xie et al. | Lightweight and anchor-free frame detection strategy based on improved CenterNet for multiscale ships in SAR images | |
Ding et al. | Ship detection in SAR images based on an improved detector with rotational boxes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |