论文部分内容阅读
随着太空遥感技术的发展,大量高精度高分辨率的遥感图像被广泛运用在民用经济建设和军事国防中,对遥感图像中感兴趣目标进行实时处理是当下研究者们关注的问题。在图像处理领域中,计算机视觉技术一直有着独特的优势,卷积神经网络算法(Convolutional Neural Network,CNN)是近年来计算机视觉领域的新兴算法,使用CNN对大量的遥感图像进行实时处理时,利用其在特征学习和特征选择过程中的优势,结合算法内部特有的局部连接和参数共享等特性,可以快速地对遥感图像中特征进行提取与识别。CNN在图像处理中既可以达到较高的准确率,又能够解决图像的位移和形变的问题,因此可将CNN运用到遥感卫星图像实时处理系统中。本文以工程应用为背景,在分析和总结卷积神经网络算法层级结构特点基础上,充分利用现场可编程逻辑阵列(Field Programmable Gate Array,FPGA)的优势构建硬件实现技术平台,提出一种基于FPGA平台的卷积神经网络实时处理遥感图像方案。本文的研究内容包括:(1)根据项目需求,结合卷积神经网络结构与特性,对LeNet-5卷积神经网络进行优化。通过增大输入图像尺寸并增加卷积核的数量,使网络适应大数据量的遥感图像;通过在卷积层后采取步进为2的操作,缩小网络的中间数据量,提高了网络的效率;通过将网络层级模块化,使CNN适配于FPGA硬件平台。(2)结合网络层级参数,计算网络预估时效性。通过分析CNN并行性与预估时效性,将FPGA实现过程分为两级流水同时开工,对数据进行并行处理,提高了系统的效率。通过分析系统要求和CNN结构,设计了FPGA实现CNN软硬件结合的总体架构,并对遥感图像进行实时处理。(3)根据系统总体设计需求,对硬件代码进行以下三方面设计:首先,通过计算得到系统最大并行度,根据并行度设计计算单元,使模块达到空间并行,充分利用了外部存储器的带宽。将两级流水中间数据进行乒乓缓存,实现时间并行,提高了网络效率;其次,通过配置寄存器对模块进行不同模式选择,实现模块复用。对数据进行定点化处理并在模块中加入数据缓存模块,充分利用了片上资源,实现数据复用;最后采用不同尺寸的数据存储器对层间数据进行片上缓存,使得数据可以快速读取,减少对片外存储器的访问。(4)采用Testbench验证方法对系统进行功能验证,通过搭建验证平台,结合软件生成激励,对本文设计系统进行功能验证。测试验证结果表明,本文设计的FPGA硬件系统整体功能和各个模块功能正确,且实际时效性符合预期时效性要求;网络识别率为97.8%,具有较高的准确率。