有理函数RPC模型
RPC模型的定义
简单讲,就是利用参数拟合严格成像模型:基于严格成像模型,可在物方均匀分布虚拟控制点,再利用这些虚拟控制点计算出RPC模型的90个参数。
RPC模型的系统误差与补偿
由于星载GPS,恒星相机和陀螺仪的传感器带来的系统误差,假设大气,引力等条件对传感器的影响,直接利用卫星星历生成的RPC模型往往具有很大的系统误差。
注意:严格成像模型拟合的RPC参数时的拟合误差是很小的,约0.01个像素,RPC模型误差大的原因是严格成像模型存在系统误差,导致RPC模型也存在系统误差。
严格成像模型在没有控制点的情况下,误差也很大,但用控制点矫正后误差很小,原因是传感器存在系统误差。
而RPC模型能几乎完美的拟合严格成像,但由于传感器的问题,RPC模型也存在系统误差。
RPC参数系统误差的补偿
在传感器自身与环境因素的影响下,RPC模型存在着系统误差,可以通过添加矫正参数再使用控制点给予矫正,即补偿RPC模型。其中包括两种方案:
-
物方补偿方案
物方补偿方案,认为RPC模型定位的系统误差主要是由于其物方坐标系与控制点坐标系不一致造成的,可以通过一个xyz控制点,加以矫正(忽略尺度和旋转的影响)。 -
像方补偿方案
通过选择不同的像方补偿参数而不同,一般的有平移补偿和放射补偿。分别需要1个和3个xyz控制点。
已经有论文表明,平移补偿是足够的。
RPC模型的正反投影
RPC的正投影即物方到像方的映射,三次多项式的RPC参数,拟合了该正向投影。
那如何反向投影呢?
首先,回顾严格成像模型的反投影方法:严格成像模型有线阵推扫的成像模型,如果已知图像上一点和其物方高程,可以通过传感器射线与地球高程面相交的几何关系,求解出像点在物方的坐标。
而对于RPC模型来说,没有具体的几何关系,如何做到反投影呢?
可以通过迭代验证的方式,完成RPC的反投影:
已知像方点和其物方高程,
在物方采用经纬度,用已知高程,完成RPC正投影,然后验证正投影结果与已知像点的差异,通过迭代验证的方式,最终搜索到使投影差最小的物方点坐标,即完成了RPC反投影。
参考:https://github.com/centreborelli/rpcm/blob/master/rpcm/rpc_model.py
RPC模型的区域网平差
所谓区域网平差,其实就是BA(bundle adjustment),通过多张影像之间特征点的重投影误差矫正RPC参数。这种方法不需要物方控制点,可以自动化完成。