由没有POS信息的影像生成Cesium 3d tiles的操作步骤
使用ContextCapture生成Cesium的3d tiles模型时是需要照片具有POS信息的,但有时采集的相机不具有记录POS信息的功能,这就需要在建模时加入控制点来添加位置信息。
1. 打开ContextCapture Engine ;
2. 打开ContextCapture Master ;
3. 点击新建project;
4. 点击Block_1,点击
Photos,点击
添加图片;
5. 点击Control points,点击
编辑控制点,点击
添加控制点,
选择WGS 84,
添加经纬度和高度(经纬度可以在http://www.gpsspg.com/maps.htm网站上拾取,选谷歌卫星图,分辨率高,一般都选房子的墙角);
6. 在图片上shift+左击选取对应的点;
7. 在多张图上选点,原则上大于3张,但是最好多选几张;
8. 继续添加控制点,重复5-7步,原则上选点大于3个,但是也最好多选几个;
9. 控制点编辑好后点击关闭,选择save,保存;
10. 右击Block,选择submit aerotriangulation,进行空三;
11. 因为已经添加编辑过控制点了,而且是不精确的,所以地理参考选择最后一项(最后一项是控制点坐标不精确,倒数第二项是控制点坐标精确),然后下一步,提交,开始进行空中三角测量;
12. 空三后点击3D view查看相片位姿和稀疏点云,看生成效果是否良好,也就是相片大概符合飞行轨迹,稀疏点云能形成模型大概轮廓。(1)效果好可以直接进行下一步。(2)效果不太好即有少量相片偏离飞行轨迹,可以在图上选取相片删除,都删除后效果良好可进行下一步。(3)效果很不好,即大量相片位置混乱,只能继续进行空三,右击生成好的Block-AT选择submit aerotriangulation,此时由于空三过相片被赋予了位置信息,所以也可选含有位置信息的相片做空间参考,如果效果还不好可多次进行空中三角测量直到良好;
13. 右击效果良好的Block-AT ,选择New reconstruction,新建重建任务;
14. 选择Spatial framework,修改xyz范围,根据右面的黄框修改建模的范围;
15. 瓦片分割设置,二维分割,主要是保障内存够用,一般设置为电脑内存的一半左右
,软件低版本的是设置瓦片的大小,高版本是直接设置用多少内存;
16. 右击重建任务选择submit new production,开始建模,第一次建模purpose最好选择retouching,可以先进行模型修整。
Format中的include texture maps勾不勾选均可(勾选生成的有纹理,修整时更直观,但速度较慢;不勾选生成白模,速度快一些,但修整时可能会不太方便)。
其他一直next,然后提交,开始建模;
17. 将生成的obj格式的模型用cloudcompare等第三方三维模型编辑工具进行修整,主要是删除碎片,裁剪外围轮廓,(注意:不能进行旋转!否则后面贴文理会有偏差。如果空三后模型倾斜严重只能再次进行空三。);
18. 导入修正的瓦片。选择重建任务reconstruction,选择
,点击右侧
,导入修正后的瓦片,
之前生成的修正模型是白模选上面的添加修正瓦片,
如果带有纹理选择下面的添加修正瓦片,
然后import导入;
19. 继续右击重建任务选择submit new production,purpose选择3Dmesh,
Format选择Cesium 3d tiles,选择纹理质量,然后一直next,提交,最后生成模型。(注意:只有较高版本的Format才有Cesium 3d tiles选项(4.4的可以,4.1的不行)。)
备注:
1. 以上适用的是没有POS信息的影像生成模型,最后生成Cesium 3d tiles的形式,用于web端快速加载海量三维模型。添加控制点主要是给模型赋予地理参考,有POS信息的影像生成模型会有地理参考,所以可不添加控制点,直接进行空中三角测量。(使用有POS信息的影像生成模型效果应该比较良好);
2. 关于模型倾斜的问题,https://communities.bentley.com/communities/other_communities/chinafirst/w/chinawiki/30572/contextcapture 这里有解决方法,试过,效果不理想,有兴趣可以进行尝试。
3. 如果只想生成如obj格式的模型,无需添加控制点,也不用生成retouch格式,直接3Dmesh——obj即可,关键就是空三后的效果要好。