跌落区域检测方法、装置、计算机设备和存储介质转让专利

申请号 : CN202311349570.7

文献号 : CN117095342B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 朱俊安

申请人 : 深圳市普渡科技有限公司

摘要 :

本申请涉及一种跌落区域检测方法、装置、计算机设备和存储介质。所述方法应用于机器人中,机器人包括图像采集设备,方法包括:获取由图像采集设备采集得到的深度图像,并基于深度图像确定可通行区域和不可通行区域;根据可通行区域和不可通行区域之间的高度对比结果,确定预测跌落区域;对预测跌落区域进行连通域分析,得到深度图像中的实际跌落区域。采用本方法能够使得机器人及时又精确地识别出场景中的跌落区域,避免出现机器人跌落的风险。

权利要求 :

1.一种跌落区域检测方法,其特征在于,应用于机器人中,所述机器人包括图像采集设备,所述方法包括:获取由所述图像采集设备采集得到的深度图像,并基于所述深度图像确定可通行区域和不可通行区域;

根据所述可通行区域和所述不可通行区域之间的高度对比结果,确定预测跌落区域;

对所述预测跌落区域进行连通域分析,得到所述深度图像中的实际跌落区域;

其中,所述基于所述深度图像确定可通行区域,包括:

对所述深度图像进行点云栅格化处理,得到多个栅格;根据所述图像采集设备对应的设备参数确定各所述栅格的极坐标;基于各所述栅格的极坐标对各所述栅格进行平面拟合处理,得到各所述栅格的平面法向量和三维坐标;确定种子栅格,所述种子栅格为各所述栅格中与所述机器人对应有最小距离值的栅格;将所述种子栅格作为当前栅格,获取所述当前栅格的邻域栅格;根据所述当前栅格的平面法向量和所述邻域栅格的平面法向量,确定所述当前栅格与所述邻域栅格之间的法向量夹角;根据所述当前栅格的三维坐标和所述邻域栅格的三维坐标,确定所述当前栅格与所述邻域栅格之间的平面落差;根据所述法向量夹角和所述平面落差,在所述邻域栅格中确定待生长栅格;将所述待生长栅格作为新的当前栅格,获取所述新的当前栅格的邻域栅格再次进行区域生长,直到各所述栅格均生长完毕,则得到所述深度图像中的可通行区域。

2.根据权利要求1所述的方法,其特征在于,所述图像采集设备设置于所述机器人的前端方向的顶部位置,且镜头朝下,所述机器人的前端方向与所述机器人移动时的前进方向对应。

3.根据权利要求1所述的方法,其特征在于,所述方法还包括:

根据所述图像采集设备对应的采集精度和深度图像的图像尺寸确定所述多个栅格的数量。

4.根据权利要求1所述的方法,其特征在于,所述根据所述可通行区域和所述不可通行区域之间的高度对比结果,确定预测跌落区域,包括:对所述可通行区域包括的各可通行栅格的中心点进行平面拟合处理,得到所述可通行区域对应的可通行平面;

将所述不可通行区域包括的各不可通行栅格与所述可通行平面进行高度对比,得到各所述不可通行栅格对应的高度对比结果;

若所述高度对比结果为所述不可通行栅格的高度小于所述可通行平面的高度,且所述不可通行栅格的高度与所述可通行平面的高度之间的差值大于预设差值,则确定对应的所述不可通行栅格为跌落栅格;

将在各所述不可通行栅格中确定得到的各所述跌落栅格确定为所述预测跌落区域。

5.根据权利要求1所述的方法,其特征在于,所述对所述预测跌落区域进行连通域分析,得到所述深度图像中的实际跌落区域,包括:对所述预测跌落区域进行连通域分析,得到所述预测跌落区域中包括的各跌落掩码对应的掩码信息;

根据各所述跌落掩码对应的掩码信息,确定所述深度图像中的实际跌落区域。

6.根据权利要求5所述的方法,其特征在于,所述跌落掩码对应的掩码信息包括面积信息和位置信息,所述根据各所述跌落掩码对应的掩码信息,确定所述深度图像中的实际跌落区域,包括:在所述跌落掩码的面积信息满足第一面积条件时,确定所述跌落掩码为所述实际跌落区域;

在所述跌落掩码的面积信息满足第二面积条件且位置信息满足位置信息条件时,确定所述跌落掩码为所述实际跌落区域。

7.根据权利要求6所述的方法,其特征在于,所述面积信息为第一面积、第二面积或第三面积;所述第一面积大于所述第二面积,所述第二面积大于所述第三面积;

所述位置信息为所述跌落掩码位于所述深度图像的边缘位置、所述跌落掩码与所述可通行区域平行或在深度图像包括的多帧图像中连续检测到所述跌落掩码。

8.一种跌落区域检测装置,其特征在于,应用于机器人中,所述机器人包括图像采集设备,所述装置包括:第一确定模块,用于获取由所述图像采集设备采集得到的深度图像,并基于所述深度图像确定可通行区域和不可通行区域;

