# 生成三维模型、正射影像

# 飞行设备

大疆RTK/P4R无人机,大约1万多,需要注意的问题

  • 飞行高度
  • 照片重叠度
  • 电池供电
  • 时间天气
  • 水面采样

# 新建项目

  • 先启动ContextCapture Engine,双击运行ContextCapture Master。
  • 单击新建项目。输入项目名称,项目名称需要使用英文。左侧点击项目名称可以设置存储路径等信息。
  • 新建项目后,选择影像选项卡,添加要建模的无人机照片,导入视频也可以进行解算的(视频是截取视频中的视频帧,不含有pos信息)。
  • 添加影像后,可以更改POS的高程信息(RTK/P4R直接获取的POS为大地高)。
  • 设置降低采样:降低生成模型的密度。
  • 检查影像文件,排除有问题的相片。
  • 导入位置:一些组装相机拍摄的相片(市场上大部分五镜头)中不含有Pos信息,可以在此处添加POS信息。相片名、坐标系等要一一对应。
  • 点云:添加点云数据。
  • 测量:添加连接点和控制点。
  • 3D视图:可以查看空间参考系统、经纬度、高度等信息。

# 控制点

  • 相控点(Control Point)和链接点(Tie Point)

    • 连接点是为了让照片成果参与到空三,为最终的网格结构更加完善。是人工辅助网格构建的过程。
    • 相控点是让最终的网格结构拥有正确的地理位置信息(比例信息),避免畸变。
  • 手动添加相控点 RTK可以导出控制点数据(精确的经纬度数据)。如果只是做三维模型不需要相控点。

    • 选择Common formats 添加控制点文件(.csv .txt .xml)文件指定坐标系。
    • 选择Custom text format(wizard)添加控制点文件(设置起始行、分隔符、选择坐标系、指定与导入数据对应的列)。

# 刺点

  • 选中相控点,选择“Potential Matches”,拖动红色点到正确位置后点“Accept/Update position”。
  • 选择3D视图查看是否正确(不要是红色)。

# 提交空中三角测量

  • 点击概要—提交空中三角测量,输入区块名称。
  • 定位模式:没有相控点选择第五项,有相控点选择使用相控点进行平差/使用相控点进行严格匹配。
  • 空三计算设置:采用默认设置。

# 模型生产(重建项目)

  • 空间框架:设置坐标系、调解边界范围(或点击右上角编辑兴趣区域、也可以导入KML进行范围选取)、切块方式不要超过做大机器内存。
  • 处理设置:孔洞填充(只填充小洞),无纹理区域表示(图像修复完成)。
  • 生产目的:三维网络、三维点云、正射影像、三维模型。

# Auto3D查看

  • 按F12打开控制台,按K键添加关键帧,按下A键自动把关键帧连接起来,动画展示时比较流畅。
  • 可以进行长度、面积等的测量。

# 水面约束(水面破洞修复)

对于水面而言,由于特征点较少,软件在计算时很难匹配正确,导致输出模型的水面通常是支离破碎的。软件针对这种情况提供了一个约束工具,用户手动的为水面添加平面约束后,输出的水面模型就会非常平整。

# 调整方法

首先,完成空三后,先进行一次常规建模,然后在Acute 3D viewer中打开,用测量工具测量一下水面的高度。 再次提交一次建模,然后选择Reconstruction constraints选项,这里提供两种加限制的方式。
水面约束

  • 第一种是谷歌地图的KML格式,对ContextCapture中已导入照片的block点击右键,输出为kml格式,则谷歌地图会根据照片中的GPS数据自动匹配到照相的位置,然后如下截图所示,通过在谷歌地图中绘制polygon选定水面区域,注意这里的高度一定要设置对,可以参考第一次建模后测量出的高度。(如果高度不匹配则kml文件无法导入进ContextCapture。)然后保存这个polygon后,会在谷歌地图左侧列表中出现,点击鼠标右键将其保存为KML文件。然后导入到ContextCapture中。再次进行建模即可。
  • 另一种方式是导入obj格式文件,如果模型是有地理坐标系的,那么obj文件也要定义相同的坐标系和中心点,高度也要正确。如果对OBJ文件的设置不太熟悉,建议使用谷歌地图的KML文件方式。最后进行建模时,软件会针对手动添加的约束对指定区域进行平面化处理。

# 集群设置经验分享

简单来说,集群是让多台计算机同时进行三维建模。

# 基本要求

  • 多台计算机配置需要相同,不然拉后腿反而没效率,案例:A主机平台是I7 8700K 64GB 2080Ti,B主机是i3 8350k 8GB GTX960
  • 集群对网络I/O性能要求很高,意味着你需要准备超千兆或万兆的路由器或交换机,六类或以上能够支撑千/万兆的网线,数据存储在高速固态中,而非慢速的机械硬盘。

