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

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

Info

Publication number
CN101807215B
CN101807215B CN2008101878041A CN200810187804A CN101807215B CN 101807215 B CN101807215 B CN 101807215B CN 2008101878041 A CN2008101878041 A CN 2008101878041A CN 200810187804 A CN200810187804 A CN 200810187804A CN 101807215 B CN101807215 B CN 101807215B
Authority
CN
China
Prior art keywords
module
chip
dimensionality reduction
matrix
spectrum image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2008101878041A
Other languages
English (en)
Other versions
CN101807215A (zh
Inventor
谌德荣
于东俊
宫久路
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Institute of Technology BIT
Original Assignee
Beijing Institute of Technology BIT
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Institute of Technology BIT filed Critical Beijing Institute of Technology BIT
Priority to CN2008101878041A priority Critical patent/CN101807215B/zh
Publication of CN101807215A publication Critical patent/CN101807215A/zh
Application granted granted Critical
Publication of CN101807215B publication Critical patent/CN101807215B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Processing (AREA)

Abstract

本发明属于图像处理领域,提供了一种采用现场可编程门阵列(FPGA)实现高光谱图像混合像元实时分解的芯片,该芯片采用超高速集成电路硬件描述语言(VHDL)完成,它是由(1)数据读入模块、(2)矩阵自相关计算模块、(3)矩阵奇异值分解模块、(4)矩阵伪逆计算模块、(5)像元投影分解端元模块五个部分组成。本发明采用SYSTEM ON CHIP的设计思想,FPGA内部产生各种控制信号,使整个芯片响应速度快;它可以完成高光谱图像数据的实时处理,可用于半导体加工,开发周期短,设计费用低,研发风险小。

Description

一种设计高光谱图像混合像元实时分解芯片的方法
技术领域
本发明涉及一种高光谱图像混合像元实时分解芯片及实现方法。
技术背景
遥感器所获取的地面反射或发射光谱信号是以像元为单位记录的。它是像元所对应的地表物质光谱信号的综合。图像中每个像元所对应的地表,往往包含不同的覆盖类型,他们有着不同的光谱响应特性。而每个像元则仅用一个信号记录这些“异质”成分。若该像元仅包含一种类型,则成为纯像元(pure pixel),它所记录的正是该类型的光谱响应特征或光谱信号;若该像元包含不止一种土地覆盖类型,则形成混合像元(mixed pixel)。混合像元所记录的是对应不同土地覆盖类型光谱响应特性的综合。
受遥感器的空间分辨率有限制以及自然界地物的复杂多样性的影响,混合像元普遍存在于遥感图像中,如野外测得的植物光谱多为植物及其下垫面土壤的混合光谱(往往还包含阴影),即使裸露的地表(无植被或少植被覆盖)也是不同类型的土壤、矿物等的混合光谱。
混合像元的存在使传统的像元级遥感分类和面积测量精度难以达到使用的要求。为了提高遥感应用的精度,解决混合像元的分解问题变得非常必要。
现有的技术分解高光谱图像混合像元一般是基于各种操作***设计的应用软件完成的,它主要适合事后处理,不能完成对实时分解高光谱图像混合像元。
发明内容
为了解决上述问题,本发明的目的是提供一种基于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=[r1,r2,…,rN],N为图像中像元数,首先用奇异值分解(SVD)对观测光谱矩阵降维,变换到q维子空间,见下式
X = U q T R - - - ( 1 )
其中,Uq是由SVD的左变换矩阵的前q个向量组成的矩阵。
2)将X投影到超平面上得到单体Sq
[ Y ] : , j = [ X ] : , j / ( [ X ] : , j T u ) - - - ( 2 )
其中,u=mean(X),u是1×d的向量。
3)初始给定一个方向f:
f=((I-AA#)w)/(‖(I-AA#)w‖)                   (3)
其中,A=[eu|0|…|0],A是p×p矩阵,用来存储估计端元信号的投影,eu=[0,…,0,1]T为单位向量;w=randn(0,Ip),w是零均值随机高斯向量,协方差是Ip;f是正交于由[A]:,1:i张成的子空间的向量。
4)将(2)式得到的超平面上的数据投影到(3)式给定的方向上,得到下式:
v=fTY                                         (4)
5)该投影的极值对应的像元位置可以由下式求得:
k=argmaxj=1,…,N‖[v]:,j‖                (5)
6)将(5)式的结果存储起来即存储像元索引[indice]i=k。
7)用(5)式的结果求取下一个投影方向。
[A]:,i=[Y]:,k                               (6)
8)将(6)式带入(3)式,重复执行(4)和(5)式运算,每重复执行一次,随机产生一个向量f正交于备用矩阵A的列张成的空间,并且y被投影到f上,就可以得到对应于极值的像元位置。最后,用下式求得端元的光谱曲线:
M ^ = U d [ X ] : , indice - - - ( 7 )
表1中以m×n是图像大小,l为波段数,p为选取的背景光谱特征数,d为雅可比旋转次数,k为求特征值时的比较次数。由表1可以看出算法中的自相关模块所需计算次数最多,是整个***中的关键部分,需要单独设计成一个模块;矩阵奇异值分解与计算矩阵逆两个部分所需运算次数在同一个数量级,可以分别设计成子模块并行执行;其他部分所需运算次数较少,可以归并到投影求端元模块顺序执行,以节省资源并提高工作效率。
***运算精度。图2给出了以已知三个物质的光谱曲线根据线性混合模型合成的仿真数据为实验条件,设定不同精度对混合像元提取的结果,黑色线表示已知三种物质的光谱曲线,红色线表示通过算法分解出来的三种物质的光谱曲线。从图中可以看出,单精度数据和双精度数据对都能很好地提取出端元数据,所以这里选择有利于硬件实现的单精度的浮点型数据作为***的精度。
图3给出了数据读取模块的框架图,考虑到高光谱数据量大,数据调度复杂的特点,这里把数据读取单独作为一个模块,由状态机控制两个RAM协同工作实现,当状态机为1时第一个RAM读数据,第二个RAM写数据;当状态机为0时,第一个RAM写数据,第二个RAM读数据。
计算自相关模块所需要的计算次数最多,是影响***实时性的关键环节。这里需要引入并行处理机制,调用多个乘法累加器同时运算。
高光谱成像仪产生12位定点数据,传输速度为400Mbps,则传输m×n×l的数据需要时间 T 1 = m × n × l × 12 400 × 10 6 s ; 假设有c个乘法器,运行在200M的时钟下,计算自相关需要时间 T 2 = m × n × l 2 × 1 200 × 10 6 × 1 c s . 当T2≤T1,模块能够满足实时性要求,化简可得 c ≥ 1 6 , 其中,l=128为波段数。考虑到程序设计的复杂度和可移植性,选取c=32,即调用32个乘法器并行工作。图4给出了计算自相关模块的框架图,此模块有数据读取模块专门的地址生成器来控制数据的输送到32个乘法器中。
图5给出了矩阵奇异值分解模块框架图,控制器模块负责检测启动信号、管理数据存储器、接收自相关矩阵数据、控制子模块执行顺序;三个功能子模块实现各自功能,子模块内部主要采用顺序执行的方式;由于三个子模块之间也是顺序执行的,所以只需要一个数据存储器来存放中间计算结果,节省了FPGA内部的SRAM资源。
矩阵伪逆算法如下:
设矩阵 A ∈ C r m × n , B i ∈ C n × n , δ i ∈ C ( i = 0 , · · · , r ) , 公B0=O  δ0=1
Bk+1=δkI-ATABk,k=0,…,r-1                   (8)
δk+1=tr(ATABk+1)/(k+1),k=0,…,r-1           (9)
A + = B r A T δ r - - - ( 10 )
式(10)中A+是矩阵A的伪逆
计算矩阵伪逆模块采用并行计算,由控制器控制数据的输送,计算矩阵乘法和秩并行进行,图6给出了计算矩阵伪逆的设计框架图。
计算像元的投影算法比较简单,计算量不大,采用串行行计算的方式可以满足实时性要求,顺序执行模式如图7所示。
高光谱图像混合像元实时分解芯片选用Xilinx公司生产、Vertix5的FPGA母片完成。高光谱图像混合像元实时分解芯片的行为级仿真采用美国Active公司开发的Active-VHDL软件完成,冲击信号处理芯片的综合、映射、布局、布线及带有时延的后仿真(Post Simulation),采用Xilinx公司Fundation可编程逻辑设计软件完成。
表1  算法各主要部分所需计算次数
  算法主要部分 乘法 加(减)法 比较 其他 总计
  自相关 m×n×l2 (m×n-1)×l2 0 0 2m×n×l2≈8.5×109
  奇异值分解 12×l×d 6×l×d k 20×d 18×l×d+k≈9.2×107
  伪逆矩阵 m×d×l2 (m×d-1)×l2 0 0 2m×d×l2≈3.1×109
  计算投影 m×n×l 0 m×n×l 0 2m×n×l≈3.4×105

