快速3d模型的制作方法

文档序号:6361979阅读:381来源:国知局
专利名称:快速3d模型的制作方法
快速3D模型相关申请的交叉引用本申请要求申请号为61/391,069、申请日为2010年10月7日、名称为“Rapid 3DModeling”美国临时专利申请(该申请的发明人与本申请的发明人相同)的优先权,其全部内容在此以引用的方式并入本申请中。
背景技术
三维(3D)模型将真实世界中的对象的三个维度表征为存储的几何数据。这些模型可用于提供真实世界中的对象的二维(2D)图形图像。通过对存储在对象的3D模型中的维度数据进行计算,使得与所提供的显示在显示设备上的对象的2D图像的交互作用模拟与真实世界对象的交互作用。当与真实世界中的对象的物理交互不可能发生、存在危险、不现实或者因其他原因而不可取时,模拟的与对象的交互作用是有用的。产生一个对象的3D模型的常规方法包括:由艺术家或工程师利用3D模型工具在计算机上创造所述模型。这种方法耗费时间,并且需要熟练工来实施。也可通过将来自真实世界对象的模型扫描到计算机上来形成3D模型。典型的3D扫描仪收集其视场内与对象的表面有关的距离信息。3D扫描仪产生的“照片”描述了在该照片的每个点处与表面的距离。这使得照片上每个点的三维位置可识别。该技术通常需要从多个不同方向进行多重扫描,以获得与对象的所有侧面有关的信息。这些技术可用在许多应用中。更进一步,各种各样的应用均将受益于不需工程专业知识、不依靠昂贵且费时的扫描设备就能够快速产生3D模型的系统和方法。一个例子发现于太阳能系统安装领域。为了选择用于安装到一个建筑物(例如房屋的屋顶)上的合适的太阳能面板,有必要知道屋顶尺寸。在传统的安装中,技术工人被分派到安装地点,对安装区域进行物理考察和测量,以确定其尺寸。实地考察费时、费钱。在有些情形下实地考察还不切实际。例如,恶劣天气会造成一定时间的拖延。安装地点可能会位于与距离最近的技术工人都相距甚远的位置,或者可能难以到达。让建筑物测量可从显示在显示屏上的3D模型处获得、而不是造访真实世界中的建筑物并对其进行物理测量的系统和方法是有用的。有些消费者由于不确定屋顶安装了太阳能面板后呈现的美学效果而不愿意在他们的家里安装太阳能系统。有些消费者由于其他原因,比如对障碍物的关注,而喜欢参与决定面板的安装位置。这些关注会对太阳能的吸收构成障碍。人们需要能够快速提供特定太阳能部件安装在给定房屋上时呈现的逼真视觉效果的系统和方法。本发明的各种实施例能够快速生成3D模型,这些模型实现了远程测量和现实世界中3D对象的逼真呈现的3D图形图像的可视化、操作和交互作用。

发明内容
本发明提供了一种快速、有效地对真实世界中的3D对象进行3D建模的系统和方法。基于感兴趣的对象的少到两张照片来产生3D模型。这两张照片中的每一张照片均可用传统的针孔摄像设备来获得。根据本发明一个实施例的系统包括一新型照相机建模器和用于纠正照相机参数中的错误的有效方法。本发明的其它应用包括用于动画和真实生活运动图片及视频游戏、以及用于建筑和医疗应用的快速3D建模。


