CN116168174A - 建筑物缺失结构点云的修补方法及装置 - Google Patents

建筑物缺失结构点云的修补方法及装置 Download PDF

Info

Publication number
CN116168174A
CN116168174A CN202310147615.6A CN202310147615A CN116168174A CN 116168174 A CN116168174 A CN 116168174A CN 202310147615 A CN202310147615 A CN 202310147615A CN 116168174 A CN116168174 A CN 116168174A
Authority
CN
China
Prior art keywords
point cloud
cloth
building
determining
missing
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.)
Pending
Application number
CN202310147615.6A
Other languages
English (en)
Inventor
赵不钒
茅雯焱
潘德轩
陈西江
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan University of Technology WUT
Original Assignee
Wuhan University of Technology WUT
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuhan University of Technology WUT filed Critical Wuhan University of Technology WUT
Priority to CN202310147615.6A priority Critical patent/CN116168174A/zh
Publication of CN116168174A publication Critical patent/CN116168174A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/13Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/04Constraint-based CAD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/14Force analysis or force optimisation, e.g. static or dynamic forces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds

Abstract

本发明提供一种建筑物缺失结构点云的修补方法及装置,该方法包括:获取目标建筑物的原始点云数据;确定原始点云数据的缺失结构特征,并基于缺失结构特征对目标建筑物的姿态进行调整,得到目标点云数据;构建目标建筑物对应的布料结构,基于布料结构,确定对应的布节点规则;基于目标点云数据和布节点规则对布料结构进行布料下沉仿真,得到布料仿真模型;确定布料结构对应的结构约束,基于结构约束确定布料仿真模型中需要进行点云修补的凹陷区域,并对凹陷区域进行修补,得到区域修补结果;对多个区域修补结果进行拟合,得到目标建筑物的点云修补结果。本发明既能保证较强的泛化性能,还能保证点云修补的稳健性能。

Description

