室内场景的区域划分方法及装置与流程

文档序号:27015421发布日期:2021-10-23 00:07阅读:201来源:国知局
室内场景的区域划分方法及装置与流程

1.本发明涉及区域划分技术领域,尤其涉及室内场景的区域划分方法及装置。


背景技术:

2.为方便理解,首先给出如下解释:
3.维诺图:对空间平面的一种剖分,其特点是多边形内的任何位置离该多边形的样点(如居民点)的距离最近,离相邻多边形内样点的距离远,且每个多边形内含且仅包含一个样点。
4.关键点:维诺图上到不可通行区域的距离的局部极小值点。
5.二值化地图:针对室内场景,可通行区域颜色值为255(白色),不可通行区域(障碍物)颜色值为0(黑色)。
6.在室内场景应用中,如移动机器人,需要对室内场景进行区域划分,以将地图功能区块化,从而指定移动机器人的工作区域或是导航的移动区域等,也可用于地图场景的区域标记。
7.在现有的室内场景区域划分中,首先将采集的室内场景图像进行二值化处理,其中,可通行区域为白色,不可通行区域(即障碍物)为黑色;然后提取二值化地图的维诺图,再在维诺图上选取关键点,通过关键点和邻近障碍物的连线将地图分割成多个区域。其中关键点为维诺图上局部到邻近障碍物距离最小的点,距离计算方法采用欧式距离。通过维诺图上关键点划分出来的区域不具备任何物理意义,仅仅是将大片的区域划分为多个小块,因此该区域划分的结果是地图的拓扑结构化,而非实际具有物理意义的实体区域。
8.该方案在实际家居场景下,由于各种形状、各种尺寸的障碍物的存在,存在如下三个缺陷:
9.一、提取的维诺图并不是完全反映了整体室内场景形状的平面剖分结果,而受到了不规则障碍物的影响,会有大量分支存在,导致出现过划分、误划分的情况;
10.二、维诺图的划分结果,不能反映室内家居情境下的功能模块区域,仅仅是将地图划分为大量小块,因此反而会将一个功能区块,如卧室,划分为多个小区域;
11.三、家居场景下,由于房间内部存在形状多变、种类繁杂的家居或障碍物,因此实际地图中,房间并不一定呈现为规整的矩形,容易出现误划分的情况。


技术实现要素:

12.本发明实施例提出室内场景的区域划分方法及装置,以提高室内场景区域划分的准确度。
13.本发明实施例的技术方案是这样实现的:
14.一种室内场景的区域划分方法,该方法包括:
15.根据区分出的障碍物和非障碍物,对采集的室内场景地图进行二值化处理;
16.对二值化室内场景地图进行维诺图提取;
17.在提取出的维诺图中搜索主干上的分支交汇点,其中,主干上的分支交汇点为维诺图上多条枝干交汇的点;
18.在维诺图上除所述分支交汇点外的剩余点中搜索非主干点,将非主干点从维诺图上删除,其中,非主干点为位于非主干上的点,非主干为一个端点为非分支交汇点、且另一个端点为分支交汇点的枝干,且非主干点不包含分支交汇点;
19.在只包含主干点的维诺图上搜索距离各障碍物最近的关键点;
20.分别将各关键点与距离各关键点最近的障碍物对应相连,将得到的各封闭轮廓作为划分出的各区域。
21.所述在提取出的维诺图中搜索主干上的分支交汇点包括:
22.在维诺图上的所有点中搜索满足如下条件的点作为主干上的分支交汇点:
23.该点的m*m邻域中包含a个维诺图点,且该a个维诺图点互不相邻,a为预设整数且a>1;或者,
24.该点的m*m邻域中包含b个维诺图点,且该b个维诺图点的的排列形状不为z字形,b为预设整数且b>a;或者,
25.该点的m*m邻域中包含的维诺图点的数目大于b个;
26.其中,m为预设整数且m>1。
27.所述在维诺图上除所述分支交汇点外的剩余点中搜索非主干点包括:
28.在维诺图上除所述分支交汇点外的剩余点中搜索满足如下条件的点作为非主干点:
29.该点的m*m邻域中包含的维诺图点的数目为1;或者,
30.该点的m*m邻域中包含的维诺图点的数目为c,且该c个维诺图点相邻,c为预设整数且c>1;
31.其中,m为预设整数且m>1。
32.所述在只包含主干点的维诺图上搜索距离各障碍物最近的关键点包括:
33.针对维诺图上的每个主干点分别执行如下步骤:
34.设当前主干点为第一主干点,在包含第一主干点的预设形状的区域中,查找所有主干点,针对查找到的每一主干点分别执行如下步骤:
35.设当前查找到的主干点为第二主干点,计算第二主干点与第二主干点的最近障碍物的距离;
36.当针对查找到的所有主干点都计算出上述距离时,选择最小距离对应的查找到的主干点作为关键点。
37.所述对采集的室内场景地图进行二值化处理之后、对二值化室内场景地图进行维诺图提取之前进一步包括:
38.将二值化室内场景地图的最长边旋转到与预设的x轴重合;
39.所述计算第二主干点与第二主干点的最近障碍物的距离包括:
40.计算dis=|δx|+|δy|
41.其中,dis表示第二主干点到第二主干点的最近障碍物的距离,δx表示第二主干点到第二主干点的最近障碍物的距离的x分量,δy表示第二主干点到第二主干点的最近障碍物的距离的y分量。
42.所述包含第一主干点的预设形状的区域为:
43.以第一主干点为圆心,以预设半径值为半径的圆形区域,其中,
44.预设半径值为:预设常数值除以第一主干点到第一主干点的最近障碍物的距离。
45.所述将得到的各封闭轮廓作为划分出的各区域之后进一步包括:
46.对于划分出的每一区域,若该区域满足:该区域的面积小于预设第一面积阈值s1、该区域仅有一个接壤区域、且该区域的边界中墙的长度与该区域边界总长度的比值不大于预设第一比例值p1,则将该区域合并到其仅有的一个接壤区域中;或/和,
47.对于划分出的每一区域,若该区域满足:该区域的面积小于预设第二面积阈值s2、且该区域存在至少一个如下接壤区域:该区域与该接壤区域的接壤边界长度与该区域的总边界长度的比值大于预设第二比例值p2,则将该区域合并到与该区域的接壤边界最长的接壤区域中;或/和,
48.对于划分出的每一区域,若该区域满足:该区域仅有一个接壤区域、该区域的边界中墙的长度与该区域的总边界长度的比值大于预设第三比例值p3、且该区域的所有接壤边界的长度与该区域的总边界长度的比值不小于预设第四比例值p4,则将该区域合并到该区域的仅有的接壤区域中;或/和,
49.对于划分出的每一区域,若该区域满足:该区域存在至少一个满足如下条件的接壤区域:该区域与该接壤区域的接壤边界的长度与该区域的总边界长度的比值大于预设第五比例值p5,则将该区域合并到接壤边界最长的接壤区域中;或,对于划分出的每一区域,若该区域满足:该区域存在至少一个满足如下条件的接壤区域:该区域与该接壤区域的接壤边界的长度与该区域的总边界长度的比值不小于预设第六比例值p6且不大于预设第五比例值p5,且该区域与该接壤区域的接壤边界的长度与该区域的所有接壤边界的总长度的比值不大于预设第七比例值p7,则将该区域合并到满足该条件的接壤边界最长的接壤区域中;或/和,
50.对于划分出的每一区域,若该区域满足:该区域的所有接壤边界的总长度与该区域的边界总长度的比值不小于预设第八比例值p8,则将该区域合并到接壤边界最长的接壤区域中;或/和,
51.对于划分出的每一区域,若该区域满足:该区域的面积小于预设第三面积阈值s3,且该区域的宽度与长度的比值大于预设第九比例值p9,且该区域存在至少一个满足如下条件的接壤区域:该区域与该接壤区域的接壤边界的长度与该区域的总边界长度的比值不小于预设第十比例值p10,则将该区域合并到接壤边界最长的接壤区域中;或/和,
52.对于划分出的每一区域,若该区域满足:该区域的面积小于预设第四面积阈值s4,且该区域的轮廓为l形或者i形,且该区域与相邻区域合并后形成匚形区域,则将该区域合并到该相邻区域中。
53.所述对采集的室内场景地图进行二值化处理之后、对二值化室内场景地图进行维诺图提取之前进一步包括:
54.检测地图内的障碍物封闭轮廓,对于检测出的每一封闭轮廓,若该封闭轮廓的面积小于预设第六面积阈值且该轮廓内没有其他封闭轮廓,则将该障碍物转换为非障碍物。
55.所述对采集的室内场景地图进行二值化处理之后、对二值化室内场景地图进行维诺图提取之前进一步包括:
56.对于二值化室内场景地图上的每个像素,统计该像素m*m邻域内的各个像素的颜色值,若该像素的邻域内同一侧的所有像素的颜色值都相同,且该侧的所有像素的颜色值与该像素的颜色值相同且与邻域内的其他像素的颜色值不同,则将该像素的颜色值更改为相反颜色的值,m为预设整数且m>1。
57.一种室内场景的区域划分装置,该装置包括:
58.维诺图提取模块,根据区分出的障碍物和非障碍物,对采集的室内场景地图进行二值化处理;对二值化室内场景地图进行维诺图提取;
59.剪枝模块,在维诺图提取模块提取出的维诺图中搜索主干上的分支交汇点,其中,主干上的分支交汇点为维诺图上多条枝干交汇的点;在维诺图上除所述分支交汇点外的剩余点中搜索非主干点,将非主干点从维诺图上删除,其中,非主干点为位于非主干上的点,非主干为一个端点为非分支交汇点、且另一个端点为分支交汇点的枝干,且非主干点不包含分支交汇点;
60.区域划分模块,在剪枝模块得到的只包含主干点的维诺图上搜索距离各障碍物最近的关键点;分别将各关键点与距离各关键点最近的障碍物对应相连,将得到的各封闭轮廓作为划分出的各区域。
61.本发明实施例中,对二值化室内场景地图进行维诺图提取后,对维诺图进行了剪枝处理,对非主干点进行了剪枝,只保留了主干点,从而减少了之后的区域划分的过划分和误划分,提高了区域划分的准确度;且,由于主干上的分支交汇点容易被当作非主干点而误剪枝,因此,先搜索出主干上的分支交汇点,然后在剩余点中搜索非主干点并进行剪枝,从而保证了剪枝准确度,加速了关键点的搜索速度,也保证了后续的区域划分的准确度。
附图说明
62.图1为本发明一实施例提供的室内场景的区域划分方法流程图;
63.图2为本发明另一实施例提供的室内场景的区域划分方法流程图;
64.图3为未采用本发明实施例的剪枝方法的室内场景地图的维诺图的示意图;
65.图4为对图3采用本发明实施例的剪枝方法后的示意图;
66.图5为本发明又一实施例提供的室内场景的区域划分方法流程图;
67.图6为本发明实施例提供的对室内场景的维诺图进行关键点提取后,划分出的各区域的示意图;
68.图7为本发明又一实施例提供的室内场景的区域划分方法流程图;
69.图8为实际场景下的卧室分布的示意图;
70.图9为对同样场景采集的地图采用本发明实施例提供的方法后最终得到的区域划分结果示意图;
71.图10为本发明实施例提供的对二值化室内场景地图进行平滑的示意图;
72.图11为本发明实施例提供的室内场景的区域划分装置的结构示意图。
具体实施方式
73.下面结合附图及具体实施例对本发明再作进一步详细的说明。
74.图1为本发明一实施例提供的室内场景的区域划分方法流程图,其具体步骤如下:
75.步骤101:根据区分出的障碍物和非障碍物,对采集的室内场景地图进行二值化处理。
76.步骤102:对二值化室内场景地图进行维诺图提取。
77.步骤103:在提取出的维诺图中搜索主干上的分支交汇点,其中,主干上的分支交汇点为维诺图上多条枝干交汇的点。
78.步骤104:在维诺图上除分支交汇点外的剩余点中搜索非主干点,将非主干点从维诺图上删除;其中,非主干点为位于非主干上的点,非主干为一个端点为非分支交汇点、且另一个端点为分支交汇点的枝干,且非主干点不包含分支交汇点。
79.主干即两个端点都为分支交汇点的枝干。
80.步骤105:在只包含主干点的维诺图上搜索距离各障碍物最近的关键点。
81.主干点即位于主干上的点,主干的两个端点都属于主干点,即分支交汇点为主干点。
82.步骤106:分别将各关键点与距离各关键点最近的障碍物对应相连,将得到的各封闭轮廓作为划分出的各区域。
83.即,对于一个关键点a,将该关键点a与距离a最近的障碍物相连。
84.上述实施例中,对二值化室内场景地图进行维诺图提取后,对维诺图进行了剪枝处理,对非主干点进行了剪枝,只保留了主干点,从而减少了之后的区域划分的过划分和误划分,提高了区域划分的准确度;且,由于主干上的分支交汇点容易被当作非主干点而误剪枝,因此,先搜索出主干上的分支交汇点,然后在剩余点中搜索非主干点并进行剪枝,从而保证了剪枝准确度,加速了关键点的搜索速度,也保证了后续的区域划分的准确度。
85.图2为本发明另一实施例提供的室内场景的区域划分方法流程图,其具体步骤如下:
86.步骤201:根据区分出的障碍物和非障碍物,对采集的室内场景地图进行二值化处理。
87.步骤202:对二值化室内场景地图进行维诺图提取。
88.步骤203:在维诺图上的所有点中搜索满足如下条件的点作为主干上的分支交汇点:
89.该点的m*m邻域中包含a个维诺图点,且该a个维诺图点互不相邻,a为整数且a>1;或者,该点的m*m邻域中包含b个维诺图点,且该b个维诺图点的的排列形状不为z字形,b为整数且b>a;或者,该点的m*m邻域中包含的维诺图点的数目大于b个;其中,m为整数且m>1。
90.在实际应用中,m、a和b的取值可根据实际室内场景的各区域中障碍物之间的实际距离和地图图像的分辨率确定。例如:m的取值范围可为:5cm长的线段在地图图像上对应的像素长度≤m≤10cm长的线段在地图图像上对应的像素长度。
91.步骤204:在维诺图上除分支交汇点外的剩余点中搜索满足如下条件的点作为非主干点:
92.该点的m*m邻域中包含的维诺图点的数目为1;或者,该点的m*m邻域中包含的维诺图点的数目为c,且该c个维诺图点相邻,c为整数且c>1;其中,m为整数且m>1。
93.在实际应用中,c的取值与实际室内场景的各区域中障碍物之间的实际距离和地图图像的分辨率有关。
94.步骤205:将非主干点从维诺图上删除。
95.步骤206:在只包含主干点的维诺图上搜索距离各障碍物最近的关键点。
96.步骤207:分别将各关键点与距离各关键点最近的障碍物对应相连,将得到的各封闭轮廓作为划分出的各区域。
97.上述实施例中,首先给出了主干上的分支交汇点的区分方法,然后给出了在剩余点中区分非主干点的方法,从而避免了对主干上的分支交汇点的误剪枝,保证了对非主干点的准确剪枝。
98.图3为未采用本发明实施例的剪枝方法的室内场景地图的维诺图的示意图,图4为对图3采用本发明实施例的剪枝方法后的示意图。将图4与图3相比较可以看出,图3中无用的最末端分支都被剪枝掉了。
99.图5为本发明又一实施例提供的室内场景的区域划分方法流程图,其具体步骤如下:
100.步骤501:根据区分出的障碍物和非障碍物,对采集的室内场景地图进行二值化处理。
101.步骤502:将二值化室内场景地图的最长边旋转到与预设的x轴重合。
102.步骤503:对二值化室内场景地图进行维诺图提取。
103.步骤504:在提取出的维诺图中搜索主干上的分支交汇点,其中,主干上的分支交汇点为维诺图上多条枝干交汇的点。
104.步骤505:在维诺图上除分支交汇点外的剩余点中搜索非主干点,将非主干点从维诺图上删除;其中,非主干点为位于非主干上的点,非主干为一个端点为非分支交汇点、且另一个端点为分支交汇点的枝干,且非主干点不包含分支交汇点。
105.步骤506:针对维诺图上的每个主干点分别执行如下步骤507~509:
106.步骤507:设维诺图上的当前主干点为第一主干点,在包含第一主干点的预设形状的区域中,查找所有主干点,对于查找到的每一主干点,分别执行如下步骤508~509:
107.一可选实施例中,包含第一主干点的预设形状的区域为:以第一主干点为圆心,以预设半径值为半径的圆形区域。
108.其中,预设半径值为:预设常数值除以第一主干点到第一主干点的最近障碍物的距离。预设常数值的取值可根据实际室内场景的相邻区域的平均接壤长度和地图图像的分辨率确定。例如:预设常数值的取值范围可为:实际室内场景相邻区域的平均接壤长度的一半在地图图像上对应的像素数的平方≤预设常数值≤实际室内场景相邻区域的平均接壤长度在地图图像上对应的像素数的平方。
109.步骤508:设在包含第一主干点的预设形状的区域中查找到的当前主干点为第二主干点,则计算dis=|δx|+|δy|,dis表示第二主干点到第二主干点的最近障碍物的距离,δx表示第二主干点到第二主干点的最近障碍物的距离的x分量,δy表示第二主干点到第二主干点的最近障碍物的距离的y分量。
110.步骤509:当计算出查找到的所有第二主干点的dis时,在所有dis中,选择最小dis对应的第二主干点作为关键点。
111.步骤510:当针对维诺图上的所有第一主干点都执行完步骤507~509时,分别将各关键点与距离各关键点最近的障碍物对应相连,将得到的各封闭轮廓作为划分出的各区
域。
112.这里,对于一个关键点a,将该关键点a与距离该关键点a最近的障碍物相连,具体为:
113.设距离关键点a最近的障碍物为障碍物b,b的所有点中距离a最近的点为点c,则将a与c相连。
114.上述实施例中,通过l1范数计算主干点到最近障碍物的距离,从而完成关键点的提取,保证了关键点的正确提取,从而提高了后续区域划分的准确度。
115.图6为本发明实施例提供的对室内场景的维诺图进行关键点提取后,划分出的各区域的示意图。
116.图7为本发明又一实施例提供的室内场景的区域划分方法流程图,其具体步骤如下:
117.步骤701:根据区分出的障碍物和非障碍物,对采集的室内场景地图进行二值化处理。
118.步骤702:对二值化室内场景地图进行维诺图提取。
119.步骤703:在提取出的维诺图中搜索主干上的分支交汇点,其中,主干上的分支交汇点为维诺图上多条枝干交汇的点。
120.一可选实施例中,在维诺图上的所有点中搜索满足如下条件的点作为主干上的分支交汇点:
121.该点的m*m邻域中包含a个维诺图点,且该a个维诺图点互不相邻,a为整数且a>1;或者,该点的m*m邻域中包含b个维诺图点,且该b个维诺图点的的排列形状不为z字形,b为整数且b>a;或者,该点的m*m邻域中包含的维诺图点的数目大于b个;其中,m为整数且m>1。
122.在实际应用中,m、a和b的取值可根据实际室内场景的各区域中障碍物之间的实际距离和地图图像的分辨率确定。例如:m的取值范围可为:5cm长的线段在地图图像上对应的像素长度≤m≤10cm长的线段在地图图像上对应的像素长度。
123.步骤704:在维诺图上除分支交汇点外的剩余点中搜索非主干点,将非主干点从维诺图上删除;其中,非主干点为位于非主干上的点,非主干为一个端点为非分支交汇点、且另一个端点为分支交汇点的枝干,且非主干点不包含分支交汇点。
124.一可选实施例中,在维诺图上除分支交汇点外的剩余点中搜索满足如下条件的点作为非主干点:
125.该点的m*m邻域中包含的维诺图点的数目为1;或者,该点的m*m邻域中包含的维诺图点的数目为c,且该c个维诺图点相邻,c为整数且c>1;其中,m为整数且m>1。
126.在实际应用中,c的取值与实际室内场景的各区域中障碍物之间的实际距离和地图图像的分辨率有关。
127.步骤705:在只包含主干点的维诺图上搜索距离各障碍物最近的关键点。
128.一可选实施例中,步骤701中,对采集的室内场景地图进行二值化处理后,将二值化室内场景地图的最长边旋转到与预设的x轴重合。
129.且,本步骤705具体包括:
130.步骤7051:针对维诺图上的每个主干点,分别执行如下步骤7052-7054:
131.步骤7052:设维诺图上的当前主干点为第一主干点,在以第一主干点为圆心,以预
设半径值为半径的圆形区域中,查找所有主干点;对于查找到的每一主干点,分别执行如下步骤7053-7054:
132.其中,预设半径值为:预设常数值除以第一主干点到第一主干点的最近障碍物的距离。预设常数值的取值可根据实际室内场景的相邻区域的平均接壤长度和地图图像的分辨率确定。例如:预设常数值的取值范围可为:实际室内场景相邻区域的平均接壤长度的一半在地图图像上对应的像素数的平方≤预设常数值≤实际室内场景相邻区域的平均接壤长度在地图图像上对应的像素数的平方。
133.步骤7053:设查找到的当前主干点为第二主干点,计算dis=|δx|+|δy|,dis表示第二主干点到第二主干点的最近障碍物的距离,δx表示第二主干点到第二主干点的最近障碍物的距离的x分量,δy表示第二主干点到第二主干点的最近障碍物的距离的y分量;
134.步骤7054:当计算出查找到的所有第二主干点的dis时,在所有dis中,选择最小dis对应的第二主干点作为关键点。步骤706:分别将各关键点与距离各关键点最近的障碍物对应相连,将得到的各封闭轮廓作为划分出的各区域。
135.步骤707:根据如下规则之一或任意组合对各区域进行区域合并:
136.规则1:对于划分出的每一区域,若该区域满足:该区域的面积小于预设第一面积阈值s1、该区域仅有一个接壤区域、且该区域的边界中墙的长度与该区域边界总长度的比值不大于预设第一比例值p1,则将该区域合并到其仅有的一个接壤区域中;
137.其中,s1的取值根据室内场景的各区域的实际大小以及地图图像的分辨率确定。例如,s1的取值范围为:室内场景各房间平均面积的一半在地图图像上对应的像素面积≤s1≤室内场景各房间平均面积在地图图像上对应的像素面积。
138.p1的取值范围可为:60%≤p1≤80%,较佳地,p1=75%。
139.规则2:对于划分出的每一区域,若该区域满足:该区域的面积小于预设第二面积阈值s2、且该区域存在至少一个如下接壤区域:该区域与该接壤区域的接壤边界长度与该区域的总边界长度的比值大于预设第二比例值p2,则将该区域合并到与该区域的接壤边界最长的接壤区域中;
140.其中,s2根据室内场景中最小区域的实际大小以及地图图像的分辨率确定,且s2≤s1。例如,s2的取值范围为:s2≤室内场景最小房间的面积在地图图像上对应的像素面积,且s2≤s1。
141.p2的取值范围可为:10%≤p2≤30%,较佳地,p2=10%。
142.规则3:对于划分出的每一区域,若该区域满足:该区域仅有一个接壤区域、该区域的边界中墙的长度与该区域的总边界长度的比值大于预设第三比例值p3、且该区域的所有接壤边界的长度与该区域的总边界长度的比值不小于预设第四比例值p4,则将该区域合并到该区域的仅有的接壤区域中;
143.其中,p3的取值范围可为:50%≤p3≤60%,较佳地,p3=50%。
144.p4的取值范围可为:15%≤p4≤25%,较佳地,p4=15%。
145.规则4:对于划分出的每一区域,若该区域满足:该区域存在至少一个满足如下条件的接壤区域:该区域与该接壤区域的接壤边界的长度与该区域的总边界长度的比值大于预设第五比例值p5,则将该区域合并到接壤边界最长的接壤区域中;或,对于划分出的每一区域,若该区域满足:该区域存在至少一个满足如下条件的接壤区域:该区域与该接壤区域
的接壤边界的长度与该区域的总边界长度的比值不小于预设第六比例值p6且不大于预设第五比例值p5,且该区域与该接壤区域的接壤边界的长度与该区域的所有接壤边界的总长度的比值不大于预设第七比例值p7,则将该区域合并到满足该条件的接壤边界最长的接壤区域中;
146.其中,p5的取值范围可为:20%≤p5≤40%,较佳地,p5=20%。
147.p6的取值范围可为:5%≤p6≤10%,较佳地,p6=10%。
148.p7的取值范围可为:45%≤p7≤50%,较佳地,p7=50%。
149.规则5:对于划分出的每一区域,若该区域满足:该区域的所有接壤边界的总长度与该区域的边界总长度的比值不小于预设第八比例值p8,则将该区域合并到接壤边界最长的接壤区域中;
150.其中,p8的取值范围可为:40%≤p8≤60%,较佳地,p8=40%。
151.规则6:对于划分出的每一区域,若该区域满足:该区域的面积小于预设第三面积阈值s3,且该区域的宽度与长度的比值大于预设第九比例值p9,且该区域存在至少一个满足如下条件的接壤区域:该区域与该接壤区域的接壤边界的长度与该区域的总边界长度的比值不小于预设第十比例值p10,则将该区域合并到接壤边界最长的接壤区域中;
152.其中,s3根据室内场景中最小区域的实际大小以及地图图像的分辨率确定,且s2≤s3≤s1。例如,s3的取值范围为:s3≤室内场景最小房间的面积在地图图像上对应的像素面积,且s2≤s3≤s1。
153.p9的取值范围可为:1.5≤p9≤2.5,较佳地,p9=2。
154.p10的取值范围可为:5%≤p10≤10%,较佳地,p10=5%。
155.规则7:对于划分出的每一区域,若该区域满足:该区域的面积小于预设第四面积阈值s4,且该区域的轮廓为l形或者i形,且该区域与相邻区域合并后形成匚形区域,则将该区域合并到该相邻区域中;
156.其中,s4根据室内场景中最小区域的实际大小以及地图图像的分辨率确定,且s2≤s4≤s1。例如,s4的取值范围为:s4≤室内场景最小房间的面积在地图图像上对应的像素面积,且s2≤s4≤s1。
157.其中,该区域的轮廓为l形或i形可根据以下方式确定:
158.该区域的面积s5与通过该区域的左上角点和右下角点形成的切割矩形的面积s6的比值s5/s6小于第十一比例值p11,其中,p11的取值范围可为:40%≤p11≤60%,较佳地,p11=50%。其中,通过该区域的左上角点和右下角点形成的切割矩形即,以该区域的左上角点为该切割矩形的左上角点,以该区域的右下角点为该切割矩形的右下角点。
159.其中,该区域与相邻区域合并后形成匚形区域,表明该匚形区域中心附近存在长方形或正方形的障碍物,且障碍物的面积不小于预设第五面积阈值,例如:若障碍物为床,则s5≤2m2。
160.上述实施例中,通过区域合并,使得在含有多障碍物的特定场景如:家居场景下能划分出各个完整的功能性区块,而非不具有物理意义的拓扑结构。
161.图8为实际场景下的卧室分布的示意图,其中,白色为非障碍物,灰色为障碍物。图9为对同样场景采集的地图采用本发明实施例提供的方法(包括区域合并过程)后最终得到的区域划分结果示意图。
162.另外,为了减少室内繁杂障碍物的影响,在步骤101得到二值化的室内场景地图,可首先进行如下预处理:
163.一、小障碍物的填充
164.检测地图内的障碍物封闭轮廓,对于检测出的每一封闭轮廓,若该封闭轮廓的面积小于预设第六面积阈值且该轮廓内没有其他轮廓,则将该障碍物转换为非障碍物,即将该障碍物内的所有像素值都填充为白色。
165.通过该处理,可将房间等内部的部分被检测为障碍物的小家居转换为非障碍物。
166.二、平滑
167.室内场景地图通常是由移动机器人通过传感器自主构建的,必然会存在误差,该误差会导致地图边缘不平滑、存在噪声等问题,而这会使得维诺图的提取产生一定偏差并产生过多细小的分支。这里,先采用腐蚀算法将二值化室内场景地图中的不可通行区域的邻域转化为不可通行区域、采用膨胀算法将二值化室内场景地图中的不可通行区域的邻域转化为不可通行区域,再用边缘平滑算子进行平滑。平滑算子为:对于二值化室内场景地图上的每个像素,统计该像素m*m邻域内的各个像素的颜色值,若该像素的邻域内同一侧的所有像素的颜色值都相同,且该侧的所有像素的颜色值与该像素的颜色值相同且与邻域内的其他像素的颜色值不同,则认为该像素点为突起点,将该像素的颜色值更改为相反颜色的值。如图10所示,像素a的3*3邻域内,上侧的3个像素都为白色,与像素a相同,且其余像素都为黑色,则将像素a更改为黑色。
168.图11为本发明实施例提供的室内场景的区域划分装置的结构示意图,该装置主要包括:传感器111和处理器112,其中:
169.传感器111,用于采集室内场景信息。
170.处理器112,用于根据区分出的障碍物和非障碍物,对采集的室内场景地图进行二值化处理;对二值化室内场景地图进行维诺图提取;在提取出的维诺图中搜索主干上的分支交汇点,其中,主干上的分支交汇点为维诺图上多条枝干交汇的点;在维诺图上除分支交汇点外的剩余点中搜索非主干点,将非主干点从维诺图上删除,其中,非主干点为位于非主干上的点,非主干为一个端点为非分支交汇点、且另一个端点为分支交汇点的枝干,且非主干点不包含分支交汇点;
171.在得到的只包含主干点的维诺图上搜索距离各障碍物最近的关键点;分别将各关键点与距离各关键点最近的障碍物对应相连,将得到的各封闭轮廓作为划分出的各区域。
172.一可选实施例中,处理器112在提取出的维诺图中搜索主干上的分支交汇点包括:
173.在维诺图上的所有点中搜索满足如下条件的点作为主干上的分支交汇点:该点的m*m邻域中包含a个维诺图点,且该a个维诺图点互不相邻,a为预设整数且a>1;或者,该点的m*m邻域中包含b个维诺图点,且该b个维诺图点的的排列形状不为z字形,b为预设整数且b>a;或者,该点的m*m邻域中包含的维诺图点的数目大于b个;其中,m为预设整数且m>1。
174.一可选实施例中,处理器112在维诺图上除所述分支交汇点外的剩余点中搜索非主干点包括:
175.在维诺图上除所述分支交汇点外的剩余点中搜索满足如下条件的点作为非主干点:该点的m*m邻域中包含的维诺图点的数目为1;或者,该点的m*m邻域中包含的维诺图点的数目为c,且该c个维诺图点相邻,c为预设整数且c>1;其中,m为预设整数且m>1。
176.一可选实施例中,处理器112在得到的只包含主干点的维诺图上搜索距离各障碍物最近的关键点包括:
177.针对维诺图上的每个主干点分别执行如下步骤:
178.设当前主干点为第一主干点,在包含第一主干点的预设形状的区域中,查找所有主干点,针对查找到的每一主干点分别执行如下步骤:
179.设当前查找到的主干点为第二主干点,计算第二主干点与第二主干点的最近障碍物的距离;
180.当针对查找到的所有主干点都计算出上述距离时,选择最小距离对应的查找到的主干点作为关键点。
181.一可选实施例中,处理器112对采集的室内场景地图进行二值化处理之后、对二值化室内场景地图进行维诺图提取之前进一步包括:
182.将二值化室内场景地图的最长边旋转到与预设的x轴重合;
183.计算第二主干点与第二主干点的最近障碍物的距离包括:
184.计算dis=|δx|+|δy|
185.其中,dis表示第二主干点到第二主干点的最近障碍物的距离,δx表示第二主干点到第二主干点的最近障碍物的距离的x分量,δy表示第二主干点到第二主干点的最近障碍物的距离的y分量。。
186.一可选实施例中,处理器112在包含第一主干点的预设形状的区域中为:
187.在以第一主干点为圆心,以预设半径值为半径的圆形区域中,其中,预设半径值为:预设常数值除以第一主干点到第一主干点的最近障碍物的距离。
188.一可选实施例中,处理器112将得到的各封闭轮廓作为划分出的各区域之后进一步包括:
189.对于划分出的每一区域,若该区域满足:该区域的面积小于预设第一面积阈值s1、该区域仅有一个接壤区域、且该区域的边界中墙的长度与该区域边界总长度的比值不大于预设第一比例值p1,则将该区域合并到其仅有的一个接壤区域中;或/和,
190.对于划分出的每一区域,若该区域满足:该区域的面积小于预设第二面积阈值s2、且该区域存在至少一个如下接壤区域:该区域与该接壤区域的接壤边界长度与该区域的总边界长度的比值大于预设第二比例值p2,则将该区域合并到与该区域的接壤边界最长的接壤区域中;或/和,
191.对于划分出的每一区域,若该区域满足:该区域仅有一个接壤区域、该区域的边界中墙的长度与该区域的总边界长度的比值大于预设第三比例值p3、且该区域的所有接壤边界的长度与该区域的总边界长度的比值不小于预设第四比例值p4,则将该区域合并到该区域的仅有的接壤区域中;或/和,
192.对于划分出的每一区域,若该区域满足:该区域存在至少一个满足如下条件的接壤区域:该区域与该接壤区域的接壤边界的长度与该区域的总边界长度的比值大于预设第五比例值p5,则将该区域合并到接壤边界最长的接壤区域中;或,对于划分出的每一区域,若该区域满足:该区域存在至少一个满足如下条件的接壤区域:该区域与该接壤区域的接壤边界的长度与该区域的总边界长度的比值不小于预设第六比例值p6且不大于预设第五比例值p5,且该区域与该接壤区域的接壤边界的长度与该区域的所有接壤边界的总长度的
比值不大于预设第七比例值p7,则将该区域合并到满足该条件的接壤边界最长的接壤区域中;或/和,
193.对于划分出的每一区域,若该区域满足:该区域的所有接壤边界的总长度与该区域的边界总长度的比值不小于预设第八比例值p8,则将该区域合并到接壤边界最长的接壤区域中;或/和,
194.对于划分出的每一区域,若该区域满足:该区域的面积小于预设第三面积阈值s3,且该区域的宽度与长度的比值大于预设第九比例值p9,且该区域存在至少一个满足如下条件的接壤区域:该区域与该接壤区域的接壤边界的长度与该区域的总边界长度的比值不小于预设第十比例值p10,则将该区域合并到接壤边界最长的接壤区域中;或/和,
195.对于划分出的每一区域,若该区域满足:该区域的面积小于预设第四面积阈值s4,且该区域的轮廓为l形或者i形,且该区域与相邻区域合并后形成匚形区域,则将该区域合并到该相邻区域中。
196.一可选实施例中,处理器112对采集的室内场景地图进行二值化处理之后、对二值化室内场景地图进行维诺图提取之前进一步包括:
197.检测地图内的障碍物封闭轮廓,对于检测出的每一封闭轮廓,若该封闭轮廓的面积小于预设第六面积阈值且该轮廓内没有其他封闭轮廓,则将该障碍物转换为非障碍物。
198.一可选实施例中,处理器112对采集的室内场景地图进行二值化处理之后、对二值化室内场景地图进行维诺图提取之前进一步包括:
199.对于二值化室内场景地图上的每个像素,统计该像素m*m邻域内的各个像素的颜色值,若该像素的邻域内同一侧的所有像素的颜色值都相同,且该侧的所有像素的颜色值与该像素的颜色值相同且与邻域内的其他像素的颜色值不同,则将该像素的颜色值更改为相反颜色的值,m为预设整数且m>1。
200.以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1