本发明的这些以及其它目的、特征和优点将会随着下文中结合附图所进行的具体描述而变得明晰;在这些附图中:图1展示了本发明的3D建模系统的一个实施例的示例性部署;图2为本发明一个实施例的方法的流程图;图3展示了一张示例性的第一图像,该第一图像包含适用于本发明的示例性实施例中的、包括房屋屋顶的对象的俯视图;图4展示了示例性的第二图像,该第二图像包含房屋(其屋顶如图3所示)的前部正视图,其适合用于本发明的一些示例性实施例中;图5是一张表,表中包含与图3和图4所不的第一和第二图像中的不例性3D点相对应的2D点集;图6展示了包含选自图3和图4所示的示例性第一和第二图像的直角的示例性3D点列表;图7展示了包含选自图3和图4所示的示例性第一和第二图像的地平面的示例性3D点;图8为根据本发明一个实施例的、用于产生3D点的方法的流程图;图9为根据本发明一个实施例的、估计误差的方法的流程图;图10为一种示例性相机参数发生器的功能的概念展示图,根据本发明的一个实施例,所述机参数发生器适于为相机建模器提供相机参数;图11为根据本发明一个实施例的、为相机建模器产生初始的第一相机参数的方法的各步骤流程图;图12为根据本发明一个实施例的、用于为相机建模器产生第二相机参数的方法的各步骤流程图;图13展示了根据本发明一个实施例的、一个对象的示例性图像,所述对象的图像显示在显示装置提供的示例性图形用户界面(⑶I)上,并使操作者能够产生用于所述对象的点集;图14展示了根据本发明一个实施例的、用于提供对象的误差纠正3D模型的各步骤;图15展示了根据本发明一替代性实施例的、用于提供对象的误差纠正3D模型的各步骤;图16为根据本发明一个实施例的、展示示例性3D模型发生器的示意图,所述3D模型发生器提供来自第一和第二图像的点集的3D模型基投影;图17展示了根据本发明一实施例的、由示例性第一和第二相机限定的示例性3D模型空间,其中,第一和第二相机的其中之一根据俯视图进行初始化;图18展示并描述了根据本发明一实施例的、用于提供纠正的相机参数的方法的各步骤;
图19为根据本发明一实施例的、展示第一和第二图像、相机建模器和相机发生器之间的关系的不意图;图20展示了根据本发明一实施例的、用于产生和存储3D模型的方法的各步骤;图21展示了根据本发明一实施例的3D模型产生系统;图22为根据本发明一实施例的、展示用于调整相机参数的方法的流程图;图23为根据本发明一实施例的示例性3D建模系统的框图;图24为根据本发明一实施例的、配备有辅助性对象丈量系统的示例性3D建模系统的框图。
具体实施例方式图1图1展示了部署在建筑物测量系统中的本发明的一个实施例。图像源10包括摄影图像,该摄影图像包括真实世界3D住宅建筑物I的图像。在本发明的一些实施例中,合适的2D图像源包括以图片格式比如JPEG,TIFF,GIF,RAW和其它图像存储格式存储的3D图像的集合。本发明的有些实施例接收至少一种图像,包括建筑物的鸟瞰图。鸟瞰图提供从四个角度拍得的航拍照片。在本发明的一些实施例中,合适的2D图像包括航拍和卫星图像。在一个实施例中,2D图像源为可由系统200通过互联网访问的在线数据库。合适的在线2D图像源的例子包括、但不限于:United States Geographical Survey (USGS), The Maryland Global LandCover Facility and TerraServer-USA(最近改名为Microsoft Research Maps(MSlO)tjS些数据库存储有地图和航拍照片。在本发明的一些实施例中,图像为地理参考图像。地理参考图像本身、或在其附加文件(例如世界文件)中包含着信息,该信息指示GIS系统如何将该图像与其它数据对齐。适合地理参考图像的格式包括GeoTiff、jp2和MrSid。其它图像可在伴随文件(在ArcGIS中为世界文件)中载有地理参考信息,所述伴随文件通常为具有与图像文件相同的名称和后缀的小的文本文件。在本发明的一些实施例中,手动地对图像进行地理参考,以供使用。高分辨率的图像可从订阅数据库如Google Earth Pro 处获得。Mapquest 也适用于本发明的一些实施例。在本发明的一些实施例中,所接收的地理参考图像包含地理信息系统(GIS)信息。建筑物I的图像被捕获,例如被飞机5捕获,用机载图像采集设备例如航拍相机4拍摄建筑物I的航拍照片。相机4拍摄的示例性照片107为住宅建筑物I的屋顶106的俯视图。由相机4获得的示例性照片107为住宅建筑物I的俯视平面图。但是,本发明不限于俯视图。相机4也可拍摄建筑物I的正投影视图和斜视图,以及其它视图。包括图像源10的图像不必限于航拍照片。例如,可通过第二相机(例如地面基相机9)在地面上拍摄建筑物I的附加图像。地面基图像包括但不限于建筑物I的主视图、侧视图和后视图。图1展示了建筑物I的第二照片108。在该图中,照片108展现了建筑物I的主视图。根据本发明的实施例,一个对象的第一和第二视图不需要借助任何特定类型的图像采集装置来获得。不同的采集装置在不同时间、出于不同目的所获得的图像均适用于本发明的各个不同实施例。用于获得第一和第二图像的图像采集装置不需要使任何特定的内在或外在相机具有共同属性。本发明不依赖于用来获得第一和第二图像的实际相机所属的任何内在或外在相机的知识。一旦图像存储在图像源10中之后,这些图像就可供选择,并可下载到系统100中。在一个用途例子中,操作者113从顾客处获得街道地址。操作者113可利用图像管理单元103来访问图像源10,例如,通过互联网进行访问。操作者113可通过提供街道地址而获得图像。图像源10通过提供位于给定的街道地址处的房屋的多张视图来作出反应。本发明各实施例中所用的合适视图包括俯视平面图、正视图、透视图、正投影图、斜视图和其它类型的图像与视图。在本例中,第一图像107展示了房屋I的第一视图。该第一视图为房屋I的屋顶的俯视平面图。第二视图108展示了同一房屋I的第二视图。该第二视图从与第一视图的视点不同的视点展现了所述屋顶。因此,第一图像107包含处于2D空间中的第一方位的对象I的图像,而第二图像108包含处于2D空间中的第二方位的相同对象I的图像。在本发明的一些实施例中,至少一个图像包括对象的俯视平面图。第一图像107和第二图像108可在尺寸、宽高比和图像所展示的对象I的其它特征上彼此不同。当想要测量建筑物I的尺寸时,从图像源10获得该建筑物的第一和第二图像。重要的是要注意:与提供所述第一和第二图像的相机4和9有关的信息不一定要存储在图像源10中,也不一定要随着检索到图像一起提供。在许多情形下,从任何源中均不能获得与用来拍摄第一和第二照片的相机有关的信息。本发明的实施例中,不管与实际的第一和第二相机有关的信息是否可以获得,均能够基于第一和第二图像来确定与第一和第二相机有关的信息。在一实施例中,房屋的第一和第二图像由系统100接收并向操作者113展示。操作者113与所述图像交互,以产生点集(控制点)提供给3D模型发生器950。模型发生器950提供所述对象的3D模型。该3D模型被渲染引擎渲染后显示在2D显示装置103上。操作者113用测量应用来测量显示在显示器103上的对象的尺寸,以便与显示的对象进行交互。基于与第一和第二图像的规格有关的信息,将模型测量值转化为真实世界测量值。因此真实世界对象的测量是在不需要实地探访的情形下进行的。本发明的实施例能够基于所述对象的至少两张摄影图像来生成建筑物的3D模型。图2图2展示并描述了根据本发明一个实施例的、基于所述对象的3D模型来测量真实世界对象的方法。在步骤203,产生要被测量的建筑物的3D模型。在步骤205,模型被渲染在显示装置上,从而使得操作者能够与显示的图像进行交互,以便测量该图像的尺寸。在步骤207,接收测量值。在步骤209,将测量值从图像测量值转换为真实世界测量值。此时,该测量值适于用来为建筑物提供太阳能系统。为了执行步骤203,本发明的模型发生器接收匹配点并产生3D模型。通过运用新的优化技术,将该3D模型精细化为经重建的3D结构。精细化过的3D模型代表真实世界建筑物,其具有足够的精度,以使得建筑物的可用测量值能够通过测量所述精细化过的3D模型而获得。
为了做到这一点,3D模型被渲染在显示装置103上。对所显示的模型的尺寸进行测量。测量值被转换为真实世界测量值。该真实世界测量值由太阳能供应系统使用,以提供具有太阳能面板的建筑物。图3和图4图3和图4展示了合适的第一和第二图像的例子。图3展示了第一图像107,该第一图像包括房屋屋顶的俯视平面图。例如,第一图像107为位于建筑物屋顶上方、从而能够获得屋顶的俯视平面图的相机拍得的照片。在这个最简单的实施例中,二维的第一图像107假定通过传统的将三维对象(在本例中为房屋)投影到二维图像平面上的投影方法获得。图4展示了第二图像108,该第二图像包括图3所示房屋(其包含图3所示的屋顶)的前部正视图。重要的是要注意,所述第一和第二图像不一定要是立体图像。此外,第一和第二图像也不一定要是扫描图像。在本发明的一个实施例中,第一和第二摄影图像由图像采集装置如相机获得。在本说明书中, “相片”(photograph)是指由落在感光表面上的光创建而得的图像。光敏表面包括胶卷和电子成像仪,例如电荷耦合器件(CXD)或者互补金属氧化物半导体(CMOS)成像设备。在本说明书中,相片是用相机创建而成的。相机(camera)是指包括镜头的设备,所述镜头将场景的可见波长光聚焦到人眼可见的再现中。在本发明的一个实施例中,第一图像107包括待测量的真实世界对象的正投影。通常图像采集装置,例如相机或传感器,由车辆或平台(如飞机或卫星)承载,瞄准天低点(nadir point),该天低点位于平台正下方和/或从平台垂直向下。图像中与所述天低点相对应的点或像素为与所述图像采集装置正交的点/像素。图像中的所有其它点或像素相对于所述图像采集装置而言是倾斜的。随着这些点或像素距天低点越来越远,它们相对于图像采集装置也越来越倾斜。同样地,地面采样距离(即:每一像素对应的、或每一像素覆盖的表面积)也越来越大。正交图像中的这种倾斜导致图像中的特征被扭曲,特别是距天低点相对较远的图像。为了用平行于y轴的正投影(侧视图)将来自真实世界图像的3D点\,&\投影到相应的2D点bx,by上,可用下面的示例性关系式来描述相应的相机模型:bx = sxax+cxby = szaz+cz其中,s为任意的比例因子,c为任意偏移量。在本发明的一些实施例中,这些常量用于对齐第一相机模型视口,以匹配第一图像105中呈现的视图。用矩阵乘法,所述等式变为:
权利要求
1.用于生成真实世界对象的3D模型的系统,包括: 相机建模器,其包括:接收相机参数的第一输入;接收第一和第二点集的第二输入,该第一和第二点集分别与第一对象的第一和第二图像上的点相对应,所述相机建模器根据相机参数提供投射到3D空间中的第一和第二点集的投影; 对象建模器,其包括:接收所述投影的输入;基于所述投影提供所述第一对象的3D模型的第一输出;提供投影误差评估的第二输出; 所述系统根据所述投影误差评估调整至少一个相机参数, 相机建模单元基于至少一个调整后的相机模型参数对第一和第二点集进行投影,从而使得对象建模器能够提供所述第一对象的误差修正3D模型。
2.根据权利要求1所述的系统,其特征在于:还包括渲染单元,该渲染单元包含用于接收所述误差修正3D模型的输入,所述渲染单元基于所述误差修正3D模型来提供第一对象的2D表征ο
3.根据权利要求2所 述的系统,其特征在于还包括: 2D显示装置,其包括接收所述误差修正3D模型的2D表征的输入,所述显示装置显示所述第一对象的2D表征; 操作者控制装置,其连接至所述显示装置,以使得操作者能够与第一对象的2D表征进行交互,以测量所述对象的尺寸。
4.根据权利要求1所述的系统,其特征在于还包括: 显示装置,用于显示真实世界3D对象的第一和第二 2D图像; 操作者输入装置,其连接至所述显示装置,使得操作者能够与显示的2D图像进行交互,以定义第一和第二点集。
5.根据权利要求4所述的系统,其特征在于:所述2D显示装置还用于显示第二对象的至少一个图像,且操作者控制装置用于使操作者能够将第二对象的所述图像定位在以下其中一种图像之内:显示的第一图像,显示的第二图像,显示的、基于误差修正3D模型渲染过的图像。
5.用于生成对象的3D模型的方法,包括: 用第一和第二初始相机参数对相机建模器进行初始化; 通过相机建模器接收第一和第二 2D点集,该第一和第二 2D点集对应于出现在对象的第一和第二 2D图像中的对象上的点; 通过相机建模器将第一和第二 2D点集投影到3D模型空间中; 基于所述投影确定3D坐标,以组建所述对象的3D模型; 确定与投影的第一和第二 2D点集相关的误差; 根据所述误差调整至少一个初始相机参数,使得第一和第二 2D点集按照修正的相机参数被再投影; 基于再投影的第一和第二 2D点集确定3D坐标,以组建所述对象的3D模型。
6.根据权利要求5所述的方法,其特征在于:重复进行产生投影的步骤、确定3D坐标的步骤、确定误差的步骤以及调整相机参数的步骤,直到确定的误差小于或等于预定误差。
7.根据权利要求6所述的方法,其特征在于:通过不断改变至少一个相机参数以优化收敛到预定误差上的时间,从而进行所述重复步骤和确定误差的步骤。
8.根据权利要求5所述的方法,其特征在于还包括对误差修正3D模型进行渲染、以供显示在显示装置上的步骤。
9.根据权利要求5所述的方法,其特征在于还包括以下步骤: 接收第三点集,该第三点集表征出现在第三图像中的第二对象; 通过在3D模型空间中的第三点集上进行操作,调整被表征的第二对象的比例和方位,以与第一对象的比例和方位相匹配; 借助被显示的第一 对象来显示第二对象。
全文摘要
本发明提供一种用于快速、有效地对真实世界3D对象进行3D建模的系统和方法。基于感兴趣对象的少到两张照片来生成3D模型。两张照片中的每一张照片均可用传统的针孔摄像设备获得。根据本发明一实施例的系统包括新型的相机建模器和用于修正相机参数中的误差的有效方法。本发明的其它应用包括用于动画和真实生活运动照片和视频游戏的快速3D建模,以及用于建筑和医疗应用。
文档编号G06T15/20GK103180883SQ201180048808
公开日2013年6月26日 申请日期2011年10月7日 优先权日2010年10月7日
发明者亚当·普赖尔 申请人:桑格威迪公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1