Claims (1)

1.一种高光谱图像降维芯片的设计方法,基于SoC完成高光谱图像降维芯片的设计,高光谱图像降维芯片设计的具体步骤如下:
(I)高光谱图像降维算法确定;
(II)高光谱图像降维芯片设计参数确定;
(III)高光谱图像降维芯片***设计;
(IV)高光谱图像降维芯片设计软件编写;
(V)高光谱图像降维芯片设计仿真;
(VI)高光谱图像降维芯片的FPGA实现;
其特征在于:上述第(I)采用奇异值分解算法,并且选取雅可比过关法来求矩阵特征值与特征向量,第(II)给出高光谱图像降维芯片设计的各种参数,其中选取单精度浮点型数据进行数据处理,单精度浮点型数据由8位指数部分和24位小数部分组成,精确到6-7位有效数字,第(III)、第(IV)、第(V)采用VHDL语言完成芯片的设计,第(VI)基于现场可编程门阵列完成高光谱图像降维芯片的实现,芯片设计软件由五个模块组成,它们是***控制模块(1)、自相关模块(2)、特征值求解模块(3)、特征值提取模块(4)、降维实现模块(5),其中***控制模块对整个芯片***进行控制,协调芯片中其它各个模块间数据传输和各模块之间的信号联系,使它们都能准确进行各自模块的工作;自相关模块接收高光谱图像数据并对其数据矩阵进行自相关运算,并将得到的自相关运算结果数据类型转换为特征值求解模块所要求类型;特征值求解模块求解自相关模块得到的自相关矩阵结果矩阵的特征值和特征向量;特征值提取模块对特征值求解模块得到的特征值进行排序,提取包含信息量大的前N个特征值对应的特征向量,组成包含图像信息量大的N个特征向量矩阵;降维实现模块把原始高光谱图像矩阵与特征值提取矩阵得到的特征向量矩阵相乘,得到降维后的图像矩阵;芯片采用自顶向下的层次化结构设计方法,该层次化结构包括顶层模块和底层模块。
CN2008101878041A 2008-12-23 2008-12-23 一种设计高光谱图像混合像元实时分解芯片的方法 Expired - Fee Related CN101807215B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008101878041A CN101807215B (zh) 2008-12-23 2008-12-23 一种设计高光谱图像混合像元实时分解芯片的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008101878041A CN101807215B (zh) 2008-12-23 2008-12-23 一种设计高光谱图像混合像元实时分解芯片的方法

