首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】基于FPGA的红外弱小目标的检测跟踪装置及方法_大连理工大学_202110609375.8 

申请/专利权人:大连理工大学

申请日:2021-06-01

公开(公告)日:2024-06-14

公开(公告)号:CN113255538B

主分类号:G06V10/94

分类号:G06V10/94;G06V10/762;G06F9/445;G06F9/448

优先权:

专利状态码:有效-授权

法律状态:2024.06.14#授权;2021.08.31#实质审查的生效;2021.08.13#公开

摘要:本发明涉及FPGA数字图像处理领域,具体为一种基于FPGA的红外弱小目标的检测跟踪装置及方法。装置包括PS部分、PL部分和外设部分,PS部分运行图像输入模块、预处理模块、SMC‑PHD跟踪模块、图像输出模块以及部分PS‑PL互联模块,PL部分运行PL加速模块以及另一部分PS‑PL互联模块。本发明设计了5条并行的数据流水线,每个计算单元内部也都实现了流水线,需要处理多组数据的计算单元都完成了并行计算;采用了ARM+FPGA的异构处理器,充分发挥两者的特性;使用CC++语言书写适合FPGA运行的算法,使用HLS工具进行编译,大大节省了开发周期和调试周期,且易于修改。

主权项:1.一种基于FPGA的红外弱小目标的检测跟踪装置,其特征在于,所述的检测跟踪装置包括PS部分、PL部分和外设部分;PS部分运行图像输入模块、预处理模块、SMC-PHD跟踪模块、图像输出模块以及部分PS-PL互联模块;PL部分运行PL加速模块以及另一部分PS-PL互联模块;PS部分的核心硬件为一块ARM架构CPU,PL部分的核心硬件为一块FPGA;1所述的图像输入模块将外设部分采集、接收或储存的图像数据读入内存中,供预处理模块进行后续计算;2所述的预处理模块对图像输入模块读取的图像数据进行LIG算法的预处理操作;所述的LIG算法是一种检测红外小目标的算法,算法需要求解局部梯度图和局部强度图;对于给定的一副大小为m*n的红外图像,用total表示图像中像素的总数量,C0表示目标图像的中心点像素,则局部强度图求解公式如下所示: 关于局部梯度值,将给定的红外图像以中心为坐标原点沿径向分为四个部分建立二维的极坐标系,每一部分都可以用Φi来表示,其中r,θi表示二维极坐标中的任意一点,i=1,2,3,4;选用公式2定义的约束集合来表示指向目标中心的梯度; 其中,表示Φi区域中所有满足约束条件的梯度集合,表示Φi区域中所有满足约束条件的梯度元素,s和d分别表示梯度的大小和方向;然后计算每个区域的梯度均方Gi,其中a表示集合中的梯度的数量; 一幅图像的局部梯度图G表示为: 所述的LIG算法预处理过程完成了对输入图像的尺寸调整、提取图像的单通道数据、并对输入图像进行了四个方向的方向滤波;滤波操作产生四个方向的有效区域梯度图,实现了公式2中提取满足约束条件的梯度集合的目标;预处理模块生成的四张梯度图经由PS-PL互联模块被送入PL加速模块中进行计算;3PS-PL互联模块用于PS部分与PL部分之间的数据传输以及调度控制任务;PL加速模块需要PS-PL互联模块作为桥梁读取内存中的数据并写回结果,同时,PS部分需要通过PS-PL互联模块控制PL加速模块的运行状态;从硬件层面,PL部分和PS部分通过AXI总线协议相连接;PL部分中的DMA一端连接PS部分预留AXI总线接口,用于访问PS部分中的内存控制器,另一端连接PL加速模块;从软件层面,用户空间使用OpenCL接口库,OpenCL接口库底层由XRT库进行实现,XRT库调用内核空间的PL部分驱动完成数据搬移、任务流程控制、硬件加速模块调用;OpenCL在使用时会在内存开辟物理地址连续的共享缓存区空间,方便PL部分读写,并将缓存区地址映射到本程序的地址空间,方便PS部分进行读写操作;4所述的PL加速模块使用FPGA对整个计算流程中时间占比最大的部分进行加速,即对LIG算法中求解局部梯度图和局部强度图的过程进行计算加速,并将计算结果写回内存;PL加速模块使用HLS工具编译CC++书写的代码,生成FPGA可以执行的二进制文件;代码中的每个CC++函数都会被编译成二进制文件中的一部分,最终成为FPGA中的一个计算单元;将需要加速的算法按照计算流程、计算复杂度、FPGA硬件特点切分和设计出多个CC++函数,通过在函数中添加编译指令方法,完成并行计算、流水线;PL加速模块中一共设计28个计算单元来实现LIG算法的求解过程;各个计算单元之间使用FIFO进行链接;以5个读图单元为开始,28个计算单元依次连接,串成五条并行的数据流水线;五条数据流独立读取五张来内存中的图像数据,分别进行计算;在除法单元之后,开始将流水线数据汇总,并将结果写入内存中;在每条数据流水线上,不同计算单元之间也是并行工作的,依次处理自己所分配的任务;5所述的SMC-PHD跟踪模块利用概率假设密度滤波器PHD及序列蒙特卡罗SMC的方法来实现弱小目标的跟踪;SMC-PHD跟踪模块直接读取PL加速模块处理完的图像数据进行跟踪,目标点的权重在跟踪过程中会进行累计,噪点会因为没有连续的权重积累而被舍弃;SMC-PHD跟踪模块运行完毕后返回目标点的坐标数据;6所述的图像输出模块用于对SMC-PHD跟踪模块的结果进行显示;7所述的外设部分外是装置与外界进行信息交互的桥梁;PS部分控制外设部分将外部数据传入装置供其他模块进行计算,并将计算完成的数据通过外设模块进行输出;所述的外设部分包括:SD卡用于存放Linux操作系统的镜像和根文件系统、PL端配置文件、PS端所需可执行文件,备份与记录实验数据;DP接口用于和显示器连接,供图像输出模块实时显示实验结果;USB3.0接口用于接收摄像头采集的数据;网络接口可用于接收网络视频推流,也可以将数据发送出装置;所述的PL加速模块中的子单元如下:15个读图单元;读图单元45,读图单元135,读图单元225,读图单元315,以及读图单元Imap;前四个单元后缀中的数字代表梯度方向,如公式2所述的约束,Φ1对应第一象限,满足条件的约束集合方向为180°至270°,中心方向为225°,模块命名中用255代替这个约束集合,其他象限同理;后缀Imap代表读入单通道像素强度图;5个读图单元独立运行,负责分别从内存的不同地址开始并行读入在预处理模块生成的五张照片的数据,通过独立的输入将计算的过程并行化;读图单元设计为按照地址顺序读入每个像素值;216个用于求解区域梯度值的单元;在读图单元45,读图单元135,读图单元225,读图单元315后,分别使用FIFO依次连接4个计算单元,形成四条数据流水线;四条流水线用于分别求解四个区域的梯度均方Gi,求解算法如公式3所示;通过截取数据流中不同位置有效数据来求解不同方向上的区域梯度值;以135方向为例,读图单元135后依次连接“横向滑窗单元135”、“竖向滑窗单元135-1”、“竖向滑窗单元135-2”、“除法单元”四个计算单元;“横向滑窗单元135”的功能是对一维横向的滑动窗口中的满足约束条件的梯度值的平方和进行求解,并且累加滑动窗口中满足约束条件的梯度值的数量,约束条件为公式2;PL加速模块进行了数据流水线设计,每从FIFO中读取一个像素值,滑动窗口移动一格,立即向下一个FIFO中输出一个计算结果;“竖向滑窗单元135-1”接收来自的“横向滑窗135”计算的平方和结果,对其结果进行竖向滑窗的横向扫描,求解滑窗内数据的和,将结果输出至下一个FIFO中;“竖向滑窗单元135-2”计算逻辑同“竖向滑窗单元135-1”,但是接收数据是来自“横向滑窗135”用于计算的求和结果;“除法单元”接收来自“竖向滑窗单元135-1”与“竖向滑窗单元135-2”的计算结果,并进行除法操作,向下一个计算单元输出结果;31个局部梯度求解单元,接收来自四个“除法单元”的数据;使用条件判断语句求解最大值和最小值;最小值与最大值的比值如果小于指定阈值,输出0,如果大于阈值,输出四个局部梯度的和作为局部梯度图的结果,本单元求解流程如公式4所示;41个同步单元:用于保存滑窗中心点数据;图像数据按照地址顺序扫描输入数据流中,完成一个矩形框的扫描时,滑窗中心点的数据已经使用过,所以需要同步单元备份一组中心点的数据;本单元还完成了数据流的同步工作,菱形数据流的运作过程中;51个横向滑窗单元Imap:完成一维横向滑窗求和操作;61个竖向滑窗单元Imap:实现一维竖向滑窗求和操作;单元5和6完成了公式1中的求和过程;71个局部强度求解单元:从同步单元取得滑窗中心点数据,从竖向滑窗单元获得矩形滑窗求和的结果;将滑窗求和结果除滑窗大小得到均值结果,使用均值减中心点的值再取平方得到局部梯度图;完成了公式1中的求解局部强度图的任务;81个乘法单元,求解局部强度图与局部梯度图的点积;91个图像写出单元,负责将数据写回内存。

全文数据:

权利要求:

百度查询: 大连理工大学 基于FPGA的红外弱小目标的检测跟踪装置及方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。