法律状态公告日
法律状态信息
法律状态
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、实现古建筑的真实感绘制:
本发明采用纹理映射对古建筑进行真实感绘制。因为古建筑结构 比较复杂,不能直接贴到整个古建筑网格模型上。本发明将整个建筑 物分解成与各个网格模型对应的面信息,确定对应点,直接进行纹理 映射。
本发明解决了现有方法只能针对基于点云的复杂建筑物的一部 分进行模型提取并重建,无法对整个建筑物进行重建的问题。
本发明解决了现有方法只适用于基于点云的较为规则的建筑物 重建,对基于点云的复杂建筑物的重建效果不佳的问题,优化了复杂 建筑物的重建效果。
机译: 交互式中国画风格笔画的产生方法及装置
机译: 制造文章和建模中国仓鼠卵巢(CHO)细胞代谢的方法
机译: 制造文章和建模中国仓鼠卵巢(CHO)细胞代谢的方法