Publications (2)

Publication Number Publication Date
CN101807215A CN101807215A (zh) 2010-08-18
CN101807215B true CN101807215B (zh) 2011-11-30

Family

ID=42609007

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101878041A Expired - Fee Related CN101807215B (zh) 2008-12-23 2008-12-23 一种设计高光谱图像混合像元实时分解芯片的方法

Country Status (1)

Country Link
CN (1) CN101807215B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102081690B (zh) * 2010-12-30 2014-07-02 南京理工大学 复杂电路的矩阵分解结合新奇异值分解方法
CN106778536B (zh) * 2016-11-28 2020-11-20 北京化工大学 一种基于fpga的实时高光谱显微图像细胞分类方法
US11604757B2 (en) 2019-07-17 2023-03-14 International Business Machines Corporation Processing data in memory using an FPGA
CN114201731B (zh) * 2022-02-18 2022-05-13 长沙金维信息技术有限公司 用于导航芯片的矩阵求逆方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101030299A (zh) * 2007-03-29 2007-09-05 复旦大学 一种基于数据空间正交基的遥感图像混合像元分解方法
CN101221662A (zh) * 2008-01-31 2008-07-16 复旦大学 基于自组织映射神经网络的遥感图像混合像元分解方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101030299A (zh) * 2007-03-29 2007-09-05 复旦大学 一种基于数据空间正交基的遥感图像混合像元分解方法
CN101221662A (zh) * 2008-01-31 2008-07-16 复旦大学 基于自组织映射神经网络的遥感图像混合像元分解方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张立燕等.端元提取技术在高光谱图像压缩中的应用.《光谱学与光谱分析》.2008,第28卷(第7期),1145-1148. *

