CN115393372A - 地图分区方法、装置、自主移动设备和存储介质 - Google Patents
地图分区方法、装置、自主移动设备和存储介质 Download PDFInfo
- Publication number
- CN115393372A CN115393372A CN202110572880.XA CN202110572880A CN115393372A CN 115393372 A CN115393372 A CN 115393372A CN 202110572880 A CN202110572880 A CN 202110572880A CN 115393372 A CN115393372 A CN 115393372A
- Authority
- CN
- China
- Prior art keywords
- map
- main structure
- rooms
- graph
- room
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000000638 solvent extraction Methods 0.000 title claims abstract description 30
- 238000004590 computer program Methods 0.000 claims description 10
- 238000007781 pre-processing Methods 0.000 claims description 8
- 238000005192 partition Methods 0.000 abstract description 16
- 238000010586 diagram Methods 0.000 description 19
- 238000004140 cleaning Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 10
- 230000004927 fusion Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 230000010339 dilation Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 230000003628 erosive effect Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000004888 barrier function Effects 0.000 description 4
- 230000007797 corrosion Effects 0.000 description 3
- 238000005260 corrosion Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 238000009499 grossing Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 241001417527 Pempheridae Species 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3804—Creation or updating of map data
- G01C21/3807—Creation or updating of map data characterised by the type of data
- G01C21/383—Indoor data
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3863—Structures of map data
- G01C21/387—Organisation of map data, e.g. version management or database structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration using local operators
- G06T5/30—Erosion or dilatation, e.g. thinning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/136—Segmentation; Edge detection involving thresholding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/62—Analysis of geometric attributes of area, perimeter, diameter or volume
-
- 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/20—Special algorithmic details
- G06T2207/20112—Image segmentation details
- G06T2207/20128—Atlas-based segmentation
-
- 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/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Automation & Control Theory (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Geometry (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本公开提供了一种地图分区方法、装置、自主移动设备和存储介质。该方法包括:获取目标区域的地图;地图中包括自主移动设备在所述目标区域中的可达边界;针对地图中可达边界内的多个内部点,根据内部点与各个可达边界的距离,确定内部点的代表距离值;根据地图中可达边界内的多个内部点的代表距离值,确定各个图中候选房间的主结构;对各个图中候选房间的主结构进行扩张,得到各个图中房间。基于由边界到中心的距离越来越大的规则,确定每个点的距离值,并根据各点距离值分布的特点,确定各候选房间的主结构,再通过对各候选房间的主结构的扩张,进一步确定各房间的边界,完成对地图的分区,提高分区效率。
Description
技术领域
本公开涉及数据处理技术,尤其涉及一种地图分区方法、装置、自主移动设备和存储介质。
背景技术
随着科技进步和生活水平的提高,具有不同功能的自主移动设备越来越多地进入了人们的家庭,例如清洁机器人、陪伴型移动机器人等,让人们的生活更加舒适和方便。
自主移动设备是指在设定工作区域内自主执行预设任务的智能设备,目前自主移动设备通常包括但不限于清洁机器人(例如智能扫地机、智能擦地机、擦窗机器人)、陪伴型移动机器人(例如智能电子宠物、保姆机器人)、服务型移动机器人(例如酒店、旅馆、会晤场所的接待机器人)、工业巡检智能设备(例如电力巡检机器人、智能叉车等)、安防机器人(例如家用或商用智能警卫机器人)等。
自主移动设备通常会在一个有限空间内自主移动,比如清洁机器人、陪伴型移动机器人通常在室内运行,服务型移动机器人通常在旅馆、会场等特定的有限空间内运行,该有限空间可以称为自主移动设备的工作区域。
很多时候,自主移动设备的工作区域并非一个开放空间,而是被墙体、门或其它分隔物分割开的多个室内区域,比如多个房间。在某些场景下,用户希望自主移动设备能够准确识别工作区域地图的功能区域,比如客厅、卧室、厨房、走廊等,并将其在人机交互界面(UI)上显示给用户,以便用户可以从中选择某个或多个选定房间指示自主移动设备执行具体任务,这就需要自主移动设备可以智能、正确地在工作区域的地图中区分各个功能区域。
现有技术中,一般通过识别“门”的位置对工作区域地图进行自动划分区域。但是,由于工作区域内房间的设计风格的差异,某些房间之间可能并没有特别明确的“门”作为分割标志,导致自主移动设备经常无法准确识别门。因而,这种区域划分方式适用性较差,误判率比较高。
发明内容
本公开提供一种地图分区方法、装置、自主移动设备和存储介质,基于区域特性进行分割,提高地图分区的效率。
第一方面,本公开提供一种地图分区方法,包括:
获取目标区域的地图;所述地图中包括自主移动设备在所述目标区域中的可达边界;
针对所述地图中可达边界内的多个内部点,根据所述内部点与各个可达边界的距离,确定所述内部点的代表距离值;
根据所述地图中可达边界内的所述多个内部点的所述代表距离值,确定各个图中候选房间的主结构;
对所述各个图中候选房间的主结构进行扩张,得到各个图中房间。
可选的,所述根据所述地图中可达边界内的所述多个内部点的所述代表距离值,确定各个图中候选房间的主结构,包括:
将所述内部点与各个可达边界的距离中最短的距离作为代表距离值;
重复执行下述步骤,直至更新后的地图中没有种子:
确定所述地图中代表距离值最大的内部点;
根据所述地图中最大的代表距离值,确定第一阈值;所述第一阈值小于最大的代表距离值;
确定所述地图中代表距离值大于第一阈值且小于最大代表距离值的内部点所在的至少一个种子区域;
针对每个种子区域,若所述代表距离值最大的内部点位于所述种子区域中,则将所述种子区域作为图中候选房间的种子;
对所述图中候选房间的种子进行膨胀,得到所述图中候选房间的主结构;
从所述地图中删除所述图中候选房间的主结构,得到更新后的地图。
可选的,所述根据所述地图中可达边界内的所述多个内部点的所述代表距离值,确定各个图中候选房间的主结构,包括:
将所述内部点与各个可达边界的距离中最长的距离作为代表距离值;
重复执行下述步骤,直至更新后的地图中没有种子:
确定所述地图中代表距离值最小的内部点;
根据所述地图中最小的代表距离值,确定第二阈值,所述第二阈值大于最小的代表距离值;
确定所述地图中代表距离值小于第二阈值且大于最小代表距离值的内部点所在的至少一个种子区域;
针对每个种子区域,若所述代表距离值最小的内部点位于所述种子区域中,则将所述种子区域作为图中候选房间的种子;
对所述图中候选房间的种子进行膨胀,得到所述图中候选房间的主结构;
从所述地图中删除所述图中候选房间的主结构,得到更新后的地图。
可选的,所述对所述各个图中候选房间的主结构进行扩张,得到各个图中房间,包括:
各个图中候选房间的主结构同时以同样的预设速率扩张,成为扩张主结构;
若所述图中候选房间的扩张主结构与其它图中候选房间的扩张主结构相遇产生主结构交界,或若所述图中候选房间的扩张主结构与地图的可达边界相遇,则停止扩张,得到各个图中房间。
可选的,在所述对所述各个图中候选房间的主结构进行扩张,得到各个图中房间之后,还包括:
对各个图中房间进行融合,得到融合后图中房间。
可选的,所述对各个图中候选房间进行融合,得到融合后图中房间,包括:
获取每个所述图中房间的面积和图中房间之间的主结构交界;
根据图中房间之间的主结构交界确定图中房间之间的相邻关系,以确定相邻房间;
比较图中房间的面积与面积阈值的大小,若图中房间的面积小于所述面积阈值,则确定该图中房间为目标房间;
将所述目标房间与其一个相邻房间融合为融合后图中房间。
可选的,所述获取目标区域的地图,包括:
获取目标区域的原始地图;
对所述原始地图进行预处理,得到目标区域的地图。
第二方面,本公开提供一种地图分区装置,包括:
获取模块,用于获取目标区域的地图;所述地图中包括自主移动设备在所述目标区域中的可达边界;
代表距离值确定模块,用于针对所述地图中可达边界内的多个内部点,根据所述内部点与各个可达边界的距离,确定所述内部点的代表距离值;
主结构确定模块,用于根据所述地图中可达边界内的所述多个内部点的所述代表距离值,确定各个图中候选房间的主结构;
主结构扩张模块,用于对所述各个图中候选房间的主结构进行扩张,得到各个图中房间。
可选的,所述主结构确定模块具体用于:
将所述内部点与各个可达边界的距离中最短的距离作为代表距离值;
重复执行下述步骤,直至更新后的地图中没有种子:
确定所述地图中代表距离值最大的内部点;
根据所述地图中最大的代表距离值,确定第一阈值;所述第一阈值小于最大的代表距离值;
确定所述地图中代表距离值大于第一阈值且小于最大代表距离值的内部点所在的至少一个种子区域;
针对每个种子区域,若所述代表距离值最大的内部点位于所述种子区域中,则将所述种子区域作为图中候选房间的种子;
对所述图中候选房间的种子进行膨胀,得到所述图中候选房间的主结构;
从所述地图中删除所述图中候选房间的主结构,得到更新后的地图。
可选的,所述主结构确定模块具体用于:
将所述内部点与各个可达边界的距离中最长的距离作为代表距离值;
重复执行下述步骤,直至更新后的地图中没有种子:
确定所述地图中代表距离值最小的内部点;
根据所述地图中最小的代表距离值,确定第二阈值,所述第二阈值大于最小的代表距离值;
确定所述地图中代表距离值小于第二阈值且大于最小代表距离值的内部点所在的至少一个种子区域;
针对每个种子区域,若所述代表距离值最小的内部点位于所述种子区域中,则将所述种子区域作为图中候选房间的种子;
对所述图中候选房间的种子进行膨胀,得到所述图中候选房间的主结构;
从所述地图中删除所述图中候选房间的主结构,得到更新后的地图。
可选的,所述主结构扩张模块具体用于:
各个图中候选房间的主结构同时以同样的预设速率扩张,成为扩张主结构;
若所述图中候选房间的扩张主结构与其它图中候选房间的扩张主结构相遇产生主结构交界,或若所述图中候选房间的扩张主结构与地图的可达边界相遇产生主结构边界,则停止扩张,得到各个图中房间。
可选的,所述装置还包括:融合模块,用于在所述主结构扩张模块对所述各个图中候选房间的主结构进行扩张,得到各个图中房间之后,对各个图中房间进行融合,得到融合后图中房间。
可选的,所述融合模块在对各个图中候选房间进行融合,得到融合后图中房间时,具体用于:
获取每个所述图中房间的面积和图中房间之间的主结构交界;
根据图中房间之间的主结构交界确定图中房间之间的相邻关系,以确定相邻房间;
比较图中房间的面积与面积阈值的大小,若图中房间的面积小于所述面积阈值,则确定该图中房间为目标房间;
将所述目标房间与其相邻房间融合。
可选的,所述获取模块具体用于:
获取目标区域的原始地图;
对所述原始地图进行预处理,得到目标区域的地图。
第三方面,本公开提供一种自主移动设备,包括:存储器,用于存储程序指令;处理器,用于调用并执行所述存储器中的程序指令,执行第一方面所述的方法。
第四方面,本公开提供一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现第一方面所述的方法。
第五方面,本公开提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面所述的方法。
本公开提供了一种地图分区方法、装置、自主移动设备和存储介质。该方法包括:获取目标区域的地图;所述地图中包括自主移动设备在所述目标区域中的可达边界;针对所述地图中可达边界内的多个内部点,根据所述内部点与各个可达边界的距离,确定所述内部点的代表距离值;根据所述地图中可达边界内的所述多个内部点的所述代表距离值,确定各个图中候选房间的主结构;对所述各个图中候选房间的主结构进行扩张,得到各个图中房间。本公开的方案通过确定地图中每个点的代表距离值,并根据各点代表距离值分布的特点,确定各候选房间的主结构,再通过对各候选房间的主结构的扩张,进一步确定各房间的可达边界,完成对地图的自动分区。不依赖于实际空间内墙体、门等作为分区标志,可以适用于更多的场景下的分区,且分区准确率更高。
附图说明
为了更清楚地说明本公开或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本公开提供的一种应用场景的示意图;
图2为本公开一实施例提供的一种地图分区方法的流程图;
图3为本公开一实施例提供的一种空间内点的距离值的示意图;
图4为本公开一实施例提供的一种确定图中候选房间的主结构的流程图;
图5为本公开一实施例提供的一种图中候选房间的主结构扩张的示意图;
图6为本公开一实施例提供的一种对各个图中候选房间进行融合的流程图;
图7a至图7n为本公开一实施例提供的地图分区过程中生成的地图的示意图;
图8为本公开一实施例提供的一种地图分区装置的结构示意图;
图9为本公开一实施例提供的一种自主移动设备的结构示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚,下面将结合本公开中的附图,对本公开中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
根据任务性质和工作区域的分区,自主移动设备可能需要在工作区域内的部分指定区域中执行任务。例如,智能清洁机器人执行对客厅区域进行清洁的任务。这就需要自主移动设备可以对工作区域进行自动分区。
本公开提供一种地图分区方法、装置、自主移动设备和存储介质,基于区域特性进行分割,能提高地图分区的效率和准确率。
图1为本公开提供的一种应用场景的示意图。本实施例中的自主移动设备是清洁机器人101,如图1所示,清洁机器人101在室内的工作区域执行清洁工作。清洁机器人101基于当前室内地图(即工作区域的地图)基于本公开的地图分区方法进行自动分区,确定出室内包含的多个功能区域(即房间),得到功能区域地图,而后用户通过手机、电脑等终端设备的UI向自主移动设备发出清洁任务指令,该清洁任务指令包括在该功能区域地图上选定的功能区域(比如客厅区域)执行清洁任务,该清洁指令还可以包括在该选定区域设置对应于该选定区域的工作模式,比如静音模式、强力模式、重复清洁模式等。分区过程具体的实现方式可以参考下述各实施例。
图2为本公开一实施例提供的一种地图分区方法的流程图。本实施例的方法的执行主体可以为自主移动设备,或者自主移动设备的管理系统。如图2所示,本实施例的方法可以包括:
S201、获取目标区域的地图;地图中包括自主移动设备在目标区域中的可达边界。
目标区域是自主移动设备工作的至少部分区域,既可以是用户的整个室内空间,也可以是整个室内空间的一部分,甚至可以是部分的封闭空间或封闭空间的一部分。
在一些实施例中,地图为栅格图(也称为点阵图、位图),自主移动设备一边在目标区域内运行,一边创建目标区域的地图。为区别地图中的未探索位置、障碍物位置、可到达位置/已通过位置,示例性的,在地图创建的过程中,起始时地图中所有位置的状态值均设定为初始值(通常与未探索区域的状态值一致),自主移动设备在目标区域中运行,每到达一个位置,则对该位置更新其状态值或者可以根据其在一段时间内经过的轨迹更新这段轨迹上经过的坐标的状态值。例如,对于未探索的位置的状态值先预设为75(比如像素值或灰度值;在本实施例中也即开始时所有位置的初始值);将可到达位置和已通过位置(可统称为可通行位置)对应的坐标的状态值设置为0(比如像素值或灰度值),被障碍物阻挡而无法到达的位置(简称为不可达位置)对应的坐标的状态值设置或更新为100(比如像素值或灰度值)。这样,在目标区域的地图中,状态值为0的可通行区域与状态值为100的不可达区域的相交界限即为自主移动设备在目标区域中的可达边界,通常为了计算方便,可以将与状态值为100的不可达区域的位置相邻的状态值为0的可通行区域的位置定为可达边界,或者将与状态值为0的可通行区域的位置相邻的状态值为100的不可达区域的位置定为可达边界。因此,目标区域的地图中的点分为两类,自主移动设备的可通行位置(称为内部点)和自主移动设备无法到达的位置(比如障碍物位置以及由相邻的障碍物位置依次连接构成的闭合曲线内的障碍物区域都是自主移动设备无法到达的位置,其内的点可称为不可达点)。需要说明的是,地图也可以是矢量图,以及本领域技术人员应当知晓的可实施上述方案的已有技术。
当本实施例的执行主体为自主移动设备时,可以获取设备构建好的目标区域的地图,或者从自主移动设备自身或外部存储设备(比如服务器、分布式存储系统、电脑、手机或者其它自主移动设备等)获取存储的构建好的目标区域的地图。
当本实施例的执行主体为自主移动设备的管理系统(如服务器)时,可以获取系统存储的目标区域的地图,或者接收自主移动设备上传的构建好的目标区域的地图。
在另一些实施例中,目标区域的地图也可以为用户编辑后的地图。例如,用户可以通过网络或有线方式在手机或电脑中获取自主移动设备上的历史地图,通过增加、修改、删除等操作对历史地图进行编辑后保存到用户使用的设备或服务器或存储设备上,或者再传输到自主移动设备中。
S202、针对地图中可达边界内的多个内部点,根据内部点与各个可达边界的距离,确定内部点的代表距离值。
多个内部点可以选择地图中可通行区域的部分的内部点。具体的,可以以在每一行和/或每一列中,每隔一个或多个内部点取一个或多个内部点的方式选取多个内部点。
示例性的,多个内部点也可以选择目标区域地图上的全部内部点。具体的,可以遍历每一个内部点,比如从某个可达边界相邻的某个内部点开始,选取该行或该列的点,然后逐渐增加或减少行号或列号,直至遍历可通行区域内的所有内部点;在此过程中分别计算选取的每个内部点与各个可达边界的距离。
其中,内部点与各个可达边界的距离,指该内部点在目标区域地图内与可达边界之间的距离;可以是该内部点与各个可达边界上的每个点之间的距离(必然是多个距离);也可以是该内部点与各个可达边界上符合一定预设条件的点的距离,比如可以是过该内部点向该条可达边界作垂线与该可达边界交于一个相交点,则该内部点与该相交点之间的垂线段的长度为该内部点与该条可达边界之间的距离,为描述方便,将由该方法得到的内部点与某条可达边界之间的距离称为垂直距离,此时的垂直距离为单个距离,即一个内部点与一条可达边界的距离可以是一个,即垂直距离,但通常内部点的可达边界不止一条,如图3所示,每个内部点A、B、C、D均有4条可达边界,因此对于一个内部点,其与可达边界的距离通常也有多个,在上述垂直距离的示例中,垂直距离的数量与可达边界的数量相同。
根据每个内部点与各个可达边界的距离确定该点的代表距离值。示例性的,可以将上述内部点与各个可达边界的距离中最短的距离作为代表距离值;比如如图3所示,按上述实施例得到其中的点C与各个可达边界1至4的垂直距离分别为c1、c2、c3、c4,由图3可见,其中c1最短,则c1长度为内部点C的代表距离值。显然,对于一个内部点,其代表距离值只能是一个值。
在一个封闭的平面空间内,其内部的点一般会呈现出如下特点,即,最中心位置的点与各个可达边界的垂直距离比较平均,表现为垂直距离极大值较小且垂直距离极小值较大;而从中心向外越靠近可达边界的点,其与各个可达边界的距离之间的差值越大,表现为垂直距离极大值越来越大,极小值越来越小。以图3为例,图3中黑色边框为可达边界线,分别为可达边界线1、可达边界线2、可达边界线3、可达边界线4。A点为可通行区域的接近中心的内部点,BCD四个内部点依次越来越接近可达边界线1。A点距离四个可达边界的垂直距离分别为a1、a2、a3、a4,B点距离四个可达边界的垂直距离分别为b1、b2、b3、b4,C点距离四个可达边界的垂直距离分别为c1、c2、c3、c4,D点距离四个可达边界的垂直距离分别为d1、d2、d3、d4。从图中可以看出,a1(=a3)>b1>c1>d1,a4(=a2)<b4<c4<d4。即,从A点到D点,内部点距离四个可达边界线的垂直距离中的极小值越来越小,极大值越来越大。
据此可以确定,多个可达边界内的内部点的距离在一定程度上可以表征该平面空间的分布信息。
相对应的,可以将内部点与各个可达边界的距离中的极大值作为该内部点的代表距离值。则在目标区域的地图空间内,靠近中心的内部点的代表距离值最小,向外越接近某个可达边界的内部点的代表距离值越大。
也可以将内部点与各个可达边界的距离中的极小值作为该内部点的代表距离值。则在目标区域地图空间内,靠近中心的内部点的代表距离值最大,向外越接近某个可达边界的内部点的代表距离值越小。
S203、根据地图中可达边界内的多个内部点的代表距离值,确定各个图中候选房间的主结构。
在本公开中,“图中候选房间”指在地图处理过程中,根据内部点的位置及其代表距离值,从地图中被暂时分割出的、彼此不重叠的分区域。需要说明的是,本公开中仅以“房间”作为对地图处理过程中得到的各个分区域的代称,并不限定本公开的方案只应用于家庭内部,分区域也不必然与室内的实际功能区域一一对应。
由于内部点的位置及其代表距离值体现了内部点与各可达边界的相对位置关系,因此可以根据内部点的代表距离值选取多个有代表性的内部点,构成图中候选房间的主结构,该图中候选房间的主结构能够在更小的尺度上概略地体现图中各分区域的大体形状和位置。
S204、对各个图中候选房间的主结构进行扩张,得到各个图中房间。
图中房间指的是将图中候选房间的主结构向外进行扩张,当其扩张到不能再扩张时的图中区域。
具体的,对各个图中候选房间的主结构进行扩张,使其不能再扩张的条件必然是扩张的图中候选房间的主结构(也称为扩张主结构)的边界会与其它图中候选房间的扩张主结构相互接触,形成主结构交界,或扩张主结构的边界与地图的可达边界相互接触,得到主结构边界。图中房间之间的主结构交界是指地图中两个相连通的图中房间之间的连接处,在实际的目标区域中对应的可能是两个实际房间之间的“门”,但也可能是同一个房间两个较宽部分之间的较窄部分,而不是实际的门。图中候选房间的扩张主结构与地图的可达边界相遇得到的主结构边界是指每个图中房间周围不与其它图中房间相接触的界限,其与实际的目标区域的对应区域可以是“墙”或靠墙的障碍物(比如靠墙的落地橱、沙发、电视柜、冰箱、空调、床等家具);由于实际目标区域中的墙以及靠墙家具所在的位置是障碍物位置,其会挡住图中候选房间的主结构的扩张,在挡住主结构扩张处的不可达位置就构成了主结构边界。
本实施例提供的地图分区方法包括:获取目标区域的地图;地图中包括自主移动设备在目标区域中可达边界;针对地图中可达边界内的多个内部点,根据内部点与各个可达边界的距离,确定内部点的代表距离值;根据地图中可达边界内的多个内部点的代表距离值,确定各个图中候选房间的主结构;对各个图中候选房间的主结构进行扩张,得到各个图中房间。基于由边界到中心的距离越来越大的规则,确定每个点的距离值,并根据各点距离值分布的特点,确定各候选房间的主结构,再通过对各候选房间的主结构的扩张,进一步确定各房间的边界,完成对地图的自动分区。不依赖于实际空间内墙体、门等作为分区标志,可以适用于更多的场景下的分区,且分区准确率更高。
在一些实施例中,获取目标区域的地图,还可以包括:获取目标区域的原始地图;对原始地图进行预处理,得到目标区域的地图。
自主移动设备构建的地图可能并不符合包含内部点和边界点的特性,因而,在获取到目标区域的原始地图后,可以通过对其进行预处理,得到目标区域的地图。
预处理的方式可以包括图像的二值化,将原始地图转化为二值图。二值图中,存在自主移动设备无法到达的墙体等障碍物的位置,将其处理为黑色(比如像素值为0),自主移动设备的可通行位置处理为白色(比如像素值为255)。具体的,可以设定一个阈值T,用T将图像的数据分成两部分:大于T的像素群和小于T的像素群,从而产生相应的二值图像。
还可以通过腐蚀操作、膨胀操作、开运算、闭运算、形态学处理等方式删除原始地图内部的细小轮廓/障碍物、或噪声等。
腐蚀运算的原理是,利用卷积模板B对图像A进行卷积计算,得出B覆盖区域的像素点最小值,并用这个最小值来替代参考点的像素值。将A称为被处理的对象,将B称为结构元素。卷积模板B可以是任何的形状和大小,且拥有一个单独定义出来的参考点——锚点(anchorpoint),通常为带参考点的正方形或者圆盘,可将其称为模板或掩膜。其处理过程为,将结构元素B的中心点平移到a后得到Ba,若Ba包含于A,则记下这个a点,所有满足上述条件的a点组成的集合即为A被B腐蚀的结果。a的集合在A的范围之内,且比A小。视觉上,腐蚀后的图像好像是被剥离掉了最外一层。对于噪声、细小轮廓,被剥离后就是消除了。基于腐蚀操作的特点,一般可以用于消除图像中的噪声、细小轮廓。进行腐蚀操作后的地图中的边界会更加干净,墙体的结构会更加清晰。
膨胀可以看作是腐蚀的对偶运算,其定义是:把结构元素B平移a后得到Ba,若Ba击中被处理的对象X,记下这个a点。所有满足上述条件的a点组成的集合称作X被B膨胀的结果。X被B膨胀的结果包含X,视觉上,就像X膨胀了一圈。
开运算在原理上相当于先进行腐蚀运算,再进行膨胀运算。基于开运算操作的特点,一般可以用于消除噪音,例如孤立的小点、毛刺等,或将细微连在一起的两块目标分开,而总的位置和形状不变。从而平滑物体轮廓,断开狭窄的间断和消除细小的突出物,消除细小物体,在纤细处分离物体和平滑较大物体边界。开运算相当于是一个基于几何运算的滤波器,结构元素大小不同将导致滤波效果不同。不同的结构元素的选择可以导致不同的分割效果,即提取出图像中不同的特征。
闭运算在原理上相当于先进行膨胀运算,再进行腐蚀运算。基于闭运算操作的特点,一般可以用于消除前景对象内部的小孔、弥合小裂缝或对象上的小黑点,或将两个细微连接的图块封闭,而总的位置和形状不变。从而消弭狭窄的间断,消除小的孔洞,连接邻近物体和平滑边界。闭运算相当于是通过填充图像的凹角来滤波,结构元素大小的不同将导致滤波效果的不同。
通过对原始地图进行预处理,可以得到边界更为清晰、整齐、噪声更少的目标区域地图,更利于后续的处理的精度的提升。
参考图4,上述的根据地图中边界内的多个内部点的代表距离值,确定各个图中候选房间的主结构的具体方式可以包括:将内部点与各个可达边界的距离中最短的距离作为代表距离值;重复执行下述步骤,直至更新后的地图中没有种子:确定地图中代表距离值最大的内部点;根据地图中最大的代表距离值,确定第一阈值;第一阈值小于最大的代表距离值;确定地图中代表距离值大于第一阈值且小于最大代表距离值的内部点所在的至少一个种子区域;针对每个种子区域,若代表距离值最大的内部点位于种子区域中,则将种子区域作为图中候选房间的种子;对图中候选房间的种子进行膨胀,得到图中候选房间的主结构;从地图中删除图中候选房间的主结构,得到更新后的地图。
根据上述内容可知,当以内部点与各个可达边界的距离中最短的距离作为代表距离值时,在某个区域内出现代表距离值最大的内部点时,这个区域就是一个图中候选房间。因而,在本实施例中通过查找代表距离值最大的内部点的方式,确定图中候选房间的主结构。
具体的,可以首先确定地图中代表距离值最大的内部点的位置,此位置即为其中一个候选房间的中心点位置,然后根据此最大的代表距离值确定第一阈值,地图中代表距离值在最大代表距离值与第一阈值之间的点所在的区域,即可能为该候选房间的中心区域,作为种子区域。地图中可能存在多个种子区域,但只有最大代表距离值对应的点所在的种子区域才是该候选房间的种子。对种子进行膨胀操作,即可得到该图中候选房间的主结构。将第一个图中候选房间的主结构保存后,示例性的,可将其从地图中删除,即可得到更新后的地图。如果更新后的地图中还存在种子,则可基于更新后的地图重复上述的操作,继续确定出地图中剩余部分中的代表距离值最大的内部点,进而确定第二个候选房间的主结构、第三个候选房间的主结构......直至更新后的地图中不再存在种子,例如第N个确定出的最大代表距离值的大小不满足预设的主结构的条件,或第N个确定出的图中候选房间的主结构不能满足预设的主结构的条件,则可以确定更新后的地图中不再存在种子。
示例性的,第一阈值的设置条件可以是:使种子区域中包括若干个(比如6个)其代表距离值大于第一阈值的内部点,从而使种子区域内这些内部点能够构成一个种子区域的大体轮廓。
另一种确定图中候选房间的种子的方式是,确定地图中代表距离值最大的内部点的位置后,根据此最大代表距离值确定第一阈值;第一阈值小于此最大代表距离值。然后以此代表距离值最大的内部点的位置为基准,向外逐个遍历点,直至任一点及其周围的其它点的代表距离值均小于或等于第一阈值时停止,遍历过的点所在的区域由于包括了代表距离值最大的内部点,因此该种子区域即为该图中候选房间的种子。
其中,第一阈值可以为最大代表距离值的n倍,n的取值为经验值,通常为小于1的正数,比如最大代表距离值为1000,n为0.8,则第一阈值为800。在有的实施例中,n的取值也受到地图中最小代表距离值的限制,即n的取值不能使第一阈值小于地图中最小代表距离值。
另外,一个可称为单独房间的区域,其长度、面积等几何参数可能需要满足一定的条件。例如,面积不小于4平方米等。相对应的,可能会要求满足最大代表距离值不小于2米或候选房间的主结构面积不小于3平方米等条件。相对应的,可以将此条件作为图4所示的实施例中“更新后的地图中还有没有种子”的具体判断条件。
在有的实施例中,与上述实施例相对应的,根据地图中可达边界内的多个内部点的代表距离值,确定各个图中候选房间的主结构,包括:将内部点与各个可达边界的距离中最长的距离作为代表距离值;重复执行下述步骤,直至更新后的地图中没有种子:确定地图中代表距离值最小的内部点;根据地图中最小的代表距离值,确定第二阈值,第二阈值大于最小的代表距离值;确定地图中代表距离值小于第二阈值且大于最小代表距离值的内部点所在的至少一个种子区域;针对每个种子区域,若代表距离值最小的内部点位于种子区域中,则将种子区域作为图中候选房间的种子;对图中候选房间的种子进行膨胀,得到图中候选房间的主结构;将该图中候选房间的主结构保存后,示例性的,从地图中删除图中候选房间的主结构,得到更新后的地图。
根据上述内容可知,当以内部点与各个可达边界的距离中最短的距离作为代表距离值时,在某个区域内出现代表距离值最小的内部点时,这个区域就是一个图中候选房间。因而,在本实施例中通过查找代表距离值最小的内部点的方式,确定图中候选房间的主结构。
具体的,可以首先确定地图中代表距离值最小的内部点的位置,此位置即为其中一个图中候选房间的中心点位置,然后根据此最小的代表距离值确定第二阈值,地图中代表距离值在最小代表距离值与第二阈值之间的点所在的区域,即可能为该图中候选房间的中心区域,作为种子区域。地图中可能存在多个种子区域,但只有最小代表距离值对应的点所在的种子区域才是该图中候选房间中的区域,即图中该候选房间的种子。对种子进行膨胀操作,即可得到该图中候选房间的主结构。将第一个房间的主结构保存后,示例性的,可将其从地图中删除,即可得到更新后的地图。如果更新后的地图中还存在种子,则可基于更新后的地图重复上述的操作,继续确定出地图中剩余部分中的代表距离值最小的内部点,进而确定第二个候选房间的主结构、第三个候选房间的主结构......直至更新后的地图中不再存在种子,例如第N个确定出的最小代表距离值的大小不满足预设的主结构的条件,或第N个确定出的图中候选房间的主结构不能满足预设的主结构的条件。
示例性的,第二阈值的设置条件可以是:使种子区域中包括若干个(比如6个)其代表距离值小于第二阈值的内部点,从而使种子区域内这些内部点能够构成一个种子区域的大体轮廓。
另一种确定候选房间的种子的方式是,确定地图中代表距离值最小的内部点的位置后,根据此最小代表距离值确定第二阈值。然后以此代表距离值最小的内部点的位置为基准,向外逐个遍历点,直至任一点及其周围的其它点的代表距离值均大于或等于第二阈值时停止,遍历过的点所在的区域由于包括了代表距离值最小的内部点,因此该种子区域即为该候选房间的种子。
其中,第二阈值可以为最小代表距离值的n倍,n的取值为经验值,通常为大于1的正数,比如最小代表距离值为100,n为2,则第二阈值为200。同时,在这情况下,n的取值也受到地图中最大代表距离值的限制,即n的取值不能使第二阈值大于地图中最大代表距离值。
在一些实施例中,对各个图中候选房间的主结构进行扩张得到各个图中房间的具体方式,可以包括:各个图中候选房间的主结构同时以同样的预设速率扩张,成为扩张主结构;若图中候选房间的扩张主结构与其它图中候选房间的扩张主结构相遇产生主结构交界,或若图中候选房间的扩张主结构与地图的可达边界相遇得到主结构边界,则停止扩张,得到各个图中房间。
其中,各个图中候选房间的主结构同时以同样的预设速率扩张成为扩张主结构,指各个图中候选房间的主结构同时在各方向向外扩张,且保持相同的扩张速率。扩张中的各个图中候选房间的主结构即称为扩张主结构。停止扩张的条件为,某个扩张主结构与其它扩张主结构相遇产生主结构交界、或扩张主结构与地图中的可达边界相遇产生主结构边界。
具体的,可以基于最初获取的目标区域的地图,将已经确定且保存的各个图中候选房间的主结构填充到地图中的对应的位置。在填充时,示例性的,将每个图中候选房间的主结构以区别于其它图中候选房间的主结构的特有标识进行填充。例如,以不同像素值或不同字符(不同字母或者不同数字)进行填充。
然后,针对每一个图中候选房间的主结构,基于其中的每个点,向外扩张。针对每一个点,判断其周围相邻的各点是否带有本图中候选房间的主结构的特有标识,或者是否带有其它图中候选房间的主结构的特有标识,或者是否为可达边界的点,或者是否为内部点。在扩张过程中,如果确定其周围相邻的各点中存在内部点,则为这些内部点增加本图中候选房间的主结构的特有标识,使其成为本图中候选房间的主结构的点。如此,实现图中候选房间的主结构的向外扩张。在扩张过程中,如果图中候选房间的扩张边缘被确定其周围相邻的各点中不存在内部点,则停止扩张。通常会有两种情况停止扩张,第一种情况是,该图中候选房间的扩张主结构外部的点具有其它图中候选房间的特有标识,此时对应的情况是该图中候选房间的扩张主结构与其它图中候选房间的扩张主结构相遇,产生了主结构交界;第二种情况是,该图中候选房间的扩张主结构外部的点为不可达点,即该图中候选房间的主结构与地图的可达边界相遇构成主结构边界。
在扩张过程中,可以通过每次修改的点的范围,来控制扩张速率。参考图5,图5中标注1的点为一个图中候选房间a的主结构。图5中的(a)为a的主结构的初始状态的示意图,图5中的(b)为以第一速率扩张一次后的a的扩张主结构的示意图,第一速率以一个单位为尺度向外扩张(比如单位可以为一个像素点,第一速率可以为1像素/次,或1像素/秒)。图5中的(c)为以第二速率扩张一次后的a的扩张主结构的示意图,第二速率以两个单位为尺度向外扩张(比如单位可以为两个像素点,第二速率可以为2像素/次,或2像素/秒)。
扩张结束后,即得到各个图中房间。针对于图中房间之间的主结构交界或图中房间与目标地图的可达边界之间的主结构边界),还可以进行修正。
在另一些实施例中,还可以在对各个图中候选房间的主结构进行扩张,得到各个图中房间之后,对各个图中房间进行融合,得到融合后图中房间,使最终地图更符合实际目标区域中的功能区域划分。
在图中候选房间扩张为图中房间过程中可能存在一些错误划分出的房间,可以对候选房间的特性进行分析,进而将可能为错误划分的房间进行融合,修正分区结果。图中房间之间的主结构交界如上,是指地图中两个相连通的图中房间之间的连接处,在实际的目标区域中对应的可能是两个实际房间之间的“门”,但也可能是同一个房间两个较宽部分之间的较窄部分,而不是实际的门。融合的目的就是将地图中并不对应于实际的功能区域中的“门”的主结构交界两侧的两个图中房间合并为一个图中房间,使分区后的地图与实际的目标区域的功能区域的划分更吻合、更准确。图中候选房间的扩张主结构与地图的可达边界相遇得到的主结构边界如上,是指每个图中房间周围不与其它图中房间相接触的界限,其与实际的目标区域的对应区域可以是“墙”或靠墙的障碍物(比如靠墙的落地橱、沙发、电视柜、冰箱、空调、床等家具);由于实际目标区域中的墙以及靠墙家具所在的位置是障碍物位置,其会挡住图中候选房间的主结构的扩张,在挡住主结构扩张处的不可达位置就构成了主结构边界。在墙或靠墙家具将两个实际的房间分为两个功能区域的情况下,通常墙或靠墙家具在地图中对应的位置不是一条线,而是一个二维形状,因此该障碍物必然分别与其两侧的图中房间均形成主结构边界;因此该障碍物两侧的主结构边界相接的两个区域不能融合。下面介绍基于对主结构交界以及主结构边界的定义和说明对图中房间进行融合。
在一个实施例中,参考图6,对图中房间进行融合得到融合后图中房间的方式,可以包括:获取每个图中房间的面积和图中房间之间的主结构交界;根据图中房间之间的主结构交界确定图中房间之间的相邻关系,以确定相邻房间;比较图中房间的面积与面积阈值的大小,若图中房间的面积小于面积阈值,则确定该图中房间为目标房间;将目标房间与其一个相邻房间融合为融合后的图中房间。
在本实施例中,是通过判断图中房间的面积,确定其是否可能为错误划分的图中房间。如果一个图中房间的面积过小,则在现实中不可能成为一个单独的房间,而是从某一个房间中错误划分出来的一部分,在本实施例中将面积明显小于合理阈值的图中房间称之为目标房间。在确定目标房间之后,可以基于与目标房间相邻的图中房间中,确定其可能属于的房间,并将该两个图中房间融合为同一个图中房间,该融合后得到的图中房间,为以示区别,可以称为融合后图中房间。因此,在经过融合步骤之后的最终地图是由不需要融合因此未融合的图中房间与融合后图中房间构成其中分区的地图。由于主结构交界表现了其两侧的两个图中房间之间的连通性,也就是说如果两个图中房间之间连通,则其之间必为主结构交界,因此可以基于目标房间及其共有主结构交界的相邻房间确定可融合的图中房间。由于目标房间可能与多个图中房间为相邻房间,可以任选一个与其相邻的相邻房间融合,也可以选择面积最大的相邻房间与其融合。
例如,图中房间H1与图中房间H2之间有主结构交界L1,说明图中房间H1与图中房间H2在实际的目标区域中互相连通,则可知图中房间H1与图中房间H2互为相邻房间;若图中房间H1的面积小于面积阈值,则图中房间H1为目标房间,将图中房间H1与其相邻房间即图中房间H2融合为一个房间,即得到一个融合后的图中房间H3。
另外,图6中的顺序只是一种示例。还可以先通过比较图中房间的面积与面积阈值的大小,确定该图中房间是否为目标房间,在确定该图中房间的面积小于面积阈值后,再将该图中房间确定为目标房间,进一步根据图中房间之间的主结构交界确定图中房间之间的相邻关系,以确定相邻房间,最终将目标房间与其相邻房间融合。
在执行完上述各实施例的分区方法后,可以将分区结果对应的最终地图显示在用户的终端设备,以便用户查看。同时,还可以向用户提供分区结果的调整操作。若用户认为分区出现错误,则可以由用户在交互界面输入调整指令或在UI界面上直接对最终地图进行调整,对房间的大小、位置进行进一步的调整。另外,用户可以通过交互界面输入标签指令,为某个房间添加标签,以指示房间属性。在为自主移动设备建立任务时,可以基于房间属性创建具有针对性的任务。例如,“打扫客厅”。自主移动设备通过对指令的识别,可以确定其要执行的任务为“打扫”,执行任务的范围为“客厅”。
在一个具体的实施例中,对目标区域进行分区,目标区域的地图如图7a所示,将其称为handled map。此图为已经过预处理的图像,可以看到图中边界比较清晰,几乎没有噪声。
针对handled map,通过计算边界内的每个点与各个边界的距离中的最小值,作为该点的距离值,生成对应的距离图,如图7b所示。
确定图中距离值最大的点所在位置;取距离值最大的点周围距离值大于最大距离值的60%的点区域,作为第一房间的种子。第一房间的种子面积大于2平米、长度大于1米、宽度大于0.5米。将得到的第一房间的种子进行膨胀,得到第一房间的主结构的位置和形状,则在handled map中去除第一房间的主结构的部分,得到新的handled map,如图7c所示。对应的新的距离图如图7d所示。
重复执行上述的操作,直到handled map中没有符合上述几何条件的种子。过程中生成的handled map如图7e至7l所示。
将获取的所有房间的主结构,叠加在handled map上,构建成种子地图(seedmap),将每个房间以不同灰度值标示,如图7m所示。
基于seed map,使用漫水填充算法进行主结构的扩张,得到各个房间的标记图(label map),如图7n所示。如此,即完成对目标区域的分区。
图8为本公开一实施例提供的一种地图分区装置的结构示意图,如图8所示,本实施例的地图分区装置800可以包括:获取模块801、代表距离值确定模块802、主结构确定模块803和主结构扩张模块804。
获取模块801,用于获取目标区域的地图;地图中包括自主移动设备在目标区域中的可达边界;
代表距离值确定模块802,用于针对地图中可达边界内的多个内部点,根据内部点与各个可达边界的距离,确定内部点的代表距离值;
主结构确定模块803,用于根据地图中可达边界内的多个内部点的代表距离值,确定各个图中候选房间的主结构;
主结构扩张模块804,用于对各个图中候选房间的主结构进行扩张,得到各个图中房间。
可选的,主结构确定模块803具体用于:
将内部点与各个可达边界的距离中最短的距离作为代表距离值;
重复执行下述步骤,直至更新后的地图中没有种子:
确定地图中代表距离值最大的内部点;
根据地图中最大的代表距离值,确定第一阈值;第一阈值小于最大的代表距离值;
确定地图中代表距离值大于第一阈值且小于最大代表距离值的内部点所在的至少一个种子区域;
针对每个种子区域,若代表距离值最大的内部点位于种子区域中,则将种子区域作为图中候选房间的种子;
对图中候选房间的种子进行膨胀,得到图中候选房间的主结构;
从地图中删除图中候选房间的主结构,得到更新后的地图。
可选的,主结构确定模块803具体用于:
将内部点与各个可达边界的距离中最长的距离作为代表距离值;
重复执行下述步骤,直至更新后的地图中没有种子:
确定地图中代表距离值最小的内部点;
根据地图中最小的代表距离值,确定第二阈值,第二阈值大于最小的代表距离值;
确定地图中代表距离值小于第二阈值且大于最小代表距离值的内部点所在的至少一个种子区域;
针对每个种子区域,若代表距离值最小的内部点位于种子区域中,则将种子区域作为图中候选房间的种子;
对图中候选房间的种子进行膨胀,得到图中候选房间的主结构;
从地图中删除图中候选房间的主结构,得到更新后的地图。
可选的,主结构扩张模块804具体用于:
各个图中候选房间的主结构同时以同样的预设速率扩张,成为扩张主结构;
若图中候选房间的扩张主结构与其它图中候选房间的扩张主结构相遇产生主结构交界,或若图中候选房间的扩张主结构与地图的可达边界相遇,则停止扩张,得到各个图中房间。
可选的,装置还包括:融合模块805,用于在对各个图中候选房间的主结构进行扩张,得到各个图中房间之后,对各个图中房间进行融合,得到融合后图中房间。
可选的,融合模块805在对各个图中候选房间进行融合时,具体用于:
获取每个图中房间的面积和图中房间之间的主结构交界;
根据图中房间之间的主结构交界确定图中房间之间的相邻关系,以确定相邻房间;
比较图中房间的面积与面积阈值的大小,若图中房间的面积小于面积阈值,则确定该图中房间为目标房间;
将目标房间与其一个相邻房间融合为融合后图中房间。
可选的,获取模块801具体用于:
获取目标区域的原始地图;
对原始地图进行预处理,得到目标区域的地图。
本实施例的装置,可以用于执行上述任一实施例的方法,其实现原理和技术效果类似,此处不再赘述。
图9为本公开一实施例提供的一种自主移动设备的结构示意图,如图9所示,本实施例的自主移动设备900可以包括:存储器901、处理器902。
存储器901,用于存储程序指令。
处理器902,用于调用并执行存储器901中的程序指令,以执行上述任一实施例的方法,其实现原理和技术效果类似,此处不再赘述。
本公开还提供了一种计算机可读存储介质,存储介质存储有计算机程序,计算机程序被处理器执行时,实现如上任一实施例的方法。
本公开还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述任一实施例的方法。
在上述所有实施例中,所提及的目标区域的地图是以点阵图进行解释说明,但不限于点阵图,也可以为矢量图;实际上,本领域技术人员可以明确地将本发明记载的技术方案应用到点阵图、矢量图以及本领域技术人员知晓的任何一种可应用上述技术方案的现有技术中。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述各实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的范围。
Claims (11)
1.一种地图分区方法,其特征在于,包括:
获取目标区域的地图;所述地图中包括自主移动设备在所述目标区域中的可达边界;
针对所述地图中可达边界内的多个内部点,根据所述内部点与各个可达边界的距离,确定所述内部点的代表距离值;
根据所述地图中可达边界内的所述多个内部点的所述代表距离值,确定各个图中候选房间的主结构;
对所述各个图中候选房间的主结构进行扩张,得到各个图中房间。
2.根据权利要求1所述的方法,其特征在于,所述根据所述地图中可达边界内的所述多个内部点的所述代表距离值,确定各个图中候选房间的主结构,包括:
将所述内部点与各个可达边界的距离中最短的距离作为代表距离值;
重复执行下述步骤,直至更新后的地图中没有种子:
确定所述地图中代表距离值最大的内部点;
根据所述地图中最大的代表距离值,确定第一阈值;所述第一阈值小于最大的代表距离值;
确定所述地图中代表距离值大于第一阈值且小于最大代表距离值的内部点所在的至少一个种子区域;
针对每个种子区域,若所述代表距离值最大的内部点位于所述种子区域中,则将所述种子区域作为图中候选房间的种子;
对所述图中候选房间的种子进行膨胀,得到所述图中候选房间的主结构;
从所述地图中删除所述图中候选房间的主结构,得到更新后的地图。
3.根据权利要求1所述的方法,其特征在于,所述根据所述地图中可达边界内的所述多个内部点的所述代表距离值,确定各个图中候选房间的主结构,包括:
将所述内部点与各个可达边界的距离中最长的距离作为代表距离值;
重复执行下述步骤,直至更新后的地图中没有种子:
确定所述地图中代表距离值最小的内部点;
根据所述地图中最小的代表距离值,确定第二阈值,所述第二阈值大于最小的代表距离值;
确定所述地图中代表距离值小于第二阈值且大于最小代表距离值的内部点所在的至少一个种子区域;
针对每个种子区域,若所述代表距离值最小的内部点位于所述种子区域中,则将所述种子区域作为图中候选房间的种子;
对所述图中候选房间的种子进行膨胀,得到所述图中候选房间的主结构;
从所述地图中删除所述图中候选房间的主结构,得到更新后的地图。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述对所述各个图中候选房间的主结构进行扩张,得到各个图中房间,包括:
各个图中候选房间的主结构同时以同样的预设速率扩张,成为扩张主结构;
若所述图中候选房间的扩张主结构与其它图中候选房间的扩张主结构相遇产生主结构交界,或若所述图中候选房间的扩张主结构与地图的可达边界相遇,则停止扩张,得到各个图中房间。
5.根据权利要求1-3任一项所述的方法,其特征在于,在所述对所述各个图中候选房间的主结构进行扩张,得到各个图中房间之后,还包括:
对各个图中房间进行融合,得到融合后图中房间。
6.根据权利要求5所述的方法,其特征在于,所述对各个图中房间进行融合,得到融合后图中房间,包括:
获取每个所述图中房间的面积和图中房间之间的主结构交界;
根据图中房间之间的主结构交界确定图中房间之间的相邻关系,以确定相邻房间;
比较图中房间的面积与面积阈值的大小,若图中房间的面积小于所述面积阈值,则确定该图中房间为目标房间;
将所述目标房间与其一个相邻房间融合为融合后图中房间。
7.根据权利要求1-3任一项所述的方法,其特征在于,所述获取目标区域的地图,包括:
获取目标区域的原始地图;
对所述原始地图进行预处理,得到目标区域的地图。
8.一种地图分区装置,其特征在于,包括:
获取模块,用于获取目标区域的地图;所述地图中包括自主移动设备在所述目标区域中的可达边界;
代表距离值确定模块,用于针对所述地图中可达边界内的多个内部点,根据所述内部点与各个可达边界的距离,确定所述内部点的代表距离值;
主结构确定模块,用于根据所述地图中可达边界内的所述多个内部点的所述代表距离值,确定各个图中候选房间的主结构;
主结构扩张模块,用于对所述各个图中候选房间的主结构进行扩张,得到各个图中房间。
9.一种自主移动设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用并执行所述存储器中的程序指令,执行如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现如权利要求1-7任一项所述的方法。
11.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1-7任一项所述的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110572880.XA CN115393372A (zh) | 2021-05-25 | 2021-05-25 | 地图分区方法、装置、自主移动设备和存储介质 |
PCT/CN2022/088608 WO2022247544A1 (zh) | 2021-05-25 | 2022-04-22 | 地图分区方法、装置、自主移动设备和存储介质 |
EP22810277.8A EP4350623A1 (en) | 2021-05-25 | 2022-04-22 | Map partitioning method and apparatus, and autonomous mobile device and storage medium |
US18/518,935 US20240085212A1 (en) | 2021-05-25 | 2023-11-24 | Map zone dividing method, apparatus, autonomous mobile device and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110572880.XA CN115393372A (zh) | 2021-05-25 | 2021-05-25 | 地图分区方法、装置、自主移动设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115393372A true CN115393372A (zh) | 2022-11-25 |
Family
ID=84113592
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110572880.XA Pending CN115393372A (zh) | 2021-05-25 | 2021-05-25 | 地图分区方法、装置、自主移动设备和存储介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240085212A1 (zh) |
EP (1) | EP4350623A1 (zh) |
CN (1) | CN115393372A (zh) |
WO (1) | WO2022247544A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116067365A (zh) * | 2023-04-04 | 2023-05-05 | 科大讯飞股份有限公司 | 地图分区方法、装置、设备及可读存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018122335A1 (en) * | 2016-12-30 | 2018-07-05 | Robert Bosch Gmbh | Mobile robotic device that processes unstructured data of indoor environments to segment rooms in a facility to improve movement of the device through the facility |
CN111862133B (zh) * | 2019-04-26 | 2023-07-21 | 速感科技(北京)有限公司 | 封闭空间的区域分割方法、装置和可移动设备 |
CN111631642B (zh) * | 2020-05-30 | 2021-07-06 | 珠海市一微半导体有限公司 | 一种基于激光地图的工作区域拓展方法、芯片及机器人 |
CN111857127B (zh) * | 2020-06-12 | 2021-10-01 | 珠海市一微半导体有限公司 | 一种机器人沿边行走的清洁分区规划方法、芯片及机器人 |
CN111627063B (zh) * | 2020-07-28 | 2020-10-16 | 北京云迹科技有限公司 | 电子地图上房间门口位置的点位识别方法及装置 |
-
2021
- 2021-05-25 CN CN202110572880.XA patent/CN115393372A/zh active Pending
-
2022
- 2022-04-22 WO PCT/CN2022/088608 patent/WO2022247544A1/zh active Application Filing
- 2022-04-22 EP EP22810277.8A patent/EP4350623A1/en active Pending
-
2023
- 2023-11-24 US US18/518,935 patent/US20240085212A1/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116067365A (zh) * | 2023-04-04 | 2023-05-05 | 科大讯飞股份有限公司 | 地图分区方法、装置、设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP4350623A1 (en) | 2024-04-10 |
US20240085212A1 (en) | 2024-03-14 |
WO2022247544A1 (zh) | 2022-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10139236B2 (en) | Route generation program, route generation method and route generation apparatus | |
CN110888960B (zh) | 一种室内空间分区方法、装置及移动机器人 | |
EP2626844A1 (en) | System and method of optimal video camera placement and configuration | |
CN113848943B (zh) | 栅格地图的修正方法及装置、存储介质及电子装置 | |
US12124540B2 (en) | Method, apparatus for zone division of closed space and mobile device | |
CN111127500A (zh) | 一种空间分区方法、装置及移动机器人 | |
CN111679661A (zh) | 基于深度相机的语义地图构建方法及扫地机器人 | |
CN111399507A (zh) | 确定栅格地图中边界线的方法、划分栅格地图的方法 | |
CN113749562B (zh) | 扫地机器人及其控制方法、装置、设备和存储介质 | |
Palou et al. | Occlusion-based depth ordering on monocular images with binary partition tree | |
CN111329398A (zh) | 机器人控制方法、机器人、电子设备和可读存储介质 | |
CN113985866A (zh) | 扫地机器人路径规划方法、装置、电子设备、存储介质 | |
US20240085212A1 (en) | Map zone dividing method, apparatus, autonomous mobile device and storage medium | |
Hübner et al. | Voxel-based indoor reconstruction from hololens triangle meshes | |
CN112258517A (zh) | 激光雷达栅格地图的自动修图方法和装置 | |
WO2023045798A1 (zh) | 一种过道区域识别方法及装置 | |
CN114365974B (zh) | 一种室内清洁分区方法、装置和扫地机器人 | |
WO2022247538A1 (zh) | 地图区域融合方法、装置、自主移动设备和存储介质 | |
CN114839981A (zh) | 基于室内三维场景的机器人运动轨迹生成方法及存储介质 | |
CN110216664A (zh) | 基于点云数据的障碍物识别方法及装置 | |
CN114967698A (zh) | 清扫方法、装置、电子设备及存储介质 | |
WO2022045877A1 (en) | A system and method for identifying occupancy of parking lots | |
CN112102473A (zh) | 配网带电作业机器人的作业场景建模方法及系统 | |
CN112435274A (zh) | 一种基于面向对象分割的遥感影像面状地物提取方法 | |
CN117100174A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40077924 Country of ref document: HK |