首页> 中国专利> 中国唐朝风格古建筑的建模方法

中国唐朝风格古建筑的建模方法

摘要

中国唐朝风格古建筑的建模方法,首先将基于点云的古建筑模型分层,对其相似层聚类,得到古建筑的不同组成部分;然后利用古建筑的对称性对不同组成部分进行缺失数据填补;通过Hough变换和最小二乘法分别提取直线和圆来实现初等解析曲面重建;接着根据每层点的特点,对每层选取相同的点,按照坐标的位置关系,形成四边形网格模型,实现自由曲面重建;最后通过纹理映射的方法实现古建筑的真实感绘制。

著录项

  • 公开/公告号CN103279983A

    专利类型发明专利

  • 公开/公告日2013-09-04

    原文格式PDF

  • 申请/专利权人 西安理工大学;

    申请/专利号CN201310215355.8

  • 申请日2013-05-31

  • 分类号G06T17/00;G06T17/30;

  • 代理机构西安弘理专利事务所;

  • 代理人李娜

  • 地址 710048 陕西省西安市金花南路5号

  • 入库时间 2024-02-19 20:12:27

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-05-17

    未缴年费专利权终止 IPC(主分类):G06T17/00 专利号:ZL2013102153558 申请日:20130531 授权公告日:20160127

    专利权的终止

  • 2016-01-27

    授权

    授权

  • 2013-10-09

    实质审查的生效 IPC(主分类):G06T17/00 申请日:20130531

    实质审查的生效

  • 2013-09-04

    公开

    公开

说明书

技术领域

本发明属于计算机图形学三维可视化与数学建模技术领域,涉及 一种三维点云中国唐朝风格古建筑的建模方法。

背景技术

传统的房屋三维建模主要是基于一组图片信息来实现的,如苏迪 普塔(Sudipta)等设计的一种基于多幅无序照片的三维房屋建模方法, 他是通过对多个不同视角的视点图像合成新的视点并进行匹配来建 立整个对象的三维模型。这种方法有效的回避了真实场景中存在的几 何复杂性,但恢复出的对象模型缺少准确的几何信息和三维信息,对 房屋的某些拐角显示效果不理想,缺少真实的立体感,这种建模方法 通常适合于精确度要求不太高的虚拟漫游领域,对立体感和真实感要 求较高的领域该方法不适合。另外在上世纪90年代初期提出的著名的 基于图像建模与绘制(IBMR)技术也是基于多幅图像来进行的建模。 另一种基于图片信息的三维房屋建模方法是根据多视图立体几何原 理,利用图片序列信息来构建大规模三维房屋模型的,这种方法需要 对二维图片信息进行大量的处理,运行速度较慢,适用于小型单一建 筑物的建模,对于结构相对复杂的房屋,由于受到计算机处理时间的 限制并不适用,该方法的典型代表是2001年尼斯特(Nister)在其博士论 文中提出的从未标定的视频序列自动恢复场景信息的方法。此外, 2004年保利菲斯(Pollefeys)等人也提出了一种使用手持相机获取图片 信息来恢复虚拟三维场景模型的建模方法。

由于数据采集设备的限制,早期的房屋三维建模结果缺少真实 感,三维立体效果不明显而且处理速度缓慢。近年来随着激光扫描设 备的发展,基于激光扫描数据的三维建模技术成为研究热点,三维激 光扫描仪能够直接获取建模对象的深度数据信息,且方便快捷。在重 建建筑物之前,需要确定建筑物类型和层次结构。目前,学者们也已 经提出了三维自动重建的方法。目前大家使用较多的方法是采用法向 量法来判断建筑物的类型。但是上述方法只适用于结构简单的房屋重 建,对于结构复杂的建筑物重建效果不佳。有的方法也只能针对其中 的一部分建筑物进行模型提取。如:蒂莫西(Timothy)等提出的自动建 筑物模型只针对平顶,人字型,四坡型三种建筑物类型。而马丁胡贝 尔(Martin Huber)等提出的方法采用的是多面体模型,只适合建筑物顶 部由数个平面构成的类型。像对于古建筑物的屋顶还没有提出相关适 合的模型。

对于复杂结构的建筑物的三维重建,目前还没有比较成熟的通用 模型。由于建筑物房顶类型复杂多样,直接导致了建筑物模型提取的 困难。现有的方法也只能适用于较为规则的建筑物,解决这种问题的 方法,目前采用的思想是将复杂建筑物进行分解成一个个简单规则的 建筑物,用相应的模型来进行三维重建。