第二确定模块,用于根据所述可通行区域和所述不可通行区域之间的高度对比结果,确定预测跌落区域;

分析模块,用于对所述预测跌落区域进行连通域分析,得到所述深度图像中的实际跌落区域;

其中,所述基于所述深度图像确定可通行区域,包括:

对所述深度图像进行点云栅格化处理,得到多个栅格;根据所述图像采集设备对应的设备参数确定各所述栅格的极坐标;基于各所述栅格的极坐标对各所述栅格进行平面拟合处理,得到各所述栅格的平面法向量和三维坐标;确定种子栅格,所述种子栅格为各所述栅格中与所述机器人对应有最小距离值的栅格;将所述种子栅格作为当前栅格,获取所述当前栅格的邻域栅格;根据所述当前栅格的平面法向量和所述邻域栅格的平面法向量,确定所述当前栅格与所述邻域栅格之间的法向量夹角;根据所述当前栅格的三维坐标和所述邻域栅格的三维坐标,确定所述当前栅格与所述邻域栅格之间的平面落差;根据所述法向量夹角和所述平面落差,在所述邻域栅格中确定待生长栅格;将所述待生长栅格作为新的当前栅格,获取所述新的当前栅格的邻域栅格再次进行区域生长,直到各所述栅格均生长完毕,则得到所述深度图像中的可通行区域。

9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。

说明书 :

跌落区域检测方法、装置、计算机设备和存储介质

技术领域

[0001] 本申请涉及机器人技术领域,特别是涉及一种跌落区域检测方法、装置、计算机设备和存储介质。

背景技术

[0002] 随着机器人技术的快速发展和人们对生活质量要求的不断提高,具有自主导航功能的机器人逐渐走进了人们的日常生活当中。
[0003] 机器人在自主导航的移动过程中,难免会遇到有跌落区域的场景,若机器人无法及时识别出场景中的跌落区域而继续朝着跌落区域前进,这无疑会导致机器人发生跌落事故而影响机器人的正常工作。因此,机器人应当能够识别出场景中的跌落区域以避免发生跌落事故。

发明内容

[0004] 基于此,有必要针对上述技术问题,提供一种能够使得机器人及时又精确地识别出场景中的跌落区域的跌落区域检测方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
[0005] 第一方面,本申请提供了一种跌落区域检测方法,应用于机器人中,机器人包括图像采集设备,所述方法包括:
[0006] 获取由图像采集设备采集得到的深度图像,并基于深度图像确定可通行区域和不可通行区域;
[0007] 根据可通行区域和不可通行区域之间的高度对比结果,确定预测跌落区域;
[0008] 对预测跌落区域进行连通域分析,得到深度图像中的实际跌落区域。
[0009] 第二方面,本申请还提供了一种跌落区域检测装置,应用于机器人中,机器人包括图像采集设备,所述装置包括:
[0010] 第一确定模块,用于获取由图像采集设备采集得到的深度图像,并基于深度图像确定可通行区域和不可通行区域;
[0011] 第二确定模块,用于根据可通行区域和不可通行区域之间的高度对比结果,确定预测跌落区域;
[0012] 分析模块,用于对预测跌落区域进行连通域分析,得到深度图像中的实际跌落区域。
[0013] 第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
[0014] 获取由图像采集设备采集得到的深度图像,并基于深度图像确定可通行区域和不可通行区域;
[0015] 根据可通行区域和不可通行区域之间的高度对比结果,确定预测跌落区域;
[0016] 对预测跌落区域进行连通域分析,得到深度图像中的实际跌落区域。
[0017] 第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
[0018] 获取由图像采集设备采集得到的深度图像,并基于深度图像确定可通行区域和不可通行区域;
[0019] 根据可通行区域和不可通行区域之间的高度对比结果,确定预测跌落区域;
[0020] 对预测跌落区域进行连通域分析,得到深度图像中的实际跌落区域。
[0021] 第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
[0022] 获取由图像采集设备采集得到的深度图像,并基于深度图像确定可通行区域和不可通行区域;
[0023] 根据可通行区域和不可通行区域之间的高度对比结果,确定预测跌落区域;
[0024] 对预测跌落区域进行连通域分析,得到深度图像中的实际跌落区域。
[0025] 上述跌落区域检测方法、装置、计算机设备、存储介质和计算机程序产品,获取由图像采集设备采集得到的深度图像,并基于深度图像确定可通行区域和不可通行区域;根据可通行区域和不可通行区域之间的高度对比结果,确定预测跌落区域;对预测跌落区域进行连通域分析,得到深度图像中的实际跌落区域。本申请实施例的方法,通过图像采集设备采集得到的深度图像,确定得到深度图像中的实际跌落区域,能够使得机器人及时又精确地识别出场景中的跌落区域,避免出现机器人跌落的风险。

附图说明