# 具体步骤

  • 检查SMB 1.0是否启用
    这个选项必选,为后面的网络共享能够互相发现做铺垫。
    路径:控制面板-程序-启用或关闭Windows功能-找到“SMB 1.0/CIFS文件共享支持”,打钩,确定,重启电脑。
    检查SMB 1.0是否启用

  • 设置网络共享
    控制面板-所有控制面板项-网络和共享中心-高级共享设置,根据下图设置,保存更改即可。
    设置网络共享

  • 设置磁盘共享
    以两台Windows 10 电脑举例,下面用A和B表示。A主机和B主机,都要设置上面的步骤SMB 1.0和网络共享设置)。
    打开A电脑,选择你要共享的磁盘(就是当前你CC项目的盘符),我这边举例V盘。选择V盘,右键-属性-共享-高级共享设置-权限-添加everyone用户,并打钩所有权限,最后应用-确定。
    注意记得添加everone用户。
    设置磁盘共享

  • 检查共享状态
    在地址栏里输入网络,回车或者点击“访问”按钮,然后你会发现你自己,说明共享正常,且被网络发现。
    设置磁盘共享

  • 打开CC开始集群设置
    A主机集群设置,设置UNC和序列目录。
    在A主机中打开CC,新建工程,输入工程名称(不允许设置中文名称),选择工程目录,通过网络共享选择设置目录,这步是关键,如下图所示:
    打开CC开始集群设置
    也就是通过共享路径去设置UNC路径,任务序列目录也必须是共享路径(任务序列目录默认C盘,需要手动在共享路径设置一个jobs文件夹),一定确保两个路径是网络路径,非本地路径。

  • CC中心设置
    A、B主机都打开ContextCapture Center Settings,分别进行设置:填入在A主机设置的“任务序列目录”网络地址,如下图所示,点确定完成。
    CC中心设置

  • 提交空三
    在A主机上选择影像和需要的设置后,点击提交空三。打开A、B主机的引擎。

  • 检查集群状态
    检查A/B主机的引擎状态。
    检查集群状态

  • 查看监视任务序列
    提交空三后,点击“监视任务序列”,现实2个运算引擎端,即设置集群成功。
    查看监视任务序列

# 报错和解决方法

  • 问题1:Error: failed to unlock
    Error: failed to unlock “…\Jobs\Engines\desktop.xml”。
    Error: failed to create Engine information。
    分析:unlock 锁住;无法创建引擎信息。
    解决方法:磁盘共享权限没有设置为读/写,检查共享权限,用户权限的读写要勾选上。

  • 问题2:Ignoring job …
    Ignoring job …,“//test.ccm” not found 忽略任务,.ccm工程找不到。
    分析:工程选项里的网络地址没设置正确;ContextCapture Center Settings里的地址没有设置正确,或是CCCS没有生效,需要手动启用引擎;引擎还是以前或其他地址,打开引擎看地址是不是现在工程的网络地址;
    解决方法:检查工程选项网络路径、检查CCCS网络路径是否对应、检查引擎里的网络引擎是否对应。
    报错和解决方法
    目前暂不清楚为什么CCCS不会立即生效,CC引擎没有同步,还需要时间去琢磨。如果设置后仍然提示Ignoring job …,“//test.ccm” not found,只能手动运行引擎了。

  • 措施1:手动执行CC引擎
    进入cmd界面后。
    输入cd E:\Program Files\Bentley\ContextCapture Center\bin然后回车(要知道自己CC安装的目录)。
    然后输入e:回车键(这里是让命令在CC安装目录的bin文件夹里执行,因为引擎在bin文件夹里)。
    输入CCEngine.exe回车键(这个命令是在CC引擎里执行)。
    输入Starting Engine on job queue FILE:\Lyq0729a\v\project\jobs(这个命令是设置引擎的路径,也就是序列目录的网络地址)。
    此时打开CC,提交空三,回到cmd创建,再输入CCEngine.exe回车键,现在引擎会正常,空三显示测量中。

# 建模软件DP-Modeler

DP-Modeler是天际航自主研发的一款集精细化单体建模及Mesh网格模型修饰于一体的新型软件。通过特有的摄影测量算法,支持航测摄影、无人机影像、地面影像、车载影像、激光点云等多数据源集成,实现空地一体化作业模式,有效的提高三维建模的精度及质量。可对实景三维模型进行踏平、桥接、补洞、纹理修改等操作,实现模型整体修饰。解决自动化成果几何变形,纹理拉花,模型浮空、部件丢失等问题。

DP-Modeler (opens new window)