发明内容

本发明的目的在于提供一种中国唐朝风格古建筑的建模方法,解 决现有技术只适用于较为规则的简单建筑物,对于结构复杂的建筑物 重建效果不佳的问题。

本发明的技术方案是,中国唐朝风格古建筑的建模方法,首先将 基于点云的古建筑模型分层,对其相似层聚类,得到古建筑的不同组 成部分;然后利用古建筑的对称性对不同组成部分进行缺失数据填 补;通过Hough变换和最小二乘法分别提取直线和圆来实现初等解析 曲面重建;接着根据每层点的特点,对每层选取相同的点,按照坐标 的位置关系,形成四边形网格模型,实现自由曲面重建;最后通过纹 理映射的方法实现古建筑的真实感绘制。

本发明的特点还在于:

具体包括:

步骤1、古建筑模型的分割;

步骤2、古建筑的缺失数据填补;

步骤3、古建筑的初等解析曲面重建;

步骤4、古建筑的自由曲面重建;

步骤5、进行真实感绘制。

上述古建筑模型的分割步骤为:

首先,求出古建筑的包围盒即所有点集的X,Y,Z各个方向的最 大最小点,然后将空间立方体按照垂直方向N等分,在每个N等分点 处,按照平行于Z轴方向上下浮动指定的阈值,形成多个子立方体, 并将其从小到大分层存放;

设定的阈值Thshold可由下式求得:

Theshold=(Zmax-Zmin)/n     (1)

为了对模型进行分割,还要对其进行相似层聚类:当包围盒的Z 轴为0时,以这个平面为参考平面,看成一张二值图;二值图中0点坐 标点为基于点云的古建筑模型中最小点,U、V坐标方向分别为原来 的X、Y轴增长方向,用Ymax、Xmax分别减去Ymin、Xmin得出|Y|、|X|, 比较|Y|和|X|两者的值,取其值大的变量为U、V方向上长度Len的值; 预设二值图分别在U和V方向上分的格子数为Num,求出每一格的步 长Step的值为:

Step=Len/Num     (2)

从而得到一个具有Len*Len大小的二值图;

对每层的数据分别投影到平面上,并且把每个投影平面看成一张 图片,每层上的数据点都会落入二值图中规划的格子里。对每个格子 进行标记,存在数据点的像素值记为1,无点的像素值为0,这样可以 得出这层所对应的二值图中每个坐标点对应的像素值。然后按照Z轴 方向从小到大遍历每一层所对应的二值图,用相邻层之间所对应的二 值图进行和运算。将和运算值存储得到一个数组,从数组中数据突变 的情况,可以对相似层聚类,从而分割出古建筑不同组成部分。

上述古建筑的缺失数据填补步骤包括:

(1)求取古建筑模型的对称轴

在图像空间中,所有共线的点(x,y)都可以用直线方程描述为:

y=mx+c     (3)

其中m为直线的斜率,c为截距,同时公式(3)又可以改写为:

c=-xm+y     (4)

上式可以看做是参数空间C-M中的一条直线方程,其中直线的斜 率为x,截距为y。比较式(3)和式(4),可以看出,图像空间中的一点 (x,y)对应参数空间中的一条直线,而这条直线又是由参数空间中的点 (m,c)来决定的。这条直线上的点经过Hough变换后,对应的参数空间 中的直线相交于一点。确定该点在参数空间中的位置从而可以知道图 像中直线的参数,即可以提取出直线。其对称轴为k1和k2,且k1>0&& k2<0。

(2)单侧数据的缺失填补

首先对分布在X轴右边的一面数据进行填补;对于基于点云的屋 顶数据的某一层数据来说,利用相邻面之间的对称轴,求出X轴右边 的单侧面中这一层数据。对这一层每一个点进行遍历,凡是点的斜率 k(即此点的y坐标值除以x坐标值)满足式(5),则认为该点为这一侧 的数据。

k2<k<k1&&x>0     (5)

由此可以得到每一侧的数据。

根据相邻面之间的对称性,对这一层数据y轴下方的一侧数据求 出关于对称轴k2对称的点(在X轴右边的单侧面上)以及X轴左边单 侧点关于中心对称求得中心对称点(在X轴右边的单侧面上)。综上 所述,从两个方向求得的对称点都落入X轴右边的单侧面上,从而得 到这一层一个单侧面的缺失数据填补。

