CN109102535B - 一种基于构件提取的室内场景重建方法 - Google Patents
一种基于构件提取的室内场景重建方法 Download PDFInfo
- Publication number
- CN109102535B CN109102535B CN201810845292.7A CN201810845292A CN109102535B CN 109102535 B CN109102535 B CN 109102535B CN 201810845292 A CN201810845292 A CN 201810845292A CN 109102535 B CN109102535 B CN 109102535B
- Authority
- CN
- China
- Prior art keywords
- component
- point
- plane
- attribute
- fitting
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Probability & Statistics with Applications (AREA)
- Multimedia (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开的一种基于构件提取的室内场景重建方法,利用形状检测和平面分解方法提取室内场景中基本形状构件,根据点云数据,利用基于边界检测方法及基于有向包围盒的方法实现室内场景中基本形状构件的拟合,选择基本形状构件集中最大的构件作为基准构件,以基准构件为中心寻找最佳的组合构件,对组合构件与标准模型库的标准模型逐一匹配,寻找匹配度最高的构件组合,从而识别最佳组合构件组成的物体,同时利用标准模型库中的对应标准模型进行替换,最终完成室内场景的重建。本发明保证了场景物体构件提取的准确性、场景物体的形状完整性,更好地保证了室内场景重建的准确性。
Description
技术领域
本发明属于计算机图形学和虚拟现实相结合的交叉学科技术领域,具体涉及一种基于构件提取的室内场景重建方法。
背景技术
三维场景分析和重建是虚拟现实和三维数据场景可视化的一个重要方面,三维场景重建已经逐渐走进人们的日常生活中,如在自主导航、逆向工程、仿真实验、影视游戏和医学领域等都有广泛应用。
传统场景重建技术更注重重建结果的完整性,但随着基于场景重建技术的应用已经渗透到人们日常生活的方方面面,对场景重建结果的观赏性要求越来越高,要求重建结果更加接近真实场景,如果能将人们生活的世界的真实场景有效地重建出来,让虚拟世界越来越接近现实世界,并能为虚实融合的多彩空间提供支撑,这个意义是不言而喻的。
场景重建在各个领域都是研究热点,主要包括基于学习方法的自动重建和基于模型匹配方法的检索重建两个方面。基于学习方法的自动重建结果的优劣十分依赖于用于学习的数据,包括数据的数量和数据中包含特征的普遍性,同时室内场景物体形态非常相似,如椅子就有不少形态相似但却不相同的模型。而学习的方法往往重视场景物体模型的整体分布和整体特征,因此基于学习方法的自动重建结果并一定是最优的。基于模型匹配的场景重建通常会在场景数据中选取特征点,再检索物体标准模型中具有相同特征的点进行匹配,从而选出最贴近的模型替换场景数据,完成场景重建。重建结果依赖于模型库的大小和匹配过程中的特征点选取,对于单侧实测点云数据,离散点云不包含拓扑信息,同时单侧实测数据存在大量缺失的重建对象,现有的基于模型匹配的场景重建方法无法准确地完成场景重建。
发明内容
本发明的目的在于提供一种基于构件提取的室内场景重建方法,提高了现有的基于模型匹配的场景重建方法室内场景重建的准确性。
本发明所采用的技术方案是,一种基于构件提取的室内场景重建方法,具体按照以下步骤实施:
步骤1、对室内场景进行粗检测,将室内场景中每一个线状要素提取为线状数据集;将室内场景中每一个平面要素提取为平面数据集;将室内场景中每一个圆柱要素提取为圆柱数据集;
步骤2、去除平面数据集所包含的场景外环境数据后,得到室内场景的线状构件、平面构件和圆柱构件;
步骤3、对平面构件和圆柱构件均分别进行切片处理,切片处理后提取得到平面基本构件和圆柱基本构件;
步骤4、对平面基本构件进行分类;
步骤5、对平面基本构件进行拟合,得到拟合平面构件;
步骤6、对圆柱基本构件和线状构件进行拟合,分别得到拟合圆柱构件和拟合线状构件;
步骤7、选择场景内所有拟合构件中最大的拟合构件作为基准构件,拟合构件包括拟合平面构件、拟合圆柱构件和拟合线状构件,以基准构件为中心与场景内其他拟合构件组合形成构件组合,将构件组合与标准模型库的标准模型逐一匹配,寻找匹配度最高的构件组合,进一步识别匹配度最高的构件组合组成的物体,同时利用标准模型库中的对应标准模型进行替换,最终完成室内场景的重建。
本发明的特点在于,
步骤1具体按照以下步骤实施:
步骤1.1、给定室内场景中的的点云数据为D,D={pi|i=1,2,...,n},pi为三维离散点,i是不为0的自然数,n为自然数,pi={xi,yi,zi},其中,xi、yi、zi分别表示pi的各坐标值;
式(1)中,T表示矩阵转置,μi为pi的k个临近点的平均位置,
将式(2)代入式(1),通过奇异值分解对式(1)中半正定的邻域协方差矩阵Ci进行特征值分解,得到邻域协方差矩阵Ci的特征值为λ1、λ2和λ3,且λ1≥λ2≥λ3,最小特征值λ3所对应的特征向量ni(nx,ny,nz)即为点pi的法向量,nx、ny、nz分别表示ni的各坐标值;
步骤1.4、利用RANSAC随机抽样一致性算法进行平面数据集的提取:
步骤1.4.1、随机采样点云数据D中的三个点并结合这三个点的法向量确定唯一平面P;
步骤1.4.2、在平面P周围选取宽度为ε的带状区域,判断ε带状区域中的点是否为局内点,若为局内点则加入到平面P中并且更新平面P;
步骤1.4.3、对于更新后的平面P,迭代执行步骤1.4.2直到没有局内点加入到平面中;
步骤1.4.4、迭代完成后,若平面局内点数大于给定的点数阈值pnum则算法成功并且输出最终的平面P’,提取所有平面P’中的点得到平面数据集,否则算法失败;
步骤1.5、利用RANSAC随机抽样一致性算法进行圆柱数据集的提取:
步骤1.5.1、随机采样点云数据D中的两个点并结合这两个点的法向量确定一个圆柱模型K;
步骤1.5.2、在圆柱K周围选取一个宽度为ε的带状区域,判断ε带状区域中的点是否为局内点,若为局内点则加入到圆柱K中并且更新圆柱K;
步骤1.5.3、对于更新后的圆柱K,迭代执行步骤1.5.2直到没有局内点加入到圆柱K中;
步骤1.5.4、迭代完成后,若圆柱局内点数大于给定的点数阈值pnum则算法成功并且输出最终的圆柱K,提取所有圆柱K中的点得到圆柱数据集,否则算法失败。
步骤2具体按照以下步骤实施:
步骤2.1、对比点云数据D中pi各轴坐标,分别找出xi、yi、zi的最大值xmax、ymax、zmax和最小值xmin、ymin、zmin;
步骤2.2、将xmax、ymax、zmax、xmin、ymin、zmin分别映射到对应的x、y、z坐标轴上,得到AABB型包围盒的八个顶点A(xmin,ymin,zmin)、B(xmax,ymin,zmin)、C(xmin,ymax,zmin)、I(xmax,ymax,zmin)、E(xmin,ymin,zmax)、F(xmax,ymin,zmax)、G(xmin,ymax,zmax)、H(xmax,ymax,zmax);
步骤2.3、利用点法式平面方程可得到AABB型包围盒的六个面,各方程分别为ABEF:y-ymin=0,CIGH:y-ymax=0,BIFH:x-xmax=0,ACEG:x-xmin=0,ABCI:z-zmin=0,EFGH:z-zmax=0;
步骤2.4、将室内场景中检测到的平面与AABB型包围盒的六个面方程进行对比,如果平面的四个顶点与AABB型包围盒底面重合则认定该平面是地面,如果平面的四个顶点与AABB型包围盒的侧面重合则认定该平面是墙面,并在室内场景平面数据集中分别去除墙面和地面的数据集,保留的线状数据集、平面数据集、圆柱数据集分别为线状构件、平面构件和圆柱构件。
步骤3具体按照以下步骤实施:
步骤3.1、对于平面构件,选择垂直于平面的包围盒最长边作为切割方向对平面进行切割;
式(3)中,n是平面包含的三维离散点个数,di表示第i个三维离散点与其相邻的三维离散点之间的距离;
根据Gs计算平面切片估计层数num为,
式(4)中,t是约定倍数,且t>10,
根据平面切片估计层数num确定每层切片厚度δ为δ=h/num,则每层切片的范围为h0~h0+δ、h0~h0+2δ、…、h0~h0+(num-1)δ~hl;
步骤3.3、利用基于距离的区域生长算法对每层切片的数据点进行分割,从每层切片数据点中随机选取种子点,当满足种子点和近邻点之间的欧式距离小于给定的距离阈值ξ时,ξ=10·Gs,那么该点与种子点属于同一类,否则划分到不同的区域中;
步骤3.4、对于第一层切片,将第一层切片的所有聚类中心点均分别加入到一个空集合中;对于第二层切片,将第一层切片的某个聚类中心点L和距离L最近的第二层切片的聚类中心点M连接,若的连线方向与切割面垂直方向的夹角小于θ,则第二层的聚类中心点M被纳入L所在的集合;对于第三层切片,将第二层切片的聚类中心点M和距离M最近的第三层切片的聚类中心点N连接,若和方向夹角小于θ,则第三层的聚类中心点N被纳入M所在的集合;对于第三层以后的各层切片,若该层切片的前一层切片的聚类中心点所在的集合中至少有两个聚类中心,则其聚类中心点的归纳与第三层切片聚类中心点归纳方式相同,否则与第二层切片聚类中心点归纳方式相同;
当某层的聚类中心点不能满足归纳条件,则该聚类中心点对应的集合组合结束,而不满足条件的该聚类中心点将各被加入到一个新的集合中,依次将所有聚类中心点归纳组合;
步骤3.5、得到平面构件最终切片聚类中心点的组合结果,完成场景的平面基本构件提取;
步骤3.6、对于圆柱构件,垂直于轴线方向进行切割,切割后按照步骤3.2~步骤3.4依次操作,得到圆柱构件最终切片聚类中心点的组合结果,完成场景的圆柱基本构件提取。
步骤4具体按照以下步骤实施:
步骤4.1、令平面基本构件的数据点为pa(xa,ya,za),a为不为0的自然数,pa∈D,pa的法向量为na(nax,nay,naz),根据平面点法式求得pa处局部平面π为,
nax(x-xa)+nay(y-ya)+naz(z-za)=0 (6)
将pa点的近邻点qj沿局部平面法向量方向投影到局部平面π上,qj在局部平面π上的投影点为qj'(xq,yq,zq),根据点积几何意义结合式计算qj'的各坐标值,
IppaI=xp·nax+yp·nay+zp·naz (9)
步骤4.2、在局部平面π上建立局部坐标系,连接点pa和任意一个投影点q'j,该连线为则局部坐标系的x轴为 局部坐标系的y轴为 任意一个投影点q'j在局部坐标系中的坐标为将投影点q'j均分别与局部坐标系原点相连,再计算所有相邻连线之间夹角,若某投影点q'j与局部坐标系原点相连相邻连线之间夹角最大,且大于给定的夹角阈值μ,则该投影点被标记为平面基本构件边界点po(o=0,1,2,...,n),o是不为0的自然数;
步骤4.3、给定平面基本构件边界点po的n次参数曲线段为,
式(9)中,P(t)为n次B样条曲线,其中边界点po所组成的多边形为B样条的特征多边形,Go,n(t)为n次B样条函数的基函数,
式(10)中,0≤j≤n-o,
选取目标点左右各5个点进行曲线拟合,即n=10,并将n=10代入式(11)求得Go,n(t),再将Go,n(t)代入式(10),求得P(t);
根据P(t)求出po的曲率kt为,
当90%的边界点的曲率约为0,则该平面构件为棱角分明的平面基本构件;当90%边界点的曲率大于0,则判定为边界平滑弯曲的平面基本构件。
步骤5具体为,
对于边界平滑弯曲的平面基本构件,在边界点集中,随机选取一点作为种子点并将其放进空队列Q中,然后找出距离该种子点最近的边界点v并将v放进队列Q,并且将v点更新为种子点,在迭代执行查找过程直至所有边界点被放入到队列Q中,则队列Q中数据点的顺序即为边界点调整后的顺序,队列Q即为边界平滑弯曲的平面基本构件的拟合结果;
对于棱角分明的平面基本构件,对棱角分明的平面基本构件求取OBB包围盒,利用OBB型包围盒的六个面替换构件原始数据,实现棱角分明的平面基本构件的拟合,得到棱角分明的平面基本构件的拟合结果,边界平滑弯曲的平面基本构件的拟合结果和棱角分明的平面基本构件的拟合结果并称为拟合平面构件。
步骤6具体为,
对于圆柱基本构件,将有向包围盒最长的边l1所在方向作为轴线方向,即为圆柱基本构件的放置方向,将l1的长度作为圆柱基本构件的母线长度,有向包围盒次长边l2和最短边l3均值的一半作为圆柱的半径r,r=(1/4)(l2+l3),分别求出四条l1两端点的均值,比较得出l1两端点均值的最大值(xlmax,ylmax,zlmax)和最小值(xlmin,ylmin,zlmin),由此确定圆柱基本构件的放置位置,最终得到拟合圆柱构件;
对于线状构件,利用线状构件的两端点值确定线状构件的位置,得到拟合线状构件。
步骤7具体按照以下步骤实施:
步骤7.1、将场景内所有拟合构件中最大的拟合构件作为基准构件T0,其他构件为Ti,利用T0与Ti中最近的两点之间距离表示T0与Ti的距离,取属于T0的点e、属于Ti的点f,构件T0与Ti的距离为,
利用基于距离的方法为基准构件T0寻找到m种组成方式,得到包含0到m个拟合构件的m种构件组合;
为表示每种组合中构件间的拓扑关系,为其建立拓扑结构并生成星型结构的拓扑图,拓扑图表示为G(V,R,Vattr,Rattr),表示V顶点,Vattr表示顶点属性,R表示边,Rattr表示边属性。
步骤7.2、将模型库中每个标准模型分解为多个拟合构件,并为分解后的模型建立拓扑结构,生成拓扑图,最后设置拓扑图顶点属性和边属性;
步骤7.3、基于基准构件T0有m种组合方式,将m种构件组合逐一地和模型库中标准模型进行匹配,对二者的拓扑结构匹配度进行打分得到构件组合和标准模型的匹配度,匹配度最高的构件组合即为最佳构件组合,相应的标准模型为最佳构件组合匹配到的最佳标准模型;
步骤7.4、最佳标准模型替换最佳构件组合的原始数据,完成场景重建。
拓扑图中,将拟合构件中心作为拓扑图的顶点V,而顶点属性Vattr包括形状、大小和放置方向,顶点形状属性分别表示为:平面‘plane’、圆柱‘cyliner’和线状‘line’,顶点大小属性:用平面的长度和宽度表示拟合平面构件顶点的大小属性,利用圆柱在轴线上的高度和圆柱的平均直径表示拟合圆柱构件的顶点大小属性,利用长度表示线状构件的大小,为将拟合线状构件顶点的大小属性和其他拟合构件顶点的大小属性数量保持一致,为拟合线状构件添加顶点的大小属性第二个值恒为零;
顶点的位置属性:对基于边界拟合的拟合平面构件,位置属性是所有边界点的均值;对于基于OBB型包围盒拟合的拟合平面构件,位置属性为OBB型包围盒八个顶点的均值;对于拟合圆柱构件,位置属性为拟合过程中轴线上最大值和最小值的平均值,对于拟合线状构件,位置属性为两个端点的平均值。
顶点的方向属性:拟合平面构件的方向属性为平面法向量方向,拟合圆柱构件的方向属性为轴线方向,拟合线状构件的方向属性为线状的延伸;
拓扑图中的边R是顶点之间的连线,以基准构件为中心,构件组合中的其他拟合构件都与之相连接,边的属性包括长度属性和相邻边夹角属性;
将基准构件顶点分别与组成构件顶点连接可得到m-1条边,根据每条边长两端顶点的位置属性,可以得到每条边的长度,长度属性是m-1维的;相邻边夹角属性:在星型拓扑结构中,相邻边间会形成一个夹角即相邻边夹角,相邻边夹角属性同样是m-1维的;
将构件组合中除基准构件外的所有其他拟合构件顶点位置属性的均值所确定的点作为起始位置,再按照给定的三个方向在空间中依次寻找各个构件组合中除基准构件外的其他拟合构件顶点,给定的三个方向相当于球体的经向、纬向和最大横截面的经向,构件组合中除基准构件外的其他拟合构件顶点被找到的顺序就是构件组合中除基准构件外的其他拟合构件顶点的顺序,顶点属性记录过程中,首先记录基准构件顶点,再依次记录构件组合中除基准构件外的所有其他拟合构件顶点;利用拓扑图的顶点属性和边属性得到一组拓扑参数用来记录该拓扑结构,参数表示为(顶点个数,顶点1属性,顶点2属性,…,顶点m属性,长度属性,相邻边夹角属性)。
打分方式具体为,
利用构件组合的拓扑图中包含顶点的个数对模型库中的模型进行筛选,若标准模型的拓扑图包含的顶点数与包含点数不一致,则首先排除掉这些模型。再利用组合打分策略为和剩余模型拓扑图的匹配度进行打分,从而选出匹配度得分最高的模型为得分记为
根据二者拓扑图中,构件组合中除基准构件外的所有其他拟合构件顶点的位置属性,可得到构件组合中除基准构件外的所有其他拟合构件位置属性均值所确定的点,将模型从标准模型中指定的方向旋转到构件组合的方向,为从标准模型中最大平面的质心点S到整个标准模型的重心g的连接方向,为从组合中最大平面的质心点S'到整个构件组合的重心g'的连接方向,再分别对二者的基准构件求取有向包围盒,得到有向包围盒最长边所在方向为和将模型从方向旋转到方向,通过旋转将模型Mjp转至与构件组合W相同角度;
后再进行匹配度打分,;
设构件组合中基准构件的某一顶点为Vpi,其形状属性为顶点大小属性为表示方向属性的向量为与该顶点对应的标准模型顶点mi,其形状属性为fi m,构件组合中基准构件和标准模型中基准构件的比例为rn,若顶点放置方向属性与比例rn无关则直接进行打分,若顶点放置方向属性与比例rn有关则将标准模型顶点mi大小属性按照比例rn进行放缩,放缩后顶点mi大小属性为表示方向属性的向量为则顶点Vpi与模型中对应顶点mi匹配得分为:
式(14)中,SOi表示形状属性的匹配得分,
当顶点pi的形状属性fi p和模型顶点mi的形状属性fi m一致,或者模型形状属性为‘cylinder’或者‘line’时:
当顶点pi的形状属性fi p和模型顶点mi的形状属性fi m其中一个为‘plane’另一个为‘cylinder’时:
构件组合拓扑图与模型拓扑图顶点匹配度打分为:
顶点属性打分权重为w0,边属性打分权重为w1,则最终得分为:
S=w0·SNode+w1·SEdge (19)
设w0+w1=1(w0≥0,w1≥0),在[0,1]上均匀选取10~20组权重并得到权重集合为:
当权重值为时模型匹配正确率为Fk,则可以得到权重值和正确率的数据对,用和Fk对应关系表示权重值和匹配正确率Fk的对应关系,再拟合得到和Fk的函数关系F=fw(w∈[0,1]),在定义域[0,1]上,寻找函数值最大时权重w的值,即得到了最优权重系数(w0,w1)=(w,1-w),将最优权重系数代入式(19),得到最终得分,通过比较得到最终得分最高的构件组合,则将该构件组合为最佳构件组合。
本发明的有益效果在于:
本发明一种基于构件提取的室内场景重建方法中,通过将切片与构件组合相结合的思想,保证了场景物体构件提取的准确性;对基本形状构件分类进行拟合,保证了场景物体的形状完整性;利用打分机制对构件进行匹配式识别,更好地保证了室内场景重建的准确性。
附图说明
图1是本发明一种基于构件提取的室内场景重建方法的流程示意图;
图2是本发明一种基于构件提取的室内场景重建方法中平面构件的切片示意图;
图3是本发明一种基于构件提取的室内场景重建方法中圆柱构件的切片示意图;
图4是本发明一种基于构件提取的室内场景重建方法中寻找各个组成构件顶点的方向示意图。
图中,s方向为垂直于切割面的方向,a1、a2、a3分别表示三个指定的寻找方向。
具体实施方式
下面结合具体实施方式对本发明进行详细说明。
本发明一种基于构件提取的室内场景重建方法,如图1所示,具体按照以下步骤实施:
步骤1、对室内场景进行粗检测,将室内场景中每一个线状要素提取为线状数据集;将室内场景中每一个平面要素提取为平面数据集;将室内场景中每一个圆柱要素提取为圆柱数据集。
步骤1具体按照以下步骤实施,
步骤1.1、给定室内场景中的的点云数据为D,D={pi|i=1,2,...,n},pi为三维离散点,i是不为0的自然数,n为自然数,pi={xi,yi,zi},其中,xi、yi、zi分别表示pi的各坐标值;
式(1)中,T表示矩阵转置,μi为pi的k个临近点的平均位置,
将式(2)代入式(1),通过奇异值分解对式(1)中半正定的邻域协方差矩阵Ci进行特征值分解,得到邻域协方差矩阵Ci的特征值为λ1、λ2和λ3,且λ1≥λ2≥λ3,最小特征值λ3所对应的特征向量ni(nx,ny,nz)即为点pi的法向量,nx、ny、nz分别表示ni的各坐标值;
步骤1.4、利用RANSAC随机抽样一致性算法进行平面数据集的提取:
步骤1.4.1、随机采样点云数据D中的三个点并结合这三个点的法向量确定唯一平面P;
步骤1.4.2、在平面P周围选取宽度为ε的带状区域,判断ε带状区域中的点是否为局内点,若为局内点则加入到平面P中并且更新平面P;
步骤1.4.3、对于更新后的平面P,迭代执行步骤1.4.2直到没有局内点加入到平面中;
步骤1.4.4、迭代完成后,若平面局内点数大于给定的点数阈值pnum则算法成功并且输出最终的平面P’,提取所有平面P’中的点得到平面数据集,否则算法失败;
步骤1.5、利用RANSAC随机抽样一致性算法进行圆柱数据集的提取:
步骤1.5.1、随机采样点云数据D中的两个点并结合这两个点的法向量确定一个圆柱模型K;
步骤1.5.2、在圆柱K周围选取一个宽度为ε的带状区域,判断ε带状区域中的点是否为局内点,若为局内点则加入到圆柱K中并且更新圆柱K;
步骤1.5.3、对于更新后的圆柱K,迭代执行步骤1.5.2直到没有局内点加入到圆柱K中;
步骤1.5.4、迭代完成后,若圆柱局内点数大于给定的点数阈值pnum则算法成功并且输出最终的圆柱K,提取所有圆柱K中的点得到圆柱数据集,否则算法失败。
步骤2、去除平面数据集所包含的场景外环境数据后,得到室内场景的线状构件、平面构件和圆柱构件
步骤2.1、对比点云数据D中pi各轴坐标,分别找出xi、yi、zi的最大值xmax、ymax、zmax和最小值xmin、ymin、zmin;
步骤2.2、将xmax、ymax、zmax、xmin、ymin、zmin分别映射到对应的x、y、z坐标轴上,得到AABB型包围盒的八个顶点A(xmin,ymin,zmin)、B(xmax,ymin,zmin)、C(xmin,ymax,zmin)、I(xmax,ymax,zmin)、E(xmin,ymin,zmax)、F(xmax,ymin,zmax)、G(xmin,ymax,zmax)、H(xmax,ymax,zmax);
步骤2.3、利用点法式平面方程可得到AABB型包围盒的六个面,各方程分别为ABEF:y-ymin=0,CIGH:y-ymax=0,BIFH:x-xmax=0,ACEG:x-xmin=0,ABCI:z-zmin=0,EFGH:z-zmax=0;
步骤2.4、将室内场景中检测到的平面与AABB型包围盒的六个面方程进行对比,如果平面的四个顶点与AABB型包围盒底面重合则认定该平面是地面,如果平面的四个顶点与AABB型包围盒的侧面重合则认定该平面是墙面,并在室内场景平面数据集中分别去除墙面和地面的数据集,保留的线状数据集、平面数据集、圆柱数据集分别为线状构件、平面构件和圆柱构件。
步骤3、对平面构件和圆柱构件均分别进行切片处理,切片处理后提取得到平面基本构件和圆柱基本构件
步骤3.1、对于平面构件,选择垂直于平面的包围盒最长边作为切割方向对平面进行切割;
式(3)中,n是平面包含的三维离散点个数,di表示第i个三维离散点与其相邻的三维离散点之间的距离;
根据Gs计算平面切片估计层数num为,
式(4)中,t是约定倍数,且t>10,
根据平面切片估计层数num确定每层切片厚度δ为δ=h/num,则每层切片的范围为h0~h0+δ、h0~h0+2δ、…、h0~h0+(num-1)δ~hl;
步骤3.3、利用基于距离的区域生长算法对每层切片的数据点进行分割,从每层切片数据点中随机选取种子点,当满足种子点和近邻点之间的欧式距离小于给定的距离阈值ξ时,ξ=10·Gs,那么该点与种子点属于同一类,否则划分到不同的区域中;
步骤3.4、对于第一层切片,将第一层切片的所有聚类中心点均分别加入到一个空集合中;对于第二层切片,将第一层切片的某个聚类中心点L和距离L最近的第二层切片的聚类中心点M连接,若的连线方向与切割面垂直方向的夹角小于θ,则第二层的聚类中心点M被纳入L所在的集合;对于第三层切片,将第二层切片的聚类中心点M和距离M最近的第三层切片的聚类中心点N连接,若和方向夹角小于θ,则第三层的聚类中心点N被纳入M所在的集合;对于第三层以后的各层切片,若该层切片的前一层切片的聚类中心点所在的集合中至少有两个聚类中心,则其聚类中心点的归纳与第三层切片聚类中心点归纳方式相同,否则与第二层切片聚类中心点归纳方式相同;
当某层的聚类中心点不能满足归纳条件,则该聚类中心点对应的集合组合结束,而不满足条件的该聚类中心点将各被加入到一个新的集合中,依次将所有聚类中心点归纳组合;
步骤3.5、得到平面构件最终切片聚类中心点的组合结果,完成场景的平面基本构件提取;
步骤3.6、对于圆柱构件,如图3所示,垂直于轴线方向进行切割,切割后按照步骤3.2~步骤3.4依次操作,得到圆柱构件最终切片聚类中心点的组合结果,完成场景的圆柱基本构件提取。
步骤4、对平面基本构件进行分类
步骤4.1、令平面基本构件的数据点为pa(xa,ya,za),a为不为0的自然数,pa∈D,pa的法向量为na(nax,nay,naz),根据平面点法式求得pa处局部平面π为,
nax(x-xa)+nay(y-ya)+naz(z-za)=0 (6)
将pa点的近邻点qj沿局部平面法向量方向投影到局部平面π上,qj在局部平面π上的投影点为qj'(xq,yq,zq),根据点积几何意义结合式计算qj'的各坐标值,
IppaI=xp·nax+yp·nay+zp·naz (9)
步骤4.2、在局部平面π上建立局部坐标系,连接点pa和任意一个投影点q'j,该连线为则局部坐标系的x轴为 局部坐标系的y轴为 任意一个投影点q'j在局部坐标系中的坐标为将投影点q'j均分别与局部坐标系原点相连,再计算所有相邻连线之间夹角,若某投影点q'j与局部坐标系原点相连相邻连线之间夹角最大,且大于给定的夹角阈值μ,则该投影点被标记为平面基本构件边界点po(o=0,1,2,...,n),o是不为0的自然数;
步骤4.3、给定平面基本构件边界点po的n次参数曲线段为,
式(9)中,P(t)为n次B样条曲线,其中边界点po所组成的多边形为B样条的特征多边形,Go,n(t)为n次B样条函数的基函数,
式(10)中,0≤j≤n-o,
选取目标点左右各5个点进行曲线拟合,即n=10,并将n=10代入式(11)求得Go,n(t),再将Go,n(t)代入式(10),求得P(t);
根据P(t)求出po的曲率kt为,
当90%的边界点的曲率约为0,则该平面构件为棱角分明的平面基本构件;当90%边界点的曲率大于0,则判定为边界平滑弯曲的平面基本构件。
步骤5、对平面基本构件进行拟合,得到拟合平面构件
对于边界平滑弯曲的平面基本构件,在边界点集中,随机选取一点作为种子点并将其放进空队列Q中,然后找出距离该种子点最近的边界点v并将v放进队列Q,并且将v点更新为种子点,在迭代执行查找过程直至所有边界点被放入到队列Q中,则队列Q中数据点的顺序即为边界点调整后的顺序,队列Q即为边界平滑弯曲的平面基本构件的拟合结果;
对于棱角分明的平面基本构件,对棱角分明的平面基本构件求取OBB包围盒,利用OBB型包围盒的六个面替换构件原始数据,实现棱角分明的平面基本构件的拟合,得到棱角分明的平面基本构件的拟合结果,边界平滑弯曲的平面基本构件的拟合结果和棱角分明的平面基本构件的拟合结果并称为拟合平面构件。
步骤6、对圆柱基本构件和线状构件进行拟合,分别得到拟合圆柱构件和拟合线状构件
对于圆柱基本构件,将有向包围盒最长的边l1所在方向作为轴线方向,即为圆柱基本构件的放置方向,将l1的长度作为圆柱基本构件的母线长度,有向包围盒次长边l2和最短边l3均值的一半作为圆柱的半径r,r=(1/4)(l2+l3),分别求出四条l1两端点的均值,比较得出l1两端点均值的最大值(xlmax,ylmax,zlmax)和最小值(xlmin,ylmin,zlmin),由此确定圆柱基本构件的放置位置,最终得到拟合圆柱构件;
对于线状构件,利用线状构件的两端点值确定线状构件的位置,得到拟合线状构件。
步骤7、选择场景内所有拟合构件中最大的拟合构件作为基准构件,拟合构件包括拟合平面构件、拟合圆柱构件和拟合线状构件,以基准构件为中心与场景内其他拟合构件组合形成构件组合,将构件组合与标准模型库的标准模型逐一匹配,寻找匹配度最高的构件组合,进一步识别匹配度最高的构件组合组成的物体,同时利用标准模型库中的对应标准模型进行替换,最终完成室内场景的重建。
步骤7具体按照以下步骤实施:
步骤7.1、将场景内所有拟合构件中最大的拟合构件作为基准构件T0,其他构件为Ti,利用T0与Ti中最近的两点之间距离表示T0与Ti的距离,取属于T0的点e、属于Ti的点f,构件T0与Ti的距离为,
利用基于距离的方法为基准构件T0寻找到m种组成方式,得到包含0到m个拟合构件的m种构件组合;
为表示每种组合中构件间的拓扑关系,为其建立拓扑结构并生成星型结构的拓扑图,拓扑图表示为G(V,R,Vattr,Rattr),表示V顶点,Vattr表示顶点属性,R表示边,Rattr表示边属性。
步骤7.2、将模型库中每个标准模型分解为多个拟合构件,并为分解后的模型建立拓扑结构,生成拓扑图,最后设置拓扑图顶点属性和边属性;
步骤7.3、基于基准构件T0有m种组合方式,将m种构件组合逐一地和模型库中标准模型进行匹配,对二者的拓扑结构匹配度进行打分得到构件组合和标准模型的匹配度,匹配度最高的构件组合即为最佳构件组合,相应的标准模型为最佳构件组合匹配到的最佳标准模型;
步骤7.4、最佳标准模型替换最佳构件组合的原始数据,完成场景重建。
拓扑图中,将拟合构件中心作为拓扑图的顶点V,而顶点属性Vattr包括形状、大小和放置方向,顶点形状属性分别表示为:平面‘plane’、圆柱‘cyliner’和线状‘line’,顶点大小属性:用平面的长度和宽度表示拟合平面构件顶点的大小属性,利用圆柱在轴线上的高度和圆柱的平均直径表示拟合圆柱构件的顶点大小属性,利用长度表示线状构件的大小,为将拟合线状构件顶点的大小属性和其他拟合构件顶点的大小属性数量保持一致,为拟合线状构件添加顶点的大小属性第二个值恒为零;
顶点的位置属性:对基于边界拟合的拟合平面构件,位置属性是所有边界点的均值;对于基于OBB型包围盒拟合的拟合平面构件,位置属性为OBB型包围盒八个顶点的均值;对于拟合圆柱构件,位置属性为拟合过程中轴线上最大值和最小值的平均值,对于拟合线状构件,位置属性为两个端点的平均值。
顶点的方向属性:拟合平面构件的方向属性为平面法向量方向,拟合圆柱构件的方向属性为轴线方向,拟合线状构件的方向属性为线状的延伸;
拓扑图中的边R是顶点之间的连线,以基准构件为中心,构件组合中的其他拟合构件都与之相连接,边的属性包括长度属性和相邻边夹角属性;
将基准构件顶点分别与组成构件顶点连接可得到m-1条边,根据每条边长两端顶点的位置属性,可以得到每条边的长度,长度属性是m-1维的;相邻边夹角属性:在星型拓扑结构中,相邻边间会形成一个夹角即相邻边夹角,相邻边夹角属性同样是m-1维的;
将构件组合中除基准构件外的所有其他拟合构件顶点位置属性的均值所确定的点作为起始位置,如图4所示,再按照给定的三个方向在空间中依次寻找,再按照给定的三个方向在空间中依次寻找构件组合中除基准构件外的其他拟合构件顶点,给定的三个方向相当于球体的经向、纬向和最大横截面的经向,构件组合中除基准构件外的其他拟合构件顶点被找到的顺序就是构件组合中除基准构件外的其他拟合构件顶点的顺序,顶点属性记录过程中,首先记录基准构件顶点,再依次记录构件组合中除基准构件外的所有其他拟合构件顶点;利用拓扑图的顶点属性和边属性得到一组拓扑参数用来记录该拓扑结构,参数表示为(顶点个数,顶点1属性,顶点2属性,…,顶点m属性,长度属性,相邻边夹角属性)。
打分方式具体为,
利用构件组合的拓扑图中包含顶点的个数对模型库中的模型进行筛选,若标准模型的拓扑图包含的顶点数与包含点数不一致,则首先排除掉这些模型。再利用组合打分策略为和剩余模型拓扑图的匹配度进行打分,从而选出匹配度得分最高的模型为得分记为
根据二者拓扑图中,构件组合中除基准构件外的所有其他拟合构件顶点的位置属性,可得到构件组合中除基准构件外的所有其他拟合构件位置属性均值所确定的点,将模型从标准模型中指定的方向旋转到构件组合的方向,为从标准模型中最大平面的质心点S到整个标准模型的重心g的连接方向,为从组合中最大平面的质心点S'到整个构件组合的重心g'的连接方向,再分别对二者的基准构件求取有向包围盒,得到有向包围盒最长边所在方向为和将模型从方向旋转到方向,通过旋转将模型转至与构件组合W相同角度;
后再进行匹配度打分,;
设构件组合中基准构件的某一顶点为Vpi,其形状属性为fi p,顶点大小属性为表示方向属性的向量为与该顶点对应的标准模型顶点mi,其形状属性为fi m,构件组合中基准构件和标准模型中基准构件的比例为rn,若顶点放置方向属性与比例rn无关则直接进行打分,若顶点放置方向属性与比例rn有关则将标准模型顶点mi大小属性按照比例rn进行放缩,放缩后顶点mi大小属性为表示方向属性的向量为则顶点Vpi与模型中对应顶点mi匹配得分为:
式(14)中,SOi表示形状属性的匹配得分,
当顶点pi的形状属性fi p和模型顶点mi的形状属性fi m一致,或者模型形状属性为‘cylinder’或者‘line’时:
当顶点pi的形状属性fi p和模型顶点mi的形状属性fi m其中一个为‘plane’另一个为‘cylinder’时:
构件组合拓扑图与模型拓扑图顶点匹配度打分为:
顶点属性打分权重为w0,边属性打分权重为w1,则最终得分为:
S=w0·SNode+w1·SEdge (19)
当权重值为时模型匹配正确率为Fk,则可以得到权重值和正确率的数据对,用和Fk对应关系表示权重值和匹配正确率Fk的对应关系,再拟合得到和Fk的函数关系F=fw(w∈[0,1]),在定义域[0,1]上,寻找函数值最大时权重w的值,即得到了最优权重系数(w0,w1)=(w,1-w),将最优权重系数代入式(19),得到最终得分,通过比较得到最终得分最高的构件组合,则将该构件组合为最佳构件组合。
通过上述方式,本发明一种基于构件提取的室内场景重建方法中,通过将切片与构件组合相结合的思想,保证了场景物体构件提取的准确性;对基本形状构件分类进行拟合,保证了场景物体的形状完整性;利用打分机制对构件进行匹配式识别,更好地保证了室内场景重建的准确性。
Claims (10)
1.一种基于构件提取的室内场景重建方法,其特征在于,具体按照以下步骤实施:
步骤1、对室内场景进行粗检测,将室内场景中每一个线状要素提取为线状数据集;将室内场景中每一个平面要素提取为平面数据集;将室内场景中每一个圆柱要素提取为圆柱数据集;
步骤2、去除所述平面数据集所包含的场景外环境数据后,得到室内场景的线状构件、平面构件和圆柱构件;
步骤3、对所述平面构件和圆柱构件均分别进行切片处理,切片处理后提取得到平面基本构件和圆柱基本构件;
步骤4、对所述平面基本构件进行分类;
步骤5、对所述平面基本构件进行拟合,得到拟合平面构件;
步骤6、对所述圆柱基本构件和线状构件进行拟合,分别得到拟合圆柱构件和拟合线状构件;
步骤7、选择场景内所有拟合构件中最大的拟合构件作为基准构件,所述拟合构件包括所述拟合平面构件、拟合圆柱构件和拟合线状构件,以所述基准构件为中心与场景内其他所述拟合构件组合形成构件组合,将所述构件组合与标准模型库的标准模型逐一匹配,寻找匹配度最高的构件组合,进一步识别匹配度最高的构件组合组成的物体,同时利用标准模型库中的对应标准模型进行替换,最终完成室内场景的重建。
2.根据权利要求1所述的一种基于构件提取的室内场景重建方法,其特征在于,所述步骤1具体按照以下步骤实施:
步骤1.1、给定室内场景中的点云数据为D,D={pi|i=1,2,...,n},pi为三维离散点,i是不为0的自然数,n为自然数,pi={xi,yi,zi},其中,xi、yi、zi分别表示pi的各坐标值;
式(1)中,T表示矩阵转置,μi为pi的k个临近点的平均位置,
将式(2)代入式(1),通过奇异值分解对式(1)中半正定的邻域协方差矩阵Ci进行特征值分解,得到邻域协方差矩阵Ci的特征值为λ1、λ2和λ3,且λ1≥λ2≥λ3,最小特征值λ3所对应的特征向量ni(nx,ny,nz)即为点pi的法向量,nx、ny、nz分别表示ni的各坐标值;
步骤1.4、利用RANSAC随机抽样一致性算法进行平面数据集的提取:
步骤1.4.1、随机采样点云数据D中的三个点并结合这三个点的法向量确定唯一平面P;
步骤1.4.2、在平面P周围选取宽度为ε的带状区域,判断ε带状区域中的点是否为局内点,若为局内点则加入到平面P中并且更新平面P;
步骤1.4.3、对于更新后的平面P,迭代执行步骤1.4.2直到没有局内点加入到平面中;
步骤1.4.4、迭代完成后,若平面局内点数大于给定的点数阈值pnum则算法成功并且输出最终的平面P’,提取所有平面P’中的点得到所述平面数据集,否则算法失败;
步骤1.5、利用RANSAC随机抽样一致性算法进行圆柱数据集的提取:
步骤1.5.1、随机采样点云数据D中的两个点并结合这两个点的法向量确定一个圆柱模型K;
步骤1.5.2、在圆柱K周围选取一个宽度为ε的带状区域,判断ε带状区域中的点是否为局内点,若为局内点则加入到圆柱K中并且更新圆柱K;
步骤1.5.3、对于更新后的圆柱K,迭代执行步骤1.5.2直到没有局内点加入到圆柱K中;
步骤1.5.4、迭代完成后,若圆柱局内点数大于给定的点数阈值pnum则算法成功并且输出最终的圆柱K,提取所有圆柱K中的点得到所述圆柱数据集,否则算法失败。
3.根据权利要求2所述的一种基于构件提取的室内场景重建方法,其特征在于,所述步骤2具体按照以下步骤实施:
步骤2.1、对比点云数据D中pi各轴坐标,分别找出xi、yi、zi的最大值xmax、ymax、zmax和最小值xmin、ymin、zmin;
步骤2.2、将xmax、ymax、zmax、xmin、ymin、zmin分别映射到对应的x、y、z坐标轴上,得到AABB型包围盒的八个顶点A(xmin,ymin,zmin)、B(xmax,ymin,zmin)、C(xmin,ymax,zmin)、I(xmax,ymax,zmin)、E(xmin,ymin,zmax)、F(xmax,ymin,zmax)、G(xmin,ymax,zmax)、H(xmax,ymax,zmax);
步骤2.3、利用点法式平面方程可得到AABB型包围盒的六个面,各方程分别为ABEF:y-ymin=0,CIGH:y-ymax=0,BIFH:x-xmax=0,ACEG:x-xmin=0,ABCI:z-zmin=0,EFGH:z-zmax=0;
步骤2.4、将室内场景中检测到的平面与AABB型包围盒的六个面方程进行对比,如果平面的四个顶点与AABB型包围盒底面重合则认定该平面是地面,如果平面的四个顶点与AABB型包围盒的侧面重合则认定该平面是墙面,并在室内场景所述平面数据集中分别去除墙面和地面的数据集,保留的线状数据集、平面数据集、圆柱数据集分别为所述线状构件、平面构件和圆柱构件。
4.根据权利要求2所述的一种基于构件提取的室内场景重建方法,其特征在于,所述步骤3具体按照以下步骤实施:
步骤3.1、对于所述平面构件,选择垂直于平面的包围盒最长边作为切割方向对平面进行切割;
式(3)中,n是平面包含的三维离散点个数,di表示第i个三维离散点与其相邻的三维离散点之间的距离;
根据Gs计算平面切片估计层数num为,
式(4)中,t是约定倍数,且t>10,
根据平面切片估计层数num确定每层切片厚度δ为δ=h/num,则每层切片的范围为h0~h0+δ、h0~h0+2δ、…、h0~h0+(num-1)δ~hl;
步骤3.3、利用基于距离的区域生长算法对每层切片的数据点进行分割,从每层切片数据点中随机选取种子点,当满足种子点和近邻点之间的欧式距离小于给定的距离阈值ξ时,ξ=10·Gs,那么该点与种子点属于同一类,否则划分到不同的区域中;
步骤3.4、对于第一层切片,将第一层切片的所有聚类中心点均分别加入到一个空集合中;对于第二层切片,将第一层切片的某个聚类中心点L和距离L最近的第二层切片的聚类中心点M连接,若的连线方向与切割面垂直方向的夹角小于θ,则第二层的聚类中心点M被纳入L所在的集合;对于第三层切片,将第二层切片的聚类中心点M和距离M最近的第三层切片的聚类中心点N连接,若和方向夹角小于θ,则第三层的聚类中心点N被纳入M所在的集合;对于第三层以后的各层切片,若该层切片的前一层切片的聚类中心点所在的集合中至少有两个聚类中心,则其聚类中心点的归纳与第三层切片聚类中心点归纳方式相同,否则与第二层切片聚类中心点归纳方式相同;
当某层的聚类中心点不能满足归纳条件,则该聚类中心点对应的集合组合结束,而不满足条件的该聚类中心点将各被加入到一个新的集合中,依次将所有聚类中心点归纳组合;
步骤3.5、得到平面构件最终切片聚类中心点的组合结果,完成场景的平面基本构件提取;
步骤3.6、对于所述圆柱构件,垂直于轴线方向进行切割,切割后按照步骤3.2~步骤3.4依次操作,得到圆柱构件最终切片聚类中心点的组合结果,完成场景的圆柱基本构件提取。
5.根据权利要求2所述的一种基于构件提取的室内场景重建方法,其特征在于,所述步骤4具体按照以下步骤实施:
步骤4.1、令所述平面基本构件的数据点为pa(xa,ya,za),a为不为0的自然数,pa∈D,pa的法向量为na(nax,nay,naz),根据平面点法式求得pa处局部平面π为,
nax(x-xa)+nay(y-ya)+naz(z-za)=0 (6)
将pa点的近邻点qj沿局部平面法向量方向投影到局部平面π上,qj在局部平面π上的投影点为qj'(xq,yq,zq),根据点积几何意义结合式计算qj'的各坐标值,
IppaI=xp·nax+yp·nay+zp·naz (9)
步骤4.2、在局部平面π上建立局部坐标系,连接点pa和任意一个投影点q'j,该连线为则局部坐标系的x轴为局部坐标系的y轴为将投影点q'j均分别与局部坐标系原点相连,再计算所有相邻连线之间夹角,若相邻连线之间夹角最大,且大于给定的夹角阈值μ,则该投影点被标记为平面基本构件边界点po,o=0,1,2,…,n;
步骤4.3、给定平面基本构件边界点po的n次参数曲线段为,
式(9)中,0≤t≤1,P(t)为n次B样条曲线,其中边界点po所组成的多边形为B样条的特征多边形,Go,n(t)为n次B样条函数的基函数,
式(10)中,0≤j≤n-o,
选取目标点左右各5个点进行曲线拟合,即n=10,并将n=10代入式(11)求得Go,n(t),再将Go,n(t)代入式(10),求得P(t);
根据P(t)求出po的曲率k(t)为,
当90%的边界点的曲率约为0,则该平面构件为棱角分明的平面基本构件;当90%边界点的曲率大于0,则判定为边界平滑弯曲的平面基本构件。
6.根据权利要求5所述的一种基于构件提取的室内场景重建方法,其特征在于,所述步骤5具体为,
对于所述边界平滑弯曲的平面基本构件,在边界点集中,随机选取一点作为种子点并将其放进空队列Q中,然后找出距离该种子点最近的边界点v并将v放进队列Q,并且将v点更新为种子点,在迭代执行查找过程直至所有边界点被放入到队列Q中,则队列Q中数据点的顺序即为边界点调整后的顺序,队列Q即为边界平滑弯曲的平面基本构件的拟合结果;
对于所述棱角分明的平面基本构件,对棱角分明的平面基本构件求取OBB包围盒,利用OBB型包围盒的六个面替换构件原始数据,实现棱角分明的平面基本构件的拟合,得到棱角分明的平面基本构件的拟合结果,所述边界平滑弯曲的平面基本构件的拟合结果和棱角分明的平面基本构件的拟合结果并称为拟合平面构件。
7.根据权利要求1所述的一种基于构件提取的室内场景重建方法,其特征在于,所述步骤6具体为,
对于所述圆柱基本构件,将有向包围盒最长的边l1所在方向作为轴线方向,即为圆柱基本构件的放置方向,将l1的长度作为圆柱基本构件的母线长度,有向包围盒次长边l2和最短边l3均值的一半作为圆柱的半径r,r=(1/4)(l2+l3),分别求出四条l1两端点的均值,比较得出l1两端点均值的最大值(xlmax,ylmax,zlmax)和最小值(xlmin,ylmin,zlmin),由此确定圆柱基本构件的放置位置,最终得到所述拟合圆柱构件;
对于所述线状构件,利用线状构件的两端点值确定线状构件的位置,得到所述拟合线状构件。
8.根据权利要求1所述的一种基于构件提取的室内场景重建方法,其特征在于,所述步骤7具体按照以下步骤实施:
步骤7.1、将场景内所有拟合构件中最大的拟合构件作为基准构件T0,其他构件为Ti,利用T0与Ti中最近的两点之间距离表示T0与Ti的距离,取属于T0的点e、属于Ti的点f,构件T0与Ti的距离为,
利用基于距离的方法为基准构件T0寻找到m种组成方式,得到包含0到m个拟合构件的m种构件组合;
为表示每种组合中构件间的拓扑关系,为其建立拓扑结构并生成星型结构的拓扑图,拓扑图表示为G(V,R,Vattr,Rattr),表示V顶点,Vattr表示顶点属性,R表示边,Rattr表示边属性,
步骤7.2、将模型库中每个标准模型分解为多个拟合构件,并为分解后的模型建立拓扑结构,生成拓扑图,最后设置拓扑图顶点属性和边属性;
步骤7.3、基于基准构件T0有m种组合方式,将m种构件组合逐一地和模型库中标准模型进行匹配,对二者的拓扑结构匹配度进行打分得到构件组合和标准模型的匹配度,匹配度最高的构件组合即为最佳构件组合,相应的标准模型为最佳构件组合匹配到的最佳标准模型;
步骤7.4、最佳标准模型替换最佳构件组合的原始数据,完成场景重建。
9.根据权利要求8所述的一种基于构件提取的室内场景重建方法,其特征在于,所述拓扑图中,将拟合构件中心作为拓扑图的顶点V,而顶点属性Vattr包括形状、大小和放置方向,顶点形状属性分别表示为:平面‘plane’、圆柱‘cyliner’和线状‘line’,顶点大小属性:用平面的长度和宽度表示拟合平面构件顶点的大小属性,利用圆柱在轴线上的高度和圆柱的平均直径表示拟合圆柱构件的顶点大小属性,利用长度表示线状构件的大小,为将拟合线状构件顶点的大小属性和其他拟合构件顶点的大小属性数量保持一致,为拟合线状构件添加顶点的大小属性第二个值恒为零;
顶点的位置属性:对基于边界拟合的所述拟合平面构件,位置属性是所有边界点的均值;对于基于OBB型包围盒拟合的所述拟合平面构件,位置属性为OBB型包围盒八个顶点的均值;对于所述拟合圆柱构件,位置属性为拟合过程中轴线上最大值和最小值的平均值,对于拟合线状构件,位置属性为两个端点的平均值;
顶点的方向属性:拟合平面构件的方向属性为平面法向量方向,拟合圆柱构件的方向属性为轴线方向,拟合线状构件的方向属性为线状的延伸;
拓扑图中的边R是顶点之间的连线,以基准构件为中心,构件组合中的其他拟合构件都与之相连接,边的属性包括长度属性和相邻边夹角属性;
将基准构件顶点分别与组成构件顶点连接可得到m-1条边,根据每条边长两端顶点的位置属性,可以得到每条边的长度,长度属性是m-1维的;相邻边夹角属性:在星型拓扑结构中,相邻边间会形成一个夹角即相邻边夹角,相邻边夹角属性同样是m-1维的;
将构件组合中除基准构件外的所有其他拟合构件顶点位置属性的均值所确定的点作为起始位置,再按照给定的三个方向在空间中依次寻找各个构件组合中除基准构件外的其他拟合构件顶点,给定的三个方向相当于球体的经向、纬向和最大横截面的经向,构件组合中除基准构件外的其他拟合构件顶点被找到的顺序就是构件组合中除基准构件外的其他拟合构件顶点的顺序,顶点属性记录过程中,首先记录基准构件顶点,再依次记录构件组合中除基准构件外的所有其他拟合构件顶点;利用拓扑图的顶点属性和边属性得到一组拓扑参数用来记录该拓扑结构,参数表示为(顶点个数,顶点1属性,顶点2属性,…,顶点m属性,长度属性,相邻边夹角属性)。
10.根据权利要求8所述的一种基于构件提取的室内场景重建方法,其特征在于,所述打分方式具体为,
利用构件组合的拓扑图中包含顶点的个数对模型库中的模型进行筛选,若标准模型的拓扑图包含的顶点数与包含点数不一致,则首先排除掉这些模型,再利用组合打分策略为和剩余模型拓扑图的匹配度进行打分,从而选出匹配度得分最高的模型为得分记为
根据二者拓扑图中,构件组合中除基准构件外的所有其他拟合构件顶点的位置属性,可得到构件组合中除基准构件外的所有其他拟合构件位置属性均值所确定的点,将模型从标准模型中指定的方向旋转到构件组合的方向,为从标准模型中最大平面的质心点S到整个标准模型的重心g的连接方向,为从组合中最大平面的质心点S'到整个构件组合的重心g'的连接方向,再分别对二者的基准构件求取有向包围盒,得到有向包围盒最长边所在方向为和将模型从方向旋转到方向,通过旋转将模型转至与构件组合W相同角度;
后再进行匹配度打分;
设构件组合中基准构件的某一顶点为Vpi,其形状属性为fi p,顶点大小属性为表示方向属性的向量为与该顶点对应的标准模型顶点mi,其形状属性为fi m,构件组合中基准构件和标准模型中基准构件的比例为rn,若顶点放置方向属性与比例rn无关则直接进行打分,若顶点放置方向属性与比例rn有关则将标准模型顶点mi大小属性按照比例rn进行放缩,放缩后顶点mi大小属性为表示方向属性的向量为则顶点Vpi与模型中对应顶点mi匹配得分为:
式(14)中,SOi表示形状属性的匹配得分,
当顶点pi的形状属性fi p和模型顶点mi的形状属性fi m一致,或者模型形状属性为‘cylinder’或者‘line’时:
当顶点pi的形状属性fi p和模型顶点mi的形状属性fi m其中一个为‘plane’另一个为‘cylinder’时:
构件组合拓扑图与模型拓扑图顶点匹配度打分为:
顶点属性打分权重为w0,边属性打分权重为w1,则最终得分为:
S=w0·SNode+w1·SEdge (19)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810845292.7A CN109102535B (zh) | 2018-07-27 | 2018-07-27 | 一种基于构件提取的室内场景重建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810845292.7A CN109102535B (zh) | 2018-07-27 | 2018-07-27 | 一种基于构件提取的室内场景重建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109102535A CN109102535A (zh) | 2018-12-28 |
CN109102535B true CN109102535B (zh) | 2021-11-16 |
Family
ID=64847823
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810845292.7A Active CN109102535B (zh) | 2018-07-27 | 2018-07-27 | 一种基于构件提取的室内场景重建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109102535B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111412842B (zh) * | 2020-04-09 | 2022-02-25 | 广东博智林机器人有限公司 | 墙面的截面尺寸的测量方法及装置、系统 |
CN111932688B (zh) * | 2020-09-10 | 2021-02-09 | 深圳大学 | 一种基于三维点云的室内平面要素提取方法、系统及设备 |
CN114463396B (zh) * | 2022-01-07 | 2024-02-06 | 武汉大学 | 一种利用平面形状和拓扑图投票的点云配准方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008138378A1 (en) * | 2007-05-14 | 2008-11-20 | Max-Planck-Gesellschaft Zur Förderung Des Wissenschaften E.V. | Method and device for reconstructing an object surface |
CN104392486A (zh) * | 2014-11-25 | 2015-03-04 | 西安理工大学 | 一种点云场景重建方法 |
US9189888B1 (en) * | 2013-01-14 | 2015-11-17 | Bentley Systems, Incorporated | Point cloud modeling based on user-provided seed |
CN105740798A (zh) * | 2016-01-27 | 2016-07-06 | 西安理工大学 | 一种基于结构分析的点云场景物体识别方法 |
CN107146280A (zh) * | 2017-05-09 | 2017-09-08 | 西安理工大学 | 一种基于切分的点云建筑物重建方法 |
-
2018
- 2018-07-27 CN CN201810845292.7A patent/CN109102535B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008138378A1 (en) * | 2007-05-14 | 2008-11-20 | Max-Planck-Gesellschaft Zur Förderung Des Wissenschaften E.V. | Method and device for reconstructing an object surface |
US9189888B1 (en) * | 2013-01-14 | 2015-11-17 | Bentley Systems, Incorporated | Point cloud modeling based on user-provided seed |
CN104392486A (zh) * | 2014-11-25 | 2015-03-04 | 西安理工大学 | 一种点云场景重建方法 |
CN105740798A (zh) * | 2016-01-27 | 2016-07-06 | 西安理工大学 | 一种基于结构分析的点云场景物体识别方法 |
CN107146280A (zh) * | 2017-05-09 | 2017-09-08 | 西安理工大学 | 一种基于切分的点云建筑物重建方法 |
Non-Patent Citations (2)
Title |
---|
《Slicing Method for curved facade and window extraction from point clouds》;S.M.Iman Zolanvari等;《ISPRS Journal of Photogrammetry and Remote Sensing》;20160715;第119卷;第334-346页 * |
《基于基本形状及其拓扑关系的点云建筑物重建方法》;郝雯,等;《西安理工大学学报》;20171231;第33卷(第3期);第290-296页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109102535A (zh) | 2018-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ji et al. | A novel simplification method for 3D geometric point cloud based on the importance of point | |
CN101887596B (zh) | 树木点云数据基于分割和自动生长的三维模型重建方法 | |
CN109102535B (zh) | 一种基于构件提取的室内场景重建方法 | |
CN111696210A (zh) | 一种基于三维点云数据特征轻量化的点云重构方法及系统 | |
CN108171780A (zh) | 一种基于激光雷达构建室内真实三维地图的方法 | |
CN110599506B (zh) | 一种复杂异形曲面机器人三维测量的点云分割方法 | |
CN112070769A (zh) | 一种基于dbscan的分层点云分割方法 | |
CN111612896B (zh) | 一种基于机载激光雷达树点云重建三维树模型的方法 | |
CN108629834B (zh) | 一种基于单张图片的三维头发重建方法 | |
CN107680168B (zh) | 三维重建中基于平面拟合的网格简化方法 | |
CN110222642A (zh) | 一种基于全局图聚类的平面建筑构件点云轮廓提取方法 | |
CN109493344A (zh) | 一种大规模城市三维场景的语义分割方法 | |
CN108053483A (zh) | 一种基于gpu加速的维诺图三维网格重构方法 | |
CN115661374B (zh) | 一种基于空间划分和模型体素化的快速检索方法 | |
CN113012063B (zh) | 一种动态点云修复方法、装置及计算机设备 | |
CN114359226A (zh) | 基于分层叠加和区域增长的三维模型组可视面积提取方法 | |
CN112164145A (zh) | 基于点云数据快速提取室内三维线段结构的方法 | |
CN115222883A (zh) | 一种基于地基LiDAR点云的电力杆塔重建方法 | |
Zhang et al. | 3D viewpoint estimation based on aesthetics | |
CN114463338A (zh) | 一种基于图割与后处理的建筑物激光脚点自动提取方法 | |
Zhang et al. | A geometry and texture coupled flexible generalization of urban building models | |
CN108109205B (zh) | 一种基于孔洞填充的残缺模型检索与重建方法 | |
CN113255677A (zh) | 一种岩体结构面及产状信息快速提取方法、设备及介质 | |
CN110580497B (zh) | 一种基于旋转不变性的空间场景匹配方法 | |
CN109102565B (zh) | 一种自动生成虚拟地形的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |