CN113592976B - 地图数据的处理方法、装置、家用电器和可读存储介质 - Google Patents
地图数据的处理方法、装置、家用电器和可读存储介质 Download PDFInfo
- Publication number
- CN113592976B CN113592976B CN202110848175.8A CN202110848175A CN113592976B CN 113592976 B CN113592976 B CN 113592976B CN 202110848175 A CN202110848175 A CN 202110848175A CN 113592976 B CN113592976 B CN 113592976B
- Authority
- CN
- China
- Prior art keywords
- map data
- wall
- point
- data
- building
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 17
- 238000003860 storage Methods 0.000 title claims abstract description 9
- 238000000034 method Methods 0.000 claims abstract description 74
- 238000012545 processing Methods 0.000 claims abstract description 51
- 238000001914 filtration Methods 0.000 claims abstract description 34
- 238000000605 extraction Methods 0.000 claims description 28
- 238000004140 cleaning Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 abstract description 35
- 230000000694 effects Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 15
- 238000001514 detection method Methods 0.000 description 9
- 238000005259 measurement Methods 0.000 description 9
- 230000001788 irregular Effects 0.000 description 8
- 238000012856 packing Methods 0.000 description 6
- 230000002093 peripheral effect Effects 0.000 description 6
- 230000007613 environmental effect Effects 0.000 description 5
- 238000003384 imaging method Methods 0.000 description 4
- 230000000877 morphologic effect Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/206—Drawing of charts or graphs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Remote Sensing (AREA)
- Quality & Reliability (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明提供了一种地图数据的处理方法、装置、家用电器和可读存储介质,地图数据的处理方法,包括:接收地图数据,对地图数据进行分类处理,得到墙体端点;根据墙体端点生成二维点云图,对二维点云图进行轮廓提取,并对提取结果进行轮廓连接,以得到地图数据对应的建筑物外轮廓信息;根据建筑物外轮廓信息对地图数据进行过滤;对过滤后的地图数据中的墙体线段进行连接,以得到内部墙体框架信息;将建筑物外轮廓信息和内部墙体框架信息进行组合,以得到建筑物的框架信息,实现了基于二维点云图来构建建筑物的框架信息,在确保了识别精度的同时,降低了计算的复杂度,减少了数据处理的计算量,便于部署在小型化设备上。
Description
技术领域
本发明涉及数据处理技术领域,具体而言,涉及一种地图数据的处理方法、装置、家用电器和可读存储介质。
背景技术
在机器人领域,地图信息是一种重要的环境特征来源,如何在机器人创建完地图后对地图进行二次开发和处理并提取有用信息成为了机器人感知的主要方向,其中,对地图的理解影响着后续机器人的控制,规划以及动态物体的追踪等内容。同样的,如何将机器人建立好的地图信息进行处理后变为可供生产或生活中使用的数据也是一个值得探索的问题。
本领域的技术人员发现,现有建筑物室内布局蓝图都采用三维点云或多传感器(多视角,彩色图片等)信息来捕捉更多维度的信息,用增加特征的方法实现基于点云的精确的建筑物框架提取,然上述方案存在数据处理量大,无法在小型化的产品上部署,同时,现有方案落实到实际产品时需要的成本比较高。
发明内容
本发明旨在至少解决现有技术或相关技术中存在的技术问题之一。
为此,本发明的第一个方面在于,提供了一种地图数据的处理方法。
本发明的第二个方面在于,提供了一种地图数据的处理装置。
本发明的第三个方面在于,提供了一种家用电器。
本发明的第四个方面在于,提供了一种可读存储介质。
有鉴于此,根据本发明的第一个方面,本发明提供了一种地图数据的处理方法,包括:接收地图数据,对地图数据进行分类处理,得到墙体端点;根据墙体端点生成二维点云图,对二维点云图进行轮廓提取,并对提取结果进行轮廓连接,以得到地图数据对应的建筑物外轮廓信息;根据建筑物外轮廓信息对地图数据进行过滤;对过滤后的地图数据中的墙体线段进行连接,以得到内部墙体框架信息;将建筑物外轮廓信息和内部墙体框架信息进行组合,以得到建筑物的框架信息。
本申请的技术方案采用激光测距传感器,用来测量环境距离,通过将测距结果汇总形成完整的二维激光地图,以便进行建筑物的框架信息的构建。
本领域的技术人员发现,采用激光测距传感器来对建筑物的框架信息进行重建时,室内环境中如家具,杂物等不规则物体会表现为较短线段,基于此,可以应用形态学的方法将上述家具,杂物等不规则物体滤除掉,利用形态学和图像学的结合,对以墙体端点生成的二维点云图进行轮廓提取,以便实现对建筑物中的噪声墙体线段的过滤,再经由对提取结果进行轮廓连接,以完成建筑物外轮廓信息的重建。
此外,利用重建的建筑物外轮廓信息对地图数据的过滤作用,将地图数据中的有关建筑物外轮廓信息的二维点云图滤除掉,进而剩下有关建筑物的内部墙体框架信息的地图数据,通过对过滤后的地图数据中的墙体线段进行连接,以便对内部墙体框架信息的重建。
在获取得到建筑物外轮廓信息和内部墙体框架信息之后,对获取得到的上述两种信息进行组合,以便得到构建的建筑物的框架信息。
采用上述技术方案,实现了基于二维点云图来构建建筑物的框架信息,在确保了识别精度的同时,降低了计算的复杂度,减少了数据处理的计算量,便于部署在小型化设备上。
此外,在上述技术方案中,需要的计算量较现有技术方案有所降低,故有利于降低地图数据处理所需要的成本,同时,也便于降低应用该地图数据的处理方案的产品或设备的成本。
另外,本申请所请求保护的地图数据的处理方法,还具有以下附加技术特征。
在上述技术方案中,对地图数据进行分类处理,得到墙体端点之前,还包括:采用横向滤波器与纵向滤波器分别对地图数据进行滤波处理,以得到对应的第一掩码数据和第二掩码数据;对第一掩码数据和第二掩码数据取或,并以取或结果作为过滤器对地图数据进行清洗。
在上述技术方案中,在对地图数据进行分类前,还需要对地图数据进行清洗,通过对地图数据进行清洗,以便将建筑物中存在的较小的离散物体所对应的数据清洗掉,以便降低该部分数据对建筑物的框架信息重建所产生的影响。
在其中一个技术方案中,对建筑物的框架信息重建所产生的影响可以是增加计算量,如增加分类处理的计算量,还可以是影响墙体端点的计算精度,如由于上述离散物体的存在,会致使墙体端点出现偏差,最终造成建筑物外轮廓信息的偏差。
具体地,本申请的技术方案采用横向滤波器和纵向滤波器,其中,横向滤波器,即仅能够透过横向线段,对于纵向线段具有滤除的作用,通过采用横向滤波器来对地图数据进行滤除,以得到第一掩码数据;纵向滤波器仅能够透过纵向线段,对于横向线段具有滤除的作用,得到过滤后的第二掩码数据,上述步骤属于初步过滤。
将第一掩码数据和第二掩码数据取或,并以取或结果作为过滤器对地图数据进行清洗,以实现地图数据的重构,通过对地图数据的重构,将原始地图数据中的横向小线段和/或纵向小线段滤除掉,以便在后续的处理过程中,可以减少分类所需要处理的数据量,为降低了计算的复杂度,减少了数据处理的计算量,便于部署在小型化设备上提供了基础。
在其中一个技术方案中,横向滤波器与纵向滤波器可以根据实际使用场景进行调整,如根据建筑物外轮廓的形状调整横向滤波器与纵向滤波器之间的夹角,以便对弧形墙体进行识别,从而满足更多的适用场景。
在上述任一技术方案中,对地图数据进行分类处理,得到墙体端点,包括:以地图数据中第一数据对应的非空位置作为基准点,沿预设方向进行邻域搜索;基于基准点的预设方向的邻域为非墙体空间,则标记第一数据为墙体端点;基于基准点的预设方向的邻域为墙体空间,以基准点的预设方向中的邻域为墙体空间的第二数据作为更新后的基准点,直至遍历地图数据中的所有数据或地图数据的边界,以得到墙体端点。
在该技术方案中,实现了对墙体端点的确定,由于清洗后的地图数据中形成的离散规则墙体线段可以通过简单的深度优化遍历算法进行聚类,因此,通过地图数据进行聚类即可实现上述离散规则的墙体线段的提取。
具体地,地图数据是基于激光测距传感器等设备测定得到的,若测定点位置的周围没有墙体,则反映到测定的数据上来说,周边位置没有线段;若测定点位置的周围有墙体,则反映到测定的数据上来说,周边位置有线段或离散的点。
基于此,可以知悉的是,地图数据中的数据之间具有位置关系,在地图数据中选取一个数据,该数据在地图数据中具有一个确定的位置,也即第一数据对应的位置,通过进行邻域搜索,可以实现墙体边角位置的搜索。
具体地,若在某一数据对应的非空位置处,其预设方向的邻域为非墙体空间,也即没有墙体,则认定该数据对应的位置处属于墙体的角落位置,而对于检测结果为否,即其预设方向的邻域为墙体空间,显然,其并非为最边角的位置,此时,通过重新指定基准点,以便进一步判定基准点是否为墙体端点,在此过程中,可以实现了建筑物的墙体端点的确定,确保了得到的墙体端点的准确性。
在上述任一技术方案中,预设方向可以是正上、正下、正左和正右,也即十字方向上进行邻域查找,即十字聚类。
通过限定只有地图数据中的所有数据或地图数据的边界都被遍历后来才能得到最终的墙体端点,以避免建筑物中存在较大尺寸的房间或物品对检测结果的影响,通过上述限定确保了检测结果的准确性。
在上述任一技术方案中,分类处理的次数大于或等于两次。
在该技术方案中,具体限定了分类处理的次数为至少两次,通过上述限定,确保了线段的过滤效果,以便在后期凸多边形提取时,可以降低数据处理的量,为部署在小型化设备提供了基础。
在上述任一技术方案中,在存在多次分类处理的情况下,第二次、第三次或第N次时,滤芯核较第一次分类处理时的滤芯核要大,以便提高其过滤效果。
在上述任一技术方案中,N为大于或等于4的正整数。
在上述技术方案中,分类处理可以是聚类处理,即上文中所涉及到的十字聚类。
在聚类结束之后,根据聚类后的得到的墙体端点生成二维点云图,以便根据二维点云图进行建筑物外轮廓信息的提取。
在上述任一技术方案中,对二维点云图进行轮廓提取,并对提取结果进行轮廓连接,以得到地图数据对应的建筑物外轮廓信息,具体包括:对二维点云图的外轮廓进行凸多边形提取;对提取后的凸多边形进行直角边连接,以得到地图数据对应的建筑物外轮廓信息。
通常情况下,建筑物外围的墙体结构能够表现建筑物的轮廓,通过凸多边形提取可以实现建筑物的轮廓的概括,以便确定得到的建筑物外轮廓信息符合实际情况。
具体地,可以采用quickHull方法从二维点云图中提取凸多边形,以便确保提取出来的凸多边形能够准确表征出建筑物的轮廓。
在该技术方案中,quickHull方法,即快包法,即选取最左、最右、最上和最下的点,将它们组合起来形成一个凸四边形(或三角形),这个四边形内的点必定不在凸包上,然后将其余的点按最接近的边分成四部分,再进行快包法提取。
在其中一个技术方案中,考虑到实际情况下,建筑物的墙体是方方正正的,而提取得到的凸多边形不具有上述特征,为了确保确定得到的建筑物外轮廓信息与实际的建筑物轮廓一致,本申请的技术方案限定了对提取后的凸多边形采用直角边连接的方式连接,通过采用直角边连接,以便确保得到的建筑物轮廓是方方正正的,以此来提高计算结果与实际场景的匹配程度。
在上述任一技术方案中,对提取后的凸多边形进行直角边连接,具体包括:确定凸多边形端点中的待连接起始端点和待连接终止端点的坐标数据,其中,待连接起始端点和待连接终止端点为凸多边形端点中沿预设排序方向排序的两个端点;根据坐标数据确定待选锚点坐标数据;确定凸多边形的端点点云质心;根据端点点云质心、待选锚点坐标数据确定位于凸多边形之外的目标锚点;将待连接起始端点、待连接终止端点和目标锚点连接。
在该技术方案中,限定了直角边连接的具体实现方式,首先,在提取的凸多边形端点上选取两个端点,即墙体端点,也即上文中的待连接起始端点、待连接终止端点,其中,该两点可以是相邻最近的两个点,就上文所记载的那样,由于建筑物轮廓通常是方方正正的,若待连接起始端点和待连接终止端点直接连接,可能会造成得到的建筑物的轮廓不是方方正正的,因此,在将待连接起始端点、待连接终止端点连接起来的时候,需要调整连接策略。
在其中一个技术方案中,预设排序方向可以是顺时针排序、也可以是逆时针排序。
在其中一个技术方案中,顺时针排序、逆时针排序是基于端点点云质心为参考所给出的排序方式。
在其中一个技术方案中,坐标数据可以是基于二维平面坐标轴给出的,具体地,地图数据所指示的墙体与二维平面坐标轴中的X轴或Y轴平行,以便基于二维平面坐标轴中的X轴或Y轴来确定坐标数据。
由于基于二维平面坐标轴中的X轴或Y轴来确定坐标数据,因此,可以限定其中一个坐标轴的数据为零,进而降低计算的复杂度。
其次,待选锚点坐标数据可以根据坐标数据来确定,具体地,在二维坐标系下,第一墙体端点的坐标数据为A(Ax,Ay)和第二墙体端点B(Bx,By),则与第一墙体端点和第二墙体端点能够进行直角连接的点有且仅有C(Ax,By)与D(Bx,Ay),也即待选锚点坐标数据,就上位所记载的那样,通常情况下,建筑物的轮廓是凸多边形的,因此,只需要确定C(Ax,By)与D(Bx,Ay)中位于多边形之外的点,即可实现目标锚点的确定。
在确定目标锚点之后,按照预设排序方向,将第一墙体端点、第二墙体端点以及目标锚点连接。
由于第一墙体端点以及第二墙体端点是在凸多边形上选取两个端点,其可能无法完成建筑物轮廓的表达,通过遍历所有的墙体端点,以便将所有的墙体端点之间使用直角边连接,以实现建筑物的轮廓的表达。
在上述任一技术方案中,基于point-in-polygon方法确定目标锚点。
在上述任一技术方案中,确定凸多边形的端点点云质心,包括:确定所有凸多边形端点的坐标数据的平均值;根据平均值确定端点点云质心。
在该技术方案中,在获取得到凸多边形后,对凸多边形端点,也即与凸多边形重合的墙体端点的坐标数据之后,计算所有墙体端点的坐标数据在二维平面坐标轴中的X轴或Y轴的分量的平均值,以便得到端点点云质心的坐标数据。
举例来说,凸多边形端点有第一墙体端点的坐标数据为A(Ax,Ay)、第二墙体端点B(Bx,By)、第三墙体端点E(Ex,Ey)和第四墙体端点F(Fx,Fy),则端点点云质心对应的坐标数据为((Ax+Bx+Ex+Fx)/4,(Ay+By+Ey+Fy)/4)。
在确定端点点云质心对应的坐标数据之后,基于point-in-polygon方法确定判定C(Ax,By)与D(Bx,Ay)中的哪个位于凸多边形内,哪个位于凸多边形外,将位于凸多边形外的待选锚点坐标数据作为目标锚点,以便进行连接。
在上述任一技术方案中,对过滤后的地图数据中的墙体线段进行连接,以得到内部墙体框架信息,具体包括:根据过滤后的地图数据中的所有墙体线段对应的端点建立k-d树;根据k-d树,查询每一选定端点的邻近点,将选定端点与邻近点进行连接,直至遍历所有墙体线段对应的端点,以得到内部墙体框架信息。
在该技术方案中,考虑到内部墙体框架中属于同一个物体的线段之间的距离比较近,通过构建k-d树,其中,该k-d树对应所有墙体线段所对应的端点,以便确定最近的邻近点。
其中,k-d树(即k-dimensional树的简称)是一种对k维空间中实例点进行存储以便对其进行快速检索的树形数据结构,主要应用于多维空间关键数据的搜索,通过构建k-d树,简化了邻近点的确定过程,便于以很快的速度实现内部墙体框架信息的重建。
通过限定遍历所有的墙体线段所对应的端点,以便确保所有的内部墙体框架信息都能得以绘制,确保了内部墙体框架信息的准确性。
在上述任一技术方案中,将选定端点与邻近点进行连接之前,还包括:确定邻近点或邻近点所在的线段的连接情况;基于邻近点或邻近点所在的线段未被连接,则根据选定端点与邻近点建立连接。
在上述任一技术方案中,基于邻近点或邻近点所在的线段已被连接,跳过选定端点。
在该技术方案中,在将选定端点和邻近点连接起来之前,还需要进一步判断邻近点是否已经被连接过,若未被连接,则将其进行连接,以便实现内部墙体框架信息的绘制,而对于已经被连接过的情况下,无需再次连接,此时,只需要跳过该节点。
在该技术方案中,通过限定在将选定端点与邻近点进行连接之前判断邻近点以及邻近点所在的线段是否已经被连接过,以避免选定端点与邻近点出现重复连接的情况出现,由于存在连接状态的判断,有效降低了数据的处理量。
根据本发明的第二个方面,本发明提供了一种地图数据的处理装置,包括:分类模块,用于接收地图数据,对地图数据进行分类处理,得到墙体端点;第一连接模块,用于根据墙体端点生成二维点云图,对二维点云图进行轮廓提取,并对提取结果进行轮廓连接,以得到地图数据对应的建筑物外轮廓信息;过滤模块,用于根据建筑物外轮廓信息对地图数据进行过滤;第二连接模块,用于对过滤后的地图数据中的墙体线段进行连接,以得到内部墙体框架信息;组合模块,用于将建筑物外轮廓信息和内部墙体框架信息进行组合,以得到建筑物的框架信息。
在上述任一技术方案中,对地图数据进行分类处理,得到墙体端点之前,分类模块还用于:采用横向滤波器与纵向滤波器分别对地图数据进行滤波处理,以得到对应的第一掩码数据和第二掩码数据;对第一掩码数据和第二掩码数据取或,并以取或结果作为过滤器对地图数据进行清洗。
在上述任一技术方案中,分类模块具体用于以地图数据中第一数据对应的非空位置作为基准点,沿预设方向进行邻域搜索;基于基准点的预设方向的邻域为非墙体空间,则标记第一数据为墙体端点;基于基准点的预设方向的邻域为墙体空间,以基准点的预设方向中的邻域为墙体空间的第二数据作为更新后的基准点,直至遍历地图数据中的所有数据或地图数据的边界,以得到墙体端点。
在上述任一技术方案中,分类处理的次数大于或等于两次。
在上述任一技术方案中,第一连接模块具体用于对二维点云图的外轮廓进行凸多边形提取;对提取后的凸多边形进行直角边连接,以得到地图数据对应的建筑物外轮廓信息。
在上述任一技术方案中,第一连接模块具体用于确定凸多边形端点中的待连接起始端点和待连接终止端点的坐标数据;根据坐标数据确定待选锚点坐标数据;确定凸多边形的端点点云质心;根据端点点云质心、待选锚点坐标数据确定位于凸多边形之外的目标锚点;将待连接起始端点、待连接终止端点和目标锚点连接。
在上述任一技术方案中,基于point-in-polygon方法确定目标锚点。
在上述任一技术方案中,第一连接模块具体用于确定所有凸多边形端点的坐标数据的平均值;根据平均值确定端点点云质心。
在上述任一技术方案中,第二连接模块具体用于根据过滤后的地图数据中的所有墙体线段对应的端点建立k-d树;根据k-d树,查询每一选定端点的邻近点,将选定端点与邻近点进行连接,直至遍历所有墙体线段对应的端点,以得到内部墙体框架信息。
在上述任一技术方案中,将选定端点与邻近点进行连接之前,第二连接模块还用于:确定邻近点或邻近点所在的线段的连接情况;基于邻近点或邻近点所在的线段未被连接,则根据选定端点与邻近点建立连接。
在上述任一技术方案中,第二连接模块还用于:基于邻近点或邻近点所在的线段已被连接,跳过选定端点。
根据本发明的第三个方面,本发明提供了一种家用电器,包括:存储器,存储器上存储有计算机程序;控制器,控制器执行计算机程序实现如上述中任一项的地图数据的处理方法的步骤。
在上述任一技术方案中,家用电器为清扫机器人。
根据本发明的第四个方面,本发明提供了一种可读存储介质,其上存储有程序或指令,程序或指令被处理器执行时实现如上述中任一项的地图数据的处理方法的步骤。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1示出了本发明实施例中的地图数据的处理方法的流程示意图;
图2示出了本发明实施例中的对接收的地图数据分类处理,得到墙体端点的流程示意图;
图3示出了本发明实施例中对提取后得到的凸多边形进行直角边连接的流程示意图;
图4示出了本发明实施例中对过滤后的地图数据中墙体线段进行连接,得到内部墙体框架信息的流程示意图;
图5示出了本发明实施例中地图数据的处理装置的示意框图之一;
图6示出了本发明实施例中地图数据的处理装置的示意框图之二;
图7示出了本发明实施例中二维激光地图的示意图;
图8示出了本发明实施例中第一掩码数据的示意图;
图9示出了本发明实施例中第二掩码数据的示意图;
图10示出了本发明实施例中实现地图数据的清洗的示意图;
图11示出了本发明实施例中连续墙体的示意图;
图12示出了本发明实施例中墙体在掩码中的示意图;
图13示出了本发明实施例中墙体端点以及线段的示意图;
图14示出了本发明实施例中分类处理的次数为两次时的墙体端点和凸多边形的端点示意图;
图15示出了本发明实施例中目标锚点、端点点云质心以及墙体端点的示意图;
图16示出了本发明实施例中目标锚点确定的示意图;
图17示出了本发明实施例中选定端点与邻近点直角边连接的示意图之一;
图18示出了本发明实施例中选定端点与邻近点直角边连接的示意图之二;
图19示出了本发明实施例中确定墙体端点的示意图。
具体实施方式
为了能够更清楚地理解本发明的上述方面、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
实施例一
如图1所示,根据本发明的第一个方面,本发明提供了一种地图数据的处理方法,包括:
步骤102,对接收的地图数据分类处理,得到墙体端点;
步骤104,根据墙体端点绘制二维点云图,以便对二维点云图进行轮廓提取;
步骤106,对提取结果的轮廓进行连接,以得到建筑物外轮廓信息;
步骤108,将地图数据中的建筑物外轮廓信息过滤;
步骤110,对过滤后的地图数据中墙体线段进行连接,得到内部墙体框架信息;
步骤112,根据建筑物外轮廓信息以及内部墙体框架信息得到建筑物的框架信息。
本申请的实施例采用激光测距传感器,用来测量环境距离,通过将测距结果汇总形成完整的二维激光地图,以便进行建筑物的框架信息的构建。
本领域的技术人员发现,采用激光测距传感器来对建筑物的框架信息进行重建时,室内环境中如家具,杂物等不规则物体会表现为较短线段,基于此,可以应用形态学的方法将上述家具,杂物等不规则物体滤除掉,利用形态学和图像学的结合,对以墙体端点生成的二维点云图进行轮廓提取,以便实现对建筑物中的噪声墙体线段的过滤,再经由对提取结果进行轮廓连接,以完成建筑物外轮廓信息的重建。
此外,利用重建的建筑物外轮廓信息对地图数据的过滤作用,将地图数据中的有关建筑物外轮廓信息的二维点云图滤除掉,进而剩下有关建筑物的内部墙体框架信息的地图数据,通过对过滤后的地图数据中的墙体线段进行连接,以便对内部墙体框架信息的重建。
在获取得到建筑物外轮廓信息和内部墙体框架信息之后,对获取得到的上述两种信息进行组合,以便得到构建的建筑物的框架信息。
采用上述实施例,实现了基于二维点云图来构建建筑物的框架信息,在确保了识别精度的同时,降低了计算的复杂度,减少了数据处理的计算量,便于部署在小型化设备上。
此外,在上述实施例中,需要的计算量较现有实施例有所降低,故有利于降低地图数据处理所需要的成本,同时,也便于降低应用该地图数据的处理方案的产品或设备的成本。
实施例二
在上述实施例中,对地图数据分类处理之前,还包括:采用横向滤波器对地图数据进行滤波,得到第一掩码数据;采用纵向滤波器对地图数据进行滤波,得到第二掩码数据;对第一掩码数据和第二掩码数据取或,并以取或结果作为过滤器对地图数据进行清洗。
在上述实施例中,在对地图数据进行分类前,还需要对地图数据进行清洗,通过对地图数据进行清洗,以便将建筑物中存在的较小的离散物体所对应的数据清洗掉,以便降低该部分数据对建筑物的框架信息重建所产生的影响。
在其中一个实施例中,对建筑物的框架信息重建所产生的影响可以是增加计算量,如增加分类处理的计算量,还可以是影响墙体端点的计算精度,如由于上述离散物体的存在,会致使墙体端点出现偏差,最终造成建筑物外轮廓信息的偏差。
具体地,本申请的实施例采用横向滤波器和纵向滤波器,其中,横向滤波器,即仅能够透过横向线段,对于纵向线段具有滤除的作用,通过采用横向滤波器来对地图数据进行滤除,以得到第一掩码数据;纵向滤波器仅能够透过纵向线段,对于横向线段具有滤除的作用,得到过滤后的第二掩码数据,上述步骤属于初步过滤。
将第一掩码数据和第二掩码数据取或,并以取或结果作为过滤器对地图数据进行清洗,以实现地图数据的重构,通过对地图数据的重构,将原始地图数据中的横向小线段和/或纵向小线段滤除掉,以便在后续的处理过程中,可以减少分类所需要处理的数据量,为降低了计算的复杂度,减少了数据处理的计算量,便于部署在小型化设备上提供了基础。
实施例三
在上述任一实施例中,如图2所示,对接收的地图数据分类处理,得到墙体端点,包括:
步骤202,选取基准点,并沿预设方向执行邻域搜索;
步骤204,在基准点的预设方向的邻域是非墙体空间的情况下,将第一数据标记为墙体端点。
在基准点的预设方向的邻域是墙体空间的情况下,以基准点的预设方向中的邻域为墙体空间的第二数据作为更新后的基准点,并重复执行步骤202、步骤204的步骤,直至遍历所有数据或地图数据的边界,从而得到墙体端点。
其中,基准点为地图数据中的第一数据所对应的非空位置。
在该实施例中,实现了对墙体端点的确定,由于清洗后的地图数据中形成的离散规则墙体线段可以通过简单的深度优化遍历算法进行聚类,因此,通过地图数据进行聚类即可实现上述离散规则的墙体线段的提取。
具体地,地图数据是基于激光测距传感器等设备测定得到的,若测定点位置的周围没有墙体,则反映到测定的数据上来说,周边位置没有线段;若测定点位置的周围有墙体,则反映到测定的数据上来说,周边位置有线段或离散的点。
基于此,可以知悉的是,地图数据中的数据之间具有位置关系,在地图数据中选取一个数据,该数据在地图数据中具有一个确定的位置,也即第一数据对应的位置,通过进行邻域搜索,可以实现墙体边角位置的搜索。
具体地,若在某一数据对应的非空位置处,其预设方向的邻域为非墙体空间,也即没有墙体,则认定该数据对应的位置处属于墙体的角落位置,而对于检测结果为否,即其预设方向的邻域为墙体空间,显然,其并非为最边角的位置,此时,通过重新指定基准点,以便进一步判定基准点是否为墙体端点,在此过程中,可以实现了建筑物的墙体端点的确定,确保了得到的墙体端点的准确性。
在上述任一实施例中,预设方向可以是正上、正下、正左和正右,也即十字方向上进行邻域查找,即十字聚类。
通过限定只有地图数据中的所有数据或地图数据的边界都被遍历后来才能得到最终的墙体端点,以避免建筑物中存在较大尺寸的房间或物品对检测结果的影响,通过上述限定确保了检测结果的准确性。
在上述任一实施例中,分类处理的次数大于或等于两次。
在该实施例中,具体限定了分类处理的次数为至少两次,通过上述限定,确保了线段的过滤效果,以便在后期凸多边形提取时,可以降低数据处理的量,为部署在小型化设备提供了基础。
在上述任一实施例中,在存在多次分类处理的情况下,第二次、第三次或第N次时,滤芯核较第一次分类处理时的滤芯核要大,以便提高其过滤效果。
在上述任一实施例中,N为大于或等于4的正整数。
在上述实施例中,分类处理可以是聚类处理,即上文中所涉及到的十字聚类。
在聚类结束之后,根据聚类后的得到的墙体端点生成二维点云图,以便根据二维点云图进行建筑物外轮廓信息的提取。
实施例四
在上述任一实施例中,对二维点云图进行轮廓提取的具体方案是:对二维点云图进行凸多边形提取。
在其中一个实施例中,对提取结果的轮廓进行连接,以得到建筑物外轮廓信息,具体为:对提取后得到的凸多边形进行直角边连接,以得到建筑物外轮廓信息。
通常情况下,建筑物外围的墙体结构能够表现建筑物的轮廓,通过凸多边形提取可以实现建筑物的轮廓的概括,以便确定得到的建筑物外轮廓信息符合实际情况。
具体地,可以采用quickHull方法从二维点云图中提取凸多边形,以便确保提取出来的凸多边形能够准确表征出建筑物的轮廓。
在该实施例中,quickHull方法,即快包法,即选取最左、最右、最上和最下的点,将它们组合起来形成一个凸四边形(或三角形),这个四边形内的点必定不在凸包上,然后将其余的点按最接近的边分成四部分,再进行快包法提取。
在其中一个实施例中,考虑到实际情况下,建筑物的墙体是方方正正的,而提取得到的凸多边形不具有上述特征,为了确保确定得到的建筑物外轮廓信息与实际的建筑物轮廓一致,本申请的实施例限定了对提取后的凸多边形采用直角边连接的方式连接,通过采用直角边连接,以便确保得到的建筑物轮廓是方方正正的,以此来提高计算结果与实际场景的匹配程度。
实施例五
在上述任一实施例中,如图3所示,对提取后得到的凸多边形进行直角边连接,具体包括:
步骤302,确定凸多边形端点中的待连接起始端点的坐标数据、凸多边形端点中的待连接终止端点的坐标数据;
步骤304,根据坐标数据确定待选锚点坐标数据;
步骤306,确定凸多边形的端点点云质心;
步骤308,根据待选锚点坐标数据、端点点云质心确定目标锚点,其中,目标锚点在凸多边形的外侧;
步骤310,连接目标锚点、待连接起始端点和待连接终止端点。
其中,待连接起始端点和待连接终止端点是凸多边形端点中沿预设排序方向排序的两个端点。
在该实施例中,限定了直角边连接的具体实现方式,首先,在提取的凸多边形端点上选取两个端点,即墙体端点,也即上文中的待连接起始端点、待连接终止端点,其中,该两点可以是相邻最近的两个点,就上文所记载的那样,由于建筑物轮廓通常是方方正正的,若待连接起始端点和待连接终止端点直接连接,可能会造成得到的建筑物的轮廓不是方方正正的,因此,在将待连接起始端点和待连接终止端点连接起来的时候,需要调整连接策略。
在其中一个实施例中,预设排序方向可以是顺时针排序、也可以是逆时针排序。
在其中一个实施例中,顺时针排序、逆时针排序是基于端点点云质心为参考所给出的排序方式。
在其中一个实施例中,坐标数据可以是基于二维平面坐标轴给出的,具体地,地图数据所指示的墙体与二维平面坐标轴中的X轴或Y轴平行,以便基于二维平面坐标轴中的X轴或Y轴来确定坐标数据。
由于基于二维平面坐标轴中的X轴或Y轴来确定坐标数据,因此,可以限定其中一个坐标轴的数据为零,进而降低计算的复杂度。
其次,待选锚点坐标数据可以根据坐标数据来确定,具体地,在二维坐标系下,第一墙体端点的坐标数据为A(Ax,Ay)和第二墙体端点B(Bx,By),则与第一墙体端点和第二墙体端点能够进行直角连接的点有且仅有C(Ax,By)与D(Bx,Ay),也即待选锚点坐标数据,就上位所记载的那样,通常情况下,建筑物的轮廓是凸多边形的,因此,只需要确定C(Ax,By)与D(Bx,Ay)中位于多边形之外的点,即可实现目标锚点的确定。
在确定目标锚点之后,按照预设排序方向,将第一墙体端点、第二墙体端点以及目标锚点连接。
由于第一墙体端点以及第二墙体端点是在凸多边形上选取两个端点,其可能无法完成建筑物轮廓的表达,通过遍历所有的墙体端点,以便将所有的墙体端点之间使用直角边连接,以实现建筑物的轮廓的表达。
在上述任一实施例中,步骤308基于point-in-polygon方法来实现。
在上述任一实施例中,端点点云质心的确定过程包括:确定所有凸多边形端点坐标数据的平均值;其中,所有凸多边形端点坐标数据的平均值对应的点为端点点云质心。
在该实施例中,在获取得到凸多边形后,对凸多边形端点,也即与凸多边形重合的墙体端点的坐标数据之后,计算所有墙体端点的坐标数据在二维平面坐标轴中的X轴或Y轴的分量的平均值,以便得到端点点云质心的坐标数据。
举例来说,凸多边形端点有第一墙体端点的坐标数据为A(Ax,Ay)、第二墙体端点B(Bx,By)、第三墙体端点E(Ex,Ey)和第四墙体端点F(Fx,Fy),则端点点云质心对应的坐标数据为((Ax+Bx+Ex+Fx)/4,(Ay+By+Ey+Fy)/4)。
在确定端点点云质心对应的坐标数据之后,基于point-in-polygon方法确定判定C(Ax,By)与D(Bx,Ay)中的哪个位于凸多边形内,哪个位于凸多边形外,将位于凸多边形外的待选锚点坐标数据作为目标锚点,以便进行连接。
实施例六
在上述任一实施例中,如图4所示,对过滤后的地图数据中墙体线段进行连接,得到内部墙体框架信息,具体包括:
步骤402,建立k-d树,其中,k-d树是基于地图数据中除建筑物外轮廓信息之外所有墙体线段对应的端点所建立的;
步骤404,结合k-d树,确定每一选定端点对应的邻近点;
步骤406,将选定端点与邻近点直角边连接,直至所有墙体线段对应的端点都连接结束。
在该实施例中,考虑到内部墙体框架中属于同一个物体的线段之间的距离比较近,通过构建k-d树,其中,该k-d树对应所有墙体线段所对应的端点,以便确定最近的邻近点。
其中,k-d树(即k-dimensional树的简称)是一种对k维空间中实例点进行存储以便对其进行快速检索的树形数据结构,主要应用于多维空间关键数据的搜索,通过构建k-d树,简化了邻近点的确定过程,便于以很快的速度实现内部墙体框架信息的重建。
通过限定遍历所有的墙体线段所对应的端点,以便确保所有的内部墙体框架信息都能得以绘制,确保了内部墙体框架信息的准确性。
在上述任一实施例中,将选定端点与邻近点直角边连接之前,还包括:判断邻近点或邻近点所在的线段的连接情况是否处于连接;在邻近点或邻近点所在的线段处于未被连接的状态下,将选定端点与邻近点直角边连接。
在上述任一实施例中,在邻近点或邻近点所在的线段处于被连接的状态下,取消选定端点与邻近点直角边连接,并跳过该选定端点。在该实施例中,在将选定端点和邻近点连接起来之前,还需要进一步判断邻近点是否已经被连接过,若未被连接,则将其进行连接,以便实现内部墙体框架信息的绘制,而对于已经被连接过的情况下,无需再次连接,此时,只需要跳过该节点。
在该实施例中,通过限定在将选定端点与邻近点进行连接之前判断邻近点以及邻近点所在的线段是否已经被连接过,以避免选定端点与邻近点出现重复连接的情况出现,由于存在连接状态的判断,有效降低了数据的处理量。
在其中一个实施例中,基于并查集来实现邻近点是否已经被连接过的确定。
实施例七
在其中一个实施例中,如图5所示,提供了一种地图数据的处理装置500,包括:分类模块502,用于对接收的地图数据分类处理,得到墙体端点;第一连接模块504,用于根据墙体端点绘制二维点云图,以便对二维点云图进行轮廓提取,对提取结果的轮廓进行连接,以得到建筑物外轮廓信息;过滤模块506,用于根据建筑物外轮廓信息对地图数据进行过滤;第二连接模块508,用于对过滤后的地图数据中墙体线段进行连接,得到内部墙体框架信息;组合模块510,用于根据建筑物外轮廓信息以及内部墙体框架信息得到建筑物的框架信息。
如图7所示,本申请的实施例采用激光测距传感器,用来测量环境距离,通过将测距结果汇总形成完整的二维激光地图,以便进行建筑物的框架信息的构建。
本领域的技术人员发现,采用激光测距传感器来对建筑物的框架信息进行重建时,室内环境中如家具,杂物等不规则物体会表现为较短线段,基于此,可以应用形态学的方法将上述家具,杂物等不规则物体滤除掉,利用形态学和图像学的结合,对以墙体端点生成的二维点云图进行轮廓提取,以便实现对建筑物中的噪声墙体线段的过滤,再经由对提取结果进行轮廓连接,以完成建筑物外轮廓信息的重建。
此外,利用重建的建筑物外轮廓信息对地图数据的过滤作用,将地图数据中的有关建筑物外轮廓信息的二维点云图滤除掉,进而剩下有关建筑物的内部墙体框架信息的地图数据,通过对过滤后的地图数据中的墙体线段进行连接,以便对内部墙体框架信息的重建。
在获取得到建筑物外轮廓信息和内部墙体框架信息之后,对获取得到的上述两种信息进行组合,以便得到构建的建筑物的框架信息。
采用上述实施例,实现了基于二维点云图来构建建筑物的框架信息,在确保了识别精度的同时,降低了计算的复杂度,减少了数据处理的计算量,便于部署在小型化设备上。
此外,在上述实施例中,需要的计算量较现有实施例有所降低,故有利于降低地图数据处理所需要的成本,同时,也便于降低应用该地图数据的处理方案的产品或设备的成本。
在其中一个实施例中,地图数据的处理装置500可以变形为如图6所示的框图,具体地,分类模块502与第一连接模块504组成建筑物轮廓信息提取模块602,过滤模块506和第二连接模块508构成内部墙体框架信息提取模块604。
在上述任一技术方案中,如图8和图9所示,对地图数据分类处理之前,分类模块502还用于:如图8所示,采用横向滤波器对地图数据进行滤波,得到第一掩码数据;如图9所示,采用纵向滤波器对地图数据进行滤波,得到第二掩码数据;如图10所示,对第一掩码数据和第二掩码数据取或,并以取或结果作为过滤器对地图数据进行清洗。
在上述实施例中,在对地图数据进行分类前,还需要对地图数据进行清洗,通过对地图数据进行清洗,以便将建筑物中存在的较小的离散物体所对应的数据清洗掉,以便降低该部分数据对建筑物的框架信息重建所产生的影响。
在其中一个实施例中,对建筑物的框架信息重建所产生的影响可以是增加计算量,如增加分类处理的计算量,还可以是影响墙体端点的计算精度,如由于上述离散物体的存在,会致使墙体端点出现偏差,最终造成建筑物外轮廓信息的偏差。
具体地,本申请的实施例采用横向滤波器和纵向滤波器,其中,横向滤波器,即仅能够透过横向线段,对于纵向线段具有滤除的作用,通过采用横向滤波器来对地图数据进行滤除,以得到第一掩码数据;纵向滤波器仅能够透过纵向线段,对于横向线段具有滤除的作用,得到过滤后的第二掩码数据,上述步骤属于初步过滤。
将第一掩码数据和第二掩码数据取或,并以取或结果作为过滤器对地图数据进行清洗,以实现地图数据的重构,通过对地图数据的重构,将原始地图数据中的横向小线段和/或纵向小线段滤除掉,以便在后续的处理过程中,可以减少分类所需要处理的数据量,为降低了计算的复杂度,减少了数据处理的计算量,便于部署在小型化设备上提供了基础。
在其中一个实施例中,如图6所示,分类模块502中用于对地图数据的清洗的部分单独划分为地图预处理模块606。
在上述任一技术方案中,如图19所示,分类模块502具体用于选取基准点,并沿预设方向执行邻域搜索,其中,基准点为地图数据中的第一数据所对应的位置;在基准点的预设方向的邻域是非墙体空间的情况下,将第一数据标记为墙体端点;在基准点的预设方向的邻域是墙体空间的情况下,以基准点的预设方向中的邻域为墙体空间的第二数据作为更新后的基准点,并重复执行选取基准点至将第一数据标记为墙体端点的步骤,直至遍历所有数据或地图数据的边界,从而得到墙体端点。
在该实施例中,实现了对墙体端点的确定,由于清洗后的地图数据中形成的离散规则墙体线段可以通过简单的深度优化遍历算法进行聚类,因此,通过地图数据进行聚类即可实现上述离散规则的墙体线段的提取。
具体地,地图数据是基于激光测距传感器等设备测定得到的,若测定点位置的周围没有墙体,则反映到测定的数据上来说,周边位置没有线段;若测定点位置的周围有墙体,则反映到测定的数据上来说,周边位置有线段。
基于此,可以知悉的是,地图数据中的数据之间具有位置关系,在地图数据中选取一个数据,该数据在地图数据中具有一个确定的位置,也即第一数据对应的位置,通过进行邻域搜索,可以实现墙体边角位置的搜索。
具体地,若在某一数据对应的位置处,其预设方向的邻域为非墙体空间,也即没有墙体,则认定该数据对应的位置处属于墙体的角落位置,而对于检测结果为否,即其预设方向的邻域为墙体空间,显然,其并非为最边角的位置,此时,通过重新指定基准点,以便进一步判定基准点是否为墙体端点,在此过程中,可以实现了建筑物的墙体端点的确定,确保了得到的墙体端点的准确性。
在上述任一实施例中,预设方向可以是正上、正下、正左和正右,也即十字方向上进行邻域查找,即十字聚类。
通过限定只有地图数据中的所有数据或地图数据的边界都被遍历后来才能得到最终的墙体端点,以避免建筑物中存在较大尺寸的房间或物品对检测结果的影响,通过上述限定确保了检测结果的准确性。
在其中一个实施例中,如图11所示,根据墙体端点的数量可以确定连续墙体。
在其中一个实施例中,如图12所示,图12示出了墙体在掩码中的示意图,其中,标号1、2、3、4和5分别为不同的墙体。
在其中一个实施例中,如图13所示,墙体端点以及线段的示意图。
在上述任一技术方案中,分类处理的次数大于或等于两次。
在该实施例中,具体限定了分类处理的次数为至少两次,通过上述限定,确保了线段的过滤效果,以便在后期凸多边形提取时,可以降低数据处理的量,为部署在小型化设备提供了基础。
如图14所示,分类处理的次数为两次时的墙体端点和凸多边形端点示意图。
在上述任一实施例中,在存在多次分类处理的情况下,第二次、第三次或第N次时,滤芯核较第一次分类处理时的滤芯核要大,以便提高其过滤效果。
在上述任一实施例中,N为大于或等于4的正整数。
在上述实施例中,分类处理可以是聚类处理,即上文中所涉及到的十字聚类。
在聚类结束之后,根据聚类后的得到的墙体端点生成二维点云图,以便根据二维点云图进行建筑物外轮廓信息的提取。
在上述任一技术方案中,第一连接模块504具体用于对二维点云图的外轮廓进行凸多边形提取;对提取后得到的凸多边形进行直角边连接,以得到建筑物外轮廓信息。
通常情况下,建筑物外围的墙体结构能够表现建筑物的轮廓,通过凸多边形提取可以实现建筑物的轮廓的概括,以便确定得到的建筑物外轮廓信息符合实际情况。
具体地,可以采用quickHull方法从二维点云图中提取凸多边形,以便确保提取出来的凸多边形能够准确表征出建筑物的轮廓。
在该实施例中,quickHull方法,即快包法,即选取最左、最右、最上和最下的点,将它们组合起来形成一个凸四边形(或三角形),这个四边形内的点必定不在凸包上,然后将其余的点按最接近的边分成四部分,在进行快包法。
在其中一个实施例中,考虑到实际情况下,建筑物的墙体是方方正正的,而提取得到的凸多边形不具有上述特征,为了确保确定得到的建筑物外轮廓信息与实际的建筑物轮廓一致,本申请的实施例限定了对提取后的凸多边形采用直角边连接的方式连接,通过采用直角边连接,以便确保得到的建筑物轮廓是方方正正的,以此来提高计算结果与实际场景的匹配程度。
在上述任一技术方案中,第一连接模块504具体用于确定凸多边形端点中的待连接起始端点的坐标数据、凸多边形端点中的待连接终止端点的坐标数据;根据坐标数据确定待选锚点坐标数据;确定凸多边形的端点点云质心;根据待选锚点坐标数据、端点点云质心确定目标锚点,其中,目标锚点在凸多边形的外侧;连接目标锚点、待连接起始端点和待连接终止端点。
在其中一个实施例中,图15给出了目标锚点、端点点云质心以及墙体端点的示意图。
在该实施例中,限定了直角边连接的具体实现方式,首先,在提取的凸多边形上选取两个端点,即墙体端点,也即上文中的待连接起始端点、待连接终止端点,其中,该两点可以是相邻最近的两个点,就上文所记载的那样,由于建筑物轮廓通常是方方正正的,若待连接起始端点、待连接终止端点直接连接,可能会造成得到的建筑物的轮廓不是方方正正的,因此,在将待连接起始端点、待连接终止端点连接起来的时候,需要调整连接策略。
在其中一个实施例中,预设排序方向可以是顺时针排序、也可以是逆时针排序。
在其中一个实施例中,顺时针排序、逆时针排序是基于端点点云质心为参考所给出的排序方式。
在其中一个实施例中,坐标数据可以是基于二维平面坐标轴给出的,具体地,地图数据所指示的墙体与二维平面坐标轴中的X轴或Y轴平行,以便基于二维平面坐标轴中的X轴或Y轴来确定坐标数据。
由于基于二维平面坐标轴中的X轴或Y轴来确定坐标数据,因此,可以限定其中一个坐标轴的数据为零,进而降低计算的复杂度。
其次,待选锚点坐标数据可以根据坐标数据来确定,具体地,在二维坐标系下,第一墙体端点的坐标数据为A(Ax,Ay)和第二墙体端点B(Bx,By),则与第一墙体端点和第二墙体端点能够进行直角连接的点有且仅有C(Ax,By)与D(Bx,Ay),也即待选锚点坐标数据,就上位所记载的那样,通常情况下,建筑物的轮廓是凸多边形的,因此,只需要确定C(Ax,By)与D(Bx,Ay)中位于多边形之外的点,即可实现目标锚点的确定。
在确定目标锚点之后,按照预设排序方向,将第一墙体端点、第二墙体端点以及目标锚点连接。
由于第一墙体端点以及第二墙体端点是在凸多边形上选取两个端点,其可能无法完成建筑物轮廓的表达,通过遍历所有的墙体端点,以便将所有的墙体端点之间使用直角边连接,以实现建筑物的轮廓的表达。
在上述任一技术方案中,基于point-in-polygon方法确定目标锚点。
在上述任一技术方案中,第一连接模块504具体用于确定所有凸多边形端点坐标数据的平均值;其中,所有凸多边形端点坐标数据的平均值对应的点为端点点云质心。
在该实施例中,在获取得到凸多边形后,对凸多边形端点,也即与凸多边形重合的墙体端点的坐标数据之后,计算所有墙体端点的坐标数据在二维平面坐标轴中的X轴或Y轴的分量的平均值,以便得到端点点云质心的坐标数据。
举例来说,凸多边形端点有第一墙体端点的坐标数据为A(Ax,Ay)、第二墙体端点B(Bx,By)、第三墙体端点E(Ex,Ey)和第四墙体端点F(Fx,Fy),则端点点云质心对应的坐标数据为((Ax+Bx+Ex+Fx)/4,(Ay+By+Ey+Fy)/4)。
在确定端点点云质心对应的坐标数据之后,基于point-in-polygon方法确定判定C(Ax,By)与D(Bx,Ay)中的哪个位于凸多边形内,哪个位于凸多边形外,将位于凸多边形外的待选锚点坐标数据作为目标锚点,以便进行连接。
在上述任一技术方案中,具体地,如图16、图17和图18所示,第二连接模块508具体用于建立k-d树,其中,k-d树是基于地图数据中除建筑物外轮廓信息之外所有墙体线段对应的端点所建立的;结合k-d树,确定每一选定端点对应的邻近点;将选定端点与邻近点直角边连接,直至所有墙体线段对应的端点都连接结束。在该实施例中,考虑到内部墙体框架中属于同一个物体的线段之间的距离比较近,通过构建k-d树,其中,该k-d树对应所有墙体线段所对应的端点,以便确定最近的邻近点。
其中,k-d树(即k-dimensional树的简称)是一种对k维空间中实例点进行存储以便对其进行快速检索的树形数据结构,主要应用于多维空间关键数据的搜索,通过构建k-d树,简化了邻近点的确定过程,便于以很快的速度实现内部墙体框架信息的重建。
在其中一个实施例中,邻近点为k邻近点,其中,k≥3。
在其中一个实施例中,该直角连接与凸多边形连接部分类似,假设当前待连接端点为C和D,则对当前两个待连接的端点生成对应两个锚点R和S,如果当前锚点在墙体线段上(如S),则选择对侧位的另一个锚点(如R)。若当前待连接端点为A和B这种情况的话,锚点出均无墙体,则沿着当前待连接端点所在线段的延长线方向进行连接。这样的连接方式在保证不生成局部闭环的同时不破坏整体环境的空间结构,在最大范围内还原了建筑物的空间轮廓。
通过限定遍历所有的墙体线段所对应的端点,以便确保所有的内部墙体框架信息都能得以绘制,确保了内部墙体框架信息的准确性。
在上述任一技术方案中,将选定端点与邻近点进行连接之前,第二连接模块508还用于:判断邻近点或邻近点所在的线段的连接情况是否处于连接;在邻近点或邻近点所在的线段处于未被连接的状态下,将选定端点与邻近点直角边连接。
在上述任一技术方案中,第二连接模块508还用于:在邻近点或邻近点所在的线段处于被连接的状态下,取消选定端点与邻近点直角边连接,并跳过该选定端点。
在该实施例中,在将选定端点和邻近点连接起来之前,还需要进一步判断邻近点是否已经被连接过,若未被连接,则将其进行连接,以便实现内部墙体框架信息的绘制,而对于已经被连接过的情况下,无需再次连接,此时,只需要跳过该节点。
在该实施例中,通过限定在将选定端点与邻近点进行连接之前判断邻近点以及邻近点所在的线段是否已经被连接过,以避免选定端点与邻近点出现重复连接的情况出现,由于存在连接状态的判断,有效降低了数据的处理量。
在其中一个实施例中,基于并查集来实现邻近点是否已经被连接过的确定。
实施例八
在上述任一实施例中,提供了一种家用电器,包括:存储器,存储器上存储有计算机程序;控制器,控制器执行计算机程序实现如上述中任一项的地图数据的处理方法的步骤。
本申请的实施例中,提出了一种家用电器,其中,采用激光测距传感器,用来测量环境距离,通过将测距结果汇总形成完整的二维激光地图,以便进行建筑物的框架信息的构建。
本领域的技术人员发现,采用激光测距传感器来对建筑物的框架信息进行重建时,室内环境中如家具,杂物等不规则物体会表现为较短线段,基于此,可以应用形态学的方法将上述家具,杂物等不规则物体滤除掉,利用形态学和图像学的结合,对以墙体端点生成的二维点云图进行轮廓提取,以便实现对建筑物中的噪声墙体线段的过滤,再经由对提取结果进行轮廓连接,以完成建筑物外轮廓信息的重建。
此外,利用重建的建筑物外轮廓信息对地图数据的过滤作用,将地图数据中的有关建筑物外轮廓信息滤除掉,进而剩下有关建筑物的内部墙体框架信息的地图数据,通过对过滤后的地图数据中的墙体线段进行连接,以便对内部墙体框架信息的重建。
在获取得到建筑物外轮廓信息和内部墙体框架信息之后,对获取得到的上述两种信息进行组合,以便得到构建的建筑物的框架信息。
采用上述实施例,实现了基于二维点云图来构建建筑物的框架信息,在确保了识别精度的同时,降低了计算的复杂度,减少了数据处理的计算量,便于部署在小型化设备上。
此外,在上述实施例中,需要的计算量较现有实施例有所降低,故有利于降低地图数据处理所需要的成本,同时,也便于降低应用该地图数据的处理方案的产品或设备的成本。
在上述任一实施例中,家用电器为清扫机器人。
实施例九
在上述任一实施例中,提供了一种可读存储介质,其上存储有程序或指令,程序或指令被处理器执行时实现如上述中任一项的地图数据的处理方法的步骤。
本申请的实施例提出了一种可读存储介质,其上存储的地图数据的处理方法被执行时具有上述有益技术效果,在此,不再赘述。
在本发明的描述中,术语“多个”则指两个或两个以上,除非另有明确的限定,术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制;术语“连接”、“安装”、“固定”等均应做广义理解,例如,“连接”可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明的描述中,术语“一个实施例”、“一些实施例”、“具体实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或特点包含于本发明的至少一个实施例或示例中。在本发明中,对上述术语的示意性表述不一定指的是相同的实施例或实例。而且,描述的具体特征、结构、材料或特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (14)
1.一种地图数据的处理方法,其特征在于,包括:
接收地图数据,对所述地图数据进行分类处理,得到墙体端点;
根据所述墙体端点生成二维点云图,对所述二维点云图进行轮廓提取,并对提取结果进行轮廓连接,以得到所述地图数据对应的建筑物外轮廓信息;
根据所述建筑物外轮廓信息对所述地图数据进行过滤,以将所述地图数据中的所述建筑物外轮廓信息过滤;
对过滤后的地图数据中的墙体线段进行连接,以得到内部墙体框架信息;
将所述建筑物外轮廓信息和所述内部墙体框架信息进行组合,以得到所述建筑物的框架信息;
所述对所述地图数据进行分类处理,得到墙体端点,包括:
以地图数据中第一数据对应的非空位置作为基准点,沿预设方向进行邻域搜索;
基于所述基准点的预设方向的邻域为非墙体空间,则标记所述第一数据为墙体端点;
基于所述基准点的预设方向的邻域为墙体空间,以基准点的预设方向中的邻域为墙体空间的第二数据作为更新后的基准点,直至遍历所述地图数据中的所有数据或所述地图数据的边界,以得到所述墙体端点。
2.根据权利要求1所述的地图数据的处理方法,其特征在于,对所述地图数据进行分类处理,得到墙体端点之前,还包括:
采用横向滤波器与纵向滤波器分别对所述地图数据进行滤波处理,以得到对应的第一掩码数据和第二掩码数据;
对所述第一掩码数据和所述第二掩码数据取或,并以取或结果作为过滤器对所述地图数据进行清洗。
3.根据权利要求1所述的地图数据的处理方法,其特征在于,所述分类处理的次数大于或等于两次。
4.根据权利要求1所述的地图数据的处理方法,其特征在于,对所述二维点云图进行轮廓提取,并对提取结果进行轮廓连接,以得到所述地图数据对应的建筑物外轮廓信息,具体包括:
对所述二维点云图的外轮廓进行凸多边形提取;
对提取后的凸多边形进行直角边连接,以得到地图数据对应的建筑物外轮廓信息。
5.根据权利要求1至4中任一项所述的地图数据的处理方法,其特征在于,所述对提取后的凸多边形进行直角边连接,具体包括:
确定凸多边形端点中的待连接起始端点和待连接终止端点的坐标数据;
根据所述坐标数据确定待选锚点坐标数据;
确定所述凸多边形的端点点云质心;
根据所述端点点云质心、所述待选锚点坐标数据确定位于所述凸多边形之外的目标锚点;
将所述待连接起始端点、所述待连接终止端点和所述目标锚点连接。
6.根据权利要求5所述的地图数据的处理方法,其特征在于,
基于point-in-polygon方法确定所述目标锚点。
7.根据权利要求5所述的地图数据的处理方法,其特征在于,确定所述凸多边形的端点点云质心,包括:
确定所有凸多边形端点的坐标数据的平均值;
根据所述平均值确定所述端点点云质心。
8.根据权利要求1至4中任一项所述的地图数据的处理方法,其特征在于,对过滤后的地图数据中的墙体线段进行连接,以得到内部墙体框架信息,具体包括:
根据过滤后的地图数据中的所有墙体线段对应的端点建立k-d树;
根据所述k-d树,查询每一选定端点的邻近点,将所述选定端点与所述邻近点进行连接,直至遍历所有墙体线段对应的端点,以得到所述内部墙体框架信息。
9.根据权利要求8所述的地图数据的处理方法,其特征在于,将所述选定端点与所述邻近点进行连接之前,还包括:
确定所述邻近点或所述邻近点所在的线段的连接情况;
基于所述邻近点或所述邻近点所在的线段未被连接,则根据所述选定端点与所述邻近点建立连接。
10.根据权利要求9所述的地图数据的处理方法,其特征在于,基于所述邻近点或所述邻近点所在的线段已被连接,跳过所述选定端点。
11.一种地图数据的处理装置,其特征在于,包括:
分类模块,用于接收地图数据,对所述地图数据进行分类处理,得到墙体端点;
第一连接模块,用于根据所述墙体端点生成二维点云图,对所述二维点云图进行轮廓提取,并对提取结果进行轮廓连接,以得到所述地图数据对应的建筑物外轮廓信息;
过滤模块,用于根据所述建筑物外轮廓信息对所述地图数据进行过滤建筑物外轮廓信息;
第二连接模块,用于对过滤后的地图数据中的墙体线段进行连接,以得到内部墙体框架信息;
组合模块,用于将所述建筑物外轮廓信息和所述内部墙体框架信息进行组合,以得到所述建筑物的框架信息;
所述分类模块具体用于以所述地图数据中第一数据对应的非空位置作为基准点,沿预设方向进行邻域搜索;基于所述基准点的预设方向的邻域为非墙体空间,则标记所述第一数据为墙体端点;基于所述基准点的预设方向的邻域为墙体空间,以基准点的预设方向中的邻域为墙体空间的第二数据作为更新后的基准点,直至遍历所述地图数据中的所有数据或所述地图数据的边界,以得到所述墙体端点。
12.一种家用电器,其特征在于,包括:
存储器,所述存储器上存储有计算机程序;
控制器,所述控制器执行所述计算机程序实现如权利要求1至10中任一项所述的地图数据的处理方法的步骤。
13.根据权利要求12所述的家用电器,其特征在于,所述家用电器为清扫机器人。
14.一种可读存储介质,其上存储有程序或指令,其特征在于,所述程序或指令被处理器执行时实现如权利要求1至10中任一项所述的地图数据的处理方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110848175.8A CN113592976B (zh) | 2021-07-27 | 2021-07-27 | 地图数据的处理方法、装置、家用电器和可读存储介质 |
PCT/CN2022/076846 WO2023005195A1 (zh) | 2021-07-27 | 2022-02-18 | 地图数据的处理方法、装置、家用电器和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110848175.8A CN113592976B (zh) | 2021-07-27 | 2021-07-27 | 地图数据的处理方法、装置、家用电器和可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113592976A CN113592976A (zh) | 2021-11-02 |
CN113592976B true CN113592976B (zh) | 2024-06-25 |
Family
ID=78250617
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110848175.8A Active CN113592976B (zh) | 2021-07-27 | 2021-07-27 | 地图数据的处理方法、装置、家用电器和可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113592976B (zh) |
WO (1) | WO2023005195A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113592976B (zh) * | 2021-07-27 | 2024-06-25 | 美智纵横科技有限责任公司 | 地图数据的处理方法、装置、家用电器和可读存储介质 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9189862B2 (en) * | 2010-06-10 | 2015-11-17 | Autodesk, Inc. | Outline approximation for point cloud of building |
KR101182421B1 (ko) * | 2012-02-09 | 2012-09-12 | (주)씨투엘이큅먼트 | 실내 이미지 촬영 위치 정보 획득 시스템 및 방법 |
CN103148804B (zh) * | 2013-03-04 | 2015-05-20 | 清华大学 | 一种基于激光扫描的室内未知结构识别方法 |
US9025861B2 (en) * | 2013-04-09 | 2015-05-05 | Google Inc. | System and method for floorplan reconstruction and three-dimensional modeling |
CN110274602A (zh) * | 2018-03-15 | 2019-09-24 | 奥孛睿斯有限责任公司 | 室内地图自动构建方法及系统 |
KR20200015340A (ko) * | 2018-08-02 | 2020-02-12 | 주식회사 유진로봇 | 속성 블록에 따라 동적 주행하는 이동 로봇, 사용자 단말 장치, 및 지도 관리 서버 |
CN110197153B (zh) * | 2019-05-30 | 2023-05-02 | 南京维狸家智能科技有限公司 | 一种户型图中墙体自动识别方法 |
CN112052489B (zh) * | 2019-07-22 | 2022-07-08 | 江苏艾佳家居用品有限公司 | 一种户型图生成方法及系统 |
CN110888960B (zh) * | 2019-11-29 | 2021-06-08 | 深圳市银星智能科技股份有限公司 | 一种室内空间分区方法、装置及移动机器人 |
CN111308495B (zh) * | 2020-03-13 | 2022-03-08 | 厦门知本家科技有限公司 | 一种雷达测距生成室内户型3d数据的方法 |
CN111915730B (zh) * | 2020-07-20 | 2023-05-19 | 北京建筑大学 | 一种顾及语义从点云自动生成室内三维模型的方法及系统 |
CN112595258B (zh) * | 2020-11-23 | 2022-04-22 | 湖南航天智远科技有限公司 | 基于地面激光点云的地物轮廓提取方法 |
CN113592976B (zh) * | 2021-07-27 | 2024-06-25 | 美智纵横科技有限责任公司 | 地图数据的处理方法、装置、家用电器和可读存储介质 |
-
2021
- 2021-07-27 CN CN202110848175.8A patent/CN113592976B/zh active Active
-
2022
- 2022-02-18 WO PCT/CN2022/076846 patent/WO2023005195A1/zh unknown
Non-Patent Citations (2)
Title |
---|
Maarten Bassier,etc.Topology Reconstruction of BIM Wall Objects from Point Cloud Data.《Remote Sensing》.2020,全文. * |
风管清扫机器人同时定位与地图创建方法研究;王聪;《中国博士学位论文全文数据库 信息科技辑》;I140-74 * |
Also Published As
Publication number | Publication date |
---|---|
CN113592976A (zh) | 2021-11-02 |
WO2023005195A1 (zh) | 2023-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108010116B (zh) | 点云特征点检测方法和点云特征提取方法 | |
CN107123164B (zh) | 保持锐利特征的三维重建方法及系统 | |
CN106709947B (zh) | 一种基于rgbd相机的三维人体快速建模系统 | |
EP2430588B1 (en) | Object recognition method, object recognition apparatus, and autonomous mobile robot | |
EP2751777B1 (en) | Method for estimating a camera motion and for determining a three-dimensional model of a real environment | |
JP4865557B2 (ja) | 有界三次元対象物の分類と空間ローカライゼーションのためのコンピュータ視覚システム | |
WO2015017941A1 (en) | Systems and methods for generating data indicative of a three-dimensional representation of a scene | |
JP2007018493A (ja) | 三次元形状の位置あわせ方法及びプログラム | |
WO2011115143A1 (en) | Geometric feature extracting device, geometric feature extracting method, storage medium, three-dimensional measurement apparatus, and object recognition apparatus | |
CN107369204B (zh) | 一种从单幅照片恢复出场景基本三维结构的方法 | |
CN111524168A (zh) | 点云数据的配准方法、系统、装置及计算机存储介质 | |
Yogeswaran et al. | 3d surface analysis for automated detection of deformations on automotive body panels | |
CN113728360A (zh) | 用于3d场景中对象的姿态、尺寸和形状测量的方法和装置 | |
Oliveira et al. | Scene representations for autonomous driving: an approach based on polygonal primitives | |
CN114783068A (zh) | 姿态识别方法、装置、电子装置和存储介质 | |
CN113592976B (zh) | 地图数据的处理方法、装置、家用电器和可读存储介质 | |
CN109344750B (zh) | 一种基于结构描述子的复杂结构三维对象识别方法 | |
Kaushik et al. | Accelerated patch-based planar clustering of noisy range images in indoor environments for robot mapping | |
CN112002007A (zh) | 基于空地影像的模型获取方法及装置、设备、存储介质 | |
Cupec et al. | Fast 2.5 D Mesh Segmentation to Approximately Convex Surfaces. | |
CN114897974B (zh) | 一种目标物空间定位方法、系统、存储介质及计算机设备 | |
CN113111741B (zh) | 一种基于三维特征点的装配状态识别方法 | |
Andre Sorensen et al. | A RANSAC based CAD mesh reconstruction method using point clustering for mesh connectivity | |
CN115131459A (zh) | 平面布置图重建方法及装置 | |
Lari et al. | A new approach for segmentation-based texturing of laser scanning data |
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 |