上述古建筑的初等解析曲面重建步骤为:

对古建筑的不同组成部分分别用Hough变换和最小二乘法提取 直线和圆;

(1)获得由平面组成的网格模型

用上述对古建筑模型提取对称轴的方法将每层的直线提取出来。 对于地基,根据其中心矩形的四个顶点求出这个矩形网格模型。对于 楼梯和斜坡均用类似的方法求出各个交点,求出对应的网格模型。

(2)获得由曲面组成的圆柱的网格模型

从上述相似层聚类的结果得到不属于地基和圆柱之间的任意一 簇类的突变层,对其点云数据进行遍历,得出X,Y方向最大最小值 所对应的数据点,然后连接四点,形成包围四边形。对X轴右边的一 条边求出斜率和截距,给截距加减一个阈值,把此方向的圆柱分离出 来。然后根据点与点之间的距离分离六个圆,采用最小二乘方法拟合, 求出圆心和半径。从而求出圆柱的网格模型。根据相邻面之间的对称 性和中心对称性求出所有的圆柱网格模型。

上述古建筑的自由曲面重建步骤包括:

(1)获得单侧自由曲面的网格模型

根据对称轴求出屋顶X轴右边的数据,对每层数据按照Y轴方向 从小到大进行排序,然后求出最大最小值,算出整个最小值所对应的 点到最大值点所对应的点的整个长度|Ywhole|。将这整个长度在Y轴方 向分为M个等分点,在每个等分点附近加减相同的阈值,从而形成矩 形。对每个矩形里的数据点进行求取平均,代替此矩形内的所有点数 据,最后根据点的上下左右位置关系形成四边形网格模型。

(2)获得四面自由曲面的网格模型

根据古建筑相邻面之间的对称性及中心对称性,求取其它三面的 网格模型,从而得到整个屋顶的网格模型。

上述实现古建筑的真实感绘制步骤为:

采用纹理映射对古建筑进行真实感绘制。由于古建筑结构比较复 杂,不能直接贴到整个古建筑网格模型上,因此将整个建筑物分解成 与各个网格模型对应的面信息,确定对应点,直接进行纹理映射。

本发明具有如下有益效果:

1.本发明中国唐朝风格古建筑的建模方法,解决了现有方法只 适用于基于点云的较为规则的建筑物重建,对基于点云的复杂建筑物 的重建效果不佳的问题,优化了复杂建筑物的重建效果。

2.本发明中国唐朝风格古建筑的建模方法,解决了现有方法只 能针对基于点云的复杂建筑物的一部分进行模型提取并重建,无法对 整个建筑物进行重建的问题。

附图说明

图1本发明中国唐朝风格古建筑的建模方法流程图;

图2本发明中国唐朝风格古建筑的建模方法的分层流程图;

图3本发明中国唐朝风格古建筑的建模方法的二值图像说明;

图4本发明中国唐朝风格古建筑的建模方法的通过Hough变换 提取出的对称轴;

图5本发明中国唐朝风格古建筑的建模方法的单层数据的填补 效果图;

图6本发明中国唐朝风格古建筑的建模方法的曲面重建网格图;

图7本发明中国唐朝风格古建筑的建模方法的曲面重建效果图。

具体实施方式

下面结合附图和具体实施方式对本发明进行详细说明,应指出的 是,所描述的实施例仅旨在便于对本发明的理解,而对其不起任何限 定作用。

本发明中国唐朝风格古建筑的建模方法,首先将基于点云的古建 筑模型分层,对其相似层聚类,得到古建筑的不同组成部分;然后利 用古建筑的对称性对古建筑的不同组成部分进行缺失数据填补;通过 Hough变换和最小二乘法分别提取直线和圆来实现初等解析曲面重 建;接着根据每层点的特点,对每层选取相同的点,按照坐标的位置 关系,形成四边形网格模型,实现自由曲面重建;最后通过纹理映射 的方法实现古建筑的真实感绘制。本发明的模拟方法流程参见图1。

具体的实施步骤如下:

步骤1、对基于点云的古建筑模型进行分割:

由于中国古建筑结构比较复杂,不利于整体建模,因此本发明将 测量的古建筑数据分割成不同组成部分,并分别对其进行建模。

首先,对所获取的古建筑数据点进行遍历,求出古建筑的包围盒 即所有点集的X,Y,Z各个方向的最大最小点:Xmax,Xmin,Ymax, Ymin,Zmax,Zmin。然后根据这些最大最小值所对应的点为立方体的顶 点,生成一个与X,Y,Z坐标轴分别平行的能包围所有点云数据的立 方体包围盒。

将空间立方体按照垂直方向N等分点,在每个N等分点处,按照 平行于Z轴方向上下浮动指定的阈值,形成每个子立方体(根据扫描精 度可以给定的一个阈值范围,即:Z±Theshold)从小到大分层存放。

设定的阈值Theshold可由下式求得:

Theshold=(Zmax-Zmin)/n     (1)

分层流程如图2所示,其详细步骤如下:

(1)对整个基于点云的古建筑进行遍历。

(2)根据这些最大最小值所对应的点为立方体的顶点,生成一 个与X,Y,Z坐标轴分别平行的能包围所有点云数据的立方体包围盒。

(3)将空间立方体按照垂直方向N等分点。

(4)在每个N等分点处,按照平行于Z轴方向上下浮动指定的阈 值,形成每个子立方体(根据扫描精度可以给定的一个阈值范围,即: Z±Theshold)从小到大分层存放。

(5)将在每个小立方体内(当Theshold为0,则为Zi平面)的数据 点保留,其余的点全部舍弃,最后得到一个分层之后的点云模型。

为了对模型进行分割,还要对其进行相似层聚类:

当包围盒的Z轴为0时,以这个平面为参考平面,看成一张二值图。 二值图中0点坐标点为古建筑模型中最小点,U、V坐标方向分别为原 来的X、Y轴增长方向,用Ymax、Xmax分别减去Ymin、Xmin得出|Y|、|X|, 比较|Y|和|X|两者的值,取其值大的变量为U、V方向上的长度Len的 值。预设二值图分别在U和V方向上分的格子数为Num,不难求出每 一格的步长Step的值为:

Step=Len/Num     (2)

从而得到一个具有Len*Len大小的二值图,如图3所示。

对每层的数据分别投影到平面上,并且把每个平面看成一张图 片,且这张图片的大小标准和分辨率均为图3所示。观察每层上的数 据点都会落入二值图中规划的格子里,且每个格子里的数据点分布不 同。对每个格子进行标记,格子里存在数据点的像素值记为1,无点 的格子所对应的像素值为0,这样可以得出这层所对应的二值图中每 个坐标点对应的像素值。然后按照Z轴方向从小到大遍历每一层所对 应的二值图,用相邻层之间所对应的二值图进行和运算(即上一层的 各个点坐标的像素值减去与它相邻的下一层各个对应相同点坐标位 置的像素值),然后将每相邻之间和运算的结果存入一个数组中。如 果相邻层相似的话,那么相邻层之间的和运算值不会突变,是以一种 比较缓慢的方式变化。如果相邻层不相似的话,和运算值会突然很大 或者很小。因此,可以通过对和运算值存储得到一个数组,从这个数 组中数据突变的情况,可以对相似层聚类,从而分割出古建筑不同组 成部分。

步骤2、古建筑的缺失数据填补:

对于获得的古建筑中的缺失数据,本发明通过古建筑的中心对称 特性和相邻面之间的对称性实现数据填补。

(1)求取古建筑模型的对称轴

在图像空间中,所有共线的点(x,y)都可以用直线方程描述为:

y=mx+c     (3)

其中m为直线的斜率,c为截距,同时公式(3)又可以改写为:

c=-xm+y     (4)

上式可以看做是参数空间C-M中的一条直线方程,其中直线的斜 率为x,截距为y。比较式(3)和式(4),可以看出,图像空间中的一点 (x,y)对应参数空间中的一条直线,而图像空间中的一条直线又是由参 数空间中的一个点(m,c)来决定的。Hough变换的基本思想就是将上述 两式看作是图像空间中的点和参数空间中的点的共同的约束条件,并 由此定义一个从图像空间到参数空间的一对映射。图像空间中的一条 直线上的点经过Hough变换后,对应的参数空间中的直线相交于一 点。这一点是确定的,确定该点在参数空间中的位置从而可以知道图 像中直线的参数。Hough变换把在图像空间中的直线检测问题转换到 参数空间里对点的检测问题,通过在参数空间里进行简单的累加统计 完成检测任务。

