在关于P4R一系列的文章更新过程中,陆续有提到过CC空三处理完成后影像位置偏移比较大的问题(主要是球形、拱形、折叠),之前提到过两个解决方法:1、拍摄影像时打开纠正畸变功能;2、如不打开畸变修正,则输入影像XMP文件内的相机内参和校正参数,参考《PPK数据处理实例以及P4R未进行畸变修正影像处理方法》。然而通过这两种方式仍然有一些用户在处理时产生空三处理后影像计算后的位置扭曲过大或参与重建的影像很少的问题。今天我们就来分享一种可以从根本上解决这个问题的办法,配图为正确的空三处理后的3D视图。
要解决这个问题,我们首先要了解产生这些问题的原因:
影像计算优化后的位置扭曲过大,出现类似这样错误,空三计算后,相机内参和校正参数一般会和我们初始给定的值差异较大,说明这一步是相机校准出的问题,校准出的参数严重偏离真值。
出现这样的错误,由于P4R的影像定位精度很高,我们可以在提交空三计算时选择在容差范围内平差位置,保持或者平差调整相机参数。
这样会带来新的问题,通过空三校准的影像较少
空三后飞点状况严重
通过以上几种情况,我们基本可以判断出问题是出在CC影像畸变能力比较弱(相机校准)或者说空三计算能力较弱引起的。找到问题出在哪,我们就可以想办法解决,CC是支持第三方空三结果导入进行重建的。因此,我们只要找一款空三计算能力优秀+影像畸变纠正能力比较强的软件进行空三计算,将空三结果导入CC进行重建即可。这里我们选择的软件是PhotoScan,通过PhotoScan进行空三计算,然后导入CC进行模型重建。
图为PhotoScan进行空三计算后的成果(PSc内叫照片对齐)
图为PhotoScan的空三成果导入CC
从3D视图可以看出,通过这种方式进行数据处理,结果明显优于CC。下面我将结合《一步步教你用PPK实现地方坐标系高精度免像控处理》中通过PPK处理出的地方坐标数据进行处理并分步展示,请大家参考。
空三处理
1、导入影像
打开PhtoScan在工作区添加影像
2、相机标定
打开“工具”-“相机校准”弹出相机标定对话框,填写相机内参和校正参数
相机内参和校正参数获取方式如下:
3、导入POS
打开参考面板,选择导入
在弹出的对话框中选择POS文件并且导入,弹出新的对话框如下:
由于我使用地方坐标系是通过54坐标系中央子午线为120E因此选择该坐标系,在“列”选项下,选好北、东对应的列数,导入时可以选择导入POS精度,也可以导中央入后批量修改。如需导入控制点,执行相同的操作,建议运行一遍照片对齐后标记控制点,会自动匹配出相应的影像。
4、照片对齐
在“工作流程”菜单下选择“照片对齐”。弹出如下对话框:
设置好精度后开始运行照片对齐,结果如下:
5、空三结果导出
“文件”菜单下选择“导出”-“导出相机”弹出如下对话框:
选择格式为Blocks Exchange,至此在PhotoScan内的数据处理就结束了,接下来我们开始CC内的处理。
模型重建
1、导入空三结果
打开CC,新建工程,在“区块”菜单下选择“导入”-“导入区块”,导入之前导出的XML文件
导入完成后,即可进行重建
2、模型重建
空间框架下选择正确的坐标系统,设置好重建辅助内容即可提交生产项目,根据自己的要求设置好生产项目对话框内容,输出合适的格式。提交任务即可。
3、成果展示
生成模型效果如下,由于只有正摄方向照片,因此立效果较差。
如拍摄倾斜影像,则模型效果如下: