一种多帧星图叠加的FPGA实现方法及系统与流程

摘要: 本发明涉及嵌入式fpga图像处理,具体涉及一种基于fpga(现场可编程逻辑门阵列)硬件加速的星敏感器图像处理技术,尤其是一种利用惯导信息辅助、基于流水线缓存与多...
一种多帧星图叠加的FPGA实现方法及系统与流程

本发明涉及嵌入式fpga图像处理,具体涉及一种基于fpga(现场可编程逻辑门阵列)硬件加速的星敏感器图像处理技术,尤其是一种利用惯导信息辅助、基于流水线缓存与多通道ddr架构实现星图姿态关联转换、帧内图像融合与多帧并行叠加的方法及系统。

背景技术:

1、在惯性/天文组合导航系统中,特别是在白昼或者高动态等强噪声背景下,单帧星图的信噪比往往较低,难以满足星点识别的需求。为了提高探测器灵敏度,通常采用多帧叠加技术来增强信号。然而,由于载体运动导致星点在成像焦平面上发生移动,直接叠加会产生拖尾模糊。

2、现有技术中,如国防科技大学倪源蔓在《惯性/天文深组合星图增强及误差抑制技术研究》中提出的“姿态关联帧叠加方法”,利用惯导(inertial measurement unit,imu)提供的姿态信息,通过坐标变换将动态的多帧图像关联到同一时刻的基准坐标系下,再进行面积加权叠加,从而在增强信噪比的同时保持星点形态。还有戴凯东在《一种基于姿态关联帧叠加的星图信噪比增强方法》,提出了一种结合陀螺测量数据实现多帧星图关联叠加的方法。该方法将星敏感器与三轴陀螺组合体(gyroscope units, gus)固连安装,利用 gus可精确测量星敏感器拍摄两幅不同时刻星图的姿态变化信息,根据该姿态变化量进行星图的平移和旋转变换,进而实现动态星图的关联叠加。然而,该算法涉及复杂的浮点数坐标变换,亚像素插值及多帧数据的频繁搬运。

3、目前的工程实现通常采用“sensor ->fpga ->ddr ->arm ps (imu)->ddr ->pfga”这样的架构。即fpga负责图像采集、惯导提供姿态信息、arm ps(处理系统)负责读取ddr中的图像数据,结合惯导提供的姿态信息进行算法处理。这种方案存在以下缺陷:

4、1.数据搬运耗时严重:arm端需要频繁读写ddr中的图像数据,带宽受限,导致处理延迟大,难以满足高帧频实时需求。

5、2.处理能力瓶颈:姿态关联算法包含大量的矩阵运算和插值计算,arm处理器在处理多帧高分辨图像时算力不足,限制了系统响应速度。

6、3.系统资源浪费:数据在fpga与arm之间来回搬运,占用了axi总线带宽。

7、因此,亟需一种能够在fpga端完成全流程处理的硬件加速架构,以解决上述算法实现的速度瓶颈。

技术实现思路

1、本发明旨在克服现有arm ps端处理星图叠加时数据搬运耗时、实时性差的缺陷,提供一种基于fpga流水线缓存与多通道ddr架构的星图姿态关联并行叠加系统及方法,通过将核心算法全部在fpga pl端硬件实现,实现数据“原位计算”与多帧并行叠加,显著提升处理速度与实时性。

2、第一方面,本发明提供一种基于fpga流水线缓存与多通道ddr架构的星图姿态关联并行叠加系统,包括:

3、姿态关联坐标转换模块,用于接收ps端基于惯导信息计算并发送的当前帧图像四个角点坐标,并根据图像内各像素的相对位置,通过流水线运算生成所述当前帧图像中每个像素转换到基准坐标系下的映射坐标;

4、面积加权投影计算模块,用于接收所述映射坐标,并根据所述映射坐标与所述基准坐标系中整像素坐标之间的重叠面积,计算所述当前帧图像中每个像素投影到所述基准坐标系中相邻整像素上的面积加权权值;

5、图像帧内融合模块,用于从ddr中读取所述当前帧图像的原始像素值,并根据所述面积加权权值进行灰度分配,再通过行缓存流水线将分配后的灰度值进行时序对齐与叠加,生成当前帧图像在所述基准坐标系下的帧内融合图像;

6、多帧图像起始坐标对齐模块,用于接收各帧帧内融合图像的起始坐标,通过比较运算确定所有待叠加帧图像的重合区域起始坐标;

7、多通道ddr读写控制模块,用于控制图像数据在ddr与各模块之间的搬运与调度,并基于所述重合区域起始坐标,通过多通道并行从ddr中读取多帧所述帧内融合图像的重合区域数据,进行最终的多帧图像叠加。

8、在一些实例中,所述姿态关联坐标转换模块包括:

9、像素计数器与行计数器,分别用于统计当前处理像素在帧内的水平序号和垂直序号;

10、第一rom和第二rom,分别以所述水平序号和所述垂直序号作为读地址,对应存储有预先计算的水平方向像素偏移比和垂直方向像素偏移比;

11、流水线乘法加法单元,用于将所述水平方向像素偏移比、所述垂直方向像素偏移比与所述四个角点坐标进行分级的乘加运算,以流水线方式输出每个像素的所述映射坐标。

12、在一些实例中,所述面积加权投影计算模块具体用于:

13、对所述映射坐标的小数坐标值分别进行向下取整和向上取整,得到所述基准坐标系中的四个相邻整像素坐标;

