一种机器人基于变化阈值的区域处理方法与流程
未命名
10-09
阅读:76
评论:0

1.本发明涉及分水岭算法分割地图的技术领域,尤其涉及一种机器人基于变化阈值的区域处理方法。
背景技术:
2.在机器人领域中,地图是帮助机器人描述环境和精确定位的主要工具之一。目前使用分水岭算法进行地图图像分割时,从每个区域内的选定的种子元素开始,按照相应的梯度层级迭代地对栅格地图进行形态学开操作,会每个像素点平均进行多次扫描计算,在此基础上,逐渐分割出每个潜在的房间区域,不仅增加机器人对及时构建的地图区域的计算开销,也影响机器人导航运动的实时性。
技术实现要素:
3.为了解决上述技术问题,本发明公开在分水岭算法的条件下的一种机器人基于变化阈值的区域处理方法,适用于机器人在当前工作环境中划分出各个工作分区,对应为机器人所处的室内环境中的房间区域,具体的技术方案如下:一种机器人基于变化阈值的区域处理方法,所述区域处理方法包括:机器人利用分水岭算法进行区域扩展,直至最新扩展出的区域的轮廓上的像素点的灰度值等于初始扩展阈值,并标记出机器人工作分区,然后控制初始扩展阈值变化一次,并将变化后的初始扩展阈值更新为扩展阈值;机器人当前获得的扩展阈值等于预设终止阈值时,停止利用分水岭算法进行区域扩展,并确定已经标记出所有的机器人工作分区;机器人当前获得的扩展阈值不等于预设终止阈值时,继续利用分水岭算法进行区域扩展,并依据区域扩展的重复性进行机器人工作分区的标记,直至最新扩展出的区域的轮廓上的像素点的灰度值等于机器人当前获得的扩展阈值,然后控制机器人当前获得的扩展阈值变化一次,并将变化后的扩展阈值更新为机器人当前获得的扩展阈值。
4.进一步地,在开始利用分水岭算法进行区域扩展之前,设定出扩展起点;其中,扩展起点属于分水岭算法中的种子元素,使得每次进行区域扩展都使用未标记为机器人工作分区的区域内的像素点对扩展起点进行更新;初始扩展阈值和扩展阈值都是用于描述待处理像素点与机器人所处的环境区域的轮廓之间的距离的阈值,并使用灰度值表示;其中,待处理像素点包括未标记为机器人工作分区的区域内的像素点;当待处理像素点越靠近机器人所处的环境区域的轮廓时,控制初始扩展阈值变化一次是控制初始扩展阈值减小一次,且控制机器人当前获得的扩展阈值变化一次是控制机器人当前获得的扩展阈值减小一次,其中,预设终止阈值小于初始扩展阈值。
5.进一步地,所述依据区域扩展的重复性进行机器人工作分区的标记的方法包括若判断到最新扩展出的有效区域内存在已标记的可通行的连通域,则确定该已标记的可通行的连通域为已经标记出的机器人工作分区的一部分区域,但不将该已标记的可通行的连通域标记为新的机器人工作分区;其中,最新扩展出的区域的轮廓与上一次扩展出的区域的
轮廓之间形成的区域是最新扩展出的有效区域。
6.进一步地,若判断到最新扩展出的有效区域内存在已标记的扩展起点,则确定最新扩展出的有效区域内存在已标记的可通行的连通域。
7.进一步地,所述依据区域扩展的重复性进行机器人工作分区的标记的方法还包括若判断到最新扩展出的有效区域内存在没有与已标记的可通行的连通域相重叠的可通行的连通域,则将该没有与已标记的可通行的连通域相重叠的可通行的连通域标记为新的机器人工作分区,并存入工作区域列表存储空间内;其中,当一个可通行的连通域标记为一个机器人工作分区时,该可通行的连通域内的每个像素点都被标记为归属于该机器人工作分区。
8.进一步地,利用分水岭算法进行区域扩展的方式包括当控制机器人当前获得的扩展阈值变化一次是控制机器人当前获得的扩展阈值递减一次时,按照由高至低的灰度值排序向外扩展区域;其中,在每次扩展得到的区域内,同一灰度值的像素点形成的轮廓由比该灰度值高的像素点形成的轮廓扩展得到,同一灰度值的像素点形成的轮廓由比该灰度值低的像素点形成的轮廓包围。
9.进一步地,所述可通行的连通域内的每个像素点的灰度值是相等;或者,每一次扩展出的区域的轮廓上的每个像素点的灰度值是相等;其中,每一次扩展出的区域包括已标记的机器人工作分区的一部分区域、与已标记的机器人工作分区相连通的区域和/或新产生的连通域。
10.进一步地,新产生的连通域是所述没有与已标记的可通行的连通域相重叠的可通行的连通域,新产生的连通域没有与已标记的机器人工作分区相连通,使得新标记出的机器人工作分区与已标记出的机器人工作分区没有相连通。
11.进一步地,控制扩展阈值变化一次的方式包括:控制所述扩展阈值按照预设梯度值朝相同方向变化一次;其中,预设梯度值是允许配置为不同,使得所述扩展阈值每次变化的幅度不同;或者,预设梯度值是允许配置为相同,使得所述扩展阈值按照固定的梯度值变化。
12.进一步地,所述预设梯度值是用于限定分水岭算法的迭代执行次数,使得机器人扩展出的区域的范围和机器人工作分区的范围得到约束;其中,当控制机器人当前获得的扩展阈值变化一次是控制机器人当前获得的扩展阈值递减一次时,预设终止阈值是数值0。
13.与现有技术相比,本发明在执行分水岭算法进行区域分割的过程中,依据阈值不断变化,限定分水岭算法的分割次数以保证机器人的工作效率,并在每一种阈值条件下根据新生成的区域是否包含已经标记出的老区域,决定是否将新区域标记为新增的机器人工作分区,实现对同一个地图图像内的不同位置处的局部区域的一次性检测和分割,减少重复扫描计算的次数,也可以确定所有标记出的机器人工作分区的大致分布位置。
附图说明
14.图1是本发明的一种实施例公开的一种基于变化阈值的区域处理方法的流程图。
15.图2(a)是本发明的一实施例公开在初始扩展阈值的条件下,经过分水岭算法扩展出的房间区域的示意图。
16.图2(b)是在图2(a)的基础上,在初始扩展阈值第一次减小的条件下扩展得到的各
个房间区域的示意图。
17.图2(c)是在图2(b)的基础上,在初始扩展阈值第二次减小的条件下扩展得到的各个房间区域的示意图。
18.图3是最新一次获得的扩展阈值等于预设终止阈值时,获得的各个房间区域的示意图。
具体实施方式
19.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行详细描述。为进一步说明各实施例,本发明提供有附图。这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理。配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点。图中的组件并未按比例绘制,而类似的组件符号通常用来表示类似的组件。
20.本发明实施例公开一种机器人基于变化阈值的区域处理方法,该区域处理方法适用于机器人在当前工作环境中划分并标识出各个房间区域,具体通过设置动态变化的阈值对机器人预先扫描构建好的地图图像进行灰度化处理,其中,每一个阈值下都将地图图像灰度化处理为相应的地图灰度图像,并允许机器人使用分水岭算法标识出每个阈值下不重复地生成新的工作分区,包括不重复扫描扩展地标记出机器人工作分区,适应于室内环境内一次性划分出多个支持不断扩展的房间区域。可选地,机器人装配有激光雷达,所述激光雷达为360度旋转激光雷达或固定式激光雷达。机器人的内部还包括控制器,控制器是内置于机器人主体中的电子计算核心,所述控制器与激光传感器连接,用于执行所述区域处理方法对应的逻辑运算步骤以实现对室内区域进行智能化处理。
21.参阅图1可知,所述区域处理方法具体包括:步骤s101、机器人利用分水岭算法进行区域扩展,直至最新扩展出的区域的轮廓上的像素点的灰度值等于初始扩展阈值,则确定搜索到所述初始扩展阈值下的一条分水线(属于分水岭算法中的分水岭),则机器人可以沿着相应的分水线划分出相应的机器人工作分区,并标记出机器人工作分区;然后控制初始扩展阈值变化一次,并将变化后的初始扩展阈值更新为扩展阈值;然后进入步骤s102。在本实施例中,机器人首先设定出一个初始扩展阈值和若干个扩展起点,可以确定为初始的扩展起点,每个初始的扩展起点分别位于特定的地图区域的中心位置点;然后机器人从各个初始的扩展起点开始,利用分水岭算法进行区域扩展,在区域边缘线的像素点灰度值满足所述初始扩展阈值时,等效于沿着所述初始扩展阈值下的分水岭在同一地图区域内分割出不同的分区,分割出的分区相当于从相应的扩展起点开始新扩展出的区域,则可以将新扩展出的区域标记为机器人工作分区;然后机器人为继续扩展区域且依据分水岭算法在新的扩展阈值条件(相当于新的灰阶等级)下继续进行区域扩展,机器人需要对初始扩展阈值施加变化量,则机器人控制初始扩展阈值变化一次,并将变化后的初始扩展阈值更新为扩展阈值,以开始迭代进行区域扩展。需要说明的是,扩展起点相当于分水岭算法当前处理的区域的种子元素,一个初始的扩展起点对应一个机器人所要划分出的一个房间区域的中心位置点,即一个机器人工作分区(区域后续可能继续扩展)的中心位置点。
22.步骤s102、判断机器人当前获得的扩展阈值是否等于预设终止阈值,是则进入步骤s104,否则进入步骤s103。需要说明的是,在每当利用分水岭算法进行新的一次区域扩展
之前,机器人控制所述扩展阈值按照预设梯度值朝相同方向变化一次;其中,预设梯度值是允许配置为不同,使得所述扩展阈值每次变化的幅度不同,具体的幅度是由待处理像素点与待处理的区域的边缘之间的距离相关,也可以由当前扩展出的区域的轮廓与待处理的区域的轮廓之间的区域的连通性决定,连通性越好则变化的幅度越大;或者,预设梯度值是允许配置为相同,使得所述扩展阈值按照固定的梯度值变化,则分水岭算法进行的区域扩展次数是可控的。
23.需要说明的是,所述预设梯度值是用于限定分水岭算法的迭代执行次数,使得机器人扩展出的区域的范围和机器人工作分区的范围得到约束;在一些实施方式中,控制机器人当前获得的扩展阈值变化一次是控制机器人当前获得的扩展阈值减小一次时,预设终止阈值是数值0,可以对应扩展到轮廓上的像素点都为黑色像素点,也可以对应扩展到轮廓上的像素点存在黑色像素点。在另一些实施方式中,控制机器人当前获得的扩展阈值变化一次是控制机器人当前获得的扩展阈值增加一次时,预设终止阈值是数值255,可以对应扩展到轮廓上的像素点都为白色像素点,也可以对应扩展到轮廓上的像素点中存在白色像素点。
24.步骤s103、利用分水岭算法进行区域扩展,此时,机器人使用机器人当前获得的扩展阈值(最新一次变化而获得的扩展阈值,包括由步骤s101的初始扩展阈值变化得到的扩展阈值),并依据区域扩展的重复性进行机器人工作分区的标记,直至最新扩展出的区域的轮廓上的像素点的灰度值等于机器人当前获得的扩展阈值,然后进入步骤s104。在步骤s103中,机器人在执行分水岭算法的过程中,每当机器人检测到扩展阈值变化一次,则基于分水岭算法的基本分割构思,按照变化后的扩展阈值继续进行区域扩展,并可以对未标记的像素点进行邻域扩展以在此基础上标记出机器人工作分区,但对于重复扫描到的像素点或连通域不继续进行区域扩展操作实现依据区域扩展的重复性进行机器人工作分区的标记,直至最新扩展出的区域的轮廓上存在像素点的灰度值等于机器人当前获得的扩展阈值,或者最新扩展出的区域的轮廓上(边缘线)所有像素点的灰度值都等于机器人当前获得的扩展阈值,则确定搜索到机器人当前获得的扩展阈值下的分水岭。其中,扩展阈值的变化可以是机器人主导控制的,主要与分水岭算法在同一地图图像内的区域扩展进度决定,可以与扩展阈值的当前数值大小相关联;而且,扩展阈值的数量越多,则扩展出的新的机器人工作分区越多,则机器人可以在室内环境下划分出更多形状的房间区域。
25.需要说明的是,每当机器人扩展出区域包括有新的连通域(未标记的连通区域)和旧的连通域(已标记为机器人工作分区的连通区域),则对扩展出的区域进行标记;在一些实施方式中,本实施例所述的连通域可以是由空间上临近并且灰度值上相近的区域被划分出来的,连通域内的像素点的灰度值是一样,不同区域间以连通域的形式被划分开,作为分水岭对图像的分割效果。机器人对扩展出的区域内的每个像素点的区域归属进行划定,区分出已标记过的区域和未标记过的区域,每个机器人工作分区内部标记的连通域可以被赋予其一个唯一的标识,以区别其他连通域,但不只是将像素点简单标记为是否被障碍物占据,而是将其归属于一个具体的机器人工作分区或所处的室内环境内的相应类型的房间区域内。因此,本实施例中的机器人可以放弃利用分水岭算法对已标记过的区域进行区域扩展,转而选择对未标记过的区域内的像素点作为区域增长的起点,开始对未标记过的区域进行扫描和扩展,即实现在剩下的没标记区域中发掘新的集水盆,避免对已标记过的区域
进行重复扫描和扩展,从而减少机器人重复扫描次数和计算开销。
26.需要说明的是,初始扩展阈值和扩展阈值用于描述待处理像素点与待处理的区域的轮廓(边缘线)之间的距离(径向距离)远近的阈值,在本实施例中使用灰度值来表示其数值,其中,待处理像素点包括未标记为机器人工作分区的区域内的像素点,可以成为分水岭算法中的新的扩展起点;机器人在开始利用分水岭算法进行区域扩展之前,设定出扩展起点;扩展起点属于分水岭算法中的种子元素,使得每次进行区域扩展都使用未标记为机器人工作分区的区域内的像素点对扩展起点进行更新。
27.优选地,当待处理像素点越靠近待处理的地图图像区域的边缘(比如房间内的墙体轮廓)时,即当待处理像素点越靠近机器人所处的环境区域的轮廓时,也可以理解为待处理像素点越远离初始的扩展起点时,则扩展阈值被机器人配置为越小;当待处理像素点越远离待处理的地图图像区域的边缘(比如房间内的墙体轮廓)时,即当待处理像素点越远离机器人所处的环境区域的轮廓时,也可以理解为待处理像素点越靠近初始的扩展起点时,扩展阈值被机器人配置为越大。因此,机器人控制初始扩展阈值变化一次是控制初始扩展阈值减小一次,机器人控制扩展阈值变化一次是控制扩展阈值减小一次。在本实施例中,地图图像经过分水岭算法处理后,距离待处理图像区域的中心位置点(一个初始的扩展起点)越远的像素点的灰度值越小,距离待处理图像区域的中心位置点越近的像素点的灰度值越大,因此,本实施例中的所述扩展起点的确定方式包括:可以从地图图像的轮廓开始,包括从地图图像的墙壁轮廓、障碍物的外围边缘开始,计算地图图像上的每一个白色像素点(支持机器人自由通行的位置点)与其最近的地图图像的墙壁轮廓或障碍物的外围边缘所标记的黑色像素点的距离,再分别在不同的位置区域内,按照上述距离的梯度递增变化自外轮廓向内地标记出待扩展区域(可以理解为机器人工作分区的初始形态),获得多个待扩展区域,此时每个待扩展区域的中心位置点是属于相应的扩展起点,则在同一个待处理的地图图像区域内可以存在多个扩展起点;其中,每个扩展起点可以理解为位于对应范围的地图区域的中心位置点且属于相应地图区域内的灰度值最高的像素点。
28.在一些实施方式中,若待处理像素点距离机器人当前所处的工作区域的中心位置点越近,待处理像素点的灰度值越高,则对扩展阈值施加变化的操作配置为将扩展阈值减小一个梯度变化值,以满足最新扩展出的区域的轮廓上的像素点的灰度值的判断阈值的需求,能够在相应的像素点灰度值分布环境内使用分水岭算法划分出最优的房间区域。其中,预设终止阈值小于初始扩展阈值。
29.优选地,当待处理像素点越靠近待处理的地图图像区域的边缘(比如房间内的墙体轮廓)时,即当待处理像素点越靠近机器人所处的环境区域的轮廓时,也可以理解为待处理像素点越远离初始的扩展起点时,则扩展阈值被机器人配置为越大;当待处理像素点越远离待处理的地图图像区域的边缘(比如房间内的墙体轮廓)时,即当待处理像素点越远离机器人所处的环境区域的轮廓时,也可以理解为待处理像素点越靠近初始的扩展起点时,扩展阈值被机器人配置为越小。因此,机器人控制初始扩展阈值变化一次是控制初始扩展阈值增加一次,机器人控制扩展阈值变化一次是控制扩展阈值增加一次。在本实施例中,地图图像经过分水岭算法处理后,距离待处理图像区域的中心位置点(一个扩展起点)越远的像素点的灰度值越大,距离待处理图像区域的中心位置点越近的像素点的灰度值越小;在此基础上,所述扩展起点的确定方式包括:可以从地图图像的轮廓开始,包括从地图图像的
墙壁轮廓、障碍物的外围边缘开始,计算地图图像上的每一个白色像素点(支持机器人自由通行的位置点)与其最近的地图图像的墙壁轮廓或障碍物的外围边缘所标记的黑色像素点的距离,再在分水岭算法的基础上,分别在不同的位置区域内,按照上述距离的梯度递增变化自内向外标记出待扩展区域(可以理解为机器人工作分区的初始形态),获得多个待扩展区域,此时每个待扩展区域的中心位置点是属于相应的扩展起点;其中,每个扩展起点可以理解为位于对应范围的地图区域的中心位置点。
30.在另一些实施方式中,若待处理像素点距离机器人当前所处的工作区域的中心位置点越远,待处理像素点的灰度值越高,则对扩展阈值施加变化的操作配置为将扩展阈值增加一个梯度变化值,以满足最新扩展出的区域的轮廓上的像素点的灰度值的判断阈值的需求,能够在相应的像素点灰度值分布环境内使用分水岭算法划分出最优的房间区域。其中,预设终止阈值大于初始扩展阈值。
31.步骤s105、控制机器人当前获得的扩展阈值变化一次,并将变化后的扩展阈值更新为机器人当前获得的扩展阈值,然后返回步骤s102,直至变化后的扩展阈值等于预设终止阈值。机器人执行至步骤s105时,分水岭算法将区域扩展到步骤s102或步骤s103所述的机器人当前获得的扩展阈值对应的边界线处,即使没有碰到最高灰阶或最低灰阶的地方,也需要在地图图像内构筑分水岭,以区分不同的区域并实现标记出当前所扩展出的机器人工作分区,此时机器人步骤s102或步骤s103所述的机器人当前获得的扩展阈值下,不继续进行区域扩展,形成一种分水岭,直到机器人在步骤s105中控制步骤s103中的机器人当前获得的扩展阈值继续变化一次,再返回执行步骤s102,开始在新的扩展阈值下继续扩展区域,可以理解为在当前所扩展出的机器人工作分区的基础上(可以不相连通并由边界线隔开)继续扩展,等效于实现分水岭算法中的集水盆的扩张。
32.步骤s104、确定标记出所有的机器人工作分区,即机器人当前获得的扩展阈值等于预设终止阈值时,机器人在待处理图像区域内标记出所有可能存在的机器人工作分区,相当于从各个扩展起点开始经过分水岭算法扩展出对应的机器人工作分区,从而可以确定各个机器人工作分区的中心位置点及覆盖范围区域。其中,一个扩展起点可以对应扩展出一个或多个机器人工作分区,机器人工作分区的数目及占据的区域范围大小与机器人当前获得的扩展阈值相关联。需要说明的是,在二值化的地图图像内,机器人在步骤s104中可以将每个单独的由非黑色像素点组成的连通区域形成一个被标识的机器人工作分区;每个机器人工作分区内部标记的连通域可以理解为处于被更低的灰度值的像素点包围起来的区域内或被更高的灰度值的像素点包围起来的区域。
33.因此,当机器人在步骤s102中检测到机器人当前获得的扩展阈值等于预设终止阈值时,机器人执行步骤s104,具体地,机器人停止利用分水岭算法进行区域扩展,同时停止标记机器人工作分区,并确定已经标记出所有的机器人工作分区。当机器人在步骤s102中检测到机器人当前获得的扩展阈值不等于预设终止阈值时,机器人执行步骤s103。具体地,机器人继续利用分水岭算法进行区域扩展,并依据区域扩展的重复性进行机器人工作分区的标记,直至最新扩展出的区域的轮廓上的像素点的灰度值等于最新一次变化后的扩展阈值,然后控制机器人当前获得的扩展阈值变化一次,并将变化后的扩展阈值更新为机器人当前获得的扩展阈值,再返回步骤s102以便于判断是否继续使用分水岭算法进行区域扩展。与现有技术相比,本实施例在执行分水岭算法进行地图区域划分的过程中,控制阈值不
断变化,限定分水岭算法的分割次数以保证机器人的工作效率,并在每一种阈值条件下根据新生成的区域是否包含已经标记出的老区域,决定是否将新区域标记为新增的机器人工作分区,减少机器人对及时构建的地图区域的计算开销,增强机器人导航运动的实时性。
34.在前述步骤s101至步骤s105所述的实施例的基础上,基于相同的分水岭算法的思路,所述区域处理方法包括:机器人可以同时从每个起始扩展起点开始,利用分水岭算法在预设地图图像内进行区域扩展,并依据区域扩展的重复性进行机器人工作分区的标记,直至每个扩展起点对应扩展出的区域的轮廓上的像素点的灰度值都等于机器人当前获得的扩展阈值,并在同一地图图像内一次性标记出多个新的机器人工作分区。然后机器人控制扩展阈值变化一次并将变化后的扩展阈值更新为机器人当前获得的扩展阈值,再在每个扩展起点对应扩展出的区域的基础上,继续利用分水岭算法在预设地图图像内进行区域扩展,并依据区域扩展的重复性在预设地图图像内进行多个机器人工作分区的标记,直至每个扩展起点对应扩展出的区域的轮廓上的像素点的灰度值都等于机器人当前获得的扩展阈值,则理解为达到至少两个机器人工作分区(由两个不同的扩展起点在同一个扩展阈值下扩展出来的区域)的交接的边缘线(分水岭线),从而同时在不同位置区域处扩展机器人工作分区实现一次性扩展出多个机器人工作分区;依次重复,直至最新一次变化后的扩展阈值等于预设终止阈值,停止使用分水岭算法进行区域扩展,然后确定在所述预设地图图像内标记出所有的机器人工作分区。
35.机器人执行步骤s104时,参阅图2(a)、图2(b)、图2(c)和图3可知,通过执行前述实施例所述的区域处理方法获取图3所述的地图区域,同时标记出所有机器人工作分区,对应为图3内的所有的白色连通域,是所述扩展阈值经过一轮由初始值变化为预设终止阈值的扩展循环过程后,标记出分水岭算法的分割结果,也是依次由图2(a)、图2(b)和图2(c)中的白色连通域(图中的白色连通区域)扩展而来,其中,每个白色连通域可以表示一个机器人工作分区,可以表示一个房间区域,至少能够确定其分布区域,甚至其中心位置点。具体地,图2(b)的白色连通域相对于图2(a)的白色连通域,扩展阈值发生一次变化,图2(b)的白色连通域得数量大于图2(a)的白色连通域的数量,其中,每个白色连通域互不相连通,每个白色连通域都有对应的扩展起点;图2(b)的一部分白色连通域的面积比图2(a)的中具有相同扩展起点处的白色连通域的面积大。同理地,图2(c)的白色连通域相对于图2(b)的白色连通域,扩展阈值发生新的一次变化,新的位置区域内露出白色连通域,图2(c)的白色连通域得数量大于图2(b)的白色连通域的数量,其中,存在部分白色连通域可以相连通,图2(c)的一部分白色连通域的面积比图2(b)的中具有相同扩展起点处的白色连通域的面积大。对于图3的白色连通域,扩展阈值变化为预设终止阈值,新的位置区域内露出白色连通域,并依据白色连通域确定出所有机器人工作分区的位置及轮廓,即归集所有数值的扩展阈值下对应扩展出机器人工作分区,转换为机器人所在的实际环境中的房间区域,至少能够区分出每个房间区域的中心位置点;其中,图3的白色连通域得数量大于图2(c)的白色连通域的数量,大部分白色连通域可以相连通,图3的所有白色连通域的面积都比图2(c)的中具有相同扩展起点处的白色连通域的面积大。综上,本实施例实现对同一个地图图像内的不同局部区域的一次性检测和分割,减少重复扫描计算的次数,同时,通过对扩展阈值的连续调节(由初始值变化为预设终止阈值)来减少单一阈值条件下未被分水岭算法挖掘出的区域,进而可以将所有标记出的机器人工作分区组成机器人的整体工作区域,能够反映出机器人所
处的室内环境下的各个房间区域的大致位置。
36.需要说明的是,分水岭算法是一种图像区域分割法,在分割的过程中,它会把跟临近像素点间的相似性作为重要的参考依据,从而将在空间位置上相近并且灰度值相近的像素点互相连接起来构成一个封闭的轮廓,封闭性是分水岭算法的一个重要特征。
37.需要说明的是,图2和图3的地图可以是二值化的激光地图,其中标记的黑色像素点可以代表孤立障碍物、以及连续障碍物(比如墙);二值化的激光地图中白色像素点表示未被其他物体、地标占据的地图区域位置。当二值化的激光地图是栅格地图时,黑色像素点所对应的栅格表示标记障碍物信息的栅格区域,白色像素点所对应的栅格表示未被填充信息的空旷栅格区域。
38.作为一种实施例,所述依据区域扩展的重复性进行机器人工作分区的标记的方法包括:具体在机器人执行前述步骤s103的过程中,若判断到最新扩展出的有效区域内存在已标记的可通行的连通域,则确定该已标记的可通行的连通域为已经标记出的机器人工作分区的一部分区域,可以是与已经标记出的机器人工作分区相连通的区域,对应到实际环境中,最新扩展出的有效区域内包括在前扩展出房间区域的一部分区域和新扩展出的未被标记的房间区域,最新扩展出的区域中至少包括相应的新房间区域和旧房间区域的扩展起点(可以理解为机器人工作分区的中心位置点),但是,机器人不能将该已标记的可通行的连通域标记为新的机器人工作分区,且其内部的像素点不能用于下一次的区域扩展,具体不能被分水岭算法调用,则无法在像素点的邻域处进行分水岭算法中的新盆地扩张,形成不可生长的像素点。其中,最新扩展出的区域的轮廓与上一次扩展出的区域的轮廓之间形成的区域是最新扩展出的有效区域,使得最新扩展出的区域的轮廓相对于所述起始扩展起点而言是最新扩展出的有效区域的外轮廓。从而在保证区域扩展覆盖率的基础上,避免对已标记过的区域进行重复扫描和扩展,从而减少机器人重复扫描次数和计算开销。
39.在上述实施例的基础上,若机器人判断到最新扩展出的有效区域内存在已标记的扩展起点,则确定最新扩展出的有效区域内存在已标记的可通行的连通域,可以覆盖完最新的扩展阈值变化之前所扩展出的有效区域,已标记的扩展起点可以是机器人在执行所述步骤s101的过程中确定的一个扩展起点或该扩展起点的邻域中的像素点,需要说明的是,在使用分水岭算法进行区域扩展的过程中,步骤s101确定的初始的扩展起点的邻域点可以更新为新的扩展起点,以维持进行新的一次区域扩展,不限于所述初始扩展阈值是否发生变化。需要说明的是,在本实施例中标识分水岭算法扩展出的区域对应的区域号,尤其是能够标记为机器人工作分区的区域号和区域里面对应的像素点的灰度值,即是特定区域特定灰度值对应的像素点的集合。优选地将区域号与扩展起点建立起对应关系,让每一个扩展起点匹配一个区域号。因此,前述的每个可通行的连通域赋予其一个唯一的标识,以便于依次对某个扩展阈值下的每个可通行的连通域的内部的每个像素点进行检测。
40.需要说明的是,一个连通域是由具有相同像素值的相邻像素组成像素集合,因此,可通行的连通域是由具有非黑色的相邻像素点(灰度值大于0)组成像素集合。在说明书附图中由白色连通域来示意性表示。所述可通行的连通域内的每个像素点的灰度值是相等;或者,每一次扩展出的区域的轮廓上的每个像素点的灰度值是相等;其中,每一次扩展出的区域包括已标记的机器人工作分区的一部分区域、与已标记的机器人工作分区相连通的区域和/或新产生的连通域,优选地,上一次扩展出的区域与最新扩展出的有效区域存在相连
通的区域。
41.在前述实施例的基础上,所述依据区域扩展的重复性进行机器人工作分区的标记的方法还包括:若机器人判断到最新扩展出的有效区域内存在没有与已标记的可通行的连通域相重叠的可通行的连通域,则将该没有与已标记的可通行的连通域相重叠的可通行的连通域标记为机器人工作分区,并存入工作区域列表存储空间内,也使得每个扩展阈值对应匹配一个机器人工作分区;其中,该没有与已标记的可通行的连通域相重叠的可通行的连通域,相对于已标记的可通行的连通域,是机器人在待处理地图图像内的新增的房间区域,需要保存起来并赋予其一个唯一的标识,可以作为当前区域扩展中的新的扩展起点,即分水岭算法在区域扩展中所需的种子元素,以实现利用分水岭算法扩展至灰度值为最新一次变化后的扩展阈值为止,在这一过程中,需要将相应的未被标记的像素点及所属的连通域加入工作区域列表存储空间以便后续判断像素点是否属于已标记。其中,连通域包括但不限于支持机器人通行的四连通邻域、九连通域等;当一个可通行的连通域标记为一个机器人工作分区时,该可通行的连通域内的每个像素点都被标记为归属于该机器人工作分区,使得最新扩展出的有效区域内存在已标记区域归属的像素点时,表示最新扩展出的有效区域内存在已标记的可通行的连通域。
42.需要说明的是,工作区域列表存储空间可以是一种临时队列或其余的用于存储种子元素的数据结构,可以标识像素点的区域号、灰度值、对应的扩展阈值(等效于表示特定区域特定灰阶)或初始扩展阈值,优选地,所述工作区域列表存储空间中可能有0至255之间的不同的灰度值的像素点;同一个区域的图像点组成所述工作区域列表存储空间,且所述工作区域列表存储空间保存的是已标记的像素点(携带区域号)。从而可以从工作区域列表存储空间内获得对应的扩展阈值及其指向的机器人工作分区。
43.需要说明的是,一个工作区域列表存储空间可以存储组成实际环境内的一个房间区域的像素点,均来自于分水岭算法中的一个集水盆(连通域)。优选地,对于机器人在步骤s101中初始设定的若干个扩展起点中,每个扩展起点对应一个集水盆,则创建的工作区域列表存储空间的数量等于步骤s101中设定的扩展起点的数量。
44.作为一种实施例,利用分水岭算法进行区域扩展的方式包括:当机器人将当前获得的扩展阈值变化一次配置为当前获得的扩展阈值递减一次时,具体是所述扩展阈值按照所述预设梯度值递减一次时,从扩展起点开始,按照由高至低的灰度值排序向外扩展区域,使得以所述扩展起点为中心位置点扩展出的区域的轮廓上的像素点相对于扩展起点的距离越远,该像素点的灰度值越小;当最新扩展出的区域的轮廓上的像素点的灰度值等于当前递减后的扩展阈值时,确定从所述扩展起点开始已经扩展到分水线的位置;然后机器人控制当前递减后的扩展阈值继续按照所述预设梯度值递减一次,再从新的扩展起点开始进行区域扩展,直至最新扩展出的区域的轮廓上的像素点的灰度值等于最新一次递减后的扩展阈值(由当前递减后的扩展阈值减去所述预设梯度值后更新获得),确定从所述扩展起点开始已经扩展到新的分水线的位置,其中,新的扩展起点是来源于上一次扩展出的其中一个未被归属至机器人工作分区的像素点,作为新一次区域扩展的种子元素。值得注意的是,每个扩展阈值对应的扩展的过程中,都在相应的连通域中检测出已标记的连通域,以减少重复扫描扩展次数,并选择未标记的像素点作为新的扩展起点进行当前的区域扩展,推进区域的增长,包括已标记的机器人工作分区的膨胀;依此重复,直至最新一次递减后的扩展
阈值递减至所述预设终止阈值,优选为数值0时,停止继续扩展区域,则机器人在待处理图像区域内标记出所有可能存在的机器人工作分区,适应当前环境中距离待处理图像区域的中心位置点越远的像素点的灰度值越小,且距离待处理图像区域的中心位置点越近的像素点的灰度值越大的特征。从而在室内环境下标记出所有可能存在的机器人工作分区贴近房间区域的轮廓分布特征,毕竟房间区域的轮廓是由墙体组成的连续型障碍物,其图像由灰度值较低(一般为数值0)的像素点表示。
45.需要说明的是,在本实施例中,分水岭算法是一种基于数学形态学的方法,任何图像都可以看作一幅地图,每个像素点的灰度值代表这个像素点与室内环境下需要划分出的房间区域的轮廓(属于墙体轮廓或距离最近的靠墙障碍物)的距离。分水岭算法的主要目的是在室内环境下找出各个区域间的分水线,对应为各个区域之间的分界线。分水岭算法的基本原理是:用一个以一定梯度值下降的灰度值对每个像素点进行衡量,当处于不同区域的像素点进行衡量时,组成同一机器人工作分区的像素点的灰度级从高到低的排序是按照地图图像的每个白色像素点与其最近障碍物边缘对应标记的像素点之间的距离的梯度变化规律转换过来的,则白色像素点与其最近障碍物边缘对应标记的像素点之间的距离呈递减趋势,则白色像素点所在的灰度级等高线呈递减趋势。其中,在每次扩展得到的区域内,同一灰度值的像素点形成的轮廓由比该灰度值高的像素点形成的轮廓扩展得到,具体是由轮廓上的像素点进行邻域扩展得到;而且同一灰度值的像素点形成的轮廓由比该灰度值低的像素点形成的轮廓包围。
46.作为一种实施例,当机器人将当前获得的扩展阈值变化一次配置为当前获得的扩展阈值递增一次时,具体是所述扩展阈值按照所述预设梯度值递增一次时,从扩展起点开始,按照由低至高的灰度值排序向外扩展区域,使得以所述扩展起点为中心位置点扩展出的区域的轮廓上的像素点相对于扩展起点的距离越远,该像素点的灰度值越大;当最新扩展出的区域的轮廓上的像素点的灰度值等于机器人当前递增后的扩展阈值时,确定从所述扩展起点开始已经扩展到分水线的位置;然后控制机器人当前递增后的扩展阈值继续按照所述预设梯度值递增一次,并使用未被归属到相应机器人工作分区的像素点更新为扩展起点,再从新的扩展起点开始进行区域扩展,直至最新扩展出的区域的轮廓上的像素点的灰度值等于最新一次递增后的扩展阈值(由机器人当前递增后的扩展阈值减去所述预设梯度值后更新获得),确定从所述扩展起点开始已经扩展到新的分水线的位置。值得注意的是,每个扩展阈值对应的扩展的过程中,都在相应的连通域中检测出已标记的连通域,以减少重复扫描扩展次数,并选择未标记的像素点作为新的扩展起点进行当前的区域扩展,推进区域的增长,包括已标记的机器人工作分区的膨胀;依此重复,直至最新一次递减后的扩展阈值递增至所述预设终止阈值,优选为数值255时,停止继续扩展区域,则机器人在待处理图像区域内标记出所有可能存在的机器人工作分区。需要说明的是,在本实施例中,分水岭算法是一种基于数学形态学的方法,任何图像都可以看作一幅地图,每个像素点的灰度值代表这个像素点与需要划分出的房间区域的轮廓(属于墙体轮廓或距离最近的靠墙障碍物)的距离。分水岭算法的主要目的是找出各个区域间的分水线,对应为各个区域之间的分界线。分水岭算法的基本原理是:用一个以一定梯度值上升的灰度值对每个像素点进行衡量,当处于不同区域的像素点进行衡量时,组成同一机器人工作分区的像素点的灰度级从低到高的排序是按照地图图像的每个白色像素点与其最近障碍物边缘对应标记的像素点
之间的距离的梯度变化的负相关关系转换过来的,则白色像素点与其最近障碍物边缘对应标记的像素点之间的距离呈递减趋势,则白色像素点所在的灰度级等高线呈递增趋势。其中,在每次扩展得到的区域内,同一灰度值的像素点形成的轮廓由比该灰度值低的像素点形成的轮廓扩展得到,同一灰度值的像素点形成的轮廓由比该灰度值高的像素点形成的轮廓包围。
47.优选地,新产生的连通域是所述没有与已标记的可通行的连通域相重叠的可通行的连通域,新产生的连通域没有与已标记的机器人工作分区相连通,使得新标记出的机器人工作分区与已标记出的机器人工作分区没有相连通。在该优选例中,从一个扩展起点开始,在地图区域内按照设置的像素点的灰度值朝同一变化方向排序向外扩展影响区域,当扩展到最新一次变化后的扩展阈值等于所述预设终止阈值时,存在至少两个扩展起点扩展出的对应区域交接形成分水边界,使得最后标记出其中两个机器人工作分区不连通,从而构筑起合理的分水岭以在地图图像内准确区分出不同的房间区域,增强分水岭算法对于房间区域(机器人工作分区)的边缘检测能力。
48.上述实施例只为说明本发明的技术构思及特点,其目的是让熟悉该技术领域的技术人员能够了解本发明的内容并据以实施,并不能以此来限制本发明的保护范围。凡根据本发明精神实质所作出的等同变换或修饰,都应涵盖在本发明的保护范围之内。
技术特征:
1.一种机器人基于变化阈值的区域处理方法,其特征在于,所述区域处理方法包括:机器人利用分水岭算法进行区域扩展,直至最新扩展出的区域的轮廓上的像素点的灰度值等于初始扩展阈值,并标记出机器人工作分区,然后控制初始扩展阈值变化一次,并将变化后的初始扩展阈值更新为扩展阈值;机器人当前获得的扩展阈值等于预设终止阈值时,停止利用分水岭算法进行区域扩展,并确定已经标记出所有的机器人工作分区;机器人当前获得的扩展阈值不等于预设终止阈值时,继续利用分水岭算法进行区域扩展,并依据区域扩展的重复性进行机器人工作分区的标记,直至最新扩展出的区域的轮廓上的像素点的灰度值等于当前获得的扩展阈值,然后控制机器人当前获得的扩展阈值变化一次,并将变化后的扩展阈值更新为机器人当前获得的扩展阈值。2.根据权利要求1所述区域处理方法,其特征在于,在开始利用分水岭算法进行区域扩展之前,设定出扩展起点;其中,扩展起点属于分水岭算法中的种子元素,使得每次进行区域扩展都使用未标记为机器人工作分区的区域内的像素点对扩展起点进行更新;初始扩展阈值和扩展阈值都是用于描述待处理像素点与机器人所处的环境区域的轮廓之间的距离的阈值,并使用灰度值表示;其中,待处理像素点包括未标记为机器人工作分区的区域内的像素点;当待处理像素点越靠近机器人所处的环境区域的轮廓时,控制初始扩展阈值变化一次是控制初始扩展阈值减小一次,且控制机器人当前获得的扩展阈值变化一次是控制机器人当前获得的扩展阈值减小一次,其中,预设终止阈值小于初始扩展阈值。3.根据权利要求2所述区域处理方法,其特征在于,所述依据区域扩展的重复性进行机器人工作分区的标记的方法包括:若判断到最新扩展出的有效区域内存在已标记的可通行的连通域,则确定该已标记的可通行的连通域为已经标记出的机器人工作分区的一部分区域,但不将该已标记的可通行的连通域标记为新的机器人工作分区;其中,最新扩展出的区域的轮廓与上一次扩展出的区域的轮廓之间形成的区域是最新扩展出的有效区域。4.根据权利要求3所述区域处理方法,其特征在于,若判断到最新扩展出的有效区域内存在已标记的扩展起点,则确定最新扩展出的有效区域内存在已标记的可通行的连通域。5.根据权利要求4所述区域处理方法,其特征在于,所述依据区域扩展的重复性进行机器人工作分区的标记的方法还包括:若判断到最新扩展出的有效区域内存在没有与已标记的可通行的连通域相重叠的可通行的连通域,则将该没有与已标记的可通行的连通域相重叠的可通行的连通域标记为新的机器人工作分区,并存入工作区域列表存储空间内;其中,当一个可通行的连通域标记为一个机器人工作分区时,该可通行的连通域内的每个像素点都被标记为归属于该机器人工作分区。6.根据权利要求2所述区域处理方法,其特征在于,利用分水岭算法进行区域扩展的方式包括:当控制机器人当前获得的扩展阈值变化一次是控制机器人当前获得的扩展阈值递减一次时,按照由高至低的灰度值排序向外扩展区域;其中,在每次扩展得到的区域内,同一
灰度值的像素点形成的轮廓由比该灰度值高的像素点形成的轮廓扩展得到,同一灰度值的像素点形成的轮廓由比该灰度值低的像素点形成的轮廓包围。7.根据权利要求6所述区域处理方法,其特征在于,所述可通行的连通域内的每个像素点的灰度值是相等;或者,每一次扩展出的区域的轮廓上的每个像素点的灰度值是相等;其中,每一次扩展出的区域包括已标记的机器人工作分区的一部分区域、与已标记的机器人工作分区相连通的区域和/或新产生的连通域。8.根据权利要求7所述区域处理方法,其特征在于,新产生的连通域是所述没有与已标记的可通行的连通域相重叠的可通行的连通域,新产生的连通域没有与已标记的机器人工作分区相连通,使得新标记出的机器人工作分区与已标记出的机器人工作分区没有相连通。9.根据权利要求2所述区域处理方法,其特征在于,控制扩展阈值变化一次的方式包括:控制所述扩展阈值按照预设梯度值朝相同方向变化一次;其中,预设梯度值是允许配置为不同,使得所述扩展阈值每次变化的幅度不同;或者,预设梯度值是允许配置为相同,使得所述扩展阈值按照固定的梯度值变化。10.根据权利要求9所述区域处理方法,其特征在于,所述预设梯度值是用于限定分水岭算法的迭代执行次数,使得机器人扩展出的区域的范围和机器人工作分区的范围得到约束;其中,当控制机器人当前获得的扩展阈值变化一次是控制机器人当前获得的扩展阈值递减一次时,预设终止阈值是数值0。
技术总结
本发明公开一种机器人基于变化阈值的区域处理方法,包括:机器人利用分水岭算法进行区域扩展,直至最新扩展出的区域的轮廓上的像素点的灰度值等于初始扩展阈值,并标记出机器人工作分区,然后控制初始扩展阈值变化一次,并将变化后的初始扩展阈值更新为扩展阈值;机器人当前获得的扩展阈值等于预设终止阈值时,停止利用分水岭算法进行区域扩展,并确定已经标记出所有的机器人工作分区;机器人当前获得的扩展阈值不等于预设终止阈值时,继续利用分水岭算法进行区域扩展,并依据区域扩展的重复性进行机器人工作分区的标记,直至最新扩展出的区域的轮廓上的像素点的灰度值等于当前获得的扩展阈值,然后控制当前获得的扩展阈值变化一次。化一次。化一次。
技术研发人员:张子倩 黄惠保 陈锦杰 游思遐
受保护的技术使用者:珠海一微半导体股份有限公司
技术研发日:2022.03.23
技术公布日:2023/10/8
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/