[0026] 图1为一个实施例中跌落区域检测方法的应用环境图;
[0027] 图2为一个实施例中跌落区域检测方法的流程示意图;
[0028] 图3为一个实施例中可通行区域和不可通行区域的确定结果示意图;
[0029] 图4为一个实施例中预测跌落区域的确定结果示意图;
[0030] 图5为另一个实施例中跌落区域检测方法的流程示意图;
[0031] 图6为一个实施例中跌落区域检测装置的结构框图;
[0032] 图7为一个实施例中计算机设备的内部结构图;
[0033] 图8为另一个实施例中计算机设备的内部结构图。

具体实施方式

[0034] 为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0035] 需要说明的是,在以下的描述中,所涉及的术语“第一、第二和第三”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一、第二和第三”在允许的情况下可以互换特定的顺序或先后次序,以使本申请描述的实施例能够以除了图示或描述的以外的顺序实施。
[0036] 本申请实施例提供的跌落区域检测方法,可以应用于如图1所示的应用环境中,机器人102在作业面上执行作业任务。其中,机器人102包括图像采集设备1022,机器人102获取由图像采集设备1022采集得到的深度图像,并基于深度图像确定可通行区域和不可通行区域;机器人102根据可通行区域和不可通行区域之间的高度对比结果,确定预测跌落区域;机器人102对预测跌落区域进行连通域分析,得到深度图像中的实际跌落区域。其中,机器人102可以但不限于各种需要自主移动的工业机器人(如搬运机器人、码垛机器人、喷涂机器人等)、服务机器人(如清洁机器人、配送机器人、割草机器人等)或特种机器人(消防机器人、水下机器人、安防机器人等)。
[0037] 在一个实施例中,如图2所示,提供了一种跌落区域检测方法,以该方法由图1中的机器人执行为例进行说明,机器人包括图像采集设备,包括如下的S202至S206。
[0038] S202,获取由图像采集设备采集得到的深度图像,并基于深度图像确定可通行区域和不可通行区域。
[0039] 其中,图像采集设备,是指能够采集得到包含环境中各个物体对应的深度信息的设备,例如,各种常用的主动式深度相机(结构光相机、ToF相机、光场相机等)和被动式深度相机(双目相机等)。
[0040] 具体地,图像采集设备可以设置于机器人的前端方向的顶部位置,且镜头朝下,机器人的前端方向与机器人移动时的前进方向对应,从而机器人的图像采集设备采集得到的深度图像包括机器人的前端方向的作业面图像。
[0041] 深度图像,可以包括一帧图像或多帧图像。在深度图像包括多帧图像时,多帧图像可以是图像采集设备在预设时间内采集得到的,示例性地,多帧图像可以是图像采集设备在1秒内采集得到的。
[0042] 可通行区域,指机器人可以安全移动的移动范围内对应的区域;可通行区域可以是一个不存在陡坡的平面区域,也可以是存在至少一个高度落差小于预设高度落差的区域。
[0043] 不可通行区域,指机器人无法移动或无法到达的区域;不可通行区域可能是与可通行区域之间存在高度落差大于或等于预设高度落差的跌落区域,也可能是存在障碍物的位置,例如存在柱子或墙壁的位置。
[0044] 示例性地,如图3中(a)所示为深度图像,如图3中(b)所示为基于深度图像确定得到的可通行区域和不可通行区域。
[0045] 在一个实施例中,基于深度图像确定可通行区域和不可通行区域,包括:对深度图像进行图像增强处理,得到增强后的深度图像;基于增强后的深度图像确定可通行区域和不可通行区域。
[0046] 在一个实施例中,获取由图像采集设备采集得到的深度图像,并基于深度图像确定可通行区域和不可通行区域,包括:获取当前位置对应的当前地图数据,以及由图像采集设备采集得到的深度图像;在当前地图数据包括跌落警示标识时,基于深度图像确定可通行区域和不可通行区域。
[0047] S204,根据可通行区域和不可通行区域之间的高度对比结果,确定预测跌落区域。
[0048] 其中,预测跌落区域为在高度维度上低于可通行区域的部分或全部的不可通行区域。进一步地,预测跌落区域为,高度维度上低于可通行区域且与可通行区域之间的高度落差大于或等于预设高度落差的区域。
[0049] 可通行区域可以对应有可通行平面,可通行平面可由拟合的平面方程表示,不可通行区域中可以包括多个不可通行栅格,从而,具体地,将可通行区域和不可通行区域之间进行高度对比,可以是将可通行平面和多个不可通行栅格之间进行高度对比,将高度维度上低于可通行平面的至少一个不可通行栅格确定为预测跌落区域。
[0050] 示例性地,如图4中(a)所示为深度图像,基于深度图像确定可通行区域和不可通行区域,根据可通行区域和不可通行区域之间的高度对比结果,确定得到如图4中(b)所示的预测跌落区域。
[0051] S206,对预测跌落区域进行连通域分析,得到深度图像中的实际跌落区域。
[0052] 其中,连通域,指预测跌落区域中具有相同像素值且位置相邻的前景像素点组成的图像区域;连通域分析,指确定出预测跌落区域中的各个连通域并进行标记;对预测跌落区域进行连通域分析,可以采用两遍扫描法(Two‑Pass)、种子填充法(Seed‑Filling)或其他连通域分析算法来实现。
[0053] 具体地,深度图像中的实际跌落区域,可以包括多个跌落掩码,深度图像中的各跌落掩码可以以包括多个栅格的形式存在。
[0054] 在一个实施例中,在得到深度图像中的实际跌落区域之后,机器人对实际跌落区域进行警示标记,从而机器人在自主导航的移动过程中对经过警示标记的实际跌落区域进行避障。
[0055] 在一个实施例中,在得到深度图像中的实际跌落区域之后,机器人获取机器人对应的移动速度以及实际跌落区域的总面积;根据移动速度以及实际跌落区域的总面积,生成减速信号;根据减速信号和移动速度,得到减速后的移动速度;机器人基于减速后的移动速度进行自主导航的移动。进一步地,根据移动速度以及实际跌落区域的总面积,生成减速信号,包括:获取速度权值以及面积权值;根据速度权值、移动速度、面积权值以及实际跌落区域的总面积的加权求和值,生成减速信号。
[0056] 进一步地,在一个实施例中,实际跌落区域中包括至少一个跌落掩码,机器人获取机器人对应的移动速度以及实际跌落区域的总面积,包括:机器人获取机器人对应的移动速度以及与机器人之间具有最小距离的跌落掩码对应的掩码面积;根据移动速度以及实际跌落区域的总面积,生成减速信号,包括:根据移动速度以及掩码面积,生成减速信号。
[0057] 上述跌落区域检测方法中,获取由图像采集设备采集得到的深度图像,并基于深度图像确定可通行区域和不可通行区域;根据可通行区域和不可通行区域之间的高度对比结果,确定预测跌落区域;对预测跌落区域进行连通域分析,得到深度图像中的实际跌落区域。本申请实施例的方法,通过图像采集设备采集得到的深度图像,确定得到深度图像中的实际跌落区域,能够使得机器人及时又精确地识别出场景中的跌落区域,避免出现机器人跌落的风险。
[0058] 在一个实施例中,上述基于深度图像确定可通行区域,包括:
[0059] 对深度图像进行点云栅格化处理,得到多个栅格;
[0060] 根据图像采集设备对应的设备参数确定各栅格的极坐标;
[0061] 基于各栅格的极坐标对各栅格进行平面拟合处理,得到各栅格的平面法向量和三维坐标;
[0062] 确定种子栅格,种子栅格为各栅格中与机器人对应有最小距离值的栅格;
[0063] 基于种子栅格以及各栅格的平面法向量和三维坐标,进行区域生长,以得到深度图像中的可通行区域。
[0064] 其中,对深度图像进行点云栅格化处理得到的多个栅格的数量,是根据图像采集设备对应的采集精度和深度图像的图像尺寸确定的。
[0065] 在一个实施例中,对深度图像进行点云栅格化处理,得到多个栅格,包括:获取图像采集设备对应的采集精度和深度图像的图像尺寸;根据采集精度确定栅格尺寸;基于栅格尺寸对深度图像进行点云栅格化处理,得到多个栅格;多个栅格的数量为深度图像的尺寸和栅格尺寸之间的比值。进一步地,采集精度与栅格尺寸之间呈负相关关系。
[0066] 示例性地,假设图像采集设备采集得到的深度图像的图像尺寸为160*120像素,根据图像采集设备对应的采集精度确定的栅格尺寸为8*8像素,因此,对深度图像进行点云栅格化处理,得到的多个栅格的数量为(160/8)*(120/8)=20*15个栅格。
[0067] 具体地,图像采集设备对应的设备参数包括:图像采集设备光轴在深度图像坐标系的横向方向(即X轴方向上)的横向偏移量Cx、图像采集设备光轴在深度图像坐标系的纵向方向(即Y轴方向上)的纵向偏移量Cy、图像采集设备在深度图像坐标系的横向方向(即X轴方向上)的横向焦距Fx、图像采集设备在深度图像坐标系的纵向方向(即Y轴方向上)的纵向焦距Fy以及深度图像中每个像素的深度d;深度图像中每个像素在深度图像坐标系中的坐标为表示(x,y),深度图像中的各栅格在图像采集设备极坐标系下的极坐标表示为Pc(px,py,pz);则各栅格的极坐标Pc(px,py,pz)通过以下公式进行确定:
[0068]
[0069] 具体地,基于各栅格的极坐标对各栅格进行平面拟合处理,可以是通过主成分分析法(Principal Component Analysis,PCA)来实现,从而,得到的各栅格的平面法向量为最小均方误差对应的特征向量,得到的各三维坐标为对应栅格内的点云的三维坐标平均值。
[0070] 具体地,由于通常情况下机器人是在作业面上进行移动的,从而,种子栅格为各栅格中与机器人对应有最小距离值的栅格,能够确保种子栅格为机器人所移动平面的作业面栅格。
[0071] 具体地,深度图像中包括可通行区域和不可通行区域,因此,在得到深度图像中的可通行区域之外,深度图像中除可通行区域之外的剩余部分图像即为不可通行区域。
[0072] 本实施例中,通过将各栅格中与机器人对应有最小距离值的栅格确定为种子栅格,能够确保种子栅格为机器人所移动平面的作业面栅格,从而基于种子栅格进行区域生长所得到的可通行区域具有准确度和可信度。
[0073] 在一个实施例中,上述基于种子栅格以及各栅格的平面法向量和三维坐标,进行区域生长,以得到深度图像中的可通行区域,包括:
[0074] 将种子栅格作为当前栅格,获取当前栅格的邻域栅格;
[0075] 根据当前栅格的平面法向量和邻域栅格的平面法向量,确定当前栅格与邻域栅格之间的法向量夹角;
[0076] 根据当前栅格的三维坐标和邻域栅格的三维坐标,确定当前栅格与邻域栅格之间的平面落差;
[0077] 根据法向量夹角和平面落差,在邻域栅格中确定待生长栅格;
[0078] 将待生长栅格作为新的当前栅格,获取新的当前栅格的邻域栅格再次进行区域生长,直到各栅格均生长完毕,则得到深度图像中的可通行区域。
[0079] 其中,当前栅格的邻域栅格,为当前栅格的四个邻域栅格中的部分或全部邻域栅格,且为当前栅格的四个邻域栅格中被包含在深度图像中的邻域栅格。示例性地,在当前栅格为深度图像中的顶角栅格时,则当前栅格的邻域栅格只有两个;而在当前栅格为深度图像中的边缘非顶角栅格时,则当前栅格的邻域栅格有三个;而在当前栅格为深度图像中的非边缘非顶角栅格时,则当前栅格的邻域栅格有四个。
[0080] 具体地,在邻域栅格中,若存在目标栅格与当前栅格之间的目标法向量夹角小于预设夹角,且目标栅格与当前栅格之间的平面落差小于预设平面落差,则确定该目标栅格与当前栅格为同一平面上的栅格,即确定该目标栅格为待生长栅格。
[0081] 示例性地,将种子栅格作为当前栅格,获取当前栅格的邻域栅格分别为A栅格、B栅格、C栅格以及D栅格;根据当前栅格、A栅格、B栅格、C栅格以及D栅格的平面法向量,确定当前栅格分别与A栅格、B栅格、C栅格以及D栅格之间的法向量夹角;根据当前栅格、A栅格、B栅格、C栅格以及D栅格的三维坐标,确定当前栅格分别与A栅格、B栅格、C栅格以及D栅格之间的平面落差;其中,当前栅格与A栅格之间的法向量夹角小于预设夹角,且当前栅格与A栅格之间的平面落差小于预设平面落差,因此,确定当前栅格与A栅格为同一平面上的栅格,确定A栅格为待生长栅格;从而,将A栅格确定为新的当前栅格,获取A栅格的邻域栅格再次进行区域生长,A栅格的区域生长方式与种子栅格的区域生长方式在原理上一致,故在此不再赘述,直到深度图像中的各栅格均生长完毕,则得到深度图像中的可通行区域。
[0082] 本实施例中,在基于当前栅格进行区域生长时,是根据当前栅格和邻域栅格之间的法向量夹角和平面落差,在邻域栅格中确定待生长栅格,从而不断将在各栅格的邻域栅格中确定得到的待生长栅格作为新的当前栅格,再次进行区域生长,直到各栅格均生长完毕,则得到深度图像中的可通行区域。进而地,通过区域生长后所得到的可通行区域具有准确度和可信度。
[0083] 在一个实施例中,上述根据可通行区域和不可通行区域之间的高度对比结果,确定预测跌落区域,包括:
[0084] 对可通行区域包括的各可通行栅格的中心点进行平面拟合处理,得到可通行区域对应的可通行平面;
[0085] 将不可通行区域包括的各不可通行栅格与可通行平面进行高度对比,得到各不可通行栅格对应的高度对比结果;
[0086] 若高度对比结果为不可通行栅格的高度小于可通行平面的高度,且不可通行栅格的高度与可通行平面的高度之间的差值大于预设差值,则确定对应的栅格为跌落栅格;
[0087] 将在各不可通行栅格中确定得到的各跌落栅格确定为预测跌落区域。
[0088] 其中,对可通行区域包括的各可通行栅格的中心点进行平面拟合处理,可以通过采用随机抽样一致法(Random Sample Consensus,RANSAC)来实现。
[0089] 具体地,将不可通行区域包括的各不可通行栅格与可通行平面进行高度对比,是将各不可通行栅格的坐标对应的高度与可通行平面的平面高度进行高度对比。
[0090] 高度对比结果包括不可通行栅格的高度小于可通行平面的高度,以及高度对比结果为不可通行栅格的高度大于或等于可通行平面的高度。
[0091] 具体地,若不可通行栅格与可通行平面的高度之间的差值小于或等于预设差值,即存在高度差较小的小型跌落区域,实际上机器人在经过该小型跌落区域时是不会发生跌落的,即是说,可以将小型跌落区域视为可通行平面,因此,在高度对比结果为不可通行栅格的高度小于可通行平面的高度的情况下,只有同时确定到不可通行栅格的高度差大于预设差值,才确定对应的栅格为跌落栅格。
[0092] 具体地,预设差值可根据机器人的底盘高度、轮子直径等规格参数确定。
[0093] 本实施例中,将不可通行区域包括的各不可通行栅格与可通行区域对应的可通行平面进行高度对比,得到各不可通行栅格对应的高度对比结果,并在高度对比结果为不可通行栅格的高度小于可通行平面的高度,以及不可通行栅格的高度与可通行平面的高度之间的差值大于预设差值时,才确定对应的栅格为跌落栅格,从而将各跌落栅格确定为预测跌落区域。进而,通过对可通行区域和不可通行区域进行高度对比得到的预测跌落区域具有准确度和可信度,使得后续能够确定出具有准确度和可信度的实际跌落区域。
[0094] 在一个实施例中,上述对预测跌落区域进行连通域分析,确定深度图像中的实际跌落区域,包括:
[0095] 对预测跌落区域进行连通域分析,得到预测跌落区域中包括的各跌落掩码对应的掩码信息;
[0096] 根据各跌落掩码对应的掩码信息,确定深度图像中的实际跌落区域。
[0097] 其中,预测跌落区域中包括至少一个跌落掩码,各跌落掩码之间互为独立的连通域。
[0098] 深度图像中的实际跌落区域,由至少一个跌落掩码组成。
[0099] 本实施例中,通过对预测跌落区域进行连通域分析,得到预测跌落区域中包括的各跌落掩码对应的掩码信息,再根据各跌落掩码对应的掩码信息,确定深度图像中的实际跌落区域,通过使得实际跌落区域的确定过程具有明确的确定依据,从而使得得到的实际跌落区域具有准确度和可信度,进而使得机器人能够及时又精确地识别出场景中的跌落区域。
[0100] 在一个实施例中,上述跌落掩码对应的掩码信息包括面积信息和位置信息,上述根据各跌落掩码对应的掩码信息,确定深度图像中的实际跌落区域,包括:
[0101] 在跌落掩码的面积信息满足第一面积条件时,确定跌落掩码为实际跌落区域;
[0102] 在跌落掩码的面积信息满足第二面积条件且位置信息满足位置信息条件时,确定跌落掩码为实际跌落区域。
[0103] 其中,第一面积条件可以是预设的一个较大的面积阈值(记为S1),跌落掩码的面积信息满足第一面积条件,则是指跌落掩码的栅格面积大于S1;第二面积条件可以是预设的一个小于S1的面积阈值(记为S2),跌落掩码的面积信息满足第二面积条件,则是指跌落掩码的栅格面积大于S2但小于S1。
[0104] 具体地,在跌落掩码的面积信息满足第一面积条件时,无论跌落掩码的掩码信息中是否存在位置信息,无论位置信息为何内容,机器人均可以将跌落掩码确定为实际跌落区域,从而,在一个实施例中,在跌落掩码的面积信息满足第一面积条件时,确定跌落掩码为实际跌落区域,包括:在跌落掩码的面积信息满足第一面积条件,且跌落掩码的掩码信息中存在位置信息时,确定跌落掩码为实际跌落区域。
[0105] 本实施例中,跌落掩码对应的掩码信息包括面积信息和位置信息,从而,在跌落掩码的面积信息满足第一面积条件时,即跌落掩码的面积较大时,直接确定跌落掩码为实际跌落区域;而在跌落掩码的面积信息满足第二条件时,即跌落掩码的面积中等或较小时,则还需要结合位置信息来进行确定,具体地,在跌落掩码的面积信息满足第二面积条件且位置信息满足位置信息条件时,才能确定跌落掩码为实际跌落区域。进而地,通过不同的信息满足条件确定跌落掩码是否为实际跌落区域,使得确定得到的实际跌落区域更具有准确度和可信度,使得机器人能够及时又精确地识别出场景中的跌落区域。
[0106] 在一个实施例中,上述面积信息为第一面积、第二面积或第三面积;第一面积大于第二面积,第二面积大于第三面积;
[0107] 上述位置信息为跌落掩码位于深度图像的边缘位置、跌落掩码与可通行区域平行或在深度图像包括的多帧图像中连续检测到跌落掩码。
[0108] 其中,确定跌落掩码与可通行区域是否平行,可以是通过确定跌落掩码的平面法向量与可通行区域的平面法向量之间是否为平行关系来确定。
[0109] 位置信息满足位置信息条件,指在位置信息对应的三种情况中满足其中至少两种情况,即是说,位置信息满足位置信息条件的情况,包括:跌落掩码位于深度图像的边缘位置且跌落掩码与可通行区域平行,跌落掩码与可通行区域平行且在深度图像包括的多帧图像中连续检测到跌落掩码,以及跌落掩码位于深度图像的边缘位置且在深度图像包括的多帧图像中连续检测到跌落掩码,这三种情况。
[0110] 示例性地,若深度图像包括10帧图像,而在第2帧图像和第3帧图像中都检测到跌落掩码,则将这种情况确定为在深度图像包括的多帧图像中连续检测到跌落掩码。
[0111] 具体地,在跌落掩码的面积信息满足第一面积条件,且跌落掩码的掩码信息中存在位置信息的情况,包括:跌落掩码的面积信息满足第一面积条件且跌落掩码位于深度图像的边缘位置,跌落掩码的面积信息满足第一面积条件且跌落掩码与可通行区域平行,以及跌落掩码的面积信息满足第一面积条件且在深度图像包括的多帧图像中连续检测到跌落掩码,这三种情况。
[0112] 具体地,在跌落掩码的面积信息满足第二面积条件且位置信息满足位置信息条件的情况,包括;跌落掩码的面积信息满足第二面积条件、跌落掩码位于深度图像的边缘位置且跌落掩码与可通行区域平行,跌落掩码的面积信息满足第二面积条件、跌落掩码与可通行区域平行且在深度图像包括的多帧图像中连续检测到跌落掩码,跌落掩码的面积信息满足第二面积条件、跌落掩码位于深度图像的边缘位置且在深度图像包括的多帧图像中连续检测到跌落掩码,这三种情况。
[0113] 在一个实施例中,在跌落掩码的面积信息满足第三面积条件时,无论位置信息是否满足位置信息条件,机器人均可以不将跌落掩码确定为实际跌落区域。
[0114] 本实施例中,由于面积信息为第一面积、第二面积或第三面积,且位置信息为跌落掩码位于深度图像的边缘位置、跌落掩码与可通行区域平行或在深度图像包括的多帧图像中连续检测到跌落掩码,从而,在根据各跌落掩码对应的面积信息和位置信息,确定深度图像中的实际跌落区域时,通过使得实际跌落区域的确定过程具有明确的确定依据,从而使得得到的实际跌落区域具有准确度和可信度,进而使得机器人能够及时又精确地识别出场景中的跌落区域。
[0115] 以包括的图像采集设备为RGB‑D相机的机器人作为执行主体,如图5所示,详细阐述上述跌落区域检测方法的应用过程,具体如下:
[0116] (1)确定可通行区域和不可通行区域
[0117] 机器人获取由RGB‑D相机采集得到的深度图像,并根据RGB‑D相机对应的采集精度和深度图像的图像尺寸,对深度图像进行点云栅格化处理,得到对应数量的多个栅格;
[0118] 根据图像采集设备对应的设备参数确定各栅格的极坐标;
[0119] 基于各栅格的极坐标对各栅格进行平面拟合处理,得到各栅格的平面法向量和三维坐标;
[0120] 确定种子栅格,种子栅格为各栅格中与机器人对应有最小距离值的栅格;
[0121] 将种子栅格作为当前栅格,获取当前栅格的邻域栅格;
[0122] 根据当前栅格的平面法向量和邻域栅格的平面法向量,确定当前栅格与邻域栅格之间的法向量夹角;
[0123] 根据当前栅格的三维坐标和邻域栅格的三维坐标,确定当前栅格与邻域栅格之间的平面落差;
[0124] 根据法向量夹角和平面落差,在邻域栅格中确定待生长栅格;
[0125] 将待生长栅格作为新的当前栅格,获取新的当前栅格的邻域栅格再次进行区域生长,直到各栅格均生长完毕,则机器人确定得到深度图像中的可通行区域,并且,机器人将深度图像中除可通行区域之外的剩余部分图像确定为不可通行区域。
[0126] (2)确定预测跌落区域
[0127] 机器人对可通行区域包括的各可通行栅格的中心点进行平面拟合处理,得到可通行区域对应的可通行平面;
[0128] 基于不可通行区域得到各不可通行栅格,并将各不可通行栅格与可通行平面进行高度对比,得到各不可通行栅格对应的高度对比结果;
[0129] 若高度对比结果为不可通行栅格的高度小于可通行平面的高度,且不可通行栅格的高度与可通行平面的高度之间的差值大于预设差值,则确定对应的栅格为跌落栅格;
[0130] 机器人将在各不可通行栅格中确定得到的各跌落栅格确定为预测跌落区域。
[0131] (3)确定实际跌落区域
[0132] 机器人对预测跌落区域进行连通域分析,得到预测跌落区域中包括的各跌落掩码以及各跌落掩码对应的掩码信息,跌落掩码对应的掩码信息包括面积信息和位置信息;
[0133] 在跌落掩码的面积信息满足第一面积条件时,机器人确定跌落掩码为实际跌落区域;
[0134] 在跌落掩码的面积信息满足第二面积条件且位置信息满足位置信息条件时,机器人确定跌落掩码为实际跌落区域;其中,第一面积大于第二面积。
[0135] 本实施例中,机器人通过区域生长方式,在图像采集设备采集得到的深度图像中确定得到可通行区域和不可通行区域,从而避免了平面拟合处理过程中会发生可通行区域查找错误的问题,在根据可通行区域和不可通行区域之间的高度对比结果确定预测跌落区域之后,通过对预测跌落区域进行连通域分析,得到深度图像中的实际跌落区域,从而避免了图像采集设备的测量噪声对实际跌落区域的识别精度造成干扰影响,进而本申请实施例的方法能够使得机器人及时又精确地识别出场景中的跌落区域,避免出现机器人跌落的风险。
[0136] 应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0137] 基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的跌落区域检测方法的跌落区域检测装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个跌落区域检测装置实施例中的具体限定可以参见上文中对于跌落区域检测方法的限定,在此不再赘述。
[0138] 在一个实施例中,如图6所示,提供了一种跌落区域检测装置,应用于机器人中,机器人包括图像采集设备,装置包括:第一确定模块1002、第二确定模块1004和分析模块1006,其中:
[0139] 第一确定模块1002,用于获取由图像采集设备采集得到的深度图像,并基于深度图像确定可通行区域和不可通行区域。
[0140] 第二确定模块1004,用于根据可通行区域和不可通行区域之间的高度对比结果,确定预测跌落区域。
[0141] 分析模块1006,用于对预测跌落区域进行连通域分析,得到深度图像中的实际跌落区域。
[0142] 在一个实施例中,在基于深度图像确定可通行区域方面,上述第一确定模块1002还用于:
[0143] 对深度图像进行点云栅格化处理,得到多个栅格;
[0144] 根据图像采集设备对应的设备参数确定各栅格的极坐标;
[0145] 基于各栅格的极坐标对各栅格进行平面拟合处理,得到各栅格的平面法向量和三维坐标;
[0146] 确定种子栅格,种子栅格为各栅格中与机器人对应有最小距离值的栅格;
[0147] 基于种子栅格以及各栅格的平面法向量和三维坐标,进行区域生长,以得到深度图像中的可通行区域。
[0148] 在一个实施例中,在基于种子栅格以及各栅格的平面法向量和三维坐标,进行区域生长,以得到深度图像中的可通行区域方面,上述第一确定模块1002还用于:
[0149] 将种子栅格作为当前栅格,获取当前栅格的邻域栅格;
[0150] 根据当前栅格的平面法向量和邻域栅格的平面法向量,确定当前栅格与邻域栅格之间的法向量夹角;
[0151] 根据当前栅格的三维坐标和邻域栅格的三维坐标,确定当前栅格与邻域栅格之间的平面落差;
[0152] 根据法向量夹角和平面落差,在邻域栅格中确定待生长栅格;
[0153] 将待生长栅格作为新的当前栅格,获取新的当前栅格的邻域栅格再次进行区域生长,直到各栅格均生长完毕,则得到深度图像中的可通行区域。
[0154] 在一个实施例中,在根据可通行区域和不可通行区域之间的高度对比结果,确定预测跌落区域方面,上述第二确定模块1004还用于:
[0155] 对可通行区域包括的各可通行栅格的中心点进行平面拟合处理,得到可通行区域对应的可通行平面;
[0156] 将不可通行区域包括的各不可通行栅格与可通行平面进行高度对比,得到各不可通行栅格对应的高度对比结果;
[0157] 若高度对比结果为不可通行栅格的高度小于可通行平面的高度,且不可通行栅格的高度与可通行平面的高度之间的差值大于预设差值,则确定对应的栅格为跌落栅格;
[0158] 将在各不可通行栅格中确定得到的各跌落栅格确定为预测跌落区域。
[0159] 在一个实施例中,在对预测跌落区域进行连通域分析,确定深度图像中的实际跌落区域方面,上述分析模块1006还用于:
[0160] 对预测跌落区域进行连通域分析,得到预测跌落区域中包括的各跌落掩码对应的掩码信息;
[0161] 根据各跌落掩码对应的掩码信息,确定深度图像中的实际跌落区域。
[0162] 在一个实施例中,上述跌落掩码对应的掩码信息包括面积信息和位置信息,在根据各跌落掩码对应的掩码信息,确定深度图像中的实际跌落区域方面,上述分析模块1006还用于:
[0163] 在跌落掩码的面积信息满足第一面积条件时,确定跌落掩码为实际跌落区域;
[0164] 在跌落掩码的面积信息满足第二面积条件且位置信息满足位置信息条件时,确定跌落掩码为实际跌落区域。
[0165] 在一个实施例中,上述面积信息为第一面积、第二面积或第三面积;第一面积大于第二面积,第二面积大于第三面积;
[0166] 上述位置信息为跌落掩码位于深度图像的边缘位置、跌落掩码与可通行区域平行或在深度图像包括的多帧图像中连续检测到跌落掩码。
[0167] 上述跌落区域检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0168] 在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储图像数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种跌落区域检测方法。
[0169] 在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图8所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种跌落区域检测方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置,显示屏可以是液晶显示屏或电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0170] 本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0171] 在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
[0172] 在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0173] 在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0174] 需要说明的是,本申请所涉及数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
[0175] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read‑Only Memory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random AccessMemory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
[0176] 以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0177] 以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。