百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程网 > 正文

CC(Smart3D)基础→进阶详细教程,提高空三效率、提升模型效果

yuyutoo 2024-10-29 17:28 4 浏览 0 评论

本文分两部分

01基础篇

很全面详细的讲解了CC(Smart3D)的建模流程

02进阶篇

分享了集群、提高空三效率、提升模型效果、

不同航高航片,空中+地面照片及大区域联合建模方法

建立索引、电脑三维配置


01

基础篇


01

新建工程

新建工程,设置工程路径

02

导入照片

导入本机照片。如需集群处理,则需要导入网络路径下的照片,详见6.2工程设置:

导入照片

Set downsampling(设置采样率):该参数只会在空三的过程中对照片进行重采样空三,建模时仍旧使用原始分辨率影像。

Check image files...(检查航片完整性):建模失败的时候可以用此功能进行数据完整性检查。

Import positions...(导入POS):导入POS格式如下,

a. 如果有多个照片组(Photogroup)则必须保证每个照片组中的照片名称唯一,否则会导入失败;

b. POS路径必须为英文;


相机参数

每个照片组(Photogroup)都会有一个相机参数,可以在右键菜单中导入或导出相机检校参数(特别对CC4.4以后版本有用)。

03

空中三角测量

3.1常规空三流程

空三参数设置,如第一次使用,则建议直接按照默认参数,只需“下一步”即可,如欲了解其中参数意义则进入如下内容:

(1)设置名称,最好根据飞行架次或项目信息进行设置

(2)参与空三的照片,默认使用全部照片

(3)照片定位或地理参考设置

(4)空三参数设置,通常默认参数即可

a.对于地名拍摄照片,可能会修改“Keypoints density”、“Pair selection mode”、“Component construction mode”三个选项;

b.对于航空拍摄照片,通常使用默认参数,如果多个架次且存在航高不一致的情况,则可能会修改“Pair selection mode”、“Component construction mode”两个选项;(实例:百里峡漂流两个架次航高不一致)

(5)空三检查

1首先保证General选项卡中显示Georeferencing情况的空三结果,才能进行建模操作。

2然后在特征点的三维视图中检查又没有明显的分层或交叉现象

? 主要查看航片有没有交叉;

? 特征点在道路或房屋区域有没有分层;

? 检查像控点又没的平面和高层误差是否过大;


检查航片位置


检查像控点误差

3.2空三刺点(在航片上刺地面像控点)

? 导入像控点

导入像控点之前需要先选择坐标系,此次坐标系更加像控点的坐标系进行选择,

如果像控点使用的是地方坐标系,个人建议使用局部坐标系笛卡尔(cartesian)坐标系。


导入像控点

? 刺点

选择坐标系并刺点

注(个人观点):刺点一般尽量分布在多个航带的照片上,每个航带刺点数量不少于9张,若是边缘点或者某些航线照片较少可以低于此标准,一般不低于3张。

3.3导入/导出空三流程

? 导出空三


导出已完成空三

? 导入空三


导入其他已完成空三

04

模型重建

然后在空三结果中开启一个重建,使用“General”选项卡中右下角的“New reconstruction”按钮,如下图


新建reconstruction


新建reconstruction后

4.1重建参数设置

建模开始之前,必须进行建模参数设置,如下图所示,为建模之前必须设置的参数。


建模参数设置

4.1.1设置坐标系(初学直接略过)

对于空三后在General选项卡中显示Georeferencing情况的空三结果,才可以在建模时设置坐标系。以及进行地理坐标(大坐标)的像控点刺点工作。对于空三后显示的为relative和absolute状态的块,则只能使用小坐标(四位整数以内)的坐标进行刺点,此时时不支持国家地理坐标的。


参数设置概览


选择坐标系

注:此处建议项目成果坐标系或ENU坐标系。


搜索坐标系

4.1.2设置建模范围(初学可以略过)

根据视图中的空三结果修改需要建模的区域。

(1)使用软件自带的工具修改建模范围,以及导入KML进行修改;


使用软件自带工具修改建模范围前


使用软件自带工具修改建模范围后

(2)使用第三方软修改建模范围

a.在块中输出空三结果中的照片位置为KML文件;

b.使用Global Mapper软件打开该KML文件,根据照片位置勾绘多边形,导出为KML格式;


c.导入在Global Mapper软件中勾绘的多边形;