建筑物缺失结构点云的修补方法及装置
技术领域
本发明涉及点云数据处理技术领域,具体涉及一种建筑物缺失结构点云的修补方法及装置。
背景技术
点云补全是一种数据增强技术,用于自动细化密度均匀的点云,保证点云的连接性和完整性,从而恢复对象的完整形状。点云补全广泛应用于三维重建、目标检测和三维形状分类。点云补全是专门设计来填补对象的缺失部分,并获得高质量的3D表示。由于在实际点云数据采集过程中,由于激光扫描传感器搭载平台的局限性,往往难以采集到绝对完整的建筑物点云,由于这些建筑物点云不完整的情况各异,点云补全不同方法的性能也有所不同。
点云补全方法主要包括基于几何的补全方法和深度学习补全方法。基于几何的补全方法基于原先点云的几何信息先拟合局部曲面,再进行插值。首先需要对缺失孔进行检测和识别,然后通过生成平滑的插值算法填充这些缺失孔。该算法的优点是容易用简单的算法实现。缺点是缺失孔的检测和识别会影响点插值的效率和精度,且曲面拟合需要足够的支撑边缘点,因此在面对大型点云数据缺失时,该算法需要分别进行补全算法,泛化性较差。深度学习补全方法基于原先点云的特征信息生成完成的点云。该算法的优点是,具有较强的泛化性,可以处理不同残缺形状残缺类型的点云。缺点是,该算法依赖于预定义的对象集和特定缺陷类型的点云缺失,在实际场景的运用中,它的性能显著下降,甚至在从未出现的类别上进一步下降。因此,需要提供一种方法,既能保证较强的泛化性能,还能保证点云修补的稳健性能。
发明内容
有鉴于此,有必要提供一种建筑物缺失结构点云的修补方法及装置,既能保证较强的泛化性能,还能保证点云修补的稳健性能。
为了实现上述目的,本发明提供了一种建筑物缺失结构点云的修补方法,包括:
获取目标建筑物的原始点云数据;
确定所述原始点云数据的缺失结构特征,并基于所述缺失结构特征对所述目标建筑物的姿态进行调整,得到目标点云数据;
构建所述目标建筑物对应的布料结构,基于所述布料结构,确定对应的布节点规则;
基于所述目标点云数据和所述布节点规则对所述布料结构进行布料下沉仿真,得到布料仿真模型;
确定所述布料结构对应的结构约束,基于所述结构约束确定所述布料仿真模型中需要进行点云修补的凹陷区域,并对所述凹陷区域进行修补,得到区域修补结果;
对多个所述区域修补结果进行拟合,得到所述目标建筑物的点云修补结果。
进一步地,所述基于所述缺失结构特征对所述目标建筑物的姿态进行调整,包括:
确定所述目标建筑物对应的三维包围盒体积最小时水平方向上的旋转角度;
确定所述三维包围盒体积最小时垂直方向上的旋转角度;
基于所述三维包围盒体积最小时水平方向上的旋转角度,以及所述三维包围盒体积最小时垂直方向上的旋转角度,对所述目标建筑物的姿态进行调整。
进一步地,所述基于所述缺失结构特征对所述目标建筑物的姿态进行调整,包括:
随机在所述原始点云中拟合多个平面结构,并确定所述多个平面结构对应的法向量以及平面点云数;
确定所述多个平面结构之间的法向量夹角;
基于所述法向量夹角和所述平面点云数,确定最优垂直平面对;
基于所述最优垂直平面对,对所述目标建筑物的姿态进行调整。
进一步地,所述基于所述最优垂直平面对,对所述目标建筑物的姿态进行调整,包括:
基于所述最优垂直平面对,构建与垂直坐标轴面对的对应关系;
基于所述与垂直坐标轴面对的对应关系,对所述目标建筑物的姿态进行调整。
进一步地,所述基于所述目标点云数据和所述布节点规则对所述布料结构进行布料下沉仿真,得到布料仿真模型,包括:
基于所述目标点云数据和所述布节点规则,模拟布料下落模型和建筑物点云碰撞模型,基于所述布料下落模型和所述建筑物点云碰撞模型,确定布料仿真模型。
进一步地,所述确定所述布料结构对应的结构约束,基于所述结构约束确定所述布料仿真模型中需要进行点云修补的凹陷区域,并对所述凹陷区域进行修补,得到区域修补结果,包括:
确定所述布料结构中固定节点的约束力,以及基于节点受到的约束力个数和节点受力方向集合,确定节点约束力刚度,基于所述固定节点的约束力和所述节点约束力刚度,确定结构约束;
基于布料下沉阶段的固定节点分布方向,遍历未固定节点,以确定未固定节点的受力约束;
基于所述结构约束和所述未固定节点的受力约束,确定待修补区域的反弹落点位置;
将所述反弹落点位置对应的点云数据重新恢复至目标高度值,得到区域修补结果。
进一步地,所述对多个所述区域修补结果进行拟合,得到所述目标建筑物的点云修补结果,包括:
基于所述布料仿真模型中的最大下沉距离,截取当前立面方向的建筑物横截面;
基于所述建筑物横截面,确定建筑物轮廓的结构线;
基于不同结构线之间的角点,填补缺失部分的结构区域,以对多个所述区域修补结果进行拟合,得到所述目标建筑物的点云修补结果。
本发明还提供一种建筑物缺失结构点云的修补装置,包括:
获取模块,用于获取目标建筑物的原始点云数据;
调整模块,用于确定所述原始点云数据的缺失结构特征,并基于所述缺失结构特征对所述目标建筑物的姿态进行调整,得到目标点云数据;
确定模块,用于构建所述目标建筑物对应的布料结构,基于所述布料结构,确定对应的布节点规则;
仿真模块,用于基于所述目标点云数据和所述布节点规则对所述布料结构进行布料下沉仿真,得到布料仿真模型;
修补模块,用于确定所述布料结构对应的结构约束,基于所述结构约束确定所述布料仿真模型中需要进行点云修补的凹陷区域,并对所述凹陷区域进行修补,得到区域修补结果;
拟合模块,用于对多个所述区域修补结果进行拟合,得到所述目标建筑物的点云修补结果。
本发明还提供一种电子设备,包括存储器和处理器,其中,
所述存储器,用于存储程序;
所述处理器,与所述存储器耦合,用于执行所述存储器中存储的所述程序,以实现如上述任意一项所述的建筑物缺失结构点云的修补方法中的步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述的建筑物缺失结构点云的修补方法。
采用上述实现方式的有益效果是:本发明提供的建筑物缺失结构点云的修补方法及装置,通过原始点云数据的缺失结构特征,对目标建筑物的姿态进行调整,得到目标点云数据;再构建目标建筑物对应的布料结构,基于布料结构,确定对应的布节点规则;基于目标点云数据和布节点规则对布料结构进行布料下沉仿真,得到布料仿真模型;确定布料结构对应的结构约束,基于结构约束确定布料仿真模型中需要进行点云修补的凹陷区域,并对凹陷区域进行修补,得到区域修补结果;对多个区域修补结果进行拟合,得到目标建筑物的点云修补结果。本发明根据点云的缺失结构特征确定姿态调整方法,通过姿态调整减少布料模拟投影时因维度压缩造成的精度损失,然后利用建筑物的结构约束设置布节点所遵循的规则,保证修补点的准确性,最后分别进行布料下沉仿真和凹陷区域进行修补两个阶段实现大型结构缺失和多层结构建筑物的修复,从而具有更高的泛华性能和稳健性能。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的建筑物缺失结构点云的修补方法的一实施例的流程示意图;
图2为本发明提供的体积最小法点云旋转过程示意图;
图3为本发明提供的建筑物缺失结构点云的修补方法的另一实施例的流程示意图;
图4为本发明提供的建筑物缺失结构点云的修补装置的一实施例的结构示意图;
图5为本发明提供的电子设备的一个实施例结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
本发明实施例中术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、装置、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块。
在本发明实施例中出现的对步骤进行的命名或者编号,并不意味着必须按照命名或者编号所指示的时间/逻辑先后顺序执行方法流程中的步骤,已经命名或者编号的流程步骤可以根据要实现的技术目的变更执行次序,只要能达到相同或者相类似的技术效果即可。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本发明提供了一种建筑物缺失结构点云的修补方法及装置,以下分别进行说明。
如图1所示,本发明提供一种建筑物缺失结构点云的修补方法,包括:
步骤110、获取目标建筑物的原始点云数据。
可以理解的是,可以采用三维激光扫描的方式获取目标建筑物的原始点云数据。
步骤120、确定所述原始点云数据的缺失结构特征,并基于所述缺失结构特征对所述目标建筑物的姿态进行调整,得到目标点云数据。
可以理解的是,本发明可以提供两种姿态调整方法,其一为体积最小法,其二为垂直立面对法。
步骤130、构建所述目标建筑物对应的布料结构,基于所述布料结构,确定对应的布节点规则。
可以理解的是,先构目标建筑物对应的建布料结构,再定义建筑物点云修补所遵循的物理规则,即布节点规则。定义物理规则,以X-Z轴面为例,布料网格沿X轴和Z轴方向布设,每个方向上节点的设置间隔为建筑物点云平均间距dmean,节点集合用NP=[np1,np2,np3,...,npn]表示,节点用几何坐标表示,则有:
npi=(xi,yi,zt)
式中,i表示集合中第i个节点,zt表示布料根据重力下沉t时刻时所对应的高度值。
同时布料结构为等间隔的规则网格,可以用网格坐标表示节点,则有:
Figure BDA0004089694150000071
式中,r,c表示节点位于网格中的第r行、第c列,
Figure BDA0004089694150000072
为节点固定时所在时刻,且/>
Figure BDA0004089694150000073
D,W分别为网格的长、宽。
步骤140、基于所述目标点云数据和所述布节点规则对所述布料结构进行布料下沉仿真,得到布料仿真模型。
可以理解的是,布料下沉阶段模拟布料仅在重力影响下,由上至下,逐步下降过程,在不受碰撞影响情况下,t时刻节点的高度值zt,对布料结构进行布料下沉仿真,得到布料仿真模型。
布料下落公式zt如下式所示:
zt=zmax-dz·t
式中,zmax为布料结构初始高度值,dz为下落步长,t为下落时刻,t=1,2,3...,n。
在每个t时刻引入建筑物点云P=[p1,p2,p3,...,pn]进行碰撞结算,碰撞条件公式如下式所示:
[Idx,Dis]=KnnSearch(NP,P,1)
Figure BDA0004089694150000081
式中,KnnSearch为检索集合NP中的点到集合P中最近点的距离,Idx为检索的点在NP中的索引位置,Dis为npIdx到集合P中最近点的距离值。
若npIdx为碰撞点,则用碰撞点pi的坐标代替npIdx的几何坐标,如下式所示:
npi=pi=(xi,yi,zi)
固定npIdx,该点不再参与后续的下落过程。同时记录npIdx的网络坐标
Figure BDA0004089694150000082
ti为当前时刻。
步骤150、确定所述布料结构对应的结构约束,基于所述结构约束确定所述布料仿真模型中需要进行点云修补的凹陷区域,并对所述凹陷区域进行修补,得到区域修补结果。
可以理解的是,对凹陷区域进行修补,也即是对布料进行反弹处理。布料反弹阶段施加受力约束方向,即布料节点只受到行和列之间固定节点的约束力,未固定节点之间无约束力,受力约束方向可以用下式表示:
Figure BDA0004089694150000083
Figure BDA0004089694150000084
Figure BDA0004089694150000085
Figure BDA0004089694150000086
式中,r+,r-和c+,c-为四个方向,
Figure BDA0004089694150000087
为当前目标节点npq的网格坐标
Figure BDA0004089694150000088
为了剔除噪声点的干扰,加强本发明方法的稳健性,防止“凹”型结构被错误的修补,设置垂直约束力,布料节点间的刚度设置如下式所示:
Figure BDA0004089694150000091
式中,Stiffness为节点约束力刚度,Fi为节点i受到的约束力个数,DFi为节点i受力方向集合。当未固定节点刚度为1时,节点反弹至满足刚度为1时所对应的高度。
确定结构约束后,进行布料反弹阶段。在反弹阶段,对下沉阶段所记录的网格坐标中固定节点(r,c),按照网格坐标行列方向的固定点分布,逐步遍历未固定节点
Figure BDA0004089694150000092
以r-方向为例分析/>
Figure BDA0004089694150000093
的受力约束,受力约束分析的计算公式如下式所示:
Figure BDA0004089694150000094
式中,
Figure BDA0004089694150000095
为在r-方向离/>
Figure BDA0004089694150000096
最近的固定节点/>
Figure BDA0004089694150000097
的碰撞时刻,np+表示固定节点集合,np-表示需要反弹的未固定节点,DFi表示受力方向集合。
如果存在固定节点,则受力数Fi加1,r-加入到点
Figure BDA0004089694150000098
的受力方向集合DFi中,将/>
Figure BDA0004089694150000099
赋予/>
Figure BDA00040896941500000910
同理,对未固定节点在r+、c-、c+方向依次检测受力约束。
确定np-中所有节点的受力约束后,根据结构约束中的刚度公式,
Figure BDA00040896941500000911
刚度为1的时刻将存在3种情况,第一种情况是受2个垂直方向约束力的时刻,第二种情况为受3个方向约束力的时刻,此时必存在相互垂直约束力。第三种情况为受4个方向上的约束力时刻。
由于建筑物立面可能出现多层次结构,这3个约束时刻都可能是待修补区域的反弹落点位置tz,则修补点云待选的反弹位置的计算公式如下所示:
Figure BDA00040896941500000912
Figure BDA00040896941500000913
Figure BDA00040896941500000914
式中,tz=2表示未固定点受2个垂直方向约束力的时刻t2,tz=3表示受3个垂直方向约束力的时刻t3,tz=4表示受4个垂直方向约束力的时刻t4
在点云修补过程中,将根据建筑物立面的层次与修补需要决定取哪一时刻的高度作为修补点云npi=(xi,yi,zt)的修补位置,在实验部分将针对多层次建筑物结构的点云修补,对反弹时刻tz的选择进行分析。这些经过反弹重新恢复高度值的节点即为修补区域点云,记为集合NP+
步骤160、对多个所述区域修补结果进行拟合,得到所述目标建筑物的点云修补结果。
可以理解的是,于最大下沉距离处截取当前立面方向的建筑物横截面,得到建筑物轮廓的结构线并通过计算结构线之间的交点来填补缺失部分的结构区域,即对多个所述区域修补结果进行拟合。
在一些实施例中,所述基于所述缺失结构特征对所述目标建筑物的姿态进行调整,包括:
确定所述目标建筑物对应的三维包围盒体积最小时水平方向上的旋转角度;
确定所述三维包围盒体积最小时垂直方向上的旋转角度;
基于所述三维包围盒体积最小时水平方向上的旋转角度,以及所述三维包围盒体积最小时垂直方向上的旋转角度,对所述目标建筑物的姿态进行调整。
可以理解的是,姿态调整方式中的体积最小法首先求解三维包围盒体积最小时水平方向上的旋转角度s2D,s2D的计算方式如下:
Figure BDA0004089694150000101
Loss(s2D)=d*w
式中,s2D为水平方向上的旋转角度值,d,w分别为原始点云在旋转s角度后,在二维直角坐标系X-Y轴面投影下的最小包围盒长、宽的值。
然后求解三维包围盒体积最小时垂直方向上的旋转角度s3D,s3D的计算方式如下:
Figure BDA0004089694150000102
Loss(s)=D*W*H
式中,s3D为垂直方向上的旋转角度值,s为随机旋转角度值,D,W,H分别为建筑物点云在旋转s角度后,在空间直角坐标系下的最小包围盒长、宽、高的值。
姿态调整后的点云的计算公式如下:
Figure BDA0004089694150000111
R2D=Rotation matrix(s2D)
R3D=Rotation matrix(s3D)
式中,P=[p1,p2,p3,...,pn],pi=(xi,yi,zi)为建筑物原始点云坐标。
Figure BDA0004089694150000112
为姿态调整后的建筑物点云集合,R2D,R3D为最优旋转角度s2D、s3D所对应的旋转矩阵。
图2给出了建筑物的初始姿态和体积最小法点云旋转后的效果图。可以看出建筑物初始姿态在空间坐标系中是未知的,无法自动选择待修补立面。先经过水平方向旋转,再进行垂直方向上的旋转。发现姿态调整后建筑物主要立面方向与坐标系轴面方向基本保持重合。
在一些实施例中,所述基于所述缺失结构特征对所述目标建筑物的姿态进行调整,包括:
随机在所述原始点云中拟合多个平面结构,并确定所述多个平面结构对应的法向量以及平面点云数;
确定所述多个平面结构之间的法向量夹角;
基于所述法向量夹角和所述平面点云数,确定最优垂直平面对;
基于所述最优垂直平面对,对所述目标建筑物的姿态进行调整。
可以理解的是,姿态调整方式中的垂直立面对法通过RANSAC算法随机在建筑物原始点云中拟合N个平面结构,获得N个平面的法向量以及平面点云数n。求解N个平面结构相互之间的法向量夹角Angle。最优垂直平面对的计算公式如下所示:
[Planes,Planet]=mini<N,j<N(|Angleij-90°|)∧ni>Num∧nj>Num
式中,Angleij第i个平面与第j个平面之间的夹角值,ni为第i个平面上的点云数,Num为设定的最小立面点云数阈值,用于保证所筛选出的平面对规模够大,为建筑物中的主要立面。Planes,Planet为筛选的最优平面对。在一些实施例中,所述基于所述最优垂直平面对,对所述目标建筑物的姿态进行调整,包括:
基于所述最优垂直平面对,构建与垂直坐标轴面对的对应关系;
基于所述与垂直坐标轴面对的对应关系,对所述目标建筑物的姿态进行调整。
可以理解的是,根据筛选的平面对Planes,Planet法向量[Normals,Normalt],构建与垂直坐标轴面对的对应关系,选择对应的轴面对为[1,0,0]和[0,1,0],则有:
R1=Rotation matrix(Normals,[1,0,0])
NormalRt=Normalt*R1
R2=Rotation matrix(NormalRt,[0,1,0])
Figure BDA0004089694150000121
式中,R1,R2是使垂直立面对与轴齐平的旋转矩阵,P=[p1,p2,p3,...,pn],pi=(xi,yi,zi),
Figure BDA0004089694150000122
为姿态调整后的建筑物点云集合。
在一些实施例中,所述基于所述目标点云数据和所述布节点规则对所述布料结构进行布料下沉仿真,得到布料仿真模型,包括:
基于所述目标点云数据和所述布节点规则,模拟布料下落模型和建筑物点云碰撞模型,基于所述布料下落模型和所述建筑物点云碰撞模型,确定布料仿真模型。
可以理解的是,先构建布料结构,再定义建筑物点云修补所遵循的物理规则。定义物理规则,以X-Z轴面为例,布料网格沿X轴和Z轴方向布设,每个方向上节点的设置间隔为建筑物点云平均间距dmean,节点集合用NP=[np1,np2,np3,...,npn]表示,节点用几何坐标表示,则有
npi=(xi,yi,zt)
式中,i表示集合中第i个节点,zt表示布料根据重力下沉t时刻时所对应的高度值。
同时布料结构为等间隔的规则网格,可以用网格坐标表示节点,则有:
Figure BDA0004089694150000131
式中,r,c表示节点位于网格中的第r行、第c列,
Figure BDA0004089694150000132
为节点固定时所在时刻,且
Figure BDA0004089694150000133
D,W分别为网格的长、宽。
布料下沉阶段模拟布料仅在重力影响下,由上至下,逐步下降过程,在不受碰撞影响情况下,t时刻节点的高度值zt,布料下落公式zt如下式所示:
zt=zmax-dz·t
式中,zmax为布料结构初始高度值,dz为下落步长,t为下落时刻,t=1,2,3...,n。
在每个t时刻引入建筑物点云P=[p1,p2,p3,...,pn]进行碰撞结算,碰撞条件公式如下式所示:
[Idx,Dis]=KnnSearch(NP,P,1)
Figure BDA0004089694150000134
式中,KnnSearch为检索集合NP中的点到集合P中最近点的距离,Idx为检索的点在NP中的索引位置,Dis为npIdx到集合P中最近点的距离值。
若npIdx为碰撞点,则用碰撞点pi的坐标代替npIdx的几何坐标,如下式所示:
npi=pi=(xi,yi,zi)
固定npIdx,该点不再参与后续的下落过程。同时记录npIdx的网络坐标
Figure BDA0004089694150000135
ti为当前时刻。
在一些实施例中,所述确定所述布料结构对应的结构约束,基于所述结构约束确定所述布料仿真模型中需要进行点云修补的凹陷区域,并对所述凹陷区域进行修补,得到区域修补结果,包括:
确定所述布料结构中固定节点的约束力,以及基于节点受到的约束力个数和节点受力方向集合,确定节点约束力刚度,基于所述固定节点的约束力和所述节点约束力刚度,确定结构约束;
基于布料下沉阶段的固定节点分布方向,遍历未固定节点,以确定未固定节点的受力约束;
基于所述结构约束和所述未固定节点的受力约束,确定待修补区域的反弹落点位置;
将所述反弹落点位置对应的点云数据重新恢复至目标高度值,得到区域修补结果。
可以理解的是,反弹落点位置对应凹陷区域。将所述反弹落点位置对应的点云数据重新恢复至目标高度值,也即使将布料凹陷的区域实现反弹,布料反弹阶段施加受力约束方向,即布料节点只受到行和列之间固定节点的约束力,未固定节点之间无约束力,受力约束方向可以用下式表示:
Figure BDA0004089694150000141
Figure BDA0004089694150000142
Figure BDA0004089694150000143
Figure BDA0004089694150000144
式中,r+,r-和c+,c-为四个方向,
Figure BDA0004089694150000145
为当前目标节点npq的网格坐标
Figure BDA0004089694150000146
为了剔除噪声点的干扰,加强本发明方法的稳健性,防止“凹”型结构被错误的修补,设置垂直约束力,布料节点间的刚度设置如下式所示:
Figure BDA0004089694150000147
式中,Stiffness为节点约束力刚度,Fi为节点i受到的约束力个数,DFi为节点i受力方向集合。当未固定节点刚度为1时,节点反弹至满足刚度为1时所对应的高度。
确定结构约束后,进行布料反弹阶段。在反弹阶段,对下沉阶段所记录的网格坐标中固定节点(r,c),按照网格坐标行列方向的固定点分布,逐步遍历未固定节点
Figure BDA0004089694150000148
以r-方向为例分析/>
Figure BDA0004089694150000149
的受力约束,受力约束分析的计算公式如下式所示:
Figure BDA0004089694150000151
式中,
Figure BDA0004089694150000152
为在r-方向离/>
Figure BDA0004089694150000153
最近的固定节点/>
Figure BDA0004089694150000154
的碰撞时刻,np+表示固定节点集合,np-表示需要反弹的未固定节点,DFi表示受力方向集合。
如果存在固定节点,则受力数Fi加1,r-加入到点
Figure BDA0004089694150000155
的受力方向集合DFi中,将/>
Figure BDA0004089694150000156
赋予/>
Figure BDA0004089694150000157
同理,对未固定节点在r+、c-、c+方向依次检测受力约束。
确定np-中所有节点的受力约束后,根据结构约束中的刚度公式,
Figure BDA0004089694150000158
刚度为1的时刻将存在3种情况,第一种情况是受2个垂直方向约束力的时刻,第二种情况为受3个方向约束力的时刻,此时必存在相互垂直约束力。第三种情况为受4个方向上的约束力时刻。
由于建筑物立面可能出现多层次结构,这3个约束时刻都可能是待修补区域的反弹落点位置tz,则修补点云待选的反弹位置的计算公式如下所示:
Figure BDA0004089694150000159
Figure BDA00040896941500001510
Figure BDA00040896941500001511
式中,tz=2表示未固定点受2个垂直方向约束力的时刻t2,tz=3表示受3个垂直方向约束力的时刻t3,tz=4表示受4个垂直方向约束力的时刻t4
在点云修补过程中,将根据建筑物立面的层次与修补需要决定取哪一时刻的高度作为修补点云npi=(xi,yi,zt)的修补位置,在实验部分将针对多层次建筑物结构的点云修补,对反弹时刻tz的选择进行分析。这些经过反弹重新恢复高度值的节点即为修补区域点云,记为集合NP+
在一些实施例中,所述对多个所述区域修补结果进行拟合,得到所述目标建筑物的点云修补结果,包括:
基于所述布料仿真模型中的最大下沉距离,截取当前立面方向的建筑物横截面;
基于所述建筑物横截面,确定建筑物轮廓的结构线;
基于不同结构线之间的角点,填补缺失部分的结构区域,以对多个所述区域修补结果进行拟合,得到所述目标建筑物的点云修补结果。
可以理解的是,布料仿真模型中最大下沉距离zmin处截取当前立面方向的建筑物横截面,得到建筑物轮廓的结构线并通过计算结构线之间的交点来填补缺失部分的结构区域。
根据横截面点云P=[p1,p2,p3,...,pn],构建二维最小包围框,并拟合出包围框的4条边。将拟合的直线方程linebb加入结构线集合Line中,作为横截面区域在各个方向的上限,并求解4个交点qcc,从而划分最大拟合范围。
然后使用RANSAC算法迭代拟合横截面点云P中的结构线段,当拟合的直线中误差大于2倍的dmean,终止线段检测。将拟合出的直线方程lines加入到结构线集合Line中。根据结构线集合Line中的参数方程,两两求交点qi,加入到交点集合Q中。
检索Q中所有交点,将在最小包围框之外的交点从Q删除。计算交点集合Q所有的交点q到横截面点云集合P的最近点距离,若最小距离小于设定距离值Dmax,说明该交点位于结构线上,属于结构线角点,加入到角点集合V中。
检索横截面点云最小包围框的4个交点qcc到角点集合V的最近点距离,若最小距离大于设定距离值Dmax,将qcc加入角点集合V。保证在建筑物结构缺失的情况下,能够用最小包围框的交点维持拟合的结构区域为完整的多边形。获得完整的角点集合V。
将角点V加入到横截面点云集合P中,根据点云集合P构建多边形,该多边形框内部区域即为建筑物结构区域S1。取布料模拟阶段获得的布料点云Np+,二维投影记为S2,它们的交集区域S=S1∩S2范围内的点云即为建筑物修补点云,在结构区域拟合后,多余的修补点云被剔除。
在另一些实施例中,本发明提供的建筑物缺失结构点云的修补方法的流程图如图3所示。
综上所述,本发明首先根据点云的缺失结构特征确定姿态调整方法,通过姿态调整减少布料模拟投影时因维度压缩造成的精度损失,然后利用建筑物的结构约束设置布节点所遵循的规则,保证修补点的准确性,最后分别进行“下沉”和“反弹”两个阶段实现大型结构缺失和多层结构建筑物的修复。提供一种施加结构约束的建筑物大范围缺失结构点云修补方法,和现有技术比起来,具有更高的泛化性和稳健性。
本发明根据建筑的特点运用了两种方法求旋转矩阵从而对建筑物实行姿态调整。针对整体呈立方体结构的建筑物,运用体积最小法,通过旋转使得建筑物点云在空间直角坐标系下的最小包围盒体积达到最小,先后进行水平方向和垂直方向的旋转,求解旋转矩阵。针对相邻的结构连续缺失的建筑物,运用垂直立面对法将建筑物立面方向统一到轴面方向只需找到建筑物结构中的一对垂直立面对,建立垂直立面对与垂直轴面对的对应关系,求解旋转矩阵。最终通过旋转矩阵得到姿态调整后的点云。
本发明在完成布料反弹后,先对结构面区域进行精确划分,获得准确的修补区域点云,从而避免增加多余结构面影响后续结构参数的提取。
如图4所示,本发明还提供一种建筑物缺失结构点云的修补装置400,包括:
获取模块410,用于获取目标建筑物的原始点云数据;
调整模块420,用于确定所述原始点云数据的缺失结构特征,并基于所述缺失结构特征对所述目标建筑物的姿态进行调整,得到目标点云数据;
确定模块430,用于构建所述目标建筑物对应的布料结构,基于所述布料结构,确定对应的布节点规则;
仿真模块440,用于基于所述目标点云数据和所述布节点规则对所述布料结构进行布料下沉仿真,得到布料仿真模型;
修补模块450,用于确定所述布料结构对应的结构约束,基于所述结构约束确定所述布料仿真模型中需要进行点云修补的凹陷区域,并对所述凹陷区域进行修补,得到区域修补结果;
拟合模块460,用于对多个所述区域修补结果进行拟合,得到所述目标建筑物的点云修补结果。
上述实施例提供的建筑物缺失结构点云的修补装置可实现上述建筑物缺失结构点云的修补方法实施例中描述的技术方案,上述各模块或单元具体实现的原理可参见上述建筑物缺失结构点云的修补方法实施例中的相应内容,此处不再赘述。
如图5所示,本发明还相应提供了一种电子设备500。该电子设备500包括处理器501、存储器502及显示器503。图5仅示出了电子设备500的部分组件,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
存储器502在一些实施例中可以是电子设备500的内部存储单元,例如电子设备500的硬盘或内存。存储器502在另一些实施例中也可以是电子设备500的外部存储设备,例如电子设备500上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
进一步地,存储器502还可既包括电子设备500的内部储存单元也包括外部存储设备。存储器502用于存储安装电子设备500的应用软件及各类数据。
处理器501在一些实施例中可以是一中央处理器(Central Processing Unit,CPU),微处理器或其他数据处理芯片,用于运行存储器502中存储的程序代码或处理数据,例如本发明中的建筑物缺失结构点云的修补方法。
显示器503在一些实施例中可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。显示器503用于显示在电子设备500的信息以及用于显示可视化的用户界面。电子设备500的部件501-503通过系统总线相互通信。
在本发明的一些实施例中,当处理器501执行存储器502中的建筑物缺失结构点云的修补程序时,可实现以下步骤:
获取目标建筑物的原始点云数据;
确定所述原始点云数据的缺失结构特征,并基于所述缺失结构特征对所述目标建筑物的姿态进行调整,得到目标点云数据;
构建所述目标建筑物对应的布料结构,基于所述布料结构,确定对应的布节点规则;
基于所述目标点云数据和所述布节点规则对所述布料结构进行布料下沉仿真,得到布料仿真模型;
确定所述布料结构对应的结构约束,基于所述结构约束确定所述布料仿真模型中需要进行点云修补的凹陷区域,并对所述凹陷区域进行修补,得到区域修补结果;
对多个所述区域修补结果进行拟合,得到所述目标建筑物的点云修补结果。
应当理解的是:处理器501在执行存储器502中的建筑物缺失结构点云的修补程序时,除了上面的功能之外,还可实现其它功能,具体可参见前面相应方法实施例的描述。
进一步地,本发明实施例对提及的电子设备500的类型不做具体限定,电子设备500可以为手机、平板电脑、个人数字助理(personal digitalassistant,PDA)、可穿戴设备、膝上型计算机(laptop)等便携式电子设备。便携式电子设备的示例性实施例包括但不限于搭载IOS、android、microsoft或者其他操作系统的便携式电子设备。上述便携式电子设备也可以是其他便携式电子设备,诸如具有触敏表面(例如触控面板)的膝上型计算机(laptop)等。还应当理解的是,在本发明其他一些实施例中,电子设备500也可以不是便携式电子设备,而是具有触敏表面(例如触控面板)的台式计算机。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的建筑物缺失结构点云的修补方法,该方法包括:
获取目标建筑物的原始点云数据;
确定所述原始点云数据的缺失结构特征,并基于所述缺失结构特征对所述目标建筑物的姿态进行调整,得到目标点云数据;
构建所述目标建筑物对应的布料结构,基于所述布料结构,确定对应的布节点规则;
基于所述目标点云数据和所述布节点规则对所述布料结构进行布料下沉仿真,得到布料仿真模型;
确定所述布料结构对应的结构约束,基于所述结构约束确定所述布料仿真模型中需要进行点云修补的凹陷区域,并对所述凹陷区域进行修补,得到区域修补结果;
对多个所述区域修补结果进行拟合,得到所述目标建筑物的点云修补结果。
本领域技术人员可以理解,实现上述实施例方法的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,程序可存储于计算机可读存储介质中。其中,计算机可读存储介质为磁盘、光盘、只读存储记忆体或随机存储记忆体等。
以上对本发明所提供的建筑物缺失结构点云的修补方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种建筑物缺失结构点云的修补方法,其特征在于,包括:
获取目标建筑物的原始点云数据;
确定所述原始点云数据的缺失结构特征,并基于所述缺失结构特征对所述目标建筑物的姿态进行调整,得到目标点云数据;
构建所述目标建筑物对应的布料结构,基于所述布料结构,确定对应的布节点规则;
基于所述目标点云数据和所述布节点规则对所述布料结构进行布料下沉仿真,得到布料仿真模型;
确定所述布料结构对应的结构约束,基于所述结构约束确定所述布料仿真模型中需要进行点云修补的凹陷区域,并对所述凹陷区域进行修补,得到区域修补结果;
对多个所述区域修补结果进行拟合,得到所述目标建筑物的点云修补结果。
2.根据权利要求1所述的建筑物缺失结构点云的修补方法,其特征在于,所述基于所述缺失结构特征对所述目标建筑物的姿态进行调整,包括:
确定所述目标建筑物对应的三维包围盒体积最小时水平方向上的旋转角度;
确定所述三维包围盒体积最小时垂直方向上的旋转角度;
基于所述三维包围盒体积最小时水平方向上的旋转角度,以及所述三维包围盒体积最小时垂直方向上的旋转角度,对所述目标建筑物的姿态进行调整。
3.根据权利要求1所述的建筑物缺失结构点云的修补方法,其特征在于,所述基于所述缺失结构特征对所述目标建筑物的姿态进行调整,包括:
随机在所述原始点云中拟合多个平面结构,并确定所述多个平面结构对应的法向量以及平面点云数;
确定所述多个平面结构之间的法向量夹角;
基于所述法向量夹角和所述平面点云数,确定最优垂直平面对;
基于所述最优垂直平面对,对所述目标建筑物的姿态进行调整。
4.根据权利要求3所述的建筑物缺失结构点云的修补方法,其特征在于,所述基于所述最优垂直平面对,对所述目标建筑物的姿态进行调整,包括:
基于所述最优垂直平面对,构建与垂直坐标轴面对的对应关系;
基于所述与垂直坐标轴面对的对应关系,对所述目标建筑物的姿态进行调整。
5.根据权利要求1所述的建筑物缺失结构点云的修补方法,其特征在于,所述基于所述目标点云数据和所述布节点规则对所述布料结构进行布料下沉仿真,得到布料仿真模型,包括:
基于所述目标点云数据和所述布节点规则,模拟布料下落模型和建筑物点云碰撞模型,基于所述布料下落模型和所述建筑物点云碰撞模型,确定布料仿真模型。
6.根据权利要求1所述的建筑物缺失结构点云的修补方法,其特征在于,所述确定所述布料结构对应的结构约束,基于所述结构约束确定所述布料仿真模型中需要进行点云修补的凹陷区域,并对所述凹陷区域进行修补,得到区域修补结果,包括:
确定所述布料结构中固定节点的约束力,以及基于节点受到的约束力个数和节点受力方向集合,确定节点约束力刚度,基于所述固定节点的约束力和所述节点约束力刚度,确定结构约束;
基于布料下沉阶段的固定节点分布方向,遍历未固定节点,以确定未固定节点的受力约束;
基于所述结构约束和所述未固定节点的受力约束,确定待修补区域的反弹落点位置;
将所述反弹落点位置对应的点云数据重新恢复至目标高度值,得到区域修补结果。
7.根据权利要求1-6任一项所述的建筑物缺失结构点云的修补方法,其特征在于,所述对多个所述区域修补结果进行拟合,得到所述目标建筑物的点云修补结果,包括:
基于所述布料仿真模型中的最大下沉距离,截取当前立面方向的建筑物横截面;
基于所述建筑物横截面,确定建筑物轮廓的结构线;
基于不同结构线之间的角点,填补缺失部分的结构区域,以对多个所述区域修补结果进行拟合,得到所述目标建筑物的点云修补结果。
8.一种建筑物缺失结构点云的修补装置,其特征在于,包括:
获取模块,用于获取目标建筑物的原始点云数据;
调整模块,用于确定所述原始点云数据的缺失结构特征,并基于所述缺失结构特征对所述目标建筑物的姿态进行调整,得到目标点云数据;
确定模块,用于构建所述目标建筑物对应的布料结构,基于所述布料结构,确定对应的布节点规则;
仿真模块,用于基于所述目标点云数据和所述布节点规则对所述布料结构进行布料下沉仿真,得到布料仿真模型;
修补模块,用于确定所述布料结构对应的结构约束,基于所述结构约束确定所述布料仿真模型中需要进行点云修补的凹陷区域,并对所述凹陷区域进行修补,得到区域修补结果;
拟合模块,用于对多个所述区域修补结果进行拟合,得到所述目标建筑物的点云修补结果。
9.一种电子设备,其特征在于,包括存储器和处理器,其中,
所述存储器,用于存储程序;
所述处理器,与所述存储器耦合,用于执行所述存储器中存储的所述程序,以实现如上述权利要求1至7中任意一项所述的建筑物缺失结构点云的修补方法中的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的建筑物缺失结构点云的修补方法。
CN202310147615.6A 2023-02-20 2023-02-20 建筑物缺失结构点云的修补方法及装置 Pending CN116168174A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310147615.6A CN116168174A (zh) 2023-02-20 2023-02-20 建筑物缺失结构点云的修补方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310147615.6A CN116168174A (zh) 2023-02-20 2023-02-20 建筑物缺失结构点云的修补方法及装置

Publications (1)

Publication Number Publication Date
CN116168174A true CN116168174A (zh) 2023-05-26

Family

ID=86417939

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310147615.6A Pending CN116168174A (zh) 2023-02-20 2023-02-20 建筑物缺失结构点云的修补方法及装置

Country Status (1)

Country Link
CN (1) CN116168174A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117271974A (zh) * 2023-09-25 2023-12-22 广东科研世智能科技有限公司 一种数据修补方法、装置、电子设备和存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117271974A (zh) * 2023-09-25 2023-12-22 广东科研世智能科技有限公司 一种数据修补方法、装置、电子设备和存储介质

Similar Documents

Publication Publication Date Title
US10885707B1 (en) Network, system and method for multi-view 3D mesh generation via deformation
CN112347550B (zh) 耦合式室内三维语义建图及建模方法
JP5753422B2 (ja) 3dパターンマッチング方法
US20130271461A1 (en) Systems and methods for obtaining parameters for a three dimensional model from reflectance data
WO2018094719A1 (zh) 生成点云地图的方法、计算机系统和装置
WO2016095682A1 (zh) 一种处理数字地面模型接缝的方法及装置
TWI768776B (zh) 室內定位系統及室內定位方法
CN111932669A (zh) 一种基于边坡岩体特征对象的变形监测方法
CN116168174A (zh) 建筑物缺失结构点云的修补方法及装置
JP2019168976A (ja) 3次元モデル生成装置
CN114120149A (zh) 一种倾斜摄影测量建筑物特征点提取方法、装置、电子设备及介质
CN103208112A (zh) 多个相机的多部分对应器
CN115758938A (zh) 面向粘性边界流场数值模拟的附面层网格生成方法
CN113192174B (zh) 建图方法、装置及计算机存储介质
Zhao et al. Completing point clouds using structural constraints for large-scale points absence in 3D building reconstruction
JP2012220271A (ja) 姿勢認識装置、姿勢認識方法、プログラム及び記録媒体
Zhou 3D urban modeling from city-scale aerial LiDAR data
CN106408654A (zh) 一种三维地图的创建方法及系统
CN114821055A (zh) 房屋模型的构建方法、装置、可读存储介质和电子设备
CN114898057A (zh) 地质剖面图三维空间信息提取方法和装置、存储介质
KR100965843B1 (ko) 레이저 점으로 이루어진 객체들의 최 외곽 벡터 추출 방법
Méndez et al. Comparative study of point cloud registration techniques between ICP and others
CN117237541B (zh) 基于建筑立面点云的多视角投影主体结构建模方法及系统
CN113284247B (zh) 一种针对海洋工程设备的三维建模方法、系统及存储介质
CN115953522B (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