14、对所述四个相邻整像素坐标进行边界有效性判断,并对越界坐标进行钳位处理;

15、根据所述映射坐标与所述四个相邻整像素坐标之间的相对距离,通过乘加流水线计算所述映射坐标对应于所述四个相邻整像素的面积加权权值。

16、在一些实例中,所述图像帧内融合模块包括:

17、时序对齐单元,用于将所述面积加权权值与从ddr读取的对应原始像素值进行时序同步;

18、灰度分配运算单元,用于将所述原始像素值与对应的面积加权权值相乘,得到分配至所述基准坐标系中四个相邻整像素位置的灰度分量;

19、行缓存流水线单元,包括至少一个fifo或行缓存器,用于对所述灰度分量中属于不同行的数据进行缓存,以实现同一行内及相邻行间重叠像素在时间上的对齐;

20、像素叠加单元,用于将对齐后的所述四个相邻整像素位置上的所有灰度分量进行累加,生成所述帧内融合图像的像素值。

21、在一些实例中,所述多帧图像起始坐标对齐模块包括:

22、移位寄存器组,用于将连续输入的各帧帧内融合图像的起始水平坐标和起始垂直坐标进行拼接存储;

23、多级比较器,用于对拼接后的多个起始水平坐标和起始垂直坐标分别进行比较,选取其中的最大值作为所述重合区域起始坐标;

24、地址解算单元,用于根据所述重合区域起始坐标,结合预设的叠加图像尺寸,计算各帧帧内融合图像在ddr中的读取基地址。

25、在一些实例中,所述多通道ddr读写控制模块包括:

26、第一ddr控制通道,连接至fpga的一个高速数据接口,用于将图像传感器采集的原始图像数据写入ddr,以及根据所述图像帧内融合模块的请求读取所述原始图像数据;

27、第二ddr控制通道,连接至fpga的另一个高速数据接口,包含多个并行的读控制子通道,每个子通道用于根据所述地址解算单元计算出的对应帧的读取基地址,并行读取一帧帧内融合图像的重合区域数据。

28、在一些实例中,所述系统以fpga的像素时钟作为所有算法处理功能模块的工作时钟,以axi总线时钟作为所述ps端与所述fpga之间进行参数交互的时钟,且所述ps端与所述fpga之间通过低速总线接口传输所述角点坐标及控制参数,通过高速数据接口传输图像数据。

29、第二方面,本发明提供一种基于fpga流水线缓存与多通道ddr架构的星图姿态关联并行叠加方法,包括:

30、坐标转换步骤:fpga接收ps端根据惯导信息计算的当前帧图像转换到基准坐标系的四个角点坐标,fpga根据所述角点坐标和图像内各像素的位置关系,通过流水线运算生成每个像素的映射坐标;

31、加权投影步骤:fpga根据所述映射坐标与基准坐标系中整像素坐标的重叠面积,计算每个像素投影到相邻整像素上的面积加权权值;

32、帧内融合步骤:fpga从ddr中读取当前帧图像的原始像素值,根据所述面积加权权值分配灰度,并通过行缓存流水线进行时序对齐与叠加,生成帧内融合图像;

33、起始坐标对齐步骤:fpga接收各帧帧内融合图像的起始坐标,通过比较运算确定所有待叠加帧图像的重合区域起始坐标;

34、多帧并行叠加步骤:fpga通过多通道ddr控制器,基于所述重合区域起始坐标并行读取多帧帧内融合图像的重合区域数据,进行最终叠加。

35、在一些实例中,所述帧内融合步骤具体包括:

36、将所述面积加权权值与从ddr读取的原始像素值进行时序同步;

37、将同步后的原始像素值与对应的权值相乘,得到灰度分量;

38、利用fifo或行缓存对所述灰度分量中的不同行数据进行缓存,以实现行内及行间重叠像素在时间上的对齐;

39、将对齐后的所有灰度分量进行累加,输出所述帧内融合图像的像素值。

40、在一些实例中,所述多帧并行叠加步骤之后还包括:

41、裁剪步骤,从最终叠加后的图像中裁剪出由所述重合区域起始坐标和预设叠加尺寸所限定的公共区域图像,作为有效叠加结果输出。

42、总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:

43、本发明通过将姿态关联坐标转换、面积加权投影、图像帧内融合、多帧起始坐标对齐及多通道ddr读写控制全部集成于fpga的pl端以硬件流水线方式实现,ps端仅负责角点坐标参数计算与低速传输,图像数据从采集、缓存、融合到最终叠加全程无需arm介入ddr读写操作,从而彻底消除现有技术中数据频繁搬运所导致的axi总线拥堵与带宽瓶颈,实现原位计算;同时充分利用fpga的流水线并行处理特性,配合多通道ddr控制器实现多帧融合图像的并行读取与行缓存fifo的重叠像素对齐叠加,使坐标映射、灰度加权分配和像素叠加等复杂运算得以并行执行,处理速度较arm纯软件方案提升数十倍以上,满足高帧频实时需求;此外,ps端算力负载和ddr访问功耗显著降低,而通过浮点数定点化优化设计,硬件定点运算结果与浮点运算结果的误差控制在灰度级极小范围内,保证了星图信噪比的显著增强与后续星点识别精度,五个核心硬件模块接口清晰、可扩展性强,整体系统在实时性、功耗、精度和工程可实现性方面均获得全面提升。