分块大小设置:设置好瓦片划分模式及瓦片大小后,需要注意内存使用大小(Expected maxium RAM usage per job)不超过24G(计算机内存32G)。此处的内存使用大小是根据空三完成后的特征点数量进行计算的,由于CC4.4以后的版特征点数量大幅下降以及有些区域特征点本身较少的原因,因此推荐以参与建模的照片数量来确定瓦片数量。

瓦片划分建议参考位置

4.1.3设置瓦片划分方式及瓦片大小

(1)使用规则瓦片

(2)使用不规则瓦片

此功能在4.3以后版本中增加,主要由于现阶段部分平台对该种瓦片划分方式支持较差以及数据后处理难度较大,为保险起见,当前建议不使用该种瓦片划分方式。

4.2生成产品

选择Reconstruction1,点击General选项卡中的“Submit new production”按钮。


提交产品

4.2.1产品名称

建议工程或数据名称+格式组合

4.2.2确定生成的产品类型(初学,使用默认)


选择产品类型

4.2.3确定生成的产品格式(初学,使用默认)


选择产品格式

4.2.4确定产品的坐标系及平移量(初学略过)


选择坐标系

注:如上图所示,为生成产品的过程中进行的坐标系选择,如果希望OSG模型能直接导入Skyline平台则:a.使用默认的ENU坐标系;b.导入时取消导入第二个选项中的.xml文件,导入成功后再到“Output”文件夹立面修改LODTreeExport.xml文件中的坐标系信息。

设置原点(如果一个工程分几个区域建模,同时又希望使用S3C_Composer建立索引时可以修改)

4.2.5再定义产品的范围(初学略过,非紧急任务也可略过)

此功能可以作为在节点足够的情况下加快建模速度的一个方式,对于需要生成正射影像的工程,不建议在此重新定义范围,否则会导致正射影像生成不完整。最好采用4.1.2中的方法设置产品生成范围。


通过鼠标选择分块

4.2.6提交并运行


提交产品

提交状态

05

开启引擎

1、检查工程中配置的发布任务路径(便于各节点到改路径读取任务)


工程中配置Engine工作路径

2、每个节点使用CCSeting设置引擎读取任务的路径,需要和工程的中发布的任务路径一样


CCSeting中设置Engine路径

3、打开引擎

引擎最终的执行任务角色,它会根据本节点计算机中CCSeting中设置的路径,到改路径下领取任务并执行。

02

进阶篇

06

集群配置

6.1文件共享方法(路径配置——工程及Jobs均需设置为共享路径)

(1)文件共享设置

(2)共享文件的密码保护设置(共享文件夹后,其它机器访问时仍需要密码,可通过以下方式修改)

打开“网络和共享中心”

6.2工程设置

1照片路径设置

一定要导入共享路径下的照片,保证照片来自网络路径。


导入网络路径照片

2使用工程发布新建及设置工程,以及发布任务(Jobs)

3各节点机器中通过CCSeting设置本机执行任务(Jobs)的位置,然后开启个节点的机器执行任务

07

提升空三成功率

7.1方法一:软件版本选择

大概的空三效果对比4.0>4.2>4.4.0>4.1>4.3(此次为个人经验,未作论证),4.4.6以后版本在空三中引入集群处理方式,但初步测试效果弱于4.4.0。优点是新版本速度快。

7.2方法二:修改空三参数

(1)空三参数设置中,关于“Component construction mode”参数的应用,“One-pass”和“Multi-pass”不同的空三效果(针对某些架次之间空三不好时的情况,和部分照片位入网的情况)。

图7-1 空三参数详细设置

图7-2 使用“One-pass”进行空三后的结果(使用照片自带GPS定位信息)

图7-3 使用“Multi-pass”进行空三后的结果(使用照片自带GPS定位信息)

(2)导入相机参数

为每个照片组分别导入相机检校参数,

a.如果已经进行过相机检校则直接输入或导入相机参数;

b.如果已经进行过空三则可以导入软件子检校的相机参数(此法对于无相机检校参数空三失败时有效,也即最好在空三前导入相机参数,此时可以导出空三结果良好的架次之相机检校参数用于其他架次)。

图7-4 导入相机参数

(3)修改位置和姿态参数(终极提升方式)

在4.3以后的版本中,如果空三结果不好,则可以将下图中两个参数设置为Compute在已有的结果上再次进行空三。

图7-5 修改位置和姿态参数

08

提升模型效果

8.1改进拍摄方式(未进行严密论证)

建议在空中+地面拍摄的方式建模时,在使用地面照片拍照的上方使用大疆精灵补充拍摄一层(镜头倾斜)。具体拍摄方式如下图9-5所示,如果条件允许建议使用图9-6中所使用的拍照方式,

