本申请涉及图像处理,特别涉及一种基于fpga的遥感图像切片系统和方法。
背景技术:
1、遥感图像通常具有高分辨率和大数据量,单个图像文件可能非常庞大,处理图像可能会导致内存占用过高和处理效率低下。针对大规模遥感图像的处理,传统的计算资源可能无法满足需求,通常需要利用并行计算和分布式处理等技术来提高处理效率。
2、基于大规模遥感图像处理的需求和挑战,遥感图像切片处理技术应运而生。遥感图像通常需要进行去噪、增强、校正、特征提取等预处理操作,直接对整个图像进行预处理需要耗费大量计算资源和时间,且遥感图像的不同区域或目标可能需要不同的处理方式,将图像切片后可以针对每个小块进行个性化的预处理操作,提高处理的精度和效率;此外,部分遥感应用需要实时处理遥感图像数据,将图像分割成小块后可以实现并行处理,提高实时性和响应速度;在网络传输遥感图像数据时,将图像分割成小块可以减小每个数据包的大小,提高数据传输的效率和稳定性;针对深度学习模型训练,将大规模遥感图像切片成小块有助于提高训练效率和减少内存占用,同时可以利用分布式计算资源进行训练。
3、遥感图像切片可以结合并行计算、个性化处理和实时性要求等技术,能够有效地处理大规模遥感图像数据,提高处理效率和准确性,为遥感图像分析和应用提供支持。然而,现有的遥感图像切片系统通常使用cpu进行,处理速度低、全链路延时大,内存压力和成本投入较高。
4、应该注意,上面对技术背景的介绍只是为了方便对本申请的技术方案进行清楚、完整的说明,并方便本领域技术人员的理解而阐述的。不能仅仅因为这些方案在本申请的背景技术部分进行了阐述而认为上述技术方案为本领域技术人员所公知。
技术实现思路
1、本发明的目的在于提供一种基于fpga的遥感图像切片系统和方法,以获得更高的处理效率、更低的延迟和更好的灵活性。
2、为了解决上述问题,第一方面,以下提供一种基于fpga的遥感图像切片系统,包括cpu模块和fpga模块;
3、所述cpu模块用于对输入的原始图像进行解码,并将解码后的图像数据和对应的第一配置参数传输至所述fpga模块;
4、所述fpga模块包括图像切片模块和内存模块;
5、所述图像切片模块基于所述第一配置参数,用于将所述原始图像切分为多个切片图像,所述内存模块用于存储所述原始图像和生成的切片图像。
6、采用cpu模块和fpga模块结合的方式,利用fpga的并行计算能力,可以同时处理多个图像切片,提高处理速度和效率;且由于fpga的硬件实现方式,具有较低的处理延迟,更加适合对实时性要求高的遥感图像处理领域;同时,使用fpga实现可降低cpu的负载压力,还可以使得cpu嵌入式化,做成独立的装置设备,减少成本;fpga还可根据实际需求定制化设计,避免浪费计算资源,提高资源利用率也更具灵活性。
7、所述图像切片模块包括依次连接的坐标计算模块、突发读取信息生成模块、切片读取模块和切片写入模块;所述坐标计算模块用于接收所述第一配置参数并计算待形成的切片图像对应的地址信息;所述突发读取信息生成模块用于接收所述地址信息并生成对应的突发信息;所述切片读取模块用于接收所述突发信息并从所述内存模块中读取对应的图像数据;所述切片写入模块用于接收所述图像数据并写入所述内存模块中,生成所述切片图像。
8、所述内存模块中设置有原始图像帧缓存队列和切片缓存队列;所述原始图像存储于所述原始图像帧缓存队列中,所述切片图像存储于所述切片缓存队列中。
9、所述fpga模块中还包括有第一pcie核和第一寄存器;所述cpu模块将解码后的所述图像数据通过所述第一pcie核传输至所述原始图像帧缓存队列;所述cpu模块将所述第一配置参数通过所述第一pcie核传输至所述第一寄存器。
10、所述fpga模块中包括有第二pcie核和第二寄存器;所述切片图像通过所述第二pcie核传输至后续模块,所述后续模块包括gpu模块;所述第二寄存器用于存储和所述gpu模块相关的第二配置参数,所述第二寄存器和所述第二pcie核以及所述图像切片模块进行连接。
11、另一方面,本申请还提供一种基于fpga的遥感图像切片方法,基于第一方面任一项所述的遥感图像切片系统进行,包括:
12、将所述原始图像输入所述cpu模块进行解码,得到多波段的图像立方体数据,并在所述cpu模块中设置对应的所述第一配置参数;
13、依次将所述图像立方体数据中一个光谱波段的图像数据和对应的所述第一配置参数传输至所述fpga模块;
14、基于所述第一配置参数,通过所述图像切片模块将所述原始图像切分为多个所述切片图像。
15、所述fpga模块包括图像切片模块和内存模块,所述图像切片模块包括依次连接的坐标计算模块、突发读取信息生成模块、切片读取模块和切片写入模块;通过所述图像切片模块将所述原始图像切分为多个所述切片图像的步骤包括:根据所述原始图像的尺寸生成对应的二维坐标系,基于所述配置参数,通过所述坐标计算模块计算每个待形成的切片图像的坐标信息,并将所述坐标信息转换为所述切片图像在所述内存模块中对应的地址信息;将所述地址信息传输到所述突发读取信息生成模块,通过所述突发读取信息生成模块生成对应的突发信息,所述突发信息包括突发首地址和突发长度;将所述突发信息传输至所述切片读取模块,通过所述切片读取模块从所述内存模块中读取对应的图像数据;通过所述切片写入模块将读取的所述图像数据写入所述内存模块中,生成所述切片图像。
16、所述配置参数包括原始图像的尺寸、待形成的切片图像的尺寸和相邻切片图像的重叠区域;所述重叠区域基于待识别目标的尺寸确定,在边界处的所述重叠区域根据剩余的像素进行自适应调整。
17、所述突发首地址为所述待形成的切片图像每一行首个像素点在所述内存模块中所对应的地址,所述突发长度为所述待形成的切片图像每一行的长度。
18、所述切片方法为流水式处理。
19、与现有技术相比,本发明的有益效果主要包括如下:1)提高处理效率:利用fpga的并行计算能力,可以同时处理多个图像切片,提高处理速度和效率;2)降低延迟:由于fpga的硬件实现方式,具有较低的处理延迟,适合对实时性要求高的遥感图像处理;3)降低cpu的计算压力:使用fpga实现可降低cpu的负载压力,可以使得cpu嵌入式化,做成一个独立的装置设备,减少成本;4)节约资源:fpga可以根据实际需求定制化设计,避免浪费计算资源,提高资源利用率;5)灵活性:fpga可根据不同的处理需求进行定制化设计,适用于各种遥感图像处理任务。
1.一种基于fpga的遥感图像切片系统,其特征在于,包括cpu模块和fpga模块;
2.根据权利要求1所述的一种基于fpga的遥感图像切片系统,其特征在于,所述图像切片模块包括依次连接的坐标计算模块、突发读取信息生成模块、切片读取模块和切片写入模块;
3.根据权利要求2所述的一种基于fpga的遥感图像切片系统,其特征在于,所述内存模块中设置有原始图像帧缓存队列和切片缓存队列;
4.根据权利要求3所述的一种基于fpga的遥感图像切片系统,其特征在于,所述fpga模块中还包括有第一pcie核和第一寄存器;
5.根据权利要求3所述的一种基于fpga的遥感图像切片系统,其特征在于,所述fpga模块中包括有第二pcie核和第二寄存器;
6.一种基于fpga的遥感图像切片方法,其特征在于,基于权利要求1-5任一项所述的遥感图像切片系统进行,包括:
7.根据权利要求6所述的一种基于fpga的遥感图像切片方法,其特征在于,所述fpga模块包括图像切片模块和内存模块,所述图像切片模块包括依次连接的坐标计算模块、突发读取信息生成模块、切片读取模块和切片写入模块;
8.根据权利要求7所述的一种基于fpga的遥感图像切片方法,其特征在于,所述配置参数包括原始图像的尺寸、待形成的切片图像的尺寸和相邻切片图像的重叠区域;所述重叠区域基于待识别目标的尺寸确定,在边界处的所述重叠区域根据剩余的像素进行自适应调整。
9.根据权利要求7所述的一种基于fpga的遥感图像切片方法,其特征在于,所述突发首地址为所述待形成的切片图像每一行首个像素点在所述内存模块中所对应的地址,所述突发长度为所述待形成的切片图像每一行的长度。
10.根据权利要求7所述的一种基于fpga的遥感图像切片方法,其特征在于,所述切片方法为流水式处理。