1.面向FPGA的RLS求解RFM模型参数优化算法,其特征在于,包括以下步骤:步骤一、确定RFM模型的形式;
步骤二、在影像空间中建立“虚拟控制点”格网;
步骤三、在地面空间中建立“虚拟控制点”格网;
步骤四、根据所建立的“虚拟控制点”,利用RLS求解RFM模型参数;
步骤五、精度评定。
2.根据权利要求1所述的面向FPGA的RLS求解RFM模型参数优化算法,其特征在于,步骤四中,所述的利用RLS求解RFM模型参数的步骤为:S1、随机产生初始化矩阵F0和 大小分别为39×1和39×39;
S2、根据以下公式,依次利用“虚拟控制点”递推的计算RFM模型参数a1~a20和b2~b20(或c1~c20和d2~d20),直至最后一个“虚拟控制点”;
(或 )
其中,
F=(a1,a2,a3,...,a20,b2,b3,...,b20)TK=(c1,c2,c3,...,c20,d2,d3,...,d20)T其中,Fρ和Fρ+1为39×1的矩阵; 和 为39×39的矩阵;E为39×39的单位矩阵;mρ+1为1×39的矩阵;ρ为“虚拟控制点”序号;Jρ+1、Iρ+1为第ρ+1个“虚拟控制点”的正则化像素坐标; 为纯量;
S3、输出最终的RFM模型参数a1~a20和b2~b20(或c1~c20和d2~d20)。
3.根据权利要求2所述的面向FPGA的RLS求解RFM模型参数优化算法,其特征在于,在S2步骤中,为了便于FPGA硬件实现,所述的计算公式优化为以下计算过程:s1、初始化:F0、
s2、forρ=0:N-1
s3、
s4、rtemp2=mρ+1×temp1;
s5、temp2=1+rtemp2;
s6、invtemp2=1/temp2;
s7、temp=temp1×invtemp2;
s8、rJ=mρ+1×Fρ;
s9、detaJ=Jρ+1-rJ;
s10、rS=temp×detaJ;
s11、Fρ+1=Fρ+rS;
s12、rW=E-temp×mρ+1;
s13、
s14、end
其中,F0和 为随机产生的初始矩阵,大小分别为39×1和39×39;Fρ和Fρ+1为39×1的矩阵; 和 为39×39的矩阵;E为39×39的单位矩阵;mρ+1为1×39的矩阵;ρ为“虚拟控制点”序号;Jρ+1为第ρ+1个“虚拟控制点”的正则化像素坐标;temp1、temp和rS为39×1的矩阵;rtemp2、temp2、invtemp2、rJ、detaJ为纯量。
4.根据权利要求3所述的面向FPGA的RLS求解RFM模型参数优化算法,其特征在于,为了能够快速获取矩阵相乘的结果,设计了面向FPGA硬件的矩阵乘法并行结构;矩阵乘法的并行结构主要由相互独立的乘法累加器PE组成;由于PE之间不需要进行数据交换和通信,因此该矩阵乘法的并行结构具有很好的扩展性,在硬件资源充足的条件下,理论上可以实现任意维度的矩阵乘法。
5.根据权利要求4所述的面向FPGA的RLS求解RFM模型参数优化算法,其特征在于,所述矩阵乘法并行结构计算过程如下:
以A×B=C为例对矩阵乘法的并行计算原理进行描述,其中矩阵A、B、C的大小均为39×
39;A0101~A3939和B0101~B3939分别为矩阵A和矩阵B中的元素;C0101~C3939为矩阵C中的元素;为了能够获得正确的计算结果,需要在同一时刻并行的把矩阵A和矩阵B中的元素发送到对应的PE处理单元中,其中矩阵A和矩阵B分别以列优先和行优先的方式向对应的PE处理单元发送数据;例如,在t时刻,矩阵A的第1列数据,即A0101被广播到第1行的PE处理单元中(即PE0101~PE0139),A0201被广播第2行的PE处理单元中(即PE0201~PE0239),以此类推,A3901被广播第39行的PE处理单元中(即PE3901~PE3939);而B矩阵的第1行数据,即B0101被广播到第1列的PE处理单元中(即PE0101~PE3901),以此类推,B0139被广播到第39列的PE处理单元中(即PE0139~PE3939);当上述数据完成乘法累加运算后,矩阵A的第2列数据和矩阵B的第2行将按照上述过程发送到对应的PE处理单元中进行乘法累加运算,矩阵C中的元素C0101~C3939将得到更新;当矩阵A最后一列的元素和矩阵B最后一行的元素按照上述过程完成乘法累加运算后即可得到最终的矩阵C。