(注:针对建筑物前有树木遮挡的情况,建议尽量使用精灵进行补拍,不建议使用地面拍摄,除非树木极为密集则可以使用地面相机补充屋檐。如必须进行地面补拍,则需尽量避开树木。)精灵建议补拍方式:(拍摄距离不应低于30米,特殊情况下可以先让相机倾斜的较为厉害,不建议直接近距离进行拍摄,必须先保证精灵将屋顶和侧面完全覆盖以后再考虑拉近拍摄。)



图7-5 精灵补充拍摄方式

图7-6 多层渐近拍摄方式

8.2调整航片

根据原始航片进行建模得到的三维模型效果一直不出色,后在建模之前对原片进行特色后模型效果有部分提升,以下为使用到的一些参数。

(1)使用Camera Raw工具(快捷键Ctrl+Shift+A)中的“fx”选项卡中的去雾工具对照片进行去雾,对比度,特别是其去雾效果很好;然后再使用阴影/高光(图像--->调整-->阴影/高光)可以加亮暗部,压缩亮部。

初步形成经验参数:

不严重

严重

去雾

30-50%

70-80%

锐化

15-20

对比度

15-25

清晰度

15-25

色温

5-10

色调

-5—-15

Camera Raw调整效果

(2)添加颜色蒙板





8.3调整建模参数

8.3.1几何精度参数

Extra/High:模型细节好,数据量大(4倍左右),建模时间长(2倍以上),建议大型或超大型项目使用;

Middle:模型细节差,数据量小,建模时间短,建议中小行项目使用。

Extra和Middle两种精度对比

8.3.2补洞参数

Fill all holes except at tile boundries:每个瓦片模型除了边缘的孔外,没有内部孔

Fill small holes only:每个瓦片模型中出来极小的孔被软件自动填充后,会留下部分孔。

8.3.3平面简化参数

在Reconstruction参数设置中,将最后一个选项卡“Processing settings”中的“Geometric simplification”的参数设置为“Planer”。表示对生成的模型进行平面简化。此参数使,a.路面更平(但造成阶梯路面),b.建筑物形成直角,但是同时又导致模型的三角面比较破碎,对某些模型会严重降低显示效果。因此该参数慎用,使用时建议小于默认参数。


几何简化


几何简化后效果

8.4修改模型和纹理--导入约束

1导入水面约束

可以导入三维模型或者kml,或使用三维obj模型。如果是kml注意导入路径必须为英文路径,且该kml文件中的多边形的每个节点必须有高程。


导入约束


更新模型

2导入模型约束

如果对于模型局部地方需要修改,如建筑物、公路或一些漂浮物,则需要先生成一份该区域的obj格式模型,到每个Tile中去修改obj。然后再将修改的obj按照原有的目录形式保存,再使用Reconstruction中的“Reference 3D Model”选项卡,使用它“Import Retouches...”工具导入修改好的obj模型。如下图所示,在“Import Retouches”对话框中,分上下两个部分,上面部分只是针对修改的模型重新进行纹理映射(会改变模型UV),下面部分则对按照导入的模型和纹理进行格式转换。(如果需要生成多级模型建议先修改模型然后更新,再使用更新的模型进行纹理修改进入下面的固定模型和纹理操作)

注:如果在生成obj模型时改动过坐标系,则在导入的obj模型坐标系应和生成时的坐标系一致。

09

不同航高航片、空中+地面照片及大区域联合建模方法

无像控点的情况下(小区域)

(1)使用高航高航片或者空中照片进行建模,然后在模型上刺点,将这些点作为低航高航片或地面照片的控制点。

(2)对低航高航片或地面照片进行空三,然后合并空三(Merge blocks)进行建模即可。

2使用像控点的情况下(适合不同航高及大区域联合建模是使用)

只需要分别根据像控点刺点进行空三后,再使用合并空三(Merge blocks)进行建模即可。


合并多个空三

010

建立索引

利用CC软件自带的CCViewer查看osgb数据

011

系统要求

系统推荐:推荐win10专业版或企业版

硬件推荐:CPU:i7(主频高第一,核心多第二)

内存:32G以上

显卡:Nvidia GTX1070以上

广州君和信息技术有限公司

专注

BIM咨询|软件出售|BIM平台研发

建模出图|BIM培训||工程动画

咨询热线:4000333136

微 信:18122393143

相关推荐

12、高阶组件:魔法增幅器——React 19 HOC模式

