1.面向FPGA的递推最小二乘RLS求解有理函数模型RFM参数优化算法,其特征在于,包括以下步骤:步骤一、确定RFM模型的形式;
步骤二、在影像空间中建立“虚拟控制点”格网;
步骤三、在地面空间中建立“虚拟控制点”格网;
步骤四、根据所建立的“虚拟控制点”,利用RLS求解RFM模型参数a1~a20、b2~b20、c1~c20、和d2~d20;模型参数[c1,c2,…,c20,d2,d3,…,d20]的求解过程与模型参数[a1,a2,…,a20,b2,b3,…,b20]的过程相同;模型参数[a1,a2,…,a20,b2,b3,…,b20]的求解过程具体为:‑1
分别随机初始化参数矩阵F和系数矩阵Q 为F0和 其中矩阵F0和 的大小分别为39‑1×1和39×39;把N个“虚拟控制点”依次带入递推公式(1)和(2),分别更新系数矩阵Q 和参数矩阵F为 和Fρ+1,直至最后一个“虚拟控制点”;
其中,ρ为“虚拟控制点”序号,取值范围为[0,N‑1];参数矩阵F=[a1,a2,…,a20,b2,Tb3,…,b20];mρ+1为根据第ρ+1个“虚拟控制点”计算得到的系数向量,即:L、P、H分别为第ρ+1个“虚拟控制点”的正则化大地坐标;J为第ρ+1个“虚拟控制点”的列像素坐标的正则化坐标; 为纯量;E为单位矩阵;
步骤五、精度评定。
2.根据权利要求1所述的面向FPGA的递推最小二乘RLS求解有理函数模型RFM参数优化算法,其特征在于,步骤四中,所述的利用RLS求解RFM模型参数a1~a20、b2~b20、c1~c20、和d2~d20的步骤为:‑1 ‑1
S1、分别随机初始化参数矩阵F、参数矩阵K、系数矩阵Q 、和系数矩阵O 为F0、K0、 和矩阵大小分别为39×1、39×1、39×39和39×39;
‑1
S2、把N个“虚拟控制点”依次带入递推公式(3)、(4)、(5)、和(6),分别更新系数矩阵Q 、‑1系数矩阵O 、参数矩阵F、和参数矩阵K为 Fρ+1、和Kρ+1,直至最后一个“虚拟控制点”;
其中,ρ为“虚拟控制点”序号,取值范围为[0,N‑1]; 为纯量;
T
为纯量;E为单位矩阵;参数矩阵F=[a1,a2,…,a20,b2,b3,…,b20];
T
参数矩阵K=[c1,c2,…,c20,d2,d3,…,d20] ;mρ+1和nρ+1为根据第ρ+1个“虚拟控制点”计算得到的系数向量,即:其中,I、J为第ρ+1个“虚拟控制点”的正则化像素坐标;L、P、H分别为第ρ+1个“虚拟控制点”的正则化大地坐标;
S3、输出最终的RFM模型参数a1~a20、b2~b20、c1~c20、和d2~d20。
3.根据权利要求2所述的面向FPGA的递推最小二乘RLS求解有理函数模型RFM参数优化算法,其特征在于,在S2步骤中,为了便于FPGA硬件实现,公式(3)~公式(6)优化为以下计算过程:s1、初始化:F0、
s2、forρ=0:N‑1
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;
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的矩阵;
rW为39×39的矩阵;rtemp2、temp2、invtemp2、rJ、detaJ为纯量。
4.根据权利要求3所述的面向FPGA的递推最小二乘RLS求解有理函数模型RFM参数优化算法,其特征在于,为了能够快速获取矩阵相乘的结果,设计了面向FPGA硬件的矩阵乘法并行结构;矩阵乘法的并行结构由相互独立的乘法累加器PE组成;PE之间不需要进行数据交换和通信。
5.根据权利要求4所述的面向FPGA的递推最小二乘RLS求解有理函数模型RFM参数优化算法,其特征在于,所述矩阵乘法并行结构计算过程如下:对于大小均为39×39的矩阵A、B、C,A0101~A3939和B0101~B3939分别为矩阵A和矩阵B中的元素;C0101~C3939为矩阵C中的元素;为了能够正确计算A×B=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。