一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

三维重建方法以及相关装置与流程

2022-03-22 22:13:18 来源:中国专利 TAG:


1.本技术涉及点云处理技术领域,特别是涉及一种三维重建方法以及相关装置。


背景技术:

2.室内三维模型在许多领域中都有重要的作用,如游戏、旅游、公共建筑定位和导航服务等。同时随着人们对产品质量和体验感的要求提高,对室内环境模型的更新速度和空间模型的详细程度的要求也越来越高,因此对于室内模型的自动化重建的研究是非常必要的。另外,激光扫描系统的发展使得点云数据得到了广泛的应用,成为建筑建模的主要数据源之一。与二维图像相比,三维点云能够表达物体的几何细节,更适合建模工作。
3.利用点云进行建筑物的重建工作可以分为从室外扫描数据重建和利用室内扫描数据进行重建。相对于室外场景室来说室内场景的重建更具挑战性,因为室内场景往往具有较高的杂乱程度,会导致获取的点云数据遮挡较严重,所以尽管基于点云的室内三维重建方法发展迅速,但从杂乱的室内环境中自动重建建筑的参数化模型仍比较困难,无法保证房间内墙壁重建的准确性。因此,亟需一种新的三维重建方法来解决上述问题。


技术实现要素:

4.本技术主要解决的技术问题是提供一种三维重建方法以及相关装置,可以保证房间内墙壁重建的准确性。
5.为解决上述技术问题,本技术采用的一个技术方案是:提供一种三维重建方法,包括:获得包含待建模房间的三维点云数据,并将所述三维点云数据进行二维投影形成第一图像;对所述第一图像进行房间分割,并根据所述第一图像的房间分割结果对所述三维点云数据进行分割以获得各个房间的第一点云;其中,所述第一点云包括墙壁点云、天花板点云;将经去噪后的墙壁点云靠近所述天花板点云的切片进行二维投影获得第二图像;其中,所述第二图像中包括多个墙壁数据点;从所述墙壁数据点中获得墙壁边界线,并根据端点支持度和线段支持度从所述墙壁边界线中获得闭合多边形;对所述闭合多边形进行拉伸获得所述房间的三维模型。
6.其中,所述从所述墙壁数据点中获得墙壁边界线,并根据端点支持度和线段支持度从所述墙壁边界线中获得闭合多边形的步骤,包括:对每个所述墙壁数据点提取直线,并将所有所述直线进行合并获得至少一个直线集合;其中,所述直线集合包括至少一条属于同一墙壁的直线;对所述直线集合中的直线求交获得所述墙壁边界线;根据所述端点支持度和所述线段支持度从所述墙壁边界线中筛选出最优线段;其中,所述端点支持度为每个端点所连接的所述线段支持度大于零的线段的条数,所述线段支持度为包围盒内每个内点的可信度加权值与包围盒内所有内点的点云密度的乘积;删除除所述最优线段之外的多余线段并补足所述最优线段的缺失部分以获得所述闭合多边形;其中,所述闭合多边形的每个端点支持度均为二。
7.其中,所述根据所述端点支持度和所述线段支持度从所述墙壁边界线中筛选出最
优线段的步骤之前,包括:利用所述墙壁边界线的端点获得包围盒,其中,所述包围盒中包括至少一个内点;获得所述内点与所述墙壁边界线之间的第一距离和第一阈值之间的比值、一与所述比值之间的差值,并获得所述差值与所述内点的协方差矩阵之间的乘积,并将所述包围盒内所有所述内点的乘积的和值作为所述可信度加权值;其中,所述第一距离小于或等于所述第一阈值。
8.其中,所述将经去噪后的墙壁点云靠近所述天花板点云的切片进行二维投影获得第二图像的步骤之前,包括:将所述房间的第一点云进行分割以获得各个所述房间中的墙壁点云;根据预设角度间隔将所述墙壁点云进行角度切片以获得所述墙壁点云与各个所述房间内所有第一点云的中心点之间的第二距离;根据所述第二距离和预设距离间隔将所述墙壁点云进行距离切片;利用经双重切片后墙壁点云的数量去除各个所述房间内的稀疏噪点和代表水平平面的点云。
9.其中,所述对所述闭合多边形进行拉伸获得所述房间的三维模型的步骤之后,包括:提取所述三维模型中的第二点云;其中,所述第二点云属于所述三维模型中的墙壁;根据所述三维模型的高度信息将所述第二点云进行划分以获得至少一个水平切片、根据点的水平角度将所述第二点云进行划分获得至少一个垂直切片;利用所述水平切片提取与地面垂直的第一方向上的第一轮廓点、利用所述垂直切片提取与所述地面水平的第二方向上的第二轮廓点;将所述第一轮廓点和所述第二轮廓点进行聚类获得至少一个门窗轮廓点,并将所述门窗轮廓点投影至所述三维模型中对应的墙壁上。
10.其中,所述利用所述水平切片提取与地面垂直的第一方向上的第一轮廓点的步骤,包括:根据所述水平切片内的第二点云的水平角将所述水平切片内的墙壁点云进行排序,并获得所述水平切片内的墙壁点云与其相邻墙壁点云之间的第三距离;响应于所述第三距离满足第二阈值,将所述相邻第二点云作为所述第一轮廓点;所述利用所述垂直切片提取与所述地面水平的第二方向上的第二轮廓点的步骤,包括:根据所述垂直切片内的第二点云的高度值将所述垂直切片内的墙壁点云进行排序,并获得所述垂直切片内的墙壁点云与其相邻墙壁点云之间的第四距离;响应于所述第四距离满足第三阈值,将所述相邻第二点云作为所述第二轮廓点。
11.其中,所述将所述第一轮廓点和所述第二轮廓点进行聚类获得至少一个门窗轮廓点,并将所述门窗轮廓点投影至所述三维模型中对应的墙壁上的步骤之后,包括:根据所在墙壁的方向将所述第一轮廓点和所述第二轮廓点进行排序,并根据排序结果获得首部轮廓点和尾部轮廓点;根据高度值将所述第一轮廓点和所述第二轮廓点进行排序,并根据排序结果获得最高轮廓点和最低轮廓点;将所述首部轮廓点、尾部轮廓点、最高轮廓点和最低轮廓点进行初次拟合以获得初始包围矩形;利用所述初始包围矩形的四条边提取靠近每条边的门窗轮廓点,并利用随机抽样一致性算法对每条边进行二次拟合;响应于二次拟合之后的图形为四边形,输出所述初始包围矩形。
12.其中,所述对所述第一图像进行房间分割,并根据所述第一图像的房间分割结果对所述三维点云数据进行分割以获得各个房间的第一点云的步骤,包括:将所述第一图像进行二值化获得各个所述房间之间的空隙,并利用边缘提取算法获得所述空隙的边缘;利用图像膨胀和图像闭运算将所述边缘细化;将所述边缘进行霍夫变换获得所述边缘对应的线段,并对所述线段进行优化以合并属于同一墙壁边界的直线;将经拓宽后的线段和所述
第一图像进行图像减运算获得第三图像;其中,所述第三图像包括所述房间和所述墙壁边界线;根据所述墙壁边界线将所述房间进行分割,并分隔各个所述房间对应的第一点云。
13.其中,所述根据所述墙壁边界线将所述房间进行分割,并分隔各个所述房间对应的第一点云的步骤之前,还包括:响应于所述第三图像中存在噪点,将所述噪点去除并进入至根据所述墙壁边界线将所述房间进行分割,并分隔各个所述房间对应的第一点云的步骤。
14.其中,所述将所述三维点云数据进行二维投影形成第一图像的步骤之前,包括:对所述三维点云数据进行预处理。
15.为解决上述技术问题,本技术采用的另一个技术方案是:提供一种三维重建系统,包括相互耦接的存储器和处理器,所述存储器内存储有程序指令,所述处理器用于执行所述程序指令以实现上述任一实施例所提及的三维重建方法。
16.为解决上述技术问题,本技术采用的又一个技术方案是:提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序用于实现上述任一实施例所提及的三维重建方法。
17.区别于现有技术的情况,本技术的有益效果是:本技术提供的三维重建方法包括:获得包含待建模房间的三维点云数据,将三维点云数据进行二维投影形成第一图像;对第一图像进行房间分割,并根据第一图像的房间分割结果对三维点云数据进行分割以获得各个房间的第一点云;其中,第一点云包括墙壁点云;将经去噪后的墙壁点云靠近天花板点云的切片进行二维投影获得第二图像;其中,第二图像中包括多个墙壁数据点;从墙壁数据点中获得墙壁边界线,并根据端点支持度和线段支持度从墙壁边界线中获得闭合多边形;对闭合多边形进行拉伸获得房间的三维模型。通过这样的设计方式,可以保证墙壁重建的准确性,从而得到房间较为准确的三维重建模型。
附图说明
18.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:
19.图1是本技术三维重建方法的整体流程图;
20.图2是本技术三维重建方法一实施方式的流程示意图;
21.图3是天花板地板分割的密度直方图;
22.图4是房间分割流程效果图;
23.图5是图2中步骤s2一实施方式的流程示意图;
24.图6是房间重建流程效果图;
25.图7是图2中步骤s3之前一实施方式的流程示意图;
26.图8是双重切片去噪原理图;
27.图9是图2中步骤s4一实施方式的流程示意图;
28.图10是门窗提取流程效果图;
29.图11是垂直切片的原理图;
30.图12是图2中步骤s9之后一实施方式的流程示意图;
31.图13是本技术三维重建系统一实施方式的结构示意图;
32.图14是本技术三维重建系统一实施方式的框架示意图;
33.图15是本技术计算机可读存储介质一实施方式的框架示意图。
具体实施方式
34.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性的劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
35.针对室内建筑的重建工作,将从室内获取的房间的三维点云数据重构为规则化、参数化的建筑模型。本技术对典型室内环境有效的主要条件是:天花板和地板是平面和平行的结构由垂直的墙壁连接,不同的房间和走廊由门道等由狭窄通道连接。请参阅图1,图1是本技术三维重建方法的整体流程图。如图1所示,本技术中三维重建方法的主要流程是首先利用形态学算法将预处理后的三维点云数据自动进行房间分割工作,然后将分割出的房间利用新的线段选择策略重构为参数化的几何模型,最后利用水平和垂直切片和相邻点距离阈值提取门窗并对其进行优化。
36.请参阅图2,图2是本技术三维重建方法一实施方式的流程示意图。该三维重建方法包括:
37.s1:获得包含待建模房间的三维点云数据,并将三维点云数据进行二维投影形成第一图像。
38.具体地,在本实施例中,请一并参阅图2-图4,图3是天花板地板分割的密度直方图,图4是房间分割流程效果图。在步骤s1中将三维点云数据进行二维投影形成第一图像的步骤之前包括:对三维点云数据进行预处理。在本实施例中,预处理的步骤可以为:首先对三维点云数据进行降采样,再利用形态学算法去除建筑外部的噪点。具体地,在本实施例中,可以使用体素化网格方法来进行降采样,将体素化网格的大小设置为v,当然,在其他实施例中,也可以采用其他方式进行降采样,在此不作限定。此外,天花板提取是z轴对原始三维点云数据以一定厚度进行切片并根据每一切片内点的个数计算柱状图,即图3中所示的天花板底板分割的密度直方图,以找到拥有最大数量点的高度信息即为天花板或地板,再利用高度信息判断出天花板。如图4所示,将上述已经进行预处理之后的三维点云数据进行二值映射到二维空间中形成第一图像(图4a)。
39.s2:对第一图像进行房间分割,并根据第一图像的房间分割结果对三维点云数据进行分割以获得各个房间的第一点云。
40.具体而言,第一点云包括墙壁点云。
41.具体地,在本实施例中,请一并参阅图4和图5,图5是图2中步骤s2一实施方式的流程示意图。具体而言,步骤s2包括:
42.s20:将第一图像进行二值化获得各个房间之间的空隙,并利用边缘提取算法获得空隙的边缘。
43.具体而言,如图4b所示,将第一图像(图4a)进行二值化突出各个房间之间的空隙,
然后利用边缘提取算法提取出房间空隙的边缘(图4c)。
44.s21:利用图像膨胀和图像闭运算将边缘细化。
45.具体而言,如图4d和图4e所示,利用图像膨胀和图像闭运算将图4c中的边缘细化,采用先膨胀后腐蚀的方法能够消除图像区域内的小黑点(噪点)。
46.s22:将边缘进行霍夫变换获得边缘对应的线段,并对线段进行优化以合并属于同一墙壁边界的直线。
47.具体而言,如图4f所示,将经过图像膨胀和图像闭运算的边缘(图4e)进行霍夫变换,以将各个边缘参数化成对应的线段。在本实施例中,如图4g所示,对图4f中得到的线段进行优化以合并属于同一墙壁边界的直线(即断开各个房间的连接处)。
48.s23:将经拓宽后的线段和第一图像进行图像减运算获得第三图像。
49.具体而言,如图4h所示,将经拓宽后的线段(图4g)和第一图像(图4a)进行图像减运算以获得第三图像。在本实施例中,第三图像包括房间和墙壁边界线。
50.s24:根据墙壁边界线将房间进行分割,并分隔各个房间对应的第一点云。
51.具体而言,利用分水岭算法将将第三图像中的房间进行分割,如图4k所示,在本实施例中,可以是根据上述第三图像中的墙壁边界线对房间进行分割,分割的方式在此不作限定。如图4l所示,将各个房间对应的第一点云分割开来。
52.通过这种设计方式,本技术中利用形态学处理方法能够快速分割房间,针对分割过度或分割不足问题,本技术通过边缘检测、霍夫变换及优化算法结合形态学运算来实现断开各个房间之间的连接,然后利用分水岭分割算法进行房间分割,该方法能够准确迅速地分割房间。
53.可选地,在本实施例中,为了使得重建的房间模型更加准确,如图4i和图4j所示,在步骤s24之前还包括:判断第三图像中是否存在噪点;若是,则将噪点去除并进入至步骤s24;否则,直接进入至步骤s24。
54.s3:将经去噪后的墙壁点云靠近天花板点云的切片进行二维投影获得第二图像。
55.具体而言,第二图像中包括多个墙壁数据点。具体地,在本实施例中,房间分割完成后进入至房间重建的步骤。请参阅图6,图6是是房间重建流程效果图。将双重切片去噪后的墙壁点云(图6c)取靠近天花板点云向下预设距离的切片进行二维投影到xy平面获得第二图像(图6d),切片可以减少需要处理的点云数据量从而可以大幅度节省时间。
56.优选地,在本实施例中,请一并参阅图6-图8,图7是图2中步骤s3之前一实施方式的流程示意图,图8是双重切片去噪原理图。步骤s3之前具体包括:
57.s30:将房间的第一点云进行分割以获得各个房间中的墙壁点云。
58.具体而言,除了墙壁点云,第一点云还包括天花板点云和地板点云,但是针对每个房间使用基于线的方法来解决房间重建问题,因此天花板点云和地板点云对于墙壁的重建都是不需要的,所以可以使用图3中的点云密度直方图来分割出天花板点云和地板点云而保留各个房间中的墙壁点云,如图6a和图6b所示。
59.s31:根据预设角度间隔将墙壁点云进行角度切片以获得墙壁点云与各个房间内所有第一点云的中心点之间的第二距离。
60.s32:根据第二距离和预设距离间隔将墙壁点云进行距离切片。
61.具体而言,在将天花板和地板分割开来之后,进行室内去噪(图6c)的过程。如图8a
所示,图8a是双重切片原理,将各个房间内所有第一点云的中心点设为原点,首先以预设角度间隔s
θ
将墙壁点云进行切片得g
thea
={group
thea1
,group
thea2

……
group
theam
},其中,group
thea1
表示以thea1进行切片之后的一个切片,g
thea
表示所有切片的集合,再对上述每一切片内的数据点计算其与原点之间的第二距离p
ij,dis
,将第二距离p
ij,dis
以预设距离间隔sd将墙壁点云进行切片,上述步骤s31-s32为将墙壁点云进行双重切片的步骤。
62.s33:利用经双重切片后墙壁点云的数量去除各个房间内的稀疏噪点和代表水平平面的点云。
63.具体而言,图8b为经双重切片后的墙壁点云,通过切片内的点数量进行去噪的方法对室内稀疏噪点和代表室内水平平面结构的点云进行去除,得到噪点去除后的墙壁点云(图8c)。针对影响房间重建工作的绝大部分室内遮挡和噪点,本技术利用双重切片的方法来解决掉大部分室内影响重建工作的由垂直于墙壁的物品的遮挡而产生的噪点。
64.s4:从墙壁数据点中获得墙壁边界线,并根据端点支持度和线段支持度从墙壁边界线中获得闭合多边形。
65.具体地,在本实施例中,请一并参阅图6和图9,图9是图2中步骤s4一实施方式的流程示意图。具体而言,步骤s4包括:
66.s40:对每个墙壁数据点提取直线,并将所有直线进行合并获得至少一个直线集合。
67.具体而言,直线集合包括至少一条属于同一墙壁的直线。在本实施例中,如图6e所示,利用随机抽样一致性算法(ransac)对投影后的墙壁数据点提取直线并进行优化,以合并近似属于同一墙壁的直线。
68.s41:对直线集合中的直线求交获得墙壁边界线。
69.具体而言,如图6f所示,对上述所有直线求交以获取线段,该线段即为墙壁边界线。
70.s42:根据端点支持度和线段支持度从墙壁边界线中筛选出最优线段。
71.在本实施例中,如图6g所示,利用线段选择原则从墙壁边界线中筛选出最优线段,上述线段选择原则分为初选、复选和线段选择,初选和复选的基础为端点支持度和线段支持度support这两个评估线段重要性的参数。具体而言,端点支持度为每个端点所连接的线段支持度support大于零的线段的条数,线段支持度support为包围盒内每个内点的可信度加权值confidence与包围盒内所有内点的点云密度density的乘积,即为:support=confidence*density。
72.s43:删除除最优线段之外的多余线段并补足最优线段的缺失部分以获得闭合多边形。
73.具体而言,闭合多边形的每个端点支持度均为二。在本实施例中,从墙壁边界线中筛选出最优线段之后,逐步删除除最优线段之外的多余线段,并补足最优线段的缺失部分,最终获得的是每个端点支持度都为2的闭合多边形。这样可以保证房间内墙壁重建的准确性,从而得到较为准确的三维模型数据。
74.具体地,在本实施例中,步骤s4之前包括:1、利用墙壁边界线的端点获得包围盒。这里获得包围盒的方式与现有的方法一致,在此不再赘述。具体而言,包围盒中包括至少一个内点p。2、获得内点p与墙壁边界线之间的第一距离dist(p,l
segi
)和第一阈值ε之间的比
值、一与比值之间的差值,并获得差值与内点p的置信项conf(p)之间的乘积,并将包围盒内所有内点p的乘积的和值作为可信度加权值confidence。可信度加权值confidence的计算公式为:
[0075][0076]
具体而言,第一距离dist(p,l
segi
)小于或等于第一阈值ε。在该式中,|p|是包围盒内墙壁数据点的总数量,点p为包围盒内点,dist(p,l
segi
)是每一个点到线段l
segi
的距离,ε是允许点到线段l
segi
的最大距离。在本实施例中,取预设长度为包围盒子两侧点到线段的距离,可以为0.03等数值,在此不作限定。此外,点p满足dist(p,l
segi
)<ε。置信项conf(p)测量墙壁数据点在点p处的局部质量,它是通过计算在p处定义的局部协方差矩阵来定义的,在此工作中,我们通过p在三个静态尺度(即不同的邻域大小)的局部邻域计算了p的协方差矩阵。则置信项conf(p)定义为:
[0077]
其中,λ为特征值。
[0078]
s5:对闭合多边形进行拉伸获得房间的三维模型。
[0079]
具体而言,上述步骤s43中获得闭合多边形之后,利用分割出的天花板高度和地板高度将该闭合多边形拉伸成三维模型,该三维模型即为房间重建模型。
[0080]
通过这样的设计方式,基于曼哈顿原则的条件下利用垂直于地面和天花板的墙壁的切片来进行线段的拟合,并使用新的线段优化和选择策略来进行墙壁的重建,切片可以减少需要处理的点云数据量从而可以大幅度节省时间,同时线段优化和选择策略保证了房间内墙壁重建的准确性,从而能够得到较为准确的三维模型数据。
[0081]
进一步,在本实施例中,获得三维模型之后利用点云切片及相邻点之间的水平距离和垂直距离之间的差值重建门窗,请一并参阅图2和图10,图10是门窗提取流程效果图。具体而言,步骤s5之后还包括:
[0082]
s6:提取三维模型中的第二点云。
[0083]
具体而言,第二点云属于三维模型中的墙壁。如图10a所示,提取三维模型中属于各个房间的墙壁的第二点云。
[0084]
s7:根据三维模型的高度信息将第二点云进行划分以获得至少一个水平切片、根据点的水平角度将第二点云进行划分获得至少一个垂直切片。
[0085]
具体地,在本实施例中,如图10b所示,水平切片是根据z坐标来划分的,也就是根据房间墙壁的高度来划分的。此外,在本实施例中,请一并参阅图10c和图11,图11是垂直切片的原理图。垂直切片是根据点的水平角度来划分的。垂直切片如图11a所示,作cd垂线取垂线上一点a使得ab=cd,将cd按照角度阈值(例如,θ)进行划分切片,如图11b所示。
[0086]
s8:利用水平切片提取与地面垂直的第一方向上的第一轮廓点、利用垂直切片提取与地面水平的第二方向上的第二轮廓点。
[0087]
优选地,在本实施例中,如图10d所示,步骤s8中利用水平切片提取与地面垂直的第一方向上的第一轮廓点的步骤可以包括:1、根据水平切片内的第二点云的水平角将水平切片内的墙壁点云进行排序,并获得水平切片内的墙壁点云与其相邻墙壁点云之间的第三距离;2、判断第三距离是否满足第二阈值;3、若是,则将相邻第二点云作为第一轮廓点;4、
否则,返回至判断第三距离是否满足第二阈值的步骤。此判断过程直到最后一个水平切片内的墙壁点云结束。
[0088]
优选地,在本实施例中,如图10d所示,步骤s8中利用垂直切片提取与地面水平的第二方向上的第二轮廓点的步骤可以包括:1、根据垂直切片内的第二点云的高度值将垂直切片内的墙壁点云进行排序,并获得垂直切片内的墙壁点云与其相邻墙壁点云之间的第四距离;2、判断第四距离是否满足第三阈值;3、若是,则将相邻第二点云作为第二轮廓点;4、否则,返回至判断第四距离是否满足第三阈值的步骤。此判断过程直到最后一个垂直切片内的墙壁点云结束。
[0089]
s9:将第一轮廓点和第二轮廓点进行聚类获得至少一个门窗轮廓点,并将门窗轮廓点投影至三维模型中对应的墙壁上。
[0090]
具体而言,如图10e所示,将所有提取出的第一轮廓点和第二轮廓点利用欧式距离聚类分类为不同的门窗轮廓点,并投影到三维模型中各个对应的墙壁上。
[0091]
如图10f所示,对步骤s9中获得的门窗轮廓点进行参数化,即将点转化为线,请一并参阅图10和图12,图12是图2中步骤s9之后一实施方式的流程示意图。具体而言,步骤s9之后包括:
[0092]
s50:根据所在墙壁的方向将第一轮廓点和第二轮廓点进行排序,并根据排序结果获得首部轮廓点和尾部轮廓点。
[0093]
具体而言,将所有的第一轮廓点和第二轮廓点去除高度信息按照所在墙面的方向排序,根据排序结果获得首部轮廓点和尾部轮廓点。
[0094]
s51:根据高度值将第一轮廓点和第二轮廓点进行排序,并根据排序结果获得最高轮廓点和最低轮廓点。
[0095]
具体而言,将所有第一轮廓点和第二轮廓点按照高度信息进行排序,根据排序结果获得最高轮廓点和最低轮廓点;
[0096]
s52:将首部轮廓点、尾部轮廓点、最高轮廓点和最低轮廓点进行初次拟合以获得初始包围矩形。
[0097]
具体而言,提取出的首部轮廓点和尾部轮廓点代表矩形在水平方向上的端点、最高轮廓点和最低轮廓点代表高度信息,进行初次拟合以获得初始包围矩形。
[0098]
s53:利用初始包围矩形的四条边提取靠近每条边的门窗轮廓点,并利用随机抽样一致性算法对每条边进行二次拟合。
[0099]
s54:判断二次拟合之后的四条边组成的图形是否为四边形。
[0100]
s55:若是,则输出初始包围矩形。
[0101]
s56:否则,抛弃初始包围矩形。
[0102]
具体而言,利用初始包围矩形的四条边提取靠近每条边的门窗轮廓点,然后对每条边利用随机抽样一致性算法(ransac)进行重新拟合,若再次拟合过程中无法再拟合出四边形,就说明四条边中有一条边因点数不足而无法重新拟合,则抛弃该门窗轮廓点。
[0103]
通过这样的设计方式,针对室内移动扫描的细节重建问题,利用房间墙壁重建提取出墙壁,然后进行水平切片和垂直切片,利用相邻点距离阈值将门窗轮廓点提出并通过聚类分离门窗并参数化,该方法能够快速准确提取出墙壁上的开口。
[0104]
请参阅图13,图13是本技术三维重建系统一实施方式的结构示意图。该三维重建
系统具体包括:
[0105]
获得模块10,用于获得包含待建模房间的三维点云数据,并将三维点云数据进行二维投影形成第一图像。
[0106]
分割模块12,与获得模块10耦接,用于对第一图像进行房间分割,并根据第一图像的房间分割结果对三维点云数据进行分割以获得各个房间的第一点云;其中,第一点云包括墙壁点云。
[0107]
处理模块14,与分割模块12耦接,用于将经双重切片后的墙壁点云进行二维投影获得第二图像;其中,第二图像中包括多个墙壁数据点。此外,处理模块14还用于从墙壁数据点中获得墙壁边界线,并根据端点支持度和线段支持度从墙壁边界线中获得闭合多边形。
[0108]
拉伸模块16,与处理模块14耦接,用于对闭合多边形进行拉伸获得房间的三维模型。
[0109]
请参阅图14,图14是本技术三维重建系统一实施方式的框架示意图。该三维重建系统包括相互耦接的存储器20和处理器22。具体地,在本实施例中,存储器20内存储有程序指令,处理器22用于执行程序指令以实现上述任一实施例所提及的三维重建方法。
[0110]
具体而言,处理器22还可以称为cpu(central processing unit,中央处理单元)。处理器22可能是一种集成电路芯片,具有信号的处理能力。处理器22还可以是通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器22可以由多个集成电路芯片共同实现。
[0111]
请参阅图15,图15是本技术计算机可读存储介质一实施方式的框架示意图。该计算机可读存储介质30存储有计算机程序300,能够被计算机所读取,计算机程序300能够被处理器执行,以实现上述任一实施例中所提及的三维重建方法。其中,该计算机程序300可以以软件产品的形式存储在上述计算机可读存储介质30中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本技术各个实施方式所述方法的全部或部分步骤。具有存储功能的计算机可读存储介质30可以是u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质,或者是计算机、服务器、手机、平板等终端设备。
[0112]
总而言之,区别于现有技术的情况,本技术提供的三维重建方法包括:获得包含待建模房间的三维点云数据,将三维点云数据进行二维投影形成第一图像;对第一图像进行房间分割,并根据第一图像的房间分割结果对三维点云数据进行分割以获得各个房间的第一点云;其中,第一点云包括墙壁点云;将经去噪后的墙壁点云靠近天花板点云的切片进行二维投影获得第二图像;其中,第二图像中包括多个墙壁数据点;从墙壁数据点中获得墙壁边界线,并根据端点支持度和线段支持度从墙壁边界线中获得闭合多边形;对闭合多边形进行拉伸获得房间的三维模型。通过这样的设计方式,可以保证墙壁重建和门窗重建的准确性,从而得到房间较为准确的三维重建模型。
[0113]
以上所述仅为本技术的实施方式,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献