浅谈三维城市数据采集和建模

赵学松
(广西航空遥感测绘院 广西南宁 530023

【摘 要】 本文介绍了一种三维城市的数据采集方法和流程,包括:纹理数据采集、线划图采集,并介绍在3DSMAX软件环境下的模型建模。
【关键字】 三维城市 纹理采集 线划图采集 3DSMAX建模

  1 引言
  三维城市是基于虚拟现实技术,把客观现实世界中的城市在电脑上模拟出来。但它又具有其自身的一些显著特点:
  (1)是对客观现实世界的真实反映,或者对将来的规划。
  (2)可包含绝对地理空间坐标,具有地理空间定位性。
  (3)可以进行三维空间几何分析和属性分析方面的应用。
  综上,可以理解三维城市就是具有三维地理空间信息,反映客观现实世界或者未来规划,具有空间浏览、属性查询和应用分析的综合信息系统。
  2 三维城市的数据基础和流程
  三维城市需要场景地表覆盖信息DOM,地表起伏信息DEM,建筑模型信息,属性信息。建筑模型信息,可以通过比高加地表DEM得到建筑绝对高度。通过航测内业采集建筑的线划图,通过实地拍摄得到建筑侧面纹理和顶面纹理。在三维建模软件(如3DSMAX)中以线画图一(注释①)和比高为参照,建好模型框架,而后把侧面和顶面纹理赋予模型框架得到人工建模模型。再把DOM,DEM,人工模型,线划图二(注释②)导入到专门的三维地理信息系统软件平台(如VRMAP),再录入相应的属性信息,并进行相应的应用开发就可以实现一个专门的三维地理信息系统。可用图T1表示:

  注:①线划图一:是针对那些需要专门建模的建筑,一般为兴趣建筑和比较复杂的建筑。
    ②线划图二:针对那些不需要专门建模的简单建筑,可通过它与DEM直接拉伸出简单的模型。
  3 纹理数据采集
  3.1 拍摄前准备
  (1)范围确定:根据需要确定需要人工建模的区域和建筑。
  (2)图幅分幅:按照一定标准将区域分块,便于分发工作和计算工作进度。并将分幅图幅打印作为调绘底图。
  (3)拍摄线路规划:以影像判断将要拍摄图幅,进行路线规划,以节约成本。
  (4)拍摄工具:广角相机为佳,广角镜因为镜头非常短,所以投射在底片上的景物就变小,除可拍摄更多景物,更能在狭窄的环境下拍摄出宽阔角度的影像。
  (5)记录工具:板、笔、一定格式的记录纸。
  (6)电脑设备:移动硬盘用以数据备份和共享,手提电脑用以数据初步处理和存储。
  (7)作业人员准备:分组搭档,并协调接边,计划路线。熟悉相机参数和使用技巧,了解天气。
  3.2 拍摄
  (1)拍摄记录的一般过程:到达拍摄起点由拍摄人员对建筑物可见侧面进行拍摄。记录人员同时判准拍摄建筑物在调绘底图上的位置并编号(如果建筑相对底图为新增,应在底图上调绘出来),并确定拍摄侧面的方位,在记录纸上把相片号记录下来。有单位名称的建筑应当在记录纸上记录。以下T2是一种记录纸格式:

  (2)拍摄和记录中的一些原则和方法:
  a.拍摄的大路线最终能形成回路。从哪里出发,最终可以回到那里。如图T3:

  b.当拍摄的面比较窄而高,需要旋转相机90度进行拍摄时,每次旋转的方向应该相同,以便后期影像处理可以方便地批量旋转。
  c.建筑物编号可以以拍摄路线为参考,一段路线可以编为一个号,这条路线上相互邻近的建筑被综合成一个块看待。(如图T4)

  注:T4就是一个居民建筑块在调绘底图上的记录,将其编号为80,起点为相片2001,在底图上标注,按逆时针方向拍摄,标注方向箭头。遇到转角后的第一张也记录,并标注方向箭头,依次记录的转角第一张为:2001,2020,2023,2040。相应的记录纸记录为T5:

建筑编号

相片号

方位

备注

80

2001-2019

西南

 
 

2020-2022

东南

 
 

2023-2039

东北

 
 

2040-2042

西北

 

……

……

……

……

  d.对成排有高低差别的房屋群或者门面,调绘底图上无法每间分清时,应采用如下方法拍摄:首先拍一张全景并在备注里注明此相片为“全”,然后对每个房屋或者门面选择最正的方向依次拍摄(两间相邻等高的可以拍在一起),连续相片间应有部分重叠区域。遇到小巷也要正面拍一张,以方便建模时进行相对位置判断。
  e.当进入狭窄小巷进行拍摄时,由于距离比较近,一个侧面左右或者上下不可一次拍完。在左右拍时,让每个拍摄点到重叠区域的距离相差不至于过大,这样重叠区域的高度相近,后期影像纠正拼接处理操作少些。
  f.当某个面不可全部通视时,应该拍摄其某部分可视纹理(比如4个单元的外部格局是相似的,只有1个单元可完全通视)。拍到一个完整的纹理,并在备注里标明“纹”且记录下纹理个数(比如4个单元的可记录为“4”)。
  g.对大道两旁的建筑可在慢速行驶的车上进行拍摄,雨天也可进行。
  h.对公园广场里一些过小或者树木遮挡的艺术性建筑进行拍摄时,要在调绘底图上调绘出来。这些建筑无法在矢量采集时采集准确。
  i.新增建筑要在调绘底图上调绘出位置和轮廓。并在记录纸备注里记录房的层数。
  3.3 影像数据整理
  每天拍摄完的影像,拷一份备份到移动硬盘。拷一份到电脑里面进行预处理,需要做以下工作:
  (1)将旋转相机后拍摄的相片批处理旋转回正拍效果,并保存。可用ACDSee。
  (2)参照记录纸以建筑群编号为文件夹将相片分类拖到各个文件夹里面。
  (3)备份一份整理后成果到移动硬盘。
  3.4 整理一个通用纹理库
  在建模之前先整理出一个通用的纹理库,包含顶面纹理、墙纹理、窗户纹理、地板纹理等类别。各个类别中应有尽可能多的样本,可以从已拍摄的相片中提取,也可以在其他地方获得。
  因为顶面纹理的自动提取有一定难度,而且很多建筑物顶面可能很复杂,提取效果也不好。再者,如果没有彩色遥感影像,或者彩色遥感影像的分辨率低。所以建一个顶面纹理库是必要的。当没有高分辨率彩色遥感影像时,建好模型框架后就可通过判读遥感影像在顶面纹理库中找相似的纹理代替。
  由于一些软件平台(以VRMAP为例)要求导入它的纹理必须是一定规格大小的,所以通用纹理库中的这些纹理也要注意符合它的要求。(如文件大小为x*y,x,y都必须是2的N次方,且有大小限制)
  通用纹理库可以在开始建模后再不断充实,提供共享。
  4 线划图采集
  4.1 仪器:JX-4C DPW
  4.2 采集方法和原则:
  (1)作业员分开采集时应协调使用同一套代码。
  (2)对于需要人工建模的建筑和软件自动建模的建筑要用不同代码采集,采集完后便于分离。
  (3)采集时应该参照记录纸,采集出新增建筑,采集的高度一般按一层楼3到3.5米计算并按需不需要人工建模使用不同代码。
  (4)采集均切房顶,对房上有屋的,且屋脚有边线与下面平台边缘重合应先采集完下面平台,后三维咬合下面采集楼顶小屋顶。(对于需人工建模的可以不咬合,因为导入3DSMAX可以仅是参考)
  (5)需要人工建模的建筑采集完后需要注相对地面比高。对房顶有房的除了注平台比高还要注小屋比高,一个面对应一个比高。
  (6)所有建筑物楼房采集数据均为面状封闭体。
  (7)所有楼房采集不可以有交叉、打结、回折这些人为错误。
  (8)弧形的面状采集时,弧形的节点与节点之间的距离尽量一致(等分)。
  (9)火柴盒式/平顶的建筑物按矩形采集,两节点之间不能有多余的点。
  (10)相邻很近的建筑物如果需要人工建模的采集时可以适当综合(因为这个线划图导入3DSMAX中可以仅是参考),而对于自动建模的则不能综合,因为后续工作没有人的干预。综合后本来是三个很小的房子却可能变成一个很大的房子,严重失真了。
  (11)一些独立地物也需采集它的位置,如广告牌、路灯、雕塑、纪念碑、桥梁。这些一般是需要人工建模的。
  (12)采集完后把需人工建模的和自动建模的分离开来,并分别导出二维DXF文件。
  5 人工建模
  5.1 软件平台:3DSMAX,PhotoShop,CAD,ACDSee
  5.2 数据准备:
  (1)初步整理好的各个建筑物影像数据。
  (2)通用纹理库数据。
  (3)需要建模的DXF文件。
  (4)调绘片,记录纸。
  5.3 处理步骤:
  (1)DXF文件去带号。当导入3DSMAX的矢量文件在软件场景中移动时其基本步距会随自身坐标数量级的大小而不同。下表T6就是在几个不同数量级上的近似步距(3DSMAX中为数学坐标)。由表T7可见当去掉带号37、25后,其移动步距可以达到分米级,可以满足一般的建模精度。

X(m)
△X(m)
Y(m)
△Y(m)
37491488.0
4
2556569.75
0.25
7491488.5
0.5
556569.5
0.06
491486.938
0.063
56569.727
0.054

  (2)在CAD中打开DXF文件,参照调绘片和记录纸,把属于同一编号的房屋选中导出块。块的命名规则可按照表T7进行(以两个例子M0010K和M0011D说明):

M-区域代号
001-区域中建筑群编号
0-建筑群中块编号
K-第1块中房的个数
M-区域代号
001-区域中建筑群编号
1-建筑群中块编号
D-第2块中房的个数

  其中:
  a.由于3DSMAX中纹理命名长度不能超过8个字符,所以以6个字符表示模型名,后再加2个数字表示纹理文件名。一个模型可以包含100个不同的纹理文件。
  b.区域代号可以代表道路名、乡镇名、街区名等,其取值范围为A~Z,有26种。
  c.区域中建筑群编号为属于该区域的建筑的编号,其取值范围为000~999,可以容纳1000个建筑群。
  d.某个建筑群由于空间上可能可以分成几块,或者有必要将其中某些建筑分出来单独为一块,就需要对建筑群分块。建筑群中的块编号取值范围为0~9,有10种取法。当然如果该建筑群不用分块,那就只有取值为0的块。
  e.对每块中建筑的个数,用A~Z表示1-26。由于采集时有些房屋进行了综合,其个数的确定不能仅以DXF文件为标准,用ACDSee打开建筑编号文件夹里面的所有影像(如编号为001的文件夹),依次浏览影像,并数有多少个房,并判断需不需将这个建筑群分块。当确定一个块有n个房(n不大于26,以n等于K为例子)后,建立一个文件夹(如M0010K),再将对应DXF文件中的矢量导出块(块名为M0010K,并放在MOO1OK文件夹下)。这样表示区域M中建筑群001有1块,且房子个数为K(11个),这个K可能和DXF文件中对应块的房子面状数据个数不同。
  这样的命名规则,房屋数量可以满足一般系统的要求。而且可以方便统计每个建筑块的房屋数量和整个系统的房屋数量。方法是统计所有文件夹名的最后一位字母的个数,然后乘以每个字母代表的数字(1-26),然后求和。
  (3)在3DSMAX软件环境中建造模型框架。
  a.找到需要建模的块的文件夹,导入块文件到3DSMAX场景中。在层管理器中冻结导入的层。然后以导入的线划图为参考,自己画底图,画底图的时候要同时参考原来整个区域的DXF中的相对位置,比高是一个很重要的判断依据。对矢量采集综合的地方还要由影像为判断依据将它们分开。下图就是一个导入的矢量和自己画的底图:

  自己画的一些理由:1.由于采集时候有些地方相对位置不够准确,通过相片判断应该改正时,应该自己画,如图T8中通过相片判断两个房是连在一起的。2.当采集的房屋被综合,但高度不同,通过相片可以分清。3.本来应该是正交的房屋却明显不正交。4.圆弧在采集时是以近似等分的折线段表示,应该还原它真实的形状。
  自己画的原则:1.严格按导入的矢量为参照,不能相差特远。2.房屋的中心位置移位尽量小(如图T9)。1为导入的矢量,通过影像判断它本来该正交,用2代替它明显比用3更合理,2也是相对3离1的中心更近。
  b.有了底图,可以利用3DSMAX强大的建模功能进行各种操作得到想要的模型框架。模型框架中建筑的高度可以根据采集的比高而得。有两点需要注意:1.相离很远,同时又都接地且地面高度不一样的建筑不要附加在一起。2.一个完整的物体如果由几部分组成,为了保持后续流程中能得到它各个组成部分之间的正确相对关系,应该附加在一起变成一个物体。这是基于这样一个事实:最后生成的模型导入软件场景(以VRMAP为例)时候是自动接地的,每个物体模型都自动接地。
  (4)用PhotoShop处理影像得到纹理数据。
  a.常用操作有:镜头校正、扭曲、变形。具体操作本文不讨论。
  b.需要注意的是:
  ①影像处理过程中,应尽量使一个完整面亮度均匀。
  ②等高相邻的两个面在同一张相片上时,不用把它分成两个纹理。
  ③当处理得到一张纹理后,其文件大小要符合后续软件中的要求,如VRMAP要求它的纹理数据为2的N次方乘以2的N次方,且一般不超过1024×1024。
  ④纹理文件的命名规则可以文件夹名为前六位,后面跟上两位数字(00-99)。这样命名便于数据管理。
  (5)模型框架赋纹理。
  当模型的所有侧面都准备好纹理后,在3DSMAX中将这些纹理赋值给模型各个面。同时参照遥感影像判断顶面大致纹理,从通用纹理库中找到相似纹理赋予顶面。当有较高分辨率彩色遥感影像时,可以从它上面挖出顶面纹理赋予顶面。
  (6)导出*.3DS文件并保存*.MAX文件。
  (7)将模型文件导入软件平台(VRMAP)进行检查。检查以下一些方面:
  a.模型导入系统有变形。
  b.模型某些面缺少纹理。
  c.模型被深埋或者浮在空中。
  当遇到模型变形或者缺少纹理问题时,应该记录下建筑编号,到3DSMAX中进行模型修改和补纹理。当遇到模型接地不理想时,应该修测场景DEM。场景DEM的修测可以在JX4C DPW中以需修测的房屋位置所在的线划图为打开参考进行修测。
  (8)用一个文件记录单位名称与模型文件夹的对应关系,方便以后属性数据的录入。
  6 结语
  以上是本人在参与了南宁市三维城市数据采集和岑溪市三维地理信息系统数据采集和建模后,对采集和建模的一种流程进行的粗略总结。在流程中遇到的问题的解决办法和经验用以和大家分享。本文介绍的纹理采集方法是人工的,虽然采集的数据比较全面,但工作量较大。令我们欣喜的是,刘先林院士带领的科研团队正在研制车载三维城市快速数据采集系统,用以快速采集城市道理两旁的纹理数据并可定位。期待刘院士的科研早日成功并广泛应用,大大提高三维城市数据采集的便捷度。
  由于自己水平有限,文中难免有疏漏和不足之处,还望大家补充、指正。

【参考文献】
[1] 北京四维远见信息技术有限公司,《JX-4C数字摄影测量工作站操作手册》
[2] 《3ds max7中文版实用教程》,张凡等,机械工业出版社

地址:广西南宁市建政路5号  邮编:530023  Tel:0771-5606397  Email:webmaster@digitalgx.com
广西基础地理信息中心版权所有 2005-2010 广西基础地理信息中心制作