把基于点云的屋顶模型的数据投影到XOY平面上,将这个平面 看成一张如图3大小和分辨率的二值图像。这样,点数据会分布在这 张二值图中的格子中,每个格子中有点分布的,记其像素值为1,无 点的像素值记为0。通过上述过程,成功地将三维点信息转为二维图 像信息。基于此,通过Hough变换提取出直线,如图4,即相邻面之 间的对称轴k1和k2。(k1>0和k2<0)。

(2)单侧数据的缺失填补

本发明首先是对分布在X轴右边的一面数据进行填补。对于屋顶 的某一层数据来说,利用相邻面之间的对称轴,求出X轴右边的单侧 面中这一层数据。对这一层每一个点进行遍历,凡是满足这个点的斜 率k(即此点的y坐标值除以x坐标值)满足式(5),则认为该点为这一 侧的数据。

k2<k<k1&&x>0     (5)

由此可以得到每一侧的数据。

根据相邻面之间的对称性,对这一层数据y轴下方的一侧数据求 出关于对称轴k2对称的点(在X轴右边的单侧面上)。再根据古建筑的 中心对称性,将X轴左边单侧点关于中心对称求得中心对称点(在X 轴右边的单侧面上)。综上所述,从两个方向求得的对称点都落入X 轴右边的单侧面上,从而得到这一层一个单侧面的缺失数据填补,如 图5所示。

步骤3、古建筑的初等解析曲面重建:

对古建筑的不同组成部分分别用Hough变换和最小二乘法提取 直线和圆。

(1)获得由平面组成的网格模型

用上述对古建筑模型提取对称轴的方法将每层的直线提取出来。 对于地基,根据其中心矩形的四个顶点求出这个矩形网格模型。对于 楼梯和斜坡均用类似的方法求出各个交点,求出对应的网格模型。

(2)获得由曲面组成的圆柱的网格模型

从上述相似层聚类的结果得到不属于地基和圆柱之间的任意一 簇类的突变层,对其点云数据进行遍历,求出X,Y方向最大最小值 所对应的数据点,然后连接四点,形成包围四边形。对X轴右边的一 条边求出斜率和截距,给截距加减一个阈值,把此方向的圆柱分离出 来。然后根据点与点之间的距离分离六个圆,采用最小二乘方法拟合, 求出圆心和半径。从而求出圆柱的网格模型。根据相邻面之间的对称 性和中心对称性求出所有的圆柱网格模型。

步骤4、古建筑的自由曲面重建:

(1)获得单侧自由曲面的网格模型

根据对称轴求出屋顶X轴右边的数据,对每层数据按照Y轴方 向从小到大进行排序,然后求出Y轴方向的最大最小值所对应的点, 设定为每层数据点的起点和终点。同时计算出起点到终点的长度 |Ywhole|(起点和终点Y轴方向的净长)。在这个方向上将此长度分为 M等分,并在每个分点附近加减相同的阈值,形成一个矩形框。凡在 矩形框内的点保留,不在矩形框内的点舍弃,得到这层的简化数据。 再对这每个矩形框内所有点求取平均,得到每个矩形框的平均点。让 每个矩形框内的平均点代替其所有的点。最后根据当下层和上下层之 间的点位置关系(当下层是按照从小到大的顺序连接,上下层根据相 同下标进行对应连接),形成单侧自由曲面的四边形网格模型。

(2)获得四面自由曲面的网格模型

根据相邻面的对称关系和古建筑中心对称性,从X轴右边的单侧 网格模型分别推出其它三面网格模型,从而得到四面网格模型。

古建筑的曲面重建网格如图6所示,曲面重建效果如图7所示。

步骤5、实现古建筑的真实感绘制:

本发明采用纹理映射对古建筑进行真实感绘制。因为古建筑结构 比较复杂,不能直接贴到整个古建筑网格模型上。本发明将整个建筑 物分解成与各个网格模型对应的面信息,确定对应点,直接进行纹理 映射。

本发明解决了现有方法只能针对基于点云的复杂建筑物的一部 分进行模型提取并重建,无法对整个建筑物进行重建的问题。

本发明解决了现有方法只适用于基于点云的较为规则的建筑物 重建,对基于点云的复杂建筑物的重建效果不佳的问题,优化了复杂 建筑物的重建效果。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号