一种设计高光谱图像混合像元实时分解芯片的方法

文档序号:5842692阅读:205来源:国知局

专利名称::一种设计高光谱图像混合像元实时分解芯片的方法
技术领域
:本发明涉及一种高光谱图像混合像元实时分解芯片及实现方法。
背景技术
:遥感器所获取的地面反射或发射光谱信号是以像元为单位记录的。它是像元所对应的地表物质光谱信号的综合。图像中每个像元所对应的地表,往往包含不同的覆盖类型,他们有着不同的光谱响应特性。而每个像元则仅用一个信号记录这些“异质”成分。若该像元仅包含一种类型,则成为纯像元(purepixel),它所记录的正是该类型的光谱响应特征或光谱信号;若该像元包含不止一种土地覆盖类型,则形成混合像元(mixedpixel)。混合像元所记录的是对应不同土地覆盖类型光谱响应特性的综合。受遥感器的空间分辨率有限制以及自然界地物的复杂多样性的影响,混合像元普遍存在于遥感图像中,如野外测得的植物光谱多为植物及其下垫面土壤的混合光谱(往往还包含阴影),即使裸露的地表(无植被或少植被覆盖)也是不同类型的土壤、矿物等的混Alq並口兀!^曰o混合像元的存在使传统的像元级遥感分类和面积测量精度难以达到使用的要求为了提高遥感应用的精度,解决混合像元的分解问题变得非常必要。现有的技术分解高光谱图像混合像元一般是基于各种操作系统设计的应用软件完成的,它主要适合事后处理,不能完成对实时分解高光谱图像混合像元。
发明内容为了解决上述问题,本发明的目的是提供一种基于FPGA的高光谱图像处理芯片,使计算机技术数字图像处理技术与现代FPGA技术相结合,可以实现高光谱图像数据的高速实时处理并可根据不同需要制定不同IP核硬件易于升级,以满足未来多种功能的需要,以实现更好更多的功能,降低成本提高性价比。本发明解决其技术问题所采取的技术方案是一种设计高光谱图像混合像元实时分解芯片的方法,其特征在于基于SoC完成高光谱图像混合像元实时分解芯片的设计,该设计的具体步骤如下(I)高光谱混合像元分解方法确定;(II)高光谱图像混合像元实时分解芯片设计参数确定;(III)高光谱图像混合像元实时分解芯片系统设计;(IV)高光谱图像混合像元实时分解芯片设计软件编写;(V)高光谱图像混合像元实时分解芯片设计仿真;(VI)高光谱图像混合像元实时分解芯片的FPGA实现。其特征还在于上述第(I)确定了基于片上系统(SoC)完成混合像元分解的最佳方法,第(II)给出了高光谱图像混合像元实时分解芯片设计的各种参数,第(III)、第(IV)、第(V)采用超高速集成电路硬件描述语言完成芯片的设计,第(VI)基于可编程门阵列完成了高光谱图像混合像元实时分解芯片的实现,芯片设计软件由五种模块组成,它们是(1)数据读入模块、(2)矩阵自相关计算模块、(3)矩阵奇异值分解模块、(4)矩阵伪逆计算模块、(5)像元投影分解端元模块,芯片采用自顶向下(Top-Down)的层次化结构设计方法。所述的一种设计高光谱图像混合像元实时分解芯片的方法,其特征在于给出了高光谱图像混合像元实时分解芯片设计优化参数。所述的一种设计高光谱图像混合像元实时分解芯片的方法,其特征在于采用可编程门阵列完成高光谱图像混合像元实时分解芯片设计。所述的一种设计高光谱图像混合像元实时分解芯片的方法,其特征在数据读入的控制是通过以下步骤来实现的1)先向数据接收模块传送开始信号;2)数据入模块采取两个RAM协调接收数据,一个RAM的数据送下一模块,另一个RAM接收数据;3)每传完一个像元数据,两个RAM的工作状态调换,并产生一个启动信号给下一模块;4)当所有数据传完,向芯片发送终止信号。所述的一种设计高光谱图像混合像元实时分解芯片的方法,其特征在于矩阵自相关计算是通过以下步骤实现的1)接收数据读入模块的信号后启动;2)数据由定点转换为单精度浮点型数据;3)调用模块32个乘法累加器并行工作,结果存入寄存器中;4)当矩阵自相关计算完成后向矩阵奇异值分解模块发送启动信号并传送数据。所述的一种设计高光谱图像混合像元实时分解芯片的方法,其特征在于系统的精度采用浮点型数据类型。所述的一种设计高光谱图像混合像元实时分解芯片的方法,其特征在于冲击信号处理芯片的设计软件采用模块化设计,具体包括(1)数据读入模块、(2)矩阵自相关计算模块、(3)矩阵奇异值分解模块、(4)矩阵伪逆计算模块、(5)像元投影分解端元模块。其特征在于通过模块组合,完成高光谱图像混合像元的实时分解。一种高光谱图像混合像元实时分解芯片,其特征在于使用权利要求1-7中任一方法获得,包括自顶向下层次化结构的模块组合。由于采用了采用了以上技术方案,本发明所具有的有益效果是1.基于片上系统(SOC)完成高光谱图像数据实时处理,为设计低功耗、小型化的高光谱图像混合像元实时分解设备提供了条件;2.采用现场可编程门阵列FPGA,完成高光谱图像混合像元实时分解芯片设计,开发周期短、设计费用低,研发风险小;3.采用单精度浮点型数据计算,计算精度高,计算结果误差小;4.采用雅可比过关法计算特征值与特征向量,收敛速度快,便于并行化设计;5.采用流水作业、并行处理,可以对高纬度,高数据量高光谱图像进行实时处理,完成高光谱图像混合像元实时分解。下面结合附图和附表对本发明的具体实施方式作进一步详细说明。图1VCA算法流程图;图2(a)为系统采用双精度数据类型方针结果;图2(b)为系统采用单精度数据类型方针结果;图3为数据读入模块设计框架图;图4为计算自相关模块框架图;图5为计算SVD算子框架图;图6为计算SVD算子框架图;图7为计算投影求端元模块框架图;具体实施例方式图1给出了顶点成分分析算法(VCA)完成高光谱图像混合像元分解的主要步骤1)已知由单个像元向量组成的观测光谱矩阵R=[巧,r2,…,rN],N为图像中像元数,首先用奇异值分解(SVD)对观测光谱矩阵降维,变换到q维子空间,见下式X=UTqR(1)其中,Uq是由SVD的左变换矩阵的前q个向量组成的矩阵。2)将X投影到超平面上得到单体Sq[n广(2)其中,u=mean(X),u是lXd的向量。3)初始给定一个方向ff=((I-AA#)w)/(|(I"AA#)w||)(3)其中,A=[eu|0|-|0],A是pXp矩阵,用来存储估计端元信号的投影,eu=T为单位向量;w=randn(0,Ip),w是零均值随机高斯向量,协方差是Ip;f是正交于由[A]:,1:i张成的子空间的向量。4)将⑵式得到的超平面上的数据投影到(3)式给定的方向上,得到下式v=fTY(4)5)该投影的极值对应的像元位置可以由下式求得k=argmaxJ=lj...,N||[v]:J|(5)6)将(5)式的结果存储起来即存储像元索引[indiceh=k。7)用(5)式的结果求取下一个投影方向。[A]:ji=[Y]:jk(6)8)将(6)式带入(3)式,重复执行(4)和(5)式运算,每重复执行一次,随机产生一个向量f正交于备用矩阵A的列张成的空间,并且y被投影到f上,就可以得到对应于极值的像元位置。最后,用下式求得端元的光谱曲线M^Ud[X\mdice()表1中以mXn是图像大小,1为波段数,p为选取的背景光谱特征数,d为雅可比旋转次数,k为求特征值时的比较次数。由表1可以看出算法中的自相关模块所需计算次数最多,是整个系统中的关键部分,需要单独设计成一个模块;矩阵奇异值分解与计算矩阵逆两个部分所需运算次数在同一个数量级,可以分别设计成子模块并行执行;其他部分所需运算次数较少,可以归并到投影求端元模块顺序执行,以节省资源并提高工作效率。系统运算精度。图2给出了以已知三个物质的光谱曲线根据线性混合模型合成的仿真数据为实验条件,设定不同精度对混合像元提取的结果,黑色线表示已知三种物质的光谱曲线,红色线表示通过算法分解出来的三种物质的光谱曲线。从图中可以看出,单精度数据和双精度数据对都能很好地提取出端元数据,所以这里选择有利于硬件实现的单精度的浮点型数据作为系统的精度。图3给出了数据读取模块的框架图,考虑到高光谱数据量大,数据调度复杂的特点,这里把数据读取单独作为一个模块,由状态机控制两个RAM协同工作实现,当状态机为1时第一个RAM读数据,第二个RAM写数据;当状态机为0时,第一个RAM写数据,第二个RAM读数据。计算自相关模块所需要的计算次数最多,是影响系统实时性的关键环节。这里需要弓I入并行处理机制,调用多个乘法累加器同时运算。高光谱成像仪产生12位定点数据,传输速度为400Mbps,则传输mXnXl的数据需要时间<formula>formulaseeoriginaldocumentpage6</formula>假设有c个乘法器,运行在200M的时钟下,计算自相关需要时间<formula>formulaseeoriginaldocumentpage6</formula>当T2≤T1,模块能够满足实时性要求,化简可得C≥l/6其,中,1=128为波段数。考虑到程序设计的复杂度和可移植性,选取c=32,即调用32个乘法器并行工作。图4给出了计算自相关模块的框架图,此模块有数据读取模块专门的地址生成器来控制数据的输送到32个乘法器中。图5给出了矩阵奇异值分解模块框架图,控制器模块负责检测启动信号、管理数据存储器、接收自相关矩阵数据、控制子模块执行顺序;三个功能子模块实现各自功能,子模块内部主要采用顺序执行的方式;由于三个子模块之间也是顺序执行的,所以只需要一个数据存储器来存放中间计算结果,节省了FPGA内部的SRAM资源。矩阵伪逆算法如下设矩阵<formula>formulaseeoriginaldocumentpage6</formula>令<formula>formulaseeoriginaldocumentpage6</formula><formula>formulaseeoriginaldocumentpage6</formula>式(10)中A+是矩阵A的伪逆计算矩阵伪逆模块采用并行计算,由控制器控制数据的输送,计算矩阵乘法和秩并行进行,图6给出了计算矩阵伪逆的设计框架图。计算像元的投影算法比较简单,计算量不大,采用串行行计算的方式可以满足实时性要求,顺序执行模式如图7所示。高光谱图像混合像元实时分解芯片选用Xilinx公司生产、Vertix5的FPGA母片完成。高光谱图像混合像元实时分解芯片的行为级仿真采用美国Active公司开发的Active-VHDL软件完成,冲击信号处理芯片的综合、映射、布局、布线及带有时延的后仿真(PostSimulation),采用Xilinx公司Fundation可编程逻辑设计软件完成。表1算法各主要部分所需计算次数<table>tableseeoriginaldocumentpage7</column></row><table>权利要求一种设计高光谱图像混合像元实时分解芯片的方法,其特征在于基于SoC完成高光谱图像混合像元实时分解芯片的设计,该设计的具体步骤如下(I)高光谱混合像元分解方法确定;(II)高光谱图像混合像元实时分解芯片设计参数确定;(III)高光谱图像混合像元实时分解芯片系统设计;(IV)高光谱图像混合像元实时分解芯片设计软件编写;(V)高光谱图像混合像元实时分解芯片设计仿真;(VI)高光谱图像混合像元实时分解芯片的FPGA实现。其特征还在于上述第(I)确定了基于片上系统(SoC)完成混合像元分解的最佳方法,第(II)给出了高光谱图像混合像元实时分解芯片设计的各种参数,第(III)、第(IV)、第(V)采用超高速集成电路硬件描述语言完成芯片的设计,第(VI)基于可编程门阵列完成了高光谱图像混合像元实时分解芯片的实现,芯片设计软件由五种模块组成,它们是(1)数据读入模块、(2)矩阵自相关计算模块、(3)矩阵奇异值分解模块、(4)矩阵伪逆计算模块、(5)像元投影分解端元模块,芯片采用自顶向下(Top-Down)的层次化结构设计方法。2.根据权利要求1所述的一种设计高光谱图像混合像元实时分解芯片的方法,其特征在于给出了高光谱图像混合像元实时分解芯片设计优化参数。3.根据权利要求1所述的一种设计高光谱图像混合像元实时分解芯片的方法,其特征在于采用可编程门阵列完成高光谱图像混合像元实时分解芯片设计。4.根据权利要求1所述的一种设计高光谱图像混合像元实时分解芯片的方法,其特征在数据读入的控制是通过以下步骤来实现的1)先向数据接收模块传送开始信号;2)数据入模块采取两个RAM协调接收数据,一个RAM的数据送下一模块,另一个RAM接收数据;3)每传完一个像元数据,两个RAM的工作状态调换,并产生一个启动信号给下一模块;4)当所有数据传完,向芯片发送终止信号。5.根据权利1要求所述的一种设计高光谱图像混合像元实时分解芯片的方法,其特征在于矩阵自相关计算是通过以下步骤实现的1)接收数据读入模块的信号后启动;2)数据由定点转换为单精度浮点型数据;3)调用模块32个乘法累加器并行工作,结果存入寄存器中;4)当矩阵自相关计算完成后向矩阵奇异值分解模块发送启动信号并传送数据。6.根据权利要求1所述的一种设计高光谱图像混合像元实时分解芯片的方法,其特征在于系统的精度采用浮点型数据类型。7.根据权利要求1所述的一种设计高光谱图像混合像元实时分解芯片的方法,其特征在于冲击信号处理芯片的设计软件采用模块化设计,具体包括(1)数据读入模块、(2)矩阵自相关计算模块、(3)矩阵奇异值分解模块、(4)矩阵伪逆计算模块、(5)像元投影分解端元模块。其特征在于通过模块组合,完成高光谱图像混合像元的实时分解。8.一种高光谱图像混合像元实时分解芯片,其特征在于使用权利要求1-7中任一方法获得,包括自顶向下层次化结构的模块组合。全文摘要本发明属于图像处理领域,提供了一种采用现场可编程门阵列(FPGA)实现高光谱图像混合像元实时分解的芯片,该芯片采用超高速集成电路硬件描述语言(VHDL)完成,它是由(1)数据读入模块、(2)矩阵自相关计算模块、(3)矩阵奇异值分解模块、(4)矩阵伪逆计算模块、(5)像元投影分解端元模块五个部分组成。本发明采用SYSTEMONCHIP的设计思想,FPGA内部产生各种控制信号,使整个芯片响应速度快;它可以完成高光谱图像数据的实时处理,可用于半导体加工,开发周期短,设计费用低,研发风险小。文档编号G01S17/89GK101807215SQ20081018780公开日2010年8月18日申请日期2008年12月23日优先权日2008年12月23日发明者于东俊,宫久路,谌德荣申请人:北京理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1