一、魔法增幅器的本质"高阶组件是魔法师用咒语叠加的炼金术,"霍格沃茨魔咒研究院院长凝视着发光的增幅器,"通过函数式能量场的嵌套,让基础组件获得预言家日报式的逻辑继承!"...

深入理解nodejs的异步IO与事件模块机制

一、node为什么要使用异步I/O异步最先诞生于操作系统的底层,在底层系统中,异步通过信号量、消息等方式有广泛的应用。但在大多数高级编程语言中,异步并不多见,这是因为编写异步的程序不符合人习惯的思维逻...

前端时间同步利器:React + useEffect 实现高性能动态时钟

前言在你奋笔疾敲代码的瞬间,是不是突然一低头,发现时间像偷偷跑路的变量,一眨眼就从上午飘到下午?饭没吃、会没开、工位也快被前端猫霸占了。仿佛你写的不是代码,而是“时间穿梭机”。别慌,咱们今天就来用R...

JavaScript 异步编程指南 - 聊聊 Node.js 中的事件循环

作者:五月君来源:编程界|事件循环是一种控制应用程序的运行机制,在不同的运行时环境有不同的实现,上一节讲了浏览器中的事件循环,它们有很多相似的地方,也有着各自的特点,本节讨论下Node.js中...

10个Vue开发技巧「实践」

作者:WahFung转发链接:https://juejin.im/post/5e8a9b1ae51d45470720bdfa路由参数解耦一般在组件内使用路由参数,大多数人会这样做:...

通过番计时器实例学习 React 生命周期函数 componentDidMount

大家好,今天我们将通过一个实例——番茄计时器,学习下如何使用函数生命周期的一个重要函数componentDidMount():componentDidMount(),在组件加载完成,render之后...

SRE监控四大黄金指标,任何一个有异常都会是灾难……

导读...

前端必看!10 个 Vue3 救命技巧,解决你 90% 的开发难题?

写Vue3项目时,是不是总被数据更新延迟、组件间传值混乱、页面加载缓慢这些问题折磨得头秃?别担心!作为摸爬滚打多年的老前端,今天掏出压箱底的10个实战技巧,从性能优化到复杂逻辑处理,每一个都能...

如何用2 KB代码实现3D赛车游戏?2kPlus Jam大赛了解一下

选自frankforce作者:Frank机器之心编译参与:王子嘉、GeekAI控制复杂度一直是软件开发的核心问题之一,一代代的计算机从业者纷纷贡献着自己的智慧,试图降低程序的计算复杂度。然而,将一款...

证明你访问的网站是你想访问的,Safari 真的需要

安全研究员在Safari上找到了一个新漏洞,能让网站在浏览器的地址栏内将自己伪装成另一个网站——得益于Safari地址栏的“智能缩略”功能。在Deusen最近公开的攻击演示(PoC,P...

抓狂!TS 组件性能拉胯到崩溃?4 个绝杀技巧逆风翻盘!

前端兄弟姐妹们五一假期快乐,咱们谁还没被TypeScript组件的性能问题折磨过?页面加载转圈圈,点击按钮没反应,代码改了一轮又一轮,性能却还是原地踏步,分分钟想砸电脑!别慌,今天这4个绝杀技...

让小球做圆周运动,你有几种办法?

最近在阅读外国技术文章中无意中发现了一个神奇的CSS属性motion-path,它可以让Dom元素可以按照自定义的路径移动。又想起了很久之前参加校招面试的时候,面试官问了我一个问题“能不能不借助库实现...

前端基础进阶(十四):深入核心,详解事件循环机制

EventLoopJavaScript的学习零散而庞杂,很多时候我们学到了一些东西,但是却没办法感受到进步!甚至过了不久,就把学到的东西给忘了。为了解决自己的这个困扰,在学习的过程中,我一直在试图寻...

从0搭建一个WebRTC,实现多房间多对多通话,并实现屏幕录制

这篇文章开始会实现一个一对一WebRTC和多对多的WebRTC,以及基于屏幕共享的录制。本篇会实现信令和前端部分,信令使用fastity来搭建,前端部分使用Vue3来实现。为什么要使用WebRTCWe...

Vue2 开发卡壳?这 10 个实战技巧专治各种不服

干前端开发的兄弟,谁还没被Vue2折腾过?数据不更新、组件通信乱成麻、性能差到想砸电脑……这些痛点,我都懂!今天直接甩出10个超实用的实战技巧,每一个都是从项目“血坑”里爬出来总结的,专...

取消回复欢迎 发表评论: