ContextCapture(原smart3D)入门教程

    ContextCapture使用总结

    一、 基本流程

    1、 打开ContextCapture Center Master打开CC新建新工程,工程名称需要使用英文,指定工程目录。
    ContextCapture(原smart3D)入门教程
    2、 添加影像

    添加影像时可以单张相片添加也可以添加相片文件夹,导入视频也可以进行解算的(视频是截取视频中的视频帧,不含有pos信息)
    ContextCapture(原smart3D)入门教程
    添加影像后,可以更改POS的高程信息(P4R直接获取的POS为大地高)
    3、 影像设置
    设置降低采样,见软件说明
    ContextCapture(原smart3D)入门教程
    检查影像文件,排除有问题的相片
    ContextCapture(原smart3D)入门教程
    4、 添加POS信息
    一些组装相机拍摄的相片(市场上大部分五镜头)中不含有Pos信息,可以在此处添加POS信息
    ContextCapture(原smart3D)入门教程
    相片名、坐标系等要一一对应
    ContextCapture(原smart3D)入门教程
    5、 其它数据
    包括在“点云”中添加点云数据,“测量”中添加连接点和控制点,(此处在控制点添加中详细说明),
    ContextCapture(原smart3D)入门教程
    6、 在“3D视图”中查看
    ContextCapture(原smart3D)入门教程
    7、 提交空中三角测量
    (1)点击概要—提交空中三角测量
    ContextCapture(原smart3D)入门教程
    (2)输入区块名称
    ContextCapture(原smart3D)入门教程
    (3)定位/地理参数
    没有添加控制点时使用本项
    ContextCapture(原smart3D)入门教程
    添加控制点
    ContextCapture(原smart3D)入门教程
    (4)空三计算设置
    一般采用默认设置
    ContextCapture(原smart3D)入门教程
    (5)提交进行空三计算(此时需要打开引擎ContextCapture Center Engine)
    ContextCapture(原smart3D)入门教程
    8、 重建项目(模型生产)
    (1)提示:可进行生产
    ContextCapture(原smart3D)入门教程
    (2)空间框架
    ContextCapture(原smart3D)入门教程
    软件内置的切块方式只有矩形,可通过添加KML或dgn文件选择不规则范围,添加时注意空间参考系统。
    ContextCapture(原smart3D)入门教程
    局部原点为切块时起算原点,改变局部原点可以改变切块时的起点
    (3)重建辅助
    添加约束
    ContextCapture(原smart3D)入门教程
    (4)参考三维模型
    导入修饰模型
    ContextCapture(原smart3D)入门教程
    (5)处理设置
    对生产的模型进行设置一般为默认值,如下:
    ContextCapture(原smart3D)入门教程
    9、 模型生产
    (1) 名称
    ContextCapture(原smart3D)入门教程
    (2) 所要生产的成果
    ContextCapture(原smart3D)入门教程
    (3) 数据格式选择及数据设置(以OSGB为例)
    ContextCapture(原smart3D)入门教程
    (4) 空间参考系统
    ContextCapture(原smart3D)入门教程
    高级选项中的坐标原点(成果中XML文件中的坐标原点)便于模型加载,多次建模后模型成果一起展示,
    ContextCapture(原smart3D)入门教程
    (5) 范围
    与8.2中的设置一致(在模型生产前进一步确认)
    ContextCapture(原smart3D)入门教程
    (6) 输出目录
    ContextCapture(原smart3D)入门教程
    10、 提交成产
    提交生产时打开引擎ContextCapture Center Engine

    二、 控制点添加

    1、手动添加连接点或控制点,点击ADD添加
    ContextCapture(原smart3D)入门教程
    2、添加控制点文件。
    选择Common formats 添加控制点文件(.csv .txt .xml)文件指定坐标系
    ContextCapture(原smart3D)入门教程
    选择Custom text format(wizard)添加控制点文件
    (1)选择文件所在位置
    ContextCapture(原smart3D)入门教程
    (2)编辑文件格式
    ContextCapture(原smart3D)入门教程
    (2)编辑数据属性(选择坐标系)
    ContextCapture(原smart3D)入门教程
    (3)指定与导入数据对应的列
    ContextCapture(原smart3D)入门教程
    如果导入的不是投影坐标系此处为经纬度
    ContextCapture(原smart3D)入门教程

     

     

    三、 集群作业(网络摘取)

    1、相关概念
    问:什么是集群?
    答:不是一台电脑在战斗的工作方式就是集群
    问:集群有什么作用?
    答:快、高效、酷
    2、环境要求
    1、配置好点的主机一台,副机若干
    2、Win10 、Win7皆可( Win10 已成为全球第一大操作系统)
    3、一定要用同一版本的软件!!!一定要用同一版本的软件!!!一定要用同一版本的软件!!!
    3、总体思路

    1. 将集群的所有机器连接到局域网(这里假设我们主机为A,副机为B)
    2. 共享磁盘、映射网络驱动器
    3. 在主机A上建立工程
    4. 设置主机A的UNC路径,Master 和 Setting 两个的任务序列目录以及设置副机B的Setting中的任务序列目录
    5. 测试
    6. 自我总结
      步骤一:设置家庭组
      主机A的操作:控制面板—网络和Internet—家庭组,新建一个家庭组,默认进行下一步即可,记住最终提示的家庭组密码,以供其他机器连接。
      ContextCapture(原smart3D)入门教程
      主机B的操作: 打开机器B的家庭组界面,加入刚才建立的家庭组。上图为已经建立的家庭组在主机A上的截图。
      步骤二:共享磁盘、映射网络驱动器
      主机A的操作: 假设我们在 G 盘下进行任务的建立,那么右键G盘,属性,共享,高级共享,共享此文件夹打勾,然后权限,完全控制&更改&读取全部打勾,组或用户名里面只保留Everyone。确定,确定,确定
      ContextCapture(原smart3D)入门教程
      此时主机A会有这么几个变化:
      ContextCapture(原smart3D)入门教程
      变化1: 多出来的logo就代表盘共享成功
      变化2: 因为我的电脑叫 DESKTOP-973TGC1 ,所以在网络里会出现这个(你的电脑名称查看:我的电脑,右键,属性,就可以看见计算机名)
      主机A的操作:点击网络下的 DESKTOP-973TGC1 ,进去会看见g盘,右键,映射到网络驱动器,读者自行选择(因为我已经映射到Z盘了,所以显示的Y),并且记住自己映射到什么盘了。为了方便下文,在这里统一映射到 Z 盘。
      WIN10中网络下没有发现共享盘可能是服务没有打开,打开方式:
      右键点击开始菜单——点击计算机管理
      ContextCapture(原smart3D)入门教程
      启用Function Discovery Resource Publication属性,启动类型改成自动
      ContextCapture(原smart3D)入门教程
      主机B的操作: 无操作(如果A、B机器想着以后轮换做主机,那么B同样的共享一个盘,然后映射到 Z 网络驱动器即可)
      此时主机A大概是这样的:
      ContextCapture(原smart3D)入门教程
      步骤三:主机工程搭建
      主机A的操作: 在网络下的DESKTOP-973TGC1新建工程!!!在网络下的DESKTOP-973TGC1新建工程!!!在网络下的DESKTOP-973TGC1新建工程!!!下图为我工程的目录树:
      Xian_ShiFan_20180416 //项目总文件夹
      images //存放像片
      jobs //工作路径
      others //辅助资料,pos信息,像控什么的
      project_ssf //工程主要文件
      ContextCapture(原smart3D)入门教程
      步骤四:设置主机A、副机B的一些参数
      主机A设置选项
      1、UNC路径
      2、Master 任务序列目录
      3、Setting 任务序列目录
      副机B设置选项
      1、Setting 任务序列目录
      直接上图,好好看图!!!!!!!!!!!!!!!!!
      第一幅图·············注意是在主机A上操作····································
      ContextCapture(原smart3D)入门教程
      (上图中的任务序列目录貌似要换成我的电脑里的G盘才可以,还是两者都可以,请读者尝试一下,有时间再更博。。。)
      局部放大看得清楚点:
      ContextCapture(原smart3D)入门教程
      ContextCapture(原smart3D)入门教程
      还看不清,直接贴路径:
      UNC路径
      //desktop-973tgc1/g/Xian_ShiFan_20180416/project_ssf/project_ssf.ccm
      任务序列目录:注意是在主机A上操作(注意这个是Master的目录,下面的是Setting 的目录)
      Z:/Xian_ShiFan_20180416/jobs
      第二幅图···············注意还是在主机A上操作······························
      ContextCapture(原smart3D)入门教程
      看不清,放大:
      ContextCapture(原smart3D)入门教程
      贴路径:
      任务序列目录:(注意这个是Setting的目录,上面的是Master的目录)
      Z:/Xian_ShiFan_20180416/jobs
      第三幅图······················副机B上的操作··········································
      ContextCapture(原smart3D)入门教程
      放大:
      ContextCapture(原smart3D)入门教程
      副机上的路径别无选择,只能在网络下选择主机A的G盘
      以上图,好好看!!!!!!!!!!!!!!!!!
      以上图,好好看!!!!!!!!!!!!!!!!!
      以上图,好好看!!!!!!!!!!!!!!!!!

      失败的就是没有好好看上图的人!!!
      步骤五:测试
      测试流程
      1、主机A提交空三任务,打开主机A 和 副机B 的 Engine
      2、检查运算引擎端数量及A和B的 engine 执行情况
      ContextCapture(原smart3D)入门教程
      步骤六:总结
      一路下来,看似很复杂,自己再从头屡屡,总结一下,转换成自己的想法,那么你就真正学会了~~~
      出现以下错误,均是配置不当造成的…
      • Error : task failed (returned : xxxxxxxxxxx)
      • Can not found xxxxxxxxx.xml
      • …
      错误盘查
      是否是同一版本的软件
      是否成功建立家庭组
      是否在每次开机后成功连接家庭组
      是否正确选择自己的盘,网络下的盘,映射出来的盘
      是否在UNC路径前打勾
      是否将共享盘的权限设置为完全控制
      是否选择了正确的jobs文件夹
      是否使用了中文路径
      是否两台电脑都开启了engine
      是否已经提交空三
      是否在旧的工程上开始集群
      是否映射到同一驱动器
      是否建立了正确的工程
      是否工程的照片索引还依旧保持正确
      是否有足够重叠度的像片

     

    四、 常见问题
    1、 文件储出错是打开备份文件
    当电脑异常断电(或其他原因)导致文件无法打开时可在工程文件夹内找到.ccm.bak文件,将.bak文件的扩展名删除,生成新的.ccm文件
    ContextCapture(原smart3D)入门教程

    2、 提交多个成果文件时如何插队
    将Normal中的XML文件移动至High中,解算时先解算High中的XML。
    ContextCapture(原smart3D)入门教程
    3、 坐标系及非固定值中央子午线的设置
    4、 如果坐标系为Beijing 1954,中央经线为102.2度,空三时如何在Smart3D中设置坐标系?
    (1)在坐标系选择界面找到与之临近的坐标系,然后导出,
    (2)在记事本中打开导出的.prj文件,将下图中的两处102修改为102.2,然后保存。
    (3)在定义新的用户坐标系统中加载保存后的.prj文件即可。
    5、 模型倒置的问题
    对于没有引用GPS坐标或控制点坐标的照片,或者坐标值不够精确的照片,在进行空三运算后,可能会出现模型倒置的问题,这时,可以通过添加Tie point进行Z轴方向约束来解决。
    (1) 导入图片后,如下截图选择:
    ContextCapture(原smart3D)入门教程
    (2)、弹出的对话框,如下截图所示,点击绿色加号按钮,并选择其中一张照片,按住shift + 鼠标左键来定位第一个点,照片上的红色加号即为第一个Tie Point。比如选择笔记本的左下角。同样的方式选择第二张照片,在相同位置点击,依次类推,至少要在3张照片中标识同一位置。当然图片越多,定位的一致性越精确越好。
    ContextCapture(原smart3D)入门教程
    (3)、同样的方式定义第二个Tie Point,比如选择笔记本左下角靠上与屏幕平行的位置。这样两个Tie Point连成的线就可以定义为Z轴方向。照片中的蓝色点就是第一个Tie Point,定义第二个Tie Point时,建议使用定义第一个点时用到的那些照片。定义完成后关闭当前对话框并保存。
    ContextCapture(原smart3D)入门教程
    (4)、 如下截图所示,选择添加轴约束。(这里的约束可以同样限制X,Y方向,可以根据情况使用)
    ContextCapture(原smart3D)入门教程
    (5)、如下截图所示,Point A选择第一个点,B选第二个点,AB为Z轴方向。点击OK
    ContextCapture(原smart3D)入门教程
    (6)、 如下截图所示,限制条件被加上了。
    ContextCapture(原smart3D)入门教程
    (7)、如下截图所示,继续进行空三运算,其中一步需要选择 ‘应用Tie Point限制’。
    ContextCapture(原smart3D)入门教程
    (8)、继续进行后续操作,可以看到输出模型不会再倒置。

    6、 模型分块合并
    相邻区域的模型分多次建模后,模型成果放在一起展示。
    同一区域的数据因数据量太大,分块进行空三并输出模型后的成果合并展示。
    1.Smart3D生成模型的时候不论什么投影坐标系统,都有一个原点(类似于CAD当中的0,0点,也可以认为是局部坐标系的坐标原点),生成出的模型的三角格网里面的顶点坐标全都是相对于该坐标原点而来。在提交reconstruction的时候可以设置该坐标原点,如图1:
    ContextCapture(原smart3D)入门教程
    2.Smart3D生成模型的时候,因为机器配置(内存、cpu、显卡)等因素,可能会导致数据量大的时候,模型不能不分块,选择分块后,会根据机器的配置设置分块的大小,有了分块方法和分块大小后,Smart3D会自动为每一块计算出块的名称。比如:Tile_+004_+003。并且构建块的名称的时候是从坐标原点开始的。分块后的结果如图2:
    ContextCapture(原smart3D)入门教程
    基于上述原理,只要是坐标原点一致,且分块大小一致的模型生成成果都可以直接合并,(前提,分块大小一致)。
    (2)模型合并方法
    1.直接合并文件夹
    此种方法需要确认如下信息

    需要确定合并的模型的坐标原点是否一致,查看方法,图1当中的Advanced options,或者是模型同级目录下的metedata.xml文件:
    ContextCapture(原smart3D)入门教程
    需要确定分块大小是否一致,查看方法,图2当中的TileSize,或者把数据加载到LocaSpaceViewer里面,用量测功能简单测量一下。(说明:如果接边不是非常严格,或者两块相邻的模型,中间有一定的间隔,只要坐标原点一致,即使分块大小不一致,只要没有重复的瓦片编号也是可以合并的)
    2. 在使用Smart3D导出模型的时候,设置相同的bounds(可以通过导入kml范围的方式来实现),这样所有的编号就都不会重复了,出的模型可以直接合并文件夹。
    3. 已经生成好的osgb格式的模型文件,也是可以合并的,所有的模型顶点坐标都是相对坐标原点的,因此只要对模型的坐标原点进行平移就可以了,此方法设计到模型本身的修改,不建议使用,常规的操作可以通过编写代码的形式读取模型的每一个顶点然后修改。
    4.如果只是想看到合并后的效果,或者是放在一起进行展示,可以直接使用lsv加载两块倾斜摄影的数据,在生成lfp的时候可以通过设置坐标原点进行偏移、旋转、调整高度,让两块相邻的模型展示的更好。
    5. 以上所有方法都不能完全保证接边问题,要想分块处理,并合并分块处理后的结果,需要通过控制点来完成。控制点的要求,每一个块都要包含适量的控制点,分块时候照片的重叠度要大于航线高度的1.5倍。(牵涉到模型数据采集阶段的要求,此处不做详细说明,有兴趣的可以了解下Smart3D的培训,内有详细介绍,此方法可以保证城市级别的三维倾斜模型分块后完美接边。
    (3)基于模型合并的知识延伸
    1.如果已经对整个区域生成好了模型,发现只有一小部分地区,模型效果不满意,然后进行了补拍,此时需要重新生成所有模型么?
    答案:不用,只需要把补拍的照片导入到已经空三成功的block里,然后重新提交空三,空三完成后,保持上次的生成参数不变,只提交不满意的tiles即可。然后直接拷贝新生成的tiles文件夹到上次的模型结果替换掉老的tiles即可。
    2.机器配置太低,或者数据量太大,导致分块后,块的总个数达到1000甚至10000以上,此时因文件个数太多,导致浏览速度慢,会看到模型一块块的往外蹦,如何加快?
    答案:Smart3D生成模型后也并不是就一成不变了,根节点数太多的情况下,会导致浏览速度和浏览体验急剧下降,一个场景打开了几分钟了,还在读取。针对此问题可以参考倾斜摄影根节点合并,合并后的数据,几乎秒加,瞬间就看到了整个场景的状态,想浏览什么地方就浏览什么地方。

    7、 Engine引擎工作文件夹(Jobs)
    ContextCapture(原smart3D)入门教程
    ContextCapture(原smart3D)入门教程

    8、 相片的参数解释(POS信息的写入等)
    在相片的详细信息里有相片的所有属性信息,包括相片的位置信息;
    ContextCapture(原smart3D)入门教程
    市面上一些常见的五镜头相机为后期组装相机,相片内不含有pos信息,在利用软件解算过程中可以直接在软件中添加POS信息,也可以将pos信息写入到相片中,此处会在我的另一篇文章中详细介绍

    9、 OSGB格式数据的加载与查看
    (1) LocaSpaceViewer中查看,添加lfp索引
    依次打开,场景—数据转换
    添加DATA文件夹,输出文件名,位置信息(一般选择原数据)
    ContextCapture(原smart3D)入门教程
    (2)、3dview打开OSGB
    制作S3C索引文件,在模型生产选项卡中提交生产S3C文件,提交后直接取消生成(可以不用开engine)
    ContextCapture(原smart3D)入门教程
    点击open output directory可以看到如下:
    ContextCapture(原smart3D)入门教程
    在安装目录下打开s3c composer
    ContextCapture(原smart3D)入门教程
    拖拽打开刚生成的s3c文件
    编辑s3c文件
    ContextCapture(原smart3D)入门教程
    ContextCapture(原smart3D)入门教程
    拷贝内容到txt文本,并替换s3c为osgb
    复制替换后的内容,粘贴回命令行,保存输出一个新的s3c文件
    ContextCapture(原smart3D)入门教程
    ContextCapture(原smart3D)入门教程
    拷贝新生成的s3c文件,到osgb 的production下Data同级
    ContextCapture(原smart3D)入门教程
    双击s3c运行
    (3)、用SuperMap iDesktop 9D打开OSGB文件

    ContextCapture(原smart3D)入门教程
    如发布之前许可不可用,将在另一篇文章中介绍。

    10、 空三的设置一般怎么选择?
    (1)关键点密度:一般为普通,仅对影像或纹理不足选择高。
    (2)影像组建构造模式:一般选择一步,若一步无法将大比例的影像包含在主要影像组件,则用多步。
    (3)角元素与位置一般保持默认。
    (4)光学评估模式:一般选择一步,若空三因初始参数和实际值差别太大而失败,则选择多步。
    (5)关于相机,一般保持默认

    cors
    匿名

    发表评论

    匿名网友

    :?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: