本发明涉及一种基于内部圆和邻接图的房间分割方法,属于移动机器人和激光测量技术领域。
背景技术:
在机器人领域,利用激光扫描数据建立未知环境的环境地图具有重要意义。随着技术的发展,服务机器人变的日益普及,如扫地机器人、导游服务机器人、餐饮服务机器人等,在其工作的过程中都依赖同时定位与建图技术(slam)来实现自己位置估计和环境感知,进而实现路径规划和任务规划。在建筑工程领域,对于大多数新建筑,最新的国家规范要求提供建筑信息模型(bim),但这些模型在建筑竣工后就不再适用了。在建筑物竣工后,每一次设计装修都会带来室内环境的变化,需要审核这些变化是否符合安全标准,因此保持建筑物数据的现势性十分必要。目前利用移动激光扫描(mls)系统构建的室内地图通常是栅格地图,在表达室内空间语义和拓扑结构方面存在不足。如何利用移动激光扫描技术快速生成用户所需的房间语义信息和拓扑结构,对机器人和人类用户的室内外一体化导航都具有重要意义。
技术实现要素:
针对上述现有技术存在的问题,本发明提供一种基于内部圆和邻接图的房间分割方法,从而实现从激光扫描点云数据中提取室内空间语义和拓扑网络。
为了实现上述目的,本发明采用的技术方案是:一种基于内部圆和邻接图的房间分割方法,其特征在于,包括如下步骤;
步骤一:距离变换,对激光扫描得到的二维占用概率栅格地图进行距离变换,计算每个像素的最近邻占用点的距离值;
步骤二:内部圆填充,使用内部圆表达室内自由空间,构建室内自由空间的内部圆逼近;
步骤三:拓扑邻接图构建,利用带权重无向图构建内部圆之间的关联关系,根据内部圆之间的邻接关系,构建内部圆的无向图表达,无向图的每个节点对应着一个内部圆,无向图的边连接相切的两个内部圆,权重值为切点的初次距离变换值;
步骤四:连通子图分割,基于规则对无向邻接图的边进行增加和删除;
步骤五:连通子图合并与房间语义赋值,通过合并内部连通子图得到室内自由空间的空间结构。
进一步的,所述步骤二中内部圆填充的具体步骤为:
2.1、对给定的室内激光扫描点云,根据其占用的空间范围细分为网格,得到一系列像素
2.2、选择距离变换值最大的像素为圆心,最大近邻距离为半径进行填充;设该像元中心为
2.3、对未被内部圆填充区域进行距离变换值更新,对比未被填充区域的像素中心距离最近邻点的距离db与像素中心到填充圆边界的距离ds,更新该像素的距离变换值
2.4、从距离变换更新后的填充圆外部像素集合中选取最大近邻距离的像素中心作为新的填充圆圆心,填充新的内部圆;
2.5、依次迭代,直至所有像素都被填充完毕,得到非相交填充内部圆集合
进一步的,所述步骤三中拓扑邻接图构建的具体实现步骤为:
3.1、初始化邻接图g<v,e>;所有内部圆的中心点作为邻接图的节点v;根据所有内部圆的中心点构成集合p,对点集p构建kd树;
3.2、遍历每一个内部圆的圆心点p,搜索其2
3.3、判断近邻圆
3.4、依次迭代,直至所有内部圆的圆心点遍历完毕。
进一步的,所述步骤四中的连通子图分割的具体实现步骤为:
4.1、设置门的宽度阈值
4.2、遍历邻接图g中的每一条边e,当边e连接的两个内部圆的面积足够大且相邻两个内部圆的权重小于给定阈值
4.3、遍历每一个邻接图g中每一个内接圆节点v,如果其相邻的两个内部圆面积足够大,且中心点的距离变换值大于
4.4、对图g’进行连通子图分割,得到连通域集合
进一步的,所述步骤五中的连通子图合并与房间语义赋值的具体实现步骤为:
5.1、遍历连通域集合c每一个连通子图
5.2、遍历每一个
5.3、删除子图
5.4、对于更新后的
5.5、将c根据子图的面积降序排列;遍历每一个
5.6、删除子图
5.7、对于更新后的
5.8、输出房间语义信息到每一个内部圆节点。
本发明的有益效果是:该方法中房间被定义为墙面包围的有界空间,房间是最基本的室内自由空间类型,实现房间语义分割关键是室内自由空间的内在结构表达和关联。基于内部圆的室内三维空间表达,实现了建筑内部空间,即室内自由空间的表达,可以有效描述室内空间的连通特性。由于室内自由空间受到室内占据空间的隔离和约束,基于内部圆填充的每个房间呈现出不同的聚类,因此可以实现房间的分割。同时,非相交内部圆相互之间紧密排列,相邻的内部圆相切,形成了一种带权重无向邻接图,可以表达室内空间的拓扑结构。本发明可以实现基于移动激光扫描快速构建室内房间语义和拓扑网络。
附图说明
图1为本发明的技术流程示意图;
图2为本发明的占用概率栅格地图距离变换和内部圆填充示意图;
图3为本发明的内自由空间及对应的内部圆邻接示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明了,下面通过附图及实施例,对本发明进行进一步详细说明。但是应该理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限制本发明的范围。
除非另有定义,本文所使用的所有的技术术语和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同,本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
如图1、图2和图3所示,本发明提供一种基于内部圆和邻接图的房间分割方法,适用于机器人领域、建筑工程领域建筑室内环境制图过程中自动化房间语义分割。
步骤一:距离变换,利用激光扫描得到二维占用概率栅格地图,其中,占用栅格为每个单元s存储了被障碍物占用的概率
步骤二:内部圆填充,使用内部圆填充室内自由空间,构建室内自由空间的内部圆逼近;
2.1对给定的室内激光扫描点云p,根据其占用的空间范围细分为网格,得到一系列像素
2.2为尽可能减少节点个数,保证每次填充的内部圆面积最大,首先选择距离变换值最大的像素为圆心,最大近邻距离为半径进行填充;设该像元中心为
2.3接着对未被内部圆填充区域进行距离变换值更新。对比未被填充区域的像素中心距离最近邻点的距离db与像素中心到填充圆边界的距离ds,更新该像素的距离变换值
2.4从距离变换更新后的填充圆外部像素集合中选取最大近邻距离的像素中心作为新的填充圆圆心,填充新的内部圆。由于每次选择的是最近点距离值最大的像素,每次填充之后只会影响该填充圆2倍半径区域的距离变换值,因此可以通过限定搜索区域为当前填充圆2倍半径区域来提高距离变换更新效率。
2.5依次迭代,直至所有像素都被填充完毕,得到非相交填充内部圆集合
步骤三:拓扑邻接图构建,利用带权重无向图构建内部圆之间的关联关系。根据内部圆之间的邻接关系,构建内部圆的无向图表达,无向图的每个节点对应着一个内部圆,无向图的边为相切的内部圆切点的初次距离变换值;
3.1初始化邻接图g<v,e>;所有内部圆的中心点作为邻接图的节点v;根据所有内部圆的中心点构成集合p,对点集p构建kd树。
3.2遍历每一个内部圆的圆心点p,搜索其2r半径范围的近邻圆心点。
3.3判断近邻圆
3.4依次迭代,直至所有内部圆的圆心点遍历完毕。
步骤四:连通子图分割,基于规则对无向图边进行增加和删除,实现图的连通域分割;
4.1设置门的宽度阈值
4.2遍历邻接图g中的每一条边e,当边e连接的两个内部圆的面积足够大且相邻两个内部圆的权重小于给定阈值
4.3遍历每一个邻接图g中每一个内接圆节点v,如果其相邻的两个内部圆面积足够大,且中心点的距离变换值大于
4.3对图g’进行连通子图分割,得到连通域集合
步骤五:连通子图合并与房间语义赋值,通过对内部圆聚类来得到室内自由空间(即房间)的层次结构。
5.1遍历连通域集合c每一个连通子图
5.2遍历每一个,判断与其它连通子图
5.3删除子图
5.4对于更新后的
5.5将c根据子图的面积降序排列;遍历每一个
5.6删除子图
5.7对于更新后的
5.8输出房间语义信息到每一个内部圆节点。
实施例:
本发明实现的基于内部圆和邻接图的房间分割方法,包含以下步骤:
步骤一:利用二维激光扫描得到的二维占用概率栅格地图(如图3(a))进行距离变换,计算每个像素的最近邻占用点的距离值(如图3(b));
步骤二:内部圆填充,如图3(c)所示,使用内部圆填充室内自由空间,构建室内自由空间的内部圆逼近;
步骤三:拓扑邻接图构建,如图3(d)所示,利用带权重无向图构建内部圆之间的关联关系该方法;根据内部圆之间的邻接关系,构建内部圆的无向图表达,无向图的每个节点对应着一个内部圆,无向图的边为相切的内部圆切点的初次距离变换值;
步骤四:连通子图分割,基于规则对无向图边进行增加和删除,实现图的连通域分割;
步骤五:连通子图合并与房间语义赋值,如图3(e)所示,通过对内部圆聚类来得到室内自由空间(即房间)的空间结构。
该方法中房间被定义为墙面包围的有界空间,房间是最基本的室内自由空间类型,实现房间语义分割关键是室内自由空间的内在结构表达和关联。基于内部圆的室内三维空间表达,实现了建筑内部空间,即室内自由空间的表达,可以有效描述室内空间的连通特性。由于室内自由空间受到室内占据空间的隔离和约束,基于内部圆填充的每个房间呈现出不同的聚类,因此可以实现房间的分割。同时,非相交内部圆相互之间紧密排列,相邻的内部圆相切,形成了一种带权重无向邻接图,可以表达室内空间的拓扑结构。本发明可以实现基于移动激光扫描快速构建室内房间语义和拓扑网络。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换或改进等,均应包含在本发明的保护范围之内。