三维激光建模参考实例
4.1.3.1 点云数据处理每一个岩石的表面都比较复杂,很多岩石景深比较深,导致点云数据不能完全反映出岩石的真实轮廓。所以,每块岩石的整体模型需要很多站的数据拼接起来得到。1)利用专业软件Faro Scene 进行点云数据的首次处理。首先打开 Faro Scene 软件(图4.21)。点击 【文件】,导入点云数据,Faro Scene软件首先处理的对象是fls格式的文件(图4.22)。图4.21 Scene 软件初始界面图4.22 Faro Scene 软件文件操作菜单2)然后默认弹出一个浏览窗口用来浏览被打开文件的窗口(图4.23)。图4.23 导入扫描数据视图3)寻找到我们要打开的文件的所在位置点击点云数据的fls文件打开(图4.24)。图4.24 选取点云数据文件视图4)数据文件就导入了Scans软件的工具栏里(图4.25)。5)点击鼠标右键选择加载点云数据(图4.26)。图4.25 Scans 软件工具栏视图图4.26 加载点云数据视图6)出现数据读取进度界面,等待加载好以后,双击鼠标点击已经加载的点云数据,数据就显示出来了(图4.27、图4.28)。但是它只是一个平面的数据,我们可以发现如果放大和缩小以后周围的点云数据就会变得很松散,并且失去了原来的比例大小(图4.29)。图4.27 点云数据加载进度视图图4.28 点云图像图4.29 放大后的点云图像其实,这不是软件或者点云图像出问题了,而是视图方式的问题,打开的时候软件呈现的是快速平面视图,数据本身会以设备的所在地为视图原点(图4.30)。图4.30 点云视图原点图像7)如果想拖动点云图像随意浏览的话,我们可以点击3D的字样,打开三维浏览视图模式(图4.31)。打开这个命令以后视图会重新加载文件,等待数据加载好后,我们就可以随意地拖动了,仍旧会以扫描仪的中心为轴点(图4.32)。点击鼠标左键进行旋转,点击鼠标滑轮可以对点云数据进行平面拖动。图4.31 3D 功能视图图4.32 重新加载后的点云图像8)点击菜单栏的多边形,在岩石点云图像周围的噪点随意点击鼠标,合并为一圈后双击鼠标左键(图4.33)。图4.33 多边形选择器视图与处理后的图像9)拼接成多边形后,点击鼠标右键会弹出3个选项(图4.34)。删除内部选择就是将黄色覆盖区域内的点云数据删除;删除外部选择就是将未覆盖黄色的区域删除;移除选择则是放弃此次选区。选择删除外部选择,这样多边形中间所包含的点云数据就被删除掉了。图4.34 删除图像功能视图10)在3D视图中,仔细查看留下的岩石点云数据,确保再也没有多余的点云数据(周围会剩余很细小的部分不容易删除,这个不必介意,因为我们后面会进行处理)。11)点击已经处理完的点云数据(图4.35)。图4.35 选择处理后的点云图像12)点击鼠标右键,会弹出一个操作菜单栏,点击操作选项,在操作菜单栏有过滤器选项(图4.36)。过滤器里面会有4个子选项,这4个子选项分别是离群、基于距离、深色扫描点、平滑,都是用来处理点云数据噪点的(图4.37)。根据不同的情况,我们可以选择不同的合适选项,对点云图像进行优化处理,处理前的点云图像见图4.38。图4.36 选择过滤器菜单图4.37 选择过滤类型菜单图4.38 处理前的点云图像13)仔细检查确认没有多余点后,这块岩石标本的点云就处理完成了,处理后的点云图像见图4.39。图4.39 处理后的点云图像14)再找到另一块岩石标本的点云数据,把它加载进来。加载前,我们先将3D视图关闭,视图栏的左上方有Workspace,这个就是3D浏览视图栏,点击关闭(图4.40)。图4.40 关闭3D 视图界面15)选择文件中的导入菜单(图4.41)。图4.41 选择导入菜单16)在导入选项栏内,点击要导入的岩石标本点云数据文件,点击导入(图4.42)。图4.42 点云文件导入视图17)在左边工具栏内,可以发现文件已经导入(图4.43)。图4.43 显示已导入的加载文件视图18)点击已经导入的岩石标本点云数据,点击鼠标右键打开选项菜单,点击已加载(图4.44)。图4.44 选择已加载视图19)等待载入,载入完成后双击鼠标,然后根据上一块岩石标本点云数据的处理办法,将这块岩石标本点云数据进行处理。每块岩石标本的点云数据量可能会比较大,在我们将每块点云数据都处理完成后,再进行拼接。4.1.3.2 点云数据拼接通过点云数据的处理,完成点云数据的优化,现在我们进行拼接。1)由于点云数据量比较大,所以需要将已经加载的数据卸载掉(再次点击已经打钩的已加载,系统自动对已经加载的点云数据进行卸载),只保留准备拼接的2块点云数据(图4.45)。图4.45 卸载点云文件菜单2)这里我们只讲解拼接的第一站和第二站数据。首先点击已经加载的第一站点云数据,按鼠标右键,在视图菜单内选择平面视图(图4.46)。图4.46 选择平面视图菜单3)再打开第二站点云数据,进入平面视图。这时候视图栏内只有两个选项:一个是第一站视图;一个是第二站视图。点击平移按钮,进入平面视图。在平面视图内,可以随意地平移和旋转,点击第一站视图、第二站视图进行切换,寻找它们的共同特征点,每两站的点云数据具有公共点和公共面。这提醒我们,当我们用扫描设备进行图像扫描时一定要注意,保证每两站扫描的距离必须保证两站点云数据间的公共数据尽量多,这样后续工作会更加轻松。4)寻找到比较多的特征点以后,记住它们相互之间的联系和顺序,因为岩石标本的面数多、体积较小,不适合摆放激光扫描时的目标,需要重求和寻找共用平面。我们在这里介绍用Scans软件根据公共点,进行拼接拟合的方法。5)对公共点和公共曲面进行确认后,点击工具栏内的标记扫描点选项(图4.47)。图4.47 标记扫描点选项视图6)在第一站平面视图内标记点(图4.48)。图4.48 标记点图像7)每一个标记点必须保证第二站的数据也有这样的点,并且位置必须相同,每标记好一个标记点后,在弹出的点信息对话框中输入点名称。第一站视图和第二站视图之间的名称必须相对应,当第二站视图和第三站视图拼接的时候,它们的点不能和第一站视图、第二站视图之间的名称相重叠,必须要注意。为了标记点的准确性,标记点的时候,应尽量将视图放大,标记点和标记点之间的误差,尽量缩小,每站的标记点不得少于4个,并且4个标记点不得在一条直线和一个平面内(图4.49)。图4.49 确定标记点视图8)标记点标记完成后就可以拼接了,可以在所有站点标记完成后拼接,也可以每两站拼接一次,建议每两站拼接一次。因为如果拼错以后,我们可以在第一时间发现拼错的地方。9)在结构菜单栏内点云数据的正上方点击Scans,按鼠标右键调出工具菜单栏,点击操作选项,在操作选项菜单栏内点击对应。然后选择按手动目标名称强制。这个选项就是按照我们刚才标记点的名称进行强制性拼接。所以,要求我们每站的直接误差应尽量小(图4.50)。因为用Scans拼接时,是按照Scans目录下所有站点同时进行拼接的。所以拼接时,尽量只加载两站数据,对未标点的点云数据不要进行加载,并且注意标点之间名称的区别,尽量让每一站的标点名称具有特征的标点意义,每次拼接完成后,都要按照上面的方法进行查看(图4.51)。因为我们拼接的岩石标本模型是一个整体,拼接到最后一站时,标本模型已经拼接完整了。但因我们是从第一站视图、第二站视图开始不断叠加的,最后必然会有一个积累误差,也就是说,如果拼了10站的话,每两站之间的误差为1时,那么我们拼接完10站的时候总误差会到达10。可是如果我们再将10和1进行拼接的话,那么我们总的误差就会只有5。因此我们最后一站拼接的时候,必须将第一站的岩石标本点云数据和第十站(最后一站)视图的岩石点云数据进行拼接。图4.50 选择按手动目标名称强制视图图4.51 拼接后的点云图像10)全部拼接完成以后,我们再在Scans里面,点击按手动目标名称强制,打开3D视图,仔细旋转比较并且查看,查看总体拼接完成的岩石标本点云模型是否与实际相匹配。4.1.3.3 点云模型导出与保存在确认点云模型拼接没有差错之后,我们再将点云模型保存,点云模型不能直接保存。因为我们保存出来的数据是以后模型制作的依据,Scans软件相对于点云处理来说已经相当成熟了,后续的点云处理软件有许多种,每一种对点的需求都不一样,因此点云数据又必须有各种不同的格式应用于不同的软件当中。我们对已经拼接完的点云模型,后续处理时用的是KUBIT PointCloud 6.0软件,它可以打开很多点云格式。由于PTC格式的点云密度能比较理想地体现出模型的整体结构特征,所以我们就以PTC格式为例。1)首先在Scans软件的菜单内,点击结构菜单的Scans文件夹,点击鼠标右键,在弹出的菜单选项选择导入/导出,导出扫描点选项(图4.52)。图4.52 导出扫描点菜单2)在弹出的导出对话框内,最上面的一行里选择PTC文件格式,点击保存,这样我们就将已经处理好的点云模型保存了(图4.53)。4.1.3.4 点云模型的面成像虽然经过上述处理步骤,点云数据已经完全拟合,但仍旧无法达到我们的需要,需要运用其他软件对点云数据进行处理。在点云数据处理软件中,KUBIT PointCloud 6.0软件最理想,它是将点云数据拼接成面状的软件。KUBIT PointCloud 6.0软件是AutoCAD的一个应用程序,在著名的AutoCAD软件环境中显示、分析、处理数以亿计的三维点。通过三维激光扫描仪记录的点云数据,可以在AutoCAD中,使用标准的二维、三维功能进行处理。KUBIT PointCloud 6.0软件扩展了AutoCAD当前的功能,并能够管理大量赋色点云数据。与AutoCAD不同的是,点云软件可以直接在AutoCAD上对数以亿计的点进行显示和评估。图4.53 选择文件保存格式视图1)在建立岩石标本的数字三维模型时,首先要安装KUBIT专业软件,并连接软件狗,打开AutoCAD(图4.54)。图4.54 打开AutoCAD 视图2)在菜单栏的位置寻找,会找到KUBIT PointCloud 6.0 软件的一个专属菜单,点击它,在第一行选择完成按钮,将弹出对话框,可插入点云数据(图4.55)。图4.55 选择按插入点云文件视图3)选择Scans软件所保存的点云数据PTC格式文件,点击PTC,单击确定,软件将自动导入地质标本点云数据(图4.56)。图4.56 插入点云文件视图4)按住Shift键,然后滑动鼠标滑轮浏览点云模型。在定义截面内有很多选项可以供我们使用,其中截面管理器是用来管理我们已经导入的点云模型的(图4.57)。图4.57 截面管理器视图5)点击截面管理器,在弹出的对话框中,单击颜色框可改变点云的颜色(图4.58)。图4.58 颜色选择视图6)因为后期要处理点云模型的颜色,可能会与点云本身的颜色冲突,而导致不好辨认。所以我们把点云初始色变成白色,单击确定按钮(图4.59)。岩石标本模型立体感很强,很多面都有突出的点和形状。所以在进行模型制作时,需要从3个面制作模型,分别是XY、ZX、ZY等3个面(图4.60)。图4.59 设置点云初始颜色视图图4.60 点云模型图XY面反映模型前、后两面的具体轮廓,ZX面反映模型左、右两面的具体轮廓,ZY面反映模型上、下两面的具体轮廓,3个面整体拼合后,就形成了360°的全景三维模型。7)我们将3个面分别制作出来的模型,进行整体拼接合并后,就得到岩石标本的最后模型(图4.61)。图4.61 拼接合并后的点云模型图以上的描述就是我们制作模型的具体思路和方法,下面我们看看怎样进行模型制作。3个面的模型制作方法类似,我们以XY面的模型制作为例。步骤1:首先将模型调整到正视图的角度,单击定义切片功能(图4.62)。图4.62 定义切片功能视图步骤2:在AutoCAD的命令栏会要求操作者输入切片所需要平行的面,输入XY,按空格后,将执行命令(图4.63)。图4.63 定义切片面视图步骤3:命令行会自动提示,要求输入切片的第一个点(图4.64)。图4.64 定义切片首点视图步骤4:选择第一个点,该点应该从最底层开始(图4.65)。图4.65 选择首点视图步骤5:这时鼠标位置为十字光标,我们将模型点云放大,点击最靠近底部边缘的一个点,然后命令行会提示要求输入切边分界线的第二个点或者厚度(图4.66)。图4.66 选择厚度视图步骤6:这里的厚度值,需要不断地尝试几次来确定,因为模型是以线条为基础而建立的,点云的厚度直接影响到线的准确性,所以点的厚度不能太大,也不能太小。否则连线的过程中的线会出现点与点之间的距离过大,这样所连出来的线也就不准确了。因此,点云切片的厚度一定要把握好,这需要技术人员多多练习,根据自己的经验来填写厚度(图4.67、图4.68)。图4.67 点厚度显示图图4.68 点间距离显示图步骤7:切片完成后,点云展现为薄薄的一层。然后,点击适配轮廓线(图4.69)。它是岩石标本模型最精确的外轮廓线之一。当进入俯视之后,我们可以用AutoCAD自带的线进行连接,只是会比较慢。我们建议用 KUBIT Point Cloud 软件的适配轮廓线命令(图4.70)。图4.69 适配轮廓线图图4.70 适配轮廓线选择视图步骤8:点击适配轮廓线命令,软件会自动弹出对话窗口询问是否转化为顶视图。步骤9:点击是,软件会自动将视图窗口转化为对已切点云轮廓线的顶视图(图4.71)。它可以更贴近地连接附近的点,并且保证所连接的线在一个平面上。当点的距离大于所设定的距离时,该软件命令会自动将线条贴过去(图4.72)。图4.71 点云轮廓线顶视图图4.72 自动贴线显示图步骤10:整体连接完成后,点击向上移动切片,软件会自动地将切片的位置向上移动到一定的位置(图4.73)。图4.73 切片操作视图步骤11:再点击适配轮廓线命令,再连接出一个轮廓来。步骤12:重复上面的过程。对于一个岩石标本的切片,最好保持在50个以上,只有这样做出的模型,才能将岩石标本的表面轮廓真实地再现出来(图4.74)。步骤13:选择根据点云切片所画出的岩石标本外轮廓,使用AutoCAD命令“放样”进行模型建立(图4.75)。图4.74 岩石标本轮廓线图图4.75 岩石标本三维模型图步骤14:选定已经建好的3D模型,仔细翻转检查并进行碰撞检测,检测无误后(关于碰撞检测后面会有专门一节进行讲解),点击鼠标右键,在弹出的菜单选项中选择隔离(图4.76)。图4.76 选择隔离对象视图步骤15:在子选项里选择隐藏对象。步骤16:重复以上切片过程,对点云ZX、ZY面进行切片,分别建立三维模型。3个面的切片模型都建完后,我们就可以进行后续工作,进行模型的整体拼合。4.1.3.5 点云模型碰撞检测我们对点云数据进行切片之后,需要根据每一层的切片用实线画出每一层的外围轮廓线,并在轮廓线的基础上建立三维立体模型。按照理论我们建立的模型应该与点云数据理想切合。但因点层与点层之间的距离,使模型与点云数据之间存在实际误差。KUBIT Point Cloud软件的碰撞检测,可以很直观地以视觉方式将误差显示出来,我们可以根据观察结果,进行模型修改。1)点击KUBIT Point Cloud功能的碰撞检测命令,首先选择一个或者多个AutoCAD 3D实体。2)点击“下一步>”按钮,执行碰撞检测(图4.77)。执行这个命令,需要花费一些时间,时间的长短取决于实体数量及复杂性和当前可见点数量。图4.77 适配轮廓线图3)在碰撞检测时,你可以指定碰撞点是否成集。成集的意思就是彼此接近的点结合到一起(集群),距离远的点通常不包含在集群中(图4.78)。图4.78 碰撞检测视图4)你需要定义不同集群之间的最小距离(AutoCAD单位)。换句话说:如果两个点的距离超过定义的最大距离,它们就属于不同的集群。每个集群的结果保存在界面管理器的临时界面(图4.79)。图4.79 集群点显示图5)集群数量的结果显示出来后。如果你需要更多的或更少的集群,可以改变集群距离重复操作。距离增加,集群减少,反之亦然。集群数量的选择,是否需要更多的集群或很少点的集群,由您的需求决定。因为点云反映的是岩石标本表面点的集合,所以碰撞检测的时候,点的数量越多,表示我们所建立的模型与实物相比越是准确,误差越小。点的数量可在KUBIT Point Cloud选项的点云管理器里进行查看(图4.80)。图4.80 点云管理器视图4.1.3.6 模型整体拼合在我们已经做出3个层面的模型之后,并完成了模型与点云数据的切合度。通过模型整体拼合,可把3个层面的模型拼合在一起。每一个层面的模型都有两个面的平面,如XY平面的岩石标本模型,当时的切片是以XY平面为基准做的切片,这样切出来的点云拼成的线和模型肯定在XY平面的方向上,不能表达岩石标本的真实表面。ZX和ZY平面切片模型对岩石标本的表达比较完整。所以在理论上,拼接这两个面的模型,可以表达岩石标本的外部轮廓。但是,3个面模型的拟合可以让模型更贴近真实,因此建议用3个面的模型做拼接。1)当模型拼接时,每次都是将前一个层面模型进行了隐藏(图4.81)。图4.81 选择隔离对象菜单2)当模型全部建立完成后,我们将建立的所有模型都显示出来,进行拼接。现在我们在CAD界面点击鼠标右键,在隔离选项选择结束对象隔离。这样我们以前所隐藏的岩石标本模型就全部显示出来(图4.82)。图4.82 选择结束对象隔离菜单3)选择AutoCAD命令交集,在十字光变成选择框后,选择我们已经建立的3个岩石标本模型,并按空格执行命令(图4.83)。图4.83 选择交集视图这时生成的岩石标本模型,再经过碰撞检测后,确认点云数据与最后模型的碰撞点数到达要求后,就完成了岩石标本三维模型的制作工作。4.1.3.7 模型进行渲染输出前面我们已经对点云数据进行了加工,建立了以点云数据为基础的三维立体模型,进行碰撞检测,确认了模型与实物整体大小的误差满足要求。在模型的外围轮廓到达要求后,需要利用 AutoCAD 本身的渲染功能,以及 KUBIT PhotoPlan软件来进行渲染输出。KUBIT PhotoPlan是AutoCAD里面的一个应用程序,能够对照片进行纠正,进行摄影资料评定,以真实比例恢复旧地图和平面图。KUBIT PhotoPlan的校正结果是真实比例的照片平面,通过确切的集合信息链接现在的照片。1)打开AutoCAD,并开启AutoCAD菜单栏的KUBIT PhotoPlan软件,然后导入需要修改的图片(图4.84)。图4.84 KUBIT PhotoPlan 软件打开界面2)使用“图像→剪辑图像”命令,完成图像剪裁。注意在调用命令“剪辑图像”之前,选择任意多边形虚线作为剪辑的分极限。图像被剪辑的部分并没有删除,AutoCAD只是剪裁它们。如果用户想在剪辑之后对图像部分进行修改,只要通过标记边界,并通过鼠标点击和移动一个角上的点可到想要的位置。只有被剪裁的图像部分参与校正,剪辑完成的图片将用于在AutoCAD中,对我们之前建立的模型进行渲染,使模型更形象具体。3)首先在AutoCAD菜单,打开“渲染”材质编辑器,在材质编辑器里将已经处理完的照片导入材质(图4.85)。图4.85 地质标本照片4)将所有照片都导入CAD材质当中,对每一个面进行渲染,材质的渲染必须与实际相符合。即不断地翻找照片,根据它们的外围轮廓与模型进行对比,确认模型与照片的外围轮廓完全相符后,再贴材质。5)最后进行渲染,查看贴图的效果与实际的差别进行亮度调节(图4.86)。图4.86 亮度调节后的地质标本照片6)至此整体模型的建立就完成了,最后将模型保存为我们需要的格式,例如FBX(图4.87)。图4.87 保存三维模型文件视图
三维激光扫描数据建模概述
三维激光扫描仪对地质标本进行全方位扫描,获取了地质标本的离散结构点(点云数据)之后,就可以开始建模工作了。1)建模过程就是对点云数据进行实体转化,形成实体的三维标本网格数据,恢复被测标本的真实形体结构及实际尺寸,并使用照相机自动获取的纹理影像数据,给三维标本赋予纹理,完成真实结构、真实纹理的地质标本的三维数字化模型(图4.2)。图4.2 标本点云数据实体化和赋予纹理的标本三维数字实体2)岩石标本的三维数字化,需要用到Faro Scene的三角化构建功能。即在Faro Scene软件中,导入标本的点云数据进行网格构建,实现从点云数据转化为实体数据的过程,即转化为标本网格数据。3)三维实体化的岩石标本还没有真实的纹理信息,需要利用三维激光扫描仪搭载的数码相机,自动获取纹理影像数据,在Faro Scene软件中,执行应用图像的命令,给岩石标本三维网格体赋予纹理,实现真实结构、真实纹理的岩石标本三维数字化。最后,生成Cache.c3 d、Information.c3 d、Level1.c3 d、World.c3 d及htm文件的一系列三维模型文件。4)利用KUBIT PointCloud 6.0 软件,对标本的离散结构点云数据,进行实体转化,构建具备标本真实形体结构、实际尺寸的标本实体网格数据。图4.3 三维激光扫描的标本点云数据、处理中的点云数据、实体化的点云数据和带纹理的高精度模型5)利用KUBIT PhotoPlan 6.0软件,给标本网格贴上纹理,就构成了具有真实结构、真实纹理的标本三维数字模型(图4.3)。6)最后添加鼠标互动浏览操作功能,按下鼠标左键,移动鼠标可以上、下、左、右旋转模型,鼠标中间滑轮可以放大、缩小模型。