Also Published As

Publication number Publication date
CN101807215A (zh) 2010-08-18

Similar Documents

Publication Publication Date Title
Menafoglio et al. A Universal Kriging predictor for spatially dependent functional data of a Hilbert Space
CN101763445B (zh) 一种高光谱图像降维芯片
Magnussen et al. Model-based mean square error estimators for k-nearest neighbour predictions and applications using remotely sensed data for forest inventories
CN101807215B (zh) 一种设计高光谱图像混合像元实时分解芯片的方法
CN110348288A (zh) 一种基于77GHz毫米波雷达信号的手势识别方法
CN102542296B (zh) 一种采用基于多变量灰色模型的二维经验模态分解提取图像特征的方法
CN103679210B (zh) 基于高光谱图像解混的地物识别方法
CN104237883A (zh) 一种采用稀疏表示的机载雷达空时自适应处理方法
US20160291203A1 (en) Adaptive ecosystem climatology
CN103257341B (zh) 基于fpga的自聚焦算法快速实现方法
CN106405533A (zh) 基于约束加权最小二乘的雷达目标联合同步与定位方法
CN103310228A (zh) 基于归一化相关系数的模板匹配高速并行实现方法和装置
CN101853506A (zh) 一种基于优化搜索策略的高光谱图像端元提取方法
CN104950297A (zh) 基于矩阵1范数拟合的阵元误差估计方法
CN105534546A (zh) 一种基于zynq系列fpga的超声成像方法
CN102209962A (zh) 计算离散傅里叶变换(dft)系数矩阵的方法和设备
Kock et al. Hardware-accelerated design space exploration framework for communication systems: Case studies in synthetic aperture radar and interference alignment processing
CN105137454A (zh) 一种基于协方差矩阵特征分解的抗干扰算法的fpga实现方法及实现装置
CN117933095A (zh) 一种基于机器学习的地表发射率实时反演及同化方法
CN103837878A (zh) 一种gnss卫星信号捕捉方法
CN103728616A (zh) 基于fpga的isar成像并行包络对齐方法
CN103776907A (zh) 基于sinc插值的超声相控阵接收信号精延时方法
WO2021068494A1 (zh) 基于平面互质阵列虚拟域张量空间谱搜索的高分辨精确二维波达方向估计方法
CN105608057A (zh) 一种分时复用硬件资源的信号子空间分解的fpga实现模块及其fpga实现方法
CN102624653B (zh) 基于流水线工作方式的可扩展qr分解方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20111130

Termination date: 20121223